The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

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!
Research & Development programs in this forum are subject to moderator approval before they are displayed.

Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #351    
Old June 7th, 2013, 10:23 PM
dunning2012
Sparky
 
Join Date: Oct 2012
Gender: Male
Nature: Quirky
Just 2 quick questions.

1) Does anyone know or know of a tutorial that can change the message that pops up when you are not able to use an item?

Oak: You can't use that item here

2) Anyone know of a way how we could increase the number of boxes in the PC for storing Pokemon?

Cheers - I'm using Pokemon Fire Red
Reply With Quote
  #352    
Old June 8th, 2013, 02:38 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by dunning2012 View Post
Just 2 quick questions.
This is very much in the wrong place. Questions like these should be posted in the simple questions thread. Just for the future.

Quote:
Originally Posted by dunning2012 View Post
1) Does anyone know or know of a tutorial that can change the message that pops up when you are not able to use an item?

Oak: You can't use that item here
Using A-Text, search for that string, and you'll find it. Note down the offset that A-Text returns after converting to hex. Look for a pointer to that location by reversing the bytes and putting a 08 at the end (so, if the offset before was 0x123456, the pointer to it would come from:

Code:
12 34 56 -> 56 34 12 -> 56 34 12 08
Then, boot up XSE, compile your new string using it, and change the pointer of the original text to your new location.

For a more in depth explanation, read some of the tutorials kicking about.

Quote:
Originally Posted by dunning2012 View Post
2) Anyone know of a way how we could increase the number of boxes in the PC for storing Pokemon?

Cheers - I'm using Pokemon Fire Red
Simple answer, you can't.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #353    
Old June 8th, 2013, 06:49 AM
dunning2012
Sparky
 
Join Date: Oct 2012
Gender: Male
Nature: Quirky
Ah thank you

I didn't realize you could do that with A-Text.
Reply With Quote
  #354    
Old June 9th, 2013, 04:42 PM
GoGoJJTech's Avatar
GoGoJJTech
http://GoGoJJTech.com (WIP!)
Community Supporter
 
Join Date: Nov 2012
Location: Earth
Age: 16
Gender: Male
Nature: Quiet
3FE72D contains FIGHT BAG POKEMON RUN

Also Yay, 200 POSTS
__________________

Last edited by GoGoJJTech; June 9th, 2013 at 06:01 PM. Reason: Time to celebrate
Reply With Quote
  #355    
Old June 11th, 2013, 09:01 PM
MrDollSteak's Avatar
MrDollSteak
Formerly known as 11bayerf1
 
Join Date: Dec 2008
Location: Hong Kong
Age: 19
Gender: Male
I've still got another limiters in the regional pokedex that is really irritating me, and prevents full out hacking of the kanto dex. The one that appears on the pokemon page and loads ??? for any pokemon above 151 prior to the national dex.

What I have found is the location that points to ??? within the pokedex menu: 136118

However I cannot find any bytes that limit within a 500 byte window. This would imply that something may point to this location after it's own routine to check whether the national dex is held. That being said absolutely nothing points to the 136000 area that has any 97's near it either, in fact the only ones are in a table within 135000 region. This makes me very confused as to how the game loads this. I was wondering if anyone else had found this out, or may know how to fix it.

Another note, there are no other notable pointers within the general area of the pointer towards ??? which may load a routine (that I can see).

EDIT: Diegoisawesome is a) 100% correct b) awesome
The limiter for the Pokemon's pokedex number in the Pokemon screen is 0x43FA6
__________________

Last edited by MrDollSteak; June 11th, 2013 at 10:01 PM.
Reply With Quote
  #356    
Old June 11th, 2013, 09:08 PM
diegoisawesome's Avatar
diegoisawesome
Not the Script Help Thread
Community Supporter
 
Join Date: Dec 2007
Location: Goldenrod City, Johto
Age: 17
Gender: Male
Nature: Quirky
Quote:
Originally Posted by 11bayerf1 View Post
I've still got another limiters in the regional pokedex that is really irritating me, and prevents full out hacking of the kanto dex. The one that appears on the pokemon page and loads ??? for any pokemon above 151 prior to the national dex.

