How 90s DOS games actually handled sound cards (and why it was a nightmare)


Jun 14th '26 8:22pm:
How 90s DOS games actually handled sound cards (and why it was a nightmare)


Back in the 90s, making a computer game emit sound was a surprisingly complex task. Unlike consoles of the era, which shipped with standardized audio chips, IBM-compatible PCs were never designed with gaming in mind. In the beginning, all a computer had was the "PC Speaker"—that tiny internal buzzer that could only output square-wave beeps at a single frequency. When the first dedicated sound cards hit the market, there was no modern operating system like Windows with DirectSound to handle the middle ground. Games had to talk directly to the hardware. To make everything work, a developer had to figure out how to find the card inside the machine, and the user had to understand a bit of hardware configuration just to get things running in DOS. ## Hardware limits For a game to send audio to a sound card via the ISA bus (the standard expansion slot back then), it needed to know the exact location of that hardware. This depended on three core resources that most PC gamers ended up memorizing: * **I/O Port:** The hex memory address where the game sent commands to the sound chip. The standard for Sound Blaster was usually `220h`. * **IRQ (Interrupt Request):** A hardware line the card used to tell the processor it was ready for more data. This was typically IRQ 5 or 7. * **DMA (Direct Memory Access):** The channel that allowed the sound card to pull digital data straight from RAM without tying up the CPU. In those days, automatic hardware detection was incredibly primitive. Games would try sending a signal to these default addresses, waiting for a specific handshake. If you were using non-standard settings because your PC had other peripherals installed, the game usually failed to find the card, ran in total silence, or simply locked up the entire machine. ## Common conflicts The biggest flaw of the ISA bus was its lack of flexibility. Because these cards were not "Plug and Play," two different devices could not share the same IRQ line or I/O port. If they tried, the system would conflict. The classic headache was the clash between a Sound Blaster and the printer parallel port (LPT1), which typically occupied IRQ 7. If your sound card was also set to IRQ 7, the game might boot up fine but would crash the exact microsecond the first digitized sound effect—like a gunshot or a voice line—tried to play. It was also common to hear a game's music but absolutely no sound effects. This happened because music usually ran via FM synthesis (using the OPL3 chip on an AdLib or Sound Blaster), which didn't require a DMA channel. Digitized PCM sound effects did. If the DMA channel was set incorrectly in the game menu, the music would play perfectly in the background while the rest of the game stayed completely silent. To make matters worse, drivers for complex cards or generic clones had to be loaded directly into DOS startup files (`CONFIG.SYS` and `AUTOEXEC.BAT`). They ate into the system's conventional memory—that classic 640 KB limit—leaving barely enough room to actually launch the game. ## Community solutions To keep game studios from having to program custom drivers for every single sound card on the market—ranging from the popular Sound Blaster to the high-end Roland MT-32 and Gravis Ultrasound—the industry adopted a couple of practical workarounds. The first was standardizing around an environment variable called `SET BLASTER`. Creative Labs was so dominant that this line of code in the startup file became an industry standard. It told the system exactly how the hardware was configured. It looked something like this: `SET BLASTER=A220 I5 D1 T6` When you launched a game, it simply read this text line and instantly knew which settings to apply. The second major solution was the rise of audio middleware. Third-party companies started developing ready-made sound libraries and licensing them to game studios. The **Miles Sound System (AIL)** and the **HMI Sound Operating System** were the most famous. That classic blue configuration screen (the `SETUP.EXE` or `SOUND.EXE` file) bundled with games like *Doom*, *Duke Nukem 3D*, or *Blood* was actually just the Miles or HMI system running before the game itself started. ## Modern preservation On modern operating systems, all of this configuration headache is gone. Windows or Linux manages sound through unified software layers. The game just passes audio to the OS, and the OS handles delivering that signal to your motherboard or USB output. For anyone looking to run these old games today, the solution is software emulation: * **DOSBox:** This creates a virtual environment that mimics old chip behavior. The software recreates the OPL3 chip and pretends there is a Sound Blaster 16 sitting at IRQ 5 and DMA 1, translating those legacy commands into your modern audio hardware. * **MUNT:** A specific emulator designed to replicate the behavior of the Roland MT-32 module. Back then, Roland used sample-based synthesis and was incredibly expensive hardware. MUNT allows modern PCs to render those MIDI soundtracks with original fidelity purely through software. ### Retro Era **Why did games ask for different settings for "Music" and "Sound Effects (SFX)"?** Because they used completely different technologies. A Sound Blaster was great at playing back recorded sounds (explosions, speech), but its music synthesis sounded a bit thin and metallic. Other devices, like Roland modules or General MIDI cards, used real instrument samples and delivered much better music. The ideal setup back then was using a Sound Blaster for SFX and a MIDI device for the soundtrack. **I changed the IRQ inside the game menu and my PC froze. What happened?** You likely changed the setting in the software, but your physical sound card was still assigned to a different number. The game tried to access a channel that was closed or being used by something else. You had to physically move jumpers on the card itself or run the card's DOS configuration utility before changing the options inside the game. ### Modern Era **Can I use a real vintage sound card in a modern PC?** Not directly, because modern motherboards use PCI Express slots and abandoned the ISA bus decades ago. Some people in the retro community use complex industrial adapters or build custom projects that connect old sound chips (like the OPL3) via a parallel port or USB, but that is a very specific hobbyist niche. For most people, software emulation yields an identical result. **Why does the same game sound different depending on the emulator or PC?** While FM synthesis emulation is incredibly accurate now, back in the 90s, the sound relied heavily on the analog components of each specific card. Clone cards from brands like ESS or Crystal tried to mimic the Sound Blaster chip, but they had different audio filtering circuits. This meant two people playing the exact same game in 1995 could hear slightly different instrument timbres depending on the exact card inside their tower.