Utilidad para actualizar SPI Flash vía tarjeta SD

Software para o relacionado con el core ZX Spectrum / Software for or related to the ZX Spectrum core
Avatar de Usuario
antoniovillena
Mensajes: 2611
Registrado: 27 Sep 2015, 20:41

Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por antoniovillena » 10 Abr 2016, 00:34

La utilidad y su código fuente está en el repositorio, en esta ruta:

http://www.atc.us.es/svn/zxuno/software/upgrade/

Funciona para ESXDOS, con lo cual deben copiar el binario "UPGRADE" en la carpeta /BIN de la SD

De momento hace un copiado a toda la SPI flash desde un archivo FLASH que exista en el directorio actual. Para probarlo, por ejemplo descarga el FLASH.ZX1 de la carpeta de Google Drive:

https://drive.google.com/open?id=0B-cgq ... mRQMnZZQWs

Y cópialo a la raíz de la SD. Inicia el ZX-Uno con la SD y teclea:

Código: Seleccionar todo

.upgrade
Al cabo de unos segundos la SPI Flash se habrá actualizado. De momento sólo lo he probado bajo emulador.

Bajo ninguna circunstancia pruebes esta utilidad si no dispones de cable JTAG para recuperarte de un posible brickeo.

Más adelante haré que esta utilidad sea más segura saltándome zonas críticas que producen brickeo, como el bitstream principal de spectrum, el firmware, etc...

Avatar de Usuario
chernandezba
Mensajes: 832
Registrado: 02 Oct 2015, 23:35

Re: Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por chernandezba » 10 Abr 2016, 02:06

antoniovillena escribió:
Al cabo de unos segundos la SPI Flash se habrá actualizado. De momento sólo lo he probado bajo emulador.
Justo iba a preguntar si funcionaba en ZEsarUX ;)
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por Quest » 10 Abr 2016, 09:13

Estupendo Antonio, vamos avanzando en este tema :D

Lastima que no podré probarlo hasta la tarde, que volveré a casa.

Ahora me asalta una duda... En el ZX-UNO real, no debería funcionar, no? Porque una vez arrancado el Spectrum, nos encontramos con el ZX-UNO en modo usuario, en el cual está bloqueado el acceso a escritura en la Flash.... :?:
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
chernandezba
Mensajes: 832
Registrado: 02 Oct 2015, 23:35

Re: Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por chernandezba » 10 Abr 2016, 10:38

Quest escribió:
Ahora me asalta una duda... En el ZX-UNO real, no debería funcionar, no? Porque una vez arrancado el Spectrum, nos encontramos con el ZX-UNO en modo usuario, en el cual está bloqueado el acceso a escritura en la Flash.... :?:
Pero se puede volver a cambiar de modo (nombre de modo que ahora no recuerdo), si en ZEsarUX se puede en real también se debe poder, todo lo que emulo es tal y como se comporta el dispositivo real
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
Uto
Mensajes: 1389
Registrado: 17 Dic 2015, 16:39

Re: Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por Uto » 10 Abr 2016, 11:25

Hola Antonio,

He estado mirando el código del comando .upgrade, por pura curiosidad, dado que es la primera vez que veo el fuente de un comando esxDOS. He entendido como va pero me surgen algunas dudas, y perdón por secuestrar el hilo un poco:

- ¿Lo de hacer los "print" poniendo un DB detrás del call, luego el pop HL y tal ¿es por ahorra de memoria?¿de ciclos? Hay un espacio máximo para un comando ESXDOS?

- Las llamadas a RST 8 a ESXDOS. ¿De donde sacas la documentación? Yo hace tiempo que mandé correo al autor pero nunca recibí respuesta, y ahora veo que la cosa es bastante sencilla, pero no hay docs por ningún lado, y por tanto andar probando al azar llamadas a ESXDOS "a ver que pasa" es un infierno. Cuando pedi los docs quería hacer un comando .cat, y creo que ahora viendo los fuentes del tuyo podría hacerlo, porque ya veo por qué.

- ¿Para que el DB $3e de la rutina PRINT? Escribe un simbolo > ¿hay alguna razón que no sea estética?

Avatar de Usuario
carmeloco
Mensajes: 749
Registrado: 25 Dic 2015, 12:02

Re: Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por carmeloco » 10 Abr 2016, 12:49

Probado. No funciona. Se queda con la pantalla en blanco, después de dar al comando, y no hace nada más. Lo he dejado un buen rato, esperando a ver qué pasaba, y lo he reiniciado, y sigue con el mismo firmware que tenía, ya que, lógicamente, he probado a ponerle uno distinto.

Avatar de Usuario
Martin8bity
Mensajes: 36
Registrado: 13 Mar 2016, 09:51
Ubicación: Czech Republic
Contactar:

Re: Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por Martin8bity » 10 Abr 2016, 13:10

I agree with carmeloco. It does not work. I tested to flash empty bin and there was no change in the flash content. There is an error message if there is no FLASH file in the root of SD. If the FLASH file is there, the screen goes white and nothing happens (I waited about 30 minutes).

Avatar de Usuario
antoniovillena
Mensajes: 2611
Registrado: 27 Sep 2015, 20:41

Re: Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por antoniovillena » 10 Abr 2016, 13:12

Thank you both for testing. Uto te respondo luego que estoy con móvil

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por Quest » 10 Abr 2016, 14:06

chernandezba escribió:
Quest escribió:
Ahora me asalta una duda... En el ZX-UNO real, no debería funcionar, no? Porque una vez arrancado el Spectrum, nos encontramos con el ZX-UNO en modo usuario, en el cual está bloqueado el acceso a escritura en la Flash.... :?:
Pero se puede volver a cambiar de modo (nombre de modo que ahora no recuerdo), si en ZEsarUX se puede en real también se debe poder, todo lo que emulo es tal y como se comporta el dispositivo real
Si fuera así, la protección contra escritura sería totalmente inutil. De hecho está pensada para que sólo se vuelva a habilitar tras un master reset (y se vuelve a deshabilitar en cuanto arranca la rom), y no se puede volver a activar mientras estés en modo usuario. En la Wiki dl zxuno está detallado el funcionamiento del registro que controla los modos. Antonio podrá explicar mejor como controla el registro en la Bios para dejar el modo usuario activado tras el arranque.

Estamos pensando en un modo seguro de hacerlo, por ejemplo poder habilitar en Bios la escritura en flash (pensado solo para cuando se quiera actualizar via SD en esxdos) que sea de 1 solo uso y que se vuelva a desactivar solo u a vez hecho el upgrade o tras un reset.

De paso, es esta la razón por la que supongo que el upgrade no funciona ahora mismo
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
chernandezba
Mensajes: 832
Registrado: 02 Oct 2015, 23:35

Re: Utilidad para actualizar SPI Flash vía tarjeta SD

Mensaje por chernandezba » 10 Abr 2016, 14:54

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
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Responder