What I have found is the location that points to ??? within the pokedex menu: 136118

However I cannot find any bytes that limit within a 500 byte window. This would imply that something may point to this location after it's own routine to check whether the national dex is held. That being said absolutely nothing points to the 136000 area that has any 97's near it either, in fact the only ones are in a table within 135000 region. This makes me very confused as to how the game loads this. I was wondering if anyone else had found this out, or may know how to fix it.

Another note, there are no other notable pointers within the general area of the pointer towards ??? which may load a routine (that I can see).
Have you already edited the byte at 0x43FA6?
__________________


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
Reply With Quote
  #357    
Old June 11th, 2013, 09:56 PM
MrDollSteak's Avatar
MrDollSteak
Formerly known as 11bayerf1
 
Join Date: Dec 2008
Location: Hong Kong
Age: 19
Gender: Male
Quote:
Originally Posted by diegoisawesome View Post
Have you already edited the byte at 0x43FA6?
No I hadn't !

Brilliant that did the trick. How did you go about finding that? I'd managed to find all the pokedex ones by searching general areas nearby etc.

Thanks a million though.
__________________
Reply With Quote
  #358    
Old June 12th, 2013, 08:01 PM
diegoisawesome's Avatar
diegoisawesome
Not the Script Help Thread
Community Supporter
 
Join Date: Dec 2007
Location: Goldenrod City, Johto
Age: 17
Gender: Male
Nature: Quirky
Quote:
Originally Posted by 11bayerf1 View Post
No I hadn't !

Brilliant that did the trick. How did you go about finding that? I'd managed to find all the pokedex ones by searching general areas nearby etc.

Thanks a million though.
I looked at the routine itself and found that it branched to that area, which had the check in it.
__________________


My other resources:
My Website
diegoisawesome's MEGA-HUGE XSE Scripting Tutorial
diegoisawesome's Miscellaneous Finds
The Ruins of Alph Puzzles
Reply With Quote
  #359    
Old June 13th, 2013, 05:00 AM
GoGoJJTech's Avatar
GoGoJJTech
http://GoGoJJTech.com (WIP!)
Community Supporter
 
Join Date: Nov 2012
Location: Earth
Age: 16
Gender: Male
Nature: Quiet
I know a few of you were looking for this, but track 83 (53 in hex) plays the low HP sound. Hacking this could mean that we could have BW's low HP song playing as a fanfare.
__________________

Last edited by GoGoJJTech; June 13th, 2013 at 05:11 AM. Reason: Spelling
Reply With Quote
  #360    
Old June 13th, 2013, 07:25 AM
Synchronous's Avatar
Synchronous
Lying is my forte, you know?
Community Supporter
 
Join Date: Mar 2011
Location: in a「daze」
Age: 15
Gender: Male
Nature: Quiet
Send a message via Skype™ to Synchronous
Quote:
Originally Posted by dunning2012 View Post
Ah thank you

I didn't realize you could do that with A-Text.
You can modify any string with A-Text. Just not things that are graphics-based, as the text in those are not alphabet based, but are basically sprites.
__________________
Reply With Quote
  #361    
Old June 16th, 2013, 03:25 AM
Unifag's Avatar
Unifag
 
Join Date: Mar 2013
Hello,
I try to reproduce the mew glitch of red/blue/yellow on the gba version by using scripts and ASM:

So I have one small question: Is it possible to force open the start menu? If it's possible, how?

Sorry for my bad English, I'm french.
Reply With Quote
  #362    
Old June 20th, 2013, 03:14 PM
Sagiri's Avatar
Sagiri
 
Join Date: Mar 2007
Age: 20
Decryption

Just for fun, I found the routine that generates the next "Security Key" in FR (U).

The Security Key (as named by Bulbapedia) is the 32-bit integer that is used to encrypt the quantity of items in the bag and money, and possibly other things, in the RAM, using a simple xor.

