Nothing to do with stages,but I seen this branch when trying to edit ryu’s jab dp.
A5 = FF8000
077FE2: bsr $78132
078132: lea ($44e,A5), A6 ;Setting player Player 1
078136: bsr $7813e ;Branch so it A6 doesn't become player 2's address yet
07813E: move.l ($6,A6), D0 ;Loading the actual X Position
078142: sub.l ($1cc,A6), D0 ;Subtracting old position with new
078146: move.l D0, ($1c4,A6) ;Supposed X Movement
07814A: move.l ($a,A6), D0 ;Loading the actual Y position
07814E: sub.l ($1d0,A6), D0 ;Subtracting old position with new
078152: move.l D0, ($1c8,A6) ;Supposed Y Movement
078156: rts ;Return
07813A: lea ($84e,A5), A6 ;Setting player Player 2
07813E: move.l ($6,A6), D0 ;Loading the actual X Position
078142: sub.l ($1cc,A6), D0 ;Subtracting old position with new
078146: move.l D0, ($1c4,A6) ;Supposed X Movement
07814A: move.l ($a,A6), D0 ;Loading the actual Y position
07814E: sub.l ($1d0,A6), D0 ;Subtracting old position with new
078152: move.l D0, ($1c8,A6) ;Supposed Y Movement
078156: rts ;Return
The thing is there is nothing reading those movement values which what this branch is making. So in normal play this branch useless and just a left over of a debug display.
The reason I note this is that it’s a nice place to hook into since this isn’t really used.
Edit:
Added the all of it.
Also looking into it more this branch does have it’s use does have a use in normal play sorta. Only when players push boxes are touching each other does it get read but it’s not used to calculate which one moves either. Removing the above to not write a value seems to do nothing.
Spoiler
As always A5 = FF8000
0BF6E2: bpl $bf6e8
0BF6E8: move.l ($612,A5), D2 ;Reading P1 "X Speed" and putting it on D2
0BF6EC: lsr.l #8, D2
0BF6EE: tst.w D2
0BF6F0: bpl $bf6f4 ;Yes, there is a neg.w command after this branch if value negative.
0BF6F4: move.l ($a12,A5), D3 ;Reading P2 "X Speed" and putting it on D3
0BF6F8: lsr.l #8, D3
0BF6FA: tst.w D3
0BF6FC: bpl $bf700 ;Same as above
0BF700: cmp.w D2, D3
0BF702: beq $bf75a ;Branch past the rts if D2 and D3 are equal
0BF704: bcs $bf730
0BF730: sub.w D6, ($454,A5) ;Where did D6 get written? Why is it needed? What the fuck?
0BF734: sub.w D0, ($454,A5)
0BF738: add.w D6, ($854,A5) ;Where did D6 get written? Why is it needed? What the fuck?
0BF73C: move.b #$1, ($5ae,A5)
0BF742: move.b #$0, ($9ae,A5)
0BF748: tst.b D6
0BF74A: bmi $bf72e
0BF74C: move.b #$0, ($5ae,A5)
0BF752: move.b #$1, ($9ae,A5)
0BF758: rts
the if equal part
BF75A: sub.w D6, ($454,A5) ;Where did D6 get written? Why is it needed? What the fuck?
BF75E: add.w D6, ($854,A5) ;Where did D6 get written? Why is it needed? What the fuck?
BF762: move.b #$1, ($5ae,A5)
BF768: move.b #$0, ($9ae,A5)