26 june 2022
¿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 a partir de la creación de los lenguajes e idiomas con su consecuente traducción e interpretación, nos hemos permitido conocer las ideas que movieron a los hombres ya en los tiempos de Nabucodonosor y de Darío.
No bien el hombre pudo escribir, quiso saber cómo hacer que su medio de escritura durase más, cómo poder trasmitirlo 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 lo que llamamos digitalización, pero el resultado (con independencia del método de almacenamiento que nos depare el cómputo) 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 medio de expresión imperfecto 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 era un equipo informático integrado en 1978 por la Digital Equipment Corporation para el procesamiento de texto digital. 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 utilizaron componentes ya diseñados, como la ya por entonces clásica arquitectura de minicomputadora PDP-8, así como chips de memoria RAM para ese momento superados. 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 contaba esta vez con un un microprocesador Intersil/Harris 6100 con potencia nominal de 4Mhz, que hubo de ser reducida a 2,2Mhz en vista de la baja performance de los módicos 16 Kwords de la veterana memoria RAM adosada.
El sistema WPS- 8 se vendió entonces en distintas configuraciones de hardware (denominadas WS por "Word Stations"). Por ejemplo, la estación WS78 estaba compuesta por la terminal VT78 conectada a un almacenamiento de masa conformado por una o dos unidades de diskettes RX1 de 8 pulgadas, junto al el software "WS78 v3.4". Al conectarle una impresora "tipo margarita", el sistema WPS-8 permitía en esa época hacer edición WYSIWYG, procesar letras en negrita o subrayados, y demás opciones que consideraríamos normales en un procesador de texto.
También existieron estaciones con muebles de trabajo mas grandes (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 GNU con Linux 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 -fa 'DEC Modern' -fs 22
...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í.