]> git.sur5r.net Git - cc65/commitdiff
Added new clock module implementing clock() and _clocks_per_sec().
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 25 Jul 2000 20:06:34 +0000 (20:06 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 25 Jul 2000 20:06:34 +0000 (20:06 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@195 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/atari/Makefile
libsrc/atari/clock.s [new file with mode: 0644]

index c66d9f41dc60bfffd049ed8d2c11687405d4079c..121c4fce40a09f72e6a11e1e669841bb74dde25e 100644 (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)
 
diff --git a/libsrc/atari/clock.s b/libsrc/atari/clock.s
new file mode 100644 (file)
index 0000000..f4bda84
--- /dev/null
@@ -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
+
+