isleep2late Posted December 14, 2021 Posted December 14, 2021 Hey everyone, Surprised this post hasn't been made already; am I the only one interested in doing this? I looked into some of the previous architecture and based on a post @ABZB made years ago on Pokemon Platinum there was a line of code in Platinum's arm9.bin they discovered that contained the banlist in the DS game: Quote 96 00 97 00 F9 00 FA 00 FB 00 7E 01 7F 01 80 01 81 01 82 01 E3 01 E4 01 E7 01 E9 01 EA 01 EB 01 EC 01 ED 01 Now, I did not see this line of code in the BDSP games - and why would I? It's a completely different game that is 2 system generations apart. *However*, I grew very suspicious that things from BDSP were stolen from D/P/Pt when I discovered a lot of the stuff taken from diamond/pearl was claimed to have been copied over to BDSP (for example in the Glitch community they discovered that the game designers copied the memory reading from gen 4 dp, allowing a very similar exploit to the so-called "Void Glitch" in gen 4). Anyway, after dumping the romfs of Brilliant Diamond, I found a very similar segment of this code in the the resources.assets file under the romfs directory. There are exactly 6 instances of the Hex values: "7E 01 7F 01 80" (I think it actually extends beyond those values). I would try replacing the relevant binaries with "00 00..." but I also don't think I have the hardware to actually test to see if this works. On top of that, there's like a bunch of other instances of "7E 01 7F 01 80" scattered around the romfs as a 1-of instance (666 total occurences in the romfs) so I might just be throwing a needle in a haystack. If anyone else finds anything or makes any progress, please let us know! (FYI I will/have been severely limiting my online presence due to some drama/abuse from another/separate online community/individual but I will be watching closely for any new updates to this thread).
ABZB Posted December 21, 2021 Posted December 21, 2021 (edited) My name has been spoken and behold! I am summoned to this plane. The other possibility you should check for is that they switched to the method they used in the later games, where they have a string of bytes where each bit corresponds to a single Pokemon in internal index order, and each bit is a 1 if the corresponding Pokemon is banned. For example, in USUM, the string to search for is: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 00 00 00 00 00 00 00 00 00 00 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 07 00 00 00 00 00 00 00 00 00 00 00 98 7E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D8 03 00 00 00 00 00 00 00 F0 03 00 00 00 00 00 00 00 E0 01 87 It's easy to eyeball where each gen ends, since the banned Pokemon are at the end of each generation (e.g. 0xC0 is Mewtwo and Mew, then the later 0x0E is Lugia, Ho-oh, and Celebi) - so the string for BDSP (assuming they truncated it and didn't bother banning the Pokemon they didn't include) should end at 0x98 7E, except that the highest bit of the last byte is actually banning Victini, so just search for: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 00 00 00 00 00 00 00 00 00 00 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 07 00 00 00 00 00 00 00 00 00 00 00 98 (since I'm not sure if they included banning Victini and beyond, I'm not sure what the bytes after that 0x98 look like, but that string should be long enough to narrow it down to exactly what you want). Generally speaking the games have had an instance of the ban-string per battle mode (even if they're all identical banlists) - for example, in USUM there's copies for each of Battle Royale, the Battle Tree modes, and the Battle Agency. I suspect that they switched to the new method, because the way the gen IV code handled things like (some) alternate Formes is somewhat different than the way it is handled in later gens, so if they're using the newer stuff for that they probably copied over that bit too Edited December 21, 2021 by ABZB
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now