The PokéCommunity Forums Fan Games ROM Hacking Research & Development
Quick Research & Development Thread

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

Reply
 
Thread Tools
  #951    
Old April 3rd, 2017 (8:32 AM).
MWisBest MWisBest is offline
     
    Join Date: Mar 2017
    Gender: Male
    Posts: 19
    Continuing with my daycare stuff:

    Change Daycare Breeding Rate [EM]

    For those unaware, the "Breeding Rate" is the chance of receiving an egg after taking 256 steps.

    This is just a basic version that requires only small hex edits; I'm planning on trying to create a routine that separates the one 50% value into two separate configurable values as well as hopefully allowing Pokemon from the same evolution chain to count as "same species" instead of different species (that has always bothered me).

    Anyway, the default breeding rates work like this:
    • 70%: Same Species, Different OT
    • 50%: Same Species, Same OT, [I]or[/] Different Species, Different OT
    • 20%: Different Species, Same OT

    To change the 70% value, the following hex edits are required:
    1. At 0x70E48, change 46 20 to XX 20
    2. At 0x70EAC, change 46 2A to XX 2A
    To change the 50% value...:
    1. At 0x70E5A, change 32 20 to XX 20
    2. At 0x70EA6, change 32 28 to XX 28
    To change the 20% value...:
    1. At 0x70E56, change 14 20 to XX 20
    2. At 0x70EA0, change 14 28 to XX 28
    XX would be the percentage value you'd like (in hex of course), 0(?) to 100. The first edits listed are to the main compatibility check function, the second edits are to the function that determines which message the daycare man displays when spoken to.
    Reply With Quote
      #952    
    Old April 3rd, 2017 (8:57 AM).
    Skeli-'s Avatar
    Skeli- Skeli- is offline
    Lord of the Rings
       
      Join Date: Apr 2014
      Location: Canada
      Age: 19
      Gender: Male
      Nature: Adamant
      Posts: 186
      I just copied the above post because I'm lazy. Credits go to MWisBest for the format.

      Change Daycare Breeding Rate [FR]

      To change the 70% value, the following hex edits are required:
      1. At 0x46648, change 46 20 to XX 20
      2. At 0x466A8, change 46 2A to XX 2A
      To change the 50% value...:
      1. At 0x4665A, change 32 20 to XX 20
      2. At 0x466A2, change 32 28 to XX 28
      To change the 20% value...:
      1. At 0x46656, change 14 20 to XX 20
      2. At 0x4669C, change 14 28 to XX 28
      XX would be the percentage value you'd like (in hex of course), 0(?) to 100. The first edits listed are to the main compatibility check function, the second edits are to the function that determines which message the daycare man displays when spoken to.
      __________________
      Pokemon Unbound

      Reply With Quote
        #953    
      Old April 3rd, 2017 (9:27 AM).
      MWisBest MWisBest is offline
         
        Join Date: Mar 2017
        Gender: Male
        Posts: 19
        Quote:
        Originally Posted by Skeli789 View Post
        I just copied the above post because I'm lazy. Credits go to MWisBest for the format.
        Heh, works for me. Thanks for porting it.
        Reply With Quote
          #954    
        Old April 3rd, 2017 (11:29 AM). Edited April 3rd, 2017 by C me.
        C me's Avatar
        C me C me is online now
        Creator of Pokemon League Of Legends
           
          Join Date: Jan 2014
          Age: 21
          Gender: Male
          Posts: 683
          To continue a bit on the cries research from 3 years ago there is a byte at:

          Emerald: 0x080626AE - Opponent
          Emerald: 0x0805CA30 - Ally


          *FireRed: 0x08038C32 - Opponent
          *FireRed: 0x08033428 - Ally

          This byte controls the pitch of the cry played when a Pokemon faints. It is normally set to 5 which is low pitched but follows the same structure as the cry command seen here.

          I tested them from 0x0 to 0x10 and it's the same as previously researched. As far as I know it only affects fainting in battle, it won't affect the lower pitched cries when your Pokemon is sent out with low hp or overworld cries.

          Useful if you don't want lower pitched faint cries, maybe you're using separate cries for fainting or maybe you want high pitched cries.

          *Not 100% sure on the FireRed offsets since I found these in Emerald but the routines are almost identical so pretty likely to be correct.
          Reply With Quote
            #955    
          Old April 3rd, 2017 (11:32 AM).
          DizzyEgg's Avatar
          DizzyEgg DizzyEgg is offline
             
            Join Date: Feb 2014
            Location: Poland
            Age: 21
            Gender: Male
            Nature: Quiet
            Posts: 748
            Quote:
            Originally Posted by C me View Post

            Emerald: 0x080626AE


            This byte controls the pitch of the cry played when a Pokemon faints. It is normally set to 5 which is low pitched but follows the same structure as the cry command seen here.

            I tested them from 0x0 to 0x10 and it's the same as previously researched. As far as I know it only affects fainting in battle, it won't affect the lower pitched cries when your Pokemon is sent out with low hp or overworld cries.
            .
            Actually it just controls the fainting cry of the pokemon's opponent.
            Btw, do you know what does the 0x19 before it do? It's an argument too.
            __________________
            Support Pokeruby!

            My works:
            Battle Engine Upgrade
            Pokemon Expansion
            Items/TMs/Tutors Expansion
            Various Features(Evo Methods, BW Repel, Levels Above 100, Trainers with EV, Nature Colored Stats)

            Emerald Features:
            Form Changes (KDS)
            Reply With Quote
              #956    
            Old April 3rd, 2017 (12:06 PM).
            C me's Avatar
            C me C me is online now
            Creator of Pokemon League Of Legends
               
              Join Date: Jan 2014
              Age: 21
              Gender: Male
              Posts: 683
              Quote:
              Originally Posted by DizzyEgg View Post
              Actually it just controls the fainting cry of the pokemon's opponent.
              Btw, do you know what does the 0x19 before it do? It's an argument too.
              Do you mean when you make the opponent faint as opposed to self destruct/poison etc?

              I noticed the 0x19 first but then messed around with the 0x5 and got results so I just ignored 0x19. Can you please share your extra information on this?
              Reply With Quote
                #957    
              Old April 3rd, 2017 (12:22 PM).
              DizzyEgg's Avatar
              DizzyEgg DizzyEgg is offline
                 
                Join Date: Feb 2014
                Location: Poland
                Age: 21
                Gender: Male
                Nature: Quiet
                Posts: 748
                Quote:
                Originally Posted by C me View Post
                Do you mean when you make the opponent faint as opposed to self destruct/poison etc?

                I noticed the 0x19 first but then messed around with the 0x5 and got results so I just ignored 0x19. Can you please share your extra information on this?
                I mean whenever an opposing pokemon faints, so not yours or yours partner, but the opposing one.

                This code is calling a function that plays poke cry. First argument is species, second is 0x19 which I dont know what does and the third is 0x5 which you said is responsible for the pitch.
                __________________
                Support Pokeruby!

                My works:
                Battle Engine Upgrade
                Pokemon Expansion
                Items/TMs/Tutors Expansion
                Various Features(Evo Methods, BW Repel, Levels Above 100, Trainers with EV, Nature Colored Stats)

                Emerald Features:
                Form Changes (KDS)
                Reply With Quote
                  #958    
                Old April 3rd, 2017 (1:04 PM).
                C me's Avatar
                C me C me is online now
                Creator of Pokemon League Of Legends
                   
                  Join Date: Jan 2014
                  Age: 21
                  Gender: Male
                  Posts: 683
                  Quote:
                  Originally Posted by DizzyEgg View Post
                  I mean whenever an opposing pokemon faints, so not yours or yours partner, but the opposing one.

                  This code is calling a function that plays poke cry. First argument is species, second is 0x19 which I dont know what does and the third is 0x5 which you said is responsible for the pitch.
                  Makes sense since I when looking for a breakpoint I only tested fainting the opponent. I hope it's done in a similar way, will make it easy to find.

                  Also makes sense, I spent ages looking at the prepare faint cry function then came across this just looking at the playcry function. I orignially though 0x19 would be speed but I can't really hear a difference in speed.
                  Reply With Quote
                    #959    
                  Old April 5th, 2017 (9:03 PM). Edited April 17th, 2017 by Aryan 10.
                  Aryan 10's Avatar
                  Aryan 10 Aryan 10 is offline
                  Battle Legend
                     
                    Join Date: Nov 2016
                    Location: Pallet Town, India
                    Gender: Male
                    Nature: Relaxed
                    Posts: 162
                    [FireRed] Mew Obey Fix tutorial


                    In Pokemon FireRed, if you will encounter Mew by any method except Event, then Mew will not obey.

                    Game Freak made the rarest Pokemon cheat-protected. This is also true with Deoxys, but the Deoxys caught at Birth Island will obey. Since Mew is uncatchable in FireRed. It is not possible with Mew.

                    So I don't know if someone posted this but I can tell how to fix it. It is really easy to do it.

                    Quote:
                    [Step 1]Open any hex editor.

                    [Step 2]Change the byte at 0x801D402(0x801D416 for FireRed 1.1, in case if someone needs that) from 0x97 to 0x00.
                    By doing this you no longer need to use 'setobedience' command in every Mew battle script.
                    Reply With Quote
                      #960    
                    Old April 7th, 2017 (12:14 PM).
                    MWisBest MWisBest is offline
                       
                      Join Date: Mar 2017
                      Gender: Male
                      Posts: 19
                      Berries Replant Forever [EM]

                      As most people know, you only have so much time to pick a grown berry before it "replants itself" and becomes a sprout again. By default, the berry can only do this 9 times (for a total of 10 plantings, including the initial time you put the berry in the soil yourself). This has always bothered me because it's possible to lose rare berries forever if you aren't careful, and I tend to be very forgetful.

                      To allow berries to continue to replant themselves until you pick them, make the following change:
                      At 0xE185A, replace 04 48 41 68 00 68 20 60 61 60 with 00 20 60 71 C0 46 C0 46 C0 46.
                      Reply With Quote
                        #961    
                      Old April 8th, 2017 (5:22 AM).
                      Spherical Ice's Avatar
                      Spherical Ice Spherical Ice is offline
                       
                      Join Date: Nov 2007
                      Location: Bristol, UK
                      Age: 20
                      Posts: 5,225
                      Just a reminder to some users who have been using this as a quick question thread: if you don't provide at least some semblance of research or development of your own, your question does not belong here. Instead, create a thread in the parent ROM Hacking forum, here: https://www.pokecommunity.com/forumdisplay.php?f=284, and give it the appropriate category (usually, this will be [ASM & Hex] if you were choosing to post here).
                      __________________

                      A Pokemon that is discriminated!
                      Support squirtle and make it everyone's favourite.
                      Reply With Quote
                        #962    
                      Old April 8th, 2017 (6:26 AM). Edited May 30th, 2018 by Aryan 10.
                      Aryan 10's Avatar
                      Aryan 10 Aryan 10 is offline
                      Battle Legend
                         
                        Join Date: Nov 2016
                        Location: Pallet Town, India
                        Gender: Male
                        Nature: Relaxed
                        Posts: 162
                        [FireRed] Black out script offsets


                        Nurse Joy blackout: 0x081A8D97
                        Mom blackout: 0x081A8DD8

                        Quote:
                        0x0807F5C8 = Pointer for Nurse Joy
                        0x0807F5E8 = Pointer for Mom
                        __________________
                        You are challenged by Battle Legend Aryan 10.
                        Make FireRed Great Again

                        My Progressing Hack
                        Pokemon Flame Yellow
                        Discord Server: https://discord.gg/fuwaJFk

                        Website | Github | Slack
                        Discord ID: @Aryan 10#7484
                        Reply With Quote
                          #963    
                        Old April 10th, 2017 (11:11 AM).
                        MWisBest MWisBest is offline
                           
                          Join Date: Mar 2017
                          Gender: Male
                          Posts: 19
                          HM Flash Lightens Entire Screen [EM]

                          I got a little irked trying to train in the Victory Road basement by the Flash HM not clearing the entire screen. I'm playing the game on my phone, which has an AMOLED display. AMOLED displays are very susceptible to burn-in, so to avoid getting a nice big dark circle in the middle of my screen...

                          I modified the Flash brightness table to make it work like FR/LG and light up the entire screen:

                          At 0x54FE66, change 48 to C8.

                          This is kind of cheap because it makes navigating Granite Cave and Victory Road easier than intended, but whatever.
                          Reply With Quote
                            #964    
                          Old April 10th, 2017 (8:06 PM). Edited April 14th, 2017 by mbcn10ww.
                          mbcn10ww's Avatar
                          mbcn10ww mbcn10ww is offline
                             
                            Join Date: Oct 2016
                            Location: Brazil
                            Gender: Male
                            Nature: Lonely
                            Posts: 366
                            <Remove Field Moves options from Pokémon menu [FR]>
                            0x122A8C: 00
                            0x45A76E: 00 00

                            <Remove Ending Credits (Reset the Game) [FR]>
                            0x16730B: 9C 50 00 6B 02 FF (see the EDIT below)

                            EDIT:

                            In some free space place 00 DF 00 00 and save it's offset

                            At 0x16730B: 23 XX XX XX 08 FF (XX XX XX is the reverse of the offset you saved +1)
                            __________________
                            My Works:
                            [Fire Red] Adding New Trainer Sprites
                            [Fire Red] My Version of HMs Type Check
                            [Fire Red] Touched's Mega Evolution System (PATCH)
                            Reply With Quote
                              #965    
                            Old April 12th, 2017 (12:02 AM).
                            BlackWhiteRobin's Avatar
                            BlackWhiteRobin BlackWhiteRobin is offline
                               
                              Join Date: Sep 2012
                              Age: 20
                              Gender: Male
                              Nature: Quirky
                              Posts: 543
                              Quote:
                              Originally Posted by mbcn10ww View Post
                              <Remove Field Moves options from Pokémon menu>
                              0x122A8C: 00
                              0x45A76E: 00 00

                              <Remove Ending Credits (Reset the Game)>
                              0x16730B: 9C 50 00 6B 02 FF
                              EM or FR?
                              Reply With Quote
                                #966    
                              Old April 12th, 2017 (6:13 AM).
                              mbcn10ww's Avatar
                              mbcn10ww mbcn10ww is offline
                                 
                                Join Date: Oct 2016
                                Location: Brazil
                                Gender: Male
                                Nature: Lonely
                                Posts: 366
                                Quote:
                                Originally Posted by BlackWhiteRobin View Post
                                EM or FR?
                                Oh sorry, it's for Fire Red.
                                __________________
                                My Works:
                                [Fire Red] Adding New Trainer Sprites
                                [Fire Red] My Version of HMs Type Check
                                [Fire Red] Touched's Mega Evolution System (PATCH)
                                Reply With Quote
                                  #967    
                                Old April 13th, 2017 (9:31 AM). Edited April 13th, 2017 by Aryan 10.
                                Aryan 10's Avatar
                                Aryan 10 Aryan 10 is offline
                                Battle Legend
                                   
                                  Join Date: Nov 2016
                                  Location: Pallet Town, India
                                  Gender: Male
                                  Nature: Relaxed
                                  Posts: 162
                                  Expanded Pokemon In Advance Map


                                  Take the total number of pokemon.

                                  Change it to hex and reverse it.
                                  Quote:
                                  For example, 123 to 23 01

                                  For Advance Map 1.92
                                  Go to D027C

                                  For Advance Map 1.95
                                  Go to 77DD5

                                  and change
                                  Code:
                                  9C 01
                                  to your reverse hex number of Pokemon.

                                  And it's done.
                                  Reply With Quote
                                    #968    
                                  Old April 13th, 2017 (1:43 PM). Edited April 13th, 2017 by Wesley FG.
                                  Wesley FG's Avatar
                                  Wesley FG Wesley FG is offline
                                  Pokémon Kalos Advance !! Gba Hack
                                     
                                    Join Date: Oct 2008
                                    Location: Brazil
                                    Gender: Male
                                    Nature: Modest
                                    Posts: 338
                                    Quote:
                                    Originally Posted by Aryan 10 View Post
                                    Expanded Pokemon In Advance Map


                                    Take the total number of pokemon.

                                    Change it to hex and reverse it.



                                    Go to D027C and change
                                    Code:
                                    9C 01
                                    to your reverse hex number of Pokemon.

                                    And it's done.
                                    you need specific what version of Advance Map (1.92, 1.95)
                                    are you tutorial
                                    __________________
                                    Kalos Demake Soon!!
                                    Reply With Quote
                                      #969    
                                    Old April 13th, 2017 (5:55 PM).
                                    mbcn10ww's Avatar
                                    mbcn10ww mbcn10ww is offline
                                       
                                      Join Date: Oct 2016
                                      Location: Brazil
                                      Gender: Male
                                      Nature: Lonely
                                      Posts: 366
                                      Quote:
                                      Originally Posted by Aryan 10 View Post
                                      Expanded Pokemon In Advance Map


                                      Take the total number of pokemon.

                                      Change it to hex and reverse it.



                                      Go to D027C and change
                                      Code:
                                      9C 01
                                      to your reverse hex number of Pokemon.

                                      And it's done.
                                      Quote:
                                      Originally Posted by Wesley FG View Post
                                      you need specific what version of Advance Map (1.92, 1.95)
                                      are you tutorial
                                      It's for 1.92

                                      The offset for 1.95 is 0x77DD5
                                      __________________
                                      My Works:
                                      [Fire Red] Adding New Trainer Sprites
                                      [Fire Red] My Version of HMs Type Check
                                      [Fire Red] Touched's Mega Evolution System (PATCH)
                                      Reply With Quote
                                        #970    
                                      Old April 13th, 2017 (6:13 PM).
                                      Aryan 10's Avatar
                                      Aryan 10 Aryan 10 is offline
                                      Battle Legend
                                         
                                        Join Date: Nov 2016
                                        Location: Pallet Town, India
                                        Gender: Male
                                        Nature: Relaxed
                                        Posts: 162
                                        Quote:
                                        Originally Posted by mbcn10ww View Post
                                        It's for 1.92
                                        The offset for 1.95 is 0x77DD5
                                        Oh, thanks for informing,
                                        Actually, I rarely use 1.95 because it's buggy.

                                        I better edit my post.
                                        Reply With Quote
                                          #971    
                                        Old April 14th, 2017 (5:17 AM). Edited April 14th, 2017 by mbcn10ww.
                                        mbcn10ww's Avatar
                                        mbcn10ww mbcn10ww is offline
                                           
                                          Join Date: Oct 2016
                                          Location: Brazil
                                          Gender: Male
                                          Nature: Lonely
                                          Posts: 366
                                          Quote:
                                          Originally Posted by mbcn10ww View Post
                                          <Remove Field Moves options from Pokémon menu [FR]>
                                          0x122A8C: 00
                                          0x45A76E: 00 00

                                          <Remove Ending Credits (Reset the Game) [FR]>
                                          0x16730B: 9C 50 00 6B 02 FF
                                          I found some problems with skipping the game credits in mobile emulators (like MyBoy), it freezes instead of reset, then I fixed it with a new hex edit:

                                          <Remove Ending Credits (Reset the Game) [FR]>

                                          In some free space place 00 DF 00 00 and save it's offset

                                          At 0x16730B: 23 XX XX XX 08 FF (XX XX XX is the reverse of the offset you saved +1)
                                          __________________
                                          My Works:
                                          [Fire Red] Adding New Trainer Sprites
                                          [Fire Red] My Version of HMs Type Check
                                          [Fire Red] Touched's Mega Evolution System (PATCH)
                                          Reply With Quote
                                            #972    
                                          Old April 15th, 2017 (7:33 AM).
                                          Z-nogyroP Z-nogyroP is offline
                                             
                                            Join Date: May 2014
                                            Age: 17
                                            Gender: Male
                                            Posts: 125
                                            the table for the berry tag images begins at 0x57FC94, at the cheri berry. four bytes are the image pointer, next four are the palette, repeat.
                                            Reply With Quote
                                              #973    
                                            Old April 15th, 2017 (6:16 PM).
                                            kelario27's Avatar
                                            kelario27 kelario27 is offline
                                             
                                            Join Date: Jun 2011
                                            Location: Alaska
                                            Age: 18
                                            Gender: Male
                                            Nature: Serious
                                            Posts: 139
                                            Okay, so I'm still a noob at this, but I think I understand better now how memory works. So for some things, I've decided to brute force my way through the hack with a hex editor.

                                            Just to play around and reverse engineer things a bit, I tried the old fashioned method of opening up scripts with PKSV, then opening the ROM in the hex editor and going to the offsets it mentioned. Except...PKSV uses seven digits for "offsets", when there are only six digits for offsets in the ROM.

                                            I don't really know what in particular to ask about this. Is there some way to translate between the two numbers? Does PKSV lie?

                                            So just as I typed that entire paragraph, I realized that PKSV starts everything with 0x8 and then the offset number.

                                            Posting this anyway in case anyone else was wondering.
                                            __________________
                                            Reply With Quote
                                              #974    
                                            Old April 16th, 2017 (5:14 AM).
                                            mbcn10ww's Avatar
                                            mbcn10ww mbcn10ww is offline
                                               
                                              Join Date: Oct 2016
                                              Location: Brazil
                                              Gender: Male
                                              Nature: Lonely
                                              Posts: 366
                                              Quote:
                                              Originally Posted by kelario27 View Post
                                              Okay, so I'm still a noob at this, but I think I understand better now how memory works. So for some things, I've decided to brute force my way through the hack with a hex editor.

                                              Just to play around and reverse engineer things a bit, I tried the old fashioned method of opening up scripts with PKSV, then opening the ROM in the hex editor and going to the offsets it mentioned. Except...PKSV uses seven digits for "offsets", when there are only six digits for offsets in the ROM.

                                              I don't really know what in particular to ask about this. Is there some way to translate between the two numbers? Does PKSV lie?

                                              So just as I typed that entire paragraph, I realized that PKSV starts everything with 0x8 and then the offset number.

                                              Posting this anyway in case anyone else was wondering.
                                              First, it's the wrong place to ask for help.
                                              Second, the 0x8 (0x9 too, for expanded Roms) is only to tell the system "It's a ROM offset!", if it begins with 0x2 it's a RAM offset.
                                              __________________
                                              My Works:
                                              [Fire Red] Adding New Trainer Sprites
                                              [Fire Red] My Version of HMs Type Check
                                              [Fire Red] Touched's Mega Evolution System (PATCH)
                                              Reply With Quote
                                                #975    
                                              Old April 17th, 2017 (11:14 PM).
                                              Shiny Quagsire's Avatar
                                              Shiny Quagsire Shiny Quagsire is offline
                                              I'm Still Alive, Elsewhere
                                                 
                                                Join Date: May 2009
                                                Location: Hoenn Safari Zone
                                                Age: 20
                                                Gender: Male
                                                Nature: Jolly
                                                Posts: 700
                                                Quote:
                                                Originally Posted by kelario27 View Post
                                                Okay, so I'm still a noob at this, but I think I understand better now how memory works. So for some things, I've decided to brute force my way through the hack with a hex editor.

                                                Just to play around and reverse engineer things a bit, I tried the old fashioned method of opening up scripts with PKSV, then opening the ROM in the hex editor and going to the offsets it mentioned. Except...PKSV uses seven digits for "offsets", when there are only six digits for offsets in the ROM.

                                                I don't really know what in particular to ask about this. Is there some way to translate between the two numbers? Does PKSV lie?

                                                So just as I typed that entire paragraph, I realized that PKSV starts everything with 0x8 and then the offset number.

                                                Posting this anyway in case anyone else was wondering.
                                                This is a GBA memory mapping thing, http://problemkaputt.de/gbatek.htm#gbamemorymap
                                                __________________



                                                Reply With Quote
                                                Reply

                                                Quick Reply

                                                Join the conversation!

                                                Create an account to post a reply in this thread, participate in other discussions, and more!

                                                Create a PokéCommunity Account
                                                Thread Tools

                                                Posting Rules
                                                You may not post new threads
                                                You may not post replies
                                                You may not post attachments
                                                You may not edit your posts

                                                BB code is On
                                                Smilies are On
                                                [IMG] code is On
                                                HTML code is Off

                                                Forum Jump


                                                All times are GMT -8. The time now is 8:30 AM.