Análisis del Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K

Avatar de Usuario
pser1
Mensajes: 2226
Registrado: 08 Dic 2012 18:34
Agradecido : 302 veces
Agradecimiento recibido: 327 veces

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor pser1 » 12 Nov 2014 18:06

Último mensaje de la página anterior:

Hola Luis,

tenemos un pequeño problema.
Cuando pasé a la versión V8, las localizaciones todavía no tenían comentarios al final de la línea
Pero al salir la versión V8A, se debieron poner.

Por desgracia, están numeradas ascendentemente asumiendo que la primera es la $00 y así hasta la $4F, pero mirando las salidas desde una ubicación a otra, he visto que NO cuadran
las etiquetas de final de línea con los datos a su izquierda.
Voy a tener que revisar el documento de internet de ubicaciones y ya iré cambiando el comentario a la fila que le toque.
Mala suerte porqué encima este bloque está 2 veces, uno para Z80 y otro para 6809 -banghead
nos crecen los enanos -507
No es importante porque solo son comentarios, pero si usáramos esta información en los comentarios del programa estaríamos poniendo información equivocada!

saludos
pere

Avatar de Usuario
luiscoco
Mensajes: 2337
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 34 veces
Agradecimiento recibido: 46 veces
Contactar:

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor luiscoco » 13 Nov 2014 00:41

Ok comienzo el programa, objetos separación bytes 09-16 + comentarios partidos en palabras + zona de rutinas
a ver como queda

Avatar de Usuario
luiscoco
Mensajes: 2337
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 34 veces
Agradecimiento recibido: 46 veces
Contactar:

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor luiscoco » 13 Nov 2014 01:22

Lista la división
Queda asi:

LABEL: DB (8 bytes, separados por comas)
DW (4 word)
DB ( varios bytes no se si independientes o corridos, dependiendo del primer bytes)
-- Varias veces hasta $FF---
DB ID
DW Rutina
---------------------------------
Me faltan los comentarios (trataré de ponerlos yo).

Muestra:

Código: Seleccionar todo

L_C11B:   DB $01,$FF,$10,$40,$10,$40,$40,$E0
   DW L_87A8
   DW L_0000
   DW L_0000
   DW L_0000
   DB $01
   DB $1B
   DW L_92B5
   DB $00
   DW L_90D2
   DB $FF
L_C133:   DB $01,$FF,$C0,$60,$00,$C0,$C0,$E0
   DW L_01C8
   DW L_0536
   DW L_02F3
   DW L_0000
   DB $29
   DB $FF
Adjuntos
Conteos2.zip
(372.07 KiB) Descargado 67 veces

Avatar de Usuario
luiscoco
Mensajes: 2337
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 34 veces
Agradecimiento recibido: 46 veces
Contactar:

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor luiscoco » 13 Nov 2014 02:32

Porfa quitame este comentario que puse hace mucho para ayudarme a contar ( ;40)

Código: Seleccionar todo

L_C28D:   DB $02,$FF,$40,$FF,$00,$50,$50,$80,$C0,$01,$E8,$02,$7C,$00,$00,$00,$13,$14
   DB $10,$0E,$91,$0C,$38,$91,$0B,$ED,$92,$18,$EC,$8E,$1E,$3B,$8F,$2C,$A4,$94,$0B,$ED,$92,$FF ;40      ;0a [ff] door goblins back   

Y este (;34)

Código: Seleccionar todo

L_C344:   DB $02,$FF,$FF,$FF,$00,$FF,$FF,$80,$C0,$01,$E8,$02,$00,$00,$00,$00,$10,$0D
   DB $10,$C0,$A4,$0C,$38,$91,$1E,$3B,$8F,$18,$EC,$8E,$2C,$A4,$94,$FF;34               ;11 [ff] door goblins   

Me estorban para la conversión, yo ya lo hice acá, pero para que quede bien en la tuya, si puedes también manda versión nueva, con nuevo número de versión

