[SFC]Vọc Tsubasa III

Thảo luận trong 'Thảo luận chung' bắt đầu bởi asm65816, 24/3/16.

  1. ozone

    ozone Donkey Kong Lão Làng GVN

    Tham gia ngày:
    4/4/05
    Bài viết:
    407
    Nơi ở:
    Recycle Bin
    See my post at http://gvn.co/threads/sfc-voc-tsubasa-iii.1247764/page-2#post-26594023.

    When each player holds the ball, you will have the first menu with a pointer value, the way to find this pointer you see my previous posts (#22 and #23).

    This first menu includes 6 basic moves in the order Shoot || Pass || Dribble || Combi || Block || Tackle || PassCut||.
    In each move, if there is a "skill", the position there will be a pointer value pointing to the corresponding skill chain, if there is no skill then the value there is 00 00.

    For example in post #24 with Tsubasa, at 2FB02 (game address) is the pointer value pointing to the menu of 6 moves of Tsubasa: AC FB => 2 FB AC (same bank 2 and little endian).
    Next Goto to 2 FB AC you will see the value chain 80 FE || FC FE || FF FE || 07 FF || 00 00 || 1D FF || 00 00 ||.
    In which 80 FE (2 FE 80 ) is the pointer to the Shoot menu; 2 FE FC is the pointer to the Pass menu, etc. of Tsubasa.
    You will see that Tsubasa does not have Block and PassCut skills by default, so the pointer value here is 00 00.

    So for generic players, when you set a breakpoint and log debug there and find the pointer address to the first menu, you will see that the value pair of the "Shoot" menu is 00 00.
    Most genenic players will use this same pointer.

    The next thing you need to do is replacing the value pair 00 00 at the "Shoot" position with a pointer address where the value is the shoot skill string you want.
    You can review how I replaced all of Schnider's Shoot Skills for Tsubasa by changing the Pointer value of the "Shoot" menu.
     
  2. hermannvinole

    hermannvinole Youtube Master Race

    Tham gia ngày:
    9/10/24
    Bài viết:
    7
    Hello!
    Thank you very much for your valuable help. These days I have learned several things.
    I have good news and bad news to tell you!!

    The good news is that I found the offset to modify generic players.
    I tried with the generic Sao Paulo players, adding the Drive Shot and it worked well.
    The offset is 2FB9E.

    The bad news, at least in the test I tried with Sao Paulo, is that the game shows strange behavior when two consecutive Drive Shots are performed with generic players.
    A strange animation appears and the game crashes.

    Will there be a solution? Check offset 2FB9E and see that animation, that crashes the game.
     
  3. ozone

    ozone Donkey Kong Lão Làng GVN

    Tham gia ngày:
    4/4/05
    Bài viết:
    407
    Nơi ở:
    Recycle Bin
    Hello,
    At my post http://gvn.co/threads/sfc-voc-tsubasa-iii.1247764/#post-26590298
    with link gamefaqs (still working), they mention to Ram Addresses: when you select Shoot (Right + A) - 7E04B6 and after that when you accessed Shoot Menu - 7E0471.
    With Generic Player, they don't have any shoot skills - don't have shoot menu so game don't process the address 7E0471.

    At my previous post, the first game offset for all player is 2FB00 + Index Player. When you had full log as above you can search $FB00 to locate where game process shoot and next shoot menu, if you can't find $FB00 so you did wrong to get log.

    For example I will search log of No.8 Babington, I have
    Mã:
    $02/F12E C2 20       REP #$20                A:0005 X:0012 Y:0000 D:1800 DB:05 S:1C2B P:envMXdIzcHC:0422 VC:253 00 FL:2086
    $02/F130 BD 00 FB    LDA $FB00,x[$05:FB12]   A:0005 X:0012 Y:0000 D:1800 DB:05 S:1C2B P:envmXdIzcHC:0444 VC:253 00 FL:2086
    $02/F133 85 19       STA $19    [$00:1819]   A:FB9E X:0012 Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:0484 VC:253 00 FL:2086
    $02/F135 E2 20       SEP #$20                A:FB9E X:0012 Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:0516 VC:253 00 FL:2086
    $02/F137 AB          PLB                     A:FB9E X:0012 Y:0000 D:1800 DB:05 S:1C2B P:eNvMXdIzcHC:0538 VC:253 00 FL:2086
    $02/F138 28          PLP                     A:FB9E X:0012 Y:0000 D:1800 DB:04 S:1C2C P:envMXdIzcHC:0566 VC:253 00 FL:2086
    $02/F139 60          RTS                     A:FB9E X:0012 Y:0000 D:1800 DB:04 S:1C2D P:eNvMXdIzcHC:0594 VC:253 00 FL:2086
    You can see Offset of Babington is 2FB12 => Goto 2FB12 you have pointer 9E FB.

    Similarly, you can get log of No. 9 Gil
    Mã:
    $02/F12E C2 20       REP #$20                A:0005 X:0014 Y:0000 D:1800 DB:05 S:1C2B P:envMXdIzcHC:0422 VC:253 00 FL:9800
    $02/F130 BD 00 FB    LDA $FB00,x[$05:FB14]   A:0005 X:0014 Y:0000 D:1800 DB:05 S:1C2B P:envmXdIzcHC:0444 VC:253 00 FL:9800
    $02/F133 85 19       STA $19    [$00:1819]   A:FB9E X:0014 Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:0484 VC:253 00 FL:9800
    $02/F135 E2 20       SEP #$20                A:FB9E X:0014 Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:0516 VC:253 00 FL:9800
    $02/F137 AB          PLB                     A:FB9E X:0014 Y:0000 D:1800 DB:05 S:1C2B P:eNvMXdIzcHC:0538 VC:253 00 FL:9800
    $02/F138 28          PLP                     A:FB9E X:0014 Y:0000 D:1800 DB:04 S:1C2C P:envMXdIzcHC:0566 VC:253 00 FL:9800
    $02/F139 60          RTS                     A:FB9E X:0014 Y:0000 D:1800 DB:04 S:1C2D P:eNvM
    
    You can see Offset of Gil is 2FB14 => Goto 2FB14 you have pointer 9EFB too.

    Gil, Babington, ..etc have the same pointer 9EFB where all Shoot Menu has 00 00 value. But their first offsets are different.
    Generic Player are all the Players who has no skill at all (Shoot - Pass - Combi - Run ...) and they use the same pointer 9EFB. I think change here will make the game crash because besides Sao Paulo there are many Generic Players of other teams.

    So you have some options here: you can point to the same shoot menu with players who only have drive shoot, for example Toninho No.8 of brazil who has first offset 2FB8A => Pointer is EA FD => Go 2FDEA : CD FE => Goto 2FE CD : 10 03 (Drive Shoot)
    Mã:
    $02/F12E C2 20       REP #$20                A:0005 X:008A Y:0000 D:1800 DB:05 S:1C2B P:envMXdIzcHC:1048 VC:253 00 FL:2916
    $02/F130 BD 00 FB    LDA $FB00,x[$05:FB8A]   A:0005 X:008A Y:0000 D:1800 DB:05 S:1C2B P:envmXdIzcHC:1070 VC:253 00 FL:2916
    $02/F133 85 19       STA $19    [$00:1819]   A:FDEA X:008A Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:1110 VC:253 00 FL:2916
    $02/F135 E2 20       SEP #$20                A:FDEA X:008A Y:0000 D:1800 DB:05 S:1C2B P:eNvmXdIzcHC:1142 VC:253 00 FL:2916
    $02/F137 AB          PLB                     A:FDEA X:008A Y:0000 D:1800 DB:05 S:1C2B P:eNvMXdIzcHC:1164 VC:253 00 FL:2916
    $02/F138 28          PLP                     A:FDEA X:008A Y:0000 D:1800 DB:04 S:1C2C P:envMXdIzcHC:1192 VC:253 00 FL:2916
    $02/F139 60          RTS                     A:FDEA X:008A Y:0000 D:1800 DB:04 S:1C2D P:eNvMXd
    
    Another choice is use completely new game data for Sao Paulo Generic Player only. You should find a blank data in the same bank 2 (for example 2FF2D to 2FF7F)
    For example, at 2FF2D I will change FF FF to 10 03 => Drive Shoot and End Menu. After that, at 2FF2F I will change 7 pairs of hex values for the 7 basic skills
    Shoot || Pass || Dribble ||Combi || Block || Tackle || PassCut||
    (See http://gvn.co/threads/sfc-voc-tsubasa-iii.1247764/page-2#post-26594023 )
    Here I replace 7 pairs of FF to || 2D FF || 00 00 || 00 00|| 00 00 || 00 00 || 00 00 || 00 00
    You see Pointer of Shoot Menu is 2D FF (Goto 2FF2D as above).

    Finally, new pointer of all 7 basic skill is 2F FF (Goto 2 FF2F ), you will replace 2F FF for 9E FB at Babington - 2FB12 and Gil - 2FB14 ... etc (all Sao Paulo you want).

    In summary, you have Ram 7E04B6 => $FB00 + Index for each player ==> Pointer value of 7 basic skill ==> the first is Pointer of Shoot Menu (which has Ram 7E0471) ==> Point to list Shoot Skill.

    Good luck.
     
    Chỉnh sửa cuối: 16/11/24
  4. angelussnk

    angelussnk Youtube Master Race

    Tham gia ngày:
    14/12/24
    Bài viết:
    4
    Hello

    My name is Angel and a friend recommended this forum to me, I think everything you teach here is great and interesting.

    I'm new to romhacking, I started by modifying Captain Tsubasa 5 with a hexadecimal editor.

    I would like to make some modifications to Captain Tsubasa 3, however a very strange case has arisen that I will detail below.

    Using the Captain Tsubasa 3 ROM without header, I located the Offset of the All Stars mode player choice list, that is from 00025200 to 00025227.

    I located Santamaría's ID which is 2C and replaced it with Schester's ID which is 26, however Schester's stats are not correct.

    For some reason Schester is taking the stats from 000222EC to 00022301 (58 70 68 48 48 28 68 30 38 38 30 28 38 28 68 30 38 38 30 28 38 28), those stats correspond to Kapellmann. Schester should take the stats from offset 000222D6 to 000222EB (70 78 88 60 70 88 78 78 60 70 68 30 68 78 78 78 60 70 68 30 68 78). It is a rather strange case that not only happens with Schester but with other players who are not normally eligible in All Stars mode such as Lorimar, Galván, Kim, Cha, etc.

    Why might that be happening? Would there be a way to fix it so that Schester takes the correct stats?

    From this moment on, I thank you for your time. I would really like to learn ASM too, I see that it opens up many possibilities for any.

    Greetings and thank you very much again.
     
  5. ozone

    ozone Donkey Kong Lão Làng GVN

    Tham gia ngày:
    4/4/05
    Bài viết:
    407
    Nơi ở:
    Recycle Bin
    Hello angelussnk,

    I think when you change the game data that the game does not specify, for example, Schester cannot appear in the default All Star mode, so adding this player to the game will select a value range of a certain player to assign to Schester, and this range may be assigned to players that are not according to the game rules you add to All Star mode. How to handle it, I think you can refer to section 1.6.2 at http://gvn.co/threads/sfc-voc-tsubasa-iii.1247764/page-4#post-26702282
    instead of trying to find a way to adjust Schester's data to match a certain level based on the current kick off match, you will change the stats you find unreasonable to the stats you want. Same with Galvan or other players.

    Regarding your other posts, since I don't have time to dig deeper, I have some suggestions (which may not be correct).
    http://gvn.co/threads/sfc-voc-tsubasa-iii.1247764/page-3#post-26618798
    - Kyou Retsuna: I don't have time to research this part anymore, so I just accept this result temporarily. To fix the error, you have to understand more about Asm. For example, instead of adjusting the comparison ratio with 08 to compare with FF, you can refer to the post on how to adjust Asm to always load into the Ram memory the value that activates Kyou Retsuna when and only when performing Shoot / Volley / Heading / Pass. Or look through debug to see how the game handles it when you change CMP #FF and then perform "Force" Dribble. Is it different when you leave the default CMP #08? That is, there will be an operation to run to process the Asm segment related to this CMP #08 section (or CMP #FF if you adjust).

    - Speed of Nitta: Similar to Tsubasa 2, the Speed value can be shared by 1 or more players, for example in Tsubasa 2 (you can google) the speed value of Nitta and Sano share the same address, when you change this value, the speed of Nitta and Sano also changes.
    You can refer to section 1.6.4 at http://gvn.co/threads/sfc-voc-tsubasa-iii.1247764/page-4#post-26703521 to find the address where Nitta's speed value is saved. Note that there will be 3 pairs of values (according to my search) that specify the speed when Nitta (for example) holds the ball, the speed of teammates around, and the speed when the opponent holds the ball.
    If you have trouble with this speed finding part, please reply and I will try to help but not fast.

    Good luck.
     
    angelussnk thích bài này.
  6. angelussnk

    angelussnk Youtube Master Race

    Tham gia ngày:
    14/12/24
    Bài viết:
    4
    Hello,

    Thank you very much for your reply.

    When I modify the statistics at offset 222EC, Schester's statistics are corrected, however Kapellmann's statistics are modified. I am attaching a log so that you can see where the problem could be, and I am also attaching images with the changes I made where it can be seen that it affects Kapellmann because his offset is 222EC and Schester is the one who takes the incorrect one in All Stars mode.

    Mã:
    $00/853A 68          PLA                     A:357E X:0006 Y:000A D:1800 DB:04 S:1C07 P:envMXdIzC HC:0632 VC:020 FC:48 I:00
    $00/853B F0 21       BEQ $21    [$855E]      A:350A X:0006 Y:000A D:1800 DB:04 S:1C08 P:envMXdIzC HC:0668 VC:020 FC:48 I:00
    $00/853D C9 0B       CMP #$0B                A:350A X:0006 Y:000A D:1800 DB:04 S:1C08 P:envMXdIzC HC:0692 VC:020 FC:48 I:00
    $00/853F F0 1D       BEQ $1D    [$855E]      A:350A X:0006 Y:000A D:1800 DB:04 S:1C08 P:eNvMXdIzc HC:0716 VC:020 FC:48 I:00
    $00/8541 A9 16       LDA #$16                A:350A X:0006 Y:000A D:1800 DB:04 S:1C08 P:eNvMXdIzc HC:0740 VC:020 FC:48 I:00
    $00/8543 8D 02 42    STA $4202  [$04:4202]   A:3516 X:0006 Y:000A D:1800 DB:04 S:1C08 P:envMXdIzc HC:0764 VC:020 FC:48 I:00
    $00/8546 A0 12       LDY #$12                A:3516 X:0006 Y:000A D:1800 DB:04 S:1C08 P:envMXdIzc HC:0802 VC:020 FC:48 I:00
    $00/8548 B7 C0       LDA [$C0],y[$7E:3552]   A:3516 X:0006 Y:0012 D:1800 DB:04 S:1C08 P:envMXdIzc HC:0850 VC:020 FC:48 I:00
    $00/854A 8D 03 42    STA $4203  [$04:4203]   A:3522 X:0006 Y:0012 D:1800 DB:04 S:1C08 P:envMXdIzc HC:0906 VC:020 FC:48 I:00
    $00/854D EA          NOP                     A:3522 X:0006 Y:0012 D:1800 DB:04 S:1C08 P:envMXdIzc HC:0944 VC:020 FC:48 I:00
    $00/854E EA          NOP                     A:3522 X:0006 Y:0012 D:1800 DB:04 S:1C08 P:envMXdIzc HC:0966 VC:020 FC:48 I:00
    $00/854F EA          NOP                     A:3522 X:0006 Y:0012 D:1800 DB:04 S:1C08 P:envMXdIzc HC:0988 VC:020 FC:48 I:00
    $00/8550 EA          NOP                     A:3522 X:0006 Y:0012 D:1800 DB:04 S:1C08 P:envMXdIzc HC:1010 VC:020 FC:48 I:00
    $00/8551 7A          PLY                     A:3522 X:0006 Y:0012 D:1800 DB:04 S:1C08 P:envMXdIzc HC:1032 VC:020 FC:48 I:00
    $00/8552 C2 20       REP #$20                A:3522 X:0006 Y:0002 D:1800 DB:04 S:1C09 P:envMXdIzc HC:1068 VC:020 FC:48 I:00
    $00/8554 AD 16 42    LDA $4216  [$04:4216]   A:3522 X:0006 Y:0002 D:1800 DB:04 S:1C09 P:envmXdIzc HC:1098 VC:020 FC:48 I:00
    $00/8557 18          CLC                     A:02EC X:0006 Y:0002 D:1800 DB:04 S:1C09 P:envmXdIzc HC:1208 VC:020 FC:48 I:00
    $00/8558 69 00 A0    ADC #$A000              A:02EC X:0006 Y:0002 D:1800 DB:04 S:1C09 P:envmXdIzc HC:1230 VC:020 FC:48 I:00
    $00/855B 48          PHA                     A:A2EC X:0006 Y:0002 D:1800 DB:04 S:1C09 P:eNvmXdIzc HC:1262 VC:020 FC:48 I:00
    $00/855C 80 1D       BRA $1D    [$857B]      A:A2EC X:0006 Y:0002 D:1800 DB:04 S:1C07 P:eNvmXdIzc HC:1300 VC:020 FC:48 I:00
    $00/857B E2 20       SEP #$20                A:A2EC X:0006 Y:0002 D:1800 DB:04 S:1C07 P:eNvmXdIzc HC:1330 VC:020 FC:48 I:00
    $00/857D A9 04       LDA #$04                A:A2EC X:0006 Y:0002 D:1800 DB:04 S:1C07 P:eNvMXdIzc HC:1360 VC:020 FC:48 I:00
    $00/857F 48          PHA                     A:A204 X:0006 Y:0002 D:1800 DB:04 S:1C07 P:envMXdIzc HC:0020 VC:021 FC:48 I:00
    $00/8580 AB          PLB                     A:A204 X:0006 Y:0002 D:1800 DB:04 S:1C06 P:envMXdIzc HC:0050 VC:021 FC:48 I:00
    $00/8581 B3 01       LDA ($01,s),y[$04:A2EE] A:A204 X:0006 Y:0002 D:1800 DB:04 S:1C07 P:envMXdIzc HC:0086 VC:021 FC:48 I:00
    $00/8583 FA          PLX                     A:A268 X:0006 Y:0002 D:1800 DB:04 S:1C07 P:envMXdIzc HC:0146 VC:021 FC:48 I:00
    $00/8584 FA          PLX                     A:A268 X:00EC Y:0002 D:1800 DB:04 S:1C08 P:eNvMXdIzc HC:0182 VC:021 FC:48 I:00
    $00/8585 EB          XBA                     A:A268 X:00A2 Y:0002 D:1800 DB:04 S:1C09 P:eNvMXdIzc HC:0218 VC:021 FC:48 I:00
    $00/8586 A9 00       LDA #$00                A:68A2 X:00A2 Y:0002 D:1800 DB:04 S:1C09 P:eNvMXdIzc HC:0246 VC:021 FC:48 I:00
    $00/8588 C2 20       REP #$20                A:6800 X:00A2 Y:0002 D:1800 DB:04 S:1C09 P:envMXdIZc HC:0270 VC:021 FC:48 I:00
    $00/858A 4A          LSR A                   A:6800 X:00A2 Y:0002 D:1800 DB:04 S:1C09 P:envmXdIZc HC:0300 VC:021 FC:48 I:00
    $00/858B 4A          LSR A                   A:3400 X:00A2 Y:0002 D:1800 DB:04 S:1C09 P:envmXdIzc HC:0322 VC:021 FC:48 I:00
    $00/858C 4A          LSR A                   A:1A00 X:00A2 Y:0002 D:1800 DB:04 S:1C09 P:envmXdIzc HC:0344 VC:021 FC:48 I:00
    $00/858D A0 04       LDY #$04                A:0D00 X:00A2 Y:0002 D:1800 DB:04 S:1C09 P:envmXdIzc HC:0366 VC:021 FC:48 I:00
    $00/858F 18          CLC                     A:0D00 X:00A2 Y:0004 D:1800 DB:04 S:1C09 P:envmXdIzc HC:0390 VC:021 FC:48 I:00
    $00/8590 77 C0       ADC [$C0],y[$7E:3544]   A:0D00 X:00A2 Y:0004 D:1800 DB:04 S:1C09 P:envmXdIzc HC:0436 VC:021 FC:48 I:00
    $00/8592 28          PLP                     A:4000 X:00A2 Y:0004 D:1800 DB:04 S:1C09 P:envmXdIzc HC:0500 VC:021 FC:48 I:00
    $00/8593 AB          PLB                     A:4000 X:00A2 Y:0004 D:1800 DB:04 S:1C0A P:envMXdIzC HC:0536 VC:021 FC:48 I:00
    $00/8594 7A          PLY                     A:4000 X:00A2 Y:0004 D:1800 DB:04 S:1C0B P:envMXdIzC HC:0612 VC:021 FC:48 I:00
    $00/8595 FA          PLX                     A:4000 X:00A2 Y:000A D:1800 DB:04 S:1C0C P:envMXdIzC HC:0648 VC:021 FC:48 I:00
    $00/8596 6B          RTL                     A:4000 X:0006 Y:000A D:1800 DB:04 S:1C0D P:envMXdIzC HC:0684 VC:021 FC:48 I:00
    Schester takes Kapellmann's stats (222EC) instead of his own stats (222D6)

    Schester Bug He Have Kapellmann Stats.png

    Kapellmann OK

    Kapellmann Normal his stats in 222EC too.png

    Modify the offset 222EC with the correct values for Schester and everything works out fine for Schester

    Change 222EC for correct stats for Schester OK.png

    ...But now Kapellmann takes incorrect values

    Kapellmann after change stats to Schester his stats no correct.png

    For Schester's statistics to be correct, he should not go to offset 222EC but to 222D6. But despite reading the log, I don't understand why A takes the value of EC and not the value of D6.


    Indeed, Nitta shares speed stats with Sano and other players in Captain Tsubasa 3. My idea is that Nitta doesn't share speed with Sano, Sorimachi, etc. but can share speed with Victorino. Is that possible? I did the speed change but the result was not as expected because he shares speed with many players in the Japanese national team. I would like Nitta's speed to point to Victorino's speed offset but I don't know if that's feasible.


    Regarding Kyoretsuna's mistake and Hyuga, Napoleon and Zagallo's aggressive dribbling, I'll review what you answered in more detail, then I'll let you know if I see anything.


    Thank you again, it's okay if it takes a while to respond, rather I'm very grateful that you can help me no matter how long it takes. Thank you.
     
  7. angelussnk

    angelussnk Youtube Master Race

    Tham gia ngày:
    14/12/24
    Bài viết:
    4
    I forgot to add that the offset to increase Nitta's speed is 22E1A, I changed 9003 to B00F, however as I mentioned before, Sano, Nakayama, Sorimachi, Sawada, Taki, Kisugi, Izawa and Oda also increase their speed.
    Thank you very much.
     

Chia sẻ trang này