domingo, 14 de junho de 2009

Sessão nostalgia: Microsoft Windows 3.1



Ano: 1993. O sistema operacional geralmente encontrado em computadores pessoais aqui era o MS-DOS (versão 5.0, no máximo 6.22!). O Microsoft Windows 3.1, que era opcional na época, não passava de um gerenciador de aplicativos, o "Program Manager". O Linux? Esse não devia ter 2 anos ainda e ninguém fora do meio acadêmico ou talvez longe da Escandinávia tinha conhecimento dele...


O tempo passou e aquele simples agregador de janelinhas foi tomando espaço e quem passou a ser esquecido foi o pobre do MS-DOS, que nos dias atuais não passa de um "Prompt de comando". Ninguém mais ouviu falar de AUTOEXEC.BAT, HIMEM.SYS, GORILLA.BAS, MEMMAKER, QEMM, DOS4GW...


E eis que essa semana vejo um artigo na Internet em que um polonês maluco havia instalado o Microsoft Windows 3.1 no Symbian [1]...! Resolvi seguir o tutorial e fazer o mesmo, só por brincadeira, e funcionou mesmo! Aliás, não serve para nada além disso, pois fica lento, ruim de visualizar na tela, e sem teclado alfanumérico...


Mesmo assim, empolgado pura e simplesmente pelo fator nostálgico, resolvi testar tal inutilidade janélica também no Linux! No caso do N95, o pseudo sistema operacional (AKA Win3.1) estava rodando em cima de um ambiente controlado pelo do DOSBox [2]. Na realidade o maior trabalho nessa façanha foi o porte do DOSBox para o Symbian pelo tal "kolijoco".


No Linux, basta instalar o pacote dosbox. Em distros Debian-like, podemos fazer isso através do comando:

# apt-get install dosbox


Os discos de instalação do Windows 3.1 (na realidade 7 disquetes de 1,44 MB) podemos baixar de fontes extra-oficiais, como sites 4shared ou torrents. Acho que ninguém vai se importar de piratearmos um software que já está debutando, né?


Abra um terminal, dirija-se ao diretório em que o Windows 3.1 será instalado e execute o DOSBox:

$ cd /opt/win31
$ dosbox


Em seguida, já dentro do DOSBox, execute alguns comandos para montar o disco rígido e o primeiro disquete de instalação:

mount c .
mount a /tmp/win31setup


Neste exemplo, os drives serão mapeados no DOS conforme o esquema a seguir:
  • C: diretório /opt/win31 no Linux;
  • A: diretório /tmp/win31setup no Linux.

Execute a instalação do Windows através do comando a seguir:

a:\setup.exe


Então basta seguir um clássico "Next, Next, Finish" e ao final executar:

c:
cd \windows
win


No final, eis o resultado: o Microsoft Windows 3.1 sendo executado em uma janelinha de 640x480 pixels no Linux!



Para ter uma idéia do que está acontecendo, veja a tela inteira do Ubuntu Linux, rodando o Gnome como gerenciador de desktop e o DOSBOX ali no canto, totalmente sob controle...




Para facilitar as execuções posteriores, crie um arquivo com o nome "dosbox.conf" dentro do diretório do Windows 3.1 com o seguinte conteúdo:

[sdl]
# sem isso as setas do teclado não funcionam...
usescancodes=false

[autoexec]
# meu teclado é layout alemão, substitua "gr" por "br"
keyb gr
# o resto aqui é para executar o windows ao iniciar
mount c .
c:
cd windows
win

Agora, isso pode parecer piada nos tempos atuais: o Windows 3.1 recém-instalado não chegava a ocupar 12 MB de espaço em disco! Quem imaginaria que um dia o Windows iria exigir 10 GB de HD, hein!




O mais surpreendente é pensar que conseguíamos ser felizes com informática mesmo sem a World Wide Web... Agora vou procurar outras relíquias computacionais... Será que acho o Wolfenstein 3D ou Microsoft Word 6..? :D


Referências:
[1] Windows 3.1 Runs On a Nokia N95, Creating Dangerous Ripple in Space-Time
[2] DOSBox: a x86 emulator with DOS