Skip to content
Phase 1 · engine proof

Games for a handheld with no GPU. Playable here first.

PocketForge is an open source engine and game collection for the Miyoo Mini Plus: a 320 × 240 pixel buffer rendered by two small ARM cores. The same C code runs on the device, on a desktop and in this page as WebAssembly.

Keyboard or the on-screen pad. Sound starts after the first press.

Hello Core

Playable

Loading core…

Press any button to enable sound Open full screen

Library

Every game, in the browser and on the handheld

One entry per game. Playable builds run right here; the device build is the same code compiled for ARM.

New games land here as they reach a playable state.

How it works

One core, three hosts, identical pixels

The game never talks to an operating system. It fills a pixel buffer and mixes audio; three thin hosts carry that buffer to a screen.

  1. Core

    Plain C11, no allocation after start, integer gameplay math. Renders 320 × 240 ARGB pixels and 44.1 kHz stereo audio.

  2. Device

    An SDL2 host on the Miyoo Mini Plus; the 2D blitter scales 2× and rotates 180° into the 640 × 480 panel.

  3. Browser

    The core compiled to WebAssembly with Zig, no Emscripten. A canvas shows the buffer, the keyboard and a touch pad feed the buttons.

  4. Desktop

    The same SDL2 host in a window, for hot-reload development and headless tests that hash every frame.

The handheld

Miyoo Mini Plus with OnionOS

A 3.5-inch, 640 × 480 IPS panel, a SigmaStar SSD202D with two Cortex-A7 cores and 128 MB of memory. No 3D GPU, so every pixel is drawn by the CPU.

Display
3.5″ IPS, 640 × 480, 59.67 Hz
CPU
2 × Cortex-A7, 1.2 GHz, NEON
Memory
128 MB, ~60 MB for a game
Graphics
2D blitter MI_GFX, no GPU
Internal resolution
320 × 240, 2× nearest
Input
D-pad, A B X Y, L1 L2 R1 R2, Start, Select

Device build

Every push builds the OnionOS app folder on GitHub Actions. Download the artifact, copy the folder to /mnt/SDCARD/App/ on the card and start it from the Apps tab.

Open the builds on GitHub

Source

Open on GitHub

Engine, hosts, toolchain, this site and the full stack decision live in one repository.