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.
asq is a simple frontend for MAME/emulator cabinets. It runs in a terminal window using curses, and pops up an optional screenshot window. It uses MAME/emulator keybindings so you can control your MAME cabinet using just your MAME controls. (In fact, this is where the name comes from--player 2 buttons 1, 2, and 3 are "asq".) It can also remap your games to use MAME keys. asq is meant for people who don't want to use a keyboard and have lots of games to manage.