Opened 7 years ago
Closed 7 years ago
#17867 closed enhancement (wontfix)
Sound Blaster 16 Synth not working?
Reported by: | MarchHare | Owned by: | |
---|---|---|---|
Component: | audio | Version: | VirtualBox 5.2.10 |
Keywords: | sound blaster | Cc: | |
Guest type: | all | Host type: | Linux |
Description
I've been trying to figure this out for some time. Apparently some SB16 sound works, but other SB16 doesn't. Specifically, the synth does not seem to be implemented. I will use DOS programs as a good example, as I tend to know what they should sound like. For instance, Doom is able to run, and I can hear sound effects, but not the music.
So I'm attaching some basic code. This code was originally written in basic, but given the nature of what it did, I was able to convert it to a c function that was compiled and run with a bootloader stub. I tested this on a boot disk in a real machine, and it worked. (The sound way a kind of growl-ly purr that rose, then got quieter, sounds kind of like a vroom, but with a square wave). So this code is OS independent, you just have to call it from a bootloader stub and it should work.
When I use it on Virtualbox, it doesn't make any sound, nor does the basic version of it. In fact, the basic version also checks for a sound blaster and can't find one on Virtualbox. So I'm not sure what's going on, but I suspect the synth portion still needs to be implemented?
If someone could point me at some code that does something similar for Intel HDA, I'd love to see it, because I wouldn't mind learning how to program for that one instead.
Attachments (3)
Change History (5)
by , 7 years ago
Attachment: | sbsound.bas added |
---|
by , 7 years ago
by , 7 years ago
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Right, synth (OPL-3) at the moment is not supported by our emulation, and we don't know when (or if) we will add this eventually.
If you want to have a look at the source code, it available here.
Contributions are welcome!