Skip to content

Per Game Settings

NathanNeurotic (Ripto) edited this page Sep 16, 2026 · 4 revisions

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.

Opening Game 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.

Game Settings

The Game Settings screen, the first entry in the Triangle menu, is the main per-game workhorse. It is split into several sections.

Loader Core

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.

Neutrino Launch Args & Neutrino Video (Neutrino core only)

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 --b last. Stored in config key $NeutrinoArgs as a single flat string (e.g. -mt=dvd). Each sub-field holds 31 visible characters; for a longer single value, edit $NeutrinoArgs in the .cfg directly — 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 -gsm video-mode flag. Config key: $NeutrinoVideo.
  • Neutrino GSM Compatibility — the :c field-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 -bsdfs block-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. hdl and bd are 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.

Compatibility Modes 1–7

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.

DMA Mode

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 & Custom ELF

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.

VMC — Virtual Memory Cards

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.

Cheat Settings

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.

Configure GSM

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.

Controller Emulation

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.

OSD Settings

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."

Core-aware adaptation

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.

Save Changes, Test Changes, Remove Settings

Save Changes

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.

Test Changes

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.

Remove Settings

Prompts you to choose what to delete:

  • Per-game settings — removes this title's CFG/<GAMEID>.cfg entry 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.

Config key reference

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.

Clone this wiki locally