mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-12-22 14:30:29 +00:00
175 lines
2.2 KiB
NASM
175 lines
2.2 KiB
NASM
|
* Modified sleep routine based on sleep in libgno
|
||
|
|
||
|
* It was necesary to disassemble this routine and reassemble it so that
|
||
|
* date.asm can use its private variables. It needs to do this to make
|
||
|
* date abort when it is in the middle of a sleep()
|
||
|
|
||
|
* Phillip Vandry, May 1993
|
||
|
|
||
|
case on
|
||
|
|
||
|
sleep start
|
||
|
tsc
|
||
|
sec
|
||
|
sbc #$0014
|
||
|
tcs
|
||
|
phd
|
||
|
tcd
|
||
|
ldx $07
|
||
|
phx
|
||
|
tsx
|
||
|
stx $07
|
||
|
pea sleephandler|-16
|
||
|
pea sleephandler
|
||
|
pea 14
|
||
|
jsl signal
|
||
|
tay
|
||
|
lda $07
|
||
|
tcs
|
||
|
pla
|
||
|
sta $07
|
||
|
tya
|
||
|
phx
|
||
|
pha
|
||
|
lda $01,s
|
||
|
sta $0d
|
||
|
lda $03,s
|
||
|
sta $0f
|
||
|
pla
|
||
|
pla
|
||
|
ldx $07
|
||
|
phx
|
||
|
tsx
|
||
|
stx $07
|
||
|
pea $0000
|
||
|
pea $2000
|
||
|
jsl sigblock
|
||
|
tay
|
||
|
lda $07
|
||
|
tcs
|
||
|
pla
|
||
|
sta $07
|
||
|
tya
|
||
|
phx
|
||
|
pha
|
||
|
lda $01,s
|
||
|
sta $11
|
||
|
lda $03,s
|
||
|
sta $13
|
||
|
pla
|
||
|
pla
|
||
|
lda #$0000
|
||
|
sta ringring
|
||
|
ldx $07
|
||
|
phx
|
||
|
tsx
|
||
|
stx $07
|
||
|
lda $18
|
||
|
ldx #$0000
|
||
|
phx
|
||
|
pha
|
||
|
jsl alarm
|
||
|
tay
|
||
|
lda $07
|
||
|
tcs
|
||
|
pla
|
||
|
sta $07
|
||
|
tya
|
||
|
checkrr anop
|
||
|
lda ringring
|
||
|
tax
|
||
|
beq theeor
|
||
|
lda #$0001
|
||
|
theeor eor #$0001
|
||
|
bne nojump
|
||
|
brl afterbrl
|
||
|
nojump ldx $07
|
||
|
phx
|
||
|
tsx
|
||
|
stx $07
|
||
|
pei $13
|
||
|
pei $11
|
||
|
pla
|
||
|
and #$dfff
|
||
|
pha
|
||
|
jsl sigpause
|
||
|
tay
|
||
|
lda $07
|
||
|
tcs
|
||
|
pla
|
||
|
sta $07
|
||
|
tya
|
||
|
brl checkrr
|
||
|
afterbrl ldx $07
|
||
|
phx
|
||
|
tsx
|
||
|
stx $07
|
||
|
ldx $0f
|
||
|
lda $0d
|
||
|
phx
|
||
|
pha
|
||
|
lda #$000e
|
||
|
pha
|
||
|
jsl signal
|
||
|
tay
|
||
|
lda $07
|
||
|
tcs
|
||
|
pla
|
||
|
sta $07
|
||
|
tya
|
||
|
ldx $07
|
||
|
phx
|
||
|
tsx
|
||
|
stx $07
|
||
|
ldx $13
|
||
|
lda $11
|
||
|
phx
|
||
|
pha
|
||
|
jsl sigsetmask
|
||
|
tay
|
||
|
lda $07
|
||
|
tcs
|
||
|
pla
|
||
|
sta $07
|
||
|
tya
|
||
|
lda $16
|
||
|
sta $18
|
||
|
lda $15
|
||
|
sta $17
|
||
|
ldy $05
|
||
|
pld
|
||
|
tsc
|
||
|
clc
|
||
|
adc #$0016
|
||
|
tcs
|
||
|
tya
|
||
|
rtl
|
||
|
end
|
||
|
|
||
|
sleephandler start
|
||
|
tsc
|
||
|
sec
|
||
|
sbc #$0006
|
||
|
tcs
|
||
|
phd
|
||
|
tcd
|
||
|
lda #$0001
|
||
|
sta ringring
|
||
|
lda $08
|
||
|
sta $0c
|
||
|
lda $07
|
||
|
sta $0b
|
||
|
pld
|
||
|
tsc
|
||
|
clc
|
||
|
adc #$000a
|
||
|
tcs
|
||
|
rtl
|
||
|
end
|
||
|
|
||
|
ringring data
|
||
|
ds 2
|
||
|
end
|
||
|
|
||
|
case off
|