|
Hi blue, nice to see you're still around.
Wouldn't it be much better to scan all code for illegal opcodes (like WBINVD), and patch them in one big swoop?
That way, no more game-specific patches are needed (at least, as far as illegal instructions are concerned).
If we would ever build generic opcode patching, we do need to make sure no data is damaged. Worst case, this would imply full-blown branch-analysis (like IDA pro does), but maybe there's an easier way... Any suggestions anyone?
I would suggest that this code-patching apparatus should also be used to fixup the FS register offsets, in order to eliminate the EmuSwap calls (and the LDT code that prevents Cxbx from running on Vista).
As a matter of fact, Wayo (a Dxbx team member) is already experimenting with this. We've got no concrete results yet but a few months ago, Robert Yates (another Dxbx team member) had already shown us a working prototype for this (!)
|