![
Attached to Southbridge
![
comming soon
On different Motherboard Revision also different NANDs were used. Xenon-, Zephyr-, Falcon-, Opus- and some Jasper-Consoles (Retails) are using 16MB NANDs, other Jasper-Consoles (Retail),Arcade Bundles which came without a HDD, got a 256MB or 512MB NAND onboard. Only 64MB of these 256/512MB NAND are used for system files, the rest is used as an internal Memory Unit. All Development-/Demo-/Reviewer-/Test-Kits got at least a 64MB NAND. Depending on the NAND Size either Small- or Large-Block Flash Controllers get used.
The Flash Controller decides how to handle the NAND Memory. There are currently two types, the Old/Original SFC which handles the NAND with small block and the new SFC (Codename: Panda?) which handles the NAND as either small or large blocks.
Original SFC (pre-Jasper)
Type | Size |
---|---|
Block Size | 0x4000 (16KB) |
Block Count | 0x400 |
Page Size | 0x200 |
Pages per Block | Block size / Page size |
Raw Page Size (incl. SpareData) | 0x210 |
Usable Filesystem-Size | 0x3E0 |
Type | Size |
---|---|
Block Size | 0x4000 (16KB) |
Block Count | 0x1000 |
Page Size | 0x200 |
Pages per Block | Block size / Page size |
Raw Page Size (incl. SpareData) | 0x210 |
Usable Filesystem-Size | 0xF80 |
New SFC
Type | Size |
---|---|
Block Size | 0x4000 (16KB) |
Block Count | 0x400 |
Page Size | 0x200 |
Pages per Block | Block size / Page size |
Raw Page Size (incl. SpareData) | 0x210 |
Usable Filesystem-Size | 0x3E0 |
Type | Size |
---|---|
Block Size | 0x20000 (128KB) |
Block Count (non-MU) | 0x1000 |
Page Size | 0x200 |
Pages per Block | Block size / Page size |
Raw Page Size (incl. SpareData) | 0x210 |
Usable Filesystem-Size | 0x1E0 |
Have an address which is without ECC?
realaddr = (addr / 512) * 528 + (realaddr % (mod) 512 > 0 ? realaddr % (mod) 512 : 0);
This also works in reverse:
addr = (realaddr / 528) * 512 + (realaddr % (mod) 528 > 0 ? realaddr % (mod) 528 : 0);
The Flash can be written or read using a number of methods. If you have the old shader hack running the easiest is using lflash. You can also wire LPT directly to the flash using this diagram. As well, you can build your own USB SPI Flasher with this diagram and use these binaries. Flash the PicXboot.hex to your PIC, then use the programmer from this picflash to flash the picflash.hex to the PIC through USB in bootloader mode. Once the device is flashed, you can then install it using the drivers from NandPro or use TeamXecuters NANDX drivers.
Once wired you can read/write to the chip using software such as NandPro.
In software the NAND is mapped to memory address 0x80000200C8000000.
@2MB filesystem, unencrypted, but content encrypted, config not
Informations about the Filesystem on the Xbox360 NAND Flash can be found here
Its possible that bad blocks appears when reading/writing to the NAND. For solving these look at the following page: Bad Blocks
Some 360s have a small flash chip near the CPU, some don’t as seen in the following pictures.
No chip:
•![
Here is a high-res picture of a premium box with the chip:
•
As discussed in this article on the xboxhacker.net forums, this appears to be a Atmel 25020 EEPROM. The chip model reads:
ATMEL524
25020AN
SU18
Datasheet can be found here.
This chip is a low power 2048 bit serial EEPROM according to the datasheet.
There is another Atmel chip on the front panel: