Arquivo da tag: EMS

De 0 a 1MB e adiante

Todo usuário de IBM PC e seus compatíveis (não esses PCs velhos de hoje em dia) sabe de cor e salteado esse mapa da memória aqui:

Mapa da memória do IBM PC. 1MB era o máximo acessável pelo Intel 8086 e seu "primo" 8088; os primeiros 640KB são a memória convencional; em uma máquina com 512KB, a parte entre 512KB e 640KB não era mapeada. Os 384KB entre o fim da memória convencional e o topo da memória acessável era a UMA ("Memória Alta"), com uma parte separada para a memória de vídeo e o final da UMA ocupada pela ROM BIOS.
Um IBM PC com 512KB de memória tem mais ou menos esse mapa de memória

Mas como chegamos neste mapa? Quais as limitações técnicas que impuseram estes limites? E, mais importante, como superar esses limites à medida que as aplicações foram pedindo?

Julio Merino escreveu dois posts, From 0 to 1MB in DOS e Beyond the 1MB barrier in DOS, que responde a todas essas perguntas, com todas as paradas obrigatórias em EMS, XMS, modo protegido do 286, a introdução da paginação e do modo VM86 no 386. Tudo isso para chegar no unreal mode e nos DOS extenders (que se tornaram praticamente obrigatórios nos jogos para MS-DOS a partir do final dos anos 80; para usar o exemplo mais famoso, DOOM carregava o extender DOS/4GW na inicialização). Muita informação. MESMO.

Sobre 640K

Ah, os 640K. Para o bem e (muito) mais para o mal, um limite com que todo usuário de PC pré-Windows 95 teve que aprender a conviver… e, se você fosse gamer em PC no final dos anos 80 e na primeira metade dos anos 90, aprender a conviver e a contornar.

Jimmy Maher conta um pouco da briga dos gamers com os 640K, claro que da maneira Jimmy Maher. Com uma citação essencial a Wing Commander e um longo último parágrafo pra dizer que Bill Gates não falou que 640K são suficiente.