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.
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.
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.
VALUE TURN selects raw encoder phase 0–3. It does not generate calibrated detents.
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.
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.
No report received.