Learning the YM2612 with a Sega Genesis Model 1
I’m planning on using the Yamaha YM2612 FM synthesizer chip that has been used in both keyboard synthesizers, but also in the Sega Genesis consoles. The purpose is to add audio capability to my DIY Tablet computer. If you’ve read my other posts, you’ll know that my computer uses the Motorola 68000 processor, so I looked to other 68K machines for inspiration. What did other hardware designers in the 1980s and 1990s choose to use for adding audio to their computers? There’s no replacement for actually having the physical hardware in your hands, so I ordered a few YM2612 chips from China off ebay, and bought a couple Sega Genesis from my local used-game retailer. The Exchange in Pittsburgh was a perfect match for my quest!
I cleaned up the older machine with my 3M electronics vacuum(absolutely love my 3M/SCS 497AJM for this task) and 99.9% Isopropyl Alcohol. Came out mostly as good as new!
This disassembles very easily! You can see below the YM2612 with a couple nose-pickers attached. I have a 3M dip clip coming from Digi-key that will cleanup the connections. The YM2612 is center board bottom, to the right of the big headsink for the voltage regulators.
And fully attached……
Right now, I’m just watching the bus with my HP 16700A logic analyzer. I can’t quite make heads or tails out of the waveforms, but I’m working on it.
I’ve thought about using a Teensy 3.1 microcontroller board to drive the YM2612 for a proof of concept. I haven’t fully decided if I really need to. So far, my research has led me to a better understanding of how this chip works, so I might be able to skip right over to Jotego’s YM2612 Verilog implementation.
Adrian Lawrence did a fantastic job with his implementation here. Fantastically clean audio!
Tons of inspiration from really smart people online really kicks me in the butt for my projects.
I still have some room in the FPGA, and I think the JT12 will fit. Then I have to figure out how to interface it to my 68K softcore processor. I’m not sure if I want/need to add the SN76489 which the Sega Genesis has integrated into its Video Processor ASIC.
More to come on this!