mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Low Battery Test Refinements
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
PLATFORM .EQU PLT_EZZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
PLATFORM .EQU PLT_MK4 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
PLATFORM .EQU PLT_N8 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
PLATFORM .EQU PLT_RCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
PLATFORM .EQU PLT_RCZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
PLATFORM .EQU PLT_SC126 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
PLATFORM .EQU PLT_ZETA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU_[Z80|Z180]: CPU FAMILY
|
||||
BIOS .EQU BIOS_WBW ; BIOS_[WBW|UNA]: HARDWARE BIOS
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO] IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
PLATFORM .EQU PLT_ZETA2 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
;
|
||||
BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT
|
||||
BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
|
||||
|
||||
@@ -121,7 +121,6 @@ DSRTC_IDLE .EQU %00101000 ; QUIESCENT STATE
|
||||
#ENDIF
|
||||
;
|
||||
DSRTC_BUFSIZ .EQU 7 ; 7 BYTE BUFFER (YYMMDDHHMMSSWW)
|
||||
DSBATCOND .DB 0 ; BATTERY STATE DETECTED AND SAVED AT BOOT 0=LOW
|
||||
;
|
||||
; RTC DEVICE INITIALIZATION ENTRY
|
||||
;
|
||||
@@ -190,13 +189,7 @@ DSRTC_INIT1:
|
||||
NOCHG1:
|
||||
PRTS("OFF$")
|
||||
NOCHG2:
|
||||
LD A,(DSBATCOND) ; DISPLAY
|
||||
OR A ; BATTERY
|
||||
JR NZ,DSBATOK ; CONDITION
|
||||
PRTS(" BATTERY LOW$")
|
||||
|
||||
DSBATOK:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; RTC DEVICE FUNCTION DISPATCH ENTRY
|
||||
|
||||
@@ -847,24 +847,18 @@ HB_START:
|
||||
; FAILURE TO COMPLETE TWO RAM ACCESSES BEFORE INSTALLING PROXY WILL RESULT
|
||||
; IN THE ROM ID BYTES NOT BEING COPIED CORRECTLY AND CP/M APPLICATIONS
|
||||
; WILL NOT START CORRECTLY WHEN THEY CHECK THE ROM ID VERSION BYTES.
|
||||
; THE BATTERY CONDITION VALUE IS TEMPORARILY STORED AT HBX_LOC - 1.
|
||||
; IF THERE IS NO DS1210 IN THE SYSTEM, THE CODE BELOW DOES NO HARM.
|
||||
;
|
||||
LD DE,HBX_LOC ; RAM LOCATION FOR TEST
|
||||
LD A,(DE) ; RAM ACCESS 1
|
||||
LD B,A ; SAVE FOR COMPARISON
|
||||
CPL ; AND RESTORATION
|
||||
LD (DE),A ; RAM ACCESS 2
|
||||
LD A,(DE) ; RAM ACCESS 3
|
||||
SUB B ; A = 0 IF LOW BATTERY
|
||||
PUSH AF ; SAVE FOR DSRTC DRIVER
|
||||
; WE SAVE THIS PROPERLY
|
||||
; WHEN WE ARE EXECUTING
|
||||
; IN RAM.
|
||||
LD A,B
|
||||
LD (DE),A ; RESTORE TEST LOCATION
|
||||
DEC SP ; RESERVE A STACK BYTE
|
||||
XOR A ; ZERO MEANS LOW BAT
|
||||
LD (HBX_LOC - 1),A ; WRITE IT (SHOULD ALWAYS WORK)
|
||||
INC A ; 1 MEANS BAT OK
|
||||
LD (HBX_LOC - 1),A ; OVERWRITE IF NVC ALLOWS IT
|
||||
;
|
||||
; INSTALL PROXY IN UPPER MEMORY
|
||||
;
|
||||
; LD DE,HBX_LOC ; AS PER ABOVE
|
||||
LD DE,HBX_LOC ; AS PER ABOVE
|
||||
LD HL,HBX_IMG
|
||||
LD BC,HBX_SIZ
|
||||
LDIR
|
||||
@@ -873,7 +867,7 @@ HB_START:
|
||||
;
|
||||
LD A,(HB_RAMFLAG)
|
||||
OR A
|
||||
JR NZ,HB_START2
|
||||
JR NZ,HB_START1
|
||||
;
|
||||
; INSTALL HBIOS IN RAM BANK
|
||||
;
|
||||
@@ -901,14 +895,9 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
|
||||
;
|
||||
DIAG(%00000111)
|
||||
;
|
||||
POP AF ; CLEAR THE
|
||||
POP AF ; LEFTOVER STACK
|
||||
POP AF ; FROM HBX_BANKCALL
|
||||
HB_START2:
|
||||
#IF DSRTCENABLE
|
||||
POP AF ; RECALL BATTERY STATE AND SAVE
|
||||
LD (DSBATCOND),A ; IN RAM ACCESSIBLE BY DSRTC DRIVER
|
||||
#ENDIF
|
||||
LD A,(HBX_LOC - 1) ; RECALL BATTERY STATE AND SAVE
|
||||
LD (HB_BATCOND),A ; FOR FUTURE REFERENCE
|
||||
;
|
||||
LD SP,HBX_LOC ; RESET STACK SINCE WE DO NOT RETURN
|
||||
LD A,TRUE ; ACCUM := TRUE
|
||||
LD (HB_RAMFLAG),A ; SET RAMFLAG
|
||||
@@ -1439,6 +1428,15 @@ HB_PCPU:
|
||||
CALL PRTSTRD
|
||||
.TEXT "KB RAM$"
|
||||
;
|
||||
; LOW BATTERY DIAGNOSTIC MESSAGE
|
||||
;
|
||||
#IF (BATCOND)
|
||||
LD A,(HB_BATCOND)
|
||||
OR A
|
||||
LD DE,STR_LOWBAT
|
||||
CALL Z,WRITESTR
|
||||
#ENDIF
|
||||
;
|
||||
; PERFORM DEVICE INITIALIZATION
|
||||
;
|
||||
CALL NEWLINE
|
||||
@@ -3776,10 +3774,13 @@ HB_CPUTYPE .DB 0 ; 0=Z80, 1=80180, 2=SL1960, 3=ASCI BRG
|
||||
;
|
||||
RTCVAL .DB 0 ; SHADOW VALUE FOR RTC LATCH PORT
|
||||
;
|
||||
HB_BATCOND .DB 0 ; BATTERY CONDITION (0=LOW, 1=OK)
|
||||
;
|
||||
STR_BANNER .DB "RetroBrew HBIOS v", BIOSVER, ", ", TIMESTAMP, "$"
|
||||
STR_PLATFORM .DB PLATFORM_NAME, "$"
|
||||
STR_SWITCH .DB "*** Activating CRT Console ***$"
|
||||
STR_BADINT .DB "\r\n*** BAD INT ***\r\n$"
|
||||
STR_LOWBAT .DB "\r\n\r\n+++ LOW BATTERY +++$"
|
||||
;
|
||||
#IF (DSKYENABLE) ; 'H','B','I','O',' ',' ',' ',' '
|
||||
MSG_HBVER .DB $BE,$FF,$8A,$FB,$80,$80,$80,$80 ; "HBIO "
|
||||
|
||||
Reference in New Issue
Block a user