So, apart from the fact that the the A8 bus is designed around a 1.79mhz processor, as I understand it, the main difficulty in making a an accelerator for the Atari is the incompatbility between the 6502C/SALLY (not to be confused with the 65C02) and the 65C02 and 65816, which lack support for the illegal opcodes present on NMOS 6502s. It's my understanding that this is roughly analogous to the problem in the Apple II world with the Apple IIc, where the IIc's 65C02 can cause a lot of incompatibility problems.
Basically, I had three ideas and was wondering whether these would work.
Basically, I had three ideas and was wondering whether these would work.
- Would it be possible to write a program to patch 'dirty' software which utilizes illegal opcodes to work with "clean" implementations? Furthermore, would it be possible to use some sort of static recompilation to take advantage of the extended instruction set of the 65C02, to make up for potential performance loss due to the loss of the illegal opcodes, or to improve already working software?
- For the Coldfire, there is some software called CK68klib. Basically, the Coldfire is a stripped down version of the 68k. Most CF code is compatible with 68k processors, but not the other way around, since the CF instruction set (I think) is basically a subset of the 68k instruction set. What CK68klib does is basically 'trap' opcodes that don't exist on the CF and convert them to work with it on the fly. Obviously, there is a some performance penalty, but a CF v4 can actually outperform true 68k processors, even with this. Would such a thing be possible for the 65816?
- Lastly, if a software option isn't possible, or at least wouldn't be at all practical (obviously since bother are turing machines, it is theoretically "possible," in the same way emulating a PS3 on the A8 is "technically possible" but pointless!) could some sort of CPLD or FPGA be used to decode illegal opcodes into legal ones on the fly?