FAT application had not been updated to reflect a change in the HBIOS Disk Device API call return data. This is corrected in this check-in. Related discussion in #368.
- 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.
- The naming of ZZRCC was incorrectly ZZRC. Corrected.
- Max Scane has provided a small bug fix for CLRDIR.
- Minor build updates for new HTalk utility.
- Dean Jenkins has motivated me to implement additional protection from using a slice that does not fit within the capacity of the physical disk being used. You can still assign an unusable slice, but when you try to refer to it, you will immediately get a "no disk" error from the OS.
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.
The QPM portion of the build has been updated to dynamically combine the current CBIOS with the static QPM CCP and BDOS binaries. This will keep the QPM system image up to date and avoid HBIOS version mismatch warnings.
- Based on reports from Martin R, the FDC detection algorithm has been updated to try reading the FDC MSR register twice to try and get the desired value of 0x80.
- Dan Werner's ESP board for Duodyne is working well, so the default Duodyne config has been changed to automatically detect this board.
Credit to Martin R for reporting that his FDC was not being detected. The delay between FDC status register reads was increased in the detection routine to correct this.
- 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.
- Support is limited to 512 byte sectors. So, devices such as ATAPI Zip Drives will work. CD-ROM devices will not because they use a larger sector size.
- Added WDATE command courtesy Kevin Boone. See https://github.com/kevinboone/wdate-cpm for more information.
- Final cleanup of PPA/IMM/SYQ drivers including CPU speed compensated timeouts.