Emulate the Sega Master System, and More on a Simple ESP32 Microcontroller (code in comments)
==============
=. What is this? =
==============
This is a port of SMSPlus to the #Espressif #ESP32 chip. It will run most #Sega_Master_System roms at full speed. You can purchase a shiny new ESP32-based development board for as little as $2.50, which is pretty amazing when you consider what you’re getting.
==========================
= What do I need to use this? =
==========================
You will need:
1) A board contains an ESP32 chip and at least 2MB (16Mbit) of SPI flash, plus the tools to program it.
2) A Sega Master System ROM game
3) A 320x240 ILI9341 display, controllable by a 4-wire SPI interface. You can find modules with this LCD by looking for '2.2 inch SPI 320 240 ILI9341' on eBay or other shopping sites. We used the one with the red PCB and the SD-card on the bottom.
4) Optional, for sound: A I2S codec, plus some hardware to make the sound it outputs be heard. as they only require BCLK, DATA and LRCLK signals to work.
5) Optional, but highly recommended: A Playstation 1 (PSX) or Playstation 2 controller to actually play the game
If you enjoyed those videos, then please subscribe to my channel
which I update every week
👉 Subscribers : https://bit.ly/2EpEwrU
====================
= original source code =
====================
https://github.com/espressif/esp31-smsemu
===========================
= LCD 320x240 ILI9341 display =
===========================
Reset - GPIO18
/CS - GPIO19
CLK - GPIO20
MOSI - GPIO21
D/C - GPIO22
(Make sure to also wire up the backlight and power pins.)
===========
= I2S codec =
===========
LRCLK - GPIO32 (also called 'WS')
DATA - GPIO33
BCK - GPIO27
(Obviously, also hook up the power pins and connect the sound output to an amp or headphones or so.)
===================
= PSX/PS2 controller =
===================
DATA - GPIO25
CLOCK - GPIO14
ATT - GPIO16
CMD - GPIO17
- ( Hook VCC up to 3.3V and the ACK pin can be left unconnected.)
- Pinouts can be found here: https://gamesx.com/controldata/psxcont/psxcont.htm
==========================
= How do I program the chip? =
==========================
Using a tool capable of flashing the SPI flash connected to the ESP32, program the following files to the following addresses:
bin/boot.bin -------------------- 0x000000
bin/irom1.bin -------------------- 0x004000
bin/irom0_flash.bin ----------- 0x040000
(SMS game ROM image) --- 0x140000
Because of copyright reasons, you will have to supply the game rom image yourself.