A Inkbox Software revive o Zaxxon a partir do firmware UEFI.

Última atualização: 24/11/2025
autor: Isaac
  • Recriação do Zaxxon em assembler x86-64, executando diretamente da UEFI e com código aberto GPLv3.
  • Desafios resolvidos: entrada sem atrasos (mouse/joystick), sincronização precisa e um motor gráfico do tipo PPU com 128 FPS e sem som.
  • Compilação com MASM x64 e vinculação com MSVC; BOOTX64.EFI em EFI/BOOT/ de uma partição GPT, com Inicialização Segura desativada.

Remake de Zaxxon em UEFI

Existem projetos que nos fazem levantar uma sobrancelha e pensar: uau, isso é algo diferente. A Inkbox Software prestou homenagem à velha escola. Trazendo de volta um clássico jogo de arcade isométrico e fazendo-o iniciar diretamente do firmware do PC, sem um sistema operacional intermediário. Sua releitura de Zaxxon (1982) é mais do que uma mera curiosidade: é programada inteiramente em linguagem assembly x86-64 e lançada como código aberto sob a licença GPLv3.

O mais impressionante não é apenas o resultado, mas a jornada. A filosofia do projeto é "voltar ao metal".Deixe para trás as camadas do sistema operacional e aproveite o Hardwares Sem intermediários, eles demonstram que ainda é possível construir uma experiência de jogo refinada onde normalmente vemos apenas ferramentas de diagnóstico. E sim, há um vídeo explicativo com uma longa e divertida visão geral técnica que detalha como tudo aconteceu e quais obstáculos foram encontrados ao longo do caminho.

UEFI como ponto de partida: por que este experimento é importante

Experimentos mais lúdicos em UEFI Eles permanecem como demonstrações, brinquedos técnicos ou cargas úteis que são carregadas "dentro" do ambiente de firmware. Aqui, no entanto, a abordagem é diferente: a máquina inicializa e a primeira coisa que você vê é o jogo, sem passar por um sistema operacional ou um menu intermediário. Esse detalhe faz toda a diferença em termos de complexidade e experiência do usuário.

Jogo em firmware UEFI

UEFI é o substituto moderno para o antigo. BIOS E, embora disponha de serviços de entrada/saída, controle de tempo e vídeo, Não foi projetado para oferecer uma experiência de jogo sofisticada.Isso obriga seus autores a compensarem as deficiências com engenharia de baixo nível: desde como ler os controles em tempo real até como desenhar em velocidade máxima sem distorções ou latência incômoda.

O valor da proposta é duplo. Por um lado, demonstra que o firmware pode oferecer mais do que apenas utilitários configuração e testes. Por outro lado, serve como uma lição prática sobre a arquitetura atual de PCs, tempos de resposta e o design de motores gráficos minimalistas que não dependem de bibliotecas "de luxo".

A Inkbox resume tudo com uma ideia poderosa: eles estavam cansados ​​de o sistema operacional ditar o ritmo e os limites. A resposta deles foi programar em linguagem assembly, sem sistema operacional, para aproveitar ao máximo o hardware existente.Não se trata de um manifesto contra nada; é uma declaração de liberdade criativa, com o incentivo adicional de que qualquer pessoa pode examinar o código e criar forks graças à sua licença aberta.

O que é Space Game para x64 e qual é o seu objetivo?

O projeto tem um nome simples e descritivo: Space Game para x64 é um Recreação Zaxxon para a plataforma x86_64, empacotado como uma imagem UEFI. Não há emuladores envolvidos, nem uma porta "tradicional" que dependa de SDL, DirectX ou similares: é um binário BOOTX64.EFI que carrega como se fosse o sistema de inicialização.

Isso significa que, uma vez que você o prepare em um disco com uma partição EFI, O PC liga e entra em ação imediatamente.Não há área de trabalho, serviços em segundo plano, gerenciadores de janelas ou drivers complexos: apenas o firmware, o binário e seu hardware respondendo precisamente ao que o montador solicita.

Fiel ao espírito do original, A recriação preserva a estética isométrica. e aquela sensação de arcade de 8 bits. Para alcançar isso, eles construíram um tipo de motor gráfico que imita uma PPU (Unidade de Processamento de Imagem) clássica, daquelas que transformavam limitações em estilo visual. É uma referência técnica que também facilita um fluxo de renderização muito controlado.

