[sdiy] Re: PCSYNTH Web Page Up
andym00 at gmail.com
andym00 at gmail.com
Wed Jun 8 20:31:36 CEST 2005
[arse, meant to send that to the list]
Scott Gravenhorst
>
> The problem with DMA and a sound card is that different sound cards
> have different control electronics and therefore may required
> different DMA programming. If I write it for a soundblaster (which
> are the only cards I have), then it may not work for those who
> selected different soundcards. I don't want to write different
> drivers for different cards.
> This simple ISA interface should be fast enough and should work for
> everyone, unless I'm missing something here.
Sorry for jutting in, but I've been following this.. Sounds really cool :)
Are you sure you can get the interrupt latency into reasonable realms ? You
state 1.5uS for an OUT to the ISA bus which sounds about right from memory,
but with your interrupt driven method you're going to be at the mercy of
other interrupts in the system, and whatever other IO the system does..
Keyboard, serial evetns, disk drivers, even the DOS service stuff.. Just
about everything writes through IO ports, and compounded with the x86s shit
interrupt latency anyway, due to some of the horrendously long execution
times I'd be nervous to drive such a contraption which a highly accurate
timing, without some pretty bad jitter on the outputs, especially of
anything ever switches the interrupts off momentarily ;) Unless you're going
to kill everything system-side and handle and write all keyboard, mouse and
other IO yourself under controlled conditions ? Possibly some DAC card-side
FIFO that'd take 4 or 8 or so samples ?
One thing to take into account with the DMA/SB approach is that a lot of the
old cards did emulate SBs, and funnily enough even Windows today still
emulates an SB16, so if you run a SB based app in windows it'll actually
work, which might make development easier.. It certainly makes the stability
of the IO rock solid, even if you run with something as small as 8 sample
buffers, and the code is pretty tiny to fire up an SB in auto-initialised
mode ;)
m00
More information about the Synth-diy
mailing list