The Arduino Platform has been a very interesting for me. I really like playing / working at this low level. I have been fascinated with Arduino’s for several years now , I also gain some more in depth knowledge about the uses of
Arduino and Raspberry Pi’s in I.o.T devices , through another course that i studied.
My most interesting project using the Arduino Platform , was to build a Hardware Sound Player. As I have mentioned I am a massive Retro Gaming fan, I love the Sega Megadrive, so I decided to see if I could created a Sound Player
based off the Megadrives Sound chip , the YM2612 (Yamaha).
The player had several components:
PC: I Created a Python Script that would read .gym files , which are essentially the logged out instruction data of a game soundtrack before its has been read by the YM2612 sound chip. The Script read and parsed the file extracting
command and data information. This information was then sent to the Serial Port (USB) for the Arduino to read.
Arduino / YM2612 : The arduino would listen on the serial port for data this data was extracted and interpreted. If it was a data command , the arduino would sent the information to the data pins (8 bits / 8 connections ) ,
if it was an instruction it would go to the setting the instruction / command pins to the correct state (high or low).
This was a difficult project since the chip is from the eighties and not much documentation exists. With what documentation I had , I was able to get the chip to play a Piano tone. Once i Achieved this ,I knew the chip was correctly
wired. I could then effectively stream data to the chip from the python script , which played the game music.