Exacto. En el Modo 1, cada byte de memoria son 4 pixeles de la pantalla. En el Modo 2, 1 byte son 8 pixeles y en el Modo 0, 1 byte son 2 pixeles. Desconozco el Spectrum, así que no sé comparar si es mejor o peor.Bubu escribió:Ondiá, eso sisnifica que el Amstrad toma 16KB de la RAM para el vidrio, mientras que el Spectrum tomaba 6.75KB. Entóns, que si elijo el modo Modo 1: 320x200 pixeles y 4 colores p.ej., sisnifica que cada píxel de esos 320x200 píxeles tiene 4 colores, y como 4 colores viene dado por 2 bits, y un byte son 8 bits, tendríamos que:
1 byte = AABBCCDD
Cada byte de la RAM daría para 4 píxeles, ¿nor?
La verdad es que el sistema ideal para pintar, el del Spectrum es una paranoia, pero claro, el Spectrum solo tenía 48KB de RAM, y 48KB - 6.75KB = 41.25 KB para pogramar. En el Amstrad 64KB - 16KB = 48KB para pogramar.
Y en tiendo que si el byte es AABBCCDD, cada 2 bits es un número entre 0 y 3 para seleccionar uno de los N colores de la paleta de colores, ¿nor?
También es correcto lo de los 2 bits para seleccionar el color en la paleta... Lo que pasa es que si fuera así sería demasiado sencillo, jejeje... En realidad va así:
Modo 2, 640×200, 2 colores (cada byte de la memoria de video representa 8 pixeles):
bit 7: pixel 0
bit 6: pixel 1
bit 5: pixel 2
bit 4: pixel 3
bit 3: pixel 4
bit 2: pixel 5
bit 1: pixel 6
bit 0: pixel 7
Modo 1, 320×200, 4 colores (cada byte de la memoria de video representa 4 pixeles):
bit 7: pixel 0 (bit 1)
bit 6: pixel 1 (bit 1)
bit 5: pixel 2 (bit 1)
bit 4: pixel 3 (bit 1)
bit 3: pixel 4 (bit 0)
bit 2: pixel 5 (bit 0)
bit 1: pixel 6 (bit 0)
bit 0: pixel 7 (bit 0)
Modo 0, 160×200 píxeles con 16 colores (cada byte de la memoria de video representa 2 pixeles):
bit 7: pixel 0 (bit 0)
bit 6: pixel 1 (bit 0)
bit 5: pixel 0 (bit 2)
bit 4: pixel 1 (bit 2)
bit 3: pixel 0 (bit 1)
bit 2: pixel 1 (bit 1)
bit 1: pixel 0 (bit 3)
bit 0: pixel 1 (bit 3)
(tócate los cojones mariloli)
Y luego viene cuando nos enteramos de que la memoria de vídeo no es lineal en el Amstrad. Los 3 modos tienen 200 lineas, y cada linea son 80 bytes (lo que nos da los 160, 320 y 640 pixeles según el modo). Si empezamos en C000 y rellenamos los 80 primeros bytes, vemos como se colorea la primera linea... pero si seguimos rellenando los 80 siguientes bytes, se nos queda cara de bobo cuando vemos que la segunda linea no se rellena... se salta unas cuantas y rellena la linea 8... y si rellenamos los siguientes 80, se pinta la linea 16... y así sucesivamente.
Este modo de rellenar la pantalla nos resultará familiar a los que cargábamos desde cinta... que veiamos como la pantalla de carga se iba dibujando de esta manera...