Avatar de Usuario
luiscoco
Mensajes: 2337
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 34 veces
Agradecimiento recibido: 46 veces
Contactar:

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor luiscoco » 13 Nov 2014 03:17

Listo con comentarios y todo, solo faltan las dos frases que las haces a mano porfa

Muestra

Código: Seleccionar todo

L_C11B:   DB $01,$FF,$10,$40,$10,$40,$40,$E0      ; Añadida por obligacion ... llamada desde 17 lugares!
   DW L_87A8      ;
   DW L_0000
   DW L_0000
   DW L_0000
   DB $01
   DB $1B
   DW L_92B5
   DB $00
   DW L_90D2
   DB $FF
L_C133:   DB $01,$FF,$C0,$60,$00,$C0,$C0,$E0      ;3c [ff] dragon red golden   
   DW L_01C8      ;dragon
   DW L_0536      ;red
   DW L_02F3      ;golden
   DW L_0000
   DB $29
   DB $FF
L_C145:   DB $02,$FF,$FF,$FF,$00,$00,$10,$80      ;05 [ff] door round green   
   DW L_01C0      ;door
   DW L_055F      ;round
   DW L_0304      ;green
   DW L_0000
   DB $01
   DB $04
   DB $0B
   DW L_92ED
   DB $0C
   DW L_9138
   DB $10
   DW L_910E
   DB $18
   DW L_8EEC
   DB $1E
   DW L_8F3B
   DB $25
   DW L_A358
   DB $26
   DW L_A358
   DB $2C
   DW L_94A4
   DB $FF
L_C170:   DB $02,$FF,$FF,$FF,$00,$00,$90,$81      ;01 [ff] door heavy rock   
   DW L_01C0      ;door
   DW L_0327      ;heavy
   DW L_0553      ;rock
   DW L_0000
   DB $07
   DB $06
   DB $0B
   DW L_92ED
   DB $0C
   DW L_9138
   DB $10
   DW L_910E
   DB $18
   DW L_8EEC
   DB $1E
   DW L_8F3B
   DB $25
   DW L_A338
   DB $26
   DW L_A338
   DB $2C
   DW L_94A4
   DB $FF


CORREGIDOS LOS ERRORES EN OPCIONES 1-2-3, Me paso al otro Hilo
Adjuntos
Conteos3.zip
(388.93 KiB) Descargado 72 veces

Avatar de Usuario
pser1
Mensajes: 2226
Registrado: 08 Dic 2012 18:34
Agradecido : 302 veces
Agradecimiento recibido: 327 veces

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor pser1 » 13 Nov 2014 13:39

hola Luis,

después de comer ya podré empezar con los objetos, me los voy a tener que mirar con mucha atención para poder detectar las etiquetas que empiezan por una cifra superior a 6
Como he indicado en el otro hilo (no tocaba decirlo allí!), los cambiaré por la etiqueta real de la palabra mas un offset que representa el atributo de la palabra, recuerdas lo del mode que
está indicado por los bits 4-5-6 del byte alto ... pues aquí también lo aplican.

espero poder liquidarlo hoy mismo, o cuando menos tener claro que hay que hacer para tenerlos correctamente estructurados.
seguimos en contacto.

saludos
pere

Avatar de Usuario
pser1
Mensajes: 2226
Registrado: 08 Dic 2012 18:34
Agradecido : 302 veces
Agradecimiento recibido: 327 veces

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor pser1 » 13 Nov 2014 20:38

justo, pero he acabado.
Te subo la última versión del fichero con tu trabajo sobre los objetos, ha quedado perfecto -thumbup
He añadido comentarios indicando donde apuntan los punteros que separaste con DW, así se ve mas claro, de paso he seguido incrementando el número de párrafos numerados,
valga la redundancia, ahora ya hay 287 -banghead
La parte buena es que muchos párrafos hasta ahora huérfanos ahora ya están siendo utilizados desde algún sitio.
Verás que para las palabras he tenido que jugar a matemáticas para obtener el mismo resultado que espera el programa, pero usando la etiqueta real de la palabra.
He hecho malabares, pero me parece mejor que se vean los atributos de la palabra claramente.

