The PokéCommunity Forums Fan Games ROM Hacking Tools, Tutorials & Resources
Resource The Offset Reference - please contribute!

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

Reply
 
Thread Tools
  #1    
Old May 22nd, 2016 (2:20 AM). Edited May 22nd, 2016 by Christos.
Christos's Avatar
Christos Christos is offline
  • Moderator
  • Battle Server Staff
  • Platinum Tier
 
Join Date: Feb 2006
Gender: Male
Nature: Serious
Posts: 6,357
The aim of this thread is to have a list of all possible offsets that might be useful for us ROM hackers. I've added a few for Fire Red for now and will add more later. Please contribute! Include additional information (for tables, for example) if you have to.

Fire Red

Data
Base stats: 0x08254784 - 28 bytes per Pokémon
Evolution data: 0x08259754 - table of pointers
Moveset data: 0x0825D7B4 - table of pointers
Footprint data: 0x0843FAB0 - table of pointers

Pokémon front sprites: 0x082350AC - table of pointers
Pokémon back sprites: 0x0823654C - table of pointers
Regular palettes: 0x0823730C - table of pointers, Pokémon palettes are compressed
Shiny palettes: 0x082380CC - table of pointers

Icon sprites data: 0x083D37A0 - table of pointers, icon sprites are not compressed (512 bytes for each frame, two frames)
Icon palette data: 0x083D3E80 - 1 byte per icon, references one of three below palettes
Icon palettes: 0x083D3740 - 3 palettes

Item data: 0x083DB028 - 44 bytes per item
Item images/palletes table: 0x083D4294 - 8 bytes per item
Pickup item table: 0x08250848 - details

TM data: 0x0845A80C
TM compatibility data: 0x08252BC8 - 1 byte per 8 TMs

Move Tutor data: 0x08459B60 - 15 moves
Move Tutor compatibility data: 0x08459B7E - 1 byte per 8 attacks (so 2 on FireRed)

Text
Default player names: 0x081C574F
Pokémon names: 0x08245EE0 - 11 bytes per name
Attack names: 0x08247094 - 13 bytes per name
Ability names: 0x0824F1A0 - 13 bytes per name
Type names: 0x0824F1A0 - 7 bytes per name

Palettes
Oak introduction background: 0x0846056A
Sand footprints: 0x08398FA8

Scripts
Town map tile: 0x081A6C32
Nurse Joy blackout: 0x081A8D97
Mom blackout: 0x081A8DD8

Other
Item limiters: 0x0809A8AE (insert 00 00 00 00) and 0x08098998 (number of items)
Type effectiveness table: 0x0824F050

Emerald

Tables
Item images/palletes: 0x08614410 - 8 bytes per item

Other
Item data: 0x085839A0 - 44 bytes per item
Item limiters: 0x081B001E and 0x080D7466 - details
__________________

A Pokemon that is discriminated!
Support squirtle and make it everyone's favourite.
Reply With Quote

Relevant Advertising!

  #2    
