Browse Source

RPC501: Added leap year support

pull/199/head
Dean Netherton 5 years ago
parent
commit
9aef5b0977
  1. 25
      Source/HBIOS/rp5rtc.asm

25
Source/HBIOS/rp5rtc.asm

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

Loading…
Cancel
Save