quarta-feira, 4 de março de 2026

DOSBox para games e programas antigos

 

🕹️ O Manual Completo do DOSBox para Linux

Rodando Jogos e Programas Clássicos de DOS Perfeitamente — Duke Nukem 3D, Doom, Heretic, Warcraft 2 e Muito Mais


Para quem é este manual: Para qualquer pessoa no Linux que queira rodar jogos e programas da era DOS como eles foram feitos para ser — com velocidade correta, som autêntico e exibição adequada — usando o DOSBox.


📋 Índice

  1. O que é o DOSBox e por que você precisa dele?
  2. Escolhendo a versão certa do DOSBox
  3. Instalando o DOSBox no Linux
  4. Entendendo o arquivo de configuração do DOSBox
  5. Configuração seção por seção explicada
    • 5.1 [sdl] — Exibição e Entrada
    • 5.2 [dosbox] — Configurações Principais
    • 5.3 [render] — Renderização Gráfica
    • 5.4 [cpu] — Emulação do Processador
    • 5.5 [mixer] — Mixer de Áudio
    • 5.6 [midi] — Música MIDI
    • 5.7 [sblaster] — Placa Sound Blaster
    • 5.8 [gus] — Gravis UltraSound
    • 5.9 [speaker] — Alto-falante do PC e Tandy
    • 5.10 [joystick] — Joystick e Gamepad
    • 5.11 [serial] — Portas Seriais
    • 5.12 [dos] — Ambiente DOS
    • 5.13 [ipx] — Rede/IPX
    • 5.14 [autoexec] — Comandos de Inicialização
  6. Montando Drives e Diretórios
  7. Arquivo de Configuração de Referência Completo
  8. Configurações Específicas por Jogo
  9. Rodando Programas Clássicos de DOS
  10. Mergulho Profundo na Configuração de Som
  11. Ajuste de Performance
  12. Atalhos de Teclado e Comandos do DOSBox
  13. Criando Scripts de Lançamento por Jogo
  14. Solucionando Problemas Comuns
  15. Dicas e Truques Profissionais

1. O que é o DOSBox e por que você precisa dele?

O DOSBox é um emulador de DOS gratuito e de código aberto. Ele emula um computador IBM PC-compatível completo da era DOS — incluindo a CPU, memória, hardware de som, hardware gráfico e armazenamento — para que programas antigos de DOS possam ser executados em sistemas operacionais modernos.

Por que você não pode simplesmente rodar programas antigos de DOS diretamente

Os sistemas Linux modernos:

  • Rodam em CPUs de 64 bits que não suportam mais programas de 16 bits nativamente
  • Não possuem hardware como placas Sound Blaster, sintetizadores FM OPL2/OPL3 ou controladores VGA que esses programas esperam encontrar
  • Não têm o modelo de memória DOS (convencional, EMS, XMS)
  • Rodam centenas de vezes mais rápido que o hardware da era DOS, o que quebra jogos programados para rodar em uma velocidade fixa de CPU

O DOSBox resolve todos esses problemas emulando o ambiente de hardware completo para o qual esses jogos foram projetados.

O que o DOSBox emula

Componente de Hardware O que fornece
CPU Intel 8086 / 286 / 386 / 486 Executa código DOS de 16 bits
Memória convencional (640KB) Memória padrão DOS
Memória EMS Especificação de Memória Expandida (LIM 4.0)
Memória XMS Especificação de Memória Estendida
Gráficos VGA / SVGA Modos de exibição CGA, EGA, VGA, VESA
Sound Blaster 16 Áudio digital (amostras WAV/VOC)
Sintetizador FM OPL2 / OPL3 Música e efeitos sonoros
Gravis UltraSound Áudio wavetable de alta qualidade
Alto-falante do PC Bipes e sons simples
Interface MIDI MPU-401 Saída de música MIDI
Controlador IDE / disquete Emulação de drives
Portas serial/paralela Portas COM e LPT

2. Escolhendo a versão certa do DOSBox

Existem várias versões (forks) do DOSBox. Cada uma tem pontos fortes diferentes:

Versão Melhor Para Observações
DOSBox (original) Máxima compatibilidade Mais antigo, mais testado, desenvolvimento mais lento
DOSBox Staging Linux moderno, melhores padrões Recomendado para a maioria dos usuários — ótimo padrão de áudio/vídeo
DOSBox-X Aplicativos de produtividade DOS, usuários avançados Mais recursos, mais complexo, melhor emulação do ambiente DOS
DOSBox-ECE Compatibilidade aprimorada Bom meio-termo com recursos extras

Recomendação

  • Para jogos no Linux: Use o DOSBox Staging — tem a melhor experiência imediata, melhor reamostragem de áudio, escalonamento aprimorado e é mantido ativamente.
  • Para software de produtividade (WordPerfect, Lotus 1-2-3, etc.): Use o DOSBox-X — tem melhor suporte a impressora, ambiente DOS mais preciso e melhores opções de configuração.
  • Em caso de dúvida: Comece com o DOSBox Staging.

Este manual cobre o DOSBox vanilla e o DOSBox Staging, com notas para o DOSBox-X quando relevante.


3. Instalando o DOSBox no Linux

3.1 Instalando no Ubuntu / Debian / Linux Mint

# Atualize as listas de pacotes primeiro
sudo apt update

# Instale o DOSBox original
sudo apt install dosbox

# --- OU ---

# Instale o DOSBox Staging (recomendado)
# Primeiro adicione o PPA
sudo add-apt-repository ppa:feignint/dosbox-staging
sudo apt update
sudo apt install dosbox-staging

Nota: Em versões mais recentes do Ubuntu/Debian, o DOSBox Staging pode estar disponível diretamente:

sudo apt install dosbox-staging

3.2 Instalando no Arch Linux / Manjaro

# DOSBox vanilla dos repositórios oficiais
sudo pacman -S dosbox

# DOSBox Staging do AUR
yay -S dosbox-staging
# ou
paru -S dosbox-staging

3.3 Instalando no Fedora / RHEL / CentOS Stream

# Habilite o RPM Fusion se ainda não fez isso
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

# Instale o DOSBox
sudo dnf install dosbox

# DOSBox Staging via Flatpak (mais confiável no Fedora)
flatpak install flathub io.github.dosbox-staging

3.4 Instalando via Flatpak (Universal — funciona em qualquer distro Linux)

O Flatpak é o método mais fácil entre distros e mantém o DOSBox Staging atualizado:

# Instale o Flatpak se ainda não estiver instalado
sudo apt install flatpak        # Debian/Ubuntu
sudo pacman -S flatpak          # Arch
sudo dnf install flatpak        # Fedora

# Adicione o repositório Flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# Instale o DOSBox Staging
flatpak install flathub io.github.dosbox-staging

# Execute
flatpak run io.github.dosbox-staging

3.5 Verificando a Instalação

# Verifique qual dosbox está instalado e sua versão
dosbox --version

# Ou para o DOSBox Staging
dosbox-staging --version

3.6 Primeira Execução — Gerando o Arquivo de Configuração

Na primeira vez que você executar o DOSBox, ele gera um arquivo de configuração padrão. Execute-o uma vez e feche:

dosbox

Isso cria o arquivo de configuração em:

  • DOSBox Vanilla: ~/.dosbox/dosbox-SVN.conf ou ~/.dosbox/dosbox-0.74-3.conf
  • DOSBox Staging: ~/.config/dosbox/dosbox-staging.conf
# Verifique onde seu arquivo de configuração foi criado
ls ~/.dosbox/
# ou
ls ~/.config/dosbox/

4. Entendendo o arquivo de configuração do DOSBox

O arquivo de configuração do DOSBox é um arquivo de texto simples dividido em seções. Cada seção controla uma parte diferente do hardware emulado. O arquivo usa um formato simples de chave=valor.

Estrutura básica

[nome_da_secao]
nome_da_opcao=valor
outra_opcao=outro_valor

[proxima_secao]
opcao=valor

Abrindo e editando o arquivo de configuração

# Abrir com o nano (editor simples de terminal)
nano ~/.dosbox/dosbox-0.74-3.conf

# Abrir com o gedit (gráfico)
gedit ~/.dosbox/dosbox-0.74-3.conf

# Abrir com o VS Code
code ~/.dosbox/dosbox-0.74-3.conf

Usando arquivos de configuração por jogo (IMPORTANTE!)

Você não precisa usar apenas um arquivo de configuração. Você pode criar um arquivo .conf separado para cada jogo e iniciar o DOSBox com aquela configuração específica:

dosbox -conf /caminho/para/config-do-meu-jogo.conf

Esta é a abordagem recomendada — mantenha uma configuração base para uso geral e crie configurações por jogo para aqueles que precisam de ajustes especiais.


5. Configuração seção por seção explicada

Abaixo está cada seção do arquivo de configuração do DOSBox explicada em português simples, com o que cada opção faz e qual valor usar.


5.1 [sdl] — Exibição e Entrada

Esta seção controla a janela, o modo tela cheia, a captura do mouse e a entrada de teclado no seu desktop Linux.

[sdl]

fullscreen=false

Se o DOSBox inicia em modo tela cheia.

  • false = inicia em uma janela (recomendado para começar)
  • true = inicia em tela cheia imediatamente
fullscreen=false

