Página 1 de 2

¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 12:09
por carmeloco
Buenas, quiero hacer una prueba, y me gustaría saber en qué zona de la flash, se encuentra el bootloader de recuperación, el que se accede con joystick arriba+disparo.

Re: ¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 12:45
por antoniovillena
carmeloco escribió:Buenas, quiero hacer una prueba, y me gustaría saber en qué zona de la flash, se encuentra el bootloader de recuperación, el que se accede con joystick arriba+disparo.
Está incrustado en el core de Spectrum, pero no tiene una dirección fija.

Re: ¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 13:00
por carmeloco
antoniovillena escribió:
carmeloco escribió:Buenas, quiero hacer una prueba, y me gustaría saber en qué zona de la flash, se encuentra el bootloader de recuperación, el que se accede con joystick arriba+disparo.
Está incrustado en el core de Spectrum, pero no tiene una dirección fija.
OK, entonces, no puedo hacer la prueba que quería hacer. :gracias!:

Re: ¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 13:02
por antoniovillena
carmeloco escribió: OK, entonces, no puedo hacer la prueba que quería hacer. :gracias!:
¿Qué prueba quieres hacer?

Re: ¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 14:19
por carmeloco
antoniovillena escribió:
carmeloco escribió: OK, entonces, no puedo hacer la prueba que quería hacer. :gracias!:
¿Qué prueba quieres hacer?
Quería simular una corrupción de flash, para probar el comportamiento de una recuperación en caso de corrupción de la flash, usando el bootloader de recuperación.

Re: ¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 14:55
por carmeloco
Bueno, he simulado una "corrupción" de la flash, con resultados curiosos. He cogido el core del Spectrum, y le he cambiado un pin de la RAM, por uno de los del bus de expansión, es decir, que he quitado la conexión de un pin de ram, y la he conectado a un pin del bus de expansión, para que quede desconectado, de forma que el core de Spectrum, funcione mal. He actualizado este core, y efectivamente, funciona mal.
He podido arrancar con el bootloader de recuperación, y cargar por audio la BIOS, pero, y aquí viene el problema, como el core de Spectrum está "corrompido" y funciona mal, tampoco funciona la actualización de la flash a través de la bios, de forma que no puedo recuperar el ZX-Uno por este medio. ¿Es posible cargar por audio el "recovery.bit" en vez del firmware usando el bootloader?

Re: ¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 14:57
por antoniovillena
carmeloco escribió: Quería simular una corrupción de flash, para probar el comportamiento de una recuperación en caso de corrupción de la flash, usando el bootloader de recuperación.
Ese bootloader sólo "recupera" si el core de Spectrum está intacto y los datos que hay al comienzo de la flash también. Puedes corromper el firmware, los otros cores, las ROMs o las tablas de ROMS, que el bootloader podrá recuperar con éxito.

Re: ¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 15:05
por antoniovillena
carmeloco escribió:¿Es posible cargar por audio el "recovery.bit" en vez del firmware usando el bootloader?
Son 2 cosas distintas. El recovery.bit es un core completo de spectrum con un firmware incrustado en la zona del bootloader. Supongo que lo que quieres es cargar ese firmware para no tener que pulsar F2 tras la carga.

Los pasos para generar este firmware especial son:
  1. Cambia a define recovery 1 en la tercera línea de firmware.asm
  2. Ejecuta firmloader.bat teniendo en cuenta que necesitas SjAsmPlus.exe y firmloader.asm en la misma carpeta.
  3. Rellena con ceros el firmloader.rom generado hasta que ocupe 16Kb
  4. Pásale el GenRom para convertirlo a TAP

Re: ¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 15:09
por carmeloco
antoniovillena escribió:
carmeloco escribió:¿Es posible cargar por audio el "recovery.bit" en vez del firmware usando el bootloader?
Son 2 cosas distintas. El recovery.bit es un core completo de spectrum con un firmware incrustado en la zona del bootloader. Supongo que lo que quieres es cargar ese firmware para no tener que pulsar F2 tras la carga.

Los pasos para generar este firmware especial son:
  1. Cambia a define recovery 1 en la tercera línea de firmware.asm
  2. Ejecuta firmloader.bat teniendo en cuenta que necesitas SjAsmPlus.exe y firmloader.asm en la misma carpeta.
  3. Rellena con ceros el firmloader.rom generado hasta que ocupe 16Kb
  4. Pásale el GenRom para convertirlo a TAP
No, lo de pulsar F2, lo encuentro secundario. La idea era poder cargar el core desde audio, ya que si la corrupción es grande, no se puede recuperar por este método.
Me parece que me van a tener que enviar un ZX-Uno que no funciona. :?

Re: ¿En qué zona del archivo FLASH.ZX1 está el bootloader de recuperación?

Publicado: 02 Oct 2016, 15:14
por antoniovillena
carmeloco escribió: No, lo de pulsar F2, lo encuentro secundario. La idea era poder cargar el core desde audio, ya que si la corrupción es grande, no se puede recuperar por este método.
Me parece que me van a tener que enviar un ZX-Uno que no funciona. :?
El bootloader funciona si no está corrompido el core de Spectrum. El recovery.bit se puede cargar de 3 formas, aunque todas requieren un cable adaptador microJST:
  1. Cable oficial de Xilinx
  2. Raspberry Pi
  3. Cables compatibles con urjtag como el USB Blaster (en aliexpress está a 3.50 euros).