viernes, 18 de julio de 2025

Emulador DosBox en Ubuntu

Buenas a todos!!!

Ahora estoy liado con lo retro y no puede faltar un emulador para MS-DOS con el que poder hacer funcionar software de la epoca de los 90`s.

1. ¿Qué es DOSBox?

DOSBox es un emulador:
No es una máquina virtual pesada, sino un programa que recrea el entorno de una computadora con el sistema operativo dominante en los 80 y principios de los 90, el MS-DOS.

Su propósito:
Ejecutar software antiguo diseñado para MS-DOS, principalmente juegos clásicos en sistemas operativos modernos como Windows 11, macOS, Linux (Ubuntu), e incluso en dispositivos móviles o Raspberry Pi.

Qué emula DOSBox:

  • La CPU:
    • Principalmente Intel x86 (típicamente un 486/Pentium).
  • Hardware clave:
    • Tarjeta de sonido (Sound Blaster, Adlib, Gravis Ultrasound)
    • Tarjeta gráfica (VGA, SVGA, Hercules, Tandy)
    • Puerto joystick (Game Blaster)
    • Módem
    • Impresora
    • Unidad de disquete.
    • Disco duro virtual.
  • El entorno DOS:
    • Comandos básicos. (dir, copy, cd, etc.).
    • gestión de memoria. (XMS, EMS).
    • La interfaz de línea de comandos.
  • Por qué es esencial hoy:
    El hardware moderno y los sistemas operativos (especialmente los de 64 bits) son totalmente incompatibles con el software DOS antiguo.
    DOSBox "engaña" a ese software haciéndole creer que se está ejecutando en una PC DOS real.

Por suerte para todos es un proyecto Open Source y eso siempre es un gran beneficio para la comunidad retro.


2. ¿Cómo se instala DOSBox en Ubuntu?

Instalar DOSBox es extremadamente sencillo gracias a los repositorios oficiales de Ubuntu. Tienes dos opciones principales:

  • Método recomendado desde los repositorios oficiales:
    Abrimos un Terminal (Ctrl+Alt+T) y actualizamos la lista de paquetes:
    
    	sudo apt update
        
    Ahora instalamos DOSBox:
    
        sudo apt install dosbox
        
        
    ¡Listo! Ya puedes buscar "DOSBox" en el menú de aplicaciones de Ubuntu o ejecutarlo desde la terminal tecleando dosbox.
  • Método Alternativo (Snap):
    
        sudo snap install dosbox-x
        
    Nota: dosbox-x es un fork con características adicionales. El paquete dosbox de los repositorios (apt) suele ser suficiente .

3. Parámetros de Configuración en dosbox.conf (¡El corazón de DOSBox!)

Este archivo es fundamental para personalizar el comportamiento de DOSBox. Se crea automáticamente la primera vez que ejecutas DOSBox.

  • Ubicación del archivo dosbox.conf:
    • Linux (Ubuntu): ~/.dosbox/dosbox-[versión].conf (Por ejemplo: ~/.dosbox/dosbox-0.74-3.conf)

    • ~ representa el directorio de usuario ubicado en home (/home/usuario).

    • Es un archivo oculto y empieza por punto. Puedes verlo en tu gestor de archivos activando "Mostrar archivos ocultos" o usando ls -a en la terminal dentro de ~/.dosbox.


 

Estructura del archivo "dosbox-version.conf":

El archivo está dividido en secciones entre corchetes [seccion]. Los parámetros se ajustan debajo de cada sección con el formato parametro=valor.

Parámetros Clave y Qué Hacen (Agrupados por Sección):

  • [sdl] (Simple DirectMedia Layer):
    • fullscreen=true/false:
      Iniciar DOSBox en pantalla completa o en ventana.

    • fulldouble=true/false:
      Usar doble buffer en pantalla completa (mejor fluidez, prueba si tienes tearing).

    • fullresolution=original o desktop o 1024x768:
      Resolución interna cuando está a pantalla completa. original usa la resolución nativa del juego (pixelado). desktop usa tu resolución de escritorio (puede escalar).
      Especificar como 1024x768 fuerza una resolución.

    • windowresolution=1024x768:
      Tamaño de la ventana cuando no está a pantalla completa (ej: 800x600, 1024x768).

    • output=surface/overlay/opengl/openglnb:
      Método de renderizado. surface es el más compatible. opengl o openglnb (sin buffer) pueden dar mejor rendimiento y escalado en hardware (prueba si tienes problemas).

    • autolock=true/false:
      Bloquear automáticamente el ratón dentro de la ventana de DOSBox al hacer clic (esencial para juegos).

  • [dosbox] (Comportamiento general del emulador):
    • language=: Ruta al archivo de idioma (si lo tienes).

    • machine=hercules/cga/tandy/vga:
      Tipo de máquina a emular (afecta gráficos y sonido). vga es el estándar más común.

    • captures=capturas:
      Directorio donde se guardan capturas de pantalla (F5) y vídeo (Ctrl+Alt+F5). Relativo a la carpeta de configuración de DOSBox.

  • [render] (Opciones avanzadas de renderizado):
    • frameskip=0: Número de fotogramas a saltar (0 es ninguno). Aumentar (ej: 1 o 2) puede mejorar rendimiento en juegos muy lentos, pero da tirones.

    • scaler=normal2x/advmame2x/hq2x/etc:
      Algoritmo de escalado para suavizar los píxeles al ampliar la ventana.
      Prueba normal2x, advmame2x, hq2x o super2xsai para ver cuál te gusta más.
      none muestra píxeles crudos.

  • [cpu] Ajustes críticos para rendimiento:
    • core=auto/normal/simple/dynamic:
      Motor de emulación de la CPU.

    • auto:
      DOSBox elige (generalmente dynamic si está disponible).

    • dynamic (RECOMENDADO):
      El más rápido y eficiente para la mayoría de juegos. Recompilación en tiempo de ejecución.

    • normal:
      Interprete más compatible pero más lento.

    • simple:
      Interprete básico (muy lento, solo para compatibilidad extrema).

    • cycles=auto/fixed N/max:
      Controla la velocidad de la CPU emulada.

    • auto (RECOMENDADO):
      DOSBox intenta ajustar la velocidad automáticamente (¡usa Ctrl+F11/F12!).

    • fixed 3000:
      Fija la velocidad a un número específico de ciclos (ej: 3000, 10000, 20000).
      Empieza con auto y ajusta manualmente con Ctrl+F11/F12 si un juego va demasiado rápido/lento.

      El valor mostrado al usar Ctrl+F11/F12 es el que puedes poner aquí como fixed.

    • max:
      Ejecuta a la máxima velocidad posible (útil solo para benchmarks, los juegos irán hiperrápidos).

    • cputype=auto/386/486/pentium:
      Tipo específico de CPU a emular. auto suele ser suficiente.

  • [mixer] (Sonido):
    • nosound=true/false:
      Desactiva TODO el sonido.

    • rate=44100:
      Frecuencia de muestreo del sonido (Hz). 44100 o 48000 son estándar. Valores bajos (22050) pueden mejorar rendimiento en PCs lentas.

    • blocksize=:
      Tamaño del bloque de audio. Aumentar (ej: 1024) puede reducir clics si tienes problemas de sonido, pero añade latencia.

    • prebuffer=:
      Cantidad de audio en milisegundos a pre-buffear.

  • [midi] (Salida MIDI - Música en juegos):
    • midiconfig=:
      Configuración del dispositivo MIDI. Para usar un sintetizador de software moderno (FluidSynth):
      
          	midiconfig=128:0 /ruta/a/tu/soundfont.sf2
          	
      (Busca soundfonts gratuitos como GeneralUser GS.sf2 o FluidR3_GM.sf2).

  • [sblaster] (Sound Blaster - Tarjeta de sonido esencial):
    • sbtype=sb16:
      Tipo de Sound Blaster (sb1, sb2, sbpro1, sbpro2, sb16). sb16 es el más común y compatible.

    • sbbase=220:
      Dirección de E/S (I/O address). 220 es el estándar.

    • irq=7:
      Interrupción (IRQ). 7 es el estándar.

    • dma=1:
      Canal DMA. 1 es el estándar.

    • hdma=5:
      Canal DMA de alta velocidad (para SB16). 5 es el estándar.

    • bmixer=true/false:
      Habilita el control de volumen de la Sound Blaster dentro de DOSBox.

  • [autoexec] La sección más importante:
    • No es un parámetro, sino un script:
      Aquí pones comandos de DOS que se ejecutan automáticamente al iniciar DOSBox.

    • Usos principales:
      Montar directorios: Convertir carpetas de tu Ubuntu en unidades de DOS para acceder a tus juegos/programas.
      
              
              # Montar unidad principal C:
              mount C ~/juegos_dos  
              
              # Cambia a la unidad C:
              C:                    
              # Entra en la carpeta del juego
              cd mi_juego           
              # Ejecuta el juego
              juego.exe             
      
              # Monta unidad desde USB como cdrom
              mount D /media/usb -T cdrom: Montar una imagen ISO/CD como unidad D: (tipo cdrom).
              
              # Monta una imagen ISO
              imgmount d ~/Descargas/Win311.ISO -T iso
              
              # Monta una unidad de disquete desde imagen:
              imgmount a ~/Descargas/DayoftheTentacle/DayoftheTentacleX.img -T floppy
              
              


    • Ejecutar programas/juegos automáticamente:
      Como se ve en el ejemplo anterior (cd mi_juego y juego.exe).

    • Ajustar variables de entorno de DOS:
      set BLASTER=A220 I7 D1 H5 (le dice al software la configuración de la Sound Blaster).

    • Cargar drivers residentes (TSR):
      Ejecutar mouse.com para tener soporte de ratón en programas que lo necesiten.

    • Personalizar el prompt:
      prompt $p$g.
    DOSBox - dosbox.conf personalizado

Conclusión: Píxeles Inmortales y la Batalla por el Ayer Digital

Al cerrar DOSBox después de revivir mis primeros juegos como "gorillas.bas" o "Indiana Jones y la Última Cruzada" o "Doom" en Ubuntu,  la nostalgia nos golpea: la emulación es un acto de resistencia cultural para todos los que ya tenemos una edad. Y una masterclass de como con pocos recursos se podían logar grandes proyectos.

Cada vez que montamos un directorio en C: virtual, estamos salvando mundos enteros del agujero negro de la obsolescencia.


Juegos clásicos MS-DOS


MS-DOS Turbo C++



🚨 La Trinchera: #StopKillingGames

Esta iniciativa global (stopkillinggames.com), liderada por creadores como Ross Scott (Accursed Farms), denuncia la práctica abusiva Juegos vendidos como productos completos... que mueren cuando la empresa decide desconectar los servidores.

Si no conoces la iniciativa aquí os dejo unos vídeos donde lo explican perfectamente:

BaityBait:

Alva Majo

Página oficial DOSBox

Wiki oficial DOSBox con todos los parámetros anteriormente explicados y muchos más

También te puede interesar:

Recopilación de programas en Archive.org

Instalación de RetroPie en Ubuntu

No hay comentarios :

Publicar un comentario