This is an Synacor challenge emulator. It is complete.
make (gmake on BSD) will build the emulator, synacor-emu.
Invoke synacor-emu <romfile>.
Use the -t=TRACE_FILE option to synacor-emu to log a binary trace of all
instructions executed to TRACE_FILE. Use the -x flag to dump in hex format
instead of binary.
Send a USR1 signal to the emulator to save the current machine state to
"synacor.save." Restore a saved machine state with the -r flag, like:
synacor-emu -r foo.save.
cemeyer/synacor-emu is released under the terms of the MIT license. See LICENSE. Basically, do what you will with it.
Most of the emulator lives in main.c; instruction implementations are in
instr.c. There are instruction emulation unit tests in check_instr.c.