NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
DOOM could have had PC Speaker Music (lenowo.org)
suprjami 66 days ago [-]
One of my favourite DOS era inventions is Access Software's RealSound™ technology which performed audio modulation of the PC speaker to produce okay sounding audio playback, about telephone quality.

The manual hilariously instructs you to hook your hifi system up to the PC speaker, see the last page:

https://www.gamesdatabase.org/Media/SYSTEM/Microsoft_DOS//Ma...

nine_k 66 days ago [-]
Star Control II was released in 1992, a year before Doom, and it was able to play beautiful, rich 4-channel MOD music via PC speaker, on a 80386 @ 40Mhz.

Scream Tracker, a music composition software, was able to pull of the same feat, 4 channels of 8-bit voices, in 1990.

However cool and useful the PC speaker output was, it was the a hand-soldered "Covox" lookalike, a passive DAC built out of a resistor ladder and attached to the printer port, which you actually connected to your hi-fi amplifier.

krige 66 days ago [-]
Fast Tracker 2, admittedly "bit" later than 1990, could route playback of however many channels you used to the speaker.

Worth noting that the quality in these cases was pretty good. A bit staticky but still well above Wolfenstein 3D sound effects most people associate with PC Speaker (covox-less).

ErroneousBosh 66 days ago [-]
> However cool and useful the PC speaker output was, it was the a hand-soldered "Covox" lookalike, a passive DAC built out of a resistor ladder and attached to the printer port, which you actually connected to your hi-fi amplifier.

I must have built at least a couple of dozen of these for various people.

porjo 66 days ago [-]
Good times! I made one as a kid and remember thinking there is no way in heck this thing will work. My mind was blown when it worked first time.
suprjami 66 days ago [-]
No, RealSound was not a Covox-like hardware dongle. It was PC speaker only. Play the first few minutes of Mean Streets or Martian Memorandum or Countdown in DOSBox and you'll hear it.
nine_k 66 days ago [-]
I know. Experiencing that made me learn about PWM, and I was able to reproduce, harshly, a voice sample on my 2 MHz 8-bit home computer, by bit-banging the tape recorder port's 1-bit output.
vidarh 66 days ago [-]
You could play music on the C64 by sampling the tape ports 1bit input and twiddling the sound chips volume accordingly.

You could of course store the samples too, to play back later, but doing realtime sampling into 64KB of RAM didn't exactly let you store much... And a 1MHz CPU didn't let you do much compression if you wanted to keep up..

cluckindan 66 days ago [-]
You could in fact play four sample channels (with filters) plus two SID channels. However, the tech to do that was only discovered around 2008.

https://youtube.com/watch?v=ZMioAPZcays

https://youtube.com/watch?v=D2lEVw7fsMY

EvanAnderson 66 days ago [-]
I did this on an Apple IIe years before I had a sound card on my PC (or a sampler for my Amiga). It seemed so cool to me, even if I didn't exactly understand how it worked.
burnt-resistor 66 days ago [-]
Must've been an Am386 or OC since the 33 MHz part was the fastest Intel 386DX.
EvanAnderson 66 days ago [-]
An example of how RealSound sounded: https://youtu.be/havf3yw0qyw

Edit:

This sent me down a rabbit hole and I found this nice video about PC speaker history: https://youtu.be/jD4m9JvLy2Y

minikomi 66 days ago [-]
Fascinating. It sounds awesome!

https://www.youtube.com/watch?v=havf3yw0qyw

tass 66 days ago [-]
I’ve had this music in my head for 30+ years. I could never get very far in the game though!
bananaboy 66 days ago [-]
"Can't be too happy about that one!" I always loved the speech in World Class Leader Board Golf!
Suppafly 66 days ago [-]
I don't remember which software I used, I don't specifically recall it being realsound, but I had a soundblaster emulator driver that used the pc speaker that wasn't half bad. Got me through hours of Kings Quest and Space Quest. I also used a driver that made the computer think my monochrome monitor had CGA capabilities.
consp 66 days ago [-]
Wasn't the last one mainly to use Hercules cards in cga only applications?
Suppafly 64 days ago [-]
Probably, I mostly used it to play games on hardware that they generally didn't want to run on.
moepstar 66 days ago [-]
I recall having "Pinball Dreams" also similar (same?) tech - the soundtrack through the speaker was quite good!
66 days ago [-]
djmips 66 days ago [-]
Except those #$!@# patented it. We were doing the same thing before them even going back to the Apple II. I described it to my father and he said it was an obvious technique.
jasongill 66 days ago [-]
This is a cool technical feat, but I am almost sure that id attempted this and realized that it just was not ever going to sound very good. The PC speaker sound effects are bad enough (which is to say "as good as they can be, but still bad") and sound "cheap", and adding beep-speaker music on top of that would just result in a noisy mess - as evidenced by the video.

The beep-speaker music in Commander Keen was good and fit the theme of the game - but to keep the environment of Doom and the dark and moody feel and not be limited to the dulcet tones of a tiny piezo buzzer was a design decision, not being lazy.

Note that they could have supported Disney Sound Source / Covax Speech Thing style audio (they did in Wolf3D and Keen) but skipped that as well, likely for the same reason - it would have sounded like murky hollow garbage.

You can email John Romero and ask him, he responds to emails - my guess is that he will say "yeah we considered it, it sounded bad, we abandoned the idea" not that they were lazy. If you read about the run up to Doom's release, and the amount of crunch time they were putting in, they were anything but lazy!

justsomehnguy 66 days ago [-]
> The PC speaker sound effects are bad enough (which is to say "as good as they can be, but still bad") and sound "cheap"

They are lifted as is from Shadow Knights.

> which is to say "as good as they can be, but still bad"

They could be done better or even way better, it's just that wasn't an important target in any way. Especially considering the performance target of 486DX+ whicih wasn't not a cheap machine in any way in 1993.

https://www.mobygames.com/game/1952/shadow-knights/

jasongill 66 days ago [-]
The PC speaker sounds used by Doom aren't so much lifted from Shadow Knights as they are shared between a lot of the early id Software games - the sounds in Doom were also used in Keen, Wolf3D, Shadow Knights, etc. A lot of their early Softbank games used all the same sound palette because they had to crank out new games so quickly
Ekaros 66 days ago [-]
I think the video really shows that something is "aesthetically"(or audio equivalent) lost. Lot is fine and even good. But there is lack of certain guttural feel that game has.
minki_the_avali 66 days ago [-]
Honestly, the design aspect really wasn't something I had considered, It definitively does make a lot of sense. Still sad though that it didn't officially happen. So far, all the arguments I had seen against it where purely about the performance, which in my testing isn't really a big factor for this.
jasongill 66 days ago [-]
Doom is playable (albeit by reducing the viewport to a postage stamp) on a 386; I'd be curious how your patch works on the 386 considering how much worse the graphics performance is on it
jvolkman 66 days ago [-]
In the Doom-era game Rise of the Triad, if you shrink the viewport all the way down to postage stamp size, it displays "Buy a 486!" underneath.
jasongill 66 days ago [-]
ROTT uses the Wolf3D engine and was somewhat of a collaboration (if you could call it that) between id and Apogee!
burnt-resistor 66 days ago [-]
ROTT is in my childhood's "badass games hall of fame" along with Quarantine (aka Death Throttle aka Hard Rock Cab), Abuse, and Stratosphere. Honorable mention: Microsoft Flight Simulator: Aircraft & Scenery Designer (MFSASD) for the ability to make an almost flyable U-2 from the jet plane.

dipstick gunfinity burnme

