;
-; Oliver Schmidt, 16.8.2018
+; 2018-08-18, Oliver Schmidt
+; 2018-08-19, Greg King
;
; int clock_settime (clockid_t clk_id, const struct timespec *tp);
;
.proc _clock_settime
- jsr sys_bank
jsr pushax
.assert timespec::tv_sec = 0, error
dey
bpl @L1
+ jsr sys_bank
lda TM + tm::tm_hour
jsr dec2BCD
tax ; Force flags
jsr dec2BCD
ldy #CIA::TODSEC
sta (cia2),y
+ jsr restore_bank
jsr ldax0sp
ldy #3+timespec::tv_nsec
jsr pusheax
jsr load_tenth
jsr tosdiveax
+
+ jsr sys_bank
ldy #CIA::TOD10
sta (cia2),y
+ jsr restore_bank
- jsr incsp3
-
- lda #0
+ lda #$00
tax
- jmp restore_bank
+ jmp incsp3
.endproc