From WikiTemp, the GBAtemp wiki
Revision as of 04:58, 5 September 2019 by Nanook (talk | contribs) (Disc Terms)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The NKit documentation uses the terms below. To prevent repeated explanation of words and terms in other articles they are listed and briefly explained once here.

They are listed in a related logical order rather than alphabetically.

General Terms

Nintendo ToolKit – This set of apps based around the NKit.dll. Used to Convert and Recover GameCube and Wii images 
NKit Format
NKit has its own format. Designed around preservation and always convertible back to the source iso data. It's the smallest format and playable in Dolphin 
NKit raw format. Playable in Dolphin. GameCube is playable on hardware. When externally compressed (7zip...) it's the smallest version 
NKit compressed format. Playable in Dolphin only. The GCZ container is Dolphin's own seekable compressed format. This is the smallest playable format
The process of converting source images to output formats 
Conversion often requires multiple passes. E.g. Recover to Iso, Convert To NKit, Verify 
General term for the conversion of an image or a pass
A file, iso or game being converted 
Zip, Rar, 7zip files containing an image 
Forward Only
NKit can stream images from archives (zip, rar, 7z). These formats only allow reading of files from start to end. NKit is designed and built around this
When processing images in a forward only stream. Any data to be updated in the output is patched (updated) at the end 
Values that identify images to verify correctness and to match against dat files of known images. NKit can create CRC, MD5 and SHA1 
Used throughout NKit to validate and verify images. CRC is useful as it can be calculated in sections and combined when applying patches. This saves having to reprocess an output image to get a match
Redump is a preservation project that holds Dat files of images and their checksums. Matching these images ensures they are not corrupt 
A file of known images, sizes and checksums 
Creating a good known Dat image from any source image. This involves fully rebuilding the image and brute forcing items (header, region, partitions) to match a Dat CRC 
Recovery Files
Files required by recovery processing. Without these files, recovery is limited to very few scenarios. Basically unscrubbing
Convert an image to and from the NKit format preserving its exact data 
Used to describe converting back from the NKit format 
A processed image that matches an entry in a dat 
An image restored from NKit that matches the source image CRC 
Bad Conversion
Some unlicensed, hacked or modified images are not correct and cannot be reprocessed. They may work correctly if the bad data is never referenced. NKit can still convert and restore these images. They are called Bad Conversions because they will not run in this state 
A summary of each conversion is logged in to the Summary Log file. This should be checked when processing large batches 
Brute Force
Recovering imaged to match a dat CRC can rely on combining many possibilities together until one matches something. NKit Recovery has the ability to deduce some header variants, region and update partitions 
Converting an image that can be verified to be restored back to the original iso data
Raw Wii images are known as scrambled. NKit does not support these. They must be unscrambled first 
Unscrambled images are supported. Some have an extra 32k of space. NKit will detect and remove this when recovering as no Redump images have it
There are 2 types of Wii RVT images RVT-R and RVT-H. NKit supports RVT-R as source images. They are required to be iso and 7MB larger than a normal image. RVT-H is the NKit Wii format with additional info in the disc header. Dolphin has supported RVT for a while
WBFS is a disk and file format. NKit supports the file version. It is a block removal format. Tools that create it also often remove non-game partitions also. NKit is able to recover these using recovery files
A block removal format that only removed blocks containing valid junk data. This is also a preservation format. Not playable in Dolphin 
Used to refer to an input image in any format 
Used to refer to an output image in any format 
Used to refer to a specific type of bug that has happened in NKit due to the nature of the multithreading and internal circular buffer. Any progress bars stop moving and the app becomes idle

Disc Terms

These items make up the discs (mainly the Wii disc). See the Disc Documentation for detailed information about how this all fits together

An iso or image. For Wii or GameCube 
Wii images contain partitions, typically only Update and Data. There are, Channel, VC and Other too. They are almost identical to a GameCube disc 
Generated data used to fill gaps between data. App that shrink images remove this 
An unimaginative term to describe data that didn't match generated junk. NonJunk is preserved. It's mainly found in non-Redump images such as hacks etc. 
Preservation Data
Added to an image by NKit to be able to reconstruct missing areas of junk. Generally any junk areas are reduced to 4 bytes 
Areas of an image that have been wiped with 00, FF so that the image compresses better 
An image that has had the files in its file system moved to the start of the disc. This is a GameCube thing. NKit also does this for both Wii and GameCube images 
 Compacted imaged are often resized to remove the unused data to shrink the image. This is a GameCube thing as Wii tool use block removal. 
Weird Data
Unknown data found in some images directly after a small update partition. It's removed by scrubbers and WBFS. 
Disc Header
 The start of a disc. It contains the Disc ID, Disc Number, Disc Version, Title. Wii also contains the Region and Partition table 
Wii partitions consist of a Partition Header and Data 
Partition Header
Wii Partition Headers consist of the Ticket, Cert Chain, TMD, Partition Size and H3 table
Partition Data
Wii Partition Data is like a GameCube disc. Amongst other things it contains a Header, Fst, Files and Junk. Not to be confused with the Data Partition 
A group is a 2mb collection of 64 32k blocks 
A block is a 32k collection of 1k sectors. The first sector contains H0, H1 and H2 hash tables. Sector 1 is the hash sector
Hashes are SHA1 and checksum the partition data and each other 
Hash Sector
The first sector in a block 
Wii partition data is encrypted using AES 
Wii partition data encryption requires an AES key 
The File System Table. This hold the position, size and name of the files 
Junk File
A file marked in the Fst but is not written. Normal gap rules apply to this area 
Space between files where the junk lives and scrubbing occurs 
Trailing Nulls
0 to 31 nulls that follow file data. The start of a gap