Skip to content

Pin pre-rewrite USB IRX for WoC USB regression (#1751) - #1752

Open
horizonends wants to merge 1 commit into
ps2homebrew:masterfrom
horizonends:pin-usb-irx-1751
Open

Pin pre-rewrite USB IRX for WoC USB regression (#1751)#1752
horizonends wants to merge 1 commit into
ps2homebrew:masterfrom
horizonends:pin-usb-irx-1751

Conversation

@horizonends

@horizonends horizonends commented Jul 27, 2026

Copy link
Copy Markdown

Summary

  • Vendors pre-2024-09-04 usbd_mini / usbmass_bd IRX (ps2sdk @2dc6b32f, before b1f7ff96 USBD rewrite) under modules/usb-vendor/
  • Points Makefile bin2c rules at those IRX instead of current SDK modules
  • Allows the vendored IRX in .gitignore

Fixes Crash Bandicoot: Wrath of Cortex over USB (multi-minute load → black screen on play). Stock Beta-2245 broken; Beta-2245 + this pin confirmed working on hardware. See #1751.

Isolation (later hardware)

Build usbd usbmass WoC USB
stock modern new new fail
this PR (full pin) old old works
hybrid old new works

Regression is in modern USBD alone. Pinning only usbd_mini is sufficient; this PR’s full pin (usbd + usbmass) remains a valid conservative option.

Upstream

Temporary OPL-side pin until ps2sdk USBD is fixed properly.

Test plan

  • Hardware: WoC USB on PAL slim with Beta-2245 + this pin → ~10s load, playable
  • Hardware: old usbd + modern usbmass (hybrid) also playable
  • CI build
  • Spot-check other USB titles still launch

Crash Bandicoot: Wrath of Cortex fails on USB with post-2024-09-04
ps2sdk USBD (slow load, then black screen). Pin usbd_mini and
usbmass_bd_mini from ps2sdk @2dc6b32f (before b1f7ff96) until the
new USBD is fixed upstream.

Hardware: Beta-2245 + these IRX works; stock 2245 does not.
@horizonends

Copy link
Copy Markdown
Author

Note: this is offered as a confirmed workaround / reference, not necessarily something expected to merge as-is.

Pinning old USB IRX in OPL is a stopgap — the lasting fix belongs in ps2sdk USBD (post-b1f7ff96). Happy to close this if maintainers prefer tracking only on #1751 / a ps2sdk issue.

@horizonends

Copy link
Copy Markdown
Author

Tracking real fix on ps2sdk: ps2dev/ps2sdk#908

@horizonends

Copy link
Copy Markdown
Author

Status (2026-08-07)

Hardware still confirms this pin fixes WoC USB on modern OPL.

Further isolation: old usbd + modern usbmass also works — so pinning usbd_mini alone is sufficient; keeping both old IRX (as this PR does) remains a valid conservative option.

ps2sdk chase: ps2dev/ps2sdk#908. Many FreeUsbd-vs-rewrite A/Bs were tried; none fix the post-cutscene black screen. hcdfix only speeds the menu. Until USBD is fixed upstream, this OPL pin is still the practical workaround.

Details / dead list: #1751 (latest comment) and the ps2sdk issue.

@horizonends

Copy link
Copy Markdown
Author

Upstream candidate so this pin can be dropped later: ps2dev/ps2sdk#911 (usbd_mini → FreeUsbd; full usbd rewrite unchanged).

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.

1 participant