Announcement

Collapse
No announcement yet.

[Request] Need help for video support Gecko codes-> Tales Of Symphonia FRENCH PAL

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Request] Need help for video support Gecko codes-> Tales Of Symphonia FRENCH PAL

    Hi there!

    I hope i'll do this correctly, this is my first time on this forum. I also hope i'm in the right section. Moderators, feel free to move my post if I'm in the wrong section!!
    (Forgive my english mistakes, i'm french )

    Tl,dr: I need someone who can kelp me make gecko codes to enable 60Hz, no blur and widescreen support for PAL FRENCH Tales Of Symphonia. I got some part of the solution but I dont understand how to use it. Please help me!

    Still here? Here comes the long version.
    (every time ill say "code" is for gecko/AR codes, and I play on dolphin so gamecube version)

    It's been a few days I'm trying every possible way to get codes that enables 3 things for Tales Of Symphonia PAL FRENCH (GQSFAF) :

    1: No blur (that kinda double image thing) you can see an exemple here: https://youtu.be/Hryr5uHhpnw?t=127

    2: 60Hz

    3: Wide Screen 16/9

    (ill call them 60Hz,Ws,Nb.)

    And I know it's possible since the NTSC-U has codes for theese things, and so does the german PAL.

    I searched the whole internet and never came close to a solution, I only found other french people looking for that same thing over and over. (And before someone ask: I REALLY TRYED, I hate to bother people asking for help, this is basically the first time in my life I ask for help in a forum.)

    For no blur, there is a solution on the dolphin wiki page,
    https://wiki.dolphin-emu.org/index.p...s_of_Symphonia
    but I tryed every possible way to paste the following text and it never worked, maybe I'm just stupid.
    "[Video]
    PH_ZNear = 0.00026
    PH_ZFar = 0.00026
    ProjectionHack = 1"


    So I tryed other things, and the quickest way seem to be with gecko codes.

    Here is the list of things I discovered so far:

    1: most existing PAL codes from ToS are from some genius named Ralf, I suppose he is german and therefore, worked on the GERMAN PAL ToS version.

    2: EVERY CODE I found for PAL and FRENCH PAL are from him.

    3: MOST of Ralf codes works for ALL PAL versions of the game, things like max hp, infinite gold etc... Like 99% of the codes he found for GERMAN PAL, forks for ALL PAL.

    4: SOME of Ralf codes does ONLY work for german version: 60Hz, Wide Screen, No Blur.

    5: Since every OTHER Ralf code seem to work for ALL PAL versions, everyone assumed that his 60Hz Ws Nb worked too, but they dont. Including on the
    https://forums.dolphin-emu.org/Threa...16-9-21-9-60hz page. There is only "PAL" with a code that does not work for french pal.

    6: I learned how to convert NTSC codes into PAL codes, I tryed it and it worked for all minor things (infinite gold...) but it does not work for 60Hz Nb Ws.

    7: I asked Ralf directly, he said this and sent a lot of code I don't know how to use:

    Spoiler Alert! Click to view...


    {"my ToS codes are made for the German PAL version of the game only; some of the codes may work for other regions, but this wasn't intentional.

    Porting the three mentioned codes to the French version requires good game hacking skills and basic PowerPC assembly knowledge. However, below is some info about the No Blur code, the 16:9 Aspect Ratio code and the 60Hz Mode code that might be useful for porting these codes to other regions.

    1. No Blur code

    No blur flag check function
    800186D4: 9421FF60 stwu r1,-160(r1)
    800186D8: 7C0802A6 mflr r0
    800186DC: 900100A4 stw r0,164(r1)
    800186E0: 93E1009C stw r31,156(r1)
    800186E4: 880D8405 lbz r0,-31739(r13) ; no blur flag (r13 global byte variable, offset = -31739)
    800186E8: 28000000 cmplwi r0,0
    800186EC: 4182008C beq- 0x80018778
    800186F0: 38600000 li r3,0
    800186F4: 38800003 li r4,3
    800186F8: 38A00000 li r5,0
    800186FC: 48100261 bl 0x8011895c
    80018700: C00D8414 lfs f0,-31724(r13)
    80018704: FC00001E fctiwz f0,f0
    80018708: D8010088 stfd f0,136(r1)
    8001870C: 8061008C lwz r3,140(r1)
    80018710: 4800B195 bl 0x800238a4
    80018714: 880D8405 lbz r0,-31739(r13)
    80018718: 28000001 cmplwi r0,1
    8001871C: 40820030 bne- 0x8001874c


    R1 (SP) stack pointer
    R2 (RTOC) global pointer to _SDA2_BASE_ (global constants, mostly floating points & strings)
    R13 global pointer to _SDA_BASE_ (global variables)

    R1/R2/R13 init routine
    80003324: 3C208037 lis r1,-32713
    80003328: 60217460 ori r1,r1,29792
    8000332C: 3C408036 lis r2,-32714
    80003330: 6042BCA0 ori r2,r2,48288 ; r2(RTOC): 0x8036BCA0
    80003334: 3DA08036 lis r13,-32714
    80003338: 61ADAE80 ori r13,r13,44672 ; r13: 0x8036AE80
    8000333C: 4E800020 blr

    No blur flag address: r13 - NoBlurFlag_offset = 0x8036AE80 - 31739 = 0x80363285

    =>

    No Blur code
    00363285 00000001 ; set no blur flag


    2. 16:9 Aspect Ratio code

    SDK MTXPerspective function
    801006FC: 7C0802A6 mflr r0
    80100700: 90010004 stw r0,4(r1)
    80100704: 9421FFC0 stwu r1,-64(r1)
    80100708: DBE10038 stfd f31,56(r1)
    8010070C: FFE02090 fmr f31,f4
    80100710: DBC10030 stfd f30,48(r1)
    80100714: FFC01890 fmr f30,f3
    80100718: DBA10028 stfd f29,40(r1)
    8010071C: FFA01090 fmr f29,f2 ; f29: aspect ratio
    80100720: 93E10024 stw r31,36(r1)
    80100724: 7C7F1B78 mr r31,r3
    80100728: C0A2AEF8 lfs f5,-20744(r2)
    8010072C: C002AEFC lfs f0,-20740(r2)
    80100730: EC250072 fmuls f1,f5,f1
    80100734: EC200072 fmuls f1,f0,f1
    80100738: 4802B969 bl 0x8012c0a0
    8010073C: C062AEE8 lfs f3,-20760(r2)
    80100740: EC5FF028 fsubs f2,f31,f30
    80100744: EC1F07B2 fmuls f0,f31,f30


    16:9 Aspect Ratio (Widescreen) patch

    8010071C: C3A2882C lfs f29,-30676(r2) ; f29: load new aspect ratio from unused r2(RTOC) global constant
    803644CC: 3FE38E39 ; new aspect ratio: 1.7777 (r2(RTOC) - 30676 = 0x803644CC, unused)

    =>

    16:9 Aspect Ratio (Widescreen) code
    0410071C C3A2882C
    043644CC 3FE38E39


    3. 60Hz Mode code

    SDK VIConfigure function
    801064D4: 7C0802A6 mflr r0
    801064D8: 3CA0802B lis r5,-32725
    801064DC: 90010004 stw r0,4(r1)
    801064E0: 3C808030 lis r4,-32720
    801064E4: 9421FF88 stwu r1,-120(r1)
    801064E8: BDC10030 stmw r14,48(r1)
    801064EC: 3BE30000 addi r31,r3,0 ; r31: address of TV mode struct
    801064F0: 39E50C18 addi r15,r5,3096
    801064F4: 3BA4E8A8 subi r29,r4,5976
    801064F8: 4BFF4D41 bl 0x800fb238
    801064FC: 809F0000 lwz r4,0(r31)
    80106500: 3B9D0114 addi r28,r29,276
    80106504: 801D0114 lwz r0,276(r29)
    80106508: 39C30000 addi r14,r3,0
    8010650C: 548407BE rlwinm r4,r4,0,30,31
    80106510: 7C002040 cmplw r0,r4
    80106514: 41820010 beq- 0x80106524

    Init TV mode function
    800709D8: 9421FA50 stwu r1,-1456(r1)
    ...
    80070A5C: 3C808020 lis r4,-32736
    80070A60: 34643A40 addic. r3,r4,14912
    80070A64: 41820024 beq- 0x80070a88
    80070A68: 906D8670 stw r3,-31120(r13)
    80070A6C: 389F0034 addi r4,r31,52
    80070A70: 38A00000 li r5,0
    80070A74: 38C00013 li r6,19 ; r6: y pos offset
    ...
    80070AC0: 3C80802B lis r4,-32725
    80070AC4: 38041850 addi r0,r4,6224 ; r3: address of TV mode struct (0x802B1850)
    80070AC8: 900D8670 stw r0,-31120(r13) ; store address of TV mode struct (r13 global variable)
    80070ACC: 48000028 b 0x80070af4
    ...
    80070AF4: 806D8670 lwz r3,-31120(r13)
    80070AF8: 389F0034 addi r4,r31,52
    80070AFC: 38A00000 li r5,0
    80070B00: 38C00013 li r6,19 ; r6: y pos offset


    EURGB60_INT TV mode struct
    802B188C: 00000014
    802B1890: 028001E0 01E00028 00000280 01E00000
    802B18A0: 00000001 00000606 06060606 06060606
    802B18B0: 06060606 06060606 06060606 06060808


    Enable 60Hz Mode patch

    80000088: 3FE0802B lis r31,-32725
    8000008C: 63FF188C ori r31,r31,6284 ; r31: address of new TV mode struct (0x802B188C)
    80000090: 93ED8670 stw r31,-31120(r13) ; store address of new TV mode struct (r13 global variable)
    80000094: 4810645C b 0x801064f0
    801064EC: 4BEF9B9C b 0x80000088 ; (0x80000088/A0 = unused memory)

    80070A74: 38C0000F li r6,15 ; r6: new y pos offset
    80070AC4: 3804188C addi r0,r4,6284 ; r3: new address of TV mode struct (0x802B188C)
    80070B00: 38C0000F li r6,15 ; r6: new y pos offset

    802B1892: 01C1 ; EURGB60_INT TV mode struct patch
    802B1894: 01C8 ; "
    802B1898: 000F ; "
    802B189C: 01C8 ; "

    =>

    Enable 60Hz Mode code
    04000088 3FE0802B
    0400008C 63FF188C
    04000090 93ED8670
    04000094 4810645C
    04070A74 38C0000F
    04070AC4 3804188C
    04070B00 38C0000F
    041064EC 4BEF9B9C
    022B1892 000001C1
    022B1894 000001C8
    022B1898 0000000F
    022B189C 000001C8

    Ralf" }


    I dont know code enough to use any of this... And I don't think I would have the devotion to learn code for weeks just for theese 3 codes. So I came here to ask humbly for help, I think that what he gave me might be enough for someone who knows about gecko codes to find the solution with ease...

    Edit: Of course if someone find the solution, I will post it everywhere someone asked the question, this will help a lot of people and I will give full credit to the person who will find it.

    So... anyone?

    Thanks for reading.
    Last edited by Kafurai; 04-04-2020, 01:13:19 PM.

  • #2
    Try these and tell me if they work. No guarantees. This Ralf guy is a genius.

    No Blur code [Ralf]
    00366C25 00000001
    *Ported by Welohabi*

    ‬16:9 Aspect Ratio (Widescreen) code [Ralf]
    04100714 C3A2882C
    04367E6C 3FE38E39
    *Ported by Welohabi*

    Enable 60Hz Mode code [Ralf]
    04000088 3FE0802B
    0400008C 63FF51B4
    04000090 93ED8670
    04000094 48106454
    04070A74 38C0000F
    04070AC4 380451B4
    04070B00 38C0000F
    041064E4 4BEF9B9C
    022B51BA 000001C1
    022B51BC 000001C8
    022B51C0 0000000F
    022B51C4 000001C8
    *Ported by Welohabi*​​​​​​​
    Last edited by Welohabi; 04-12-2020, 02:43:40 PM.
    Help me earn space. https://db.tt/2H7prurb2d www.mediafire.com/?renl53g

    Comment


    • #3
      The No Blur code and the 16/9 code works!!!!!!!! Thank you SO,SO MUCH!!!!
      I will post theese with "Welohabi & Ralf" as creator if that's ok with you!

      However the 60Hz code gave me a black screen when the game starts. No "accessing memory" no namco logo, no music, just a black screen and nothing. :'(

      Comment


      • #4
        I'm surprised. I'll try the 60hz code again. I only deserve credit for porting, not creating.
        Last edited by Welohabi; 04-05-2020, 01:34:29 PM.
        Help me earn space. https://db.tt/2H7prurb2d www.mediafire.com/?renl53g

        Comment


        • #5
          Ok, it will be "Created by Ralf, ported by Welohabi"

          Cant wait for the 60Hz code!! I hope you will succeed!

          PS: Before you ask I don't think the problem comes from my dolphin settings or anything from me: I tryed the original code on the german version and it works fine with the same pc and settings.

          Comment


          • #6
            Originally posted by Kafurai View Post
            Ok, it will be "Created by Ralf, ported by Welohabi"

            Cant wait for the 60Hz code!! I hope you will succeed!

            PS: Before you ask I don't think the problem comes from my dolphin settings or anything from me: I tryed the original code on the german version and it works fine with the same pc and settings.
            I think I found my mistake. Try this one. I updated the original post to match.

            Enable 60Hz Mode code [Ralf]
            04000088 3FE0802B
            0400008C 63FF51B4
            04000090 93ED8670
            04000094 4810645C
            04070A74 38C0000F
            04070AC4 380451B4
            04070B00 38C0000F
            041064E4 4BEF9B9C
            022B51BA 000001C1
            022B51BC 000001C8
            022B51C0 0000000F
            022B51C4 000001C8
            *Ported by Welohabi*


            Only issue i see is that ralf claims this looks like the following....
            EURGB60_INT TV mode struct
            802B188C: 00000014
            802B1890: 028001E0 01E00028 00000280 01E00000
            802B18A0: 00000001 00000606 06060606 06060606
            802B18B0: 06060606 06060606 06060606 06060808


            But ours looks like this.... The yellow values are different than the original
            802B51B4‬ :00000002
            802B51B8: 028001E0 01E00028 00000280 01E00000
            802B51C8‬: 00000000 00000606 06060606 06060606
            802B51D8‬: 06060606 06060606 06060606 06060808


            When the code is active it looks like this... Only changing the red values
            802B51B4‬ :00000002
            802B51B8: 028001C1 01C80028 000F0280 01C80000
            802B51C8‬: 00000000 00000606 06060606 06060606
            802B51D8‬: 06060606 06060606 06060606 06060808


            If this doesn't work, I could try patching those other yellow values. Let me know how it goes.
            Last edited by Welohabi; 04-05-2020, 06:44:36 PM.
            Help me earn space. https://db.tt/2H7prurb2d www.mediafire.com/?renl53g

            Comment


            • #7
              This does not work
              The screen is stretched vertically in the first screen, then it goes to "licenced by nintendo" and crashes every time.

              Let me know if I can do anything to help you.

              Comment


              • #8
                I will try one more time, give me a few days.
                Help me earn space. https://db.tt/2H7prurb2d www.mediafire.com/?renl53g

                Comment


                • #9
                  No problem, take your time!
                  I'll wait. I'm sure you can do it!

                  Comment


                  • #10
                    I cant really get these to work right, but the first one seems to work on real hardware (no luck on dolphin) except it is stretched off the bottom of the screen. The second one keeps freezing... Good luck man, this was my last attempt.

                    Enable 60Hz Mode code [Ralf]
                    C21064E4 00000002
                    3FE0802B 63FF51B4
                    93ED8670 00000000
                    04070A74 38C0000F
                    04070AC4 380451B4
                    04070B00 38C0000F
                    022B51BA 000001C1
                    022B51BC 000001C8
                    022B51C0 0000000F
                    022B51C4 000001C8
                    *Ported by Welohabi*

                    Enable 60Hz Mode code [Ralf]
                    04000088 3FE0802B
                    0400008C 63FF51B4
                    04000090 93ED8670
                    04000094 48106454
                    04070A74 38C0000F
                    04070AC4 380451B4
                    04070B00 38C0000F
                    041064E4 4BEF9B9C
                    022B51BA 000001C1
                    022B51BC 000001C8
                    022B51C0 0000000F
                    022B51C4 000001C8
                    *Ported by Welohabi*
                    Last edited by Welohabi; 04-12-2020, 04:09:06 PM.
                    Help me earn space. https://db.tt/2H7prurb2d www.mediafire.com/?renl53g

                    Comment


                    • #11
                      Thanks a lot for trying. At least the blur is out, that was the worst part!

                      Comment


                      • #12
                        Glad I could help.
                        Help me earn space. https://db.tt/2H7prurb2d www.mediafire.com/?renl53g

                        Comment


                        • #13
                          Hello,

                          I think I managed to achieve 60hz and a better no blur code for the French version.
                          I did it with the help of the information in the first post from Ralf and the code provided by Welohabi
                          Process for creating the code was just use the dolphin debuger with German/French vesion and compare (+ A lot of trial&error).

                          FPS/VPS 60

                          Click image for larger version  Name:	cKDUwjq.png Views:	0 Size:	445.7 KB ID:	216643

                          Enable 60Hz Mode code [Ralf]
                          04000088 3FE0802B
                          0400008C 63FF522C
                          04000090 93ED8670
                          04000094 48106454
                          04070A74 38C0000F
                          04070AC4 3804522C
                          04070B00 38C0000F
                          041064E4 4BEF9BA4
                          022B5232 000001C1
                          022B5234 000001C8
                          022B5238 0000000F
                          022B523c 000001C8
                          *Ported by Misant44 x Welohabi*

                          The only thing I don't understand is the purpose of
                          80070A74: 38C0000F li r6,15 ; r6: new y pos offset
                          80070B00: 38C0000F li r6,15 ; r6: new y pos offset

                          ==> what the goal/effect of this offset ? Shoud I change it and why ? (if someone know... ?)


                          For the better no blur code, I ported the japanese code with the help of what I found here :
                          https://mariokartwii.com/showthread.php?tid=113
                          https://gamehacking.org/vb/forum/vid...mphonia-gtojaf

                          With the ralf code you have a weird "aura" when you enter in a save point (triggered by the ralf widescreen code too so my code is useless if you use widescreen) :
                          Click image for larger version  Name:	ezgif-3-203a8a66be.gif Views:	0 Size:	3.31 MB ID:	216644
                          Here it's German with no blur + 60hz, you can see the strange aura when Lloyd enter in the circle

                          With the Japanese/US code the weird aura is not here, it's the normal small aura (but no aura when you first load save game, it will be back after loading another screen).
                          It's the same with my ported code :

                          No blur [luisiuman1998519]
                          04023E44 4E800020
                          040CE354 4E800020
                          *Ported by Misant44*


                          I will try to port the widescreen code from NA version because its the best (no weird aura) but don't know if I will be able to achieve this because it looks very complicated (I have absolutly no skill in PowerPC assembly...)
                          https://wiki.dolphin-emu.org/index.p...s_of_Symphonia


                          Every code is tested with the version 5.0-15445 of Dolphin. I will try later one real hardware.
                          Last edited by Misant44; 01-07-2022, 05:54:06 PM.

                          Comment

                          Working...
                          X