burnt-resistor 66 days ago [-]
DOOM was playable on the 486SLC2 with a modestly smaller viewport despite having just a 16-bit bus. It was the one donated IBM box in my high school's computer lab that could play it because Model 25 and 30 286's sure couldn't.
minki_the_avali 66 days ago [-]
they can now though, there is a 286 port for 640k which even does cga and mda next to the initial ansi shaded text mode
66 days ago [-]
AnotherGoodName 66 days ago [-]
Honestly everyone that’s actually heard pc speaker audio done well is shocked at the unexpectedly high quality of it. Star Control 2 being a shining example. Don’t judge it by the poor examples, judge pc audio by the great ones. Its surprisingly good.
unsnap_biceps 66 days ago [-]
While this is a wonderful technical feat, I think it's not nearly as playable. The video shows that it doesn't mix the gameplay sounds with the music track, so it pauses the music every time to play a sound (gun shot, door opening, item pick up, etc). This is really distracting compared to the adlib driver that mixes them together and so the music doesn't stop/start harshly. And IIRC, the adlib music is quieter then the effects, which also helps the music stay as background sounds. I don't think Id was lazy, just thinking about the full experience.
russdill 66 days ago [-]
As someone who grew up on PC speaker, it's actually really good. The main thing is the item sound effects need some tweaking to be less distracting, probably just shorter. It might also do good to just skip certain unimportant sound effects completely.
wolrah 66 days ago [-]
As someone who also grew up on PC speaker, I think it sounds significantly worse than Wolfenstein 3D's PC speaker sound where it of course would be expected to be better than Wolf3D in every way.

I think they could have made something a lot better by, like Wolf, dropping music entirely from the PC speaker implementation. Focus on the sounds that matter.

bitwize 66 days ago [-]
A lot of PC games worked this way. Nintendo games even temporarily dropped music voices (typically preferring the second square wave voice, then the first) to play sound effects. If you found it too distracting, presumably the music could be muted.
BearOso 66 days ago [-]
> Nintendo games even temporarily dropped music voices (typically preferring the second square wave voice, then the first) to play sound effects.

This even happened on the SNES. A few Square games like Chrono Trigger and Final Fantasy 6 have tracks that are noticeably missing a music channel when playing sound effects. It wasn't totally necessary to use all the channels, but they were very adamant about their music quality.

66 days ago [-]
paulryanrogers 66 days ago [-]
Not bad.

I recall a special Windows 3 driver could push sound effects and music through PC speakers, at least those which were an actual small speaker embedded in the case. It was very rough and mono but a neat trick. I don't think it worked with the coin sized beepers in older models.

minki_the_avali 66 days ago [-]
Used that before, Its basically software PWM and moving the mouse messes with it. There is an equivalent in Linux called snd-pcsp which can be modprobed in case no sound card exists. It has the same issues though
booleanbetrayal 66 days ago [-]
I remember this driver and relied on it for a few years. Was sort of amazing, all things considered.
smallstepforman 66 days ago [-]
I once saw a C64 disk drive 1541 play the US national anthem by moving the floppy drive head across the disk in patterns to produce mechanical noise which vould be interpreted as a melody/tune. So a combination of a cheap built in speaker and a floppy disk could have produced stereo sound!!!!

Meanwhile, 8 year old Amigas were playing 12 bit digital stereo sound on 4 channels … on a preemptive multitasking system on a machine with less RAM and a < 8Mhz CPU.

karim79 66 days ago [-]
Is anyone here old enough to remember Access Software and their RealSound[0] tech? For a short time I thought that was going to be as good as it gets for PCs, until I got my first Sound Blaster (8 bit)

[0] https://en.wikipedia.org/wiki/RealSound

Cthulhu_ 66 days ago [-]
Apparently this website runs on an IP camera. The admin was contemplating moving it to a Galaxy S5 but after a previous HNning the IP camera and its 32 MB of memory was good enough. https://lenowo.org/viewtopic.php?t=28
AnotherGoodName 66 days ago [-]
For a game that did this incredibly well look at Star Control 2.

Amazing .mod based techno music via pc speaker that mixed in sound effects, even including short vocal clips (pkunk insults). All running on a humble 286 which played the game well while managing this. For those that say this was a choice due to poor pc speaker quality the toys for bob engineers pulled it off with incredible results years prior.

It was just a pain to do.

