While concentrating on research, this is also a miscellaneous page. * The novel Low Level Virtual Machine (LLVM) [[http://llvm.cs.uiuc.edu/]] is a product of the Lifelong Code Optimization Project, led by Vikram Adve in the Department of Computer Science at the University of Illinois, Urbana-Champaign. LLVM is (1) a compilation strategy, (2) a virtual instruction set and (3) a compiler infrastructure. * Reuben Thomas has written an open source Virtual Machine called [[http://www.mupsych.org/rrt/research/#mite][Mite]] which is designed for easy JIT translation. * [[http://www.ac.upc.es/dixie][Dixie]] from Universitat Politecnic de Catalynya uses a machine independent Virtual Machine. * [[http://simos.stanford.edu][SimOS]], the complete machine simulator. The [[http://www-flash.stanford.edu/Embra/][Embra]] subsystem uses dynamic binary translation to perform simulations. Slowdowns of only 3-9 are claimed. * Michael D. Smith's [[http://www.eecs.harvard.edu/machsuif/research/research.html][Research Group on Compilation and Computer Architecture]] at Harvard has several projects on binary translation, e.g. [[http://www.eecs.harvard.edu/machsuif/research/deco.html][Deco]] (a system for dynamic code optimization). * The [[http://www.ifi.unizh.ch/~pilz/oct][Object Code Translation]] home page, maintained by Markus Pilz, at the University of Zurich. Markus is working on [[http://www.ifi.unizh.ch/~pilz/thesis/Thesis.frame.html][Java Bytecode Compilation]] techniques (a special case of binary translation). * The [[http://www.ifi.unizh.ch/richter/projects/diamonds.html][Diamonds Project]]. This project is part of the Open Microprocessor Initiative in the Fourth EU Framework Programme for Research and Technological Development. The goal of Diamonds was to design a new 8/16-bit RISC microcontroller providing CISC software compatibility. * HiProf, TracePoint's binary code instrumentation of 32-bit PE Windows binaries received good reviews in the press (see [[http://search.zdnet.com/pcmag/features/profilers/edchoice.htm][PC Magazine Online]]'s, [[http://www.uworld.com/ltparts/reviews/sk16a.htm][LAN Times Magazine]]'s, [[http://search.zdnet.com/products/content/pcwk/1440/pcwk0071.html][PC Week]]'s, and [[http://www.winmag.com/library/1997/0701/newpr082.htm][Windows Magazine]]'s reviews). However, TracePoint exists no more. * [[http://memsys.cs.washington.edu/memsys/html/etch.html][Etch]] Instrumentation and Optimization of Windows 32-bit x86 Executables. * Cygnus' [[http://www.cygnus.com/misc/gnu-win32/][GNU-Win32 Project]] provides Win32 ports of popular GNU tools for Windows NT and 95. * [[http://www.cs.uoregon.edu/~cogswell/tibbit/index.html][TIBBIT]] Timing Insensitive Binary to Binary Translation. * [[http://www.csee.uq.edu.au/~cristina/uqbt.html][UQBT]] The retargetable static Binary Translation project at The University of Queensland. The source code for UQBT has been released; see http://www.experimentalstuff.com/Technologies/uqbt/index.html. * [[http://www.experimentalstuff.com/Technologies/Walkabout/index.html][Walkabout]]. This is a dynamic version of UQBT, i.e. it is a dynamic Binary Translator. The dynamic parts were developed at Sun Microsystems. The source code for Walkabout has been released under a BSD-like license. In fact, UQBT is released as part of Walkabout now. * Lucent Technologies' [[http://www.chips.ibm.com/products/ppc/Developers/Tools5/sgdt_x22.htm][FlashPort]] multi-platform translation services. * Digital's translators * The hybrid translator [[http://www.support.compaq.com/amt/fx32][FX!32]] runs x86 Win32 applications on Windows NT Alpha systems. Discontinued. * [[http://www.support.compaq.com/amt/freeport][FreePort Express]] Translates SunOS 4.1.x binaries to Alpha AXP binaries. Still available in 2001. * [[http://www.support.compaq.com/amt/tools/migrate-cover.html][Alpha Migration Tools]] * Richard Gorton's [[http://www.complang.tuwien.ac.at/nino/cs/gorton.txt][Usenet postings about FreePort Express]] (2 postings, text) * The [[http://www.research.compaq.com/wrl/projects/om/om.html][OM and ATOM]] projects on binary modifications, from the former Digital Research Labs. * [[ftp://vorlon.mit.edu/pub/ardi/executor-faq.html/index.html][Executor]] Macintosh emulator for DOS, WIndows, OS/2, Linus and NextStep. * [[http://www.uruk.org/emu][Emulation Software R&D WWW Page]]. Last updated 1997. * [[http://www.cs.washington.edu/research/compiler/papers.d/shade.html][David Keppel (aka Pardo)]] Shade Simulator. Shade is a way of instrumenting Sparc binary files, and collecting all sorts of data. Shade is still available, and even has VIS 3.0 and 64 bit support now. See http://wwws.sun.com/software/download/products/3ff9c026.html (referenced Dec 2004). * [[http://www.wxwindows.org][wxWindows]] is a free C++ multiplatform GUI toolkit. * IEEE "[[http://www.computer.org/computer][Computer]]" article on the [[http://www.computer.org/computer/co1994/r5092abs.htm][Public Windows Interface]] concept. This may have fallen into disuse. * The [[http://www.winehq.com][Wine Project]] is a cleanroom implementation of the Win32 and Windows 3.1 APIs, using X and Linux for the core operating system functionality. There is no translation here; Wine only works on an X86 machine running Linux. In a sense it's complementary to binary translation; binary translation emulates the processor, but something like Wine emulates the operating system. * [[http://research.sun.com/self/compiler.html][Compiler technology]] developed for Sun's [[http://research.sun.com/self][Self]] system. * [[http://fabrice.bellard.free.fr/qemu/][QEMU]] is a FAST! processor emulator using dynamic translation to achieve good emulation speed. * [[http://www.cs.man.ac.uk/apt/projects/jamaica/tools/PearColator/][PearColator]] is a dynamic binary translator; providing _"optimizing compiler fast PowerPC emulation, using the Jikes RVM as a dynamic binary translator (DBT)"_. Remarkably, it is written in Java, and runs under the JVM (not natively compiled). _Still under development but already runs a number of applications._ * [[http://pearpc.sourceforge.net/about.html][PearPC]] is an architecture-independent PowerPC platform emulator capable of running most PowerPC operating systems. Runs on little endian (e.g. Pentium) Linux and Win32 platforms. ----- CategoryBinaryTranslation