2026-05-27Nos posts anteriores desta série desmontamos o C64 peça por peça. Registradores, memória, instruções, controle de fluxo e os chips de hardware. Agora vamos montar tudo de volta numa coisa que funciona.
O projeto é um mini piano de cinco notas. As teclas Z X C V B tocam Dó Ré Mi Fá Sol. Cada nota muda a cor da borda da tela, toca um som no SID e exibe a letra da nota no centro da tela. Simples o suficiente para caber num único post, complexo o suficiente para usar os três chips juntos.
Read More2026-05-18Nos posts anteriores desta série construímos o modelo completo. Registradores, memória, instruções, decisões e loops. Você já sabe como um programa se move pela memória e como o processador executa cada byte que encontra pela frente. O que falta é a parte mais surpreendente da história do C64, e provavelmente a ideia mais elegante de toda a série.
Escrever na memória era acionar hardware
No post sobre o mapa de memória vimos que certas regiões não eram RAM comum. A faixa de $D000 a $DFFF pertencia aos chips de hardware. O VIC-II, o SID e o CIA. Mas o que isso significa na prática só fica claro quando você vê o código.
Read More2026-05-11No post anterior vimos como o processador movimenta dados e faz aritmética. Mas um programa que só executa instruções em linha reta não faz muita coisa útil. Em algum momento ele precisa tomar uma decisão. Ir por um caminho ou outro, dependendo de um resultado. Ele precisa de loops, condicionais, da capacidade de se comportar diferente dependendo do estado das coisas.
No assembly do 6510, tudo isso é construído sobre um único mecanismo. Flags.
Read More2026-05-10No post anterior construímos o mapa. Sabemos onde os dados vivem, como a memória é organizada em endereços e por que certas regiões valiam mais do que outras. Agora falta a peça central. O que o processador realmente faz enquanto executa um programa.
O programa também são bytes
No post sobre o ciclo de execução vimos que o processador lê um byte, interpreta como instrução, executa e avança para o próximo. Mas nunca falamos sobre como um byte vira uma instrução.
Read More2026-05-09No post anterior vimos que o processador tem três registradores de uso geral e um ciclo de execução simples e ininterrupto. O problema é que três registradores não são suficientes para nenhum programa real. Você precisa de algum lugar para guardar dados enquanto não os está usando, guardar o programa em si, guardar variáveis e resultados intermediários. Esse lugar é a RAM.
A RAM é um array gigante
Se você já usou um array em qualquer linguagem, já entende a RAM. A memória do C64 era exatamente isso:
Read More2026-05-08Na Parte I cobrimos o cenário: a época, a máquina, o contexto. Agora é hora de descer um nível e entender como o processador realmente funciona. Onde os dados vivem, como as instruções são lidas e o que acontece a cada fração de segundo enquanto um programa roda.
Registradores: o espaço de trabalho do processador
Quando você escreve algo como x = 5 + 3 em qualquer linguagem moderna, o processador precisa pegar o 5 de algum lugar, pegar o 3 de algum lugar, somá-los e guardar o resultado. Esse “algum lugar” são os registradores.
Read More2026-05-07Quando entrei no mercado de tecnologia, na segunda metade dos anos 2010, as linguagens de alto nível já eram o padrão. Quando estudei Engenharia da Computação, até sistemas embarcados eram escritos em C++, e isso era considerado o nível mais baixo. No mundo do software e dos jogos, a abstração ia ainda mais longe. Java dominava a indústria, e a Unity estava no meio do processo de democratizar o desenvolvimento de jogos a ponto de qualquer pessoa com um fim de semana livre conseguir publicar algo jogável.
Read More2026-01-05Você provavelmente já passou por um prédio brutalista sem saber o nome do estilo. São aquelas construções de concreto aparente, sem reboco, onde se vêem as marcas das fôrmas usadas na fundição. Estrutura exposta. Tubulações à mostra. Por muito tempo, os computadores eram assim.
Nos anos 80, quando você ligava um microcomputador (MSX, Apple II, ou meu favorito pessoal, o TK90x/ZX Spectrum), não havia uma área de trabalho. Não havia ícones de pastas simulando um escritório. Não havia metáfora nenhuma. O que aparecia era um cursor piscando, esperando. A máquina olhava para você e perguntava: “Qual é o plano de hoje, chefe?”
Read More