One Dog contra a pilha gráfica do Windows 3.1
Introdução
- Ao estudar a placa de vídeo VGA, tentei resolver problemas encontrados ao mexer em um driver de vídeo antigo.
- Tentei obter uma saída de vídeo adequada instalando o Windows 3.11 em um Asus Eee PC 1000H.
Saída de vídeo padrão do Windows 3.x
- Por padrão, o Windows 3.x renderiza em 16 cores na resolução 640x480 do VGA.
- Em uma tela 1024x600 do Eee PC, essa resolução é inadequada.
Problemas do driver Super VGA
- O Windows 3.11 inclui drivers antigos para adaptadores de vídeo desatualizados, mas não suporta o Intel GMA 950.
- O driver Super VGA suporta 1024x768 e 256 cores, porém não funciona.
Problemas do vídeo dos PCs IBM
- A VGA é um controlador de vídeo bastante específico, projetado pela IBM nos anos 1980.
- SVGA significa uma tecnologia mais avançada que a VGA, mas não é um padrão.
VBE (VESA BIOS Extensions)
- O VBE é uma interface que permite ao software interagir com o adaptador de vídeo.
- O VBE9x e o VBEMP do BearWindows tornam o VBE utilizável no Windows 9x e no NT.
- O SVGAPatch modifica o driver Super VGA de 256 cores da Microsoft para usar o VBE.
Problemas do SVGAPatch
- O SVGAPatch causa problemas de compatibilidade com software DOS.
- Ao abrir o prompt do DOS, a tela é corrompida.
Estrutura do Windows 3.x
- No Enhanced Mode, três sistemas operacionais são executados simultaneamente.
- O gerenciador de máquina virtual cria a VM e, dentro da primeira VM, o Windows em modo padrão é executado.
Estrutura do driver de exibição
- Ao selecionar o adaptador de vídeo no Windows Setup, vários drivers são instalados.
- O conjunto é composto por Grabber, Display Driver e Virtual Display Device (VDD).
Como o SVGAPatch funciona
- O SVGAPatch define um modo de vídeo específico e usa o VBE para gerenciar a memória de vídeo.
- Ele substitui recursos de determinados adaptadores de vídeo para oferecer suporte ao VBE.
O papel do VDD
- Programas DOS esperam acessar o hardware diretamente.
- O Windows trata isso por meio de uma implementação virtualizada.
Conclusão
- O SVGAPatch oferece uma saída de vídeo melhor ao usar o VBE, mas precisa corrigir problemas de compatibilidade com programas DOS.
- O gerenciamento de estado complexo do VDD pode ser a causa do problema.
1 comentários
Comentários no Hacker News
É impressionante que seja possível carregar o Windows 3.x em PCs modernos e usar a VGA padrão imediatamente. Porém, em Linux/BSD modernos, sem os drivers e arquivos de configuração corretos, é difícil obter suporte a framebuffer VGA com aceleração de software padrão
A GUI do Windows 3.1 parece mais intuitiva, eficiente e fácil de usar do que as atuais
O menu Iniciar do Win11 é tão inconveniente que quase não se consegue usar, exceto digitando uma palavra-chave e rezando
Windows NT e 2k eram o auge, e depois os gerentes de produto começaram a introduzir mudanças
KDE e Gnome parecem cada vez mais atraentes com o passar do tempo
O problema da tela corrompida ao abrir o prompt do DOS em modo janela acontece porque o prompt do DOS é executado em uma VM separada
INeOUTque se comunicam com as portas de I/O do VBEOs desenvolvedores de drivers de vídeo do Windows 3.x/9x usavam a configuração de traps de porta de I/O para virtualizar o acesso ao hardware
O Virtual Display Device (VDD) atua como multiplexador do hardware de vídeo, enviando comandos diretamente para o adaptador VGA real quando um app de DOS está em tela cheia
A GUI do Windows 3.x roda numa VM de DOS, e o kernel hypervisor VMM32 faz a multiplexação com outras VMs de processos DOS
Ao escrever o driver de framebuffer VESA do Win9x, percebi que a forma de salvar e restaurar o estado da GPU varia conforme o fabricante
No DOSBox, o modo texto aparece com caracteres corrompidos, e no Eee PC algumas cores da GUI somem
Estou rodando Debian de 32 bits no Eee PC; o Firefox é pesado, mas o mpv funciona o suficiente para streaming de vídeo
Sempre sinto uma certa admiração ao ler sobre como os antigos Windows baseados em DOS funcionavam
Tive uma experiência em que entrei em contato com o suporte da MS para solicitar um disco de driver quando o ET4000H não era suportado no Windows 3.1
Tenho um EEEPC 207g e acho que seria divertido tentar jogos retrô com ele
Comparei as mudanças de estado entre a GUI e o modo DOS para analisar padrões
O design do site traz uma sensação refrescante de lembrar a era dourada da antiga internet