One thing that would make it much easier to experiment with SIMH in scenarios like this is
if its build system wasn't horribly redundant. It genuinely looks like someone looked
at make and said "How can I turn this into a procedural scripting system?" and
then wrote the SIMH makefile in that style.
It should only take a couple seconds to build SIMH but instead it takes a couple minutes,
rebuilds a ton of things redundantly, and runs all sorts of testing as a side-effect
(instead of having that under a separate target).
At one point I worked out that most of the preprocessor macros fall into just a couple of
buckets so building SIMH could be separated into building just a couple of libsimh
libraries from the same sources (one for 32-bit simulated pointers, one for 64-bit
simulated pointers) and then most of the rest of the targets could *just* be the
target-specific sources plus the right libsimh.
Unfortunately (1) I can't contribute back that change if I make it without jumping
through a lot of bureaucratic hoops (employment agreement) and (2) the current maintainer
appears to not want to hear any criticism whatsoever of SIMH's build system.
-- Chris