saludos
pere
Adjuntos
HOBASM_V8L tras cambios objetos.ASM.zip
Otra más!
(148.15 KiB) Descargado 68 veces

Avatar de Usuario
luiscoco
Mensajes: 2337
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 34 veces
Agradecimiento recibido: 46 veces
Contactar:

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor luiscoco » 13 Nov 2014 21:17

Libre y pendiente

Avatar de Usuario
pser1
Mensajes: 2226
Registrado: 08 Dic 2012 18:34
Agradecido : 302 veces
Agradecimiento recibido: 327 veces

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor pser1 » 13 Nov 2014 21:50

Hola Luis,
acabo de pasar tu utilidad al fichero actual y me ha detectado tres problemas de etiquetas que apuntan a sitios inexistentes.
Los he buscado y he corregido los errores. Es perfecto poder detectar este tipo de errores tan fácilmente -thumbup
Por si acaso subo de nuevo el fichero de trabajo con el mismo nombre.

- Podemos empezar a tratar de cerrar rutinas, y con ello me refiero a completarlas con comentarios y sustituir el número asociado por una palabra que identifique bien lo que hacen.
El ranking de rutinas ahora saca esto (reordenando los JP y JR)
Se podría empezar por la primera y seguir hasta la última de la lista.

- Se nos abren muchos frentes gracias a las ideas aportadas por lo compañeros en el hilo "Consultas técnicas"
así que también podemos tomar la lista de ideas/sugerencias de los expertos y tratar de ahondar en ellas. La verdad es que se aclaran cosas, lo malo es que requieren bastante tiempo.

¿Se te ocurre alguna otra cosa que te apetezca mas hacer?

saludos
pere

Código: Seleccionar todo

Se encontraron  2099  labels
                       (Datos) (CALL) (JP-JS)
L_9F76:                ( 0 ) - ( 2 ) - ( 29 )
L_858B:                ( 0 ) - ( 26 ) - ( 0 )
L_A1E3:                ( 0 ) - ( 1 ) - ( 16 )
L_A16C:                ( 0 ) - ( 1 ) - ( 14 )
GetPosRandom:          ( 0 ) - ( 14 ) - ( 0 )
L_75B4:                ( 1 ) - ( 0 ) - ( 13 )
GetLocPointer2IX:      ( 0 ) - ( 13 ) - ( 0 )
PR_TOKEN:              ( 0 ) - ( 12 ) - ( 2 )
L_8583:                ( 0 ) - ( 12 ) - ( 1 )
FIND_PTR:              ( 0 ) - ( 11 ) - ( 0 )
L_90D2:                ( 1 ) - ( 0 ) - ( 10 )
L_9901:                ( 1 ) - ( 0 ) - ( 10 )
L_95ED:                ( 0 ) - ( 8 ) - ( 0 )
L_A03D:                ( 0 ) - ( 0 ) - ( 7 )
CallSubrutinaHL:       ( 0 ) - ( 7 ) - ( 0 )
SET_ZERO:              ( 0 ) - ( 6 ) - ( 0 )
L_97FF:                ( 0 ) - ( 6 ) - ( 0 )
L_9B93:                ( 0 ) - ( 6 ) - ( 0 )
L_9BA9:                ( 0 ) - ( 6 ) - ( 0 )
L_9BDD:                ( 0 ) - ( 6 ) - ( 3 )
Adjuntos
HOBASM_V8L tras cambios objetos.ASM.zip
corregidos errores de etiquetas
(148.16 KiB) Descargado 72 veces

