mirror of
https://github.com/cc65/cc65.git
synced 2025-01-11 11:30:13 +00:00
The CIA TOD needs a write to the 1/10 sec register to start. Shortened the
code by using initialized data. git-svn-id: svn://svn.cc65.org/cc65/trunk@4224 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
5c5d01d84a
commit
83be732983
@ -12,17 +12,15 @@
|
||||
.include "time.inc"
|
||||
.include "c128.inc"
|
||||
|
||||
.importzp tmp1, tmp2
|
||||
.constructor initsystime
|
||||
.importzp tmp1, tmp2
|
||||
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
.code
|
||||
|
||||
; Jan 1st 1970, CIA #1 TOD
|
||||
.proc __systime
|
||||
|
||||
lda #70
|
||||
sta TM + tm::tm_year
|
||||
lda #1
|
||||
sta TM + tm::tm_mday
|
||||
lda CIA1_TODHR
|
||||
bpl AM
|
||||
and #%01111111
|
||||
@ -59,6 +57,31 @@ BCD2dec:tax
|
||||
|
||||
.endproc
|
||||
|
||||
.bss
|
||||
;----------------------------------------------------------------------------
|
||||
; 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.
|
||||
|
||||
.proc initsystime
|
||||
|
||||
lda CIA1_TOD10
|
||||
sta CIA1_TOD10
|
||||
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
|
||||
|
||||
TM: .tag tm
|
||||
|
@ -12,17 +12,15 @@
|
||||
.include "time.inc"
|
||||
.include "c64.inc"
|
||||
|
||||
.importzp tmp1, tmp2
|
||||
.constructor initsystime
|
||||
.importzp tmp1, tmp2
|
||||
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
.code
|
||||
|
||||
; Jan 1st 1970, CIA #1 TOD
|
||||
.proc __systime
|
||||
|
||||
lda #70
|
||||
sta TM + tm::tm_year
|
||||
lda #1
|
||||
sta TM + tm::tm_mday
|
||||
lda CIA1_TODHR
|
||||
bpl AM
|
||||
and #%01111111
|
||||
@ -59,6 +57,31 @@ BCD2dec:tax
|
||||
|
||||
.endproc
|
||||
|
||||
.bss
|
||||
;----------------------------------------------------------------------------
|
||||
; 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.
|
||||
|
||||
.proc initsystime
|
||||
|
||||
lda CIA1_TOD10
|
||||
sta CIA1_TOD10
|
||||
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
|
||||
|
||||
TM: .tag tm
|
||||
|
Loading…
x
Reference in New Issue
Block a user