Browse Source

Merge pull request #459 from b1ackmai1er/master

Reimplementation of boot recovery for Duodyne which appears to have been lost
pull/461/head
Wayne Warthen 1 year ago
committed by GitHub
parent
commit
dbde08cc74
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      Source/Apps/Test/DMAmon/dmamon.asm
  2. 19
      Source/Doc/SystemGuide.md
  3. 1
      Source/HBIOS/cfg_DUO.asm
  4. 2
      Source/HBIOS/cfg_MASTER.asm
  5. 1
      Source/HBIOS/cfg_MBC.asm
  6. 30
      Source/HBIOS/hbios.asm
  7. 192
      Source/HBIOS/plt_pretty.inc
  8. 9
      Source/HBIOS/std.asm

2
Source/Apps/Test/DMAmon/dmamon.asm

@ -362,7 +362,7 @@ SPDDISP:LD DE,DMA_SPD_STR
CALL PRTIDXDEA CALL PRTIDXDEA
; ;
call PRTSTRD call PRTSTRD
.db "\n\rTransfer Mode: $" ; DIPLAY TRANSFER
.db "\n\rTransfer Mode: $" ; DISPLAY TRANSFER
LD a,(dmaxfer) ; MODE LD a,(dmaxfer) ; MODE
LD DE,DMA_XFRMODE LD DE,DMA_XFRMODE
CALL PRTIDXDEA CALL PRTIDXDEA

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 process described above. HBIOS is installed in its operating bank
and control is passed to the Boot Loader. 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 capability. This is
achieved 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 SBC.
# Configuration # Configuration
## RomWBW NVRAM Configuration ## RomWBW NVRAM Configuration

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 USELZSA2 .SET TRUE ; ENABLE FONT COMPRESSION
TICKFREQ .SET 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) 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_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 BOOT_DELAY .SET 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
AUTOCON .SET FALSE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT AUTOCON .SET FALSE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT

2
Source/HBIOS/cfg_MASTER.asm

@ -54,8 +54,10 @@ HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
USELZSA2 .EQU FALSE ; ENABLE FONT COMPRESSION USELZSA2 .EQU FALSE ; ENABLE FONT COMPRESSION
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ) 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_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 BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
BOOT_PRETTY .EQU FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .EQU FALSE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT AUTOCON .EQU FALSE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
; ;
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO

1
Source/HBIOS/cfg_MBC.asm

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

30
Source/HBIOS/hbios.asm

