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. The egui debugger is a separate overlay toggled with ` — the menu bar and status bar are always present (unless you hide the menu bar with M or View → Show Menu Bar).

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
Region Read-only NTSC / PAL / Dendy label
Vs. Insert Coin F10 Vs. System games only — insert a coin into acceptor #1

Tools

These open as floating windows directly — you do not need the debugger overlay for them.

Item Key Notes
Cheats… Game Genie and raw RAM cheats
Movies (TAS) ▸ F6 / F7 / F8 Record / Play / Branch a TAS movie
Netplay… Host or join a rollback session (native only)
RetroAchievements… Login, achievements, leaderboards (native only, opt-in feature)
Performance Monitor Frame-timing, audio-queue, and pacing telemetry

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

Item Key Notes
Show Debugger ` Toggle the egui debugger overlay
CPU / PPU / APU / Memory / OAM / Mapper Open a specific inspection panel (forces the overlay visible)

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