Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/folkertvanheusden/kek

PDP-11/70 emulator
https://github.com/folkertvanheusden/kek

esp32 pdp-11 posix

Last synced: 3 months ago
JSON representation

PDP-11/70 emulator

Awesome Lists containing this project

README

        

KEK
---
Kek is a DEC PDP-11 (11/70) emulator capable of running UNIX-v7.

You need to retrieve the git repository with the --recursive switch for the git command:

git clone --recursive https://github.com/folkertvanheusden/kek

To build for e.g. linux:

mkdir build
cd build
cmake ..
make

Required:
* libncursesw5-dev

To build for e.g. windows:

mkdir build-win32
cd build-win32
cmake -DCMAKE_TOOLCHAIN_FILE=../mingw64.cmake ..
make

To run an RK05 disk image:

./kek -r filename.rk -R rk05 -b 2> /dev/null

To run an RL02 disk image:

./kek -r filename.rk -R rl02 -b 2> /dev/null

To run an RP06 disk image:

./kek -r filename.rk -R rp06 -b 2> /dev/null

To run a tape image:

./kek -T filename.bin -b 2> /dev/null

When you run UNIX 7, you can (if your system has enough RAM - use an ESP32 with 2 MB PSRAM or more) run multi-user via the DC-11 emulation.
Note that UNIX 7 starts in single user mode first; press ctrl+d to switch to multi user (recognizable by the login-prompt).
Also make sure to configure networking ('startnet') to be able to connect (using telnet) to the DC-11 ports (TCP port 1101 upto and including 1104).

ESP32
-----
The ESP32 version needs platformio to be build.

cd ESP32
pio run -t upload
pio run -t uploadfs

That should build & upload it to a connected ESP32.

Wiring of SDCARD (or use disk-images exported via NBD over wifi using nbdkit (because of older NBD protocol implementation)):
* MISO: 19
* MOSI: 23
* SCK : 18
* SS : 5
* and of course connect VCC/GND of the SD-card

Heart beat LED:
* pin 25

Wiring of the MAX232 connection:
* TX : 17
* RX : 16
Note that you need to use different pins for the MAX232 connection when you want to use the PSRAM of the ESP32.

Raspberry PI PICO / RP2040
--------------------------
Wiring of SDCARD:
* MISO: 16
* MOSI: 19
* SCK : 18
* SS : 17
* and of course connect VCC/GND of the SD-card

The RP2040 version needs platformio to be build.

cd RP2040
pio run

Then copy RP2040/.pio/build/BUILD\_FOR\_RP2040/firmware.uf2 to the PICO.

SHA2017-badge
-------------
This procedure will remove the default micropython environment.
Maybe you can undo that, but I have not tried that.

* esptool.py erase\_flash

* pio run -e SHA2017-badge

* esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default\_reset --after hard\_reset write\_flash -z --flash\_mode dio --flash\_freq 80m --flash\_size detect 0x1000 ./.pio/build/ESP32-wemos/bootloader.bin

* pio run -e SHA2017-badge -t upload

After this, you can connect a serial terminal to /dev/ttyUSB0 at 115k2 bps.

more info
---------

For more info: https://vanheusden.com/emulation/PDP-11/kek/

thanks
------

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 at https://github.com/outofmbufs/python-pdp11-emulator

Kek is released under MIT license.

Folkert van Heusden