Skip to content

Menu reference

The desktop frontend frames the NES image with an always-on menu bar across the top and a status bar along the bottom, both always present (unless you hide the menu bar with M or View → Show Menu Bar). Debugger and tool panels open directly as windows from the Tools and Debug menus — there is no overlay to switch on first. The ` key toggles the status-bar RetroAchievements read-out, not the debugger.

Every menu entry shows its keyboard accelerator on the right where one exists; the hotkey and the menu item do exactly the same thing.

File

Item Key Notes
Open ROM… F12 Native file picker for a .nes / .fds ROM
Open Recent ▸ The recently-opened ROMs; missing files are greyed out. "Clear Recent" empties the list
Swap Disk Side F9 FDS only — cycle the inserted disk side
Save State F1 Save to the active slot
Load State F4 Load from the active slot
Save Slot ▸ Pick the active slot (0–9) used by F1 / F4
Save to Slot ▸ Save directly to a chosen slot (0–9)
Load from Slot ▸ Load directly from a chosen slot (0–9)
Save States… Open the Save-States manager: a grid of slots, each with a thumbnail of the saved frame and its timestamp (or "Empty"), with per-slot Save / Load; the active slot is highlighted (native only)
Take Screenshot Write a PNG of the current frame (native only)
Copy Screenshot to Clipboard Copy the current frame to the system clipboard (native only)
Quit Esc Close the window cleanly

Emulation

Item Key Notes
Pause / Resume Space Toggle emulation; disabled while a netplay session is active
Reset F2 Warm reset
Power Cycle F3 Cold boot
Frame Advance \ Step exactly one frame — meant for use while paused
Fast Forward (hold Tab) Tab Hint only — hold Tab to run unthrottled (audio muted); there is no toggle
Speed ▸ = / - / 0 Pick an emulation-speed preset — 25% / 50% / 75% / 100% / 150% / 200% / 300% (the current one is checkmarked). = steps up, - steps down, 0 resets to 100%. The speed is transient (always launches at 100%); the status bar shows it when it is not 100%. Audio pitch-shifts naturally at non-100% speeds — distinct from the muted hold-Tab fast-forward
Run-Ahead ▸ Choose the run-ahead depth, 0–3 frames. Tools → Analysis → Latency Oracle can measure the depth this game actually needs
Region Read-only NTSC / PAL / Dendy label
Vs. Insert Coin F10 Vs. System games only — insert a coin into acceptor #1
Famicom Disk System ▸ F9 FDS games only — Swap Disk Side, plus direct side selection and Eject. F9 works without opening the menu

Tools

These open as floating windows directly — you do not need the debugger overlay for them. On native, every one can be popped out into its own OS window; the web build always renders them docked.

Grouped by task since v2.3.6; the menu had grown to twenty flat entries.

Item Key Notes
Cheats… Game Genie and raw RAM cheats. Kept at the top level as the most-used panel
Movies & Recording ▸ F6 / F7 / F8 Record / Play / Branch a TAS movie; import & export .fm2 / .bk2 and .srt subtitles; TAStudio; Replay / TAS; Record A/V…; Export Last 30s (.rnm)
Audio ▸ NSF Player (NSF / NSFe playback), Audio Mixer (per-channel balance, scopes, VU), Audio Provenance (what wrote each APU register, and the per-CPU-cycle mix trace) — see Analysis tools
Input ▸ Input Display (pads + every expansion peripheral), Virtual Pad (on-screen controller, native only)
Game Data ▸ ROM Info (read-only browser), ROM Database (per-game override editor)
Analysis ▸ Latency Oracle, Pixel Provenance, RAM Atlas, Divergence Lens, BasicBot — see Analysis tools
HD Pack ▸ Load / unload an HD pack, Pixel Inspector, Build HD Pack (native, opt-in feature)
Netplay… Host or join a rollback session (native only)
RetroAchievements… Login, achievements, leaderboards (native only, opt-in feature)

Netplay and RetroAchievements sit below a separator at the top level rather than in a submenu: they change what the session is, rather than being a tool you point at the game.

View

Item Key Notes
Settings… Open the tabbed Settings window (Display / Audio / Input / Advanced)
Theme ▸ Light / Dark / System
8:7 Pixel Aspect Toggle NES-native pixel-aspect correction (default off)
Hide Overscan Crop the top and bottom 8 NES scanlines (the CRT-hidden overscan area); default off ([graphics] hide_overscan)
Fullscreen F11 Toggle borderless fullscreen (native only)
Window Size ▸ Resize the window to an integer multiple of the NES resolution — 1x (100%) / 2x (200%) / 3x (300%) / 4x (400%) (native only)
Show FPS Toggle the FPS readout in the status bar
Pause When Unfocused Auto-pause emulation when the window loses focus, auto-resume when it regains focus (default off; never overrides a manual pause or a netplay session)
Show Menu Bar M Hide / show the menu bar itself

Debug

Grouped by what is being inspected since v2.3.6. Every entry opens its own window; there is no overlay to toggle first.

Item Notes
Performance Monitor Frame-timing, audio-queue and pacing telemetry
Chip State ▸ CPU, PPU, APU, OAM, Mapper — per-chip register and internal state
Memory ▸ Memory (live hex view), Memory Compare (RAM Search + RAM Watch)
Execution ▸ Trace Logger, Watch / Breakpoints, Event Viewer, Lua Script
Cartridge Info / Header Editor… Inspect and edit a ROM header on disk (native only)
Symbols ▸ Load Symbols (.sym / .mlb / .nl), Clear Symbols (native only)

The old Show Debugger entry was removed in v1.7.1 when the debugger toolbar was retired — every panel now opens directly. The ` key toggles the status-bar RetroAchievements read-out, not the debugger.

