Aprendiendo a manejar el chip de video V9958

Avatar de Usuario
pser1
Mensajes: 2823
Registrado: 08 Dic 2012 18:34
Agradecido : 608 veces
Agradecimiento recibido: 741 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor pser1 » 22 May 2020 09:02

Último mensaje de la página anterior:

buenos días,
tras corregir el error de tecleo que 'no movía' pixels verticalmente, o sea movía una línea en lugar de un rectángulo ... -507
Sigue sin funcionar, pero debo decir que ahora no hace *NADA*, quiero decir que no afecta ni un solo byte de pantalla,
*NO SE MUEVE NADA" -banghead
saludos
pere

Avatar de Usuario
pser1
Mensajes: 2823
Registrado: 08 Dic 2012 18:34
Agradecido : 608 veces
Agradecimiento recibido: 741 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor pser1 » 22 May 2020 10:32

He estado probando cambiando el número de pixels de desplazamieto a la izquierda, usando valores 1,2,4,8
pero con ninguno de ellos he conseguido el menor movimiento -banghead
Es como si no recibiera el comando HMMM o bien se niega a ejecutarlo aunque ambas opciones me parecen extrañas, dudosas
Trataré de ver como crear hasta 31 patrones nuevos para la linea con texto que se desplaza y los guardaré en memoria.
Después, tras cada desplazamiento a la izquierda, actualizaré dichos patrones en la VRAM.
Para ver su efecto en la pantalla del MC6847 utilizaré la memoria de $500-$5ff (256 bytes > 31 chars x 8 bytes)
No veré la realidad, pero si movimiento, cambios. Esto es pensar en voz alta, por supuesto ...
Agradeceré cualquier idea para poder utilizar el comando HMMM o bien alternativas a la que acabo de explicar -nb
saludos
pere

Avatar de Usuario
pser1
Mensajes: 2823
Registrado: 08 Dic 2012 18:34
Agradecido : 608 veces
Agradecimiento recibido: 741 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor pser1 » 22 May 2020 12:33

@jltursan
Antes de embarcarme en el cambio de procedimiento para mover el texto hacia la izquierda, quería preguntarte si recuerdas
algún juego que emplee 'Scrolling Text' a lo largo del juego.
Ahora mismo solo recuerdo alguno en el menú de entrada. Yo mismo lo añadí a varios juegos en la pantalla en la que eliges
teclado o joystick.
Si no se emplea nunca en el juego, cosa que me parece mas que razonable, entonces no haría falta guardarse los 31 patrones
que son sobre escritos por la tira de texto desplazándose.
En caso de utilizarlos a lo largo del juego, entiendo que sería una barra fuera del área de juego con mensajes fijos, por lo que
no deberían quedar afectados al cambiar de pantalla (?)
La única manera de 'parar' un scrolling text es usando el comando TICKER 0 en el fichero AGD ...
¿Alguna idea?
muchas gracias
pere

jltursan
Mensajes: 2837
Registrado: 20 Sep 2011 13:59
Agradecido : 217 veces
Agradecimiento recibido: 637 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor jltursan » 22 May 2020 16:31

No recuerdo juegos con el TICKER, excepto el juego de ejemplo, que tenía un poco de todo,; la verdad es que no se ha empleado mucho. Como dices, en el menú siempre, no dentro del juego. En el AGD MSX añadí una demo (que no está acabada al 100%) que permite mostrar un uso algo diferente, con un scroll de 1px dentro del juego; pero eso ya es cosa mía.

