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

https://github.com/isysxp/esp32_11_ffs_24

A PDP 11/24 running Ultrix 3.1 from flash on an ESP32S3
https://github.com/isysxp/esp32_11_ffs_24

esp32 pdp11 ultrix unix

Last synced: about 2 months ago
JSON representation

A PDP 11/24 running Ultrix 3.1 from flash on an ESP32S3

Awesome Lists containing this project

README

          

# ESP32_PDP11_FFS - A PDP11/24 with RL02 disk in flash. - Ultrix 3.1


This is a modified version of a PDP11/40 emulation at https://github.com/Isysxp/PDP11-on-the-M5-Core

This app requires an ESP32 processor with at least 8Mb of PSRAM.

The current build is targeted for the ESP32S3 Dev Module clones eg: ESP32 S3 DevKitC 1 ESP32 S3 WROOM1 N16R8 Development Board.

This provides a complete PDP11/24 (22 bit adressing + FPU) with an OS on a quite a small module.

Ultrix 3.1 is quite a sizeable OS to cram onto a single RL02. However, most of the commons apps are installed including vi, c and F77.

The build enviroment is for the current Arduino IDE V 2.3.1 or the VisualMicro plugin for Visual Studio.

The critical libraries required are:

ESPTelnetStream (https://github.com/LennartHennigs/ESPTelnet)

and Espressif Arduino-esp32 (https://github.com/espressif/arduino-esp32) V 2.0.17.

Disk images: I have included a 'reasonably' complete build of Ultrix 3.1 on an emulated RL02 drive in the data directory.

This can be loaded into the Flash File System as a FAT image. The upload tool can be found

in either Arduino IDE 1.8 or via the VisualMicro plugin for Visual Studio and by default uploads the contents of the data directory as above.

You will probably need to find and install the mkfatfs untility see: https://github.com/labplus-cn/mkfatfs/releases.

The app provides 1 telnet stream linked to a DL11 serial port mapped at 2 Unibus addresses: 0775610 and 0776500 Vector:0300.

This has been sysgened into the Ultrix kernel as a remote TTY.

(Do not try to use both at once!)

Change the SSID and Password in ESP_Telnet.cpp to match your router.

The root login does not need a password. There is a user account niss1 PW:dodk5133 ... contains example programmes.



Ian Schofield April 2024



Note: Select ESP32 Dev Module with config:

CDC on boot: disabled

Flash size: 16Mb

PSRAM: OPI PSRAM

USB mode: Hardware CDC and JTAG

Upload mode: UART0

Partition scheme: 16M flash (2MB app / 12.5MB FATFS)

Please use ESP-IDF release 3.1.3.
In addition, you will need to change the c standard in C:\Users\\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.3\platform.txt

from -std=gnu++11 to -std=gnu++17 to allow for template objects.


NB: Change the SSID and Password in ESP_Telnet.cpp to match your router.

NNNNNB: I strongly suggest you read up about Ultrix 3.1. This was the last of the none split I/D PDP11 operating systems.

Also, you will need to solder a bridge on the top of the board marked 'RGB' then when the blue LED flashes you can rest assured that your flash is being trashed!!!!


Ian Schofield March 2025