Mostrando entradas con la etiqueta PDP-8. Mostrar todas las entradas
Mostrando entradas con la etiqueta PDP-8. Mostrar todas las entradas

martes, 23 de noviembre de 2021

¿Cómo emulo una PDP-8/I con TSS/8 en Ubuntu?

¡Trabajadores!

Para volvernos peritos en la Conducción de los hombres se requiere de un estudio concienzudo de la historia del Arte, que es el sentido práctico de toda esta biblioteca que me acompaña en el despacho.

Es que de lo antiguo hemos de aprender para proyectarnos en el futuro pues lo que funcionó en el pasado lo hará en el futuro si las condiciones son emuladas.

Decía Napoleón que un ejemplo suele aclararlo todo.

Vean señores, el TSS/8 fue un sistema operativo de tiempo compartido para la minicomputadora DEC PDP-8 diseñado originalmente por Adrian van de Goor, estudiante (graduado de la Universidad de Cornell Mellon) y luego mejorado y comercializado como sistema completo por la Digital Equipment Corporation a partir de 1968. 

Permitía a varios usuarios emplear esta máquina de 12 bits, pero con una cómoda terminal teletipo de manera local, o bien con un muy caro conmutador paralelo se podían utilizar terminales remotas gracias a los enlaces modulados por un acoplador telefónico.

El TSS/8 requería una PDP-8, 8/I u 8/E, pero potenciada con una interfaz paralela RP08 o DF32 asociada al menos a una unidad de cinta RS08 o de disco DS32 para tareas de intercambio y almacenamiento de masa. 

Si bien el panel de control de esta máquina podía tener un tamaño reducido al de una actual computadora de escritorio, lo cierto es que el avío completo dejaba en comparación chica y económica a una heladera Siam.

La distancia que pone el tiempo de evolución ha podido suplir estos aspectos con creces, y permite a todos los Descamisados el estudio del Arte. Nuestro sistema GNU con Linux puede ser adaptado - por genialidad maquinal - para emular todo tipo de máquinas, incluyendo la inefable DEC PDP-8/I. Para tal menester ha sido concebido el emulador SimH, capaz de dar rienda a todo este tipo de mainframes del ayer.

A esto me he aficionado, y os indicaré como hacerlo.

Instalación de TSS/8

En primer lugar habremos de preparar una estructura de directorios para mayor comodidad. Esta nos oficiará de banco de pruebas y laboratorio. En ella descargaremos una imagen ya realizada con el TSS/8, la cual antiguamente se comerecializaba por un par de docenas de miles de dólares, pero gracias al Justicialismo y a Miguel Miranda - que es un buen negociante - hoy la sacamos por cero chirolas. 

A tal fin abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente bloque de Comandos de Organización:

mkdir ~/.simh/ ;
mkdir ~/.simh/panelsim/ ;
mkdir ~/.simh/panelsim/pdp8i/ ;
cd ~/.simh/panelsim/pdp8i/ ;
wget https://raymii.org/s/inc/downloads/pdp/tss8_init.bin ;
wget https://raymii.org/s/inc/downloads/pdp/tss8_rf.dsk ;
touch tss8.simh_pdp8i ;
echo 'load tss8_init.bin' >> tss8.simh_pdp8i ;
echo 'set rf enabled' >> tss8.simh_pdp8i ;
echo 'set df disabled' >> tss8.simh_pdp8i ;
echo 'attach rf tss8_rf.dsk' >> tss8.simh_pdp8i ;
echo 'attach ttix 4000' >> tss8.simh_pdp8i ;
echo 'run 24200' >> tss8.simh_pdp8i ;
chmod +x ~/.simh/panelsim/pdp8i/tss8.simh_pdp8i

Ahora bien, todo Movimiento ha de tener opciones, ya que los caminos no suelen ser únicos para lograr la Felicidad que todos anhelamos. Por tal motivo podremos contar con dos opciones para emular TSS/8. La más simple que recomiendo sin dudar es utilizar el emulador directamente "a pelo" en Ubuntu, Y otra es emplear el simulador de panel de PDP8 Panelsim (el cual requiere instalarse aparte).

En el caso de apostar por la simplicidad, el accionar es veloz. Ingresamos el comando:

sudo apt install simh

...y tras introducir nuestra contraseña, se descargará el paquete de emulación genérico. Una vez instalado, podremos ejecutar TSS/8 en él mediante:

cd ~/.simh/panelsim/pdp8i/
pdp8 tss8.simh_pdp8i

Y ya está. 

Sin embargo, podríamos querer hacer alarde del panel de PDP-8/i con sus  lucecitas de status simuladas que nos dan un aspecto navideño. En tal caso realizamos el proceso de instalación siguiendo esto y luego adaptaríamos TSS/8 para funcionar en el mismo mediante este bloque de comandos de organización:

cd ~/.simh/panelsim/
touch ~/.simh/panelsim/pdp8i_tss8.sh
echo '# Inicia una PDP-8/I corriendo TSS8' >> ~/.simh/panelsim/pdp8i_tss8.sh
echo './_launch.sh "blinkenbone.panelsim.panelsimPDP8I.PanelsimPDP8I_app" "--width 1000 --power 1" pdp8i pdp8_realcons tss8.simh_pdp8i 248-blinkenbone-simulated-pdp8i-panel' >> ~/.simh/panelsim/pdp8i_tss8.sh
chmod +x ~/.simh/panelsim/pdp8i_tss8.sh

...tras lo cual lo ejecutaríamos con:

cd ~/.simh/panelsim/
./pdp8i_tss8.sh

Cualquiera de los dos casos que hubiésemos decidido utiliar, nuestra terminal teletipo comenzará a percutir, imprimiendo los mensajes de status del emulador.

Si todo va bien, al final del prompt de inicio se nos interrogará la opción de arranque:

LOAD, DUMP, START, ETC? 

Tipeamos START para darle arranque al sistema TSS/8. Este nos solicitará indicar fecha y hora para el oscilador de control emulado. 

Los valores son numéricos en formato MM-DD-AA y HH:MM (de 24 horas). Es importante conocer que TSS/8 no preveía año 2000, de modo que conviene restar cuarenta años a la fecha real. Por ejemplo:

MONTH-DAY-YEAR: 11-09-81
HR:MIN: 14:23

A continuación debemos presionar la tecla Intro dos veces y se nos presentará el prompt de inicio de sesión o login. Esta se representa por un muy poco expresivo punto.

.

Esto es lo deseado, y significa que el sistema cree que se haya corriendo en una PDP-8 y se encuentra esperando las conexiones desde las terminales teletipo:

Ahora bien, para ingresar remotamente como usuario de TSS/8 debemos utilizar el comando LOGIN un PPN (identificador de usuario) junto con su contraseña. La sintaxis es: LOGIN PPN CONTRASEÑA. El TSS/8 que hemos descargado ya contempla usuarios con sus PPN, de modo que podremos utilizarlos. 

La lista de usuarios y contraseña disponibles en este sistema emulado que os he provisto es la siguiente:

PPN     Contraseña
[0,1]   VH3M
[0,2]   LXHE
[0,3]   SHUG
[77,77]
[1,10]  WBCN
[20,1]  DT
[20,2]  PT
[20,3]  TSS8
[20,4]  EDIT
[20,5]  4TH
[1,50]  JERK

Suponiendo entonces que anhelamos loguearnos como el usuario PPN 1,10 tipeamos:

LOGIN 1,10 WBCN

(la terminal no hace eco de lo introducido en este punto para no dejar registro impreso de usuarios y contraseñas). 

Tras presionar la tecla Retorno de Carro (tecla Intro en el emulador) se nos presentará la impresión inicial de status:


TSS/8.24  JOB 01  [01,10]  K00    01:24:26

SYSTEM IS DOWN, INC.

.

El TSS/8 permitía conocer de manera somera el funcionamiento de un sistema de tiempo compartido en esta máquina, lo cual se estilaba ya que la posibilidad era más corriente que utilizar un entorno mucho más costoso como TOPS-10. Cada usuario podrá disponer de un espacio en la memoria de masa del sistema.

Ejecutar programas

Para ejecutar un programa de la librería de sistema o desde su directorio puede lograrse mediante el comando "RUN" ("correr"), con la letra R:

R CAT

...correrá el programa CATALOG, presentando los contenidos de su directorio.

 Con el comando SYSTAT obtendrá una impresión completa de lo que está haciendo el sistema, quién está conectado y mucha información adicional.

