Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

Emuladores - DOSBoxEmuladores - E-UAE

Emuladores - DOSEMU




Emuladores - DOSEMU




Copyright

Copyright © José Luis Lara Carrascal  2007-2018   http://manualinux.es



Sumario

Introducción
Preliminares
Instalación
Configuración
Impresión con DOSEMU
Solucionar problemas de ejecución de DOSEMU
Crear scripts de ejecución de aplicaciones de MSDOS
Iniciamos DOSEMU
Enlaces




Introducción

DOSEMU es un emulador para MSDOS y Windows 3.1 que nos permite ejecutar las aplicaciones diseñadas para correr en estos dos sistemas. Muchos usuarios se preguntarán si DOSEMU es igual que DOSBox, pues no, DOSBox está especialmente optimizado para la emulación de juegos, así que si queremos jugar a juegos de MSDOS deberemos de usar siempre DOSBox para un mejor rendimiento de los mismos, lo cual no significa que no podamos ejecutarlos con DOSEMU. Con la instalación de DOSEMU se incluye una copia del sistema operativo Freedos (se descarga aparte), en el caso de que tengamos cualquiera de las versiones de MSDOS podremos sustituir el uso de este sistema por el MSDOS original en sus diferentes versiones.

Desde el 4 de julio de 2018, se sustituye la instalación de la versión original del programa, por un derivado denominado Dosemu2, que añade más características al mismo. Las más destacables son el soporte de aceleración KVM del kernel Linux en sistemas de 64 bits para la emulación de la CPU, soporte de sonido nativo MIDI de las tarjeta de sonido Roland CM32L y MT-32, a través de la librería proporcionada por el emulador Munt, Soporte de SDL2 como alternativa a SDL1 (se compilan los dos al mismo tiempo) y, por último, una mejora del soporte de Red, con la dependencia opcional de VDE, cuya versión parcheada se incluye en el manual para su instalación. Lo que no incluyo por razones de tiempo, (sencillamente no lo he probado) es la información relativa a cómo configurar la Red con DOSEMU y VDE.



Preliminares  

1) Comprobar que la ruta de instalación de los binarios del programa la tenemos en nuestro PATH


Abrimos una ventana de terminal y ejecutamos el siguiente comando:

[jose@Fedora-18 ~]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jose/bin

Si no aparece entre las rutas mostradas el directorio /usr/local/bin, abrimos un editor de texto y añadimos lo siguiente:

#!/bin/sh

export PATH=/usr/local/bin:$PATH

Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.

$ su -c "install -m755 variables.sh /etc/profile.d"

Tenemos que cerrar el emulador de terminal y volverlo a abrir para que la variable de entorno aplicada sea efectiva. Es conveniente guardar una copia de este script para posteriores instalaciones de nuestro sistema, teniendo en cuenta que es el que se va a utilizar a partir de ahora en todos los manuales de esta web, para establecer variables de entorno globales, excepto en aquellas que sólo afectan al usuario, en las que se utilizará el archivo de configuración personal, ~/.bashrc.

La ventaja de utilizar el directorio /etc/profile.d es que es común a todas las distribuciones y nos evita tener que editar otros archivos del sistema como por ejemplo, /etc/profile.

2) Comprobar que la variable de entorno 'XDG_DATA_DIRS' incluye el directorio /usr/local/share

Esta variable se aplica para que los archivos desktop ubicados en un directorio específico del sistema puedan ser leídos por los menús de entornos gráficos como XFce 4, o paneles como LXPanel o Fbpanel. Este aspecto es bastante delicado porque cada distribución es un mundo y lo mejor que podemos hacer es establecer una variable de entorno global que incluya todos los directorios predefinidos del sistema que incluyen archivos desktop, siempre y cuando el directorio /usr/local/share no esté incluido por defecto en la distribución de turno. Para saberlo basta abrir el menú de aplicaciones en cualquiera de los programas antes comentados y comprobar que aparece la entrada correspondiente a la aplicación tratada en este manual. Si no es así, en el mismo archivo /etc/profile.d/variables.sh, añadimos lo que está en rojo:

#!/bin/sh

export PATH=/usr/local/bin:$PATH

export XDG_DATA_DIRS=/usr/share:/usr/local/share:$XDG_DATA_DIRS

3) Desinstalar versiones anteriores del programa ubicadas en el directorio /usr

Aún en el caso de que la versión a compilar la vayamos a instalar en el mismo directorio que la que proporciona la distribución, siempre se debe desinstalar previamente la versión antigua, para evitar conflictos innecesarios.



Instalación  

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado DOSEMU para la elaboración de este documento.

* GCC - (8.1.0)
* Gawk - (4.2.1)
* M4 - (1.4.18)
* Make - (4.2.1)
* Automake - (1.16.1)
* Bison - (3.0.5)
* Autoconf - (2.69)
* Flex - (2.6.4)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 1.20.0)
   LibICE - (1.0.9)
   LibX11 - (1.6.5)
   LibXext - (1.3.3)
   LibXxf86vm - (1.1.4)
* ALSA - (1.1.6)
* FluidSynth - (1.1.11)
* Gpm - (1.20.7)
* LADSPA - (1.13)
* Libao - (1.2.0)
* Munt - (2.3.0)
* SDL - (1.2.15 | 2.0.8)
* S-Lang - (2.3.2)
* SVGAlib - (1.9.25)
* VDE - (2.3.2)

Aplicaciones

* Wget - (1.19.5) [1]

[1] Requerido para poder descargarnos los iconos del archivo desktop desde internet.



Descarga

dosemu2-2.0pre8-git-25062018.tar.xz  |  dosemu-freedos-1.1-bin.tgz  |  vde2-2.3.2.tar.xz

Firma Digital  Clave pública PGP

dosemu2-2.0pre8-git-25062018.tar.xz.asc  |  vde2-2.3.2.tar.xz.asc

Verificar la firma digital de los paquetes

$ gpg --import manualinux.asc
$ gpg --verify dosemu2-2.0pre8-git-25062018.tar.xz.asc dosemu2-2.0pre8-git-25062018.tar.xz
$ gpg --verify vde2-2.3.2.tar.xz.asc vde2-2.3.2.tar.xz

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=amdfam10 -mtune=amdfam10'

Donde pone amdfam10 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Valores CPU
Genéricos
Intel
AMD
VIA
IDT

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block'

Parámetros adicionales

Parámetro requerido en sistemas de 64 bits multiarquitectura
$ export {C,CXX}FLAGS+=' -fPIC'

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64"

Extracción y Configuración de VDE  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf vde2-2.3.2.tar.xz
$ cd vde2-2.3.2
$ ./configure --disable-dependency-tracking --prefix=/usr --disable-static \
--sysconfdir=/etc --libdir=/usr/lib64 --libexecdir=/usr/lib64/vde2

Explicación de los comandos

--prefix=/usr : Instala la librería en el directorio principal, /usr.
--disable-dependency-tracking : Acelera el tiempo de compilación.
--disable-static : Desactiva la compilación de las librerías estáticas, al no ser necesarias para la ejecución del programa.

--sysconfdir=/etc
: Instala los archivos de configuración del sistema de VDE en /etc/vde2 en lugar de /usr/etc/vde2.
--libdir=/usr/lib64 : Instala las librerías en /usr/lib64, en sistemas de 64 bits multiarquitectura.
--libexecdir=/usr/lib64/vde2 : Instala la librería de ejecución en /usr/lib64/vde2, en sistemas de 64 bits multiarquitectura.

Compilación

$ make

Instalación como root

$ su
# make install-strip
# ldconfig -v

Estadísticas de Compilación e Instalación de VDE

Estadísticas de Compilación e Instalación de VDE
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.17.4-ck1 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.27
Enlazador dinámico GNU gold (Binutils 2.30) 1.15
Compilador GCC 8.1.0 + Ccache 3.4.2
Parámetros de optimización -03 -march=amdfam10 -mtune=amdfam10 -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block
Tiempo de compilación 43"
Archivos instalados 62
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 14
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 816 KB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

vde2-2.3.2-scripts.tar.gz

$ su
# tar zxvf vde2-2.3.2-scripts.tar.gz
# cd vde2-2.3.2-scripts
# ./Desinstalar_vde2-2.3.2

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf vde2-2.3.2-scripts.tar.gz
# cd vde2-2.3.2-scripts
# ./Respaldar_vde2-2.3.2

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_vde2-2.3.2

Extracción y Configuración de DOSEMU  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf dosemu2-2.0pre8-git-25062018.tar.xz
$ cd dosemu2-2.0pre8-git-25062018
$ ./default-configure --with-fdtarball=../dosemu-freedos-1.1-bin.tgz \
--enable-plugins+=svgalib,vde --libdir=/usr/local/lib64

Explicación de los comandos

--with-fdtarball=../dosemu-freedos-1.1-bin.tgz : Le indicamos la ruta al paquete binario de FreeDOS que nos hemos bajado junto con el de DOSEMU. Este paquete fue creado en el año 2012 por Mike Swanson, y actualiza la versión disponible en la web de DOSEMU, a la versión 1.1. El enlace original del paquete lo podemos encontrar en este enlace, junto a otros paquetes creados por otros usuarios, que yo no he probado.

--enable-plugins+=svgalib,vde
: Activa la compilación de aquellos plugins que el script de configuración no activa por defecto. En este caso, SVGAlib y VDE. Si no tenemos estas dependencia instaladas, no añadir este parámetro. 

--libdir=/usr/local/lib64
: Instala el directorio de plugins en /usr/local/lib64, en sistemas de 64 bits multiarquitectura.

Compilación

$ make

Parámetros de compilación opcionales

-j2 : Si tenemos un procesador de doble núcleo (dual-core), y el kernel está optimizado para el mismo y es SMP, con este parámetro aumentaremos el número de procesos de compilación simultáneos a un nivel de 2 y aceleraremos el tiempo de compilación del programa de forma considerable.
-j4 : Lo mismo que arriba pero con procesadores de 4 núcleos (quad-core).

Instalación como root

$ su
# make install
# for i in /usr/local/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,48x48,64x64,128x128,256x256}/apps ; \
wget -c http://files.softicons.com/download/system-icons/pleasant-icons-by-harwen-zhang/\
png/256/MS-DOS-Application.png -O $i/256x256/apps/dosemu.png ; \
wget -c http://files.softicons.com/download/system-icons/pleasant-icons-by-harwen-zhang/\
png/128/MS-DOS-Application.png -O $i/128x128/apps/dosemu.png ; \
wget -c http://files.softicons.com/download/system-icons/pleasant-icons-by-harwen-zhang/\
png/64/MS-DOS-Application.png -O $i/64x64/apps/dosemu.png ; \
wget -c http://files.softicons.com/download/system-icons/pleasant-icons-by-harwen-zhang/\
png/48/MS-DOS-Application.png -O $i/48x48/apps/dosemu.png ; \
wget -c http://files.softicons.com/download/system-icons/pleasant-icons-by-harwen-zhang/\
png/32/MS-DOS-Application.png -O $i/32x32/apps/dosemu.png ; \
wget -c http://files.softicons.com/download/system-icons/pleasant-icons-by-harwen-zhang/\
png/24/MS-DOS-Application.png -O $i/24x24/apps/dosemu.png ; \
wget -c http://files.softicons.com/download/system-icons/pleasant-icons-by-harwen-zhang/\
png/16/MS-DOS-Application.png -O $i/16x16/apps/dosemu.png ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done

Explicación de los comandos

for i in /usr/local/share/icons/hicolor..... : Descarga e instala los iconos del programa, en sus diferentes medidas compatibles con el estándar de tamaño de icono de freedesktop.org.

Instalación del archivo de configuración personal en nuestro home

$ cp /etc/dosemu/dosemu.conf ~/.dosemurc

Creación del archivo dosemu.desktop

Para que DOSEMU sea detectado por los menús de entornos gráficos como XFce 4 o paneles como LXPanel o Fbpanel, abrimos un editor de texto y añadimos lo siguiente: 

[Desktop Entry]
Name=DOSEMU
GenericName=Emulador
Comment=Un emulador de MSDOS
Exec=xdosemu
Icon=dosemu
Categories=Application;System;Emulator
Type=Application

Lo guardamos con la codificación de caracteres UTF-8, y con el nombre dosemu.desktop. Luego lo instalamos como root en /usr/local/share/applications. La desinstalación y respaldo de este archivo viene incluida en los scripts correspondientes proporcionados en este manual.

$ su
# install -dm755 /usr/local/share/applications
# install -m644 dosemu.desktop /usr/local/share/applications

Estadísticas de Compilación e Instalación de DOSEMU

Estadísticas de Compilación e Instalación de DOSEMU
CPU AMD Phenom(tm) II X4 965 Processor
MHz 3415.709
RAM 4096 MB
Sistema de archivos XFS
Versión del Kernel 4.17.4-ck1 SMP PREEMPT x86_64
Modo de frecuencia de la CPU ondemand
Versión de Glibc 2.27
Enlazador dinámico GNU gold (Binutils 2.30) 1.15
Compilador GCC 8.1.0 + Ccache 3.4.2
Parámetros de optimización -03 -march=amdfam10 -mtune=amdfam10 -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block
Parámetros de compilación -j4
Tiempo de compilación 1' 24"
Archivos instalados 561
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 21
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 10,9 MB

Consumo inicial de CPU y RAM de DOSEMU

Consumo inicial de CPU y RAM de DOSEMU
Proceso
CPU Memoria física
dosemu.bin 2 % 74,6 MB

Directorio de configuración personal

~/.dosemu Es el directorio de configuración personal de DOSEMU en nuestro home
~/.dosemu/drive_c Al igual que en Wine el directorio donde podemos instalar o copiar los programas de MSDOS es ~/.dosemu/drive_c. También podemos crear enlaces desde las particiones windows que tengamos montadas en /mnt a ~/.dosemu/drives siguiendo la correlación en el nombre de los dispositivos, e,f,g,h, etc. 
~/.dosemu/roms Es el directorio que tenemos que crear para ubicar las roms que, mediante el soporte de la librería proporcionada por el emulador Munt, proporcionan emulación de sonido nativo MIDI de las tarjetas de sonido Roland CM32L y MT-32. Las roms las podemos encontrar en múltiples sitios de internet. En este enlace de la web Abandonsocios vienen incluidas dentro del paquete de instalación de la versión de desarrollo de DOSBox para Windows. El paquete comprimido que contiene las roms se llama Roland.7z, ubicado en la carpeta /DOSBOX/ROMS. El enlace directo al mismo es éste.

Archivo de configuración personal

~/.dosemurc Es el archivo de configuración personal de DOSEMU en nuestro home

Desinstalación como root

1) MODO TRADICIONAL

Este programa no tiene soporte para desinstalación con el comando 'make uninstall'

2) MODO MANUALINUX

dosemu2-2.0pre8-git-25062018-scripts.tar.gz

$ su 
# tar zxvf dosemu2-2.0pre8-git-25062018-scripts.tar.gz
# cd dosemu2-2.0pre8-git-25062018-scripts
# ./Desinstalar_dosemu2-2.0pre8-git-25062018

Copia de Seguridad como root

$ su 
# tar zxvf dosemu2-2.0pre8-git-25062018-scripts.tar.gz
# cd dosemu2-2.0pre8-git-25062018-scripts
# ./Respaldar_dosemu2-2.0pre8-git-25062018

Restaurar la Copia de Seguridad como root

$ su 
# cd /var/copibin/restaurar_copias
# ./Restaurar_dosemu2-2.0pre8-git-25062018



Configuración de DOSEMU  Bloc de Notas

Éste es un ejemplo del archivo de configuración del programa con los comentarios traducidos al español.

1) Opciones de CPU: define las características de la CPU para DOSEMU
2) Opciones de disco y sistema de archivos
3) Opciones de memoria
4) Opciones de depuración
5) Modificaciones específicas de Dosemu
6) Opciones relacionadas con la terminal
7) Opciones relacionadas con el teclado
8) Opciones del ratón
9) Configuración del mando de juego
10) Opciones del puerto serie
11) Opciones del puerto paralelo y la impresora
12) Opciones de altavoz y sonido
13) Opciones de red
14) Opciones específicas para el sistema X Window (xdosemu, dosemu -X)
15) Acceso directo al hardware
16) Consola de vídeo


##############################################################################
# Este archivo es el dosemu.conf del sistema o el archivo de usuario ~/.dosemurc,
# incluido con global.conf o dosemu.bin.
#
# ./doc/README.txt (capítulo 2.) contiene una descripción de la sintaxis
# y el uso de dosemu.conf y .dosemurc.
#
# Los valores comentados aquí son los predefinidos, sólo a efectos de documentación
# Las opciones marcadas [priv] no pueden ser cambiadas en ~/.dosemurc.
#
# (opcional) los derechos de acceso se definen en
#
#      /etc/dosemu/dosemu.users o /etc/dosemu.users
#
##############################################################################



# Notas para la edición de este archivo:
#
#   En    $_xxx = (n)    n es un valor numérico o booleano
#                  =     =
#   En    $_zzz = "s"    s es una cadena
#
# ¡Por favor, tenga en cuenta que todas las opciones están comentadas por defecto!
# Suprimir # antes de $ para cambiar una opción.


##############################################################################
## Opciones de CPU: define las características de la CPU para DOSEMU.

# CPU mostrada para DOS, valores válidos:  "80[23456]86"
# Predefinido: 80586

$_cpu = "80686"

# Uso de emulación de cpu: "off" ( on por defecto en x86),
# Sólo "vm86"  (on por defecto en x86-64) o "full" (vm86 y DPMI, ¡experimental!).
# Usar "vm86sim" o "fullsim" para usar simulación en lugar de generación de código JIT.

# $_cpu_emu = "off"

# si es posible usar contador de ciclos de Pentium para medir el tiempo. Predefinido: off

# Seleccione el modo de virtualización de la cpu.
# "vm86" - usa el modo v86 mediante la llamada al sistema vm86(). Sólo disponible en x86-32.
# "kvm" - usa KVM, máquina virtual en el kernel asistida por hardware.
# "emulated" - usa emulador de CPU.
# "auto" - selecciona lo que funcione


# $_cpu_vm = "auto"

Seleccione el modo de virtualización de CPU para DPMI.
# "native" - usa LDT nativo mediante la llamada al sistema modify_ldt().
# "kvm" - 
usa KVM, máquina virtual en el kernel asistida por hardware.
# "emulated" - usa emulador de CPU.
# "auto" - selecciona lo que funcione

# $_cpu_vm_dpmi = "auto"

# $_rdtsc = (off)

# Velocidad de la CPU, usado en combinación con el TSC
# Por defecto 0 = calibrado por dosemu, de forma dada (ej.166.666)

# $_cpuspeed = (0)

# FPU emulada, (off) o (on), por defecto = (on)

# $_mathco = (on)

# 0 = todo la potencia de la CPU para DOSEMU; por defecto = 1 = mejor, cuanto más alto, más potencia de CPU

# $_hogthreshold = (1)

##############################################################################
## Opciones de disco y sistema de archivos  

# Lista de hdimages o directorios de inicio dentro de
# ~/.dosemu, el directorio de configuración del sistema (/etc/dosemu por defecto), o
# syshdimagedir (/var/lib/dosemu por defecto) asignado en este orden
# tal como "hdimage_c directory_d hdimage_e"
# También se permiten las rutas de nombres absolutas.
# Si el nombre empieza con '/dev/', entonces el disco entero o partición de acceso es
# aceptado en lugar de la imagen_hdi vitual tal como "/dev/hda", "/dev/hda1" o
# "/dev/hda1:ro" para sólo lectura
#
# Para versiones anteriores de MS-DOS y PC-DOS es posible que desee limitar el tamaño de
# cualquier disco virtual en modo directorio que se presenta como si fuera demasiado grande
# o tiene una geometría no estándar, el sistema operativo puede no reconocerlos.
# Esta opción es útil para forzar FAT12 o FAT16 en comparación con Dosemu
# formato FAT16B normal.
# /path/to/dir:hdtype1 - creates 10mb IBM type1 disk with C/H/S of 306/4/17
# /path/to/dir:hdtype2 - creates 21mb IBM type2 disk with C/H/S of 615/4/17
# /path/to/dir:hdtype9 - creates 117mb IBM type9 disk with C/H/S of 900/15/17
#
# Los dispositivos montados actualmente y la swap son rechazados. Hdimages y los dispositivos pueden
# ser mezclados como "hdimage_c /dev/hda1 /dev/hda3:ro". Predefinido: "drives/*"

# $_hdimage = "drives/*"

# Disqueteras.
# Puede configurarse en el directorio o en el nodo del dispositivo /dev/fdX.
# Opcionalmente, se puede añadir el tipo de dispositivo, como
# "/dev/fd0:threeinch".
# Un directorio puede usarse como un disquete virtual de solo lectura: "floppy_dir:threeinch",
# en cuyo caso $ HOME/.dosemu/floppy_dir se usará como una imagen de disquete.

# Predefinido: "/dev/fd0:threeinch" para A:, "" para B:

# $_floppy_a = "/dev/fd0:threeinch"
# $_floppy_b = ""

# seleccione la unidad de arranque
# Predefinido: "" (lo que significa automático, encuentra la primera unidad de arranque)

# $_bootdrive = ""

# swap controla la forma en que la unidad de arranque se convierte en C
# Necesario para DOSes que no pueden arrancar desde otra cosa que no sea la unidad C.
# Predefinido: off

# $_swap_bootdrive = (off)

# Lista de dispositivos CDROM. Hasta 4 están soportados. Usted puede especificar
# archivos de imagen. Usted necesita cargar cdrom.sys y mscdex/nwcdex/shsucdx.exe.
# Predefinido: "/dev/cdrom"

$_cdrom = "/dev/hdb"

# lista de dispositivos genéricos SCSI que estén disponibles para el driver aspi interno
# (el formato de una entrada es 'device:type:mappedtarget' tal como
# "sg2:WORM sg3:Sequential-Access:6 sg4:CD-ROM" o
# "sg2:4 sg3:1:6 sg4:5" (que es igual). Predefinido: ""

# $_aspi = ""

# si hay que bloquear el archivo completo en las unidades lredired en las peticiones de bloqueo de archivo
# o solamente hay que bloquear un byte

# $_full_file_locks = (off)

# activa/desactiva el soporte de nombres de archivo largos para las unidades lredired;
# por defecto: on

# $_lfn_support = (on)

# config.sys   -> config.XXX; predefinido="" o 3 car.,

# $_emusys = ""

##############################################################################
## Opciones de memoria

# tamaño de memoria convencional de DOS, en Kbytes, <= 768.
# Predefinido: 640

# $_dosmem = (640)

# Tamaño de la memoria extendida. Esta memoria es accesible vía int15h y puede ser
# usada por himem.sys y el driver interno XMS.
# Predefinido: 8192

# $_xms = (8192)

# Activa UMB de 64K a 0a0000.
# Aquí reside la memoria de gráficos VGA, lo que habilita este UMB
# lo dejará con modo de texto solamente.
# Predefinido: automático (habilitado solo si dosemu se ejecuta en modo texto)


# $_umb_a0 = (auto)

# Activa UMB de 32K a 0b0000.
# Aquí es donde solía residir la memoria de texto MDA, por lo que algunos programas
# escriben en esa área sin dudarlo. Por lo tanto, es bastante arriesgado
# habilitar este UMB: ¡tenga cuidado incluso de ansi.sys!

# Predefinido: off

# $_umb_b0 = (off)

# Activa UMB de 16K a 0f0000.
# Aquí es donde normalmente reside una BIOS de solo lectura, pero el BIOS de DOSEMU no
# no lo necesita. Algunos (muy pocos) programas confían en que esta memoria sea de solo lectura
# (Prehistórico 2)

# Predefinido: on

# $_umb_f0 = (on)

# Tamaño de EMS (memoria expandida) en Kbytes;
# Aviso: No se recomienda la desactivación de EMS (off). Si se desactiva
# le asignará un espacio UMB adicional de 64K, pero con el efecto lateral
# de que será desactivado el traductor de API de modo de DOS protegido,
# provocando que algunas aplicaciones en modo protegido dejen de funcionar.
# Predefinido: 8192

# $_ems = (8192)

# Segmento de DOS dónde el marco de SME es ubicado.
# Default: 0xe000

# $_ems_frame = (0xe000)

# la cantidad de páginas asignables al EMS en UMA.
# Valores posibles: 0 a 12
# Predefinido: 4


# $_ems_uma_pages = (4)

la cantidad de páginas asignables al EMS en la memoria convencional.
# Valores posibles: 0 a 24
# Predefinido: 24

# $_ems_conv_pages = (24)

Tamaño de memoria DPMI en Kbytes; por defecto: 0x5000

# $_dpmi = (0x20000)

# Reserva espacio de direcciones lineales para DPMI.
# Esto es más necesario para que el extensor HX pueda cargar
# binarios win32 no reubicables.
# Especifique la dirección relativa a DOS aquí o auto para reservar
# adyacente a la memoria del DOS.
# Predefinido: auto

# $_dpmi_lin_rsv_base = (auto)

# Tamaño del espacio de direcciones lineales reservado para DPMI.
# Predefinido: 0x8000 (reserva 32Mb)

# $_dpmi_lin_rsv_size = (0x8000)

# Algunos programas compilados DJGPP tienen errores de referencia NULA.
# Pueden funcionar en Windows o QDPMI, ya que lamentablemente no funciona
# prevenir ese tipo de errores.
# Si desea que dosemu actúe correctamente y evite el acceso al puntero NULO,
# desactive esta opción de compatibilidad.
# Predefinido: on

# $_ignore_djgpp_null_derefs = (on)

##############################################################################
## Opciones de depuración  

# conmutadores de depuración; el mismo formato que la opción de línea de comandos -D, Predefinido: ""="-a+cw".
# (pero sin el -D delante), normalmente se escriben en ~/.dosemu/boot.log

# $_debug = "-a+cw"

# qué puertos i/o serán rastreados (sólo se mostrarán si usted usa también -D+T)
# vea $_ports más abajo para la sintaxis

# $_trace_ports = ""

##############################################################################
## Modificaciones específicas de Dosemu  

# seleccione la procedencia de la hora del sistema para la emulación RTC. Valores posibles:
# "pit", "bios" y "linux". La procedencia de la hora, "linux", seguirá los cambios de
# tiempo del sistema, pero no permitirá establecer la hora desde DOS.
# La procedencia "bios" es monótona (no seguirá los cambios de tiempo del sistema),
# pero permitirá establecer la hora del sistema desde DOS.

# $_timemode = "bios"

# establezca esto en algún valor positivo (ejemplo. Predefinido: 10)
# si usted va a jugar a Doom o Duke3D con sonido.

# $_cli_timeout = (10)

##############################################################################
## Opciones relacionadas con la terminal

# Codificación de caracteres usada externamente por dosemu
# Predefinido: "" == usa la codificación de caracteres establecida desde las locales o en su lugar:
# "cp437", "cp737", "cp773", "cp775", "cp850", "cp852", "cp857", "cp860",
# "cp861", "cp862", "cp863", "cp864", "cp865", "cp866", "cp869", "cp874",
# "cp1125", "cp1251"
# "iso8859-1", "iso8859-2", "iso8859-3", "iso8859-4", "iso8859-5", "iso8859-6",
# "iso8859-7", "iso8859-8", "iso8859_9", "iso8859-14", "iso8859-15", "koi8-r"
# "koi8-u", "koi8-ru", "utf8"

# $_external_char_set = ""

# Codificación de caracteres usada por los programas de dos
# Predefinido: "" == usa "cp437" o en su lugar:
# "cp437", "cp737", "cp773", "cp775", "cp850", "cp852", "cp857", "cp860",
# "cp861", "cp862", "cp863", "cp864", "cp865", "cp866", "cp869", "cp874",
# "cp895", "cp1125", "cp1251", "bg-mik"

# $_internal_char_set = ""

# terminal con soporte de color. Predefinido: (on)

# $_term_color = (on)

# xterm, títulos de ventana compatibles. Predefinido: %s - DOSEMU
# donde %s es el nombre del programa de DOS. Usar "" para no cambiar el título

# $_xterm_title = "%s - DOSEMU"

# Esquema de adaptador de vídeo usado: uno de: vga, ega, mda, mga, cga, none
# Predefinido: "vga"; none=modo de terminal muda.

# $_video = "vga"

##############################################################################
## Opciones relacionadas con el teclado

# Esquema de teclado: Predefinido: 'auto' (se intentará generá la tabla desde las opciones
# de consola del sistema Linux)
# o uno de: finnish(-latin1), de(-latin1), be, it, us, uk, dk(-latin1),
# keyb-no, no-latin1, dvorak, pl, po, sg(-latin1), fr(-latin1), sf(-latin1),
# es(-latin1), sw, hu(-latin2), hu-cwi, keyb-user, hr-cp852, hr-latin2,
# cz-qwerty, cz-qwertz, ru, tr.

# $_layout = "auto"

# desviación normal de entrada del teclado en la consola Linux, quizá peligroso.
# Predefinido: (auto), usar sólo con -s o -k, o (0): off, usar -k, o (1): on.

# $_rawkeyboard = (auto)

# 30 == Ctrl-^ (Ctrl-6 en teclados US), prefijo de secuencia especial para las terminales
# usar Ctrl-^ h para la ayuda

# $_escchar = (30)

##############################################################################
## Opciones del ratón  

# Usar el driver de ratón interno. Por defecto = (on).

# $_mouse_internal = (on)

# Protocolo del ratón: uno de (microsoft, mousesystems, logitech, mmseries,
# mouseman, hitachi, busmouse, ps2, imps2).
# Predefinido: "ps2"

# $_mouse = "ps2"

# Si tiene la intención de utilizar un ratón de puerto serie dedicado a dosemu,
# configúrelo como "comX" en lugar de "/dev/ttySx" porque el puerto serie necesita un
# módulo especial de ratón.
# "" significa: no lea el dispositivo del ratón directamente (sin ratón)
# console "$ _graphics = (1)" modo, pero GPM aún se puede usar en otros modos).
# Predefinido: "/dev/input/mice"

# $_mouse_dev = ""

# Predefinido: "" o uno o más de: "emulate3buttons cleardtr"

# $_mouse_flags = ""

# velocidad en baudios, Predefinido: 0 == no ajustar

# $_mouse_baud = (0)

##############################################################################
## Configuración del mando de juego

# Dispositivos joystick 1 y 2
# ejemplo. "/dev/js0" o Predefinido: "/dev/js0 /dev/js1"
#      (o "" si usted no desea soporte de joystick)

# $_joy_device = "/dev/js0 /dev/js1"

# rango para la lectura de los ejes del joystick, debe ser > 0, Predefinido: 1

# $_joy_dos_min = (1)

# evitar las opciones de máximo a > 250, Predefinido: 150

# $_joy_dos_max = (150)

# el más alto, el menos sensible - útil si usted tiene un joystick tambaleante.
# default: 1

# $_joy_granularity = (1)

# el retardo entre las lecturas no bloqueantes del joystick linux incremente el rendimiento si >0
# y el procesador>=Pentium recomendado: 1-50ms o 0 si no está seguro. Predefinido: 1

# $_joy_latency = (1)

##############################################################################
## Opciones del puerto serie

# Nota: todos los "/dev/ttyXX" pueden ir precedidos del sufijo con el IRQ
# utilizado (en lugar del valor predefinido), como "/dev/ttyS2 irq 5"
# o "/dev/ttyS3 irq 9". Predefinido: ""
#
# La palabra clave "low_latency" se puede usar para cambiar el uart a modo low_latency.
# Esto puede ser necesario para que el control de flujo de software (XOFF) funcione correctamente.
# No es compatible con la mayoría de los controladores de uart y ralentiza la transferencia.
#
# La palabra clave "pseudo" se puede usar para forzar el modo pseudo-TTY.
# Una forma incorrecta pero rápida de eludir el control de flujo de hardware.
#
# La palabra clave "rtscts" se puede usar como una forma incorrecta pero rápida de aplicar 
# el control de flujo de hardware.
#
# La palabra clave "virtual" se puede utilizar para redirigir el puerto COM a la terminal.
# Una forma incorrecta pero rápida para que el sysop juegue sus juegos de puertas BBS localmente.
#
# La palabra clave "mouse" habilita la emulación de ratón de puerto serie en el puerto especificado.
# A continuación, puede utilizar un controlador de ratón nativo, como mouse.com. Esto usualmente
# no es lo que desea: mejor suerte con la opción $ _mouse_dev anterior.
#
# La palabra clave "vmodem" habilita la emulación de módem en el puerto especificado.
# A continuación, puede marcar las direcciones IP, que establecerán la conexión telnet.
#

# $_com1 = ""
# $_com2 = ""
# $_com3 = ""
# $_com4 = ""

# $_com5 = ""
# $_com6 = ""
# $_com7 = ""
# $_com8 = ""
# $_com9 = ""
# $_com10 = ""
# $_com11 = ""
# $_com12 = ""
# $_com13 = ""
# $_com14 = ""
# $_com15 = ""
# $_com16 = ""

# directorio de bloqueo de tty. Una cadena vacía "" significa sin bloqueos de tty.
# Predefinido: "/var/lock"

# $_ttylocks = "/var/lock"

##############################################################################
## Opciones del puerto paralelo y la impresora  

# Comandos de impresión a utilizar para LPT1, LPT2 y LPT3.
# Predefinido: "lpr -l", "lpr -l -P lpt2", y "" (desactivado)
# Que significa: utilizar la cola de impresión predefinida para LPT1, "lpt2" cola para LPT2.
# "-l" significa modo de impresión crudo (sin preprocesado).

# $_lpt1 = "lpr -l"
# $_lpt2 = "lpr -P cups-pdf"
# $_lpt3 = ""
# $_lpt4 = ""
# $_lpt5 = ""
# $_lpt6 = ""
# $_lpt7 = ""
# $_lpt8 = ""
# $_lpt9 = ""

# tiempo de retardo en segundos antes de la salida de impresión. Predefinido: (20)

# $_printer_timeout = (20)

##############################################################################
## Opciones de altavoz y sonido  

# altavoz: Predefinido: "emulated", o "native" (sólo consola) o "" (off)

# $_speaker = "emulated"

# soporte de sonido

# $_sound = (on)

# (¡emulado!) Sound Blaster base puerto i/o, Predefinido: (0x220)

# $_sb_base = (0x220)

# Opciones de IRQ de Sound Blaster, por defecto: (5)

# $_sb_irq = (5)

# Opciones de canal DMA de 8 bits de Sound Blaster, por defecto: (1)

# $_sb_dma = (1)

# Opciones de canal DMA de 16 bits de Sound Blaster, por defecto: (5)

# $_sb_hdma = (5)

# Dispositivo de sonido, por defecto: "/dev/dsp"

# $_sb_dsp = "/dev/dsp"

# Dispositivo mezclador de sonido, por defecto: ""; usar "/dev/mixer" si usted le permite a dosemu
# los cambios de volumen

# $_sb_mixer = ""

# Puerto i/o de base MPU-401

# $_mpu_base = (0x330)

# Modo de sintetizador MIDI
# Valores soportados: "gm", "mt32"
# Predefinido: "gm"

# $ _midi_synth = "gm"

# MPU-401 irq para el modo de sintetizador GM
# Predefinido: auto (que es igual a $ _sb_irq)

# $ _mpu_irq = (auto)

# MPU-401 irq para el modo de sintetizador mt32
# Predefinido: 2

# $ _mpu_irq_mt32 = (2)

# Controlador de salida de sonido.
# Controladores admitidos: ao, sdl (si está compilado)
# Predefinido: "" (que significa automático)

# $ _sound_driver = ""

# Controladores de salida MIDI.
# Lista de controladores MIDI separados por comas para activar.
# Controladores soportados:
#   fluid, timidity, munt, alsa_midi, oss_midi, pipe_midi
# Predefinido: "" (que significa automático)
# Nota: si usa la opción $ _wav_file para grabar el sonido y desea
# el midi renderizado también se grabará allí, debe seleccionar
# ya sea "fluid" o "timidity" aquí. Desafortunadamente, la mayoría de
# versiones de fluidsynth y timidity son incompatibles con dosemu.

# $ _midi_driver = ""

# Ruta ROM de munt.
# Ruta para crear archivos ROM.
# Predefinido: "roms" (que significa ~/.dosemu/roms)

# $ _munt_roms = "roms"

##############################################################################
## Opciones de red

# Activa el controlador de paquetes interno. Predefinido: on

# $_pktdriver = (on)

# Tipo de red virtual. "eth" para acceso exclusivo a NIC, "tap" para
# usar el dispositivo virtual TAP, o "vde" si desea usar VDE
# como modulo para redes DOSemu (esto le proporcionará un
# acceso a internet que funciona fuera de caja, suponiendo que tiene slirp
# instalado en su sistema).
# NOTA: los métodos "eth" y "tap" requieren privilegios de root.
# El método "eth" está en desuso.
# Predefinido: "" (automático)

# $_vnet = ""

# Dispositivo de red para el controlador de paquetes en modo "eth".
# Predefinido: "eth1"

# $_ethdev = "eth1"

# Dispositivo de red para el controlador de paquetes en modo "tap".
# Predefinido: "" (asignación dinámica de TAP)

# $ _tapdev = ""

# vdeswitch nombre del socket para el controlador de paquetes en modo "vde".
# Si se especifica una cadena vacía, dosemu intentará configurar el interruptor VDE
# automáticamente
# Predefinido: ""

# $ _vdeswitch = ""

# argumentos adicionales para slirpvde. Consulte "man slirpvde" para más detalles.
# Predefinido: "--dhcp"

# $ _slirpargs = "--dhcp"

# usar modificación Novell 802.3. Predefinido: off

# $_novell_hack = (off)

# NOTA: IPX requiere de privilegios de root a menos que usted haya ajustado /proc/net/ipx_route
# de antemano.
# Predefinido: (off)

# $_ipxsupport = (off)

# Dirección de red IPX a utilizar. Una de las que estén listadas en /proc/net/ipx/interface.
# Dirección 0 significa usar la red de interfaz primaria, si existe, a la que estará vinculada.
# Predefinido: 0

# $_ipx_network = (0)

##############################################################################
## Configuración para X Window System (xdosemu, dosemu -X)
## Algunos se aplican al controlador SDL (dosemu -S) también.

# Título en la barra superior de la ventana. Predefinido = "DOSEMU2"

# $ _X_title = "DOSEMU2"

# Mostrar el nombre de la aplicación que está corriendo en el título de la barra de la ventana. Predefinido: on

# $_X_title_show_appname = (on)

# Texto para el icono, cuando esté minimizado. Por defecto = "xdosemu"

# $_X_icon_name = "xdosemu"

# Iniciar DOSEMU en modo de pantalla completa. Por defecto = "off"

# $_X_fullscreen = (off)

# on==traduce el teclado mediante el uso del mapa del teclado de dosemu, o 'off' o 'auto'. Predefinido:auto

# $_X_keycode = (auto)

# velocidad del parpadeo del cursor

# $_X_blinkrate = (12)

# nombre de la fuente X para ser utilizada (ejemplo. "vga") por defecto = "" (fuentes de mapa de bits)

# $_X_font = ""

# Usar extensiones de memoria compartida. Muy rápido, pero problemático con X remoto.
# Predefinido: on

# $_X_mitshm = (on)

# compartir el mapa de color con otras aplicaciones. Predefinido: off

# $_X_sharecmap = (off)

# Establecer un aspecto fijo para el redimensionado de los gráficos de la ventana. Predefinido: on

# $_X_fixed_aspect = (on)

# Utilizar siempre una razón de aspecto de 4:3 para los gráficos. Predefinido: off

# $_X_aspect_43 = (off)

# Utilizar un filtrado lineal para la interpolación >15 bpp. Predefinido: off

# $_X_lin_filt = (off)

# Utilizar un filtrado bilineal para la interpolación >15 bpp. Predefinido: off

$_X_bilin_filt = (off)

# factor de tamaño inicial para el modo de vídeo 0x13 (320x200)

# $_X_mode13fact = (2)

# "x,y" o tamaño inicial de las ventanas (defaults to ""=flotante)

# $_X_winsize = ""

# corrección de gamma. Predefinido: 1.0

$_X_gamma = (1.5)

# tamaño (en Kbytes) del frame buffer para la emulación vga. Predefinido: 4096

# $_X_vgaemu_memsize = (4096)

# usar un frame buffer lineal en los modos VESA. Predefinido: on

# $_X_lfb = (on)

# usar interfaz de modo protegido para los modos VESA. Default: on

# $_X_pm_interface = (on)

# Nombre KeySym para activar la captura del ratón, ""=off. Predefinido: "Home" (ctrl+alt+inicio)

# $_X_mgrab_key = "Home"

# Lista de los modos vesa para añadir. La lista tieene que contener ESPACIOS separados-
# "xres,yres" en parejas, como los siguientes: "xres,yres ... xres,yres". Predefinido: ""

# $_X_vesamode = ""

# pausar xdosemu si pierde el enfoque

# $_X_background_pause = (off)

## Configuración específica para el controlador de video SDL (dosemu -S)

# Usar renderizado asistido por GPU.
# Predefinido: apagado (todavía tenemos problemas con la aceleración HW)

# $ _SDL_hwrend = (apagado)

##############################################################################
## Acceso directo al hardware

# NOTA:las opciones siguientes marcadas con [priv] sólo son válidas en el archivo
# dosemu.conf del sistema y no pueden ser cambiadas con ~/.dosemurc.
# Para que estas opciones tengan efecto, DOSEMU tiene que ejecutarse con privilegios de root;
# ya sea corriendo como root, vía sudo o suid con modificación en el archivo dosemu.users,
# y usando el conmutador -s.

# [priv] lista de números de puertos como "0x1ce 0x1cf 0x238" o
# "0x1ce range 0x280,0x29f 310" o "range 0x1a0,(0x1a0+15)". Predefinido: ""
# $_ports = "device /dev/null fast 0x200"
# $_ports = $_ports, " device /dev/lp0 range 0x378 0x37a"
# El espacio en blanco es importante
# "device" significa: si el puerto está registrado, abre este dispositivo para bloquear el
# acceso. La apertura tiene que haberse realizado o el acceso a los puertos será denegado.
# Si usted sabe lo que está haciendo, utilice /dev/null para simular un dispositivo a bloquear.

# $_ports = ""

# [priv] lista de números de IRQ (2-15) a pasarle a DOS como "3 8 10".Predefinido: ""
# Esto no funciona en x86-64.

# $_irqpassing = ""

# [priv] memoria de DOS a mapear de forma directa: lista de segmentos de valores/rangos como

# "0xc8000 range 0xcc000,0xcffff". Predefinido: ""

# $_hardware_ram = ""

# [priv] (on): dar acceso al espacio de configuración PCI.
# (auto): restrictivo, el acceso principalmente emulado si la tarjeta de vídeo lo requiere.
# Predefinido: (auto)

# $_pci = (auto)

##############################################################################
## Consola de vídeo

# Las opciones siguientes se aplican directamente en la consola de vídeo (no en X)
# Muchas son privilegiadas, y requieren de suid/sudo/root y el conmutador -s.

# usar video de 'consola' (acceso directo a ram de video). Predefinido:
# (automático): úselo solo si KMS no está activo

# $ _console = (auto)

# usar el BIOS de las tarjetas para establecer los gráficos y permitir el acceso directo al puerto de E/S.
# Predefinido: (automático): úselo solo si KMS no está activo

# $ _graphics = (auto)

# [priv] ejecutar el BIOS de la tarjeta VGA de rutina de inicialización (muchas tarjetas no
# necesitan esto). Predefinido: (0)

# $_vbios_post = (0)

# [priv] ajustar la dirección de su VBIOS (ejemplo. 0xc000, 0xe000).
# Predefinido: (0)=autodetectar.

# $_vbios_seg = (0)

# [priv] ajustar el tamaño de su BIOS (ejemplo. 0x10000, 0x8000).

# Predefinido: (0)=autodetectar.

# $_vbios_size = (0)

# [priv] cantidad en K de RAM (real) de video para guardar/restaurar
# cuando se conmute entre las consolas virtuales. (auto) significa toda la RAM de vídeo,
# que puede tornarse *muy* largo si usted tiene mucha memoria de vídeo.
# (off) significa que no se guardará ninguna RAM de vídeo.
# Predefinido: 4096

# $_vmemsize = (4096)

# [priv] chipset real: uno de: plainvga, svgalib o vesa.
# svgalib sólo está disponible si ha sido compilado
# "vesa"probablemente funcione, si no, pruebe "plainvga". Predefinido: "vesa"

# $_chipset = "vesa"

# [priv] si usted tiene más de un monitor (2 monitores)

# $_dualmon = (0)



Impresión con DOSEMU  

Añado esta información adicional sobre el uso de la tarea de imprimir con DOSEMU, porque la explicación del archivo de configuración es poco clara. Abrimos una ventana de terminal y ejecutamos el siguiente comando:

[jose@localhost ~]$ lpstat -p
la impresora HP_Deskjet_F4200_series_USB_CN8862F1R305C3_HPLIP está inactiva.  activada desde lun 04 oct 2010 21:56:33 CEST

Una vez que tenemos el nombre de la impresora, lo añadimos (lo que está en rojo) en la sección correspondiente del archivo de configuración de DOSEMU.

##############################################################################
## Opciones del puerto paralelo y la impresora  

# Comandos de impresión a utilizar para LPT1, LPT2 y LPT3.
# Predefinido: "lpr -l", "lpr -l -P lpt2", y "" (desactivado)
# Que significa: utilizar la cola de impresión predefinida para LPT1, "lpt2" cola para LPT2.
# "-l" significa modo de impresión crudo (sin preprocesado).

$_lpt1 = "lpr -P
HP_Deskjet_F4200_series_USB_CN8862F1R305C3_HPLIP"
# $_lpt2 = "lpr -l -P lpt2"
# $_lpt3 = ""

# tiempo de retardo en segundos antes de la salida de impresión. Predefinido: (20)

# $_printer_timeout = (20)

##############################################################################

Y ya podremos imprimir desde cualquier programa de MSDOS que vayamos a utilizar con DOSEMU.



Solucionar problemas de ejecución de DOSEMU  

1) LOWRAM mmap: Argumento inválido

Si al ejecutar el comando xdosemu, el programa no se inicia y se muestra este mensaje en la terminal (en el caso de que lo hagamos desde una terminal):

[jose@localhost ~]$ xdosemu
LOWRAM mmap: Argumento inválido
Violación de segmento

Tendremos que ejecutar el siguiente comando antes de ejecutar el programa:

$ su -c "echo 0 > /proc/sys/vm/mmap_min_addr"

Para hacer esto permanente y evitar el engorro de tener que hacerlo cada vez que iniciemos DOSEMU, abrimos como root, el archivo /etc/sysctl.conf con un editor de texto y añadimos al final del mismo el parámetro que está en color rojo. Un ejemplo:

# Kernel sysctl configuration file for Mandriva Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Disables IP dynaddr
net.ipv4.ip_dynaddr = 0
# Disable ECN
net.ipv4.tcp_ecn = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Controls the System Request debugging functionality of the kernel
#kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

# If you set this variable to 1 then cd tray will close automatically when the
# cd drive is being accessed. Setting this to 1 is not advised as it has been
# known to cause problems when supermount is enabled.
dev.cdrom.autoclose=0
# removed to fix some digital extraction problems
# dev.cdrom.check_media=1

# to be able to eject via the device eject button (magicdev)
dev.cdrom.lock=0
net.ipv4.icmp_ignore_bogus_error_responses=0
net.ipv4.conf.all.rp_filter=0
net.ipv4.icmp_echo_ignore_broadcasts=0
net.ipv4.icmp_echo_ignore_all=0
net.ipv4.conf.all.log_martians=0
kernel.sysrq=1

vm.mmap_min_addr = 0



Crear scripts de ejecución de aplicaciones de MSDOS  

Para integrar de la manera más natural posible en nuestro sistema, las aplicaciones de MSDOS que ejecutemos con DOSEMU, lo mejor es crear scripts de ejecución que nos permitan acceder de forma directa a estas aplicaciones sin pasar por la ventana del emulador, y así poder tener acceso de forma directa en los menús de aplicaciones de los entornos gráficos o iconos de escritorio, barras de iconos, etc. Es conveniente que los scripts los ubiquemos en el directorio bin de nuestro home, si no existe lo crearemos, además de editar el archivo de configuración personal, ~/.bashrc, para añadir la nueva ruta de binarios a nuestro PATH.

1) Comprobar que el directorio /home/usuario/bin lo tenemos en nuestro PATH

Abrimos una ventana de terminal y ejecutamos el siguiente comando:

[jose@Fedora-18 ~]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jose/bin

Si no aparece entre las rutas mostradas el directorio /home/usuario/bin, editamos el archivo de configuración personal, ~/.bashrc, si no existe lo creamos, y añadimos lo siguiente al final del mismo:

export PATH:$HOME/bin:$PATH

2) Comprobar que la variable de entorno 'XDG_DATA_DIRS' incluye el directorio /home/usuario/.local/share

Esta variable se aplica para que los archivos desktop ubicados en un directorio específico del sistema puedan ser leídos por los menús de entornos gráficos como XFce 4, o paneles como LXPanel o Fbpanel. Para saberlo basta abrir el menú de aplicaciones en cualquiera de los programas antes comentados y comprobar que aparece la entrada correspondiente a la aplicación tratada en este manual. En el mismo archivo, ~/.bashrc, añadimos lo que está en rojo:

export PATH:$HOME/bin:$PATH

export XDG_DATA_DIRS=/usr/share:/usr/local/share:$HOME/.local/share:$XDG_DATA_DIRS

3) Crear un script de ejecución de ejemplo del visor de imágenes PictView

Un ejemplo de script con el programa PictView que nos sirve para cualquier aplicación. Abrimos un editor de texto y añadimos lo siguiente, por ejemplo:

#!/bin/sh

dosemu "/home/jose/msdos/pictview/PICTVIEW.EXE"

Lo guardamos con el nombre pictview en /home/usuario/bin, y posteriormente le damos permisos de ejecución.

$ chmod 755 ~/bin/pictview

4) Crear un archivo desktop de ejemplo del visor de imágenes PictView

Para que PictView sea detectado por los menús de entornos gráficos como XFce 4 o paneles como LXPanel o Fbpanel, abrimos un editor de texto y añadimos lo siguiente

[Desktop Entry]
Name=PictView
GenericName=PictView
Comment=Un visor de imágenes para MSDOS
Exec=pictview
Icon=dosemu
Categories=Graphics;Viewer;
Type=Application

Lo guardamos con la codificación de caracteres UTF-8, y con el nombre pictview.desktop. Luego lo copiamos como usuario a ~/.local/share/applications.

$ mkdir -p ~/.local/share/applications
$ cp pictview.desktop ~/.local/share/applications

Y así podemos hacer con cualquier aplicación de MSDOS para integrarla de forma individual en la correspondiente categoría de submenú cuyo esquema Categories=, que es lo único que cambia entre aplicación, podemos encontrar en este enlace.



Iniciamos DOSEMU  

Sólo nos queda teclear en una terminal o en un lanzador el comando dosemu, y el emulador aparecerá en la pantalla:


Captura DOSEMU - 1


Si lo ejecutamos con la opción -S utilizaremos SDL para el renderizado gráfico:

$ dosemu -S

Captura DOSEMU - 2


Captura DOSEMU - 3




Enlaces


http://dosemu.sourcerforge.net >> La web de DOSEMU.

http://stsp.github.io/dosemu2 >> La web de Dosemu2.

Descarga de aplicaciones y juegos freeware y shareware de MSDOS


http://www.resoo.org/docs/dos/free_software/softlib1.htm

http://www.dosgames.com

http://www.hitsquad.com/smm/freeware/dos

http://dennisbareis.com/freedos.htm

http://www.opus.co.tt/dave


Foro Galería Blog


Actualizado el 04-07-2018

Emuladores - DOSEMU

Emuladores - DOSBoxEmuladores - E-UAE