Mostrando entradas con la etiqueta Windows 3.11 para Trabajo en Grupos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Windows 3.11 para Trabajo en Grupos. Mostrar todas las entradas

martes, 19 de mayo de 2020

¿Cómo instalo PCem v17 en Ubuntu 20.04?

Aprovechando el tiempo ocioso en Puerta de Hierro, Juan Perón recibía a los visitantes más ilustres en su quinta 17 de Octubre de Navalmanzano 50 Madrid. Durante su estancia les explicaba cómo instalar el emulador de PC antiguas PCem en Ubuntu.

(...)
Muy distinguidos señores.

Parecería común decir que todo lo pasado fue mejor. Este adagio, por extendido, no siempre es preciso, sino un mero deseo potenciado por las añoranzas del tiempo.

Pero en momentos de ocio, cualquier cosa nos viene bien.

El impulso por lograr nuevamente aquello que antes estaba bien es una natural condición humana que - como en la química - hemos de aprovechar como  catalizador de las condiciones de lucha, aquellas que sin duda ha de darse en la Patria. En eso estamos y es fundamento de la lucha táctica pero también de la conducción estratégica.
En informática, utilizar equipos del ayer suele tornarse complejo y difícil. El hardware antiguo puede no estar disponible, ser caro, y tener los lógicos problemas técnicos que los años suman a todo sistema.

Nuestro Movimiento ha indicado en los frontispicios de sus Academias que todo ha de hacerse en pos de los deseos y del bienestar al que aspira el Pueblo. Cuando hay una necesidad, nace un derecho. A tal efecto hemos creado lo que hemos dado en llamar "máquinas virtuales". No es otra cosa que simular con visos de perfección un sistema completo, tanto su software como su hardware, y sobre todo la manera en la que estos interactúan. La finalidad no es otra que la de poder tornar una máquina (nuestro equipo actual) en cualquier otra.

Asumamos virtualizar en función una IBM PC o sus clones. Pocas van quedando en condiciones operativas, y en el futuro habrá menos. Pero una máquina virtual de calidad permitirá correr en otras arquitecturas la añorada original. Como una Isabelita emulando a una Evita...

Pues bien... PCem es una poderosa máquina virtual liberada bajo licencia GPLv2, que nos permitirá emular completamente la operativa de arquitectura IBM PC. Originalmente fue diseñado para emular la antigua IBM XT, pero nuestro Movimiento la ha extendido a lo largo de numerosas iteraciones para incorporar la emulación de otros aparatos de época más moderna también.

Compilación e instalación de PCem


Como paso previo debemos asegurarnos de instalar en Ubuntu - el cual será el sistema madre - las librerías de software necesarias para la compilación de PCem. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos en ella el siguiente Comando de Organización:

sudo apt-get update
sudo apt-get install git libsdl2-dev libwxgtk3.0-gtk3-dev libopenal-dev libsoundio-dev

Como en todo proceso de compilación, nos haremos con el código fuente de PCem, lo descomprimimos y lo compilamos. Todo ello podrá hacerse simplemente pegando en la terminal el siguiente bloque de comandos de organización:

mkdir ~/Descargas/pcem/ ;

cd ~/Descargas/pcem/ ;
wget https://pcem-emulator.co.uk/files/PCemV17Linux.tar.gz ;
tar xvzf PCemV17Linux.tar.gz ;

./configure --enable-alsa --enable-release-build --enable-networking ;
make ;
sudo make install
Tras aproximadamente un minuto, habrá finalizado la compilación y se habrá instalado en /usr/local/bin/. Podremos ahora ejecutar PCem por ver primera. Lo haremos desde la terminal ingresando:

pcem

La primera vez que lo hagamos el emulador creará un directorio oculto llamado ~/.pcem/, donde resguardará sus ficheros de configuración, y donde espera encontrar los ficheros primordiales con volcados de memoria ROM de las BIOS encontradas en los distintos hardware que quisiéramos emular. Naturalmente, como estas ROMs han de proveerse aparte, es lógico que PCem sea vago y nos indique la ausencia de las mismas mediante el mensaje "No ROMs Present! You must have at least one romset to use PCem.":

Agregar BIOS a PCem

Afortunadamente gracias a la acción revolucionaria del Justicialismo en nuestro sistema GNU con Linux, es absolutamente sencillo de hacernos con estas obligatorias ROMs de hardware del ayer. Presionamos Ok para cerrar la ventana, e ingresaremos en la terminal los siguientes Comandos de Organización:

cd ~/.pcem/
git clone https://github.com/BaRRaKudaRain/PCem-ROMs.git
rm -r roms/

mv PCem-ROMs/ ~/.pcem/roms/
mkdir ~/.pcem/hdd/

El nuestro es un Movimiento que aboga por la Liberación, y de esta manera no hacemos otra cosa que liberar un software esclavizado por oprobiosas licencias privativas. En caso que nos dé prurito siquiera descargar ROMs de BIOS privativas, bien podríamos prescindir de lo anterior y utilizar estos comandos de organización para hacernos con el código de una BIOS de XT genérica liberada, así como el de un controlador de disco genérico liberado para PCem.

cd ~/.pcem/roms/ ;
wget https://pcem-emulator.co.uk/files/genxt.zip ;

wget https://pcem-emulator.co.uk/files/xtide.zip ;
unzip genxt.zip ;
unzip xtide.zip ;

Cualquiera sea la opción doctrinal que optemos, a partir de ahora ahora ejecutamos PCem el instalador debería arrancar sin problemas.

Crear lanzador de PCem

