MANUAL DOSBOX:
Su uso, acelerar la emulación, el archivo dosbox.conf

USO DE DOSBOX

Bueno, después de nuestra pequeña lección de MS-DOS, vamos con el emulador sin más dilación... Así que accedemos a la carpeta dónde lo tenemos instalado y lo iniciamos, o bien lo arrancamos con el correspondiente acceso directo. Veremos que aparecerá rápidamente una ventana similar a ésta:

Inicio de DOSBox

Bien, en el borde de arriba de la ventana tenemos algunos datos de interés. Los CPU cycles, por ejemplo, nos indican la cantidad de instrucciones que estamos emulando; algo así como la velocidad a la que está funcionando DOSBox. Frameskip indica si hay algún salto de frames activado; lo normal es que tenga un valor de cero (sin salto de frames, el emulador muestra todas las imágenes que produce, sin omitir ninguna), aunque en algunas ocasiones querremos cambiarlo. Por último, Program indica simplemente el programa que estamos ejecutando en DOSBox.

Y ya en el interior de la ventana vemos la acostumbrada línea de comandos de MS-DOS, que a estas alturas no debería sorprender a nadie (de lo contrario, echadle una ojeada al capítulo anterior). El recuadro azul con letras blancas que vemos en la mitad superior de la ventana simplemente muestra unas pequeñas ayudas, gentileza de los desarrolladores de DOSBox.

Lo primero que nos llamará la atención será el hecho de comenzar a trabajar en una unidad llamada Z:. En realidad, ésta es una unidad ficticia que crea el emulador al iniciarse. En ella se encuentran las utilidades básicas que incluye DOSBox por defecto, y resultarán imprescindibles para el manejo del emulador —bueno, realmente no todas, pero sí algunas—.

Con el comando dir podemos verlas todas:

Utilidades básicas de DOSBox

Bueno, COMMAND.COM y AUTOEXEC.BAT no nos interesan; forman parte del inicio de DOSBox —y de cualquier sistema operativo MS-DOS—, y no tendremos que preocuparnos de estos archivos para nada.

Ahora vamos a suponer que deseamos jugar una partida a Wolfenstein 3D, un videojuego que tenemos guardado en la carpeta C:\JUEGOS\WOLF3D de nuestro disco duro. Sin embargo, en DOSBox nos encontramos en la unidad Z:, y si intentamos pasar a C:, nos aparece una especie de error. ¿Qué pasa aquí?

Montar unidades y directorios: el comando mount

Muy sencillo; DOSBox no utiliza directamente las unidades lógicas de nuestro sistema operativo. Así que tenemos que "montarlas" antes de hacer nada —un concepto muy familiar para cualquier usuario de Linux—. Para eso tenemos la primera utilidad básica de DOSBox que veremos: mount.

mount (letra de la unidad emulada) (directorio o unidad) [-t tipo] [-aspi] [-ioctl] [-usecd número] [-size tamaño] [-label etiqueta] [-freesize tamaño_en_MB]

Bueno, ante todo no os asustéis :risa:. Parece complicado, pero no lo es. Mount permite de hecho muchas opciones, pero en circunstancias normales apenas usaremos dos o tres. Las únicas que tendremos que especificar obligatoriamente son la letra de la unidad emulada y el directorio o unidad que queremos que lea DOSBox.

Lo mejor, verlo en ejemplos:

Z:\> mount c c:\
Creamos en el emulador una unidad C:, cuyo contenido será nuestro disco duro C: y todos sus directorios.

Z:\> mount c c:\juegos
Básicamente lo mismo que en el ejemplo anterior... Creamos una unidad C:, en la que encontraremos el contenido de la carpeta C:\JUEGOS de nuestro disco duro.

Así, para jugar la partida a Wolfenstein 3D que hemos mencionado arriba, necesitaríamos escribir lo siguiente:

Z:\> mount c c:\juegos
Drive C is mounted as local directory C:\JUEGOS\
(Ahora ya tenemos una unidad C: en DOSBox).

Z:\> c: ← Accedemos a la unidad C: recién creada.
C:\> cd wolf3d ← Entramos a la carpeta del Wolfenstein 3D.
C:\WOLF3D> wolf3d.exe ← Y lo ejecutamos.

Por supuesto, mount también trabaja con otros sistemas de archivos, aparte del clásico de Windows. Por ejemplo, en un sistema Linux:

