From WikiTemp, the GBAtemp wiki
(NKit.gcz)
(Disc Terms)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Glossary ==
 
  
 
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.  
 
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.  
 
They are listed in a related logical order rather than alphabetically.  
  
=== General Terms ===
+
== General Terms ==
  
 
===== Nkit =====
 
===== Nkit =====
Nintendo ToolKit – This set of apps based around the NKit.dll. Used to Convert and Recover GameCube and Wii images  
+
Nintendo ToolKit – This set of apps based around the NKit.dll. Used to Convert and Recover GameCube and Wii images  
  
 
===== NKit Format =====
 
===== 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 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.iso =====
NKit raw format. Playable in Dolphin. GameCube is playable on hardware. When externally compressed (7zip...) it's the smallest version  
+
NKit raw format. Playable in Dolphin. GameCube is playable on hardware. When externally compressed (7zip...) it's the smallest version  
  
 
===== NKit.gcz =====
 
===== 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
+
NKit compressed format. Playable in Dolphin only. The GCZ container is Dolphin's own seekable compressed format. This is the smallest playable format
  
 
===== Conversion =====
 
===== Conversion =====
The process of converting source images to output formats  
+
The process of converting source images to output formats  
  
 
===== Passes =====
 
===== Passes =====
Conversion often requires multiple passes. E.g. Recover to Iso, Convert To NKit, Verify  
+
Conversion often requires multiple passes. E.g. Recover to Iso, Convert To NKit, Verify  
  
 
===== Processing =====
 
===== Processing =====
General term for the the conversion of an image or a pass  
+
General term for the conversion of an image or a pass
  
 
===== Image =====
 
===== Image =====
A file, iso or game being converted  
+
A file, iso or game being converted  
  
 
===== Archives =====
 
===== Archives =====
Zip, Rar, 7zip files containing an image  
+
Zip, Rar, 7zip files containing an image  
  
 
===== Forward Only =====
 
===== Forward Only =====
NKit can stream images from archives (zip, rar, 7z). These formats only allow reading of files from start to end. NKit it designed and built around this  
+
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 =====
 
===== Patch =====
When processing images in a forward only stream. Any data to be updated in the output is patched (updated) at the end  
+
When processing images in a forward only stream. Any data to be updated in the output is patched (updated) at the end  
  
 
===== Checksums =====
 
===== Checksums =====
Values that identify images to verify correctness and to match against dat files of known images. NKit can create CRC, MD5 and SHA1  
+
Values that identify images to verify correctness and to match against dat files of known images. NKit can create CRC, MD5 and SHA1  
  
 
===== CRC =====
 
===== 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 match it
+
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 =====
Redump is a preservation project that holds Dat files of images and their checksums. Matching these images ensures they are not corrupt  
+
Redump is a preservation project that holds Dat files of images and their checksums. Matching these images ensures they are not corrupt  
  
 
===== Dat =====
 
===== Dat =====
A file of known images, sizes and checksums  
+
A file of known images, sizes and checksums  
  
 
===== Recovery =====
 
===== 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  
+
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 =====
 
===== Recovery Files =====
Files required by recovery processing. Without these files recovery is limited to very few scenarios. Basically unscrubbing  
+
Files required by recovery processing. Without these files, recovery is limited to very few scenarios. Basically unscrubbing
  
 
===== Convert =====
 
===== Convert =====
Convert an image to and from the NKit format preserving its exact data  
+
Convert an image to and from the NKit format preserving its exact data  
  
 
===== Restore =====
 
===== Restore =====
Used to describe converting back from the NKit format  
+
Used to describe converting back from the NKit format  
  
 
===== Match =====
 
===== Match =====
A processed image that matches an entry in a dat  
+
A processed image that matches an entry in a dat  
  
 
===== Valid =====
 
===== Valid =====
An image restored from NKit that matches the source image CRC  
+
An image restored from NKit that matches the source image CRC  
  
 
===== Bad Conversion =====
 
