- 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.
IMM Driver has rational timeouts now. It also lights the MG014 LED during activity.
The PPA skeleton just attempts to determine if the PPA interface is present. It does not attempt any I/O.
- Added ability to enable VGARC and front panel in default config without I/O conflicts (does **not** support having both types of hardware present at the same time).
- Fixed documentation error in issue #345 reported by @MorfeoMatrixx.
If serial hardware flow control is enabled, but not working, then a system will appear dead because it won't send any data to the host computer. This change suppresses hardware flow control during boot just to ensure that boot messages can make it to the serial console. This will only be effective for serial interfaces that support dynamic management of HFC.
Edge case where the CPU speed detection routine would overflow in a fast emulator and return a speed of 0.000 MHz. Modified to fail back to the default CPU speed from the config file if an overflow occurs.
- Revamped CTC detection algorithm hoping to handle problem XRBR is having
- Fixed typo in dynamic CPU speed test that caused it to not be properly recorded/reported (credit XRBR)
- Allow use of DEL/RUBOUT keys as backspace in ROM Loader and Debug Monitor
CBIOS reports *** HBIOS Heap Overflow, when the HBIOS is big (i.e. lots of included drivers)
Trigger build failure when CCP will not fit in heap.
Slightly more informative CBIOS error message
- Tweaks to SURVEY and PORTSWP to improve port detection accuracy and handle Z280 better
- Recover a **lot** of wasted space in dbgmon using a few built-in utility routines instead of entire util.asm
- Improve the (D)evice command in romldr to use the HBIOS routine which is much more complete and saves space
As suggested by Laszlo Szolnoki, I have added an additional CF Card signature to the IDE and PPIDE drivers. He also pointed out a deficiency in the disk size printing which has been addressed.
I got a very nice email from Eluan Miranda. He pointed out a few inconsistencies in the video and audio driver configurations. I made a few adjustments to clean things up.
Added a generic routine in HBIOS to play a beep sound on the first available sound device. Implemented the beep in the ANSI and TTY terminal emulators.
- Renamed Centronics driver from "CEN" to "LPT" based on input that LPT is the more recognized name for IBM compatible Centronics interfaces.
- Modified LPT hardware detection to be more generic (no longer depends on MBC-specific hardware implementation).
- Fix to CPU speed display for SBC v2 (004 and above) speed selection mechanism.
Some systems use terminal devices (Raspberry Pi, etc.) that take a few seconds to be ready to display console text. The BOOT_DELAY setting can be used to introduce an arbitrary delay (in seconds) in the boot process just prior to text output. This can be used to avoid missing some of the boot messages.
QP/M is a CP/M 2.2 replacement for BDOS/CCP. However, it adds it's own concept of date/time stamping. Support for the QP/M date/time routine has been added. You can configure QP/M to find the vector at address 0x0010.
A sidenote on QP/M. By default, it uses 2 bytes at address 0x0008 to store the current drive/user. This will conflict with RomWBW's use of RST 08 for API function calls. I recommend using address 0x000E when configuring QP/M for the location of the current drive/user.