Small, honest API
A minimal init / update / draw loop keeps attention on the machine, the logic, and the craft of making a game.
Open-source · Educational · RISC-V native
PRG32 turns computer architecture into something you can see, hear, and play—a complete 32-bit RISC-V game platform for learning assembly and C.
PRG32 is not a CPU instruction emulator. Your cartridge runs as native RISC-V machine code on an ESP32-C6—or inside an ESP32-C3 QEMU target while you develop on your desktop.
A minimal init / update / draw loop keeps attention on the machine, the logic, and the craft of making a game.
Built around accessible parts: ESP32-C6, a 2.8-inch SPI display, I²S audio, joystick, and GPIO buttons.
Build and test against the QEMU virtual screen before moving the exact cartridge workflow to physical hardware.
Original games, classroom experiments, and arcade tributes—all running as native RISC-V code.
Browse the Cartridge Store ↗
Cockroaches CathisteriaRaycaster · Action01
Space Belt MadnessSpace combat · Story02
napRider — Napoli '97Driving · Adventure03
FairWind — Napoli '97Sailing · Strategy04
Spiriti — Napoli '97Arcade · Action05
DebrisPuzzle · Arcade06
Start with a working example, then peel back each layer until the pixels on screen connect to the instructions underneath.
SET UP
Install the ESP-IDF environment, clone the core repository, and let the PRG32 doctor check your toolchain.
python3 -m prg32 doctorMAKE
Begin with an example in assembly or C. Work inside the game loop and package it into the portable cartridge format.
game.c → game.prg32RUN
Test on the desktop virtual screen, then upload to the ESP32-C6 classroom console for native execution.
QEMU → ESP32-C6Tooling, lessons, distribution, and games—an open ecosystem designed to make systems programming tangible.
Firmware, cartridge format, developer toolchain, desktop emulator, examples, and teaching guides in one repository.
A practical textbook for learning PRG32 game development in RISC-V assembly and C.
A blocks-based web application that brings retro game development to kids and young adults.
An installable catalog and classroom service hub for publishing and sharing .prg32 game cartridges.
A Burger Time–inspired game that demonstrates the platform through a complete playable cartridge.
A fully playable, Minecraft-inspired game built for the PRG32 platform.
“The shortest distance between an instruction and understanding is a game you can play.”
PRG32 makes low-level programming immediate. Registers become movement. Memory becomes a world. Timing becomes feel. The machine stops being abstract.
READY PLAYER 32
Fork the project, build a cartridge, and learn RISC-V from the inside out.