From: Oliver Schmidt
Date: Wed, 15 Aug 2018 17:40:27 +0000 (+0200)
Subject: Added clock_getres() for CBMs.
X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=59a81495569826337bfa7c7de162412399147070;p=cc65
Added clock_getres() for CBMs.
All CBMs have a clock (CIA TOD) resolution of 1/10 second.
---
diff --git a/libsrc/cbm/getres.s b/libsrc/cbm/getres.s
new file mode 100644
index 000000000..d216a1b6a
--- /dev/null
+++ b/libsrc/cbm/getres.s
@@ -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