The PokéCommunity Forums Fan Games ROM Hacking Research & Development
Development The 4th gen class split in 3rd gen

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
  #301    
Old November 6th, 2016 (1:51 AM).
-Piccolo-'s Avatar
-Piccolo- -Piccolo- is offline
     
    Join Date: May 2016
    Location: Sweden
    Gender: Male
    Nature: Calm
    Posts: 53
    I managed to change all the moves to physical, special, status on my own, surprisingly.

    But how do I use that source code? Does it involve ASM or whatever it's called?
    And how and where do I import in TileMolester, is the lime green area free space in the rom?

    I apologize if i'm a bit annoying and asking so meny questions but i'm new to this and would be really happy if i managed to pull this off.
    __________________
    Reply With Quote

    Relevant Advertising!

      #302    
    Old November 6th, 2016 (2:13 AM).
    The_learner's Avatar
    The_learner The_learner is offline
       
      Join Date: Sep 2014
      Location: Nepal
      Age: 19
      Gender: Male
      Nature: Brave
      Posts: 464
      Quote:
      Originally Posted by -Piccolo- View Post
      I managed to change all the moves to physical, special, status on my own, surprisingly.

      But how do I use that source code? Does it involve ASM or whatever it's called?
      And how and where do I import in TileMolester, is the lime green area free space in the rom?

      I apologize if i'm a bit annoying and asking so meny questions but i'm new to this and would be really happy if i managed to pull this off.
      It semms as if you dont know much about asm codes... just visit some thread in the forum... I remember if there is a thread teaching you to insert the asm codes into the rom, but its hard for me to explain.. because I cant explain well... but search for some threads in the rom hacking forum and you can do it

      and for inserting the image...
      I would suggest NSE

      first open your rom in NSE
      then click on "Open sprite"
      and open the image provided in that thread I linked earlier.. the split images...
      then click on "Insert" -----> "Image data"
      NSE gives you an offset there... remember it(Note somewhere)
      click on "save"

      In the source code you will see..
      .SplitImages: .word 0x08YYYYYY

      in place of "YYYYYY" you will write the offset you noted earlier


      Try it once if it still wont help you then contact me... I will do it for you
      __________________
      My Progressing Hack



      Discord Is fun. click here to find me around Discord !!!

      My works:
      TOOL: TL's Quick Enhancer
      TUTORIAL: Fire red habitat editing
      TUTORIAL: Fire red Transparent text-box


      | |
      Reply With Quote
        #303    
      Old November 6th, 2016 (3:42 AM). Edited November 6th, 2016 by -Piccolo-.
      -Piccolo-'s Avatar
      -Piccolo- -Piccolo- is offline
         
        Join Date: May 2016
        Location: Sweden
        Gender: Male
        Nature: Calm
        Posts: 53
        I tried it out, although I have no idea of what i'm doing.
        I copied the the source code into a txt.file and saved it as a asm file. ''split.asm''

        I laso inserted the image and copied the offset it gave me and inserted it into .SplitImages: .word 0x08YYYYYY in the source (replacing the Y's).

        I went into cmd and got into the folder where split.asm was located and typed ''thumb split.asm split.bin'' and a split.bin was created. I open the split.bin in HxD and copied the values and insert them into some free space in my fire red rom.

        Quote:
        Originally Posted by Darthatron View Post
        Change these bytes:
        Code:
        @0813A130: 0x2F
        @0813A17B: 0x47
        @0813A1A0: [Pointer to Routine, plus 1 (one).]
        What does the 0x mean? and [Pointer to Routine, plus 1 (one).]?
        If i figure this out it should work right?

        Here's the ASM tutorial by HackMew I followed. http://www.pokecommunity.com/showthread.php?t=117917#ASM1
        Here's another ASM tutorial by FBI I looked at: http://www.pokecommunity.com/showpost.php?p=8526603&postcount=199

        Sorry for all the edits :/
        Reply With Quote
          #304    
        Old December 4th, 2016 (2:57 PM).
        Prietodactyl's Avatar
        Prietodactyl Prietodactyl is offline
           
          Join Date: Oct 2016
          Gender: Male
          Posts: 31
          I have a problem. I applied the patch to a FireRed rom but I don't know what I have to do next. How do I change the moves to Special or Status? And how do I insert the images for each category?

          Thanks
          Reply With Quote
            #305    
          Old December 4th, 2016 (6:42 PM).
          ShyRayq's Avatar
          ShyRayq ShyRayq is offline
          Unprofessional Unprofessional
             
            Join Date: Aug 2007
            Gender: Male
            Nature: Adamant
            Posts: 1,444
            Quote:
            Originally Posted by Prietodactyl View Post
            I have a problem. I applied the patch to a FireRed rom but I don't know what I have to do next. How do I change the moves to Special or Status? And how do I insert the images for each category?

            Thanks
            Okay. In order to change the move categories:
            In many of the new move editors, there should just be a section that allows you to change the byte. Check out the tools section.

            For the images, you're gonna need to know how to insert ASM and images. Look through the thread for Darthatron's post containing the ASM code and the images. You also need to get a Hex editor in order to perform the byte changes he has laid out as well.
            __________________
            3DS Friend Code: 5069-3944-3902
            IGN: Peter; (X, Y, OR, AS, M)
            Friend Safari: (Fighting) Throh, Meditite, Breloom
            Living Pokedex Complete: LG, E, Pl, Y, OR, M
            Big thanks especially to DestinedJagold, Xerneas_X, Elements1 and ~RNC~

            PM me if you want to trade, or add my FC.
            Reply With Quote
              #306    
            Old December 5th, 2016 (6:24 AM).
            Prietodactyl's Avatar
            Prietodactyl Prietodactyl is offline
               
              Join Date: Oct 2016
              Gender: Male
              Posts: 31
              Quote:
              Originally Posted by ShyRayq View Post
              Okay. In order to change the move categories:
              In many of the new move editors, there should just be a section that allows you to change the byte. Check out the tools section.

              For the images, you're gonna need to know how to insert ASM and images. Look through the thread for Darthatron's post containing the ASM code and the images. You also need to get a Hex editor in order to perform the byte changes he has laid out as well.
              Yes, with Gamer2020's PGE I can edit if a move is Physical, Special or Status. That's it? I don't need to hex edit anything?
              Reply With Quote
                #307    
              Old December 5th, 2016 (1:04 PM).
              ShyRayq's Avatar
              ShyRayq ShyRayq is offline
              Unprofessional Unprofessional
                 
                Join Date: Aug 2007
                Gender: Male
                Nature: Adamant
                Posts: 1,444
                Quote:
                Originally Posted by Prietodactyl View Post
                Yes, with Gamer2020's PGE I can edit if a move is Physical, Special or Status. That's it? I don't need to hex edit anything?
                Yep for the catergories, that's it. I'ts much easier now than when this was first released.
                __________________
                3DS Friend Code: 5069-3944-3902
                IGN: Peter; (X, Y, OR, AS, M)
                Friend Safari: (Fighting) Throh, Meditite, Breloom
                Living Pokedex Complete: LG, E, Pl, Y, OR, M
                Big thanks especially to DestinedJagold, Xerneas_X, Elements1 and ~RNC~

                PM me if you want to trade, or add my FC.
                Reply With Quote
                  #308    
                Old December 5th, 2016 (1:05 PM).
                BluRose BluRose is offline
                practicing asmagic
                   
                  Join Date: Apr 2014
                  Location: hyakkoku city
                  Age: 16
                  Gender: Male
                  Nature: Timid
                  Posts: 647
                  Quote:
                  Originally Posted by Prietodactyl View Post
                  Yes, with Gamer2020's PGE I can edit if a move is Physical, Special or Status. That's it? I don't need to hex edit anything?
                  editing the move to be one of those categories with pge will make it physical, special, or status, yes.

                  if you want images, you need to find the asm code for that made public by darthatron a while ago and follow his mini-tutorial on it
                  __________________
                  HI EVERYONE
                  i give hugs, pm me if you need to talk <3
                  i contracted senioritis halfway through this past year--i'm a sophomore
                  Reply With Quote
                    #309    
                  Old December 6th, 2016 (9:07 AM).
                  Prietodactyl's Avatar
                  Prietodactyl Prietodactyl is offline
                     
                    Join Date: Oct 2016
                    Gender: Male
                    Posts: 31
                    Quote:
                    Originally Posted by ShyRayq View Post
                    Yep for the catergories, that's it. I'ts much easier now than when this was first released.
                    Quote:
                    Originally Posted by BluRose View Post
                    editing the move to be one of those categories with pge will make it physical, special, or status, yes.

                    if you want images, you need to find the asm code for that made public by darthatron a while ago and follow his mini-tutorial on it
                    Thank you!
                    Reply With Quote
                      #310    
                    Old December 6th, 2016 (10:37 AM).
                    Prietodactyl's Avatar
                    Prietodactyl Prietodactyl is offline
                       
                      Join Date: Oct 2016
                      Gender: Male
                      Posts: 31
                      Perhaps I'm too idiot, but I can't make this thing work.

                      Patching the game with the P/S split patch: done
                      Inserting the graphics with NSE 2: done
                      Inserting the ASM routine into the free space of my FR rom: done

                      But I don't know what other bytes I have to edit to make it run. That's all I've got. I need help :(
                      Reply With Quote
                        #311    
                      Old December 6th, 2016 (1:28 PM).
                      ShyRayq's Avatar
                      ShyRayq ShyRayq is offline
                      Unprofessional Unprofessional
                         
                        Join Date: Aug 2007
                        Gender: Male
                        Nature: Adamant
                        Posts: 1,444
                        Quote:
                        Originally Posted by Prietodactyl View Post
                        Perhaps I'm too idiot, but I can't make this thing work.

                        Patching the game with the P/S split patch: done
                        Inserting the graphics with NSE 2: done
                        Inserting the ASM routine into the free space of my FR rom: done

                        But I don't know what other bytes I have to edit to make it run. That's all I've got. I need help
                        Well, you go into a hex editor, go to the addresses mentioned in Darthatron's post and change the bytes there to the ones he has mentioned.

                        For the one about the pointer, take the address you inserted the routine at. e.g/ ABCDEF
                        split it into sections of 2: AB CD EF, swap the first and last: EF CD AB
                        and stick 08 at the back: EF CD AB 08
                        And he says at 1 to it, so its more like: EF+1 CD AB 08
                        __________________
                        3DS Friend Code: 5069-3944-3902
                        IGN: Peter; (X, Y, OR, AS, M)
                        Friend Safari: (Fighting) Throh, Meditite, Breloom
                        Living Pokedex Complete: LG, E, Pl, Y, OR, M
                        Big thanks especially to DestinedJagold, Xerneas_X, Elements1 and ~RNC~

                        PM me if you want to trade, or add my FC.
                        Reply With Quote
                          #312    
                        Old December 6th, 2016 (1:48 PM). Edited December 6th, 2016 by Prietodactyl.
                        Prietodactyl's Avatar
                        Prietodactyl Prietodactyl is offline
                           
                          Join Date: Oct 2016
                          Gender: Male
                          Posts: 31
                          Quote:
                          Originally Posted by ShyRayq View Post
                          Well, you go into a hex editor, go to the addresses mentioned in Darthatron's post and change the bytes there to the ones he has mentioned.

                          For the one about the pointer, take the address you inserted the routine at. e.g/ ABCDEF
                          split it into sections of 2: AB CD EF, swap the first and last: EF CD AB
                          and stick 08 at the back: EF CD AB 08
                          And he says at 1 to it, so its more like: EF+1 CD AB 08
                          Which bytes do I have to change with the pointer? The first four?

                          Edit:

                          YOU ROCK MAN! I was finally able to do it. Thank you so much.



                          Can I make a tutorial on how to do it from scratch, for people who don't know anything about rom hacking?
                          Reply With Quote
                            #313    
                          Old December 6th, 2016 (7:37 PM).
                          ShyRayq's Avatar
                          ShyRayq ShyRayq is offline
                          Unprofessional Unprofessional
                             
                            Join Date: Aug 2007
                            Gender: Male
                            Nature: Adamant
                            Posts: 1,444
                            Quote:
                            Originally Posted by Prietodactyl View Post
                            Which bytes do I have to change with the pointer? The first four?

                            Edit:

                            YOU ROCK MAN! I was finally able to do it. Thank you so much.



                            Can I make a tutorial on how to do it from scratch, for people who don't know anything about rom hacking?
                            No problem man.
                            I mean, if you want to. Most people just use a rom base.
                            __________________
                            3DS Friend Code: 5069-3944-3902
                            IGN: Peter; (X, Y, OR, AS, M)
                            Friend Safari: (Fighting) Throh, Meditite, Breloom
                            Living Pokedex Complete: LG, E, Pl, Y, OR, M
                            Big thanks especially to DestinedJagold, Xerneas_X, Elements1 and ~RNC~

                            PM me if you want to trade, or add my FC.
                            Reply With Quote
                              #314    
                            Old December 13th, 2016 (3:41 PM). Edited December 15th, 2016 by Jeesh.
                            Jeesh's Avatar
                            Jeesh Jeesh is offline
                            The Emerald Rights Activist.
                               
                              Join Date: Oct 2016
                              Gender: Male
                              Posts: 48
                              Quote:
                              Originally Posted by Sky High View Post
                              Attention! For those who can't get on Tlachtli's Phys/Spec/Stat Icon in Emerald, now, listen here:


                              I've finally got it working and it is very a big success. Thanks Tlachtli! Gonna credit you once I made an Emerald base hack. I used DoesntKnowHowToPlay's Emerald Physical/Special/Status split first. I'll also give you credits too. Here are some screenshots:




                              Tlachtli,
                              At the first, I've found your entire work to be not working. But, I tried adding some missing "hows" so I can make this work. Here are some info I want you to change and add:

                              1.)
                              I noticed the part .SplitImages: .word 0x[insert address to images] that there is something's missing to it. You've forgotten to put 08 at the beginning of [insert address to images]. So then, that will be .SplitImages: .word 0x08[insert address to images]. Example, I've made it on offset E43780. So, that will be .SplitImages: .word 0x08E43780.

                              2.)
                              Then, about you're going to change the offsets to inserted ASM address +1, some people would just write and change the inserted ASM address +1 on certain offsets. Example: I have E43668 to be the ASM offset and I've changed and written 6936E4 on 1C0F88, 1c1328, and 1c17a0. When I did it, it froze just like Shufflejoy just commented:



                              It is because you just only write and change the inserted ASM address +1. I've noticed the value next to it "03". With 03 next to it, the routine will not ever work.


                              So then, try to change 03 to 08.


                              It is because with the value 08 next to it, it will locate the routine (or 09 if you put the routine on 1000000+. Ex: you have inserted the routine on 1234568, change and write 69452309). With this, I've finally made it working. Well, I haven't found bugs and glitches when I revised this.

                              3.)
                              This maybe a small problem but I would be big in just one mistake. You may just have inserted the image into compressed image (with unLZ program). Don't use unLZ to insert this. I highly recommend to use NSE 2.1 to insert the image because insertion of images has options is compressed or uncompressed. "Load ROM" then "Open Sprite" then "File => Insert => Image Data".



                              Revised Steps
                              I also rewrite the complete tutorial about it according to his original tutorial with the revises I made. So, here it is:

                              1.)
                              Insert this image as an uncompressed image...

                              Use NSE 2.1 to do so. To insert it on NSE 2.1: First, "Load ROM" load your Emerald file; Second, "Open Sprite" open your sprite; Then, "File => Insert => Image Data"

                              2A.)
                              Insert this ASM...
                              If you can't do ASM and/or if you have no idea about ASM at all, proceed to Step 2B.
                              Revised ASM:
                              Spoiler:

                              Spoiler:

                              .text
                              .align 2
                              .thumb
                              .thumb_func

                              Prestart:
                              add r0, r0, r5
                              lsl r0, r0, #0x03
                              ldr r1, .Replaced_Address
                              add r4, r0, r1
                              push {r0-r5}
                              ldr r0, .SplitImages
                              ldr r1, .OBJVRAM
                              mov r2, #0xC0
                              swi #0xB

                              ldr r0, .CurMoveIndex_DMA
                              ldr r0, [r0]
                              mov r2, #0x10
                              lsl r2, #8
                              add r2, #0xD
                              add r0, r2
                              ldrb r0, [r0]
                              cmp r0, #0x0
                              bne StatFinish

                              mov r2, #0x10
                              lsl r2, #8
                              add r2, #0xA
                              cmp r6, #0x0
                              beq StatPreStart

                              Start:
                              ldr r0, .CurMoveIndex_DMA
                              ldr r0, [r0]
                              add r0, r2
                              cmp r6, #0x1
                              bne Continue
                              add r0, #0x1

                              Continue:
                              ldrb r1, [r0]
                              cmp r1, #0x0
                              bne GetMove
                              mov r2, #0x20
                              lsl r2, #8
                              add r0, r2
                              ldrb r1, [r0]

                              GetMove:
                              cmp r1, #0x4
                              beq GetFifthMove
                              lsl r1, r1, #1
                              ldr r0, .Move_List_DMA
                              ldr r2, [r0]
                              add r2, #0x84
                              mov r0, r2
                              add r0, r1
                              ldrh r3, [r0]

                              Body:
                              mov r0, #0x0
                              lsl r0, r3, #1
                              add r0, r3
                              lsl r0, r0, #2
                              ldr r1, .MoveBase
                              add r0, r1
                              ldrb r4, [r0, #10]
                              lsl r4, #1

                              mov r0, #0x40
                              lsl r0, #20
                              ldr r1, [r0]
                              mov r2, #0x20
                              orr r1, r2
                              stm r0!, {r1}

                              ldr r0, .OAMMemAddress
                              ldr r1, .IconOAM1
                              ldr r2, .IconOAM2
                              cmp r4, #0x2
                              beq SpecAdd
                              cmp r4, #0x4
                              beq StatAdd

                              Draw:
                              stmia r0!, {r1, r2}
                              ldr r0, .OAMMemAddress
                              mov r1, #0x70
                              lsl r1, #20
                              add r1, #0xD8
                              mov r2, #0x4
                              swi #0xb

                              StatFinish:
                              cmp r6, #0x1
                              beq MoveFinish
                              cmp r6, #0x2
                              beq LearnFinish
                              pop {r0-r6}
                              ldr r0, .Return_Address_Stat
                              bx r0

                              GetFifthMove:
                              cmp r6, #0x2
                              bne StatFinish
                              ldr r0, .CurMoveIndex_DMA
                              ldr r0, [r0]
                              mov r2, #0x10
                              lsl r2, #8
                              add r2, #0xA
                              add r0, r2
                              sub r0, #0x2
                              ldrh r3, [r0]
                              cmp r3, #0x0
                              bne Body
                              mov r2, #0x20
                              lsl r2, #8
                              add r0, r2
                              ldrh r3, [r0]
                              cmp r3, #0x0
                              bne Body
                              b Start

                              StatPreStart:
                              mov r3, #0x20
                              lsl r3, #8
                              add r2, r3
                              b Start

                              LearnFinish:
                              pop {r0-r6}
                              ldr r0, .Return_Address_Learn
                              bx r0

                              MoveFinish:
                              pop {r0-r6}
                              ldr r0, .Return_Address_Move
                              bx r0

                              SpecAdd:
                              mov r3, #0x20
                              lsl r3, #8
                              add r3, #0x04
                              add r2, r3
                              b Draw

                              StatAdd:
                              add r2, #0x08
                              b Draw

                              .align 2
                              .MoveBase: .word 0x0831C898
                              .CurMoveIndex_DMA: .word 0x0300090C
                              .Move_List_DMA: .word 0x0203CF1C
                              .Replaced_Address: .word 0x03005E08
                              .Return_Address_Stat: .word 0x081C0F57
                              .Return_Address_Move: .word 0x081C12F7
                              .Return_Address_Learn: .word 0x081C175D
                              .IconOAM1: .word 0x40280078
                              .IconOAM2: .word 0x0000D580
                              .OBJVRAM: .word 0x06013000
                              .OAMMemAddress: .word 0x030023E4
                              .SplitImages: .word 0x08FCFDFE


                              *Note: Change FCFDFE to the offset where you've inserted the uncompressed image. OR, if you have inserted the ASM before the image and you're going to edit on a hex editor after inserting, go to the location of the inserted ASM and look for the FE FD FC 08 part on it. Again, change it but this time, in a reversed way (Example: Uncompressed image offset: ABCDEF. Think this: AB CD EF. And do this: EF CD AB. And finally change FE FD FC 08 to EF CD AB 08)

                              For 1000000+, I will have the example as 1234568 as the offset, do this: don't do 0x081234568. Do this: 0x09234568. For hex-editing: Mind little endian so it becomes 01 23 45 68. Reverse it so it becomes 68 45 23 01. Replace 01 with 09 (because 08+01=09). Final answer for it is 68 45 23 09.


                              2B.)
                              This is an alternate step for 2A for those who can't do ASM. For those who can't do ASM but can do HEX EDITING, below is the hex values of it. Insert this on the offset that ends with 0, 4, 8, C and nothing else.

                              Spoiler:

                              40 19 C0 00 3B 49 44 18 3F B4 42 48 3F 49 C0 22 0B DF 36 48 00 68 10 22 12 02 0D 32 80 18 00 78 00 28 36 D1 10 22 12 02 0A 32 00 2E 4B D0 2F 48 00 68 80 18 01 2E 00 D1 01 30 01 78 00 29 03 D1 20 22 12 02 80 18 01 78 04 29 29 D0 49 00 28 48 02 68 84 32 10 1C 40 18 03 88 00 20 58 00 C0 18 80 00 21 49 40 18 84 7A 64 00 40 20 00 05 01 68 20 22 11 43 02 C0 26 48 22 49 23 4A 02 2C 2C D0 04 2C 2F D0 06 C0 22 48 70 21 09 05 D8 31 04 22 0B DF 01 2E 1E D0 02 2E 19 D0 7F BC 16 48 00 47 02 2E F6 D1 11 48 00 68 10 22 12 02 0A 32 80 18 02 38 03 88 00 2B D0 D1 20 22 12 02 80 18 03 88 00 2B CA D1 B3 E7 20 23 1B 02 D2 18 AF E7 7F BC 0B 48 00 47 7F BC 09 48 00 47 20 23 1B 02 04 33 D2 18 CF E7 08 32 CD E7 98 C8 31 08 0C 09 00 03 1C CF 03 02 08 5E 00 03 57 0F 1C 08 F7 12 1C 08 5D 17 1C 08 78 00 28 40 80 D5 00 00 00 30 01 06 E4 23 00 03 FE FD FC 08


                              If you have inserted the uncompressed image first, replace FE FD FC 08 with the offset where you have inserted the uncompressed image and the offset must be like in this example: Uncompressed image offset: ABCDEF. Mind little endian: AB CD EF. Reverse them: EF CD AB. And finally change FE FD FC 08 to EF CD AB 08. If you have keen eyes, you will not get a mistake doing this.

                              3.)
                              Replace some Hex-Values on offsets...
                              Revised Hex Edits:
                              Spoiler:

                              Change 0x1C0F88, 0x1C1328 and 0x1C17A0 to XX XX XX 08 (or XX XX XX 09 for offset 1000000+)
                              Change 0x1C0F54, 0x1C12F4 and 0x1C175A to 08 47
                              Change 0x1C0F4E to 40 B4 00 26
                              Change 0x1C12EE to 40 B4 01 26
                              Change 0x1C1754 to 40 B4 02 26

                              Replace XX XX XX with the offset of your ASM, already +1, little endian and reversed. Example: You have inserted the ASM to E43668. Plus one so it becomes E43669. Mind little endian so it becomes like this E4 36 69. Then, reversed it so it becomes 69 36 E4.

                              For 1000000+, I will have the example as 1234568 as the offset. Plus one so it becomes 1234569. Mind little endian so it becomes 01 23 45 69. Reverse it so it becomes 69 45 23 01. Replace 01 with 09 (because 08+01=09). Final answer for it is 69 45 23 09.


                              I hope this helps for those who can't make it at the first. It works well, trust me.
                              Okay, this may have already been talked about, but I'm gonna ask it cuz I'm tl;dr-ing on this entire thread '

                              Everybody is talking about "use the patch and stuff without expanding anything." I used the patch and added the icons on an unexpanded rom, and the whole thing worked (yay). But I want to use expanded moves and 'mons, and when I expand those two aspects after adding this split, it doesn't matter if a move is physical, special, or status: the icon always shows physical. I feel like it's just a table problem that I have to update with expanded numbers, but I haven't found anything that is immensely helpful regarding this problem. Could I get a help?

                              Btw, If you need an image, just ask.
                              __________________
                              >Emerald hacks need to come back.
                              >Make EMerica great again.
                              >I'm a Hoenn PROenn.
                              >Free the E.
                              >All hacks are created equal...but Emerald is cool.
                              >Charizard got nothin' on Rayquaza.
                              >Learn to hack the hard way. Go with Emerald.
                              Reply With Quote
                                #315    
                              Old January 6th, 2017 (4:54 AM).
                              The_learner's Avatar
                              The_learner The_learner is offline
                                 
                                Join Date: Sep 2014
                                Location: Nepal
                                Age: 19
                                Gender: Male
                                Nature: Brave
                                Posts: 464
                                I dont know if I am allowed to this or not,
                                but if anyone is facing problem in inserting the PSS split and the icons then you can use the tool linked in my signature to do the task by just clicking a single button,
                                .
                                but the task of giving the move proper class will be your task :)
                                __________________
                                My Progressing Hack



                                Discord Is fun. click here to find me around Discord !!!

                                My works:
                                TOOL: TL's Quick Enhancer
                                TUTORIAL: Fire red habitat editing
                                TUTORIAL: Fire red Transparent text-box


                                | |
                                Reply With Quote
                                  #316    
                                Old March 18th, 2017 (4:17 PM).
                                prinney prinney is offline
                                   
                                  Join Date: Mar 2016
                                  Posts: 4
                                  Quote:
                                  Originally Posted by Shufflejoy View Post
                                  Here's an IPS patch that applies version 1.4 of the Emerald patch, has all of the moves set to the correct Physical/Special/Status byte, and has the icons installed and working. Warning: I didn't take note of where I inserted the image or the ASM, so back up your game first.
                                  I've tried clicking the attachment, whenever I click it it's not downloading just going into a blackscreen. Anyone else has a copy of this? or a link? Thanks guys!
                                  Reply With Quote
                                    #317    
                                  Old April 2nd, 2017 (1:25 AM). Edited April 2nd, 2017 by EddyHg80.
                                  EddyHg80's Avatar
                                  EddyHg80 EddyHg80 is offline
                                     
                                    Join Date: Jan 2014
                                    Posts: 28
                                    Quote:
                                    Originally Posted by Tlachtli View Post
                                    First, you'll need to insert this ASM somewhere
                                    Spoiler:
                                    .text
                                    .align 2
                                    .thumb
                                    .thumb_func

                                    Prestart:
                                    add r0, r0, r5
                                    lsl r0, r0, #0x03
                                    ldr r1, .Replaced_Address
                                    add r4, r0, r1
                                    push {r0-r5}
                                    ldr r0, .SplitImages
                                    ldr r1, .OBJVRAM
                                    mov r2, #0xC0
                                    swi #0xB

                                    ldr r0, .CurMoveIndex_DMA
                                    ldr r0, [r0]
                                    mov r2, #0x10
                                    lsl r2, #8
                                    add r2, #0xD
                                    add r0, r2
                                    ldrb r0, [r0]
                                    cmp r0, #0x0
                                    bne StatFinish

                                    mov r2, #0x10
                                    lsl r2, #8
                                    add r2, #0xA
                                    cmp r6, #0x0
                                    beq StatPreStart

                                    Start:
                                    ldr r0, .CurMoveIndex_DMA
                                    ldr r0, [r0]
                                    add r0, r2
                                    cmp r6, #0x1
                                    bne Continue
                                    add r0, #0x1

                                    Continue:
                                    ldrb r1, [r0]
                                    cmp r1, #0x0
                                    bne GetMove
                                    mov r2, #0x20
                                    lsl r2, #8
                                    add r0, r2
                                    ldrb r1, [r0]

                                    GetMove:
                                    cmp r1, #0x4
                                    beq GetFifthMove
                                    lsl r1, r1, #1
                                    ldr r0, .Move_List_DMA
                                    ldr r2, [r0]
                                    add r2, #0x84
                                    mov r0, r2
                                    add r0, r1
                                    ldrh r3, [r0]

                                    Body:
                                    mov r0, #0x0
                                    lsl r0, r3, #1
                                    add r0, r3
                                    lsl r0, r0, #2
                                    ldr r1, .MoveBase
                                    add r0, r1
                                    ldrb r4, [r0, #10]
                                    lsl r4, #1

                                    mov r0, #0x40
                                    lsl r0, #20
                                    ldr r1, [r0]
                                    mov r2, #0x20
                                    orr r1, r2
                                    stm r0!, {r1}

                                    ldr r0, .OAMMemAddress
                                    ldr r1, .IconOAM1
                                    ldr r2, .IconOAM2
                                    cmp r4, #0x2
                                    beq SpecAdd
                                    cmp r4, #0x4
                                    beq StatAdd

                                    Draw:
                                    stmia r0!, {r1, r2}
                                    ldr r0, .OAMMemAddress
                                    mov r1, #0x70
                                    lsl r1, #20
                                    add r1, #0xD8
                                    mov r2, #0x4
                                    swi #0xb

                                    StatFinish:
                                    cmp r6, #0x1
                                    beq MoveFinish
                                    cmp r6, #0x2
                                    beq LearnFinish
                                    pop {r0-r6}
                                    ldr r0, .Return_Address_Stat
                                    bx r0

                                    GetFifthMove:
                                    cmp r6, #0x2
                                    bne StatFinish
                                    ldr r0, .CurMoveIndex_DMA
                                    ldr r0, [r0]
                                    mov r2, #0x10
                                    lsl r2, #8
                                    add r2, #0xA
                                    add r0, r2
                                    sub r0, #0x2
                                    ldrh r3, [r0]
                                    cmp r3, #0x0
                                    bne Body
                                    mov r2, #0x20
                                    lsl r2, #8
                                    add r0, r2
                                    ldrh r3, [r0]
                                    cmp r3, #0x0
                                    bne Body
                                    b Start

                                    StatPreStart:
                                    mov r3, #0x20
                                    lsl r3, #8
                                    add r2, r3
                                    b Start

                                    LearnFinish:
                                    pop {r0-r6}
                                    ldr r0, .Return_Address_Learn
                                    bx r0

                                    MoveFinish:
                                    pop {r0-r6}
                                    ldr r0, .Return_Address_Move
                                    bx r0

                                    SpecAdd:
                                    mov r3, #0x20
                                    lsl r3, #8
                                    add r3, #0x04
                                    add r2, r3
                                    b Draw

                                    StatAdd:
                                    add r2, #0x08
                                    b Draw

                                    .align 2
                                    .MoveBase: .word 0x0831C898
                                    .CurMoveIndex_DMA: .word 0x0300090C
                                    .Move_List_DMA: .word 0x0203CF1C
                                    .Replaced_Address: .word 0x03005E08
                                    .Return_Address_Stat: .word 0x081C0F57
                                    .Return_Address_Move: .word 0x081C12F7
                                    .Return_Address_Learn: .word 0x081C175D
                                    .IconOAM1: .word 0x40280078
                                    .IconOAM2: .word 0x0000D580
                                    .OBJVRAM: .word 0x06013000
                                    .OAMMemAddress: .word 0x030023E4
                                    .SplitImages: .word 0x[insert address to images]
                                    Hi, I wonder how can I edit the position of where the icon is displayed?
                                    I work with Italian Emerald, and our "power" word is a bit longer (it's "potenza") and the icon gets covered, so I would like to shift it a bit to the right.

                                    EDIT: found it!
                                    you have to edit
                                    .IconOAM1: .word 0x40280078
                                    28 is the X axis
                                    78 is the Y axis
                                    Reply With Quote
                                      #318    
                                    Old 1 Week Ago (10:16 AM).
                                    Gilla Gilla is offline
                                       
                                      Join Date: May 2017
                                      Posts: 1
                                      Hey really impressed with this! Sorry to ask but could someone please include a full working patch? I would really appreciate it!
                                      Reply With Quote
                                        #319    
                                      Old 1 Week Ago (11:34 AM).
                                      Mariow2's Avatar
                                      Mariow2 Mariow2 is online now
                                         
                                        Join Date: Feb 2017
                                        Location: Why?
                                        Gender: Male
                                        Nature: Calm
                                        Posts: 61
                                        Should we try and get ahead of the Japanese hackers?
                                        __________________
                                        A Pokemon that is discriminated!
                                        Support squirtle and make it everyone's favourite. Maybe it could be added to the Pokémon Orphanage.
                                        [align=center]
                                        Name: Lilley
                                        Adopt one yourself! @Pokémon Orphanage[/align]
                                        Reply With Quote
                                        Reply
                                        Quick Reply

                                        Sponsored Links
                                        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 5:16 AM.