☰ Menu

05.10.2026 · Signal Titans Editorial

Criando a Z-Machine: como a Infocom adaptou jogos de mainframe para os microcomputadores dos anos 1970

Descubra como Joel Berez e Marc Blank criaram a linguagem ZIL e a máquina virtual Z-Machine para superar limites de memória e a fragmentação nos anos 1970.

Um cubo geométrico translúcido de âmbar brilhante abrigando engrenagens mecânicas de latão em um ambiente de estúdio azul-marinho escuro.

No final dos anos 1970, em Cambridge, Massachusetts, Joel Berez e Marc Blank enfrentavam um desafio técnico monumental. O complexo jogo de aventura Zork rodava sem dificuldades em um grande mainframe PDP-10, tendo sido escrito em MDL — uma linguagem de alto nível derivada do Lisp. No entanto, os primeiros microcomputadores que começavam a chegar aos consumidores tinham limitações drásticas de memória e variações gigantescas de hardware. Segundo o site The Digital Antiquarian, adaptar o enorme código-fonte diretamente para essas máquinas pessoais da década de 1970 era algo tecnicamente impossível.

O dilema dos mainframes

O mainframe original PDP-10 oferecia memória e capacidade de processamento abundantes, permitindo que o interpretador de texto detalhado e o vasto universo de Zork funcionassem plenamente em MDL. Levar esse software para computadores domésticos exigiu uma reformulação radical. Os microcomputadores daquela época não dispunham de memória RAM suficiente para armazenar sequer uma fração do código original, e o mercado estava totalmente fragmentado entre padrões de hardware incompatíveis entre si. Se a equipe tentasse reescrever o jogo do zero para cada novo microcomputador que surgia, cada lançamento exigiria meses de engenharia sob medida, reduzindo drasticamente a capacidade da Infocom de atingir um público amplo.

A criação de uma arquitetura virtual

Para contornar o gargalo da variação de plataformas, Berez e Blank projetaram uma camada intermediária capaz de isolar o código do jogo do hardware subjacente. Em vez de desenvolver versões distintas de Zork em linguagem assembly pura para cada modelo de computador, eles conceberam uma linguagem de programação específica chamada ZIL (sigla para Zork Implementation Language). Com isso, os autores escreviam a lógica narrativa e a interatividade do mundo exclusivamente em ZIL. Um compilador dedicado traduzia esse código ZIL para um bytecode intermediário batizado de Z-code. Como o Z-code não continha instruções vinculadas a nenhum processador específico, ele funcionava como um formato binário totalmente independente de hardware.

Técnicas de paginação e compressão de texto

Acomodar ficção interativa rica em detalhes dentro dos computadores pessoais da época exigiu técnicas astutas de gestão de memória. Muitos microcomputadores possuíam apenas 32 KB ou 48 KB de memória RAM, mas a arquitetura virtual da Infocom conseguia desempenhar o acesso a até 128 KB de espaço de memória virtual. A Z-Machine alcançava esse feito dividindo os dados do jogo em páginas dinâmicas de 512 bytes, carregando descrições de cenários e textos da mídia para a RAM física a partir do disquete apenas no momento exato de uso. Para comprimir parágrafos extensos em disquetes de 5,25 polegadas com baixa capacidade de armazenamento, o Z-code codificava os textos narrativos em caracteres especiais Z-character de 5 bits em vez dos bytes padrão de 8 bits, permitindo empacotar três caracteres em cada par de palavras de 16 bits.

O poder do emulador ZIP

O segredo para rodar o Z-code em sistemas domésticos totalmente heterogêneos foi um emulador leve chamado ZIP (Z-Machine Interpreter Program). A Infocom construía um ZIP específico para cada plataforma de destino, traduzindo as instruções padronizadas do Z-code em comandos nativos do sistema em tempo real. Como toda a complexidade da lógica dos jogos permanecia encapsulada no binário portátil em Z-code, escrever um novo interpretador ZIP para um sistema recém-lançado levava geralmente apenas poucas semanas. Assim que o novo interpretador ficava pronto, todo o catálogo de aventuras em texto da Infocom passava a rodar imediatamente naquele hardware sem que fosse necessário alterar uma única linha do código dos jogos.

Ao desacoplar o software de jogo do hardware instável dos primeiros microcomputadores, Berez e Blank criaram uma das primeiras arquiteturas de máquina virtual com grande sucesso comercial no setor. A Z-Machine permitiu que a Infocom publicasse títulos narrativos complexos em dezenas de sistemas incompatíveis enquanto concorrentes enfrentavam dificuldades com adaptações manuais. Essa separação elegante entre a lógica do jogo e a execução no hardware garantiu que o conteúdo dos softwares sobrevivesse à rápida obsolescência dos computadores pessoais na década de 1980.

Ilustração editorial gerada por IA; não é uma fotografia documental.

Fonte: ZIL and the Z-Machine