JBit is small Java application for mobile phones (MIDlet) that gives you a programmable 8-bit microcomputer. With JBit, you can edit, save, run, and debug assembly (6502) programs directly on your phone. You can also develop a 6502 assembly application on your desktop and install it on any MIDP-enabled device.
KMD is a multi-processor debugger. It can debug with hardware boards over serial ports or with software emulators (ARM and MIPS emulators are included in the project). Using the pipe option you can debug over the network or any other communication medium. It can load many executable formats such as ELF, and display and follow the original source even from multiple source file programs. There is support for breakpoints and watchpoints which can trap on specific data (such as loading or executing specific instructions). Support for other features such as FPGA's is also available, allowing loading or any control required to drive a specific hardware device. The project uses chump to allow disassembly and line assembly. Chump also allows new architectures to be easily added without the need to recompile the system. Communication with the backend is done using two pipes/fifos using a simple set of codes. Back end communication program can be created using very little memory on the target device.
Turing Machine (C++ Implementation) is a Turing machine simulation that is defined by a series of input files. These include a metafile containing data related to some Turing machine, a states file containing a list of initial, halting, and internal states, an alphabet file of empty, input, and internal symbols, a transition file of transition rules, and input word files, which detail the input given on a tape.
Yet Another Machine Simulator (YAMS) is a simple yet realistic machine simulator, which is mainly aimed for teaching purposes on operating systems courses. It simulates one or more MIPS32 CPUs and I/O devices such as disks, terminals, and network cards. Additional devices can be implemented as separate programs that use its I/O plugin interface. The device properties are very configurable. High performance was not a priority factor in its implementation since the main purpose is educational, so YAMS is not an answer for people looking for a fast MIPS emulator/simulator.
spim is a self-contained software simulator for running R2000/R3000 assembly language programs. It reads and can immediately execute files containing assembly language code. spim also provides a debugger and simple set of operating system services. spim provides both a simple, textual interface and a fancier, graphical interface. The package includes complete source code and documentation.