Browse Source

Reimplement Duodyne boot recovery

Add feature description in documentation.
pull/459/head
b1ackmai1er 1 year ago
parent
commit
7f07af1b62
  1. 19
      Source/Doc/SystemGuide.md
  2. 1
      Source/HBIOS/cfg_DUO.asm
  3. 1
      Source/HBIOS/cfg_MASTER.asm
  4. 5
      Source/HBIOS/std.asm

19
Source/Doc/SystemGuide.md

@ -499,6 +499,25 @@ The startup then proceeds very much like the Application Boot
process described above. HBIOS is installed in its operating bank
and control is passed to the Boot Loader.
## Boot Recovery
To assist users when driver faults or misconfiguration causes a boot
failure, RomWBW supports a limited recovery cabability. This is
acheived by allowing the user to reboot their machine, loading
a minimal driver set. Implementation of this feature requires a
hardware input "BOOT RECOVERY" button to be available and
appropriate software configuration to be completed in the HBIOS.
When implemented, holding the "BOOT RECOVERY" button in after a
reset or power cycle will cause the normal driver load process to
be skipped in preference to a minimal set of drivers being loaded.
Typically this would be: Serial communication, RAM disk and parallel
port IDE interface drivers.
Platforms supporting this option currently are the MBC, Duodyne and
latter version of the ECB-SBC-V3.
# Driver Model
The framework code for bank switching also allows hardware drivers to be

1
Source/HBIOS/cfg_DUO.asm

@ -54,6 +54,7 @@ HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
USELZSA2 .SET TRUE ; ENABLE FONT COMPRESSION
TICKFREQ .SET 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
;
BT_REC_TYPE .SET BT_REC_DUORI ; BOOT RECOVERY METHOD TO USE
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_DELAY .SET 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
AUTOCON .SET FALSE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT

1
Source/HBIOS/cfg_MASTER.asm

@ -54,6 +54,7 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
USELZSA2 .EQU FALSE ; ENABLE FONT COMPRESSION
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
;
BT_REC_TYPE .EQU BT_REC_NONE ; BOOT RECOVERY METHOD TO USE
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
AUTOCON .EQU FALSE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT

5
Source/HBIOS/std.asm

@ -102,11 +102,10 @@ BT_AUTO .EQU 2 ; AUTO SELECT BOOT_DEFAULT AFTER BOOT_TIMEOUT
;
BT_REC_NONE .EQU 0 ; NO RECOVERY MODE
BT_REC_FORCE .EQU 1 ; FORCE BOOT RECOVERY MODE
BT_REC_SBC01 .EQU 2 ; ECB-SBCV2 - BIT 1 RTC HIGH
BT_REC_SBCB0 .EQU 2 ; ECB-SBCV2 - BIT 0 RTC HIGH
BT_REC_SBC1B .EQU 3 ; ECB-SBCV2 - 1-BIT IO PORT
BT_REC_SBCRI .EQU 4 ; ECB-SBCV2 - 16550 UART RING INDICATOR LINE
;
BT_REC_TYPE .EQU BT_REC_NONE ; BOOT RECOVERY METHOD TO USE
BT_REC_DUORI .EQU 5 ; DUO MULTI I/O - TL16C2552FN UART RING INDICATOR LINE
;
; FLOPPY DISK MEDIA SELECTIONS (ID'S MUST BE INDEX OF ENTRY IN FCD_TBL)
;

Loading…
Cancel
Save