digger wrote on 2022-04-06, 22:08:
What would be really cool is if both those functionalities could be used at the same time, but I'm not sure whether that's possible.
If I'm reading this programmer's guide correctly, bytes written to printer's data port intended for the DSS are followed by "strobe" (12) and "power up" (4) bytes sent to the control port. The OPL3LPT also uses this pattern (data followed by bytes written to the control port), but the DSS's "strobe" code is the same as the first of the OPL3LPT's "register value" codes (12, 8, then 12 again). Since the pattern of writes is different, it might be enough for a small CPLD, FPGA, or microcontroller to route the data and commands to the correct block by just buffering for a little bit to see if the byte after 12 is a 4 or an 8.
In other words, it doesn't look like someone could prototype this by simply plugging an OPL3LPT into the end of a DSS, but the additional engineering needed is not crazy. The analog audio parts are probably harder to get just right than any of the digital parts.