{"id":20785513,"url":"https://github.com/folkertvanheusden/kek","last_synced_at":"2025-10-20T10:07:09.119Z","repository":{"id":38034415,"uuid":"471709766","full_name":"folkertvanheusden/kek","owner":"folkertvanheusden","description":"PDP-11/70 emulator","archived":false,"fork":false,"pushed_at":"2025-04-14T08:03:09.000Z","size":11779,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T08:33:12.455Z","etag":null,"topics":["esp32","pdp-11","posix"],"latest_commit_sha":null,"homepage":"https://vanheusden.com/emulation/PDP-11/kek/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/folkertvanheusden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["folkertvanheusden"],"patreon":"folkertvanheusden"}},"created_at":"2022-03-19T13:52:10.000Z","updated_at":"2025-04-14T08:03:13.000Z","dependencies_parsed_at":"2024-04-16T10:25:12.343Z","dependency_job_id":"97c9d83a-e845-40f4-ab02-0ba3ffd06892","html_url":"https://github.com/folkertvanheusden/kek","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folkertvanheusden%2Fkek","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folkertvanheusden%2Fkek/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folkertvanheusden%2Fkek/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/folkertvanheusden%2Fkek/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/folkertvanheusden","download_url":"https://codeload.github.com/folkertvanheusden/kek/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252516289,"owners_count":21760750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","pdp-11","posix"],"created_at":"2024-11-17T14:46:01.804Z","updated_at":"2025-10-20T10:07:04.084Z","avatar_url":"https://github.com/folkertvanheusden.png","language":"C++","funding_links":["https://github.com/sponsors/folkertvanheusden","https://patreon.com/folkertvanheusden"],"categories":[],"sub_categories":[],"readme":"KEK\n---\nKek is a DEC PDP-11 (11/70) emulator capable of running UNIX-v7.\n\nYou need to retrieve the git repository with the --recursive switch for the git command:\n\n    git clone --recursive https://github.com/folkertvanheusden/kek\n\nTo build for e.g. linux:\n\n    mkdir build\n    cd build\n    cmake ..\n    make\n\n    Required:\n    * libncursesw5-dev\n\nTo build for e.g. windows:\n\n    mkdir build-win32\n    cd build-win32\n    cmake -DCMAKE_TOOLCHAIN_FILE=../mingw64.cmake ..\n    make\n\n\nTo run an RK05 disk image:\n\n    ./kek -r filename.rk -R rk05 -b 2\u003e /dev/null\n\n\nTo run an RL02 disk image:\n\n    ./kek -r filename.rk -R rl02 -b 2\u003e /dev/null\n\n\nTo run an RP06 disk image:\n\n    ./kek -r filename.rk -R rp06 -b 2\u003e /dev/null\n\n\nTo run a tape image:\n\n    ./kek -T filename.bin -b 2\u003e /dev/null\n\n\nWhen 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.\nNote that UNIX 7 starts in single user mode first; press ctrl+d to switch to multi user (recognizable by the login-prompt).\nAlso 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).\n\n\nESP32\n-----\nThe ESP32 version needs platformio to be build.\n\n    cd ESP32\n    pio run -t upload\n    pio run -t uploadfs\n\nThat should build \u0026 upload it to a connected ESP32.\n\nWiring of SDCARD (or use disk-images exported via NBD over wifi using nbdkit (because of older NBD protocol implementation)):\n* MISO: 19\n* MOSI: 23\n* SCK : 18\n* SS  : 5\n* and of course connect VCC/GND of the SD-card\n\nHeart beat LED:\n* pin 25\n\nWiring of the MAX232 connection:\n* TX  : 17\n* RX  : 16\nNote that you need to use different pins for the MAX232 connection when you want to use the PSRAM of the ESP32.\n\n\nRaspberry PI PICO / RP2040\n--------------------------\nWiring of SDCARD:\n* MISO: 16\n* MOSI: 19\n* SCK : 18\n* SS  : 17\n* and of course connect VCC/GND of the SD-card\n\nThe RP2040 version needs platformio to be build.\n\n    cd RP2040\n    pio run\n\nThen copy RP2040/.pio/build/BUILD\\_FOR\\_RP2040/firmware.uf2 to the PICO.\n\n\nSHA2017-badge\n-------------\nThis procedure will remove the default micropython environment.\nMaybe you can undo that, but I have not tried that.\n\n* esptool.py erase\\_flash\n\n* pio run -e SHA2017-badge\n\n* 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\n\n* pio run -e SHA2017-badge -t upload\n\nAfter this, you can connect a serial terminal to /dev/ttyUSB0 at 115k2 bps.\n\n\nmore info\n---------\n\nFor more info: https://vanheusden.com/emulation/PDP-11/kek/\n\n\nthanks\n------\n\nThanks a lot to Neil Webber for his help and for his python PDP emulator (which allowed me to compare disassembly of runs).\nNeil's emulator can be found at https://github.com/outofmbufs/python-pdp11-emulator\n\n\nKek is released under MIT license.\n\nFolkert van Heusden\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolkertvanheusden%2Fkek","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffolkertvanheusden%2Fkek","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffolkertvanheusden%2Fkek/lists"}