Yeah, afaik arhitecture dynamic binary translation dates back to at least 1998 (VMware).

If you leave out the JIT part, binary translation dates back to at least 1966 (Honeywell).

Still one of the GOATs, agree.

Claims of ‘firsts’ undermine the authority of this document, though not the achievements of the subject.

For instance Marco Ternelli’s dynamic binary translator ZM/HT dates back to 1993, when it was published by Ergon Development. It translates Z80 to 68000 machine code on the fly and was a successful commercial product. I’d be interested to hear of earlier JIT binary to binary implementations, especially others which coped with self-modifying code, without which ZM/HT wouldn’t have been very useful.

Self-unpacking executables are at least a decade older, and Fabrice quite likely had Microsoft’s 1985 EXEPACK, written by Reuben Borman, on his computer when he came up with LZEXE. That was bundled with MASM and Microsoft C 3.0, their first in-house version. Both were preceded by Realia’s Spacemaker product, which Wikipedia says was written by Robert B. K. Dewar in 1982.

Thanks for the reference to https://en.wikipedia.org/wiki/Honeywell_200 apparently its claim to fame was it could run IBM 1401 programs faster than a 1401 for less money.

> Compatibility with the IBM/1400 Series has, of course, been a key factor in the success of the Series 200. The principal software components in Honeywell's "Liberator" approach are the Easytran translators, which convert Autocoder source programs written for the IBM machines into Easycoder source programs which can be assembled and run on Series 200/2000 systems, usually with little or no need for manual alterations. The Easytran routines have effectively overcome the minor differences between the instruction sets and assembly languages of the two systems in literally hundreds of installations.

from https://bitsavers.org/pdf/honeywell/datapro/70C-480-01_7404_...

https://cdnibm1401.azureedge.net/1401-Competition.html

It appears that Honeywell Liberator was a program to convert 1401 assembly to Easycoder, the Honeywell 200 assembly format.