[FreeVMS] Is this on the FreeVMS roadmap?

Graham Toal gtoal at gtoal.com
Sam 18 Aou 00:57:52 CEST 2007


Hi guys - I just dropped in to float an idea or at least see if it is
something that the FreeVMS team are already looking at...

One of my interests is in static binary translation - it started out
for me as a way of writing really fast video game emulations,
but it developed into something bigger and I'm interested now
in preserving legacy software as well; also the domain of
binary translation with respect to compiled programs originally
written in high level languages does simplify some of the
problems of translation that you would otherwise get with
hand-coded assembly programs.

I know that DEC wrote a binary translator for Vax -> Alpha
code, but as far as I know, that's the only one ever done for
Vax code.  I was wondering if y'all were considering a binary
translator for Vax code to generate binaries that would run
on FreeVMS?

Since you have the command line interpreter/program loader
under your control, you could easily intercept commands to
detect Vax binaries and hand them off to some other module
which would run them under some sort of emulation.

Because FreeVMS would be system call compatible with
OpenVMS, this ought to be a relatively easy hack...  start with
a Vax emulator core such as that from "simh" (tried and proven)
and intercept any calls out of the emulated binary so that
you call library routines in native mode.

Once a basic traditional emulator is working, you can then
either:

1) do dynamic binary translation (aka recompilation) on the fly

or

2) checksum the binary as you load it, and if it is a
recognised program (ie one that you have previously
translated into native code) throw it out of memory and
run the translated version instead.

A scheme like this would allow you to run old copiled third-party
Vax/VMS apps without requiring a VMS licence.

For good measure, you could do the same scheme with
Alpha code.   Probably easier if anything.

I'm not volunteering to write a binary translator (at this time) but
I might be interested some time in the future.  Anyway, for
the first iteration, you need someone with VMS linker/loader
expertise, and a copy of simh, not someone with static binary
translation experience.  If you guys ever get that working, I'm
up for the next stage...

regards,

Graham Toal


Plus d'informations sur la liste de diffusion FreeVMS