The security key can be found by going to the pointer at 0300500C, and adding 0F20 to it. It will be at the resultant pointer.

The final step in its generation is calculated at 0804C13C, where it is placed on r4. It is regenerated every time the map changes, or you exit the bag (and possibly other times too).

However, rather than trying to understand how it was generated, what I was trying to do was an auto-decryption.
So by changing:
Code:
0804C13C: 24 18
to
Code:
0804C13C: 00 24
Basically the Security Key will always be zero, and thus the xor it is used for does nothing, so the things it is used to encrypt will stay unencrypted, without having to do it manually!

Now, I realize this isn't a particularly useful find, but it might help people identify values when debugging. I'm working on decrypting some other things too.

Edit: Oh, and credit to DavidJCobb (or whoever he got it from), as I found the location of the pointer to the Security Key from his Fire Red RAM Map.

DMA Negation

I'm calling this "negation", rather than "disabling" because the game still continues to load and store the DMA-protected data, it's just that the next pointer will always be the same, so it stays in the same place.

Any routines that load the pointers to the DMA-protected data will still work with no issues, as they are still being written correctly, however it is simply no longer necessary, as they are in static locations now!

The following table of offsets is copied from DavidJCobb's Fire Red RAM Map, posted in the ROM Hacking Resources thread, only with their new static locations:

Spoiler:

Code:
[0x0202552C]    2b    Camera X-position
[0x0202552E]    2b    Camera Y-position
[0x02025530]    1b    Current map.
[0x02025531]    1b    Current map bank.

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

[0x02029314] Box data

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

[0x02024588]    8b    Character name including terminator, padded to end with 0xFFs
[0x02024590]    1b    Gender (00/01 m/f)
[0x02024591]    1b    Unknown
[0x02024592]    2b    Trainer ID
[0x02024594]    2b    Secret ID (halfword)
[0x02024596]    2b    Playtime (hours)
[0x02024598]    1b    Playtime (minutes)
[0x02024599]    1b    Playtime (seconds)
[0x0202459A]    1b    Playtime (frames)
[0x0202459B]    1b    Unknown
[0x0202459C]    2b    Options // this and above thanks to hackmew's asm tut pt. 1
...
[0x020245A2]    1b    If 0xDA, then National Dex is enabled.
...
[0x020254A8]    4b    Unknown (encryption key for hidden vars)
[0x020254AC]        End (byte after)

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

[0x020257BC]    4b    Player's current money.
[0x02000490]    4b    Copy of player's current money. Doesn't seem to do anything if changed.
To use this, all you need to do is change
Code:
0804C064: 04 40
to
Code:
0804C064: 00 21
Any old saves will have their data moved to its new static location as soon as the DMA routine is loaded, which happens quite often - at least each time a map loads. Any new saves will default to these locations from the get-go.

I've tested this, but not super-extensively. I used an old save, and checked to ensure that the name, bag items, PC Pokemon, and PC items are all preserved. They all were with no issues whatsoever. However, it is possible that some other data is getting lost. If you find any issues, let me know.

Again, this is for Fire Red (U).

Misc
The amount of money the player has is stored at 020257bc. It is duplicated at 02000490, but I'm not sure why - only editing 020257bc will affect something in-game. If you manually edit 02000490, it'll simply revert to what it was before.

Last edited by Sagiri; June 26th, 2013 at 04:09 PM. Reason: Found where the money is stored.
Reply With Quote
  #363    
Old July 1st, 2013, 01:44 PM
chaosakita
 
Join Date: Apr 2013
Gender: Female
Is there any way to expand the amount of pokemon in a hack? I would like to have more ?????-like Pokemon (the ones that appear between Celebi and Treecko) without Pokedex entries. Really, I only need these pokemon to have a sprite, type data, and an ability each.
Reply With Quote
  #364    
Old July 16th, 2013, 02:32 AM
MrDollSteak's Avatar
MrDollSteak
Formerly known as 11bayerf1
 
