nokturnal wrote: Wed May 29, 2024 6:07 pm
I still have SB driver in pipeline for my opl player. Got adapter for mega st(or ste?), but still I have to install it (not sure if it is 8 or 16 bit interface). And I thought about trying out GUS through vme or other isa adapter. I saw that Milan(or Hades?) had full SoundBlaster support(MilanBlaster), but it wasn't open source (which sucks) and it seems to be 'feature complete'. Maybe you could find some inspiration there for system integration (at least on interface/tools level). OPL part is easy.. If you could provide opl port write routs / detection I could make Raven Sound Blaster driver easily and incorporate it in my player/opl driver lib (,which is not public yet).
I think you need ISA-DMA for SoundBlaster to play PCM efficiently (or at all) ?
I'm under the impression those cards are a bit similar to how the Atari works in that you do all your sound processing on the CPU and have DMA set up to constantly feed a "dumb" DAC with your output mix.
Some SB document I found mentioned a limited direct PIO access to the DAC but I couldn't see any mention of FIFO so worst case that may end up being a bit like feeding a Covox through fast-firing interrupt?
I deliberately skipped the complexity of adding a DMA controller on the board because I couldn't think of anything other than SoundBlaster needing it for PCM playback.
This does paint it into a corner of needing a GUS or AWE32/64 for good audio and they are unfortunately more expensive.
But then again, you get *really* good audio and these cards do mostly everything for you and for free including mixing of up to 32 concurrent PCM channels.
Picogus does make it more affordable though and open source which is awesome.
Good advice looking at MilanBlaster!
I absolutely need to write some kind of similar accessory for controlling the volume of all the in/out ports of the soundcard.
A TOS4 sound xbios implementation would be nice to make too as a sort of worst-case fallback.