lea $FFFFD080,a1 ; Load Object_RAM+$80 into a1 to be read from later.
tst.b $FFFFA420 ; Is flag $FFFFA420 set?
beq @u ; If not, branch to subroutine "@u" without doing any other operation.
; Otherwise:
bsr @u ; Branch to subroutine "@u" once.
lea $FFFFD140,a1 ; Load Object_RAM+$140 into a1 to be read from later.
bsr @u ; Branch to subroutine "@u" again.
lea $FFFFD180,a1 ; Load Object_RAM+$180 into a1 to be read from later.
@u btst #0,$FFFFD04E ; Test the first bit of flag $FFFFD04E. Is it set?
bne @d ; If said bit is not set, branch.
addq.w #4,$A(a1) ; Quickly add 4 to whatever value is in the y-position equate (I think).
@d btst #1,$FFFFD04E ; Test the second bit of flag $FFFFD04E. Is it set?
bne @none ; If said bit is not set, branch.
subq.w #4,$A(a1) ; Quickly subtract 4 from whatever value is in the y-position equate (I think).
@l btst #2,$FFFFD04E ; Test the third bit of flag $FFFFD04E. Is it set?
bne @r ; If said bit is not set, branch.
addq.w #8,8(a1) ; Quickly add 8 to whatever value is in the x-position equate (I think).
@r btst #3,$FFFFD04E ; Test the fourth bit of flag $FFFFD04E. Is it set?
bne @none ; If said bit is not set, branch.
subq.w #8,8(a1) ; Quickly subtract 8 from whatever value is in the x-position equate (I think).
@none rts ; Go back to whatever we were doing before starting this subroutine.
Comments
0 B
|0 👍
/0 👎
0 B
|👍
/👎