Neutrino Core
RiptOPL can hand any individual game to an external Neutrino ELF instead of OPL's built-in EE core. The choice is made per game, leaving other titles on the default OPL core untouched. This is useful for titles that boot more reliably under Neutrino, or when you want fine-grained control over Neutrino's own launch flags.
1. Install Neutrino
Neutrino is not bundled with OPL โ you supply the ELF. Place it on a memory card in all-caps at one of these paths; OPL checks them in order:
| Priority | Path |
|---|---|
| 1 | mc0:NEUTRINO/neutrino.elf |
| 2 | mc1:NEUTRINO/neutrino.elf |
Auto-detection also checks a handful of lowercase and NEUTRINO.ELF spelling variants on mc0: and mc1: (e.g. mc0:/neutrino/neutrino.elf, mc0:/neutrino/NEUTRINO.ELF, etc.) so minor capitalisation differences are tolerated.
If none of those paths exist when you launch a game set to the Neutrino core, OPL shows a warning and falls back to the <OPL> core for that launch only.
Custom Neutrino ELF path
You can override the lookup entirely: Settings → General Settings → Neutrino ELF Path. When that field is set and the file exists it takes priority over every candidate above. Leave it blank to use the auto-detection. The in-app text editor caps at 31 visible characters; for a longer path, set neutrino_path directly in settings_riptopl.cfg โ OPL reads and uses the full string at launch regardless of how it was entered.
Network boot exception
The UDPBD / UDPFS feature ships its own bundled Neutrino (a neutrino_*.7z inside the release's installable package, pre-populated with the UDPFS config). Per-game Neutrino use still needs you to supply neutrino.elf at the paths above.
2. Pick the core per game
Open Compatibility Settings
Highlight a game and open Game Settings → Compatibility Settings.
Set Loader Core
Change Loader Core to Neutrino. The other option is <OPL> (the built-in core; default for every game).
Save
Save. The selection is written as $CoreLoader in that game's .cfg file.
Where Neutrino works
| Game source | Neutrino? |
|---|---|
| USB / iLink / MX4SIO | Yes |
| Internal ATA (BDM block device) | Yes |
| Internal HDD (APA partition → HDL) | Yes |
| MMCE (SD2PSX / MemCard PRO2) | Yes |
| UDPBD / UDPFS (network block device) | Yes โ and required; no OPL core backend exists for these (see Network Boot) |
| SMB / Ethernet | No โ falls back to <OPL> |
USB Extreme split images (.ul) | No โ falls back to <OPL> |
Compressed ISO (.zso) | No โ falls back to <OPL> |
Unsupported sources fall back to the <OPL> core automatically with an on-screen warning. No manual intervention is needed โ OPL detects the format and adjusts.
*.VCD) always boot through POPSTARTER.ELF โ never OPL's core and never Neutrino. The Loader Core selector is locked and has no effect for PS1 games. See PS1 Games (VCD).
3. Neutrino Device picker
Under Settings → General Settings → Neutrino Device you can pin Neutrino to a specific storage device root, or leave it on Auto. When a device is chosen, OPL probes <root>:/neutrino/neutrino.elf (plus case variants) on that device only and ignores the memory-card candidates. When set to Auto, OPL falls through the full mc0/mc1 priority list.
Available choices:
- Auto โ checks the mc0/mc1 candidates in priority order (default)
- mc0 / mc1 โ memory cards
- mass0 through mass7 โ USB mass storage slots
- mmce0 / mmce1 โ MMCE devices (SD2PSX, MemCard PRO2, etc.)
In all cases the path searched on the chosen device is <device>:NEUTRINO/neutrino.elf and its capitalisation variants; the leading-slash form <device>:/neutrino/neutrino.elf is also tried.
4. Launch arguments
OPL always builds the mandatory Neutrino arguments automatically from the game and its settings โ you never type these yourself:
| Auto-emitted argument | When emitted |
|---|---|
-bsd=<usb|ilink|mx4sio|ata|mmce|udpbd|udpfsbd> | Always (the storage backend) |
-bsdfs=hdl | Internal HDD (APA) only |
-dvd=<path> / -dvd=hdl:<partition> | Always (the game image or partition) |
-gc=<modes> | Only when OPL compat modes are set for the game |
-dbc | Only when Debug Colors is enabled |
-logo | Only when PS2 Logo is enabled |
-gsm=<mode> | Only when a per-game Neutrino Video mode is set (see ยง5) |
-mc0=<path> / -mc1=<path> | Only when a per-game VMC is configured for that slot |
Global and per-game extra args
On top of the auto-built arguments you can pass extra Neutrino flags in two places. Both sets are appended after the auto-built arguments; global first, then per-game, so a game can extend or override the global defaults.
- Global (every Neutrino launch): Settings → General Settings → Neutrino Launch Args — config key
neutrino_argsinsettings_riptopl.cfg. - Per game (one title only): Game Settings → Compatibility Settings → Neutrino Launch Args — config key
$NeutrinoArgsin the game's.cfg.
Arguments are space-separated. Example:
-mt=dvd -gsm=1
neutrino_args (global, in settings_riptopl.cfg) or $NeutrinoArgs (per game, in the game's .cfg) directly โ OPL reads and forwards the full string at launch. The editor preserves every field you do not touch at its full stored length, so opening and closing the dialog never truncates a hand-edited value.
Structured Neutrino Args sub-screen
Both the global Neutrino Launch Args entry (Settings → General Settings → Neutrino Launch Args) and the per-game field (Game Settings → Compatibility Settings → Neutrino Launch Args) are buttons that open the same companion sub-screen. It breaks the argument string into named fields โ Quick Boot (-qb), Working Dir (-cwd), Config (-cfg), Boot ELF (-elf), ATA0 Image (-ata0), ATA0 ID (-ata0id), ATA1 Image (-ata1), plus a free-form Extra field โ reassembles them in a valid canonical order with --b kept last, and writes the result back as a single flat string: the global into neutrino_args, the per-game value into $NeutrinoArgs (each game edited independently).
| Field | Argument emitted | Notes |
|---|---|---|
| Quick Boot (-qb) | -qb | Suppress Neutrino's boot screen; emitted first if enabled |
| Working Dir (-cwd) | -cwd=<path> | Override Neutrino's working directory |
| Config (-cfg) | -cfg=<path> | Point Neutrino at an alternate config file |
| Boot ELF (-elf) | -elf=<path> | Launch a different ELF instead of the disc boot ELF |
| ATA0 Image (-ata0) | -ata0=<path> | Override the primary ATA image path |
| ATA0 ID | -ata0id=<id> | Override the ATA0 device ID string |
| ATA1 Image (-ata1) | -ata1=<path> | Override the secondary ATA image path |
| Extra | (verbatim) | Any other flags, including --b and everything after it (passed to the booted ELF); placed last |
The canonical reassembly order is: -qb → -cwd → -cfg → -elf → -ata0 → -ata0id → -ata1 → Extra. The Extra slot also collects any flags the parser does not recognise, preserving them verbatim. --b and everything following it is always kept at the tail (those tokens are arguments forwarded to the booted ELF, not to Neutrino itself).
-bsd, -dvd, -gc, -gsm, -mc0/-mc1, -dbc, and -logo are always constructed from the game settings by OPL. Do not enter them in the Extra field or the Launch Args text box โ doing so produces a duplicate that Neutrino may reject or misinterpret. Use the dedicated UI controls (compat modes, Neutrino Video picker, VMC slots, etc.) to set those values instead.
5. Per-game Neutrino Video (-gsm)
When a game's Loader Core is set to Neutrino, a Neutrino Video picker appears in Compatibility Settings. This is the Neutrino-side stand-in for the OPL GSM panel (which is an OPL-core-only feature and is greyed under Neutrino). The picker maps to Neutrino's -gsm flag:
| Picker value | Neutrino flag emitted |
|---|---|
| Off (default) | (nothing emitted) |
| 240p | -gsm=fp1 |
| 480p | -gsm=fp2 |
| 1080i | -gsm=1080ix1 |
The picker is the default source for -gsm. If you manually type -gsm=<value> into the Neutrino Launch Args field, that value wins โ OPL emits only one -gsm argument, because Neutrino aborts on a duplicate or malformed value.
Mode 7 โ fix IOP buffer overrun (-gc=7)
The compat modes list contains a Neutrino-only entry: Mode 7 (Fix IOP Buffer Overrun). This maps to -gc=7 and targets a small class of games that overrun an IOP buffer during loading. It is greyed out when the Loader Core is set to <OPL> (the inverse of Modes 4 and 6, which are greyed under Neutrino). Enable it from the compat modes screen inside Compatibility Settings when the game's core is Neutrino.
6. Core-aware per-game settings
The per-game settings screen adapts to the Loader Core chosen for each title, so you only see controls the selected core actually honors.
When Loader Core = Neutrino
- Neutrino Launch Args and Neutrino Video picker are active and editable.
- Compat Modes 4 (Skip Videos) and 6 (Disable IGR) are greyed โ these are OPL ee-core features with no Neutrino equivalent. OPL never forwards them.
- Mode 7 is available (Neutrino-only; see above).
- DL Defaults is greyed โ it pulls OPL bitmask data that does not map to
-gc. - GSM, Cheats, PADEMU, OSD Language panels show a "not used with the Neutrino core" message instead of dead controls. Use the Neutrino Video picker for video forcing.
- VMC and the rest of Compatibility remain fully available โ VMC is passed to Neutrino as
-mc0/-mc1arguments on block devices. - UDPBD / UDPFS games have no OPL core backend, so the Loader Core selector is locked to Neutrino for them and cannot be changed.
When Loader Core = <OPL>
The screen is unchanged from classic OPL. The Neutrino Launch Args field and Neutrino Video picker are greyed (they are never read on the OPL path). Mode 7 is greyed. Modes 4 and 6 are available as usual.
What does Neutrino actually honor from OPL's per-game settings?
Neutrino honors: the storage backend + image path (-bsd / -dvd, automatic), the compat mode subset that maps to -gc (Modes 1/2/3/5/7), VMC via -mc0/-mc1 on block devices, -logo (PS2 logo), -dbc (debug colors), the Neutrino Video picker (-gsm), and the free-text Neutrino Launch Args field. It does not honor: Cheats (OPL patches EE RAM), OPL GSM (OPL patches the GS registers), IGR/IGS (OPL's in-game reset hook), PADEMU (OPL's USB gamepad emulation), or OSD Language โ all are OPL-embedded-core features with no Neutrino equivalent.
7. Network boot โ UDPBD / UDPFS
UDPBD and UDPFS stream games from a PC over the LAN as network block devices. Both protocols appear in OPL as a single UDPBD Games list with covers and per-game settings. Because there is no OPL cdvdman backend for network block devices, these games always and only launch via Neutrino โ OPL forces the Neutrino core automatically, and if neutrino.elf is missing it warns and returns to the menu (there is no <OPL> fallback).
Full setup, server instructions, and the UDPBD vs UDPFS protocol comparison are on the Network Boot page.