NES Game
Loading emulator library …Frame 0
Emulation runs directly in your browser. ROM files are read locally and are not uploaded. The JSNES library is loaded from a CDN when you open the page.
Vertical Piano Roll
Frame←→↓↑BASelStart
Tap a cell to toggle a button for that frame. Changes are used during the next playback.
Hold a button across a frame range
The selected button is held on every frame from the start frame through the end frame, inclusive.
Frame-Accurate Recording · MP4 Export
Offline frame capture with emulator audio samples. MP4 export requires browser WebCodecs support, AAC encoding, and an internet connection to load the encoder library.
RAM Watcher · CPU RAM
Watches NES CPU RAM ($0000–$07FF). Values update when advancing frames and during playback.
Note: The meaning of a RAM address depends on the game. This panel shows raw values, not automatically identified variables.
Status & Notes
Frame Advance calls JSNES frame() exactly once. TAS reproducibility must be tested per game; not every NES ROM or mapper is supported.