Arquivo da tag: Assembly

Dissecando o Flappy Bird, parte 1

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.

capa dissecção
Os caracteres de 128 a 255, o jogo está aqui!

Não custa lembrar que o código fonte do jogo está disponível no GitHub, e sendo assim não irei replicá-lo, apenas citá-lo aqui.

Continue lendo Dissecando o Flappy Bird, parte 1

Cartucho tudo-em-um para o TI-99/4A

The_Great_GazooTony “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.

EB 2.7 Suite in TI-99-4A(Vintage Is The New Old via FB)

Engenharia Reversa para os Fortes

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

(Mais) um algoritmo para gerar números aleatórios em Z80

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

Matando uma curiosidade de quase 25 anos!

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?):

INPUT UK

Afinal de contas, o que é esse tal de Assembler?

(E a pergunta de um milhão de dólares: é Assembler ou Assembly?)

Bom, seja lá qual for o nome, este excelente artigo no blog C64 Programming do braso-canadense (outro???) Paulo Garcia lhe dará a exata idéia do que nós, os anormais, estamos falando quando mencionamos esse termo.

Continue lendo Afinal de contas, o que é esse tal de Assembler?