Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,10 @@ Thumbs.db
# mkdocs build dir
site/
venv

# venv
include
lib
lib64
bin
pyvenv.cfg
2 changes: 1 addition & 1 deletion docs/!Pages_with_missing_images.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Pages with missing images

- [DVD Drive](./Hardware/Console/DVD_Drive.md)
- [NAND](./Hardware/Console/NAND/index.md) "Atmel2.jpg"
- [NAND](./Hardware/Console/NAND.md) "Atmel2.jpg"
- [Wifi Adapter](./Hardware/Accessories/Wifi_Adapter.md)
5 changes: 2 additions & 3 deletions docs/Hacks/SMC_Hack.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Technical details are available [here](http://free60.git.sourceforge.net/git/git

The SMC Hack requires bridging 3 points on the motherboard (for trigger
the exploit by JTAG), as well as having a way to read and write with
your Nand [Flash](../Hardware/Console/NAND/index.md)
your Nand [Flash](../Hardware/NAND/Reading.md)

The JTAG points are available for a number of consoles

Expand All @@ -34,8 +34,7 @@ The JTAG points are available for a number of consoles
#### Reverse Jtag
![Reverse JTAG](images/Reverse_JTAG.jpg)

- To read and write the Nand Flash (using SPI protocol by LPT and a
printer cable), there is a friendly tutorial at [NAND Reading](./NAND_Reading.md)
- To read and write the Nand Flash, there is a friendly tutorial at [NAND Reading](../Hardware/NAND/Reading.md)

There are other ways to read and write the Nand Flash that are valid
(such as infectus modchip)
Expand Down
55 changes: 0 additions & 55 deletions docs/Hacks/SPI_Programmer.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
- SMT socket that should work if you choose to remove yours:
https://web.archive.org/web/20111206034431/http://www.emulation.com:80/cgi-cfm/insert_quantity.cfm?part_number=S%2DTSO%2DSM%2D048%2DA

Attached to [Southbridge](../Southbridge.md)
Attached to [Southbridge](./Southbridge.md)

## NAND Points on Motherboard for FAT

Expand All @@ -25,13 +25,16 @@ coming soon...
## Different Sizes

On different Motherboard Revision also different NANDs were used.
[Xenon](../Xenon_(Motherboard).md)-, [Zephyr](../Revisions/Zephyr.md)-,
[Falcon](../Revisions/Falcon.md)-, [Opus](../Revisions/Falcon.md#opus)- and some
[Jasper](../Revisions/Jasper.md)-Consoles (Retails) are using 16MB NANDs,
other [Jasper](../Revisions/Jasper.md)-Consoles (Retail),Arcade Bundles which
came without a HDD, got a 256MB or 512MB NAND onboard. Only 64MB of
[Xenon](./Xenon_(Motherboard).md)-, [Zephyr](./Revisions/Zephyr.md)-,
[Falcon](./Revisions/Falcon.md)-, [Trinity](./Revisions/Trinity.md)-, and some
[Jasper](./Revisions/Jasper.md)-Consoles (Retails) use 16MB NANDs.

Other [Jasper](./Revisions/Jasper.md)-Consoles (Retail), Arcade Bundles which
came without a HDD, got a 256MB or 512MB Big Block 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
internal FATX 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.

Expand Down Expand Up @@ -102,20 +105,13 @@ This also works in reverse:

## Reading/Writing

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](../../../Linux/Lflash.md).
The Flash can be written or read using a number of methods.

You can also wire LPT directly to the flash using this
[diagram](http://img19.imageshack.us/img19/5198/wiringforxenondiagram.jpg).
As well, you can build your own USB SPI Flasher with [this
diagram](http://img35.imageshack.us/img35/8949/xbox360usbflasher.png)
and use [these binaries](https://sourceforge.net/projects/free60/files/PicFlash/PICFLASH_v3b_plus2.zip).
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,
- If you are on a retail flash, the easiest is using a [SPI Programmer](../NAND/SPI_Programmer.md)

- If you have the old KK hack, the easiest is using [lflash](../../Linux/Lflash.md).

Once wired you can read/write to the chip using software such as
[NandPro](../../../Homebrew/PC-Software/NANDPro.md).
- If you are on RGH / JTAG, the easiest is using [XeLL-Reloaded](../../Homebrew/Tools/XeLL.md)

In software the NAND is mapped to memory address 0x80000200C8000000.

Expand All @@ -133,12 +129,12 @@ In software the NAND is mapped to memory address 0x80000200C8000000.
## NAND File System

Informations about the Filesystem on the Xbox 360 NAND Flash can be found
[here](../../.././System-Software/NAND_File_System.md)
[here](../../System-Software/NAND/Image.md)

## Bad Blocks

Its possible that bad blocks appears when reading/writing to the NAND.
For solving these look at the following page: [Bad Blocks](../../../Hacks/NAND_Bad_Blocks.md)
For solving these look at the following page: [Bad Blocks](../NAND/Bad_Blocks.md)

## Small flash chip close to CPU

Expand Down Expand Up @@ -178,7 +174,7 @@ datasheet.

There is another Atmel chip on the front panel:

![Atmel2](../../../images/Noimage.png) <!-- This image (Atmel2.jpg) has never actually appeard on the wiki archive. A new image can be taken by anyone with the correct hardware. -->
![Atmel2](../../images/Noimage.png) <!-- This image (Atmel2.jpg) has never actually appeard on the wiki archive. A new image can be taken by anyone with the correct hardware. -->

Atmel 528 serial EEPROM

Expand All @@ -198,8 +194,10 @@ datasheet.

## Tools

- [J-Runner with Extras](https://github.com/J-Runner-With-Extras/J-Runner-with-Extras), AIO NAND Builder and Flasher
- 360 Flash Tool, which is not easy to find
- [Xbox 360 NAND Editor](http://www.megaupload.com/?d=LGF518J0) by stoker25,
open source and semi-complete, has code to do with bootloaders/keyvault/filesystem
<!--- [Xbox 360 NAND Editor](http://www.megaupload.com/?d=LGF518J0) by stoker25, open source and semi-complete, has code to do with bootloaders/keyvault/filesystem -->

[Category: Hardware](../../index.md)

[Category: Pages That Need Updating](../../%21Pages_That_Need_Updates.md)
2 changes: 1 addition & 1 deletion docs/Hardware/Console/Revisions/Jasper.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Xbox 360. On Jasper motherboards found within Arcade SKUs, this Xbox 360
[memory unit](../../Accessories/Memory_Unit.md) to facilitate the
NXE Dashboard.

The connections required to [dump/flash the NAND](../../../Hacks/NAND_Reading.md)
The connections required to [dump/flash the NAND](../../NAND/Reading.md)
are the **same** as all previous models.

Performing the [SMC Hack](../../../Hacks/SMC_Hack.md) requires the same wiring
Expand Down
2 changes: 1 addition & 1 deletion docs/Hardware/Console/SPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

The SPI bus (Serial Peripheral Interface) on the Xbox 360 is mainly used
for communicating with the [NAND-Flash Controller (SFCX)](../../System-Software/SFCX.md),
an [SPI Programmer](../../Hacks/SPI_Programmer.md) is needed for this. The bus
an [SPI Programmer](../NAND/Reading.md) is needed for this. The bus
consists of the following signals:

| Name | Description |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,5 +281,5 @@ Source:
[google-docs](https://web.archive.org/web/20100713001647/https://docs.google.com/View?id=dnfmv5h_23gw47ddgs) \(archive.org mirror\) &
[XBH, posted by trancy](http://www.xboxhacker.org/index.php?topic=13618.0)

[Category: Hardware](../Hardware/index.md)
[Category: Hardware](../../Hardware/index.md)

Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
# NOTE

In 2026 it is not reccomended to read your NAND with an LPT cable / port. It takes much longer then [Other Flashers](./Reading.md) and requires old hardware with LPT access.

# NAND reading

This tutorial explains how to read the Xbox360's
[NAND](../Hardware/Console/NAND/index.md)/Flash via a PC's parallel/"printer" port in as
[NAND](../../Hardware/Console/NAND.md)/Flash via a PC's parallel/"printer" port in as
clean and easy as possible a way. The same method is used to dump all
models of the Xbox 360 ([Xenon](../Hardware/Console/Xenon_(Motherboard).md),
[Zephyr](../Hardware/Console/Revisions/Zephyr.md), [Falcon](../Hardware/Console/Revisions/Falcon.md),
[Opus](../Hardware/Console/Revisions/Falcon.md#opus), [Jasper](../Hardware/Console/Revisions/Jasper.md)).
models of the Xbox 360 ([Xenon](../../Hardware/Console/Xenon_(Motherboard).md),
[Zephyr](../../Hardware/Console/Revisions/Zephyr.md), [Falcon](../../Hardware/Console/Revisions/Falcon.md),
[Opus](../../Hardware/Console/Revisions/Falcon.md#opus), [Jasper](../../Hardware/Console/Revisions/Jasper.md)).

Please keep quick & dirty setups and speculation out or, in case some
guesswork is really needed, flag them, so this article and the whole
Expand Down Expand Up @@ -76,12 +80,13 @@ V0.88a CD FIXED \[22/08/2009\])
::\*NAND Compare and Reconstruction Tool - (compare 2 nand images or
reconstruct image from 3 bad reads)

<!-- All dead and excluded from wayback machine
## Photos

[1](http://www.abload.de/img/exsamplewek4.jpg)
[2](http://www.abload.de/img/example2sf3m.jpg)
[3](http://www.abload.de/img/example3kdbk.jpg)

-->
## Steps:

### Preparing the cable
Expand Down Expand Up @@ -110,7 +115,9 @@ unneeded pin (e.g., 15) to the needed one (e.g., 14).
I (some11) bought a LPT Cable (Nikkai LPT Parallel Printer Cable
\[L79BT\]) from Maplins.

<!-- Dead image link
<http://i45.tinypic.com/29lhggk.jpg>
-->

Here is the wire color map output:

Expand Down
35 changes: 35 additions & 0 deletions docs/Hardware/NAND/PicoFlasher.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# PicoFlasher v4

Needed material:

- 1x Raspberry Pi Pico
- 1x Micro-USB to USB-A Cable
- Wire

Program the Pico with the latest [PicoFlasher](https://codeberg.org/hax360/PicoFlasher) firmware.

| Pico | Xbox |
| ----- | -------------- |
| GP16 | SPI_MISO |
| GP17 | SPI_SS_N |
| GP18 | SPI_CLK |
| GP19 | SPI_MOSI |
| GP20 | SMC_DBG_EN |
| GP21 | SMC_RST_XDK_N |
| GND | GND |

![Phat PicoFlasher Pinout](images/PhatPicoFlasherWiringDiagram.png)

![Slim PicoFlasher Pinout](images/SlimPicoFlasherWiringDiagram.png)


## Software

PicoFlasher works natively on Windows via J-Runner-with-Extras. After programming with the latest firmware
and soldering in the headers to your Xbox 360, connect your PicoFlasher to your PC and start J-Runner.

If succesfully connected, a PicoFlasher logo will appear on the main page.

![J-Runner-PicoFlasher](images/J-Runner-Picoflasher.jpg)

Simply click "Read NAND" to read, and "Write NAND" to write.
48 changes: 48 additions & 0 deletions docs/Hardware/NAND/Reading.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# General

To communicate with the Flash Controller you need a device which
is capable of the [Xbox 360's SPI Protocol](../../Hardware/Console/SPI.md). There are
ready-to-use devices you can buy or, if you aren't afraid of soldering
your own hardware, DIY homebrew devices. Basically: Get the device
programmed (if needed) and solder it according to the
[Diagram](../../Hardware/Console/SPI.md) to your Xbox's mainboard - you can start
reading/writing to your NAND after installing the needed drivers.


# [PicoFlasher](./PicoFlasher.md)

Recommended SPI Programmer in 2026. Only requires a Pi Pico and soldering skills.
Fast reads and writes.

# [DIY SPI Programmer](./SPI_Programmer.md)

Legacy method to build your own SPI Programmer. Slow reads and writes.

# [LPT Programmer](./LPT_Programmer.md)

Legacy method to read the NAND flash directly using a Parallel Port.
Extremely slow reads and writes.


# Other Methods

Many pre-built pre-flashed existing programmers exist. can be used directly with Software like **J-Runner with Extras** and [NANDPro](../../Homebrew/PC-Software/NANDPro.md) to interact with the NAND Flash.

In order of most recommended to least recommended, they are:

## [xFlasher360](https://github.com/Element18592/xFlasher-360) (Open Source)

- NAND and eMMC, Fast
- ISD Flashing
- CPLD Timing Flashing

## TX JR-Programmer (Proprietary)

- NAND, no eMMC, Slow
- ISD Flashing
- CPLD Timing Flashing

## TX NAND-X (Proprietary)

- NAND, no eMMC, Slow
- CPLD Timing Flashing
21 changes: 21 additions & 0 deletions docs/Hardware/NAND/SPI_Programmer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# DIY / Homebrew SPI Programmer

Needed material:

- 1x 50X100 PCB
- 1x 12 MHz Resonator
- 1x 220nF Capacitor
- 1x 100nF Capacitor
- 1x 10 kOhm Resistor
- 6x 100 Ohm Resistor
- 1x 1 Row x 10 Pin - 2,54mm Pin Headers (male)
- 1x 1 Row x 10 Pin - 2,54mm Pin Headers (female)
- 1x PIC 18F2455-I/SP
- 1x USB Conector (female)
- 1x Matching USB Cable
- Wire

Program the PIC with your favorite PIC Programmer (Can be build or
bought - for building one yourself the "ART2003" is recommended) with
the latest "Picflash" HEX file.
![USB SPI Programmer Diagram](images/USB_SPI_Programmer.png)
File renamed without changes
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/Pre-release_differences.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ it, XOR that byte with 0xF0 to get true number
- Doesn't seem to have bad block management... probably does though

Uses a whole different file system for storing the dashboard files,
instead of [SFCX](./System-Software/NAND_File_System.md) it uses [FATX](./System-Software/Systems/FATX.md)
instead of [SFCX](./System-Software/NAND/File_System.md) it uses [FATX](./System-Software/Systems/FATX.md)
Loads more files inside FATX NANDs:
* drivers.xex
* xnet.xex
Expand Down
6 changes: 3 additions & 3 deletions docs/System-Software/360_System_Software.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ signed with a different header.
**[(SFCX](./SFCX.md)** **S**ecure
**F**ile **C**ache for **X**box) :is used for cache storage for games.

**[NAND File System](./NAND_File_System.md)** is used to store the
bootloaders, kernel, keyvault and other files on the
[NAND](../Hardware/Console/NAND/index.md).
**[NAND File System](./NAND/File_System.md)** is used to store the
system files (XAM, Dashboard, etc) on the
[NAND](../Hardware/Console/NAND.md).

# File Formats

Expand Down
Loading
Loading