To Aidan Lawrence's ears, nothing sounds sweeter than the music to Thunder Force IV blaring through an authentic Sega Genesis.

This fondness for righteous Genesis sounds led him to create his VGM Player, which plays beloved Sega music in an unadulterated state.

"I always loved the funky, smooth synth sound of Genesis music, so I decided to investigate the hardware," Lawrence told me in a private message on Reddit.

Thus began a long and arduous investigation into how the Sega Genesis made its sounds. First Lawrence set off to acquire the console's sound chip, but complicating matters was the fact that the Genesis actually had two sound chips.

The system's main music maker was a Yamaha YM2612, a multi-talented chip that was capable of tapping out realistic drum beats or singing the iconic "SEGAAAA" on the splash screen.

The other chip, a clone of the Texas Instruments SN76489, was older and blunter, producing three channels of harsh-edged bleeps and bloops.

In fact, the SN76489 clone was only in there because it was the Master System's sound chip, since the Genesis was backwards-compatible with its predecessor's games. However, composers of songs for Genesis titles didn't necessarily differentiate between the two, and often made use of both, resulting in the console's unique sound palette. That is to say, in any given Sega Genesis song, there is the combination of the old-school and the really-old-school.

The combination played nice together. But this anomaly meant that Lawrence's VGM Player had to keep tabs on two things at once. Not an easy task.

Here's how to play music on the device. Lawrence starts with a .vgm music file that has been extracted from a Genesis game. Then, he uploads it to an Adafruit ESP8266, a chip with flash memory, which serves as the brains of the whole device. Basically this chip's role in music generation is that of conductor. It tells the YM2612 and the SN76489 what to play and when to play it. (For a complete overview, the schematics are ultra intricate.)

"Everything needs to be parsed perfectly, because if I lose track of what byte I'm looking at, even by just one byte, nothing will work," he said.