Utilidades para ayudar al análisis de "The HOBBIT"

Avatar de Usuario
pser1
Mensajes: 4094
Registrado: 08 Dic 2012 18:34
Agradecido : 1352 veces
Agradecimiento recibido: 1118 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor pser1 » 16 Dic 2014 20:38

Último mensaje de la página anterior:

Hola Rodrigo,

creo que nos estamos liando ....
El TAP inicial era de por lo menos 47000 bytes y creo que contiene dos partes, una debe ser la presentación con la pantalla inicial que NO está en nuestro binario ni en el desensamblado y luego la carga y ejecución del binario final.
No tengo ni idea de que es lo que hay que hacer para probar solamente la segunda parte de la cinta original ...

saludos
pere

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4755 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor ron » 16 Dic 2014 20:41

Te has adelantado con la clave, eso es, al faltar cosas va a ser difícil que lo hagamos funcionar a no ser que sepamos a ciencia cierta la dirección de una de las rutinas que supuestamente debería funcionar.

Para cargar lo que sea en spectrum con loader en basic: LOAD "" y una vez terminada la carga RUN
Load en la J , comillas en la P + shift derecho y Run en la R

En respuesta a tu pregunta que donde va el segundo bloque de máquina y en donde se ejecuta. Hay que tirar de emu con depurador y desensamblador e ir viendo en que direcciones ataca.

¿ En dónde, en que dirección por ejemplo, inicia mostrar el primer mensaje y esperar en el prompt la entrada de texto ? .

Sirva como un ejemplo, puedo perfectamente ir mirando el código y los labels y todo y dar con ello, vosotros que lo tenéis más fresco igual le podéis dar un empujón a la ejecución. Se trata de ir lanzando RANDOMIZE USR contra direcciones en decimal que nos lleven a algún sitio en donde podamos ir comprobando cosas, de hecho se pueden poner trazas en un momento determinado.

debughobbitfuse.png
debughobbitfuse.png (61.36 KiB) Visto 2903 veces


debughobbitfuse2.png
debughobbitfuse2.png (95.01 KiB) Visto 2903 veces


Bueno , en esta pantalla se ve en donde está el PC y que desensamblado ejecuta.

debughobbitfuse3.png
debughobbitfuse3.png (52.03 KiB) Visto 2901 veces

Avatar de Usuario
pser1
Mensajes: 4094
Registrado: 08 Dic 2012 18:34
Agradecido : 1352 veces
Agradecimiento recibido: 1118 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor pser1 » 16 Dic 2014 21:52

Hola Rodrigo,

Albricias, eureka, lo que sea!!!!!
Funciona haciendo:

CLEAR 24575
RANDOMIZE USR 27649

Probado con el TAP que se genera con nuestro fuente (retocado por lo de las áreas de datos anteriores a $6000)

saludos
pere

Avatar de Usuario
pser1
Mensajes: 4094
Registrado: 08 Dic 2012 18:34
Agradecido : 1352 veces
Agradecimiento recibido: 1118 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor pser1 » 16 Dic 2014 21:56

una cosa mas ...
utilizando el fuente sin modificar, genera un TAP mas pequeño pero funciona igual
lanzando el CLEAR que he mencionado antes (entiendo que reubica el stack)
El punto de ejecución es el bueno ($6C00)

saludos
pere

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4755 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor ron » 16 Dic 2014 22:00

De hecho he probado a trazar y descubrí que si lanzas en las 32K en 32768 juas ! pero volviendo a lo que dices...
Si señor, con un simple clear y lanzando en 6c00 FUNCIONA !!!! oeeee oeeee -drinks -yu

PRUEBA SUPERADA !!!!

Avatar de Usuario
pser1
Mensajes: 4094
Registrado: 08 Dic 2012 18:34
Agradecido : 1352 veces
Agradecimiento recibido: 1118 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor pser1 » 16 Dic 2014 22:07

pues nada, a esperar poder hacer lo mismo con mi Dragoncito ... que ya tiene ganas de vérselas con el tal Smaug

saludos
pere

Avatar de Usuario
Chema
Mensajes: 2664
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 3190 veces
Agradecimiento recibido: 926 veces
Contactar:

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor Chema » 16 Dic 2014 22:10

Igual no he entendido bien la historia, pero si buscáis el cargador Basic del hobbit, Google dice https://books.google.es/books?id=NRi4Aw ... er&f=false

Perdón por el pedazo enlace, no pude cortar solo la imagen con el programa. Se ve la instrucción CLEAR tal y como decís, como carga la pantalla, el binario y la dirección de inicio en la última linea. Igual que la que pone Pere menos uno...


EDITO: veo que llegué tarde :)

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor luiscoco » 16 Dic 2014 22:14

Yo por mi lado, voy bien, ya agrege los LD y demás

Y estoy por terminar el desemsamble

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4755 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor ron » 16 Dic 2014 22:19

Código: Seleccionar todo

0 este encendido (Teclas no pisadas)
   JR Z, L_8BF1       ; 8BE7 28 08      ; Z = 1?   ; No?, Salta a L_8BF1
   LD A, $7F       ; 8BE9 3E 7F      ; A = $7F
   IN A, ($FE)       ; 8BEB DB FE      ; Lee el teclado $7FFE -> B,N,M,SYMB,SPACE
   AND $02          ; 8BED E6 02      ; A = A AND 2   ; Verifica que sea "SYMB"
   JR NZ, L_8BF4       ; 8BEF 20 03      ; Z = 0?   ; Tecla pisada saltar a L_8BF4
L_8BF1: LD HL, KEYBMAP2       ; 8BF1 21 23 8C   ; HL = KEYBMAP2
L_8BF4: ADD HL, BC       ; 8BF4 09      ; HL = HL + BC   ; Apunta a la tabla (indice BC)
   LD A, (HL)       ; 8BF5 7E      ; A = (HL)   ; Toma la letra
L_8BF6: POP BC          ; 8BF6 C1      ; Recupera BC
   POP IX          ; 8BF7 DD E1      ; Recupera IX
   POP HL          ; 8BF9 E1      ; Recupera HL


http://www.youtube.com/watch?v=LfO78yPti_4

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4755 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor ron » 16 Dic 2014 22:27

Por cierto, el PASMO en linux se instala facilmente, en mi caso que uso debian:

apt-get install pasmo

en otras distros supongo que se usara el YUM o cosas similares. La verdad que lo clava.

Avatar de Usuario
pser1
Mensajes: 4094
Registrado: 08 Dic 2012 18:34
Agradecido : 1352 veces
Agradecimiento recibido: 1118 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor pser1 » 16 Dic 2014 22:29

Hola Rodrigo,

la dirección de arranque del programa es $6C00 o en decimal 27648 (como indicaba Chema), yo puse 27649 y arranca igual pero sin deshabilitar interrupciones, así que puede ser peligroso hacerlo!

saludos
pere

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4755 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor ron » 16 Dic 2014 22:33

si si , lo se, lo que hay es para ilustrar... bueno, al fin y al cabo mantenéis una versión que al parecer es funcional y eso es muy bueno.
Gran trabajo colegas, sin duda. Sois la bomba

Avatar de Usuario
pser1
Mensajes: 4094
Registrado: 08 Dic 2012 18:34
Agradecido : 1352 veces
Agradecimiento recibido: 1118 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor pser1 » 23 Dic 2014 09:53

luis46coco escribió:Hola a todos
Ya mi des-ensamblador esta listo, he tardado mucho por ocupaciones del curro y navideñas, pero ya se puede decir que esta listo, las únicas diferencias son los códigos erróneos en datos, que otros des-ensambladores toman en forma diferente.

Pero aunque falte todo eso ya de puede usar para convertir a 6809, haré mis pinitos a ver que sale, pser1 me ayudas?

Podemos abrir un hilo nuevo de "Conversión Automática z80 a 6809" o solo "Conversión z80 a 6809"


Hola Luis,
ya está creado, con el nombre de "Conversión a 6809"
Ahí podremos seguir el tema

saludos
pere

Avatar de Usuario
pser1
Mensajes: 4094
Registrado: 08 Dic 2012 18:34
Agradecido : 1352 veces
Agradecimiento recibido: 1118 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor pser1 » 24 Dic 2014 19:26

@Luis,

tras la cantidad de rutinas y variables que han sido bautizadas, estaría bien poder volver a lanzar aquel listado que preparaste
para obtener todos los puntos donde se utilizan las variables. Habíamos quedado que se podían pedir por rangos ...
¿Podrías subir el ejecutable para lanzarlo y ver cuanto nos queda todavía pendiente?
muchas gracias

saludos
pere

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor luiscoco » 24 Dic 2014 20:30

Este es el ultimo programa que tengo y adicione la salida.TXT (Opcion 2 del programa) que creo que es la que quieres
Sobre el fuente ultimo HOBASM_V9_09j mas nombres.asm.zip
Adjuntos
Conteos9.zip
(411.23 KiB) Descargado 168 veces

Avatar de Usuario
pser1
Mensajes: 4094
Registrado: 08 Dic 2012 18:34
Agradecido : 1352 veces
Agradecimiento recibido: 1118 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor pser1 » 26 Dic 2014 19:21

Hola Luis,

el listado que yo necesitaba está en tu opción 10 de este ejecutable que has subido, la última que añadiste.
Me va a ir bien para ir reduciendo las rutinas / variables sin nombre priorizando las mas usadas.
De todas formas nos está molestando mucho el hecho de que los saltos internos dentro de una rutina, que NO son llamados NUNCA desde fuera de ella, también tienen nombre tipo L_nnnn
y da la impresión de que falta inventarse un nombre para ellas, cuando no es así.
Estoy pensando seriamente en ponerles un nombre del tipo i_9999 (de cero hacia arriba) para identificarlas como saltos internos y que no nos aparezcan en los listados ni de variables ni de rutinas.
Manualmente puede ser largo y tedioso, pero es que no tengo muy claro como hacer una rutina que les cambie el nombre solo si no son llamadas desde fuera de su rutina.
El escollo principal es determinar donde empieza y donde acaba una rutina, ya que algunas tienen mas de un RET y se bifurcan en mas de un bloque
Otro tema para meditar durante estos días.

De momento la lista de rutinas con nombre ya es importante, de hecho creo que solo hay dos sin nombre dentro de las 18 mas usadas. Un éxito! -drinks
Con las variables vamos perdiendo por goleada ... -banghead

saludos
pere

Avatar de Usuario
luiscoco
Mensajes: 2414
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 38 veces
Agradecimiento recibido: 59 veces

Re: Utilidades para ayudar al análisis de "The HOBBIT"

Mensajepor luiscoco » 26 Dic 2014 21:51

Bueno en el des-compilador que hice, quería agregarle ademas de auto-comentarios, también que creaba espacios después de retornos y cabeceras numeradas a rutinas, quien sabe si podría mantener la unidad de una rutina y deducir lo que pides.

Elucubrando, Los finales de rutina son siempre RET, JP o JR pero sin condicional, si hay Labels dentro podria cambiarlos a I_xxxx y cambiar a la vez sus llamadas, ahora bien si la rutina simple mente salta a algún sitio y luego regresa sin ser subrutina, quedaría troceada, no se si ves mas posibilidades


Volver a “Proyecto The Hobbit 6809 por pser1”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados