esp32-ai
A 28.9 million parameter language model runs on an $8 ESP32-S3 microcontroller entirely on-device, generating simple stories at about 9.5 tokens per second.
It achieves high accuracy through decap-informed synchronous models of the custom sprite doorway and CF37201 chip, a cycle-sensitive WAIT handshake, and a Verilator-based verification pipeline that regresses against MAME captures across all nine games.
One runtime-selectable FPGA core for the Universal Do's Castle board family. The release target is Universal_DoCastle.rbf, selected by a separate MRA for each game.
| ID | MAME set | Game | Profile | Rotation |
|---|---|---|---|---|
| 00 | docastle | Mr. Do's Castle | Castle | ROT270 |
| 01 | douni | Mr. Do! vs. Unicorns | Castle | ROT270 |
| 02 | dorunrun | Do! Run Run | Run Run | ROT0 |
| 03 | dowild | Mr. Do's Wild Ride | Run Run | ROT0 |
| 04 | jjack | Jumping Jack | Run Run | ROT270 |
| 05 | kickridr | Kick Rider | Run Run | ROT0 |
| 06 | spiero | Super Pierrot | Run Run | ROT0 |
| 07 | idsoccer | Indoor Soccer | Soccer | ROT0 |
| 08 | asoccer | American Soccer | Soccer | ROT0 |
The core models three 4 MHz Z80s, the cycle-sensitive main/sub WAIT handshake, TMS1025 input pipeline, four SN76489A PSGs with READY-driven wait, live board-relevant HD6845 registers and raster outputs, profile-specific CPU maps and tile priority, standard and Soccer sprite formats, Soccer dual-stick inputs, and Soccer MSM5205 ADPCM through a pinned JT5205 implementation. It also includes the main-board watchdog and a decap-informed synchronous model of the third-CPU/CF37201 sprite doorway. The wrapper provides OSD-controlled CRT H-Size, H-Position, and V-Shift through the pinned MiSTer-CRT-Adjust core-side implementation, plus selectable normal or full H+V integer HDMI scaling.
The default remains the nine-game visually proven path. PCB support enables
the dumped third CPU's two real transfer phases, the decoded CF37201 registers,
the chip's 126-MCLK /PL/interrupt cycle, and the three-second watchdog while
retaining the proven renderer. The CF model now uses the decap-derived address,
counter, flip, palette, and field-select equations. This mode completed
software regressions for all nine sets and a 361-frame Do! Run Run timing run.
PCB audio stage adds a 48 kHz approximation of the service-manual output
coupling and speaker roll-off. Experimental CF framebuffer selects the full
two-field 64K renderer driven only by the real third-CPU/CF stream; it remains
opt-in because the central title sprite is still missing in comparison with
the proven renderer. Experimental IRQ compares the schematic CURSOR source
with validated VSYNC behavior. CURSOR mode is not a release default: t
MiSTer FPGA core for Universal Do! Castle arcade hardware
Similar projects matched by category, topics, and programming language.
A 28.9 million parameter language model runs on an $8 ESP32-S3 microcontroller entirely on-device, generating simple stories at about 9.5 tokens per second.
A Rust library that provides secure memory handling primitives including zeroization on drop, memory locking, constant-time comparison, and compile-time guarded regions, with zero dependencies and no_std support.
INTACT is an end-to-end JEPA world model that learns an isomorphic intent-to-action interface, enabling search-free direct control for goal-conditioned robot tasks with high success rates after just one epoch of training.