- Una modo mixto SC1 con $40 bytes de tabla de color (creo recordar, porque la use en alguna prueba extraña y funcionó. Ademas pregunté por ello en MRC para cambiar muy rapidamente el color del bitmap a pantalla completa muy rapidamente)
¡Menudo engendro
!, ¿cuantos carácteres entran en un byte de color?, con 64 bytes disponibles, ¿son cada 4 en lugar de cada 8?
- Un modo Bitmap en modo texto, con lo que seguro que tienes dos bancos de formas en $0000 y $2000 y te olvidas de la tabal de color porque en este modo (seria algo asi como un screen 0) el color se toma directamente del registro 7. No lo he probado nunca, pero es posible que solo se vean los 6 bits mas altos de cada byte en pantalla por cada tile, ya que tenemos 40 caracteres por linea o no se si seria visible una resolucion de 320 pixeles de ancho.(?) a ver si alguien se atreve! Grin
De ese me suena haber leido algo; pero creo recordar que decían que luego no podías acceder a la VRAM y te quedabas sin poder hacer nada...
¿No se fastidiará el VDP con tanto experimento, verdad?
Cómo hacen esas conversiones de Spectrum para que, habiendo acción por toda la pantalla, o 2 tercios como era habitual, vaya la cosa medio fina? Podría pintar sólo los sprites, pero hay varios y grandes y situados por planos y me parece que volcarlos directamente a VRAM me tardaría un egg de pato Smiley Por eso por ahora los vuelco a un buffer y de ahí a la VRAM a saco.
Pues eso, que no podemos comparar. El spectrum utilizaba doble buffer para pantalla completa y accesos directos cuando no había demasiadas cosas que mover. La ventaja era que no había VRAM; ya sabes, accedías a la pantalla (si no recuerdo mal) mediante el rango de direcciones 16384-17152 de la RAM. Si querías hacer un scroll suave pues le hacías una rotación directamente a los bytes en esas posiciones, si querías transferir bloques a toda leche, pues un mogollón de LDI y arreglado.
El sistema que estás utilizando ahora creo que es el único viable. Para optimizar un poco el asunto y sin pasarte de complejidad lo que puedes hacer es, una vez volcados al buffer, calcular el rectángulo (o rectángulos a gusto del consumidor) más pequeño que los engloba a todos y volcar únicamente ese fragmento a la VRAM. Como poco seguro que te ahorras 1/3 del total.