A lo largo de las últimas 40 entradas le hemos dado un buen repaso a un aspecto tan interesante como poco conocido: la programación en C para el C64.
Tradicionalmente el C64 se ha programado en BASIC o en código máquina / ensamblador, pero no en C u otros lenguajes. Sin embargo, programar en C para el C64 es posible desde hace años gracias a cc65, un entorno de programación C para ordenadores con el microprocesador 6502 / 6510, como nuestro querido C64.
Más concretamente, hemos visto aspectos generales de cc65, como cómo compilar y enlazar, cómo es el entorno de ejecución, cómo usar librerías específicas para hacer entrada / salida por pantalla, manejar el joystick o el ratón, hacer gráficos bitmap, etc.
También le hemos dado un buen repaso al lenguaje C, si bien esta es una tarea que se merece un blog o un libro en sí mismo.
Para rematar, en poco más de 10 pasos hemos desarrollado un juego clásico en C, como es el Tetris. Sin duda, la implementación es mejorable (ej. se pueden usar caracteres personalizados, se le puede meter sonido, reducir el parpadeo, etc.), pero nos da una buena idea de lo mucho que se puede hacer en C para el C64.
C está a medio camino entre el ensamblador / código máquina y el BASIC. Por un lado, es de alto nivel, como el BASIC, pero admite mucha más estructura. Por otro lado, es compilado, no interpretado, lo que significa que en última instancia lo que se genera y ejecuta es código máquina, que es mucho más rápido que BASIC. Y con C es muy fácil acceder a memoria y a registros como los del VIC o el SID. En definitiva, lo mejor de ambos mundos, a mi entender.
En el fondo, si os fijáis bien, casi se puede leer el código máquina entre las líneas de C…
Espero que lo hayáis disfrutado tanto como yo y que sirva para inspirar vuestros propios proyectos,
HVSW.