Compilar el firmware

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

Re: Compilar el firmware

Mensajepor antoniovillena » 04 Ene 2017, 11:35

Uto escribió:En cualquier caso, y por seguridad he subido un escalon y voy a funcionar así: 1) probar en ZesarUX, 2) probar en ZX-Uno como ROM rooted 3) Probar en ZX-Uno como firmware.


En cualquier caso el core tiene un mecanismo en el bootloader que permite cargar tu propia BIOS por cinta, por lo que en ese caso tampoco briquearías el ZX-Uno.
http://antoniovillena.es
http://retrolandia.net
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

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

Re: Compilar el firmware

Mensajepor Uto » 04 Ene 2017, 11:38

antoniovillena escribió:
Uto escribió:En cualquier caso, y por seguridad he subido un escalon y voy a funcionar así: 1) probar en ZesarUX, 2) probar en ZX-Uno como ROM rooted 3) Probar en ZX-Uno como firmware.


En cualquier caso el core tiene un mecanismo en el bootloader que permite cargar tu propia BIOS por cinta, por lo que en ese caso tampoco briquearías el ZX-Uno.

Ya ya, cuento con ello, pero mas vale prevenir, no sea que una metedura de pata mia me corrompa el core de Spectrum :-)

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

Re: Compilar el firmware

Mensajepor Uto » 05 Ene 2017, 01:23

Bueno, pues tengo nuevo firmware y parece que funciona en mi ZX-Uno (lo he flasheado).

Antes de nada decir que lo voy a dejar por aquí, pero que NO recomiendo a nadie que lo instale, salvo que maneje bien todo el tema de recuperar desde la boot ROM, o incluso con el cable JTAG. ¿Por qué? Porque soy demasiado novato para sentirme seguro con esto. Así que si la instaláis es a vuestro propio riesgo.

¿Y por qué instalarla?

Pues porque:
1) Si en la pantalla de arranque pulsais las teclas 1 a 9 arranca el core 1 a 9
2) Si entráis a la BIOS oiréis un "clack" que os servirá para saber que habéis entrado aunque no se vea la pantalla.

Además, os lleváis lo que quiera que haya en la versión 0.56 que no es importante al parecer, pero ahí está. Para diferenciar esta versión de la oficial, veréis que la version pone 0.56u.

Adjunto fichero con el firmware.zx1, que ya digo que no recomiendo instalar, al menos hasta que Antonio lo mire, si le apetece :-).

https://www.dropbox.com/s/5dsnlinldb1tt ... o.zip?dl=0

Antonio, por si quieres echarle un ojo, en el zip van tambien los fuentes afectados. Aparte de las strings, solo hay una nueva rutina "beep" justo encima de la rutina "bios", y en el sitio donde se detectan las pulsaciones de esc, bloq mays, etc, se ha metido algo para detectar 1-9, en cuyo caso se resta $31h, se mete en h y se llama a alto runbit (lo que me ha costado darme cuenta de que me fallaba porque runbit es machacada, no sin antes ser copiada a la RAM... ese "alto")

Edit: he actualizado el enlace porque me he dado cuenta de que la versión de anoche iba un numero desplazada (es decir, la tecla 1 arrancaba el slot 2, la 2 el slot 3, etc.)

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

Re: Compilar el firmware

Mensajepor Uto » 05 Ene 2017, 12:20

Estos son los cambios en el código, para los curiosos:

El chasquido al entrar en BIOS

Antes:

Código: Seleccionar todo

;++++++++++++++++++++++++++++++++++
;++++++++    Enter Setup   ++++++++
;++++++++++++++++++++++++++++++++++
bios    out     ($fe), a
           ld      a, %01001111    ; fondo azul tinta blanca


Ahora

Código: Seleccionar todo

beep   xor a
   ld b, 5
beep1   ld e, b
   set 4, a
   out ($fe), a
   ld b, 40
beep2    or a
   djnz beep2
   res 4, a
   out ($fe), a
   ld b, e
   djnz beep1
   jr bios0

;++++++++++++++++++++++++++++++++++
;++++++++    Enter Setup   ++++++++
;++++++++++++++++++++++++++++++++++
bios    out     ($fe), a
   jr    beep
bios0   ld      a, %01001111    ; fondo azul tinta blanca



Poder lanzar los cores pulsando las teclas 1-9

Antes:

Código: Seleccionar todo

start6  ld      a, (codcnt)
tstart5 sub     $80
        jr      c, start5
        ld      (codcnt), a
        cp      $19                ; Caps
        jr      z, start7
        cp      $0c                ; break
start7  jp      z, blst
        cp      $3a


y ahora:

Código: Seleccionar todo

start6  ld      a, (codcnt)
tstart5 sub     $80
        jr      c, start5
        ld      (codcnt), a
        cp      $19                ; Caps
        jr      z, start7
        cp      $0c                ; break
start7  jp      z, blst
       cp    $31          ; '1'
       jr    c, start8
       cp    $3A                ; '9' + 1
       jr    nc, start8
       sub   $31
       ld    h, a
       jp    alto runbit
start8  cp      $3a
Última edición por Uto el 05 Ene 2017, 14:48, editado 2 veces en total.

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

Re: Compilar el firmware

Mensajepor Uto » 05 Ene 2017, 12:27

Aquí dejo también las utilidades de Antonio compiladas para linux64:

https://www.dropbox.com/s/a2671ahqkzwql ... p.zip?dl=0

Incluye tambien una utilidad mia muy cutre pero efectiva que parchea el fichero zxuno.flash de ZesarUX para instalar una BIOS nueva (el equivalente a actualizar la BIOS desde la propia BIOS pero más cómodo). Necesita que los ficheros zxuno.flash y firmware.rom estén en la carpeta actual, le ejecutas y punto. Yo lo que hago en linux es tener un script que copia el zxuno.flash en la carpeta actual, ejecuta el parche y lo vuelve a dejar en la carpeta de ZEsarUX.

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

Re: Compilar el firmware

Mensajepor carmeloco » 05 Ene 2017, 14:12

Lo he probado, y parece que funciona bien. :D

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

Re: Compilar el firmware

Mensajepor Uto » 05 Ene 2017, 14:47

carmeloco escribió:Lo he probado, y parece que funciona bien. :D


Genial :gracias!:

Aun así, sigo no recomendado instalarlo a aquellos que no sepan/puedan salir de un brick, al menos hasta que mas personas con los utensilios necesarios (como carmeloco) la hayan probado y observen estabilidad :-D

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

Re: Compilar el firmware

Mensajepor Uto » 05 Ene 2017, 18:39

Si a alguien le interesa, tengo otra nueva versión (0.56u2) que permite, pulsando asterisco en la pantalla de arranque, arrancar en modo rooted cualquier ROM (o sea, pulsas asterisco y si le dejas seguir arrancará con la ROM por defecto pero en modo rooted, o si después de darle a asterisco le das a break y eliges otra ROM, esa ROm arrancará en modo rooted).

Digamos que es una manera cómoda de arrancar en rooted, sin tener que tener una ROM específica para ello, y sin tener que hacerlo por defecto. He elegido * porque en un Spectrum hay que sacarlo pulsando dos teclas, y en un PC tambien, o bien usando el asterisco del teclado numérico que parece difícil de pulsar sin querer.

Como es un tema aún más delicado, si alguien la quiere, que la pida y se la paso (y sigo desaconsejando hacerlo a nadie que no tenga herramientas para desbrickear, aunque cada vez me muevo más seguro, todo hay que decirlo :-D )

rcmolina
Mensajes: 105
Registrado: 22 Nov 2015, 16:41

Re: Compilar el firmware

Mensajepor rcmolina » 06 Ene 2017, 12:54

Hola Uto,

Si que me gustaría echarle un vistazo a esa versión 0.56u2 ... :gracias!:

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

Re: Compilar el firmware

Mensajepor Uto » 06 Ene 2017, 13:29

rcmolina escribió:Hola Uto,

Si que me gustaría echarle un vistazo a esa versión 0.56u2 ... :gracias!:


Tienes un privado :-)


Volver a “Firmware”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado