Skip to content

Nintendo Switch

Homebrew

Combine multi-part xci

When dumping games to fat32, you may need to create multi-part xci files. In my experience, you can combine these files by just concatenating them together. For example:

cat *.xc[0-9] > foo.xci
4nxci -k prod.keys foo.xci

Create a Switch compatible partition from linux

Rule #1 is to avoid using exfat at all costs.

The Switch uses MBR 🙄 and has crummy exfat support... The following requires root permissions.

SD_DISK=/dev/sdZ
sfdisk "$SD_DISK" <<EOF
label: mbr
,
EOF
mkfs.exfat "$SD_DISK"1

Homebrew Glossary

Most of these were taken from https://github.com/XorTroll/Goldleaf

  • Atmosphere: custom firmware
  • Hekate: custom bootloader
  • NSP (Nintendo Submission Package): It's the official format used by Nintendo to provide installable content from their CDN servers.
  • NRO (Nintendo Relocatable Object): Officially is treated as a dynamic library object, similar to DLLs on Windows. These are loaded dynamically by applications at runtime.
  • NCA (Nintendo Content Archive): This format is the base format used by Horizon OS to store content.
  • NACP (Nintendo Application Control Property): This is the format used by Nintendo to store several properties of installed titles, like the title's name, version, author name and other information, like if the title supports screenshots or video captures.
  • XCI: Cartridge dump file