Avatar de Usuario
luiscoco
Mensajes: 2337
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 34 veces
Agradecimiento recibido: 46 veces
Contactar:

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor luiscoco » 14 Nov 2014 01:07

Podría avanzar con las rutinas mias, creo que voi por la 1 7
O hacer un progama que te rellene linobvias,
también pasa algo , que uno no se entera de lo que tu ya tienes claro, tu ya estudiaste rutinas, nosotros las tenemos que releer o estudiar y a veces no hay tiempo. Por eso sólo tenemos visiones parciales de zonas deprograma y no global

Me gustaría tener una idea general más clara, como un croquis o esquema
Voy a ver que hago

Propongo un fomato para las rutinas, en los comentarios donde la llamen , se podría escribir algo así GetObjPointer2IX(A, IX) como si tubiera parámetros, esto ayuda a ver claramente que registros usa en la llamada, incluso se podria especificar algo del valor de retorno, por ejemplo IX=GetObjPointer2IX(A, IX), o alguna manera de identificar varios registros de retorno, yo se que faltarían cosas como valores de retorno escritos en direcciones y escritos en el stack pero la idea es que en un sólo vistazo se sepa mucho de que hace, con que (que necesita), y que retorna

Avatar de Usuario
pser1
Mensajes: 2226
Registrado: 08 Dic 2012 18:34
Agradecido : 302 veces
Agradecimiento recibido: 327 veces

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor pser1 » 14 Nov 2014 11:26

Buenos días Luis,

luis46coco escribió:Podría avanzar con las rutinas mias, creo que voi por la 1 7

me parece correcto ir avanzando con las rutinas que sea, entiendo que con las que has ido marcando lo tendrás mas claro.

O hacer un progama que te rellene linobvias,

Esto podría ayudarnos mucho!
El programa está repleto de JR y JP no comentados
Suelen tener una condición controlada por un flag (o ninguna condición) seguido de una etiqueta
Supongo que se podría hacer algo del tipo:
un JR ó JP seguido de etiqueta, añadirle comentario - - - - - ; salta a Etiqueta
un JR ó JP seguido de flag (sin N delante), añadirle comentario - - - - - ; si flag W=1, salta a Etiqueta
un JR ó JP seguido de flag (CON N delante), añadirle comentario - - - - - ; si flag W=0, salta a Etiqueta
Seguro que puede haber otras casuísticas, si las detectas, los añades también.
Cuantas mas líneas estén comentadas en un bloque incompleto, mas atraen la atención para completarlos

también pasa algo , que uno no se entera de lo que tu ya tienes claro, tu ya estudiaste rutinas, nosotros las tenemos que releer o estudiar y a veces no hay tiempo. Por eso sólo tenemos visiones parciales de zonas de programa y no global
Me gustaría tener una idea general más clara, como un croquis o esquema
Voy a ver que hago

Esto va a ser inevitable ya que, está claro, que dispongo de mas tiempo para dedicarle al proyecto, y encima en el hilo de consultas técnicas nos abruman con cantidad de ideas que requieren estudio y por tanto bastante tiempo ...
Pienso que lo del diagrama de bloques es una guerra perdida Luis. Necesitaríamos una sábana para poner todos los párrafos/funciones en que lo hemos descompuesto -banghead

Propongo un formato para las rutinas, en los comentarios donde la llamen , se podría escribir algo así GetObjPointer2IX(A, IX) como si tubiera parámetros, esto ayuda a ver claramente que registros usa en la llamada, incluso se podria especificar algo del valor de retorno, por ejemplo IX=GetObjPointer2IX(A, IX), o alguna manera de identificar varios registros de retorno, yo se que faltarían cosas como valores de retorno escritos en direcciones y escritos en el stack pero la idea es que en un sólo vistazo se sepa mucho de que hace, con que (que necesita), y que retorna

