Reverse Engineering The Sound Blaster

The first sound card to output PCM audio — the kind you need for audio samples — wasn’t the Sound Blaster. The AdLib Music Synthesizer Card could output PCM audio over software. The AdLib card also cost $200 at the time of its release. This was too much for some, and in time the Creative Labs Sound Blaster was released for the rock-bottom price of $125. This was a more capable card, and in the years since prices on the used market have gone through the roof. In 1990, you could buy a Sound Blaster for a Benjamin and a half, in 2019, prices on eBay are reaching and exceeding $400.

With the prices of used cards so high, we start to get into the territory where it starts to make sense to reverse engineer and re-manufacture the entire card. This hasn’t been done before, but that’s no matter for [Eric Schlaepfer], or [@TubeTimeUS]; he’s done crazier projects before, and this one is no different.

In reverse-engineering the Sound Blaster, there are a few necessary components. The Sound Blaster had an OPL2 chip for sound synthesis, which you can get through various vendors. The trick, though, is the microcontroller. This is really just an 8051 with a custom mask ROM.

The goal of this project is actually just to dump the ROM on the Intel 8051-alike microcontroller. This is something that’s relatively commonly done in high-tech labs, and luckily the Bay Area has [John McMaster], the guy who will take you into his lab and strip a die from its epoxy. Looking at the chip under the microscope, it was discovered the mask ROM on this chip was an implant ROM, with the ones and zeros represented by invisible ions in the substrate itself. There was no hope of reverse-engineering this chip from a purely visual inspection, but there was a sense amplifier on one of the data lines. By probing this sense amplifier while running through the address space, [Eric] was able to dump all the bytes of the ROM one bit at a time.

However, and there’s always a however, there are clone Sound Blasters out there, usually from China, and you can dump these chips if you’re lucky enough to get your hands on one. [Eric] reached out to the community and found these clone microcontrollers didn’t have the code protect bit set; dumping these was easy. This ROM was compared to the work [Eric] did with the sense amplifier, and after figuring out the order of the bits, it was found the code matched. The code was successfully cloned, and now new Sound Blasters can be made. Don’t tell eBay that, because someone is trying to sell one of [Eric]’s clone cards for $180.

All the code, files, materials, and everything needed to clone a Sound Blaster can be found in [Eric]’s GitHub, although there are a few open questions as to what’s going on in the Sound Blaster’s microcontroller. There’s a ‘secret’ 512-byte ROM on the die, and no one outside of an Intel NDA knows what it does. This could be used for a manufacturing test, but who knows. Other than that, there are a few features in the code that weren’t used, like previously unknown DSP commands, an ADPCM lookup table, and a routine that plays from SRAM without using DMA. It’s a deep dive into the inner workings of the most popular sound card of all time, and it’s quite simply amazing.

