sábado, 28 de septiembre de 2013

¿Cómo ejecuto juegos de MS-DOS en Ubuntu?

¡Descamisados!

Durante los 10 años del peronismo se configuró una etapa plena de realizaciones para la amplia capa social de obreros y empleados, quienes vieron convertirse en realidad efectiva sus antiguas aspiraciones, tanto laborales, como económicas y espirituales.

Mas no todo es eterno:: aquellos pocos que reniegan de la felicidad del Pueblo hicieron todo para hacer caer las realizaciones que tanto trabajo costaron. Por ello todo el Movimiento Organizado ha de luchar por restaurar aquellas políticas y a aquellos hombres que las hicieron posible. Nada suele ser gratis, porque cuando algo es gratis "hasta el santo desconfía". Lo ganado se hace por medio del trabajo, o por medio de la lucha.

Ahora bien, el Justicialismo entiende que los hombres no son máquinas: requieren el descanso físico y el reconforte espiritual necesario para conservar una mente sana en un cuerpo sano. No es una aspiración del hombre, es un derecho que se ha ganado. Y para practicarlo, qué mejor que el software lúdico.

Existen numerosísimas opciones dentro del ámbito del software libre. ¿Pero qué sucede cuando queremos ejecutar antiguos programas de índole lúdica preparados para otro sistema?

No es secreto para nadie que bajo los sistemas GNU con Linux contamos con DOSemu, un excelente entorno de emulación similar a MS-DOS. El mismo es de buena factura, pero está orientado a las aplicaciones convencionales de PC, uso industrial, y no a juegos. Puede imprimir, trabajar con puertos seriales convenientemente emulados para controlar máquinas herramienta por ejemplo, así como funcionar con aplicaciones generales de software escritas para el privativo M$-DO$.

Vean señores, durante mi época de cadete en el Colegio Militar tenía instructores alemanes de tàctica, estrategia, higiene, deporte y tiro. Pero en esa época de retoño a veces me hacía la rata y me quedaba jugando con juegos para M$-DO$. Éstos - por el uso que hacían de la técnica y su diseño - exprimían al máximo las posibilidades del sistema, y pueden considerarse hoy como clásicos.
Por ello en el caso del empleo lúdico no suele ser suficiente DOSemu: para permitir el uso de tales juegos se requiere un entorno diferente específicamente maquinado para usar de forma particular el video, la memoria y del sonido emulado. Tal herramienta es el emulador DOSbox.

Se trata de un entorno emulado libre basado en hardware tipo IBM compatible, con sistema operativo similar a M$-DO$ 5.00, e intencionalmente preparado para correr juegos al ofrecernos la máxima performance en los campos mencionados anteriormente.

Características generales

En particular, DOSBox hace un uso más eficiente de la memoria para poder correr juegos que tuviesen "altos requerimientos" (para la época). El entorno DOSbox dispondrá de 632Kb de memoria RAM "convencional" libre, y unos 15 Mb de memoria extendida EMS mas otros 15 mb de memoria expandida XMS.
Esto podría parecer poco para los usos del peronismo, pero recordemos que el MS-DOS ni siquiera preveía originalmente direccionar más de 640 Kb, y si lo hizo después fue gracias a extensiones de software; raramente se lograba tener tanta RAM convencional libre.

Asimismo, contaremos con un sistema de sonido emulado, reminiscente de las tarjetas de sonido "Creative Labs Sound Blaster 16". De esta manera podremos tener en GNU una fiel versión del sonido de los generadores de sonido por Síntesis FM (los chips Yamaha OLP3 de dotación en tales placas). Hemos de saber que por defecto, la configuración de la tarjeta de sonido es Address 220h, IRQ 7, DMA 1. Estos direccionamientos se ajustan automáticamente en los sistemas modernos, pero en los emulados deben configurarse así, sobre todo en los juegos de la época. Para ello debemos hacer uso de la rutina de instalación del juego en particular (programa "SETUP" o "INSTALL" si los tuviesen, en particular los juegos que hacen uso del sonido digitalizado). Caso contrario el audio digital de los juegos podría entrecortarse, o dará error.


En cuanto al apartado de video, veremos que DOSbox simula una plaqueta Super VGA S3 Trio64, capaz de ofrecernos la popular resolución VGA de 320x200 a 256 colores simultáneos (a escoger entre una paleta de 16,7 millones). Este modo de video era el tradicional de la mayoría juegos de la época, que nos daba la añorada estética "serrucho". También puede ofrecer resoluciones altas de hasta 640x480 en 256 colores, aunque no era comun en M$-DO$.
Instalación
Para cargar DOSbox en nuestro sistema GNU con Linux, abrimos una consola terminal con Ctrl+Alt+T e ingresamos el siguiente comando de organización:

sudo apt-get install dosbox

Por cuestiones operativas, nos convendrá crear dentro de nuestra carpeta de usuario una carpeta llamado "jdos" ("juegos para DOS"). Este proceder facilitará mucho el montado posterior de programas en el emulador.

Ello lo haremos solamente la primera vez, con el siguiente comando:

mkdir ~/.jdos