Muy buena idea -thumbup
Lo ideal sería emplear, en la definición de la rutina, el mismo esquema que en los lenguajes de alto nivel, tipo:
ValorRetornado NombreDeFuncion (lista parámetros con su tipo)

De momento yo tengo unas cuantas cosas que aclarar con las respuestas que nos han dado en el hilo de "consultas técnicas"
Por ejemplo con las notas de Chema ayer quedó aclarado para que sirve la rutina #230#

saludos
pere

Avatar de Usuario
pser1
Mensajes: 2226
Registrado: 08 Dic 2012 18:34
Agradecido : 302 veces
Agradecimiento recibido: 327 veces

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor pser1 » 15 Nov 2014 17:54

Bien,

tras añadir mas de 3000 comentarios de forma automatizada, con la utilidad que ha programado Luis -thanks
Esta es la situación actual del documento de trabajo ya en versión N.

@Luis
me he guardado la versión anterior al añadido de comentarios automáticos por si hubiera que cambiar algo, pero no creo que haga falta ...

saludos
pere

Pd. solo para picarte un poco, me da la impresión de que todavía podríamos añadir a tu utilidad alguna instrucción de las pocas que quedan por comentar -507
Ya lo estudiamos y hablamos mas adelante ...
Adjuntos
HOBASM_V8N1.ASM - con comentarios añadidos.zip
(156.3 KiB) Descargado 114 veces

Avatar de Usuario
luiscoco
Mensajes: 2337
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 34 veces
Agradecimiento recibido: 46 veces
Contactar:

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor luiscoco » 16 Nov 2014 15:09

Buen avance al 74%, aunque llega a un máximo de 90%, luego decae, revisare la rutina, porque es posible que los datos interfieran o lineas que no se van a comentar

Avatar de Usuario
pser1
Mensajes: 2226
Registrado: 08 Dic 2012 18:34
Agradecido : 302 veces
Agradecimiento recibido: 327 veces

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor pser1 » 16 Nov 2014 20:07

ahi va la última versión para resincronizarnos ...

saludos
pere
Adjuntos
HOBASM_V8N3 - en curso.zip
(156.26 KiB) Descargado 98 veces

Avatar de Usuario
pser1
Mensajes: 2226
Registrado: 08 Dic 2012 18:34
Agradecido : 302 veces
Agradecimiento recibido: 327 veces

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor pser1 » 17 Nov 2014 00:23

@luis

te subo el fichero antes y después de moverle numeros de parrafo . Tu mismo!!

saludos
pere

EDITO: He eliminado la versión V9.01 ya que solo era un intento de mover numeraciones de párrafos para facilitar un listado. No aportaba nada de nada al trabajo en curso.
Me he guardado una copia por si acaso ...
Adjuntos
HOBASM_V9.00 - Localizaciones y mas comentarios.zip
SIN TOCAR NUMERACIONES
(159.44 KiB) Descargado 93 veces

Avatar de Usuario
pser1
Mensajes: 2226
Registrado: 08 Dic 2012 18:34
Agradecido : 302 veces
Agradecimiento recibido: 327 veces

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor pser1 » 17 Nov 2014 17:50

para no provocar malentendidos con la versión V9.01 subida anteriormente y eliminada del post, subo ahora la V9.02 como
la última que contiene los cambios de ubicación de algunos números de párrafo para facilitar el listado de rutinas de Luis
además de correcciones en dichas numeraciones.

saludos
pere
Adjuntos
HOBASM_V9.02 - reubicación numeraciones párrafos.zip
(159.46 KiB) Descargado 106 veces

Avatar de Usuario
luiscoco
Mensajes: 2337
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 34 veces
Agradecimiento recibido: 46 veces
Contactar:

Re: Fuente The Hobbit V1.2 ASM Z80 ZX Spectrum 48K.

Mensajepor luiscoco » 17 Nov 2014 18:05

Luego la bajo, estoy en la calle.
BUeno estamos listos, esta tarde trataré de hacer el ordenador


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