A shared imports/ inbox with Red+Yellow was starting Red from the Yellow tab; match by GameVersion.forSha1 for the selected game and document the tab-scoped rescan. Co-authored-by: Cursor <cursoragent@cursor.com>
6.3 KiB
Install Gen1Recomp on Nintendo Switch
Every GitHub Release that includes Switch support ships an SD-ready zip:
gen1recomp-*-switch.zip. Extract it at the root of your microSD (install
or update — same steps), 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 zip
- Open Releases.
- Download
gen1recomp-*-switch.zipfor the version you want. (Optional: verify againstsha256sums.txtin the same release.)
2. Extract onto the microSD
Extract the zip at the root of the microSD so you get:
sdmc:/switch/gen1recomp/gen1recomp.nro
sdmc:/switch/gen1recomp/pokemon-love2d/imports/
sdmc:/switch/gen1recomp/pokemon-love2d/imports/mods/
sdmc:/switch/gen1recomp/pokemon-love2d/imports/saves/...
Merge folders if your OS asks. Any method works: 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.
Updating
Use the same extract/merge. It replaces gen1recomp.nro (and the small
help README.txt / INSTALL.txt files). Saves, imported ROMs, mods, and
options live under pokemon-love2d/ — do not delete that folder when
updating, or you will lose progress.
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, Blue (
.gb), or Yellow (.gbc) dump intoswitch/gen1recomp/pokemon-love2d/imports/(the launcher also shows the live save-dir path). All three can sit in the same folder. - Use Scan again on that game’s tab (Red / Blue / Yellow). Rescan matches by ROM SHA-1 for the open tab only — a Red dump never imports from the Yellow tab (and vice versa).
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. Paths are per game:
| Game | Import inbox | Export folder |
|---|---|---|
| Red | imports/saves/red/ |
exports/red/ |
| Blue | imports/saves/blue/ |
exports/blue/ |
| Yellow | imports/saves/yellow/ |
exports/yellow/ |
(Under the save dir pokemon-love2d/ — the zip already creates these folders.)
- Copy a Gen1
.sav(32 KB) into that game’s inbox under the save dir (switch-transfer.md). - With the game’s ROM already imported, open that game’s tab → SAVE FILES → Import save. Only that folder is scanned.
- 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 that game’s
exports/<game>/folder 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
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. Community mods ship their own OPTIONS / rebinds — this port does not document third-party control tables.
Joy-Con shortcuts (Select + face)
Hold Select (−) and press a face/shoulder button. Without Select, A/B stay
normal gameplay confirm/cancel. These chords are the stock engine display
hotkeys (2/3/5 are claimed before any mod pipeline hotkey runs).
| Chord | Same as PC key | Stock engine effect |
|---|---|---|
| Select + A | 2 |
COLORS |
| Select + B | 3 |
TILT |
| Select + Y | 5 |
GBC FX |
| Select + X | 6 |
Mod pipeline hotkey (if a mod registers 6) |
| Select + L | 7 |
Mod pipeline hotkey (if a mod registers 7) |
If the handheld stutters with extras on, try OPTIONS → PERFORMANCE →
LOW or BALANCED. Full chord notes for contributors:
switch-development.md.
Prefer building it yourself?
Building the fused NRO (and SD-ready zip) 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.