¿Cómo emulo un procesador de texto DEC WPS-8 en Ubuntu?

El Coronel Juan Perón ofició en la cátedra de Historia Militar en la
Escuela de Guerra, claustro donde destacó por sus apreciaciones y
estudios. Dentro de las exposiciones realizadas se encuentra la
enseñanza para emular el procesador de texto WPS-8, primigenio software
de la DEC PDP-8.


¡Señores!

Lo que define el comienzo de la historia no es otra cosa que el poder
describirla. En otras palabras, desarrollar el almacenamiento del saber
a través de los tiempos en forma escrita. Al inventar los símbolos
gráficos, los ideogramas y los primeros palotes o logogramas, y de la
creación de los lenguajes e idiomas con su consecuente traducción e
interpretación, nos permitimos conocer las ideas que movieron a los
hombres en los tiempos de Nabucodonosor y de Darío.

No bien el hombre pudo escribir, quiso saber como simplificarlo, como
poder hacer que su medio de escritura durase más, cómo pudiese ser
transmitida en lugar y tiempo de manera más confiable. Las distintas
culturas no tuvieron más opción que cuidar su acerbo y acrecentar el uso
de los distintos sistemas alfabéticos que les resultaban preferidos. Hoy
los utilizamos de manera refinada, y continuaremos expandiéndolos.

Nos encontramos en plena etapa de la digitalización, pero el resultado
(con independencia del método de almacenamiento que nos depare la
computación binaria) no deja de circunscribirse a las palabras y las
letras. Todos los idiomas que se precien cuentan entonces con sus
literatos y sus poetas, y no habrá cambio tecnológico que no opere sino
como fatuo medio de expresión del alma de los hombres. Dentro de esta
esquematización, se presenta como válida la posibilidad Justicialista de
operar uno de los primeros sistemas de escritura digital pensados para
su uso comercial, el DEC WPS-8.

El sistema WPS-8 sistema informático integrado destinado al
procesamiento de texto digital, desarrollado en 1978 por la Digital
Equipment Corporation. Representaba la apuesta de la compañía al por
entonces novedoso concepto del procesamiento de textos a través de una
minicomputadora de bajo costo.

Para reducir los costos, esperaban competir con las microcomputadoras
que comenzaban a aparecer, de forma desorganizada, y que se esperaba
podrían lograr lo mismo.

Para lograr el WPS-8 se integraron componentes ya diseñados, como la por
entonces ya clásica arquitectura de minicomputadora PDP-8, y la
videoterminal DEC VT52, así como chips de memoria RAM ya superados para
ese momento. Los ingenieros de la DEC integraron una versión TTL LSI de
la PDP-8 en el espacio vacante del gabinete de una vieja terminal tonta
VT52, y llamaron a la nueva terminal inteligente resultante "VT78". La
PDP-8 tenía esta vez un un procesador Intersil/Harris 6100 con una
potencia nominal de 4Mhz, pero que hubo de ser reducida a 2,2Mhz en
vista de la baja velocidad de los 16 Kwords de la superada memoria RAM
que le habían adosado.

El sistema WPS- 8 se vendió entonces en distintas configuraciones de
hardware (denominadas WS por "Word Stations").  Por ejemplo la WS78
estaba formada por la VT78, conectada a un almacenamiento de masa
formado por una o dos unidades de diskettes RX1 de 8 pulgadas, junto con
el software "WS78 v3.4". Al adosarle una impresora "tipo margarita", el
sistema WPS-8 permitía en esa época hacer edición WYSIWYG, procesar
letras en negrita o subrrayados, y demás opciones que hoy son
tradicionales en los procesadores de texto.

También existieron versiones con muebles de trabajo mas grande (WS100) o
capacidad multiusuario (empleando dos terminales VT78). El sistema no
evolucionó mucho; existió otro llamado WPS-11 que utilizaba ya las
PDP-11. Creación de la máquina virtual de emulación

