In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "RealWnD"

From WiiBrew
Jump to navigation Jump to search
(→‎Introduction: Translated to English)
Line 17: Line 17:
  
 
== Introduction ==
 
== Introduction ==
This program is a 1:1 Wii NAND Dumper based on YaWnD 0.3 with several improvements.  All currently available Wii NAND Dumpers misunderstand the IOS_Read() returned error code -12 and cause dumped image file to be different from extracted image of external hardware programmer for de-soldered NAND chip.
+
This program 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 ECC error but not simply to be bad block.  And most pages with -12 return code might be unmanaged free block (ECC error due to erased but not programmed yet).  Zeroing these pages is a bit dangerous.  If it happens it's the very first time the ECC error occurred for a good page while dumping, zeros it might cause the dumped image useless.
+
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 encounters -11 code and stop their dumping.  I guess the -11 code might be NAND read timeout and NAND status error.  Stopping dumping is not a good idea but zeroing it would be safe.  I also provide extra Page Debug Dump for these -11 code for user to analyze it.
+
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 whose NAND dump without -11 code, the RealWnD can help them make 100% 1:1 dump which is exact the same with hardware programmer dump.
+
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 ==
 
== Improvement ==

Revision as of 23:06, 8 May 2009

A Real 1:1 Wii NAND Dumper
General
Author(s)pcfree
TypeUtility
Version0.11
LicenseGPL
Links
[[RealWnD011.zip|Download]]
Source
Peripherals
Wiimote.svg Loads files from the Front SD slot USB mass storage device

Introduction

This program 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.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.