Commit Graph

72 Commits

Author SHA1 Message Date
Wayne Warthen
dab2408166 Fix RAM Disk Formatting w/ TMS System Timer
- The RAM Disk formatting function was writing to the screen inside of DI/EI bracketed code (not good).  This is now corrected.
2024-05-13 19:27:39 -07:00
Wayne Warthen
3f63c92fd5 HBIOS Cleaning
- 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.
-
2024-04-30 14:18:59 -07:00
Wayne Warthen
14cc41c3c4 Fix hd512 Layout
- Slice protection changes broke hd512 layout.  Fixed.
- Updated documentation for slice protection changes.
2023-10-07 19:01:36 -07:00
Wayne Warthen
0598d921bc Floppy Fix
- Recent change to device type id's broke floppy access.  This is corrected.
2023-10-07 16:01:09 -07:00
Wayne Warthen
93dcfe9610 Slice Protection, Issue #366
- 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.
2023-10-07 15:15:10 -07:00
Wayne Warthen
a157d9ba13 Device Type ID Reorganization
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.
2023-10-05 18:08:52 -07:00
Wayne Warthen
883dab7e97 ROMless Operation Overhaul
- Implement new approach to ROMless boot and operation.  Still missing the ability to seed the RAM disk.
- Tweaks to CH driver
2023-10-01 17:22:19 -07:00
Wayne Warthen
092e44c62e RPi Builds & CH375/6 Support
- 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.
2023-09-22 14:13:12 -07:00
Wayne Warthen
5457a7e7fd Improve OS Boot Drive Assignment
- 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.
2023-06-20 15:52:34 -07:00
Wayne Warthen
b7e865dbf1 Preliminary SyQuest Driver 2023-06-01 16:13:26 -07:00
Wayne Warthen
364e48a5d3 IMM Driver Cleanup, PPA Driver Skeleton
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.
2023-05-26 16:48:13 -07:00
Wayne Warthen
63cb89dcfc Preliminary IMM Driver (Zip Drive)
Thanks to Alan Cox for inspiring this.  Much of the code was usurped from Fuzix.
2023-05-23 18:35:18 -07:00
b1ackmai1er
e7ab778929 Slightly better handling of low HBIOS heap memory
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
2023-02-19 15:42:59 +08:00
Wayne Warthen
b82ff327cf CBIOS Fixes for UNA
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.
2022-06-26 16:54:46 -07:00
Wayne Warthen
982906757e Support QP/M TIMDAT Routine
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.
2022-06-02 13:05:42 -07:00
Wayne Warthen
0efd08539e Fix Interrupt Management in CBIOS Initialization
There was a path through CBIOS initialization where interrupts were left disabled.  This only became apparent in the new "romless" configuration.
2022-03-23 14:52:49 -07:00
Wayne Warthen
7549789248 Finalize ROM-Less Booting 2022-03-21 16:20:52 -07:00
Wayne Warthen
36b160f934 Minor Cosmetic Cleanup
Primarily fixed the Z280 config files to display the correct CPU speed in boot messages.
2022-02-18 16:36:14 -08:00
Wayne Warthen
ca67ee41c5 Fix CBIOS Bug
- 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.
2021-12-06 13:22:27 -08:00
Wayne Warthen
2e6122025d RAM Disk Auto-Format Improvements
- Detect the situation where the RAM disk area is all zeroes and handle it properly as uninitialized.
2021-10-27 15:06:24 -07:00
Wayne Warthen
1945c0f52d CBIOS default drive assignment cleanup
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.
2021-03-20 11:55:12 -07:00
Wayne Warthen
0053a840b7 Support ZZRCC 2021-03-07 16:21:49 -08:00
Wayne Warthen
e17fee85e9 Add Z180 Invalid Opcode Handler 2021-02-22 14:18:01 -08:00
Wayne Warthen
9e29236a0c Small Fixes
- Properly rerport HBIOS heap overflow in CBIOS
- Adjust write sequence in FFS for high speed operation
2020-12-22 16:41:29 -08:00
Wayne Warthen
717ce95500 XModem Port Specification
- 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.
2020-05-29 19:01:30 -07:00
Wayne Warthen
e5860f90c5 Cleanup 2020-05-25 16:52:21 -07:00
Wayne Warthen
d331fcbdef More Cleaning 2020-05-21 14:30:05 -07:00
Wayne Warthen
5c565f8c3e Miscellaneous
- CP/M 3 loader space improvement
- Minor doc update (thanks Radek)
- Preliminary diag level management
- Minor cosmetic bugs
2020-05-20 12:06:19 -07:00
Wayne Warthen
6afc56a7ca More system restart options 2020-05-15 16:25:31 -07:00
Wayne Warthen
84d206ced4 Misc. Cleanup
- Regenerate documentation
- Improve CP/M 3 drive assignment handling
- Fixed SYSCOPY issue with new partition handling
2020-05-12 13:32:06 -07:00
Wayne Warthen
df195ee75c ZPM3 Drive Map Fix
- Workaround to make ZPM3 consider all drives (A-P) valid so that subsequent drive ASSIGNments work properly.
2020-05-10 11:52:44 -07:00
Wayne Warthen
182dd322a5 Disk I/O Cleanup 2020-05-08 15:46:30 -07:00
Wayne Warthen
1859eb0310 Experimental partition support 2020-05-07 16:58:38 -07:00
Wayne Warthen
c4fae3c1dd Bug fixes
- Fixed build issue in cbios.asm
- Flow improvement in romldr.asm
2020-05-04 14:37:42 -07:00
Wayne Warthen
a1be614279 Cleanup 2020-05-04 13:34:36 -07:00
Wayne Warthen
ee0fac37f9 Early partition table support
Adding infrastructure for partition table support.  Backward compatible.  Not ready for end user usage yet.

