From LinuxMIPS
Revision as of 06:42, 2 February 2006 by Alec v (talk | contribs) (See also)
Jump to: navigation, search

Emulators are software that allow to emulate a MIPS processor and eventually other devices, such as timers, serial ports, hard drives.


is fairly complete as it can run NetBSD, FreeBSD, OpenBSD, Linux and Ultrix. It can emulate a wide range of processors (R2000, R2000A, R3000, R3000A, R6000, 4K, R4000, R4000PC, R4300, R4400, R4600, R4700, R8000, R10000, R12000, R14000, R5000, R5900, TX3920, TX7901, VR5432, RM5200, RM7000, RC32334, 5K, BCM4710, BCM4712, AU1000, AU1500, AU1100, SB1, SR7100) as well as a wide range of systems (ARC machines, Playstation 2, DECstation, Cobalt, Malta, MeshCube, hpcmips, Sony NeWS, SGI machin, Netgear box, Linksys WRT54G). However, the best supported machines are DECstation/DECsystem machines and MIPS Malta. "hpcmips", Sony NeWS, MeshCube, NetGear WG602, and Linksys WRT54G are only skeletons. The author releases updates every month or so. The GXemul homepage is at http://www.gavare.se/gxemul .


models hardware similar to that of machines sold by Silicon Graphics, Inc. and Digital Equipment Corporation. The key component of such machines is the CPU, and SimOS currently provides models of the MIPS R4000 and R10000 and Digital Alpha processor families. In addition to the CPU, SimOS simulates caches, multiprocessor memory busses, disk drives, ethernet, consoles, and other devices commonly found on these machines. By simulating the hardware typically found on commercial computer platforms, porting existing operating systems to the SimOS environment is easy. IRIX 5.3, 6.4 and Digital UNIX have been ported; an Alpha port of Linux is being worked on. The project, which is hosted at http://simos.stanford.edu, seems to have been active in the 1998-2001 timeframe. Nothing new has been added since then and the overall status of the project is uncertain.


Sulima is an instruction set architecture (ISA) simulator, originally designed as a research and teaching tool for internal use by the Distributed Systems Group at the University of New South Wales. The documentation is sparse but refers to the use of gcc-2.95 which indicates a very old project. The Sulima homepage may be found at http://www.ertos.nicta.com.au/software/sulima/.


MipsSim is a MIPS emulator for the Topsy educational operating system. It's a fairly simple emulator, written in Java, that emulates a R3000 processor. This project seems to be quite old and inactive (the emulator needs some modifications to compile with recent JDK). The MipsSim homepage used to be at http://www.tik.ee.ethz.ch/~gfa/MipsSim.html but that link is now dead.


SPIM (which is just MIPS spelled in reverse) is a fairly simple R3000 emulator. It works by interpreting MIPS assembler source code and thereby avoids binary "complications". It seems most suitable for learning the basics of MIPS assembly language. SPIM used to be available from http://www.cs.wisc.edu/~larus/spim.htm, but that link is now dead. A search of the University of Wisconsin's Computer Sciences website retunrs no hits for SPIM so perhaps they have abandoned it.


is an R3000 emulator. VMIPS comes with a few standard devices: SPIM-compatible console device, Standard clock device, Halt device and DECstation 5000/200-compatible devices. VMIPS isn't updated that often (the last update was in January of 2005) but the author does maintain it and has a mailing list (not too active) for news. VMIPS is written in C++ and is extensible since the object-oriented way in which it is written makes it easy to understand and modify. The VMIPS documentation is well-written. Developing new devices for VMIPS is straightforward. The VMIPS homepage is located at http://www.dgate.org/vmips/.


was developed by Institute of Computing Technology (ICT) of the Chinese Academy of Sciences and is derived of VMIPS. Like VMIPS it simulates a R3000-based system. SandUPSim's homepage can is located at http://www.ncic.ac.cn/~hpcog/homepage/SandUPSim.


MPS is an R3000 emulator. English documentation is available only as a PostScript file. MPS is available at http://www.cs.unibo.it/mps/


Yet Another MIPS Simulator, plus some hardware emulation to run NetBSD. YAMS is available at http://www.niksula.hut.fi/~buenos/yams.html.


MAME is a Multi Arcade Machine Emulator, a program that emulates the hardware (and low-level firmware) of a massive variety of arcade machines. MESS is a Multi Emulator Super System, an emulator for the hardware of many different games consules (e.g. Sega, NES, SNES, etc.)

The official site of the MAME development team : http://www.mamedev.com/ . There is a port to the X/Unix: XMAME.

Among others MAME emultates a MIPS R3000, MIPS-III /IV and Sony PSX CPUs. Emulated systems includes Atari/Midway Phoenix/Seattle/Flagstaff consoles (which based on the R4700/R5000 and Galileo GT-64010), Sony consoles and SGI Indy and Indigo.


MISSE, the MIPS Instruction Set Simulator Environment is available from http://www.abo.fi/~jkniivil/misse.

Cisco 7200 Simulator

is an emulator of a Cisco 7200 router. The software emulates a R4600 CPU and some of the peripherals of the Cisco 7200 (Galileo GT64010, DEC Tulip 21140, DEC 21050, ...). This emulator is actively maintained. A new Release was made available in Janyuary of 2006. There is a good deal of emphasis on emulating network devices, as you might expect with a Cisco emulator. The Cisco 7200 Simulator homepage is located at http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator.

See also