Using a Sound Blaster in a PC/XT-class system
Posted by Trixter on August 3, 2018
I’m asked this a few times every year: Can you put a Sound Blaster in an IBM PC, PC/XT, or otherwise 8088/8086-class system? If you can, is there anything that can use it on that class of hardware?
The quick answer is yes and yes: As long as there are no hardware conflicts, you can put any of these:
- Sound Blaster 1.0
- Sound Blaster 1.5
- Sound Blaster 2.0
- Sound Blaster Pro
- Sound Blaster Pro 2.0
- Pro Audio Spectrum 8
- Pro Audio Spectrum 8+
- Pro Audio Spectrum 16
- Thunderboard
…into any system and it should work fine. You’ll be able to use the onboard joystick port, and have Adlib/FM sound effects and music.
The longer answer has a caveat: There are less than a hundred sound-enhanced games that will run, and less than 20 of those will use the digital sound channel. The Sound Blaster was commercially available to consumers in 1989, which was right as the 8088 era was coming to a close. Only a handful of games were produced around that time period that supported the Sound Blaster and could still run on 8088-class hardware and supported the CGA graphics typical of 8088-class systems.
But, if you have a souped-up NEC V20/NEC V30 XT, you’re feeling adventurous, and you really want to hear some sampled (“digitized”) sound come out of your system, you can try running these:
Commercial games:
- Prince of Persia
- Tongue of the Fatman (1)
- Ghostbusters II (1)
- Battletech: The Crescent Hawks Revenge (1)
- 4-D Sports Boxing
- Rise of the Dragon (2)
- Heart of China (2)
- Stellar 7
Legend:
1) Used the Activision OmniMusic driver. There might be more games compatible with 8088+CGA that use this driver.
2) Need the rare “16-color” version of this game which supports CGA 640×200 2-color mode
Shareware games:
Demos:
There might be more than the above, but this is all I can remember personally testing.
For possibly much more comprehensive information on this subject, you can do no better than to check out Great Hierophant’s Nerdly Pleasures blog, which performs deep technical dives into these and other subjects.
sledgehv said
Apart from playing games / demos you can also listen to some MODs with Galaxy Music Player (GLX). Playback is not perfect, but you can play 4 channel MODs even with 8088 CPU :)
Trixter said
Yep, have to limit to 10KHz but it is indeed possible. GLX is one of my favorite 8088 programs of all time, and a major inspiration.
malvineous said
In the readme that comes with GLX, the author said he was able to get his 8 MHz XT to mix at 22 kHz in stereo!
Trixter said
Correct. But the first XT ran at 4.77 MHz and used an 8088. Author likely had 8 MHz V20.
Freddy Vetele said
I also developed my first module player on an Amstrad PC1512.
I think I lost the version of my software (Mod Master) working on an XT machine
Trixter said
That’s a shame, if you ever find 2.0 or earlier, I’d like to check it out. All I could find was 2.2a.
Freddy Vetele said
Hi, Trixter
I saw your answer only today.
I found all the source code and decided to downgrade Mod Master 2.2 to be XT Compatible.
It is working and can mix at the same speed or better than GLX, with less replay bugs.
I did a YouTube channel and posted some video.
I saw your post in december, It is sad if you stop everything :(
Trixter said
I will come back someday. I’m already working on a few things behind the scenes.
I’m VERY interested to see your rewritten Mod Master, can you provide me a link to it, your video, etc.? Is your source available? A friend and I disassembled the GLX player and we know how it works, so claiming yours is faster is a bold claim I want to test for myself :-) As for playing more accurately, that is easy, as GLX never fixed some replay bugs.
FreddyV Retro Zone said
Hi.
I answered in another post below. Reply failed
Julien Oster (@anyfoo) said
Interestingly, on the very original Sound Blaster, smooth playback of digitized sound was practically impossible, because the card’s DSP would trigger a DMA block transfer and only signal an interrupt when (or after?) the transfer has been completed. (You might be aware of that, your readers might not!)
Here’s an os2museum article mentioning the problem: http://www.os2museum.com/wp/sound-blaster-1-0-or-1-5/ – I could have sworn I saw a more detailed article on this on the same site, but I cannot find it anymore.
I don’t know the details beyond that, so I would be interested to know whether you could avoid those small playback gaps with some cycle-accurate timing to restart the DMA, unless there is a dead zone that disallows you to send a new transfer command to the DSP in time. And assuming that the DSP has its own clock crystal, having an asynchronous clock source might make this even more challenging…
Trixter said
Some methods of tricking the SB 1.0 and 1.5 into playing continuous sampled audio exist, but they were problematic: Read https://github.com/joncampbell123/doslib/blob/master/hw/sndsb/readme and go down to the “Goldplay” section for more details.
It is described in more depth at Scali’s blog: https://scalibq.wordpress.com/2017/03/12/dma-activation/
Lee Seitz said
My college roommate had an original IBM PC — at least I think it was a PC; maybe it was an XT — with a VGA card and Adlib sound card. Oh, and no hard drive, just two 5-1/4″ floppy drives. He played Eye of the Beholder on it. There was a lot of disk swapping involved.
Trixter said
That was certainly technically possible. Not ideal :-) but possible.
Brolin Empey said
Another reason for using a sound card is to connect the speaker output from the motherboard to the sound card instead of to a loudspeaker but I do not know if any model of 8-bit ISA sound card has an input for the PC speaker?
Trixter said
Most true Sound Blaster cards that will work in that class of system have a header on the card for routing the speaker via a custom cable. The Pro Audio Spectrum series (PAS 16, possibly others?) have the ability to route the speaker audio without needing a cable.
F84.5 (@F_84_5) said
Do people have an idea, or has anyone ever produced a ranking of what sound options were the most common in the 8088 PC/XT era?
Obviously the PC speaker would have been #1, but beyond that?
I especially wonder if Covox Speech Thing/Disney Sound Source parallel port sound support was more common than Adlib or not.
Actually, my question is twofold: What non-PC speaker options were the most commonly supported by games, and what hardware was actually more commonly owned? I have a sneaking suspicion that Adlib may have been more commonly supported, but that more people actually owned a parallel port sound dongle than owned an Adlib card back then. I could be wrong. I’d like to know if I am.
Trixter said
MobyGames can answer this question from a technical standpoint, but the truth (as the article covers) is that most XTs didn’t use sound devices for games because most games advanced enough to utilize sound and music were too advanced for XTs. Notable exceptions were Sierra SCI games from ’87 to ’90.
Of everything supported, the Tandy/PCjr sound chip was the most supported but you had to have one of those systems. After that, AdLib.
F84.5 (@F_84_5) said
In terms of software support, after Tandy/PCjr and Adlib, did Covox/DSS come in at #3 (or #4, after the PC speaker)?
Irrespective of software support, do we have any idea whether more or fewer people actually owned Adlib cards or LPT sound dongles? Is that question even answerable now?
Julien Oster noted above how the original SB was a bit hamstrung. Could an original Adlib card be used to its full potential on PC/XT-class machines?
Trixter said
If you’re asking “what sound devices saw the most usage on XT-class systems”, then in order it would be PC speaker, then Tandy/PCjr audio, then Adlib. Past that, you have only a handful of games supporting a specific device and the numbers are too small to be statistically significant. Covox was not used on XT-class hardware for games because of the high CPU demands of playing digitized audio through that device.
Adlib was clearly owned by more people, as you can tell by the number of games that supported each device. mobygames.com is your friend for this kind of research.
The very first original Sound Blaster was not hamstrung; it was designed to play single sound samples 64K in length or less, and it did. It was only later when people wanted to play continuous streaming digitized audio that a new card with new capabilities (Sound Blaster Pro, Sound Blaster 2.0) was needed.
The Adlib was originally designed to be a music synthesis card, and the software it came with was designed to work perfectly on XT-class hardware. Jukebox, Visual Composer, etc. all used CGA graphics modes and ran just fine. So it already ran “at its full potential” (not really sure what you mean here) on XTs. There’s no reason it couldn’t have been used for games; as I wrote in the article, it wasn’t used for games on the XT because when it came out there were barely any XT-class-compatible games being made any more.
F84.5 (@F_84_5) said
Thanks man; that is informative. I appreciate it. :)
FreddyV Retro Zone said
I saw your comment on my video. Thanks for this. It is an honor for me.
Your work on 8088 corruption and this article motivated me to do this. Mod master deserved to be better known at that time so it is like a revenge.
Glx is probably faster than mod master in pure sample mixing but i use 4 buffers and a simple trick to mix in an higher fréquency most of the time.
I did not disassembled glx but i believe our code is similar. The mod partition and effects need some time and glx is surely faster than mod master for this.
I continue To optimize my code and use my other player code (usmplay) to improve it.
I started a post on vogon it can be better to discuss there
Trixter said
Found the vogons thread at https://www.vogons.org/viewtopic.php?f=62&t=66350&p=758519 , thanks! I look forward to following your progress. I’m glad I could motivate you :-) A friend did the majority of the GLX disassembly, I’ll see if he wants to join the thread.
Freddy Vetele said
Hi,
Somebody did answer in the forum using the same Icon as yours in these comments.
Is it you ?
I improved my Mixing Code, it is 16% Faster, and I still can improve it…
Trixter said
Yes, that’s me :-) We can continue in the vogons forums.
Arne Schmitz said
I would guess that a bunch of Sierra games will run on an XT with SoundBlaster. Space Quest 3 should be one of those and it has a digitized sample in the intro sequence. There are probably other SCI0 and SCI1 games that might run, maybe only with EGA/VGA in the system, which would be an allowed upgrade, given the SoundBlaster card, I would guess.