The PokéCommunity Forums
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 Gust.
Gust's Avatar
Gust Gust is online now
 
Join Date: Feb 2006
Gender: Male
Nature: Serious
Posts: 5,610
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
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: 119
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
 
Join Date: Jun 2013
Location: Norway
Age: 19
Gender: Male
Nature: Quiet
Posts: 167
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.
__________________
My music patches

Check out our upcoming hack's Soundcloud, Pokémon Clover:
https://soundcloud.com/pok-mon-clover
https://soundcloud.com/dimbus-maximus/sets/pokemon-clover
Reply With Quote
  #5    
Old May 22nd, 2016 (9:04 AM). Edited May 22nd, 2016 by colors.
colors's Avatar
colors colors is offline
PokéCommunity Daily Staff
 
Join Date: Mar 2010
Location: Ohio
Age: 19
Gender: Male
Nature: Relaxed
Posts: 3,682
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
__________________
mod github pair
Reply With Quote
  #6    
Old May 22nd, 2016 (9:45 AM).
Danny0317's Avatar
Danny0317 Danny0317 is online now
Fluorite's back, brah
 
Join Date: Jun 2013
Location: Miami, FL
Age: 16
Gender: Male
Nature: Hasty
Posts: 1,070
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
 
Join Date: Oct 2012
Location: Oregon
Age: 19
Gender: Male
Nature: Sassy
Posts: 1,017
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
 
Join Date: Jun 2013
Location: Norway
Age: 19
Gender: Male
Nature: Quiet
Posts: 167
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
 
Join Date: May 2016
Location: Freedom
Gender: Male
Nature: Serious
Posts: 551
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.
__________________

FOREVER IS THE BEST POKECOMMUNITY MEMBER EVER!!!!!!! !! !!! !!

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
Send a message via Skype™ to ~SAGE
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
 
Join Date: Jun 2013
Location: Norway
Age: 19
Gender: Male
Nature: Quiet
Posts: 167
Firered:

Cry used in the intro sequence (Nidorino by default): 0xEE646
Cry used in the titlescreen (Charizard by default): 0x791EE
__________________
My music patches

Check out our upcoming hack's Soundcloud, Pokémon Clover:
https://soundcloud.com/pok-mon-clover
https://soundcloud.com/dimbus-maximus/sets/pokemon-clover
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 8:05 AM.