Skip to content

About this page

On this page

MMCE (Multi-Purpose Memory Card Emulator) ​

This page is in beta. It is compiled from community documentation and the mmceman package source. Unlike the PS2 architecture section, most of it cannot be checked against this SDK's source. Please report anything that looks wrong.

MMCE is a community protocol and family of hardware that lets a memory card slot hold far more than 8MB of saves. It is not part of the PS2 hardware model. This SDK includes a working driver for it.

Overview ​

An MMCE card sits in the memory card slot and emulates the standard memory card protocol over SIO2, storing data on a microSD card. Two implementations:

  • SD2PSX - open source and open hardware (developer @xyzz; sd2psxtd is a popular extended firmware fork).
  • MemCard Pro 2 - a commercial product (8BitMods).

Because the card is backed by SD storage, it holds far more save data than one memory card. Because the SIO2 protocol itself is emulated, a standard PS2 needs no special support to use one as a memory card.

A newer protocol extension lets the card also serve game data, so a loader such as Open PS2 Loader can boot a game from the card, switching between a per-game virtual memory card and the game data as needed.

Drivers in this SDK ​

sdk-world's mmceman package builds three IOP modules from the same upstream source (ps2-mmce/mmceman v2.1.1, MIT):

PackageIRXRole
mmcemanmmceman.irxThe full driver. Registers an IOP filesystem device (iomanX_AddDrv-based).
mmcedrvmmcedrv.irxA minimal variant with sector-level read, write and seek exports and no device registration. For in-game use after a loader has switched the memory card port into MMCE mode.
mmceigrmmceigr.irxThe smallest module. It issues MMCE's in-game reset (IGR), which switches back to the boot memory card. It imports no kernel functions and uses inline SIO2 register access.
ProgramModule
Loader that browses and manages the cardmmceman
Game that reads and writes its own save data after a loader has switched modesmmcedrv
Program that returns control to the original memory cardmmceigr

See also ​

  • Controllers - the SIO2 bus that MMCE emulates
  • Storage - the standard memory card driver stack (mc, mcman, mcserv) that MMCE replaces
  • PSU - the file format for community memory card content, separate from the hardware and protocol on this page