Cómo programar en Screen 4?

Door FX

Champion (264)

afbeelding van FX

08-02-2017, 00:01

Hola:
Mi consulta es la siguiente:
Si el Screen 4, es cómo he leído en muchos sitios, un Screen 2 con sprites multicolor...
cómo es posible que haya cosas como el Psycho World que mueva ese scroll al pixel en vez de tener que realizarlo en 8 pixels?
Se trata de algún "truco" que se me escapa? (He notado un ligero "flickeo" al acabar la pantalla de juego y comenzar el marcador)
Puede ser una detección de la linea pintada, y un cambio de modo de pantalla? (aunque esto no explicaría el porque puede hacer el scroll horizontal tan preciso...)
Muchas gracias por adelantado por los datos. Espero que alguien tenga la "solución".
Me ha flipado ese scroll!
Un saludo
FX

Aangemeld of registreer om reacties te plaatsen

Van Guillian

Prophet (3235)

afbeelding van Guillian

08-02-2017, 09:19

El truco está en usar los registros del "set adjust" para poder realizar el scroll suave. Tras mover 8 pixeles suavemente, se actualizan los patrones en pantalla a su nueva posición y así no se ve el desplazamiento brusco de 8 pixeles.
Los bordes están tapados con sprites para evitar que se vea el truco.

Van Panzer

Paragon (1041)

afbeelding van Panzer

08-02-2017, 10:40

No hay nada que ni sepas, Guillian.
Voy a probarlo. Pinta bastante bien.
Un saludo...

Van theNestruo

Expert (112)

afbeelding van theNestruo

08-02-2017, 13:40

No sólo ganas los sprites multicolor sobre SCREEN 2... ganas también paleta configurable, las 212 líneas (con su cuarto banco de patrones), volcados a VRAM sin límite de velocidad, comandos de copia de VRAM a VRAM (creo), el set adjust que comenta Guillian... ¡A mí SCREEN 4 me parece el modo de pantalla más interesante de los MSX-2!

Van Victor

Champion (470)

afbeelding van Victor

08-02-2017, 18:22

FX wrote:

Hola:
Mi consulta es la siguiente:
Si el Screen 4, es cómo he leído en muchos sitios, un Screen 2 con sprites multicolor...
cómo es posible que haya cosas como el Psycho World que mueva ese scroll al pixel en vez de tener que realizarlo en 8 pixels?
Se trata de algún "truco" que se me escapa? (He notado un ligero "flickeo" al acabar la pantalla de juego y comenzar el marcador)

Lo que te ha dicho Pazos. Y además jugar con la línea de interrupción. Al llegar a la línea de interrupción, el Pyscho World, cambia a screen 5 y detiene el scroll (pone el SET ADJUST a 0). El flickeo que notas es debido a que la interrupción no ocurre en el momento adecuado... O sea, es aconsejable que las interrupciones estén desactivadas el menor tiempo posible después de un VBLANK.

FX wrote:

Puede ser una detección de la linea pintada, y un cambio de modo de pantalla? (aunque esto no explicaría el porque puede hacer el scroll horizontal tan preciso...)

El scroll tan preciso es porque tiene bien calculados los tiempos. Además utiliza su propio salto a las interrupciones (RST 38h), con lo que le ganas más velocidad.

NO puedes utilizar comandos del VDP, excepto con el VDP9958 que mediante la activación del bit 6 del registro 25. Otra cosa es, que cambies en algún momento determiando a, por ejemplo, screen 5 (en una linea de interrupción o en el VBLANK) y aproveches ese momento para utilizar comandos del VDP...

Lo bueno que tiene el screen 4, aparte de los sprites, es que dispones de mogollón de VRAM para tener un montón de tablas de caracteres, o de tablas de patrones de sprites..., o de lo que quieras...

Van yodh

Champion (415)

afbeelding van yodh

12-02-2017, 21:07

¡El screen 4 con todos esos trucos es super interesante! Cool

A mí me pasaba hace algún tiempo que veía un juego y asumía (daba por sentado) que estaba hecho en screen 5,8 (tal vez los más ´evidentes´ por el colorido y demás de ver), pero ahora tengo mucha curiosidad por ver en qué modo de pantalla están programados. Por ejemplo observo en el BLUE-MSX cómo en un juego (si es que tiene una demo al principio) cómo va cambiando de screen 8 (ya que hay una secuencia de gráficos) a screen 5 ó 4 ya que empieza el juego (o cualquier otra combinación).
Esa información a mí me gusta saberla ya que a veces NO te esperas que tal o cual juego ¡esté hecho en el screen 4!
No sé exactamente el motivo por el que los programadores dejaron un poco de lado ese modo de pantalla. Como comentabas FX, muchos usuarios asumíamos que el screen 4 no era mucho más de lo que has escrito al principio de tu post. Personalmente siempre pensé que la utilidad más importante (la razón primera de ser de ese modo de pantalla) era pasar los juegos de la primera generación hechos en screen2 y en basic a ese otro modo para así hacerlos algo más rápidos. Pero ahora descubro que es todo un mundo que explorar Cool (´programatíbamente´ Smile hablando).