mirror of
https://github.com/cc65/cc65.git
synced 2025-01-12 02:30:44 +00:00
fixed Sleep behavior (now truly works)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2335 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
c40519859a
commit
9c444a4947
@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
;
|
;
|
||||||
; Maciej 'YTM/Alliance' Witkowiak
|
; Maciej 'YTM/Elysium' Witkowiak
|
||||||
;
|
;
|
||||||
; 30.10.99
|
; 30.10.99, 15.8.2003
|
||||||
|
|
||||||
;
|
;
|
||||||
; void Sleep (int jiffies);
|
; void Sleep (int jiffies);
|
||||||
@ -12,9 +12,26 @@
|
|||||||
|
|
||||||
.include "../inc/jumptab.inc"
|
.include "../inc/jumptab.inc"
|
||||||
.include "../inc/geossym.inc"
|
.include "../inc/geossym.inc"
|
||||||
|
.importzp ptr1
|
||||||
|
.importzp tmp1
|
||||||
|
|
||||||
|
_SleepExit:
|
||||||
|
jsr Sleep ; call Sleep
|
||||||
|
ldx tmp1
|
||||||
|
txs ; restore stack pointer
|
||||||
|
jmp (ptr1) ; when timeouts control will reach here
|
||||||
|
|
||||||
_Sleep:
|
_Sleep:
|
||||||
|
sta r0L ; store data
|
||||||
sta r0L
|
|
||||||
stx r0H
|
stx r0H
|
||||||
jmp Sleep
|
pla
|
||||||
|
sta ptr1
|
||||||
|
pla
|
||||||
|
sta ptr1+1 ; preserve return address
|
||||||
|
inc ptr1
|
||||||
|
bne @L0
|
||||||
|
inc ptr1+1 ; fix return address
|
||||||
|
@L0: tsx
|
||||||
|
stx tmp1 ; preserve stack pointer
|
||||||
|
jsr _SleepExit ; call Sleep
|
||||||
|
jmp MainLoop ; immediate return here - go to idle loop
|
||||||
|
Loading…
x
Reference in New Issue
Block a user