rv32mbt
v1.0.0 GitHub: sabas0ba/rv32mbt
An RV32IMAC emulator written in MoonBit (js backend). It implements a
QEMU-virt-compatible memory map (16550 UART / CLINT / PLIC /
sifive_test) and runs ELF32 (RV32) executables, or flat binaries
loaded at 0x80000000, inside your browser. Click or tap
the terminal to send keystrokes to UART0 RX (on mobile this opens the
software keyboard).
The Linux sample boots a nommu kernel to an interactive busybox
shell. Alongside ls, ps, free
and vi, it carries:
/opt/examples/mandelbrot— an ordinary userspace program linked against musl (fib, lifegame, primes and hello_c are there too)/opt/nested/wasmrun /opt/nested/rv32mbt.wasm /opt/nested/hello.elf 2 2000000— this emulator running inside its own guest: browser → Linux → wasm interpreter → rv32mbt (wasm) → hello.elf (it takes a few tens of seconds)
idle