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.
Nonpareil is a microcode-level simulator for HP calculators introduced between 1972 and 1982, including the HP-35, HP-45, HP-55, HP-25, HP-34C, HP-38C, HP-41CV, HP-11C, HP-12C, HP-15C, HP-16C, and other models. The necessary microcode is included, as is a microcode assembler. The GTK+ toolkit is used for the user interface.
J51 is a Intel MCS51 emulator with all the standard integrated peripherals. A disassembler with an integrated debugger is also included. Standard peripherals emulated are Timer 0/1 (Mode 0, 1, 2, and interrupts), serial interface in polled and interrupt mode, standard I/O, and ports 0 to 4. Microprocessors emulated are the Intel MCS 8051 (no peripherals), Intel 8051, Intel 8052, Philips LPC674, and Philips LPc900.
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.
TinyaML is a virtual machine, a compiler, and a compiler- compiler, powered by the abstract parser tinyap. It is endian-safe and allows easy bindings of new C APIs into the virtual machine. The VM executes wordcode with a virtual threading model and features a garbage collector. TinyaML allows the user to compile and run assembly code, or plug new grammars for higher-level languages into the parser and implement the methods to compile their ASTs.