Emulation Software R&D WWW Page
It has been stated by many people that as time goes on it will become
increasingly possible to run most any software package on any OS on
any hardware platform, and that eventually this will be considered
standard fare. This WWW page is dedicated to that ideal.
The primary focus of this WWW page is information on implementation and
research in "interesting" CPU and OS emulators. By that I mean that
there is something I find novel or just intriguing about it, and that
is entirely my subjective opinion. Many PC, Some Mac, a few UNIX,
and a few other emulators (in progress or completed) are listed
specifically, but links are listed which will go either directly or
one hop away from most of the emulator information and resources I know
of on the net.
The WINE project is a good example of a nearly "pure" OS emulator, in that
it runs the executable code natively (using a different mode of operation
of the 80[345]86 CPU chip), but needs to translate the
API calls from one OS to another, and handles a different executable
format.
The Apple PowerMac OS (for the new line of PowerPC Macintosh machines)
performs 68K emulation with very little OS emulation, so it could
probably be considered a "pure" CPU emulator.
Last updated: Fri 9:00 7/4/1997.
Research/Development/Papers/Info
Related topics such as byte-codes, CPU-description formats, and CPU
simulation is touched upon here as well.
- comp.emulators.misc FAQ
-- FAQ for the comp.emulators.misc USENETnewsgroup. A lot of interesting
and useful information here, and probably the major hangout for good
software emulator info on the USENET.
- Computer History and
Emulation Homepage -- A listing of older machines/game consoles,
history about them, and emulators for running their software/games on newer
general-purpose computers. Lots of good information here too.
- Retargetable
Binary Translation -- Some research going on at the University of
Queensland about binary translation and emulation. Another project at the
same place (and done by some of the same people) is the
DCC Decompiler,
which is of interest for machine code analysis if nothing else. Finally,
the list of references they have is surprisingly similar, but instead
of fully copying it, I'll simply place a link to their page for
Work on
Binary Translation.
- Details on the Tao
Operating System -- Information on the Taos Operating System
and how it works.
- NJ Machine-Code
Toolkit -- A toolkit for producing assemblers, disassemblers, code
generators, debuggers, etc. using generic machine descriptions.
- Executor Internals:
How to Efficiently Run Mac Programs on PCs -- ARDI's paper describing
their techniques for emulating 680x0 Mac software on Intel x86 CPUs, used
for their Executor product.
- Papers/Info from DEC's
Alpha Migration Tools
group:
Technical
Introduction to Digital FX!32,
Alpha-based
emulation (some info on DEC's binary emulation technology for
running VAX and MIPS executables on Alpha machines), and
Details on Binary
Translation with some info on FreePort Express, a posting from
Richard Gorton, one of the Alpha Migration Tools guys at DEC.
- The WINE project --
has lots of information for interested parties and would-be
developers. All are encouraged to join in, since it is a freeware project.
- TIBBIT
Home Page -- The "Timing Insensitive Binary to BInary Translation"
project home page.
- Archelon's Retargetable Toolset --
Archelon, Inc. has a retargetable compiler/assembler/linker set which
(as far as I can tell) only needs a few description files to build the
back end for a new CPU.
- Embra -- A CPU
simulator which uses dynamic binary translation to achieve good
performance while maintaining detailed simulation accuracy.
- Binary
Translation Page -- at CMU, yet another list, part of which is
interesting because of the papers listed there.
- David
Keppel's (aka "Pardo") "papers" list -- some info related
to binary emulation.
Implemented systems
Implemented here means code exists. The project may be in any state from
running small examples only (such as WINE) to being very complete
(such as Apple's PowerMac OS).
- 68K Macintosh Emulators
-- WWW page for 68K Macintosh emulators.
- 80x86 PC Emulators
-- WWW page for 80x86 PC emulators.
- Digital's
Alpha Migration Tools Web Page
-- Digital's generic link page listing their emulator technology
products (several are listed). The
DECMigrate
page lists VAX and MIPS emulator technology for running VAX and
MIPS (hardware), VMS and Ultrix (OS and binary format), executables
on DEC's Alpha machines. The
FreePort
Express page lists a binary translator converting SPARC
SunOS to Alpha OSF/1 executables. The
FX!32 page lists
a VERY high performance translator/emulator for
running x86 Windows NT executables on Alpha
machines running Windows NT (also mentioned on the x86 PC page listed
above).
- FlashPort
-- A Multiplatform translation/emulation framework. Produced
by Lucent Technologies Bell Laboratories.
- Tao Systems -- The Tao operating
system is designed in a manner which is machine architecture independent
for all but the kernel and hardware drivers, and small enough to run in
embedded systems. Very interesting stuff.
erich@uruk.org
Back to my Home Page.