back

by AntiRush·8y ago·view on hn ↗
There are at least a couple of other examples of similar projects:

NES -> native executables: http://andrewkelley.me/post/jamulator.html

x86/Windows starcraft -> arm/Linux for openpandora: https://pyra-handheld.com/boards/threads/starcraft.73844/

(Tools used for this: https://github.com/notaz/ia32rtools)

For a lot of consoles, particularly older ones, this tends to yield worse performance than a JIT. Between different memory layouts, weird threaded code, jump tables, (and especially) self modifying code, a JIT can do a much better job building efficient code since it has all of the runtime information.

For newer consoles which more closely resemble PC hardware, things are definitely better; the current generation will basically look like the Starcraft port; an API compatibility layer.