1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-05 06:28:57 +00:00

Added new clock module implementing clock() and _clocks_per_sec().

git-svn-id: svn://svn.cc65.org/cc65/trunk@195 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2000-07-25 20:06:34 +00:00
parent da224eb851
commit ab2b9d35e1
2 changed files with 43 additions and 1 deletions

View File

@ -21,7 +21,7 @@ S_OBJS = crt0.o kbhit.o conio.o clrscr.o cputc.o ctype.o chline.o cvline.o \
color.o gotoxy.o cclear.o revers.o readjoy.o break.o where.o write.o \
gotox.o gotoy.o savevec.o rwcommon.o cgetc.o read.o getargs.o close.o \
open.o oserror.o fdtable.o setcolor.o scroll.o mul40.o graphuse.o \
ostype.o
ostype.o clock.o
all: $(C_OBJS) $(S_OBJS)

42
libsrc/atari/clock.s Normal file
View File

@ -0,0 +1,42 @@
;
; Ullrich von Bassewitz, 25.07.2000
;
; Implemented using information from Sidney Cadot <sidney@janis.pds.twi.tudelft.nl
;
; clock_t clock (void);
; unsigned _clocks_per_sec (void);
;
.export _clock, __clocks_per_sec
.importzp sreg
.include "atari.inc"
.proc _clock
lda #0 ; Byte 3 is always zero
sta sreg+1
php ; Save current I flag value
cli ; Disable interrupts
lda RTCLOK ; Read clock
ldx RTCLOK+1
ldy RTCLOK+2
plp ; Restore old I bit
rts
.endproc
.proc __clocks_per_sec
lda #50 ; Assume PAL
ldx PAL
beq @L1
ldx #0
lda #60
@L1: rts
.endproc