Skip to content

Features

Nanook edited this page May 1, 2022 · 26 revisions

NKit 2 is multiplatform disc image processor written in C#/DotNet6.0. Primarily aimed at game preservation; capable of reading multiple formats, containers and archives for various systems.

System Summary

The following features are currently supported. See the Roadmap document for other features awaiting implementation.

  • GameCube
    • Retail / Non-Retail (e.g. System images / Action Replay) / Customs
    • Reads ISO / GCM / CISO / WBFS (+ split) / ISO.DEC / WIA / RVZ / NKit (ISO / GCZ)
    • Writes ISO / CISO / WBFS / RVZ (ZStandard / Uncompressed)
    • Truncated / Oversized images
    • ISO Dedupe and reconstruct
    • Unscrub
    • File system support
    • NKit Scan Output
    • Dedupe and recreate images
    • Process from archives without temp file or caching ISO / GCM / CISO / WBFS / ISO.DEC / RVZ (All nkit created / most dolphin created)
  • Wii
    • Retail / RVT-R / RVT-H / Non-Retail (e.g. Freeloader) / Customs
    • Reads ISO / CISO / WBFS (+ split) / WIA / RVZ / ISO.DEC / NKIT (ISO / GCZ)
    • Writes ISO / CISO / WBFS / RVZ (ZStandard / Uncompressed)
    • Missing + Filled Update Partitions - including system images with incrementing Int32s
    • Truncated / Oversized images
    • Scrub Detection
    • Unscrub
    • Key lookup (files / zip)
    • Ticket / TMD Cert Validation and Fake signing detection
    • ISO Dedupe and reconstruct
    • File system support
    • NKit Scan Output
    • Read from archives without temp file or caching ISO / GCM / CISO / WBFS / ISO.DEC / RVZ (All nkit created / most dolphin created)
  • WiiU
    • Reads WUD / WUX
    • Writes WUD
    • Retail / Non-Retail (e.g. Dev Discs)
    • Ticket / TMD Cert Validation
    • File system support
    • NKit Scan Output
    • Process from archives without temp file or caching WUD / WUX
  • ISO9660 Formats
    • Including PS1 / PS2 / PS3 / PSP / Dreamcast / Saturn / Sega CD / CD-i ...
    • File Systems and Extensions ISO9660 / CD-XA / Joilet / Romeo / RockRidge / El Torito
    • Reads ISO (Mode 1 / 2 +Form2) / Cue+Bin / GDI (Dreamcast)
    • Key lookup - PS3 (files / zip)
    • All filesystems scan in one pass
    • ECC / EDC Validation
    • Multi Session
    • File system support
    • NKit Scan Output
    • Process from archives without temp file or caching

Archive Support

NKit is a forward reading processor. Where possible images can be processed from archives without saving to disk or extracting to memory. The following archives are supported:

  • Rar
    • Rar 1,2,3,4,5
    • Split - a single file archive that's been split in to parts - file.001, file.002 ...
    • Multi Volume / Part - file.rar, file.r01 ... - file.part001.rar, file.part002.rar ...
    • Solid mode - single file, split, multi volume
  • Zip / ZipX
    • Single file
    • Split - a single file archive that's been split in to parts - file.001, file.002 ...
    • Multi Volume / Part - file.zip, file.z01 ... - file.zipx, file.zx01
  • 7Zip
    • Single file
    • Split - a single file archive that's been split in to parts - file.001, file.002 ...
    • Solid mode - single file, split
  • GZip
    • Single file
    • Split - a single file archive that's been split in to parts - file.001, file.002 ...

ZStandard for ZipX is not currently supported. It's on the roadmap.

Batch Processing

Images can be processed in batches or singularly. Images can reside in the filesystem or within archives. NKit will scan the paths / files provided and collate them all before processing. Split images, multi part archives and Cue/Bin/GDI are processed as if one whole image even within split archives.

NKit Scans

NKit creates .nkit files that contain a map of a full image. Scans are xml and are a logical hybrid view of image layout and filesystem. Useful for quickly identifying differences between similar images and what those differences are. E.g. A corruption in a file within the filesystem, disc / partition headers, filled space etc.

Originally created for debugging then promoted to a full feature. Scanning images in different containers will produce the same scan if the encoded image data is equal. For example, a Wii encoded with WIT as scrubbed ISO, WBFS, CISO and WIA all create the exact same nkit scan. Making it useful to find duplicates and diffs. Likewise scanning a PS3 ISO in encrypted and decrypted formats will produce the same scans.

NKit scans are required by the dedupe feature to reconstruct an image on-the-fly. Exactly matching the source pre deduped image.

Result Output

Processed image results can be logged to a file where each line holds information about the image. CRCs and any verification results are included. This allows batch processing to be looked over easily upon completion.

Clone this wiki locally