Último mensaje de la página anterior:
Que Des-ensamblador se uso inicialmente? digo cuando race8086 hizo el suyo, creo que se comento pero no lo encuentro, creo que es una herramienta especifica de SpectrumUtilidades para ayudar al análisis de "The HOBBIT"
- 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"
esto es lo que he encontrado en un mensaje de race8086 antiguo:
espero que te sirva
saludos
pere
Nota de race8086
Confección de un fichero fuente
El objetivo es generar un fichero fuente en ensamblador, que una vez compilado tenga el mismo efecto que cargar el bloque “h”, es decir que a nivel binario será exacto.
Usando el emulador SPIN, desensamblamos desde la posición $6000 hasta la $FC40 y la guardamos en un fichero, los parámetros que hay que meter son :
Inicio : 23576 y Longitud : 40000.
Solo con ver las primeras líneas de código vemos que se sobreescribe la zona situada en $F400, inspeccionando el bloque “h”, vemos que desde esa posición hasta la $FC40 se carga con el valor $00.
El fichero obtenido se ensambla con PASMO por ejemplo y genera un binario idéntico, así que ya tenemos un fuente sobre el que comenzar.
Ahora podemos utilizar el fuente de internet y demás documentación para ir comprobando y completando este que hemos obtenido.
espero que te sirva
saludos
pere
- 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"
A ver, yo en su día lo que hice fue cargar el binario 1.2 en SpecEmu y usando su propio desensamblador puse el código en el post aquel de marras.
Las tools que vi me gustaron mucho, aquí: http://www.z80.info/z80sdt.htm
Otra que también es muy interesante e importante ya que gestiona scripts y otras cosas: http://www.inkland.org.uk/dz80/
Y hay editores y desensambladores online a montón, hay que mirar de dar con uno que haga " todo lo que necesitas", evidentemente en Linux estoy haciendo unas pruebas, a ver que sale de todo esto.
Las tools que vi me gustaron mucho, aquí: http://www.z80.info/z80sdt.htm
Otra que también es muy interesante e importante ya que gestiona scripts y otras cosas: http://www.inkland.org.uk/dz80/
Y hay editores y desensambladores online a montón, hay que mirar de dar con uno que haga " todo lo que necesitas", evidentemente en Linux estoy haciendo unas pruebas, a ver que sale de todo esto.
- 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"
Por cierto, he compilado el último asm disponible en pasmo ( bajo linux ) y he generado un tap que al cargar y lanzar con RANDOMIZE USR se da la bofetada y resetea el Spectrum. He usado la 23576 pero nada. Igual hay que lanzarlo desde otra.
De hecho el PASMO al generar el tap hace:
10 CLEAR 24575
20 POKE 23610.255
30 LOAD "" CODE
He probado a lanzarlo desde la 23575 y desde la 23576, el Spectrum se piña, ya sea que esa no es la dirección de lanzado. Ya me diréis, en realidad me devuelve un OK y eso debería servir, pero no estoy tan seguro.
De hecho el PASMO al generar el tap hace:
10 CLEAR 24575
20 POKE 23610.255
30 LOAD "" CODE
He probado a lanzarlo desde la 23575 y desde la 23576, el Spectrum se piña, ya sea que esa no es la dirección de lanzado. Ya me diréis, en realidad me devuelve un OK y eso debería servir, pero no estoy tan seguro.
- 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"
Hola ron,
adjunto el fuente versión 9_09d (el último que subí) y el resultado compilado con Pasmo.
El binario que genera es idéntico al inicial ... a ver si el inicial también está mal
saludos
pere
adjunto el fuente versión 9_09d (el último que subí) y el resultado compilado con Pasmo.
El binario que genera es idéntico al inicial ... a ver si el inicial también está mal
saludos
pere
- Adjuntos
-
- Hobbit v9_09d comp con Pasmo v0.5.3.zip
- (214.11 KiB) Descargado 126 veces
- 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"
Ahí tienes el TAP de Spectrum. 41045 bytes de vellón.
El binario: 40942 dic 16 19:32 hob99d.bin
Al ejecutar:
- 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"
@ron,
ni idea de que es un TAP ni como se generan ...
Te adjunto el Bin que puso Ramón en su momento (race8086) cuando subió la primera versión de fichero desensamblado
Es el que estoy utilizando para comparar.
Nuestro binario es idéntico pera añade unos cuantos ceros por detrás. Si estorban se podrían quitar
Ya me dirás alguna cosa
saludos
pere
ni idea de que es un TAP ni como se generan ...
Te adjunto el Bin que puso Ramón en su momento (race8086) cuando subió la primera versión de fichero desensamblado
Es el que estoy utilizando para comparar.
Nuestro binario es idéntico pera añade unos cuantos ceros por detrás. Si estorban se podrían quitar
Ya me dirás alguna cosa
saludos
pere
- Adjuntos
-
- HOB4.ZIP
- (27.13 KiB) Descargado 120 veces
- 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"
El TAP ni más ni menos es con lo que se carga un spectrum, es un fichero TAPE listo para cargar en máquina real o emulador.
Para generar un tap desde el propio pasmo, en vez de generar un bin generas el tap, de esta manera
pasmo --tapbas codigo.asm cinta.tap
Y le añadirá el cargador máquina, que posteriormente habrá que lanzar mediante un RANDOMIZE USE ADDRESS siendo ADDRESS la dirección en decimal.
A lo que me refiero pser1, es a que desconocemos el grado de funcionalidad del binario. Error no da. ¿ Para empezar, en que dirección debería lanzar la rutina principal por la que ejecutar ?
Para generar un tap desde el propio pasmo, en vez de generar un bin generas el tap, de esta manera
pasmo --tapbas codigo.asm cinta.tap
Y le añadirá el cargador máquina, que posteriormente habrá que lanzar mediante un RANDOMIZE USE ADDRESS siendo ADDRESS la dirección en decimal.
A lo que me refiero pser1, es a que desconocemos el grado de funcionalidad del binario. Error no da. ¿ Para empezar, en que dirección debería lanzar la rutina principal por la que ejecutar ?
- 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"
Hola ron,
he visto algo que no me ha gustado nada ....
Si Spectrum hace un clear a 24575 ($5FFF) entiendo que el stack empezará de ahí hacia abajo, ¿verdad?
Bien, pues al arrancar el juego copia dos areas de datos por debajo de esta zona protegida, de forma que al stack le quedan solo 36 bytes, me parece razonable
que casque miserablemente ...
Ahora nos conviene (o no!) saber como arrancaría realmente el original en un Spectrum48k
saludos
pere
he visto algo que no me ha gustado nada ....
Código: Seleccionar todo
ORG $6000 ; inicio actual del programa. Luego empezará antes ... por áreas de datos (a estudiar)
DATAB1_BAK: EQU $5F00 ; 5F00-5F1C ; 29 bytes área de datos donde se copia DATABLK1
DATAB3_BAK: EQU $5F1D ; 5F1D-5FDB ; 191 bytes área de datos donde se copia DATABLK3
Si Spectrum hace un clear a 24575 ($5FFF) entiendo que el stack empezará de ahí hacia abajo, ¿verdad?
Bien, pues al arrancar el juego copia dos areas de datos por debajo de esta zona protegida, de forma que al stack le quedan solo 36 bytes, me parece razonable
que casque miserablemente ...
Ahora nos conviene (o no!) saber como arrancaría realmente el original en un Spectrum48k
saludos
pere
- 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"
Otra alternativa sería hacer un clear por debajo de $5FFF, por ejemplo
CLEAR 24319 (equivale a $5EFF) que salvaría la zona de $5F00 hacia arriba
ya me contarás
saludos
pere
CLEAR 24319 (equivale a $5EFF) que salvaría la zona de $5F00 hacia arriba
ya me contarás
saludos
pere
- 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"
me parece que ya viendo el conflicto ...
El binario original empezaba dede $6000 hacia arriba mientras que el que yo compilaba empezaba en $5F00 debido a las áreas de copia de datos.
Como no gustaban estas diferencias acabé por comentar dichas áreas y las cambié por simples EQU para que compilara correctamente.
Lo que nos está pasando es que Pasmo parece reservar el espacio necesario en función del binario ... y nosotros necesitamos mas espacio para cuando lo ejecutemos
Voy a cambiar el fuente para que vuelva a crear las áreas de datos (será mas largo) y generaré un TAP con él.
Supongo que luego SpecEmu lo podrá cargar normalmente...
te cuento luego
muchas gracias por la explicación Rodrigo
Saludos
pere
El binario original empezaba dede $6000 hacia arriba mientras que el que yo compilaba empezaba en $5F00 debido a las áreas de copia de datos.
Como no gustaban estas diferencias acabé por comentar dichas áreas y las cambié por simples EQU para que compilara correctamente.
Lo que nos está pasando es que Pasmo parece reservar el espacio necesario en función del binario ... y nosotros necesitamos mas espacio para cuando lo ejecutemos
Voy a cambiar el fuente para que vuelva a crear las áreas de datos (será mas largo) y generaré un TAP con él.
Supongo que luego SpecEmu lo podrá cargar normalmente...
te cuento luego
muchas gracias por la explicación Rodrigo
Saludos
pere
- 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"
En principio si tu pasas $6000 a decimal te queda en un hermoso 24576, pero solo me queda extraer el CODE ( bin ) del tape original, probar a cargarlo y a lanzarlo. Desde luego en el programa van metidos los gráficos, la fuente y todo como tu ya sabes, simplemente me da un OK, eso es todo.
Considero que deberíamos tener una release "made aquí" en asm que sea funcional, sino puede derivar en muchas cosas.
Lo malo que tengo que irme a windows para hacerlo y tengo que reiniciar el PC....
Considero que deberíamos tener una release "made aquí" en asm que sea funcional, sino puede derivar en muchas cosas.
Lo malo que tengo que irme a windows para hacerlo y tengo que reiniciar el PC....
- 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"
Observando un poco esto tiene mucho sentido lo que dices.
Si nos fijamos en que el programa lo lanza desde la 24576 y el binario pesa 40942, 65518 ( hasta 65535 son 17 bytes ) por los pelos, si nos fijamos en el mapa de memoria, ... ya sabes por donde voy...
Si nos fijamos en que el programa lo lanza desde la 24576 y el binario pesa 40942, 65518 ( hasta 65535 son 17 bytes ) por los pelos, si nos fijamos en el mapa de memoria, ... ya sabes por donde voy...
- 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"
Hola Rodrigo,
ya tengo el TAP, lo pongo en SpecEmu como tape pero ¿Cómo se pone en marcha el invento?
Te lo adjunto ara que lo puedas probar tu también ...
saludos
pere
ya tengo el TAP, lo pongo en SpecEmu como tape pero ¿Cómo se pone en marcha el invento?
Te lo adjunto ara que lo puedas probar tu también ...
saludos
pere
- Adjuntos
-
- hob99tap.zip
- (27.25 KiB) Descargado 137 veces
- 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"
todo lo que me sale en pantalla es:
Tengo autoload en cintas
0 OK, 30:1
saludos
pere
Tengo autoload en cintas
0 OK, 30:1
saludos
pere
- 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"
si, correcto pero fíjate en la pantalla que puse antes que es despues de hacer en RANDOMIZE, con eso has cargado el loader + el programa en memoria, ahora toca ejecutar. En el Spectrum los comandos se meten con TOKENS. Si pulsas P aparecerá PRINT y así sucesivamente con todas las teclas de las que tienes varias combinaciones.
a continuacion, tecla T ( RANDOMIZE ) teclas mayus+control decho y tecla L ( USR ) y ahora la dirección de ejecución que le quieras dar.
de modo que quedaría RANDOMIZE USR XXXX y enter
Eso es lo que tienes que hacer para lanzar la rutina en CM desde un Speccy.
a continuacion, tecla T ( RANDOMIZE ) teclas mayus+control decho y tecla L ( USR ) y ahora la dirección de ejecución que le quieras dar.
de modo que quedaría RANDOMIZE USR XXXX y enter
Eso es lo que tienes que hacer para lanzar la rutina en CM desde un Speccy.
- 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"
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
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
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 1 invitado