Loading WASM module…

Changing resolution reloads the page.

RP2040/RP2350 labels show device total SRAM; the simulator caps the MMBasic heap to the same hard limit the real firmware uses. Changing memory reloads the page.

Per-statement sleep. 0 = uncapped, 10 ≈ device-like.

MMBasic Web

A WebAssembly port of PicoMite, the Raspberry Pi Pico build of MMBasic. The full interpreter plus its bytecode VM, running in your browser. No backend, no emulation layer.

Credits

Interface

MMBasic basics

Why?

Strictly speaking this web version doesn't need to be based on PicoMite. The port replaces the whole Pico SDK HAL (flash, SPI, DMA, LCD, USB, ADC, PIO, audio, filesystem) with a browser-side HAL, so nothing Pico-specific is running. What's shared with PicoMite is the parts that matter: the MMBasic parser, interpreter, command set, and bytecode VM.

The point is a fast iteration loop for writing MMBasic programs, especially games. Edit a file in the browser, hit ▶ or ⚡, see the result instantly; no SD-card swap, no flash cycle, no serial console, no separate toolchain. When a program runs here, it'll run on a real PicoMite (within the limits of whatever peripherals the program touches).

Local data (/sd/) is stored in your browser's IndexedDB. Use the ⟲ button at the bottom of the sidebar to wipe it and restore the bundled demos.