HispaMSX

RE: [hispamsx] RE: SPRITES

2004-07-29 00:55:48
Vale. Ya te he pillado.

Creo que sé cual es la solución: te está presentado datos que tienes en la memoria de video como sprites. Después de todos los datos de sprites que vuelcas a la tabla de atributos de sprite, prueba a pasarle un byte con el valor 208. Es decir, es como si pusieras un sprite más y lo sitúas en la coordenada vertical 208. Con esto consigues ocultar ese plano y todos los siguientes.

Si es esto, debería funcionar. De nuevo, el problema está en que la memoria no tiene porqué estar inicializada, máxime si estás moviendo cosas y alterando registros de VDP.

Ya me contarás si así funciona o no. Es una medida higiénica que hago servir siempre en mis programas.

Un saludo,

Edu R.

   Hola.

> No acabo de entender eso de que "salen por triplicado". A qué te
refieres
> exactamente? A que son los tres sprites, que deberían ser
distintos,
> iguales? O qué?

   Son sprites que NO he definido, pero que son iguales al undécimo
y duodécimo sprite y que salen debajo de éstos. Es decir, hay cinco
dados, con dos definiciones de 16x16 para cada dado y están
colocados en vertical a la izquierda de la pantalla (éstos salen
bien). Luego hay dos flechas rojas de 16x16 para elejir dados y
puntuación. Si estas dos flechas (sprites 11 y 12) están en las
coordenadas 30,35 y 50,80 respectivamente, me salen otras dos
flechas como el sprite 11 unos 50 y 100 píxeles por debajo de la
primera y lo mismo ocurre con el sprite 12. o.O

> En cualquier caso, se me ocurren dos opciones:
> -Has toqueteado alguno de los registros de VDP que tenían que ver
con los
> sprites (Con el comando WRTVDP esto se hace automáticamente)

   No toco los registros VDP5 ni VDP6, y todos los datos los
transfiero mediante la lenta BIOS, ya que no necesito más velocidad
que la que me da la BIOS para este programa (excepto para la rutina
de la música y unas cosillas). De todos modos, la misma rutina se
ejecuta perfectamente en SCREEN1 y SCREEN2, que es lo curioso.

> -Estás utilizando RAM que está reservada ya a sistema de disco.

   Tampoco.

> -Estás volcando a VRAM más datos de los que puedes pasar por cada
frame.

   Ya me pasó con otro programa hace tiempo y ya me curo en salud.

> Espero que puedas solucionarlo: para el día 11 NECESITAMOS ese
juego de
> dados en MSXdev'04!!! Me he vuelto codicioso de ROMs nuevas...

   Pero qué dices! Este fin de semana como muy tarde! ;)

   Un saludo y gracias por responder.



*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
Web de lista: http://www.hispamsx.org
Enlaces a Yahoo! Grupos


    hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com

    http://es.docs.yahoo.com/info/utos.html



_________________________________________________________________
¿Estás pensando en cambiar de coche? Todas los modelos de serie y extras en MSN Motor. http://motor.msn.es/researchcentre/


<Anterior en la conversación] Conversación actual [Siguiente en la conversación>