Player Manager (Spanish Version) ADF

This forum is dedicated to the original version of Player Manager

Moderator: Moderators

User avatar
Steve Camber
Mad! 7000+ poster!
Mad! 7000+ poster!
Posts: 7511
Joined: Sat Jun 16, 2001 12:00 am
Location: Sheffield, England
Contact:

Re: Player Manager (Spanish Version) ADF

Postby Steve Camber » Thu Sep 12, 2013 6:32 am

Great work!
Not sure why the offset was slightly different, but probably some simple explanation :)
--
SteveC - Kick Off engineer - Ranked somewhere waaaay down the list
18 Dec 2003 - "One day I'm going to disassemble the 68000 code, and find out exactly what's going on in there!! "

Ask me about online KO2 :)
phenomenon
Posting is free!!!
Posting is free!!!
Posts: 8
Joined: Tue Sep 03, 2013 3:41 pm

Re: Player Manager (Spanish Version) ADF

Postby phenomenon » Mon Sep 23, 2013 8:25 pm

New release of Player Manager (Spanish Version). Some texts have been improved and 90% of in game text have been already tested.

Download Link --> Player Manager (1990)(Anco)(sp) 23-09-2013 by phenomenon

Image

Anyway, I'm trying to locate the address in memory (Freezing with AR MKIII) in order to fix the word "Edad" in Transfer List that is not fully showed and the last character is missing. The game shows "Eda" although it is fully translated to "Edad", I don't know why this happens because all other texts are properly showed. I wonder if there is a way to change this because, for example, the Italian version of this game shows 4 characters. I'm using Action Replay MKIII ROM with WinUAE emulator to disassemble the code and try to find this error.

Code: Select all

00D544 CMPI.B #7F,D0 -----> compara ultimo caracter en D0 con 7F
00D548 BGT 0000D572 ------> salta si el caracter en D0 > 7F
00D54A CMPI.B #30,D0 -----> compara ultimo caracter en D0 con un 0
00D54E BLT 0000D56E ------> salta si el caracter en D0 < un 0
00D550 CMPI.B #39,D0 -----> compara ultimo caracter en D0 con un 9
00D554 BLE 0000D572 ------> salta si el caracter en D0 =< un 9
00D556 CMPI.B #41,D0 -----> compara ultimo caracter en D0 con una A
00D55A BLT 0000D56E ------> salta si el caracter en D0 < una A
00D55C CMPI.B #5A,D0 -----> compara ultimo caracter en D0 con una Z
00D560 BLE 0000D572 ------> salta si el caracter en D0 =< una Z
00D572 CMPI.W #FFFF,D0 ---> compara ultimo caracter en D0 con FFFF
00D576 RTS ---------------> sale de subrutina y vuelve al punto donde estaba
...
...
00D5E2 MOVE.B (A3)+,D0 ---> pone en D0 caracter actual de palabra a mostrar y aumenta indice/pos. caracter actual del texto
00D5E4 CMPI.B #7E,D0 -----> comprueba si el caracter actual es ~ (salto linea)
00D5E8 BEQ 0000D626 ------> salta si es igual a ~
...
00D5EA MOVE.B D0,(A0)+ ---> pone en pos.mem. apuntada por A0 el caracter actual de D0 y aumenta indice A0
00D5EC BEQ 0000D63C ------> salta si el caracter actual es igual al anterior
...
00D5EE ADDQ.W #1,D1 ------> aumenta en 1 el indice del caracter
00D5F0 CMP.W D3,D1 -------> compara indice actual con long. total (D1 = indice actual, D3 = indice final)
00D5F2 BLE 0000D5E2 ------> salta a 00D5E2 si D1 =< D3
...
...
00D5F4 MOVEA.L A3,A2 -----> pone en A2 la dir.mem. de A3
00D5F6 MOVEA.L A0,A1 -----> pone en A1 la dir.mem. de A0
00D5F8 MOVE.B -(A2),D0 ---> resta 1 al indice caracter A2 (ya que actual es 00) y pone en D0 el ultimo caracter del texto
00D5FA SUBQ.L #1,A1 ------> resta 1 a A1
00D5FC CMPI.B #29,D0 -----> compara ultimo caracter del texto con 29 (parentesis cerrado)
00D600 BEQ 0000D608 ------> salta si es igual a parentesis cerrado
...
00D602 JSR D544(PC) ------> llama a subturina en 0000D544
00D606 BEQ 0000D612 ------> salta si ultimo caracter en D0 = FFFF
00D608 SUBQ.W #1,D1 ------> resta 1 a posicion indice actual caracter (D1) y lo iguala con el tamaño total en D3
00D60A BGT 0000D5F8 ------> salta a 0000D5F8 si D1 es mayor

===================================================================================

00E4AC LEA 0(A2,D0.L),A2 --> 00019EF8 (Edad.Experiencia.Equipo.Mercado Fichajes....)
00DBD4 EXG A3,A2 ----------> en registro A3 esta la direccion 00019EF8 donde empieza Edad

00D740 EXT.L D0
00D742 DIVU.W -2CF0(A4),D0
00D746 JSR D5C6(PC)

I'm still trying to understand this morotola 68000 code, but with no luck yet.

Thanks.
User avatar
Steve Camber
Mad! 7000+ poster!
Mad! 7000+ poster!
Posts: 7511
Joined: Sat Jun 16, 2001 12:00 am
Location: Sheffield, England
Contact:

Re: Player Manager (Spanish Version) ADF

Postby Steve Camber » Tue Sep 24, 2013 12:25 am

Each visible text string in these menus has a position x,y and a box for it to fit in (width, height).

The box for this string has a width of 20 and a height of 9. When you set the string to 4 characters, it does not fit in the box, so it gets cropped back down to 3 characters. I have forced the box to 30 in the debugger and Edad gets displayed correctly.

Making this change permanent is another task entirely!
Menu data is stored within the "files.crn" file (along with tactics, teams, kits). It's compressed so it's not a simple hex edit.

It is possible to achieve however by getting PM to decompress it, saving out the result to a new file, and disabling the compression routine within PM. Everything within files.crn can then be hexedited.
--
SteveC - Kick Off engineer - Ranked somewhere waaaay down the list
18 Dec 2003 - "One day I'm going to disassemble the 68000 code, and find out exactly what's going on in there!! "

Ask me about online KO2 :)
User avatar
Steve Camber
Mad! 7000+ poster!
Mad! 7000+ poster!
Posts: 7511
Joined: Sat Jun 16, 2001 12:00 am
Location: Sheffield, England
Contact:

Re: Player Manager (Spanish Version) ADF

Postby Steve Camber » Tue Sep 24, 2013 3:20 pm

At memory location 00078A44 you should find..

0007 8A1E 0007 8A6A 0079 0016 0014 0009

Increase the 0014 to 0024 for instance, and you will get the full word.

Just do that every time you run the game ;)
--
SteveC - Kick Off engineer - Ranked somewhere waaaay down the list
18 Dec 2003 - "One day I'm going to disassemble the 68000 code, and find out exactly what's going on in there!! "

Ask me about online KO2 :)
phenomenon
Posting is free!!!
Posting is free!!!
Posts: 8
Joined: Tue Sep 03, 2013 3:41 pm

Re: Player Manager (Spanish Version) ADF

Postby phenomenon » Tue Sep 24, 2013 8:23 pm

As always, thanks for the info and your help, Steve. I also got the same result changing box size from memory, but you're right, this can not be changed from hex editor. So I'll leave as it is. It's a minor error ;-)

Thanks.

Who is online

Users browsing this forum: No registered users and 2 guests