|
|
|
@ -8,6 +8,15 @@ RP5RTC_BUFSIZ .EQU 6 ; SIX BYTE BUFFER (YYMMDDHHMMSS) |
|
|
|
; RTC DEVICE INITIALIZATION ENTRY |
|
|
|
; |
|
|
|
|
|
|
|
; TODO: |
|
|
|
; set the day of week register |
|
|
|
; read from nvram |
|
|
|
; write to nvram |
|
|
|
; read block of nvram |
|
|
|
; write block of nvram |
|
|
|
; set alarm/get alarm???? |
|
|
|
|
|
|
|
|
|
|
|
RP5RTC_REG .EQU $B4 |
|
|
|
RP5RTC_DAT .EQU $B5 |
|
|
|
|
|
|
|
@ -17,7 +26,7 @@ REG_1MIN .EQU $02 |
|
|
|
REG_10MIN .EQU $03 |
|
|
|
REG_1HR .EQU $04 |
|
|
|
REG_10HR .EQU $05 |
|
|
|
REG_DAYWEEK .EQU $06 |
|
|
|
REG_DAYWEEK .EQU $06 ; NOT USED BY THIS DRIVER |
|
|
|
REG_1DAY .EQU $07 |
|
|
|
REG_10DAY .EQU $08 |
|
|
|
REG_1MNTH .EQU $09 |
|
|
|
@ -28,7 +37,9 @@ REG_MODE .EQU $0D |
|
|
|
REG_TEST .EQU $0E |
|
|
|
REG_RESET .EQU $0F |
|
|
|
|
|
|
|
|
|
|
|
REG_12_24 .EQU $0A |
|
|
|
REG_LEAPYR .EQU $0B |
|
|
|
|
|
|
|
MODE_TIMEST .EQU 0 |
|
|
|
MODE_ALRMST .EQU 1 |
|
|
|
@ -187,6 +198,15 @@ RP5RTC_SETTIM: |
|
|
|
LD A, (RP5RTC_YR) |
|
|
|
CALL RP5RTC_WRVL |
|
|
|
|
|
|
|
LD B, MODE_ALRMST |
|
|
|
CALL RP5RTC_SETMD |
|
|
|
|
|
|
|
LD A, (RP5RTC_YR) |
|
|
|
CALL BCD2BYTE |
|
|
|
AND 3 |
|
|
|
LD B, REG_LEAPYR |
|
|
|
CALL RP5RTC_WRVL |
|
|
|
|
|
|
|
XOR A ; SIGNAL SUCCESS |
|
|
|
RET ; AND RETURN |
|
|
|
; |
|
|
|
@ -301,3 +321,6 @@ RP5RTC_DT .DB 01 |
|
|
|
RP5RTC_HH .DB 00 |
|
|
|
RP5RTC_MM .DB 00 |
|
|
|
RP5RTC_SS .DB 00 |
|
|
|
|
|
|
|
RP5RTC_DW .DB 00 ; THE DAY OF THE WEEK |
|
|
|
RP5RTC_LP .DB 00 ; 1 IF IS LEAP YEAR, OTHERWISE 0 |
|
|
|
|