Repository navigation
NKit v3.0.0
NKit v3.0.0
New async processing core
The engine that reads, processes, and writes disc images has been rebuilt from the ground up. Every image streams as ordered sections through a parallel pipeline with an autoscaling worker pool.
- Reads directly from archives — no temporary extraction step for RVZ, WBFS, CISO, CHD, WIA
- Fewer passes, fewer SSD writes — GameCube/Wii
.nkit.iso/.nkit.gczand XBox-in-archive process in a single pass - Live progress with percentage, throughput, and elapsed time shown while a task runs
- New caching stream layer — a shared forward-only cache-backed stream enables archive processing without expanding first
NKit DataStore (nkds) — changes since v2.1.0
- Duplicate-name tagging uses
{00}instead of(00)— avoids clashes with real parenthesised names like region tags(USA) - Renaming to dat names removes duplicates when an entry with the same name and checksums already exists
- Stored filenames keep their extensions — no longer stripped on import
- WiiU handling improvements: CDN title renaming, kiosk (CAT-I) discs, and other edge cases store and verify correctly
- DataStore integrity hardened against interrupted operations
- PS2 multi-track CUE+BIN images now store and verify correctly — Track 2 data was previously silently discarded (see Bug fixes)
Supports all NKit systems: Wii, GameCube, WiiU, Xbox, Xbox360, PS1, PS2, PS3, PSP, Dreamcast, Saturn, SegaCD, PC Engine, and more.
See the DataStore documentation for setup and usage.
CLI changes
The command-line interface has been overhauled for v3. Tooling or scripts written for v2 may need updating.
- Verb-based CLI — task is the command (
nkit convert …,nkit scan …) with--long/-shortoptions and a git-style help tree; config-file keys share the CLI names - Interactive mode —
nkitwith no arguments (or a file dropped onto it) launches a guided builder with config-seeded defaults; it shows the equivalent command line so it doubles as a way to learn the CLI - Console colours — colour-coded terminal output for easier reading at a glance
- Detailed logging — configurable log levels (
--console-level,--log-level) withnone,info,detail,error, anddebugoptions; useful for diagnosing issues or scripting - Per-system option scoping — options scoped per system on the command line using a
system:prefix, e.g.--format wii:rvz:19 --gamecube:wbfs:y - Dat sets —
--dats-redump,--dats-nointro,--dats-tosecaccept full Redump/No-Intro/TOSEC collection folders; the correct per-system dat is selected automatically - New options —
--results-out,--no-archives,--no-config,--skip-if-completed - Renamed options —
--in→--input,--out→--output. Legacy names are still accepted
Config file changes (nkit.yaml)
Config keys have been renamed to match the new CLI long option names. Legacy key names from v2 are still accepted.
in→input,out→output,outAsDatMatch→dat-match,r→recursive- New keys:
dedupe,dats.redump,dats.nointro,dats.tosec,console-level,log-level,results-out - Portable mode — if
nkit.yamlsits next to the executable, all relative paths resolve locally; otherwise%APPDATA%\nkit,~/.config/nkit, or~/Documents/nkitis used - First-run setup — both
nkitandnkdscreate the full folder tree (dats/,keys/,fix/,out/,logs/,temp/,dedupe/) and copy the default config on first run
New scan format
- Scans are now written as
<name>.nkit.yaml— a compact, query-friendly YAML layout with optional verbose mode. Older.nkitXML scans are still read.
New / expanded format support
- WIA — LZMA, LZMA2, uncompressed, and PURGE encodings
- RVZ, WBFS, CISO, CHD, WIA — all work when read from inside an archive
- Wii/GameCube fix files — each recovery file may be individually compressed in its own archive
Breaking changes
None. All v2 CLI flags and config key names continue to work without modification.
Bug fixes
- Fix Linux ARM64 legacy build — updated to Ubuntu 20.04 toolchain (replaces dead Ubuntu 18.04 LLVM PPA)
- SSBB and other truncated/oversized images process correctly
- CDXA discs are detected more reliably
- cue/bin and CHD Mode 2 images round-trip correctly in both NKit and NKDS
- ISO multisession detection improved; ISO9660 validation more efficient
Downloads
| Package | Platform |
|---|---|
NKit_win-x64_CLI_3.0.0.zip |
Windows x64 |
NKit_win-arm64_CLI_3.0.0.zip |
Windows ARM64 |
NKit_linux-x64_CLI_3.0.0.zip |
Linux x64 |
NKit_linux-arm64_CLI_3.0.0.zip |
Linux ARM64 |
NKit_linux-legacy-x64_CLI_3.0.0.zip |
Linux x64 (legacy glibc, Ubuntu 18.04+) |
NKit_linux-legacy-arm64_CLI_3.0.0.zip |
Linux ARM64 (legacy glibc, Ubuntu 18.04+) |
NKit_macOS-Intel_CLI_3.0.0.zip |
macOS Intel |
NKit_macOS-AppleSilicon_CLI_3.0.0.zip |
macOS Apple Silicon |
NKit_*_UI_3.0.0.zip |
GUI equivalents of all of the above |
All binaries are self-contained AOT-compiled native executables. No .NET runtime required.
For documentation and setup instructions, see the Wiki.
For recent changes and known issues, see Current Status.