Z:\> mount d /home/macario/juegos
(Creamos en DOSBox la unidad D:, cuyo contenido será el del directorio /home/macario/juegos de nuestro ordenador, y todos sus subdirectorios).

Con mount podemos también montar unidades de CD-ROM, o de disquete. Para ello tenemos la opción -t, que indica el tipo de unidad que queremos utilizar:

Z:\> mount d e:\ -t cdrom
(Montamos nuestra unidad de CD-ROM E: como D: en DOSBox).

Z:\> mount a a:\ -t floppy
(Creamos en DOSBox una unidad de disquete A:, que contendrá los archivos de la unidad A: de nuestro ordenador).

Las otras opciones de mount muy rara vez las utilizaremos, pero las comentaré aunque sea someramente:

-size (tamaño): Especifica el tamaño de la unidad que queremos montar. No es una opción fácil, porque deberemos introducirlo no en megabytes, sino con los parámetros de disco que vemos en cualquier BIOS: cabezales, sectores y cilindros.

Z:\> mount c d:\ -size 4025,127,16513,1700
(Montamos una unidad C: de 870 MB).

-freesize (tamaño_en_MB): Tiene la misma función que -size, pero un uso más sencillo, puesto que ahora sí podremos introducir el tamaño de la unidad emulada en megabytes:

Z:\> mount c d:\ -freesize 870
(Igual que arriba; montamos una unidad C: de 870 MB).

-label (etiqueta): Especifica una etiqueta para la unidad que vamos a montar; vamos, como asignarle un nombre. Esto puede resultar útil para arrancar ciertas utilidades que necesitan una unidad de CD con un nombre determinado.

Z:\> mount d f:\ -t cdrom -label tekwar

Montando una unidad de 10 MB

-aspi: Utiliza los controladores ASPI. Sólo nos resultará útil al montar una unidad de CD-ROM en ciertos sistemas Windows.

Z:\> mount e e:\ -t cdrom -aspi

-ioctl: Utiliza los comandos IOCTL para montar una unidad de CD-ROM. Válido solamente en sistemas Windows que lo soporten (Windows 2000/NT/XP).

Z:\> mount e e:\ -t cdrom -ioctl

-usecd (número): Usa el soporte SDL para emular la unidad de CD-ROM. Las unidades de CD-ROM de nuestro ordenador y sus números correspondientes podemos verlos con la opción -cd.

Z:\> mount d e:\ -t cdrom -usecd 0

-cd: Muestra todas las unidades detectadas de CD-ROM, y sus números de identificación para su uso con la opción -usecd, comentada en el párrafo de arriba.

Z:\> mount -cd

Detectando nuestras unidades físicas de CD

-u: Eliminamos la unidad que deseemos de las que tenemos montadas. Obviamente, la única que no podremos desmontar será la Z:...

Z:\> mount c c:\prog
Drive C is mounted as local directory C:\PROG\
(Creamos la unidad C:).

Z:\> mount -u c
Drive C has succesfully been removed.
(Y la eliminamos).

Bueno, si sabemos emplear la utilidad mount y dominamos el funcionamiento básico de MS-DOS, ya tenemos la gran mayoría del trabajo hecho, y podremos usar DOSBox para ejecutar juegos y programas sin grandes complicaciones. Lo que quedaría por comentar serían refinamientos para sacarle el máximo partido al emulador.

Por ejemplo, valdría la pena mencionar las restantes utilidades de DOSBox, si bien para el usuario de a pie no tendrán mucho uso. Información detallada sobre la utilización de cada una de ellas podemos encontrarla en el archivo README que viene con el emulador.

El comando mem

Muestra la cantidad de memoria (convencional, extendida y expandida) que queda libre en la emulación. Viene a ser una versión simplificada de la clásica utilidad de MS-DOS.

Su uso consiste en escribir simplemente:

Z:\> mem

Al contrario que con el comando mount, no hay opciones añadidas que deban preocuparos.

El comando config

Guarda la presente configuración de DOSBox en un archivo. Por supuesto, este fichero estará localizado en alguna unidad física del ordenador, y no en las emuladas con mount.

El archivo de configuración —que usualmente se llama dosbox.conf— controla diversas opciones de funcionamiento de DOSBox: la cantidad de memoria emulada, el modo de renderización gráfica —OpenGL, DirectDraw, etc—, y muchas más.