Em seu repositório público, você encontrará o código-fonte e as instruções para compilar, vincular e executar o jogo em hardware real. O conjunto é distribuído sob a licença GPLv3.para que possa ser estudado, modificado e redistribuído sob os termos de uma licença bem conhecida na comunidade de software livre.

Desafios técnicos: entrada, sincronização e vídeo offline

Quem já mexeu com UEFI sabe que o suporte para teclado, relógio e placa gráfica é utilitário, não voltado para jogos. O primeiro grande obstáculo foi a entrada.O teclado UEFI padrão introduz um atraso interno que parece desajeitado e impreciso para jogos. Esse atraso prejudica a imediaticidade exigida pelos jogos de arcade, então a Inkbox buscou uma alternativa: entrada de mouse/joystick para uma experiência mais responsiva e fluida.

  Corrigir a não abertura da 3ª Guerra Mundial

O segundo desafio foi o timing. Sem um sistema operacional que forneça programadores de alta resoluçãoCom temporizadores monotônicos bem testados e planejadores de threads otimizados, precisamos inventar mecanismos estáveis ​​para medir latência...para alinhar os frames e manter a consistência do motor do jogo. O vídeo do projeto foca nesse ponto em detalhes, porque acertar o timing é metade da batalha no jogo.

Na parte gráfica, a solução envolve um renderizador que replica o comportamento de uma PPU retrô. Começa com um buffer base de baixa resolução (256×256)Isso é suficiente para a estética clássica dos consoles, e a partir daí a imagem final é redimensionada e composta. O resultado é nítido e uniforme, com a consistência estética que se espera de uma recriação que respeita a identidade visual original.

Tendo superado esses obstáculos, A demonstração final parece tão perfeita quanto seda: 128 FPSAnimações fluidas e controles de toque responsivos. Há, no entanto, uma omissão deliberada: nenhum som foi implementado por enquanto. Uma experiência visual e de jogabilidade sólida é preferível a se dispersar demais na primeira versão.

Como construir: ferramentas de compilação e vinculação

O código foi escrito em linguagem assembly de 64 bits e utiliza ferramentas da Microsoft para montagem e vinculação. O Microsoft Macro Assembler (MASM) no modo x64 é usado para a montagem.O processo de vinculação é gerenciado pelo Microsoft Visual C++ Linker (MSVC Linker). Não há nenhum segredo: são ferramentas bem conhecidas dentro do ecossistema. Windows que produzem um binário compatível com UEFI.

O resultado da compilação é um executável UEFI padrão: BOOTX64.EFIEsse arquivo é o que deve ser colocado no caminho de Bota Esperado pelo firmware: EFI/BOOT/, dentro da partição do sistema EFI (ESP) de um disco com uma tabela de partição GPT. Se você está vindo de LinuxQuer você use macOS ou um sistema Windows moderno, essa estrutura lhe parecerá familiar.

A instalação é simples e requer apenas alguns requisitos. Acesse as configurações do firmware e desative a Inicialização Segura (Secure Boot). Para evitar bloqueios de assinatura, selecione o disco onde você copiou o arquivo BOOTX64.EFI como dispositivo de inicialização. Se tudo estiver configurado corretamente, o jogo será iniciado imediatamente, sem telas de carregamento adicionais.

Para quem gosta de experimentar diferentes dispositivos, existe uma clara vantagem: UEFI é um padrão amplamente suportado em máquinas x86_64.Desde que seu hardware seja de 64 bits e seu firmware implemente UEFI, você poderá tentar a recriação sem muitos problemas. É sempre útil verificar se o firmware permite desativar a Inicialização Segura (Secure Boot).

Dimensionamento de hardware, depuração e outras opções

Além do básico, o projeto acrescenta uma ideia muito interessante em termos de desempenho: um modo de “escalonamento de hardware” Ele aproveita os outros processadores de aplicativos (os núcleos do sistema) para converter rapidamente o buffer do jogo para uma resolução de 1024x1024. É uma pequena demonstração de paralelização dentro do ambiente UEFI: o jogo é renderizado em 256x256 e a resolução final é multiplicada sem penalizar a taxa de quadros.

Se você prefere simplicidade ou seu equipamento é modesto, pode desativar essa função de escala. Nesse caso, o programa exibe o buffer de 256x256 na tela tal como está.Mantendo uma aparência mais precisa em termos de pixels, ao mesmo tempo que se reduz a carga computacional. Dependendo das suas preferências, você pode priorizar a pureza visual ou a nitidez extra.

