Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

TrollandToad.com
Reply
 
Thread Tools
  #1    
Old June 16th, 2010 (9:40 AM). Edited June 18th, 2010 by knizz.
knizz's Avatar
knizz knizz is offline
     
    Join Date: Aug 2007
    Posts: 192
    Use Un-LZ to modify the tileset (Pos: 08e9c798 Nr.: 1635) and write the new position to 0813b848 The tilemap is stored at 08e9ca44. Open this tilemap in a hex-editor. You'll see something like "01 00 01 00 ... 02 00 03 00 04 00 01 00 01 00". "01 00" is an empty tile. "02 00" is a (c)-tile. The distance of two "02 00" is the lenght of one line. Go to the last "02 00" and add this distance to your current position. Now type "02 00 03 00 04 00 05 00 01 00 01 00 01 00". Continue counting from 2b for each tile. "2b 00" for one tile. "2b 00 2c 00" for two tiles. etc.

    Spoiler:

    Code:
    0813b81c  480a ldr r0, [$0813b848] (=$08e9c798)
    0813b81e  26c0 mov r6, #0xc0
    0813b820  04f6 lsl r6, r6, #0x13
    0813b822  199b add r3, r3, r6
    0813b824  1c19 add r1, r3, #0x0
    0813b826  f0a4 bl $081e07f0				LZ77UnCompVram(08e9c798,06000000)
    0813b82a  4808 ldr r0, [$0813b84c] (=$08e9ca24)
    0813b82c  1c29 add r1, r5, #0x0
    0813b82e  2220 mov r2, #0x20
    0813b830  f738 bl $08073a58
    0813b834  4806 ldr r0, [$0813b850] (=$08e9ca44)
    0813b836  19a4 add r4, r4, r6
    0813b838  22a0 mov r2, #0xa0
    0813b83a  0092 lsl r2, r2, #0x02
    0813b83c  1c21 add r1, r4, #0x0
    0813b83e  f0a4 bl $081e07ec				CpuSet(08e9ca44,06000000+3800,280)
    __________________
    Firered IDA 6.6 DB: https://www.dropbox.com/s/d856o3pyndyr5sr/firered.idb
    VBA-M with lua scripting support
    Reply With Quote

    Relevant Advertising!

      #2    
    Old June 23rd, 2010 (7:41 AM).
    ERROR ERROR is offline
       
      Join Date: Aug 2009
      Posts: 84
      where do i get a hex editor from? im confused where to look
      Reply With Quote
        #3    
      Old June 24th, 2010 (7:29 AM).
      Full Metal's Avatar
      Full Metal Full Metal is offline
      C(++) Developer.
      • Silver Tier
       
      Join Date: Jan 2008
      Location: In my mind.
      Age: 22
      Gender: Male
      Nature: Timid
      Posts: 806
      dude, its called google.
      and wow knizz O_O
      good find :thumbs up:
      although, i don't use ruby
      so, a tile map is artificially created directly into memory with a routine, is that what i'm understanding?
      __________________

      ★ full metal.

      I like to push it,
      and push it,
      until my luck is over.
      Reply With Quote
        #4    
      Old June 24th, 2010 (9:05 PM).
      EngelDerRisse's Avatar
      EngelDerRisse EngelDerRisse is offline
      www.poilkjmn.info
         
        Join Date: Nov 2008
        Location: Hyannis, MA
        Nature: Lonely
        Posts: 61
        Awesome Knizz, this information is wicked helpful, though a bit confusing at first.


        Quote:
        Originally Posted by Full Metal View Post
        dude, its called google.
        and wow knizz O_O
        good find :thumbs up:
        although, i don't use ruby
        so, a tile map is artificially created directly into memory with a routine, is that what i'm understanding?

        So in theory I would be able to create a new RAW and convert it to HEX, so as to insert an entirely different image for the Copyright Screen? (other TuTs haven't been so helpful in this field for RUBY)

        I mean, I know I would also have to change the tileset @1635 as well. but would it be feasible? (and I mean for someone who's lackluster in the knowledge of HEX).
        __________________
        ~+~+~+~+~+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~~+~+~+~+~
        Pokemon Hack
        T^T Files Were Lost, Starting Over T^T
        Super Mario Bro Hack
        Super Engel Bros BETA (Just Scroll Down To Get It)
        ~+~+~+~+~+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~~+~+~+~+~
        Reply With Quote
          #5    
        Old June 25th, 2010 (2:44 PM).
        knizz's Avatar
        knizz knizz is offline
           
          Join Date: Aug 2007
          Posts: 192
          Quote:
          Originally Posted by Full Metal View Post
          so, a tile map is artificially created directly into memory with a routine, is that what i'm understanding?
          Quote:
          Originally Posted by EngelDerRisse View Post
          So in theory I would be able to create a new RAW and convert it to HEX, so as to insert an entirely different image for the Copyright Screen? (other TuTs haven't been so helpful in this field for RUBY)

          I mean, I know I would also have to change the tileset @1635 as well. but would it be feasible? (and I mean for someone who's lackluster in the knowledge of HEX).
          I can understand none of you.

          The tileset is compressed, tilemap isn't. They are both in the ROM. And the code in the first post shows how they are moved into the graphics-memory.
          __________________
          Firered IDA 6.6 DB: https://www.dropbox.com/s/d856o3pyndyr5sr/firered.idb
          VBA-M with lua scripting support
          Reply With Quote
            #6    
          Old June 26th, 2010 (11:27 AM).
          Full Metal's Avatar
          Full Metal Full Metal is offline
          C(++) Developer.
          • Silver Tier
           
          Join Date: Jan 2008
          Location: In my mind.
          Age: 22
          Gender: Male
          Nature: Timid
          Posts: 806
          yea, thats what i meant xD
          __________________

          ★ full metal.

          I like to push it,
          and push it,
          until my luck is over.
          Reply With Quote
            #7    
          Old July 3rd, 2010 (5:41 AM).
          EngelDerRisse's Avatar
          EngelDerRisse EngelDerRisse is offline
          www.poilkjmn.info
             
            Join Date: Nov 2008
            Location: Hyannis, MA
            Nature: Lonely
            Posts: 61
            Quote:
            Originally Posted by Full Metal View Post
            yea, thats what i meant xD
            Makes me feel like a genius xD

            I'm crap at HEX though, and I lost my Workshop when my old notebook was stolen D:

            I can't remember, but isn't there a program to insert just about anything, to any point in the ROM, that will repoint if you input a slot with enough free space? Would be dead helpful here if I could remember what it was.

            Any idea?

            Quote:
            Originally Posted by knizz View Post
            I can understand none of you.

            The tileset is compressed, tilemap isn't. They are both in the ROM. And the code in the first post shows how they are moved into the graphics-memory.

            I understood that the TS is compressed, didn't know about the TM though.

            The way you describe it makes it seem a little more complicated than I think it needs to be....but I'm probably wrong, as stated prior, I'm crap when it comes to HEX
            __________________
            ~+~+~+~+~+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~~+~+~+~+~
            Pokemon Hack
            T^T Files Were Lost, Starting Over T^T
            Super Mario Bro Hack
            Super Engel Bros BETA (Just Scroll Down To Get It)
            ~+~+~+~+~+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~~+~+~+~+~
            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

            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 8:39 AM.