1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-22 12:30:41 +00:00

both routines fixed (fix by Piotr Fusik)

git-svn-id: svn://svn.cc65.org/cc65/trunk@1098 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cpg 2001-11-05 23:52:19 +00:00
parent aff228f0dc
commit d10a647baf

View File

@ -1,13 +1,12 @@
; ;
; Ullrich von Bassewitz, 25.07.2000 ; Piotr Fusik, 04.11.2001
; ; originally by Ullrich von Bassewitz and Sidney Cadot
; Implemented using information from Sidney Cadot <sidney@janis.pds.twi.tudelft.nl>
; ;
; clock_t clock (void); ; clock_t clock (void);
; unsigned _clocks_per_sec (void); ; unsigned _clocks_per_sec (void);
; ;
.export _clock, __clocks_per_sec .export _clock, __clocks_per_sec
.importzp sreg .importzp sreg
.include "atari.inc" .include "atari.inc"
@ -15,15 +14,15 @@
.proc _clock .proc _clock
lda #0 ; Byte 3 is always zero ldx #5 ; Synchronize with Antic, so the interrupt won't change RTCLOK
sta sreg+1 stx WSYNC ; while we're reading it. The synchronization is done same as
php ; Save current I flag value @L1: dex ; in SETVBLV function in Atari OS.
sei ; Disable interrupts bne @L1
lda RTCLOK ; Read clock stx sreg+1 ; Byte 3 is always zero
lda RTCLOK+2
ldx RTCLOK+1 ldx RTCLOK+1
ldy RTCLOK+2 ldy RTCLOK
plp ; Restore old I bit sty sreg
sty sreg
rts rts
.endproc .endproc
@ -31,13 +30,14 @@
.proc __clocks_per_sec .proc __clocks_per_sec
lda #50 ; Assume PAL lda PAL ; use hw register, PALNTS is only supported on XL/XE ROM
ldx PAL ; use hw register, PALNTS is only supported on XL/XE ROM and #$0e
beq @L1 bne @NTSC
ldx #0 tax
lda #50
rts
@NTSC: ldx #0
lda #60 lda #60
@L1: rts rts
.endproc .endproc