diff --git a/Source/HBIOS/cfg_sbc.asm b/Source/HBIOS/cfg_sbc.asm index 8e9813ea..b78d09b4 100644 --- a/Source/HBIOS/cfg_sbc.asm +++ b/Source/HBIOS/cfg_sbc.asm @@ -19,6 +19,7 @@ HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER DSRTCENABLE .EQU TRUE ; DS-1302 CLOCK DRIVER DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC +DSRTCCHG .EQU FALSE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE) ; ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) diff --git a/Source/HBIOS/dsrtc.asm b/Source/HBIOS/dsrtc.asm index 14d17093..c4aaff9c 100644 --- a/Source/HBIOS/dsrtc.asm +++ b/Source/HBIOS/dsrtc.asm @@ -122,6 +122,27 @@ DSRTC_INIT1: CALL DSRTC_CLK2TIM LD HL,DSRTC_TIMBUF CALL PRTDT + +#IF DSRTCCHG ; FORCE_RTC_CHARGE_ENABLE + LD C,$8E ; ACCESS WRITE PROT REG + CALL DSRTC_CMD ; + LD A,$00 ; WRITE PROTECT OFF + CALL DSRTC_PUT ; + CALL DSRTC_END ; FINISH CMD + + LD C,$90 ; ACCESS CHARGE REGISTER + CALL DSRTC_CMD ; + LD A,$A5 ; STD CHARGE VALUES + CALL DSRTC_PUT ; + CALL DSRTC_END ; FINISH REG WRITE + + LD C,$8E ; ACCESS WRITE PROT REG + CALL DSRTC_CMD ; + LD A,$80 ; WRITE PROTECT ON + CALL DSRTC_PUT ; + CALL DSRTC_END ; FINISH CMD +#ENDIF + PRTS(" CHARGE=$") CALL DSRTC_TSTCHG JR NZ,NOCHG1