¿Queréis programar en C para Amstrad CPC y no sabéis por dónde empezar? ¿Se os hace pesado investigar el funcionamiento de muchas herramientas? Este es vuestro post; os traemos un video tutorial para aprender a instalar y configurar CPC-dev-tool-chain: el mejor entorno de desarrollo que hay para Amstrad CPC. Este framework está hecho para Linux, pero en este vídeo os explicamos como instalarlo en Windows 7. Con esto os podéis olvidar de los problemas y pasar directamente a lo más divertido: crear vuestros propios videojuegos y programas para nuestros queridos Amstrad CPC.
Desarrollando videojuegos y software en C para Amstrad CPC
En este vídeo, además de ayudaros a instalar y configurar CPC-dev-tool-chain, aprovechamos también para explicaros más detalles de interés:
- Cómo configurar CPCRSLib en CPC-dev-tool-chain para crear videojuegos.
- Cómo crear ficheros DSK y CDT en una sola orden, sin cambiar una línea.
- Cómo ubicar vuestros programas en una zona de la RAM del Amstrad CPC (bonus: explicación básica del mapa de memoria).
- Cómo ver el código ensamblador que genera el compilador a partir de vuestro código C.
Referencias del vídeo
Aquí tenéis todos los enlaces y referencias de las que hablamos en el vídeo, para que podáis buscar más información cómodamente.
- Cygwin: capa de abstracción de terminal de consola UNIX para Windows
- Github: forja de proyectos libres con git como sistema de control de versiones
- CPC-dev-tool-chain: framework de desarrollo en C para Amstrad CPC
- WinAPE: emulador de Amstrad CPC para Windows
- Notepad++: editor libre de código fuente para Windows
- SDCC: Small Devices C Compiler (Compilador de C para dispositivos pequeños, entre ellos, Z80)
- hex2bin: utilidad para convertir ficheros binarios ihx de intel a fichero bin de Amsoft
- iDSK: parte de cpcdsk, grupo de utilidades para manejar ficheros DSK en línea de comando
- CPCRSLib: librería para desarrollar videojuegos para Amstrad CPC, por Raul Simarro
- 2CDT: utilidad de linea de comandos para generar y manejar ficheros CDT
- Cheesetea: grupo scener español
- ByteRealms: marca registrada de desarrollo de videojuegos de la Universidad de Alicante
Muy interesante la verdad,me llama mucho la atención pero,¿Dónde puedo aprender el código para hacer los juegos?
Tengo un problema al hacer el make hello_world_using_sdcc no me sale el problema de del hex2bin sino que sale:
make[1]: *** [..//tool/sdcc/build_config.inc] Error 2
make[1]: Leaving directory ‘/home/hp/cpc-dev-tool-chain/hello_world_using_sdcc’
Makefile:14: recipe for target ‘hello_world_using_sdcc’ failed
make: *** [hello_world_using_sdcc] Error 2
ademas de que no se crea la carpeta Hex2bin-1.0.10
Hola Diego:
¿Sólo te sale eso? Porque eso lo que indica es que ha habido un error en el proceso de compilación, pero el error concreto debería ponerlo en líneas anteriores. Sin saber cuál es el error concreto de compilación que te ha salido es muy difícil saber qué es lo que te sucede exactamente.
He probado en un Windows XP limpio y esta parte me funciona perfectamente. CPCitor ha cambiado el framework recientemente y ya no usa iDSK, por lo que algunas cosas del video ya no hacen falta, pero la parte que comentas sí me funciona.
¿Puedes dar algún dato más?
Un saludo
Tengo el mismo problema que Diego, sin embargo en mi caso falla tras el noveno «make» (make [9]: ). He copiado el código de error a un «pastebin» para ver si alguien podría ayudarme a encontrar la solución.
El «pastebin» en cuestión: http://pastebin.com/PeFmjv0E
Un saludo.
Hola Alexander:
El vídeo ya está un poco obsoleto, debido a que ha pasado más de un año y hay muchas cosas nuevas desde entonces. Os recomiendo que utilicéis CPCtelera (http://lronaldo.github.io/cpctelera) en lugar de cpc-dev-tool-chain. Trae unas instrucciones de instalación parecidas a lo que se ve en el vídeo, pero más sencillo.
Si queréis utilizar cpc-dev-tool-chain, deberíais configurarlo para que descargue SDCC 3.5.0 en lugar de SDCC 3.4.0. De hecho, SDCC 3.5.0 seguramente os compilará sin problemas. Sólo tenéis que editar el fichero «tool/sdcc/Makefile» y poner 3.5.0 en los lugares donde pone 3.3.0. para la descarga de SDCC.
En caso de querer usar SDCC 3.4.0., el problema de compilación que tenéis se puede resolver. Sólo tenéis que poner tenéis que abrir el fichero «tool/sdcc/sdcc-3.4.0/support/sdbinutils/bfd/bfd-in.h» y eliminar «, TRUE» en estas dos líneas:
…
#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
…
#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
…
Quitando ese «, TRUE» os debe compilar sin problemas.
Espero que esto os sea de ayuda :).
Un saludo.