Pressione Alt+Enter a qualquer momento dentro do DOSBox para alternar entre janela e tela cheia.


fulldouble=false

Controla o double buffering (duplo buffer) em tela cheia.

  • false = buffer único (padrão, adequado para a maioria das configurações)
  • true = double buffer (pode reduzir o rasgamento de tela no modo tela cheia, mas pode diminuir a velocidade)
fulldouble=false

fullresolution=desktop

A resolução a ser usada no modo tela cheia.

  • desktop = usar a resolução nativa do seu monitor (melhor opção — preenche a tela perfeitamente)
  • original = usar a resolução original do jogo (muito pequena em monitores grandes)
  • Uma resolução específica como 1920x1080 = forçar aquela resolução
fullresolution=desktop

windowresolution=1280x960

O tamanho da janela do DOSBox quando rodando em modo janela. Isso não afeta a resolução interna do jogo — apenas escala a saída para caber na janela.

Boas opções para uma janela de jogo confortável:

windowresolution=1280x960    # Bom para monitores 1080p
windowresolution=1600x1200   # Opção maior
windowresolution=960x720     # Mais compacto

A resolução clássica do DOS era 320x200. Qualquer janela maior que isso é ampliada, o que é normal.


output=opengl

Como o DOSBox renderiza a imagem para sua tela. Esta é uma das configurações de exibição mais importantes.

Valor Descrição Quando Usar
surface Renderização software básica SDL Opção segura, sem shaders
overlay SDL overlay (depreciado) Evite
opengl Renderização hardware OpenGL Melhor escolha — habilita shaders, escalonamento suave
openglnb OpenGL sem filtragem bilinear Pixels mais nítidos, sem desfoque
ddraw DirectDraw (somente Windows) Não aplicável no Linux
output=opengl

Use opengl para a melhor experiência. Permite shaders de pixel (como efeitos de scanlines de CRT) e escalonamento suave.


autolock=true

Se o mouse é automaticamente capturado (travado) dentro do DOSBox quando você clica na janela. Essencial para jogos em primeira pessoa.

  • true = o mouse é capturado quando você clica dentro da janela (necessário para Doom, Duke3D, etc.)
  • false = o mouse nunca é capturado automaticamente
autolock=true

Para liberar o mouse do DOSBox a qualquer momento, pressione Ctrl+F10.


sensitivity=100

Sensibilidade do mouse dentro do DOSBox. 100 é o padrão (velocidade normal). Aumente para mouse mais rápido, diminua para mais lento.

sensitivity=100

waitonerror=true

Se o DOSBox travar ou o programa sair com um erro, mantém a janela aberta para que você possa ler a mensagem de erro.

  • true = manter janela aberta em caso de erro (recomendado)
  • false = fechar janela imediatamente em caso de erro
waitonerror=true

priority=higher,normal

Prioridade de CPU concedida ao DOSBox. O formato é ativo,inativo (quando a janela do DOSBox está em foco e quando não está).

Valor Significado
lowest Prioridade muito baixa
lower Abaixo do normal
normal Prioridade normal
higher Acima do normal (recomendado quando ativo)
highest Prioridade máxima
pause Pausar emulação quando a janela perde o foco
priority=higher,normal

mapperfile=mapper-0.74-3.map

Arquivo que armazena seus mapeamentos personalizados de teclado/botões. Deixe no padrão.

mapperfile=mapper-0.74-3.map

usescancodes=true

Se o DOSBox usa scan codes de teclado em vez de caracteres. Defina como true para melhor compatibilidade de teclado em jogos (especialmente importante para jogos que usam layouts não-QWERTY ou teclas especiais).

usescancodes=true

5.2 [dosbox] — Configurações Principais

Esta seção controla o comportamento fundamental do DOSBox — o tipo de máquina, tamanho da memória e algumas opções de emulação principais.

[dosbox]

language=

Caminho para um arquivo de idioma para as mensagens da interface do DOSBox. Deixe em branco para inglês.

language=

machine=svga_s3

Isso é muito importante. Diz ao DOSBox que tipo de placa de vídeo emular. A escolha afeta quais modos de vídeo os jogos podem usar.

Valor Placa Emulada Melhor Para
hercules Hercules monocromático Programas de texto muito antigos
cga Color Graphics Adapter Jogos DOS muito antigos
ega Enhanced Graphics Adapter Jogos DOS da era intermediária
vga VGA Maioria dos jogos DOS de 1990–1993
svga_s3 S3 Trio64 SVGA Melhor para a maioria dos jogos — VESA, 640x480, 800x600
svga_et4000 Tseng ET4000 SVGA SVGA alternativa, alguns jogos preferem
svga_et3000 Tseng ET3000 SVGA SVGA mais antiga
svga_paradise Paradise SVGA Compatibilidade específica com jogos
vesa_nolfb VESA sem LFB Para jogos com problemas de VESA
tandy Tandy 1000 Jogos específicos Tandy
pcjr PCjr Jogos IBM muito antigos
machine=svga_s3

Regra geral: Use svga_s3 para quase todos os jogos de 1993 em diante. Use vga para jogos de 1990–1992. Use ega apenas para jogos que o exigem especificamente.


captures=capture

Diretório onde o DOSBox salva capturas de tela e áudio/vídeo gravados. Relativo ao local de onde o DOSBox é iniciado.

captures=capture

memsize=16

Quanta RAM (em megabytes) a máquina emulada tem. Esta é uma das configurações mais importantes para compatibilidade com jogos.

Valor Equivale a Melhor Para
4 4MB de RAM Jogos muito antigos, era 386
8 8MB de RAM Jogos do início da era 486
16 16MB de RAM Ponto ideal — maioria dos jogos de meados dos anos 90
32 32MB de RAM Alguns jogos DOS tardios, Warcraft II
63 63MB de RAM Máximo recomendado (limite de 63MB)
memsize=16

Não defina memsize acima de 63 — o DOSBox tem um limite rígido e valores acima disso causam problemas. Muitos jogos realmente quebram se receberem muita RAM (não foram programados para lidar com isso), então comece com 16 e só aumente se um jogo pedir mais memória.


5.3 [render] — Renderização Gráfica

Esta seção controla como a imagem é escalada e filtrada na sua tela.

[render]

frameskip=0

Quantos quadros o DOSBox pula antes de desenhar um na tela. Este é um truque de performance de máquinas mais antigas.

  • 0 = desenhar cada quadro (sempre use isso — hardware moderno é rápido o suficiente)
  • 1+ = pular quadros (faz os jogos parecerem instáveis — evite)
frameskip=0

aspect=true

Corrige a proporção de aspecto. Isso é crucial para os jogos terem a aparência correta. Jogos DOS clássicos rodavam em 320x200 pixels, mas eram exibidos em monitores com proporção 4:3, o que significava que os pixels não eram quadrados — eram mais altos do que largos. Se você exibir 320x200 com pixels quadrados, tudo parecerá ligeiramente achatado horizontalmente.

  • true = o DOSBox corrige isso, esticando a imagem para que pareça como em um monitor CRT real (use isso)
  • false = pixels são quadrados — os jogos parecem ligeiramente mais largos e achatados verticalmente
aspect=true

Sempre defina aspect=true. Com false, o marine do Doom parece ligeiramente gordo, o Duke Nukem parece muito largo, etc.


scaler=hq2x

O algoritmo de escalonamento de pixel usado para ampliar a pequena resolução do jogo para caber na sua janela ou tela. Isso faz uma grande diferença na qualidade visual.

Escaler Descrição Melhor Para
none Sem escalonamento, pixels brutos Puristas, janela muito pequena
normal2x Duplicação simples 2x Ampliação rápida e básica
normal3x Triplicação simples 3x Mais ampliação
hq2x Alta Qualidade 2x — suaviza e mistura pixels Boa escolha geral
hq3x Alta Qualidade 3x — mesmo, mas maior Telas de maior resolução
2xsai 2xSaI — algoritmo clássico de suavização Aparência suave
super2xsai 2xSaI aprimorado Versão mais suave
supereagle SuperEagle — mistura bordas Aparência mais suave
advmame2x AdvanceMAME 2x — aprimoramento de bordas nítidas Preserva a nitidez dos pixels
advmame3x AdvanceMAME 3x Versão maior
tv2x Simula scanlines de TV Efeito CRT retrô
rgb2x Simula monitor RGB Efeito CRT retrô
scan2x Efeito de scanlines Simulação de CRT
# Recomendado para a maioria dos jogos
scaler=hq2x

# Para uma aparência mais nítida, com pixels mais definidos
scaler=advmame2x

# Para aparência autêntica de scanlines CRT
scaler=tv2x

# Para usuários OpenGL (use com output=opengl)
scaler=none

Importante: Ao usar output=opengl, você pode usar shaders OpenGL para um escalonamento muito melhor. Nesse caso, defina scaler=none e use um shader no lugar (explicado mais adiante). Ao usar output=surface, o escaler acima é sua única opção.


5.4 [cpu] — Emulação do Processador

Esta é a seção mais crítica para compatibilidade e desempenho de jogos. Acertar as configurações de CPU é a diferença entre um jogo rodando perfeitamente e rodando rápido demais, devagar demais, ou não rodando de jeito nenhum.

[cpu]

core=auto