Ya he indicado cómo hacer una emulación de diversos miniordenadores DEC
por medio del emulador múltiple SIMH. Estos pasos previos me permite
emular una DEC PDP-8i de 1970 con su respectivo panel virtual. Asumiendo
que ya he hecho lo indicado, podré configurar ahora una máquina virtual
de emulación especialmente tratada para emular el clásico WPS-8.

Para ello abro una terminal con Ctrl+Alt+T e ingreso los siguientes
comandos de organización:

cd ~/.simh/panelsim/
nano wps.sh

Esto abrirá el editor GNU Nano con un archivo en blanco llamado wps.sh,
al cual utilizaremos como ejecutable para el emulador de la WPS-8. Para
que cumpla tal función le pegaremos el siguiente texto, que conforma los
comandos de arranque:

# Arrancar una PDP-8/I ejecutando WPS8
/_launch.sh "blinkenbone.panelsim.panelsimPDP8I.PanelsimPDP8I_app" "--width 1000 --power 1" pdp8i pdp8_realcons wps.simh_pdp8
248-blinkenbone-simulated-pdp8i-panel

..una vez introducido dicho texto, guardaré el archivo con Ctrl+o y
saldré del editor GNU Nano con Ctrl+x.

Como segundo paso descargaremos a nuestro sistema las imágenes de los
diskettes del programa WPS, en su versión 3.4. Para ello introducimos en
nuestra terminal los siguientes Comandos de Organización:

cd ~/.simh/panelsim/pdp8i/ ;
chmod -x *.pdf ;
wget https://raymii.org/s/inc/downloads/pdp/wps78v3.4.rx01 ;
wget  https://www.pdp8online.com/ftp/images/wps/wps-8-doc.rx01
chmod +x wps78v3.4.rx01 wps-8-doc.rx01

En tercer lugar crearemos la configuración para el emulador de WPS-8.
Ello lo haremos ingresando los siguientes comandos de organización:

cd ~/.simh/panelsim/pdp8i/ ;
nano wps.simh_pdp8

..esto nos creará un archivo en blanco llamado wps.simh_pdp8. Al final
del mismo le agrego:

echo on

set cpu 32K
set cpu  noidle
set throttle 1m
set tto 7b
set console telnet=23
attach rx0 wps78v3.4.rx01
attach rx1 wps-doc.rx01
boot rx0
exit

set realcons host=localhost panel=PDP8I
; Para operar la PiDP8 de Oscar Vermeulen en una RPi con el hostname "raspberrypi":
; set realcons host=raspberrypi panel=PiDP8

; Como usamos una PC de escritorio con conexión al localhost: velocidad maxima!
set realcons interval=1 connect

; mostrar realcons

; Esperar 2M ciclos luego de iniciar, 100k entre caracteres.
send after=2000000,delay=100000,"VERSION\rDIR ADVENT.*\rR FRTS\rADVENT.LD\r\e"

boot rk0

..Guardo los cambios con con Ctrl+o y cierro el editor GNU Nano con
Ctrl+x. Finalmente le daremos permisos de ejecución con:

chmod +x wps.simh_pdp8
Ejecutar el emulador

Una vez que he realizado los procedimientos anteriores, ya habremos
configurado todo lo necesario para poder iniciar la máquina virtual de
emulación.

Para ejecutarla, en nuestra terminal ingresamos:

cd ~/.simh/panelsim/ ;
sudo ./wps.sh

El sistema nos solicitará nuestra contraseña de Conductor, y al
ingresarla "a ciegas" ejecutará la máquina virtual, y el panel de la
PDP-8i, quedando "a la escucha" de una llamada Telnet al puerto 23 de
nuestro sistema.

Para arrancar el WPS-8 emulado abrimos una nueva terminal con Ctrl+Alt+T
y ejecutaremos el emulador de terminal xterm con la vieja opción de
compatibilidad retrógrada para terminal DEC VT52. Esto se logra con el
siguiente Comando de Organización:

xterm -tn vt52 -ti vt52 -fs 16

