-
Notifications
You must be signed in to change notification settings - Fork 2
Per Game Settings
Every PS2 title in RiptOPL has its own configuration file stored in the CFG/ folder on
your game device. The Game Settings screen lets you tune compatibility, memory cards, cheats, video,
and the loader core independently for each game — without touching any other title's settings.
Highlight a game in any list and press the Triangle button. A small menu drops down with these entries:
- Game Settings — Loader Core, DMA Mode, Game ID, Custom ELF, compatibility modes, Neutrino args & video
- Cheat Settings — enable/disable PS2RD cheats for this title
- Configure GSM — per-game video-mode override (OPL core only)
- Configure VMC — assign Virtual Memory Cards to slot 1 and slot 2
- Controller Emulation — DualShock 3 / DualShock 4 pad emulation (OPL core only)
- Controller Macros — analog slow-down, axis invert and turbo speed
- OSD Settings — per-game OSD language, screen size and video mode (OPL core only)
-
Save Changes — write the current settings to
CFG/ - Test Changes — launch the game immediately with the current (unsaved) settings
- Remove Settings — delete per-game (and optionally global) config entries for this title
i Config file location
Per-game settings are stored as CFG/<GAMEID>.cfg on the same device the game lives on.
The filename is the game's startup ID (e.g. SLES_123.45.cfg). Settings are shared across all
RiptOPL / OPL / wOPL builds that read from the same device; only the master settings file
(settings_riptopl.cfg) is private to RiptOPL.
The Game Settings screen, the first entry in the Triangle menu, is the main per-game workhorse. It is split into several sections.
The Loader Core picker selects which engine launches this title:
| Value | Description |
|---|---|
<OPL> |
Pin this title to OPL's built-in EE core. |
Neutrino |
Hand the game off to an external neutrino.elf. See Neutrino Core. |
Default |
Make no per-game choice — follow the global Settings → Game Launching → Default Loader Core value. This is what a title shows while it has no saved $CoreLoader key, so it is the state every game starts in. |
Config key: $CoreLoader — no key is written while the picker reads Default.
The screen adapts immediately when you change this picker — see
Core-aware adaptation below.
i UDPBD / UDPFS games always launch through Neutrino
Network-boot games (UDPBD / UDPFS) have no OPL core backend, so they launch through Neutrino whatever
this picker says. On the block-device tabs (UDPBD and UDPFS IMG) the Loader Core selector is
locked to Neutrino and cannot be changed; on the UDPFS Files tab the row stays editable,
but the launch forces Neutrino anyway. If neutrino.elf is missing, OPL warns
you and returns to the menu — there is no fallback.
These fields appear on the Compatibility screen and are only active when the title's effective core is
Neutrino — that is, Loader Core = Neutrino, or Default while the global Default Loader
Core is Neutrino. They are greyed under <OPL>.
-
Neutrino Launch Args — a button that opens the same structured args sub-screen as the
global setting: named fields (Quick Boot, Working Dir, Config, Boot ELF, ATA0 / ATA0 ID / ATA1 image, plus
a free-form Extra field) reassembled in a valid order with
--blast. Stored in config key$NeutrinoArgsas a single flat string (e.g.-mt=dvd). Each sub-field holds 31 visible characters; for a longer single value, edit$NeutrinoArgsin the.cfgdirectly — OPL forwards the full value at launch. A global default is set in Settings → Game Launching → Neutrino Advanced Arguments; per-game args are appended after it. -
Neutrino Video — structured picker for Neutrino's
-gsmvideo-mode flag. Config key:$NeutrinoVideo. -
Neutrino GSM Compatibility — the
:cfield-flipping half of-gsm, for games that shake or tear under a forced video mode. Values Off / Type 1 (GSM/OPL) / Type 2 / Type 3 / Default. The row is greyed while the Neutrino Video picker reads Off, and the value is only emitted when the effective video mode is not Off. Config key:$NeutrinoGsmComp. -
Neutrino Filesystem — overrides Neutrino's
-bsdfsblock-device filesystem. Values Auto / exfat / hdl / bd (Auto uses the per-device default). Greyed for backends that are not block-backed — MMCE, UDPFS, APA HDD and VCD entries.hdlandbdare expert options. Config key:$NeutrinoBsdfs.
| Picker value | Neutrino flag emitted | Notes |
|---|---|---|
| Off | (nothing) | No video override. Saved as an explicit per-game value, so it beats a non-Off global default |
| 240p | -gsm=fp1 |
Force 240p / NTSC progressive |
| 480p | -gsm=fp2 |
Force 480p / NTSC progressive scan |
| 1080i x1 | -gsm=1080ix1 |
Force 1080i |
| 1080i x2 | -gsm=1080ix2 |
Force 1080i |
| 1080i x3 | -gsm=1080ix3 |
Force 1080i — the community "1080p impression" setting |
| Default | (nothing per-game) | Removes $NeutrinoVideo entirely, so the title follows the global Settings → Game Launching → Neutrino Video value |
See Neutrino Core §5 for the same table with the global default explained.
i Manual -gsm wins
If you type a -gsm=… flag directly into the Neutrino Launch Args field, it takes
precedence over the picker. OPL emits only one -gsm argument — Neutrino aborts on a
duplicate — so a manually typed value suppresses the picker's output entirely.
Seven toggle switches control low-level loading behavior. OPL stores them as a bitmask in
$Compatibility; under the Neutrino core the set that maps to Neutrino's -gc
flag is forwarded automatically.
ℹ Some games start with a mode already on
A few titles are known to need a mode and default to it until you save your own choice. Today that is
Pro Evolution Soccer 2 (SLES_511.14), which defaults to Accurate Reads so its streamed
audio plays correctly. The screen shows the default ticked. Untick it and save to turn it off, or use
Remove Settings to return to the default.
| Mode | Label | What it does | Core |
|---|---|---|---|
| 1 | Accurate Reads | Use a slower but more accurate CD/DVD read path. Fixes some games that fail with the fast default reads. | OPL + Neutrino (-gc) |
| 2 | Synchronous Mode | Forces synchronous (blocking) data reads instead of asynchronous ones. Helps games that are sensitive to read-ahead buffering. | OPL + Neutrino (-gc) |
| 3 | Unhook Syscalls | Removes OPL's syscall hooks after the game boots. Required for a small number of titles that patch or inspect syscalls themselves. | OPL + Neutrino (-gc) |
| 4 | Skip Videos | Applies a zero file size to PSS video files and also skips Bink (.BIK) videos, preventing hangs on games that stall waiting for FMV playback. | OPL core only — greyed under Neutrino |
| 5 | Emulate DVD-DL | Emulates a dual-layer DVD. Necessary for a handful of titles that check the disc layer-break position. | OPL + Neutrino (-gc) |
| 6 | Disable IGR | Disables the In-Game Reset (IGR) hook. Use when IGR interferes with a game's own reset handling. | OPL core only — greyed under Neutrino |
| 7 | Neutrino only — fix games that overrun an IOP buffer (-gc=7) |
Passes -gc=7 to Neutrino, which applies an IOP-side fix for games that overrun an IOP buffer. Has no effect at all under the OPL core. |
Neutrino only — greyed under OPL |
i How -gc is built for Neutrino
When the Loader Core is Neutrino, OPL converts the compatibility bitmask to Neutrino's
-gc=<value> format, forwarding modes 1, 2, 3, 5, and 7 (mode 4 and mode 6 have
no Neutrino equivalent and are silently skipped). The Download Defaults button — which downloads
OPL-bitmask compatibility data from the network — is greyed under the Neutrino core because
that data does not map to -gc.
For HDD (APA/PFS) and exFAT (BDMA) games, a DMA Mode picker appears. It sets the ATA transfer mode used to read the game partition. Options range from MDMA 0 through UDMA 4 (default UDMA 4). Lowering the DMA mode can resolve read errors on aging drives or cables. This picker is hidden for devices that do not support DMA (USB, SMB, MMCE, etc.).
Game ID ($DNAS) stores the hexadecimal startup ID used to look up the game in the
OPL compatibility database. Use Load from Disc to read it automatically from an inserted disc, or
type it manually. Custom ELF ($AltStartup) overrides the ELF that is executed at boot —
useful for multi-disc sets or non-standard disc layouts. Both fields are 31 characters maximum in the
on-screen editor.
The VMC screen assigns a Virtual Memory Card image to each of the two memory-card slots for
this title. Up to two VMCs can be active simultaneously. VMC images are .bin files in the
VMC/ folder; they can range from 8 MB to 64 MB.
For each slot you can:
- Select an existing VMC image by name.
- Create a new image directly from the per-game VMC screen.
- Clear the assignment (no VMC for that slot).
VMC works with both the OPL core and Neutrino. Under Neutrino, OPL passes the VMC paths as
-mc0=<path> / -mc1=<path> arguments. Config keys:
$VMC_0 (slot 1), $VMC_1 (slot 2). See VMC for full
details on creating and managing VMC images.
i VMC and Neutrino: spaced names
VMC file names with spaces work correctly — OPL passes each VMC path as a discrete argument rather
than concatenating into a flat string. Names up to 31 characters are supported in the on-screen editor;
longer names can be set by editing the .cfg file directly.
The Cheat Settings screen lets you enable or disable PS2RD cheat codes loaded from a
.cht file in the CHT/ folder. Cheats are applied by OPL's built-in core at
launch; this panel is an OPL core feature and is not available under Neutrino.
If the game's Loader Core is set to Neutrino, opening Cheat Settings displays the message "This setting is not used with the Neutrino core."
For the cheat file format and a full how-to, see Cheats and the POPStarter cheats reference.
GSM (Game Screen Mode) forces a specific video output mode for a game — useful for titles that output an unusual or unsupported signal. The per-game GSM screen is an OPL core feature; it is not available under Neutrino.
If the game's Loader Core is set to Neutrino, opening Configure GSM displays the message "This setting is not used with the Neutrino core." Use the Neutrino Video picker on the Game Settings screen instead.
The GSM screen is covered in full on the GSM Video Modes page: the Settings Mode (Global / Per Game / Per Game + Global), all 30 modes, the three-step confirmation on 1080p, Emulate FIELD Flipping, and how to recover a game that loses the picture.
PADEMU enables DualShock 3 and DualShock 4 controller emulation for a game. It is an OPL core feature and is not available under Neutrino.
If the game's Loader Core is set to Neutrino, opening Controller Emulation displays the message "This setting is not used with the Neutrino core."
DualSense / DualShock 5 (USB) support is off in the default builds, but you do not have to build it
yourself: each release flavour also ships a ready-made -ds5.ELF loader as its own named
download. See the Releases page.
The PADEMU screen is covered in full on the PADEMU page: USB and Bluetooth modes, per-port emulation and vibration, multitap, and the fake-DS3 workaround.
OPL can patch the OSD language, TV aspect ratio, and video output mode written into EEPROM during game boot via the per-game OSD Settings screen. This is an OPL core feature; it is not available under Neutrino.
If the game's Loader Core is set to Neutrino, opening OSD Settings displays the message "This setting is not used with the Neutrino core."
RiptOPL adapts the per-game screens to the Loader Core chosen for each title. The goal is to show only the options the active core actually honors, so you are never editing settings that will be silently ignored at launch.
| Panel / option | <OPL> core | Neutrino core |
|---|---|---|
| Neutrino Launch Args | Greyed (never read) | Active |
| Neutrino Video picker | Greyed (never read) | Active |
| Mode 4 — Skip Videos | Active | Greyed (no Neutrino equivalent) |
| Mode 6 — Disable IGR | Active | Greyed (no Neutrino equivalent) |
| Mode 7 — Fix IOP buffer overrun | Greyed (no OPL effect) | Active |
| Download Defaults button | Active | Greyed (OPL bitmask data, not -gc) |
| Cheats panel | Active | Shows "not used with Neutrino core" |
| GSM panel | Active | Shows "not used with Neutrino core" |
| PADEMU / Pad Macro panels | Active | Shows "not used with Neutrino core" |
| OSD Language panel | Active | Shows "not used with Neutrino core" |
| VMC panel | Active | Active (via -mc0/-mc1) |
| Loader Core selector | Active | Active (locked for the UDP block devices, SMB and VCD) |
i PS1 games
PS1 titles shown via the L3 PS1 view launch through their own core — POPSTARTER.ELF
for a *.VCD row, ember.elf for an Ember row. Neither uses OPL's core or
Neutrino, so the Loader Core selector is pinned to Default and locked on any PS1
entry: the choice is inert and no $CoreLoader key is written. For POPSTARTER-specific
settings (IGR hotkeys, multi-disc, cheats), see the
POPStarter docs; for Ember, see
Ember — the second PS1 core.
Writes the current state of all per-game panels to CFG/<GAMEID>.cfg on the game
device. After saving, the config source is marked as User customized, which prevents automatic
online compatibility updates from overwriting your manual settings.
Launches the game immediately using whatever is currently loaded in the Game Settings dialog — including any unsaved edits. Use this to verify a compatibility tweak before committing it to disk. If the settings turn out to work, follow up with Save Changes.
Prompts you to choose what to delete:
-
Per-game settings — removes this title's
CFG/<GAMEID>.cfgentry only. - Global settings — removes any global (per-type) overrides stored for this title.
- All settings — removes both. Resets the title to bare defaults.
After removal the dialog reloads defaults so the screen reflects the cleared state.
Per-game settings are stored in the game's .cfg file as key=value pairs. The keys used
by the per-game settings screen are:
$Compatibility compatibility mode bitmask (integer)
$CoreLoader 0 = <OPL>, 1 = Neutrino
(key ABSENT when the picker is "Default" -> follow the global Default Loader Core)
$NeutrinoArgs Neutrino launch arguments (set via the structured sub-screen)
$NeutrinoVideo 0=Off, 1=240p, 2=480p, 3=1080i x1, 4=1080i x2, 5=1080i x3
(key ABSENT when the picker is "Default" -> follow the global Neutrino Video)
$NeutrinoGsmComp 0=Off, 1-3=comp type (key removed when the picker is "Default")
$NeutrinoBsdfs 0=Auto, 1=exfat, 2=hdl, 3=bd (key removed on Auto)
$VMC_0 VMC name for slot 1
$VMC_1 VMC name for slot 2
$DNAS game hexadecimal ID (for compat DB lookup)
$AltStartup override ELF path at boot
How are compat modes stored as a bitmask?
Each mode maps to a power-of-two bit: Mode 1 = 0x01, Mode 2 = 0x02,
Mode 3 = 0x04, Mode 4 = 0x08, Mode 5 = 0x10,
Mode 6 = 0x20, Mode 7 = 0x40. They are OR'd together into a single integer.
For example, enabling Mode 1 + Mode 3 gives $Compatibility=5. When the Loader Core is
Neutrino, OPL converts this to a -gc= value by forwarding only modes 1, 2, 3, 5, and 7
(modes 4 and 6 have no Neutrino equivalent).
Where exactly is the .cfg file stored?
On each game device, in a folder named CFG/ at the root of the OPL directory tree.
For USB that is mass:/CFG/, for HDD APA it is pfs0:CFG/ on the default
+OPL data partition (pfs0:OPL/CFG/ only when hdd_partition names a
partition that does not start with +, e.g. __common), for SMB it is
relative to the configured OPL share root, and so on. The filename is the game's startup ID with a
.cfg extension (e.g. SLUS_200.12.cfg). Because all OPL-family builds read
the same CFG/ folder, per-game settings are shared between RiptOPL, wOPL, and stock OPL
on the same drive.
Source: per-game-settings.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