Join Date: Dec 2008
Location: Hong Kong
Age: 19
Gender: Male
I'm here to pose a few questions.

In the Pokedex Screen in the second page of information, there is a map of Kanto
where wild Pokemon Locations pop up.

I've found how to change the picture itself.
Navigate to roughly 309 in unLZ and replace the image there with your own image.

However I am having trouble seeing how the map loads the red ovals to fit on routes
in terms of both size of the oval and the location.

There must be a routine somewhere that searches for the Pokemon amongst Wild Pokemon
data and then puts red dots onto the relevant X Y positions for each map. I will in the
mean time try and find the X Y positions of the routes based upon the dimensions of the
map, and knowledge of the way in which the world map is structured.

However I would also like to know if anyone has discovered this information earlier,
which would make my research redundant, and as such would be very welcome.

Another question would be, if someone has found the way in which the wild pokemon data
is checked to see if it is present on map banks, would it be possible to repoint this in someway
to include extra maps? or Day/Night related views, eg. If it were night, it would only show
Pokemon that are present in the Night Wild Pokemon Data.
__________________
Reply With Quote
  #365    
Old July 16th, 2013, 04:07 AM
GoGoJJTech's Avatar
GoGoJJTech
http://GoGoJJTech.com (WIP!)
Community Supporter
 
Join Date: Nov 2012
Location: Earth
Age: 16
Gender: Male
Nature: Quiet
http://sfc.pokefans.net/lesson.php?id=20
check this out
__________________
Reply With Quote
  #366    
Old July 16th, 2013, 04:41 AM
MrDollSteak's Avatar
MrDollSteak
Formerly known as 11bayerf1
 
Join Date: Dec 2008
Location: Hong Kong
Age: 19
Gender: Male
Quote:
Originally Posted by gogojjtech View Post
You rock! I'll see if this works :D

EDIT: This definitely works thank you so much!

It doesn't explain how the wild data is collected unfortunately.
I'll look into it though!
__________________

Last edited by MrDollSteak; July 16th, 2013 at 05:07 AM.
Reply With Quote
  #367    
Old August 6th, 2013, 02:16 PM
Shiny Quagsire's Avatar
Shiny Quagsire
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
By nulling out the function call at 0805BA3A, you can remove the flag check for running shoes. So removing it is as simple as writing 00 00 00 00 over the bytes there!
__________________



Reply With Quote
  #368    
