DerBaum wrote on 2023-09-16, 14:36:Of course there are exceptions to the norm.
To keep it simple and not cause more confusion i explained in the most simple way. […]
Show full quote
Jo22 wrote on 2023-09-16, 12:21:Au contraire. A few required one. There's Spellcasting 101 that comes to mind, for example. 🙂 […]
Show full quote
DerBaum wrote on 2023-09-16, 11:46:
No dos game required a driver to play Adlib(FM) music/sounds.
Au contraire. A few required one. There's Spellcasting 101 that comes to mind, for example. 🙂
"The original diskette version of the game requires that the SOUND.COM TSR is loaded before starting the game to get Adlib sound.
This is not needed for the later CD release.
SOUND.COM came on a driver disk with the Adlib soundcard.
If you have a Creative SoundBlaster card, your can instead load SB-SOUND.COM which was shipped with the SoundBlaster card.
However the original Adlib SOUND.COM will work fine on SoundBlaster and other clone cards, and is often preferred for better compatibility. "
Source: https://www.pcgamingwiki.com/wiki/Spellcastin … t_All_the_Girls
Of course there are exceptions to the norm.
To keep it simple and not cause more confusion i explained in the most simple way.
I have a lot of soundcards that need to be initialized first before even the fm part makes any sound... but that information is completely irrelevant... so i dint mention drivers and so on...
No problem, I didn't knew it either until a few years ago. 😅
My Pro Audio Spectrum 16 didn't ship with any Sound Blaster/AdLib utility, either. 🤷♂️
I assume that by ~1994, the old sound.com driver from the 80s was nolonger of much relevance.
Despite the fact that the sound.com was meant as an official sound library/interface for the AdLib card.
Even the AdLib Jukebox used it, originally. In later versions, the need for sound.com was dropped.
The dilemma here is that games made by Legend (Spellcasting 101, Gateway with MPU-401 UART support) do use the official, correct way of doing things.
Akin to, for example, use DOS/BIOS calls vs accessing Hardware directly.
Or like, for example, determining the video frame buffer location in memory first,
rather than simply assuming the default location that is common (A000h on VGA, B800h on CGA) etc.
So what these few, highly professionally made games do is in harmony with the official programmimg guidelines.
That's the dilemma here, I think.
There are about a dozen games that work "correctly" vs a hundreds of thousand doing it the "wrong" way.
It's like a handful of sane people among a legion of insane people.
But because the majority is being thought of as being right, these dozen people are being seen as irregulars, as the crazy ones.
Because, the crazy people think they're sane, of course. It's all a matter of perspective, I guess.
Anyway, I didn't mean to criticize you in any way.
My apologies if it did sound that way.
The situation with FM music has quite some diversity, I think. 🤷♂️
There are many roads that lead to Rome, so to say.
Personally, I recommend reading the book "The Sound Blaster book" or "Programming the Sound Blaster Card".
There's also the "Sound Blaster Developer Kit" available somewhere online.
__
That being said, Sound Blaster and AdLib aren't exactly same when it comes to FM programming.
The Sound Blasters have a separate set of FM i/o port addreses at 220h/221h (OPL2; OPL3 has extra i/o ports for left/right).
Of course, they also listen to the old AdLib ports at 388h/389h.
So well written FM games prefer the old ones, in order to be compatible with AdLib and its clones.
The Sound Blaster ports are handy if multiple sound cards are installed, so their FM part can be individually addressed.
The problem is, that some games do use different ways to get their.
Some do use math to get to the i/o ports they think is right.
Like 220+168=388h (220h is SB default i/o port, 388h AdLib default i/o port).
But by that logic, using the alternate SB i/o port of 240h would lead those games to believe the FM port is at 408h (and 409h), which isn't exactly true (it's 240h/241h).
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//