@ -319,7 +319,7 @@ SUPCTS .EQU FALSE ; SUPPRESS CTS DURING HBIOS BOOT
; ;
RTCDEF .EQU 0 ; INIT DEF RTC LATCH VALUE RTCDEF .EQU 0 ; INIT DEF RTC LATCH VALUE
; ;
; THE SC126 HAS AN I2C CIRCUIT AND THERE IS NO ASSOCAITED
; THE SC126 HAS AN I2C CIRCUIT AND THERE IS NO ASSOCIATED
; DRIVER, SO WE SET THAT BIT HERE. IT IS SET FOR ALL OF THE SCXXX ; DRIVER, SO WE SET THAT BIT HERE. IT IS SET FOR ALL OF THE SCXXX
; SYSTEMS, BUT IS UNUSED ON ALL BUT THE SC126. IT DOES NO HARM. ; SYSTEMS, BUT IS UNUSED ON ALL BUT THE SC126. IT DOES NO HARM.
; ;
@ -2348,7 +2348,7 @@ HB_CPU1:
; EARLY DRIVER INITIALIZATION ; EARLY DRIVER INITIALIZATION
;-------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------
; ;
; SOME DRIVERS NEED TO BE CALLED AS EARLY AS WE CAN ONE AN OPERATING
; SOME DRIVERS NEED TO BE CALLED AS EARLY AS WE CAN ONCE AN OPERATING
; ENVIRONMENT IS ESTABLISHED. ; ENVIRONMENT IS ESTABLISHED.
; ;
#IF (CPUFAM == CPU_EZ80) #IF (CPUFAM == CPU_EZ80)
@ -2753,7 +2753,7 @@ Z280_TC .EQU CPUOSC / 4 / 50 / 2 ; TIME CONSTANT
LD (HB_BOOT_REC),A ; SAVE FOR LATER LD (HB_BOOT_REC),A ; SAVE FOR LATER
#ENDIF #ENDIF
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC)) #IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC))
#IF (BT_REC_TYPE == BT_REC_SBC01)
#IF (BT_REC_TYPE == BT_REC_SBCB0)
LD A,%00100000 ; DISABLE RTC AND LD A,%00100000 ; DISABLE RTC AND
OUT (RTCIO),A ; DRQ DRIVER READ OUT (RTCIO),A ; DRQ DRIVER READ
IN A,(RTCIO) ; BIT 0 (DRQ). IN A,(RTCIO) ; BIT 0 (DRQ).
@ -2776,6 +2776,17 @@ SAVE_REC_M:
LD A,0 ; BIT 6 LD A,0 ; BIT 6
JR Z,SAVE_REC_M ; IS RECOVERY MODE JR Z,SAVE_REC_M ; IS RECOVERY MODE
LD A,1 LD A,1
SAVE_REC_M:
LD (HB_BOOT_REC),A ; SAVE FOR LATER
#ENDIF
#ENDIF
#IF ((PLATFORM == PLT_DUO)
#IF (BT_REC_TYPE == BT_REC_DUORI)
IN A,($78 + 6) ; UART_MSR MODEM
BIT 6,A ; STATUS REGISTER
LD A,0 ; BIT 6
JR Z,SAVE_REC_M ; IS RECOVERY MODE
LD A,1
SAVE_REC_M: SAVE_REC_M:
LD (HB_BOOT_REC),A ; SAVE FOR LATER LD (HB_BOOT_REC),A ; SAVE FOR LATER
#ENDIF #ENDIF
@ -2923,6 +2934,9 @@ NXTMIO: LD A,(HL)
; DISPLAYED BEFORE INTRODUCING INTERRUPTS. IF THE SYSTEM CRASHES ; DISPLAYED BEFORE INTRODUCING INTERRUPTS. IF THE SYSTEM CRASHES
; AFTER DISPLAYING THE BANNER, INTERRUPT INTEGRITY SHOULD BE SUSPECTED. ; AFTER DISPLAYING THE BANNER, INTERRUPT INTEGRITY SHOULD BE SUSPECTED.
; ;
#IF (BOOT_PRETTY)
PRTX(STR_PLT_PRETTY)
#ENDIF
PRTX(STR_BANNER) PRTX(STR_BANNER)
; ;
; DISPLAY HBIOS MUTEX ENABLED MESSAGE ; DISPLAY HBIOS MUTEX ENABLED MESSAGE
@ -3378,7 +3392,7 @@ IS_REC_M1:
CALL CALLLIST CALL CALLLIST
; ;
;-------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------
; NV-SWITCH INITITIALISATION
; NV-SWITCH INITIALISATION
; Requires functional RTC NVR ; Requires functional RTC NVR
;-------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------
; ;
@ -3804,7 +3818,7 @@ INITSYS4:
; ;
HB_PCINIT_REC: HB_PCINIT_REC:
; ;
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC))
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC) | (PLATFORM == PLT_DUO))
.DW UART_PREINIT .DW UART_PREINIT
; .DW CALLDUMMY ; .DW CALLDUMMY
#ENDIF #ENDIF
@ -3813,7 +3827,7 @@ HB_PCINITRLEN .EQU (($ - HB_PCINIT_REC) / 2)
; ;
HB_INIT_REC: HB_INIT_REC:
; ;
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC))
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC) | (PLATFORM == PLT_DUO))
.DW UART_INIT .DW UART_INIT
.DW MD_INIT .DW MD_INIT
.DW PPIDE_INIT .DW PPIDE_INIT
@ -9455,6 +9469,10 @@ STR_PANIC .TEXT "\r\n>>> PANIC: $"
STR_SYSCHK .TEXT "\r\n>>> SYSCHK: $" STR_SYSCHK .TEXT "\r\n>>> SYSCHK: $"
STR_CONTINUE .TEXT "\r\nContinue (Y/N)? $" STR_CONTINUE .TEXT "\r\nContinue (Y/N)? $"
; ;
#IF (BOOT_PRETTY)
#INCLUDE "plt_pretty.inc"
#ENDIF
;
HB_CURSEC .DB 0 ; CURRENT SECOND (TEMP) HB_CURSEC .DB 0 ; CURRENT SECOND (TEMP)
; ;
HB_BCDTMP .FILL 5,0 ; BCD NUMBER STORAGE (TEMP) HB_BCDTMP .FILL 5,0 ; BCD NUMBER STORAGE (TEMP)

192
Source/HBIOS/plt_pretty.inc