Help

Item Notes
Keyboard Shortcuts The full default-bindings table
About Version, license, and project link

Status bar

The bottom bar shows the current state at a glance:

  • the loaded ROM name (or "No ROM loaded"),
  • the detected region (NTSC / PAL / Dendy),
  • the mapper name,
  • the active run-ahead depth (when non-zero),
  • the run state — Running, Paused (yellow), or Netplay (blue),
  • the active emulation speed, shown only when it is not 100%, and
  • the FPS readout, right-aligned (hidden when View → Show FPS is off).

When emulation is paused the NES viewport dims (~40% black) with a large centered PAUSED label; the menu bar and status bar stay at normal brightness.

Settings window

View → Settings… opens a tabbed dialog:

  • Display — theme, 8:7 pixel-aspect, FPS readout, present mode, the NTSC filter, and the Hide Overscan toggle.
  • Audio — sample rate, audio latency (latency_ms), the dynamic-rate-control toggle, a master Volume slider (0–100%) and a Mute checkbox, and six per-channel mute checkboxes (Pulse 1, Pulse 2, Triangle, Noise, DMC, Mapper Audio), all on by default.
  • Input — the full rebind panel (the same one the debugger surfaces), plus an analog-stick deadzone slider (0.05–0.95) for the gamepads, applied live.
  • Advanced — run-ahead depth, rewind sizing, and other developer-facing toggles.

The Video / Audio / Advanced sections each have a Reset to Defaults button (two-click confirm) that restores that section's settings to their defaults and re-applies them live.

Changes to the theme, pixel-aspect, FPS, volume/mute, per-channel mutes, overscan, and deadzone apply live; the rest note where a restart is needed.

First-run Welcome

On a brand-new install (no config file yet) a one-time Welcome modal appears with a quick-start shortcut list. Dismiss it with Get Started, the close button, or by clicking away — it never re-appears once shown.

See also

  • Controls — the full key list and how to rebind
  • Configuration — the [ui] config section behind these toggles
  • Debugger — the ` overlay tour