Matthew Gambrell and Olli Niemitalo have suggested that the OPL2 may use floating point arithmetic internally.

I am now confident that the OPL3 does not. The accumulation of waveforms easily produces output with 12 or more significant binary digits. This precision would be lost within a 11/3 floating point accumulator. Each operator certainly produces 11/3 output, it cannot do anything else because the final lookup table has only 10 bits. The result is an 11 bit value which is shifted by it's exponent. But a floating point accumulator of the same dimensions could not produce an output with more than 11 significant digits. This strongly suggests to me that the internals of the OPL3 are at least 16 bits wide.

The accompanying DAC takes a 16 bit input, and internally renders that with 11 bit precision. But with a full 16-bit precision output, one could presumably use a true 16 bit DAC if one wanted to. Just because Yamaha saw fit to produce a cheaper and more practical floating point DAC doesn't force anyone to use it.

The OPL2 is currently outside of the scope of this project, but it uses the same lookup tables, and it DOES output a floating point value. It's not capable of outputting the precision of the OPL3, but that's not a significant issue for audio purposes.

I'm thinking that it may be possible to test the OPL2 floating point accumulator hypothesis by summing combinations of large and small waveforms. It seems to me that this would introduce small but detectable rounding errors, and furthermore that those rounding errors would vary according to the order in which the large and small waveforms were summed. By swapping the waveforms between operators, you could deliberately vary the order of summing (even if you were not sure what that order was.) and it would be possible to detect the rounding errors or lack of them.