Reply 40 of 87, by LABS
- 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.