Login

Subversion Repositories NedoOS

Rev

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