===== 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  
+
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 =====
 
===== Summary =====
A summary of each conversion is logged in to the Summary Log file. This should be checked when processing large batches  
+
A summary of each conversion is logged in to the Summary Log file. This should be checked when processing large batches  
  
 
===== Brute Force =====
 
===== 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  
+
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 =====
 
===== Preservation =====
Converting an image that can be veried to be restored back to the original iso data  
+
Converting an image that can be verified to be restored back to the original iso data
  
 
===== Scrambled =====
 
===== Scrambled =====
Raw Wii images are known as scrambled. NKit does not support these. They must be unscrambled first  
+
Raw Wii images are known as scrambled. NKit does not support these. They must be unscrambled first  
  
 
===== Unscrambled =====
 
===== Unscrambled =====
Unscrambled images are supported. Some have an extra 32k of space. NKit will detect and remove this  
+
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 =====
 
===== 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.
+
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 =====
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 with any missing recovery files  
+
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 =====
 
===== Iso.dec =====
A block removal format that only removed blocks containing valid junk data. This is also a preservation format. Not playable in Dolphin  
+
A block removal format that only removed blocks containing valid junk data. This is also a preservation format. Not playable in Dolphin  
  
 
===== Source =====
 
===== Source =====
Used to refer to an input image in any format  
+
Used to refer to an input image in any format  
  
 
===== Output =====
 
===== Output =====
Used to refer to an output image in any format  
+
Used to refer to an output image in any format  
  
 
===== Hang =====
 
===== 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.
+
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 - WIP ===
+
 
+
 
+
Disc
+
 
+
An iso or image. For Wii or GameCube
+
 
+
Partition
+
 
+
  Update Data, Game, Channel, VC
+
 
+
Junk
+
  
NonJunk
+
== Disc Terms ==
  
Preservation Data
+
These items make up the discs (mainly the Wii disc). See the Disc Documentation for detailed information about how this all fits together
  
NKit format data used to preserve the  
+
===== Disc =====
 +
  An iso or image. For Wii or GameCube
  
Scrubbed
+
===== 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
  
Truncated
+
===== Junk =====
 +
Generated data used to fill gaps between data. App that shrink images remove this
  
Compacted
+
===== 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
  
Weird Data
+
===== Scrubbed =====
 +
Areas of an image that have been wiped with 00, FF so that the image compresses better
  
Disc Header
+
===== 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
  
   Disc ID Number region title 
+
===== 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.
  
Partition
+
===== Weird Data =====
 +
Unknown data found in some images directly after a small update partition. It's removed by scrubbers and WBFS.
  
  Header  
+
===== 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
  
  Data  
+
===== Partition =====
 +
Wii partitions consist of a Partition Header and Data  
  
  ID
+
===== Partition Header =====
 +
Wii Partition Headers consist of the Ticket, Cert Chain, TMD, Partition Size and H3 table
  
  H3, Ticket, cert chain, tmd
+
===== 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  
+
===== Group =====
 +
A group is a 2mb collection of 64 32k blocks
  
Block  
+
===== 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
  
Sector
+
===== Hashes =====
 +
Hashes are SHA1 and checksum the partition data and each other
  
Hashes
+
===== Hash Sector =====
 +
The first sector in a block
  
Hash Sector
+
===== Encryption =====
 +
Wii partition data is encrypted using AES
  
Encryption
+
===== Key =====
 +
Wii partition data encryption requires an AES key
  
Key
+
===== Fst =====
 +
The File System Table. This hold the position, size and name of the files
  
Fst  
+
===== Junk File =====
 +
A file marked in the Fst but is not written. Normal gap rules apply to this area
  
Gaps  
+
===== Gaps =====
 +
Space between files where the junk lives and scrubbing occurs
  
Trailing Nulls
+
===== Trailing Nulls =====
 +
0 to 31 nulls that follow file data. The start of a gap

Latest revision as of 08:58, 5 September 2019

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

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