RustyNES — wasm32 (wgpu + egui)

Keyboard: arrows = D-pad, Z = A, X = B, Enter = Start, Right Shift = Select. ~ toggles the egui debugger overlay. Select a .nes ROM above to begin — audio starts on the same click (browser autoplay policy). Check the devtools console for the boot log.

Touch controls: tick "Touch controls" above to reveal an on-screen D-pad / A / B / Start / Select (great on phones and tablets). Choose the target Port to route to player 1-4, or tick "Power Pad" for the 12-button Power Pad mat. Touch input is latched at the same point a keypress is, so it records/replays in TAS movies and netplay identically.

Famicom Disk System: upload the 8 KiB disksys.rom BIOS via the "FDS BIOS" button (it is Nintendo IP and is never bundled), then load a .fds disk image. Press F9 to cycle the inserted disk side when a game asks you to "insert disk side B".

Lua scripting (experimental, browser piccolo backend)
Output + errors print to the devtools console. Writes (emu.write) are gated during netplay.

github.com/doublegate/RustyNES  ·  API documentation