Difference between revisions of "NKit"
(→Overview) |
|||
(One intermediate revision by the same user not shown) | |||
Line 9: | Line 9: | ||
'''Preserve''' is the ability to shrink any image and convert it back to the source ISO | '''Preserve''' is the ability to shrink any image and convert it back to the source ISO | ||
− | NKit can convert to ISO and the NKit format. The NKit format is designed to shrink an image to | + | NKit can convert to ISO and the NKit format. The NKit format is designed to shrink an image to its smallest while ensuring it can be restored back to the original source data. NKit images are also playable with Dolphin, Swiss and Nintendont (but not Wii USB Loaders yet). |
==Key Uses== | ==Key Uses== | ||
Line 48: | Line 48: | ||
* Replace Brickblocked Update partitions | * Replace Brickblocked Update partitions | ||
* Auto fixes modified disc headers (where the Data header remains intact) | * Auto fixes modified disc headers (where the Data header remains intact) | ||
− | * Fixes rare corrupt Wii partition table (caused by | + | * Fixes rare corrupt Wii partition table (caused by Wii Backup Manager) |
* Fixes scrubbed trailing file 0's | * Fixes scrubbed trailing file 0's | ||
* Fixes truncated Wii images (where the Data partition is intact) | * Fixes truncated Wii images (where the Data partition is intact) |
Latest revision as of 23:18, 31 December 2019
Contents
WIP!!
NKit documentation is WIP. It will be added to as people ask questions and raise issues...
Overview
NKit is a Nintendo ToolKit that can Recover and Preserve Wii and GameCube disc images
Recovery is the ability to rebuild source images to match the known good images verified by Redump
Preserve is the ability to shrink any image and convert it back to the source ISO
NKit can convert to ISO and the NKit format. The NKit format is designed to shrink an image to its smallest while ensuring it can be restored back to the original source data. NKit images are also playable with Dolphin, Swiss and Nintendont (but not Wii USB Loaders yet).
Key Uses
- Unscrub/Rebuild Wii/GC images from scrubbed/header+region hacked/wbfs(file)/iso.dec/iso/gcz to match Redump good images
- Convert Wii/GC images to NKit format (small, playable, reversible) - with optional gcz compression
- Preserve and shrink Scrubbed and Custom images
- Preserve Wii images with controlled removal of update partition
Recovery
- Recover scrubbed, header/region hacked images to match Redump verified images
Preservation - NKit Format
- Convert Redump, Hacks, Scrubbed images to NKit format and back to the original iso data
Features
- Recovery and Preservation of GameCube and Wii images
- NKit Format (smallest format and Dolphin compatible, GC is hardware compatible)
- GC NKit format aligns audio and tgc files to 32k for playability
- Wii NKit format removes hashes and encryption (Dolphin Compatible)
- Reusable library for use in other projects
- Test Mode
- Summary log of all conversions
- Rename images that match Dat file entries to a configurable mask
- Supports 100% of Redump images (Unlicensed, All Regions, Multi Disc etc)
- Scrubbed and Hacked preservation support
Formats
- GCZ support
- ISO.DEC read support
- WBFS read support
- ISO support
- RVT-R Wii ISO read support
- NKit Format support (smallest format and Dolphin compatible)
- Read the above images from Rar/Zip/7zip etc
Recovery Abilities
- Insert missing Wii Update (inc rare extra data), Channel and VC partitions
- Replace Brickblocked Update partitions
- Auto fixes modified disc headers (where the Data header remains intact)
- Fixes rare corrupt Wii partition table (caused by Wii Backup Manager)
- Fixes scrubbed trailing file 0's
- Fixes truncated Wii images (where the Data partition is intact)
- Fixes slightly overdumped images (from descramble tools)
- Fixes Wii Data partitions moved before 0xF800000 to save space
- Fixes compacted GC images
- Fixes moved and reordered GC files
- Fixes modified GC headers (inc. title, region hacks)
- Fixes mod chip modified GC apploaders
- Fixes GC images with non conformant junk
- Fixes modified Wii region and ratings
- Support for GC images with junk not generated with the image ID
Requirements
- Windows | Linux | Mac
- .Net for Windows or Mono 4.6.1 for Mac or Linux (Will be ported to dotnet core 3.0 soon)
Download
Documentation
- User Guide - Please read :-)
- FAQ - Coming soon...
- Glossary
Technical
- Discs : GameCube and Wii disc details
- File Systems : Info about the GameCube/Wii filesystems and gaps
- The NKit Format : Detailed information about the NKit Format
History
Version 1.4
- Fixed Hash Preservation for images with corrupt FSTs
- Fixed "Truncated RVT-R image detected..." message being shown incorrectly
- FST filenames are now correctly encoded with Shift-JIS
There should be no breaking changes or conversion difference for any previously successfully verified images. Please report any issues.
Version 1.3
- Added RVT-H Detection. This is not currently supported - An error is thrown and logged
- Fixed NkitReencode. It was always reencoding and not copying the NKit file when converting nkit.iso <-> nkit.gcz
- Fixed Verify not outputting any log detail messages e.g. When a removed Update Partition is required to verify and was not present - no message was output, it just failed
- Moved the SummaryLog to the Processed folder rather than the app folder to make it more obvious
- Added settings home support. ~ at the start of a Path will insert the user's home directory (all OSs)
- Revert To .Net 4.6.1 - mono wasn't handling 4.7.2 very well. The app well be ported to dotnet core 3 soon
- ProcessorApp: Added failure message to log errors (same as cmldline exe output)
- ProcessorApp: Disabled the checkbox for 'Remove and Preserve Wii Update Partitions' when Recovering or Converting to iso
- ProcessorApp: Fixed checkbox for 'Remove and Preserve Wii Update Partitions' not being set on app load
- ProcessorApp: Fixed progress .1.2.3... text alignment in the log output
- ProcessorApp: Fixed the output log being truncated when a partition ID contained a null char
There should be no breaking changes or conversion difference for any previously successfully verified images. Please report any issues.
Version 1.2
- Updated to .Net 4.7.2 (Preparation for long file name support)
- Added support for images that a file ends on a non 4 byte alignment (for 1 shrunk GC demo)
- Added support for images that have no Magic (default to GC - for 1 GC early system disc)
- Fixed the ExtractionApp GC Region always showing Japan
- Corrected NKitExtracted path in config
- Added missing Wii Jakers config entry
- Fixed Double "Truncated RVT-R" message
- Fixed ProcessorApp Gui Exception not being captured
- Fixed Drag Drop message being cleared when a non supported file is dropped
- Modified some public class accessibility to make them internal
There should be no breaking changes or conversion difference for any previously successfully verified images. Please report any issues.
Version 1.1
- NKit format fix: Fixed a bug when converting Wii to NKit. This was introduced during the last 2 days of development while adding support for a Customs preservation bug.
- Fixed a minor ProcessingApp bug where the output path wouldn't be used.
Any Converted NKit Wii images from v1.0 are not corrupt. Just not 100% correct to the format. Reconverting will correct the issue. Make sure NKitReencode is set to true if reconverting images that were made with v1.0.
Version 1.0
A lot of effort has gone in to ensuring this version is as stable and reliable as possible. The NKit Format is stable and reliable. Always use FullVerify as it's always accurate as are the Hashes when CalculateHashes is on. Please report any issues and ask any questions.
- Fixed a bug in the GC Format (This alters 12 of the GC Redump images - just reencode them if you verify against NKit dats)
- Added Wii NKit Format (100% Redump tested, Scrubbed & Custom Support)
- 2 Windows (Sorry Linux & Mac users) GUI Apps added, including file extraction
Version 0.5
First stable version
Future Features
- WBFS output (for easy output for Wii Hardware use)
- CISO reading
- Port the code to dotnet core 3 when it's released (GUIs too)
- Port to Android
Credits
- Johnsanc - Testing, ideas and motivation
- JosJuice - Disc format and Dolphin knowledge
- GerbilSoft - Disc format knowledge (+ RVT-R) (rvthtool / rom-properties)
- Osupka - UltimateUnscrubber code
- LedZeppelin68 - Nasos (ISO.DEC) code
- Wiimm - WIT (WBFS) code
- ToeKnee - Testing
- Dack - Wii Scrubber code
- Scifi76 - Wii Scrubber dll (fst.bin) code
- All the game preservationists out there - hope this saves you some space...