Para aqueles curiosos para ver "as entranhas", existem interruptores projetados para desenvolvimento. Existe uma opção para exibir as áreas de colisão. (as caixas de colisão) o que só faz sentido se o dimensionamento por hardware estiver ativo, já que a sobreposição fica mais clara e gerenciável em resoluções mais altas.

Uma sobreposição de diagnóstico também pode ser ativada. O modo de depuração exibe informações no console.Isso inclui detalhes da entrada de controle e a contagem de colunas do mecanismo de renderização. Se você estiver ajustando tempos, latências ou precisão de leitura do dispositivo, esses dados são essenciais para entender o que está acontecendo em cada quadro.

  Principais inovações da Intel e da AMD no novo cenário de PCs

Desempenho e experiência de jogo

O que melhor define essa experiência é como ele se sente no controle. Jogabilidade fluida a 128 FPS E a resposta perfeita cria uma sensação muito semelhante à de um jogo de arcade: tudo acontece no momento exato, sem que o sistema fique pensando demais. Essa imediatidade é resultado de um controle meticuloso sobre o fluxo de trabalho: menos camadas, menos incerteza.

Mesmo sem som, é um jogo totalmente divertido. A ênfase está na jogabilidade e na clareza visual.Com uma paleta de cores, sprites e rolagem que evocam a era dos 8 bits sem recorrer a filtros modernos ou pós-processamento desnecessário. Se você vier pela nostalgia, ficará pela performance.

A questão da entrada merece uma salva de palmas à parte. Evite o teclado "padrão" UEFI. —devido ao seu atraso inerente— e optar por mouse/joystick não só evita um problema, como reforça a identidade arcade do remake. Isso é perceptível na precisão ao ajustar trajetórias e na forma como o jogo tolera correções rápidas.

Nos sistemas multicore atuais, o modo de dimensionamento torna a exibição de 1024x1024 instantânea. Distribua o trabalho de escalonamento entre os núcleos. Permite manter uma taxa de quadros de 128 FPS sem esforço, enquanto no modo simples a estética "crua" de 256×256 oferece aquela textura retrô inconfundível.

Compatibilidade e disponibilidade

Um dos pontos fortes desta proposta é o seu alcance. O binário foi projetado para ser executado em qualquer máquina x86_64 com UEFI., que abrange um espectro muito amplo de PCs de mesa e laptops contemporâneo. Não é necessário nenhum modelo ou marca específica; basta que atenda aos padrões e permita que o sistema EFI ligue sem problemas.

Se você quiser fazer experiências, a porta está aberta. O repositório “Space Game for x64” no GitHub inclui código, documentação e recursos. Assim, você poderá compilar e criar sua própria imagem. Qualquer pessoa já familiarizada com o MASM e o linker do MSVC se sentirá em casa; e aqueles que não estão terão uma desculpa perfeita para aprender.

Licenciar o software sob a GPLv3 não é um detalhe insignificante. Essa escolha garante que o conhecimento retorne à comunidade.E qualquer derivação manterá essa mesma abertura. Para projetos educacionais ou laboratórios de engenharia reversa, é um tesouro: você pode ler, modificar, comparar e medir sem restrições de propriedade.

A história por trás disso: motivação e lições aprendidas.

Por que se envolver em uma confusão dessas? A motivação do autor é tanto técnica quanto filosófica.: remover as restrições do sistema operacional, redescobrir o programação No cerne da questão, e resgatando a essência dos fliperamas de "o que você vê é o que você recebe", esse espírito se traduz em escolhas de design discretas e eficazes.

O vídeo que acompanha o projeto é um bônus. Não é um trailer, é uma aula magistral. Trata-se de como lidar com as limitações reais do firmware e como transformá-las em uma experiência de jogo envolvente. Qualquer pessoa que já tenha enfrentado problemas com temporizadores, latência e polling de dispositivos apreciará o nível de detalhamento.

Há aprendizado em todos os lugares: desde a escolha dos dispositivos de entrada até o processo de desenho e dimensionamento. Replicar o comportamento de uma PPU retroativa Não se trata apenas de nostalgia; é uma decisão pragmática que limita o problema, evita dependências externas e confere coerência à estética final.

Essa abordagem, aliás, resulta em um código que pode ser lido e estudado. Programar em linguagem assembly x86-64 não é comum hoje em dia.E muito menos com esse nível de ambição lúdica. Precisamente por essa razão, o valor educativo do projeto é enorme para qualquer pessoa que realmente queira entender o que o hardware faz em cada instrução.

