RealWnD

From WiiBrew
Jump to navigation Jump to search
A Real 1:1 Wii NAND Dumper
General
Author(s)pcfree
TypeSystem tool
Version0.21
LicenseGPL
Links
Download
Peripherals
Wiimote.svg Loads files from the Front SD slot USB mass storage device

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.

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.

Improvement

  • 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.


Changelog

  • 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.

Thanks To

  • Homebrew Channel, DevkitPPC and libOGC developing crew.
  • Redbird's YaWnd source code.
  • Waninkoko's Wad Manager FAT management source code.