NBJack 66 days ago [-]
Interesting title, but folks seem to forget the double-digit MHz processors straining to hit 30 FPS back then on Doom unless it was in a smaller rendering size. This would have killed the performance even on my mighty 486 running at 33 MHz at the time (I don't have a lot of faith in the VM demo). It remains to be seen if the music files are small enough to keep the game to its original ~2 x 1.44MB installation disk size.

Still neat.

I recall Windows 3.1 was sometimes shipped with a speaker driver that could emulate a very basic audio card on a traditional PC speaker almost entirely in software.

hanslub42 66 days ago [-]
My first PC (in 1993) ran on Linux (0.99). As it didn't have a sound card I used the PC speaker as one. It sounded very tinny but speech was understandable enough. Even in the newest kernels there is a driver (https://cateee.net/lkddb/web-lkddb/SND_PCSP.html) that exposes the speaker as an ALSA device. For sentimental reasons I will enable it next time I compile my kernel, though I don't expect much: the PC speaker is even more of an afterthought now than it was 33 years ago, and may even be a piezoelectric "buzzer" instead of a speaker with a coil and a paper cone.
cyberax 66 days ago [-]
You can have it in DOOM 2D: https://web.doom2d.org/

The original source code for DOS got reverse-engineered here: https://repo.or.cz/doom2d-restoration.git (discussion: https://doom2d.org/forum/viewtopic.php?f=8&t=2996 )

I still remember being shocked by the FX sound from my PC speaker. That was before I got enough money to buy a SoundBlaster-compatible card.

-warren 66 days ago [-]
I'm going to date myself here. In 199x, we had a 286 and loved a game called "Command HQ" that had lovely gameplay and sound to boot! Then we got the ol' Packard bell 486 with a sound blaster. We played the same game (which had midi output too) for the first time and my father and I cried -- it was unbelievable.

That's when I first became enamoured with the "art of the possible" and this has driven my career.

I fully believe that doom could have had pc speaker sound; after all w3d did!

raw_anon_1111 66 days ago [-]
I’ve got a question to all of the people who had PCs back then, were audio cards that expensive that it wasn’t worth just buying one if you had any interest in gaming?

Just doing a little research it was like $80 - $100 to add it.

I do remember back then that the motto was for PCs that “the computer wanted was always $2000”.

My first time having an x86 PC was in 1994 when I bought the 486DX/2-66 DOS Compatibility Card for my PowerMac 6100/60. It had a SoundBlaster daughtercard.

wzdd 66 days ago [-]
If you're 12 years old and it's the family computer (which I suspect was a not-insignificant part of the target market), you've also got to negotiate opening it up and sticking in a circuit board, adding drivers (and thus becoming prime suspect in every subsequent Windows crash), and finding some way of actually vibrating the air, which at the very least involves buying desk speakers and negotiating space on a desk which might not be your own.

Also you don't have $100.

raw_anon_1111 66 days ago [-]
I honestly didn’t think about the “needing external speakers part”.

The motherboard on the Mac had an internal audio input slot you connected the CD player to for audio CD playback. You also connected the DOS card’s SoundBlaster daughtercard directly to the motherboard and you could play PC sounds directly through the Mac speaker.

roryirvine 66 days ago [-]
They started to be included by default for home PCs in around 1992, with the rise of Multimedia - PCs were advertised on the basis on being able to play 8fps 192x144 video clips from the Encarta or Grolier CD-ROMs that they were inevitably bundled with.

Before that, there really wasn't much else you could do with them other than games. The original Soundblasters were fairly crap - mono 11kHz 8 bit sound - so they weren't exactly hifi. There was better kit available for professional use from the likes of Gravis and Turtle Beach, but the price put them out of reach for most home users.

aa-jv 66 days ago [-]
One of my first audio dev jobs was to add Creative Labs AWE32 support to a game called "Spectre VR", which at the time was one of the most popular multi-player/networked games for PC's.

It was, literally, a blast. The AWE32 was basically a sampler on a card, for PC's, and it was CL/Velocity's intention to bundle SpectreVR with the AWE32 for release. SpectreVR had a PC-Speaker driver, which was .. viable .. if you had the processing power for it. But AWE32 support just kicked serious ass, so it was a major push to get it working.

We got it working, it was hilariously fun, and the upgrade in audio had everyone in the office clamoring for the limited AWE32's we'd been allocated for development.

Then, DOOM hit the 'net, and everyone moved on, really fast, from SpectreVR, and it wasn't long until the bundling deal came undone, and DOOM got the AWE32 treatment instead. That was a frustrating state of affairs, but at least I got a free AWE32 out of it ..

rob74 66 days ago [-]
When Windows replaced DOS in the 1990s, I hoped I'd seen the last of that fugly cursed (to paraphrase the site's motto) IBM VGA text mode font. Little did I know that retrocomputing fans seem to be very much in love with it...
mbirth 66 days ago [-]
Sounds like a 3D Commander Keen.
slipheen 66 days ago [-]
What a beautiful bit of hacking! This is awesome, and made my day to see :) It sounded -much- better than I would have guessed!
burnt-resistor 66 days ago [-]
Impulse Tracker supported the PC speaker as an output device. It wasn't perfect but it was pretty amazing.

