Una propuesta: en lugar de usar la ROM normal y corriente en el clon, usad la ROM de testeo que escribí.
http://www.zxprojects.com/images/storie ... rom128.binEs una ROM de 32KB. En el clon se puede grabar dos veces simplemente, hasta llenar los 64K.
Se pasa de un test a otro cortocircuitando momentaneamente cada uno de los 5 pines del conector de teclado KB0 a KB4, a masa. No hace falta, por tanto, un teclado "de verdad".
Al arrancarla, se ejecutará directamente el primer test: comprobación de los primeros 16K de RAM. En este test no se escribe para nada en direcciones por encima de 32767. Sólamente se lee de ROM, y se escribe en la VRAM. Cada cambio de color del borde es una copia completa de ROM en VRAM. Para volver a este test desde cualquier otro, resetear el micro.
Cortocircuitando KB0, se pasa al test de memoria no contenida: se copia la pantalla de test de la ROM a la RAM no contenida, y de ahí, repetidamente a la VRAM.
Cortocircuitando KB1, se pasa al test de memoria contenida: se copia la pantalla de test desde la ROM a la VRAM (fuera de la zona de pantalla, claro), y de ahí, repetidamente a la VRAM. Esto es, este test copia de VRAM a VRAM.
Cortocircuitando KB4, se hace un test un poco más exhaustivo de la RAM no contenida. Si el test sale bien, se queda el borde en color verde, y de ahí pasa de nuevo al primer test. Si falla, salen unas rayas en el borde indicando qué bit falló.
Cortocircuitando a la vez KB0 y KB4 (ambos a masa), se conmuta a la segunda ROM, que contiene una ROM de 48K modificada para que en ningún caso escriba más allá de 32767 (ni siquiera para comprobar si hay memoria allí)
KB2 sirve para grabar vía cassette el contenido de la pantalla. Se usa habitualmente para ver si el contenido de la memoria contenida coincide con lo que la ULA muestra. Ahí se puede ver si hay realmente corrupción en la memoria, o lo que se ve son artefactos de la propia ULA.
KB3 permite cargar desde cassette un bloque de bytes en el formato habitual (CODE inicio, longitud). Una vez cargado, se empezará a ejecutar desde la posición de carga. Sirve para poder añadir tests concretos sin tener que hacer una nueva versión de la ROM y flashearla cada vez.