The goal of this project was to write an emulator for a retrocomputing machine of yore. I settled on the DEC PDP-11.
Why did I choose it?
For mostly lame reasons. I like the front panel (cool 70s color
scheme) and it's word size is 16-bits (fits in a unsigned short,
but it's byte addressable so unsigned char (or
uint8_t)).
It's been through a few iterations so far.
It started life written in C, as a monolithic program not targeting
any specific PDP-11 version/processor.
I rewrote it in C++ with threads (to handle a naive bus
implementation) and ncurses (for console display fun).
I'm currently rewriting it in C as a modular (devices are individual
programs) thing, with the eventual goal of targeting a PDP-11/40 (KD-11A
processor with FP11 (floating point processor) and KT-11D memory management
option).