@ -0,0 +1,192 @@
; Pretty platform boot banner.
;
; Defaults to off due to HBIOS space considerations.
; Add BOOT_PRETTY .SET TRUE to your custom configuration to enable.
;
; Inspired by Dan Gardeners boot messages
;
; From the website:
; http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20
; Font is "Small", width and height full.
;
; Manual adjustments made to cater for assembler text escape directives,
; 80 column line length and kerning.
; E.g.
; \ becomes \\
; ' becomes *
; lines ending with \ need a trailing space.
;
; ECB SBC Z80
; ZETA Z80
; ZETA2 Z80
; N8 ZS180
; ECB MK4 Z180
; UNABIOS
; RCBUS Z80
; RCBUS Z180
; RCBUS EASY Z80
; RCBUS SC Z180
; DYNO uATX
; RCBUS Z280
; MBC Z80
; RHYOPHYRE
; Z80RETRO
; S100 Z180
; DUODYNE
; HEATH Z80
; mITX
; MONSPUTER
; GENESIS Z180
; NABU
; S100 FPGA Z80
; RCBUS eZ80
;
STR_PLT_PRETTY:
;
.DB 10,13
;
#IF (PLATFORM == PLT_SBC)
.DB " ___ ___ ___ ___ ___ ___ ____ ___ __",10,13
.DB "| __| / __| | _ ) / __| | _ ) / __| |_ / ( _ ) / \\ ",10,13
.DB "| _| | (__ | _ \\ \\__ \\ | _ \\ | (__ / / / _ \\ | () |",10,13
.DB "|___| \\___| |___/ |___/ |___/ \\___| /___| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_ZETA)
.DB " ____ ___ _____ _ ____ ___ __",10,13
.DB "|_ / | __| |_ _| /_\\ |_ / ( _ ) / \\ ",10,13
.DB " / / | _| | | / _ \\ / / / _ \\ | () |",10,13
.DB "/___| |___| |_| /_/ \\_\\ /___| \\___\/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_ZETA2)
.DB " ____ ___ _____ _ ___ ____ ___ __",10,13
.DB "|_ / | __| |_ _| /_\\ |_ ) |_ / ( _ ) / \\ ",10,13
.DB " / / | _| | | / _ \\ / / / / / _ \\ | () |\\ ",10,13
.DB "/___| |___| |_| /_/ \\_\\ /___| /___| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_N8)
.DB " _ _ ___ ____ ___ _ ___ __",10,13
.DB "| \\| | ( _ ) |_ / / __| / | ( _ ) / \\ ",10,13
.DB "| .` | / _ \\ / / \\__ \\ | | / _ \\ | () |",10,13
.DB "|_|\\_| \\___/ /___| |___/ |_| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_MK4)
.DB " ___ ___ ___ __ __ _ __ _ _ ____ _ ___ __",10,13
.DB "| __| / __| | _ ) | \\/ | | |/ / | | | |_ / / | ( _ ) / \\ ",10,13
.DB "| _| | (__ | _ \\ | |\\/| | | * < |_ _| / / | | / _ \\ | () |",10,13
.DB "|___| \\___| |___/ |_| |_| |_|\\_\\ |_| /___| |_| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_UNA)
.DB " _ _ _ _ _ ___ ___ ___ ___",10,13
.DB "| | | | | \\| | /_\\ | _ ) |_ _| / _ \\ / __|",10,13
.DB "| |_| | | .` | / _ \\ | _ \\ | | | (_) | \\__ \\ ",10,13
.DB " \\___/ |_|\\_| /_/ \\_\\ |___/ |___| \\___/ |___/",10,13
#ENDIF
#IF (PLATFORM == PLT_RCZ80)
.DB " ___ ___ ___ _ _ ___ ____ ___ __",10,13
.DB "| _ \\ / __| | _ ) | | | | / __| |_ / ( _ ) / \\ ",10,13
.DB "| / | (__ | _ \\ | |_| | \\__ \\ / / / _ \\ | () |",10,13
.DB "|_|_\\ \\___| |___/ \\___/ |___/ /___| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_RCZ180)
.DB " ___ ___ ___ _ _ ___ ____ _ ___ __",10,13
.DB "| _ \\ / __| | _ ) | | | | / __| |_ / / | ( _ ) / \\ ",10,13
.DB "| / | (__ | _ \\ | |_| | \\__ \\ / / | | / _ \\ | () |",10,13
.DB "|_|_\\ \\___| |___/ \\___/ |___/ /___| |_| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_EZZ80)
.DB " ___ ___ ___ _ _ ___ ___ _ ___ __ __ ____ ___ __",10,13
.DB "| _ \\ / __| | _ ) | | | | / __| | __| /_\\ / __| \\\\ / / |_ / ( _ ) / \\ ",10,13
.DB "| / | (__ | _ \\ | |_| | \\__ \\ | _| / _ \\ \\__ \\ \\ V / / / / _ \\ | () |",10,13
.DB "|_|_\\ \\___| |___/ \\___/ |___/ |___|/_/ \\_\\|___/ |_| /___| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_SCZ180)
.DB " ___ ___ ___ _ _ ___ ___ ___ ____ _ ___ __",10,13
.DB "| _ \\ / __| | _ ) | | | | / __| / __| / __| |_ / / | ( _ ) / \\ ",10,13
.DB "| / | (__ | _ \\ | |_| | \\__ \\ \\__ \\ | (__ / / | | / _ \\ | () |",10,13
.DB "|_|_\\ \\___| |___/ \\___/ |___/ |___/ \\___| /___| |_| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_DYNO)
.DB " ___ __ __ _ _ ___ _ _____ __ __",10,13
.DB "| \\ \\ \\ / / | \\| | / _ \\ _ _ /_\\ |_ _| \\ \\/ /",10,13
.DB "| |) | \\ V / | .* | | (_) | | || | / _ \\ | | > <",10,13
.DB "|___/ |_| |_|\\_| \\___/ \\_,_| /_/ \\_\\ |_| /_/\\_\\ ",10,13
#ENDIF
#IF (PLATFORM == PLT_RCZ280)
.DB " ___ ___ ___ _ _ ___ ____ ___ ___ __",10,13
.DB "| _ \\ / __| | _ ) | | | | / __| |_ / |_ ) ( _ ) / \\ ",10,13
.DB "| / | (__ | _ \\ | |_| | \\__ \\ / / / / / _ \\ | () |",10,13
.DB "|_|_\\ \\___| |___/ \\___/ |___/ /___| /___| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_MBC)
.DB " __ __ ___ ___ ____ ___ __",10,13
.DB "| \\/ | | _ ) / __| |_ / ( _ ) / \\ ",10,13
.DB "| |\\/| | | _ \\ | (__ / / / _ \\ | () |",10,13
.DB "|_| |_| |___/ \\___| /___| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_RPH)
.DB " ___ _ _ __ __ ___ ___ _ _ __ __ ___ ___",10,13
.DB "| _ \\ | || | \\ \\ / / / _ \\ | _ \\ | || | \\ \\ / / | _ \\ | __|",10,13
.DB "| / | __ | \\ V / | (_) | | _/ | __ | \\ V / | / | _|",10,13
.DB "|_|_\\ |_||_| |_| \\___/ |_| |_||_| |_| |_|_\\ |___|",10,13
#ENDIF
#IF (PLATFORM == PLT_Z80RETRO)
.DB " ____ ___ __ ___ ___ _____ ___ ___",10,13
.DB "|_ / ( _ ) / \\ | _ \\ | __| |_ _| | _ \\ / _ \\ ",10,13
.DB " / / / _ \\ | () | | / | _| | | | / | (_) |",10,13
.DB "/___| \\___/ \\__/ |_|_\\ |___| |_| |_|_\\ \\___/",10,13
#ENDIF
#IF (PLATFORM == PLT_S100)
.DB " ___ _ __ __ ____ _ ___ __",10,13
.DB "/ __| / | / \\ / \\ |_ / / | ( _ ) / \\ ",10,13
.DB "\\__ \\ | | | () | | () | / / | | / _ \\ | () |",10,13
.DB "|___/ |_| \\__/ \\__/ /___| |_| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_DUO)
.DB " ___ _ _ ___ ___ __ __ _ _ ___",10,13
.DB "| \\ | | | | / _ \\ | \\ \\ \\ / / | \\| | | __|",10,13
.DB "| |) | | |_| | | (_) | | |) | \\ V / | .` | | _|",10,13
.DB "|___/ \\___/ \\___/ |___/ |_| |_|\\_| |___|",10,13
#ENDIF
#IF (PLATFORM == PLT_HEATH)
.DB " _ _ ___ _ _____ _ _ ____ ___ __",10,13
.DB "| || | | __| /_\\ |_ _| | || | |_ / ( _ ) / \\ ",10,13
.DB "| __ | | _| / _ \\ | | | __ | / / / _ \\ | () |",10,13
.DB "|_||_| |___| /_/ \\_\\ |_| |_||_| /___| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_EPITX)
.DB " ___ _____ __ __",10,13
.DB " _ __ |_ _| |_ _| \\ \\/ /",10,13
.DB "| ' \\ | | | | > <\n\r"
.DB "|_|_|_| |___| |_| /_/\\_\\ ",10,13
#ENDIF
#IF (PLATFORM == PLT_MON)
.DB " __ __ ___ _ _ ___ ___ _ _ _____ ___ ___",10,13
.DB "| \\/ | / _ \\ | \\| | / __| | _ \\ | | | | |_ _| | __| | _ \\ ",10,13
.DB "| |\\/| | | (_) | | .` | \\__ \\ | _/ | |_| | | | | _| | /",10,13
.DB "|_| |_| \\___/ |_|\\_| |___/ |_| \\___/ |_| |___| |_|_\\ ",10,13
#ENDIF
#IF (PLATFORM == PLT_GMZ180)
.DB " ___ ___ _ _ ___ ___ ___ ___ ____ _ ___ __",10,13
.DB " / __| | __| | \\| | | __| / __| |_ _| / __| |_ / / | ( _ ) / \\ ",10,13
.DB "| (_ | | _| | .` | | _| \\__ \\ | | \\__ \\ / / | | / _ \\ | () |",10,13
.DB " \\___| |___| |_|\\_| |___| |___/ |___| |___/ /___| |_| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_NABU)
.DB " _ _ _ ___ _ _",10,13
.DB "| \\| | /_\\ | _ ) | | | |",10,13
.DB "| .` | / _ \\ | _ \\ | |_| |",10,13
.DB "|_|\\_| /_/ \\_\\ |___/ \\___/",10,13
#ENDIF
#IF (PLATFORM == PLT_FZ80)
.DB " ___ _ __ __ ___ ___ ___ _ ____ ___ __",10,13
.DB "/ __| / | / \\ / \\ | __| | _ \\ / __| /_\\ |_ / ( _ ) / \\ ",10,13
.DB "\\__ \\ | | | () | | () | | _| | _/ | (_ | / _ \\ / / / _ \\ | () |",10,13
.DB "|___/ |_| \\__/ \\__/ |_| |_| \\___|/_/ \\_\\ /___| \\___/ \\__/",10,13
#ENDIF
#IF (PLATFORM == PLT_RCEZ80)
.DB " ___ ___ ___ _ _ ___ ____ ___ __",10,13
.DB "| _ \\ / __| | _ ) | | | | / __| ___ |_ / ( _ ) / \\ ",10,13
.DB "| / | (__ | _ \\ | |_| | \\__ \\ / -_) / / / _ \\ | () |",10,13
.DB "|_|_\\ \\___| |___/ \\___/ |___/ \\___| /___| \\___/ \\__/",10,13
#ENDIF
.DB "$"

