If you were lucky and had well-off parents in the early 1980s, your home computer had a sound chip on board and could make music. There were a variety of chips on the market that combined in some form the tone generators and noise sources of a synthesiser, but without the digital-to-analogue converters of later sound chips designed for sampled audio. They gave birth to chiptune music, but that was all they were made to do. The essence of a hack lies in making something perform in a way it was never intended to, and some game developers for the Acorn BBC Micro had its SN76489 producing sampled audio when it should never have been possible. How did they do it? It’s a topic [Chris Evans] has investigated thoroughly, and his write-up makes for a fascinating explanation.
So, how can a set of audio tone generators be turned into a sampled audio player, and how can it be done when the CPU is a relatively puny 6502? There’s no processor bandwidth for clever Fourier transform tricks, and 1980s tech isn’t set up for high data bandwidths. The answer lies in making best use of the controls the chip does offer, namely frequency and volume of a tone. A single cycle of a tone can be given a volume, and thus can be treated as a single sample of an unintended DAC. By using a tone frequency well above the audio range a suitable sample frequency can be found, and thus an audio stream can be played. The write-up has links to some examples in an emulator, and while they’re hardly hi-fi they’re better than you might expect for the hardware involved. Still, even at that they don’t approach this amazing 48kHz playback on a Commodore 64.
Header: SN76489, on a Colecovision console motherboard. Evan-Amos / Public domain.
Way back in the dark ages, before the average computer could play back high quality recorded audio, things were done differently. Music and sounds were stored as instructions to be played back on audio synthesis chips, built into the computers and consoles of the 80s and 90s. These chips and their unique voices hold a special nostalgia that’s key to this era, making them popular to experiment with today. To that end, [little-scale] decided to wire up eight chips from the SEGA Master System to please your ears.
The chip in question is the SN76489, which we’ve also noted is used in the Sega Genesis as well. It packs 3 square wave tone generators, and a noise channel as well. With eight of these to play with, that’s 32 total channels. To drive these, [little-scale] decided to go the MIDI route. To get around the MIDI limit of 16 channels, he decided to split the frequency range in half. Each MIDI channel addresses two SN76489 channels, the top pitches being used for one, the lower pitches being used for the other. All this MIDI data is passed to a Teensy LC, which handles transposition of the note data to get everything back in tune, and addresses the eight chips to create a beautiful square wave symphony.
The ancient computers of yesteryear had hardware that’s hard to conceive of today; who would want a synthesizer on a chip when every computer made in the last 15 years has enough horsepower to synthesize sounds in software and output everything with CD quality audio? [Brian Peters] loves these old synth chips and decided to make them all work with a modern microcontroller.
[Brian] connected all these chips up with Teensy 2.0 microcontrollers, and with the right software, was able to control these via MIDI. It’s a great way to listen to chiptunes the way they’re meant to be heard. You can check out some sound samples in the videos below.