O núcleo de emulação de CPU — como o DOSBox processa internamente as instruções da CPU.

Valor Descrição Quando Usar
auto Escolhe automaticamente entre normal e dinâmico Melhor padrão — deixe o DOSBox decidir
normal Emulação precisa mas lenta Sempre funciona, use para compatibilidade
dynamic Emulação mais rápida tipo JIT Melhor desempenho em máquinas rápidas
simple Muito básico, mais rápido Jogos simples muito antigos
full Emulação completa de proteção 286/386 Programas em modo protegido
core=auto

cputype=auto

Qual modelo de CPU emular.

Valor CPU Emulada Quando Usar
auto Detecção automática baseada nas necessidades do jogo Padrão — quase sempre correto
386 Intel 386 Jogos que requerem 386
386_slow Emulação lenta do 386 Máxima compatibilidade com 386
486_slow Intel 486 lento Para comportamento específico do 486
pentium_slow Pentium lento Para jogos da era Pentium
386_prefetch 386 com fila de pré-busca Alguns jogos precisam disso
cputype=auto

cycles=auto

A configuração de CPU mais importante. Isso controla quantos ciclos de CPU (instruções) o DOSBox executa por milissegundo de tempo real. É assim que você controla a "velocidade" do computador emulado.

Jogos DOS foram escritos para velocidades específicas de CPU. Se o DOSBox rodar muito rápido, os jogos se comportam de forma errática (inimigos se movem rápido demais, temporizadores quebram, física fica errada). Se muito lento, os jogos ficam lentos.

Entendendo os ciclos:

Valor de Ciclos Velocidade Real Aproximada de CPU Era
315 4,77 MHz IBM PC (8088) 1981
1000 ~8 MHz XT 1984
3000 ~10 MHz 286 1986
6000 ~25 MHz 386 1989
15000 ~33 MHz 486 1991
20000 ~66 MHz 486 DX2 1993
30000 ~100 MHz Pentium 1994
50000 ~133 MHz Pentium 1995
max Velocidade máxima que o host pode fornecer Varia

Formatos disponíveis:

# Deixe o DOSBox ajustar automaticamente (bom padrão, mas nem sempre certo)
cycles=auto

# Ciclos fixos — sempre rodar nesta velocidade
cycles=20000

# Velocidade máxima — use TODA a CPU disponível
cycles=max

# Auto com limite — modo auto mas nunca exceder esses ciclos
cycles=auto 20000

# Máximo com limite — velocidade total mas com teto
cycles=max 50000 limit 90%

Recomendações de ciclos por jogo:

Jogo Ciclos Recomendados
Doom / Doom II cycles=auto ou cycles=20000
Heretic / Hexen cycles=auto ou cycles=20000
Duke Nukem 3D cycles=auto ou cycles=25000
Warcraft I cycles=5000
Warcraft II cycles=20000
Command & Conquer cycles=20000
Wolf3D cycles=7000
Quake cycles=max
Commander Keen cycles=3000
Prince of Persia cycles=315

Dica: Dentro de uma sessão DOSBox em execução, pressione Ctrl+F11 para diminuir os ciclos e Ctrl+F12 para aumentar os ciclos até o jogo parecer certo. Então verifique a contagem de ciclos que o DOSBox mostra na barra de título e coloque esse valor na sua configuração.


cycleup=10 e cycledown=20

Quantos ciclos são adicionados/removidos quando você pressiona Ctrl+F12/Ctrl+F11. São porcentagens.

cycleup=10
cycledown=20

5.5 [mixer] — Mixer de Áudio

Esta seção controla as configurações de saída de áudio principal.

[mixer]

nosound=false

Se desativar toda a saída de som.

  • false = som ligado (normal)
  • true = completamente silencioso (útil para testes ou se o som causar travamentos)
nosound=false

rate=44100

A taxa de amostragem de áudio para a saída do DOSBox, em Hz. Maior é melhor qualidade. Seu sistema de áudio Linux (PulseAudio/PipeWire) lida com isso.

Valor Qualidade
22050 Baixa qualidade — evite
44100 Qualidade CD — use isso
48000 Alta qualidade — adequado, use se preferir
rate=44100

blocksize=1024

O tamanho do buffer de áudio em amostras. Buffers maiores = áudio mais estável, mas mais latência. Buffers menores = menor latência, mas pode causar gagueira se seu sistema for lento.

Valor Efeito
256 Latência muito baixa, pode gaguejar
512 Baixa latência
1024 Equilibrado — bom padrão
2048 Mais estável, leve atraso
4096 Máxima estabilidade, atraso perceptível
blocksize=1024

prebuffer=25

Milissegundos de áudio para pré-bufferizar antes de reproduzir. Funciona com blocksize para controlar a estabilidade do áudio.

prebuffer=25

5.6 [midi] — Música MIDI

Jogos DOS frequentemente usavam MIDI para música — soa muito melhor que a síntese FM em hardware adequado. Esta seção configura a saída MIDI.

[midi]

mpu401=intelligent

O tipo de interface MIDI MPU-401 a emular.

  • intelligent = Modo inteligente completo do MPU-401 — use isso (exigido por muitos jogos)
  • uart = Apenas modo UART (mais simples)
  • none = Desabilitar MIDI
mpu401=intelligent

mididevice=default

Qual dispositivo MIDI usar para enviar música.

Valor Descrição
default Usar o dispositivo MIDI padrão do sistema
oss MIDI OSS do Linux
alsa MIDI ALSA do Linux — melhor para Linux
fluidsynth Sintetizador de software FluidSynth integrado (DOSBox Staging)
mt32 Emulação Roland MT-32 via Munt
none Sem saída MIDI
# Melhor para a maioria das configurações Linux — usa o MIDI do sistema
mididevice=alsa

# Se usando DOSBox Staging com FluidSynth (excelente qualidade de áudio)
mididevice=fluidsynth

midiconfig=

String de configuração de porta/dispositivo MIDI. Deixe em branco para usar o MIDI ALSA padrão. Para ver os dispositivos MIDI disponíveis no seu sistema:

# Listar portas MIDI ALSA
aconnect -l

# Ou
aplaymidi --list
midiconfig=

Usando FluidSynth para MIDI Incrível (DOSBox Staging)

O DOSBox Staging tem suporte FluidSynth integrado, que oferece reprodução MIDI de alta qualidade usando um SoundFont:

# Instale o FluidSynth e um SoundFont
sudo apt install fluidsynth fluid-soundfont-gm

# O SoundFont estará em:
# /usr/share/sounds/sf2/FluidR3_GM.sf2

No arquivo de configuração do DOSBox Staging:

[midi]
mpu401=intelligent
mididevice=fluidsynth

[fluidsynth]
soundfont=/usr/share/sounds/sf2/FluidR3_GM.sf2

5.7 [sblaster] — Placa Sound Blaster

O Sound Blaster foi a placa de som dominante da era DOS. Quase todo jogo DOS o suporta para áudio digital (efeitos sonoros e às vezes música). Esta seção é essencial para o áudio dos jogos.

[sblaster]

sbtype=sb16

Qual modelo Sound Blaster emular.

Valor Placa Ano Notas
none Sem Sound Blaster Desabilita SB completamente
sb1 Sound Blaster 1.0 1989 Apenas mono 8 bits
sb2 Sound Blaster 2.0 1991 Melhor 8 bits
sbpro1 Sound Blaster Pro 1 1991 Estéreo 8 bits
sbpro2 Sound Blaster Pro 2 1992 FM OPL3, estéreo
sb16 Sound Blaster 16 1992 Estéreo 16 bits — melhor escolha
gb Game Blaster (CMS) 1987 Muito antigo
sbtype=sb16

Sempre use sb16 a menos que um jogo tenha problemas específicos com ele. O Sound Blaster 16 suporta tudo que as placas mais antigas suportam, além de áudio estéreo de 16 bits.


sbbase=220

O endereço de porta I/O para o Sound Blaster. Este é o endereço de hardware que o jogo usa para se comunicar com a placa de som.

Quase todos os jogos padrão são o endereço 220. Não mude isso a menos que o programa de configuração de um jogo exija um endereço diferente.

sbbase=220

irq=7

A linha de interrupção de hardware (IRQ) para o Sound Blaster. Os jogos usam isso para receber sinais da placa de som.

Valor Notas
5 IRQ alternativo
7 Padrão — use isso
irq=7

dma=1

O canal DMA (Acesso Direto à Memória) para transferências de áudio de 8 bits.

dma=1

hdma=5

O canal DMA para transferências de áudio de 16 bits (relevante apenas para o Sound Blaster 16). O valor padrão é 5.

hdma=5

sbmixer=true

Se o mixer de hardware do Sound Blaster (controle de volume) está acessível para programas DOS.

  • true = programas podem controlar o volume via mixer SB (recomendado)
  • false = mixer não está acessível
sbmixer=true

oplmode=auto

O modo do sintetizador FM OPL. Os chips OPL são o que produz o característico som de "música FM" nos jogos DOS.

Valor Chip OPL Ano Notas
none Sem OPL Sem música FM
opl2 OPL2 (YM3812) 1988 Música FM mono
dualopl2 Dois chips OPL2 1991 Pseudo-estéreo, Sound Blaster Pro 1
opl3 OPL3 (YMF262) 1992 FM estéreo real, melhor para a maioria dos jogos
opl3gold OPL3 Gold 1993 Modo especial SB AWE32
auto Detecção automática baseada no sbtype Use isso
oplmode=auto

