¿Alguna vez te preguntaste cómo funciona una consola de videojuegos por dentro? En este libro vas a descubrirlo de la mejor manera posible: construyendo una.
Vamos a escribir un emulador de NES (Nintendo Entertainment System) desde cero, en Crystal, sin usar librerías de emulación ni código de terceros. Arrancamos con un procesador que no sabe hacer nada y terminamos jugando Super Mario Bros.
El camino pasa por implementar las 151 instrucciones del CPU 6502, parsear cartuchos reales, dibujar gráficos píxel a píxel con la PPU, conectar controles, y generar audio con el APU. Todo explicado paso a paso, con código primero y teoría después.
No es un libro de referencia ni una guía académica. Es un proyecto práctico escrito en un tono informal, pensado para programadores que aprenden haciendo. No necesitás saber nada de emulación ni de hardware retro para empezar, solo tener experiencia programando en algún lenguaje.
Lo que vas a aprender:
- Cómo funciona un procesador real: registros, flags, modos de direccionamiento, interrupciones
- Cómo una consola de los 80 dibuja gráficos con solo 2KB de RAM y 20.000 transistores
- Cómo se conectan CPU, PPU, APU y cartuchos a través de un bus de memoria
- Cómo parsear archivos binarios reales (formato iNES)
- Cómo generar audio en tiempo real con ondas cuadradas, triangulares y ruido
- Por qué el hardware está diseñado como está, no solo cómo funciona
Al final del libro vas a tener un emulador que corre Super Mario Bros, The Legend of Zelda, Contra, y decenas de clásicos. Pero más importante: vas a entender cómo funcionan por dentro.
No hay magia. Solo paciencia y ganas de entender cómo funcionan las cosas.