WINDOWS SOUND SYSTEM (WSS) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time for another hardware deep-dive of sorts re-parsed for the everyman and the beginner, but deep enough to not make me look like a simpleton. I had this page up here before but it was desparatley in need of a re-write. Anyway, the main thing that prompted this page was when I purchased an NEC Versa M/75 knowing it had a "sound card on board" but not knowing that there were more variants of sound cards than just the SoundBlaster, Adlib, GameBlaster, Gravis Ultrasound, Pro Audio Spectrum, Disney SoundSource/Covox Sound Thing, that Parallel Port OPL thing, or the Tandy/PC Jr 3-voice. I never heard of Windows Sound System, and had I seen it before then, I would have just assumed it was some hair-brained Windows component (and would have been at least halfway right on that assumption). Windows Sound System or WSS for short is a audio standard started by Microsoft back around 1991-1992 or so. It was their competitor to Creative Lab's SoundBlaster, Gravis' Pro Audio Spectrum and UltraSound, and other various competing Sound Cards at the time. The card is remarkably similar to a SoundBlaster rin that it basically consisted of a digital audio section, and a FM Synthesizer section (OPL), however, while the SoundBlaster had it's own custom silicon to make a fully functional sound card, the Windows Sound System used a Analog Devices AD1848 (or compatible) Audio Codec chip instead, where Windows would do all the processing for audio in software. Remnants of this system exist in Windows, likely up to this day, but it eventually lost favor over the Soundblaster standard which overtook just about everything. The major reason I'm putting up a page of awareness of this device, is that every year, many retro-computing enthusiasts into old PC's take a deep dive into finding audio hardware or vintage laptop computers and then wonder why the heck their DOS games don't work with their "SoundBlaster compatible" sound card - when in fact the card they are using, is not a SoundBlaster compatible at all, it's a Windows Sound System compatible card. These cards typically live at Memory Address 530h, with a soft-IRQ of some kind (usually 5 or 7), and use DMA Channels 0, 1, and 3. Some diagnosic software for SoundBlasters can pick up these addresses and verify that you indeed have a WSS compatible audio codec card rather than a Soundblaster compatible audio chipset card. Also, MANY late-model vintage 486 class laptop computers such as the Zenith Z-Note, NEC Versa M/75 and M/100, and Toshiba T4860CT feature this sound chip, and often without a FM Synthesizer. This leads to some rather interesting nightmares when it comes to finding a vintage laptop for DOS gaming on E-bay that has digital audio and/or FM Synthesis. A List of Laptops with WSS Quite a handful of vintage 486 class laptop computers came with Windows Sound System audio codec chips in lieu of a SoundBlaster compatible chipset (usually ESS488/688). It seems this era ends with the beginning of modern-ish Pentium Laptops with ESS audio, 800x600 screen, and Lithium Ion batteries, and the end of the 2" thick 12" wide slabs of plastic granite. Maybe this will help people who are looking for a sound capable laptop from the 90's but either want to avoid or rise to the challenges of using Windows Sound System on such legacy devices. On teh upside you do get CD Quality audio when it's supported (44.1KHz 16-bit CD Quality is standard), but emulated SoundBlaster is supposedly limited to 8-bit and SoundBlaster Pro level.
WSS in Windows, and SoundBlaster Compatibility + How to Get Your MIDI Back with OPL-less Systems So as the name implies, Windows sound system was intended for WINDOWS. It was intended to be a universal standard, but the audio codec chips it uses for digital audio don't exclusively come with the standard, OPL compatible, Adlib-style FM Synthesizer built in either. So you WILL have sound in Windows, just no MIDI....but I have found a way around this.... There's a program called WinGroovee Beta 9 - which has a virtual MIDI Driver that allows games to utilize WinGroove to have MIDI in Windows software. This is handled by loading WinGroove as a Driver, and then further bolstered by using the "fully Active" program to allow proper multiplexing so you can have sound effects and digital audio at the same time. I needed this for Sim City 2000 in Windows 3.11 For Workgroups to work. That said, it seems WinGroove does NOT work for DOS games though. Being as it's a Wavetable synth, the sound quality is actually quite good. WSS in DOS, and SoundBlaster compatibility Windows Sound System was supposed to be a standard. With most chipsets, you not just have one set of drivers to deal with (the OEM chip-maker/device maker's drivers), but also the Windows Sound System drivers itself. Initially this started out as a add-on for Windows 3.0 and Windows 3.1 in 1991-1992ish, for Multimedia Enhancement, but was later updateed for Wiwndows 3.11 in 1993 with version 2.0 which supported more cards. The first problem is not all WSS cards come with a FM Synthesiizer. My NEC Versa M/75 laptop for example, does not have an OPL chip on-board, so no FM Synthesis. This seems to be extremely common on WSS equipped 486 laptops from 1993-1995 with a Crystal CS4231 series codec chip as it was maarketed as "Crystal Business Audio", and likely was intended for presentations of businessmen talking about business stuff, and not some nostalgic guy 20-30 years later playing DOS games on a laptop that would have cost as much as a low mileage, used, current vintage Toyota Corolla in 1993. One thing suggested in the drivers for Windows Sound System (WSS) is it's ability to emulate a SoundBlaster Pro in 8-bit mode using WSSXLAT.EXE TSR, utilizing EMM386.EXE to "hook" the memory address and/or soft IRQ to port 220h for SoundBlaster digital audio support. It is configured in this method....
CONFIG.SYS
AUTOEXEC.BAT **NOTE** Add P330 after D1 if your card has a FM Synthesizer on it. I skipped this here because my Versa does not have a OPL Chip on-board, just the Crystal chip. Supposedly, how this works - or so I'm told - is that the EMM386.EXE EMS driver acts as a liason and "hooks" the WSSXLAT to the parameters for SoundBlaster compatibility. PRoblem is I've NEVER had it ever work. And it seems that's the common experience with this particular driver outside of Windows. It needs to be the version 2.0 driver, not hte version 1.0 driver - but it also appears to require this version of EMM386.EXE, and this can cause some issues since certain games with only SoundBlaster Support that are incompatible with EMS - say Ultima VII or Serpent's Isle for example - still will notwork because the EMS driver interferes with the VooDoo Memory Manaager causing it to fail (though a workaround for that is using something like U7DPMI or U7RUN to run the game from Windows and go around VooDoo). Only problem is, following the instructions above, I have been unable to get the NEC Versa M/75 to behave as a SoundBlaster Pro 2 compatible digital card by any stretch of the imagination at all. It's pretty much never found. I know SoundBlaster Emulation works because in Windows 95, it does work (Windows 95 has it's own form of SB Emulation that allows DOS applications to utilize the WSS Codec as a SoundBlaster Pro 8-bit card and it works quite well with almost all MS-DOS software including Wolfenstein 3D and NESticle). I did try this out on IRQ 10 though after looking at a thread on VOGONS looking for soundcard drivers foor a Zenith Z-Note (which is similar to the Versa M/75 in a lot of ways). At first some forum digging told me that it was not working because I was no in Windows when using the driver. However, this seems not to be true, because right below is a guy using WSSXLAT on a Toshiba T4860CT playing Wolfenstein 3D with digital audio - and it works. This seems bizarre to me because I have yet to get this working at all on my M/75. However, I don't know if the 4860CT uses a AD1848 or a Crystal chip, and I'm not sure how well Crystal Semiconductor or NEC followed any "rules" or "guidelines" given for the WSS standard when designing their audio circuit/laptops. I really dunno how this guy is doing this, he does not show his Config.sys or Autoexec.bat, nor if he's using any special memory parameters that could be edited to get WSSXLAT to play ball, but I do know it's possible to get it working Another problem I have run into is using the drivers hosted at WinWorld. Apparently they are missing an insntallation file from the disk images since it asks for a WinSetup file upon launch for both WSS installs - so I can't get a FULL install of WSS on Windows 3.1x without having to just copy the install I had on the M/75 originally (which was missing WSSXLAT.EXE and SB Emulation did not work on that - but little surprise, they might have skipped that feature as the laptop was being used as a communications device ala Stephen Hawking's AAC, not as an entertainment machine). Either way, highly annoying. If anyone knows of how I can get this working, please throw me a line via e-mail/YouTube/etc. A list of Games/Software compatible with WSS (And brief notes) Despite it's lack of popularity, and "windows centric-ness", WSS did have some native support in DOS without WSSXLAT.EXE in certain cases of various audio engines used in games, audio production software, and so on. Below I've started creating a list of WSS Compatible titles and the audio engines they use. THE most common engine that supprts WSS in DOS is Sierra Creative Interpreter, of which, most games released in 1994 and later have support for. Another popular one are the Digpak driver collection as used by the first two GTA games. Sometimes support for WSS can be HACKED INTO a game if there are drivers in the same format, as there may be earlier DIG or ADV files that can be added to the folder for the software and then the resource files for the installer edited and modified to accept those drivers. Something to keep in mind is this is not a comprehensive elist, this is just stuff I have personally run, tried, or attempted to run myself, and my own experiences with them using a NEC Versa M/75 with a Crystal CS-2431-KQ Chipset audio codec on it. Your mileage may vary. Also, many times, games that have WSS Support have earlier releases that lacked that support and that support was added via a later update, or on a later edition. To find more DOS software with native WSS support, you can actually narrow down the most likely period for support. The majority of WSS compatible software for DOS was released between 1993 and 1997, with the majority being 1994, 1995, and early 1996. Typically it was implimented in Multimedia Heavy Titles that were not huge mainstream releases. All the huge mainstream stuff (with the exception being Sierra from 1993-1997) - such as LucasArts, ID Software, and Apogee, don't support WSS. Those would require the SoundBlaster comaptible trick above to work. Another key thing to remember is not all WSS compatible devices have a FM Synth on board. The best examples of this would be many laptop computers of the era, especially those with a "Crystal Business Audio" (CS4231x) Codec Chipset on board. A lot of DOS titles used FM Synthesis for the music, while using digital audio for the full audio. That said, a handful of titles on this list actually do all the audio and music in digital, such as Fit Up, Flying Tigers 1 & 2, or the Great Giana Sisters. But these titles are not that common.
Hacking/Modifying Games/Software to Work with WSS Natively in DOS AKA. A Guide to Audio "Engines" on old DOS Software It may actually be possible to make a particular piece of software compatible with WSS based on what audio engine it has and whether it has a driver for it. A common misconception is that all game companies from the DOS days built their games from the ground up. This is simply not true, and has not been since the 80's. The majority of games and software from the late 1980's forward, that made use of audio beyond the internal speaker, utilized somem form of "Audio Engine" to work, whether that was DigPak, AILS, or LucasArts iMuse. Some engines had the system built in such as Sierras Creative Interpreter (SCI), while others tacked on a separate system such as DigPak or Groovie to handle the audio in DOS. Actually, a lot of the game was modular, including the game engine, allowing them to use the same codebase for multiple projects, and then just tailor that project to get the expected results out of that particular engine or platform. I'm including screenshots of the setup programs - some pilfered from VOGONS - to show what the setup program looks like so you can identify the sound engine used. As I gather more information together, I will also start to append the resource file code and structure into these sections to to help witht driver hacking/modding/appending. please note a lot of the information here is pilfered from Mobygames, and might not be 100% accurate, but I'm using it to figure out what runs on what and what uses what drivers andwhat structures these audio engines usually take form in.
AUDIO INTERFACE LIBRARY (AILS) & MILES SOUND SYSTEM (MSS)
ACCOLADE (PROPRIETARY)
DIGITAL SOUND INTERFACE KIT (DSM)
DIGITAL SOUND AND MUSIC INTERFACE (DSMI/AMF)
GROOVIE
JUNGLEVISION SOUND DRIVE
LOUDNESS AUDIO SYSTEM (LDS)
SIERRA CREATIVE INTERPRETER (SCI)
SOUND OPERATING SYSTEM |