Storage
This section is in beta. See the note on the cheat sheet.
The PS2 has three storage devices a homebrew project might use: the disc, the memory card and the hard disk (rarely used today). All three are reached through the IOP. Each has a low-level driver and a filesystem layer on top of it.
Disc
cdvd(core) is the low-level EE-side interface to the drive: raw sector reads and tray and disc status.cdvdfsv(core) is the IOP-side CD/DVD filesystem server, the ISO9660 layer that turns raw sectors into files and directories.cdfs(core) registers thecdfs:device (built oncdvdman, the low-level IOP driver) that your program opens files through.
Memory card
The memory card is physically a SIO2 peripheral (see Controllers), but it is used for storage and has its own filesystem layer:
mc(core) is the EE-side RPC client andmcman(core) is the IOP driver it talks to, the same client and driver pattern aspadandpadman.mcserv(core) is a higher-level IOP-side filesystem server on top ofmcman. It understands the memory card's directory and file structure, not only raw sector access.fs-osdandhdd-osd(core) implement PFS, the filesystem format used by the PS2 BIOS save-game browser. Required for save data to appear in the system's memory-card management screen, on a memory card or the HDD (see below).mmceman(world) targets a memory card emulator. It backs save data with something other than a physical card without changing themcAPI.
Hard disk and block devices
The HDD (rare on retail hardware, more common in development setups) and USB mass storage share a different layer, because neither is a SIO2 peripheral:
apa(core) is the APA partition manager, the PS2's disk-partitioning scheme. It registershdd0:as a device.bdm(core) is a block-device manager. It parses MBR and GPT partition tables for devices that are not APA-formatted, such as a USB drive.bdmfs_fatfs(core) is a FAT12/16/32 filesystem driver on top ofbdm. It makes a FAT-formatted USB drive readable as files.fs-osdandhdd-osd(the same PFS packages as above) also provide BIOS-browser-compatible save data on the HDD.
See also
- Controllers - the memory card as a SIO2 device
- EE, IOP, and SIF - the RPC pattern behind
mcandcdvd