118 lines
2.7 KiB
Markdown
118 lines
2.7 KiB
Markdown
KEK
|
|
---
|
|
Kek is a DEC PDP-11 (11/70) emulator capable of running UNIX-v7.
|
|
|
|
To build for e.g. linux:
|
|
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make
|
|
|
|
Required:
|
|
* libncursesw5-dev
|
|
* libjansson-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 -b 2> /dev/null
|
|
|
|
|
|
To run an RL02 disk image:
|
|
|
|
./kek -r filename.rk -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
|