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:
parent
aff228f0dc
commit
d10a647baf
@ -1,7 +1,6 @@
|
|||||||
;
|
;
|
||||||
; 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);
|
||||||
@ -15,14 +14,14 @@
|
|||||||
|
|
||||||
.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
|
||||||
|
|
||||||
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user