I’m currently building a tiny DOS gaming PC and needed a sound card for it. Unfortunatly there aren’t many PC/104* sound cards available so I spun up my own.
*= PC/104 – Wikipedia, basically a form factor standart
Since I wanted a sound card that was compatible with most standards so I can play as many games as possible with it I desided on the Avance Logic ALS100 Plus+. The IC is pretty well documented what made designing the sound card much easier.
It’s features are:
• All Sound Blaster Pro applications
• All Sound Blaster 16 applications
• MPU-401 UART MIDI
• PC Speaker
• Sound Blaster ADPCM
• Yamaha OPL3 FM Synthesizer
That’ll cover every game I’m interested in. The PC speaker is mixed in with the audio out by the IC, that’s pretty cool.
The hardware specifications of the new sound card are as following:
• Software selectable DMA lines (0, 1, 3)
• Software selectable interrupt lines (5, 7, 9, 10, 11)
• PC/104 ISA Plug and Play bus interface
• DMA interface with FIFO
• Enhanced Game port
• 8-bit or 16-bit stereo digital audio from 4 kHz to 48 kHz
• 3D Sound Effect Processor
• FM/wavetable synthesis via OPL3
• Wavetable connector
• Stereo Line-Out
Design and development
If you’re just here for the design files and aren’t interested in the failures I’ve had designing the sound card just skip to the end 🙂
At first I took the specifications directly from the PC/104 consortium for the measurements: PC/104 – PC/104 ConsortiumPC/104 Consortium (pc104.org)
Then I read the manufacturer’s design sheet to build a sound card for the ALS100 Plus+ and added some minor noise cancellation.
Yeah well, the IC is a bit bigger than a PQFP-100 (10% bigger to be exact). Meh. I tried to shorten the legs but ultimatively ordered another PCB. Bummer.
If you thought I would learn from my first mistake – think again! Yeah, so the OPL3 is also wider than a normal SOIC-24. This time I shortened the legs and soldered it down and went to testing (I shifted the IC down in the photo to better visualize the difference).
8bit- and 16bit-audio worked straight of the box so was the PC Speaker, but the FM synthesis was garbled. Staring at the schematics revealed another pretty stupid mistake:
If you havn’t spotted it yet: I switched around the adress lines. I cut the traces on the pcb and rewired them and FM synthesis was finally working.
Fourth fail (more like a foreseen issue):
There was a faint hum in the audio when plugging in a wavetable daughterboard. The soundcard has a digital and an analog ground which are connected at one point:
That’s fine and dandy – but the wavetable did just the same, so it created a ground loop. I removed the resistor on the sound card and the hum was gone 🙂
The dimensions for the wavetable daughterboard are approximately like this:
While testing I used a Dreamblaster X2 which fits nicely. Also pictured: The fix for fail #1 and an OPL3-clone.
kicad symbol and footprint of the PC/104 board: Download
BOM* with links to mouser.com: Download
*= Missing from BOM:
• PC104-Connector, available on mouser.com
• OPL3, available new old stock from various suppliers
• ALS100 Plus+, unfortunatly EOL since the late 90s, so you have to desolder it from a working sound card.