oplemu=default

O backend de emulação para o chip OPL.

Valor Descrição
default Emulador integrado do DOSBox — suficientemente bom
compat Mais compatível mas mais lento
fast Mais rápido mas menos preciso
mame Emulador OPL do MAME (muito preciso)
nuked Nuked OPL3 — mais preciso, recomendado se disponível
oplemu=default

O DOSBox Staging suporta emulação OPL nuked que é precisa ao nível de ciclo em relação ao chip real. Se você usa o Staging, use oplemu=nuked para o som FM mais autêntico.


oplrate=44100

A taxa de amostragem para síntese OPL. Deve corresponder à sua taxa do mixer.

oplrate=44100

5.8 [gus] — Gravis UltraSound

O Gravis UltraSound (GUS) era uma placa de som premium que usava amostras wavetable reais. Produzia música de qualidade muito mais alta que a síntese FM OPL. Apenas alguns jogos o suportam.

[gus]

gus=false

Se habilitar a emulação do GUS.

  • false = desabilitado (padrão, adequado para a maioria dos jogos)
  • true = habilitar emulação GUS

Habilite apenas se um jogo suportar especificamente o Gravis UltraSound e você quiser usá-lo.

gus=false

gusrate=44100

Taxa de amostragem do GUS. Corresponda à sua taxa do mixer.

gusrate=44100

gusbase=240

Endereço base I/O para o GUS.

gusbase=240

gusirq=5

IRQ para o GUS.

gusirq=5

gusdma=3

Canal DMA para o GUS.

gusdma=3

ultradir=C:\ULTRASND

Caminho no drive C: emulado onde os arquivos de patch do GUS são armazenados. O GUS precisa de amostras de instrumentos (patches) para tocar música MIDI.

ultradir=C:\ULTRASND

5.9 [speaker] — Alto-falante do PC e Tandy

O alto-falante do PC é o pequeno alto-falante embutido na placa-mãe. Jogos e programas muito antigos o utilizam.

[speaker]

pcspeaker=true

Habilitar emulação do alto-falante do PC.

  • true = habilitar (recomendado — muitos jogos o usam como alternativa)
  • false = desabilitar
pcspeaker=true

pcrate=44100

Taxa de amostragem do alto-falante do PC.

pcrate=44100

tandy=auto

Habilitar emulação de som Tandy (música de 3 vozes + ruído). Relevante apenas se machine=tandy.

tandy=auto

disney=false

Habilitar emulação do Disney Sound Source. Um raro dispositivo de som externo antigo. Necessário apenas para jogos muito específicos e antigos.

disney=false

5.10 [joystick] — Joystick e Gamepad

[joystick]

joysticktype=auto

Tipo de joystick a emular.

Valor Descrição
auto Detectar automaticamente joystick/gamepad conectado
none Desabilitar joystick
2axis Joystick padrão de 2 eixos
4axis Joystick de 4 eixos (dois joysticks)
4axis_2 Segundo joystick de 4 eixos
fcs Thrustmaster FCS (manche de simulador de voo)
ch CH Flightstick Pro
joysticktype=auto

timed=true

Usar intervalos temporizados para atualizações do eixo do joystick. Deixe em true.

timed=true

autofire=false

Habilitar tiro automático ao segurar o botão.

autofire=false

swap34=false

Trocar o 3º e 4º eixos do joystick. Útil se os eixos do seu gamepad estiverem mapeados de forma estranha.

swap34=false

buttonwrap=false

Fazer os números de botões retornarem ao início se houver mais botões que o joystick emulado suporta.

buttonwrap=false

5.11 [serial] — Portas Seriais

Emulação de porta serial para COM1–COM4.

[serial]
serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled
Valor Descrição
dummy Emula uma porta mas não faz nada
disabled Porta não existe
modem Emulação de modem (para jogos de rede discada)
nullmodem Cabo null modem (conexão direta com outro PC)
directserial Passagem para dispositivo serial real

Para a maioria dos jogos, deixe todas as portas como dummy.


5.12 [dos] — Ambiente DOS

Configurações para o próprio ambiente DOS emulado.

[dos]

xms=true

Habilitar suporte XMS (Especificação de Memória Estendida). O XMS permite que programas DOS acessem memória acima do limite convencional de 640KB usando um gerenciador de memória chamado HIMEM.SYS.

  • true = habilitar (exigido por quase todos os jogos de 1990 em diante)
  • false = desabilitar
xms=true

ems=true

Habilitar suporte EMS (Especificação de Memória Expandida). O EMS é uma forma diferente de acessar memória extra, usando uma técnica de paginação. Muitos jogos mais antigos usam EMS.

  • true = habilitar EMS
  • false = desabilitar EMS
  • Um número como 4096 = habilitar EMS e limitar a esse número de KB
ems=true

Importante: Alguns jogos quebram se tiverem muita memória EMS. Se um jogo trava na inicialização, tente definir ems=false ou limitá-la com ems=4096.


umb=true

Habilitar UMB (Blocos de Memória Superior) — permite carregar drivers na "área de memória superior" de 640KB–1MB para liberar memória convencional. Alguns jogos precisam de muita memória convencional livre.

umb=true

keyboard_layout=auto

Layout de teclado para o ambiente DOS. auto usa o layout do sistema host. Você pode especificar um código de país DOS como br para o Brasil, de para a Alemanha, etc.

keyboard_layout=auto

5.13 [ipx] — Rede/IPX

O DOSBox pode emular uma rede IPX para que você possa jogar jogos DOS multiplayer pela internet com amigos.

[ipx]

ipx=false

Habilitar emulação de rede IPX.

  • false = desabilitado (padrão)
  • true = habilitado (necessário para multiplayer LAN/internet em jogos DOS)
ipx=false

Para usar multiplayer IPX:

  1. Um jogador (servidor) habilita o IPX e cria um jogo
  2. Outros jogadores se conectam ao endereço IP do servidor

5.14 [autoexec] — Comandos de Inicialização

A seção [autoexec] é como um arquivo batch DOS que roda automaticamente toda vez que o DOSBox inicia. É aqui que você monta seus diretórios de jogos e os inicia.

[autoexec]
# Linhas nesta seção são executadas como comandos DOS quando o DOSBox inicia

# Monte seu diretório de jogos como drive C:
mount c ~/dos-games

# Mudar para o drive C:
c:

# Opcional: iniciar automaticamente um jogo
# cd DOOM
# DOOM.EXE

6. Montando Drives e Diretórios

Montar é como você dá ao sistema DOS emulado acesso aos seus arquivos reais do Linux. Isso é essencial — sem montar, o DOSBox não consegue ver nenhum dos seus arquivos de jogos.

6.1 Montando um diretório como uma letra de drive

MOUNT [letra_do_drive] [caminho_linux] [opções]

Exemplos:

# Montar ~/dos-games como seu drive C:
mount c ~/dos-games

# Montar uma pasta específica de jogo como D:
mount d ~/dos-games/doom

# Montar com espaços no caminho — envolva entre aspas
mount c "/home/meuusuario/meus jogos dos"

# Montar como somente leitura (bom para discos originais de jogos)
mount c ~/dos-games -ro

6.2 Montando uma imagem de CD-ROM (.iso, .bin/.cue)

# Montar um arquivo ISO como drive de CD-ROM (D:)
imgmount d ~/game-cds/warcraft2.iso -t cdrom

# Montar um par BIN/CUE
imgmount d ~/game-cds/duke3d.cue -t cdrom

# Montar um drive de CD-ROM real (se você tiver um)
mount d /dev/cdrom -t cdrom

6.3 Montando uma imagem de disquete

# Montar uma imagem de disquete como A:
imgmount a ~/disquetes/game-disk1.img -t floppy

# Montar drive de disquete real (raro hoje em dia)
mount a /dev/fd0 -t floppy

6.4 Estrutura de diretórios Linux recomendada

Organize seus jogos DOS no Linux assim para facilitar o gerenciamento:

~/dos-games/
├── DOOM/
│   └── (arquivos do doom)
├── DOOM2/
│   └── (arquivos do doom2)
├── DUKE3D/
│   └── (arquivos do Duke Nukem 3D)
├── HERETIC/
│   └── (arquivos do heretic)
├── WAR2/
│   └── (arquivos do warcraft 2)
└── WOLF3D/
    └── (arquivos do wolf3d)

Então no [autoexec] do seu DOSBox:

[autoexec]
mount c ~/dos-games
c:

6.5 Dentro do DOSBox — navegação básica no DOS

Uma vez dentro do DOSBox, use estes comandos para navegar:

C:              Mudar para o drive C:
DIR             Listar arquivos no diretório atual
CD DOOM         Entrar no diretório DOOM
CD ..           Subir um nível de diretório
DIR *.EXE       Listar todos os arquivos .EXE
DOOM.EXE        Executar DOOM.EXE
TYPE CONFIG.SYS Ver um arquivo de texto
CLS             Limpar a tela

7. Arquivo de Configuração de Referência Completo

Aqui está um arquivo de configuração DOSBox completo e bem comentado, otimizado para jogos DOS clássicos no Linux. Copie isso como ponto de partida:

