RPC501: Added leap year support

This commit is contained in:
Dean Netherton
2020-10-28 10:24:29 +11:00
parent 8981a255a7
commit 9aef5b0977

View File

@@ -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