Home | Forums | What's new | Resources | |
static binary translation |
RockinB - Feb 28, 2007 |
RockinB | Feb 28, 2007 | |||
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 Trans... 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... |
vbt | Apr 9, 2007 | |||
Moved from "Games & emus worth porting" as it deserved its own topic. |
ExCyber | Apr 11, 2007 | |||||
Wouldn't it also work for arcade emulation in situations where a particular system only hosts one or a handful of games? In that case, manual analysis for ambiguous code/data blocks is probably feasible, assuming that the automated analysis was good in the first place... |
Mask of Destiny | Apr 17, 2007 | |||
Certainly with manual analysis on troublesome blocks you can achieve good results with static binary translation. Running the game thoroughly in a more traditional emulator that outputs hints as to whats code and whats data can cut down on the amount of manual work that needs to be done. Of course, by the time you do all that manual work you start to wonder whether you would have been better off with a dynarec. Writing a working dynarec isn't fundamentally much harder than writing a decent static recompiler. The real challenge is finding a good balance between the amount of optimization done, the time spent doing the recompilation and the amount of memory used. I'm toying with the idea of putting together a 6502 dynarec for the 68K (more for fun than anything practical). I already have more projects than I have time for so it may just stay a fun dream. |