Virtual Memory Cards (VMC)
OPL can emulate a PS2 Memory Card using an image file stored on your game drive. This lets games save without a physical card โ or lets you keep one save-file set per game rather than sharing a single real card.
.bin file that the IOP mcemu driver presents to the game as if it were a real Memory Card in slot 1 or slot 2. The PS2's kernel, and every game that reads from the card, sees an ordinary Memory Card โ no special game support is required.
Where VMC files live
VMC images are stored in a VMC/ subfolder on the same device as the game being launched. The path depends on your storage backend:
| Device | VMC folder path |
|---|---|
| USB / MX4SIO / iLink / MMCE / exFAT HDD (BDM) | <drive root>/VMC/ |
| SMB (network share) | <share root>\VMC\ |
| Internal HDD (APA/PFS) | pfs0:VMC/ (default +OPL partition) or pfs0:OPL/VMC/ (custom non-+ partition). OPL reads hdd0:__common/OPL/conf_hdd.cfg to discover the working partition; the default is hdd0:+OPL. |
The folder must exist before OPL can create a VMC image inside it. On most devices this folder is created automatically when OPL first sets up its directory structure. If the Configure VMC screen reports an error locating the file, check that the VMC/ folder is present on the drive.
<name>.bin โ for example MySaves_0.bin. The name you type in the Configure VMC dialog is the base name without extension. OPL appends .bin automatically when reading or creating the file.
Supported sizes
OPL supports four VMC sizes, matching the storage capacities of real PS2 Memory Cards and common third-party variants:
| Size label | Equivalent capacity |
|---|---|
8 Mb | 8 MB โ standard Sony Memory Card (most common) |
16 Mb | 16 MB |
32 Mb | 32 MB |
64 Mb | 64 MB โ maximum supported |
Assigning a VMC to a game
Each game can have up to two VMC images โ one for Memory Card slot 1 and one for slot 2. The assignment is stored in the per-game config (CFG/<GAMEID>.cfg as the $VMC_0 and $VMC_1 keys).
Open Game Settings
Highlight a game in the list, then press Triangle to open its options and choose Game Settings (or whichever menu entry leads to per-game options on your theme).
Enter the VMC screen
Inside Game Settings, select Configure VMC. You will see two sections: VMC Slot 1 and VMC Slot 2. Each slot shows the currently assigned VMC name (blank if none) and two action buttons.
Choose or configure the VMC
Press the name button next to a slot to open the Configure VMC dialog for that slot. Here you can type a name, choose a size, create or modify the image file, and check its status. See the Configure VMC screen section below for the full walkthrough.
Use Generic or Reset
If no custom VMC name has been assigned, the action button reads Use Generic โ pressing it assigns a shared generic VMC (generic_0.bin or generic_1.bin) for that slot. If a VMC is already assigned, the button reads Reset, which clears the assignment without deleting the image file.
Save
Return to Game Settings and save. The VMC assignment is written to the per-game config and takes effect on the next launch of that game.
The Configure VMC screen
This dialog manages a single VMC image file. It contains the following fields:
| Field | What it does |
|---|---|
| Name | The base filename (no extension). OPL pre-fills a suggested name derived from the game's title ID; you can change it to any name you like. A name can be up to 31 characters. |
| Size | Dropdown: 8 Mb / 16 Mb / 32 Mb / 64 Mb. This is the size that will be written when you create or modify the file. If a file already exists at the correct size it is shown as valid; if the file exists but the size does not match it is shown as invalid. |
| Status | Read-only. One of: VMC file exists. (valid, ready to use), Invalid VMC file, size is incorrect. (file found but wrong size โ must be resized or a new file created), or VMC file needs to be created. (no file found at that name yet). |
| Progress | A 0โ100% progress bar that fills while a VMC is being created or reformatted. It is driven by the IOP genvmc module in real time. |
| Create / Modify / Abort / OK | The primary action button. Its label changes based on state: Create (no file yet), Modify (a valid VMC file already exists โ reformats only if you change the size before pressing it), Abort (creation in progress โ cancels it), or OK (creation complete โ dismisses the dialog). |
| Delete | Permanently deletes the VMC image file from the drive after a confirmation prompt. Only visible when a file exists. |
How image creation works
When you press Create (or Modify), OPL loads the genvmc IOP module and hands it the target path and size. The module formats the image in the background, writing a valid PS2 Memory Card superblock and cluster structure. The Progress bar updates live while this happens. Creation of an 8 MB VMC typically takes a few seconds on USB; larger sizes take proportionally longer.
Once the progress bar reaches 100% the button label changes to OK. Pressing OK confirms the new or updated VMC and returns you to the VMC slot picker.
Fragmentation warning
VMC images on FAT32 or exFAT drives can become fragmented if the file was not written contiguously. OPL checks for fragmentation at launch time. If the assigned VMC file is fragmented, you will see:
VMC %s file is fragmented. Continue with Memory Card in slot %d?
Answering Yes allows the game to launch using the physical Memory Card in that slot instead. To resolve fragmentation permanently, delete the VMC image and recreate it on a freshly formatted or less-full drive, or copy the image off the drive and back again after the drive has been defragmented.
Access errors at launch
If a VMC file cannot be opened at game launch โ for example, because the file is missing or the drive is not ready โ OPL shows:
Error accessing VMC %s. Continue with the Memory Card in slot %d?
Answering Yes tells OPL to fall back to the physical Memory Card in that slot (if present). Answering No aborts the launch.
VMC with the Neutrino core
When a game is launched via Neutrino, VMC images are passed differently. Instead of the IOP mcemu module, Neutrino receives a -mc0=<path> and/or -mc1=<path> argument pointing at the .bin file. RiptOPL builds these arguments from the same per-game $VMC_0 / $VMC_1 config keys โ so if you have assigned a VMC via Game Settings it will be handed to Neutrino automatically on launch.
- USB, iLink, MX4SIO, exFAT HDD (BDM), and MMCE โ VMC is passed to Neutrino via
-mcN=argument. Fully supported. - SMB โ not supported for Neutrino VMC (SMB transport is separate from BDM).
- Internal HDD (APA) โ HDD VMC-to-Neutrino is currently deferred; Neutrino will use whatever card is physically present.
-mcN= argument as a discrete argv entry, so spaces in VMC names are safe.
Automatic name suggestion (VMC groups)
When you open the Configure VMC dialog for a game that has no VMC assigned yet, OPL pre-fills the Name field with a suggested filename based on the game's title ID. For a large set of well-known game series (sports franchises, annual releases, and others that share save data across entries), OPL maps the title ID to a shared group ID so that all entries in the series point at the same VMC image by default โ letting a FIFA 2004 save be visible in FIFA 2005, for example.
You are free to rename the VMC to anything you prefer. The suggestion is just a starting point; the actual filename written to disk is whatever name you confirm in the dialog.
Sharing VMCs across devices and builds
VMC image files are plain binary files and are not tied to any particular OPL build. A VMC created in RiptOPL can be read by stock OPL, wOPL, or uOPL โ and vice versa โ as long as the image is stored at the path those builds expect. Artwork, themes, VMCs, and favourites are shared between RiptOPL and other OPL variants on the same drive.
Can I use a real Memory Card dump as a VMC?
In principle, a raw Memory Card dump in the correct PS2 format (valid superblock, matching size) should work as a VMC image โ but this depends on how the dump was made. Tools that produce a bit-for-bit dump of the card's flash layout are compatible. Dumps made by software that reconstructs a logical filesystem may not match the expected superblock format that OPL validates. The safest approach is to create a fresh VMC in OPL and use a save manager (such as MyMC or OPL itself via the built-in transfer feature, if available) to copy individual saves into it.
Can I assign the same VMC file to multiple games?
Yes. Because the Name field is free-form, you can type the same filename for multiple games โ they will all read and write the same .bin file. This is equivalent to plugging the same physical Memory Card into the slot for every game. Useful if you want a shared pool of saves, but be aware that all games will see each other's save data and could potentially overwrite it if they use the same directory name on the card.