Browse Source

Refactor RomLdr

During testing of the NVRAM Switch changes (#451), I found some pre-existing stuff I didn't like, so I have tried to clean things up.

- BOOT_DEFAULT has been replaced by AUTO_CMD
- There is no longer a "default" boot loader command when pressing <enter>.
pull/461/head
Wayne Warthen 1 year ago
parent
commit
9c51d56c6a
  1. 2
      Source/HBIOS/Config/DUO_std.asm
  2. 2
      Source/HBIOS/Config/DYNO_std.asm
  3. 2
      Source/HBIOS/Config/EPITX_std.asm
  4. 2
      Source/HBIOS/Config/FZ80_std.asm
  5. 2
      Source/HBIOS/Config/GMZ180_std.asm
  6. 2
      Source/HBIOS/Config/HEATH_std.asm
  7. 2
      Source/HBIOS/Config/MBC_std.asm
  8. 2
      Source/HBIOS/Config/MK4_std.asm
  9. 2
      Source/HBIOS/Config/MON_std.asm
  10. 2
      Source/HBIOS/Config/N8_std.asm
  11. 2
      Source/HBIOS/Config/NABU_std.asm
  12. 2
      Source/HBIOS/Config/RCEZ80_std.asm
  13. 2
      Source/HBIOS/Config/RCZ180_ext_std.asm
  14. 2
      Source/HBIOS/Config/RCZ180_nat_std.asm
  15. 2
      Source/HBIOS/Config/RCZ180_z1rcc_std.asm
  16. 2
      Source/HBIOS/Config/RCZ280_ext_std.asm
  17. 2
      Source/HBIOS/Config/RCZ280_nat_std.asm
  18. 2
      Source/HBIOS/Config/RCZ280_zz80mb_std.asm
  19. 2
      Source/HBIOS/Config/RCZ280_zzrcc_ram_std.asm
  20. 2
      Source/HBIOS/Config/RCZ280_zzrcc_std.asm
  21. 2
      Source/HBIOS/Config/RCZ80_easy_std.asm
  22. 2
      Source/HBIOS/Config/RCZ80_jbl_std.asm
  23. 2
      Source/HBIOS/Config/RCZ80_kio_std.asm
  24. 2
      Source/HBIOS/Config/RCZ80_skz_std.asm
  25. 4
      Source/HBIOS/Config/RCZ80_std.asm
  26. 2
      Source/HBIOS/Config/RCZ80_tiny_std.asm
  27. 2
      Source/HBIOS/Config/RCZ80_user.asm
  28. 2
      Source/HBIOS/Config/RCZ80_zrc512_std.asm
  29. 2
      Source/HBIOS/Config/RCZ80_zrc_ram_std.asm
  30. 2
      Source/HBIOS/Config/RCZ80_zrc_std.asm
  31. 2
      Source/HBIOS/Config/RPH_std.asm
  32. 2
      Source/HBIOS/Config/S100_std.asm
  33. 2
      Source/HBIOS/Config/SBC_simh_std.asm
  34. 2
      Source/HBIOS/Config/SBC_std.asm
  35. 2
      Source/HBIOS/Config/SCZ180_sc126_std.asm
  36. 2
      Source/HBIOS/Config/SCZ180_sc130_std.asm
  37. 2
      Source/HBIOS/Config/SCZ180_sc131_std.asm
  38. 2
      Source/HBIOS/Config/SCZ180_sc140_std.asm
  39. 2
      Source/HBIOS/Config/SCZ180_sc503_std.asm
  40. 2
      Source/HBIOS/Config/SCZ180_sc700_std.asm
  41. 2
      Source/HBIOS/Config/UNA_std.asm
  42. 2
      Source/HBIOS/Config/Z80RETRO_std.asm
  43. 2
      Source/HBIOS/Config/ZETA2_std.asm
  44. 2
      Source/HBIOS/Config/ZETA_std.asm
  45. 229
      Source/HBIOS/romldr.asm

2
Source/HBIOS/Config/DUO_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_DUO.asm"
;

2
Source/HBIOS/Config/DYNO_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_DYNO.asm"
;

2
Source/HBIOS/Config/EPITX_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Z180 MiniITX"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_EPITX.asm"
;

2
Source/HBIOS/Config/FZ80_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_FZ80.asm"
;

2
Source/HBIOS/Config/GMZ180_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "GM STD BUS Z180", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_GMZ180.asm"
;

2
Source/HBIOS/Config/HEATH_std.asm

@ -42,6 +42,6 @@
; ".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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_HEATH.asm"

2
Source/HBIOS/Config/MBC_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_MBC.asm"
;

2
Source/HBIOS/Config/MK4_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_MK4.asm"
;

2
Source/HBIOS/Config/MON_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_MON.asm"
;

2
Source/HBIOS/Config/N8_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_N8.asm"
;

2
Source/HBIOS/Config/NABU_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_NABU.asm"
;

2
Source/HBIOS/Config/RCEZ80_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCEZ80.asm"
;

2
Source/HBIOS/Config/RCZ180_ext_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ180.asm"
;

2
Source/HBIOS/Config/RCZ180_nat_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ180.asm"
;

2
Source/HBIOS/Config/RCZ180_z1rcc_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Z1RCC", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ180.asm"
;

2
Source/HBIOS/Config/RCZ280_ext_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ280.asm"
;

2
Source/HBIOS/Config/RCZ280_nat_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ280.asm"
;

2
Source/HBIOS/Config/RCZ280_zz80mb_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "ZZ80MB", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ280.asm"
;

2
Source/HBIOS/Config/RCZ280_zzrcc_ram_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "ZZRCC", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ280.asm"
;

2
Source/HBIOS/Config/RCZ280_zzrcc_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "ZZRCC", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ280.asm"
;

2
Source/HBIOS/Config/RCZ80_easy_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Easy-Z80", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ80.asm"
;

2
Source/HBIOS/Config/RCZ80_jbl_std.asm

@ -63,7 +63,7 @@
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
; YOUR FILE IN THE BUILD PROCESS.
;
#DEFINE BOOT_DEFAULT "Z" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "Config/RCZ80_std.asm"
;

2
Source/HBIOS/Config/RCZ80_kio_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "Config/RCZ80_std.asm"
;

2
Source/HBIOS/Config/RCZ80_skz_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ80.asm"
;

4
Source/HBIOS/Config/RCZ80_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ80.asm"
;
@ -75,7 +75,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 TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET FALSE ; 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
;

2
Source/HBIOS/Config/RCZ80_tiny_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Tiny-Z80", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ80.asm"
;

2
Source/HBIOS/Config/RCZ80_user.asm

@ -48,7 +48,7 @@
; 3. ENABLES LPT PRINTER SUPPORT
;
#DEFINE PLATFORM_NAME "My Custom RCBus Computer", " [", CONFIG, "]"
#DEFINE BOOT_DEFAULT "Z" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "Config/RCZ80_std.asm" ; INHERIT FROM OFFICIAL BUILD SETTINGS
;

2
Source/HBIOS/Config/RCZ80_zrc512_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "ZRC512", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ80.asm"
;

2
Source/HBIOS/Config/RCZ80_zrc_ram_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "ZRC", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ80.asm"
;

2
Source/HBIOS/Config/RCZ80_zrc_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "ZRC", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RCZ80.asm"
;

2
Source/HBIOS/Config/RPH_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_RPH.asm"
;

2
Source/HBIOS/Config/S100_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_S100.asm"
;

2
Source/HBIOS/Config/SBC_simh_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_SBC.asm"
;

2
Source/HBIOS/Config/SBC_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_SBC.asm"
;

2
Source/HBIOS/Config/SCZ180_sc126_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Small Computer SC126", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_SCZ180.asm"
;

2
Source/HBIOS/Config/SCZ180_sc130_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Small Computer SC130", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_SCZ180.asm"
;

2
Source/HBIOS/Config/SCZ180_sc131_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Small Computer SC131", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_SCZ180.asm"
;

2
Source/HBIOS/Config/SCZ180_sc140_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Small Computer SC140", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_SCZ180.asm"
;

2
Source/HBIOS/Config/SCZ180_sc503_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Small Computer SC503", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_SCZ180.asm"
;

2
Source/HBIOS/Config/SCZ180_sc700_std.asm

@ -44,7 +44,7 @@
;
#DEFINE PLATFORM_NAME "Small Computer SC700", " [", CONFIG, "]"
;
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_SCZ180.asm"
;

2
Source/HBIOS/Config/UNA_std.asm

@ -42,6 +42,6 @@
; ".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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_UNA.asm"

2
Source/HBIOS/Config/Z80RETRO_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_Z80RETRO.asm"
;

2
Source/HBIOS/Config/ZETA2_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_ZETA2.asm"
;

2
Source/HBIOS/Config/ZETA_std.asm

@ -42,7 +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 ON <CR> OR AUTO BOOT
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "cfg_ZETA.asm"
;

229
Source/HBIOS/romldr.asm

@ -33,8 +33,20 @@
;
#include "std.asm" ; standard RomWBW constants
;
#ifndef BOOT_DEFAULT
#define BOOT_DEFAULT "H"
; 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.
;
#ifdef BOOT_DEFAULT
#ifndef AUTO_CMD
#define AUTO_CMD BOOT_DEFAULT
#endif
#endif
;
; If AUTO_CMD is not defined, just define it as an empty string.
;
#ifndef AUTO_CMD
#define AUTO_CMD ""
#endif
;
bel .equ 7 ; ASCII bell
@ -213,7 +225,7 @@ start2:
;
;=======================================================================
; Loader prompt
; Boot Loader Banner
;=======================================================================
;
call nl2 ; formatting
@ -225,6 +237,10 @@ start2:
call z,pstr ; print if APP boot
call clrbuf ; zero fill the cmd buffer
;
;=======================================================================
; Front Panel Boot
;=======================================================================
;
#if ((BIOS == BIOS_WBW) & FPSW_ENABLE)
;
ld b,BF_SYSGET ; HBIOS SysGet
@ -243,6 +259,7 @@ start2:
ld a,(switches) ; get switches value
and SW_AUTO ; auto boot?
call nz,runfp ; process front panel
jp nz,prompt ; on failure, restart at prompt
;
nofp:
; fall thru
@ -250,20 +267,19 @@ nofp:
#endif
;
;=======================================================================
; INITIALISE BOOT PROMPT (acmd_*) FROM CONFIG
; NVRAM Boot
;=======================================================================
#if (BIOS == BIOS_WBW)
;
; NVRAM AUTO BOOT CONFIGURATION
#if (BIOS == BIOS_WBW)
;
nvrswitch:
ld bc,BC_SYSGET_SWITCH ; HBIOS SysGet NVRAM Switches
ld d,$FF ; get NVR Status - Is NVRam initialised
rst 08
cp 'W' ; is NV RAM fully inited.
jr NZ,nonvrswitch ; NOT So - Skip the int from nvram
nvrsw_def:
jr nz,nonvrswitch ; NOT So - Skip the int from nvram
;
nvrsw_def:
call nl ; display message to indicate switches found
ld hl,str_nvswitches
call pstr
@ -275,18 +291,16 @@ nvrsw_auto:
ld a,l
and ABOOT_AUTO ; Get the autoboot flag
;
; At this point, we know that NVR is valid and we have tested the
; ABOOT_AUTO bit. Branching to "prompt" will bypass ROM config
; autoboot settings. Branching to "nonvrswitch" will proceed with
; ROM config autoboot settings. I have not decided which makes more
; sense. For now, we branch to nonvrswitch because it makes
; my testing easier. :-)
; At this point, we know that NVR is valid and the ABOOT_AUTO bit has
; been tested. If ABOOT_AUTO is not set, we can either go directly to
; Boot Loader command prompt (prompt) or try to process ROM config
; auto command line (nonvrswitch). I have not decided what is
; best yet. For now, we process ROM autoboot because it
; makes my testing easier. :-)
;
;;;jr z,prompt ; not set, so directly prompt
jr z,nonvrswitch ; not set, proceed to ROM config
;;;jp z,prompt ; Bypass ROM config auto cmd
jr z,nonvrswitch ; Proceed to ROM config autoboot
;
or $FF ; auto cmd active value
ld (acmd_act),a ; set the auto command active flag
;
ld a,l ; the low order byte from SWITCHES
and ABOOT_TIMEOUT ; Mask out the Timeout
@ -299,27 +313,9 @@ nvrsw_auto:
rr c ; BC should now contain timeout * 64
ld (acmd_to),bc ; save auto cmd timeout 64ths of second
;
ld bc,BC_SYSGET_SWITCH ; HBIOS SysGet NVRAM Switches
ld d,NVSW_DEFBOOT ; Read Default Boot (disk/Rom) switch
rst 08
ld a,h
and DBOOT_ROM ; Get the Default Boot from ROM Flag
jr nz,nvrsw_rom ; IF Set as ROM App BOOT, otherwise Disk
;
nvrsw_disk:
ld a,h ; (H contains the Disk Unit 0-127)
ld (bootunit),a ; copy the NVRam Unit and Slice
ld a,l ; (L contains the boot slice 0-255)
ld (bootslice),a ; directly into the selected boot
ld l,'~' ; We use the "~" char to signal, DISK BOOT
; ; setting it a the auto cmd (string/char)
nvrsw_rom:
ld h,0 ; Clear high order byte, leaving L intact
ld (acmd),hl ; Load the Character into auto command
; ; Thus (acma) = L (the boot character)
; ; (acma+1) = H=0 (string terminator)
;
jr initautoboot ; init auto boot from NVRAM, ignore Build Config
call acmd_wait ; do autocmd wait processing
call z,runnvr ; if Z set, process NVR switches
jp prompt ; if we return, do normal loader prompt
;
nonvrswitch:
; no NVRAM switches found, or disabled, continue process from Build Config
@ -334,33 +330,17 @@ nonvrswitch:
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
; fall through and initialise Auto boot.
#endif
;
;=======================================================================
; INIT AUTO BOOT - If autoboot was detected.
;=======================================================================
;
initautoboot:
; If timeout is zero, boot auto command immediately
ld a,b ; check for
or c ; ... zero
jr nz,prompt ; not zero, prompt w/ timeout
call nl2 ; formatting
ld hl,str_autoboot ; auto command prefix
call pstr ; show it
call autocmd ; handle w/o prompt
jp reprompt ; restart w/ autocmd disable
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
#endif
;
;=======================================================================
; BOOT PROMPT
; Auto Command Wait Processing
;=======================================================================
;
prompt:
; if autoboot is active, notify user as a reminder
ld a,(acmd_act) ; get auto cmd active flag
or a ; active?
jr z,prompt2 ; bypass message if not active
acmd_wait:
ld hl,str_autoact1 ; message part 1
call pstr ; display it
ld bc,(acmd_to) ; get timeout
@ -373,9 +353,36 @@ prompt:
ld hl,str_autoact2 ; message part 2
call pstr ; display it
;
prompt2:
ld hl,reprompt ; adr of prompt restart routine
push hl ; put it on stack
acmd_wait1:
; wait for auto cmd timeout or user escape
call cst ; check for keyboard key
jr z,acmd_wait2 ; no key, continue
call cin ; get key
cp 27 ; escape key?
jr nz,acmd_wait1 ; loop if not
or $FF ; signal abort
ret ; 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 de,976 ; 16us * 976 -> 1/64th of a second.
call vdelay ; 15.6ms delay, 64 in 1 second
jr acmd_wait1 ; loop
;
;=======================================================================
; Boot Loader Prompt Processing
;=======================================================================
;
prompt:
ld hl,prompt ; restart address is here
push hl ; preset stack
;
call nl2 ; formatting
ld hl,str_prompt ; display boot prompt "Boot [H=Help]:"
call pstr ; do it
@ -422,27 +429,9 @@ wtkey:
jp nz,docon ; if requested, takeover
#endif
#endif
;
; check for timeout and handle auto boot here
ld a,(acmd_act) ; get auto cmd active flag
or a ; set flags
jr z,wtkey ; if not active, just loop
ld bc,(acmd_to) ; load timeout value
ld a,b ; test for
or c ; ... zero
jr z,autocmd ; if so, handle it
dec bc ; decrement
ld (acmd_to),bc ; resave it
ld de,976 ; 16us * 976 -> 1/64th of a second.
call vdelay ; 15.6ms delay, 64 in 1 second
;
jr wtkey ; loop
;
reprompt:
xor a ; zero accum
ld (acmd_act),a ; set auto cmd inactive
jp prompt ; back to loader prompt
;
clrbuf:
ld hl,cmdbuf
ld b,bufsiz
@ -530,23 +519,21 @@ concmd:
call rdln ; get a line from the user
ld de,cmdbuf ; point to buffer
jr runcmd ; process command
;;;call skipws ; skip whitespace
;;;or a ; set flags to check for null
;;;jr nz,runcmd ; got a cmd, process it
;;;; if no cmd entered, fall thru to process default cmd
;
autocmd:
; Copy autocmd string to buffer and process it
ld hl,acmd ; auto cmd string
call nl2 ; formatting
ld hl,str_autoboot ; auto command prefix
call pstr ; show it
ld hl,acmd_buf ; auto cmd string
call pstr ; display it
ld hl,acmd ; auto cmd string
ld hl,acmd_buf ; auto cmd string
ld de,cmdbuf ; cmd buffer adr
ld bc,acmd_len ; auto cmd length
ldir ; copy to command line buffer
;
runcmd:
; Process command line
;
ld de,cmdbuf ; point to start of buf
call skipws ; skip whitespace
or a ; check for null terminator
@ -735,6 +722,48 @@ fp_flopboot2:
;
#endif
;
#if (BIOS == BIOS_WBW)
;
;=======================================================================
; Process NVR Switches
;=======================================================================
;
runnvr:
ld bc,BC_SYSGET_SWITCH ; HBIOS SysGet NVRAM Switches
ld d,NVSW_DEFBOOT ; Read Default Boot (disk/Rom) switch
rst 08
ld a,h
and DBOOT_ROM ; Get the Default Boot from ROM Flag
jr nz,nvrsw_rom ; IF Set as ROM App BOOT, otherwise Disk
;
nvrsw_disk:
ld a,h ; (H contains the Disk Unit 0-127)
ld (bootunit),a ; copy the NVRam Unit and Slice
ld a,l ; (L contains the boot slice 0-255)
ld (bootslice),a ; directly into the selected boot
jp diskboot ; do it
;
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
;
#endif
;
;=======================================================================
; Process a DSKY command from key in A
;=======================================================================
@ -2401,9 +2430,9 @@ str_err_api .db "Unexpected hardware BIOS API failure",0
; Working data storage (initialized)
;=======================================================================
;
acmd .db BOOT_DEFAULT ; auto cmd string
acmd_buf .text AUTO_CMD ; auto cmd string
.db 0
acmd_len .equ $ - acmd ; len of auto cmd
acmd_len .equ $ - acmd_buf ; len of auto cmd
acmd_act .dw $00 ; inactive by default
#if (BOOT_TIMEOUT > 0)
@ -2420,7 +2449,7 @@ 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...",0
str_autoact2 .db " Seconds (<esc> aborts)...",0
str_prompt .db "Boot [H=Help]: ",0
str_bs .db bs,' ',bs,0
str_reboot .db "\r\n\r\nRestarting System...",0
@ -2451,22 +2480,6 @@ str_help .db "\r\n"
#endif
.db "\r\n <u>[.<s>] - Boot Disk Unit/Slice"
.db 0
;;;;
;;;#if (DSKYENABLE)
;;; #if (GM7303ENABLE)
;;; ; The GM7303 has an ASCII LCD display
;;;msg_sel .db "Boot?", $00
;;;msg_boot .db "Boot...", $00
;;;msg_load .db "Load...", $00
;;;msg_go .db "Go...", $00
;;; #else
;;; ; Other DSKY devices use 7 segment LEDs
;;;msg_sel .db $7f,$5c,$5c,$78,$53,$00,$00,$00 ; "boot? "
;;;msg_boot .db $7f,$5c,$5c,$78,$80,$80,$80,$00 ; "boot... "
;;;msg_load .db $38,$5c,$5f,$5e,$80,$80,$80,$00 ; "load... "
;;;msg_go .db $3d,$5c,$80,$80,$80,$00,$00,$00 ; "go... "
;;; #endif
;;;#endif
;
;=======================================================================
; DSKY keypad led matrix masks

Loading…
Cancel
Save