Hola,
Antes me he sentado a escribir este mensaje y he escrito otros dos que nada
tenían que ver. Me voy a tener que poner yo también una ampliación de RAM!
Tengo una duda sobre qué algoritmo o procedimiento emplear para conseguir
visualizar en un MSX de la primera generación más de 4 sprites por línea de
barrido.
Sé que el hardware del MSX (TMS9918 y cía) no lo permiten directamente, pero
muchos juegos japoneses lo que hacen es alternar los sprites, dibujando
hasta 4 en un mismo frame y luego los otros 4 en el frame siguiente. Es
decir, los van alternando. Pero si se hace de forma indiscriminada produce
un flickering o parpadeo muy molesto, especialmente porque el MSX europeo
sólo chuta a 50 Hz de refresco (PAL europeo). Ya sé que el MSX2 puede
cambiar, pero no es este el tema.
El registro de estado del VDP recoge la bandera del 5 sprite y el número del
sprite más alto que incumple la regla. ¿Cómo gestionarlo?
Mi idea es que una vez que se ha detectado que un sprite rompe la regla (el
quinto sprite) no se dibuje en el siguiente frame, pero sí en el próximo. El
problema que veo a mi diseño es qué hacer cuando hay más de 5 sprites. Y lo
que es peor: sólo parpadearía el sprite del plano más alto, pero no los
siguientes. ¿Qué hago?
Necesito alguna idea para poder implementarla. Que no os preocupe si tenéis
que poner algo en ensamblador, podré entenderlo. Seguro que los gurús del
MSX tienen alguna idea.
Muchos juegos de Konami emplean esta técnica, y aunque no sea de Konami,
también lo hace y con buenos resultados el excelente Golvellius de Compile
(pedazo de juego, tiene un vicio tremendo).
Nuevamente, gracias y un saludo.
Eduardo Robsy
_________________________________________________________________
Con MSN Hotmail súmese al servicio de correo electrónico más grande del
mundo. http://www.hotmail.com/ES