Hola compañeros,
tras unos cuantos mensajes cruzados con Tormod Volden, creo que DEBEMOS retomar el tema de hacernos
una ampliación INTERNA de memoria, ya que la externa presenta una seria dificultad que parece insalvable ...
En el CoCo3 el chip GIME hace las veces de Gestor de memoria y de gestor de Gráficos, es decir asume la función de
nuestra SAM pero NO tiene que lidiar con el 6847 (generador de vídeo que nos ha tocado)
Así que PUEDE mapear cualquier área de memoria a la zona de gráficos, sin problema alguno, para él toda la
memoria es 'alcanzable', desde $0000 hasta $1FFFF (para 128k) o hasta $7FFFF (en el caso de 512k)
PERO nuestro Dragón tiene la SAM que debe ir enviando direcciones de memoria a la DRAM y ésto lo hace multiplexando
la dirección global de 16 bits (64k) en dos mitades, los 8 bits bajos se envían con la señal RAS (Row Address Strobe), los 8 bits altos
van con la CAS (Column Address Strobe) que además se aprovecha para ir refrescando la DRAM, y ésto lo lleva a cabo usando un bus de 8 bits
que podéis ver en la hoja de datos de la SAM. Son los pines llamados Z0 hasta Z7 (pines 28 a 35)
Estos pines direccionan la memoria que el VDG puede leer para mostrar gráficos, así que si queremos disponer de varias
áreas para guardar pantallas y luego simplemente seleccionarlas ... NO podemos hacerlo desde el cartucho de expansión
ya que allí solamente está el bus de direcciones de la CPU (A0-A15)
Este es el problema: La SAM no genera valores para el bus de Direcciones. Simplemente 'escucha' el bus de direcciones (A0, para sincronizarse).
Los 16 bit que envía, los pone en ciclos de RAS/CAS de 8 bits cada uno, directamente a las DRAM que internamente demultiplexan los dos bytes.
Esto implica que si queremos reemplazar las DRAM internas por SRAM (que tienen un bus de 16 bits) necesitamos insertar un "latch" para guardar
el byte bajo que viene primero (lsb) mientras el byte alto (MSB) sale de la SAM. Así se indica en la hoja técnica de dicho chip.
Puede verse en la página 302 del libro "Inside the Dragon" al final del párrafo "Memory Size", nota con asterisco (*)
Por lo tanto, queda REABIERTO el hilo y tendremos que estudiar la versión Mark II de Bob W Hall, para aprender como reducir la circuitería
adicional a las SRAMs ...
saludos
pere