- Modified TMS driver to always imbed an uncompressed font. This is because I have found no reasonable way to decompress a font while an OS is still active without mangling some of the OSes RAM.
- When an OS performs a reset operation, the HBIOS hook has been extended to automatically reset the video hardware of the CRT device (if it exists).
- This should go a long way toward fixing corrupt video after an application is run that reprograms the video hardware.
- An OS reset may or may not be performed when an application exits depending on the behavior of the application. So, if an application exits without initiating a reset, then the video will not be reset. Most applications that muck with the video chip directly will perform the reset at exit, so this is not normally an issue.
- If the OS encounters an error (such as drive not ready when doing a DIR), the error message may be erased by this new behavior depending on the specific scenario.
- The TMS reset function was missing a call to re-initialize the CRT registers. This has been added.
- The SN76489 powers up in a dreadful state where it is emitting loud noise until initialized. Added a PREINIT entry point to initialize the registers earlier. Still not great, but a lot better.
When using the Z2 memory manager, if the HBIOS exceeds 16K, RTCDEFVAL will not be accessible prior to programming the Z2 memory bank registers. In this corner case the RTC latch could be mis-programmed. This commit introduces a workaround.
- ACIA driver was not properly returning ZF to indicate if it handled an interrupt.
- APPBOOT was failing on ROMless systems because it was copying the HBIOS code overtop of itself.
- Fix ensures that the speaker control bit is set the same as it was initially after playing a tone.
- Reserve 2 bytes in the proxy for a platform dependent tick counter value. Currently for HEATH platform.
- Added support for Duodyne Multi-IO board
- Added support for Duodyne Zilog-IO board
- Added SUPCTS equate in hbios.asm to allow selectively adding code to suppress use of CTS during HBIOS boot
- Added reference in User Guide to Bruce Hall's Assembly Language Programming document
- Detect CTS at startup to ensure it is asserted. If not, disable hardware flow control to avoid stalling the console at boot. Only for UART driver because this is the only place it is currently relevant.
Driver Device Type ID's have been stored in the upper nibble. However, running out of ID's, I have changed them to occupy the entire byte.
This is a breaking change, so I have updated the minor version number to maintain integrity between components. So, v3.3 will never become a stable release and I am moving directly to v3.4.
- The build process was enhanced by Dean Jenkins to support the Raspberry Pi. Note that the Propeller firmware will not be generated by a RPi build. See Issue #358.
- Initial support for USB storage via CH375/6.
- 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.
Added a new driver category for DSKY (Display/Keypad) devices. Existing DSKY devices were converted into drivers ICM and PKD. These devices were previously DSKY and DSKYNG.
This removes substantial code duplication and recovers significant space in romldr and dbgmon.
- Modified the Disk Device function call (DIODEVICE) to provide new attributes related to disk size and removability.
- Leveraged API change to allow handling drive assignment differently depending on ATAPI vs. ATA interface.