The PokéCommunity Forums Fan Games ROM Hacking Help Research & Development
Development Hacking the PokéNav (map data, phone data, etc.)

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
  #1    
Old November 14th, 2010 (3:52 PM).
Diegoisawesome's Avatar
Diegoisawesome Diegoisawesome is offline
Oh god the bees
 
Join Date: Dec 2007
Location: :noitacoL
Age: 21
Gender: Male
Nature: Naive
Posts: 1,049
I feel that it's pretty safe to say that we don't have much hacking information done on the PokéNav. I mean, some people just put it into a hack without really changing anything.

I, for one, have started to hack the little information box that appears when you scroll over a place in the map on Zoom mode.

I found a little table located at 0x623118 that controls this, although how so, I don't really know. The format is like this:
[map name ID] [00] [01 if scrolled over second half] [00] [pointer to data]

The routines that load the table start at 0x1ccd34 and 0x1ccd70.

There is a limiter byte at 0x1ccd40 that makes the first routine not work if r4 is over 0x15. The number is not the map name ID, however, so I assume that it's to make sure it passes through the routine 0x15 times, each time increasing by 1. After all, this is the routine that loads at the load of the map. I believe this routine is the checker to see which map names have a mini-map and which do not; however, I may be wrong.

The second routine, however, I know a bit more about. This one loads the map name byte and checks it against the ones in the table. It also does checks to see if it's the second half of the map name. It also has a limiter byte like the one above, this one at 0x1ccd8c. This is also, supposedly, to check how much times it's gone through the routine. After that, though, I lose track of what it does.

This is just one part of the PokéNav, though; feel free to help with any part of it.
__________________


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
Diego's Miscellaneous Patches
GBA Intro Manager
The Secret Sauce: Triple-Layer Tiles
Reply With Quote
  #2    
Old November 15th, 2010 (3:08 AM).
Darthatron's Avatar
Darthatron Darthatron is offline
巨大なトロール。
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 27
Gender: Male
Nature: Modest
Posts: 1,152
Maybe you should talk to colcolstyles, he's done some stuff with the emerald maps before: http://www.youtube.com/watch?v=WCkCCuowTDQ

I've done a little bit of study on this stuff, I'll see if I can find my notes.
__________________
あなた は しきしゃ です
わたし は ばか です
Reply With Quote
  #3    
Old November 15th, 2010 (4:16 PM).
U.Flame's Avatar
U.Flame U.Flame is offline
Meowna Fan
 
Join Date: Jun 2008
Location: Sapphire City in future Hoenn
Age: 23
Gender: Male
Nature: Jolly
Posts: 1,272
I don't know how, but I noticed Baro's Pokemon Quartz had a hacked PokeNav. Not much of a difference but the rotating PokeNav image was changed. Quartz is the only hack that I've seen that.
__________________
Hacks I'm working on:
Pokemon Sapphire Hoenn's Rebirth - My own hack, making progress whenever possible.
3rd Gen Multiplayer Project - Research and development, occasionally testing, sometimes with support.
Pokemon Cursed/Creepy White - Group project, on hiatus for now with plans to return eventually.
Animal Crossing Wild World playing as an animal - experimental, messing with models and textures

Hacks I've worked on in the past:
Pokemon Ruby Destiny Broken Timeline (pre-reboot) - Assisted with maps
Pokemon HeartGold Prince Boo Edition - Experimental project with three small changes. Made at the request of YouTube LPer PrinceBoo21.

Been super busy with work, life, and laptop problems. Hopefully I can get back into it soon, I fear I'm already rusty. Meanwhile I'm considering writing some of my hacks as a series of fanfics.

Times I've been ninja'd: 18
Times I've ninja'd people: 3
Reply With Quote
  #4    
Old November 16th, 2010 (10:04 PM).
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
I'm Still Alive, Elsewhere
     
    Join Date: May 2009
    Location: Hoenn Safari Zone
    Age: 20
    Gender: Male
    Nature: Jolly
    Posts: 700
    It's defiantly possible. I haven't hacked emerald yet, but I might still look into this.
    __________________



    Reply With Quote
      #5    
    Old February 6th, 2011 (7:52 AM).
    Diegoisawesome's Avatar
    Diegoisawesome Diegoisawesome is offline
    Oh god the bees
     
    Join Date: Dec 2007
    Location: :noitacoL
    Age: 21
    Gender: Male
    Nature: Naive
    Posts: 1,049
    Since the posting of this thread, I've made major advances in hacking the PokéNav. If anybody would like me to share this info in this thread, feel free to ask.
    __________________


    My other resources:
    My Website
    diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
    diegoisawesome's Miscellaneous Finds
    The Ruins of Alph Puzzles
    Diego's Miscellaneous Patches
    GBA Intro Manager
    The Secret Sauce: Triple-Layer Tiles
    Reply With Quote
      #6    
    Old February 6th, 2011 (9:17 AM).
    knizz's Avatar
    knizz knizz is offline
       
      Join Date: Aug 2007
      Gender: Female
      Posts: 192
      Quote:
      Originally Posted by diegoisawesome View Post
      Since the posting of this thread, I've made major advances in hacking the PokéNav. If anybody would like me to share this info in this thread, feel free to ask.
      I want more info. Also: Y U not on mah irc-channel?
      __________________
      Firered IDA 6.6 DB: https://www.dropbox.com/s/d856o3pyndyr5sr/firered.idb
      VBA-M with lua scripting support
      incomplete firered decompilation
      Reply With Quote
        #7    
      Old February 6th, 2011 (9:24 AM).
      Diegoisawesome's Avatar
      Diegoisawesome Diegoisawesome is offline
      Oh god the bees
       
      Join Date: Dec 2007
      Location: :noitacoL
      Age: 21
      Gender: Male
      Nature: Naive
      Posts: 1,049
      Quote:
      Originally Posted by knizz View Post
      I want more info. Also: Y U not on mah irc-channel?
      Before, I was joining whenever my PC turned on but I closed out of it so it doesn't automatically connect any more. I'll join right now if you want.
      __________________


      My other resources:
      My Website
      diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
      diegoisawesome's Miscellaneous Finds
      The Ruins of Alph Puzzles
      Diego's Miscellaneous Patches
      GBA Intro Manager
      The Secret Sauce: Triple-Layer Tiles
      Reply With Quote
        #8    
      Old February 6th, 2011 (11:31 AM).
      colcolstyles's Avatar
      colcolstyles colcolstyles is offline
      Yours truly
       
      Join Date: May 2008
      Location: The Bay Area
      Gender: Male
      Nature: Lonely
      Posts: 1,590
      diegoisawesome, I'm sure we all would like to see your findings.[/attempt-to-get-things-back-on-topic]
      __________________

      Brother of Vrai
      Reply With Quote
        #9    
      Old February 6th, 2011 (12:43 PM).
      Diegoisawesome's Avatar
      Diegoisawesome Diegoisawesome is offline
      Oh god the bees
       
      Join Date: Dec 2007
      Location: :noitacoL
      Age: 21
      Gender: Male
      Nature: Naive
      Posts: 1,049
      Well, for one, I've figured out how to hack the phone to its (almost) fullest. Should I start there?
      Or should I tell you how I finally managed to get what I said in the first post working?
      Maybe how the order of the buttons, the palettes of the buttons, and some other things were changed?
      Tell me what you'd like to know and I'll share.
      __________________


      My other resources:
      My Website
      diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
      diegoisawesome's Miscellaneous Finds
      The Ruins of Alph Puzzles
      Diego's Miscellaneous Patches
      GBA Intro Manager
      The Secret Sauce: Triple-Layer Tiles
      Reply With Quote
        #10    
      Old February 6th, 2011 (4:10 PM).
      giradialkia's Avatar
      giradialkia giradialkia is offline
       
      Join Date: Apr 2009
      Location: Ireland
      Age: 25
      Gender: Male
      Nature: Timid
      Posts: 1,554
      Quote:
      Originally Posted by diegoisawesome View Post
      Tell me what you'd like to know and I'll share.
      (At the risk of being accused of SPAMming...)

      TELL US EVERYTHING YOU'VE FOUND PLEASE.
      __________________

      I'm working on an album of Pokémon-inspired music. Check out the Soundcloud link if you're interested!


      This is my Soundcloud | | This is my bandcamp
      Reply With Quote
        #11    
      Old February 6th, 2011 (4:28 PM).
      Diegoisawesome's Avatar
      Diegoisawesome Diegoisawesome is offline
      Oh god the bees
       
      Join Date: Dec 2007
      Location: :noitacoL
      Age: 21
      Gender: Male
      Nature: Naive
      Posts: 1,049
      Well, first things first: the phone.
      At 0x6252A8 is a list of pointers. Following one of these pointers will lead to some data in the order of:
      [byte - type] [byte - location] [hword - flag to check if in PokéNav] [word - pointer to trainer class name] [word - pointer to name] [word - pointer to 2nd array]

      2nd array:
      [word - pointer to text] [hword - flag to check to see if this message should be shown] [hword - flag to set after this message is shown]... until 00 00 00 00 FF FF FF FF.

      I'm attempting to do something else ATM, so I'll try to post more some other time.
      __________________


      My other resources:
      My Website
      diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
      diegoisawesome's Miscellaneous Finds
      The Ruins of Alph Puzzles
      Diego's Miscellaneous Patches
      GBA Intro Manager
      The Secret Sauce: Triple-Layer Tiles
      Reply With Quote
        #12    
      Old February 9th, 2011 (6:28 PM).
      U.Flame's Avatar
      U.Flame U.Flame is offline
      Meowna Fan
       
      Join Date: Jun 2008
      Location: Sapphire City in future Hoenn
      Age: 23
      Gender: Male
      Nature: Jolly
      Posts: 1,272
      Is it possible at all to import Emerald PokeNav features to Ruby and Sapphire's Pokenav?
      __________________
      Hacks I'm working on:
      Pokemon Sapphire Hoenn's Rebirth - My own hack, making progress whenever possible.
      3rd Gen Multiplayer Project - Research and development, occasionally testing, sometimes with support.
      Pokemon Cursed/Creepy White - Group project, on hiatus for now with plans to return eventually.
      Animal Crossing Wild World playing as an animal - experimental, messing with models and textures

      Hacks I've worked on in the past:
      Pokemon Ruby Destiny Broken Timeline (pre-reboot) - Assisted with maps
      Pokemon HeartGold Prince Boo Edition - Experimental project with three small changes. Made at the request of YouTube LPer PrinceBoo21.

      Been super busy with work, life, and laptop problems. Hopefully I can get back into it soon, I fear I'm already rusty. Meanwhile I'm considering writing some of my hacks as a series of fanfics.

      Times I've been ninja'd: 18
      Times I've ninja'd people: 3
      Reply With Quote
        #13    
      Old March 27th, 2011 (1:03 PM).
      PokéRepublic's Avatar
      PokéRepublic PokéRepublic is offline
         
        Join Date: Mar 2011
        Gender: Male
        Posts: 14
        Has anybdy found out how to use the radio function on the PokéNav for better Pokégear emulation?
        Reply With Quote
          #14    
        Old March 27th, 2011 (1:18 PM).
        Diegoisawesome's Avatar
        Diegoisawesome Diegoisawesome is offline
        Oh god the bees
         
        Join Date: Dec 2007
        Location: :noitacoL
        Age: 21
        Gender: Male
        Nature: Naive
        Posts: 1,049
        Quote:
        Originally Posted by PokéRepublic View Post
        Has anybdy found out how to use the radio function on the PokéNav for better Pokégear emulation?
        What radio function on the Nav? AFAIK, there is none.
        I would like to try and implement one, however.
        __________________


        My other resources:
        My Website
        diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
        diegoisawesome's Miscellaneous Finds
        The Ruins of Alph Puzzles
        Diego's Miscellaneous Patches
        GBA Intro Manager
        The Secret Sauce: Triple-Layer Tiles
        Reply With Quote
          #15    
        Old March 27th, 2011 (2:23 PM).
        PokéRepublic's Avatar
        PokéRepublic PokéRepublic is offline
           
          Join Date: Mar 2011
          Gender: Male
          Posts: 14
          Quote:
          Originally Posted by diegoisawesome View Post
          What radio function on the Nav? AFAIK, there is none.
          I would like to try and implement one, however.
          Sorry for the misunderstanding. I meant implementing a radio function to make it like the Pokégear of Johto.
          Reply With Quote
            #16    
          Old March 27th, 2011 (2:34 PM).
          Diegoisawesome's Avatar
          Diegoisawesome Diegoisawesome is offline
          Oh god the bees
           
          Join Date: Dec 2007
          Location: :noitacoL
          Age: 21
          Gender: Male
          Nature: Naive
          Posts: 1,049
          Quote:
          Originally Posted by PokéRepublic View Post
          Sorry for the misunderstanding. I meant implementing a radio function to make it like the Pokégear of Johto.
          I thought that was what you meant.
          Nope, not yet, this'll probably be the hardest part of 'Nav hacking.
          __________________


          My other resources:
          My Website
          diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
          diegoisawesome's Miscellaneous Finds
          The Ruins of Alph Puzzles
          Diego's Miscellaneous Patches
          GBA Intro Manager
          The Secret Sauce: Triple-Layer Tiles
          Reply With Quote
            #17    
          Old March 27th, 2011 (3:15 PM).
          PokéRepublic's Avatar
          PokéRepublic PokéRepublic is offline
             
            Join Date: Mar 2011
            Gender: Male
            Posts: 14
            Oh, well have u thought of using the Nav's match call function to "call" the broadcast of a certain radio station? Sorry not expert just tryin to give suggestions
            Reply With Quote
              #18    
            Old March 27th, 2011 (3:58 PM).
            Diegoisawesome's Avatar
            Diegoisawesome Diegoisawesome is offline
            Oh god the bees
             
            Join Date: Dec 2007
            Location: :noitacoL
            Age: 21
            Gender: Male
            Nature: Naive
            Posts: 1,049
            Quote:
            Originally Posted by Team Fail View Post
            You could do that, you would have to modify the scripts that each name links to.

            I think.
            Not quite. It doesn't load a script, just text.
            And why would you use that if you already need it for the phone card?
            __________________


            My other resources:
            My Website
            diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
            diegoisawesome's Miscellaneous Finds
            The Ruins of Alph Puzzles
            Diego's Miscellaneous Patches
            GBA Intro Manager
            The Secret Sauce: Triple-Layer Tiles
            Reply With Quote
              #19    
            Old March 27th, 2011 (4:21 PM).
            PokéRepublic's Avatar
            PokéRepublic PokéRepublic is offline
               
              Join Date: Mar 2011
              Gender: Male
              Posts: 14
              I was trying to give some suggestions/ideas, because i was just thinking that if you could set a trainer and make it a radio station and everytime you would call it, the broadcasting response would never be the same message over and over depending on time of day, locations, a maybe a randomness factor? And the phone card function would still be applicable at the same time in the "match call" function.
              Reply With Quote
                #20    
              Old July 1st, 2018 (7:58 PM). Edited July 1st, 2018 by Xencleamas.
              Xencleamas's Avatar
              Xencleamas Xencleamas is offline
              Suddenly lurking in the shadows...
                 
                Join Date: Feb 2014
                Location: Asgard
                Gender: Male
                Nature: Adamant
                Posts: 458
                I know this thread is centuries old but I am going to post what I found anyways...

                0x08622028: The table controls the data for CHECK inside the MATCH CALL. The size of the table is 0x4E0 bytes containing 0x10 bytes (four .word-s) per slot. There are 78 Match Call entries have CHECK function although there are 82 Match Call slots so only 4 don't have CHECK functions (they are Mr. Stone, Prof. Birch, Mom, and Scott) however I haven't found how they control these exceptions. Note that common trainers comes first before the boss trainers.
                Code:
                .word STRATEGY
                .word TRAINERS_POKEMON
                .word SELF_INTRO_LINE1
                .word SELF_INTRO_LINE2
                0x085500A4: The table controls the rematch data for both common and special Trainers. The size of the table is 0x4E0 bytes containing 0x10 bytes (four .word-s) per slot. Same that it only have 78 entries and I haven't found out how again these are controlled.
                Code:
                .hword TRAINER_INDEX
                .hword TRAINER_INDEX
                .hword TRAINER_INDEX
                .hword TRAINER_INDEX
                .hword TRAINER_INDEX
                .hword 0x0000 (outerior Trainers) or 0x0018 (interior Trainers)
                .word MAP_NAME_ID
                These are only I can give for now. Although I'm more interested to find out how Trainer data are loaded for PokeNav and Trainer sprites as well.
                __________________

                Xencleamas Untitled Pokémon Fan Game (Coming Soon!) Untitled Region (Coming Soon!)
                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
                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 11:21 PM.