Karoshi MSX Community
05 de Julio de 2021, 07:06:20 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: 1 [2] 3 4 ... 6
  Imprimir  
Autor Tema: ¿1536 bytes a VRAM en un frame?  (Leído 32421 veces)
0 Usuarios y 1 Visitante están viendo este tema.
SapphiRe
Visitante
« Respuesta #15 : 06 de Junio de 2006, 03:47:53 pm »

Quita, quita, ni se te ocurra, piensa que la media de retardo viene a ser de 18T y (si me lo confirman en MRC) resulta que el OUT también podría contarse; así que las espaldas estarían cubiertas. Grin
Y todo ello suponiendo que no envies mucho más de 900 bytes, si te apañas con eso, casi seguro que lo puedes hacer a toda caña sin preocuparte por nada. Yo también me he puesto a hacerme algunos programillas para ver si hay un fundamento "práctico" en todo esto o como siempre del dicho al hecho hay mucho trecho.

Ummm... entonces bien.

¿Más de 900 bytes? ¡Ni loco! El scroll pixel a pixel que viste sólo necesita 240, 256 o 480 bytes (según el modo de juego) y el que no has visto (pero tienes que ver, creo que merece la pena el efecto visual) sólo transfiere 440 bytes por frame.

Graaaasiaaa!
--
F.

P.D. A ver si hacemos otra quedada entre los de Madrid y nos vamos a algún otro restaurante chulo o repetimos en el "Bar La Peña". Adoc, ¿te apuntas?
En línea
WYZ
Visitante
« Respuesta #16 : 06 de Junio de 2006, 04:05:04 pm »

Bien, parece que se van aclarando las cosas  Roll Eyes el caso es que, Jon aun no nos ha dado a conocer sus resultados.

..Saludos desde Palma de Mallorca, tierra de MSXeros Grin
En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #17 : 06 de Junio de 2006, 04:44:02 pm »

Citar
El scroll pixel a pixel que viste sólo necesita 240, 256 o 480 bytes

¡Que lujazo!; pues entonces puedes plantearte incluso el hacer una versión deluxe-ultra-rápida en la que no haya esperas entre OUTs o incluso usar OTIR Grin; siempre y cuando la hagas nada más empezar el Vblank, claro.

Citar
..Saludos desde Palma de Mallorca, tierra de MSXeros

[ENVIDIA]¡Anda!, ¿y que haces tú por allí pillastre? Cheesy[/ENVIDIA]
En línea

Doom dee doom dee doom
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #18 : 06 de Junio de 2006, 04:52:30 pm »

WYZ: El Jon anda a media asta con mugollón de curro -y no me refiero al curro MSXero...-. Ya lo sabes tu bien, que me queda poquito poquito para mandar a betatestear a los computeremuzoneros la bestia de na-th-an adaptada a nuestra querida norma japonesa... puff, y el MSXdev por medio, dios, quiero dias de 48 horaas!. Por cierto, un lujazo leerte por aquí WYZ, ya sabes que esta es tu casa - o tu bar, lo que prefieras Wink -

jltursan: El scroll pixel a pixel horizontal y a todo color de Malaika será casi casi fullscreen y transferirá 576 bytes Wink (ahora bien, necesitará todo un frame para generar el frame siguiente, con que el scroll correrá a 25 fps -> lo cual es muy asumible y el resultado es bastante acongojante) Wink

En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
SapphiRe
Visitante
« Respuesta #19 : 06 de Junio de 2006, 05:03:32 pm »

jltursan: El scroll pixel a pixel horizontal y a todo color de Malaika será casi casi fullscreen y transferirá 576 bytes Wink (ahora bien, necesitará todo un frame para generar el frame siguiente, con que el scroll correrá a 25 fps -> lo cual es muy asumible y el resultado es bastante acongojante) Wink

Un scroll con esas características a 25fps está más que genial. De todas formas, ¿has probado a intercalar la transferencia de un byte a VRAM con el cálculo del byte del siguiente frame? Piénsatelo.

Y recuerda que en algún momento tendremos que hacer entre ambos un how-to sobre scrolls pixel a pixel en MSX1 Cheesy
En línea
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #20 : 06 de Junio de 2006, 05:08:31 pm »

De todas formas, ¿has probado a intercalar la transferencia de un byte a VRAM con el cálculo del byte del siguiente frame? Piénsatelo.
Nah, demasiado cañero para mi cerebro dañado por el alcohol. Además ya tengo la estructura de trabajo por cada frame muy bien definida y no voy a cambiar el diseño del programa. De todas formas es una idea ingeniosa (a la par que malévola) Grin

Y recuerda que en algún momento tendremos que hacer entre ambos un how-to sobre scrolls pixel a pixel en MSX1 Cheesy
Sure! Wink

En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
SapphiRe
Visitante
« Respuesta #21 : 06 de Junio de 2006, 05:13:43 pm »

Y recuerda que en algún momento tendremos que hacer entre ambos un how-to sobre scrolls pixel a pixel en MSX1 Cheesy
Sure! Wink

Y los tenemos de todos los gustos y colores: horizontales, verticales, parallax, con transparencias... Grin Grin Grin
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #22 : 06 de Junio de 2006, 08:19:39 pm »

Pues me gustaría que probarais la siguiente ROM: entrelazado 512x88.

Se trata de una prueba un poco chunga en la que intercalo dos imágenes de 256x88 originadas desde una imagen original de 512x88. Al utilizar el refresco, pues se consigue que todo parpadee muchísimo, pero la imagen gana en calidad, ciertamente, frente a cualquiera de las versiones de 256x88.

Lo llamativo del programa no es la idea de entrelazado, que es bastante antigua. De hecho, las imágenes de 107 colores de Daniel Vik o el modo de texto en dobles columnas de jltursan, son ejemplos de lo mismo. Lo curioso aquí es la transferencia a RAM: estoy pasándole al bueno del MSX 2816 bytes a VRAM por frame. Es el equivalente a 256x88 píxels de patrones monocromos. No hay trampa ni cartón. Por supuesto, no está al límite: se podrían llegar -calculo- a unos 2900-2950 bytes por frame. No lo he ajustado para 60 Hz, así que sólo debería funcionar en ordenadores MSX a 50 Hz. Eso sí, probadlo y si tenéis pegas, comentádmelo: modelo, casuística.

A 60 Hz, calculo que nos quedaríamos en unos 2304 bytes seguro, es decir, equivalente a 256x72 pixels de patrones monocromos. Incluso en este peor horizonte, estamos hablando de más de 2 KB por frame. Y se puede hacer.

Truquitos a tener en cuenta: sin BIOS, OUTIs a lo burro, pausas adicionales al finalizar v-blank.

Siento que mi primera estimación de 3,5 KB/frame fuera un poco exagerada. Aun así, me he quedado a las puertas de las 3 KB/frame a 50 Hz, lo cual creo que es un buen logro. Estamos hablando de actualizar media pantalla en monocromo por frame. Y si necesitamos otro frame para los cálculos, nos quedarían juegos muy dinámicos funcionando a 25 Hz.

Por cierto, la foto, aunque mala, es de dos amigas de la facultad. Saludillos para Lastor y Zut. Wink
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #23 : 06 de Junio de 2006, 08:24:56 pm »

Ah! Y no hay trampa ni cartón: no desactivo la pantalla en ningún momento y, como imaginaréis, no se trata de optimización de patrones y cambios en la tabla de nombres. Podéis mirar el estado de la VRAM desde el debugger del BlueMSX. Os podéis fiar de Robsy, palabrita.  Grin

Si la cosa no funciona, es que falta incluir retardos. Pero creo que he incluido los suficientes. Mi SANYO MPC-100 se lo come sin problemas.

Y ahora me vuelvo a seguir con mi juego, que ya va tomando forma. Por supuesto, mi juego utiliza la BIOS a rajatabla, sin movidillas friki-VRAMeras.  Grin
En línea
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #24 : 06 de Junio de 2006, 10:30:02 pm »

La leche, no me lo puedo creer... ¿tanto traga la VRAM?. A ver, le metes 2960 bytes a piñon con OUTIs correlativos y después empiezas a rebajar la presión y le metes el recopón de OUTIs, pero esta vez poniendole dos NOPs de descanso entre medias... ¿por que ese cambio?. ¿Es que se llega a una 'zona peligorsa'? Huh, la verdad, no entiendo por que le puedes meter los OUTIs sin más -y los acepta-, y luego despues bajas el pistón..., la imagen está en la zona baja de la pantalla, ¿si estuviera más arriba te cogería el refresco?... Respuestas, respuestas Wink. Por cierto, fantástico socio!. ¿Que tal un pequeño texto a modo de tutorial?. En cuanto pueda lo probaré con mi Sony HB10P.
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #25 : 07 de Junio de 2006, 12:00:03 am »

Pues sí, socio, ésa es la idea.

He establecido la duración del v-blank en ciclos, y le he metido una ristra de OUTIs equivalente a esa duración. A partir de ahí, sigo haciendo OUTIs pero con dos NOPs de retardo entre ellos. Así consigo llegar al total. Lo he puesto en la parte baja de la pantalla porque la idea es poder escribir en VRAM fuera del v-blank, y así, mientras se está dibujando ya la parte alta de la pantalla se puede volcar info aún a VRAM no renderizada (parte baja, en mi caso). Hasta donde sé, 2 NOPs más la duración del propio OUTI son retardo suficiente para que no se pierda nada de lo que se manda a VRAM.

La solución es ideal para juegos, por ejemplo, de carreras: en la mitad superior de la pantalla, marcadores, horizonte con scroll falso, etc, que se actualiza en frame PAR junto con los cálculos de pantalla gráfica; en el frame IMPAR se vuelca la mitad inferior de la pantalla, con precision de pixel. Sirve también para arcades laterales, etc. Mil opciones!
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #26 : 07 de Junio de 2006, 12:04:24 am »

Por no hablar de video a pantalla completa en screen 3 a 50/60 FPS!  Grin
En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #27 : 07 de Junio de 2006, 09:09:24 am »

Pues parece que al final me voy a quedar sin probarlo en mi Sony MSX1; por lo que se ve, se me ha fastidiado por completo la disquetera externa.... Cry.
Lo he probado en un MSX2 y se ve tal que en el BlueMSX, el efecto es muy llamativo y cuanto más miras la imagen más definición gana Smiley.
El chorro inicial de OUTIs parecen más de los que debería poder soportar el VBlank en todos los MSX1; pero bueno, hay que probarlo primero. A ver si algún alma caritativa nos envía algún comentario. Un problema que va a haber al testearlo es que va a ser dificil verificar que haya basura en pantalla debido a la naturaleza de las fotos, habrá que fijarse un poco.
Viendo todo esto se me ha ocurrido una nueva maldad sobre el VDP, voy a probar a ver si se me sale (porque poderse hacer seguro que se puede). Evil
En línea

Doom dee doom dee doom
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #28 : 07 de Junio de 2006, 11:24:59 am »

JL: espero ansioso para saber de qué se trata...

Respecto a la imagen, aunque sea muy pixelada, no dará problemas para verificar si se pierden datos: si se pierde un único byte, quedarían todas las líneas siguientes afectadas. Los datos no se corrompen en el caso de time-out de VRAM, simplemente no se escriben y tampoco se actualiza el puntero a VRAM.

De todos modos, la idea de entrelazado horizontal o vertical monocromo me parece un poco cafre. Lo hice horizontal, y quizás hubiera sido mejor hacerlo vertical. Haré una prueba, para ver si la imagen gana alguna calidad, aunque no lo creo. Y, por supuesto, no probéis la ROM si sois o creeis que podéis ser epilépticos. Consulte con su médico o farmacéutico antes de utilizar esta ROM Cheesy
En línea
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #29 : 07 de Junio de 2006, 02:18:04 pm »

Esta tarde lo probaré en mi sony hb10p, que tiene un vdp un tanto especialito. Si ese lo traga, es que no hay problema Wink
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
Páginas: 1 [2] 3 4 ... 6
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!