From 887311827a5dd88d8e05adfeb4371a4ae17f892f Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Thu, 5 Dec 2024 10:56:39 -0800 Subject: [PATCH] RomLdr Tweaks - Related to #451 --- Source/HBIOS/Config/DUO_std.asm | 1 + Source/HBIOS/Config/DYNO_std.asm | 1 + Source/HBIOS/Config/EPITX_std.asm | 1 + Source/HBIOS/Config/FZ80_std.asm | 1 + Source/HBIOS/Config/GMZ180_std.asm | 1 + Source/HBIOS/Config/HEATH_std.asm | 1 + Source/HBIOS/Config/MBC_std.asm | 1 + Source/HBIOS/Config/MK4_std.asm | 1 + Source/HBIOS/Config/MON_std.asm | 1 + Source/HBIOS/Config/N8_std.asm | 1 + Source/HBIOS/Config/NABU_std.asm | 1 + Source/HBIOS/Config/RCEZ80_std.asm | 1 + Source/HBIOS/Config/RCZ180_ext_std.asm | 1 + Source/HBIOS/Config/RCZ180_nat_std.asm | 1 + Source/HBIOS/Config/RCZ180_z1rcc_std.asm | 1 + Source/HBIOS/Config/RCZ280_ext_std.asm | 1 + Source/HBIOS/Config/RCZ280_nat_std.asm | 1 + Source/HBIOS/Config/RCZ280_zz80mb_std.asm | 1 + Source/HBIOS/Config/RCZ280_zzrcc_ram_std.asm | 1 + Source/HBIOS/Config/RCZ280_zzrcc_std.asm | 1 + Source/HBIOS/Config/RCZ80_easy_std.asm | 1 + Source/HBIOS/Config/RCZ80_jbl_std.asm | 1 + Source/HBIOS/Config/RCZ80_kio_std.asm | 1 + Source/HBIOS/Config/RCZ80_skz_std.asm | 1 + Source/HBIOS/Config/RCZ80_std.asm | 3 +- Source/HBIOS/Config/RCZ80_tiny_std.asm | 1 + Source/HBIOS/Config/RCZ80_user.asm | 1 + Source/HBIOS/Config/RCZ80_zrc512_std.asm | 1 + Source/HBIOS/Config/RCZ80_zrc_ram_std.asm | 1 + Source/HBIOS/Config/RCZ80_zrc_std.asm | 1 + Source/HBIOS/Config/RPH_std.asm | 1 + Source/HBIOS/Config/S100_std.asm | 1 + Source/HBIOS/Config/SBC_simh_std.asm | 1 + Source/HBIOS/Config/SBC_std.asm | 1 + Source/HBIOS/Config/SCZ180_sc126_std.asm | 1 + Source/HBIOS/Config/SCZ180_sc130_std.asm | 1 + Source/HBIOS/Config/SCZ180_sc131_std.asm | 1 + Source/HBIOS/Config/SCZ180_sc140_std.asm | 1 + Source/HBIOS/Config/SCZ180_sc503_std.asm | 1 + Source/HBIOS/Config/SCZ180_sc700_std.asm | 1 + Source/HBIOS/Config/UNA_std.asm | 1 + Source/HBIOS/Config/Z80RETRO_std.asm | 1 + Source/HBIOS/Config/ZETA2_std.asm | 1 + Source/HBIOS/Config/ZETA_std.asm | 1 + Source/HBIOS/romldr.asm | 190 ++++++++++--------- Source/ver.inc | 2 +- Source/ver.lib | 2 +- 47 files changed, 152 insertions(+), 88 deletions(-) diff --git a/Source/HBIOS/Config/DUO_std.asm b/Source/HBIOS/Config/DUO_std.asm index 436a7e0b..6129c9be 100644 --- a/Source/HBIOS/Config/DUO_std.asm +++ b/Source/HBIOS/Config/DUO_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_DUO.asm" diff --git a/Source/HBIOS/Config/DYNO_std.asm b/Source/HBIOS/Config/DYNO_std.asm index 7987f4f8..5e624139 100644 --- a/Source/HBIOS/Config/DYNO_std.asm +++ b/Source/HBIOS/Config/DYNO_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_DYNO.asm" diff --git a/Source/HBIOS/Config/EPITX_std.asm b/Source/HBIOS/Config/EPITX_std.asm index 60298311..8b6508f7 100644 --- a/Source/HBIOS/Config/EPITX_std.asm +++ b/Source/HBIOS/Config/EPITX_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Z180 MiniITX" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_EPITX.asm" diff --git a/Source/HBIOS/Config/FZ80_std.asm b/Source/HBIOS/Config/FZ80_std.asm index ace5d30b..3a53a496 100644 --- a/Source/HBIOS/Config/FZ80_std.asm +++ b/Source/HBIOS/Config/FZ80_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_FZ80.asm" diff --git a/Source/HBIOS/Config/GMZ180_std.asm b/Source/HBIOS/Config/GMZ180_std.asm index b3e8bbc0..b8760c0d 100644 --- a/Source/HBIOS/Config/GMZ180_std.asm +++ b/Source/HBIOS/Config/GMZ180_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "GM STD BUS Z180", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_GMZ180.asm" diff --git a/Source/HBIOS/Config/HEATH_std.asm b/Source/HBIOS/Config/HEATH_std.asm index f374a182..155e04c6 100644 --- a/Source/HBIOS/Config/HEATH_std.asm +++ b/Source/HBIOS/Config/HEATH_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_HEATH.asm" diff --git a/Source/HBIOS/Config/MBC_std.asm b/Source/HBIOS/Config/MBC_std.asm index 9729515f..5c1f089c 100644 --- a/Source/HBIOS/Config/MBC_std.asm +++ b/Source/HBIOS/Config/MBC_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_MBC.asm" diff --git a/Source/HBIOS/Config/MK4_std.asm b/Source/HBIOS/Config/MK4_std.asm index da9d4878..a481af8f 100644 --- a/Source/HBIOS/Config/MK4_std.asm +++ b/Source/HBIOS/Config/MK4_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_MK4.asm" diff --git a/Source/HBIOS/Config/MON_std.asm b/Source/HBIOS/Config/MON_std.asm index d43eaa14..38db6761 100644 --- a/Source/HBIOS/Config/MON_std.asm +++ b/Source/HBIOS/Config/MON_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_MON.asm" diff --git a/Source/HBIOS/Config/N8_std.asm b/Source/HBIOS/Config/N8_std.asm index c0fd651d..1c08cfbd 100644 --- a/Source/HBIOS/Config/N8_std.asm +++ b/Source/HBIOS/Config/N8_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_N8.asm" diff --git a/Source/HBIOS/Config/NABU_std.asm b/Source/HBIOS/Config/NABU_std.asm index 725c0c88..56e8ed0f 100644 --- a/Source/HBIOS/Config/NABU_std.asm +++ b/Source/HBIOS/Config/NABU_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_NABU.asm" diff --git a/Source/HBIOS/Config/RCEZ80_std.asm b/Source/HBIOS/Config/RCEZ80_std.asm index 607d065d..fe107ff6 100644 --- a/Source/HBIOS/Config/RCEZ80_std.asm +++ b/Source/HBIOS/Config/RCEZ80_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCEZ80.asm" diff --git a/Source/HBIOS/Config/RCZ180_ext_std.asm b/Source/HBIOS/Config/RCZ180_ext_std.asm index 8afa56dc..c6a9fa20 100644 --- a/Source/HBIOS/Config/RCZ180_ext_std.asm +++ b/Source/HBIOS/Config/RCZ180_ext_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ180.asm" diff --git a/Source/HBIOS/Config/RCZ180_nat_std.asm b/Source/HBIOS/Config/RCZ180_nat_std.asm index 29512d43..0f7b1285 100644 --- a/Source/HBIOS/Config/RCZ180_nat_std.asm +++ b/Source/HBIOS/Config/RCZ180_nat_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ180.asm" diff --git a/Source/HBIOS/Config/RCZ180_z1rcc_std.asm b/Source/HBIOS/Config/RCZ180_z1rcc_std.asm index c7e2aa4c..eea495da 100644 --- a/Source/HBIOS/Config/RCZ180_z1rcc_std.asm +++ b/Source/HBIOS/Config/RCZ180_z1rcc_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Z1RCC", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ180.asm" diff --git a/Source/HBIOS/Config/RCZ280_ext_std.asm b/Source/HBIOS/Config/RCZ280_ext_std.asm index 2f9ad9a8..93b8ceff 100644 --- a/Source/HBIOS/Config/RCZ280_ext_std.asm +++ b/Source/HBIOS/Config/RCZ280_ext_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ280.asm" diff --git a/Source/HBIOS/Config/RCZ280_nat_std.asm b/Source/HBIOS/Config/RCZ280_nat_std.asm index 2087ac35..358fd0fe 100644 --- a/Source/HBIOS/Config/RCZ280_nat_std.asm +++ b/Source/HBIOS/Config/RCZ280_nat_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ280.asm" diff --git a/Source/HBIOS/Config/RCZ280_zz80mb_std.asm b/Source/HBIOS/Config/RCZ280_zz80mb_std.asm index d28771b6..c69d1074 100644 --- a/Source/HBIOS/Config/RCZ280_zz80mb_std.asm +++ b/Source/HBIOS/Config/RCZ280_zz80mb_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "ZZ80MB", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ280.asm" diff --git a/Source/HBIOS/Config/RCZ280_zzrcc_ram_std.asm b/Source/HBIOS/Config/RCZ280_zzrcc_ram_std.asm index bf9e5349..14dd45d1 100644 --- a/Source/HBIOS/Config/RCZ280_zzrcc_ram_std.asm +++ b/Source/HBIOS/Config/RCZ280_zzrcc_ram_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "ZZRCC", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ280.asm" diff --git a/Source/HBIOS/Config/RCZ280_zzrcc_std.asm b/Source/HBIOS/Config/RCZ280_zzrcc_std.asm index 470f52c5..a8103aba 100644 --- a/Source/HBIOS/Config/RCZ280_zzrcc_std.asm +++ b/Source/HBIOS/Config/RCZ280_zzrcc_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "ZZRCC", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ280.asm" diff --git a/Source/HBIOS/Config/RCZ80_easy_std.asm b/Source/HBIOS/Config/RCZ80_easy_std.asm index 5c76fef7..8f6dae16 100644 --- a/Source/HBIOS/Config/RCZ80_easy_std.asm +++ b/Source/HBIOS/Config/RCZ80_easy_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Easy-Z80", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ80.asm" diff --git a/Source/HBIOS/Config/RCZ80_jbl_std.asm b/Source/HBIOS/Config/RCZ80_jbl_std.asm index 799b0cf4..d3f30efd 100644 --- a/Source/HBIOS/Config/RCZ80_jbl_std.asm +++ b/Source/HBIOS/Config/RCZ80_jbl_std.asm @@ -63,6 +63,7 @@ ; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE _XXX.ASM AND SPECIFY ; YOUR FILE IN THE BUILD PROCESS. ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "Config/RCZ80_std.asm" diff --git a/Source/HBIOS/Config/RCZ80_kio_std.asm b/Source/HBIOS/Config/RCZ80_kio_std.asm index 71a97d49..27feefe3 100644 --- a/Source/HBIOS/Config/RCZ80_kio_std.asm +++ b/Source/HBIOS/Config/RCZ80_kio_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "Config/RCZ80_std.asm" diff --git a/Source/HBIOS/Config/RCZ80_skz_std.asm b/Source/HBIOS/Config/RCZ80_skz_std.asm index 70f940f2..998bd6aa 100644 --- a/Source/HBIOS/Config/RCZ80_skz_std.asm +++ b/Source/HBIOS/Config/RCZ80_skz_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ80.asm" diff --git a/Source/HBIOS/Config/RCZ80_std.asm b/Source/HBIOS/Config/RCZ80_std.asm index 0ceb8ee1..36030a3d 100644 --- a/Source/HBIOS/Config/RCZ80_std.asm +++ b/Source/HBIOS/Config/RCZ80_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ80.asm" @@ -75,7 +76,7 @@ IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) ; PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) ; -SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80] SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY ; diff --git a/Source/HBIOS/Config/RCZ80_tiny_std.asm b/Source/HBIOS/Config/RCZ80_tiny_std.asm index 4e3f0a25..ad44c730 100644 --- a/Source/HBIOS/Config/RCZ80_tiny_std.asm +++ b/Source/HBIOS/Config/RCZ80_tiny_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Tiny-Z80", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ80.asm" diff --git a/Source/HBIOS/Config/RCZ80_user.asm b/Source/HBIOS/Config/RCZ80_user.asm index 1dd6ead7..3c6b38fc 100644 --- a/Source/HBIOS/Config/RCZ80_user.asm +++ b/Source/HBIOS/Config/RCZ80_user.asm @@ -48,6 +48,7 @@ ; 3. ENABLES LPT PRINTER SUPPORT ; #DEFINE PLATFORM_NAME "My Custom RCBus Computer", " [", CONFIG, "]" +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "Config/RCZ80_std.asm" ; INHERIT FROM OFFICIAL BUILD SETTINGS diff --git a/Source/HBIOS/Config/RCZ80_zrc512_std.asm b/Source/HBIOS/Config/RCZ80_zrc512_std.asm index 754200de..9e10e140 100644 --- a/Source/HBIOS/Config/RCZ80_zrc512_std.asm +++ b/Source/HBIOS/Config/RCZ80_zrc512_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "ZRC512", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ80.asm" diff --git a/Source/HBIOS/Config/RCZ80_zrc_ram_std.asm b/Source/HBIOS/Config/RCZ80_zrc_ram_std.asm index c92d08b1..cd66230e 100644 --- a/Source/HBIOS/Config/RCZ80_zrc_ram_std.asm +++ b/Source/HBIOS/Config/RCZ80_zrc_ram_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "ZRC", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ80.asm" diff --git a/Source/HBIOS/Config/RCZ80_zrc_std.asm b/Source/HBIOS/Config/RCZ80_zrc_std.asm index c382dcd5..a54a2d2e 100644 --- a/Source/HBIOS/Config/RCZ80_zrc_std.asm +++ b/Source/HBIOS/Config/RCZ80_zrc_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "ZRC", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RCZ80.asm" diff --git a/Source/HBIOS/Config/RPH_std.asm b/Source/HBIOS/Config/RPH_std.asm index 448aeddb..868938e4 100644 --- a/Source/HBIOS/Config/RPH_std.asm +++ b/Source/HBIOS/Config/RPH_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_RPH.asm" diff --git a/Source/HBIOS/Config/S100_std.asm b/Source/HBIOS/Config/S100_std.asm index 3ba8203c..7066f562 100644 --- a/Source/HBIOS/Config/S100_std.asm +++ b/Source/HBIOS/Config/S100_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_S100.asm" diff --git a/Source/HBIOS/Config/SBC_simh_std.asm b/Source/HBIOS/Config/SBC_simh_std.asm index 2c5b6624..81540a5a 100644 --- a/Source/HBIOS/Config/SBC_simh_std.asm +++ b/Source/HBIOS/Config/SBC_simh_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_SBC.asm" diff --git a/Source/HBIOS/Config/SBC_std.asm b/Source/HBIOS/Config/SBC_std.asm index 59bbfce7..6d64aedd 100644 --- a/Source/HBIOS/Config/SBC_std.asm +++ b/Source/HBIOS/Config/SBC_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_SBC.asm" diff --git a/Source/HBIOS/Config/SCZ180_sc126_std.asm b/Source/HBIOS/Config/SCZ180_sc126_std.asm index d3519ec3..ef81c1f0 100644 --- a/Source/HBIOS/Config/SCZ180_sc126_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc126_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Small Computer SC126", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_SCZ180.asm" diff --git a/Source/HBIOS/Config/SCZ180_sc130_std.asm b/Source/HBIOS/Config/SCZ180_sc130_std.asm index 7f2bc5e6..ea15c566 100644 --- a/Source/HBIOS/Config/SCZ180_sc130_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc130_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Small Computer SC130", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_SCZ180.asm" diff --git a/Source/HBIOS/Config/SCZ180_sc131_std.asm b/Source/HBIOS/Config/SCZ180_sc131_std.asm index 61615bec..6e17fb39 100644 --- a/Source/HBIOS/Config/SCZ180_sc131_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc131_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Small Computer SC131", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_SCZ180.asm" diff --git a/Source/HBIOS/Config/SCZ180_sc140_std.asm b/Source/HBIOS/Config/SCZ180_sc140_std.asm index 25757e15..7f88addf 100644 --- a/Source/HBIOS/Config/SCZ180_sc140_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc140_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Small Computer SC140", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_SCZ180.asm" diff --git a/Source/HBIOS/Config/SCZ180_sc503_std.asm b/Source/HBIOS/Config/SCZ180_sc503_std.asm index 42afcbe8..b09d31b7 100644 --- a/Source/HBIOS/Config/SCZ180_sc503_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc503_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Small Computer SC503", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_SCZ180.asm" diff --git a/Source/HBIOS/Config/SCZ180_sc700_std.asm b/Source/HBIOS/Config/SCZ180_sc700_std.asm index 011c6d87..d8b3d1cb 100644 --- a/Source/HBIOS/Config/SCZ180_sc700_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc700_std.asm @@ -44,6 +44,7 @@ ; #DEFINE PLATFORM_NAME "Small Computer SC700", " [", CONFIG, "]" ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_SCZ180.asm" diff --git a/Source/HBIOS/Config/UNA_std.asm b/Source/HBIOS/Config/UNA_std.asm index 43797b2b..204415d3 100644 --- a/Source/HBIOS/Config/UNA_std.asm +++ b/Source/HBIOS/Config/UNA_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_UNA.asm" diff --git a/Source/HBIOS/Config/Z80RETRO_std.asm b/Source/HBIOS/Config/Z80RETRO_std.asm index 939d32ba..0d9f76e2 100644 --- a/Source/HBIOS/Config/Z80RETRO_std.asm +++ b/Source/HBIOS/Config/Z80RETRO_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_Z80RETRO.asm" diff --git a/Source/HBIOS/Config/ZETA2_std.asm b/Source/HBIOS/Config/ZETA2_std.asm index 4e2fb627..06f71d09 100644 --- a/Source/HBIOS/Config/ZETA2_std.asm +++ b/Source/HBIOS/Config/ZETA2_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_ZETA2.asm" diff --git a/Source/HBIOS/Config/ZETA_std.asm b/Source/HBIOS/Config/ZETA_std.asm index 6bc5ab53..ffadadaa 100644 --- a/Source/HBIOS/Config/ZETA_std.asm +++ b/Source/HBIOS/Config/ZETA_std.asm @@ -42,6 +42,7 @@ ; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT ; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU". ; +#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE #DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED ; #INCLUDE "cfg_ZETA.asm" diff --git a/Source/HBIOS/romldr.asm b/Source/HBIOS/romldr.asm index b82a7e75..88e984cc 100644 --- a/Source/HBIOS/romldr.asm +++ b/Source/HBIOS/romldr.asm @@ -33,14 +33,10 @@ ; #include "std.asm" ; standard RomWBW constants ; -; BOOT_DEFAULT is deprecated and has been replaced by AUTO_CMD. In -; case someone has not yet made the switch, we define AUTO_CMD from -; BOOT_DEFAULT. +; If BOOT_DEFAULT is not defined, just define it to "H" for help. ; -#ifdef BOOT_DEFAULT - #ifndef AUTO_CMD - #define AUTO_CMD BOOT_DEFAULT - #endif +#ifndef BOOT_DEFAULT + #define BOOT_DEFAULT "H" #endif ; ; If AUTO_CMD is not defined, just define it as an empty string. @@ -53,6 +49,7 @@ bel .equ 7 ; ASCII bell bs .equ 8 ; ASCII backspace lf .equ 10 ; ASCII linefeed cr .equ 13 ; ASCII carriage return +esc .equ 27 ; ASCII escape del .equ 127 ; ASCII del/rubout ; cmdbuf .equ $80 ; cmd buf is in second half of page zero @@ -238,7 +235,7 @@ start2: call clrbuf ; zero fill the cmd buffer ; ;======================================================================= -; Front Panel Boot +; Front Panel Boot Setup ;======================================================================= ; #if ((BIOS == BIOS_WBW) & FPSW_ENABLE) @@ -267,7 +264,7 @@ nofp: #endif ; ;======================================================================= -; NVRAM Boot +; NVRAM Auto Boot Setup ;======================================================================= ; #if (BIOS == BIOS_WBW) @@ -300,18 +297,10 @@ nvrsw_auto: ; ;;;jp z,prompt ; Bypass ROM config auto cmd jr z,nonvrswitch ; Proceed to ROM config autoboot -; ; ld a,l ; the low order byte from SWITCHES and ABOOT_TIMEOUT ; Mask out the Timeout - ld b,a ; timeout to high order B.C byte -> x 256 - xor a - ld c,a ; and clear low order C byte - srl b ; Shift 2 right by 2 bits -> /4 - rr c - srl b - rr c ; BC should now contain timeout * 64 - ld (acmd_to),bc ; save auto cmd timeout 64ths of second + ld (acmd_to),a ; save auto cmd timeout in seconds ; call acmd_wait ; do autocmd wait processing call z,runnvr ; if Z set, process NVR switches @@ -321,60 +310,88 @@ nonvrswitch: ; no NVRAM switches found, or disabled, continue process from Build Config #endif ; -#if (BOOT_TIMEOUT != -1) ; -; BUILD CONFIGURATION +;======================================================================= +; ROM Configuration Auto Boot Setup +;======================================================================= ; - ; Initialize auto command timeout downcounter +#if (BOOT_TIMEOUT != -1) + ; Initialize auto command flag and timeout downcounter or $FF ; auto cmd active value ld (acmd_act),a ; set flag - ld bc,BOOT_TIMEOUT * 64 ; 1/64's of a second - ld (acmd_to),bc ; save auto cmd timeout + ld a,BOOT_TIMEOUT ; boot timeout in secs + ld (acmd_to),a ; save auto cmd timeout in seconds ; call acmd_wait ; do autocmd wait processing - call z,autocmd ; if Z set, to autocmd processing - jp prompt ; if we return, do normal loader prompt + call z,autocmd ; if Z set, do autocmd processing #endif +; + jp prompt ; interactive loader prompt ; ;======================================================================= ; Auto Command Wait Processing ;======================================================================= ; acmd_wait: + call nl2 ; formatting +; +acmd_wait0: ld hl,str_autoact1 ; message part 1 call pstr ; display it - ld bc,(acmd_to) ; get timeout - rl c ; seconds value to B - rl b - rl c - rl b - ld a,b ; move it to A + ld a,(acmd_to) ; remaining timeout in seconds call prtdecb ; display it ld hl,str_autoact2 ; message part 2 call pstr ; display it +; + ld a,64 ; 1/64 sub-seconds counter reload value + ld (acmd_to_64),a ; reload sub-seconds counter ; acmd_wait1: - ; wait for auto cmd timeout or user escape + ; check for user escape/enter call cst ; check for keyboard key jr z,acmd_wait2 ; no key, continue call cin ; get key - cp 27 ; escape key? + cp cr ; enter key? + jr z,acmd_wait_z ; if so, ret immed with Z set + cp esc ; escape key? jr nz,acmd_wait1 ; loop if not or $FF ; signal abort - ret ; and return + jr acmd_wait_z ; and return ; acmd_wait2: ; check for auto cmd timeout and handle if so - ld bc,(acmd_to) ; load timeout value - ld a,b ; test for - or c ; ... zero - ret z ; if so, ret with Z set - dec bc ; decrement - ld (acmd_to),bc ; resave it + ld a,(acmd_to) ; get seconds counter + or a ; test for zero + jr z,acmd_wait_z ; if done, ret with Z set +; + ld a,(acmd_to_64) ; get sub-seconds counter + dec a ; decrement counter + ld (acmd_to_64),a ; resave it + jr nz,acmd_wait3 ; skip over seconds down count +; + ld a,(acmd_to) ; get seconds counter + dec a ; decrement counter + ld (acmd_to),a ; resave it + jr acmd_wait0 ; and restart loop +; +acmd_wait3: ld de,976 ; 16us * 976 -> 1/64th of a second. call vdelay ; 15.6ms delay, 64 in 1 second jr acmd_wait1 ; loop ; +acmd_wait_z: + ; clear the downcounter message from screen, then return + push af ; save flags + ld a,13 ; start of line + call cout ; do it + ld a,' ' ; space char + ld b,60 ; send 60 of them +acmd_wait_z2: + call cout ; print space char + djnz acmd_wait_z2 ; loop till done + pop af ; restore flags + ret ; and return +; ;======================================================================= ; Boot Loader Prompt Processing ;======================================================================= @@ -522,10 +539,9 @@ concmd: ; autocmd: ; Copy autocmd string to buffer and process it - call nl2 ; formatting ld hl,str_autoboot ; auto command prefix call pstr ; show it - ld hl,acmd_buf ; auto cmd string + ld hl,acmd_buf ; auto cmd string call pstr ; display it ld hl,acmd_buf ; auto cmd string ld de,cmdbuf ; cmd buffer adr @@ -537,13 +553,23 @@ runcmd: ld de,cmdbuf ; point to start of buf call skipws ; skip whitespace or a ; check for null terminator - ret z ; if empty line, just bail out + ;;;ret z ; if empty line, just bail out + jr nz,runcmd0 ; if char, process cmd line +; + ; if empty cmd line, use default + ld hl,defcmd_buf ; def cmd string + ld de,cmdbuf ; cmd buffer adr + ld bc,defcmd_len ; auto cmd length + ldir ; copy to command line buffer + ld de,cmdbuf ; point to start of buf + call skipws ; skip whitespace + or a ; check for null terminator + ret z ; if empty line, bail out +; +runcmd0: ld a,(de) ; get character call upcase ; make upper case ; - ; Auto Command (probably) from NVR default Disk Boot - cp '~' ; We use the "~" char to signal, DISK - jp z,diskboot ; noting the - (bootunit) (bootslice) have inited. ; Attempt built-in commands cp 'H' ; H = display help jp z,help ; if so, do it @@ -623,21 +649,7 @@ fp_romboot: ld hl,fpapps ; rom apps cmd char list call addhla ; point to the right one ld a,(hl) ; get it -; - ; Attempt ROM application launch - ld ix,(ra_tbl_loc) ; point to start of ROM app tbl - ld c,a ; save command in C -fp_romboot1: - ld a,(ix+ra_conkey) ; get match char - and ~$80 ; clear "hidden entry" bit - cp c ; compare - jp z,romload ; if match, load it - ld de,ra_entsiz ; table entry size - add ix,de ; bump IX to next entry - ld a,(ix) ; check for end - or (ix+1) ; ... of table - jr nz,fp_romboot1 ; loop till done - ret ; no match, return + jp romboot ; do it ; fpapps .db "MBFPCZNU" ; @@ -746,21 +758,7 @@ nvrsw_disk: nvrsw_rom: ; Attempt ROM application launch ld a,l ; Load the ROM app selection to A - ; *** Below is duplicated from fp_romboot, but fp_romboot - ; is not always included. Need to clean this up someday. - ld ix,(ra_tbl_loc) ; point to start of ROM app tbl - ld c,a ; save command in C -nvrsw_rom1: - ld a,(ix+ra_conkey) ; get match char - and ~$80 ; clear "hidden entry" bit - cp c ; compare - jp z,romload ; if match, load it - ld de,ra_entsiz ; table entry size - add ix,de ; bump IX to next entry - ld a,(ix) ; check for end - or (ix+1) ; ... of table - jr nz,nvrsw_rom1 ; loop till done - ret ; no match, return + jp romboot ; do it ; #endif ; @@ -1119,6 +1117,28 @@ romload1: jp (hl) ; go ; ;======================================================================= +; Boot ROM Application +;======================================================================= +; +; Enter with ROM application menu selection (command) character in A +; +romboot: + call upcase ; force uppercase for matching + ld ix,(ra_tbl_loc) ; point to start of ROM app tbl + ld c,a ; save command char in C +romboot1: + ld a,(ix+ra_conkey) ; get match char + and ~$80 ; clear "hidden entry" bit + cp c ; compare + jp z,romload ; if match, load it + ld de,ra_entsiz ; table entry size + add ix,de ; bump IX to next entry + ld a,(ix) ; check for end + or (ix+1) ; ... of table + jr nz,romboot1 ; loop till done + ret ; no match, just return +; +;======================================================================= ; Boot disk unit/slice ;======================================================================= ; @@ -2434,12 +2454,12 @@ acmd_buf .text AUTO_CMD ; auto cmd string .db 0 acmd_len .equ $ - acmd_buf ; len of auto cmd acmd_act .dw $00 ; inactive by default - -#if (BOOT_TIMEOUT > 0) -acmd_to .dw BOOT_TIMEOUT * 64 ; auto cmd timeout (1/64's of sec) -#else -acmd_to .dw BOOT_TIMEOUT ; auto cmd timeout -1 DISABLE, 0 IMMEDIATE -#endif +acmd_to .db BOOT_TIMEOUT ; auto cmd timeout -1 DISABLE, 0 IMMEDIATE +acmd_to_64 .db 64 ; sub-second counter for acmd_to in 1/64s +; +defcmd_buf .text BOOT_DEFAULT ; default boot cmd + .db 0 +defcmd_len .equ $ - defcmd_buf ; len of def boot cmd ; ;======================================================================= ; Strings @@ -2447,9 +2467,9 @@ acmd_to .dw BOOT_TIMEOUT ; auto cmd timeout -1 DISABLE, 0 IMMEDIATE ; str_banner .db PLATFORM_NAME," Boot Loader",0 str_appboot .db " (App Boot)",0 -str_autoboot .db "AutoBoot: ",0 -str_autoact1 .db "\r\n\r\nAutoBoot in ",0 -str_autoact2 .db " Seconds ( aborts)...",0 +str_autoboot .db "\rAutoBoot: ",0 +str_autoact1 .db "\rAutoBoot in ",0 +str_autoact2 .db " Seconds ( aborts, now)... ",0 str_prompt .db "Boot [H=Help]: ",0 str_bs .db bs,' ',bs,0 str_reboot .db "\r\n\r\nRestarting System...",0 diff --git a/Source/ver.inc b/Source/ver.inc index 8e3f3304..eed2089d 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,7 +2,7 @@ #DEFINE RMN 5 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.5.0-dev.96" +#DEFINE BIOSVER "3.5.0-dev.97" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index 2962b246..adf5c697 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 5 rup equ 0 rtp equ 0 biosver macro - db "3.5.0-dev.96" + db "3.5.0-dev.97" endm