Invasores do espaço: agora em 512 bytes (Assembler x86)

imagem

Parece que recentemente os Space Invaders cabem em 1 kilobyte , mas agora eles podem caber em um setor de inicialização (512 bytes). O autor do programa é Oscar Toledo, vencedor cinco vezes do IOCCC (Concurso Internacional de Código Ofuscado C ) e membro regular do JS1K, também conhecido como criador de xadrez, que ocupa apenas 392 bytes .

O código fonte do jogo pode ser visualizado no repositório no Github: github.com/nanochess/Invaders

Para executar, você precisará do nasm (Netwide Assembler), que pode ser baixado do site oficial . O jogo pode ser construído executando o comando:

nasm -f bin invaders.asm -Dcom_file=1 -o invaders.com 

Na verdade, isso ainda é 4 vezes maior que o tamanho total da Atari 2600 RAM - mas pode caber facilmente no cartucho, que fornece 2 kilobytes de memória. Além disso, o uso das instruções do montador PUSHA/POPA no código do programa requer um processador 80186 e superior.

O Space Invaders original foi lançado em 1980 e se tornou uma das primeiras arcadas transportadas para o Atari 2600 a partir de máquinas caça-níqueis. O jogo se tornou um best-seller, aumentando as vendas do próprio console 4 vezes. O jogo original, que apareceu em máquinas de fliperama em 1978, segundo o autor, foi inspirado por outro jogo da Atari - Breakout.

Uma demonstração do jogo pode ser vista no vídeo.

Source: https://habr.com/ru/post/pt454872/


All Articles