![]() |
Quote:
|
Quote:
0x00 refers to BIOS 0x02 refers to WRAM 0x03 refers to IRAM 0x04 refers to I/O 0x05 refers to PALETTE 0x06 VRAM 0x07 OAM 0x08 ROM Look at the Visual Boy's Memory as your reference. The codes that are provided here are not meant for Hex Editor only. In general knowledge, 0x00043156 refers to BIOS. Hope this helps you understand why 08 is included. |
Quote:
|
Because it's more convenient that the person who wants to learn romhacking takes time and effort to learn from tutorials, than for an experienced romhacker to explain himself in a simplified manner.
|
Quote:
|
Quote:
What I was talking about was more listing the two sets of offsets, *not* literally including your explanation of memory types in each post that has offsets in it |
Quote:
|
Quote:
|
The first post has been updated (after nearly two years!) with links to almost one hundred informative posts! I love every discovery in this thread and everybody who's helped contribute to the community.
asm resource thread update coming soon |
This information seems to be important enough and it's not mentioned in the main post, so I just took the liberty of bringing it here.
Forcing the Set Battle Style in Fire Red Quote:
|
Quote:
|
Quote:
|
DPPt Berry Info
Berries are found in itemdata/nuts_data.narc 00 - Berry Size (cm). There will be a decimal point before the last digit of the number in decimal. (Ex: 0x7E -> 126 -> 12.6 cm) 01 - ??? 02 - Firmness: Spoiler:
03 - ??? 04 - Hours per Stage (There are 4 stages) 05 - Moisture drain rate without Mulch. When a Berry is planted, the moisture is 100. Every 60 minutes, the moisture decreases by this amount, with the soil changing color, until it reaches 0, where the soil is gray. 06 - Spiciness 07 - Dryness 08- Sweetness 09 - Bitterness 0A - Sourness 0B - Smoothness |
Ribbon Data
So I researched this on a whim. This applies to all the GBA games but FRLG never displays ribbon data anyhow and it doesn't look like anyone documented it, so here we are. Normally Ribbon data is impossible to check or edit because it's encrypted and the decrypt function can't do anything with it in particular for some reason. But if you disable encryption completely (as seen here) then you can check or edit ribbons in your ASM codes much more easily. The game uses four bytes to track a Pokémon's ribbons. They are the last four bytes of the "Misc" data subsection. Individual bits are used to track Ribbons from the contests as well as some additional ribbons. For contest ribbons, 3 bits are used to track how many ribbons from each category that Pokémon has. You can normally only get 4 ribbons in each category, but if you set all the bits for one category to 1 the game can show up to 7 ribbons from one category (which will lead to duplicate ribbons.) There are 32 possible ribbons to get but you can technically edit a Pokémon to have up to 47 (which will crash the game at the ribbon viewer.) Bits 1~3: Cool contest ribbons Bits 4~6: Beauty contest ribbons Bits 7~9: Cute contest ribbons Bits 10~12: Smart contest ribbons Bits 13~15: Tough contest ribbons Bit 16: League Champion ribbon Bit 17: Lv. 50 Battle Tower ribbon Bit 18: Lv. 100 Battle Tower ribbon Bit 19: Artist ribbon Bit 20: Effort ribbon Bits 21~27: These ribbons have no description. I believe they are mostly unused aside from the ribbons that come from the GCN games. Bits 28~32 DON'T track ribbon data, they're for something else. So, a Pokémon that has all possible ribbons with no duplicates would have 07 FF C9 24 in those four bytes. |
Quote:
[hd]16kq82y91UE[/hd] And since I'm posting that one, might as well post my Emerald version as well: [hd]NovD5qHerAo[/hd] |
Wonder Trade with NPC Trainers [FR]
Basically, this is a WT system that uses the NPC trainer data as the pool of potential trades. It picks a random trainer, and a random slot from that trainer's party, and that's what you get traded. In case it's not obvious, this includes the actual trade animation, and the Pokémon in question will keep the NPC trainer's OT ID and OT Name, as well as any held item and custom moves it may have assigned to it. Additionally, if the Pokémon you receive evolves by trade, it will evolve when you get it. Trade + Held Item evolutions would work as well, but I doubt there are many NPC trainers that have Scythers with Metal Coats (for example). A few things to keep in mind if you decide to use this:
Nidoran Gender Symbol [FR] I don't know if this bothers anyone else, but I never liked how the Nidorans get special treatment with regards to the gender symbol (because it's part of their name, they don't have one, unless you nickname them). You can get rid of this but putting 00at all of the following locations: Code:
Edit: agsmgmaster64 found a few offsets I missed, as well as the Emerald equivalents. See here. |
Quote:
edit: I tested your fix and it doesn't work as you intended. I was able to use Protect without fail after passing 16 successes. |
Quote:
2) Loads the first entry of the protect probability table (0xFFFF or 100%) 3) Shifts to the right n bits from the probability. Equivalent to a division of 2^n If you used 17 protects, you would remove 17 bits from a 16 bit number, making it zero. However you're right because the game checks if the protect probability is greater or equal than the random number, giving a 1/65535 chance of not failing protect. |
Quote:
FR: 00 00 00 00 00 00 00 00 00 00 00 00 at x860C2. EM: 00 00 00 00 00 00 00 00 00 00 00 00 at xB8536 Ruby: 00 00 00 00 00 00 00 00 00 00 00 00 at x88102 |
I need help with this:
I have been modifying the routine of Chacha Dinosaur, well I suppose that here they could help me to finish it since then I already have the pointers, I do not know if they can help me and in that way we help rom hackers of ruby;) EV-enhancing items (Power Items) Spoiler:
|
00 00 00 00 00 00 00 00 00 00 00 00 at x82980 will enable wilds in the Tanoby Ruins chambers (maps 2.27 to 2.34) irrespective of if the Tanoby Key puzzle has been solved (i.e. flag 0x849 is set).
At x3CA71C, there is a list of bytes which correspond to the Unown forme for each slot for the wilds of the Tanoby Ruins chambers. There are twelve bytes for each chamber, and six chambers in total. The bytes range from 00 to 1B (dec 27), and the first 26 (00 to dec 25) bytes follow the order of the alphabet (A-Z), with 1A (dec 26) being ! and 1B (dec 27) being ?. The byte order matches the probability listing for the Grass wilds of a map, so the 12th byte has a 1% chance of appearing, and so on. The routine at x829FC is how it determines which chamber to use (by subtracting 27 from the map number at x82A42), so you can change this to be whichever map number your first Unown chamber is on. The lsls around this area (x82A4A) are used to multiply the (map number - 27) by six, as there are six chambers, so change that arithmetic if you have a different number of chambers. This is why, as Squeetz points out here https://www.pokecommunity.com/showthread.php?p=9578348#post9578348, the game will crash if the map number is not between 27 and 34 when spawning Unown. |
3 Attachment(s)
I haven't seen this documented anywhere, so I thought I should post it here.
Every Overworld Sprite has a data address with 0x24 bytes of data. (See for example https://www.pokecommunity.com/showthread.php?p=3674554#post3674554 or JPAN's Hacked Engine Manual) The 14th byte (That was a mystery) determines what kind of footprints will appear when walking on sand. The byte should be either value 0x00 (No Footprints), 0x01 (Footprints) or 0x02 (Bicycle). Any other value will cause the game to freeze when stepping on sand. To Illustrate: Attachment 86202 Attachment 86203 Attachment 86204 |
Quote:
|
POKEMON RUBY RELATED
I found limiter related to pokemons in the Contests. So for rid off limiter from contests. Adress - B278C In there change 9b 01 to new number related to SLOTS. Not same Pokemon in dex. But Slots. That makes formes even working with contests. In my case for be sure about All pokes i repleace 9b 01 with ff 04... And prest. It works. https://media.discordapp.net/attachments/419213926245335041/490935154261360651/2.PNG |
Door 16x16 Pokémon Ruby:
583DC: FF F7 D6 FF - 00 00 00 00 583E6: FF F7 01 FD - 00 00 00 00 https://i.imgur.com/yupI62I.gif |
| All times are GMT -8. The time now is 8:53 AM. |
![]()
© 2002 - 2018 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 - 2016 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.
Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.