Arquivo da tag: Assembler

Tetris em assembler de 6502

tetris

No ano de 1992 o jovem holandês Wiebo de Wit, membro do Anti MSX Group(!), escreveu um simpático clone de Tetris para o C64, como ele mesmo disse… apesar dos problemas. Em 2015 ano ele resolveu escrever um novo jogo de Tetris em assembler de 6502 e do zero! Aproveitando somente os gráficos e os sons da primeira versão.

E como eu sou uma boa pessoa vou deixar aqui link para outras partes — 2, 3, 4, 5, 6, 7, 8, 9 — publicadas até o momento.

Repórter Retro Nº 006

O Seu Repórter Retro

Bem-vindos a mais uma edição do Repórter Retro.

Ficha técnica:

URLs do podcast:

Não se esqueça de deixar seu comentário aí embaixo; afinal, seu comentário é o nosso salário. No entanto, caso você prefira, entre diretamente em contato conosco.

Ler a Wikipédia num TRS-80 Model I, convenhamos, já e vandalismo.

Estamos falando de um micro lançado em 1977, cujo modo texto é 64×16 caracteres, preto-e-branco (sem escalas de cinza), que nem minúsculas tem, e com pseudográficos de 128×48… coisas… que só com muita caridade poderiam ser chamadas de pixels.

Pois Peter Cetinski resolveu desenvolver para ele um programa chamado TRSWiki, ligar uma interface de rede MISE e…
Continue lendo Ler a Wikipédia num TRS-80 Model I, convenhamos, já e vandalismo.

Programação assembly… “like a boss”

like a boss

Estava fazendo uns testes de código em MSX-DOS e experimentando como chamar a BIOS a partir do ambiente e… opa! Melhor explicar uma coisa importante antes.

No MSX, quando estamos no BASIC a memória tem o seguinte leiaute:

0x0000 - 0x7FFF : BIOS e MSX-BASIC
0x8000 - 0xFFFF : RAM (32Kib)

Ou seja uns 32KiB de ROM estão lá ocupando 50% do espaço de endereçamento que o Z80 entende e chama de “mundo”.

Mas quando estamos no MSX-DOS a memória fica assim:

0x0000-0xFFFF : RAM (64Kib)

Mas como se faz para acessar a BIOS já que ela “desapareceu” da vista do Z80?

Continue lendo Programação assembly… “like a boss”

Fractal para quem precisa de fractal

À guisa de (falei bonito agora, hein?) continuação do post sobre cartões SMS em mainframes, Ken Shirriff ficou sabendo que havia um IBM 1401 funcional no Computer History Museum e lá foi-se ele pra brincar com a criança. Brincar do que? Ora, de fazer um programa para imprimir o Conjunto de Mandelbrot. Em que linguagem? Assembler em cartões perfurados, claro, porque linguagem de alto nível, monitor e teclado são para os fracos.

mandelbrot-1401-and-printer

Mas calma que a história não acaba por aí…
Continue lendo Fractal para quem precisa de fractal

Programação em Assembler: Quem te viu, quem te vê.

Terminator 6502Se você, assim como eu, programou em Assembler na era clássica, provavelmente já se sentiu assim:

Meu modelo mental de CPUs ficou parado nos anos 80: basicamente, caixas que fazem aritmética, lógica, manipulação de bits, e carregam e colocam coisas na memória. Tenho uma vaga consciência de vários progressos, como instruções vetoriais (SIMD) e a ideia das CPUs terem suporte a virtualização (mas não faço ideia do que isso significa na prática).

Que avanços legais eu perdi? O que as CPUs de hoje podem fazer que as do ano passado não podiam? Ou do retrasado, ou de 5, 10 anos atrás? O que mais me interessa são capacidades que o programador tem que aproveitar manualmente (ou que precisam de reprojeto dos ambientes de programação) para poderem ser utilizadas, e portanto podem não estar sendo utilizadas no momento. Acho que isso não inclui coisas como SMT/Hyper-threading, mas honestamente não tenho certeza. Também me interesso em coisas que as CPUs atuais não podem fazer, mas as do futuro próximo poderão.

Foi essa a pergunta que David Albert fez, e Dan Luu resolveu respondê-la. Leitura obrigatória para qualquer assembleiro que se preze. Leia aqui.

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