VOGONS


Reply 40 of 41, by LABS

User metadata
Rank Member
Rank
Member

I think the simplest solution to try it out is to use a dedicated atmega328 just for the FIFO. It receives OPL3 command at bus speed, puts it into 2k RAM queue, and then sends it out to OPL3 when time comes by controlling OPL3 pins with appropriate timings. 2k will be more than enough for that, probably we don’t even need to check it for overflow and touch /IOCHRDY to slow things down, what makes things even simpler. I already kinda did this in my OPi project-USB 2.0 to OPL3 sound card, where OPL3 commands were sent over USB in packets to atmega328 and then passed to OPL3 with correct timings. It worked flawlessly from DosBox.

Blasterboard: DIY SB2-compatible sound card on ATmega MCU
Sonic Buster 8: New 8-bit ISA sound card

Reply 41 of 41, by Tiido

User metadata
Rank l33t
Rank
l33t

I would have thought that the MCU will have some difficulty receiving the commands at ISA speed, but then again, ISA is very slow and there will not be large sustained transfers anyway. That's definitely viable then ~

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