Page 1 of 2

Future sound card musings

Posted: Wed 09 Dec, 2020 8:33 pm
by SarahWalker
Similar to the graphics card thread, here's some notes on possible future sound card emulations. As with that thread, nothing here should be taken as a statement of intent, I'm mostly just jotting down a few thoughts. This obviously does not cover every possible sound card, just the ones I'm most likely to ever really look at.


Sound Blaster Vibra 16
Different mixer to regular SB16 - no bass/treble controls. CQM synthesis on some models, don't know if anyone's done any investigation into what's different vs a real OPL. Plug and Play on some models as well.

Sound Blaster 16 ASP
Looks to be an off-the-shelf DSP - ST18932. Technically this should be emulated for the AWE32 as well, but there's so little software that supports it that no-one's complained so far.

Sound Blaster 32
AWE32 with a Vibra 16 for the digital section? Creative had so many SB variations on the market that I struggle to remember which is which.

Sound Blaster AWE64
Probably just a DSP version tweak vs AWE32? Should also have CQM, should anyone really care.

Sound Blaster Live!
Think Josephma was looking at this at one point? Looks like potentially fully programmable DSP, if same firmware is always used then it might be possible to HLE it.

GUS Max
GUS + CS4231 CODEC. I did have mostly-working emulation of this somewhere, but remember running into a few issues that meant it was never committed. Should probably have another look at it.

GUS Extreme
GUS + ES1688. If the latter is ever emulated this should be fairly easy to add.

GUS PnP
Second gen GUS using AMD InterWave, for which I have the datasheet. Onboard instrument ROM would need dumping though.

ES688 AudioDrive
Looks to be mostly an enhanced SB DSP-type affair. Not the most complicated thing to emulate I suspect, and it's quite a common OEM chip.

ES1688 AudioDrive
Similar to ES688, save for the ESFM enhancements.

Pro Audio Spectrum
There is unfinished PAS16 code hanging around, I got fed up with the card and abandoned it due to bugs, poor documentation and inconsistencies between various drivers. If it was to be picked up again, it may be worth going back to the original PAS and starting from there.

OPTi MAD16
Several varations of this chip around, all are an SB DSP-compatible implemented via a WSS-type CODEC, with some interesting quirks (eg I believe playback sample rates are limited to those supported by the CODEC). Should really do some testing with a real card to determine what is and isn't supported, eg is ADPCM supported on these cards?

OPL4
Datasheet is readily available, standard instrument ROM is widely available thanks to MAME. Most if not all the cards I've seen also have a MAD16 variant on board so that should be emulated first.

Orchid Soundwave 32
Wavetable is an off-the-shelf DSP (ADSP-2115) with no built-in ROM. I have instrument ROM dumps for at least one variation (1MB?). Emulation should be interesting if not 100% trivial, the only downside being that the card sounds quite bad.

Ensoniq Soundscape OPUS
Think I have the ROM dump for this somewhere. CODEC is WSS-compatible, OTTO chip I think is documented - as least MAME emulates it, so there's something to look at. No 68000 so this would be the first Soundscape to look at.

Ensoniq Soundscape
Basically same synth as OPUS, but the presence of a 68000 adds additional complexity.

Yamaha YMF7xx PCI
Some (incomplete) documentation exists, plus Linux driver looks to have register documentation for the default DSP firmware. If the firmware never changes much then a HLE approach should be possible.

Wave Blaster
Unknown OKI/E-mu synth chip, plus a 68000 acting as MIDI interpreter. Both instrument and 68000 ROMs would need dumping to emulate it, also possibly reverse engineering of synth chip.

Wave Blaster 2
Same EMU8000 chip as the AWE32, but has twice as much instrument ROM (2MB) and a 68000 acting as MIDI intepreter. Both instrument and 68000 ROMs would need dumping to emulate it.

Yamaha DB50XG
H8/3002 as MIDI controller, most likely fully custom DSP. _Might_ be possible to verse engineer, especially if it looks like the YMF7xx XG implementation. Would need surface mounted ROMs dumping.

Re: Future sound card musings

Posted: Wed 09 Dec, 2020 8:47 pm
by terub56
Thanks. Any plans for Roland MT-32?

Re: Future sound card musings

