PDP-11/70 emulator
Find a file
folkert van heusden 08362a2a20
micro opt
2023-03-27 21:12:30 +02:00
.github Add CodeQL workflow for GitHub code scanning 2022-12-05 19:10:52 +00:00
BIC BIC 2023-03-26 15:24:32 +02:00
ESP32 capture any exceptions 2023-03-27 20:08:47 +02:00
tests mfpi test 2022-04-11 19:09:16 +02:00
.gitignore meta 2022-06-11 08:37:05 +02:00
.lgtm.yml meta 2022-03-21 20:45:10 +01:00
btester.sh working on tester code 2022-03-13 11:53:32 +01:00
bus.cpp - make sure MMR1 is never updated when MMR0 is locked by moving the MMR0 2023-03-27 21:01:58 +02:00
bus.h "int" is 16 bit on an ESP32 2023-03-26 22:38:13 +02:00
CMakeLists.txt restructured 2023-03-27 13:02:46 +02:00
config.h compile mode where no logging is produced 2023-03-27 09:35:36 +02:00
console.cpp license 2023-03-26 21:47:42 +02:00
console.h restructured 2023-03-27 13:02:46 +02:00
console_ncurses.cpp license 2023-03-26 21:47:42 +02:00
console_ncurses.h license 2023-03-26 21:47:42 +02:00
console_posix.cpp WIN32 build 2023-03-27 12:52:15 +02:00
console_posix.h WIN32 build 2023-03-27 12:52:15 +02:00
cpu.cpp micro opt 2023-03-27 21:12:30 +02:00
cpu.h locking and iterating through queues is expensive so added flag that indicates if there is any interrupt pending 2023-03-27 09:26:10 +02:00
debugger.cpp "int" is 16 bit on an ESP32 2023-03-26 22:38:13 +02:00
debugger.h license 2023-03-26 21:47:42 +02:00
disk_backend.cpp license 2023-03-26 21:47:42 +02:00
disk_backend.h license 2023-03-26 21:47:42 +02:00
disk_backend_file.cpp WIN32 build 2023-03-27 12:52:15 +02:00
disk_backend_file.h license 2023-03-26 21:47:42 +02:00
disk_backend_nbd.cpp WIN32 build 2023-03-27 12:52:15 +02:00
disk_backend_nbd.h "int" is 16 bit on an ESP32 2023-03-26 22:38:13 +02:00
error.cpp - ESP32 compile fixes 2023-03-27 19:32:22 +02:00
error.h license 2023-03-26 21:47:42 +02:00
gcovr-json-diff.py coverage compare tool 2022-03-01 15:53:49 +01:00
gen.h license 2023-03-26 21:47:42 +02:00
kw11-l.cpp - ESP32 compile fixes 2023-03-27 19:32:22 +02:00
kw11-l.h license 2023-03-26 21:47:42 +02:00
LICENSE Create LICENSE 2023-03-26 21:51:02 +02:00
loaders.cpp license 2023-03-26 21:47:42 +02:00
loaders.h license 2023-03-26 21:47:42 +02:00
log.cpp restructured 2023-03-27 13:02:46 +02:00
log.h compile mode where no logging is produced 2023-03-27 09:35:36 +02:00
main.cpp WIN32 build 2023-03-27 12:52:15 +02:00
memory.cpp license 2023-03-26 21:47:42 +02:00
memory.h "int" is 16 bit on an ESP32 2023-03-26 22:38:13 +02:00
mingw64.cmake restructured 2023-03-27 13:02:46 +02:00
raw_to_simh_bin.cpp license 2023-03-26 21:47:42 +02:00
README.md license 2023-03-27 19:22:31 +02:00
rk05.cpp "int" is 16 bit on an ESP32 2023-03-26 22:38:13 +02:00
rk05.h license 2023-03-26 21:47:42 +02:00
rl02.cpp "int" is 16 bit on an ESP32 2023-03-26 22:38:13 +02:00
rl02.h license 2023-03-26 21:47:42 +02:00
terminal.cpp license 2023-03-26 21:47:42 +02:00
terminal.h license 2023-03-26 21:47:42 +02:00
tm-11.cpp license 2023-03-26 21:47:42 +02:00
tm-11.h license 2023-03-26 21:47:42 +02:00
tty.cpp license 2023-03-26 21:47:42 +02:00
tty.h license 2023-03-26 21:47:42 +02:00
utils.cpp restructured 2023-03-27 13:02:46 +02:00
utils.h license 2023-03-26 21:47:42 +02:00
win32.cpp restructured 2023-03-27 13:02:46 +02:00
win32.h restructured 2023-03-27 13:02:46 +02:00

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

To build for e.g. linux:

mkdir build
cd build
cmake ..
make kek

Required:
* libncursesw5-dev

To build for e.g. windows:

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

To run a disk image:

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

Kek emulates an RK05.

To run a tape image:

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

The ESP32 version needs platformio to be build.

cd ESP32
pio run -t upload

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

Wiring of the MAX232 connection:

  • TX : 17
  • RX : 16

Released under MIT license.

Folkert van Heusden