Open-source · Educational · RISC-V native

Learn the machine.
Make the game.

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.

RV32IMAC
Native instruction set
320 × 200
Retro display
100%
Open source
PRG32 // DEV UNIT● LIVE
AB
Scroll to decode
01 — THE PLATFORM

From source code
to real hardware.

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.

01WRITEAssembly or C
compile
02PACK.prg32 cartridge
load
03PLAYHardware or QEMU
{ }

Small, honest API

A minimal init / update / draw loop keeps attention on the machine, the logic, and the craft of making a game.

▦

Classroom hardware

Built around accessible parts: ESP32-C6, a 2.8-inch SPI display, I²S audio, joystick, and GPIO buttons.

▶

Desktop feedback loop

Build and test against the QEMU virtual screen before moving the exact cartridge workflow to physical hardware.

02 — NOW PLAYING

Small cartridges.
Big worlds.

Original games, classroom experiments, and arcade tributes—all running as native RISC-V code.

Browse the Cartridge Store ↗
● ONLINE32 cartridges and countingDownload, publish, compete, repeat.
Enter the store ↗
BUILD
PLAY
LEARN
03 — YOUR FIRST CARTRIDGE

Pick your entry point.
Keep going deeper.

Start with a working example, then peel back each layer until the pixels on screen connect to the instructions underneath.

  1. 01

    SET UP

    Clone & diagnose

    Install the ESP-IDF environment, clone the core repository, and let the PRG32 doctor check your toolchain.

    python3 -m prg32 doctor
  2. 02

    MAKE

    Build a cartridge

    Begin with an example in assembly or C. Work inside the game loop and package it into the portable cartridge format.

    game.c → game.prg32
  3. 03

    RUN

    See it come alive

    Test on the desktop virtual screen, then upload to the ESP32-C6 classroom console for native execution.

    QEMU → ESP32-C6
Open the setup guide ↗
04 — THE ECOSYSTEM

More than
a console.

Tooling, lessons, distribution, and games—an open ecosystem designed to make systems programming tangible.

Explore all repositories ↗
WHY PRG32?
“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

Your first instruction
starts here.

Fork the project, build a cartridge, and learn RISC-V from the inside out.