Posted: Wed 09 Dec, 2020 9:11 pm
by Cheez
ooh, ES688. I think I had that in my original machine. Later I ended up with some kinda thing I think went by the name of "Sound Master 16", or maybe it was Sound Master II, but my memory is fuzzy on that one.



Only vaguely related to sound cards, but for the hell of it I'd like to bring up a device called the Echo PC2. I don't have much information on it as I ended up with a box that only contained the external speaker and driver disk, but I'm aware it's a speech synthesizer box supposedly compatible with a few things.

I don't have a list of compatible software, but there IS a DOS kids' program by the name of "Spooky Kooky Monster Maker" That says it supports an Echo, and I believe it's supposed to have a text to speech function in it that doesn't seem to work by trying to set it up with other similar options. Not something I can see worth pursuit when it's hard enough to find the device through google, but.. you never know. Saw one on ebay once, but money wasn't on my side that day. It's a bit hard to research without one to own and operate, but maybe I'll say something more about it if I ever get my hands on one.

Re: Future sound card musings

Posted: Wed 09 Dec, 2020 10:15 pm
by win2kgamer
Main reason I'd see for adding the AWE64 would be to have a BeOS-compatible sound card since the ES1371 is detected but completely silent and the OS doesn't have support for non-PnP SoundBlasters (I really should get around to making a report for that issue with the ES1371 since it affects Linux too...).

Re: Future sound card musings

Posted: Wed 09 Dec, 2020 10:17 pm
by SarahWalker
terub56 wrote: Wed 09 Dec, 2020 8:47 pm Thanks. Any plans for Roland MT-32?
You can already emulate that using Munt.

Re: Future sound card musings

Posted: Wed 09 Dec, 2020 11:58 pm
by leilei
Anything on the original ES1370 AudioPCI / SBPCI 64? All I know is that it's 44.1KHz and has Soundscape DOS TSR compatibility.
SarahWalker wrote: Wed 09 Dec, 2020 8:33 pm CQM synthesis on some models, don't know if anyone's done any investigation into what's different vs a real OPL.
There's an expired patent related to it at least (US5900570). One game that shows audible differences immediately is Doom. The CQM can't satisfy the polyphony needed for E2M2, and the guitars/percussion in E1M1 are very buzzy. Heretic E1M5's also a good acid test. I have made some old CQM flacs of those recorded off an AWE64 somewhere... anyway CQM never bothered me then as I was in a wavetable phase at the time, replaying old DOS games through the Roland GM out etc. :)

As for Live, there's those Kx Project drivers as a resource. Would the differing quality between the front and back jacks need emulation too? :P

Vibra16 had the two-split-DMAs-for-16 IIRC.


(unrelated to all of this, i'm surprised there's never been an Adlib Gold surround emulation TSR for the AWE64.)

Re: Future sound card musings

Posted: Thu 10 Dec, 2020 4:04 am
by gen_angry
The AWE64 had a few different models. The 'standard/original' with 1MB soundfont RAM, a 'Value' with 512kb, and a Gold with 4MB. AFAIK, one of the big things about the AWE64 is that they fixed the hanging note bug. There's a good writeup here on the main differences between all of the 32/64 cards and their models.

The live was a confusing bunch, there were so many different versions all with different capabilities. Some of them were crippled OEM cards which do not work with Creative's drivers. Can see a partial list of the different models here. If you're going to emulate this one, you may want to specify which model.

Any thoughts on the Aureal Vortex/Vortex 2?

Re: Future sound card musings

Posted: Thu 10 Dec, 2020 4:23 am
by leilei
ah yes, this thing.
monstersoundm80.jpg
monstersoundm80.jpg (37.66 KiB) Viewed 20487 times

Re: Future sound card musings

Posted: Thu 10 Dec, 2020 7:28 am
by r00lz
How about generic Avance Logic ALS100, ALS120, ALS4000?

Re: Future sound card musings

Posted: Thu 10 Dec, 2020 7:46 am
by SarahWalker
gen_angry wrote: Thu 10 Dec, 2020 4:04 am Any thoughts on the Aureal Vortex/Vortex 2?
Custom undocumented DSP = no fun for the emulator author.

Re: Future sound card musings

Posted: Thu 10 Dec, 2020 11:26 am
by omarsis81
DB50XG is close to the Sound Canvas, so I'm very exited about that one!

Re: Future sound card musings

Posted: Thu 10 Dec, 2020 12:09 pm
by SarahWalker
If by 'close' you mean 'they both produce sound', then yes.

