![]() |
Limitation of Voicegroup-Pointers (Pokemon Emerald)
Hey Community,
I was adding custom Voicegroups starting with a free Offset (0x00FF3200) in Pokemon Emerald. Then I added them in the Song-Table as Instrument using Sappy. This worked very well until I reached a higher Offset seemingly causing trouble. I looked into it using a Hex Editor and found out the Pointer for the Voicegroups are the problem. Normally it would create a Pointer like this: 0x012B9600 -> 00 96 2B 01 + 08 = 00 96 2B 09 And then the 1st Offset with problems: 0x0205E800 -> 00 E8 05 02 + 08 = 00 E8 05 08 I thought the last two numbers should have been '0A' but it was changed to '08' instead. Manually changing the numbers and various testing made me realize that somehow the last numbers from 00 E8 05 0A (the '0A') are read as '00'. So I originally thought I could use the free space of the Rom till 0x07FFFFFC resulting in the pointer FC FF FF 0F. But instead it seems to be limited to 0x01FFFFFC resulting in the pointer FC FF FF 09. That would mean I have only 1/7 of free space I thought I have... I want you help for either confirming this limitation of the Voicegroup-Pointer or finding a solution/workaround for allowing higher Pointers. |
Quote:
Pointers are addresses: those prefixes mean something. 08 and 09 are for the Game Pak. 0A and 0B are mirrors of that space, as are 0C and 0D. These can be configured to do some things differently, but it appears the Pokemon games treat them equally. This results in repointing tools changing 0A to 08. The reason you add offsets to the address is because you're dealing with a ROM dump - you can only see the ROM part of the game. You have to convert the offset in this ROM to a GBA address so that the CPU knows where to find the data. The other prefixes are reversed for other blocks of memory. For example 02 and 03 are work RAM. See GBATEK for a full memory map. |
I was feeling that something is wrong with these high offsets.
Thanks for explaining this matter. (I was just trying the replace some of the songs with custom wave-songs which needs a bit more space.) |
| All times are GMT -8. The time now is 2:22 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.