cc65, un compilador de C para el C64

Programación retro del Commodore 64

  • Programación retro del Commodore 64
  • “Programación Retro del Commodore 64” es un blog sobre el hardware, el sistema operativo, y la programación del Commodore 64. Y más específicamente sobre programación en ensamblador. Pretende ser un blog con información de calidad, y referencia en español de la programación retro de esta maravillosa máquina.
    • Mi blog
« Publicado el: 12/08/2022 »

Hace ya meses que hablamos de 8bitworshop.com, una página web en la que se puede programar online, tanto en ensamblador como en C, para el C64 y otros ordenadores de 8 bits. Ya entonces me entró el gusanito de probar la programación en C para el C64. La programación en C para C64 de 8bitworkshop.com está basada en cc65.

cc65 es un compilador de C para C64 y otros ordenadores basados en el micro 6502. No es el único compilador de C para el C64, pero cc65 tiene la ventaja de ser “cross platform”, es decir, que tú programas y compilas en una máquina moderna, por ejemplo, un PC con Windows o Linux, y luego ejecutas el programa en un C64 o un emulador. De este modo te beneficias de las ventajas y la comodidad de usar un ordenador moderno, a la vez que programas para tu máquina favorita.

La página principal de cc65 es https://cc65.github.io/. En esta página se define cc65 así:

Es decir, cc65 es un completo paquete de desarrollo cruzado para sistemas 6502 que incluye un potente macro ensamblador, un compilador de C, un enlazador y varias otras herramientas. cc65 tiene un “entorno de ejecución para C” y soporta muchas máquinas basadas en el 6502, incluyendo el C64, otras máquinas de Commodore (VIC20, C16, C128, …), y muchas otras que no vienen al caso.

Al final de la página aparecen los siguientes enlaces:

siendo los más interesantes estos dos:

Más adelante revisaremos una selección de la documentación. De momento, llegue con pinchar “Windows Snapshot” y descargar un ZIP de unos 11 MB con cc65:

Como muchas otras herramientas del C64 para Windows, cc65 no requiere especial instalación. Llega con extraer el contenido del ZIP a una carpeta que se puede llamar “cc65” o como más se desee.

Que yo sepa, no hay una interfaz de usuario gráfica para cc65. Se utiliza mediante línea de comandos, es decir, mediante una ventana MS-DOS en el caso de Windows:

Como se puede ver, cc65 consta de varias carpetas: asminc, bin, cfg, html, include, lib, samples y target. En “bin” están los ejecutables del ensamblador, el compilador, el enlazador, etc.; en “html” está la documentación en formato HTML; en “samples” hay algunos ejemplos de programación en C; etc.

El fichero “variables.bat” no es parte de cc65. Es un fichero *.bat que puede resultar útil para definir variables de entorno de Windows ya que, como digo, cc65 se ejecuta desde línea de comandos:

En la siguiente entrada revisaremos un ejemplo de programa en C hecho con cc65 para el C64.