MCUME
Multi CompUter Machine Emulator for several MCUs
Install / Use
/learn @Jean-MarcHarvengt/MCUMEREADME
M.CU.M.E = Multi CompUter Machine Emulator
<p align="center"> <img width="320" height="140" src="/images/logo.png"> </p>News
Mai 2025: Few more updates
- Fix sound issues in most emulators for the PICO2ZX
- add Apple2 emulation (based on AIIE emulator)
- add PSRAM support to Castaway (Atari ST) for the hyperpetpico HDMI (slow but better compatibility)
- fix USB_PIO issue on the hyperpetpico HDMI (thanks to the PIO_USB author for the RP2350 fix when overclocked) <br>
Mars 2025: Finally some updates! Add pico2 support for hyperpetpico HDMI and PICO2ZX (Bobricus)
- HDMI now supported next to TFT (pico2 only)
- Add USB HOST (pico2 only)
- Port of new emulators to pico2: pcengine, sega master system, sega genesis (exp), gameboy, msx, pc8086, Atari 260ST(exp)
- (thanks to the original authors of the code, I only did the port)
- Instructions when using PICO2ZX:
- use binaries in /bin ("pico2zx/tft_hdmi" if you have a TFT+HDMI or "pico2zx/hdmi_only" if only have HDMI)
- USR1 = KEMPSTON(>>>>) key, USR2 = MENU(QSAVE) key, USR3 = CURSOR(<<<<) key, DELETE and FIRE have same effect
- arrow up + reset => use HDMI default (TFT+HDMI binaries)
- arrow left/right + reset => use TFT default (TFT+HDMI binaries)
- FIRE: launch game to TFT (TFT+HDMI binaries)
- USR1: launch game to HDMI (TFT+HDMI binaries)
- USR3: select + launch rom/game in AUTORUN
- arrow down + reset => delete autorun mode
- About USB:
- most used keys are mapped
- computer emulators starts in keyboard mode, F12 to toggle to joystick mode
- console emulators start in joystick mode
- joystick mode: FIRE=TAB, arrors for directions, USR3=SPACE, USR1=1 and USR2=2 usually <br>
Mai 2023: add multi display support to T-COMPUTER and PICOZX platforms
- You can now configure at boot the display to use for each emulator (Teensy41 or PICO)
- No need for different binaries depending on the display (VGA,ILI and ST displays are all suported)
- Config is stored on the SDCARD
- Press Up while booting to force VGA output at startup (will erase display config => default VGA)
- Press Left while booting to force ST7789 output at startup (will write config)
- Press Right while booting to force ILI9341 output at startup (will write config)
- When configured for non VGA display, you can always push to VGA by pressing ALT iso TAB key to start (on T-COMPUTER)
- Add FMSX and SNES emulators to T-COMPUTER.
- Port of all PICO emulators to the new PICOZX platform of BOBRICIUS <br>
February 2022: introducing T(TEE)-COMPUTER platform based on Teensy41 MCU:<br>
- T-COMPUTER has VGA and TFT video out, Audio out, USB input, embedded 42 keys keyboard and a DB9 joystick input!
- now supported on T-COMPUTER: Apple2, Vic20, C64, Atari800, ZX81, ZXSpectrum, Atari ST, Amiga, Colecovision, Odyssey, NES, SMS, Genesis and Doom.
- new emus for Teensy41: Vic20 and Apple2 based on aiie!
- add AUTORUN feature to Teensy and PICO platforms
- add Floppy write support to Castaway ST emulator
- improved USB keyboard support for existing Teensy41 emus <br>
December 2021:<br>
- Add vic20 emulation to the PICO <br>
October 2021: yet more PICO platforms improvements<br>
- MCUME_REV2 has now dual screen support (TFT+VGA binaries where TFT can be used for keyboard control, or VGA only binaries wo keyboard control)
- Fix keyboard scan for PICOMPUTERMAX (C64,ZX81,ZX Spectrum and Atari800 have now usable keyboard for basic program typing) <br>
September 2021: More PICO platforms improvements<br>
- MCUME_REV2 has now digital inputs for UP/DOWN/LEFT/RIGHT so external C64 joystick can be connected (VGA & TFT binaries)
- PICOMPUTERMAX now supporting ALT and FN(long press on ALT) so more C64 keys can be mapped (FN for Function keys for e.g.) <br>
July 2021: Add support for TFT dispays on PICO<br>
- MCUME_REV2 supports VGA and TFT (ST or ILI) on same layout
- Add specific support for PICOMPUTER (TFT and full keyboard microswitch)<br> https://www.youtube.com/watch?v=4tL9K5tXZtY <br>
May 13th 2021: C64 emulator improvement for PICO<br>
- Overclocked to 250MHz for better speed
- Add on screen keyboard for text input <br>
May 2021: few improvements for raspberry pi PICO<br>
- VGA driver stripped down for 8bits RRRGGGBB (red lines bug fixed)...
- Improved PWM audio...
- Add sound to C64 emulator but still running far too slow
- Add SID player application (picosnd) <br>
April 2021: Add initial support for raspberry PICO<br>
- adapted pico scanline library for VGA 8 bits mode (RRRGGGBB), sorry adapted code is embedded...
- SD support from https://github.com/carlk3/no-OS-FatFS-SD-SPI-RPi-Pico (fixed IRQ to 1)
- rudimentary PWM IRQ based audio (https://gregchadwick.co.uk/blog/playing-with-the-pico-pt3/)
Far from perfect, lot of bugs, and ... unfortunately C64 emulator has no sound for performance reason!<br> All what you need is in MCUME_pico. Precompiled binaries in MCUME_pico/bin.<br> To recompile, look at MCUME_pico/readme.txt<br>
https://www.youtube.com/watch?v=MUpwlZXheb8<br> https://www.youtube.com/watch?v=_WL_KGkxZ88 <br><br>
November 2020 UPDATE: Atari ST emulation now supporting MIDI output!<br> https://www.youtube.com/watch?v=H-TlCDBwdak<br> https://www.youtube.com/watch?v=fzoTYUpEOKs
November 2020: move to latest VGA_t4 library for stable HIRES support<br>
- USB mouse added to Amiga/Atari ST emulation
- Amiga sound improved (freq drifting less audible)
- Atari ST now support 640x200 and 640x400 (B/W) modes with double buffering!!!
- Amiga now support 640x240 mode for cleaner workbench!!!<br> https://www.youtube.com/watch?v=vex335vHc68<br> https://www.youtube.com/watch?v=LKdcduVwwGQ
Mid October 2020: Most emulators are now supporing VGA with sound on the Teensy4.1<br> Experimental I2S sound driver has been added to the VGA_t4 library with minimal DMA disturbances.<br><br> If you are experimenting issues (e.g. image flashing out, crash after few minutes):
- try compiling for smallest code iso faster <br>
e.g.:<br>
- ST emu: compile for "smallest code"<br>
- Amiga emu: compile for "smallest code"<br>
- Doom: compile for "faster"<br>
Atari ST emu has now better sound support!<br> <br>
October 2020: DOOM ported to the Teensy4.1 (for VGA and LCD displays)<br> No sound yet but with USB keyboard support (see VGA prototype PCB below).<br> https://www.youtube.com/watch?v=adYwnctiKsg <br>
<p align="center"> <img src="/images/T41VGA.jpg" width="640" /> <br>June 2020: Update of UAE (Amiga emulator) on Teensy4.1<br> Now with HDD support, better sound and 68020 emulation.<br> All for better compatibility...<br> https://youtu.be/Ho8qZSCKdLg<br> https://youtu.be/vuMYwylYqYs
May 2020: Amiga emulation on Teensy4.1 (with PSRAM) !!!<br> Here is a video of the emulator running on my prototype board.<br> https://youtu.be/LE4IWPG5z6g
March 2020: MSX1/2 emulation on Teensy4.0 (no SDRAM required)<br> Mini-console prototype with 40 keys keyboard, keypad and 320x240 ST7789 display. The prototype supports of course all systems below where keyboard is supported!<br> https://youtu.be/YZGbGKmeb6I<br> <br>
<p align="center"> <img src="/images/msx.png" width="640" /> <br>Nov 2019: Gameboy, Sega Master System/ GameGear and Megadrive/Genesis emulator running with extra 8MB SPI RAM (PSRAM) <br> https://youtu.be/j2sKw7KYpEo <br>
Oct 2019: PC-Engine 'tiny' emulator running on Teensy 4.0 using an extra 8MB SPI RAM (PSRAM) <br> https://youtu.be/Ot9RgDMqdF4<br> GFX bug due to objs cache limitation is now fixed! <br>
<p align="center"> <img src="/images/t4piggy.png" width="240" /> <img src="/images/pcbT4.png" width="480" /> <br> T4 with PSRAM piggy back and latest T4 pcb! </p> <br> <br>Sep 2019: Teensy 4.0 now running Atari 520ST emulator (68k core based)!!! <br> https://youtu.be/UCOaOGmYYso<br> https://youtu.be/6rr2hMqprO0<br> <br>
</details> <p align="center"> <img src="/images/teensy4SD.png" width="200" /> </p> <p align="center"> <img src="/images/stdesktop.png" width="200" /> <img src="/images/strobocop.png" width="200" /> </p> <p align="center"> <img src="/images/teensybread.jpg" width="200" /> <img src="/images/teensy362.jpg" width="200" /> </p> <p align="center"> <img src="/images/esp321.jpg" width="200" /> <img src="/images/esp322.jpg" width="200" /> </p> A collection of 80th game Console and Computer emulators ported to Teensy, raspberry PICO and ESP32 MCUs.<br> Have a look at the video: https://youtu.be/jlqoWH2X6gk<br><br> This project is a spin-off of the TeensyCEC project https://github.com/Jean-MarcHarvengt/TeensyCEC<br> Now ported to much more MCUs! <br>Featuring
Computer systems supported and status on various MCU platforms<br>
| System | Teensy3.6 | Teensy 4.0 | Teensy4.0 +PSRAM | Teensy4.1 +PSRAM | ESP32 | ESP32-Wrover | Pico | Pico2 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Zx81 | X | X | X | X | X | X | X | X | | Zx spectrum | X | X | X | X | X | X | X | X | | Atari 800 | X | X | X | X | X | X | X | X | | C64 | X | X | X | X | X | X | X | X | | VIC20 | | | | X | | | X | X | | Apple2 | | | | X | | | | X | | Atari 520ST | - | full speed! | X | X (640x400!) | - | slow | - | - | | Atari 260ST | - | - | - | - | - | - | - | X | | 8086 XT PC | - | full speed! | X | X | - | slow | - | X | | MSX1/2 | - | full speed! | X | X | - | - | - | X | | Amiga | - | - | exp only! | X (640x240!) | - | - | - | - | | Doom | - | - | - | x | - | - | - | - |
Please compile for smallest code on the Teensy4.0 else you will run out of memory<br><br> For Teensy 4.1 with PSRAM try compiling for smallest code (unless it complains at compilation).<br> Doom for example only works if compiled for smallest code!
Game console systems supported and status on various MCU platforms<br>
| System | Teensy3.6 | Teensy 4.0 | Teensy4 +PSRAM | Teensy4.1 +PSRAM |
