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