Old August 7th, 2013, 06:50 PM
QuilavaKing's Avatar
QuilavaKing
(>^.(>0.0)>
Community Supporter
 
Join Date: Mar 2009
Location: Oregon
Age: 22
Gender:
Nature: Careful
Send a message via Skype™ to QuilavaKing
I'm just now getting into hex editing, and the more in depth ROM hacking stuff, and I've been looking at how maps are stored in the ROM. I've learned quite a lot, but I wasn't able to do one thing I was really hoping I could. Is it not possible to write bytes of maps to change tiles in game? It seemed like it would be easier than having a level script to change the tiles every time you enter the map. (Which might not actually be necessary, I've been scripting for all of 2 days, so I very well may be over complicating it, not sure.)
I also tried rewriting the sound ID of a sound command to see if the next time that script was called the sound would be different, and it didn't change, so I'm guessing this isn't possible, but I thought I'd ask and see if anyone knew anything about it, and if there was a way to do it.
__________________
#156 :: Quilava

The Volcano Pokemon


Reply With Quote
  #369    
Old August 9th, 2013, 07:49 PM
redriders180's Avatar
redriders180
Mastermind of Pokemon Glazed
 
Join Date: Jun 2010
Location: Path of Victory, Tunod
Gender: Male
Nature: Quirky
Send a message via AIM to redriders180 Send a message via Skype™ to redriders180
So, I'll post my just-now finding, but I don't know if it's been posted yet. For Emerald, it's very easy to script a wild battle where the foe tries to flee. Simply use setwildbattle to set the Pokemon's species, level, and held item, then callasm 0xB072D, followed by waitstate. Simple as that
__________________


Superfan of Pokemon Glazed? Click here to join the official Pokemon Glazed Facebook Page!

Thank you for hatching the eggs!
Please view these dragons! Just click them and you're done!
If you don't help them grow up, they'll die...


Reply With Quote
  #370    
Old August 10th, 2013, 06:56 AM
GoGoJJTech's Avatar
GoGoJJTech
http://GoGoJJTech.com (WIP!)
Community Supporter
 
Join Date: Nov 2012
Location: Earth
Age: 16
Gender: Male
Nature: Quiet
Karatekid552 told me I should put this here:
Quote:
Originally Posted by karatekid552 View Post
To remove badge checks from ALL HMs on the POKEMON MENU:

Go to 0x124620 and paste-write "01 20 00 00 00 00 00 00 00 00 00". And that is all.:D
Firered
__________________
Reply With Quote
  #371    
Old August 10th, 2013, 09:45 AM
Ksiazek Bartlomiej's Avatar
Ksiazek Bartlomiej
Rejishan awake...
 
Join Date: Jun 2008
Location: Takoabe Town (Region Thonsu)
Age: 21
Gender: Male
Nature: Hardy
One Question. Meybe someone give me finaly RIGHT answer for this question.

Where in Ruby was located Prof.Birch sprite from Intro.

I am 100% sure that this do not require ASM.
__________________
- Thonsu Region will never die when Rejishan take care about them. Even the evilnesse of Team Mystic do not destroy land of Thonsu.

POKEMON DIRTY SUN - Comming Soon.
Reply With Quote
  #372    
Old August 10th, 2013, 09:52 AM
karatekid552's Avatar
karatekid552
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by Ksiazek Bartlomiej View Post
One Question. Meybe someone give me finaly RIGHT answer for this question.

Where in Ruby was located Prof.Birch sprite from Intro.

I am 100% sure that this do not require ASM.
Logging feature in VBA-M. Log all calls to SWI and at least one of them will be a call to Lz decompression, and will give you the offset that was sent there. One of those will be the offset of the Birch sprite.
__________________

Paired with Simba
Reply With Quote
  #373    
Old August 10th, 2013, 10:29 AM
Ksiazek Bartlomiej's Avatar
Ksiazek Bartlomiej
Rejishan awake...
 
Join Date: Jun 2008
Location: Takoabe Town (Region Thonsu)
Age: 21
Gender: Male
Nature: Hardy
This offset is Able to repoint later?
__________________
- Thonsu Region will never die when Rejishan take care about them. Even the evilnesse of Team Mystic do not destroy land of Thonsu.

POKEMON DIRTY SUN - Comming Soon.
Reply With Quote
  #374    
Old August 10th, 2013, 12:15 PM
karatekid552's Avatar
karatekid552
What happens if I push it?....
 
Join Date: Nov 2012
Location: Do you really want to know? Really?
Gender: Male
Nature: Bold
Send a message via AIM to karatekid552 Send a message via Windows Live Messenger to karatekid552 Send a message via Skype™ to karatekid552
Quote:
Originally Posted by Ksiazek Bartlomiej View Post
This offset is Able to repoint later?
What? I have no idea what that means.
__________________

Paired with Simba
Reply With Quote
  #375    
Old August 10th, 2013, 04:12 PM
xGal's Avatar
xGal
Playing some ESL
 
Join Date: Nov 2011
Location: A tree
Gender: Male
Nature: Bold
Quote:
Originally Posted by karatekid552 View Post
What? I have no idea what that means.
I think he asked if he could repoint that table.

If I am not wrong, you can repoint a table.
__________________
Hey guys, I made a soundcloud account not long ago, and I would be very happy if you guys will check it out: https://soundcloud.com/dewombat. Thanks .

Also, if you ever wanted to make a ROM hacking tool, click here: http://www.pokecommunity.com/showthread.php?t=334348
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 12:56 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.