Opened 7 years ago

Last modified 7 years ago

#16914 new enhancement

Implement YMF262 chip emulation for Sound Blaster sound card

Reported by: Vitaly Novichkov Owned by:
Component: audio Version: VirtualBox 5.1.22
Keywords: YMF262, FM-Synthesis emulation, SB16 Cc:
Guest type: all Host type: all


Hello! It's sad that VirtualBox doesn't provide YMF262 chip emulation for the Sound Blaster 16 sound card. I have to install Windows 98 or MS-DOS as a guest to experiment with old musical software and some games, but a result is no sound from MIDI or anything sent to chip's registers.

You can use Nuked OPL3 emulator (LGPLv3 licensed) to provide complete and accurate YMF262 chip emulation with Sound Blaster 16 sound card.

Change History (3)

comment:1 by Michael Thayer, 7 years ago

That is a nice idea, but unfortunately the team will not have time to work on that. Perhaps if the emulator author were to write a patch for us we could integrate it. The author should get in touch with us before doing so though, to make sure that someone has time to do the integration, before they put time into doing the work.

comment:2 by Vitaly Novichkov, 7 years ago

I think I'm able to make that patch by myself, and because OPL3 chip uses separated port (on SoundBlaster 16 it is 0x380), I would add emulator as a separate device, which is turning on when Sound Blaster 16 sound card is turned on. I used that driver by myself in my own MIDI player and bank editor projects.

Version 0, edited 7 years ago by Vitaly Novichkov (next)

comment:3 by Michael Thayer, 7 years ago

That sounds good! Before you start investing work I will quickly go over the important points.

  • Licence is rather critical. We are not able to integrate LGPLv3 code (or even GPL - we make our code available as GPLv2, but we unfortunately can't take GPL back). We have a contributor information page<1>, but the short summary is that it would be easiest if the original author lets you use the code under the MIT licence.
  • It would be better to continue the discussion on the vbox-dev mailing list. I will not be in charge of this, so please add andreas dot loeffler at oracle on CC. However, Andreas has rather a high work load, so he will probably have to push the testing back to you or to other volunteers, and will need something that can be applied (including coding style) and built cleanly on all supported platforms without clean-up work on his side. What testing is needed can be worked out on the mailing list.
  • Integrating the code as a separate device is not quite optimal, as for example it needs to interact with the Soundblaster volume control. We had a quick discussion about this though, and my conclusion from that is that if we can't get it to an ideal user experience quality (for those few people who need Soundblaster) the best way to go might be to integrate what we have and require a bit of black magic to enable it, to avoid getting bug reports that we will not be able to address (we can still pass them on to you if you like). We have suitable black magic available for the purpose.

Please be clear, I am not wanting to discourage you, just to be sure you know what to expect. If you are still game for it we are looking forward to seeing the contribution!

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use