Como te contaba, aunque con el V9958 cuentas con el command engine (habilitándolo con R#25 como has hecho), el HMMM te va a ser imposible emplearlo ya que no funciona en GM3 a nivel de pixel, sino de bytes y por lo tanto el resultado sería más bien raro. No puedes hacer un scroll horizontal con el VDP...o por lo menos no imagino como.
Lo que si que puedes hacer es transferir la VRAM a RAM, rotar los bytes y llevar de vuelta la RAM a la VRAM, en parte asistido por el VDP en el caso de las copias.

Avatar de Usuario
pser1
Mensajes: 2823
Registrado: 08 Dic 2012 18:34
Agradecido : 608 veces
Agradecimiento recibido: 741 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor pser1 » 22 May 2020 16:37

jltursan escribió:No recuerdo juegos con el TICKER, excepto el juego de ejemplo, que tenía un poco de todo,; la verdad es que no se ha empleado mucho. Como dices, en el menú siempre, no dentro del juego. En el AGD MSX añadí una demo (que no está acabada al 100%) que permite mostrar un uso algo diferente, con un scroll de 1px dentro del juego; pero eso ya es cosa mía.
Como te contaba, aunque con el V9958 cuentas con el command engine (habilitándolo con R#25 como has hecho), el HMMM te va a ser imposible emplearlo ya que no funciona en GM3 a nivel de pixel, sino de bytes y por lo tanto el resultado sería más bien raro. No puedes hacer un scroll horizontal con el VDP...o por lo menos no imagino como.
Lo que si que puedes hacer es transferir la VRAM a RAM, rotar los bytes y llevar de vuelta la RAM a la VRAM, en parte asistido por el VDP en el caso de las copias.

Estoy de acuerdo y convencido por la mala experiencia de que el comando HMMM no es aplicable, lástima -banghead
No obstante lo haré por programa. Voy a dedicar la parte de RAM desde $400 en adelante según haga falta (número de caracteres a desplazar)
y los tendré ya de entrada en RAM donde les aplicaré shift a cada llamada, copiándolos cada vez de tirón a la VRAM así me ahorro el doble paso
de copiar de VRAM a RAM para devolverle datos ya movidos ...
Ya te iré contando ... siempre es bueno tener alternativas en la recámara -507
muchas gracias -thumbup
saludos
pere

Avatar de Usuario
pser1
Mensajes: 2823
Registrado: 08 Dic 2012 18:34
Agradecido : 608 veces
Agradecimiento recibido: 741 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor pser1 » 22 May 2020 20:00

bueno, al fin funciona correctamente -drinks
Lo he añadido al Foggys Quest, substituyendo las dos ultima líneas de créditos por una única que se va desplazando a la izquierda
Una cosa medio preocupante ... ¿Qué pasa si el programador quiere utilizar doble altura?
¿Lo tienes previsto o no vale la pena?
Estaba pensando en hacer que IScrly pase al modo de texto simple de entrada ... así me evito el problema.
Doble altura implicaría un máximo de 32 caracteres a dos patrones = 64 ... son unos cuantos y el proceso debería ser modificado
¿Vale la pena?
un saludo
pere

Avatar de Usuario
pser1
Mensajes: 2823
Registrado: 08 Dic 2012 18:34
Agradecido : 608 veces
Agradecimiento recibido: 741 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor pser1 » 22 May 2020 23:00

una vez arremangado para modificar el motor para que admita texto de doble altura en la función de 'scrolling text'
ha resultado bastante mas simple de lo que suponía ...
Adjunto un vídeo de ejemplo
https://youtu.be/QJRS8vE6Nsc
saludos
pere

jltursan
Mensajes: 2837
Registrado: 20 Sep 2011 13:59
Agradecido : 217 veces
Agradecimiento recibido: 637 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor jltursan » 23 May 2020 10:22

¡Hey, mola!, es una nueva "feature", el AGD realmente no soporta el TICKER de carácteres de doble altura; pero es bastante vistoso -drinks

Ahora, yo le echaría un ojo al "Diamond Geezer", es perfecto para pulir cosas e incluye partículas ,que es probablemente la parte más puñetera.

Avatar de Usuario
pser1
Mensajes: 2823
Registrado: 08 Dic 2012 18:34
Agradecido : 608 veces
Agradecimiento recibido: 741 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor pser1 » 23 May 2020 11:31

Creo que ahora me conviene mas meterme con el compilador en C hasta que consiga que me genere el fichero ensamblador
que yo he ido modificando para crear la versión final de Foggy's Quest
Cuando lo tenga podré probar todos los ficheros TSTxxx.AGD que utilizamos con Kees van Oss y además los que tu has
incluido en tu conversión para MSX.
En su momento pedí en el grupo Spectrum AGDX si alguien tenia una programa para probar todo el tema del shrapnel
y Alan Turvey creó un juego a medida: "Meteormania" en el que utilizaba todas las subfunciones relacionadas con shrapnel (o casi todas).
A ver si lo encuentro -thumbup
saludos
pere

Avatar de Usuario
pser1
Mensajes: 2823
Registrado: 08 Dic 2012 18:34
Agradecido : 608 veces
Agradecimiento recibido: 741 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor pser1 » 23 May 2020 11:35

jltursan escribió:¡Hey, mola!, es una nueva "feature", el AGD realmente no soporta el TICKER de carácteres de doble altura; pero es bastante vistoso -drinks
No estoy tan seguro ... nadie te prohibe poner el printMode (prtMod) a 1 antes de llamar al TICKER con lo que en teoría los caracteres se
deberían mostrar a doble altura, ésta es la razón que me ha 'ayudado' a modificar la función para soportar la doble altura ...
Ahora, yo le echaría un ojo al "Diamond Geezer", es perfecto para pulir cosas e incluye partículas ,que es probablemente la parte más puñetera.
Tomo nota, lo pongo en cola para cuando tenga el compilador de C preparado para V9958
muchas gracias!
saludos
pere

jltursan
Mensajes: 2837
Registrado: 20 Sep 2011 13:59
Agradecido : 217 veces
Agradecimiento recibido: 637 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor jltursan » 23 May 2020 12:16

No estoy tan seguro ... nadie te prohibe poner el printMode (prtMod) a 1 antes de llamar al TICKER con lo que en teoría los caracteres se
deberían mostrar a doble altura, ésta es la razón que me ha 'ayudado' a modificar la función para soportar la doble altura ...

No al menos en la versión 0.73, que es en la que yo me basé. El área de la que se hace scroll es de únicamente 8 líneas de alto y la impresión de caracteres está desligada de las rutinas estandar, se vuelcan los 8 bytes de la font y ya. Realmente has ampliado la funcionalidad :-)

Ese "Meteormania" suena estupendo, podría ser una muy buena prueba de fuego para la versión MSX; si lo encuentras, házmelo llegar... ;-)
No tengo demasiada confianza de todas formas, era la parte más pesada de todo el engine y demasiadas partículas pueden ser demasiada chicha que digerir.

Avatar de Usuario
pser1
Mensajes: 2823
Registrado: 08 Dic 2012 18:34
Agradecido : 608 veces
Agradecimiento recibido: 741 veces

Re: Aprendiendo a manejar el chip de video V9958

Mensajepor pser1 » 23 May 2020 17:47

@jltursan
no me había fijado en este detalle sutil de que solo me pasan los 8 pixels de altura de un carácter estándar ...
Bueno, ya está implementado y no voy a quitarlo -507
Adjunto zip con Meteormania en formatos .sna, .agd para Spectrum y .agd para Dragon ... espero que te sirva!
saludos
pere
Z_Meteormania.zip
(9.4 KiB) Descargado 1 vez


Volver a “Software MSX”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado