lunes, 21 de septiembre de 2015

WIP cpcrslib

En el antiguo foro de Esp Soft de vez en cuando daba avances de la situación en la que se encontraban algunos proyectos en los que estaba trabajando. Me resulta imposible enumerar todos los puntos que he tocado en este tiempo (creo que la última vez que actualicé fue en Febrero) pero sí puedo dar un par de pinceladas sobre lo que ha cambiado en este tiempo en la librería cpcrslib.

Primero, el cambio más importante es el más tonto de todos, he divido la librería de la versión SDCC en archivos, uno por cada función. Esto era así en z88dk, cuando convertí la librería a SDCC me volví un poco loco por cómo se hacía ya que había algunos cambios sustanciales y me tocó improvisar. Ahora con la experciencia y la ayuda de Fran Gallego (autor de cpctelara y algunos tutoriales de programación muy interesantes) la librería pesa menos y es más rápida ya que también aprovechamos que SDCC 3.5.x da soporte a llamadas rápidas a funciones, cosa que ya, por otra parte, ya tenía z88dk.

Segundo, sigo con mi particular piedra en el zapato: El scroll. En la versión publicada se da soporte y un ejemplo de scroll horizontal por software y mapa de tiles pero estoy inmerso en una versión nueva para utilizar doble buffer y mapa de tiles. Esta versión es más rápida pero es más complicada de montar ya que utiliza desde &8000 a &FFFF para guardar las dos pantallas, aunque si la pantalla no es completa se pueden aprovechar algunos kbs dentro del rango de arriba. En mi caso es donde guardo los sprites.

La idea que tenemos en mente es darle uso al motor y hacer algo jugable, pero sin prisa y con muchas pausas. Desgraciadamente el tiempo es limitado, lo mismo que las ideas.

Os dejo un par de ejemplos de scroll sobre el mismo (o muy parecido) mapeado. El primero es con la versión actual de cpcrslib, el segundo es con la versión en la que estamos trabajando.


 


La última versión de las librerías está en Sourceforge:


Y ya sabéis, y si no, ahora sí. Estamos en el foro de Amstrad.es y damos soporte a programación en y para CPC: Basic, ASM, C y lo que se precie.


No hay comentarios:

Publicar un comentario