restore support for SASI disk drive device - #1756
Merged
Merged
Conversation
rdmark
force-pushed
the
809-re-add-sasi-functionality
branch
from
August 23, 2026 13:19
095b1d5 to
3421c63
Compare
rdmark
force-pushed
the
809-re-add-sasi-functionality
branch
7 times, most recently
from
August 30, 2026 06:07
b9b76e7 to
b1516fb
Compare
Introduce a SASI controller and SAHD disk implementation alongside the existing SCSI path. Select the appropriate controller when attaching a device, prevent SASI and SCSI devices from sharing a target ID, and implement SASI-specific selection, message, status, timing, and LUN handling. Restore SAHD in the protocol and expose it consistently through the device factory, command-line client, configuration validation, web interface, drive profiles, and manual. Enforce the two-LUN limit for SASI targets wherever device definitions are created or parsed. Bring back handling of the hdf image format and map it to the SAHD device type. The hdf file ending is the established one for SASI raw disk images used in the X68000 emulation community, however it is a raw data format without any special header. Add focused C++ and Go coverage for SASI devices, controller selection, LUN validation, and web-facing behavior.
Port the X68000 SASI probe handling and completion-message behavior from the older RaSCSI SASI implementation. Borrow BlueSCSI v2-compatible Assign Disk Parameters (0xC2) handling: accept its six-byte CDB and consume the ten-byte parameter payload.
Restore the sasidump tool for dumping physical SASI hard disks to local file through piscsi GPIO. It has been slightly refactored to align with the current C++ coding standards.
common bus wait times are now defined in a central place, and passed to the Sleep() function
rdmark
force-pushed
the
809-re-add-sasi-functionality
branch
from
August 30, 2026 06:15
b1516fb to
7b5a402
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Introduce a SASI controller and SAHD disk implementation alongside the existing SCSI path. Select the appropriate controller when attaching a device, prevent SASI and SCSI devices from sharing a target ID, and implement SASI-specific selection, message, status, timing, and LUN handling. The implementation encodes a number of X68000 quirks ported from the old RaSCSI code as well as inspired by BlueSCSI v2.
Restore SAHD in the protocol and expose it consistently through the device factory, command-line client, configuration validation, web interface, drive profiles, and manual. Enforce the two-LUN limit for SASI targets wherever device definitions are created or parsed.
Bring back handling of the hdf image format and map it to the SAHD device type. The hdf file ending is the established one for SASI raw disk images used in the X68000 emulation community, however it is a raw data format without any special header.
Restore the sasidump tool for dumping physical SASI hard disks to local file through piscsi GPIO. It has been slightly refactored to align with the current C++ coding standards.
Add focused C++ and Go coverage for SASI devices, controller selection, LUN validation, and web-facing behavior.
the Sleep() function now takes a parameter: common bus wait times are now defined in a central place, and passed to the Sleep() function