Si este archivo no existe, el emulador se inicia con las opciones por defecto. Pero con el comando config podemos crearlo, para modificarlo después cómodamente y configurar DOSBox a nuestro gusto.

El uso de config es el siguiente:

config [-writeconf] [-writelang]

Y aquí tenéis un ejemplo práctico:

Z:\> config -writeconf dosbox.conf
Crea el fichero de configuración dosbox.conf.

El comando loadfix

Antes que nada, un sumario sobre su uso:

loadfix [-memoria] [programa a ejecutar]
loadfix -f

Puede suceder que, a la hora de ejecutar algunos programas realmente antiguos, nos encontremos con que tienen demasiada memoria convencional disponible. Loadfix se encarga de remediar esto; por así decir, "engulle" porciones de memoria, reduciendo de este modo la cantidad que queda libre.

-memoria: Indica la cantidad de memoria, en KB, que haremos desaparecer. Si no especificamos nada, será de 64 KB.

Empleando Loadfix

Programa a ejecutar: También es opcional. Simplemente podemos arrancar cualquier archivo ejecutable directamente con loadfix. Por ejemplo:

Z:\> loadfix -100 d:\arkanoid\doh.exe

-f: Con esta opción liberamos toda la memoria que hayamos consumido con anteriores usos de loadfix.

El comando rescan

Hace que DOSBox vuelva a leer el contenido de todas las unidades emuladas. Útil si, por ejemplo, hemos modificado alguna de ellas desde fuera del emulador —añadiendo o eliminando algún fichero, etc—.

De todas formas, presionar al mismo [CTRL] y F4 tiene el mismo efecto.

El comando mixer

Sirve para controlar el sonido emulado. Podemos ver el volumen de cada uno de los canales tecleando simplemente mixer. Ahora, también nos permite hacer cambios del siguiente modo:

mixer [canal izquierda:derecha]

El canal puede ser uno de los siguientes: MASTER, DISNEY, SB, GUS, SPKR, FM. Y los valores izquierda:derecha hacen referencia a un porcentaje de volumen (o sea, un número del uno al cien).

El comando imgmount

Con esta utilidad podremos montar imágenes de disco y CD-ROM para usarlas en DOSBox. Los usuarios de máquinas virtuales como Bochs o QEMU estarán familiarizados con la idea; una imagen de disco es un archivo (por ejemplo, c.img, linux.img, blood.iso, etc) que contiene todo un sistema de ficheros. Dicho sistema de ficheros podría ser una partición de disco duro con un sistema operativo instalado, o bien una copia de un disquete o CD-ROM.

Esto quiere decir que hay diversos tipos de imágenes de disco, y cada uno debe manejarse de una forma distinta. La gran mayoría de usuarios no necesitará para nada montar imágenes de disco duro; es bastante engorroso, de todas formas, porque hay que conocer las especificaciones —sectores, cabezales y cilindros— del disco duro que pretende representar la imagen. En cambio, montar imágenes de CD-ROM puede ser una idea más interesante, porque de este modo es posible usar juegos y programas editados en CD-ROM sin tener que grabarlos antes en un disco. Descargas la imagen ISO de Internet, la guardas en tu disco duro, la montas directamente en DOSBox; ya no necesitas una grabadora ni cedés vírgenes.

El uso de imgmount puede resumirse así:

imgmount (letra de la unidad emulada) (imagen de disco) [-t tipo_de_la_imagen] [-fs formato_de_la_imagen] [-size tamaño_del_sector, sectores, cabezales, cilindros]

Todo esto es un galimatías, así que intentaré explicarlo lo mejor que pueda. La letra de la unidad emulada, naturalmente, corresponde a la unidad virtual que le asignará DOSBox a la imagen de disco; la idea es la misma que la del comando mount. Y la imagen de disco es el archivo que deseamos montar.

Así que, antes de seguir, un ejemplo sencillo bastará para la mayoría de los lectores. Hemos descargado de Internet la edición en CD-ROM de Shadow Warrior, que viene en una imagen de disco llamada swarrior.iso, y que tenemos guardada en nuestro disco duro, en la carpeta c:\warez :risa:. Para usar este archivo .iso en DOSBox, teclearíamos una orden como ésta:

Z:\> imgmount d c:\warez\swarrior.iso -t iso -fs iso

Así crearíamos una unidad de CD-ROM emulada (D:) con los contenidos del archivo swarrior.iso.

