Hi everyone! Thank Goodness the US Supreme Court ruled in favor of common sense today. The copying of APIs for the purpose of implementation in original work is considered Fair Use! 🥳
Also today, as coincidence would have it, someone at VESA responded to my inquiry on the current legal status of the VBE/AI SDK that has been floating around the internet. Their response was that VESA no longer supports VBE/AI and that it is in the public domain, and that we are free to do with the sources whatever we want. ☺️ I therefore unpacked the ZIP file from cd.textfiles.com and published it to GitHub, with the exception of one subfolder: MIDI/OPL2/TOOLS/. The repo can be found at https://github.com/volkertb/vbe-ai-sdk The reason why I left that one subfolder out of the repository is because it contained files copyrighted by The Fat Man, with non-free terms of use. Specifically, those are thimbres for OPL2 and OPL3 FM synthesizer chips as found in many sound cards back in the '90s. I've emailed George Sanger (a.k.a. "The Fat Man") with the question of whether he would be open to releasing those files as open source. If he agrees, I'll add that subfolder to the repository in a later commit. However, those files shouldn't be required when you're writing new VBE/AI sound drivers. As far as I understand it, you might only need those thimbres when you want to support the VBE/AI Adlib driver in your game and have a properly sounding instrument mapping when your game music is composed according to the General MIDI specification. But I digress. I also added the VBE/AI 1.0 specification document in PDF format <https://github.com/volkertb/vbe-ai-sdk/blob/main/VBEAI100.pdf> to the repository, so it's a one-stop shop for anybody here who'd like to take a stab at writing standard open source DOS audio drivers and/or applications/games making use of such drivers. The SDK also contains some existing VBE/AI drivers for Sound Blaster, Adlib, Disney Sound Source and MPU-401 MIDI. Those are binary-only, however. But if those are now public domain as well, perhaps we'll be able to reverse-engineer the COM files using something like Ghidra. (I've asked this in a follow-up question to VESA. I'll let you know if I get a more specific answer on that as well.) I hope all of this will be a useful piece of the puzzle w.r.t. scratching off the "*Drivers for modern, unsupported hardware*" item from the (Free)DOS development wishlist <http://wiki.freedos.org/wiki/index.php/(Free)DOS_development_wishlist>. ☺️ I've been working on the development of a VBE/AI driver for Intel ICHx AC'97 devices in my spare time, but I'm not very experienced in low level assembly and C development, so progress has been slow. Any help is welcome, though! 😃 It would be nice to see VBE/AI drivers for modern sound devices such as these: - AC'97/ICHx (like what I've been working on) - Intel HD Audio - USB Audio - VirtIO (paravirtualized) Sound Driver <http://VirtIO Sound Driver> - Popular PCI sound cards (SB Live, Audigy, etc) - OPL2LPT/OPL3LPT - MIDI over RS-232 - Some other cool stuff that I'm undoubtedly missing here Note that the VBE/AI sources currently include the "far pascal" keyword that gcc-ia16 doesn't support yet. That's being looked into, though. <https://github.com/tkchia/gcc-ia16/issues/45#issuecomment-812819327> (Help with that is welcome too, of course!) Anyway, I hope this is useful to at least some of you. have a great day/evening/night, everyone! 🤗 Volkert
_______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel