Legacy Sound Card Protocols in Windows 98

Microsoft Windows 98 was engineered during a transitional era between 16-bit legacy computing and 32-bit architecture, requiring extensive backward compatibility for MS-DOS and Windows 3.x software. To allow users to play older games and run multimedia applications without rebooting into real-mode DOS, the operating system maintained support for established industry-standard audio protocols. This article outlines the primary legacy sound standards—including Creative Sound Blaster, AdLib, Roland MPU-401, and the Windows Sound System—that Windows 98 supported natively or through software virtualization.

Creative Sound Blaster (SB, SB Pro, and SB 16)

The Creative Labs Sound Blaster protocol was the de facto standard for MS-DOS digital audio and game effects. Windows 98 supported the original Sound Blaster (DSP 1.x/2.0), Sound Blaster Pro (8-bit stereo), and Sound Blaster 16 (16-bit stereo) architectures. The OS maintained backward compatibility by mapping and virtualizing the legacy hardware resources typically used by these cards:

  • Base I/O Port: 220h (alternatively 240h)
  • Interrupt Request (IRQ): IRQ 5 or IRQ 7
  • Direct Memory Access (DMA): 8-bit DMA Channel 1, and 16-bit DMA Channel 5 (for SB 16)

Windows 98 utilized Virtual Device Drivers (VxDs) to trap calls made to these hardware registers from DOS virtual machines, rerouting the audio commands to the installed sound hardware.

AdLib and Yamaha OPL FM Synthesis

Before sampled digital audio became common, PC games relied on frequency modulation (FM) synthesis. Windows 98 preserved compatibility with the original AdLib Music Synthesizer card and its underlying Yamaha OPL2 (YM3812) and OPL3 (YMF262) sound chips.

The system natively monitored I/O port 388h, the standard address for AdLib register writes. For sound cards equipped with physical OPL chips, commands passed directly through to the hardware; for PCI sound cards lacking FM hardware, Windows 98 drivers frequently translated OPL instructions into software wavetable synthesis.

Roland MPU-401 and General MIDI

For professional audio and higher-end game soundtracks, Windows 98 supported the Roland MPU-401 (MIDI Processing Unit) interface. Compatibility was focused on MPU-401 "UART mode" (dumb mode), which operated primarily at I/O port 330h. This protocol allowed legacy games to send standard MIDI commands to:

  • External MIDI devices, such as the Roland MT-32 and Sound Canvas SC-55.
  • Internal wave-table daughterboards conforming to the General MIDI standard.
  • The built-in Microsoft GS Wavetable SW Synth included with DirectX in Windows 98.

Microsoft Windows Sound System (WSS)

Introduced for Windows 3.1, the Windows Sound System protocol was Microsoft's specification intended to challenge Sound Blaster dominance in business audio. Operating around the Analog Devices AD1848 codec (usually addressed at I/O port 530h), WSS provided clean 16-bit 48kHz audio. Windows 98 retained direct driver-level support for WSS-compliant hardware, allowing older 16-bit Windows software and select DOS titles configured for WSS to operate without modification.

Backward Compatibility on PCI Hardware

As ISA expansion slots were phased out in favor of the PCI bus during the Windows 98 lifecycle, physical access to traditional DMA and IRQ channels became impossible. Windows 98 bridged this gap through driver-level legacy emulation:

  • Distributed DMA (DDMA) and PC/PCI: Hardware specifications that allowed early PCI chipsets to handle legacy DMA channels.
  • TSR Emulation and VxD Trapping: PCI sound cards (such as the Ensoniq AudioPCI and Creative Sound Blaster Live!) used Windows 98 VxD drivers combined with real-mode TSRs to virtualize Sound Blaster, AdLib, and MPU-401 calls, transparently redirecting legacy traffic to the host PCI audio controller.