- Added basic checks to verify boot image size is > 0 before attempting to load. Thanks and credit to @hubertushirsch. See Discussion #631.
Co-Authored-By: HubertH <51236138+hubertushirsch@users.noreply.github.com>
Some preliminary work on RomLdr to eventually support improved ROM content layout management.
- Allow ROM components to span banks.
- Refactor menu removing "L" option.
- @kiwisincebirth noticed some duplicative code in HBIOS related to warm starts. This has been refactored.
- A start mode code is now passed from HBIOS to RomLdr to indicate a warm or cold start. Device inventory now uses this code to display only on cold start.
As pointed out by @kiwisincebirth, my prior choice of the numeric 1 conflicts with booting to disk units. Changing the menu key to the letter 'O' this time.
Jörg Linder has disassembled and thoroughly commented a great deal of the BPBIOS binaries. This was an incredible amount of work. I have added all of these to the RomWBW build scripts and will ultimately integrate them more completely.
General cleanup and refactoring of the ROM bank layout mechanism in the build scripts. This will make it easier to add and adjust the components in the ROM banks.
This commit does not yet implement the pending bank layout changes. Those will be part of the next commit.
Thanks and credit to @skullandbones for pointing out multiple deficiencies in the console takeover algorithm. In this commit:
- All char units are flushed when a new RomLdr prompt is emitted.
- Intervening non-space characters will now prevent console takeover. Console takeover requires two consecutive space characters on the same character unit with no intervening non-space characters on the same unit or any intervening characters on an alternate unit.
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>.
- Add Z280 interrupt mode 3 to INTTEST app
- Make application boot handle restart by using HBIOS restart in place
- Resolve multiple issues with HBIOS restart in place
- Rearranged HBIOS code to improve colocation of related code.
- Implemented macros to improve control over assembly diagnostic output.
- Improved handling of diagnostic LEDs.
- Improved application boot bank management.
- Implemented application boot for Z280 systems.
- Moved Z280_BNKSEL into proxy.
-
Based on input from Martin R, the console takeover mechanism has been modified to require that the space bar be pressed twice in a row on the character unit desiring to be the console. This reduces the chance of a spurious console takeover due to garbage input on serial ports.
- If enabled by AUTOCON config setting, you can press <space> at any character device to take over the console at the boot loader prompt.
- Correction to SIOSEEK documentation in System Guide. Thanks and credit to Martin R.
- Updated S100 Monitor launch code to warn user if console will be directed to S100 bus vs. active on-board UART.
- Updated Duodyne early boot to add a delay to stabilize the boot process. This is temporary and needs to be further investigated.