Detalhes práticos para experimentar no seu computador

Se você estiver curioso, aqui está o percurso básico: Você compila com MASM em 64 bits e vincula com MSVC. e você obtém o binário BOOTX64.EFI. Você copia esse arquivo para a partição EFI (ESP) de um disco com tabela GPT, respeitando o caminho EFI/BOOT/, e prepara seu firmware para inicializar a partir desse dispositivo com a Inicialização Segura desativada.

  Análises de periféricos para PC: um guia completo com exemplos práticos.

Algumas versões de firmware adicionam sua própria "personalidade", então fique atento. Você pode precisar forçar a ordem de inicialização. Ou selecione o disco manualmente em um menu de inicialização rápida. Assim que o logotipo UEFI do fabricante aparecer e o processo de inicialização começar, se o caminho estiver correto, você entrará diretamente no jogo.

Para ajustes de desempenho, não há mistério. Ative o dimensionamento por hardware se desejar 1024x1024. Com máxima nitidez e muitos núcleos disponíveis, desative essa opção se estiver buscando uma imagem limpa de 256x256. Se estiver depurando o jogo, mostre as hitboxes e o painel de diagnóstico: você verá a entrada registrada e a contagem de colunas que o mecanismo está processando em tempo real.

Nota de segurança: Desativar a Inicialização Segura é um requisito para este binário.Lembre-se de reverter essa alteração, se preferir, após terminar de jogar. Não é uma prática incomum em projetos UEFI caseiros, mas é bom ter isso em mente se você trabalha em equipes de produção.

Além do jogo: impacto e possibilidades

Focar apenas na referência retrô seria injusto. Este trabalho inicia uma conversa sobre o que pode ser feito na UEFI. Com rigor técnico e objetivos claros. Hoje é um jogo de arcade clássico; amanhã pode ser um utilitário gráfico avançado, um ambiente de teste de hardware ou experiências interativas que não dependem da instalação de nada em disco.

Para o meio educacional, o apelo é imediato. Um repositório de código assembly bem comentado.O documento, que aborda entrada, temporização, gráficos e paralelização de luz dentro da UEFI, é um recurso de aprendizado excepcional. É difícil imaginar um laboratório mais esclarecedor para a compreensão da arquitetura moderna de PCs sem as camadas do sistema operacional.

Na comunidade maker e retrô, o efeito cascata também é evidente. Para recuperar o controle total do oleoduto É fascinante. Resgata o espírito "faça você mesmo" dos anos 80 e o traz para um ambiente moderno e padronizado. Muitos se sentirão inspirados a experimentar seus próprios mini motores UEFI com base nesses princípios.

E para aqueles que só querem jogar um pouco, a proposta é mais do que satisfatória. É rápido, é limpo e é incrível. Ligue seu PC e entre direto em um clássico repaginado, sem nunca ver a área de trabalho. Se você busca uma sessão de jogos arcade sem distrações, é difícil pedir mais.

Uma ideia que permeia todo o projeto é a de autonomia. Ao controlar cada instrução, você controla a experiência.Você não depende de atualizações do sistema operacional, agendadores de tarefas ou drivers. Há custos — sem som por enquanto, sem camadas de conforto — mas em troca você ganha um brinquedo tecnológico incrível e um manifesto de independência criativa.

Dentre as pequenas preciosidades técnicas, destacam-se o gerenciamento alternativo de entrada para o teclado UEFI desajeitado e o uso de processadores de aplicativos para escalonamento. Esse detalhe de paralelização "leve" dentro do firmware Isso nos lembra que a norma oferece mais margem de manobra do que costumamos aproveitar no dia a dia.

Se você gosta de analisar o código-fonte e os commits, vai adorar revisar a organização do projeto, a clareza das rotinas e como os casos extremos são resolvidos. A decisão de compartilhar sob a licença GPLv3 Ele garante que ninguém guarda um trunfo na manga: o que se aprende aqui circula e cresce com as contribuições dos outros.

No final das contas, é mais do que apenas uma simples porta. É uma declaração de intenções encapsulada em pixels.Ele revive uma forma de programar e jogar — sem anestesia ou amarras — que ainda tem charme em 2025. E faz isso com respeito ao original e uma execução técnica à altura, começando onde ninguém espera encontrar um jogo: o próprio firmware.

diferenças entre videogames remasterizados e remakes
Artigo relacionado:
Diferenças entre remaster, remake, reboot, demake e port em videogames