Prev: 60051 Up: Map Next: 60233
60165: Player: Move Right
Used by the routines at PlayerControls_Kempston and PlayerControls.
Input
IX On entry will be set to TablePlayerAttributes
PlayerMoveRight 60165 LD A,(IX+17) Return if *IX+17 is equal to 2.
60168 CP 2
60170 RET Z
60171 CP 3 Jump to PlayerMoveRight_0 if *IX+17 is not equal to 3.
60173 JR NZ,PlayerMoveRight_0
60175 LD A,(IX+3) Return if *IX+3 is not equal to 3.
60178 CP 3
60180 RET NZ
60181 LD A,255 Write 255 to *62253.
60183 LD (62253),A
60186 LD A,(IX+1) Jump to PlayerMoveRight_0 if *IX+1 is equal to *IX+18.
60189 CP (IX+18)
60192 JR Z,PlayerMoveRight_0
60194 CP (IX+19) Return if *IX+1 is not equal to *IX+19.
60197 RET NZ
PlayerMoveRight_0 60198 LD A,(IX+17) Jump to PlayerMoveRight_1 if *IX+17 is equal to 19.
60201 CP 19
60203 JR Z,PlayerMoveRight_1
60205 LD (IX+17),19 Write 19 to *IX+17.
60209 LD (IX+6),26 Write 26 to *IX+6.
PlayerMoveRight_1 60213 LD A,(IX+6) A=*IX+6.
60216 ADD A,6 A+=6.
60218 LD (IX+6),A Write A to *IX+6.
60221 CP 80 Jump to PlayerMoveRight_2 if A is not equal to 80.
60223 JR NZ,PlayerMoveRight_2
60225 LD (IX+6),32 Write 32 to *IX+6.
PlayerMoveRight_2 60229 DEC (IX+4) Decrease *IX+4 by one.
60232 RET Return.
Prev: 60051 Up: Map Next: 60233