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.
OPL freezes on the logo or grey screen
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.
Skip config on boot
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.
Open and re-save settings
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.
Verify the fix
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/.
Game stops on a white screen
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.
No display on boot (blank or black screen)
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.
Menu works, but launching a game loses the picture
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.
Internal HDD โ code 402, 500, or "Formatted: NO"
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.
PS1/VCD โ "my VCDs don't show up" (works elsewhere)
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:
Does the device page appear at all?
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.
Do PS2 ISOs list from the device?
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.
Check PS2/PS1 Game Display
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.
Check the folder โ root, not your games prefix
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.
Check the filename
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.
Fails only after selecting a game?
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.
iLink โ revision 2692 handoff failures
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.
BDMA โ "module files not found on source device"
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.
Locate the module files
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.
Copy them to the correct location
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>
Note: the source must match the device's driver
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.
Re-apply the equip
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.
PS1 / VCD list not showing after a settings change
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/.
Quick-reference button combos
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 |