# =============================================================================
# Configuração DOSBox — Jogos DOS no Linux — Referência Completa
# =============================================================================
# Coloque este arquivo em: ~/.dosbox/dosbox-0.74-3.conf
# Ou use como config por jogo com: dosbox -conf meujogo.conf

[sdl]
# Iniciar em janela (pressione Alt+Enter para alternar para tela cheia)
fullscreen=false

# Usar a resolução nativa do monitor em tela cheia
fullresolution=desktop

# Tamanho da janela (escala a saída DOS 320x200 para este tamanho)
windowresolution=1280x960

# Renderização OpenGL para escalonamento suave e suporte a shaders
output=opengl

# Capturar automaticamente o mouse ao clicar dentro do DOSBox
autolock=true

# Sensibilidade do mouse (100 = normal)
sensitivity=100

# Manter janela aberta se houver um erro — para que você possa lê-lo
waitonerror=true

# Dar ao DOSBox prioridade de CPU mais alta quando focado
priority=higher,normal

# Arquivo do mapeador de teclado
mapperfile=mapper-0.74-3.map

# Usar scan codes para melhor compatibilidade de teclado em jogos
usescancodes=true

[dosbox]
# Sem arquivo de idioma necessário para inglês
language=

# SVGA S3 oferece a melhor compatibilidade VESA para jogos de meados dos anos 90
machine=svga_s3

# Pasta de capturas de tela/áudio
captures=capture

# 16MB de RAM — ponto ideal para a maioria dos jogos DOS
memsize=16

[render]
# Desenhar cada quadro (0 = sem pulos)
frameskip=0

# Corrigir a proporção de aspecto (CRÍTICO — faz os jogos parecerem certos)
aspect=true

# Algoritmo de escalonamento de pixel — hq2x é um bom ampliador suave
# Use advmame2x para pixels mais nítidos
# Use tv2x para efeito de scanlines CRT
scaler=hq2x

[cpu]
# Selecionar automaticamente o núcleo de emulação de CPU
core=auto

# Selecionar automaticamente o tipo de CPU
cputype=auto

# Velocidade da CPU — comece com auto, ajuste fino por jogo
# Valores comuns: 3000 (286), 7000 (386), 20000 (486), max (Pentium)
cycles=auto

# Tamanhos de ajuste de ciclos (em % do atual)
cycleup=10
cycledown=20

[mixer]
# Som ligado
nosound=false

# Saída de áudio com qualidade de CD
rate=44100

# Buffer de áudio — 1024 é um bom equilíbrio entre estabilidade e latência
blocksize=1024

# Pré-buffer de áudio em milissegundos
prebuffer=25

[midi]
# Modo inteligente completo do MPU-401 — exigido pela maioria dos jogos
mpu401=intelligent

# Usar ALSA no Linux para saída MIDI
mididevice=alsa

# Deixar em branco para usar a porta MIDI padrão
midiconfig=

[sblaster]
# Sound Blaster 16 — o padrão ouro
sbtype=sb16

# Endereço I/O padrão — não mude a menos que um jogo exija
sbbase=220

# IRQ padrão — não mude a menos que um jogo exija
irq=7

# DMA padrão para áudio de 8 bits
dma=1

# HDMA padrão para áudio de 16 bits
hdma=5

# Permitir que programas controlem o volume do mixer SB
sbmixer=true

# Selecionar automaticamente o modo OPL baseado no sbtype
oplmode=auto

# Emulação OPL padrão (use 'nuked' no DOSBox Staging para precisão)
oplemu=default

# Taxa de síntese OPL — corresponda à taxa do mixer
oplrate=44100

[gus]
# Gravis UltraSound desabilitado por padrão
# Habilite apenas para jogos que suportam GUS
gus=false
gusrate=44100
gusbase=240
gusirq=5
gusdma=3
ultradir=C:\ULTRASND

[speaker]
# Habilitar alto-falante do PC para jogos que o usam
pcspeaker=true
pcrate=44100

# Detectar automaticamente o som Tandy (relevante apenas com machine=tandy)
tandy=auto

# Disney Sound Source — desabilitado (necessidade muito rara)
disney=false

[joystick]
# Detectar automaticamente qualquer gamepad/joystick conectado
joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=false

[serial]
# Portas dummy para compatibilidade
serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
# Memória estendida (acima de 1MB) — exigida pela maioria dos jogos
xms=true

# Memória expandida — a maioria dos jogos de meados dos anos 90 precisa disso
ems=true

# Blocos de memória superior — ajuda a liberar memória convencional
umb=true

# Usar layout de teclado do host
keyboard_layout=auto

[ipx]
# Rede IPX — desabilitada por padrão
# Habilite para jogos multiplayer LAN/internet
ipx=false

[autoexec]
# Estes comandos rodam toda vez que o DOSBox inicia
# Personalize esta seção para sua configuração:

# Monte sua pasta de jogos como drive C:
mount c ~/dos-games

# Opcionalmente monte uma imagem de CD-ROM:
# imgmount d ~/isos/meu-jogo.iso -t cdrom

# Mudar para o drive C:
c:

# Deixar o prompt DOS aberto para que você possa navegar
# Ou adicione comandos para iniciar automaticamente um jogo específico:
# cd DOOM
# DOOM.EXE

8. Configurações Específicas por Jogo

Cada jogo tem suas próprias configurações ideais no DOSBox. Abaixo estão configurações completas e testadas para os clássicos DOS mais populares.


8.1 Doom e Doom II

Sobre o Doom no DOSBox: Doom (1993) e Doom II (1994) da id Software são os reis dos jogos DOS. Eles rodam lindamente no DOSBox com as configurações certas. O Doom usa o Sound Blaster para áudio digital e FM OPL para música (a menos que você tenha um dispositivo MIDI).

Estrutura de diretórios recomendada:

~/dos-games/
└── DOOM/
    ├── DOOM.EXE
    ├── DOOM.WAD
    └── (outros arquivos do doom)

Crie o arquivo ~/.dosbox/doom.conf:

[sdl]
fullscreen=false
fullresolution=desktop
windowresolution=1280x960
output=opengl
autolock=true
sensitivity=100
priority=higher,normal

[dosbox]
machine=svga_s3
memsize=16

[render]
frameskip=0
aspect=true
scaler=hq2x

[cpu]
core=auto
cputype=auto
# O Doom foi projetado para ~33-66 MHz 486
# 20000 ciclos oferece uma experiência suave no Doom
cycles=20000
cycleup=10
cycledown=20

[mixer]
nosound=false
rate=44100
blocksize=1024
prebuffer=25

[midi]
mpu401=intelligent
mididevice=alsa
midiconfig=

[sblaster]
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[speaker]
pcspeaker=true
pcrate=44100

[dos]
xms=true
ems=true
umb=true

[autoexec]
mount c ~/dos-games
c:
cd DOOM
DOOM.EXE

Inicie o Doom com esta configuração:

dosbox -conf ~/.dosbox/doom.conf

Dentro da configuração do Doom: Quando você executar o Doom pela primeira vez, ele pode iniciar o SETUP.EXE para configurar o áudio. Selecione:

  • Música: Sound Blaster (porta 220, IRQ 7)
  • Efeitos Sonoros: Sound Blaster (porta 220, IRQ 7, DMA 1)

Problemas comuns do Doom:

  • Rápido demais: Reduza os ciclos para 15000 ou 10000
  • Instável: Aumente os ciclos para 25000
  • Sem som: Certifique-se de que sbtype=sb16 e IRQ/DMA correspondam ao que a configuração do Doom selecionou
  • Sem memória: Defina ems=false — o Doom não precisa de EMS

8.2 Heretic e Hexen

Sobre Heretic/Hexen: Ambos os jogos usam o mesmo motor do Doom mas com monstros mais complexos e inventário. Precisam de um pouco mais de poder de CPU que o Doom.

Crie ~/.dosbox/heretic.conf:

[sdl]
fullscreen=false
fullresolution=desktop
windowresolution=1280x960
output=opengl
autolock=true
priority=higher,normal

[dosbox]
machine=svga_s3
memsize=16

[render]
frameskip=0
aspect=true
scaler=hq2x

[cpu]
core=auto
cputype=auto
# Heretic precisa de um pouco mais de velocidade que o Doom
cycles=22000

[mixer]
nosound=false
rate=44100
blocksize=1024
prebuffer=25

[midi]
mpu401=intelligent
mididevice=alsa

[sblaster]
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[speaker]
pcspeaker=true

[dos]
xms=true
ems=true
umb=true

[autoexec]
mount c ~/dos-games
c:
cd HERETIC
HERETIC.EXE

Hexen usa as mesmas configurações mas precisa de um pouco mais de memória:

memsize=16
cycles=25000

E inicie com:

cd HEXEN
HEXEN.EXE

8.3 Duke Nukem 3D

Sobre o Duke3D: Duke Nukem 3D (1996) usa o motor Build de Ken Silverman. Suporta gráficos SVGA (640x480 e 800x600) e tem excelente suporte ao Sound Blaster. Também suporta áudio de CD para música se você tiver a versão em CD.

Crie ~/.dosbox/duke3d.conf:

[sdl]
fullscreen=false
fullresolution=desktop
windowresolution=1280x960
output=opengl
autolock=true
sensitivity=100
priority=higher,normal

