Arquivo da tag: Assembly

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

Gloriosas inutilidades: gerando um labirinto em 10 (sim, DEZ) bytes!

Um tempo atrás, rolou nas interwebs um belíssimo programa BASIC de uma linha para C64, que gera um labirinto aleatório com duas míseras instruções, um PRINT e um GOTO. O negócio fez tanto sucesso que chegou a virar livro.

Pois bem, me chega um cavalheiro chamado Jim Leonard, hacker casca-grossa também conhecido como Trixter, e lança o desafio: fazer o mesmo programa em assembler 8088, para PC*, com o mínimo de bytes possível.

Aí os recordes vão se sucedendo: 25 bytes, 15,13, 12. 11… dez! A essa altura o povo já estava apelando para truques que não são coisa de Jesus, tais como instruções não-documentadas que só funcionam em CPUs Intel, presumir estado dos registradores na entrada, entre outras ignomínias.

Segue o código assembler vencedor. Tirem as crianças da sala:

init:   scasb
        salc
        and al,''-'/'
        add al,'/'
        int 29h
        jmp init

* PCs clássicos, por favor, tipo XT original ou Tandy 1000. Seu PC, não. Seu PC é velho. Mas há os que crêem que PCs podem ser clássicos. Esse assunto vai dar pano pra manga…

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

E o 8051 ainda dá no couro.

Segundo a Wikipédia, “o Intel 8051 faz parte de uma popular família de microcontroladores de 8 bits lançada pela Intel em 1977. É conhecido por sua facilidade de programação, em linguagem assembly graças ao seu poderoso conjunto de instruções. É tido como o microcontrolador mais popular do mundo, pois existem milhares de aplicações para o mesmo, e existem pelo menos dois mil fabricantes produzindo variantes e clones do modelo. Atualmente possui diversos modelos clones sendo produzidos por empresas diversas à Intel. Por ser um microcontrolador CISC, oferece um conjunto de instruções muito vasto que permite executar desde um simples programa que faz piscar um LED até um programa de controle de acesso controlado por rede.

Então, ainda há pessoas que desenvolvem projetos fazendo uso de microcontroladores Intel 8051. Onde? no Hack-a-Day, ora.