Claro, es a lo que me refiero. Los freezeos se graban en disco, porque son datos, y en la época, los datos sólo se podían guardar en disco...Ahora se podrían guardar en la SD, o en la memoria flash del micro. Pero habría que rehacer el cartucho del freezer.
Mirando la documentación de los snapshots del vice (
https://vice-emu.sourceforge.io/vice_9.html#SEC283), se ven los "modulos" que escriben su estado en un snapshot.
MAINCPU 6502 The Main CPU - although it is a 6510, only the 6502 core is saved here
C64MEM Memory Holds the RAM contents of the C64. Also the CPU I/O register contents are saved here.
C64ROM ROM images Dump of the system ROMs
VIC-II 656* The VIC-II of the C64/128
CIA1 6526 The CIA for the interrupts and the keyboard
CIA2 6526 The CIA for the userport, IEC-bus and RS232.
SID 6581 The SID sound chip of the C64/C128
REU* The RAM Extension Unit state (optional)
ACIA1 6551 An ACIA (RS232 interface) at $DE00 (optional)
TPI 6525 A TPI at $DF00 for a parallel IEEE488 interface (optional)
* Drive modules The emulated drive(s) have their own modules see section 9.2.1.6 Drive modules
Restaurar el estado completo de una máquina real no es sólo leer la memoria, y volverla a escribir. Por ejemplo, restaurar la máquina a exactamente la misma línea de raster en la que se encontraba
en la captura puede ser importante...Cuando hay dispositivos mapeados en memoria (el VIC-II, el SID, las CIAs), pueden tener estados internos (por ejemplo, el punto de ADSR en el que se encuentra una nota en el SID), valores de sólo lectura, posiciones que al leer, lees un registro diferente que cuando escribes...
Y todo eso, sin contar con fastloaders cargados en la propia diskettera, que es un ordenador aparte, y que el cartucho no puede "congelar".
En la época, se sacaba un cartucho freezer que a lo mejor funcionaba con el 80% de los juegos, y listo. Hoy en día, si sacas eso, tienes un github lleno de gente quejándose de que el cartucho, cuando se usa en la fase 10 del juego X, no funciona.
Depurar ese tipo de cosas es muy muy tedioso...Vamos, yo no me metería a hacer eso..
El cartucho (o, mejor dicho, el "cacharro", porque son más cosas) en el que trabajo...Es sólo una forma de pasar tiempo con el C64 como otra cualquiera..Cuando empiece a funcionar como quiero, publicaré el código, pero mi intención no es (para nada) diseñar una placa fácil de replicar y ponerme a soldar placas para vender...No me interesa eso.. Píllate una ultimate ya :-D.
El test que me funciona es precisamente enviar CRTs por bluetooth desde un explorador en el móvil, pero no de la forma en que quiero que ocurra. Ahora funciona con una conexión directa entre el cartucho y el movil. Lo que quiero es que el movil se conecte a una placa, que redirija los comandos al cartucho, a la diskettera, a la cinta, o a lo que sea que puedas tener conectado.
Esa misma placa, me sirve para que emule la cinta, y es en lo que estoy, cuando el nuevo curro me deja algo de tiempo :-P