Waking up a old thread since it is very good reference.
I like to add that the FIFO buffers measurements may be also affected by the bus speed itself . Does all of those cards had the same 8bit IO? (the SB has 8bit io, while 16bit IO takes much less bus)
THe AMD interwave datasheet says that chip has 16bytes fifo for receive and 16bytes fifo for sending a MIDI.
Scali wrote:Which would mean that sending SysEx commands would still be a problem, because they're generally much larger than the FIFO size.
Well, in this case I need help. How big FIFO buffers would be generous enough and how big ones are overkill? The design can be with hardware 512 byte buffer for separate send and extra 512bytes for receive, but how much should be enough actually?
SO in a thought as making a new soundcard with MIDI and to have all generous options what man can imagine.
Recommendations, caveats to avoid based on old other cards and experiences, which were some cards design flaws with midi ports?
the MIDI FIFO size. how much then would be enough and how much would be overkill? 16/64/512 bytes? (or more? 😁 😁 )
Also I consider the bus interface will be ISA 16bit instead of 8bit I/O which can help the bus load reducing and if the software can use the 16bit transfer to soundcard with midi data.
Should there also be in hardware some configurable options about when it is time to generate interrupt?
also, should there be also possibility to use DMA ?
(so to use that specification fully and with details which were considered very expensive on the time back then but now no problem to exceed that)
The focus should be that it should be stable timing, low CPU and bus load even with a modest CPUs like 386 while using the pitch bend, sysex and program changes and all 16 channels are in use.
The card will be a dedicated separate FIFOs and IRQ handler and CPU for midi channels. So that the card should not hog the more modest CPUs like 386 processors, could handle the pitch bend and midi sysex code too plus program changes (FT2 with MIDI mapped on instruments).
The focus is still about having the compatibility with those old trackers which can map the MIDI to instruments.
With Fasttracker 2. So far with SB AWE64 and Gravis Ultrasound MAX on a Pentium II runs okay with MIDI but so far I have not used the compositions with all 16 channels.
The extreme would be trackers to have a support for a multi port MIDI interfaces and multi wave outs, but... just if there would be also dos trackers which support that all hardware.
Current project: DOS ISA soundcard with 24bit/96Khz digital I/O, SB16 compatible switchable.
newly made SB-clone ...with 24bit and AES/EBU... join in development!