Old May 22nd, 2016 (3:04 AM). Edited May 22nd, 2016 by Deltakirby.
Deltakirby's Avatar
Deltakirby Deltakirby is offline
An Alolan Exeggutor
     
    Join Date: May 2015
    Location: Under an alolan exeggutor
    Gender: Male
    Nature: Bashful
    Posts: 118
    Oooh first post

    I'll start with item offsets

    FR

    Item Data: 0x083DB028 - 44 bytes per item
    Item Image/Pallete Table: 0x083D4294 - 8 bytes per item
    Item Limiters: 0x0809a8ae and 0x08098998
    0x08098998 - number of items
    __________________
    The Chat
    Reply With Quote
      #3    
    Old May 22nd, 2016 (3:51 AM).
    Starfall321's Avatar
    Starfall321 Starfall321 is offline
    OnePunchStarfall
       
      Join Date: May 2016
      Nature: Jolly
      Posts: 36
      Quote:
      Originally Posted by Deltakirby View Post
      Oooh first post

      I'll start with item offsets

      FR

      Item Data: 0x083DB028 - 44 bytes per item
      Item Image/Pallete Table: 0x083D4294 - 8 bytes per item
      Item Limiters: 0x0809a8ae and 0x08098998
      0x08098998 - number of items
      0809a8ae = 00 00 00 00

      For Emerald
      Item Data: 0x5839A0 - 44 bytes per item
      Item Image/Pallete Table: 0x614410 - 8 bytes per item

      To remove item limiters:
      0x1B001E= 00 00 00 00
      0x0D7466= 00 00 00 00
      Emerald has a total of 0x40CC bytes for the data but a total of 0xBD0 bytes for the image(included bag "return arrow" image). So if you really want to do item expansion, just leave slot 378 empty.
      Reply With Quote
        #4    
      Old May 22nd, 2016 (4:51 AM).
      Squeetz's Avatar
      Squeetz Squeetz is offline
      Music hacker
      • Gold Tier
       
      Join Date: Jun 2013
      Location: Norway
      Age: 19
      Gender: Male
      Nature: Quiet
      Posts: 214
      Sand footprint palette:
      Quote:
      Originally Posted by Youmu View Post
      The palette used for sandy footprints is at 0x398FA8 in FireRed and 0x398F88 in LeafGreen.

      Pickup table: (click "see original post" for more info)
      Quote:
      Originally Posted by DoesntKnowHowToPlay View Post
      The Pickup table in FR is at x250848. Each entry is four bytes- the first two are the index number of an item, the latter two are the odds of the item being obtained plus the value for the previous item.
      __________________
      Reply With Quote
        #5    
      Old May 22nd, 2016 (9:04 AM). Edited May 22nd, 2016 by esperance.
      esperance's Avatar
      esperance esperance is offline
      • Moderator
      • Platinum Tier
       
      Join Date: Mar 2010
      Location: Ohio
      Age: 20
      Gender: Male
      Nature: Relaxed
      Posts: 3,808
      Some stuff for FireRed:

      Nurse Joy Blackout Script: 0x081A8D97
      Mom Blackout Script: 0x081A8DD8

      Base Stat Data: 0x08254784 - 28 bytes per pokemon
      Pokemon Names: 0x08245EE0 - 11 bytes per name
      Evolution Data: 0x08259754 - table of pointers
      Moveset Data: 0x0825D7B4 - table of pointers
      Footprint Data: 0x0843FAB0 - table of pointers

      Front Sprite Data: 0x082350AC - table of pointers
      Back Sprite Data: 0x0823654C - table of pointers
      Regular Palette Data: 0x0823730C - table of pointers, Pokémon palettes are compressed
      Shiny Palette Data: 0x082380CC - table of pointers

      Icon Sprite Data: 0x083D37A0 - table of pointers, icon sprites are not compressed (512 bytes for each frame, two frames)
      Icon Palette Data: 0x083D3E80 - 1 byte per icon, references one of three below palettes
      Icon Palettes: 0x083D3740 - 3 palettes

      TM Data: 0x0845A80C
      TM Compatibility Data: 0x08252BC8 - 1 byte per 8 TMs

      Move Tutor Data: 0x08459B60 - 15 moves
      Move Tutor Compatibility Data: 0x08459B7E - 1 byte per 8 attacks (so 2 on FireRed)

      Attack Names: 0x247094 - 13 bytes per name

      Ability Names: 0x0824F1A0 - 13 bytes per name

      Type Names: 0x0824F1A0 - 7 bytes per name
      Type Effectiveness Table: 0x0824F050
      __________________

      A Pokemon that is discriminated!
      Support squirtle and make it everyone's favourite.
      Reply With Quote
        #6    
      Old May 22nd, 2016 (9:45 AM).
      Danny0317's Avatar
      Danny0317 Danny0317 is offline
      Fluorite's back, brah
      • Gold Tier
       
      Join Date: Jun 2013
      Location: Miami, FL
      Age: 17
      Gender: Male
      Nature: Hasty
      Posts: 1,075
      http://www.romhack.me/database/category/21/data-rom-offsets/view_/ a bunch of offsets here. too lazy to copy all of them
      __________________
      Reply With Quote
        #7    
      Old May 23rd, 2016 (9:37 PM).
      Joexv's Avatar
      Joexv Joexv is offline
      WHO ARE YOU PEOPLE
      • Silver Tier
       
      Join Date: Oct 2012
      Location: Oregon
      Age: 19
      Gender: Male
      Nature: Sassy
      Posts: 1,020
      Locations of pointers to offsets. Idk if these belong here but they sure are helpful to retrieve lost offsets :D

      FireRed
      Spoiler:

      Title Screen
      Code:
              Logo = 0x78a98
              LogoRaw = 0x78a9c
              Background = 0x78ab0
              BackgroundRaw = 0x78ab4
              Sprite = 0x78aa4
              SpriteRaw = 0x78aa8
      Pokemon Related Tables
      Code:
              Stats = 0x1bc
              Names = 0x144
              Types = 0x309c8
              Abillities = 0xd8004
              Learnable Moves = 0x43f84
              Move Names = 0x148
              Egg Moves = 0x045C50
              TM Compatibility = 0x43c68
              TM List = 0x125a8c
              Evolution = 0x42f6c
              Front Sprites = 0x128
              Back Sprites = 0x12c
              Normal Palettes = 0x130
              Shiny Palettes = 0x134
              PokeDex = 0x88e34
              Move Tutor Compatibility = 0x120c30
              Enemy Y Table = 0x11f4c
              Player Y Table = 0x74634
              Enemy Altitude Table = 0x356f8
              Icon Sprites = 0x138
              Icon Palettes = 0x13c - this is the table that determines what palette each sprite has
              (Actual)Icon Palettes = 0x8ab40 - this is where the palettes are located for the above table
              National Dex = 0x4323c
              Footprint = 0x105e14


      Emerald
      Spoiler:

      Title Screen
      Code:
              Logo = 0xaa94c
              LogoRaw = 0xaa958
              Background = 0xaa95c
              BackgroundRaw = 0xaa964
              Sprite = 0x540048
              SpriteRaw = 0xaa98c
      Pokemon Related Tables
      Code:
              Stats = 0x1bc
              Names = 0x144
              Types = 0x166f4
              Abilities = 0x1c0
              Learnable Moves = 0x6930c
              Move Names = 0x148
              Egg Moves = 0x703F0
              TM Compatibility = 0x6e048
              TM List = 0x1b6d10
              Evolutions = 0x6d140
              Front Sprites = 0x128
              Back Sprites = 0x12c
              Normal Palettes = 0x130
              Shiny Palettes = 0x134
              PokeDex = 0xbfa20
              Move Tutor Compatibility = 0x1b2390
              Enemy Y Table = 0x2dc78
              Player Y Table = 0xa5e8c
              Enemy Altitude Table = 0x5ee44
              Icon Sprites = 0x138
              Icon Palettes  = 0x13c - this is the table that determines what palette each sprite has
              (Actual)Icon Palettes = 0xc4208  - this is where the palettes are located for the above table
              NationalDex = 0x6d448
              Footprints = 0xc0dbc


      Some Misc Palette offsets
      Spoiler:

      Fire Red
      Intro-Gengar1=0040B854
      Intro-Gengar2=00405DA4
      Intro-Nidorino=004096AC

      World Map1=003EF2DE
      World Map2=003EF33E

      Intro Sprites
      Oak1=00460568
      Oak2=00460588
      Rival=004623B0
      girl1=00460ED0
      girl2=00460EF0
      boy1=0046161C
      boy2=004615FC

      TitleScreen Offsets
      Charizard=00EAD5E8
      Flames=003BF77C
      Background=00EAE094
      Logo1=00EAB6C4
      Logo2=00EAB6E4
      Logo3=00EAB704
      Logo4=00EAB724
      Logo5=00EAB744
      Logo6=00EAB764
      Logo7=00EAB784
      Logo8=00EAB7A4
      Logo9=00EAB7C4
      Logo10=00EAB7E4
      Logo11=00EAB804
      Logo15=00EAE094
      Logo14=00EAD5E8
      Logo13=00EAB844
      Logo12=00EAB824

      ----------------------------------------------------------

      Emerald
      Titlescreen:
      Rayquaza=00DDE418
      version=00DDE438

      Intro:
      Intro?=005E06A4
      Intro?2=005E06A4
      Intro water on leaves=005DFF92
      Manetric intro=005F2898
      May on bike=00D85CB0

      Misc:
      Text Box=00DDD728
      Text Box?=0051017C
      Text Box??=0051019C
      Text Box???=005101BC
      Battle inside=00D7DEB9
      World Map=0060EA4C
      Unknown lots of colors=0040E000



      Sorry if some of these are a little messy or such. I don't keep very clean notes.
      And if I find more I'll post them.
      __________________
      I'm bored
      Jesus Christ is my Savior
      Bros with Percy

      My Rom hacks
      A New Dawn---Gentlemon
      Not in Production:
      Blackened Night---Holiday Hacks
      Reply With Quote
        #8    
      Old May 24th, 2016 (11:16 PM).
      miksy91's Avatar
      miksy91 miksy91 is offline
      Dark Energy is back in action! ;)
         
        Join Date: Oct 2008
        Location: A small country in the North
        Gender: Male
        Nature: Relaxed
        Posts: 1,435
        Just a suggestion, but it could be worth writing down all kinds of useful information in a ROM Map that everyone could easily access rather than having a forum thread with several posts with each one having different kinds of stuff in it.

        As an example of a useful ROM Map, here is one that is made mostly by Koolboyman back in the day for Pokemon Gold:
        http://datacrystal.romhacking.net/wiki/Pok%C3%A9mon_Gold:ROM_map
        I have personally found it quite useful although not so much anymore.

        And here is a one for FireRed and LeafGreen with almost no information in it, but it could be easily expanded: http://datacrystal.romhacking.net/wiki/Pok%C3%A9mon_FireRed_and_LeafGreen:ROM_map
        __________________
        My Rom Hack



        Fixing bugs in a ROM hack
        CP of encountered pokemon in GO

        Learn how to hack GB/C games:

        Check my GameBoy/Color hacking videos in Youtube
        -The video set uses Pokemon Silver (U) rom for demonstrations
        Reply With Quote
          #9    
        Old June 16th, 2016 (3:02 AM). Edited June 19th, 2016 by Squeetz.
        Squeetz's Avatar
        Squeetz Squeetz is offline
        Music hacker
        • Gold Tier
         
        Join Date: Jun 2013
        Location: Norway
        Age: 19
        Gender: Male
        Nature: Quiet
        Posts: 214
        Firered instrument offsets

        Here's a list I've made as a reference when music hacking.
        Feel free to contribute if you see I've missed any pointers, or if any instrument labels are wrong.

        Directsound:
        Spoiler:
        6AFB30 - Electric Piano 1
        6B2198 - Electric Piano 2
        4A3DA8 - Glockenspiel
        4C7FA8 - Music box
        50A978 - Xylophone
        502F34 - Tubular bells
        4A444C - Percussive organ
        50D7B4 - Accordion
        6A18E0 - Acoustic guitar (nylon)
        6A761C - Overdriven guitar
        6A948C - Distortion guitar
        6A3850 - Guitar harmonics
        4EAC4C - Electric bass (finger)
        4A4C44 - Fretless bass
        4A5810 - Slap bass 1
        4A6748 - Synth bass 1
        4EE778 - Synth bass 2
        4F31B0 - Pizzicato strings
        509F48 - Orchestral strings
        4A73BC - Timpani
        4A888C - Choir aahs
        4A9F3C - Oboe
        4EA4E8 - Flute
        6B3540 - Pan flute
        6AF0D0 - Whistle
        50B3AC - Applause

        Extra:
        6A6458 - ??? Labeled as Pad 7 (halo)
        4FE57C - The sound the move "Lick" makes, could be used as bass
        6AC47C - Distortion guitar (chorded)
        4AD038 - As far as I'm concerned, this isn't used by any song even though it's pointed to by ~3 voicegroups (labeled Slap bass 1)
        69FE40 - Boat horn sound used by the S.S. Anne
        69DEE0 - Cash register sound

        Multi:
        Spoiler:
        By 'P2' I mean the second pointer, for the sample map.
        48A508, P2: 4A3054 - Bright acoustic
        48A538, P2: 4A309C - String ensemble 1
        48A55C, P2: 4A30E4 - Trumpet
        48AB80, P2: 4A3138 - Tuba
        48AB98, P2: 4A3180 - French horn

        Drum parts:
        Spoiler:
        Since I have no idea what any of these drum parts are called, I'll just label them the best way I know how.
        4C4AA0 - Low tap
        4B7470 - Slightly higher pitched tap
        4B7988 - Very low tap
        4B3BB0 - Sounds like a low kick "khih"
        4B23E8 - Low pitched drumstick hit/fingersnap (?)
        4C5920 - High pitched "dink" (triangle?)
        4C6794 - "snowfall" sound (shaker?)
        4C7FA8 - Very high pitched "dink"
        4C954C - Low pitched clap sound (?)
        4CAB30 - Hollow bamboo sound (?)
        4B7F50 - Regular drum sound
        4B8E68 - Classic Gen 3 percussion noise
        4B42A4 - Sounds like hand clap
        4B4B34 - High Snare drum
        4BA7DC - Big drum
        4B6544 - Cymbal
        4BC8B8 - Loud high pitched "dink"
        4B53AC - Low cymbal sound
        4B5C60 - Open hihat?
        4C40E8 - Cowbell
        4B0634 - Sounds like small rocks being slammed together
        4B3710 - Very low drum sound
        Reply With Quote
          #10    
        Old July 2nd, 2016 (3:36 PM).
        0's Avatar
        0 0 is offline
        Totally free
        • Platinum Tier
         
        Join Date: May 2016
        Location: Freedom
        Gender: Male
        Nature: Serious
        Posts: 552
        I looked for this for a little bit and thought it might help.

        This is for regular wild Pokemon data in a vanilla FR rom.

        It looks like it's just a table and route one begins at 3C8E60.
        3C8E98 Route 2.

        This will be a little difficult to explain, but at the end of the table, you'll see this: 00 00 00 60 8E 3C 08 for route one. This actually tells you where the route 1 pokemon begin, which at the end of the route 1 data, due to reverse endian.
        Now, the structure is this 0A 64 8B 01
        0A = Min level
        64 = Max level
        8B 01 = pokemon Index in reverse endian.
        This would be useful for changing wild pokemon data manually, as I believe I have to do with pokemon > Gen III.

        Just thought it might be useful, idk.
        __________________

        Just dance with me!!!!!!!

        Reply With Quote
          #11    
        Old September 2nd, 2016 (1:16 PM).
        ~SAGE's Avatar
        ~SAGE ~SAGE is offline
        Spanish Rom Hacker
           
          Join Date: Jul 2014
          Location: Italia
          Age: 21
          Gender: Male
          Nature: Lonely
          Posts: 35
          All for FireRed (multilanguage) ROMs

          8F034 PARTY POINTER (ENG)
          135FFC DETAILS POINTER (ENG)
          4886E8 MOVE DESC. POINTER (ESP)
          47C174 MOSSE DESC. (ITA)
          240138 MOSSE NOMI (ITA)
          4406E0 POKÉDEX PAL (ENG)
          __________________

          El inteligente no es aquel que lo sabe todo

          Si no aquel que sabe utilizar lo poco que sabe
          Reply With Quote
            #12    
          Old October 15th, 2016 (3:21 PM).
          Squeetz's Avatar
          Squeetz Squeetz is offline
          Music hacker
          • Gold Tier
           
          Join Date: Jun 2013
          Location: Norway
          Age: 19
          Gender: Male
          Nature: Quiet
          Posts: 214
          Firered:

          Cry used in the intro sequence (Nidorino by default): 0xEE646
          Cry used in the titlescreen (Charizard by default): 0x791EE
          __________________
          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 6:44 PM.