Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
EmmcHaccGen
General
Authorsuchmememanyskill
TypePC Utilities
Version3.2.1
LicenseMixed
Last Updated2026/02/16
Links
Download
Website
Source

EmmcHaccGen is a PC utility that generates a firmware package (BOOT0, BOOT1, Bcpkg2 1-4 and the 120 system save) from a firmware dump and a valid prod.keys for the Nintendo Switch. It is intended as a replacement for ChoiDuJour.

It can be used to unbrick switches or to upgrade/downgrade the console from RCM. The application is written in C# and is available as both a GUI and CLI application.

Features

  • Generates Boot01, bcpkg2 and the 120 system save from a firmware dump
  • GUI and CLI versions available
  • Support for exFAT toggle (disabled by default)
  • AutoRCM support (can be disabled with --no-autorcm)
  • Mariko boot generation support
  • Fix incorrect hashes in source firmware folders
  • Show NCA index information (titleid and type)
  • SD card preparation (for the MMC Rebuild guide)
  • Self-contained GUI releases for Windows
  • Copy progress indicator during SD prep

User guide

GUI

Download the latest EmmcHaccGen.GUI.Windows release from the Releases page.

Extract into a new folder and open EmmcHaccGen.GUI.exe.

Select the location of prod.keys and the firmware folder, then toggle the relevant options and click Generate.

CLI

Download the latest EmmcHaccGen.CLI release from the Releases page.

EmmcHaccGen:
  Generates boot files for the Nintendo Switch. Generates Boot01, bcpkg2 and the 120 system save.

Usage:
  EmmcHaccGen [options]

Options:
  --keys <keys>       Path to your keyset file
  --fw <fw>           Path to your firmware folder
  --no-exfat          Disables exfat support on generated firmware when enabled. Disabled by default
  --verbose           Enable verbose output. Disabled by default
  --show-nca-index    Show info about nca's, like it's titleid and type. Will not generate a firmware folder with this option enabled
  --fix-hashes        Fix incorrect hashes in the source firmware folder. Disabled by default
  --no-autorcm        Disables AutoRcm
  --mariko            Enables mariko boot generation (and disables autorcm)
  --version           Show version information
  -?, -h, --help      Show help and usage information

Requirements

  • A valid prod.keys file
  • A Nintendo Switch firmware dump folder
  • For the GUI release on non-Windows platforms: .NET 7 runtime installed
  • The Windows GUI release (EmmcHaccGen.GUI.Windows) is self-contained and does not require .NET to be installed

Screenshots

Compatibility

Supports Nintendo Switch firmware generation up to HOS 17.0+.

Supports both Erista (unpatched and patched) and Mariko Switch models.

Changelog

v3.2.1

  • SD card preparation (for the MMC Rebuild guide).
  • Self-contained EmmcHaccGen GUI releases.
  • Added copy progress indicator during SD prep.

v3.1.0

  • Generate FS Save Index to fix EmmcHaccGen output not booting past the Nintendo Switch logo on 17.0+.
  • Fix ResultFsPreconditionViolation (2002-6000) errors.

v3.0.0

  • Upgraded to .NET 7.
  • Added GUI version of EmmcHaccGen.
  • CLI now has proper exit codes.

v2.2.3

  • Added the ability to generate boot files with the /a/ folder in the boot NCA.
  • Added the ability to disable AutoRCM.
  • Added a v5 save stub (required for models that originally came on 5.0.0 or higher).

v2.2.2

  • Fixed firmware version detection by reading version info differently.

v2.2.1

  • Overwriting an already existing firmware generation folder now prompts the user.
  • Firmware version extraction is now optional.

v2.2.0

  • Fixed firmware assembling for 6.2.0.
  • Added SHA256 hash verification against NCA filenames.
  • Added --fix-hashes option.

v2.1.1

  • Better error handling.
  • Linux fixes.

v2.1.0

  • BIS generation.

v2.0.0

  • Full rewrite from scratch.

Credits

  • Denn/Dennthecafebabe - First implementation of imkv generation in Vaporware and Pyhac, which this project's imkvdb generation is based on.
  • Thealexbarney - libhac, which is used in this project.

External links

Advertising: