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 Bit 0=ECC support if setBit 3=Card has bad blocksBit 4=Erased blocks have bits set to 0 if set |
The superblock is located in the first page in the memory card.