September 9, 2026
NESVM: The World's First NES Emulator for C64 — Powered by MPE

The World's First NES Emulator for C64 — Powered by MPE
NESVM is the world's first NES emulator for the Commodore 64. It is made possible by MPE, firmware designed for the TeensyROM+ cartridge. The C64 provides the display, SID sound, keyboard, and joystick controls.
NESVM is a public MPE engine alongside DoomVM. It brings NES emulation to a real C64 through the same downloadable cartridge-VM platform.
NESVM in action
Our newest development captures put Super Mario Bros., The Legend of Zelda, and Dr. Mario first.


Four C64 display modes
NESVM supports Standard (F1), pan-and-scan (F3), MHS Prism (F5), and Sharp (F7) presentations. In pan-and-scan mode, hold WASD to move the camera across the centered native-pixel image. MHS Prism centers the native 256-pixel view with fast C64 color selection, while Sharp provides a centered hires view.


These are development captures, not a list of titles supported by the current public download.
Ready to install
NESVM requires a TeensyROM+ v0.4 with a Teensy 4.1 and MPE GUI firmware 1.2.6 or later. No extra PSRAM is required.
The public release supports compatible NTSC mapper 0 (NROM), 1 (MMC1B/C), 2 (UxROM), 3 (CNROM), 4 (MMC3), 7 (AxROM), and 11 (Color Dreams) ROMs within the current board and ROM-size limits. Mapper 1 and 4 games support up to 8 KiB of cartridge RAM with automatic saves. This is not a full-NES compatibility claim. The package includes the authorized Crossbow demo only—commercial games are not included. Add your own compatible ROMs to /VMS/NESVM/ROMS/.
TeensyROM hardware and the original firmware are by Travis Smith / Sensorium Embedded. MHS developed the MPE system, MPE Cartridge VM format, custom GUI, and NESVM integration. NESVM uses Matthew Conte's Nofrendo core via Jean-Marc Harvengt's MCUME, with notices and licence included.
Download NESVM and the current MPE firmware, or visit the NESVM game page for the full gallery, requirements, and setup guide.