Ayuda en traducción

Programando el Amstrad en Ensamblador.
Reglas del Foro
Debido a que hay varios temas pidiendo ayuda para programar en ensamblador máquinas distintas al Amstrad CPC, con micro distinto al Z80 y que incluso dependen del sistema operativo, nos vemos en la necesidad de poner por escrito que estos posts son bienvenidos pero que no es el lugar adecuado ya que por estos lares nos dedicamos más al ensamblador del Z80, un microprocesador de 8 bits que tuvo su gran auge en ordenadores y consolas de los años 80.

De todas formas, esto no quita que alguien que sepa del asunto pueda postear alguna respuesta pero es más fácil encontrar foros dedicados a programar en ensamblador en Windows o MS-DOS que ayudarán más que nosotros:
http://www.lawebdelprogramador.com/news ... nsamblador
Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Ayuda en traducción

Mensajepor Poliyo » Mar 17 Jul , 2018 7:25 pm

Buenas a todos!
Estoy traduciendo el juego Petrol John.
Me he encontrado que parte del texto está en un fichero binario, pero editándolo no se ve nada así que sospecho que lo que hace es "dibujar" el texto o llamar a una "mini pantalla".
La parte del código que lo llama es esta:
580 '*** TEXTE ANGE-DEMON ***
590 GOSUB 1370:ON TV+1 GOSUB 600,610,620,630,640,650,660,670:GOSUB 1380:RETURN
600 CALL &C7D0,&40E0,&C142,3,8:CALL &C7D0,&41A0,&C17E,3,8:RETURN
610 CALL &C7D0,&4260,&C142,3,8:CALL &C7D0,&4320,&C17E,3,8:RETURN
620 CALL &C7D0,&43E0,&C142,3,8:CALL &C7D0,&44A0,&C17E,3,8:RETURN
630 CALL &C7D0,&46E0,&C142,3,8:CALL &C7D0,&47A0,&C17E,3,8:RETURN
640 CALL &C7D0,&4560,&C142,3,8:CALL &C7D0,&4620,&C17E,3,8:RETURN
650 CALL &C7D0,&4860,&C142,3,8:CALL &C7D0,&43E0,&C17E,3,8:RETURN
660 CALL &C7D0,&4920,&C142,3,8:CALL &C7D0,&4920,&C17E,3,8:RETURN
670 CALL &C7D0,&49E0,&C142,3,8:CALL &C7D0,&4AA0,&C17E,3,8:RETURN

Como veis son Call con parámetros, no conozco muy bien como funcionan pero intuyo que el primero parámetro corresponde a línea de pantalla, el segundo el inicio en el BIN, el tercero la columna de pantalla y cuarto y quinto que siempre valen lo mismo ni idea.

La verdad es que el juego no tiene mala pinta.

¿Se os ocurre algo?
xx-petrjohn.dsk
Me falta traducir el tutorial, un texto "jours" que no encuentro por ninguna parte y cambiar los condicionales, estos son con Inkey, no con Inkey$ y me falta el valor de la tecla S.

Avatar de Usuario
a13x15
Lechoncillo
Lechoncillo
Mensajes: 15
Registrado: Mié 23 Ago , 2017 6:19 pm
Ubicación: the matrix

Re: Ayuda en traducción

Mensajepor a13x15 » Mar 17 Jul , 2018 9:48 pm

Que currada te estas metiendo entre traducir y preservar. =D>

El primer valor es la dirección de la subrutina (ubicada justo tras la memoria de vídeo) a la que está llamando. El resto son parámetros y solo puedo especular, aunque coincido contigo: el segundo parece ser la dirección en la que está el texto (cargado de alguno de los bin), el tercero la dirección de memoria de vídeo en la que pintar (coincide con el "inicio" de los globos del ángel y el diablo, los píxeles pintados en cian) y los dos último tal vez el ancho y alto de la zona de pintado (en los globos caben 8 columnas y tres líneas).
screenshot_20180717_203530.png
(8.53 KiB) No descargado aún
Mirando la memoria (la dirección del 2do parámetro) con el winape no veo texto. Podría ser un bitmap :?: . Mañana, si tengo un ratillo, intento ejecutarlo con el depurador a ver si puedo deducir como funciona la rutina en &c7d0 ... no prometo nada, estoy empezando con el ensamblador del z80.

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Ayuda en traducción

Mensajepor Poliyo » Lun 23 Jul , 2018 12:40 pm

xx-petrjohn.dsk
Bueno, este es ya el juego traducido pendiente de los dos bocadillos.
Si nadie tiene alguna idea o solución "sencilla" veré de ser un poco bestia y "locatear" texto en ellos.
También necesito que si alguien tiene la equivalencia de INKEY de las teclas O y S me las ponga para poder cambiar los condicionales.
El juego no tiene manual colgado pero tiene todas las instrucciones en el cargador, así que realmente no hacen falta.

Avatar de Usuario
MiguelSky
Lord of Short Time
Lord of Short Time
Mensajes: 6971
Registrado: Sab 08 Oct , 2005 2:02 am
Contactar:

Re: Ayuda en traducción

Mensajepor MiguelSky » Lun 23 Jul , 2018 1:44 pm

El código para S es 60 y para O 34.

Avatar de Usuario
MiguelSky
Lord of Short Time
Lord of Short Time
Mensajes: 6971
Registrado: Sab 08 Oct , 2005 2:02 am
Contactar:

Re: Ayuda en traducción