TSS/8 cuenta con el ambiente de programación BASIC-8. Para iniciarlo use el comando R BASIC. Se le preguntará si desea crear un nuevo fichero ("NEW"( o cargar uno antiguo ("OLD").

Por ejemplo, podríamos solicitar un fichero nuevo con el titulo 17OCT y tipear en la teletipo el siguiente fuente del siguiente instigador BASIC de 17 de Octubre digital:

10 PRINT "USTED HA PROVOCADO UN 17 DE OCTUBRE DIGITAL EN LA PDP-8!"
20 PRINT "YOU HAVE STARTED A DIGITAL OCTOBER 17TH ON THE PDP-8!"
30 PRINT ""
200 PRINT "             --------------------"
300 PRINT "             ! QUEREMOS A PERON !                  \O/  \O>"
400 PRINT "             !------------------!             -\OO/--\O----O/---"
500 PRINT " O       O/  !  O   O/  O    <O/! O    O    --![O] [O/ [] [] []!"
600 PRINT "[]( )    !   ! /H\ /H  /H>    H !/!>  <W>  [               ]]]]]"
700 PRINT " 1      /\      M   M   M     M   1    X   [--(O)----------(O)-"
701 PRINT ""
702 PRINT "USTED ES UN BUEN DESACAMISADO! FELICITACIONES!"
800 PRINT "YOU ARE A NICE DESCAMISADO! CONGRATULATIONS!"
1000 END

Una vez terminado de introducir el programa en memoria, bien podría listarlo con LIST o compilarlo y correrlo (ejecutarlo) con RUN. Podremos así replicar en el presente exactamente el pasado.

Otros comandos del subsistema BASIC son los siguientes:

Comando Acción

BYE Sale y vuelve al Monitor TSS/8

CAT Cataloga los ficheros del disco

DELETE n Borra la línea número n

DELETE n1,n2 Borra los números de línea n1 hasta n2

LIST Lista el programa actual

LIST n Lista una línea específica

NEW Preguntará por un nuevo nombre de programa BASIC.

OLD preguntará por un el nombre de un programa BASIC ya almacenado en el disco y lo cargará en memoria.

SAVE Almacena los contenidos de memoria a disco empleando el nombre actual

SAVE [nombre] Almacena los contenidos en memoria al disco usando el nombre dado.

UNSAVE Elimina el programa con el nombre actual del disco (requerido antes de guardar una versión nueva con el mismo nombre).

Ctrl+B,S Detiene un programa en ejecución (presione Ctrl+b y luego la tecla s).

Otros Comandos

Estos son algunos comandos extras (atajos de pocos caracterers
 
.ASSIGN x (presumo que asigna algún tipo de dispositivo)
.BREAK x .BRO-ADCAST string (sólo funciona desde la cuenta 0,1)
.CLOSE (Cierra un usuario)
.DEPOSIT x y (Deposita en memoria en la dirección x el valor y)
.DUPLEX (Modo duplex)
.EXAMINE x x (Examina desde dirección x a dirección y:límite-10)
.FORCE kb string (Fuerza al teclado # con la cadena con ^como controles)
.KJOB (elimina trabajo - Lo mismo que correr LOGOUT)
.LOAD x (Carga la memoria con el programa x)
.LOGIN (Permite ingresar al sistema)
.LOGOUT (Sale del sistema) 
.RELEASE (presumo que suelta el dispositivo asignado)
.RESTART x (Muestra o resetea la dirección de inicio)
.RUN ACCT PROG x (Corre el programa x desde la cuenta PPN en la dirección x)
.S (No parece hacer nada),
Ctrl+B,S detiene un programa)
.START x (Inicia un programa o reinicia un programa sin Offset de octal)
.SWITCH x (probablemente carga un registro de conmutación con un valor dado)
.SYSTAT (corre el programa SYSTAT)
.TALK kb string (Envía un mensaje al teclado K##)
.UNDUPLEX (Desactiva Duplex)
.USER x (Show the account and keyboard for Job x)
.VERSION (Presenta la versión de TSS/8)
.WHERE (Muestra todos los valores de registro de conmutación)

Abandonar la sesión

Como vemos, el comando LOGOUT o KJOB nos permitirá abandonar la sesión de TSS/8. También es posible utilizar K como un atajo a este comando. Es importante abandonar sesión antes de desconectar la terminal, ya que el sistema no lo quitará automáticamente de los usuarios conectados, y podría quedar la sesión activa en segundo plano.

Si por alguna razón parece estar detenido, intentaremos Ctrl+B,S. Se ofrecen más adelante mayores detalles sobre lo que hace ^B en la sección Detener un programa en Ejecución.

Documentación

Sin duda os será de suma utilidad la posibilidad remota de acceso a un sistema ya preparado y pueso a disposición pública. Podrán encontrar su ayuda y guía de uso en castellano aquí.

La Guía de Usuario de Edusystem-50 (edición 1975) ofrece una documentación bastante precisa para TSS/8 versión 24. Cubre las actividades relacionadas con el usuario en el sistema operativo y también incluye el uso del ensamblador PAL-D, BASIC, FOCAL y numerosas utilidades. Opcionalmente podrán consultar el Manual del Edusystem-50.

También podrán sacar valiosa información del Manual del Monitor TSS/8 del Sistema de Tiempo Compartido (ed. 1968) y de la Guía de Usuario del Sistema de Tiempo Compartido TSS/8 (Edición de 1970).

El uso detallada de BASIC para PDP8 se encuentra en el Manual de Programación de BASIC-8 para el Sistema de Tiempo Compartido TSS/8 (de 1969).

La documentación de ALGOL puede encontrarse en el Manual de ALGOL de DECUS en tanto que esta versión detalla las diferencias específicas de dicho lenguaje en TSS/8.

LISP está documentado en http://svn.so-much-stuff.com/svn/trunk/pdp8/src/decus/8-102a/decus-8-102A.pdf

domingo, 4 de marzo de 2018

¿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í.