Todo eso puede funcionar en un emulador. Aquí tareas como "cargar un snapshot", "poner a cero un contador en la carga" o "guardar un snapshot" requieren hacer electrónica y firmware para ello. Lo de enchufar un Z80 real es muchisimo más sencillo. Recuerda que aquí no estás depurando un programa, que se ejecuta secuencialmente, sino un diseño electrónico que tiene muchos módulos que se ejecutan en paralelo. La simulación de tal engendro es muy lenta, y cuando tú haces F7, F7, F7 para ir ejecutando instrucciones paso a paso desde tu compilador, aquí es ejecutar en muchos casos líneas de código Verilog ¡sin que el tiempo avance! (porque estás ejecutando paso a paso uno de los módulos de los muchos que van en paralelo).
Tanto es así que cuando hay que depurar estas cosas se suele utilizar el ChipScope, lo que pasa es que me temo que ya no tengo espacio para el core del ChipScope. En mi caso, para depurar los errores de SPI, he recurrido (y se puede ver en las fotos) a un analizador lógico de 34 canales: es la única forma (que yo conozco) de poder depurar este tipo de cosas.
Dejar pasar hasta 1 segundo antes del fallo supone que tengo que depurar 3 millones quinientos mil ciclos de reloj (¡de CPU! porque del sistema son 28 millones). Podemos llevarnos hasta el día del juicio final si tuviera que hacerlo así.
Lo que necesito es:
- Descartar de una vez por todas que el problema no es de otro módulo, y esté echándole las culpas al T80 sin motivo: para ello tengo que quitar el T80 y poner otra cosa que sepa seguro que funciona: un Z80 real.
- Si el fallo se sigue produciendo, ya puedo dejar al T80 trnaquilo y centrarme en ver qué pasa con la memoria o yo qué sé.
- Si el fallo deja de producirse, probablemente me haré fan empedernido de añadir un Z80 real al ZX-Uno en el diseño final. Como seré yo solo contra todo el mundo, habrá que depurar el T80, core parcheado donde los haya, peor documentado, y escrito en VHDL, que no domino

Si tengo que depurarlo yo solo, ya habrá que esperar. Cualquier ayuda en este sentido será estupenda

Además, ya he señalado algunos fallos en el diseño del circuito, en concreto la falta de planos de masa "como Diox manda" en la placa, lo que hace que la impedancia de algunas líneas sea demasiado alta y haya problemas con la Flash SPI y quizás otras cosillas.
No sé qué prisa habrá por producir el ZX-Uno a-la-de-ya, pero a estos prototipos les quedan al menos hasta fin de año para hacerles el rodaje. Es mi opinión, claro.