Mensajepor MiguelSky » Lun 23 Jul , 2018 2:35 pm

Investigando sobre los bocadillos, parece que vuestras deducciones son correctas. en las áreas del CALL &40E0, en adelante están los textos archivados de forma linear, se pintan las lineas de texto por filas de píxeles (con el GFX Mapper de JavaCPC o WinAPE se pueden ver si elegís mode 2). Encontrando esas cadenas en los archivos (que deben estar en petrol4.bin) y sustituyéndolas por las traducidas tendríamos el tema resuelto.

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Ayuda en traducción

Mensajepor Poliyo » Lun 23 Jul , 2018 2:59 pm

Está tarde veo de trastear a ver si me aclaro

Avatar de Usuario
a13x15
Lechoncillo
Lechoncillo
Mensajes: 15
Registrado: Mié 23 Ago , 2017 6:19 pm
Ubicación: the matrix

Re: Ayuda en traducción

Mensajepor a13x15 » Lun 23 Jul , 2018 3:22 pm

Gracias por confirmarlo.

Estuve haciendo pruebas pero entre que soy novato y que el winape me hacia cosas raras con los breakpoints no estaba muy seguro de mis conclusiones. Probaré lo del winape y javacpc. Por lo que dices entiendo que es algún tipo de herramienta para visualizar mapas de bits cargados en memoria. Parece muy útil para "destripar" juegos.

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Ayuda en traducción

Mensajepor Poliyo » Lun 23 Jul , 2018 5:30 pm

No me aclaro Miguel.
A ver.
Abrí Win Ape y fuí a Debug / Find Graphics
En Address puse 40e0 (habiendo cargado antes el programa en memoria)
Paso a Modo 2
Pero lo que veo en pantalla no tiene sentido, he ido cambiando parámetros el ancho lo he pasado a 64 (8 caracteres de ancho por 8 pixeles por caracter) y a 24 de alto (3 caracteres de alto por 8 pixeles) pero ni así.
No se si es que no estoy donde me corresponde o es otro sitio.
Los parametros que aparecen son:
Mode (a dos) Zoom (en defecto a 3 pero lo he ido cambiando y nada) address (40e0) width (64) height (24) encoding (cpc, he ido cambiando y no veo nada identificativo)

Edito,
con 24*8 se ve texto pero no logro que esté centrado así que si traduzco podría traducir donde no corresponde.

Avatar de Usuario
MiguelSky
Lord of Short Time
Lord of Short Time
Mensajes: 6971
Registrado: Sab 08 Oct , 2005 2:02 am
Contactar:

Re: Ayuda en traducción

Mensajepor MiguelSky » Lun 23 Jul , 2018 5:49 pm

Estaba respondiéndote cuando he visto que ya has encontrado los parámetros. Pues me temo que tendrá que ir un poco en ensayo/error para dar con la clave. Yo nunca me entero en el Graphics Finder a qué corresponde cada cosa.
Adjuntos
textos.png

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Ayuda en traducción

Mensajepor Poliyo » Lun 23 Jul , 2018 5:58 pm

Guau... si que va a ser artesanal.
Bueno, esperaba tenerlo acabado antes de que empezasen mis vacaciones... a ver si tengo suerte.
Por lo menos los condicionales ya están solucionados.
Sigo sin encontrar en puñetero Jours que aparece arriba a la izquierda que forma parte de la cuenta atras de los 90 días que dura el juego

Avatar de Usuario
MiguelSky
Lord of Short Time
Lord of Short Time
Mensajes: 6971
Registrado: Sab 08 Oct , 2005 2:02 am
Contactar:

Re: Ayuda en traducción

Mensajepor MiguelSky » Lun 23 Jul , 2018 6:07 pm

El jours está incluido en petrol5.bin como parte del interfaz del juego :( Siempre se podría editar la imagen. Por cierto, a veces dice "yaciemientos"

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Ayuda en traducción

Mensajepor Poliyo » Lun 23 Jul , 2018 6:31 pm

Si, me queda una depuración de algunas cosas que he visto mal escritas y otras que están descuadradas.

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Ayuda en traducción

Mensajepor Poliyo » Lun 23 Jul , 2018 6:44 pm

Ok, Acabo de ver el petrol5... y yo como un gilipoyas buscando el texto en el 3.
Bueno, eso explica un pantallazo que veía con el Dans le bureau que desaparecía enseguida y tampoco lo encontraba.
Eso es un poco de Advanced Art Studio y ya está, pero por lo que estoy viendo este se queda para después de las mini vacaciones.
Gracias por lo de los yaciemientos.
Je, ahora echo de menos un programa sencillo y rápido de traducir porque entre este y los otros dos que llevo en paralelo anda que monstruos

Poliyo
Keeper of The Forum
Keeper of The Forum
Mensajes: 909
Registrado: Jue 12 May , 2016 10:07 pm
Ubicación: Valencia

Re: Ayuda en traducción

Mensajepor Poliyo » Lun 23 Jul , 2018 7:19 pm

xx-petrjohn 2.dsk
(190.25 KiB) Descargado 40 veces
Gracias por la pista del petrol5 Miguel.
Ha sido mas rápido de lo que esperaba, eso si, ya no tengo la soltura que tenía con el Art Studio que tenía antes.
Ahora solo faltan el diablo y el angel.
A, creo que ya corregí el yacimiento, justo era una linea que se usaba en distintas partes.
También corregi un encuadre.


¿Quién está conectado?

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


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic