Emulador de DEC PDP-8/E con ESP32-S3

Vamos a viajar atrás en el tiempo a la era de los microordenadores. Vamos a utilizar una placa basada en ESP32-S3 para emular un PDP-8 de Digital Equipment Corporation. En particular, por el alcance de la emulación, estaríamos trabajando sobre algo similar al modelo PDP-8/E.

Sobre el DEC PDP-8/E

A finales de los años 60, DEC se planteó el reto de convertir su exitoso PDP-8/I en un ordenador de propósito general. Para ello, este último se rediseñó de modo que se redujo su tamaño y se simplificó su arquitectura a partir del concepto de OMNIBUS, que permitía gestionar hasta 96 señales simultáneas a través de un bus, en lugar de las típicas conexiones punto a punto (wire-wrap) del modelo I.

A nivel de arquitectura HW, el PDP-8/E disponía de varias tarjetas de circuito impreso con lógica TTL que conformaban una CPU de 12 bits. Su RAM era de 4K palabras de 12 bits. Disponía de un vistoso panel frontal que permitía leer y escribir directamente en los registros y la memoria de forma manual.

Emulador

Utilizaremos como base el emulador PDP8-ES simulator de Edzelf que adaptaremos a una placa ESP32-S3.

Cambios en nuestro emulador

Se realiza cambios en el código original incluyendo:

  • Adaptación a perfil lolin_s3_mini.
  • Activado perfil de 4 MB.
  • Ajuste de tamaño máximo a 1 179 648.
  • Ajuste del toolchain para que compile adecuadamente.
  • Mejorado el parser del servicio Telnet para la interpretación de secuencias IAC.
  • Se deshabilita el OLED.
  • Se deshabilita el uso de SD.

Entorno e instalación del emulador

Elementos

Vamos a necesitar los siguientes elementos:

  • Placa WeAct Studio ESP32-S3-MINI.

Instalación

Nos basta con descargar el código fuente de GitHub.

$ git clone https://github.com/RafaGS/ESP32-s3-pdp8-simulator-lite.git

Si no hemos instalado aún PlatformIO, procederemos a ello:

$ paru -Ss platformio platformio-udev-rules

Entramos al directorio donde acabamos de descargar los fuentes del emulador del PDP-8.

$ cd ESP32-s3-pdp8-simulator-lite

Puesto que la gestión de nuestro PDP-8 la realizaremos vía Telnet, introduciremos las credenciales de nuestra Wi-Fi en el archivo config.h.

// config.h // Some definitions for the used hardware // Note that the flash size (4 or 16 MB) should be configured in platformio.ini! #define MEMBLOCKS 8 // Number of 4k memory blocks, max is 8 #define WIFI_SSID "ssid" // Enter your WiFi credentials here #define WIFI_PASSWORD "clave" #define TIMEZONE "CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" // Time zone Europe/Madrid #define OTA

Conectamos la placa al PC y procedemos a generar y subir los binarios.

$ pio run --target upload

Emulación

Una vez realizada la subida, automáticamente se inicia el emulador, al que accederemos vía Telnet. Al entrar nos aparecerá un mensaje de bienvenida del emulador y nos pedirá que pulsemos una tecla para continuar.

Welcome to PDP8 simulator running OS/8
Written by Ed Smallenburg


Press any key to continue...

Nos aparecerá un menú.

Escribiremos la opción DW, de modo que se descargue la imagen de las unidades RKA0 y RKB0.

Una vez finalizada la descarga, introduciremos la opción de menú BO, para que se inicie el sistema operativo OS/8. Aparecerá un sencillo prompt «.». Podremos introducir órdenes del sistema operativo como DIR o HELP.

También podremos arrancar alguna aplicación como BASIC.

.R BASIC

Desde el sistema operativo podremos crear archivos de texto y visualizar su contenido. PIP es el editor por defecto de OS/8.

Finalmente, podremos el el contenido de nuestro archivo de texto con TYPE.

#1970 #DEC #OS8 #WeActStudioESP32S3MINI

ネット中古は避けたい。アキバのどっかにMacOS8.6で確実に認識するネットワークHDD置いてある所ないかな

