Creating the same 16-bit x 16-bit test set that I used for the 8-bit version would require 16GB of storage. Each of the 16 tests would take approximately three full days to complete. And that's just running the tests.

Getting it to a PC, my fastest method would be blargg's serial controller, so I would have to add a 16GB transfer over a dial-up modem connection to the 48 days already needed.

I'm sorry, but not even I am that dedicated to accuracy.

This is at least the fifth investigation into SNES BCD in the last 12 years.

Well at least we know with 100% certainty now that the 8-bit versions are correct, once and for all.


EDIT: and the latest results:

I've confirmed with 100% certainty that my (blargg's) 8-bit implementations are perfect. I've also confirmed that my adaptations to extend blargg's 6502 implementation to 16-bit 65816 is correct for ADC BCD accumulator results. I am unable to test ADC BCD flag results, or SBC BCD accumulator or flag results. Again only in 16-bit mode.

But flags are substantially easier than math to extend from 8-bits to 16-bits. And the extension to ADC is the same as the extension to SBC.

Thus, I am 99.9% sure my implementations are bit-perfect, both in 8-bit and 16-bit mode. I would be very surprised if not.

So if you guys want to implement it to your core, the final versions are listed in this post: