]> git.sur5r.net Git - cc65/commitdiff
Added clock_getres() for CBMs.
authorOliver Schmidt <ol.sc@web.de>
Wed, 15 Aug 2018 17:40:27 +0000 (19:40 +0200)
committerOliver Schmidt <ol.sc@web.de>
Wed, 15 Aug 2018 17:40:27 +0000 (19:40 +0200)
All CBMs have a clock (CIA TOD) resolution of 1/10 second.

libsrc/cbm/getres.s [new file with mode: 0644]

diff --git a/libsrc/cbm/getres.s b/libsrc/cbm/getres.s
new file mode 100644 (file)
index 0000000..d216a1b
--- /dev/null
@@ -0,0 +1,37 @@
+;
+; Oliver Schmidt, 15.8.2018
+;
+; int clock_getres (clockid_t clk_id, struct timespec *res);
+;
+
+        .include        "time.inc"
+
+        .importzp       ptr1
+        .import         incsp1, return0
+
+
+;----------------------------------------------------------------------------
+.code
+
+.proc   _clock_getres
+
+        sta     ptr1
+        stx     ptr1+1
+
+        ldy     #.sizeof(timespec)-1
+@L1:    lda     time,y
+        sta     (ptr1),y
+        dey
+        bpl     @L1
+
+        jsr     incsp1
+        jmp     return0
+
+.endproc
+
+;----------------------------------------------------------------------------
+; timespec struct with tv_nsec set to 1/10 second
+.rodata
+
+time:   .dword  0
+        .dword  100 * 1000 * 1000