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
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.
- Per Mark Pruden, corrected NZCOM user area specification for CP/M 2.2 files.
- Added some DRI files to CP/M 3 that are documented in the CP/M 3 documentation (LIB, LINK, MAC, RMAC, XREF). They are duplicated in CP/M 2.2 image, so this should be reviewed at some point.
- Added XREF to CP/M 2 disk image for consistency with CP/M 3.
- Updated Catalog.md per Mark Pruden to eliminate obsolete column from table.
* Moved DIOMED_MID variable - so it would be overwritten at start of main Calculation
* Removed code in SYS_GETDIOMED1A - since SYS_GETDIOMED6A did exactly this anyway
* Removed code that set MID_HD - since it would now already be set.
The delay function is delegated to the on-chip ROM.
The on-chip ROM uses a programmable reload timer that is calibrated for a range of
CPU frequencies and wait states.
The Z280 Interrupt Vector Table must be gin on a 4K boundary. Recent HBIOS changes caused it's location to result in a very large slack space. This update moves the Z280 IVT to a more memory efficient location.
- Support HEATH MSX Graphics card in HBIOS
- Support HEATH MSX Graphics card in TUNE app
- Startup HEATH at 8MHz to ensure hardware compatibility/detection
- Added RCEZ80 platform option to Build.ps1
- Added EZ80 config settings to MASTER config (required to get build to work for some situations)
- Modified a .EQU in cfg_RCEZ80.asm to a .SET. After adding config setting to MASTER config, the .EQU was causing a redefinition error.
- I have temporarily removed some "TRANSLATE" lines in ez80uart.asm. They were attempting to place a value greater that 0xFFFF in a register and generated an assembly error.
- Modified a few JR instructions in hbios.asm to JP due to out-of-range errors.
- Modified std.asm to "nest" a conditional. The Windows assembler does not ignore the remainder of a complex conditional when it should.
- Modified tms.asm to replace the PRTS macro with alternative lines. The Windows assembler cannot handle a string longer than about 8 characters in a macro argument.
- Added the TIMER utility to the ROM disk. Not sure what happened there. It was included in the Windows build, but not the Linux build. There is room for it, so I added it to the Linux build to get a binary exact build compare.