[dosbox]
# SVGA é necessário para os modos de alta resolução do Duke3D
machine=svga_s3
# Duke3D se beneficia de mais memória
memsize=32

[render]
frameskip=0
aspect=true
scaler=hq2x

[cpu]
core=auto
cputype=auto
# Duke3D foi projetado para hardware de classe Pentium
# 25000-35000 é o ponto ideal
cycles=25000

[mixer]
nosound=false
rate=44100
blocksize=1024
prebuffer=25

[midi]
mpu401=intelligent
mididevice=alsa

[sblaster]
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[speaker]
pcspeaker=true
pcrate=44100

[dos]
xms=true
ems=true
umb=true

[autoexec]
mount c ~/dos-games
# Se você tem a versão em CD, também monte o CD:
# imgmount d ~/isos/duke3d-cd.iso -t cdrom
c:
cd DUKE3D
DUKE3D.EXE

Executando o SETUP do Duke3D: Antes da primeira execução, inicie o SETUP.EXE no diretório DUKE3D para configurar:

  • Som: Sound Blaster 16 (porta 220, IRQ 7, DMA 1, HDMA 5)
  • Música: Sound Blaster 16 FM (mesmas configurações) ou MIDI
  • CDROM: Se você montou uma imagem de CD

Duke3D em modo de alta resolução: O Duke3D suporta 640x480 (SVGA) no menu do jogo em Opções > Modo de Vídeo. Para usar isso, machine=svga_s3 é necessário (já definido acima).

Problemas comuns do Duke3D:

  • Lento em alta resolução: Aumente os ciclos para 35000 ou use cycles=max
  • Som estala: Aumente blocksize=2048 em [mixer]
  • Jogo muito rápido: Diminua os ciclos para 20000

8.4 Warcraft II

Sobre o Warcraft II: Warcraft II: Tides of Darkness (1995) da Blizzard é um clássico de estratégia em tempo real. Roda em SVGA e precisa de ciclos de CPU razoáveis. É menos exigente em tempo que os jogos em primeira pessoa.

Crie ~/.dosbox/wc2.conf:

[sdl]
fullscreen=false
fullresolution=desktop
windowresolution=1280x960
output=opengl
autolock=false
# Warcraft II usa mouse para estratégia — não precisa travá-lo
priority=higher,normal

[dosbox]
machine=svga_s3
# Warcraft II quer RAM decente
memsize=32

[render]
frameskip=0
aspect=true
scaler=hq2x

[cpu]
core=auto
cputype=auto
# Warcraft II roda bem a 20000
# Use 'auto' se tiver problemas
cycles=20000

[mixer]
nosound=false
rate=44100
blocksize=1024
prebuffer=25

[midi]
mpu401=intelligent
# Warcraft II tem uma ótima música MIDI
mididevice=alsa

[sblaster]
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[speaker]
pcspeaker=true

[dos]
xms=true
ems=true
umb=true

[autoexec]
mount c ~/dos-games
# Warcraft II frequentemente precisa do CD
# imgmount d ~/isos/warcraft2.iso -t cdrom
c:
cd WAR2
WAR2.EXE

Configuração de Áudio do Warcraft II: Execute SETUP.EXE ou INSTALL.EXE primeiro:

  • Placa de Som: Sound Blaster 16
  • Porta: 220, IRQ: 7, DMA: 1
  • Música: Sound Blaster ou MIDI (MIDI soa muito melhor)

Warcraft II no CD-ROM: A versão em CD toca faixas de áudio de CD para música. Para habilitar isso:

[autoexec]
mount c ~/dos-games
imgmount d ~/isos/warcraft2.iso -t cdrom
c:
cd WAR2
WAR2.EXE

8.5 Quake

Sobre o Quake: Quake (1996) da id Software é o primeiro jogo totalmente 3D da série. É mais exigente que jogos com motor Doom e foi projetado para hardware de classe Pentium.

[cpu]
core=auto
cputype=auto
# Quake precisa do máximo de ciclos — use max ou um número muito alto
cycles=max

[dosbox]
machine=svga_s3
memsize=32

[autoexec]
mount c ~/dos-games
c:
cd QUAKE
QUAKE.EXE

Nota: O Quake na verdade roda muito melhor no Linux nativamente usando ports modernos como QuakeSpasm ou vkQuake. Considere essas alternativas para a melhor experiência.


8.6 Command & Conquer

Sobre C&C: Command & Conquer (1995) da Westwood Studios é um lendário jogo de estratégia em tempo real. Usa SVGA e suporta áudio de CD.

[sdl]
fullscreen=false
fullresolution=desktop
windowresolution=1280x960
output=opengl
autolock=false
priority=higher,normal

[dosbox]
machine=svga_s3
memsize=32

[render]
frameskip=0
aspect=true
scaler=hq2x

[cpu]
core=auto
cputype=auto
cycles=20000

[mixer]
nosound=false
rate=44100
blocksize=1024
prebuffer=25

[sblaster]
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
oplmode=auto
oplrate=44100

[dos]
xms=true
ems=true
umb=true

[autoexec]
mount c ~/dos-games
# C&C requer o CD para música e fala
imgmount d ~/isos/cc1.iso -t cdrom
c:
cd CC
C&C.EXE

8.7 Wolf3D e Spear of Destiny

Sobre o Wolf3D: Wolfenstein 3D (1992) da id Software é mais antigo e simples que o Doom. Precisa de ciclos muito mais baixos — foi projetado para hardware 386.

[dosbox]
machine=vga
memsize=8

[cpu]
core=auto
cputype=auto
# Wolf3D foi projetado para hardware 286/386 — mantenha os ciclos BAIXOS
# Ciclos demais e o jogo fica rápido demais
cycles=7000

[sblaster]
sbtype=sbpro2
sbbase=220
irq=7
dma=1

[dos]
xms=true
ems=false
# Wolf3D não precisa de EMS
umb=true

[autoexec]
mount c ~/dos-games
c:
cd WOLF3D
WOLF3D.EXE

Crítico: Wolf3D com cycles=20000 será injogável de tão rápido. Mantenha os ciclos em torno de 5000–8000.


8.8 Blood

Sobre o Blood: Blood (1997) da Monolith usa o motor Build (igual ao Duke3D) e é um dos jogos DOS mais exigentes. Precisa de ciclos altos e boas configurações de memória.

[dosbox]
machine=svga_s3
memsize=32

[cpu]
core=auto
cputype=auto
# Blood é muito exigente — precisa de ciclos altos
cycles=35000

[sblaster]
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
oplmode=auto

[dos]
xms=true
ems=true
umb=true

[autoexec]
mount c ~/dos-games
imgmount d ~/isos/blood.iso -t cdrom
c:
cd BLOOD
BLOOD.EXE

9. Rodando Programas Clássicos de DOS

O DOSBox não é apenas para jogos — ele também roda software clássico de produtividade DOS.

9.1 WordPerfect 5.1

O WordPerfect 5.1 (1989) é indiscutivelmente o maior processador de texto DOS já feito. Ainda funciona perfeitamente no DOSBox.

[dosbox]
machine=vga
memsize=16

[cpu]
cycles=3000

[autoexec]
mount c ~/dos-programas
c:
cd WP51
WP.EXE

Dentro do WordPerfect:

  • F3 = Ajuda
  • F7 = Sair/Salvar
  • Shift+F7 = Imprimir
  • F10 = Salvar Como
  • F5 = Gerenciador de Arquivos

9.2 Norton Commander

O Norton Commander (1986–1994) é um lendário gerenciador de arquivos de dois painéis. Pense nele como o ancestral espiritual do Midnight Commander no Linux.

[cpu]
cycles=3000

[autoexec]
mount c ~/dos-programas
c:
cd NC
NC.EXE

9.3 QBasic / QuickBASIC

O QBasic vem com o MS-DOS. É um ótimo ambiente de programação.

[cpu]
cycles=5000

[autoexec]
mount c ~/dos-programas
c:
QBASIC.EXE

9.4 Turbo Pascal

[cpu]
cycles=8000

[autoexec]
mount c ~/dos-programas
c:
cd TPASCAL
TURBO.EXE

9.5 Lotus 1-2-3

O aplicativo de planilha dominante do DOS.

[dosbox]
memsize=16

[cpu]
cycles=8000

[dos]
ems=true

[autoexec]
mount c ~/dos-programas
c:
cd LOTUS
123.EXE

10. Mergulho Profundo na Configuração de Som

Acertar o som é uma das partes mais complicadas do DOSBox. Aqui está um guia completo.

10.1 Como o áudio de jogos DOS funcionava

Jogos DOS usavam vários sistemas de som diferentes:

Sistema Usado Para Qualidade
Alto-falante do PC Bipes simples e música Terrível
FM OPL2/OPL3 Música (compatível com AdLib) Som retrô icônico
Sound Blaster digital Efeitos sonoros (e música) Bom para efeitos
MIDI (MPU-401) Música Excelente (depende do sintetizador)
Gravis UltraSound Música (wavetable) Excelente
Áudio de CD Faixas de música Excelente (se CD disponível)

10.2 Fazendo a música FM soar melhor

O sintetizador FM OPL é o que dá aos jogos DOS dos anos 90 seu som distintivo. Para torná-lo mais preciso:

No DOSBox Staging, use Nuked OPL:

[sblaster]
oplemu=nuked
oplrate=49716

A taxa de 49716 Hz é a frequência nativa exata do chip OPL3 — usar essa taxa exata faz a música FM soar mais como o hardware real.

10.3 Configurando FluidSynth para MIDI (DOSBox Staging)

FluidSynth com um bom SoundFont transforma a música MIDI de básica para orquestral:

# Instale o FluidSynth
sudo apt install fluidsynth

# Obtenha um SoundFont de alta qualidade (o integrado é bom, mas este é melhor)
# Baixe o GeneralUser GS em:
# https://schristiancollins.com/generaluser.php
# Coloque em ~/soundfonts/GeneralUser_GS.sf2
[midi]
mpu401=intelligent
mididevice=fluidsynth

[fluidsynth]
soundfont=/home/seuusuario/soundfonts/GeneralUser_GS.sf2

10.4 Usando emulação Roland MT-32

O Roland MT-32 era um sintetizador premium do final dos anos 80. Alguns jogos têm modos de música MT-32 específicos que soam incríveis. Você precisa do emulador MT-32 Munt e arquivos ROM (que você deve obter legalmente).

# Instale o Munt
sudo apt install munt

# Execute o Munt em segundo plano antes do DOSBox
mt32emu-qt &
[midi]
mpu401=intelligent
mididevice=mt32

10.5 Diagnosticando problemas de som

Sem som:

  1. Verifique nosound=false em [mixer]
  2. Verifique sbtype=sb16
  3. Certifique-se de que o SETUP do jogo configurou a mesma porta/IRQ/DMA que o DOSBox
  4. Verifique se o áudio do Linux está funcionando: speaker-test -t wav

Música funciona mas sem efeitos sonoros (ou vice-versa):

  • Jogos frequentemente têm configurações separadas para música e efeitos sonoros
  • Execute o SETUP.EXE do jogo e configure ambos

Som gagueja ou estala:

[mixer]
blocksize=2048
prebuffer=50

Som muito baixo:

  • Aumente sensitivity ou ajuste o volume dentro do jogo
  • Verifique o mixer de volume do Linux

Som errado no jogo (placa errada selecionada):

  • Execute o utilitário SETUP do jogo e selecione Sound Blaster 16, porta 220, IRQ 7, DMA 1, HDMA 5

11. Ajuste de Performance

11.1 Entendendo a barra de status do DOSBox

Quando o DOSBox roda, a barra de título da janela mostra:

DOSBox v0.74-3 | 20000 cycles | 100% | 44100 Hz
  • 20000 cycles = velocidade atual da CPU emulada
  • 100% = DOSBox está acompanhando a emulação perfeitamente
  • 44100 Hz = taxa de áudio

Se a porcentagem cair abaixo de 100%, o DOSBox está com dificuldades — o jogo ficará lento.

11.2 Encontrando os ciclos certos

  1. Comece com cycles=auto
  2. Inicie seu jogo
  3. Se estiver rápido demais: Pressione Ctrl+F11 para reduzir os ciclos
  4. Se estiver lento demais: Pressione Ctrl+F12 para aumentar os ciclos
  5. Encontre o ponto ideal onde o jogo parece certo
  6. Anote a contagem de ciclos na barra de título
  7. Defina esse valor em sua configuração

11.3 Núcleo dinâmico para melhor desempenho

Para jogos que estão lentos mesmo em ciclos altos:

[cpu]
core=dynamic
cycles=max

O núcleo dynamic é significativamente mais rápido que o normal em hardware moderno.

11.4 Reduzindo a carga do sistema

Se o DOSBox estiver usando CPU demais na sua máquina Linux:

[cpu]
# Limitar ao máximo mesmo no modo auto
cycles=max 30000 limit 80%

[sdl]
# Reduzir prioridade do DOSBox quando não estiver em foco
priority=higher,lower

11.5 Melhorando o desempenho de áudio em sistemas PulseAudio

Se você usa PulseAudio e tem problemas de áudio:

# Adicione a /etc/pulse/daemon.conf ou ~/.config/pulse/daemon.conf
default-sample-rate = 44100

Então reinicie o PulseAudio:

pulseaudio -k && pulseaudio --start

12. Atalhos de Teclado e Comandos do DOSBox

12.1 Atalhos de teclado essenciais do DOSBox

Estes funcionam dentro de qualquer sessão DOSBox em execução:

Atalho Ação
Alt+Enter Alternar entre tela cheia e modo janela
Alt+Pause Pausar a emulação do DOSBox
Ctrl+F1 Abrir mapeador de teclas (remapear teclas)
Ctrl+F4 Recarregar drives montados
Ctrl+F5 Fazer uma captura de tela (salva na pasta captures/)
Ctrl+F6 Iniciar/parar gravação de áudio (.wav)
Ctrl+Alt+F7 Iniciar/parar gravação FM OPL
Ctrl+Alt+F8 Iniciar/parar gravação MIDI
Ctrl+F9 Fechar o DOSBox imediatamente (saída de emergência)
Ctrl+F10 Liberar captura do mouse
Ctrl+F11 Diminuir ciclos de CPU (desacelerar)
Ctrl+F12 Aumentar ciclos de CPU (acelerar)
Ctrl+Alt+F5 Iniciar/parar gravação de vídeo (.avi)

12.2 Comandos úteis do DOSBox (dentro do DOSBox)

Estes são comandos que você digita no prompt Z:\> do DOSBox ou na seção [autoexec]:

Comando Descrição
MOUNT c ~/caminho Montar um diretório Linux como drive DOS
IMGMOUNT d ~/arquivo.iso -t cdrom Montar um ISO como drive de CD-ROM
UNMOUNT c Desmontar um drive
MEM Mostrar uso de memória
CONFIG -set "cpu cycles=20000" Mudar uma configuração em tempo de execução
INTRO Tela de introdução/ajuda do DOSBox
LOADFIX Liberar memória convencional (para jogos antigos)
KEYB Definir layout de teclado
IPXNET Configurar rede IPX
Z: Mudar para o drive Z: interno do DOSBox (tem ferramentas integradas)

13. Criando Scripts de Lançamento por Jogo

Em vez de digitar manualmente dosbox -conf ~/.dosbox/doom.conf toda vez, crie scripts shell simples para iniciar cada jogo com um comando.

13.1 Script básico de lançamento de jogo

Crie um arquivo em ~/bin/jogar-doom.sh:

#!/bin/bash
# Iniciar Doom no DOSBox

dosbox -conf ~/.dosbox/doom.conf

Torne-o executável:

chmod +x ~/bin/jogar-doom.sh

Execute-o:

~/bin/jogar-doom.sh

13.2 Script de lançamento universal

Crie ~/bin/jogo-dos.sh — um lançador universal que recebe um nome de jogo:

#!/bin/bash
# Lançador universal de jogos DOSBox
# Uso: jogo-dos.sh nome-do-jogo

NOME_JOGO="$1"
DIR_CONFIG="$HOME/.dosbox/jogos"
ARQUIVO_CONFIG="$DIR_CONFIG/$NOME_JOGO.conf"

if [ -z "$NOME_JOGO" ]; then
    echo "Uso: $0 <nome-do-jogo>"
    echo "Jogos disponíveis:"
    ls "$DIR_CONFIG"/*.conf 2>/dev/null | sed 's|.*/||;s|\.conf||'
    exit 1
fi

if [ ! -f "$ARQUIVO_CONFIG" ]; then
    echo "Configuração não encontrada: $ARQUIVO_CONFIG"
    exit 1
fi

echo "Iniciando: $NOME_JOGO"
dosbox -conf "$ARQUIVO_CONFIG"
chmod +x ~/bin/jogo-dos.sh

# Adicione ~/bin ao seu PATH em ~/.bashrc:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# Agora inicie qualquer jogo:
jogo-dos.sh doom
jogo-dos.sh duke3d
jogo-dos.sh heretic

13.3 Criar um atalho na área de trabalho

Crie ~/Desktop/Doom.desktop:

[Desktop Entry]
Version=1.0
Type=Application
Name=Doom
Comment=Jogar Doom no DOSBox
Exec=dosbox -conf /home/seuusuario/.dosbox/doom.conf
Icon=dosbox
Terminal=false
Categories=Game;

Torne-o executável:

chmod +x ~/Desktop/Doom.desktop

14. Solucionando Problemas Comuns

Problema: "Out of Memory" ou "Not enough memory"

Causa: O jogo precisa de mais memória convencional (abaixo de 640KB) ou mais XMS/EMS.

Soluções:

# Aumentar memória total
memsize=32

# Certifique-se de que EMS e XMS estão habilitados
xms=true
ems=true
umb=true

Ou no [autoexec]:

# Use LOADFIX para reservar e depois liberar memória (corrige alguns jogos antigos)
LOADFIX -64

Problema: O jogo roda rápido demais

Causa: Ciclos muito altos para aquele jogo.

Soluções:

  • Pressione Ctrl+F11 durante o jogo para diminuir os ciclos
  • Ou defina um valor fixo mais baixo na configuração:
cycles=7000

Problema: O jogo roda lento demais

Causa: Ciclos muito baixos, ou sua máquina host é muito lenta.

Soluções:

  • Pressione Ctrl+F12 durante o jogo para aumentar os ciclos
  • Use o núcleo dinâmico:
[cpu]
core=dynamic
cycles=max

Problema: Sem som no jogo

Soluções:

  1. Execute o SETUP.EXE do jogo e configure Sound Blaster 16, porta 220, IRQ 7, DMA 1, HDMA 5
  2. Certifique-se de que sua configuração DOSBox corresponde exatamente:
sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
  1. Verifique se o áudio do Linux está funcionando
  2. Tente nosound=false (certifique-se de que não está acidentalmente definido como true)

Problema: Tela esticada ou proporções erradas

Solução: Habilite a correção de proporção de aspecto:

[render]
aspect=true

Problema: O mouse não funciona ou está preso

Soluções:

  • Clique dentro da janela do DOSBox para capturar o mouse
  • Pressione Ctrl+F10 para liberar o mouse
  • Verifique autolock=true em [sdl]
  • Ajuste a sensibilidade: sensitivity=100

Problema: O jogo trava imediatamente ao iniciar

Soluções:

  • Tente diferentes tipos machine= (vga, svga_s3, svga_et4000)
  • Desabilite o EMS: ems=false
  • Reduza a memória: memsize=8
  • Verifique se o jogo realmente precisa do DOSBox (alguns jogos têm ports nativos para Linux)
  • Tente: core=normal e cputype=386_slow

Problema: Janela do DOSBox muito pequena

Solução: Aumente o tamanho da janela:

[sdl]
windowresolution=1280x960

Ou vá para tela cheia com Alt+Enter.


Problema: Faixas de áudio de CD (trilhas musicais) não tocando

Soluções:

[autoexec]
# Monte a imagem de CD com tipo cdrom (não apenas montando a pasta)
imgmount d ~/isos/meujogo.iso -t cdrom

Certifique-se de usar imgmount com -t cdrom, não apenas mount.


Problema: Não consigo digitar caracteres especiais / layout de teclado errado

Solução:

[dos]
keyboard_layout=auto

Ou especifique o código do seu país:

keyboard_layout=br   # Brasil — ABNT/ABNT2
keyboard_layout=de   # Alemanha
keyboard_layout=fr   # França

15. Dicas e Truques Profissionais

Estas são dicas avançadas acumuladas de anos de experiência com DOSBox para ajudá-lo a tirar o máximo dos seus jogos DOS clássicos.


💡 Dica 1: Use o DOSBox Staging para a Melhor Experiência

O DOSBox Staging tem padrões dramaticamente melhores que o DOSBox vanilla:

  • Emulação FM OPL muito melhor (Nuked OPL3)
  • FluidSynth MIDI integrado
  • Melhor reamostragem de áudio
  • Emulação de CGA/EGA/VGA mais precisa
  • Melhores opções de escalonamento

Instale-o e você passará muito menos tempo ajustando configurações.


💡 Dica 2: Nunca Use cycles=max para Jogos com Temporização Crítica

Jogos como Commander Keen, Prince of Persia e plataformas iniciais foram programados rigidamente para rodar em velocidades específicas de CPU. Rodá-los com cycles=max os faz rodar 10–100 vezes mais rápido que o normal. Sempre use contagens de ciclos fixas e compatíveis com a época para jogos antigos.


💡 Dica 3: O Modo auto de Ciclos Nem Sempre Está Certo

cycles=auto usa uma heurística que funciona bem para muitos jogos mas falha para alguns. Se um jogo parecer errado (muito rápido, muito lento, ou a física parecer estranha), defina uma contagem de ciclos fixa em vez de depender do auto.


💡 Dica 4: Use Arquivos de Configuração por Jogo — Sempre

Nunca modifique seu ~/.dosbox/dosbox.conf principal para um jogo específico. Em vez disso:

  1. Copie o conf principal para ~/.dosbox/jogos/doom.conf
  2. Modifique essa cópia para o Doom
  3. Inicie com dosbox -conf ~/.dosbox/jogos/doom.conf

Isso mantém suas configurações organizadas e facilita a troca entre jogos.


💡 Dica 5: O Drive Z: Está Cheio de Ferramentas Úteis

O DOSBox tem um drive Z: interno oculto com ferramentas DOS integradas. Digite Z: no prompt do DOSBox e depois DIR para vê-las. Ferramentas úteis incluem:

  • LOADFIX — corrigir erros de "arquivo empacotado corrompido"
  • MOUNT — montar drives
  • IMGMOUNT — montar imagens de disco
  • MEM — informações de memória
  • CONFIG — visualizar/alterar configurações em tempo de execução

💡 Dica 6: Capture Screenshots e Vídeo

  • Screenshot: Pressione Ctrl+F5 — salvo como PNG na pasta captures/
  • Vídeo: Pressione Ctrl+Alt+F5 — salvo como arquivo AVI
  • Áudio: Pressione Ctrl+F6 — grava em WAV

Defina o caminho de capturas em sua configuração:

[dosbox]
captures=/home/seuusuario/dosbox-capturas

💡 Dica 7: LOADFIX Resolve Muitos Erros de "Arquivo Empacotado Corrompido"

Alguns jogos antigos recusam-se a rodar com o erro "Packed file is corrupt." Isso quase sempre ocorre porque eles têm memória livre demais. A correção:

Z:\> LOADFIX meujogo.exe

O LOADFIX usa temporariamente 64KB de memória convencional, depois inicia o programa. Isso frequentemente resolve o problema instantaneamente.


💡 Dica 8: Use imgmount com Arquivos ISO para Melhor Compatibilidade de CD-ROM

Montando ISOs corretamente:

imgmount d /home/usuario/isos/jogo.iso -t cdrom -fs iso

Para jogos com múltiplos discos (como alguns RPGs que precisavam de troca de disco):

imgmount d /home/usuario/isos/disco1.iso /home/usuario/isos/disco2.iso -t cdrom

Então pressione Ctrl+F4 dentro do DOSBox para trocar para o próximo disco.


💡 Dica 9: Habilite o Efeito de Scanlines CRT para Autenticidade

Se você quiser que seus jogos pareçam como faziam em um monitor CRT real:

[render]
scaler=tv2x

Ou com OpenGL (DOSBox Staging), use o shader crt-easymode para um efeito CRT impressionante.


💡 Dica 10: Preserve o Estado do DOSBox Entre Sessões

O DOSBox não tem um sistema de estado de salvamento integrado, mas você pode preservar seu ambiente DOS:

  1. Mantendo sua pasta ~/dos-games/ organizada com os arquivos de save do próprio jogo
  2. Fazendo backup de toda a pasta de jogos
  3. Usando o DOSBox-X que tem um sistema de estado de salvamento mais completo para certos programas

💡 Dica 11: Multiplayer pela Internet com IPX

Para jogar um jogo DOS multiplayer clássico online com um amigo:

Host (Jogador 1):

[ipx]
ipx=true

Dentro do DOSBox: IPXNET STARTSERVER

Cliente (Jogador 2): Dentro do DOSBox: IPXNET CONNECT <ip-do-host>

Então inicie o jogo e selecione jogo em rede IPX.


💡 Dica 12: Mapeador de Teclas para Controles Personalizados

Pressione Ctrl+F1 dentro do DOSBox para abrir o mapeador gráfico de teclas. Você pode remapear qualquer tecla do teclado ou botão de gamepad para qualquer função. Isso é perfeito para:

  • Remapear as teclas de setas para WASD
  • Mapear botões de gamepad para teclas de teclado
  • Corrigir layouts de teclas padrão estranhos

Salve seu mapeamento e o DOSBox vai lembrá-lo.


💡 Dica 13: Reset Instantâneo de Áudio

Se o áudio do DOSBox parar de funcionar ou apresentar falhas durante uma sessão:

CONFIG -set "mixer nosound=true"
CONFIG -set "mixer nosound=false"

Isso reseta rapidamente o subsistema de áudio sem reiniciar o DOSBox.


💡 Dica 14: Execute o DOSBox sem Interface para Testes

Se você precisa testar uma configuração DOSBox sem display (por exemplo, em um servidor ou via SSH):

# Instale o Xvfb
sudo apt install xvfb

# Execute o DOSBox com um display virtual
xvfb-run dosbox -conf meujogo.conf

💡 Dica 15: DOSBox-X para Software de Produtividade

Se você está usando o DOSBox para rodar software de produtividade DOS (processadores de texto, bancos de dados, programas de contabilidade), use o DOSBox-X em vez do DOSBox vanilla. Ele tem:

  • Suporte a impressora (imprima em PDF a partir de programas DOS!)
  • Melhor suporte a nomes de arquivo longos
  • Ambiente DOS mais preciso
  • Melhor compatibilidade com gerenciadores de memória
  • Interface gráfica de configuração
# Instale o DOSBox-X no Ubuntu/Debian
sudo apt install dosbox-x
# ou a partir das releases do GitHub do DOSBox-X

Este manual foi escrito para DOSBox 0.74-3 e DOSBox Staging no Linux. As configurações e opções podem variar ligeiramente entre versões. Em caso de dúvida, a wiki do DOSBox em https://www.dosbox.com/wiki/ e a documentação do DOSBox Staging são excelentes referências.


Bons jogos! Longa vida ao DOS. 🕹️

Nenhum comentário:

Postar um comentário