Files
gen1recomp/docs/switch-hardware-evidence.md
T
Andrew Quenehen ba8aa7b263 fix(switch): use English Scan again for NX inbox rescan
Match the project English default instead of a hardcoded Portuguese label.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 16:21:19 -03:00

6.8 KiB
Raw Blame History

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 → “Scan again” → 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.

Field Value
Status pass
gen1recomp commit evidence era on feat/switch-nx (see #531); packaging pin love-nx 11.5-nx1
love-nx tag 11.5-nx1
Console Switch OLED
Mod id DramaticShape VoxelMod (community)
Mod version release zip from upstream (not vendored)
Zip source URL https://github.com/DramaticShape/DramaticShapeVoxelMod/releases
Zip committed to git? no
Photo evidence #531 comment — MODS tab + Voxel overworld
MODS tab photo https://raw.githubusercontent.com/andrewqsantos/gen1recomp/switch-oled-photos/IMG_1766.jpg
Voxel overworld photo https://raw.githubusercontent.com/andrewqsantos/gen1recomp/switch-oled-photos/IMG_1771.jpg
Operator Andrew
Date 2026-08-01

Checklist

Step Pass / fail / pending Notes
MTP zip into save imports/mods/ pass Photo evidence + prior inbox path
MODS → Scan again → 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

Operator: Andrew
Date: 2026-08-01
Commit tested: feat/switch-nx era documented on issue #531
Pass / fail summary: PASS — MODS install + VoxelMod overworld on Switch OLED
Photo branch: andrewqsantos/gen1recomp@switch-oled-photos