Emma the Emulator is a generic 16-bit CPU emulator written as an educational tool. It supports a basic instruction set, has two registers and a program counter pointing to a heap structure which can be resized at compile time, and has a basic stack (not linked to the heap in any way), a flag register, and an internal "error number" for debugging purposes. There is also a "debug" mode which adds a lot of runtime debugging information and causes the program to sleep for 1 second between operations.
halttimer waits for LIRC events or SIGUSR1 and sets a timer which will initiate the shutdown sequence (via "sudo halt" by default) when the time is up. The timer's timeout decreases with each keypress by a specified amount of time. Visualization is done using an on-screen-display (OSD).