Commit Graph

73 Commits

Author SHA1 Message Date
Wayne Warthen
e488aec54d Driver Init Processing Refactor
- Driver INIT call lists remvoed
- Added driver init phase dispatching
2026-01-07 14:43:45 -08:00
Wayne Warthen
ad2d3f3ac3 Disk Driver Code Cleaning
Some disk drivers still had internal code for multi-sector I/O.  With the read supervisors, this is no longer needed.  Removed the extraneous code from these drivers.
2025-11-01 16:46:23 -07:00
H.J.Berends
a4b8d14e3d Update PPIDE, added MSX BEER
Update PPIDE driver, added support for MSX BEER IDE interface
2025-09-29 12:53:29 +02:00
Wayne Warthen
b5f402554c Preliminary S100 Z80 CPU Support
Adds support for a general modular Z180-based S100 system.
2025-09-22 17:20:23 -07:00
Wayne Warthen
e4c55edc02 S100 2CF+1SD CF Interface Support
- Implemented for FZ80 and Z180 CPU boards.
- Base I/O for FZ80 is moved from $30 to $38 to avoid conflict with FZ80 built-in CF interface.
2025-08-06 17:17:56 -07:00
Wayne Warthen
5239eed0e8 DSKY Tweaks 2024-09-27 10:19:26 -07:00
Wayne Warthen
08a53f54d0 Refactor DSKY 2024-09-26 16:18:51 -07:00
Dean Netherton
38c25e50c2 Merge branch 'master' into dean-ez80-3 2024-09-15 14:40:23 +10:00
Wayne Warthen
2b6fbe7c58 HD44780 LCD Support 2024-08-27 15:34:44 -07:00
Dean Netherton
55d8c6ce7d ez80: ported ppide.asm driver 2024-08-02 16:52:26 +10:00
Wayne Warthen
83d26a4faf - Improve PPIDE Device Detection
- Some PPI chips were falsely detecting the presence of an IDE device.  Added code to preset PPI register with a value that avoids false positives.
2024-07-26 09:38:24 -07:00
Wayne Warthen
cdc2b3964d Remove Short IDE/PPIDE Timeout, Issue #397
The Microdrives behave slightly differently than either normal spinning drives or CF Cards.  This update removes the "short" timeout that is used in the IDE/PPIDE drivers which caused timeout issues for the Microdrives.