macOS 8.6対応のNASが軒並み販売終了になってる #NAS #MacOS8 #OS8 - げろみ日記 https://geromi.hatenadiary.org/entry/2025/06/20/085349

macOS 8.6対応のNASが軒並み販売終了になってる #NAS #MacOS8 #OS8 - げろみ日記

目的が手持ちのOS8.6のPowerBookG3に入ってるデータの退避なので macOS 8.6に確実に対応してないと困る しかし今出てるNasは軒並みOS8は対応から表示が外れてるのばっかしだ 運がよければ奇跡的に認識することもあるかもしれないけど、ソフトウェアがなぁ 1万円超えるもので賭け事はしたくない ストレージで中古は避けたいがもはやメルカリにあるやつしかないのか? バッファロー、Mac向けGbE対応NAS 2シリーズ・昔のPowerBookG3いじってたら探してたデータ郡が沢山でてきた - げろみ日記ランキング参加中雑談ランキング参加中雑談・日記を書きたい人のグループバッファロー B…

げろみ日記
GitHub - bbenchoff/MacSSL: A port of Mbed-TLS for the Classic Macintosh OS 7/8/9

A port of Mbed-TLS for the Classic Macintosh OS 7/8/9 - bbenchoff/MacSSL

GitHub
@lfa Um, it's an #OS8, but not the one for Mackertoshings. It's the PDP-8 tape/disk OS.

Further testing @elementary I am very happy I eventually could fix the annoying "hanging screen" bug, which was due to a bug of the #i915 graphics driver. Now the whole experience is a lot better thanks to the great hint of @mikael I only read by chance.
https://github.com/elementary/gala/issues/2023

Now I hope the remaining glitches of the very important #AppCenter and #SoftwareUpdates parts are fixed before release of #OS8, because they don't seem stable enough to me right now.

Thinkpad X280 and i915 driver: Screen freezes for seconds occasionally · Issue #2023 · elementary/gala

What Happened? Using the current OS 8 preview/daily, Wayland session, ThinkPad X280, Intel graphics, I observe a complete freeze of the whole screen (including the mouse pointer) for seconds. Durin...

GitHub

elementary OS 8 - le novità dal fronte sviluppo
#OS8 #elementaryos #linux #UnoLinux
Danielle Foré, fondatrice e CEO di elementary OS, ha da qualche giorno pubblicato sul blog ufficiale della distro, un nuovo aggiornamento riguardante elementary OS 8, la prossima major release di uno dei più interessanti progetti legati al mondo delle distribuzioni GNU + Linux.

https://www.marcosbox.org/2024/03/elementary-os-8-le-novita-dal-fronte.html

elementary OS 8 - le novità dal fronte sviluppo

Marco's Box, il pacco pieno di guide e notizie dal mondo dell’informatica, dei sistemi operativi GNU Linux e del software libero e open source.

If you had an #apple #powermac in the mid-late 90s, you probably remember the Gerbils! QuickDraw3D demo and its amazing synth rock soundtrack
#mac #retro #computers #macintosh #OS8

https://youtu.be/H8y-QT_Pt6E

Gerbils (1995) Game on Power Macintosh

YouTube

I can’t get my piscsi to play nice. I’ve messed with SCSI assignments of iso files, I’ve tried turning the power/termination switches off and on in different order.

This is as close as I get to seeing a cd image (emulated drives work fine)

#Retrocomputing #Macintosh #powerpc #powerbook5300 #OS8.1

I wrote a short series of help commands in #PunyInform for an #InteractiveFiction project. I wrote a short `intro` verb, a longer `help` document with the most common verbs needed to win the game, and a `stuck` verb that tells the user not to panic before advising on strategies for solving the puzzles.

I then decided to remap the StrongSub verbs over to my new StuckSub, so that it can catch anyone swearing at the game in frustration.

And yes, I included the #umdpdp12 #easteregg, where they found a command log of someone swearing at "this stupid chunk of germanium". I decided to make the help system replicate the #os8 error message in honour of this moment in #pdp12 #VintageComputing history.