Após libertá-lo, agora é vez de dissecá-lo — mais ou menos como foi feito com o Retromania! A ideia aqui é (tentar) explicar um pouco do funcionamento das principais rotinas do jogo. Mas como sei muito bem que código em assembly não é das coisas mais simples, agradáveis e legíveis irei me focar na explicação do funcionamento das rotinas (o algoritmo) ao invés de passar instrução por instrução.
Tony “Gazoo” Knerr resolveu enfiar Extended Basic, Editor/Assembler, zilhões de utilitários e jogos, tudo num cartucho só, que ele batizou de Extended Basic v2.7 Suite. Infelizmente, a primeira leva (míseros 8 exemplares) foi-se antes que nos déssemos conta. Isso é pra eu aprender a acompanhar mais assiduamente os fóruns do AtariAge.
Mas não tem revolta não, eu só quero que você se encontre vou esperar pacientemente pelo próximo lote (que, garante o alienígena em questão, existirá) e ficar esperto para não papar mosca de novo.
Vamos começar apresentando a impressora mais lenta do mundo:
OK, estamos cometendo uma injustiça aqui: isso não é uma impressora, e sim um plotter (o 1520 da Commodore) e para o que ele se propõe, que é desenhar gráficos e desenhos em linha, ele funciona muito bem, e em quatro cores.
Ele tem um microprocessador 6502 compatível dentro — claro, estamos falando dos criadores do mítico e memético 1541, como não teria um 6502 dentro? — mas numa forma um pouco diferente e completamente inamistosa a hackers imbuídos da missão de fazer engenharia reversa. Trata-se do 6500/1, que tem dentro do chip 64 bytes de RAM (!!!), 2 KB de ROM programada de fábrica, duas portas de I/O e nenhum barramento de endereços nem de dados! A propósito, esse chip também é usado como controlador de teclado do Amiga. Continue lendo Engenharia Reversa para os Fortes→
No agora quase remoto cinco de maio o Flávio “TK90X Fan” Matsumoto publicou em seu blog uma rotina bastante interessante para a geração de números (pseudo)aleatórios em assembly Z80. Como o próprio Flávio comenta, a rotina está bastante otimizada e também trata-se de código auto-modificável (basicamente a cada execução ele mexe em partes dele mesmo alterando certos valores — algo como mudar as variáveis originais). Continue lendo (Mais) um algoritmo para gerar números aleatórios em Z80→
Então, você lembra daquele jogo totalmente em assembly que saiu em um monte de fascículos da revista INPUT? Lembra das listagens intermináveis de código para TK-90X/TK-95, CP-400* e MSX? Aqui estão alguns segundos da versão para MSX de AVALANCHE em toda a sua glória!
Sério, eu juro que tentei passar da segunda fase!
(*) Na verdade o foco da revista eram os Dragon 32 e 64 conforme podemos observar no quadrinho explicativo que acompanhava cada edição (ei, cadê o MSX, Apple e o TK-2000?):
Preste atenção nesta tela. Ela foi gerada num TRS-80 Model III (versão brasileira: Herbert Richers CP-500 ou CP-300). Aqueles que conhecem essa arquitetura podem estar intrigados com os contornos da figura — eles não deveriam ser bem mais toscos e pixelados?