Skip to content

Debug Terminal

mewzers edited this page Mar 27, 2026 · 1 revision

6. Debug Terminal

Oxide includes a detached Debug Terminal viewport for runtime diagnostics.

What it is for

The Debug Terminal is intended for:

  • startup/runtime logs
  • emulator state visibility
  • ROM testing
  • log export
  • quick diagnostics during development or testing

Main features

Current terminal features include:

  • live log display
  • search/filter field
  • export logs button
  • test report button
  • localized labels and title
  • theme-aware rendering
  • shortcut handling while focused

Test report

The terminal can generate a compact diagnostics report using the built-in test report action.

Typical contents:

  • ROM label
  • running / paused / ROM loaded status
  • current PC / opcode / I / SP / timers
  • lit pixel count
  • keypad summary
  • active quirk preset and flags
  • register dump

Log export

Logs can be exported manually to a user-selected .txt or .log file.

This is separate from the automatic rotating session logs.

Session logs

Oxide also writes rotating session logs under:

  • logs/app/
  • logs/emulator/

On startup, previous latest.logs files are archived into timestamped zip files.

Debug lifecycle logs

In debug builds, Oxide also prints translated lifecycle logs to stdout through src/debug.rs.

Examples include:

  • startup
  • terminal ready
  • application launched
  • application exited
  • audio initialization events

Terminal and emulation input

The Debug Terminal can also contribute virtual keypad input to the emulator.

That keypad state is merged with keyboard, mouse, and gamepad state before CPU execution.

Clone this wiki locally