In the IDE and PPIDE drivers, a CF Card is differentiated from a Hard Disk using the first word of the result of the IDENTIFY DEVICE command. The value 0x045A was recently added because it was seen from a CF<->SD Card adapter. However, the value has now been seen from a spinning hard disk. Since the value is ambiguous and not defined in the CF Card specs, I am removing it from the list of CF Card signatures.
Credit to Mark Elkin for identifying this and helping me track it down.
Added configuration setting VDAEMU_SERKBD which can be used to specify any serial unit # to be used as the keyboard for the video terminal. Default value is $FF which means to use the default hardware keyboard. All other values mean that terminal input is to come from corresponding serial unit #.
Also a couple more tweaks to the p-System boot volume.
A full implementation of UCSD p-System IV.0 for RomWBW. Derived from the official Z80 Adaptable p-System.
My first real programming was on this system. So many memories...
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.
- Update MFPIC related I/O ports from $4x to $1x. The default base address was changed to avoid conflicting with the default I/O range of $40-$7F on ECB Z180 boards.
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.
Development in the dev branch on CBIOS had broken basic UNA functionality. These fixes seem to correct the problems. A full regression test of UNA has **not** yet been performed.
- 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.
- PS2INFO now provides a small startup menu to select either MBC or RHYOPHYRE (needs to be expanded to other platforms).
- Battery condition testing enabled by default in RHYOPHYRE.
- Z180 system timer enabled by default in RHYOPHYRE.
- Default ACR in RHYOPHYRE now turns on the status LED to indicate hardware is alive early in boot process.
- Add hardware detect and initialization code to Centronics driver.
- Fix .gitignore to reflect subdirectory name changes under Tools/cpm/.
- Bump version number in TUNE to reflect Dan's changes.
- Detect Centronics hardware in MBC configuration by default.
- Improved ASSIGN operation under CP/M 3 to better handle BIOS function invocations
- Added 2PIOTST for testing the DUALPIO MBC board
- Increased default RAM drive size for ZRC
- Fixed the ROM VERIFY functionality on Z280. It was indicating errors incorrectly.
- Revised the way that ZZRCC is built to remove a bunch of complexity that was causing issues. An implication of this is that ZZRCC now treats the data loaded from the CF Card as a ROM disk instead of a RAM disk.
- Updated the assemblers to handle some more Z280 instructions used in HBIOS.
- When building ZZRCC, checks have been added to ensure the ROM image is exactly 256K. The build defaults to 512K and that causes the ZZRCC disk image to be corrupted. This will stop the build if the user fails to specify a 256K ROM size.
The Z280 interbank memory copy uses DMA and did not properly handle scenarios where the source or destination memory range crossed over the banked/common memory boundary. It added a bunch of code, but it is fixed now. This seems to be required by CP/M 3.
- Fix build under Windows (credit to Dean Netherton for finding this).
- Fix ReadMe.md file format to remove superfluous junk at top.
- Improve RAM size detection (work in progress, not part of normal build).
- Added KBDINFO which dumps low level info about keyboards.
- Updated KBDTEST and VDCTEST to put the keyboard controller into translation mode which is what these programs were intended to use.
- Add kbdtest, cvdtest, and cvdonly test programs. They apply to MBC platform only.
- Display more boot info in CVDU and KBD drivers.
- Separate floppy and hard disk content definition files.