TL;DR
An enthusiast has developed a deeply optimized MSX emulator on the ESP32-S3, utilizing VGA output and custom audio, demonstrating advanced performance on a microcontroller. The project supports MSX1, MSX2, and MSX2+ standards and is accessible via web or SD card.
An enthusiast has achieved a deeply optimized MSX emulator on the ESP32-S3 microcontroller, supporting VGA output and audio, marking a significant step in retro gaming on compact devices.
The project involves using an ESP32-S3 with at least 8 MB of PSRAM to emulate MSX1, MSX2, and MSX2+ systems. It leverages modifications to the original fMSX core, including targeting the Lx7 CPU’s cache and optimizing hot paths to improve performance. VGA output is generated via a basic 2-bit R-2R RGB222 DAC, while audio is handled through custom wiring to GPIO pins for PDM filters. Input is via USB keyboard, and software can be loaded through a web interface or SD card.
These improvements are based on technical adjustments such as aligning memory accesses for the Xtensa architecture, moving data from Flash to RAM, and preventing pipeline flushing caused by branching. The project is part of the Retro-Go initiative, which emulates multiple retro consoles on the ESP32 platform, making it accessible for enthusiasts interested in portable retrogaming solutions.
Potential for Portable Retro Gaming on Microcontrollers
This development demonstrates that high-quality emulation of classic systems like MSX can be achieved on small, affordable microcontrollers, expanding possibilities for portable gaming devices. It highlights the ESP32-S3’s capabilities and encourages further innovation in retro gaming hardware, potentially reducing reliance on larger single-board computers like Raspberry Pi.

3pcs ESP32-S3-DevKitC-1-N16R8 Development Board Integrated 2.4GHz WiFi Bluetooth 5.0 ESP32-S3-WROOM-1 Microcontroller Processor Dual Type C Interface for Arduino
Powerful Performance: ESP32-S3 is an MCU chip integrating 2.4GHz WiFi and Bluetooth 5 (LE). It is equipped with…
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Advances in Retro Emulation on ESP32 Platforms
The ESP32-S3 has become a popular choice for hobbyists due to its processing power and integrated features. Prior projects have focused on emulating various consoles, but the recent optimization for MSX emulation marks a significant step forward. The original Retro-Go project supported multiple platforms, but this latest work emphasizes performance tuning specific to the MSX core, leveraging the ESP32-S3’s architecture to deliver smoother gameplay and enhanced video output.
“By optimizing cache usage and memory access patterns, we’ve managed to run MSX emulation smoothly on the ESP32-S3, with VGA output and responsive controls.”
— an anonymous researcher

Mcbazel Arcade Game RGB/CGA/EGA to VGA HD Game Video Output Converter Board for Arcade Monitor to CRT LCD PDP Projector
The high definition Video converter is a professional game converter, which support all games.
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Performance Limitations and Compatibility Scope
It is not yet clear how well the emulator performs under extended use or with more demanding MSX titles. Compatibility with all MSX software, especially those requiring advanced hardware features, remains to be tested. Details about long-term stability and potential hardware modifications are still emerging.

OHY XVX Wired 75% Retro Gaming Keyboard with 2 HUB Ports, M87 Pro Mechanical Keyboard with Customizable Switches, Compact Gamer RGB – Grey
⌨【Hub Design】A multi-port docking station integrated into this keyboard offers convenient central hub functionality for connecting multiple devices…
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Next Steps for Emulator Optimization and Testing
Developers plan to refine performance, expand software compatibility, and explore more advanced audio and video output options. Further testing is expected to verify stability and usability for longer gaming sessions. Community feedback and collaborative development will likely shape future improvements.

DIYables Micro SD Card Adapter Module Reader for Arduino, ESP32, ESP8266, Raspberry Pi, 2 Pieces
Adapter between Micro SD Card and Arduino, ESP32, Raspberry Pi, or any micro-controller
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
What hardware is needed to run this MSX emulator?
An ESP32-S3 microcontroller with at least 8 MB of PSRAM and basic wiring for VGA and audio output. USB keyboard support is included, and software is loaded via web interface or SD card.
Does this emulator support all MSX games?
The emulator supports MSX1, MSX2, and MSX2+ standards, but full compatibility with every title is still under testing. Performance may vary depending on the software.
How does VGA output work on the ESP32-S3?
VGA output is generated using a simple 2-bit R-2R RGB222 DAC, which provides basic color output suitable for retro gaming visuals.
Is this project available for public use?
Details about public release or source code are not specified yet, but the project is shared within the enthusiast community and may be open for further development.
Source: Hackaday