mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Clean Up NVRAM Switch Terminology
- Essentially, switch from the term "default boot" to the term "boot options". See Issue #451
This commit is contained in:
@@ -462,7 +462,7 @@ CB_HEAPTOP .DW 0
|
||||
;
|
||||
.FILL (HCB + $30 - $),0
|
||||
;
|
||||
; First byte (header) of NVRAM = "W" if fully initialised, or a ststus byte
|
||||
; First byte (header) of NVRAM = "W" if fully initialised, or a status byte
|
||||
; = 0 if no NVRAM detected, or = 1 If NVR exists, but not configured
|
||||
CB_SWITCHES .DB 0 ; this byte is set during init
|
||||
;
|
||||
@@ -470,20 +470,20 @@ CB_SWITCHES .DB 0 ; this byte is set during init
|
||||
; Bit 7-0 DISK BOOT SLice Number to Boot -> default = 0
|
||||
; Bit 7-0 ROM BOOT (alpha character) Application to boot -> default = "H"
|
||||
; Byte 1: (H)
|
||||
; Bit 7 - ROM/DISK - Rom or Disk Boot -> Default=ROM=1 (BOOT_DEFAULT is Numeric/Alpha)
|
||||
; Bit 7 - ROM/DISK - Rom or Disk Boot -> Default=ROM=1 (AUTO_CMD is Numeric/Alpha)
|
||||
; Bit 6-0 - DISK BOOT Disk Unit to Boot (0-127) -> default = 0
|
||||
CB_SWDEFBOOT .DB 'H' ; (WORD) DEFAULT BOOT NVR OPTIONS. USED By ROMLDR
|
||||
.DB DBOOT_ROM ; Default Boot - ROM Application
|
||||
CB_SW_AB_OPT .DB 'H' ; (WORD) AUTO BOOT NVR OPTIONS. USED By ROMLDR
|
||||
.DB BOPTS_ROM ; Boot Opts - ROM Application
|
||||
;
|
||||
; Byte 0: (L)
|
||||
; Bit 7-6 - Reserved
|
||||
; Bit 5 - AUTO BOOT Auto boot, default=false (BOOT_TIMEOUT != -1)
|
||||
; Bit 4 - Reserved
|
||||
; Bit 3-0 - BOOT_TIMEOUT in seconds (0-15) 0=immediate -> default=3
|
||||
CB_SWAUTOB .DB 0 ; AUTO BOOT NVR OPTIONS. USED By ROMLDR
|
||||
CB_SW_AB_CFG .DB 0 ; AUTO BOOT NVR CONFIG. USED By ROMLDR
|
||||
;
|
||||
; CHECKSUM
|
||||
CB_SWITCHCK .DB 0 ; CHECKSUM (XOR=0), INCLUDES HEADER and CB_VERSION
|
||||
CB_SW_CKSUM .DB 0 ; CHECKSUM (XOR=0), INCLUDES HEADER and CB_VERSION
|
||||
;
|
||||
; STANDARD BANK ID'S START AT $D8. DEFAULT VALUES FOR 512KB SYSTEM WITH NO RESERVED BANKS
|
||||
;
|
||||
@@ -3407,7 +3407,7 @@ NVR_INIT:
|
||||
JR NZ, NVR_INIT_DEF ; failed to correclty read data
|
||||
;
|
||||
CALL NVSW_CHECKSUM ; checksum calc into A
|
||||
LD HL,CB_SWITCHCK ; address of HCB switch checksum value
|
||||
LD HL,CB_SW_CKSUM ; address of HCB switch checksum value
|
||||
CP (HL) ; compare Caculated Check, with hcb Check Value
|
||||
JR Z,NVR_INIT_END ; The same so success
|
||||
NVR_INIT_DEF:
|
||||
@@ -7611,7 +7611,7 @@ NVSW_RESET:
|
||||
;
|
||||
NVSW_UPDATE:
|
||||
CALL NVSW_CHECKSUM ; CALC checksum into A
|
||||
LD (CB_SWITCHCK),A ; store checksum in hcb
|
||||
LD (CB_SW_CKSUM),A ; store checksum in hcb
|
||||
CALL NVSW_WRITE ; write the bytes to nvr
|
||||
RET Z ; Successful write, return
|
||||
; write failed for some reason ???
|
||||
@@ -7695,8 +7695,8 @@ NVSW_WRITE2:
|
||||
;
|
||||
NVSW_DEFAULT:
|
||||
.DB 'W' ; Signature Byte
|
||||
.DB 'H' ; Default Boot - Rom Application [H]elp
|
||||
.DB DBOOT_ROM ; Default Boot - ROM Application
|
||||
.DB 'H' ; Auto Boot - Rom Application [H]elp
|
||||
.DB BOPTS_ROM ; Auto Boot - ROM Application
|
||||
.DB 0 ; Auto Boot - NO auto boot
|
||||
; Configure above byte from (BOOT_TIMEOUT != -1)
|
||||
; SIZE OF NVR BYTES
|
||||
|
||||
@@ -340,7 +340,7 @@ SW_OPT .EQU %00000111 ; SLICE/ROM APP
|
||||
; NVRAM SWITCHES
|
||||
;
|
||||
; used for identifying Non Volitile Switches
|
||||
NVSW_DEFBOOT .EQU 1 ; Default Boot NVRAM Switch
|
||||
NVSW_BOOTOPTS .EQU 1 ; Boot Options NVRAM Switch
|
||||
NVSW_AUTOBOOT .EQU 3 ; Auto Boot NVRAM Switch
|
||||
;
|
||||
; NVRAM SWITCH BIT MASKS
|
||||
@@ -349,8 +349,8 @@ NVSW_AUTOBOOT .EQU 3 ; Auto Boot NVRAM Switch
|
||||
ABOOT_AUTO .EQU %00100000 ; AUTO=1/MANUAL=0 BOOT
|
||||
ABOOT_TIMEOUT .EQU %00001111 ; MENU TIMEOUT IN SECONDS, 0=IMMEDIAGE
|
||||
; DEFAULT BOOT MASKS
|
||||
DBOOT_ROM .EQU %10000000 ; ROM=1/DISK=0 FLAG
|
||||
DBOOT_UNIT .EQU %01111111 ; DISK UNIT
|
||||
BOPTS_ROM .EQU %10000000 ; ROM=1/DISK=0 FLAG
|
||||
BOPTS_UNIT .EQU %01111111 ; DISK UNIT
|
||||
;
|
||||
; MEDIA ID VALUES
|
||||
;
|
||||
@@ -510,8 +510,8 @@ HCB_BOOTMODE .EQU $14 ; HBIOS BOOTMODE (BYTE)
|
||||
HCB_HEAP .EQU $20 ; DWORD ADDRESS OF START OF HEAP
|
||||
HCB_HEAPTOP .EQU $22 ; DWORD ADDRESS OF TOP OF HEAP
|
||||
;
|
||||
HCB_SW_DBOOT .EQU $31 ; DEFAULT BOOT CONFIG (WORD)
|
||||
HCB_SW_AUTOB .EQU $33 ; AUTO BOOT CONFIG (BYTE)
|
||||
HCB_SW_BOPTS .EQU $31 ; BOOT OPTIONS (WORD)
|
||||
HCB_SW_AUTOB .EQU $33 ; AUTO BOOT (BYTE)
|
||||
;
|
||||
; MEMORY BANK IDS (ONE BYTE EACH)
|
||||
HCB_BIDCOM .EQU $D8 ; COMMON BANK (UPPER 32K)
|
||||
|
||||
@@ -742,10 +742,10 @@ fp_flopboot2:
|
||||
;
|
||||
runnvr:
|
||||
ld bc,BC_SYSGET_SWITCH ; HBIOS SysGet NVRAM Switches
|
||||
ld d,NVSW_DEFBOOT ; Read Default Boot (disk/Rom) switch
|
||||
ld d,NVSW_BOOTOPTS ; Read Boot options (disk/Rom) switch
|
||||
rst 08
|
||||
ld a,h
|
||||
and DBOOT_ROM ; Get the Default Boot from ROM Flag
|
||||
and BOPTS_ROM ; Get the Boot Opts ROM Flag
|
||||
jr nz,nvrsw_rom ; IF Set as ROM App BOOT, otherwise Disk
|
||||
;
|
||||
nvrsw_disk:
|
||||
|
||||
@@ -208,8 +208,8 @@ helpandloop: ; HELP MENU
|
||||
; the folloiwng is just testing a single charater
|
||||
cp 'A' ; Auto Boot help menu
|
||||
JP Z,HELP_AB
|
||||
cp 'D' ; Default Boot help menu
|
||||
JP Z,HELP_DB
|
||||
cp 'B' ; Boot Options help menu
|
||||
JP Z,HELP_BO
|
||||
;
|
||||
printmainhelp:
|
||||
ld de,MSG_MENU ; nothing found Print the Main Menu
|
||||
@@ -237,8 +237,8 @@ setvalueandloop:
|
||||
; the folloiwng is just testing a single charater
|
||||
cp 'A' ; Auto Boot help menu
|
||||
JP Z,SET_AB
|
||||
cp 'D' ; Default Boot help menu
|
||||
JP Z,SET_DB
|
||||
cp 'B' ; Boot Options help menu
|
||||
JP Z,SET_BO
|
||||
;
|
||||
setvalueerror:
|
||||
ld de,MSG_QUESTION ; nothing found Print the Main Menu
|
||||
@@ -269,8 +269,8 @@ PRT_STATUS:
|
||||
;
|
||||
; print invdividual stats, on all per switch
|
||||
;
|
||||
CALL STAT_DEFBOOT
|
||||
CALL STAT_AUTOB
|
||||
CALL STAT_BO
|
||||
CALL STAT_AB
|
||||
;
|
||||
; end individual stats
|
||||
;
|
||||
@@ -297,31 +297,31 @@ STAT_NOTFOUND1:
|
||||
; Specific Switches Below
|
||||
; ======================================================================
|
||||
;
|
||||
; DEFAULT BOOT
|
||||
; BOOT OPTIONS
|
||||
; Byte 1: (L)
|
||||
; Bit 7-0 DISK BOOT SLice Number to Boot -> default = 0
|
||||
; Bit 7-0 ROM BOOT (alpha character) Application to boot -> default = 0 translates to "H"
|
||||
; Byte 2: (H)
|
||||
; Bit 7 - DISK/ROM - Disk or Rom Boot -> Default=ROM (BOOT_DEFAULT is Numeric/Alpha)
|
||||
; Bit 7 - DISK/ROM - Disk or Rom Boot -> Default=ROM (AUTO_CMD is Numeric/Alpha)
|
||||
; Bit 6-0 - DISK BOOT Disk Unit to Boot (0-127) -> default = 0
|
||||
;
|
||||
; PRINT CURRENT SWITCH VALUE
|
||||
;
|
||||
STAT_DEFBOOT:
|
||||
STAT_BO:
|
||||
LD BC,BC_SYSGET_SWITCH
|
||||
LD D,NVSW_DEFBOOT
|
||||
LD D,NVSW_BOOTOPTS
|
||||
RST 08 ; Should return auto Boot in HL
|
||||
RET NZ ; return if error
|
||||
LD de,MSG_DEFBOOT
|
||||
LD de,MSG_BO
|
||||
CALL prtstr
|
||||
LD A,H ; Byte 2
|
||||
AND DBOOT_ROM ; DISK/ROM
|
||||
JR NZ,STAT_AUTOROM ; is it ROM
|
||||
STAT_AUTODISK:
|
||||
AND BOPTS_ROM ; DISK/ROM
|
||||
JR NZ,STAT_BO_ROM ; is it ROM
|
||||
STAT_BO_DISK:
|
||||
LD de,MSG_DISK ; disk
|
||||
CALL prtstr
|
||||
LD A,H ; Byte 2
|
||||
AND DBOOT_UNIT ; Unit
|
||||
AND BOPTS_UNIT ; Unit
|
||||
CALL prtdecb
|
||||
LD de,MSG_DISK2 ; Slice
|
||||
CALL prtstr
|
||||
@@ -330,7 +330,7 @@ STAT_AUTODISK:
|
||||
LD de,MSG_DISK3 ; close bracket
|
||||
CALL prtstr
|
||||
RET
|
||||
STAT_AUTOROM:
|
||||
STAT_BO_ROM:
|
||||
LD de,MSG_ROM ; ROM
|
||||
CALL prtstr
|
||||
LD A,L ; ROM APP
|
||||
@@ -341,67 +341,67 @@ STAT_AUTOROM:
|
||||
;
|
||||
; SET SWITCH VALUE
|
||||
;
|
||||
SET_DB:
|
||||
SET_BO:
|
||||
CALL findskipws ; skip over WS to first char
|
||||
JR z,SET_DB_ERR ; if empty line, print main help
|
||||
JR z,SET_BO_ERR ; if empty line, print main help
|
||||
call upcase
|
||||
cp 'R' ; ROM
|
||||
JR Z,SET_DB_ROM
|
||||
JR Z,SET_BO_ROM
|
||||
cp 'D' ; DISK
|
||||
JR Z,SET_DB_DISK
|
||||
JR SET_DB_ERR
|
||||
SET_DB_ROM:
|
||||
JR Z,SET_BO_DISK
|
||||
JR SET_BO_ERR
|
||||
SET_BO_ROM:
|
||||
CALL findskipcomma
|
||||
CALL skipws
|
||||
JR z,SET_DB_ERR ; if empty line, print main help
|
||||
JR z,SET_BO_ERR ; if empty line, print main help
|
||||
LD L,A ; LOW BYTE ; next CHAR is the ROM App Name
|
||||
LD A,DBOOT_ROM
|
||||
LD H,A ; HIGH BYTE, has constant. DBOOT_ROM = $80
|
||||
JR SET_DB_SAVE ; SAVE
|
||||
SET_DB_DISK:
|
||||
LD A,BOPTS_ROM
|
||||
LD H,A ; HIGH BYTE, has constant. ABOOT_ROM = $80
|
||||
JR SET_BO_SAVE ; SAVE
|
||||
SET_BO_DISK:
|
||||
CALL findskipcomma
|
||||
CALL skipws
|
||||
JR z,SET_DB_ERR ; if empty line, print main help
|
||||
JR z,SET_BO_ERR ; if empty line, print main help
|
||||
CALL getnum ; next CHAR is the DISK UNIT
|
||||
JR C,SET_DB_ERR ; overflow
|
||||
JR C,SET_BO_ERR ; overflow
|
||||
BIT 7,A ; is > 127
|
||||
JR NZ, SET_DB_ERR
|
||||
JR NZ, SET_BO_ERR
|
||||
LD H,A ; HIGH BYTE, has disk unit < $80
|
||||
CALL findskipcomma
|
||||
CALL skipws
|
||||
JR z,SET_DB_ERR ; if empty line, print main help
|
||||
JR z,SET_BO_ERR ; if empty line, print main help
|
||||
CALL getnum ; next CHAR is the SLICE
|
||||
JR C,SET_DB_ERR ; overflow
|
||||
JR C,SET_BO_ERR ; overflow
|
||||
LD L,A ; LOW BYTE, has the slice number
|
||||
;JR SET_DB_SAVE ; SAVE - Fall Through
|
||||
SET_DB_SAVE:
|
||||
LD D,NVSW_DEFBOOT ; DEFAULT BOOT
|
||||
;JR SET_BO_SAVE ; SAVE - Fall Through
|
||||
SET_BO_SAVE:
|
||||
LD D,NVSW_BOOTOPTS ; BOOT OPTIONS
|
||||
JP setvaluesave ; SAVE THE VALUE
|
||||
SET_DB_ERR:
|
||||
SET_BO_ERR:
|
||||
JP setvalueerror ; ERROR. Added this so can use JR above
|
||||
;
|
||||
; PRINT HELP TEST FOR SWITCH
|
||||
;
|
||||
HELP_DB:
|
||||
ld de,MSG_DEFB_H
|
||||
HELP_BO:
|
||||
ld de,MSG_BO_H
|
||||
JP printhelp
|
||||
;
|
||||
MSG_DEFBOOT .DB CR,LF, " [DB] / Default Boot: ",0
|
||||
MSG_BO .DB CR,LF, " [BO] / Boot Options: ",0
|
||||
MSG_DISK .DB "Disk (Unit = ",0
|
||||
MSG_DISK2 .DB ", Slice = ",0
|
||||
MSG_DISK3 .DB ")",0
|
||||
MSG_ROM .DB "ROM (App = \"",0
|
||||
MSG_ROM2 .DB "\")",0
|
||||
;
|
||||
MSG_DEFB_H .DB "\r\nDefault Boot - Disk or Rom App (DB):\r\n"
|
||||
.DB " DB [R|D],[{romapp}|{unit},{slice}]\r\n"
|
||||
.DB " e.g. S DB D,2,14 ; Disk Boot, unit 2, slice 14\r\n"
|
||||
.DB " S DB R,M ; Rom Application 'M'onitor\r\n"
|
||||
MSG_BO_H .DB "\r\nBoot Options - Disk or Rom App (BO):\r\n"
|
||||
.DB " BO [R|D],[{romapp}|{unit},{slice}]\r\n"
|
||||
.DB " e.g. S BO D,2,14 ; Disk Boot, unit 2, slice 14\r\n"
|
||||
.DB " S BO R,M ; Rom Application 'M'onitor\r\n"
|
||||
.DB " Note: Disk: Unit (0-127); Slice (0-255)\r\n",0
|
||||
;
|
||||
;=======================================================================
|
||||
;
|
||||
; AUTO BOOT
|
||||
; AUTO BOOT CONFIG
|
||||
; Byte 0: (L)
|
||||
; Bit 7-6 - Reserved
|
||||
; Bit 5 - AUTO BOOT Auto boot, default=false (i.e. BOOT_TIMEOUT != -1)
|
||||
@@ -410,7 +410,7 @@ MSG_DEFB_H .DB "\r\nDefault Boot - Disk or Rom App (DB):\r\n"
|
||||
;
|
||||
; PRINT CURRENT SWITCH VALUE
|
||||
;
|
||||
STAT_AUTOB:
|
||||
STAT_AB:
|
||||
LD BC,BC_SYSGET_SWITCH
|
||||
LD D,NVSW_AUTOBOOT
|
||||
RST 08 ; Should return auto Boot in HL
|
||||
@@ -420,14 +420,14 @@ STAT_AUTOB:
|
||||
LD A,L ; Byte 1
|
||||
LD de,MSG_DISABLED
|
||||
AND ABOOT_AUTO ; enabled
|
||||
JR Z, STAT_AUTOB1 ; disabled
|
||||
JR Z, STAT_AB1 ; disabled
|
||||
LD de,MSG_ENABLED ; enabled
|
||||
CALL prtstr
|
||||
LD A,L ; Byte 1
|
||||
AND ABOOT_TIMEOUT ; timeout
|
||||
CALL prtdecb ; print timeout
|
||||
LD de,MSG_ENABLED2 ; and closing bracket
|
||||
STAT_AUTOB1:
|
||||
STAT_AB1:
|
||||
CALL prtstr
|
||||
RET
|
||||
;
|
||||
@@ -458,7 +458,7 @@ SET_AB_DISAB:
|
||||
LD L,0
|
||||
;JR SET_AB_SAVE ; SAVE - Fall Through
|
||||
SET_AB_SAVE:
|
||||
LD D,NVSW_AUTOBOOT ; AUTO BOOT
|
||||
LD D,NVSW_AUTOBOOT ; AUTO BOOT CONFIG
|
||||
JP setvaluesave ; SAVE THE VALUE
|
||||
SET_AB_ERR:
|
||||
JP setvalueerror ; ERROR. Added this so can use JR above
|
||||
@@ -466,7 +466,7 @@ SET_AB_ERR:
|
||||
; PRINT HELP TEST FOR SWITCH
|
||||
;
|
||||
HELP_AB:
|
||||
ld de,MSG_AUTOB_H
|
||||
ld de,MSG_AB_H
|
||||
JP printhelp
|
||||
;
|
||||
MSG_AUTOB: .DB CR,LF," [AB] / Auto Boot: ",0
|
||||
@@ -474,7 +474,7 @@ MSG_ENABLED: .DB "Enabled (Timeout = ",0
|
||||
MSG_ENABLED2: .DB ")",0
|
||||
MSG_DISABLED: .DB "Disabled",0
|
||||
;
|
||||
MSG_AUTOB_H .DB "\r\nAutomatic Boot (AB):\r\n"
|
||||
MSG_AB_H .DB "\r\nAutomatic Boot (AB):\r\n"
|
||||
.DB " AB <D|E>[,{timeout}]\r\n"
|
||||
.DB " e.g. S AB E,3 ; enabled (show menu) with 3 second timout before boot\r\n"
|
||||
.DB " S AB E,0 ; enabled with immediate effect, bypass menu\r\n"
|
||||
@@ -1031,12 +1031,12 @@ stack .equ $ ; stack top
|
||||
SLACK .EQU (NVR_END - $)
|
||||
;
|
||||
#IF (SLACK < 0)
|
||||
.ECHO "*** NVRCONFIG APP IS TOO BIG!!!\n"
|
||||
.ECHO "*** SYSCONF APP IS TOO BIG!!!\n"
|
||||
!!! ; FORCE AN ASSEMBLY ERROR
|
||||
#endif
|
||||
;
|
||||
.FILL SLACK,$00
|
||||
.ECHO "NVRCONFIG space remaining: "
|
||||
.ECHO "SYSCONF space remaining: "
|
||||
.ECHO SLACK
|
||||
.ECHO " bytes.\n"
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user