D_Skywalk escribió:antonio, podemos pintar la mitad de un sprite?
Con tamaños menores a 16x16 no hay problemas. La rutina es adaptativa, si el sprite es de 8x8 ocupará menos en memoria y tardará menos en pintarse. Lo recomendable es que esté centrado en el recuadro de 16x16 si la vista es cenital, o que esté centrado en la parte inferior si la vista es lateral (para que vaya levitando).
D_Skywalk escribió:puedo elegir el tamaño del sprite a pintar?
No, te tienes que ceñir a 16x16 o más pequeño, hasta 1x1 pixel, es cuestión de poner la máscara indicada.
D_Skywalk escribió:Podría pintar parte de un tile?
Tampoco. Los tiles no tienen máscara por lo que siempre deben ser de 16x16. Puedes tener los tiles que quieras hasta 256, y aunque no se compriman puedes indexarlos para que ocupen menos. Indexarlos es usar los mismos 4 atributos para varios sprites, o los mismos bitmaps con distintos colores (por ejemplo una roca blanca y una amarilla), o combinaciones de ambas indexaciones.
D_Skywalk escribió:Estaba pensando hacer un sprite de 16x8

Si hay que tocar ASM no hace falta, sólo pregunto a ver que opciones tenemos

En ese caso no hay problema.
Algo que resulta extraño en este engine es que no puedes pintar cuando quieras. Si tienes que actualizar marcadores tienes que escribir la dirección de la función en los bytes $5c06-$5c07 (variable drwout). Así se pintará en el momento adecuado. No asumas que la memoria de video está en $4000, tienes que añadir shadow<<8 a la dirección antes de escribir, puesto que en los 128K se emplea también la página 7 (localizada en $c000-$daff).
El manejo de tiles es muy flexible, puedes cambiar los tiles de la pantalla actual a tu antojo con el array tiles e indicar el rectángulo de tiles a actualizar con la macro tilepaint. Te recomiendo que te leas el reame.html e intentes comprender la demo de main.c. Si no entiendes algo de la demo, ya sabes, pregunta.