Arquivo da tag: Disassembler

Então você precisa disassemblar código 6502…

…mas não sabia por onde começar?

Felizmente Ricardo Quesada fez dois posts exatamente sobre como disassemblar código 6502.

No primeiro post ele explica o uso do Radare, um poderoso disassembler que roda em um monte de sistema que roda em máquinas mais novas mas ainda assim já velhas (velho é o seu PC).

E no segundo post, ele bota a mão na massa, usando como exemplo a quebra da proteção do BC’s Quest for Tires.

screen-shot-2015-12-09-at-3-03-39-pm

(via e via)

Imagem do dia: TODO o código do Pac-Man para Atari 2600

Em todos seus gloriosos 4 KB de opcodes assembler 6502, transformados em poster e adornando a parede de Blake Patterson (como se a casa dele já não fosse f**ástica o suficiente). As linhas curvas são os jumps (condicionais ou não) e a parte que representa gráficos está em laranja. Clique para ampliar.
Continue lendo Imagem do dia: TODO o código do Pac-Man para Atari 2600

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

MC-1000: Quanto mais a gente reza, mais assombração aparece

No processo de explorar a ROM do MC-1000, Emerson “Ensjo” Costa, o mais consagrado emecemilólogo do Brasil, através de uma busca esperta no Google, descobriu um outro BASIC pra Z80 cujo fonte em assembler bate certinho com certos trechos do disassembly do MC-1000.

Detalhe: o micro é um Robotron KC, da Alemanha Oriental! Sim, aquela comunista, que deixou de existir após a unificação!

Continue lendo MC-1000: Quanto mais a gente reza, mais assombração aparece

Rodando jogos de Nintendinho no Linux. Não é emulador. Não é remake.

A gente procura se manter fora do assunto videogames, pois nossa raison d’être são os computadores. Clássicos. (Menos o seu PC, que é velho.) Mas volta e meia acontece algo no universo videogamístico que a gente simplesmente tem que mencionar.

E o que foi feito aqui, repetindo, não é um emulador nem um remake. Foi algo várias ordens de magnitude mais heavy metal. Veja abaixo:

Continue lendo Rodando jogos de Nintendinho no Linux. Não é emulador. Não é remake.

Atenção donos de TK2000 & assembleiros em geral

Nosso camarada Lisias Toledo tem um anúncio importante a fazer:

Pronto. Sessão Masoch encerrada.

Após uma semana de trabalho insano (nunca mais faço isto de novo!!!), terminai de OCRizar, checar, comentar, xingar e montar pelo CA65 o fonte em ASM da ROM do TK-2000.

A imagem gerada é idêntica ao DUMP que fiz da ROM do meu TK-2000. =]

Agora é descansar a cuca, esfriar o chifre (tremendo trampo de corno, meu!) e partir pros consertos e pequenas otimizações que achei pela ROM – sem que nada se quebre (o que limita um pouco o que se pode fazer).

De forma que comunico: a primeira revisão da ROM do TK-2000 em 30 anos já está em andamento! =]

(Mas sem prazo definido para entrega!)

Via Google+. O trabalho foi feito a partir do livro TK2000/II – Entendendo a ROM, e você pode conferir o resultado aqui. Voltamos a qualquer momento em edição extraordinária com novas informações.

TK2000

Desmontando o Ultima 1

Esta veio direto da comp.sys.apple2, um mensagem longa e cheia de detalhes, de autoria de Michael Pohoreski (um dos desenvolvedores do emulador AppleWin), comentando sobre o processo de disassembly do jogo Richard Garriot’s Ultima 1, ou apenas Ultima 1 para os íntimos. E mesmo que você não entenda nada de programação assembler para 6502, não se preocupe! Você não será o único pois, de acordo com o próprio Michael, o autor também estava engatinhando(sic) no assunto quando escreveu o jogo. A leitura já vale pelos comentários (tantos os puramente técnicos quanto os engraçados). Ficou curioso? Então acesse:

https://groups.google.com/group/comp.sys.apple2/msg/21563b398ac2ae1f?pli=1