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.
Viable is a plugin for the Eclipse environment that provides an interface as similar to vi (specifically Vim) as possible while maintaining access to all the powerful features of Eclipse. It supports visual block mode, common normal mode actions, command line mode (including command line history), "window" splits and management, regular expression search and replacement, and external filters and commands.