..esto lanzará una nueva terminal de viejo aspecto (pues emula la
antigua DEC VT52. En ella ingresamos simplemente:

telnet localhost

..y nos conectaremos a la máquina virtual, finalmente ejecutando el
viejo y peludo WPS-8.


Lo primero que veremos será la pantalla inicial del WPS-8, en la cual
habremos de configurar la fecha y la hora en formato mm/dd/aa hh/mm,
pues la VT78 carecía de RTC (reloj de tiempo real). Una vez que lo
ingresemos, se nos presentará el menú principal del WPS-8. Sin embargo,
antes de utilizar el procesador de texto, debemos dar formato al
diskette virtual de documentos, instalado ya en la unidad de diskette
número 2 de nuestro WPS-8.

Para ello presionamos m seguido de enter (RETURN en la VT78 original)
para ver mas opciones de menú.

Una vez llegados a este menú, debemos ingresar al menú de Comandos de
Mantenimiento para diskettes ("Maintenance commands for diskettes").
Para ello presionamos mc y Enter.

Una vez dentro del menú de mantenimiento de diskettes, debemos
Inicializar un documento de diskettes (lo que formateará el diskette
virtual en nuestro emulador de WPS-8). Para ello presionamos d y Enter.

El proceso de formateado virtual inicializará los bloques (cada diskette
de datos cuenta con 615 bloques de datos). Luego debemos presionar Enter
nuevamente para revisar la estructura del documento. El sistema debería
indicar que todo está OK, y luego nos propondrá volver al menú
presionando la "tecla DORADA" (GOLD) y Menú.

Esto es importante pues para ir al menú debíamos presionar la "tecla
Dorada" del teclado de la terminal VT78, y luego la tecla M:

Naturalmente los teclados actuales carecen de esta "tecla Dorada". Para
reemplazarla debemos presionar F1 dos veces. En consecuencia, para
volver al menú principal, debemos presionar F1+F1+m.

Esto nos permite volver al menú principal. Una vez que estemos en este
y veamos estas opciones, indicaremos que queremos crear una nueva carta
o documento ("create a new letter or document") por medio de la tecla c
seguida de enter.

El WPS-8 nos solicitará a continuación que ingresemos el nombre que
queremos darle al documento. Puede tener unas 8 letras como máximo. Lo
ingresamos y presionamos Enter. WPS-8 nos permitirá entonces empezar a
escribir en el documento. El caracter L y R nos indican los márgenes
izquierdo y derecho, y la línea TOP nos indica la parte inicial o
superior del documento.

Al comenzar a escribir, el texto se desplazará de manera clásica como lo
hacen los procesadores de texto actuales. Naturalmente, no necesitamos
presionar Enter al finalizar cada línea, el WPS-8 las reorganizará
automáticamente. Es importante saber que la terminal original no tenía
las flechas del cursor, pero el sistema emulado permite simularlas para
desplazarnos en el texto. Para borrar el texto debemos usar
Esc+Backspace en el teclado actual, para simular la tecla rub chr out
("borrar caracter hacia afuera") de la videoterminal VT78. Para guardar
un archivo, debíamos usar la "tecla Dorada"+f. Actualmente debemos usar
F1+F1+f.

El sistema WPS-8 fue entonces una de las primeras opciones que llevaron
al público comercial la opción de la edición computada de textos, antes
de que aparecieran las microcomputadoras con paquetes para el sistema
operativo CP/M como el clásico WordStar, que replicaron esta experiencia
para los usuarios comunes.

Para salir del sistema emulado WPS-8 debemos utilizar el comando
específico. Volvemos al menú principal con F1+F1+m, y buscamos la opción
Finalizar el uso del sistema / "Finished using the System". La accedemos
ingresando f y Enter. El WPS-8 nos mostrará el siguiente mensaje: Tras
esto podremos cerrar la ventana el WPS-8 y las distintas ventanas de las
máquinas virtuales del emulador.

El manual oficial del sistema de procesamiento de texto DEC WPS-8 se
encuentra aquí.