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.