A collection of 80th game Console and Computer emulators ported to Teensy, raspberry PICO and ESP32 MCUs.
Have a look at the video: https://youtu.be/jlqoWH2X6gk
This project is a spin-off of the TeensyCEC project https://github.com/Jean-MarcHarvengt/TeensyCEC
Featuring
Computer systems supported and status on various MCU platforms
| System | Teensy3.6 | Teensy 4.0 | Teensy4.0 +PSRAM | Teensy4.1 +PSRAM | ESP32 | ESP32-Wrover | Pico |
|---|---|---|---|---|---|---|---|
| Zx81 | X | X | X | X | X | X | X |
| Zx spectrum | X | X | X | X | X | X | X |
| Atari 800 | X | X | X | X | X | X | X |
| C64 | X | X | X | X | X | X | X |
| VIC20 | X | X | |||||
| Apple2 | X | ||||||
| Atari 520ST | – | full speed! | X | X (640×400!) | – | slow | – |
| 8086 XT PC | – | full speed! | X | X | – | slow | – |
| MSX1/2 | – | full speed! | X | X | – | – | – |
| Amiga | – | – | exp only! | X (640×240!) | – | – | – |
| Doom | – | – | – | x | – | – | – |
Please compile for smallest code on the Teensy4.0 else you will run out of memory
For Teensy 4.1 with PSRAM try compiling for smallest code (unless it complains at compilation).
Doom for example only works if compiled for smallest code!
Game console systems supported and status on various MCU platforms
| System | Teensy3.6 | Teensy 4.0 | Teensy4 +PSRAM | Teensy4.1 +PSRAM | ESP32 | ESP32-Wrover | Pico |
|---|---|---|---|---|---|---|---|
| Atari 2600 | X | X | X | X | X | X | X |
| Odyssey/Videopac | X | X | X | X | X | X | X |
| Colecovision | X | X | X | X | X | X | X |
| Atari 5200 | X | X | X | X | X | X | X |
| Nintendo NES | X | 384KB roms! | X | X | X | X | – |
| Vectrex | – | full speed! | X | X | – | slow | – |
| PC Engine | – | – | X | X | – | – | – |
| Gameboy/GBColor | – | 490KB roms | X | X | – | – | – |
| Sega Master System/Game Gear | – | – | X | X | – | – | – |
| Sega Genesis/Megadrive | – | – | X | X | – | – | – |
Minimal requirements:
Teensy3.6/Teensy4.0, ESP32 Node32S/Wrover SDK chip or Raspberry PICO
- ILI9341 (Teensy/ESP32) or ST7789 (Teensy only) SPI display
- SD card (Teensy uses built-in uSD, ESP32 uses external one connected over SPI, e.g. ILI9341 integrated one)
- Analog joypad (Arduino or PSP like)
- 3 buttons (FIRE, USER1 and USER2)

2 extra buttons (USER3 and USER4) mostly for NES emu
I2C custom keyboard or integrated one (for computers emulators)
Sound (DAC for ESP and Teensy3.6, MQS for Teensy4.0, I2S for Teensy4.1, PWM for PICO)
VGA output (Teensy 3.6, Teensy 4.1 and Raspberry PICO only)




Leave a Reply