The SEGA Megadrive (Genesis in US) was a really special console for me. I spent lots of hours playing with it and sharing challenges and video game knowledge with my best friend. This project was a kind of tribute to all those years and at the end it resulted in an emotive gift to that friend of mine.
The project mainly consists of taking an original Sega Megadrive/Genesis console, removing inner parts and placing a Raspberry Pi inside with emulation functionality. The original gaming experience had to be present in the final result so I stated some key features the project must match:
1.- Use of original gamepads is mandatory
2.- Original power button must be used to turn on and off the console
3.- Original reset button should do something
4.- Power On Led should be lit when console is on
5.- Original backplane connectors should be used as much as possible.
6.- This is all about Megadrive so emulation will cover only Megadrive/Genesis, MegaCD and 32X.
Step 1: List of Materials
1.- Megadrive Case
2.- Original 3+1 pad
3.- Raspberry Pi B+
4.- Rasberry Pi Case with GPIO connector access
5.- HDMI cable
6.- 2.1 mm jack
7.- 16GB micro SD card. 8 GB is enough if MegaCD emulation is not included.
Step 2: Assembly and Wiring
I have kept part of the original PCB to easily hold DB9 pad connectors, Power Switch and Reset Button. I used also the original 2.1mm jack PCB.
I considered the option of using an HDMI wall mounted connector but none of the solution found convinced me. I finally made a small hole for HDMI cable and connected it directly to the Raspberry Pi.
Raspberry Pi was placed close to the removable lid of the Megadrive/Genesis expansion port so all connections are accessible from outside.
Step 3: Software
I am far from being an expert in Linux based systems so all achievements in software were made by reading and asking over the internet. This is what I did from the very beginning to get a full functional station:
1.- Download RetroPie image from https://retropie.org.uk/download/
2.- Mount image on the microSD card using ApplePi-Baker (http://www.tweaking4all.com/hardware/raspberry-pi/...
3.- Use "raspi-config" command to set up keyboard layout and expand file system.
4.- Update rasberry firmware with "sudo rpi-update"
5.- Install Gamescon driver with corresponding option in "retropie_setup.sh"
6.- Mount db9_gpio_rpi driver with "modprobe -first-time db9_gpio_rpi map=4,4". This is for two original 3+1 button pads. Test gamepad functionality now.
7.- To load the driver on Raspberry boot just add the line "db9_gpio_rpi map=4,4" at the end of file /etc/modules.
8.- Set the new pad to navigate through EmulationStation interface right in the ES GUI.
9.- Set the pad to play Megadrive emulator in file "opt/retropie/configs/megadrive"
10.- Implementation of Reset button with pidkey:
sudo cp pikeyd /bin/pikeyd
/etc/pikeyd.conf is the config file which contain the key and the GPIO number. KEY_ESC 2 worked for me.
Step 4: Final Result
And this is it. I am quite satisfied with the final results and retro feeling is even more present than expected. There is only one thing I would have improved in the project: the weight of the final product. I feel the case now too light and some kind of ballast would have improved the final result. Anyway this is a minor problem that can be fixed at any time.