-
Notifications
You must be signed in to change notification settings - Fork 2
Troubleshooting
Step-by-step fixes for the most common RiptOPL problems — boot hangs, blank screens, video mode locks, white-screen game failures, BDMA driver errors, and PS1/VCD list issues.
i Still stuck after reading this page?
Report RiptOPL regressions in our issue tracker. Include version/SHA, SDK flavour, console model, game ID, source/protocol, core, steps, settings and any known-good build comparison. The upstream OPL forum remains a community resource. For PS1 internals (IGR, cheats, multi-disc, config table), see the sister POPStarter docs.
Symptom: RiptOPL hangs at the animated logo or a grey screen on every boot — the game list never appears.
First isolation check: Try skipping saved configuration. A bad config is one possible cause; a startup screen alone does not identify the failing subsystem.
Power on your PS2 and immediately hold START while RiptOPL initializes. Keep it held until the interface appears. This tells OPL to skip loading the saved config and boot with defaults instead. Expect to land on the start menu with no game-list tabs — that is what the defaults look like, since every device ships off — not on a game list.
With the loader running (config skipped), open Settings and configure the options you need — at minimum, enable the device mode(s) you use. Then Save so a fresh, valid settings_riptopl.cfg is written.
Reboot OPL normally (without holding any buttons). If it reaches the game list or settings screen without freezing, the bad config has been replaced. If it still freezes, record the exact build and active settings location and report the result; do not assume the file lives on the memory card.
Why does RiptOPL have its own config file?
RiptOPL's master settings use settings_riptopl.cfg (with migration from
conf_riptopl.cfg). That filename is separate from stock OPL's master config, but
conf_network.cfg, app lists, per-game configuration and support files can still be shared.
Favorites import from uOPL/wOPL is one-way: the next write saves RiptOPL's own OFAV
format to favourites.bin, which those loaders cannot read back. Keep an original copy if
you use them too. The settings home follows boot-directory discovery or Custom Settings Path;
do not assume it is always mc0:/OPL/.
A white or black launch screen alone does not diagnose fragmentation or a corrupt dump. Record the build/SDK, console, game ID, source and core before changing anything.
- Check the image against a known-good dump and verify that the copy completed.
- Try the title with game overrides disabled, checking inherited global defaults as well.
- If the loader reports a fragment-limit error, try a fresh sequential copy with sufficient free space. OPL's BDM table is shared across game image parts; Neutrino counts ISO and VMC fragments together against its 64-entry block-device budget.
- Compare a known-good build on the same setup and report where the launch stops.
Back up all data before considering a reformat. Do not reformat solely because of a screen colour. A successful retry after several changes does not establish which change fixed it.
Hold Triangle + Cross while RiptOPL initializes to force 480p for the menu.
The display and connection must accept that signal. Once visible, select a suitable mode under
Interface, save, and retry. Holding START skips saved configuration and uses defaults.
The menu recovery combo does not clear per-game GSM settings. Open the affected game's settings and disable/change its GSM override, or its Neutrino video options for that core. Check global video defaults too. Retry with the game's normal output before adding overrides again.
Code 402: the HDD answered, but its APA partition table can't be read. wLaunchELF shows the same disk as "Connected: YES / Formatted: NO". Your games are almost certainly still on it. Do not format it. Stop using the disk, then follow the recovery steps under Internal HDD — Disk safety and code 402. Code 401 means the drive did not answer at all.
Code 500: a drive was not mounted because its sectors are not 512 bytes, as on a 4Kn drive. This applies to any USB, iLink, MX4SIO or internal exFAT drive: RiptOPL only reads 512-byte sectors. Ordinary 512e drives are unaffected.
Delete is missing on the HDD, or Rename on an HDD PS2 game: by design. RiptOPL does not edit the APA partition table, so the HDD library is managed from a PC with HDL-Dump.
Symptom: A device lists PS2 games fine (or works in another loader), but its PS1 view is empty — or a listed VCD does nothing when selected.
Work down this ladder; each step isolates a different stage:
If not, it's the device enables, not VCD. Every device ships OFF on a fresh install, so check Game Sources first: USB/MX4SIO/iLink need their own toggles on and BDM Devices Start Mode set to Manual or Auto, and the internal exFAT page additionally needs Internal HDD (exFAT) ON. The two internal-HDD backends are no longer mutually exclusive — APA (HDD start mode) and exFAT/BDM-ATA may both be enabled at once, since one shared ATA stack serves both, so leaving APA on does not suppress the exFAT page.
If yes, the filesystem/mount layer is proven working, so "but it works in another loader" adds no new information past this step. The release publishes four labelled flavours: PS2DEVPINNED, OFFICIALPINNED, PS2DEVROLLING, and OFFICIALROLLING. Start with the pinned primary control, and report the exact in-app suffix if behavior differs across flavours.
Both (L3) switches separate PS2 and PS1 views. Mixed combines them and L3 cycles Mixed / PS2 / PS1. The locked PS2 and PS1 modes intentionally make L3 fully inert; choose PS1 to pin the PS1 view without L3.
VCDs are scanned from <device-root>:/POPS/*.VCD. The game-folder prefix (usb_prefix etc.) is deliberately not applied, because POPSTARTER itself only reads /POPS at the root. A POPS folder inside your games subfolder will never be found.
Basenames longer than 160 characters and the reserved name POPSTARTER.VCD are skipped at scan (the debug log says which) — previously they listed but could never launch (a dead ✕ button). Rename the file.
Then scanning is fine and the handoff is the suspect: is POPSTARTER.ELF present in /POPS (or __common/POPS on APA)? On exFAT the BDMA equip below is best-effort — a failed equip toasts but the launch still proceeds and may land on the OSD.
Test control: On an SCPH-39001 with the same IEEE 1394 HDD, Ember launched in all four revision 2692 flavours. Native OPL, Neutrino, and POPSTARTER did not. Both pinned and rolling builds from both SDK lineages failed, so the result is not isolated to one compiler image.
- What Ember proves: RiptOPL can enumerate and read the iLink disk, select the title, and transfer control while keeping the live stack. This rules out a blanket menu-side iLink or drive visibility failure.
-
Neutrino: revision 2692 sent
-bsd=ilinkbut did not auto-send-qb. The post-2692 build corrects that source-confirmed RiptOPL-side mismatch so its inherited-stack handoff enters Neutrino's load environment directly. Hardware retest must still establish whether that mismatch was the complete cause. -
POPSTARTER: after a failed attempt, confirm
mc?:/POPSTARTER/bdma_config.txtcontains exactlyilink,usbd.irxis 48,500 bytes (SHA-2565EA4818BA1CF5207F6D7CADB4C13B5AFA88C37C260750C21155B079A8C18F369), andusbhdfsd.irxis 23,452 bytes (SHA-256145CF1C0AF130EA7AC5CEC6696AA7E60B5C66A2AC46B8DEA94DB17BB3B911BCC). A mismatch is on RiptOPL's external-equip leg; exact files narrow the failure to POPSTARTER/BDMA after handoff. - Native OPL: the existing iLink alias and dependency corrections are present, but the revision 2692 failures show they were not sufficient. No regular IOP module is replaced by this follow-up. The next useful control is current official OPL on the same console, adapter, disk, and ISO; that separates an upstream iLink reinitialization limitation from a RiptOPL regression.
Symptom: You have set a BDMA Mode (e.g. USB (exFAT), MX4SIO (exFAT), HDD (exFAT), or iLink) and a BDMA Source, but when you save or apply the equip RiptOPL reports that the module files were not found on the source device.
Cause: The BDMA module files (.irx driver pair for the chosen variant) are missing from or in the wrong location on the source device. RiptOPL does not embed these files — you supply them from the release's POPS/ folder.
The BDMA module files ship loose inside the RiptOPL release archive; none is embedded in RIPTOPL.ELF. Find the POPS/ folder in the release zip — it contains the driver variants for each equip mode, including usbd.irx.ilink + usbhdfsd.irx.ilink for iLink.
Place the module files in a POPS/ folder at the root of whichever device you have set as the BDMA Source — USB, MX4SIO, MMCE, iLink, or Internal HDD. The path must be exactly:
POPS/ ← folder at device root
POPSTARTER.ELF
<module files for your chosen variant>
RiptOPL resolves the BDMA Source by its block-device driver, not by scanning the whole massN: namespace. A USB source reads only usb slots; MX4SIO reads only mx4sio slots; iLink reads only ilink slots; and Internal HDD reads only the ata (exFAT) HDD. Set the source to match the driver of the device where the loose pair actually lives.
With the files in place, open Settings → PS Emulation Settings — the BDMA rows are on that page, not on General & System — set BDMA Source / BDMA Mode, and save. (The two manual pickers are hidden while VCD BDMA Apply on Launch is ON, because that option equips automatically; turn it off to set them by hand.) RiptOPL will copy the modules to mc?:/POPSTARTER/ and record the equipped state in a marker file (compatible with POPSLoader).
What exactly does "equipping" BDMA do?
POPSTARTER's built-in path handles ordinary USB FAT32; the other supported block transports use matching external modules. When you change BDMA Mode or Source and save, RiptOPL copies the chosen suffixed pair from your source device's POPS/ folder to mc?:/POPSTARTER/, removing the variant suffix on the card. For example, *.ilink becomes plain usbd.irx + usbhdfsd.irx. Setting BDMA Mode back to USB (FAT32) removes the external pair so POPSTARTER falls back to its built-in driver. SMB is excluded because it is network-only and has no block device to equip.
Symptom: You have VCD files on a device but after changing PS2/PS1 Game Display, enabling a device, or changing BDMA settings, the PS1 list is empty or appears stuck on PS2.
Fix: First distinguish a pinned view from missing content:
- If PS2/PS1 Game Display is PS2 or PS1, L3 is completely disabled by design — no hint, sound, notification, pause, or response. Choose Both (L3) or Mixed on either Interface or PS Emulation Settings to enable an L3 ring.
- Under Both (L3), L3 switches PS2 / PS1. Under Mixed, it cycles Mixed / PS2 / PS1. A setting change queues the affected lists automatically; a separate restart is not required.
- If the PS1 list still appears empty, confirm the
*.VCDfiles are in aPOPS/folder at the device root (USB / MMCE / MX4SIO / iLink / SMB) or, for the internal APA HDD, inside the correct__.POPS/__.POPS0–__.POPS9partitions. Files in any other location are not scanned. - For exFAT HDD, confirm Internal HDD (exFAT) is enabled in Game Sources and that the HDD has mounted — the game list should show an HDD Games entry. VCDs on the exFAT HDD live in
massN:/POPS/.
i UDPFS / UDPBD are Ember-only PS1 pages
No VCD rows on either network page is expected, not a failed scan. POPSTARTER cannot restore those connections after its IOP reset; Ember inherits the live mount, so only Ember titles are listed.
i Favorites always has four views
Press L3 on Favorites to cycle PS2 → PS1 → ELF → All in One. This independent ring is not pinned or disabled by PS2/PS1 Game Display. The page opens on PS2 and then comes back to whichever shelf you last left it on.
Boot combos only. For every button RiptOPL responds to — the game list, menus, and the in-game In-Game Reset combinations — see Controls.
| Problem | Boot combo | Effect |
|---|---|---|
| Freeze on logo / grey screen (bad config) | START |
Skips config load; boots with defaults |
| Blank / black screen (unsupported video mode) | Triangle + Cross |
Forces 480p for the menu only; requires a compatible display/connection |
| Menu works; game video fails | No boot combo clears game overrides | Disable/change GSM or Neutrino video settings and check global defaults |
Source: troubleshooting.html @ fc2e13154e51. Read on the documentation website.
Start here
Storage and networking
- USB, MX4SIO and iLink
- MMCE
- Internal HDD: APA and exFAT
- SMB shares
- Network boot: UDPFS and UDPBD
- HTTP
- NBD server
Games and features
- Neutrino core
- PS1: POPStarter and Ember
- Per-game settings
- Virtual memory cards
- GSM video modes
- In-game reset
- Cheats
- PADEMU
- RetroAchievements
- Apps
Interface and customization
Help and reference
- Troubleshooting
- ZSO format
- Backward-compatible PS3
- Credits and sources
- Features in other forks
- Project overview
Detailed references
- Complete repository guide
- Rolling release reference
- APA hard disk safety and code 402
- Autolaunch and global settings
- Controls reference
- GSM reference
- HTTP reference
- In-game reset reference
- Folders, parental lock and audio
- Language maintenance
- MX4SIO launch reference
- Neutrino reference
- PADEMU reference
- RetroAchievements reference
- Theme engine: full authoring reference
- PS1/VCD reference
- HTTP server conformance tools
- APA recovery tool