Karoshi MSX Community
05 de Julio de 2021, 07:42:21 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]
  Imprimir  
Autor Tema: Quemando la VRAM  (Leído 3185 veces)
0 Usuarios y 1 Visitante están viendo este tema.
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« : 22 de Mayo de 2006, 01:30:38 am »

Mientras volaba de Menorca a Barcelona (en avión, se entiende) he especulado un poco sobre qué cosas me gustaría que mi MSX hiciera. Y debido a la presurización artificial, la cosa no pintaba nada bien. El caso es que me he entretenido con mis historias cafres de abuso de los accesos a VRAM y he diseñado maldades.

Nada más lelgar al piso, he conseguido copiar 3,5 KB por frame en mi MSX1 a 50 Hz. Esto supone que se pueden pasar por frame al MSX nada más y nada menos que 256x144 pixels en monocromo. Por supuesto, el MSX NO PUEDE HACER NADA MÁS. Por lo tanto, si usamos un frame para proceso y otro para volcado a pantalla, conseguiríamos la friolera de un juego moviendo 256x144 (un 75% de la pantalla) a 25 frames por segundo. Creo que algo más que suficiente para cualquier juego decente...

Con estos datos presentes, ahora entiendo por fin cómo conseguía el WEC LEMANS funcionar tan fino. Aunque, en realidad, me parece que el WEC funciona a 50/3=17 frames por segundo (más o menos).

Para no ponernos tontos, he hecho las pruebas a 60 Hz, y sólo consigo 3 KB por frame, es decir, 256x128 pixels. Aun así, me parece interesante. Supondrá esto la vuelta de los juegos monocromos? Por mi parte, encantado si se mueven rápido!
En línea
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #1 : 22 de Mayo de 2006, 07:17:56 am »

Eso de juegos monocromos .. y perdona mi ignorancia :-)
Te refieres a que no usa la Color Table? o a que exactamente?

En línea

MSX4EVER2GETHER
www.nerlaska.com
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #2 : 22 de Mayo de 2006, 08:35:42 am »

3KB por frame?HuhShocked.

Una explicación más detallada, please!  :god:
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 #3 : 22 de Mayo de 2006, 12:40:37 pm »

Secreto sumarial... No, pereza de explicarlo tal cual.

Básicamente, los truquitos son los siguientes:

- Desactivar la BIOS en la página 0 y establecer en el punto de entrada del vector de interrupcion un simple RET
- Pasarle una ristra de 3,5x1024 OUTIs del tirón (sí, son 7 KB de código Wink )
- Hacer la copia hacia la parte inferior de la pantalla: con ello, aunque haya acabado el V-blank, podemos escribir a la VRAM porque el cañón CRT está atrasado aún respecto a la parte de imagen que estamos enviando a VRAM.

Tal cual. El problema es que no me queda CPU más que para actualizar sonido (Caruso) en ese mismo frame. Todo el proceso se tiene que hacer en otro frame. Pero si se consigue así un refresco de 25 Hz, creo que se pueden hacer cosas muy majas.

Por cierto, que me puse ayer con el WEC LEMANS y sigo sin entender cómo pudieron programar ese pedazo de juego en un pobre MSX y que se moviera así de bien. Qué pasada! El movimiento es muy suave, y las rutinas de renderización de carretera y obstáculos una auténtica maravilla desde el punto de vista técnico. No creo que llegue tan alto!
En línea
xenon
Karoshi Hero
*****
Mensajes: 749



WWW Email
« Respuesta #4 : 22 de Mayo de 2006, 05:46:45 pm »

Realmente, la adaptación de WEC LE MANS fue fabulosa y un ejemplo de un port Spectrum - MSX hecho bien y con ganas.
En línea

MSX now!
Páginas: [1]
  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!