NKit/Glossary
From WikiTemp, the GBAtemp wiki
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.
Contents
- 1 General Terms
- 1.1 Nkit
- 1.2 NKit Format
- 1.3 NKit.iso
- 1.4 NKit.gcz
- 1.5 Conversion
- 1.6 Passes
- 1.7 Processing
- 1.8 Image
- 1.9 Archives
- 1.10 Forward Only
- 1.11 Patch
- 1.12 Checksums
- 1.13 CRC
- 1.14 Redump
- 1.15 Dat
- 1.16 Recovery
- 1.17 Recovery Files
- 1.18 Convert
- 1.19 Restore
- 1.20 Match
- 1.21 Valid
- 1.22 Bad Conversion
- 1.23 Summary
- 1.24 Brute Force
- 1.25 Preservation
- 1.26 Scrambled
- 1.27 Unscrambled
- 1.28 RVT
- 1.29 WBFS
- 1.30 Iso.dec
- 1.31 Source
- 1.32 Output
- 1.33 Hang
- 2 Disc Terms
- 2.1 Disc
- 2.2 Partition
- 2.3 Junk
- 2.4 NonJunk
- 2.5 Preservation Data
- 2.6 Scrubbed
- 2.7 Compacted
- 2.8 Truncated
- 2.9 Weird Data
- 2.10 Disc Header
- 2.11 Partition
- 2.12 Partition Header
- 2.13 Partition Data
- 2.14 Group
- 2.15 Block
- 2.16 Hashes
- 2.17 Hash Sector
- 2.18 Encryption
- 2.19 Key
- 2.20 Fst
- 2.21 Junk File
- 2.22 Gaps
- 2.23 Trailing Nulls
General Terms
Nkit
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.iso
NKit raw format. Playable in Dolphin. GameCube is playable on hardware. When externally compressed (7zip...) it's the smallest version
NKit.gcz
NKit compressed format. Playable in Dolphin only. The GCZ container is Dolphin's own seekable compressed format. This is the smallest playable format
Conversion
The process of converting source images to output formats
Passes
Conversion often requires multiple passes. E.g. Recover to Iso, Convert To NKit, Verify
Processing
General term for the conversion of an image or a pass
Image
A file, iso or game being converted
Archives
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
Patch
When processing images in a forward only stream. Any data to be updated in the output is patched (updated) at the end
Checksums
Values that identify images to verify correctness and to match against dat files of known images. NKit can create CRC, MD5 and SHA1
CRC
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
Redump is a preservation project that holds Dat files of images and their checksums. Matching these images ensures they are not corrupt
Dat
A file of known images, sizes and checksums
Recovery
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
Convert an image to and from the NKit format preserving its exact data
Restore
Used to describe converting back from the NKit format
Match
A processed image that matches an entry in a dat
Valid
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
Summary
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
Preservation
Converting an image that can be verified to be restored back to the original iso data
Scrambled
Raw Wii images are known as scrambled. NKit does not support these. They must be unscrambled first
Unscrambled
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
RVT
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
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
Iso.dec
A block removal format that only removed blocks containing valid junk data. This is also a preservation format. Not playable in Dolphin
Source
Used to refer to an input image in any format
Output
Used to refer to an output image in any format
Hang
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
Disc
An iso or image. For Wii or GameCube
Partition
Wii images contain partitions, typically only Update and Data. There are, Channel, VC and Other too. They are almost identical to a GameCube disc
Junk
Generated data used to fill gaps between data. App that shrink images remove this
NonJunk
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
Scrubbed
Areas of an image that have been wiped with 00, FF so that the image compresses better
Compacted
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
Truncated
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
Partition
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
Group
A group is a 2mb collection of 64 32k blocks
Block
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
Hashes are SHA1 and checksum the partition data and each other
Hash Sector
The first sector in a block
Encryption
Wii partition data is encrypted using AES
Key
Wii partition data encryption requires an AES key
Fst
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
Gaps
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