Firmware emulator

Load a firmware file from your computer. Run independent sessions to compare builds, inspect execution and exchange virtual USB reports.

Research build. Peripheral coverage is incomplete. Results here need separate hardware verification for boot, recovery, audio and firmware updates.

Firmware stays in this browser. The runtime downloads when you press Start. This page has no connection to a physical SP.

Sessions

Waiting for firmware
The emulated OLED is initially blank.
The OLED shows firmware output. Control inputs inject recorded GPIO, ADC and UART paths; pressure and audio remain incomplete.

No file selected.

APP1 starts at the application handoff. Full flash starts at resident entry. ROM and DCD execution are not included.

Program counter
—
Instructions
0
Unknown MMIO accesses
0
Boot checkpoint
Waiting for firmware
Build marker
—
OLED frames
0
Firmware SHA-256
Available after load
Model coverage
  • Load a firmware file to inspect this session’s model limits.
No unknown MMIO accesses recorded.
JSON with firmware identity, execution and model limits.
Optional SD images

Choose raw, read-only images from 256 KiB to 128 MiB, in 256 KiB units. Compressed files are not supported. Files stay in this browser; filesystem compatibility is unverified.

No card selected.

No card selected.

Pause before changing cards. Applying changed cards starts a new session from the selected firmware and discards this session’s virtual flash changes.

Control inputs

Hold a pad with a pointer, Enter or Space. These injected levels test firmware input paths; they do not reproduce physical velocity or calibrated pressure.

1.00
Virtual USB

Update virtual APP1

Choose an R13, R14 or R15 APP1 binary and its package manifest. The updater checks the image, writes this session’s virtual flash and verifies a fresh boot. Files stay in this browser.

Choose the APP1 file and its package manifest.

Start a supported firmware session before updating.

No update has completed in this session.

A successful update includes flash verification and a fresh boot. Export trace retains the receipt.

Cancel stops this session and discards its virtual flash.

Advanced reports

Send a 64-byte hexadecimal HID report to this session’s emulated firmware, or read its current USB status. USB support depends on the loaded build and the peripheral model.

Input report
No report received.