22

Long ago in a galaxy far far away, back in the early 90's, I worked for a crappy clone company as a phone technician. At the time, 386SX/25's were common for in-house technical support / customer service computers. Obviously our jobs did not require sound cards, or fancy hardware of any kind, but as technically savvy users, we spent a lot of time trying to sneak a good video card or more memory into our systems.

This question Was it possible to listen to music and work on old PCs got me to thinking about how we frequently solved the problem of not having a sound card.

As I remember it, there was some sort of driver we used to install that would play audio on the PC speaker. It was tinny and scratchy, but I remember it most definitely worked. What I can't remember is what the driver was called, or if it was a DOS thing or a Windows 3.x thing. It certainly worked well enough that Windows sounds were easily distinguishable.

Does anyone have any details for the audio driver I am referring to? I suspect there may be more than one, as it isn't a unique idea. I would be interested to know the name, how it was installed, if it supported DOS and/or Windows, and any other history that might be available.

2
  • 6
    It was just called PC Speaker Driver for Windows. However the one I recall needed quite exclusive low level access to system resources like timer, so it was mainly used for playing sound effect samples and the PC could not do anything else while the sound was playing.
    – Justme
    Feb 14, 2020 at 18:51
  • 2
    Quite a few business orientated machines appeared to have this as standard, I think HP used to call it "Business Audio" , my two old DC6600 and 6700 small format desktop case (Pentium CPU) had it. Windows sounds would slightly coarsely emit from a single small loudspeaker affixed to the front of the case. I cannot recall either way if my long deceased Cel CQ Deskpro and the Dell GX28x had it or not, ''twas a long time ago when these were almost new machines. :D I have not looked at newer modern business models (of any marque) but it would not be unreasonable to think this still is a feature.
    – AndyF
    Feb 14, 2020 at 23:39

6 Answers 6

25

It was a DOS-Windows 3.x and DOS-Windows 9x/ME thing. It was a driver named speaker.drv, written by Microsoft. It turned off interrupts for significant periods of time, which caused I/O problems with other devices but which was inherent in the nature of the hardware. It came in a self-extracting archive named speak.exe, and could be found on the companion discs for books, in the extra utilities discs from OEMs, on Microsoft's FTP site, and on BBSes. (Seeing someone give someone else the number of the BBS to dial brings back memories … of FREQs. ☺)

Of course it didn't work with Windows NT, it being a driver for the DOS-Windows platform.

OS/2 similarly had a third-party SPKRDD.SYS, for MMPM/2, that was widely circulated.

Further reading

1
5

https://web.archive.org/web/20070227091822/http://download.microsoft.com/download/win98/utility/1/w9x/en-us/speak.exe

Designed for Windows 3.1, though also known to work for Windows 95 and 98.

When sound was played, sound could get tremendous priority, causing an inability to move the mouse cursor while sound was played. Or, alternatively, moving the mouse cursor could significantly lower sound quality. (Not to say that sound quality was ever great, but there could be more and/or longer moments of silence as any sound was cut out repeatedly.) The level of unpleasantness seemed to vary very significantly between different computers, and may have been able to be influenced by other details (like maybe how much memory was available, which could be affected by what drivers were loaded).

Still, it was sometimes much better than the usual alternative of the day, which was complete silence.

3

There actually were two common PC speaker drivers for windows. One of them is the PC speaker driver by Microsoft, already mentioned in the other answers, while the other one, written by John Ridges has not yet been mentioned. The Microsoft driver is typically installed as SPEAKER.DRV, while the driver by John Ridges is installed as SPEAKR.DRV.

Currently, https://remember.the-aero.org/speaker/index.htm has mirrors of both drivers.

3

This question made me think of RealSound:

https://en.m.wikipedia.org/wiki/RealSound

RealSound is a patented (US US5054086 A) technology for the PC created by Steve Witzel of Access Software during the late 1980s. RealSound enables 6-bit digitized PCM-audio playback on the PC speaker by means of PWM drive, allowing software control of the loud speaker's amplitude of displacement. The first video games to use it were World Class Leader Board and Echelon, both released in 1988. At the time of release, sound cards were very expensive and RealSound allowed players to hear life like sounds and speech with no additional sound hardware, just the standard PC speaker.

1
  • Me too. I remember buying a couple of games that used this. One of them was Mean Streets and I think the other was Crime Wave. The sound quality was terrible but it didn't matter, it was just amazing to have something other than beeps without a sound card. Feb 17, 2020 at 4:05
2

The beep chip could be programmed to different frequencies. Someone with too much caffeine at MS made it into a sound card. I used it for years as my sound card at the time only did MIDI.

More background on beeping and hardware https://blogs.msdn.microsoft.com/larryosterman/2010/01/04/whats-up-with-the-beep-driver-in-windows-7/

Windows used to beep on illegal user input. You can still turn it on but many people complained so no more.

1
  • 2
    I wrote code back in the day to play four-voice music. It sounded pretty terrible on a 4.77MHz PC, pretty good on an 80286 or 80386, and horrible on an 80486 or other CPU with a cache.
    – supercat
    Feb 15, 2020 at 18:11
0

I think old soundblaster 16 drivers have a pc speaker out, other than that it's in the bios, it would be very low level since it's designed for POST tests. Or power on safe test

1
  • 3
    No, the SoundBlaster has a PC speaker input that you can connect to the PC speaker header on the motherboard. If you use it, the "PC speaker" sounds will come out of the speaker attached to the SoundBlaster instead of the internal speaker.
    – hobbs
    Feb 17, 2020 at 5:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .