Hola, voy a intentar contestar a tus dudas, la verdad que es un tema que parece oscuro y difícil hasta que por fin lo entiendes y piensas que como no lo pillaste antes...
- Entiendo que hay 4 páginas con 4 slots/página con 4 subslots/slot = 64 paginas * 16Kb/página = 1024Kb posibles. ¿Es así?
Correcto, si pudiéramos rellenar todos los slots y subslots a tope un MSX podría gestionar de la manera estándar 1 Megabyte de memoria.
- No entiendo cómo va montada una ROM usando slots y subslots. Si en 0x4000 tengo mi página 1 del slot 1 donde tengo mi rom y quiero activar mi página 2 en 0x8000, pues lo entiendo. Pero si esta página tiene subslots, ¿cómo van organizados en la ROM? ¿En qué direcciones de memoria las debe poner el ensamblador?
En esta te puedo ayudar menos, porque no conozco ningún cartucho que utilice el esquema del mapeo de subslots para meter más de 32K (o 48K), creo que todos usan un mapper externo como el de los Megaroms.
- ¿Qué es un mapper? ¿Es un circuito personalizado que permite acceder a una estructura personalizada de slots/subslots? ¿Por eso hay tantos tipos? ¿Por eso los debe soportar el emulador, porque es hardware?
Sí, es hardware externo que viene físicamente en el cartucho, y que se encarga de gestionar la memoria de forma distinta a la de los subslots. Por ejemplo, un Megarom típico como Nemesis, de 128Kbytes, viene con una ROM lineal de ese tamaño y un chip auxiliar que es el que se encarga del mapeado. El MSX ve 32KBytes del cartucho en su páginas 1 y 2, como si fuera cualquier cartucho de 32Kbytes, pero podemos hacer que este chip cambie que páginas de los 128KB son visibles.
- ¿Por qué hay mappers con páginas de menos de 16Kb? Si activo una página, entendía que se activaban los 16Kb...
Porque como la gestión de las páginas se la cocina el chip auxiliar, puede hacer cosas que no podría el mapeador estándar. El mismo Nemeis por ejemplo tiene páginas de 8KBytes, pero el MSX no se entera de nada, simplemente va a leer sus páginas 1 y 2 y el mapeador le redirige a lo que tenga seleccionado.
¿Lo tienes más claro?
¿O tienes más dudas que antes?