RealWnD is a 1:1 Wii NAND Dumper based on YaWnD 0.3 but with several improvements. All currently available Wii NAND Dumpers misunderstand the IOS_Read() returned error code -12 and cause the dumped image file to be different from the image that would extracted by an external hardware programmer off a de-soldered NAND chip.
|A Real 1:1 Wii NAND Dumper|
After analyzing, the -12 code seems very likely to be an ECC error but not simply a bad block. Most pages with a -12 return code might be unmanaged free blocks (with the ECC error caused by erased and not yet reprogrammed blocks). Zeroing these pages is a bit dangerous. If it happens that it's the very first time the ECC error occurred for a good page while dumping, zeroing it might render the dumped image useless.
Besides the -12 code, some people encounter a -11 code and stop their dumping. I guess the -11 code might be NAND read timeout and NAND status error. Stopping the dumping is not a good idea but zeroing it would be safe. I also provide an extra Page Debug Dump of these -11 codes for the user to later analyze.
For those whose NAND dumps without a -11 code, RealWnD can help them make a 100% 1:1 dump which is exactly the same as a hardware programmer dump.
- Real 1:1 dump of NAND Flash by processing error code -11 and -12
- Greatly reduce dump time by opening files once instead of appending repeatedly
- Add log file for all error pages
- Change to new style FAT management code for easily compiling
- Add Debug Dump for -11 code or others for future analysis
How To Use
Most operations are the same as YaWnd. You can use button 1 to toggle SD and USB, button 2 to toggle +ECC and normal dump, and button A to start dump. In addition, you can use button B to toggle on/off for Debug Dump. A log file WiiFlash.log will log all page error return code. If DebugDump turs on, several image files WFD_<page#>_<error code>.img will be created for future analysis.
- v0.21 (17 May 2009) add more check to prevent useless dump.
- v0.2 (16 May 2009) bugfix: Check IOS_Open return value to make sure if it has succeeded to open NAND.
- v0.11 (08 May 2009) minor bugfix: error code -12 mis-typed as 12 cause error code -12 unnecessarily retry once.
- v0.1 (08 May 2009) Initial release.
- Homebrew Channel, DevkitPPC and libOGC developing crew.
- Redbird's YaWnd source code.
- Waninkoko's Wad Manager FAT management source code.