Arquivo da tag: Assembly

Veronica: Programa monitor e o primeiro “port” de jogo!

Agora a Veronica já tem um embrião de sistema operacional capaz de fazer o básico do básico do básico — examinar e alterar o conteúdo da memória, e executar código arbitrário. Mas por enquanto nada de instruções mnemônicas, tem que ser no hexa mesmo. Baby steps.

No linguajar dos fortes, esses programinhas são chamados de monitores. Veja-o em ação:
Continue lendo Veronica: Programa monitor e o primeiro “port” de jogo!

TRS-Color tocando música de 1 bit. (O que cargas d’água é música de 1 bit?)

Nome científico: Modulação por Largura de Pulso. Basicamente, é quando você não tem controle sobre a amplitude da sua onda, só pode gerar níveis zero ou um e tem que se virar para simular som com isso. Os alto-falantes dos primeiros Apple II, IBM PC e ZX Spectrum eram assim.

O TRS-80 Color Computer até tem um DAC de 6 bits, mas Simon Jonassen resolveu abrir mão de 5 deles e ver que barulhada ele poderia fazer no CoCo. Com a colaboração de John “Sock Master” Kowalski, ele pretende fazer um demo “a la demoscene” (coisa na qual o CoCo nunca foi forte). Vejam o trabalho em progresso nos vídeos abaixo. A discussão técnica, para os que apreciam as artes arcanas, acontece neste tópico do fórum World of Dragon. No qual foram postados vários programinhas pra galera testar.

Bem-aventurados os que entendem Assembler, pois deles será o nerdgasmo ao ler isto.

Tom Moertel tinha uma missão: programar um jogo para o TRS-80 Color Computer 3. Esse micro, apesar de ter gráficos muito bons para a época, não tinha um processador de vídeo para facilitar a vida do programador, então nada de sprites, scroll por hardware, ou outras mordomias típicas dos privilegiados. O négocio era mover bytes no buffer de tela e dar-se por satisfeito.

Continue lendo Bem-aventurados os que entendem Assembler, pois deles será o nerdgasmo ao ler isto.

Para você, programador, que reclama do Eclipse e do Visual Studio…

…ou de algum outro moderno ambiente integrado de desenvolvimento, entupido de comodidades e que mais se parece com uma nave espacial. Algo com recursos de compilação cruzada, bibliotecas de objetos que parecem não acabar mais, controle de versão, edição colaborativa, e (claro!) realce da sintaxe com previsão de nomes de comandos e que mesmo assim ainda está choramingando que “poderia ser melhor”…

…saiba que os tempos já foram muito, mas MUITO mais difíceis. Realçar a sintaxe? Só se for com uma daquelas canetas BIC de quatro cores.

Aqueles que tem algum conhecimento de linguagem Assembly já devem ter percebido que a folha de caderno aí em cima é um registro da insana tarefa de programar Assembly (no caso, Z80) sem um programa assembler (vulgo compilador) para transformar o seu fonte em código de máquina. O software, que levou algumas centenas de páginas como essas para ser feito, é o jogo Ant Attack para micros da linha ZX Spectrum.

É mais ou menos como construir uma catedral em tamanho natural com palitos de fósforo e cola Tenaz.

Mergulho profundo no Assembly 6502: Prince of Persia

Não é a primeira nem a segunda nem a terceira vez que falamos da descoberta dos fontes do clássico jogo Prince of Persia e da sua exploração. Desta vez, Fabien Sanglard examina o código beeeeem a fundo. A expedição por enquanto tem três partes. Leitura para os fortes. Para começar, clique na figura abaixo… se tiver coragem.

popmemmapAgradecimentos a meu chapa Pedro Howat pela dica.

[UPDATE] Ih, o Bender é parente do Tamagotchi!

Natalie Silvanovich fuçou e fuçou e fuçou um Tamagotchi e descobriu que o processador do bicho carente é… um 6502! Clique na foto abaixo para saber como. UPDATE: E depois clique aqui porque a fuçação continua. Entre outras coisas, nossa Tamagotchióloga descobriu o código que determina se ele vai ser menino ou menina. Se houverem mais updates, eles deverão aparecer aqui.

tamagotchi-rom-dump-and-reverse-engineeringAbaixo, uma apresentação da Natalie feita num momento em que ela já tinha descoberto o processador do Tamagotchi mas ainda não tinha conseguido fazer o dump de toda a ROM, o que foi conseguido no link aí de cima.

http://www.youtube.com/watch?v=WOJfUcCOhJ0

Será que o Bender é um Tamagotchi que ficou problemático porque teve uma vida sofrida?

(Hackaday)

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

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…