Dentro de esta carpeta agregaremos los juegos que tengamos, o los instalaremos allí. Conviene crear una carpeta de 8 letras como máximo para cada juego (ejemplo, "pacman", "simcity", "f15", "aces", "redbaron", etc.

También podríamos querer configurar el teclado. El emulador carga normalmente con el teclado con distribución estadounidense. Para pasarlo a la distribución española, podremos configurarlo especialmente. Para ello ingresamos:

cd ~/Descargas/
mkdir dosbox
cd ~/Descargas/dosbox
wget http://www.dosbox.com/tools/DOSBox-spanish-074.zip
unzip DOSBox-spanish-074.zip
mv dosbox-0.74.conf ~/.dosbox
mv spanish-0.74.lang ~/.dosbox
mv MANUAL.txt ~/.dosbox
mv GRACIAS.txt ~/.dosbox
cd ~/Descargas/
rm -r dosbox/
cd ~


...luego ingresamos:

nano ~/.dosbox/dosbox-0.74.conf

Se abrirá el archivo de configuración en castellano de DOSbox. Al final buscamos la entrada que configura la distribución del teclado:

keyboardlayout=auto

....y la modificamos para que quede:

keyboardlayout=es

También nos aseguramos que la variable lang diga lo siguiente:

language=spanish-0.74.lang

Para iniciar el emulador, debemos dirigirnos a Aplicacionmes / juegos / Emulador DOSbox.

El emulador arrancará la interfaz de línea de comandos similar al DOS. Normalmente nos depositará en la unidad "Z:\", la cual contiene el software necesario para su funcionamiento (se trata de un "disco virtual en memoria RAM"). Si ingresamos el comando "dir" listaremos el contenido del directorio. En particular, dentro de esta unidad Z:\ deberíamos encontrar el interprete de comandos COMMAND.COM, un programa MEM.EXE para contar la memoria, MIXER.EXE para regular el volumen del audio, etc.

Para emular efectivamente un sistema, y especialmente para correr juegos en velocidad correcta, es importante la velocidad del procesador emulado. Normalmente el sistema arrancará emulando una velocidad de 3000 ciclos (30 Mhz, similar a una confiable 386), pero podremos ajustar la velocidad del mediante Ctrl+F12 para incrementar los megahertzios, y Ctrl+F11 para disminuir los megahertzios. Tal lectura se indicará en "Ciclos" en la barra de título de la ventana. Como referencia, habrán de saber que durante la era de oro de los juegos para DOS, los microprocesadores x86 fueron los Intel 80286, 80386, 80486, y los Pentium, los cuales fluctuaban entre los 8 Mhz en las radicales 80286 hasta los 300 Mhz con las más afiebrados Pentium.
Si deseamos simular un Pentium 133Mhz, podemos presionar Ctrl+F12 hasta lograr un valor cercano a los 133000 ciclos.

Para correr los juegos debemos montar la carpeta de los juegos como un disco e iniciarlos escribiendo los comandos correspondientes. Normalmente, será el disco C: Para ello, en la ventana del DOSBox ingresamos:

mount c ~/.jdos
(recordemos que el ~ se hace con Alt Gr+4 en el caso del teclado configurado en castellano, y con Mayúsculas+\ en el caso de tenerlo configurado en inglés).

Esto montará a la carpeta ".jdos" como si fuese el disco C:\.

Si deseáramos montar un disco CD-ROM, debemos conocer la etiqueta del mismo. Colocamos el disco CD-ROM en la lectora, y la misma debería tener una etiqueta. Por ejemplo "MONKEY2". En tal caso, el comando para montarlo como disco e:\ sería:

mount e /media/MONKEY2/ -t cdrom

Ahora nos dirigiremos al disco montado c: y ya podremos ver los juegos que estuviesen cargados en esa carpeta. Para revisar los directorios usarmos el comando "dir" (similar a ls de GNU). Para entrar a los directorios usamos cd directorio y para retornoar al nivel anterior, usamos cd..

Los archivos ejecutables de DOS son aquellos con extensión EXE, COM, o BAT. Por lo tanto, si tuviésemos una colección de clásicos juegos de Microprose como el Formula One Grand Prix, podríamos ingresar los siguientes Comandos de Organización:

c:
cd mps
cd f1gp
f1gp.bat

(o directamente, c:\mps\f1gp\f1gp.bat). Recordemos que el DOS no diferenciaba entre mayúsculas y minúsculas.

El software libre y el abandonware nos permitirá sentir la velocidad de emular al DOS, y Ricardo Patresse en el circuito de Suzuka.

También podremos correr los juegos más exigentes de la era con gran facilidad mientras tengamos un equipo con varios núcleos. Por ejemplo, podremos volar cual Tetsuzo Iwamoto en un Mitsubishi A6M2 Zero en el estelar "1942".
Y porqué no, elegir bombardear Panamá o interceptar MiG-29s en la noche Bagdadí de Tomernta del Desierto en "Strike Eagle III".
Muchos de los juegos clásicos cuentan con equivalente en Software Libre, pero para los que no, esta es una solución ideal.

No hay comentarios:

Publicar un comentario