1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-24 11:31:31 +00:00
cc65/libsrc/atari5200/clock.s
Oliver Schmidt f723147f04 Streamlined clock rate handling.
* Docs say that CLK_TCK is an obsolete alias of CLOCKS_PER_SEC so there's no point in individual definitions.
* All targets determining the clock rate at runtime can use a common handling.
2020-10-25 14:06:44 +01:00

26 lines
672 B
ArmAsm

;
; from Atari computer version by Christian Groessler, 2014
;
; clock_t clock (void);
;
.export _clock
.importzp sreg
.include "atari5200.inc"
.proc _clock
ldx #5 ; Synchronize with Antic, so the interrupt won't change RTCLOK
stx WSYNC ; while we're reading it. The synchronization is done same as
@L1: dex ; in SETVBLV function in Atari OS.
bne @L1
stx sreg+1 ; Byte 3 is always zero
stx sreg ; Byte 2 is always zero, too
lda RTCLOK+1
ldx RTCLOK
rts
.endproc