Recent Changes - Search:

Recently Written

News

edit SideBar

Sound Card Chip

1.  About sound in DOS

Playing sound in DOS on newer PC’s is not trivial / guaranteed to work at all, since soundcards are neither standardized nor well documented. For graphcards, there is a somewhat usable “standard” called VESA, but there is nothing similar for sound. There used to be an idea of “VESA audio” also, but it got never implemented. Just for fun, a very historical article: ddj.com/184409383?pgno=17 from 1994 claiming something like “VESA audio is badly needed” and “32-bit DOS extenders are the best, OS/2 and Windows is just junk, we’ll stay with DOS” … :-D

Also the Wikipedia has some useful info: en.wikipedia.org/wiki/Sound_card and en.wikipedia.org/wiki/Sound_Blaster .

2.  Card connection, ISA vs PCI, other bus

In cca 1995, soundcards manufacturers changed from ISA to PCI, cards stopped being compatible on hardware level to older ISA cards (for obvious reasons), but also to each other, and they also mostly stopped publishing documentation for the cards. For some time, they provided “emulation drivers” (SB 128/512/Live24/Audigy cards) for old games, but no “native” DOS drivers for new development.

2.1  ISA

ISA cards are usually Soundblaster compatible on the hardware level - no problems in DOS, there used to be also some drivers, but most applications usually accessed them directly via ports (examples: game Star Tetris 2 by Narech Koumar , SB16.DLL from HX-DOS , drivers for DUGL library, all open source) . Because of the compatibility on hardware level to Soundblaster standard (or more preciously to Yamaha OPL-2 or OPL-3 chip), there was “no need” for any DOS API for accessing the sound cards. Even some older onboard chips are compatible.

The top of the evolution of SFX chip is the ISA card model SoundBlaster 16 (SB16). After this card was also other models (AWE32, 32PnP,…) but they are fully backward compatible with SB16 and they only added wavetable MIDI synthesis and have cleaner sound. More info you can get here: http://www.crossfire-designs.de/index.php?lang=en&what=articles&name=showarticle.htm&article=soundcards

For detecting ISA cards (also “faked” cards using emulation drivers - to some degree), one can use:

- SBDETECT : multimediaware.com/qv/qvfaq.html

- GETSB from HX-DOS

The old “de facto sound standard” in DOS.

The term Sound Blaster Pro sounds better then the term Sound Blaster 16 ? Maybe it does, but in fact SB16 is better then SB PRO. PRO doesn’t indicate professionalism here - see Wikipedia links above.

2.2  PCI

After spreading “windows” , hardware compatibility was no longer considered important, every single card/chip became a “private” windows driver, and the mess began. The documentation for the cards (Ensoniq/Creative) is no longer available to the public, requests about such usually get declined (“we don’t release, trade secret”).

Some PCI cards have “SB emulation” drivers for DOS. Primary purpose of those is to bring sound support using PCI card to legacy games “talking” to ISA Sound Blaster. Downside: works only when EMM386 is loaded. Therefore only working with EMM386 compatible applications. Read more about using emulation drivers with SB Live! (might apply to other cards like SB512 and Audigy also) and “original” EMM386 (might apply to JEMM386 also) here: mdgx . com / newtip18.htm#DGSBL . They do virtualize their hardware to fake SB Pro or SB 16. The method for it is using I/O debug watchpoints, bringing several “by design” problems:

  • Need EMM386 loaded (+ “SB-hack”)
  • Using debug registers, require Pentium >=150 MHz (why ?), no Cyrix (crippled ? no I/O debug ?), make debugging almost impossible, buggy and unstable, compatibility problems with some DOS extenders (or need “SB-hack” here also)
  • Additionally, the installer file or installation CD can be ran only from “windows”. (This is by ideology, not by design)

Newer PCI cards and onboard chips have almost never DOS drivers.

