Blame |
Last modification |
View Log
| Download
| RSS feed
;clock driver SMUC
module Clock
; ╨▓╤Л╤Е.: CY=1, ╨╡╤Б╨╗╨╕ ╨╝╨╕╨║╤А╨╛╤Б╤Е╨╡╨╝╤Л CMOS ╨╜╨╡╤В
; C тАФ ╤Б╨╡╨║╤Г╨╜╨┤╤Л/╤З╨╕╤Б╨╗╨╛;
; B - ╨╝╨╕╨╜╤Г╤В╤Л/╨╝╨╡╤Б╤П╤Ж;
; E - ╤З╨░╤Б╤Л/╨│╨╛╨┤;
readTime
ld bc,#DFBA
ld a,4 ;╤З╨░╤Б╤Л
call out3d2f
ld a,10 ;╨┐╨░╤Г╨╖╨░
readTimeCL
dec a
jr nz,readTimeCL
call in3d2f
cp 255 ;╨┐╤А╨╛╨▓╨╡╤А╨║╨░ ╨╜╨░╨╗╨╕╤З╨╕╤П ╨╝╨╕╨║╤А╨╛╤Б╤Е╨╡╨╝╤Л
scf
ret z
ld e,a
ld a,2 ;╨╝╨╕╨╜╤Г╤В╤Л
call out3d2f
ld a,10 ;╨┐╨░╤Г╨╖╨░
readTimeCL2
dec a
jr nz,readTimeCL2
call in3d2f
ld b,a
or a
;╤Б╨╛╤Е╤А╨░╨╜╨╡╨╜╨╕╨╡ ╤В╨╡╨║╤Г╤Й╨╡╨│╨╛ ╨▓╤А╨╡╨╝╨╡╨╜╨╕
jr nc,read_time_ok
; ld hl,mes_no_RTC
; call print_mes
; scf
ret ;╨▓╤Л╤Е╨╛╨┤
read_time_ok
ld a,e ;╤З╨░╤Б╤Л
ld (hours),a
ld a,b ;╨╝╨╕╨╜╤Г╤В╤Л
ld (minutes),a
ld a,c ;╤Б╨╡╨║╤Г╨╜╨┤╤Л
ld (seconds),a
ret
in3d2f
ld hl,#3ff3
push hl
jp #3d2f
out3d2f
ld hl,#2A53
push hl
jp #3d2f
endmodule