9
Source/HBIOS/std.asm

@ -25,7 +25,7 @@
; 21. GMZ180 Doug Jacksons' Genesis Z180 System ; 21. GMZ180 Doug Jacksons' Genesis Z180 System
; 22. NABU NABU w/ Les Bird's RomWBW Option Board ; 22. NABU NABU w/ Les Bird's RomWBW Option Board
; 23. FZ80 S100 Computers FPGA Z80 ; 23. FZ80 S100 Computers FPGA Z80
; 24. RCZ80 RCBus eZ80
; 24. RCEZ80 RCBus eZ80
; ;
; ;
; INCLUDE BUILD VERSION ; INCLUDE BUILD VERSION
@ -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_NONE .EQU 0 ; NO RECOVERY MODE
BT_REC_FORCE .EQU 1 ; FORCE BOOT RECOVERY MODE BT_REC_FORCE .EQU 1 ; FORCE BOOT RECOVERY MODE
BT_REC_SBC01 .EQU 2 ; ECB-SBCV2 - BIT 1 RTC HIGH
BT_REC_SBC1B .EQU 3 ; ECB-SBCV2 - 1-BIT IO PORT
BT_REC_SBCB0 .EQU 2 ; ECB-SBCV2 - BIT 0 RTC HIGH
BT_REC_SBC1B .EQU 3 ; ECB-SBCV2/MBC - 1-BIT IO PORT
BT_REC_SBCRI .EQU 4 ; ECB-SBCV2 - 16550 UART RING INDICATOR LINE 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) ; FLOPPY DISK MEDIA SELECTIONS (ID'S MUST BE INDEX OF ENTRY IN FCD_TBL)
; ;

Loading…
Cancel
Save