Aprendiendo del firmware

Responder
Avatar de Usuario
DSpawnZ
Mensajes: 33
Registrado: 01 Jun 2017, 04:09
Ubicación: Argentina

Aprendiendo del firmware

Mensaje por DSpawnZ » 20 Jun 2017, 13:19

Hola. Soy un neófito total en assembler del Z80, tengo conocimientos de C y C++.
Leyendo el fuente de firmware, intento encontrar la rutina del timer que deja la pantalla inicial del firmware, espera el teclado y procede a iniciar.
Quiero estirar ese tiempo, por ejemplo a 5 segundos para que la pantalla quede mas tiempo.
Entiendo que el temporizador debe entrar en un loop leyendo el teclado y decrementando un registro hasta que se agota pero no lo encuentro.
A los que saben de assembler les pido me echen luz en el tema.

Gracias!

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

Re: Aprendiendo del firmware

Mensaje por antoniovillena » 20 Jun 2017, 14:19

Del firmware vas a aprender poco. No es un código que se deje leer. Pero te digo lo que tienes que cambiar (línea 397).

Código: Seleccionar todo

        ld      d, 4
        pop     af
        jr      nz, star16
        ld      d, 16
Hay 2 contadores que se cargan en el registro D. El valor 4 es el temporizador tras un master reset, mientras que el valor 16 es para el primer arranque. Tan solo es cambiar esos valores entre 0 y 255.

Avatar de Usuario
DSpawnZ
Mensajes: 33
Registrado: 01 Jun 2017, 04:09
Ubicación: Argentina

Re: Aprendiendo del firmware

Mensaje por DSpawnZ » 20 Jun 2017, 15:39

Gracias Antonio. Sé que es complicado de leer, pero quería empezar por algo.
Quiero estirar los tiempos de muestra de la pantalla inicial porque me gusta verla :D :D . Locuras mias.

Saludos.
antoniovillena escribió:Del firmware vas a aprender poco. No es un código que se deje leer. Pero te digo lo que tienes que cambiar (línea 397).

Código: Seleccionar todo

        ld      d, 4
        pop     af
        jr      nz, star16
        ld      d, 16
Hay 2 contadores que se cargan en el registro D. El valor 4 es el temporizador tras un master reset, mientras que el valor 16 es para el primer arranque. Tan solo es cambiar esos valores entre 0 y 255.

Responder