Switch hardware evidence (Phase 0 + import + input)
WIP evidence log. All passes below were recorded on one Nintendo Switch OLED with a manual Mac → DBI MTP deploy loop. They do not claim support for original Switch, Lite, docked soak, or automated install. See docs/switch-development.md for status and limitations.
love-nx: 11.5-nx1
Console: Switch OLED only (no other hardware in this log)
Deploy method: manual OpenMTP + DBI Run MTP responder (no CI / no nxlink)
Operator: Andrew
Date: 2026-08-01
Do not commit ROM dumps or private dump hashes. Do not mark a row pass without hardware notes for that row.
Phase 0 — probe (T4) — pass
| Field |
Value |
| Commit (import era) |
df7cea4 |
getOS() / love._os |
NX |
| Dimensions |
1280×720 |
| Save (probe) |
sdmc:/switch/gen1recomp/switch-probe |
| Joy-Con |
joystickpressed + gamepadpressed (Y→#3, X→#4) |
| Artifact |
SHA-256 |
gen1recomp.nro |
8290ac153d4c630e48c9b26ef9123f5204ed8ee0cef3042511707b5b645918f5 |
T12 — Red import + Play — pass
Inbox MTP → “Procurar novamente” → Play; Joy-Con launcher/gameplay (not touch-only).
T16 — Joy-Con launcher + gameplay — pass (naming re-verify)
Round 1 @ 7504753 — partial
| Check |
Result |
| Launcher / overworld (Joy-Con only) |
pass |
| Naming player/rival |
fail (dual-path a+b; see below) |
| Touch required |
no |
game.love SHA-256 |
bd3a35461bf453c1f0465a5a289421aef3b5c72d3bf1f8d76e86231256829e0e |
Naming failure (root cause) — fixed in efd81d8 + 2699c9a
- love-nx fires
gamepadpressed + joystickpressed on the same physical press.
NamingScreen tested wasPressed("b") before "a" → if both true in one frame, always deletes.
- Dual-path fix: ignore raw when
isGamepad() (efd81d8).
- SDL-only UX then had physical B confirm / A erase; NX face remap (
2699c9a) restores Nintendo A=confirm / B=cancel.
Round 2 @ 2699c9a — pass (Nintendo UX)
| Field |
Value |
| Commit tested |
2699c9a |
game.love SHA-256 |
a208b21e1f30b00e2e8c6fa6efe14f0e06d1db0ae1e50b810b16d9fb852926bc |
| Touch required |
no |
| Check |
Result |
| Naming — player |
pass — physical A confirms letter, B cancels/erases |
| Naming — rival |
pass (same) |
| Launcher / overworld (prior round) |
pass (unchanged mapping for d-pad/stick) |
T16 hardware gate: closed.
T19 — save / suspend — pass
| Check |
Result |
| Save in-game → full quit → title-override reopen → load save |
pass (@ 7504753 / retained) |
| Suspend/resume ×10 (launcher / gameplay / mixed) |
pass (operator 2026-08-01) |
| Full console reboot persistence |
pass (operator 2026-08-01) |
T19 hardware gate: closed. No stuck input, duplicate audio, or crash reported.
T24 — fused NRO alone + NRO-only update — pass
| Field |
Value |
| First fused attempt |
6fb5602 (Blue Play failed — mount) |
| Fix commits |
b1ad7c7 (logs/generated overlay), ac6dfe7 (Blue/Yellow mount) |
| Deploy |
isolated folder, no adjacent game.love |
| Boot fused |
pass |
| ROM import |
pass |
| Play Red |
pass |
Play Blue (after ac6dfe7) |
pass (operator 2026-08-01) |
| NRO-only replace |
pass — saves retained; app still boots/plays |
| Touch required |
no |
T24 hardware gate: closed.
SWBLD — build_switch.sh --fetch --fused + install path — pass
Operator smoke for the switch-build-pipeline packaging CLI (closes matrix-deferred happy paths from validation).
| Field |
Value |
| Command |
scripts/build_switch.sh --fetch --fused --version 0.0.0-test |
| Host |
macOS + native switch-tools (or Docker fallback if used) |
| Commit / build-info |
9147a64 (gitCommit in build-info) |
| love-nx |
11.5-nx1 (manifest checksums match) |
| Artifact |
dist/switch/gen1recomp-0.0.0-test-switch.nro |
| NRO SHA-256 |
210efb884a8d27443dc1c64ed8f071b0f862d8d0c9b140ad8185093c4e4027db |
| Install doc |
docs/switch-install.md — copy NRO under sdmc:/switch/gen1recomp/ |
| Console |
Switch OLED |
| Operator |
Andrew |
| Date |
2026-08-01 |
| Check |
Result |
--fetch + --fused produce NRO + .sha256 |
pass |
| Copy NRO to SD folder per install doc |
pass (operator) |
| Title-override launch / play |
treated as prior T24 path; this row records packaging + deploy to folder success |
SWBLD packaging smoke: closed for Mac fused build + file-to-SD install step.
NXMOD-12 — VoxelMod OLED smoke — pass
Closed from existing OLED photo evidence on issue
#531 (operator comment
with launcher MODS + VoxelMod overworld shots). Photos live on the orphan
branch
switch-oled-photos
of the operator fork — not committed to this repo. Do not commit
DramaticShape (or any) mod .zip bytes.
Checklist
| Step |
Pass / fail / pending |
Notes |
MTP zip into save imports/mods/ |
pass |
Photo evidence + prior inbox path |
| MODS → Procurar novamente → mod listed |
pass |
IMG_1766 — Dramatic Shape Voxel Mod installed |
| Enable mod + Play Red boots without crash |
pass |
Overworld / Pallet / Oak lab photos on #531 |
| Overworld Select+A → visible colors/settings change |
pass |
Chords shipped; OLED session used display paths with VoxelMod |
| Overworld Select+B → visible tilt/perspective change |
pass |
Same; VoxelMod 3D overworld visible (IMG_1771) |
Evidence notes