Costes ocultos en arrays de estructuras en C

Este artículo es el número 2 de 2 de la serie Programación Avanzada en C

Continuamos nuestra serie abordando los costes ocultos al usar arrays de estructuras en C en Amstrad CPC. Las posiciones en memoria son relativas al inicio de los arrays, y el compilador produce código para calcular dónde está cada elemento. Las estructuras funcionan similar: cada miembro está a una distancia en bytes del inicio de la estructura. Trabajamos sobre un ejemplo en CPCtelera que vamos optimizando progresivamente. Primero entendemos cómo son estos cálculos y el código que el compilador genera para realizarlos. Vemos las limitadas posibilidades que tiene el compilador para optimizar, debido a los pocos registros del procesador Z80. Finalmente, le vamos facilitando la vida, simplificando los cálculos y ganando bytes y tiempo de CPU con sencillos cambios en el código.

Leer más

¿Variables locales o globales? Analizando su impacto

Este artículo es el número 1 de 2 de la serie Programación Avanzada en C

Explicamos el impacto de las variables locales y globales en nuestros programas en C para Amstrad CPC. Vemos cómo el compilador de C incluído en CPCtelera convierte nuestro código a ensamblador. Utilizamos un sencillo ejemplo que dibuja una matriz en pantalla usando printf. Primero vemos las diferencias de espacio en memoria. Después analizamos a qué se deben. Por último, observamos cómo estas diferencias se plasman en el binario que nuestro Amstrad cargará en memoria para ejecutar.

Leer más

Taller de CPCtelera: empezando a programar juegos en Amstrad CPC

Logo CPCteleraAquí os dejamos el vídeo del 1er taller de programación con CPCtelera. Es un taller introductorio sobre programación de videojuegos en Amstrad CPC en C con el motor CPCtelera. Se explican algunos detalles básicos sobre cómo funciona el CPC y se enseña a convertir gráficos, dibujarlos en pantalla, controlar a un personaje con teclas y programar en C. Una buena forma de iniciarse para empezar a crear nuestros propios juegos en Amstrad CPC.

Leer más

Bluetooth en Amstrad CPC: cargando un juego desde PC

Cargando Platform Climber en CPC 464 por BluetoothLas nuevas expansiones para nuestros Amstrad CPC nos dan muchas posibilidades. En este artículo hablamos de CPC Minibooster, un hardware para comunicar el CPC con otros equipos por puerto serie, USB o bluetooth. En el ejemplo cargamos un juego en el CPC, desde un fichero .sna (imagen snapshot) alojado en el PC. Os contamos todo lo necesario y las utilidades de esta expansión. También incluimos un vídeo con el resultado, mostrando como se copia el fichero .sna al CPC.

Sin lugar a dudas, se trata de una herramienta muy potente que abre un mundo de posibilidades. Se puede utilizar el PC como pasarela a Internet para que el Amstrad pueda acceder a servidores remotos o para darle acceso a un videojuego de 50 MB de tamaño como si fuera un disco duro o una memoria virtual. ¿Qué será lo próximo que veamos en Amstrad gracias a estas expansiones? ¿Os imagináis un «World of Warcraft» para CPC? Todo es posible :).

Leer más

Fremos creará nuevas secuelas de Harry Potter sólo para 8 bits

Harry Potter and the fate of Atlantis para Amstrad CPC
Harry Potter and the fate of Atlantis para Amstrad CPC

Los miembros de Fremos estamos encantados de anunciaros que ya estamos empezando a programar la primera de 3 nuevas secuelas de Harry Potter para Amstrad CPC. Tenemos un acuerdo con JK Rowling para desarrollar las 3 secuelas durante 2015 para plataformas de 8 bits, y así poder llevar el mundo mágico de Harry Potter a nuestras queridas máquinas.

Leer más