¿Cómo emulo una AT&T 3B1 UNIX PC7300 en Ubuntu?

Reunido en el 2º Congreso Confederal de la CGT, Juan Perón pronuncia un
claro discurso en el cual enseña a emular una AT&T 3B1 UNIX PC 7300 en
Ubuntu.

(...)

¡Trabajadores!

A lo largo de los tiempos históricos, el hombre - limitado a su propia
naturaleza - ha abarcado todo tipo de demandas. La mayoría de ellas son
inusitadas, pero le proveen el ímpetu vital que lo distingue como
especie. Otras son Justas, pero sabemos que sólo podrá resolverlas
actuando en comunidad.

Nuestra Doctrina Justicialista posee un carácter fundamentalmente
humanista. La estrella polar que la orienta es saciar las ansias Justas
del Pueblo Argentino. Para ello nos hemos disciplinado y hemos puesto
nuestro empeño de la hora.

Hemos tomado parte en acciones de cohorte que nos han hermanado, y nos
ha permitido proveer a nuestro Pueblo de la soluciones a sus inquietudes
sociales, en forma de los Derechos del Trabajador, de la Niñez, o de la
Ancianidad. Estas son cosas grandes, que se pueden lograr a través de la
acción decidida de organismos bien concebidos. Sin embargo, si queremos
realizar cosas que verdaderamente superen las ansias de los tiempos,
necesariamente hemos de conformar supra-organizaciones, un estadío mayor
que las anteriores. Esta mancomunidad es lo que forma un verdadero
Movimiento.

En el cómputo suele suceder más o menos lo mismo. Uno puede hacer tareas
sencillas, pero las más complejas necesidades de cómputo de potencia
sólo pueden ser abarcadas si se organizan múltiples tareas de forma
concurrente, en pos de un logro final.

No podemos dudar en que los sistemas UNIX y similares a UNIX siguen este
precepto frontispicial a manera cabal, y lo tornan en un aspecto
especialmente válido en el caso del equipamiento clásico. Este guarda
valía no tanto por su potencia de cálculo real (que en función del
tiempo, podría considerarse humilde), sino que lo hace en gran medida
como recurso de estudio y aprendizaje de los más básicos rudimentos en
las ciencias del cómputo.

Pongamos por caso el de la AT&T 3B1. Se trataba de un sistema
informático desarrollado en 1984 por Convergent Technologies para AT&T
Technologies. Era una microcomputadora de moderna concepción, que
destacaba exteriormente por su moderno gabinete. AT&T decidió integrarle
una versión de UNIX System V y varias aplicaciones ofimáticas que la
distinguieran sobre la sosa y desprovista PC XT de IBM.

Su hardware giraba alrededor de un muy poderoso microprocesador de 32
bits Motorola MC68010 de 10 megahertz, provisto de entre 512KB y los 4MB
de memoria RAM. El hardware de video constaba estaba dado por un
adaptador capaz de presentar texto a 80x29 caracteres, y gráficas de
720x348 píxels, en un monitor monocromático de 12 pulgadas de fósforo
verde.

Sus medios de almacenamiento de masa estaban dados por una unidad de
diskettes de 5 1/4 pulgadas y baja densidad (360 kilobytes, a 9 pistas
por sector), en tanto que la novedad la proveían hasta dos discos
rígidos MFM, que variaban entre los 10 megabytes hasta los 67 megabytes
al final de su ciclo productivo. Siendo diseñada para la AT&T, el equipo
estaba dotado de fábrica para aprovechar las redes a través de su
comunicador telefónico integrado, que le permitía establecer llamadas
convencionales por medio de un software de gestión con agenda
telefónica, y a través de redes de datos a 1200 baudios por segundo. Los
periféricos se distinguían por su teclado avanzado acomodable sobre el
gabinete, y un ratón de tres botones, algo aún inusual para las
computadoras hogareñas.

El software de la 3B1 de AT&T se basaba fundamentalmente en una
distribución licenciada de UNIX System V formado por la Release 2 a la
que se le agregaron controladores de dispositivos desarrollados por
Convergent Technologies, junto con extensiones de System V Release 3 y
una serie de aplicaciones provenientes de las Versiones 4.1 y 4.2 de la
distribución de Berkeley.