Bien, pues éste es el modo de usar imgmount para leer imágenes de CD-ROM, que es lo que casi todos vosotros querréis hacer con este comando. Me quedaría señalar dos cosas:

  1. He hablado de imágenes de CD-ROM en formato .iso, pero mediante imgmount también pueden montarse los archivos cue/bin. Se trata de imágenes de disco que vienen divididas en dos partes —por ejemplo, quake1.cue y quake1.bin—. En estos casos, deberéis montar siempre el archivo .cue.

  2. Para MS-DOS llegaron a publicarse algunos juegos que se distribuían en varios cedés —me estoy acordando de una especie de aventura gráfica futurista, con montones de secuencias de vídeo, que ocupaba nada menos que seis discos—; no son muchos, pero existen...

    Pues bien, en estos casos tendréis que montar todas las imágenes de disco en la misma unidad virtual, más o menos como se muestra en el siguiente ejemplo:

    Z:\> imgmount d disco1.iso,disco2.iso,etc -t iso -fs iso

    En este caso, todas las imágenes montadas irían asociadas a la unidad D:. Para alternar entre una y otra —lo que en un ordenador real sería abrir el lector de CD-ROM y cambiar el disco— tendréis que pulsar [CTRL] y F4.

A continuación veremos para qué sirven las diferentes opciones de imgmount. De todas formas, supongo que a la mayoría de la gente le bastará con la explicación anterior... Pero bueno, aquí están.

-t tipo_de_la_imagen: El tipo de imagen que queremos montar. Puede ser uno de los siguientes:

  • floppy: Una imagen de disquete —los denominados floppies, hoy en desuso—. Como había disquetes de varios tipos, estas imágenes pueden tener diversos tamaños. Pero todas ellas deberían funcionar en DOSBox sin mayores problemas.
  • iso: Una imagen de CD-ROM. Aunque la opción se llame iso, alude en realidad tanto a archivos .iso como a parejas cue/bin.
  • hdd: Una imagen de disco duro. Deben especificarse sus cabezales, sectores y cilindros —véase la descripción de la opción -size—.

-fs formato_de_la_imagen: Esta opción alude al sistema de archivos de la imagen. DOSBox admite los siguientes:

  • iso: Especifica el formato de CD-ROM ISO 9660.
  • fat: El sistema de archivos FAT, típico de MS-DOS y otros sistemas similares.
  • none: DOSBox no leerá el sistema de archivos de la imagen. Puede ser útil en circunstancias muy especiales; quizás tengáis una imagen vacía que queréis formatear, o algo así. Tenéis más información sobre esto en el archivo README que viene adjunto con el emulador.

-size tamaño_del_sector, sectores, cabezales, cilindros: Si trabajáis con imágenes de discos duros, esta opción indica las especificaciones de la unidad representada por la imagen. Si no trabajáis con imágenes de discos duros, esta opción no indica nada y no deberíais usarla.

El comando boot

Sirve para arrancar imágenes de disco (bien de disquetes o de rígidos) con otros sistemas operativos en DOSBox; por ejemplo, una imagen de un disquete de arranque de MS-DOS.

Para ver información detallada sobre su uso, leed el archivo README.

Conexiones en red mediante IPX

Por último, me quedaría comentar que DOSBox también permite conexiones en red, emulando el viejo protocolo IPX en nuestras conexiones UDP/IP. Esto debe ser activado en el archivo de configuración —por defecto suele venir inactivo—.

Luego, ya dentro del emulador, contamos con el comando ipxnet para trabajar con nuestra conexión. Yo no tengo conocimientos de primera mano sobre este aspecto concreto de DOSBox, así que no comentaré nada aquí. De todos modos, esto viene bastante bien explicado en el archivo README; aunque para sacarle provecho serán necesarios al menos las nociones más básicas sobre redes (qué es una IP, un puerto, un cliente, un servidor..., esas cosas).

Si alguna vez tengo ocasión de hacer pruebas prácticas con esto, ya actualizaría este manual con una sección al respecto. Mientras tanto, no tengo nada más que añadir...

TECLAS BÁSICAS

