CBIOS was assuming that the "FD" floppy driver was the only floppy driver. This change properly recognizes any driver that indicates it is a floppy driver.
- Rearranged HBIOS code to improve colocation of related code.
- Implemented macros to improve control over assembly diagnostic output.
- Improved handling of diagnostic LEDs.
- Improved application boot bank management.
- Implemented application boot for Z280 systems.
- Moved Z280_BNKSEL into proxy.
-
- 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.
- 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.
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
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.
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.
- Corrects the dynamic disk buffer allocation routine in CBIOS and ASSIGN.COM. They had the DPB assignments inverted causing slightly wrong buffer allocations for RAM and ROM disks.
Credit to Andrew Lynch for discovering this issue.
Improved the way that the default drive is assigned in the scenario where you are booting to a ROM-based OS. This should allow removal of either the RAM drive or the ROM drive without causing unexpected consequences.
- You can now specify an HBIOS Character Unit number on the XM.COM command line. Currently only available in XMX.COM.
- Add version check in CBIOS to warn user if CBIOS and HBIOS versions do not match.