[A83] Re: interrupt with shutdown
[Prev][Next][Index][Thread]
[A83] Re: interrupt with shutdown
>So this piece of code works fairly good for now,
>but there is something weird with putting the calc
>back on when the interrupt is running.
>If you press <ON> too long or quite shortly, it does
>some weird stuff.
>And I still don't know how to make a romcall from within
>this interrupt...
>
>
> SUCKER
>
; STANDARD INTERRUPT ROUTINE by SUCKER
; ------------------------------------
;make sure to compile this with devpack
;regular Ti-83 only !!
.nolist
#define end .end
#define END .end
#define equ .equ
#define EQU .equ
#include "ti83asm.inc"
#include "tokens.inc"
.list
.org 9327h
im 1
ld a,(current)
or a
push af
ld hl,text1
call _puts
call _newline
pop af
jr nz,disable
install:
ld hl,text3
call _puts
ld hl,$8300
ld de,$8301
ld (hl),$84
ld bc,$0100
ldir
ld hl,interrupt_start
ld de,$8484
ld bc,interrupt_end-interrupt_start
ldir
ld a,$83
ld i,a
im 2
ld a,1
store:
push af
ld hl,prog
rst 20h
call _chkfindsym
ld hl,current-$9327+2
add hl,de
pop af
ld (hl),a
ret
disable:
ld hl,text2
call _puts
im 1
xor a
jr store
interrupt_start:
;---------------
di
ex af,af'
exx
ld a,($800A) ; check for apd
cp $11 ;
jr nc,resume ;
ld a,$74 ; reset apd counter
ld ($800A),a ;
shutdown:
res shift2nd,(iy+shiftflags)
ld a,8
out (3),a
ld a,1
out (3),a
ei
halt
; here I forgot something
di
jr stop
resume:
bit shift2nd,(iy+shiftflags)
jr z,stop
in a,(3)
and 8
jr z,shutdown
stop:
exx
ex af,af'
call $0038
ei
ret
;------------
interrupt_end:
text1: .db "Interrupt",0
text2: .db "Disabled",0
text3: .db "Enabled",0
prog: .db 6,"ZINT",0
current: .db 0
.end
END
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp