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-2016   http://manualinux.eu


 
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.



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
# 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 - (6.2.0)
* Gawk - (4.1.4)
* M4 - (1.4.17)
* Make - (4.2.1)
* Automake - (1.15)
* Bison - (3.0.4)
* Autoconf - (2.69)
* Flex - (2.6.1)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 1.18.4)
   LibICE - (1.0.9)
   LibX11 - (1.6.3)
   LibXext - (1.3.3)
   LibXxf86vm - (1.1.4)
* ALSA - (1.1.2)
* FluidSynth - (1.1.6)
* Gpm - (1.20.7)
* Libsndfile - (1.0.27)
* SDL - (1.2.15)
* S-Lang - (2.3.0)
* SVGAlib - (1.9.25)

Aplicaciones

* Wget - (1.18) [1]

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



Descarga

dosemu-1.4.0.8-git-20082015.tar.xz  |  dosemu-freedos-1.1-bin.tgz

Firma Digital  Clave pública PGP

dosemu-1.4.0.8-git-20082015.tar.xz.asc 

Verificar la firma digital del paquete

$ gpg --import manualinux.asc
$ gpg --verify dosemu-1.4.0.8-git-20082015.tar.xz.asc dosemu-1.4.0.8-git-20082015.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.x e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Valores CPU
Genéricos
generic Produce un código binario optimizado para la mayor parte de procesadores existentes. Utilizar este valor si no sabemos el nombre del procesador que tenemos en nuestro equipo. Este valor sólo es aplicable en la opción '-mtune=', si utilizamos GCC. Esta opción está disponible a partir de GCC 4.2.x.
native Produce un código binario optimizado para el procesador que tengamos en nuestro sistema, siendo éste detectado utilizando la instrucción cpuid. Procesadores antiguos pueden no ser detectados utilizando este valor. Esta opción está disponible a partir de GCC 4.2.x.
Intel
atom Intel Atom con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición bonnell.
bonnell Intel Bonnell con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.x.
broadwell Intel Broadwell con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.x.
core2 Intel Core2 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3 y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.3.x.
core-avx2 Intel Core (Haswell). Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición haswell.
core-avx-i Intel Core (ivyBridge) con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición ivybridge.
corei7 Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 y SSE4.2 y extensiones 64-bit. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición nehalem.
corei7-avx Intel Core i7 con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL y extensiones 64-bit. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible desde GCC 4.6.x, hasta GCC 4.8.x. A partir de GCC 4.9.x se utiliza la definición sandybridge.
haswell Intel Haswell con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.x.
i386 Intel i386.
i486 Intel i486.
i586, pentium Intel Pentium sin soporte de instrucciones MMX.
i686 Produce un código binario optimizado para la mayor parte de procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son.
intel Intel Haswell y Silvermont. Este valor sólo es aplicable en la opción '-mtune='. Esta opción está disponible a partir de GCC 4.9.x.
ivybridge Intel Ivy Bridge con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES, PCLMUL, FSGSBASE, RDRND, F16C y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.x.
knl Intel Knights Landing con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, AVX512F, AVX512PF, AVX512ER y extensiones 64-bit. Esta opción está disponible a partir de GCC 5.x.
lakemont Intel Quark Lakemont MCU, basado en el procesador Intel Pentium. Esta opción está disponible a partir de GCC 6.x.
nehalem Intel Nehalem con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.x.
nocona Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2, SSE3 y extensiones 64-bit.
pentiumpro Intel PentiumPro.
pentium2 Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX.
pentium3, pentium3m Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE.
pentium4, pentium4m Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2.
pentium-m Versión de bajo consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2. Utilizado por los portátiles Centrino.
pentium-mmx Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX.
prescott Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
sandybridge Intel Sandy Bridge con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.x.
silvermont Intel Silvermont con soporte de instrucciones MOVBE, MMX, SSE, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMU, RDRND y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.x.
skylake Intel Skylake con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES y extensiones 64-bit. Esta opción está disponible a partir de GCC 6.x.
skylake-avx512 Intel Skylake Server con soporte de instrucciones MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC, XSAVES, AVX512F, AVX512VL, AVX512BW, AVX512DQ, AVX512CD y extensiones 64-bit. Esta opción está disponible a partir de GCC 6.x.
westmere Intel Westmere con soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, POPCNT, AES, PCLMUL y extensiones 64-bit. Esta opción está disponible a partir de GCC 4.9.x.
AMD
amdfam10, barcelona Procesadores basados en AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.3.x.
athlon, athlon-tbird AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch.
athlon4, athlon-xp, athlon-mp Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE.
bdver1 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.7.x.
bdver2 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (BMI, TBM, F16C, FMA, LWP, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.7.x.
bdver3 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (FMA4, AVX, XOP, LWP, AES, PCL_MUL, CX16, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.8.x.
bdver4 Procesadores basados en AMD Family 15h core con soporte de instrucciones x86-64 (BMI, BMI2, TBM, F16C, FMA, FMA4, FSGSBASE, AVX, AVX2, XOP, LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.9.x.
btver1 Procesadores basados en AMD Family 14h core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, SSE3, SSE4A, CX16, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.6.x.
btver2 Procesadores basados en AMD Family 16h core con soporte de instrucciones x86-64 (MOVBE, F16C, BMI, AVX, PCL_MUL, AES, SSE4.2, SSE4.1, CX16, ABM, SSE4A, SSSE3, SSE3, SSE2, SSE, MMX y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.8.x.
geode AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3.x.
k6 AMD K6 con soporte de instrucciones MMX.
k6-2, k6-3 Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!.
k8, opteron, athlon64, athlon-fx Procesadores basados en AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, 3DNow!, enhanced 3DNow! y extensiones 64-bit).
k8-sse3, opteron-sse3, athlon64-sse3 Versiones mejoradas de AMD K8 core con soporte de instrucciones SSE3. Esta opción está disponible a partir de GCC 4.3.x.
znver1 Procesadores basados en AMD Family 17h core con soporte de instrucciones x86-64 (BMI, BMI2, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT y extensiones 64-bit). Esta opción está disponible a partir de GCC 6.x.
Otros
c3 Via C3 con soporte de instrucciones MMX y 3DNow!.
c3-2 Via C3-2 con soporte de instrucciones MMX y SSE.
winchip2 IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!.
winchip-c6 IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX.

Optimizaciones adicionales

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

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

$ tar Jxvf dosemu-1.4.0.8-git-20082015.xz
$ cd dosemu-1.4.0.8-git-20082015
$ ./configure --with-fdtarball=../dosemu-freedos-1.1-bin.tgz \
--with-svgalib --mandir=/usr/local/share/man

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.

--with-svgalib : Si tenemos instalada la librería gráfica Svgalib añadir esta opción.

--mandir=/usr/local/share/man
: Instala las páginas de manual del programa en /usr/local/share/man, en lugar de /usr/local/man.

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

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 Athlon(tm) II X2 260 Processor
MHz 3214.610
RAM 2048 MB
Sistema de archivos XFS
Versión de Glibc 2.23
Enlazador dinámico GNU gold (Binutils 2.27) 1.12
Compilador GCC 6.2.0 + Ccache 3.2.7
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 -j2
Tiempo de compilación 1' 11"
Archivos instalados 564
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 29
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 11,4 MB

Consumo inicial de CPU y RAM de DOSEMU

Consumo inicial de CPU y RAM de DOSEMU
Proceso
CPU Memoria física
dosemu.bin 0 % 14,4 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. 

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

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.

dosemu-1.4.0.8-git-20082015-scripts.tar.gz

$ su 
# tar zxvf dosemu-1.4.0.8-git-20082015-scripts.tar.gz
# cd dosemu-1.4.0.8-git-20082015-scripts
# ./Desinstalar_dosemu-1.4.0.8-git-20082015

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 dosemu-1.4.0.8-git-20082015-scripts.tar.gz
# cd dosemu-1.4.0.8-git-20082015-scripts
# ./Respaldar_dosemu-1.4.0.8-git-20082015

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_dosemu-1.4.0.8-git-20082015



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"
# Por defecto: 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. Por defecto: off

# $_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
# Los dispositivos montados actualmente y la swap son rechazados. Hdimages y los dispositivos pueden
# ser mezclados como "hdimage_c /dev/hda1 /dev/hda3:ro". Por defecto: "drives/*"

# $_hdimage = "drives/*"

# Si usted quiere iniciar desde una disquetera virtual:
# nombre de archivo de la imagen de disquete bajo DOSEMU_LIB_DIR
# ej. "floppyimage" desactiva $_hdimage
#      "floppyimage +hd" no desactiva $_hdimage. Por defecto: ""

# $_vbootfloppy = ""

# tipos de dispositivo de disquetera: "threeinch" o "fiveinch" o "atapi" o vacío,
# si no existe. De forma opcional el dispositivo puede ser añadido tal como
# "threeinch:/dev/fd0". Por defecto: "threeinch" for A:, "" for B:

# $_floppy_a = "threeinch"
# $_floppy_b = ""

# 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.
# Por defecto: "/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). Por defecto: ""

# $_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 = ""

# system.ini   -> system.XXX; predefinido="" o 3 car., (para Windows 3.x)

# $_emuini = ""

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

# tamaño de memoria convencional de DOS, en Kbytes, <= 768.
# Por defecto: 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.
# Por defecto: 8192

# $_xms = (8192)

# 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.
# Por defecto: 2048

# $_ems = (2048)

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

# $_ems_frame = (0xe400)

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

# $_dpmi = (0x5000)

# Dirección base DPMI; por defecto: auto
# Si el valor predefinido falla, probar 0x10000000

# $_dpmi_base = (auto)

# Algunos programas compilados con DJGPP contienen fallos de derefencia
# del puntero NULOS. Éstos pueden funcionar bajo Windows o QDPMI,
# pero dejarán de hacerlo bajo dosemu, porque dosemu detecta este tipo
# de errores en esta clase de programas. Si su programa se cierra con el mensaje
# "SIGSEGV", activando esta opción probablemente le servirá de ayuda.

# $_ignore_djgpp_null_derefs = (0)

# driver preferido de mapeado, uno de: auto, mapshm, mapashm, mapfile
# Por defecto: ""="auto"

# $_mapping= ""

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

# conmutadores de depuración; el mismo formato que la opción de línea de comandos -D, por defecto: ""="-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. Por defecto: 10)
# si usted va a jugar a Doom o Duke3D con sonido.

# $_cli_timeout = (10)

# pruebe a ajustar esto a algún valor positivo más bajo (ejemplo. 5; por defecto: 50)
# si tiene problemas con algún programa de DOS que se bloquea después de estar
# funcionando algún tiempo.

# $_pic_watchdog = (50)

# lista de modificaciones temporales, vea las notas de publicación en el archivo ChangeLog.
# ejemplo. "0:1 2:0", que debe de establecer feature_0 a 1 y feature_2 a 0.
# Por defecto: ""

# $_features= ""

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

# Codificación de caracteres usada externamente por dosemu
# Por defecto: "" == 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
# Por defecto: "" == 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. Por defecto: (on)

# $_term_color = (on)

# intervalo de tiempo entre cada refresco de pantalla (unidades: 20 == 1 segundo). Por defecto: 4

# $_term_updfreq = (4)

# xterm, títulos de ventana compatibles. Por defecto: %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
# Por defecto: "vga"; none=modo de terminal muda.

# $_video = "vga"

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

# Esquema de teclado: por defecto: '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.
# por defecto: (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)

## ** Las opciones siguientes del ratón son IGNORADAS para cualquier sesión DOSEMU excepto en las que
## ** la consola Linux utiliza suid/sudo/root, el conmutador -s, y $_graphics=(1).

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

# $_mouse = "microsoft"

# Dispositivo del ratón: si usted va a utilizar el driver interno del ratón, puede poner
# el dispositivo real del ratón como: "/dev/input/mice", "/dev/mouse", "/dev/psaux"
# (para PS/2), o "/dev/gpmdata" (para el uso del repetidor GPM).
# si en cambio, intenta usar el driver de puerto del ratón de DOS, entonces tiene que poner
# uno de "com1", "com2", "com3", "com4", y el driver interno del ratón será desactivado.
# El valor por defecto "" significa: no leer el dispositivo del ratón de forma directa (ningún ratón en
# la consola, modo "$_graphics=(1)", pero GPM todavía puede utilizarse en otros modos).

# $_mouse_dev = ""

# Por defecto: "" o uno o más de: "emulate3buttons cleardtr"

# $_mouse_flags = ""

# velocidad en baudios, por defecto: 0 == no ajustar

# $_mouse_baud = (0)

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

# Dispositivos joystick 1 y 2
# ejemplo. "/dev/js0" o por defecto: "/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, por defecto: 1

# $_joy_dos_min = (1)

# evitar las opciones de máximo a > 250, por defecto: 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. por defecto: 1

# $_joy_latency = (1)

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

# usar ejemplo. "/dev/mouse", "/dev/ttyS0", "/dev/ttyS1", ...
# 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". Por defecto: ""

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

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

# $_ttylocks = "/var/lock"

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

# Comandos de impresión a utilizar para LPT1, LPT2 y LPT3.
# Por defecto: "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 -l -P lpt2"
# $_lpt3 = ""

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

# $_printer_timeout = (20)

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

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

# $_speaker = "emulated"

# soporte de sonido on/off; usar (2) para el nuevo código de sonido experimental

# $_sound = (on)

# (¡emulado!) Sound Blaster base puerto i/o, por defecto: (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 midi

# $_mpu_base = (0x330)

# Las opciones siguientes son específicas del driver y no son necesarias para alterar los
# los valores predefinidos en la mayoría de los casos. Leer sound-usage.txt para más detalles.
# Por defecto: min_frags: 4, max_frags: 0x20, stalled_frags: 2, do_post: off,
# min_extra_frags: 2, dac_freq: 6000.

# $_oss_min_frags = (4)
# $_oss_max_frags = (0x20)
# $_oss_stalled_frags = (2)
# $_oss_do_post = (off)
# $_oss_min_extra_frags = (2)
# $_oss_dac_freq = (6000)

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

# Activa el packet driver interno. Por defecto: on

# $_pktdriver = (on)

# Tipo de red virtual. "direct" para acceso directo NIC, "tap" para
# utilizar el dispositivo virtual TAP.
# NOTA: el método "direct" necesita privilegios de root.
# Por defecto: "tap"

# $_vnet = "tap"

# Dispositivo de red para Packet Driver. Para el modo de acceso directo NIC, se puede
# ajustar a, por ejemplo, "eth0". Para el modo de red virtual TAP, tiene que ajustarse
# de forma explícita, como "tap0", para enlazar a un dispositivo TAP existente,
# o dejarlo en blanco para una ubicación dinámica de un dispositivo TAP. Cualquier opción
# que no se inicie con "tap", es ignorada en el modo TAP y permitida sólo en modo direct.
# Por defecto: "eth0"

# $_netdev = "tap0"

# usar modificación Novell 802.3. Por defecto: off

# $_novell_hack = (off)

# NOTA: IPX requiere de privilegios de root a menos que usted haya ajustado /proc/net/ipx_route
# de antemano.
# Por defecto: (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.
# Por defecto: 0

# $_ipx_network = (0)

##############################################################################
## Opciones específicas para el sistema X Window (xdosemu, dosemu -X)

# intervalo de tiempo entre cada refresco de pantalla (unidades: 20 == 1 segundo). Por defecto: 5

# $_X_updfreq = (5)

# Título en la barra de la ventana. Por defecto = "DOS in a BOX"

# $_X_title = "DOS in a BOX"

# Mostrar el nombre de la aplicación que está corriendo en el título de la barra de la ventana. Por defecto: 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'. Por defecto: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.
# Por defecto: on

# $_X_mitshm = (on)

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

# $_X_sharecmap = (off)

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

# $_X_fixed_aspect = (on)

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

# $_X_aspect_43 = (off)

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

# $_X_lin_filt = (off)

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

$_X_bilin_filt = (on)

# 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. Por defecto: 1.0

$_X_gamma = (1.5)

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

# $_X_vgaemu_memsize = (4096)

# usar un frame buffer lineal en los modos VESA. Por defecto: 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. Por defecto: "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". Por defecto: ""

# $_X_vesamode = ""

# pausar xdosemu si pierde el enfoque

# $_X_background_pause = (off)

##############################################################################
## 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 o sudo/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)". Por defecto: ""
# $_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".Por defecto: ""
# 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". Por defecto: ""

# $_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.
# Por defecto: (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 'console' vídeo (acceso directo a la ram de vídeo). Por defecto: (1)

# $_console = (1)

# usar la BIOS de la tarjeta para ajustar los gráficos y permitir puerto i/o directo. Por defecto: (1)

# $_graphics = (1)

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

# $_vbios_post = (0)

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

# $_vbios_seg = (0)

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

# Por defecto: (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.
# Por defecto: 4096

# $_vmemsize = (4096)

# [priv] chipset real: uno de: plainvga, trident, et4000, diamond, avance
# cirrus, matrox, wdvga, paradise, ati, s3, sis, svgalib
# es probable que estos drivers estén obsoletos para las tarjetas modernas; "vesa"
# probablemente funcione, si no, pruebe "plainvga". Por defecto: "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.
# Por defecto: "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. Por defecto: (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

2) Bad or missing Command Interpreter: z:\command.com /e:1024 /p

El mensaje de error que titula este apartado se muestra en la ventana de DOSEMU, al iniciar el emulador, y no es común a todas las distribuciones GNU/Linux. Es un problema de compatibilidad entre DOSEMU y la versión de Glibc que tenga la distribución de turno, que provoca que el comando lredir.com, necesario para poder hacer las correspondientes redirecciones de unidades, no funcione correctamente.

Captura DOSEMU - 4

La solución encontrada en la web de DOSEMU pasa por introducir la ruta al comando (d:\bin\command.com) para poder iniciar el sistema, pero esto ni es solución ni es nada. Así que esta es mi otra solución. Despúes de haber ejecutado por primera vez, el emulador y presentarse este error, cerramos la ventana del mismo, y ejecutamos los siguientes comandos como usuario en una ventana de terminal, que además de modificar las letras de dispositivo pertinentes, impedirán que cada vez que iniciemos el emulador, los archivos de configuración autoexec.bat y config.sys, ubicados en nuestro directorio personal, vuelvan a ser sobreescritos por DOSEMU, y deshaga todo lo que hemos hecho.

$ sed -i 's/z:/d:/g' ~/.dosemu/drive_c/{autoexec.bat,config.sys}
$ chmod 444 ~/.dosemu/drive_c/{autoexec.bat,config.sys}

Si tenemos pensado editar estos archivos, no olvidar volver a darles permisos de escritura para el usuario, para posteriormente volver a darles permisos de lectura.

$ chmod 644 ~/.dosemu/drive_c/{autoexec.bat,config.sys}

Como toda solución urgente tiene sus inconvenientes, y uno de ellos, es que no podremos ejecutar las aplicaciones de forma directa, mediante el uso de scripts de ejecución como explico en la sección siguiente a ésta.



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 xdosemu, 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,

$ xdosemu -S

Captura DOSEMU - 2


Captura DOSEMU - 3




Enlaces


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

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 24-09-2016

Emuladores - DOSEMU

Emuladores - DOSBoxEmuladores - E-UAE