42 thoughts on “Reverse Engineering The Sound Blaster

    1. The only old SoundBlasters I see going for that much on Ebay are some of the professional grade external USB ones released ~2004. Most old soundblasters are worthless.

  1. No sound blaster card from that era should be worth that much IMO. I have a small pile of them somewhere from scrapped machines, in addition to some ultra “R@RE” copies of Super Mario World – “Getting hard to find now”.

    The retro bubble must collapse at some point, the prices are going insane.

  2. “There’s a ‘secret’ 512-byte ROM on the die, and no one outside of an Intel NDA knows what it does.”

    Who would have thought that the Intel ME’s great, great, grandfather was already in place on the 8051…

  3. Ahh, back when soundcards had a decent amplifier right on the board and could drive small speakers directly! That little TEA2025B chip looks unassuming, but it made the card vastly useful compared to its successors.

    I felt cheated when that changed, unannounced and right out from under me years later, as I was building a new PC and found my “newer and better” soundcard was useless with the speakers I’d planned.

  4. Is the disassembly of the 8051 code anywhere? How far has anyone gotten with reverse annotating it?

    And Brian’s ‘history’ of sound cards is a little ‘off’

  5. some guys are actually building an fpga based Gravis Ultrasound, and they are testing the prototypes already.
    if you are interested look it up on vogons.org

    1. I’m actually doing the same… but I can’t find any references to it on vogons. I can only find the ARGUS discussion which is AMD Interwave based. Link?

  6. I remember buying the SB awe 64 when it was released and being absolutely blown away playing the demo midi files, I think I might still have it hidden away somewhere.

    1. First build, I installed a SB AWE32 card and later added 2megs of 32-pin sims into the slots. Loved the card. Upgraded to a AWE64 gold on the second build. Nothing I’ve had since has had the amazing sound from midi files. I’ve downloaded midi emulators and sound fonts, but nothing compares to the sound that came out of the AWE64 gold.

      1. The Speech Thing was a resistor ladder DAC on a parallel port. The Sound Master combined the Speech Thing with a pair of 2600 style joystick ports and something else. The Sound Master II dropped the joystick ports but kept the Speech Thing and added more audio capabilities. Covox released a Windows 3.1x driver to make the Sound Master II into a Soundblaster clone. Dunno if it also did that for DOS.

    1. Clever programming could make an AdLib card do sound effects. One game that does that is Duke Nukem II, and it’s one of the few games that can do AdLib and Soundblaster effects simultaneously.

  7. i was just last night standing in the shower waxing nostalgic about my original sound blaster. it was so exciting!

    but the fact of the matter is, everything you need in a reverse-engineered soundblaster is present in dosbox.

  8. Can these clones handle the register reprograming some programs would do to change the sound set? I remember Descent used adlib .bnk files for its music and nothing outside of the original DOS game with the licenced sound library sounds the same for a number of the tracks.

    If these can accurately reproduce that behavior then if I don’t already have a SB in my bin of retro parts destined for my retro dosbox I’ll have to look into these.
    I hope the GUS work mentioned above progresses too. I found an original for my retro-box project but I haven’t really tested it. So having a source for a functionally identical reproduction would be great.

    1. ARGUS is selling first batch cards today with a couple options – bare board and bare board with the main flat packs pre-soldered. It’s a essentially a GUS PnP reproduction which was pretty quirky. And the added features of it’s AMD InterWave chip sounds impressive but little to no software actually used them beside the GUS PnP install demos. But it’s a great project.

      My work is more of a mental exercise in the ‘One Sound Card to Rule them All’ concept the vogon’ites keep screaming for – that is a FPGA+DSP that will emulate all sound cards in hardware in one slot + a true digital output. I have test boards coming and I’ll see how far I get with MPU-401 then GUS Classic before offering up details on ‘My Precious’. The other goal of mine is an MCA version to go along with 16-bit ISA (with 8-bit compatibility).

      1. The “All In One” card I want to know if it ever was made is the MediaVision ProZonic or Pro Zonic. I remember magazine ads for it touting its compatibility with pretty much everything except the GUS. That included such (by then) obscure cards like the Covox Sound Master II.

        Would have been a right nice card to have, much simpler than configuring an 8 bit Soundblaster and a PAS 16 to work together and have it automatically use whichever was best for each DOS game. The only games I had use the Soundblaster were the ones without PAS 16 support.

  9. A couple of clarifications:

    eBay prices are really only insane for the original SB 1.0/1.5 cards. SB 16 cards, Vibras, and all 817263 variants are still fairly inexpensive. I think the reason is that people want to try out the CMS chips and these cards are the easiest way to do that.

    The Chinese Sound Blaster clone with the unprotected 8051 has completely different firmware than the genuine Creative Labs DSP.

  10. I’m in the process of translating the firmware to a human-readable form, about 80% is ready.
    “…and a routine that plays from SRAM without using DMA” – this is just a code for undocumented 0xF0 function that outputs a test peak-to-peak sinewave from SRAM at 0C0h time constant.

  11. The first sound card to output PCM audio was technically the parallel port card, when you stuck a bunch of resistors in it to make a DAC like some of us used to do before Creative Labs (and HAD) came around. And before PCs were really popular you could do the same trick on any computer with a parallel interface, like a C64 or Apple II.

    The Sound Blaster made a much more significant technical contribution than playing back sampled waveforms, and that was the standardization of PC gaming hardware. Putting the audio, joystick, and CDROM on a single affordable device made it accessible enough that it was worth developers’ time to actually use the hardware. The Ad Lib was designed with music in mind, but not necessarily gaming. The Sound Blaster played a huge part in finally making PC gaming competitive with consoles and 8-bit computers.

Leave a Reply to Titusz BadonicsCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.