The short timeout was originally used to workaround excessive wait/stall during boot of some media.  I don't think it is necessary any more because of additional intelligence in the initialization routines.
2024-07-15 14:49:52 -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
ed53030de2 Extend IDE Reset Delay & Support Duodyne FDC
- The post-reset delay of both the IDE and PPIDE drivers has been extended.  The SD-IDE adapters need more time to initialize before being ready to behave as proper IDE devices.
- Added support for the FDC section of the Duodyne Disk-IO board.
2023-12-10 17:28:04 -08:00
Wayne Warthen
72cdbdd4ad Documentation Updates Inspired by Martin R
- Implemented a crude mechanism to output config settings during a build which can be imported into the User Guide appendix.
2023-11-29 18:54:51 -08:00
Wayne Warthen
f8c800e527 Create DSKY Driver Framework
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.
2023-06-28 15:06:53 -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
8747ec8d02 Clean-up of ATAPI Support
- Improved media handling and error reporting.
2023-06-13 17:02:13 -07:00
Wayne Warthen
abd939625f Support ATAPI in IDE and PPIDE Drivers
- 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.
2023-06-12 15:56:36 -07:00
Wayne Warthen
9f71fe05aa Cleanup IDE and PPIDE drivers
- The use of hardware reset has been improved such that it is generally only used at initial boot up.
- Minor improvements to CF card detection and initialization.
- Implement a simple wait mechanism to accommodate the startup time of the RC2014 SD Pico module.
- Front panel I/O port for SC series of systems has been moved to 0x00 which is consistent with all other systems and avoids some I/O conflicts.
2023-04-30 12:03:16 -07:00
Wayne Warthen
ad3c533145 Fix IDE Detection on Spinning Disks
Prior improvement to IDE device detection broke detection of spinning hard disks.  IDE registers cannot be used prior to device init completion (spin up).  Not a problem for CF, but special steps required to ensure devices are fully initialized before register testing.
2023-04-23 18:47:43 -07:00
Wayne Warthen
e43a939f54 Improve IDE Device Detection
Per issue #343, some systems could initially detect a non-existent IDE device which would cause a long time-out.  This should resolve the issue.
2023-04-21 17:08:18 -07:00
Wayne Warthen
cd161067db Update CF Card Detection
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.
2023-01-21 14:56:12 -08:00
Wayne Warthen
2271c086b5 Minor IDE/CF/SD Disk Handling Updates
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.
2023-01-04 16:24:31 -08:00
b1ackmai1er
e25107309b SYSCHK changes
Display the error code of syschk enabled
2022-11-06 10:17:28 +08:00
Wayne Warthen
9a503696c8 Improve CF Card Identification
Added additional CF Card signatures.  Credit to
Laszlo Szolnoki.
2022-07-02 19:25:06 -07:00
Wayne Warthen
e60bf088c9 DSKY Disk Activity Cleanup
- The DSKY(ng) can display disk I/O activity as the system runs.  This capability was implemented very erratically.  This update overhauls the mechanism, makes it consistent, and implements it across all disk drivers.
2021-07-13 17:11:35 -07:00
Wayne Warthen
d4a542150b DSKYng Support
- DSKYng now has same features as original DSKY including debug monitor
- Added support for MBS LEDs
- Elevated MBS to a platform instead of just a sub-config of SBC
2021-07-08 12:03:32 -07:00
Wayne Warthen
099a9331bf Miscellaneous
- Fixed Linux/MacOS build
- Fixed error reporting in some disk drivers
2021-05-12 18:01:44 -07:00
Wayne Warthen
9857dda5b5 Finish DEVICE API extension 2020-05-27 16:44:52 -07:00
Wayne Warthen
3f46921c6c Change PANIC behavior a bit
- Also includes a fix for a build issue in PPIDE identified by Richard Deane.
2020-05-18 15:33:28 -07:00
Wayne Warthen
7d022f709b CF Card compatibility improvement
Older CF Cards did not reset IDE registers to defaults values when reset.  Implemented a work around.
2020-04-18 15:19:10 -07:00
Wayne Warthen
1f6ef60599 IDE & PPIDE Cleanup 2020-03-06 11:36:17 -08:00
Wayne Warthen
382b5594f0 Support multiple devices in IDE driver 2020-02-11 17:01:55 -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
15d607d686 Further PPIDE updates 2020-02-07 11:47:16 -08:00
b1ackmai1er
336393aad6 Update ppide.asm 2020-02-06 04:19:16 +08:00
b1ackmai1er
5df54bc6fd PPIDE updates 2020-02-06 04:06:44 +08:00
b1ackmai1er
c3ef70efc0 Update ppide.asm
Optimization
2020-02-06 03:10:26 +08:00
b1ackmai1er
684a209c84 Update ppide.asm
Optimization
2020-02-06 01:45:12 +08:00
b1ackmai1er
8a1ddec0f0 Update ppide.asm
Optimization
2020-02-05 23:07:04 +08:00
b1ackmai1er
a96e8e9ef0 Update ppide.asm
Initial multi device ppide
2020-02-05 19:26:24 +08:00
b1ackmai1er
23d0061fb1 Fix Incorrect assembly vga buffer clear
Preliminary 80x60 format. Needs 8x8 font.
2020-01-12 01:41:20 +08:00
Wayne Warthen
3c8cd5219e Preliminary support for Dyno Computer
Dyno Computer is the work of Steve Garcia and much of the code checked in is based on his work.
2020-01-05 15:26:08 -08:00
Wayne Warthen
b856a1a529 Disk I/O to/from Banked Memory
Supports double-buffered disk i/o to read/write to/from any memory bank specified.

NOTE:  Disk I/O will be temporarily slower than normal because all I/O is being forced thru double-buffering for testing.
2019-09-03 15:12:56 -07:00
Wayne Warthen
6f712f4f01 Minor Updates 2018-12-24 14:39:47 -08:00
Wayne Warthen
92bdce5eb1 Small PPIDE Driver Fix
Remove use of IDE NOP command during probe.
2018-12-12 15:37:24 -08:00
Wayne Warthen
d7f68775ce Various Cleanup 2018-11-26 20:49:22 -08:00
Wayne Warthen
b09f30ed41 PPIDE Driver Fix
Fixed missing DRV/HD register setup for writes in PPIDE driver.
2018-05-03 12:39:51 -07:00
Wayne Warthen
768e41c933 New disk driver interface logic 2018-01-07 15:04:00 -08:00