vanheusden.com

A PDP11/70 emulator running on POSIX and ESP32 systems

It is capable of running UNIX 5 upto and including UNIX 7 in multi-user mode. Floating point emulation is missing but that'll change eventually.

Devices supported:

And of course 4 MB RAM, MMU and 11/70 CPU.

GitHub link: kek on GitHub

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):

Lolin S2 mini ESP32 running UNIX 7 with the included chess program:

videos

Old video showing it running UNIX 5 (in debug mode):

More recent video showing it booting UNIX 7:

Another more recent video showing it booting UNIX 7 and playing chess:

Multi user on an ESP32:




For contact info, see this page.