SIO2 PS2 Memcard Filesystem
The PS2 uses a double-indirect indexed FAT filesystem to keep track of clusters. It also has support for ECC and bad block detection, depending on MCMAN version.
Superblock Format
Byte | Name :—-: | —- 0-27 |Magic string. Should contain Sony PS2 Memory Card Format
28-39 |Version string. Has the format 1.x.0.0
, where x is the minor version 40-41 |Size in bytes of a page. Default 512
42-43 |Pages per cluster. Default 2
44-45 |Pages per erase block. Default 16
46-47 |Set to -256
. Doesn't seem to be used 48-51 |Total clusters in the card. Default 8192
52-55 |Offset of the first allocatable cluster, in cluster units. Immediately after the FAT 56-59 |Offset of the cluster after the last allocatable cluster, relative to the first 60-63 |Offset of the root directory cluster, relative to the first. Should be 0
64-67 |Backup erase block. Should be the last block in the card, default 1023
68-71 |Second backup block, should be the second-last block in the card 80-207 |Array of 32
indirect FAT cluster indices. On a standard card, only one indirect cluster is used 208-335 |Array of 32
bad blocks, which cannot be used. -1
indicates no entry 384 |Memory card type. Should be 2
, indicating a PS2 memory card 385 |Card flags. Default 52h
</br>Bit 0=ECC support if set</br>Bit 3=Card has bad blocks</br>Bit 4=Erased blocks have bits set to 0 if set
The superblock is located in the first page in the memory card.