Anemoia-ESP32 offers a high-performance NES emulator on the ESP32, enabling classic game experiences at native speed with audio emulation and save states for less than $20 of hardware. Built in C++, it brings a substantial portion of the NES game library to life, making it an essential tool for enthusiasts looking to revisit or discover NES titles.
Anemoia-ESP32 is a high-performance and optimized Nintendo Entertainment System (NES) emulator designed to run seamlessly on the ESP32 platform. This project is a complete rewrite and port of the original Anemoia emulator, specifically tailored to deliver classic NES gaming experiences with native speed and functionality directly on the ESP32 hardware.
Key Features
-
Performance: Anemoia-ESP32 operates at approximately 60.098 FPS (NTSC), ensuring a smooth gaming experience with full audio emulation. Although some games with complex mappers may experience slight speed reductions, the overall performance remains exceptional.
-
Compatibility: This emulator supports around 79% of the NES game library by implementing five major memory mappers. Users encountering glitches or issues can report them, contributing to ongoing improvements.
Performance Benchmarks
Here are the average framerates achieved by Anemoia-ESP32 for popular NES titles, measured over a certain time frame:
| Game | Mapper | Average FPS |
|---|---|---|
| Super Mario Bros. | NROM (0) | 60.10 FPS |
| Contra | UxROM (2) | 60.10 FPS |
| The Legend of Zelda | MMC1 (1) | 60.10 FPS |
| Mega Man 2 | MMC1 (1) | 60.10 FPS |
| Castlevania | UxROM (2) | 60.10 FPS |
| Metroid | MMC1 (1) | 60.10 FPS |
| Kirby’s Adventure | MMC3 (4) | 59.57 FPS |
| Donkey Kong | NROM (0) | 60.10 FPS |
Hardware Requirements
To set up Anemoia-ESP32, the following hardware components are required:
- ESP32 38-pin development board
- MicroSD card module
- 320x240 TFT ST7789 LCD
- PAM8403 amplifier with potentiometer
- 8 Ohms 0.5W speaker
- 8 tactile push buttons
Default Pin Setup
The default connection setup for components is as follows:
| Component | Signal | ESP32 Pin |
|---|---|---|
| MicroSD Module | MOSI | 13 |
| MISO | 34 | |
| SCLK | 26 | |
| CS | GND | |
| TFT Display | MOSI | 23 |
| MISO | -1 (N/A) | |
| SCLK | 18 | |
| CS | 4 | |
| DC | 2 | |
| RST | EN | |
| PAM8403 | L | 25 |
| Buttons | A | 22 |
| B | 21 | |
| Left | 0 | |
| Right | 12 | |
| Up | 15 | |
| Down | 5 | |
| Start | 32 | |
| Select | 27 |
Anemoia-ESP32 provides an engaging platform for retro gaming enthusiasts, making it an ideal choice for those interested in NES emulation on modern hardware.
No comments yet.
Sign in to be the first to comment.