Retire successful imports to *.sav.imported and record content hashes so re-pressing Import save (or the same bytes under a new name) cannot clone slots. Surface multi-import counts and the active game tab in the notice. Co-authored-by: Cursor <cursoragent@cursor.com>
6.1 KiB
Install Gen1Recomp on Nintendo Switch
Every GitHub Release that includes Switch support ships a fused homebrew
binary: gen1recomp-*-switch.nro. Copy it to your microSD, launch with
title override, then import your own legal .gb ROM.
You need a console that can run Switch homebrew (custom firmware / hbmenu). This project does not help you set that up. Tracks issue #531. Hardware: OLED validated by the porter; V1 / Erista boot confirmed by the community. Lite and other setups welcome more reports. See switch-development.md for limitations.
Prefer building from source? See switch-build.md.
Port by andrewqsantos. Community testing help from booshankles.
1. Download the NRO
- Open Releases.
- Download
gen1recomp-*-switch.nrofor the version you want. (Optional: the matching*.nro.sha256sidecar if you want to verify the download.)
2. Copy it to the microSD
Put the file here on the SD card:
sdmc:/switch/gen1recomp/gen1recomp.nro
(or keep the versioned name under sdmc:/switch/gen1recomp/ — hbmenu will
list it either way).
Any method that lands the file on the SD is fine: MTP (DBI → Run MTP responder + a client), direct SD (Hekate UMS or a card reader), or FTP. Exit MTP / unmount / stop FTP cleanly before launching. Step-by-step for macOS, Linux, and Windows: switch-transfer.md.
3. Launch with title override
Applet Mode is not supported for this game (not enough memory).
- On the Switch HOME menu, highlight any installed title.
- Hold R and launch that title — this opens hbmenu with full memory (title override).
- From hbmenu, open
gen1recomp.
Do not launch from the Album applet path for normal play.
4. Import your ROM
This project ships no game data. On first launch:
- Put your own legally obtained Pokémon Red or Blue
.gbinto the ROM inbox under the game’s save directory (imports/— the launcher shows the live path). - Use Scan again on the Red/Blue tab if you add the file after the first open.
Saves live in the LÖVE save directory and persist across NRO updates —
you can replace only the .nro and keep your progress.
5. Import / Export a raw .sav
Continue a cart or PC battery save (or pull a slot off-console) via MTP / SD / FTP — same transfer methods as ROMs:
- Copy a Gen1
.sav(32 KB) into the save-dirimports/saves/path the launcher shows (switch-transfer.md). - With the game’s ROM already imported, open that game’s tab → SAVE FILES → Import save. The launcher rescans the inbox into this tab’s slots (Red vs Blue matter — use the matching game tab).
- A successful import retires the file to
*.sav.importedand records its content hash so pressing Import save again does not clone slots. Failed imports leave the original.savin place. - To pull a slot off the console, use Export save, then copy the file
from
exports/in the same save directory via MTP / SD / FTP.
Do not put .sav files into git. Prefer clean copies — some MTP clients
create ._*.sav AppleDouble sidecars that are not real saves.
Controls
Gameplay
| Control | Action |
|---|---|
| D-pad / left stick | Move |
| A | Confirm |
| B | Cancel |
| + (Start) | Start |
| − (Select) | Select |
| R (no Select held) | Cycle game speed up |
| L (no Select held) | Cycle game speed down |
Launcher
| Control | Action |
|---|---|
| D-pad / left stick | Move virtual cursor |
| A | Click at cursor |
| L / R | Previous / next tab |
| Start / Select | Play if a ROM is ready; otherwise Choose ROM |
System
| Control | Action |
|---|---|
| Hold R on HOME, then open from hbmenu | Title override (full memory) |
Community mods (VoxelMod)
Mods install from a zip inbox (same transfer methods as ROMs):
- Copy a release
.zipinto the save-dirimports/mods/path the launcher shows (MTP / SD / FTP — switch-transfer.md). - In the launcher, open MODS → Scan again → enable the mod → Play.
Remote FIND MODS / GitHub download stays off on Switch. Do not put mod zips into git.
Example: DramaticShape VoxelMod.
Joy-Con shortcuts (Select + face)
Hold Select (−) and press a face/shoulder button. Without Select, A/B stay normal gameplay confirm/cancel.
| Chord | Same as PC key | Typical effect (stock / VoxelMod) |
|---|---|---|
| Select + A | 2 |
COLORS |
| Select + B | 3 |
TILT, or VoxelMod VOXEL pitch |
| Select + Y | 5 |
GBC FX, or VoxelMod V-GRID |
| Select + X | 6 |
VoxelMod T-SHIFT |
| Select + L | 7 |
VoxelMod V-CURVE |
3D-BTL (8) and WATER (9) have no Joy-Con chord — use OPTIONS.
VoxelMod: lighter settings on Switch
VoxelMod is visual-only but expensive. If the Switch stutters, open OPTIONS and prefer:
- WATER →
OFF(orSKY; avoidFULL) - 3D-BTL →
OFF - T-SHIFT / V-CURVE / V-GRID →
OFF - DAYTIME →
SYNC(avoidCYCLE) - Engine PERFORMANCE →
LOWorBALANCED
Full tables, chords vs Options rows, and contributor notes: switch-development.md and switch-development.md.
Prefer building it yourself?
Building the fused (or loose) NRO from source is covered in switch-build.md. Copying artifacts and inbox files (MTP / SD / FTP on macOS, Linux, Windows): switch-transfer.md. Status, limitations, and how we tested: switch-development.md.