mirror of
https://github.com/cc65/cc65.git
synced 2024-06-15 02:29:32 +00:00
Atari: implement clock_getres()
This commit is contained in:
parent
6dc7309e50
commit
df3c43bede
|
@ -1,7 +1,7 @@
|
||||||
;
|
;
|
||||||
; Oliver Schmidt, 15.08.2018
|
; Oliver Schmidt, 15.08.2018
|
||||||
;
|
;
|
||||||
; int clock_getres (clockid_t clk_id, struct timespec *res);
|
; int __fastcall__ clock_getres (clockid_t clk_id, struct timespec *res);
|
||||||
;
|
;
|
||||||
|
|
||||||
.import __dos_type
|
.import __dos_type
|
||||||
|
|
51
libsrc/atari/getres.s
Normal file
51
libsrc/atari/getres.s
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
;
|
||||||
|
; Oliver Schmidt, 15.8.2018
|
||||||
|
; Christian Groessler, 27.9.2018
|
||||||
|
;
|
||||||
|
; int __fastcall__ clock_getres (clockid_t clk_id, struct timespec *res);
|
||||||
|
;
|
||||||
|
|
||||||
|
.include "atari.inc"
|
||||||
|
.include "time.inc"
|
||||||
|
.include "errno.inc"
|
||||||
|
|
||||||
|
.importzp ptr1
|
||||||
|
.import incsp1, return0, __dos_type
|
||||||
|
|
||||||
|
;----------------------------------------------------------------------------
|
||||||
|
.code
|
||||||
|
|
||||||
|
_clock_getres:
|
||||||
|
sta ptr1
|
||||||
|
stx ptr1+1
|
||||||
|
|
||||||
|
; Cleanup stack
|
||||||
|
jsr incsp1
|
||||||
|
|
||||||
|
; Check for SpartaDOS-X 4.40 or newer
|
||||||
|
ldy #SPARTADOS
|
||||||
|
cpy __dos_type
|
||||||
|
bne enosys
|
||||||
|
ldy SDX_VERSION
|
||||||
|
cpy #$44
|
||||||
|
bcc enosys
|
||||||
|
|
||||||
|
ldy #.sizeof(timespec)-1
|
||||||
|
@L1: lda time,y
|
||||||
|
sta (ptr1),y
|
||||||
|
dey
|
||||||
|
bpl @L1
|
||||||
|
|
||||||
|
jmp return0
|
||||||
|
|
||||||
|
enosys: lda #ENOSYS
|
||||||
|
|
||||||
|
; Set __errno
|
||||||
|
jmp __directerrno
|
||||||
|
|
||||||
|
;----------------------------------------------------------------------------
|
||||||
|
; timespec struct with tv_sec set to 1 second
|
||||||
|
.rodata
|
||||||
|
|
||||||
|
time: .dword 1
|
||||||
|
.dword 0
|
|
@ -1,7 +1,7 @@
|
||||||
;
|
;
|
||||||
; Oliver Schmidt, 15.8.2018
|
; Oliver Schmidt, 15.8.2018
|
||||||
;
|
;
|
||||||
; int clock_getres (clockid_t clk_id, struct timespec *res);
|
; int __fastcall__ clock_getres (clockid_t clk_id, struct timespec *res);
|
||||||
;
|
;
|
||||||
|
|
||||||
.include "time.inc"
|
.include "time.inc"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user