smarkyie/NSP-Box
GamesPackage extracted Switch 2 game snapshots into plaintext NSP files for compatible emulators, with optional emulator patching.
Project overview
NSP Box is a portable Windows x64 application that turns an already-extracted ExeFS/RomFS snapshot into an unsigned plaintext NSP container for emulators that support plaintext content. It targets people who have lawfully obtained game snapshots and need a repeatable packaging workflow: pick a folder, read the title ID from main.npdm, add artwork, choose an output name, and build.
The output is a PFS0 container holding Program, Control and Meta NCAs for games, or Data and Meta NCAs for DLC. It is not compressed and is not a retail-console package. The tool does not merge updates into a game, decrypt encrypted NSP/XCI inputs, handle compressed ROM packages, or create XCI files. A separate DLC workflow covers RomFS-only add-ons.
The same app also exposes an optional emulator patch for specific Windows x64 Eglantine nx2, AMD Experimental and PokeDinner builds, letting those emulators read metadata embedded in the NSP instead of requiring an external main.npdm. The patch is explicitly reversible: Remove patch restores the backed-up executable bytes.
Quick start
- Download the latest portable ZIP or the source ZIP from the release page, and extract the entire archive to a writable folder.
- Run
NSP-Box.exe. Python is bundled, so no installation is needed. - Select your main game dump folder with Browse folder, drag-and-drop, or paste a path and press Enter. The folder must be a complete snapshot with
exefs/(includingmainandmain.npdm) andromfs/; a folder containing only update differences is not sufficient. - Choose the desired snapshot from the dropdown. Adjust the displayed game name, version, and artwork; use Crop icon to position a 256×256 icon.
- Set the output filename under Output. Leave Verify after building enabled. Create package folder is on by default, producing a folder with the NSP,
main.npdm, and a JSON verification report; uncheck it to save only the NSP. - Click Build NSP. Allow roughly the input size plus 2% and 32 MB of free space; packages up to 32 GiB are supported.
To use the optional emulator patch, fully close the emulator, open Emulator patch, choose the folder containing the supported executables, run Check and Add patch, then restart the emulator. The detailed patch limits and removal steps are in the patch documentation.
Use constraints
- Windows 10/11 x64 only; no Linux build is included. Administrator rights, Python installation, emulator installation, and network access are not required.
- The app is unsigned and experimental. It does not overwrite existing packages or modify source files, and cancellation removes unfinished output.
- Booting behavior depends on the emulator's plaintext-content support. Verification checks package integrity, not booting or gameplay.
- For Switch 2 packages, the README asks users to set emulator memory to 12 GiB before testing; the app does not change that setting itself.
- Without the emulator patch, some emulator builds need the exact game's external
main.npdmin the package folder. The REPL indicates that a conflicting companion is refused. - Some Eglantine builds need a
prod.keys_autogeneratedentry set containing locally generated placeholders. Setup is opt-in, never runs during scanning or building, and does not replace real retail keys. - If package-folder output is enabled, the local JSON report contains source and destination paths. Review or remove reports before sharing them.
- Use only content you are lawfully authorized to use. No games, artwork, firmware, or Nintendo keys are distributed, and the app provides no Nintendo authentication.
HotRepo's take
The project entered HotRepo's new-projects snapshot on 2026-11-02 in the Python list, recording 138 stars and 11 forks, with 28 stars gained over an observed window of roughly two hours. That single snapshot is enough to show early attention but not a sustained trend, and it says little about whether the tool works across a wide range of game snapshots.
The README is unusually candid about the experimental boundaries: one user-reported DLC success is explicitly framed as not universal, the emulator patch supports a short list of named Windows x64 builds, and the NSP output is described as plaintext emulator repacks rather than authenticated retail packages. For readers assessing fit, the practical questions are emulator-build compatibility and snapshot completeness, not feature count.
HotRepo 点评
该项目在 2026-11-02 进入 HotRepo 新项目榜的 Python 列表记录,当时为 138 Star、11 Fork,约两小时的观察窗口内净增 28 Star。单条快照足以说明早期关注度,但不足以判断持续趋势,也不能说明它对各类游戏快照的实际兼容程度。
README 对实验性边界的说明比较明确:DLC 兼容性只来自一次用户反馈,且明确不代表通用兼容;模拟器补丁只覆盖少量具名的 Windows x64 构建;输出被定义为供模拟器使用的明文重打包,而不是经过认证的零售主机包。对读者而言,是否适用主要取决于模拟器构建和快照完整性,而不是功能数量。
Written by AI from the project's README, updated . The project's own docs are the source of truth.