• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Staff applications for our PokéCommunity Daily and Social Media team are now open! Interested in joining staff? Then click here for more info!
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Research: Pokemon RBGY Town Map document

Cartmic

Hi there, it's been awhile.
  • 618
    Posts
    21
    Years
    The town map in RBGY is stored using RLE(Run Lenth Encoding) compression,

    So for example you want to lay down 4 land tiles you would with out RLE compression: 06 06 06 06, which RLE compression you write the Hexadecimal number of the Tile down then the number of times you would like to lay it down on the screen, e.g. 64.

    I recomend repointing your maps data for saftey purposes as you may run out of room and not realise that you are writing over important data.

    The maps pointer is at:
    710D1


    Kanto's Map is between:
    71100-711AA

    0 - Blank Tile (DONT USE!)
    1 - Alternate Land Route Across
    2 - Alternate Land Route Up
    3 - Alternate Land mark
    4 - Water
    5 - Town
    6 - Land
    7 - White Title/Path
    8 - North East Lands end
    9 - North West Lands End
    A - South West Lands End
    B - South East Lands End
    C - Land mark
    D - One Sea Route Dot
    E - Sea Dot Across
    F - Sea Dot Up

    I recomend doing your map in GSC first which uses no compression with its town map, then use it as a guide to create your RBGY version, iv found it is easiest to do it line by line, then when you have typed in each line indicate that you have somehow so you know where you are, like I did with Crion for my Red hack 'Pokemon Violet':

    Line One - 48 91 61 81 44 A1 64 - Yes
    Line Two - 41 91 61 81 42 91 61 51 62 45 64 - Yes
    Line Three - 41 61 C1 61 41 91 62 71 61 51 81 44 A1 63 - Yes
    Line Four - 41 A1 71 B1 41 61 73 61 71 B1 45 63 - Yes
    Line Five - 42 C1 41 91 61 51 63 71 B1 45 A1 62 - Yes
    Line Six - 42 71 91 75 61 51 61 81 45 62 - Yes
    Line Seven - 42 71 61 71 61 51 61 71 61 71 62 45 A1 61 - Yes
    Line Eight - 91 81 71 61 71 B1 F1 A1 71 61 C1 61 B1 47 - Yes
    Line Nine - 72 51 72 41 F1 41 71 63 (49:Last tile 1st tile on L.10) - Yes
    Line Ten - A1 61 B1 41 F1 91 71 51 71 C1 81 41 91 61 81 (47:Last 4 tiles 1st on line 11) - Yes
    Line Eleven - 91 61 71 62 71 66 B1 42 91 - Yes
    Line Twelve - 44 A1 61 C1 62 71 65 B1 42 91 61 - Yes
    Line Thirteen - B1 61 A1 42 64 51 73 51 71 E3 C1 61 - Yes
    Line Forteen - 61 51 71 E2 C1 62 B1 F1 A1 64 81 42 A1 61 - Yes
    Line Fifteen - A1 62 81 41 A1 B1 42 F1 42 A1 B1 A1 B1 (45:Last tile 1st tile on L.16) - Yes
    Line Sixteen - A1 61 B1 45 F1 4F:Last 5 tiles 1st tiles on L.17) - Yes
    Line Seventeen - 44 F1 4A - Yes

    A big thankyou has to go out to a guy called Hyperhacker who first found the maps location in the first place and how it is stored.
     
    Last edited:
    Well since you first asked me I checked but seeing you'll ask thethethethe let him do it.
     
    Cool, thanks for posting this up Cartmic, how you specifically do it aswell, i'm sure for me this will come in handy later on.
     
    Woah, nice document. Now thats what I call handy...
    I might try making a RBY hack now....but using a tool would be easier ...lol
     
    Woah, nice document. Now thats what I call handy...
    I might try making a RBY hack now....but using a tool would be easier ...lol
    I really agree. some people are in this community because theres a bunch of information that can be put together to make tools. I think someone should make a tool for nobbs like us
     
    is the compression scheme (Run Length Encoding) for the mapping on RBY the same for compression of pokemon sprites in the same game?

    Also does pokemon silver/gold also use Run Length Encoding?
     
    Last edited:
    once you changed the map, how can you move the cities?
    (for example, while flying, the game opens the map for you to choose the city to go to: but if you change the map the new map's cities won't match the old cities).
    Does anyone knows how to solve this using hexeditor?


    is the compression scheme (Run Length Encoding) for the mapping on RBY the same for compression of pokemon sprites in the same game?
    Sprite compression in r/b/g/y involves RLE and something else that makes it damn complicated to understand...
    it's a long time that I'm trying to deal with sprite compression, no solution yet.
     
    Back
    Top