]> git.sur5r.net Git - cc65/blobdiff - libsrc/c64/gettime.s
Added clock_settime() for some CBMs.
[cc65] / libsrc / c64 / gettime.s
index 8973e0e33fe89e3362c3dcd2a877d10c040b0dab..ddb865c8f45602af9b38cf0d231f8f2a306a725f 100644 (file)
@@ -7,12 +7,10 @@
 
         .include        "time.inc"
         .include        "c64.inc"
-        .include        "get_tv.inc"
 
-        .constructor    inittime
         .importzp       sreg, tmp1, tmp2
         .import         pushax, pusheax, tosmul0ax, steaxspidx, incsp1, return0
-        .import         _get_tv, _get_ostype
+        .import         TM, load_tenth
 
 
 ;----------------------------------------------------------------------------
         ldy     #timespec::tv_sec
         jsr     steaxspidx      ; Pops address pushed by 2. pushax
 
-        lda     #<(100 * 1000 * 1000 / $10000)
-        ldx     #>(100 * 1000 * 1000 / $10000)
-        sta     sreg
-        stx     sreg+1
-        lda     #<(100 * 1000 * 1000)
-        ldx     #>(100 * 1000 * 1000)
+        jsr     load_tenth
         jsr     pusheax
         lda     CIA1_TOD10
         ldx     #>$0000
         rts
 
 .endproc
-
-;----------------------------------------------------------------------------
-; Constructor that writes to the 1/10 sec register of the TOD to kick it
-; into action. If this is not done, the clock hangs. We will read the register
-; and write it again, ignoring a possible change in between.
-.segment "ONCE"
-
-.proc   inittime
-
-        lda     CIA1_TOD10
-        sta     CIA1_TOD10
-        jsr     _get_tv
-        cmp     #TV::PAL
-        bne     @60Hz
-        jsr     _get_ostype
-        cmp     #$43
-        beq     @60Hz
-        lda     CIA1_CRA
-        ora     #$80
-        sta     CIA1_CRA
-@60Hz:  rts
-
-.endproc
-
-;----------------------------------------------------------------------------
-; TM struct with date set to 1970-01-01
-.data
-
-TM:     .word           0       ; tm_sec
-        .word           0       ; tm_min
-        .word           0       ; tm_hour
-        .word           1       ; tm_mday
-        .word           0       ; tm_mon
-        .word           70      ; tm_year
-        .word           0       ; tm_wday
-        .word           0       ; tm_yday
-        .word           0       ; tm_isdst