Some PCI cards tested or confirmed to work in DOS:

  • SB 128PCI - 2 channel output, bad quality of card itself (only early submodels) and emulation drivers: works somewhat with most real-mode programs, but have problems with some DOS extenders (e.g. CWSDPMI, CauseWay), although in many cases this problem can be solved by replacing CWSDPMI with HDPMI32. It provides SB16, OPL-2 and MPU401 emulations, but no OPL-3 emulation.
  • SB 16PCI - has very similar design to SB 128PCI (and NOT SB16 !), usability in DOS supposedly also similar.
  • SB 512PCI - 4 channel output, reputedly better than SB 128PCI (both card and drivers)
  • SB Live! - Very good card for DOS, also last version of emulation drivers work well (very good sound, both wave and synthesized sound for most legacy games, better than in DOSBox, see above about drivers), native support in MPXPLAY and QuickView.
  • SB Live24 - not clear whether has own DOS drivers or whether one can use those from “SB Live!” , but seems to work well with MPXPLAY
  • SB Audigy1 - allegedly as good as SB Live!
  • SB Audigy2 - officially has no DOS drivers but you can still use drivers for Audigy1. But there is different sound mixer chip so you have to set volume with this patch: prdownloads.sf.net/mpxplay/…
  • Creative AudioPCI
  • Sound Blaster 4.1
  • Sound Blaster AudioPCI
  • Creative Ensoniq AudioPCI
  • Creative Vibra 128
  • ALS4000 based cards - pro: good sound quality, OPL-3 compatible chip, DDMA support, does not need EMM386, works both in Real and Protected Mode, unofficial SB16 emulation driver: http://vsynchmame.mameworld.net/als4kdos/ - con: does not work with some DPMI hosts/DOS extenders

Some onboard chips confirmed to work in DOS:

  • VIA 686/8233/8235 - drivers don’t need EMM386 but are occupy much memory and emulate only SB Pro standard. They are not perfect but fully usable.

2.3  PCMCIA

In newer notebooks without native soundblaster compatible soundcard chip chances are very small to get sound working in DOS.

The Soundblaster Audigy card in the PCI version (see above) has been confirmed to work under DOS with emulation drivers. So far no one has confirmed or declined if the PCMCIA version of the same card is working too.

2.4  PCIe

PCIe is the follower of PCI. PCI-Expres is somewhat compatible with “old” PCI. There are different sized PCIe slots. There are also PCIe to PCI adapters but so far no one confirmed anything to work - it is unknown if any PCI soundcards are working in DOS (natively with MPXPLAY or emulation driver) when plugged into a PCIe slot. There are no known PCIe soundcards with native DOS compatibility or emulation drivers.

2.5  PCI Express Mini

PCI Express Mini the follower of PCMCIA. No further informations yet.

2.6  USB

There are no known USB soundcards working in DOS. However it could be an interesting and challenging task to make something like Covox on USB port :-)

3.  BLASTER variable / sound setup (old ISA cards)

3.1  BLASTER variable

Mostly older games are looking for the blaster environment variable and use this to output sound. You can read something here http://www.rinkworks.com/apogee/s/6.4.2.shtml and about the type of card here http://www.angelfire.com/home/Luke1971/setblaster.htm .

The set the correct blaster variable you can use some of the ISA SB detection tools mentioned above. If it isn’t set at all, then the application can refuse to run, can crash, or try to auto-detect the values - this can work or not.

Also the diagnose tool nssi is good to check the soundblaster settings and to suggest / check the BLASTER variable.

3.2  Sound setup

Other games have setups where you need to enter sound card settings. Some games have auto detection, in most cases this works well.

4.  Drivers and applications supporting newer sound cards / chips

4.1  Soundcard drivers

4.2  Programs

There also exist a few DOS programs which don’t need any emulation drivers at all (and no EMM386) and can work with PCI cards and onboard chips natively.

5.  Exhaustive documentation

Much information about PCI and other soundcards (cards vs chips) as well as code (but difficult to use) can be found here: alsa-project.org .

6.  DOS sound systems / driver API’s

Some info can be found here: http://www.ctyme.com/intr/cat-040.htm (RBIL, not newest, nor complete, still some use).

6.1  Miles sound system

Technically reportedly very good, but proprietary (no drivers nor docs publicly available), still reportedly “active”, some “DOS” support (???), commercial SDK available for $3000, needs Watcom or PowerPack for DOS.

6.2  HMQ / MIDAS audio

Housemarque Audio System , was MIDAS sound system in the past, “officially” obsolete, dates from 1998 (with a small non-DOS patch from 2004). In DOS, only ISA soundcards are supported, no PCI.

7.  Internal “PC” speaker

The last chance … Seems to work well up to P3. In some P4 machines the speaker quality is very bad (very low volume of the speaker, while fan volume is high, distortion of the sound), or there is no speaker at all: players do run, you just don’t hear anything.

8.  See also

Edit - History - Print - Recent Changes - Search
Page last modified on May 11, 2016, at 09:06 AM