Skip to content

Reference Configuration

digdat0 edited this page Jul 24, 2026 · 1 revision

Everything HaulNX stores lives under sdmc:/switch/HaulNX/. You never have to touch these by hand — the app writes them for you, and the App Utility is the comfortable way to build a collection on a PC. This page is for when you do want to edit them directly.

dl_sources.json — your collections

Seeded empty on first run (just the supported-console list), then filled in as you add repos. The a_id values below are placeholders — substitute the archive.org item ids you choose to use:

{
  "console_list_groups": [
    {
      "console": "snes",
      "target": "snes",
      "repos": [
        {
          "label": "My SNES set",
          "a_id": "<your-archive.org-item-id>",
          "URL": "",
          "active": true
        }
      ]
    }
  ],
  "consoles": ["nes", "snes", "n64", "genesis", "psx", "psp"]
}
  • console / target — display name and the ROM subfolder (usually the same).
  • a_id — the archive.org item id (the <id> from archive.org/details/<id>).
  • URL — download base; defaults to https://archive.org/download/<a_id> if left empty.
  • active — whether to include this repo.
  • consoles — the master list of selectable consoles. Legacy files using tico_consoles are still read.

Supported consoles

A console is a folder under sdmc:/roms/ (e.g. snes), and each console groups one or more repos. The consoles you can pick from come from a fixed supported list of 53 folders, so files always land somewhere your emulators will look — you can't create an arbitrary folder in the app. To change the set, edit consoles in dl_sources.json.

The folder-name table on the Home page lists every slug with the system it holds. A few ship hidden (Wii U, for instance, since playing those depends on an unofficial emulator port); turn them on in Settings → User interface settings → Manage consoles.

credentials.json — archive.org keys (optional)

{ "accessKey": "YOURKEY", "secret": "YOURSECRET" }

Public collections download anonymously and need no keys. Only restricted items that require an archive.org account need these. The keys are sent as authorization: LOW <access>:<secret>, and only to archive.org hosts, only over HTTPS. Get your own from https://archive.org/account/s3.php — none are bundled. You can also write this file from the App Utility's Export credentials.

Every file on the card

Path Purpose
sdmc:/switch/HaulNX/dl_sources.json console groups + repos + supported list
sdmc:/switch/HaulNX/credentials.json archive.org S3 keys (optional)
sdmc:/switch/HaulNX/prefs.json settings (theme, language, pins, download limit, …)
sdmc:/switch/HaulNX/queue.json saved download queue
sdmc:/switch/HaulNX/cache/<id>.json cached metadata
sdmc:/switch/HaulNX/downloads/ temporary .part files
sdmc:/switch/HaulNX/downloads.log download history (text)
sdmc:/switch/HaulNX/downloads.jsonl download history (structured, powers re-download from the log)
sdmc:/switch/HaulNX/lang/<code>.json optional language overrides (built-in translations ship in the app)
sdmc:/switch/HaulNX/debug.log network/extraction diagnostics (viewable + clearable in Settings → View logs)
sdmc:/roms/<console>/ default ROM destination (or your custom override)

Every log has a size ceiling. Once one is reached the file is moved aside as <name>.1 (replacing any previous .1) and a fresh one starts, so a long-lived install keeps at most two generations of each instead of growing forever.

The ROM folder

Downloads land in sdmc:/roms/<console>/ by default. To put the library elsewhere, use Settings → Advanced settings → ROM Download Folder — an on-screen SD-card browser lets you navigate to a folder and pick it (X to use the current folder, Y to reset to the default). See using it with your emulators for pointing emulators at whatever you choose.

Clone this wiki locally