La 3B1 pasó así a formar el equipo ofimática inicial dirigido a todo
tipo de pequeñas y medianas empresas, bajo el apelativo de AT&T UNIX PC
7300. ndudablemente que todo esto no costaba chirolas sino entre 5 y 7
mil dólares, lo que la dejaba sólo al alcance del más acaudalado
oligarca.

Nuestro Movimmiento es uno de gran raigambre popular, y reconoce que
existe una sóla clase de hombres: los que trabajan. Por ello no podemos
dudar en dar al Pueblo acceso inclusivo a a todo tipo de hardware y de
software que desee. Para ello nuestro sistema GNU con Linux es capaz de
emular sistemas de antaño con software libre, muestras de lo cual he
dado instruyendo a la Masa a emular la AT 3B2/400 en Ubuntu.

En este caso, os enseñaré a emular la arquitectura y entorno de la AT&T
3B1 UNIX PC 7300 gracias a FreeBee, un emulador de 3B1 liberado bajo
licencia GNU GPLv3.

Se trata de un emulador experimental, pero que ofrece casi todas las
funcionalidades, a excepción del módem telefónico.

Instalar el System V en la 3B1 original era una tarea titánica que
requería obrados conocimientos, o bien hojear la excelente documentación
de puesta a punto del sistema. Aún así, como Conductor del Justicialismo
me he impuesto la tarea de obrar día y noche por mis queridos
descamisados.

En primer lugar, con fime voluntad abrirán una Terminal con Crtl+Alt+T.
Acto seguido, instalarán la única dependencia requerida por el sistema
de emulación, mediante el siguiente comando de organización:

sudo apt install libsdl2-dev

Nuestro sistema nos solicitará nuestra contraseña de conductor. Conforme
la proveamos, descargará e instalará la librería.

Inmediatamente capearemos la tarea de descargar el código fuente del
emulador FreeBee y compilarlo. Para que opere habrán de descargar las
imágenes ROM de las rutinas de E/S y BIOS de la AT&T 3B1 (necesarias
para el funcionamiento del emulador). Complementariamente habrán generar
imágenes vacías de disco rígido e instalar el sistema operativo en él,
junto con una miríada de aplicaciones.

Indudablemente que toda esta tarea podrá disfrutarse como unas
vacaciones pagas en Chapadmalal, ya que sólo hemos de copiar y pegar en
nuestra terminal el siguiente bloque de Comandos de Organización:

cd ~ ;
git clone --recurse-submodules https://github.com/philpem/freebee ;
cd ~/freebee/ ;
make ;
git clone https://github.com/dgesswein/s4-3b1-pc7300 ;
cd ~/.freebee/s4-3b1-pc7300 ;
make ;
mkdir ~/freebee/img/ ~/freebee/roms/ ;
cd ~/freebee/img/ ;
wget https://www.skeeve.com/3b1/os-install/08_Foundation_Set_Ver_3.51_no_phinit.IMD.gz ;
wget https://www.skeeve.com/3b1/enhanced-diag/bootable-extended-diag.img.gz ;
wget https://www.skeeve.com/3b1/enhanced-diag/diag.img.gz ;
wget https://www.skeeve.com/3b1/enhanced-diag/Install ;
wget https://www.skeeve.com/3b1/enhanced-diag/Install.bak ;
wget https://www.skeeve.com/3b1/enhanced-diag/README ;
wget https://www.skeeve.com/3b1/enhanced-diag/README.adr ;
wget https://www.skeeve.com/3b1/enhanced-diag/s4diag ;
wget https://www.skeeve.com/3b1/all-sw+fixdisk-hd.img.gz
wget https://www.skeeve.com/3b1/full+lots-sw.img.gz
wget https://www.skeeve.com/3b1/big-empty.img.gz
wget http://bitsavers.org/pdf/att/3b1/999-801-025IS_ATT_UNIX_PC_System_Software_Installation_Guide_1987.pdf ;
gzip -d full+lots-sw.img.gz ;
cp ~/freebee/img/full+lots-sw.img ~/freebee/hd.img ;
gzip -d 08_Foundation_Set_Ver_3.51_no_phinit.IMD.gz ;
gzip -d bootable-extended-diag.img.gz ;
gzip -d diag.img.gz ;
mkdir ~/roms/ ;
cd ~/freebee/roms/ ;
wget http://bitsavers.org/pdf/att/3b1/firmware/3b1_roms.zip ;
unzip 3b1_roms.zip ;
mv '14C 72-00616.bin' 14c.bin ;
mv '15C 72-00617.bin' 15c.bin ;
cd ~
mv ~/freebee/ ~/.freebee/ ;
echo '#Arrancador del emulador 3b1' >> ~/.freebee.sh ;
echo 'cd ~/.freebee/' >> ~/.freebee.sh ;
echo './freebee'  >> ~/.freebee.sh ;
chmod +x ~/.freebee.sh ;
echo 'Todo listo!'

