atad: allow opting out of the DVRP workaround for clone adaptors - #914
Closed
LAP87 wants to merge 1 commit into
Closed
atad: allow opting out of the DVRP workaround for clone adaptors#914LAP87 wants to merge 1 commit into
LAP87 wants to merge 1 commit into
Conversation
The DVRP (PSX) workaround activates whenever SPD_CAPS_DVR is set. Widespread third-party/clone network adaptors (Spartan-3 FPGA + JM20330 bridge, sold as GameStar/SSPH-10350 and similar) assert that bit even though they are not DVRP-based and address 48-bit LBA correctly over PIO; the workaround then truncates their reported capacity to 28-bit LBA and large GPT drives are rejected outright. Add an ATA_DISABLE_DVRP_WORKAROUND build option so targets built specifically for such adaptors can opt out. Default behaviour is unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Aug 27, 2026
Member
|
Please try out #915 to see if it a solution to the issue |
Contributor
Author
|
Superseded by #915, whose runtime detection is now hardware-verified on a clone adapter (see the test report there) — a better solution than this build-time flag. Thanks @uyjulian! 🤖 Generated with Claude Code |
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.
The DVRP (PSX) workaround activates whenever
SPD_CAPS_DVRis set. The widespread third-party/clone network adaptors (Spartan-3XC3S50ANFPGA + JMicronJM20330bridge — sold as GameStar, SSPH-10350, BitFunx and similar) assert that bit even though they are not DVRP-based: verified on real hardware, they address 48-bit LBA correctly over PIO (READ SECTOR EXTat LBA0x10000000+ returns CRC-verified correct data). With the workaround active their reported capacity is truncated to 28-bit LBA and large GPT drives are rejected outright — this is the common "big drive not detected on a clone adapter" failure.This adds an
ATA_DISABLE_DVRP_WORKAROUNDbuild option (Makefile pattern matching the existingATA_GAMESTAR_WORKAROUND) so builds targeting such adaptors can opt out. Default behaviour is completely unchanged, and the comment block documents why the escape hatch exists.Runtime discrimination between a real DVRP and a clone asserting the bit would be nicer than a build flag; happy to iterate toward that if anyone with DESR hardware can help characterize a reliable probe. Measurements, boundary-test tooling and the full clone characterization live at https://github.com/LAP87/ps2-gamestar-pio.
🤖 Generated with Claude Code