Chiptunes are cool, but when you get into it, you realize you’re mostly dealing with Commodore SID tunes, Atari POKEY tracks for the cool kids, bleeps and bloops from a Game Boy, and maybe some NES tracks thrown in for good measure. There’s another option out there – the sound chip in the Sega Genesis. This thing could do drums, man, and [Aidan Lawrence] built the perfect player for the tuneful silicon tucked inside the classic 16-bit console.
[Aidan] had previously built a tiny little music player based on the YM3812 chip, the Yamaha chip found in SoundBlaster and Adlib sound cards. The chip inside the Sega Genesis, the Yamaha YM2612, is a bit different. The killer feature of this chip, PCM waveforms, aren’t stored as simple, small bits of code. These are massive blobs of binary data sent to the chip’s DAC. The SEGGGGAAAA intro of Sonic the Hedgehog, for example, used an eighth of the the cartridge space. You’re not going to build a Sega chiptune player with a tiny little microcontroller and 20kB of RAM.
The solution came in the form of an external SPI RAM device. The 23LC1024 is a full 1 Megabit in size, and since it’s SPI, it’s more than fast enough to keep up with the sample speed. The rest of the circuit including the mixer, preamp and power amp are based on the Genesis’ actual schematics, with an SD card and OLED thrown in for good measure. How does it sound? There’s a great video below the break and yes, the soundtrack from Sonic 3 sounds just as good as it did twenty years ago.