Naturalmente presionarán Enter para que se ejecuten.

Ya podrán arrancar el emulador con el System V instalado mediante el
comando:

./.freebee.sh

Esto encenderá el equipo virtual y dará iuicio al UNIX System V 3.51m
contenido en la imagen de disco rígido. El procedimiento original
taradaba unos dos minutos aproximadamente y está detallado en la página
58 del manual de propietario.

Se presentará la pantalla que indica el chuqueo e inicio de la BIOS
detallando el contenido de memoria ROM y RAM emulada...

...y conforme se inicialice el stack de framebuffer, System V será capaz
de presentar gráficas, una de las características rompedoras de este
equipo.

Y el sistema comenzará a la serie de autocomprobación de los
temperamentales discos rígidos y sus sistemas de archivo de época. Esta
lenta condición sin embargo lo tornaba en uno de los equipos de
escritorios más seguros de los ochentas.

El sistema multiusuario solicitará acceso a través de su programa de
login.

Podremos acceder a un útil tutorial ingresando como el usuario tutor.
Cuando solicite contraseña, presionamos Enter sin ingresar ninguna.

El tutor nos enseñará el uso del ratón (lo capturamos en el emulador
presionando F10).

Siguiendo el tutor y el manual podremos aprender a usar el entorno
gráfico.

Podremos administrar hasta 4 usuarios activos con sus respectivas
ventanas, haciendo clic en el símbolo "W" de la esquina superior
derecha. Si elegimos la opción rlogin podremos abrir otra terminal.

Podremos cerrar las ventanas haciendo clic en la "x" del costado
inferior izquierdo.

Para ingresar como Superusuario de Administración, debemos acceder como
root y sin contraseña.

Usuario: root
Contraseña: ninguna (presionar Enter)

Podremos ahora hacer uso del intérprete de comandos Korn Shell 88, cuyo
prompt es un #.

El Freebee cuenta con unas teclas especiales que operan funciones
propias:

F9: Tecla SUSPEND
F10: Toma/Suelta cursor del ratón de Ubuntu en el Freebee.
F11: Inserta/retira imagen de diskette floppy (`floppy.img`)
Alt+F12: Sale del emulador

Naturalmente, como lleva un UNIX System V, le podremos cambiar una
contraseña con el comando passwd de UNIX.

Podremos usar el conocido editor vi, pero también podrán usar se, el
Editor de Pantalla de la Universidad Georgia Tech.

se

El editor arrancará en modalidad comando, y es bastante similar a ed.
Podremos obtener ayuda de un comando con el comando h seguido por la
letra del comando.

Entre las letras de comando tenemos guardar (w). Podremos salir del
editor con el comando q.

Indudablemente, además de la paquetería típica de UNIX System V,, podrán
encontrar numeroso software adicional a en UNX PC Taronga.

El procedimiento de apagado correcto de System V se hace desde la
consola de administración. Podremos apagar el sistema con el comando
shutdown.

Una vez que System V se apaga, podremos desconectar el emulador mediante
Alt+F12.

Para crear una imagen de diskette tipo MS-DOS de 360kb (9 pistas por
sector) en nuestro sistema de hospedaje GNU con Linux podríamos usar:

dd if=/dev/zero of=attdsk.img bs=1k count=360
/sbin/mkfs.fat dos.img
sudo mount -o loop -t msdos attdsk.img /mnt

Acto seguido copiamos los archivo que queremos en /mnt (recordando de no
sobrepasar los 360 kilobytes). Podremos desmontar el diskette con:

sudo umount /mnt

AT&T producía excelente documentación técnica en inglés, los famosos
"libritos rojos. Podrán encontrar los manuales de la AT&T 3B1 aquí.