I came across a neat little document on static binary translation. After I've read it, I've realized that this technique is much better applicable in reality than I thought before. It is easier to do and not as complex as a dynamic recompiler, especially when considering the Saturn as the target.
This approach might be a method to get mega drive games emulated on Saturn. Or to speed up NGPC games, the cpu core used there is slow as hell and there doesn't exist any alternative core.
See here:
An Emulator Writer's HOWTO for Static Binary Translation
Abstract of above
Asteroids Static Binary Translation
The interesting thing is, that the approach is platform independent and that it leaves most of the optimizations to the sophisticated gcc compiler, only a few minor optimization have to (or can) be done on your own.
It has been applied successfully to games that I've probably played before: Tailgunner on GP32 and others.
Oh yeah, this got me thinking again about hardware rendering support in my snes9x port...
This approach might be a method to get mega drive games emulated on Saturn. Or to speed up NGPC games, the cpu core used there is slow as hell and there doesn't exist any alternative core.
See here:
An Emulator Writer's HOWTO for Static Binary Translation
Abstract of above
Asteroids Static Binary Translation
The interesting thing is, that the approach is platform independent and that it leaves most of the optimizations to the sophisticated gcc compiler, only a few minor optimization have to (or can) be done on your own.
It has been applied successfully to games that I've probably played before: Tailgunner on GP32 and others.
Oh yeah, this got me thinking again about hardware rendering support in my snes9x port...