Prev: 60165 Up: Map Next: 60301
60233: Player: Move Left
Used by the routines at PlayerControls_Kempston and PlayerControls.
Input
IX On entry will be set to TablePlayerAttributes
PlayerMoveLeft 60233 LD A,(IX+17) Return if *IX+17 is equal to 2.
60236 CP 2
60238 RET Z
60239 CP 3 Jump to PlayerMoveLeft_0 if *IX+17 is not equal to 3.
60241 JR NZ,PlayerMoveLeft_0
60243 LD A,(IX+3) Return if *IX+3 is not equal to 3.
60246 CP 3
60248 RET NZ
60249 LD A,255 Write 255 to *62253.
60251 LD (62253),A
60254 LD A,(IX+1) Jump to PlayerMoveLeft_0 if *IX+1 is equal to *IX+18.
60257 CP (IX+18)
60260 JR Z,PlayerMoveLeft_0
60262 CP (IX+19) Return if *IX+1 is not equal to *IX+19.
60265 RET NZ
PlayerMoveLeft_0 60266 LD A,(IX+17) Jump to PlayerMoveLeft_1 if *IX+17 is equal to 4.
60269 CP 4
60271 JR Z,PlayerMoveLeft_1
60273 LD (IX+17),4 Write 4 to *IX+17.
60277 LD (IX+6),74 Write 74 to *IX+6.
PlayerMoveLeft_1 60281 LD A,(IX+6) A=*IX+6.
60284 ADD A,6 A+=6.
60286 LD (IX+6),A Write A to *IX+6.
60289 CP 128 Jump to PlayerMoveLeft_2 if A is not equal to 128.
60291 JR NZ,PlayerMoveLeft_2
60293 LD (IX+6),80 Write 80 to *IX+6.
PlayerMoveLeft_2 60297 INC (IX+4) Increment *IX+4 by one.
60300 RET Return.
Prev: 60165 Up: Map Next: 60301