Hay varias combinaciones de teclas que, mientras ejecutamos DOSBox, nos permitirán modificar ciertas opciones o llevar a cabo diversas tareas. Conocerlas es prácticamente imprescindible, aunque hayan algunas más importantes que otras:

  • [ALT] + [INTRO]: Cambiamos entre el modo de ejecución en pantalla completa y el de ventana.
  • [CTRL] + F1: Inicia las opciones de configuración de las teclas.
  • [CTRL] + F4: Recarga el contenido de todas las unidades montadas. También sirve para cambiar entre imágenes de CD-ROM, cuando se han montado varias con imgmount.
  • [CTRL] + F5: Guarda una captura de pantalla (en formato PNG).
  • [CTRL] + F6: Comienza / termina la grabación de los sonidos emitidos por el emulador en un archivo WAV.
  • [CTRL] + [ALT] + F7: Comienza / termina la grabación de comandos OPL.
  • [CTRL] + [ALT] + F8: Comienza / termina la grabación de comandos MIDI. Esto es interesante, porque permite guardar las melodías de muchos juegos en pequeños archivos .mid.
  • [CTRL] + F7: Disminuye el salto de frames.
  • [CTRL] + F8: Aumenta el salto de frames. El valor máximo es 10.
  • [CTRL] + F9: Cierra DOSBox.
  • [CTRL] + F10: Captura o libera el puntero del ratón.
  • [CTRL] + F11: Reduce la velocidad de la emulación (disminuyendo el número de ciclos).
  • [CTRL] + F12: Aumenta la velocidad de la emulación.

Éstas son las combinaciones de teclas que utiliza el emulador por defecto; sin embargo, podemos cambiarlas desde las opciones que aparecen al pulsar [CTRL] + F1.

Las capturas de pantalla y archivos de sonido que grabemos con DOSBox se almacenarán dentro del subdirectorio capture —a no ser que hayamos especificado otra cosa en el archivo dosbox.conf; mirad más abajo—. Y cuidado, porque si éste no existe, DOSBox simplemente no guardará nuestras capturas.

ACELERANDO LA EMULACIÓN

Bien, llegados a este punto, es de suponer que ya controlamos los aspectos básicos de DOSBox, y seguramente ya habremos hecho algunas pruebas con él... En este caso, probablemente —a no ser que hayamos ejecutado software realmente viejo— nos hayamos encontrado con un funcionamiento demasiado lento; sobre todo, si nuestro ordenador tiene ya un poco de "veteranía", o si estamos intentando correr algún juego exigente, como pudiera ser por ejemplo Doom. Esto, claro, no es deseable.

De hecho, muchos huyen de DOSBox cuando ven que sus títulos favoritos son emulados a la velocidad de una babosa renqueante, sin percatarse de todas esas opciones que pueden configurarse para conseguir mejores resultados. Y esto es precisamente lo que trataré aquí; consejos para optimizar el funcionamiento del emulador, y sacarle el máximo partido.

Empezaremos por las cosas básicas; esas que deberían resultar obvias, pero en las que no repara mucha gente...

Lo primero sería, antes de poner en marcha el DOSBox, cerrar todas las aplicaciones innecesarias, aunque estén ejecutándose en segundo plano. Tan sólo deberíamos dejar las más imprescindibles —a no ser que nuestro ordenador vaya sobrado, claro—. No hay que ser muy despierto para percatarse de que si utilizamos DOSBox mientras descargamos películas con el Emule, Firefox tiene diez pestañas abiertas y estamos escaneando un disco, los resultados no van a ser los mejores. En Linux no estaría de más desactivar escritorios virtuales; al menos, si vamos bastante apurados.

También es muy importante ejecutar el emulador en pantalla completa (podemos cambiar entre ventana y pantalla completa pulsando [ALT] + [INTRO]). Así podemos ganar en ocasiones más del doble de velocidad; mostrar el escritorio y al mismo tiempo la ventana de DOSBox consume muchos recursos del ordenador de un modo innecesario.

Y ahora vamos con el interesante tema de los "ciclos".

Como habréis visto en el apartado anterior, en DOSBox tenemos dos combinaciones de teclas ([CTRL] + F11 y [CTRL] + F12) para cambiar el número de ciclos en la emulación. O sea, para modificar la velocidad a la que está trabajando DOSBox. Este número lo veremos, cuando estemos en modo ventana, en su barra superior.

Pulsando [CTRL] + F12 aumentamos el número de ciclos, lo cuál influye decisivamente en el rendimiento. La configuración por defecto suelen ser 2000 ciclos; pero se nos pueden quedar muy cortos cuando ejecutemos software pensado para máquinas 386 o 486, así que a menudo tendremos que incrementarlos.

No hay un límite estricto al número de ciclos que podemos especificar en el emulador. Sin embargo, nuestra CPU sí lo tiene. Quiero decir, que aumentando los ciclos incrementamos también los recursos del ordenador que está utilizando DOSBox; y éstos sí que se agotan... Pasados ciertos valores —que dependen en todo caso de la potencia de nuestra máquina—, hacer crecer el número de ciclos ya no nos servirá de nada. Es más, resulta contraproducente, y suele enlentecer el emulador. Así que en vez de pulsar [CTRL] + F12 a lo loco, deberíamos controlar los recursos del sistema que estamos empleando, para no pasarnos.

Ejecutando Spear of Destiny a 14000 ciclos.

Para acelerar las cosas un poco más, podemos trastear también un poco con el salto de frames; para ello tenemos las combinaciones de teclas [CTRL] + F7 y [CTRL] + F8.

¿Y qué es un frame? Pues cada una de las imágenes generadas por la CPU que son mostradas en nuestro monitor; ni más ni menos. Esto funciona un poco como la técnica de los dibujos animados. Por ejemplo, una animación de una pelotita cruzando nuestra pantalla está elaborada en realidad con un número x de frames —imágenes fijas—, que al sucederse rápidamente crean una ilusión de movimiento.

En DOSBox, el salto de frames por defecto suele ser de 0; esto es, todas las imágenes generadas por el programa que estemos ejecutando serán reproducidas por el emulador. Sin embargo, no siempre podremos permitírnoslo, puesto que esto requiere bastantes recursos. Así que en ocasiones cambiar este valor puede sernos de ayuda.

Por ejemplo, especificando un salto de frames de 1, DOSBox mostrará una imagen e ignorará otra. En la práctica, supone reducir el número de frames reproducidos a la mitad, lo cual aumentará significativamente la velocidad de la emulación.

Ahora, esto tiene su parte negativa. Saltos de frames demasiado grandes pueden restarle mucha fluidez al juego que estemos ejecutando, haciéndolo funcionar a golpes, con lo que estaríamos perdiendo por una parte lo que ganamos por otra. Por lo que yo mismo he ido viendo, saltos de frames mayores de 4-5 ya comienzan a resultar problemáticos en muchos juegos.

Todavía hay más cosas que podemos hacer para acelerar DOSBox.

Por ejemplo, hay ciertos aspectos del sonido que deberíamos tener en cuenta. La emulación de Gravis Ultrasound es algo más rápida que la de SoundBlaster, así que deberíamos escoger esta tarjeta de sonido al configurar los juegos que queramos usar —vamos, si la soportan, cosa que no se cumple en muchos—. Así mismo, para la música midi resulta preferible General Midi en lugar de Adlib o SoundBlaster.

Otra solución es bajar la calidad del sonido de todos los dispositivos de audio emulados. Por defecto suele estar a 22050 Hz, pero podemos dejarlo en 11025 Hz. Para esto deberemos editar el archivo de configuración del DOSBox, el dosbox.conf (ver siguiente capítulo).

En casos más extremos, podemos simplemente desactivar el sonido de ese juego que tanto se resiste a funcionar con fluidez... Esto reduce los recursos utilizados por DOSBox y mejora un poco el rendimiento.

También tenemos la posibilidad de cambiar el cpu core, de normal (su valor por defecto) a dynamic; esto se hace editando el archivo dosbox.conf, cosa que explico en el siguiente capítulo. El modo "dynamic" nos proporciona una velocidad mayor, pero como contrapartida resulta más inestable. Si os decidís a usarlo, grabad frecuentemente vuestras partidas para evitar disgustos.

Por lo demás, el "dynamic core" sólo funcionará en procesadores x86 (vamos, los PCs típicos). Así que quién quiera ejecutar DOSBox en otro tipo de máquina (un Mac basado en PowerPC, por ejemplo), mejor que se olvide de esta opción.

Por último, los juegos que funcionan en el modo protegido de MS-DOS (son fáciles de reconocer, puesto que para su arranque utilizan el archivo DOS4GW.EXE) exigen bastantes recursos y pueden darnos problemas. Con ellos es preferible usar DOS32A; lo explico en el capítulo correspondiente, más adelante.

EL ARCHIVO DOSBOX.CONF

DOSBox cuenta con un archivo de configuración —dosbox.conf, situado en la misma carpeta que el ejecutable— que podemos modificar para arreglar a nuestro gusto el funcionamiento del emulador. Cualquier editor de texto —Bloc de Notas, Leafpad, etc— nos servirá para hacerlo.

Puede suceder —aunque no es lo normal en la mayoría de versiones de DOSBox— que este archivo no esté presente. En tal caso deberíamos crearlo, arrancando DOSBox y ejecutando la utilidad config. En el capítulo de Uso de DOSBox está explicado este detalle.

Bueno, hemos abierto el archivo dosbox.conf y estamos listos para modificarlo... Comentaré las opciones más importantes, aunque suelen venir explicadas dentro del mismo fichero, con comentarios en inglés.

fullscreen= (false, true)

Especifica si DOSBox arranca en un principio en una ventana, o en el modo de pantalla completa. El valor por defecto es false (se inicia en una ventana), pero podemos cambiarlo a true si queremos iniciar el emulador directamente en pantalla completa.

output= (surface, overlay, ddraw, opengl, openglnb)

Aquí establecemos el modo gráfico en el que trabajará DOSBox. Podemos elegir los siguientes valores: surface, overlay, opengl, openglnb, ddraw. Siempre podemos ir probándolos para ver cuál nos da mejores resultados; aunque la mayoría de la gente suele dejar el valor por defecto, surface. No obstante, ddraw también debería funcionar bien en sistemas Windows; así mismo, valdría la pena hacer pruebas con el valor opengl si contamos con una tarjeta gráfica decente.

memsize= (valor)

Especifica los megabytes de memoria RAM que emulará DOSBox. El valor por defecto suele ser de 16, aunque podemos escoger otro que se adapte mejor a nuestras necesidades o a las posibilidades de nuestro ordenador. Por alguna razón, los valores por encima de 31 MB no están recomendados.

machine= (vga, cga, tandy, hercules)

El tipo de tarjeta gráfica que emulará DOSBox. La opción por defecto es vga, que servirá para la mayoría de los viejos títulos de MS-DOS. Juegos programados para EGA o CGA deberían funcionar también con este valor. Sin embargo, para emular software que sólo admita Tandy o Hercules —que es muy poco, en realidad—, tendremos que usar las opciones correspondientes.

Por cierto, con el valor vga también podremos usar los modos en alta resolución VESA —empleados por algunos juegos de mitad de los noventa, como Duke Nukem 3D, etc—..., vamos, si nuestra CPU puede con ello.

Nota: en las últimas versiones de DOSBox —en el momento de añadir este párrafo al tutorial, la más reciente es la versión 0.73— esto ha cambiado un poco. La opción vga ya no existe —en su lugar tenemos vgaonly, que ya no muestra los modos gráficos VESA—, y se han agregado otras nuevas que emulan diversas tarjetas gráficas —svga_s3, svga_et3000, svga_paradise, etc—. La verdad es que vgaonly es un buen valor de compromiso, pero si vais a usar software que admita los modos VESA en alta resolución seguramente querréis probar otras tarjetas emuladas, como svga_s3 o vesa_oldvbe.

captures= (carpeta)

Especifica el subdirectorio en el que DOSBox almacenará las capturas de pantalla, grabaciones de sonido..., que vayamos haciendo. Por defecto suele ser la carpeta captures. Si indicáis aquí un directorio inexistente, el emulador no guardará nada.

frameskip= (valor)

Asignamos el salto de frames con el que funcionará DOSBox por defecto. El valor usual es cero, pero podemos usar cualquier otro que se adapte a nuestras necesidades. Para más información sobre los saltos de frames, echad una ojeada al capítulo "Acelerando la emulación".

core= (normal, full, simple, dynamic)

Núcleo de CPU usado en la emulación. El valor por defecto es normal. Ahora, si queremos acelerar un poco el funcionamiento de DOSBox, podemos cambiarlo a dynamic. Sin embargo, este modo resulta más inestable que el normal (ver el capítulo "Acelerando la emulación").

cycles= (valor)

El número de ciclos (instrucciones emuladas por milisegundo) con el que trabajará DOSBox al iniciarse. Suelen ser 2000, pero podemos cambiar este valor a otro más acorde con lo que necesitamos. Así nos ahorramos ajustar el número de ciclos con [CTRL] + F12 y [CTRL] + F11 cada vez que arranquemos el emulador.

A partir de la versión 0.70 de DOSBox se introdujo la posibilidad de hacer que la máquina ajuste automáticamente el número de ciclos, según las necesidades de la emulación —para ello, escribid auto como valor para esta opción—, o que trabaje siempre al máximo —valor max—.

En el capítulo "Acelerando la emulación" encontraréis un comentario más amplio sobre cómo ajustar los ciclos.

cycleup= (valor)
cycledown= (valor)

"Cycleup" determina el incremento del número de ciclos que obtendremos al pulsar [CTRL] + F12; por ejemplo, 500 o 1000 podrían ser buenos valores. "Cycledown" especifica la reducción de ciclos que conseguiremos con cada pulsación de [CTRL] + F11.

En ambas opciones, valores por debajo de 100 dejan de hacer referencia a una cantidad fija de ciclos, y son interpretados como porcentajes del número total.

rate= (valor)

Especifica la calidad del sonido que reproducirá DOSBox. El valor por defecto es 22050 (22050 Hz), pero podemos bajarlo a 11025 si queremos acelerar un poco la emulación.

Por último, la calidad que asignemos al sonido de las tarjetas emuladas (SoundBlaster, Gravis Ultrasound, etc) no debería superar este valor, que viene a ser una especie de control general. De lo contrario, la emulación de estas tarjetas puede brindar unos resultados bastante pobres.

mpu401= (true, false)
gus= (true, false)
pcspeaker= (true, false)
disney= (true, false)

Con estas líneas activamos o desactivamos la emulación de diversos dispositivos de sonido; MPU401, Gravis Ultrasound ("gus") y Disney Sound Source ("disney"). La opción "pcspeaker" hace referencia al altavoz interno del ordenador. Lo normal —y más recomendable— es que todas ellas estén activadas con el valor true.

En las opciones de configuración de cada tarjeta podremos modificar la calidad del sonido emulado —recomendable no ponerla más alta que la del mezclador general de DOSBox—, así como sus valores de hardware. Estos últimos en realidad no deberíamos tocarlos sin tener muy claro lo que estamos haciendo. Los valores por defecto de las dos tarjetas que los emplean son los siguientes:

  • Base=220, irq=7, dma=1, hdma=5 (SoundBlaster).
  • Base=240, irq1=5, irq2=5, dma1=3, dma2=3 (Gravis Ultrasound).

Aquí tenemos parte del archivo dosbox.conf. Como podréis ver, su sintaxis es bastante sencilla:

Editando dosbox.conf

xms= (true, false)
ems= (true, false)

Activan o desactivan la emulación de memoria extendida (XMS) y expandida (EMS). Por defecto, ambas estarán en funcionamiento —valores true—. No es algo que nos deba preocupar mucho. Hay juegos que requieren memoria expandida para funcionar, y otros que no la permiten; pero ambos casos son muy minoritarios.

[autoexec]

Y ahora pasamos a la última parte del archivo de configuración de DOSBox, y una de las más interesantes. Al final del texto probablemente encontraremos dos líneas que dicen así:

[autoexec]
# Lines in this section will be run at startup.

Bien, quiénes hayan usado MS-DOS se acordarán del archivo AUTOEXEC.BAT —que, de hecho, también está presente en Windows 95/98/Me—. Un fichero que ejecutaba diversos comandos al iniciar el sistema... Pues bien, la etiqueta "autoexec" de DOSBox tiene el mismo cometido.

Por ejemplo, imaginemos que tenemos por costumbre, al poner en marcha el emulador, montar la unidad C: de nuestro disco duro. Así, cada vez que iniciásemos una sesión con DOSBox, tendríamos que escribir un comando mount:

Z:\> mount c c:\

Pero en realidad no sería necesario repetir esta orden siempre que arrancásemos el emulador. Lo mejor sería escribirla bajo la etiqueta "autoexec" del dosbox.conf:

[autoexec]
# Lines in this section will be run at startup.

mount c c:\

Y así, el comando se ejecutaría al iniciarse DOSBox, de manera que tendríamos la unidad C: montada automáticamente. Esto es algo muy práctico y cómodo para los usuarios habituales de DOSBox.

Por ejemplo, éste es mi "autoexec":

La etiqueta autoexec del archivo dosbox.conf

Cumple con el estándar HTMLCumple con el estándar CSSApta para cualquier navegador

Podéis copiar libremente cualquier contenido de esta página. Si se trata del texto o las imágenes, mencionad la fuente (www.arcades3d.net)...