Bumped version to 3.1.1 to demarcate this change.
2020-05-03 19:05:44 -07:00
Wayne Warthen
8b7c167592 Cleanup loader console assignment 2020-04-24 11:33:15 -07:00
Dean Netherton
74c7d865d7 Whitespace: trailing whitespaces 2020-04-21 16:37:29 +10:00
Wayne Warthen
621175533b Start v3.1 Development 2020-04-06 12:54:23 -07:00
Wayne Warthen
f11962ef8e Bug Fixes
- Init RAM disk at boot under CP/M 3
- Fix ACR activation in TUNE
2020-03-23 19:54:17 -07:00
Wayne Warthen
a8d2f3bd39 Minor Bug Fixes
- Disk assignment edge case
- CP/M 3 accidental fall thru
- Cosmetic updates
2020-03-15 13:45:32 -07:00
Wayne Warthen
d1abba5378 Fix CONSOLE Constant
Rename CIODEV_CONSOLE constant to CIO_CONSOLE because it is a unit code, not a device type code.

Retabify TastyBasic.
2020-03-15 09:44:15 -07:00
Wayne Warthen
2c2df76f15 Clean up
Make version include files common.
2020-03-06 14:23:55 -08:00
Wayne Warthen
4cc218a450 UNA Catchup
UNA support was lacking some of the more recent behavior changes.  This corrects most of it.
2020-02-28 15:26:13 -08:00
Wayne Warthen
5f07834b47 Misc. Cleanup 2020-02-27 18:40:20 -08:00
Wayne Warthen
bc9d44b476 Multi-boot fixes 2020-02-20 17:17:44 -08:00
b1ackmai1er
9452540c75 Update cbios.asm
Change RAMF to 512 directory entries as 4Mb drive space cannot be effectively used without   enough directory entries and extents to hold a large quantity of small files or a small qty of large files.
2020-02-14 23:32:48 +08:00
Wayne Warthen
d8bbb1e8ca Drive letter assignment enhancement
Drive letters are now only pre-assigned to hard disk type devices that have media inserted.  Media can still be inserted on-the-fly and drive letters assigned using ASSIGN.
2020-02-08 14:24:36 -08:00
Wayne Warthen
bd8d059f32 Cleanup 2019-11-17 21:31:07 -08:00
Wayne Warthen
dc6ecfd9e3 CP/M 3 Support in ASSIGN 2019-11-17 17:35:11 -08:00