Digital-to-Analog Converter
A Digital-to-Analog Converter (DAC) is an electronic device that converts a digital code into an analog signal. While this analog signal can be used for pretty much anything, when talking about video game music, it refers to analog audio. DACs are used to play digital audio and they appear on all sound hardware that is able to do so. Through the years of audio hardware, many different DACs have been used with increasing levels of fidelity and abilities. The majority of arcade games features a DAC and most sound cards released for the home computer market utilize them as well.
Contents
Versions
Direct
On early hardware, games output signals to the audio device, one at a time, at a very fast and steady rate. This slows down the game and is limited to rather static screens.
Such devices include Paula, Speech Thing, Sound Blaster, most PC Speakers (if not all), and, mostly as a bug, programmable sound generators: On AY-3-8910, POKEY, VIC, 6581 and RP2A03, changing the volume produces a click; the greater the change, the louder, and these clicks can form coherent sound. On SN76489, TED, OPL2 and 8580, clicks are only audible while a synthesized sound additionally plays.
Since the PC is expandable, Sound Blaster owners must often go through a setup and select their card's port address.
DMA
On hardware that supports DMA (direct memory access), games only need to output where in memory the desired sound data starts, how much it is, and the desired playback rate. The audio device will play it on its own, leaving the game time for large animations.
Such devices include S-SMP, and again, RP2A03, Paula and Sound Blaster. When the sound data ends or loops, the latter two devices notify the game through an IRQ (interrupt request).
Since the PC is expandable, Sound Blaster owners must often go through a setup and select their card's port address, DMA channel and IRQ number.
Devices
The following hardware contains a DAC. This list is meant to be in chronological order, but many release dates are missing.