News:

Stuttgart museum purchases 40 NeXT machines from Rob Blessin

Main Menu

Theseus, a static translator for win32 executables

Started by Rhetorica, Apr 21, 2026, 09:39 PM

Previous topic - Next topic

Rhetorica

The Theseus translator is attempting to apply the methodology used by modern ports of retro console games to Windows binaries: instead of emulating the CPU (either interpretively or with a JIT compiler), process the binary in advance, disassemble it, and recompile it for the new target machine.

The result is nearly-native performance. (In reality the disassembly introduces some new baggage, as it describes register and memory-slot operations rather than the actual variables that the original used. The compiler may or may not be smart enough to optimize this stuff out.)

The developer originally started out working on a direct emulator but considered it rather slow and inefficient and has recently pivoted to this new direction instead. So far it only works on a few select binaries, as each program introduces new challenges. In particular I don't think it includes any native GUI support; the target problem space is games and demoscene emulation, and all that implies.

Conceptually, this is a more future-proof architecture for keeping old software functional, as you would never need to stack emulation layers: once a new target CPU is added to LLVM, the existing back catalog can be brought onto it for free. Now we just need a very brave soul to figure out how to recompile x86 functions in NEXTSTEP software so they aren't limited to the i486 instruction set. ;)
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

ZombiePhysicist