The FONTS_INLINE equate controls whether the fonts are included in the HBIOS area as per existing behaviour or whether they are placed in the currently unused ROM bank 3.
In the case where we use bank 3 for font storage, the HBIOS is built with the font data located at 0x8000 onwards. The build process splits this off for relocation to the correct image position. Unlzsa, the TMS and VGA driver have been updated to access the font data from either location, whether compressed or not.
Moving the font data to bank 3 results in significant savings in HBIOS space.
If you are happy with this approach, I will continue developing and roll changes into other display drivers and do some hardware testing.
Further on, as mentioned, I would like to look see if i can get the decompressor to decompress one byte at a time and move the CCP cache to bank 3 as well.
Regards Phil
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.
The Monsputer was already omitted from the standard builds. It had almost no impact on the core code, so I have annotated some references to Monsputer as deprecated.
Resolved keyboard interrupt errors when a key is pressed during reboot. Turn off keyboard controller interrupt enable before cold boot process starts. I'm wondering if duodyne interrupt generator is immune to DI :)?
- I finally realized there was a much simpler way to setup the instance data pointer (IY) for the interrupt handler. This implements the change and reduces the complexity of the code.
- Related to PR #460
For keyboard interface on I/O Multi board. Default is disabled. Requires interrupt #2 jumper set on I/O Multiboard, which is pin 11-12 in P5. Has limitations around port settings. Do not have a video card on my Duo so have been forcing a video driver to load and testing with PIP CON:=UR2: . Let me know what you think.
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>.