Que me corrijan mcleod o Antonio si me equivoco, pero la escritura a flash no es posible mientras El bit BOOTM esté a 0 en el registro MASTERCONF (0x00). Siendo esto así, y teniendo en cuenta que la Bios tras cargar la rom pone BOOTM a 0 y LOCK a 1, pego un extracto del wiki sobre el registro MASTERCONF:chernandezba escribió:Claro, pero hay que activar dicha protección
Lo que quiero decir es que en emulador se comporta igual que en máquina real, o al menos eso debería
..* BOOTM: a 1 indica que ZX-Uno está en modo boot (modo configuración). El modo boot sólo tiene sentido mientras se está ejecutando el firmware de arranque, donde se permite configurar algunos aspectos de ZX-Uno antes de pasar al modo ejecución. MASTERCONF siempre puede ser leído, tanto en modo boot como en modo ejecución. Se pone a 0 manualmente por programa, y en ese momento, ZX-Uno entra en modo ejecución.
Entre los bits que LOCK impide cambiar, está BOOTM.*LOCK: Cuando vale 1, impide que se puedan hacer más cambios a ciertos bits del registro MASTERCONF. Este bit se pone a 0 sólo mediante un reset maestro (Ctrl-Alt-BkSpace) o al apagar y encender el clon
Lo que quiero decir es que si tal como dice Antonio en el primer post, le funciona la escritura a la spi, significa que ZesaruX no se comporta como el ZX-UNO real, o eso deduzco yo con estas pistas.
Insisto en que si esto no era así, que me corrijan, pero recuerdo una larga conversación hace tiempo en ZDP sobre este tema, y recuerdo que era así.