VRAM is where I always get screwy with. I've never had any real experience with it until Mega Man X2/X3 and that was a HUGE difference than this. Though, I'm understanding how it works slowly.
From what I can assume it's probably not in vblank, which even then still confuses me. Why would the next items work while others don't? They're literally in consecutive order in the same code. So unless Vblank suddenly just... stops mid writing than that would be it. (Then again this is NOT on a black screen to load screen. It's instantaneous so it's more likely vblank issue).
I'll take a look at the VC in a second and see what's up.
Edit: Hm. I can't really seem to find anything noticeably different. I'm clearly missing something.
Edit 2: Everything updates on the screen but the weapon and accessories. That's.. odd. It seems to be something with the VRAM position. Cause if I swap out the weapon and body's VRAM locations, weapons will update but the body won't.
$C2/EF0C A9 18 LDA #$18 A:0151 X:2000 Y:2556 P:envMxdizc
$C2/EF0E 8F 01 43 00 STA $004301[$00:4301] A:0118 X:2000 Y:2556 P:envMxdizc
$C2/EF12 A9 01 LDA #$01 A:0118 X:2000 Y:2556 P:envMxdizc
$C2/EF14 8F 00 43 00 STA $004300[$00:4300] A:0101 X:2000 Y:2556 P:envMxdizc
$C2/EF18 A9 80 LDA #$80 A:0101 X:2000 Y:2556 P:envMxdizc
$C2/EF1A 8F 15 21 00 STA $002115[$00:2115] A:0180 X:2000 Y:2556 P:eNvMxdizc
$C2/EF1E A9 7E LDA #$7E A:0180 X:2000 Y:2556 P:eNvMxdizc
$C2/EF20 8F 04 43 00 STA $004304[$00:4304] A:017E X:2000 Y:2556 P:envMxdizc
$C2/EF24 C2 20 REP #$20 A:017E X:2000 Y:2556 P:envMxdizc
$C2/EF26 A9 89 7A LDA #$7A89 A:017E X:2000 Y:2556 P:envmxdizc
$C2/EF29 8F 02 43 00 STA $004302[$00:4302] A:7A89 X:2000 Y:2556 P:envmxdizc
$C2/EF2D A9 90 73 LDA #$7390 A:7A89 X:2000 Y:2556 P:envmxdizc
$C2/EF30 8F 16 21 00 STA $002116[$00:2116] A:7390 X:2000 Y:2556 P:envmxdizc
$C2/EF34 A9 80 05 LDA #$0580 A:7390 X:2000 Y:2556 P:envmxdizc
$C2/EF37 8F 05 43 00 STA $004305[$00:4305] A:0580 X:2000 Y:2556 P:envmxdizc
$C2/EF3B E2 20 SEP #$20 A:0580 X:2000 Y:2556 P:envmxdizc
$C2/EF3D 22 52 D9 C9 JSL $C9D952[$C9:D952] A:0580 X:2000 Y:2556 P:envMxdizc
- It may have something to do with this. Modifying the 89 7A value causes some interesting issues on the items that update (Though this just may be RAM editing nothing more).
Edit 3: This definitely has something to do with it. Modifying the tiles at 7E7A89 modifies the weapon data. It's skipping weapons and accessories for some reason.
Edit 4: Got something! Changing C2/EF34 A9 80 05 to A9 00 08 effects everything on screen EXCEPT the weapon for updating. So it's definitely missing SOMETHING.
Edit 5: If I bump everything up in VRAM by 100 bytes, it all updates fine.. but I don't want that. I NEED to have it effect the entirety from beginning to end.
Edit 6: Got it!
Had to look up on an old guide about the storage to :4302. Noticed that it was exceptionally similar to some other data. Changed it to A9 69 79 (Which is where the whole DMA storage or reading starts in this game). Then changed :2116's data to A9 00 73 so it loaded the correct area in VRAM to load things from. Voila! Worked like a charm! (Best part is since there's so little VRAM, there's hardly any kind of lag in the menu when switching character screens!)