From 59a81495569826337bfa7c7de162412399147070 Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Wed, 15 Aug 2018 19:40:27 +0200
Subject: [PATCH] Added clock_getres() for CBMs.
All CBMs have a clock (CIA TOD) resolution of 1/10 second.
---
libsrc/cbm/getres.s | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 libsrc/cbm/getres.s
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
--
2.39.5