I'm having an absolute bastard of a time trying to figure this issue out.
So the basic sum up of the project I've done before and now was that I modified Super Mario All-Stars to load SMB2 right away. All data that I could find relating to the other games in All-Stars has been completely removed pretty much leaving the entirety of the ROM to be for SMB2 only. After that, I altered how the PC graphics are done so they are specifically their own thing now with Sprite Assembly, Animation Data and graphic pointers and such. This worked just fine before in bSNES and SNES9X. ZSNES, ignoring that mainly just fails on start-up after the coin logo but that's not important.
I've converted the ROM to FastROM to allow more sprites on screen without as much lag, thankfully, that works flawlessly in SNES9X and it really shows how much it's improved this way. The problem comes now with more accurate emulators like BSNES. I've also made sure 420D is set to 01 so that's not a problem either.
Everything loads up just fine in-game when you start up, select your character and the map loads. The first frame of the only character I have in thus far, Peach, loads up flawlessly and just fine. The moment when it has to change frames, however, the entire game bugs the hell out and essentially crashes.
I've searched my code forwards and backwards and I cannot find ANY reason on why this would happen. Everything loads just fine, everything stores just fine from what I see. It just.. breaks and seemingly only breaks when the sprite is NOT her single Idle Frame sprite. I can change that value to anything and it'll just instantly break.
I am absolutely baffled as all the pointers are correct, all banks are correct, all information from what I can tell is correct. Tracing in BSNES doesn't even help at all either as it leads to the same conclusion so I'm just confused as hell.