https://archive.org/details/impulse_202406

kazinator 66 days ago [-]
Obviously so, since games on 8 bit micros with simple square wave speakers had action games with sound effects and music, all with just assembly language running at 1 mHz in kilobytes of memory.

Good job, it sounds great!

em3rgent0rdr 66 days ago [-]
id Software should have just partnered with a heavy metal band that jointly released an album of Doom music you could put in your stereo while you play the game.
ErroneousBosh 66 days ago [-]
When we played Quake deathmatches at work, we'd stick the game CD in the workshop stereo and play the audio tracks through that.
jack1243star 66 days ago [-]
That's what Sigil did with Buckethead, in a way.
jackvalentine 66 days ago [-]
The thing that made the PC speaker so unbearable for me was the inability to change the volume - 6am family PC gaming was NOT okay if I woke everyone up with beeps and bloops.
nubinetwork 66 days ago [-]
I thought it already had beeper speaker music, but everyone had at least a sb16...?
matt3210 66 days ago [-]
Nice website design
antonvs 66 days ago [-]
Terrible headline. I’m not going to click that link because I won’t encourage ridiculous clickbait.
chihuahua 66 days ago [-]
I agree. To explain further, it's easy as an outsider to call somebody else "lazy", but the outsider doesn't know how hard Id worked to finish Doom. Game development is famous for months-long crunch time death marches with 7-day 16-hour days. It's easy to say "you've been doing crunch for 6 months, here's another task for you: add PC speaker music" but it might be the thing that drives the game dev who has to do it over the edge. Are they being "lazy"? Are they just sitting around doing nothing, when they could be working on PC speaker music?

While it might have been possible to add PC speaker music, would it have been worth the effort at the time? How much would it have delayed the release of the game? Would anyone have cared very much about being able to have terrible quality music on their PC speaker?

andrewf 66 days ago [-]
Also all the sound stuff was outsourced! id hired Bobby Prince to make the music and licensed a playback library which seemed to have enough problems already with the supported sound cards. https://doomwiki.org/wiki/DMX

So they'd have had to extract this feature from a vendor where the relationship is already breaking down, or ditch it all and start from scratch with a new vendor, or inhouse code.

antonvs 66 days ago [-]
On top of that, the claim in the post seems to be based on the Linux Doom architecture, which has a separate sound service that didn’t exist in the original DOS version.

This is just someone cosplaying early 1990s development with the benefit of decades of subsequent OS and software design.

eahm 66 days ago [-]
Agree, lazy is the last thing that comes to mind when I think about id Software, I don't like the title either.
chihuahua 66 days ago [-]
John Carmack is not exactly known for being a lazy slacker. In fact, in the past few years he expressed his opinion that people should work longer hours if they're being serious about their work, and has gotten a bunch of push back for it.
Tempest1981 66 days ago [-]
Original, for the curious: https://web.archive.org/web/20251203002619/https://lenowo.or...

[id Software was Lazy - DOOM could have had PC Speaker Music!]

66 days ago [-]
minki_the_avali 66 days ago [-]
A friend had suggested it after I was struggling to come up with a suitable title and there sadly isn't a way to edit it after the fact.
minki_the_avali 66 days ago [-]
nvm, found the option in phpBB to change it
antonvs 66 days ago [-]
The new title may still be misleading. Have you tested this on MS-DOS with 1993 hardware?

On Linux, `sndserver` is a separate process. On MS-DOS, it was not. On DOS, priority mixing would have to happen e.g. within Doom's tick processing or in the sound interrupt handler.

If you're just making these changes in Linux and assuming they could have worked in 1993, you're just cosplaying.

intexpress 66 days ago [-]
The music sounds great but stopping the music to play sound effects sounds terrible
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 11:02:21 GMT+0000 (Coordinated Universal Time) with Vercel.