Thanks a lot to Neil Webber for his help and for his python PDP emulator (which allowed me to compare disassembly of runs). Neil's emulator can be found on github.
speed
Its speed is around 0.5% (takes almost 9 minutes to boot to single user mode) on an ESP32 and around 700-1500% on a Threadripper 1950X (boots in less than a second). Multi-user UNIX 7 requires either an ESP32 with 2 MB PSRAM or a posix system like Linux.
Kek (09c0f58) runs at 37.4% of the speed compared of open simh 4.1-0 (aea26349) - both running on the ThreadRipper 1950X (benchmark: test.c which is an adaption of this program).
how to use it
Most things can be configured via the commandline. Run "kek -h" to see a list of commandline switches.
In the console (run kek with -d), there's on-line help available by entering "help" (+ enter).
Kek can create snapshots. That way you can restart the emulated system exactly from the point you snapshotted it. Enter "ser filename" in the console/debugger for that. Afterwards kek can be (re-)started with "kek -D filename". Note: kek must be started with the -P switch for this to work (=create disk snapshots).
pictures
Running on an ESP32 connected to a real VT510 terminal.
In this photo it (old version of kek) runs the XXDP diagnostics software. It booted over the network using the NBD protocol (this is a convenience feature of the emulator).
Running on Linux (should run also on *BSD and microsoft windows systems):
Also a 'SHA2017 badge' is capable of running this emulator:
Test setup: Wemos32 with a card-reader and a serial port and a led ring (which simulates the panel):