Re: Future sound card musings

Posted: Thu 10 Dec, 2020 8:01 pm
by omarsis81
Well, what I meant is that I believe the DB50XG is the best (or one of the best) wavetables around. It is far from having a Sound Canvas, but sound quite good IMHO

Re: Future sound card musings

Posted: Fri 11 Dec, 2020 1:33 am
by leilei
Yamaha and Roland are competitors. They're not going to be technically similar.

Speaking of wavetable though... MAD16's part of the Turtle Beach Monte Carlo (928) and the driver disks include a software VSYNTH driver. I don't recall if ADPCM was supported, but do know that Tyrian's PCM sounded bad and there was some severe amplification issues between PCM and FM. The Win3.1 mcarlo drivers don't have any additional ADPCM stuff that I know of.

SBPCI128 drivers cover A3D 1.0 so there's not a lot of point emulating a Vortex IMO.

Re: Future sound card musings

Posted: Fri 11 Dec, 2020 2:49 pm
by altheos
SarahWalker wrote: Wed 09 Dec, 2020 8:33 pm Similar to the graphics card thread, here's some notes on possible future sound card emulations. As with that thread, nothing here should be taken as a statement of intent, I'm mostly just jotting down a few thoughts. This obviously does not cover every possible sound card, just the ones I'm most likely to ever really look at.

GUS Max
GUS + CS4231 CODEC. I did have mostly-working emulation of this somewhere, but remember running into a few issues that meant it was never committed. Should probably have another look at it.
Indeed, you should still have my patch in this forum but it was more than 3 years ago.

Re: Future sound card musings

Posted: Sun 13 Dec, 2020 2:28 am
by leilei
On the SBLive emulation, should it ever happen, would it also emulate the performance penalties?