En el caso de Ubuntu, opcionalmente podremos crear un lanzador a PCem a fin de poder ejecutarlo sin tener que usar la terminal. El procedimiento es similar a cualquier otra aplicación. En el caso de Ubuntu Mate haremos clic con botón derecho del mouse sobre Aplicaciones en el panel superior, y en el menú contextual que aparece elegimos la opción "Editar Menús". Se abrirá una ventana con dos paneles. En el panel izquierdo elegimos la categoría "Herramientas de Sistema" y presionamos el botón "+Elemento Nuevo". Esto abrirá el cuadro de diálogo para "Crear Lanzador", donde rellenamos los campos de la siguiente manera y presionamos Aceptar.
Ahora podremos ejecutar PCem desde Aplicaciones / Herramientas de Sistema / PCem.

Esta vez PCem se iniciará sin errores.
Configurar un sistema emulado en PCem
Para poder utilizar el emulador debemos diseñar un un sistema de hardware virtual. Para ello presionamos el botón New y le indicamos un nombre al equipo virtual. 
Acto seguido hemos de disponer del hardware necesario en el panel que aparezca. Sigtuiendo el principio nodal del combatir al Capital, todo el hardaware es gratuito. Pero, en valoración histórica podremos disponer de un equipo coherente con una etapa histórica determinada. En mi caso basaré una configuración en un un motherboard Award 430VX PCI de 1997 (el cual aparecerá listado como [Socket 7] Shuttle HOT-557, simplemente porque su BIOS cuenta con la moderna rutina de autodetección de las unidades de disco IDE, y es adecuado para versiones tardías de MS-DOS y para Windows 95 y 98SE. Para elegir un procesador debemos seleccionar la marca (Intel, AMD, Cyrix o incluso los baratos ITS "Winchip", y hacemos clic en el campo correpondiente al modelo, utilizando Flecha de Cursor Arriba y Flecha de Cursor Abajo para elegir el deseado. En mi caso escojo un Pentium MMX de 166 Mhz, aunque debemos saber que esto no será representativo de la velocidad sino de las instrucciones computacionales contenidas en el mismo (lo normal en 1997 era un Pentium 233 MMX, pero este no anda muy bien en mi caso). Mas tarde podremos ajustar la velocidad del microprocesador dependiendo del microprocesador real de nuestro equipo. La memoria RAM instalada en placa la podremos virtualizar, y si bien era usual unos 64MB, duplicamos dicha cantidad porque "es gratis".
En la solapa video elegiremos la placa de video anhelada. Si bien no era la panacea, os recomiendo una S3 Virge o una Trident Tru64 por su excelente compatibilidad. Si tildamos la opción Voodoo Graphics podremos emular en PCem una de dichas sobrevaloradas tarjetas de video de 3dFx. De momento no lo haré.
Nota: Si anhelan configurar una placa de video para juegos 3dFx Voodoo2 requerirán sus controladores, que podrán encontrar aquí. Dependiendo la versión de Window$ que deseen emular, podrán buscar la versión adecuada. Como referencia deben conocer que si usan el último controlador del año 2000 para Windows podrán operar, pero habrán de instalar en Window$ el famoso Dir€ctX 7 para que la Voodoo2 funcione adecuadamente, incluso si los juegos no requieren Dir€ctX7.

En la solapa de sonido encontraremos excelente emulación con la posibilidad de elegir una entre varias placas AdLib, Creative Labs Sound Blaster hasta el modelo SB128, o Aztec. Para ello hacemos clic en el campo Device y usando las flechas de cursor arriba y abajo.. Yo utilizaré la Sound Blaster AWE32 porque me place.
En la solapa de dispositivos de almacenamiento es el de mas cuidado.
El campo HDD refiere al tipo controlador de unidad de disco rígido que queremos emular. En este caso utilizaré el controlador [IDE] Standard IDE.

Los campos FDD son sencillas y refieren a las unidades de disquettes flexibles o "floppy". La unidad A: será una clásica disquetera de 3 1/2 pulgada y 1,44MB de capacidad, mientras que la B: será una útil de 5 1/4 pulgadas dy1,2MB. En el caso de la unidad de CD-ROM definimos la velocidad emulada de la misma.

La parte más compleja refiere a las unidades de disco. Os asistiré como didacta paternalista para llegar al éxito de forma automática, mas deben conocer que existen varias posibilidades de configuración manual para los parámetros del disco rígido virtual.

En la parte inferior derecha del cuadro encontraremos las definiciones para crear hasta cuatro unidades virtuales (C:, D:, E: y F), las cuales pueden definirse como Hard Drive (disco rígido), CD-ROM o Iomega ZIP. En nuestro caso utilizaremos un disco Master Primario CI como Hard Drive y presionaremos el botón New para "crearlo". Hemos de crear uno que se corresponda en espacio y características técnicas del motherboard que hicimos.

Este disco rígido virtual consiste realmente en un archivo de imágen con extensión .img localizado en algún lugar de nuestro directorio de usuario, y que de momento estará vacío. En el campo file: debemos indicarle a PCem qué nombre y dónde lo queremos localizar el archivo .img.

Normalmente PCem nos propone crear un archivo de imagen que simula un disco rígido de 251MB (63 sectores, 16 cabezas, 511 cilindros). Este disco era normal para un sistema de 1992, apto para MS-DOS o Window$ 3.1x. Al presionar OK habremos creado un disco rígido virtual virgen, de dicho tamaño.

En este caso utilizaré un disco diez veces mas grandes, de 2GB. Para ello ingresaré los datos de 63 sectores, 16 cabezas, 4160 cilindros, para un tamaño total de 2047 MB. En el campo file debo asignarle una ruta y nombre (por ejemplo, ~/.pcem/hdd/disco2gb.img
 Una vez presionado el botón OK, dicho disco quedará asignado como Unidad 0, Master Primaria (C:).

Podremos crear otros discos si quisiéramos hacerlo, a fin de figurar como unidades D: E: o F:

Nota histórica: las placas controladoras de disco variaron en el tiempo con distintas etapas de avance técnico de los clones IBM PC. En la década de los 80s las primeras IBM PC XT contaban con una plaqueta controladora de discos de norma MFM (para discos de entre 10 y 80 megabytes). A partir de la década del 90 la norma de los discos rígidos cambió a la IDE, y al poco tiempo las controladoras comienzaron a integrarse en la placa madre en lugar de colocarse como una placa separada. Los discos IDE se ofrecían entre los 100MB (c. 1992) hasta los 250 GB (c. 2007). La norma de comunicación SCSI surge en 1993 con discos mas veloces pero requería una placa controladora específica.

Para PCs de la era de 1997 podríamos querer configurar uno o más discos de 8.063 Megabytes cada uno (63 sectores, 16 cabezas, y 16383 sectores a 512bytes/sector, que nos será más adecuado para correr Window$). En tal caso deben recordar que ni Windows 95a ni MS-DOS aceptaban mas de 2.048 Megabytes por partición lógica, por lo que liego tendrán que "particionarlo en 4 unidades de 2GB con fdisk". 

En el caso de motherboards más antiguos, sus controladoras de disco y BIOS podrían sólo ser compatibles con determinado tipo de discos previamente listados (como el caso de la XT, especialmente limitadas en las opciones de disco). Para una IBM PC XT de 1986, podríamos querer simular un disco MFM de 42MB (17 sectores, 7 cabezas, 733 cilindros a 512 bytes por sector) junto a su controladora MFM estándar de IBM.


Pues bienn, una vez que hayamos terminado, se nos presentará el nombre de la configuración. Para arrancarla hacemos doble clic en el nombre del equipo.

Esto dará inicio al proceso de arranque, tal cual la PC que inventamos. En este caso será un equipo con un clasico BIOS Award de finales de los 1997. Para que detecte el disco virtual era necesario configurarlo en la BIOS.
Durante el POST presionando repetidametne Del ingresaremos a la BIOS y configurar los parámetros tal como se hacía siempre. Ingresamos al apartado Standard CMOS Setup que se usa para configurar los parámetros de disco, hora y disqueteras.
En el caso del disco rígido, la controladora de disco XT-IDE (AT) permite autodetectar los parámetros del disco siempre y cuando el motherboard cuente también con la capacidad de hacerlo. Como la 430NV que hemos virtualizado dispone de tal facilidad, debemos poner los parámetros de discos primarios y secundarios en Auto ("Detección Automática"). Para ello usamos las flechas del cursor para movernos y las teclas AvPg o RePg para poner todo en Auto.


En el caso de las unidades de diskette A: y B: las indicamos con los parámetros que le elegimos al hardware virtual ya que las disketteras no se autodetectan.

Nota: en el caso de motherboards o controladores de discos anteriores a 1995 no era extraño tener que escoger a mano los discos contemplados, o bien especificar "a lo vikingo" el modo "user" e indicar los parámetros de cilindros, cabezas, sectores, y modo (normal, large o LBA). En el caso de este motherboard tambiñen contaremos con la función IDE HDD Auto Detection, una de las cosas.

 También podremos usar Esc para volver al menú principal y dirigirnos a BIOS Features Setup.

Allí podremos cambiar el orden de dispositivos de arranque usando AvPag o RePag.
Cuando hayamos configurado todo, volvemos al menú anterior de la BIOSy elegimos Save & EXIT.
La BIOS nos preguntará si estamos seguros de querer salir y guardar los cambios, a lo que decimos si presionando y.
Inmediatamente la "placa madre" arrancará. Debería detectar correctamente el "microprocesador" y contear la memoria instalada, a su vez que encontrar el disco IDE Master Primario, en este caso nomenclado como "PCemHD".
Rl disco virtual no tiene formato ni sistema operativo. A partir de ahora podremos arrancar la PC emulada ya sea desde el archivo img de un diskette de arranque de MS-DOS o de Windows, o bien podríamos introducir un CD-ROM de instalación en nuestra lectora de CD (o montarlo como un fichero .IMG como os he indicado).
 
Suponiendo el primer caso debemos utilizarse un diskette de arranque en formato .img de MS-DOS 6.22 en castellano que podrán encontrar aquí. Para colocar el diskette de arranque (el disco 1) en forma de archivo .img en el emulador PCem, hacemoc clic con botón derecho sobre su ventana, y aparecerá un menú contextual. Vamos a la opción Disc/Change drive A: y buscamos el fichero disk1.img.

Acto seguido reiniciamos el equipo virtual desde el menú System / Ctrl+Alt+Del. La máquina virtual se reseteará en caliente y booteará con el diskette arrancable virtualmente introducido en la diskettera A:.


Si usamos un disco de arranque de DOS se nos presentará el instalador, pero aún no tenemos el disco preparado. Salimos de la instalación y ejecutamos el comando a:fdisk. Para preparar la partición en formato FAT16 elegiremos "Crear una partición lógica" primero debemos elegir la opción c para "Compatibilidad con DOS". Luego creamos la partición con la opción "n" para "Nueva partición. Usaremos la opción "t" para cambiar el tipo de partición a la 6 (FAT16). Finalmente "w" para escribir los cambios" y salir al sistema. Para formatear el disco c: ingresamos format c: /s

 Nuevamente reiniciamos el equipo con el disquette 1 del sistema operativo (o bien, un CD-ROM de inicio) y lo instalamos.
Si el cursor del mouse quedó atrapado en la ventana del emulador y necesitamos poder utilizarlo fuera de su ventana en nuestro sistema Ubuntu, lo recuperamos con Ctrl+Fin (o con Ctrl+Alt+AvPág si escogimos Video/Alternative Update Lock).

Con esto podremos continuar cambiando los discos simplemente poniendo las imágenes IMG de diskettes no bien las necesitemos (por ejemplo, cuando lo solicite un instalador como el de un sistema operativo).
 Con esto podríamos instalar un sistema operativo en diskettes.


Montar una imagen .img

Los archivos de imagen IMG pueden montarse en Linux a través del Montador de Discos, pero si bien podremos leer dichos ficheros y hacer copias de su contenido en nuestro disco, normalmente no podremos grabar en ellos.

Desafortunadamente no se puede utilizar una carpeta compartida para utilizarla en PCem (lo cual facilitaría enormemente cargar programas en el disco virutal). Por tal motivo, en caso de querer agregarle contenido a una imagen a fin de innstalar software o cargarle otro tipo de contenido deberemos utilizar los archivos de imagen de unidades virtuales en forma de ficheros .img y montarlas en nuestro sistema de archivo. Para un buen resguardo técnico, es importante saber que es muy inconveniente hacer esto mientras PCem está en ejecución por lo que lo cerramos.

En el caso que les he descripto, como hemos creado una imagen con PCem, la buscaremos en ~/.pcem/hdd/. En nuestra terminal ingresaríamos:

cd ~/.pcem/hdd/

fdisk -l imagen.img

El programa fdisk nos listará las características del archivo img del disco virtual: el tamaño de cada sector, la cantidad de sectotres, y el sector de Comienzo "Comienzo". "Comienzo" informa en qué sector comienza el sistema de archivos, y depende de la imagen. Por ejemplo, si es una imagen de arranque de un sistema operativo.

Por ejemplo:


fdisk -l 2gb.img
Disco 2gb.img: 2 GiB, 2115993600 bytes, 4132800 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x00000000

Dispositivo Inicio Comienzo   Final Sectores Tamaño Id Tipo
2gb.img1    *            63 4120703  4120641     2G  6 FAT16


Si nuestro archivo de imagen tuviese múltiples particiones, se nos informarían con sus respectivos sectores de Comienzo. Tengamos presente que las llamadas particiones extendidas no son otra cosa que particiones lógicas estructuradas de una manera particular, que no podrán ser montadas. Sólo pueden montarse particiones a las cuales fdisk les identifica un Sistema de Archivos.

Pues bien señores, para montar esta partición tenemos que obtener el "Valor de Offset". El valor de Offset consiste en multiplicar el tamaño de sector por el comienzo del Dispositivo. En este ejemplo particular, la primer partición, el offset sería Tamaño de sector 512 x Comienzo 63 = 32256

Una vez identificado el Offset de 32256, ingresamos los comandos según la siguiente sintaxis:

sudo mkdir /media/usuario/directorio_de_montaje/

sudo mount  -o loop,offset=(valor de comienzoxtamaño de sector) archivo_de_imagen.img /media/usuario/directorio_de_montaje/

...en nuestro ejemplo sería:

sudo mkdir /media/usuario/discovirtual/
sudo mount -o loop,offset=32256 ~/.pcem/hdd/2gb.img /media/usuario/discovirtual/

Ya tendremos montado el disco virtual en el directorio /media/usuario/discovirutal. Acto seguido usando sudo para tener derechos de administrador, podremos proceder a copiar allí lo que querramos, mediante:

sudo cp -r directorio/ /media/usuario/discovirtual/


¡El valor de offset es esencial para montar la imagen correctamente!

Es importante saber que ejecutar PCem con un disco montado no funciona. Debemos montar el disco después de arrancar PCem. Si tuviésemos montado un disco previamente, debemos desmontarlo y salir de PCem antes de volver a montarlo.

Crear una imagen de disco rígido para MSDOS en Linux:

Lo primero es contar con un disco rígido con espacio libre para crear una partición específica para PCem.

Para ello ingresamos:

dd if=/dev/zero of=imagen_a_crear.img bs=1M count=MB_deseados

Debemos obtener las especificaciones de una unidad de disco rígido antigua. Podrán ejecutar PCem y revisar la bIOS para saber qué unidades de discos estaban soportadas en la computadora emulada. La mayoría de las BIOS tenían varios tipos de discos rígidos que aceptaban. Con tales datos nos será fácil crear una partición de disco empleando fdisk:

fdisk -C cilindros -H cabezas -S sectores nuestra_imagen.img

Finalmente formateamos la unidad virtual con el programa format de MS-DOS. Luego agregamos la imagen a PCem en Settings / BIOS.

domingo, 15 de mayo de 2016

¿Cómo emulo el panel de una DEC PDP-8/I y una DEC PDP-11/20 en Ubuntu?

¡Trabajadores!

Todo trabajador ha de contar con tiempo para el ocio y la diversión. Todos aquél pasatiempo que atenue nuestro corazón será positivo.

Entre los míos se encuentra andar en motoneta con mi gorro "pochito" y emular equipos computacionales de antigua factura. 
Esto es así pues me permite entender a un nivel elevado el funcionamiento de diferentes técnicas y tecnologías de programación, necesario conocimiento para ejercer las artes y promover las Ciencias de la Computación.

Previamente he realizado una serie de monografías clasificadas bajo la etiqueta "simh" en la cual he avezador a la Masa en el arte de utilizar el emulador libre de hardware vetusto Simh, y sobre cómo operar los paneles de control de las clásicas minicomputadoras PDP de la Digital Equipment Corporation (DEC).

Gracias a la gente de Blinkenbones se ha simplificado la instalación de las mismas, pues ahora se provee un único instalador para hacer trabajar todo el sistema tanto y facilitar su instalación. Asimismo se deja de lado la multiarquitectura para ofrecer compilaciones de 32 y de 64 bits (e incluso para Raspberry Pi.

Esto nos facilitará la tarea pues ahora de un sólo tirón podremos instalar todos los paneles para las diferentes microcomputadoras, junto con sus manuales de operación y guiones que facilitarán el trabajo con ellos. Todo lo podremos hacer rápidamente desde la Consola Terminal de Linux.

Para ello abrimos una con Ctrl+Alt+T e ingresamos los comandos de Organización que correspondan:

Primero instalamos dependencias:

sudo dpkg --add-architecture i386 ;
sudo apt-get update ;
sudo apt-get install libx11-dev libpth-dev xorg-dev gcc libjpeg-dev libpthread-workqueue-dev x11proto-core-dev x11proto-bigreqs-dev freeglut3 freeglut3-dev ;
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 ;
sudo apt-get install libpcap0.8:i386 ;
sudo apt-get install libxext6:i386 libxtst6:i386 libxi6:i386 ;

sudo apt install openjdk-8-jre ;

Luego creamos un directorio para los paneles y nos dirigimos a el:

mkdir ~/.simh/ ~/.simh/panelsim/ ;
cd ~/.simh/panelsim/ ;



El siguiente paso variará de acuerdo a si nuestro sistema GNU con Linux actual es de 32 o de 64 bitios:
  • Si dispongo de Ubuntu de 64 bits debo ingresar estos comandos:
wget https://github.com/j-hoppe/BlinkenBone/releases/download/1.6/panelsim_ubuntu-x64.tgz ;
tar -xvf panelsim_ubuntu-x64.tgz -z ;
  • ...en tanto, si dispongo de Ubuntu de 32 bits - en tanto - debo ingresar estos comandos:
wget https://github.com/j-hoppe/BlinkenBone/releases/download/1.6/panelsim_ubuntu-x86.tgz ;
tar -xvf panelsim_ubuntu-x64.tgz -z ;


Conforme hayamos descargado todo y descomprimido, por única vez debo preparar el resto del sistema, lo podré hacer con el comando:

sudo ./prepare.sh

Tras introducir nuestra contraseña, el programa revisará si tenemos instalados todos los componentes necesarios (rpcbind, Java, y otros). Si faltase alguno nos propondrá instalarlo mediante el siguiente mensaje.
'rpcbind' not found, I'm going to install it. OK? Enter = yes, ^C = no.


Para instalar los componentes necesarios presionamos Enter.

Configuramos el lanzador de Java 8 pues de momento no funciona con Java 11):

sudo update-alternatives --config java

El sistema nos mostrará las versiones que tenemos instaladas ahora, y nos permitirá optar entre ellas. Por ejemplo, la pantalla nos demuestra que tenemos tres opciones para la alternativa Java:

Existen 2 opciones para la alternativa java (que provee /usr/bin/java).

  Selección   Ruta                                            Prioridad  Estado
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      modo automático
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      modo manual
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      modo manual

Pulse para mantener el valor por omisión [*] o pulse un número de selección:


En este caso, debemos presionar "2" para elegir la JDK de versión 8.

DEC PDP-8/I con juego ADVENTURE:

La DEC PDP-8/I fue una de las variantes de la PDP-8 original (la primer microcomputadora exitosa, en arquitectura de 12 bits). Introducida en 1968, mejoraba a la original de 1965 en el empleo de circuitos integrados de escala media "Flip-Chips" con lógica transistor-transistor, en lugar de la lógica diodo-transistor anterior. Se distinguió como un equipo ingeniado especialmente para lograr un bajo coste (para la época) y permitir la mayor cantidad de funcionalidades posibles.

Se la podía armar en un gabinete del tamaño de una heladera, que podía contener la unidad central de proceso con su panel de mando, el perforador/lector "veloz" de cintas de papel PC01 o PC04 y diferente instrumental y accesorios.
Para manipular el contenido del banco de memoria núcleo de hasta 4K, y para hacer uso básico de los periféricos de entrada/salida, se empleaban los conmutadores del panel frontal.


A través de su sistema operativo DEC OS8, La PDP-8/I se conectaba a una terminal teletipo como la ASR33 capaz de recibir las órdenes del operador, e imprimían los resultados de los programas y el entorno operativo en papel continuo. Muy posteriormente se agregaron videoterminales con monitores de tubos de rayos catódicos.

Como memoria de masa empleaba cintas de papel perforado, que contenían el software libre. Estos se podían copiarse libremente con la unidad perforadora/lectora, la cual era imprescindible para no tener que ingresar los programas con los conmutadores toda vez que se encendía el equipo..

Para activar el panel de la PDP-8/I, conmutar el uso de periféricos de terminal teletipo y "cargar" la cinta de papel perforado en el lector, cargar en el banco de memoria de núcleo la clásica aventura de texto "Colossal Cave Adventure" y correr dicho programa, podremos usar los siguientes Comandos de Organización:
cd ~/.simh/panelsim/
sudo ./pdp8i_os8advent.sh





DEC PDP-11/20 con BASIC en tira de papel perforado

En este caso contaremos con una representación funcional del panel de la mainframe DEC PDP-11/20 de 1973, que empleaba bus UNIBUS. Se trata de la unidad central de proceso de la minicomputadora con una arquitectura de de 16 bits, con microprocesador KA11 sin microcódigo (pues empleaba lógica transistorizada soldada), sin operaciones de coma flotante, ni memoria protegida. La PDP-11/20 podía direccionar hasta 64 kilobytes de memoria.
De este equipo contaremos con una reproducción lo mejor emulada posible, teniendo en cuenta - de nuevo - que la lógica soldada a punto es incapaz de emularse completamente en un emulador digital por razones obvias. Estéticamente contaremos con el modelo tardío de panel con sus incónicos colores lilas y púrpuras (el primero de 1970 era un esquema a dos tonos de verde).

Conmutadores

Los conmutadores del panel de la PDP-11/20 tienen la misma forma que los de la DEC PDP-8/e. Los conmutadores POWER/LOCK, LOAD ADDR, EXAM, DEPOSIT, LOAD, ENABLE/HALT y START operan de la misma manera que en la PDP-11/40. El conmutador S-INST/S-CYCLE en tanto carece de función real: SimH no puede avanzar paso a paso en lógica soldada. Cada función CONT (continuar) en modo HALT avanza un solo paso de instrucción.

El conmutador con llave puede rotarse en sentido antihorario haciendo clic a la izquierda del centro de la llave, y en sentido horario haciendo clic en la parte derecha de la llave. Poniéndolo en "LOCK" desactivamos todos los conmutadores. Y si se lo disponemos en "OFF" se detiene la simulación en SimH (casi).

Muchos de ustedes se preguntarán ¿si la PDP-11/20 era una minicomputadora de 16 bits, porqué cuenta con 18 conmutadores de direccionamiento en su panel frontal? Esto es así pues los ingenieros de DEC previeron los bits 17 y 16 como reserva para futuras expansiones de memorias que nunca vieron la luz. Se planeó expandir el espacio de direccionamiento de los 64 Kilobytes originales hasta los 256 Kilobytes.

Aún así la PDP-11 vivió mucho más de lo planificado. El rango de direccionamiento del bus UNIBUS estaba limitado a unos 18 bits, pero con un bus de memoria local se podían direccionar hasta 22 bits. En 1978 la se introdujo la nueva DEC VAX con una arquitectura mucho más expandida, por lo que abandonaron los planes de extender la PDP-11 y se la dejó morir por falta de memoria durante los siguientes 20 años.

Lámparas

Las lámparas ADDRESS y DATA funcionan como en todos los paneles de las máquinas DEC PDP, si bien en la PDP-11/20 se trataban realmente de lámparas  incandescentes (en modelos posteriores se las reemplazarían por diodos emisores de luz, mucho más confiables).

Nuevamente, la PDP-11/20 es una máquina de 16 bits, por lo tanto de la misma manera que con los conmutadores, las lámparas ADDRESS 17 y 16 carecen de función, pero siempre permanecen encendidas si se configura una dirección de memoria en la página de E/S, de modo que las direcciones 177777..160000 se mostrarán como 777777..760000.

La PDP-1/20 carecía de memoria virtual. Por lo tanto no existen espacio de datos MMU ni I/D, ni selector de modo KERNEL/SUPER/USER que aparecería en modelos posteriores.

Aún así existen algunos indicadores en la mitad derecha del panel que nos ayudan a rastrear el procesamiento interno durante el modo "paso de un solo ciclo". Esto realmente sólo se necesitaba al depurar errores en la circuitería. Como se mencionó, la CPU 11/20 no implementaba microcódigo, sino que hacía uso de lógica soldada; de modo que en lugar de un flujo microprogramado, se ejecutan un opcode en fases fijas, cada una de ellas caracterizada por diferentes señales de ciclaje. Estas se indican con las lamparas:
  • FETCH: carga un opcode de la memoria
  • EXECUTE: corre los datos desde los registros a través del ALU y los anota de vuelta.  
  • SOURCE/DESTINATION, ADDRESS: ciclos de memoria adicional para acceder a los operando desde la memoria y datos del índice. 
SimH no simulará nada de esta operatoria, de modo que se nospresentará un patrón fijo de lámparas brillando cuando se active la función RUN como reproducción meramente estética. El modo de ciclos a paso simple tampoco está implementado.

La DEC PDP-11/20 representa un esquema de uso clásico de principios de los 1973, con perforador/lector de cintas de papel, terminal teletipo, e intérprete BASIC de 4 kilobytes almacenado en cinta de papel perforado.

El proceso de carga no requería sistema operativo, y consistía en leer dos cintas, una con un cargador absoluto, y luego el intérprete de BASIC.

El proceso en el lector "veloz" de cintas de papel perforado podía durar un par de minutos. En nuestro caso nos llevará poco menos de unos segundos en el emulador. Para hacer todo el procedimiento, podremos usar los siguientes Comandos de Organización:

cd ~/.simh/panelsim/
sudo ./pdp1120_papertape_basic.sh

...si tuviésemos una terminal teletipo, esta imprimiría los datos de conexión en la resma de papel continuo:


...tras hacernos cargo de la información de status, al final debería imprimirse el prompt del BASIC:

PDP-11 BASIC, VERSION 007A
*O 


...debemos entonces presionamos Enter para darle inicio al intérprete BASIC de 4K, y la PDP-11/20 debería indicarnos:
READY

Recordemos que todas las órdenes en lenguaje BASIC DEC11 deben ser tipeadas en mayúsculas (debemos activar Bloq Mayús). pues este equipo no disponía de minúsculas. No proceder de esta manera nos devolvería un error.

Podremos introducir un programa en BASIC para evaluar el uso de dicho intérprete en la PDP-11/20. Por ejemplo, podremos pegarle en la consola el siguiente programa para buscar números primos:

10 REM PRIMOS.BAS CALCULAR NROS PRIMOS
15 PRINT "PDP-11/20 CON 4K DE RAM"
16 PRINT "PROGRAMA NUMEROS PRIMOS"
17 PRINT "COPYLEFT UBUNTU PERONISTA"
20 PRINT "LIMITE";
30 INPUT L
40 PRINT 2;
50 REM PRUEBA SOLO NROS IMPARES N
60 FOR N = 3 TO L STEP 2
70 REM DIVIDE SOLO POR D = 3, 5, 7, ...
80   FOR D = 3 TO SQR(N+1) STEP 2
90     IF N/D = INT(N/D) THEN GOTO 130
100 NEXT D
110 PRINT N;".";
120 GOTO 140
130 PRINT "..";
140 NEXT N
145 PRINT "NO HAY MAS NROS PRIMOS"
150 END
160 REM FINAL DEL PROGRAMA


...Una vez introducido el programa en la memoria de la PDP-11/20, podremos listarlo con LIST y correrlo (en la jerga, darle ejecución) con RUN. Nos pedirá un número máximo para buscar los primos (por ejemplo, podríamos poner 999). El programa procesará la matemática requerida y nos devolverá todos los números primos.


Para escribir programas en BASIC DEC11, nos será útil contar con el Manual de Programación BASIC DEC-11-AJPB-D PDP-11.

Otros equipos antiguos emulados en Ubuntu

Ahora bien, hemos de tener en cuenta que el paquete de emuladores que hemos instalado cuenta también con otras minicomputadoras DEC clásicas y también otros sistemas operativos, naturalmente más potentes en los equipos que siguieron. En particular, también me he extendido sobre otros equipos emulados. En aras de la sencillez y el orden - que es base del progreso sostenido- os indicaré cronológicamente y muy brevemente sobre las características de dichos sistemas, y también indicaré cómo ejecutar los emuladores de paneles en este artículo:

DEC PDP-11/40: 
Se trata de la minicomputadora de 18 bits de 1973, con lógica micro codificada en silicio en un procesador KB11 y hasta 128 kilowords de memoria. Me he extendido sobre ella en este artículo.
Se trata de un equipo clásico de que existieron numerosos clones y sistemas operativos. Podremos emularla con su sistema operativo DEC RT-11SJ o con el UNIX V6 de Bell Labs. Para darles inicio puedo ejecutar los siguientes comandos:

cd ~/.simh/panelsim/

sudo ./pdp1140_rt11.sh

Para poder operar el panel de dicho equipo RT11SJ podremos visitar el artículo específico ya mencionado.

...también podremos correrla con Unix V6.

cd ~/.simh/panelsim/

sudo ./pdp1140_unixv6.sh

Cuando aparezca el prompt "@", hemos de ingresar "rkunix". Nos loguearemos como "root", sin contraseña.
En el prompt de Unix V6 "#", ingresamos "stty -lcase" para poder usar minúsculas. Para lograr un entendimiento mayor de Unix V6, podremos visitar este otro artículo.


DEC PDP-10 con Consola de Control KI10:

Se trataba de procesador PDP-10 de segunda generación, con hasta 4 Megawords de memoria paginada administrable y bus MASSbus. Estaba construida a partir de chips TTL en plaquetas propietarias Flip Chip, capacitado para correr el sistema operativo TOPS-10.
Para dar inicio al panel y al sistema operativo TOPS10, debemos usar los siguientes Comandos de Organización:

cd ~/.simh/panelsim/

sudo ./pdp10ki10_tops10.sh

...cuando en la terminal aparezca el prompt BOOT> escribimos BOOT

Ya he explicado en más detalle cómo utilizar fundamentalmente este panel aquí.


DEC PDP-11/70:
Se trata de la minicomputadora de 36 bits aparecida en 1977 dotada de microprocesador KB11-C, con 2K de caché y hasta 4 megabytes de memoria RAM. Emulada aquí con su panel y el sistema operativo DEC RSX11M. Ya me he extendido sobre ella aquí.
Podremos ejecutar el panel y el sistema operativo emulado con los siguientes comandos:


cd ~/.simh/panelsim/

sudo ./pdp1170_rsx11m.sh


Microcomputadoras MITS Altair 8800, IMSAI 8080, Cromemco Z-1.

Se trata de ejemplares fundacionales en el mundo de la microcomputación hogareña aparecidos en series a partir de 1976, destinados al uso hobbista. Son diversos equipos con bus S-100 con microprocesadores de 8 bits Intel 8008 o Zilog Z80, memoria entre los 4 y los 16KB. memoria de masa en papel perforado, cinta magnética en casette, y eventualmente diskettes de 8 pulgadas. Como sistemas operativos emplean distintos entornos, siendo el más extendido y estandarizado fue el CP/M de Digital Re$earch.


Sobre el uso de estos equipos me he extendido aquí, y sobre el empleo de CP/M 2.2 en microcomputadoras con procesador Z80 emulado me he versado aquí.


Microcomputadoras clónicas IBM con M$-DOS

Se trata de los equipos clónicos que seguían el estándar establecido en 1982 por la Computadora Personal ("PC") de IBM, con su bus ISA. No disponían ya de paneles para introducir los datos, sino que se habían afianzado en el paradigma del empleo del monitor de video y el teclado como dispositivos de Entrada/Salida a un microprocesador Intel i8086/8088 de 16 bits sin memoria protegida. Como medios de almacenamiento se empleaban diskettes magnéticos de 5,25 pulgadas.

Si bien se la previó para emplear varios sistemas operativos, por accionar comercial el que terminó imponiéndose como estándar fue el Sistema Operativo de Disco (DOS) de Micro-$oft. Ya he explicado cómo emular el M$-DOS aquí e incluso cómo usarlo para ejecutar juegos de la era.

Sobre estos equipos compatibles se continuó mejorando su base con nuevas arquitecturas extendidas de 16 bits, y luego entre la que se distingue la i80386, con modo de memoria protegida y paginada de 32 bits. Este ya permitía realizar entonces tareas de multitarea real y correr gestores de ventanas para aplicaciones de 16 bits. De ellos sin duda el más extendido fue Window$ 3.11 sobre el cual ya me he extendido.

lunes, 20 de abril de 2015

¿Cómo instalo Windows 3.11 para Trabajo en Grupos en Ubuntu?

(...)
Pocos personas dudan que el Justicialismo es, dentro de todas, la mejor doctrina política para quienes anhelan la felicidad de los Pueblos y el ascenso de una Nación. Nuestras banderas de Soberanía Política, Justicia Social, e Independencia Económica nos han consagrado como luminarias para un mundo que no puede ya permitirse el encono de la lucha entre hermanos.

Sin embargo, existen quienes aducen que otras doctrinas son mejores. Para peor, existen algunos dentro el Movimiento que lo plantean. Esos no deberían estar adentro del Movimiento, deberían estar en otro lado.

Pero a nada nos amilanamos. Al fin y al cabo, qué mejor que probarlas "mano a mano" a ver cual resulta más efectiva.

Algunos desean volver a los 90s. Sin duda ellos podrán comprobar cómo funcionaba el vetusto Window$ 3.11 en Grupo$, instalándolo y empleándolo en nuestro sistema operativo GNU con Linux munido del emulador Dosbox. Veremos a quién le gusta dicho enjundio...

Si deseamos someternos a tal ignominia, bien podremos abrir una terminal con Ctrl+Alt+T y utilizar Software Libre para asistir. Al fin y al cabo, también para eso sirve. En nuestro emulador de terminal favorito, podremos ingresar los siguientes Comandos de Organización:

sudo apt-get install dosbox dtrx

...el sistema nos solicitará nuestra contraseña de Conductor, y a continuación, instalará la paquetería necesaria. Luego ingresaremos:


mkdir ~/.jdos/
 
Acto seguido descargamos el archivo Windows_3_11_para_trabajo_en_grupo_DOSbox.7z.

 
Este consiste en una imagen de Window$ 3.11 en castellano, comprimida en formato 7z. Suponiendo que el archivo vaya a terminar en nuestra carpeta Descargas/, lo descomprimimos con:

cd ~/Descargas/ ;

dtrx Windows_3_11_para_trabajo_en_grupo_DOSbox.7z ;


... al descomprimirse, el sistema normalmente presentará una alerta que nos indicará:

Windows3_11forWorkgroupsDOSbox.7z contains one directory but its name doesn't
match.
 Expected: Windows3_11forWorkgroupsDOSbox
   Actual: Windows 3.11 for Workgroups DOSbox/
You can:
 * extract the directory _I_nside a new directory named
   Windows3_11forWorkgroupsDOSbox
 * extract the directory and _R_ename it Windows3_11forWorkgroupsDOSbox
 * extract the directory _H_ere
What do you want to do?  (I/r/h)


...a la cual debemos responder presionando la tecla r.

Y luego ingresamos:

mv Windows_3_11_para_trabajo_en_grupo_DOSbox/ ~/.jdos/ ;
cd ~/.jdos/;

Una vez cumplimentado ello, se renombrará el directorio. Ahora debemos asegurarnos que el archivo de configuración de DOSbox  responda adecuadamente, especialmente en el apartado de sonido. Lo podremos hacer muy fácilmente con el comando:

nano ~/.dosbox/dosbox-0.74.conf

Buscamos la entrada que configura la distribución del teclado en español:
keyboardlayout=auto

....y la modificamos para que quede:

keyboardlayout=es

Guardamos y salimos de Nano con Ctrl+o y Ctrl+x.

¡Enhorabuena! Ya podremos dar inicio al emulador DosBox. Este nos presenta una sesión emulada del viejo M$-DO$ sobre el cual se ejecutaba Window$ 3.11 en los años 90s. Podremos ejecutarlo también desde Aplicaciones / Juegos / Emulador DOSbox.


Se iniciará DOSbox. Montamos el directorio .jdos como si fuese el disco en el equipo emulado c:\

mount c ~/.jdos
c:


Ahora iniciamos Window$ 3.11 con:

cd windows
win
Tras oír el clásico sonido "tadá" a través de los altavoces de nuestra SoundBlaster 16 emulada, se iniciará el antediluviano Window$ 3.11 para Trabajo en Grupo$ (y a una velocidad espeluznante).

Window$ buscaba orientarse a la idea de una "mesa de escritorio" en una oficina capitalista, y por lo tanto incluida un conjunto de programas risueños, pero ya enramados en la benevolencia. Un reloj (clock), el editor Notepad (bloc de notas), el procesador de textos Write, un calendario y un tarjetero, así como unos pasatiempos solitarios de baraja y el inefable Buscaminas.
Windows 3.11 (1993) incorporaba funciones de redes sobre la versión 3.1 del año anterior, y como aquella permitía una limitada multitarea usando el modo mejorado de 16 bits de los procesadores 80836 y superiores.

Se podía utilizar en un 286 con 1MB en "modo protegido". pero esto no tenía nada que ver con la multitarea real de un sistema GNU con Linux.

También encontramos en esta imagen particular unos pocos programas para manejar tipos de archivos algo más actuales. Un par de reproductores de sonido (compatibles con secuencias MIDI, y audios Wav y Mp3 que se incluía con las placas de sonido SoundBlaster), y la suite gratuita Quicktime, para ver Jpg y Mov.

La Sound Blaster 16 emulada cuenta con las mismas propiedades de la original: una placa clásica de 16 bits, capaz de operar a 44,1 kilohertz en 16 bits, lo cual era descomunal para la época.

Naturalmente podremos ejecutar programas para dicho entorno desde Files / Run. Para salir de Window$ en el Administrador de Archivos elegimos Files / Exit Windows. También podremos usar la combinación Alt+F4.

Una vez en DOSbox, debemos tipear "exit" para cerrarlo

Finalmente, si deseamos desinstalar dicha aberración de nuestro sistema Justicialista, simplemente ingresamos los siguientes Comandos de Organización:

cd ~

rm -r ~/.jdos/fileswin/ ~/.jdos/WINDOWS/ ~/.jdos/WINWORD/ ~/.jdos/SB16/ ~/.jdos/inst/