Difference between revisions of "FATX"
From xboxdevwiki
(Added preliminary FATX header table.) |
|||
| (6 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
The file system used on the Xbox is [[FATX]], a variant of FAT16/32 developed by Microsoft specifically for the Xbox. | The file system used on the Xbox is [[FATX]], a variant of FAT16/32 developed by Microsoft specifically for the Xbox. | ||
| + | |||
| + | The [[Config Sector]] contains the filesystem magic number, some basic filesystem metadata, and Xbox Live account information. | ||
| + | |||
| + | == Header == | ||
| + | The header for FATX is similar to FAT12/16/32 but heavily trimmed down. The following parts are known: | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! Offset | ||
| + | ! Length | ||
| + | ! Contents | ||
| + | ! Notes | ||
| + | |- | ||
| + | | 0x0 | ||
| + | | 0x4 | ||
| + | | Magic value ("FATX") | ||
| + | | ASCII encoded. | ||
| + | |- | ||
| + | | 0x4 | ||
| + | | 0x4 | ||
| + | | Serial of partition | ||
| + | | Created using Xbox RTC, unknown if this must be unique to mount. | ||
| + | |- | ||
| + | | 0x8 | ||
| + | | 0x4 | ||
| + | | Cluster size | ||
| + | | The number of 512 byte chunks one cluster requires. Typically 32 on the internal HDD, 4 on [[Xbox Memory Unit|XMUs]]. | ||
| + | |- | ||
| + | | 0xC | ||
| + | | 0x4 | ||
| + | | Directory/FAT cluster count | ||
| + | | Typically 1, unknown if more are supported as in FAT12/16/32. | ||
| + | |- | ||
| + | | 0x10 | ||
| + | | 0x40 | ||
| + | | Partition name | ||
| + | | UTF-16le encoded name for a partition. Must be double-zero padded. Used to name XMUs, adding one to the internal HDD does nothing visible in stock firmware, but is retained. Untested on temporary partitions. | ||
| + | |} | ||
== Implementations == | == Implementations == | ||
| Line 22: | Line 60: | ||
== Further Reading == | == Further Reading == | ||
| − | * [ | + | * Most up to date: [https://hackmd.io/DXo0p8VnQLy3XQ7YR1Ny_w?view The FATX filesystem] |
| − | * [https://web.archive.org/web/20020617181617/http://www.tardis.ed.ac.uk:80/~lucien/computing/projects/xbox/XBOX-disk-layout.htm XBOX DISK LAYOUT v0.13] | + | * Archive of the xbox-linux project from 2010: [https://web.archive.org/web/20100617022009/http://www.xbox-linux.org/wiki/Differences_between_Xbox_FATX_and_MS-DOS_FAT Differences between Xbox FATX and MS-DOS FAT] |
| + | * An [http://web.archive.org/web/20040616143741/http://www.xbox-linux.org/docs/hdpartfs.html older version of that document] including info about unknown (XBLA?) config sectors | ||
| + | * Private writings from 2002: [https://web.archive.org/web/20020617181617/http://www.tardis.ed.ac.uk:80/~lucien/computing/projects/xbox/XBOX-disk-layout.htm XBOX DISK LAYOUT v0.13] | ||
Latest revision as of 04:08, 27 October 2025
The file system used on the Xbox is FATX, a variant of FAT16/32 developed by Microsoft specifically for the Xbox.
The Config Sector contains the filesystem magic number, some basic filesystem metadata, and Xbox Live account information.
Header
The header for FATX is similar to FAT12/16/32 but heavily trimmed down. The following parts are known:
| Offset | Length | Contents | Notes |
|---|---|---|---|
| 0x0 | 0x4 | Magic value ("FATX") | ASCII encoded. |
| 0x4 | 0x4 | Serial of partition | Created using Xbox RTC, unknown if this must be unique to mount. |
| 0x8 | 0x4 | Cluster size | The number of 512 byte chunks one cluster requires. Typically 32 on the internal HDD, 4 on XMUs. |
| 0xC | 0x4 | Directory/FAT cluster count | Typically 1, unknown if more are supported as in FAT12/16/32. |
| 0x10 | 0x40 | Partition name | UTF-16le encoded name for a partition. Must be double-zero padded. Used to name XMUs, adding one to the internal HDD does nothing visible in stock firmware, but is retained. Untested on temporary partitions. |
Implementations
| Name | Platform | Read/Write | Description |
|---|---|---|---|
| Official | Xbox | Read/Write | Official FATX implementation by Microsoft |
| fatxfs | GNU/Linux, macOS | Read-Only | FUSE-based implementation |
Further Reading
- Most up to date: The FATX filesystem
- Archive of the xbox-linux project from 2010: Differences between Xbox FATX and MS-DOS FAT
- An older version of that document including info about unknown (XBLA?) config sectors
- Private writings from 2002: XBOX DISK LAYOUT v0.13