Long ago my system had a Live 5.1 and I didn't realize this was a bottlenecking card until I switched to onboard audio some motherboards later. Maybe it's why the PCem k6/2 emulation feels unusually fast to me (or maybe that's another cache-related thing).

Re: Future sound card musings

Posted: Sun 13 Dec, 2020 5:11 am
by gen_angry
leilei wrote: Sun 13 Dec, 2020 2:28 am On the SBLive emulation, should it ever happen, would it also emulate the performance penalties?

Long ago my system had a Live 5.1 and I didn't realize this was a bottlenecking card until I switched to onboard audio some motherboards later. Maybe it's why the PCem k6/2 emulation feels unusually fast to me (or maybe that's another cache-related thing).
It is? I have a SB Live SB0100 in my P4 retro build using the VXD drivers (win98se). Would it be an issue on that?

Re: Future sound card musings

Posted: Sun 13 Dec, 2020 6:06 am
by leilei
If you've got onboard audio to compare it with, sure. I've realized the problem on an Athlon64 system. It wasn't just Windows either, as Linux's experienced the same performance symptoms

Re: Future sound card musings

Posted: Tue 15 Dec, 2020 8:45 am
by ecksemmess
Great thread! I'd definitely love to see the Vibra16. Did all my gaming on one of those in the later DOS era, and the regular SB16 just isn't the same somehow with Doom etc.

Re: Future sound card musings

Posted: Mon 21 Dec, 2020 4:22 pm
by unreal9010
I've got ES1869 AudioDrive datasheet in case anybody is interested in writing emulation of that card.

Re: Future sound card musings

Posted: Fri 05 Feb, 2021 6:39 pm
by SeanB
SarahWalker wrote: Wed 09 Dec, 2020 10:17 pm
terub56 wrote: Wed 09 Dec, 2020 8:47 pm Thanks. Any plans for Roland MT-32?
You can already emulate that using Munt.
It would be very useful to emulate an MPU-401, which would allow you to use MT-32 without a Sound Blaster. Currently there is no way to run Intelligent mode MT-32 in early games such as King's Quest IV. You could of course load SoftMPU, but that has some overhead and minimum CPU requirements that are higher than games of that era.

Re: Future sound card musings

Posted: Sat 06 Feb, 2021 12:07 am
by Katakis
SarahWalker wrote: Wed 09 Dec, 2020 10:17 pm
terub56 wrote: Wed 09 Dec, 2020 8:47 pm Thanks. Any plans for Roland MT-32?
You can already emulate that using Munt.
So far I have not got MT-32 to work in PCem v17, even when MUNT is activated. According to one of the screenshots http://blog.tcltk.co.kr/?p=3865
Is there any configuration files http://blog.tcltk.co.kr/?p=3865]here, you have to select MT-32 Synth Emulator from the "MIDI out device" drop down list, but there is no such option in PCem v17. Is there a configuration file that we need to modify in order to get the feature to work?

Re: Future sound card musings

Posted: Sat 06 Feb, 2021 10:59 pm
by SeanB
Once you have Munt running, you need some way for Windows to recognize it as a MIDI device. You could use something like VirtualMIDISynth or just loopMIDI. There are probably several other options as well.

When Munt is recognized as a Windows MIDI device, you'll be able to select it in PCem as a MIDI out device.

As a side note, you'll only need to have SoftMPU resident in memory if the game requires MT-32 Intelligent mode operation. This is usually the case with earlier games. Later games using dumb UART mode work fine through the SB16 wavetable header without loading anything extra into memory.

As I mention in my post above, SoftMPU would never be necessary if there was an option to emulate an MPU-401 interface. Another issue is that this forces you to use at least an SB16 for digital audio, so you can't use options like WSS + MT-32 or LPT DAC + MT-32, or just plain MT-32 and no sound card.

Re: Future sound card musings

Posted: Sun 07 Feb, 2021 4:34 am
by Katakis
I use the Linux version of PCem, yet the "MIDI out device" feature isn't implemented. But I managed to run the Windows version of v17 through Wine with MUNT, and it works perfectly.

Re: Future sound card musings

Posted: Sat 27 Feb, 2021 12:00 pm
by ParticleMan
1. I wasn't able to find a guide on setting up MUNT in Linux and PCem, so here are some notes on how I was able to do it:

`sudo modprobe snd-virmidi midi_devs=1 snd_index=1`
`mt32emu_qt` or MT-32_Emulator-x86_64.AppImage (and configure with ROMs)
`aconnect 24:0 128:0 ` # Virtual Raw MIDI 2-0 to Munt MT-32
Make PCem with `--enable-alsa`
Verify `ulimit -l` returns "unlimited"
Configure PCem with Sound Blaster 16 or AWE32 > MIDI out device: VIrtMIDI (2:0:0)

2. Although PCem does work in Wine, the native app is, of course, more efficient and less quirky.

3. On adding to PCem the emulation of MT-32 (and siblings, with the presumed requirement of Bring Your Own ROMs), would such an effort be tantamount to a duplication of effort relative to MUNT? What would the benefits and drawbacks be for "rolling" (coding) your own?

Re: Future sound card musings

Posted: Sun 28 Feb, 2021 5:30 pm
by SarahWalker
ParticleMan wrote: Sat 27 Feb, 2021 12:00 pm 3. On adding to PCem the emulation of MT-32 (and siblings, with the presumed requirement of Bring Your Own ROMs), would such an effort be tantamount to a duplication of effort relative to MUNT?
Yes. Either you'd be bringing basically the entirety of MUNT into the PCem source tree, or you'd be re-implementing the entire thing. Which is a major effort by itself, and would likely never be as good as MUNT is.

Re: Future sound card musings

Posted: Wed 03 Mar, 2021 12:35 am
by ParticleMan
SarahWalker wrote: Sun 28 Feb, 2021 5:30 pm
ParticleMan wrote: Sat 27 Feb, 2021 12:00 pm 3. On adding to PCem the emulation of MT-32 (and siblings, with the presumed requirement of Bring Your Own ROMs), would such an effort be tantamount to a duplication of effort relative to MUNT?
Yes. Either you'd be bringing basically the entirety of MUNT into the PCem source tree, or you'd be re-implementing the entire thing. Which is a major effort by itself, and would likely never be as good as MUNT is.
Although I and countless others are grateful that MT-32 support exists and works, what do the PCem developers think of the prospect of bringing MUNT into PCem?

Re: Future sound card musings

Posted: Wed 03 Mar, 2021 7:41 am
by SarahWalker
It's not something I have any desire to do.

Re: Future sound card musings

Posted: Fri 05 Mar, 2021 3:51 am
by Katakis
Shame.

Re: Future sound card musings

Posted: Fri 05 Mar, 2021 7:43 am
by SarahWalker
Life's tough sometimes.