Skip to content

restore support for SASI disk drive device - #1756

Merged
rdmark merged 5 commits into
developfrom
809-re-add-sasi-functionality
Aug 30, 2026
Merged

restore support for SASI disk drive device#1756
rdmark merged 5 commits into
developfrom
809-re-add-sasi-functionality

Conversation

@rdmark

@rdmark rdmark commented Aug 23, 2026

Copy link
Copy Markdown
Member

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

@rdmark
rdmark requested a review from akuker as a code owner August 23, 2026 12:48
@rdmark rdmark linked an issue Aug 23, 2026 that may be closed by this pull request
@rdmark
rdmark force-pushed the 809-re-add-sasi-functionality branch from 095b1d5 to 3421c63 Compare August 23, 2026 13:19
@rdmark rdmark mentioned this pull request Aug 23, 2026
@rdmark
rdmark force-pushed the 809-re-add-sasi-functionality branch 7 times, most recently from b9b76e7 to b1516fb Compare August 30, 2026 06:07
rdmark added 5 commits August 30, 2026 08:15
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
rdmark force-pushed the 809-re-add-sasi-functionality branch from b1516fb to 7b5a402 Compare August 30, 2026 06:15
@sonarqubecloud

Copy link
Copy Markdown

@rdmark
rdmark merged commit a0c3c41 into develop Aug 30, 2026
15 checks passed
@rdmark
rdmark deleted the 809-re-add-sasi-functionality branch August 30, 2026 06:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Re-add SASI Functionality

1 participant