2026-05-27En los posts anteriores de esta serie desmontamos el C64 pieza a pieza. Registros, memoria, instrucciones, control de flujo y los chips de hardware. Ahora vamos a montarlo todo de vuelta en algo que funcione.
El proyecto es un mini piano de cinco notas. Las teclas Z X C V B tocan Do Re Mi Fa Sol. Cada nota cambia el color del borde de la pantalla, reproduce un sonido en el SID y muestra la letra de la nota en el centro de la pantalla. Lo suficientemente simple para caber en un único post, lo suficientemente complejo para usar los tres chips juntos.
Read More2026-05-18En los posts anteriores de esta serie construimos el modelo completo. Registros, memoria, instrucciones, decisiones y bucles. Ya sabes cómo un programa se mueve por la memoria y cómo el procesador ejecuta cada byte que encuentra. Lo que falta es la parte más sorprendente de la historia del C64, y probablemente la idea más elegante de toda la serie.
Escribir en memoria era activar hardware
En el post sobre el mapa de memoria vimos que ciertas regiones no eran RAM normal. El rango de $D000 a $DFFF pertenecía a los chips de hardware. El VIC-II, el SID y el CIA. Pero lo que eso significa en la práctica solo queda claro cuando ves el código.
Read More2026-05-11En el post anterior vimos cómo el procesador mueve datos y hace aritmética. Pero un programa que solo ejecuta instrucciones en línea recta no hace gran cosa útil. En algún momento necesita tomar una decisión. Ir por un camino u otro, dependiendo de un resultado. Necesita bucles, condicionales, la capacidad de comportarse de manera diferente según el estado de las cosas.
En el assembly del 6510, todo eso se construye sobre un único mecanismo. Flags.
Read More2026-05-10En el post anterior construimos el mapa. Sabemos dónde viven los datos, cómo está organizada la memoria en direcciones y por qué ciertas regiones valían más que otras. Ahora falta la pieza central. Lo que el procesador realmente hace mientras ejecuta un programa.
El programa también son bytes
En el post sobre el ciclo de ejecución vimos que el procesador lee un byte, lo interpreta como instrucción, lo ejecuta y avanza al siguiente. Pero nunca hablamos de cómo un byte se convierte en una instrucción.
Read More2026-05-09En el post anterior vimos que el procesador tiene tres registros de uso general y un ciclo de ejecución simple e ininterrumpido. El problema es que tres registros no son suficientes para ningún programa real. Necesitas algún lugar donde guardar datos mientras no los estás usando, guardar el programa en sí, guardar variables y resultados intermedios. Ese lugar es la RAM.
La RAM es un array gigante
Si alguna vez has usado un array en cualquier lenguaje, ya entiendes la RAM. La memoria del C64 era exactamente eso:
Read More2026-05-08En la Parte I cubrimos el panorama: la época, la máquina, el contexto. Ahora es el momento de bajar un nivel y entender cómo funciona realmente el procesador. Dónde viven los datos, cómo se leen las instrucciones y qué ocurre cada fracción de segundo mientras un programa se ejecuta.
Registros: el espacio de trabajo del procesador
Cuando escribes algo como x = 5 + 3 en cualquier lenguaje moderno, el procesador necesita coger el 5 de algún sitio, coger el 3 de algún sitio, sumarlos y guardar el resultado. Ese “algún sitio” son los registros.
Read More2026-05-07Cuando entré en la industria tecnológica, en la segunda mitad de los años 2010, los lenguajes de alto nivel ya eran el estándar. Cuando estudié Ingeniería Informática, incluso los sistemas embebidos se escribían en C++, y eso era considerado el nivel más bajo. En el mundo del software y los videojuegos, la abstracción iba todavía más lejos. Java dominaba la industria, y Unity estaba en pleno proceso de democratizar el desarrollo de juegos hasta el punto en que cualquier persona con un fin de semana libre podía publicar algo jugable.
Read More2026-01-05Probablemente has pasado junto a un edificio brutalista sin saber el nombre del estilo. Son esas construcciones de hormigón visto, sin enlucir, donde se aprecian las marcas de los moldes utilizados en el colado. La estructura expuesta. Las tuberías a la vista. Durante mucho tiempo, los ordenadores fueron así.
En los 80, cuando encendías un microordenador (MSX, Apple II, o mi favorito personal, el TK90x/ZX Spectrum), no había escritorio. No había iconos de carpetas simulando una oficina. No había metáfora alguna. Lo que aparecía era un cursor parpadeante, esperando. La máquina te miraba y preguntaba: “¿Cuál es el plan para hoy, jefe?”
Read More