Prev: E9D9 Up: Map Next: EA93
E9E2: Routine at E9E2
Used by the routines at Handler_Player and Handler_Pirates.
E9E2 LD A,C A=C.
E9E3 SUB (IX+$0D) A-=*IX+0D.
E9E6 JR Z,$E9F4 Jump to E9F4 if the result is zero.
E9E8 CP $FF Compare A with FF.
E9EA PUSH AF Stash AF on the stack.
E9EB CALL Z,$EA1D Call EA1D was equal to FF (on line E9E8).
E9EE POP AF Restore AF from the stack.
E9EF CALL NZ,$EA38 Call EA38 was not equal to FF (on line E9E8).
E9F2 JR $E9FF Jump to E9FF.
E9F4 LD A,E Jump to E9FF if E is equal to *IX+0B.
E9F5 CP (IX+$0B)
E9F8 JR Z,$E9FF
E9FA CP $03 Call EA38 if E is equal to 03.
E9FC CALL Z,$EA38
E9FF LD A,B A=B.
EA00 SUB (IX+$0E) A-=*IX+0E.
EA03 JR Z,$EA11 Jump to EA11 if the result is zero.
EA05 CP $FF Compare A with FF.
EA07 PUSH AF Stash AF on the stack.
EA08 CALL Z,$EA78 Call EA78 if A was equal to FF (on line EA05).
EA0B POP AF Restore AF from the stack.
EA0C CALL NZ,$EA58 Call EA58 if A was not equal to FF (on line EA05).
EA0F JR $EA1C Jump to EA1C.
EA11 LD A,D Jump to EA1C if D is equal to *IX+0F.
EA12 CP (IX+$0F)
EA15 JR Z,$EA1C
EA17 CP $03 Call EA58 if D is equal to 03.
EA19 CALL Z,$EA58
EA1C RET Return.
EA1D PUSH BC Stash BC and DE on the stack.
EA1E PUSH DE
EA1F LD C,(IX+$0D) C=*IX+0D.
EA22 LD B,(IX+$0E) B=*IX+0E.
EA25 LD D,(IX+$08) D=*IX+08.
EA28 LD E,$01 E=01.
EA2A LD A,(IX+$0F) Jump to EA32 if *IX+0F is equal to 03.
EA2D CP $03
EA2F JR Z,$EA32
EA31 INC D Increment D by one.
EA32 CALL PrintSpriteUpdateBuffer Call PrintSpriteUpdateBuffer.
EA35 POP DE Restore DE and BC from the stack.
EA36 POP BC
EA37 RET Return.
EA38 PUSH BC Stash BC and DE on the stack.
EA39 PUSH DE
EA3A LD A,(IX+$0D) A=*IX+0D.
EA3D LD C,(IX+$07) C=*IX+07.
EA40 SUB C A-=C.
EA41 LD C,A C=A.
EA42 LD B,(IX+$0E) B=*IX+0E.
EA45 LD D,(IX+$08) D=*IX+08.
EA48 LD E,$01 E=01.
EA4A LD A,(IX+$03) Jump to EA52 if *IX+03 is equal to 03.
EA4D CP $03
EA4F JR Z,$EA52
EA51 INC D Increment D by one.
EA52 CALL PrintSpriteUpdateBuffer Call PrintSpriteUpdateBuffer.
EA55 POP DE Restore DE and BC from the stack.
EA56 POP BC
EA57 RET Return.
EA58 PUSH BC Stash BC and DE on the stack.
EA59 PUSH DE
EA5A LD A,(IX+$0E) A=*IX+0E.
EA5D LD D,(IX+$08) D=*IX+08.
EA60 SUB D A-=D.
EA61 LD B,A B=A.
EA62 LD E,(IX+$07) E=*IX+07.
EA65 LD C,(IX+$0D) C=*IX+0D.
EA68 LD D,$01 D=01.
EA6A LD A,(IX+$02) Jump to EA72 if *IX+02 is equal to 03.
EA6D CP $03
EA6F JR Z,$EA72
EA71 INC E Increment E by one.
EA72 CALL PrintSpriteUpdateBuffer Call PrintSpriteUpdateBuffer.
EA75 POP DE Restore DE and BC from the stack.
EA76 POP BC
EA77 RET Return.
EA78 PUSH BC Stash BC and DE on the stack.
EA79 PUSH DE
EA7A LD C,(IX+$0D) C=*IX+0D.
EA7D LD B,(IX+$0E) B=*IX+0E.
EA80 LD D,$01 D=01.
EA82 LD E,(IX+$07) E=*IX+07.
EA85 LD A,(IX+$0B) Jump to EA8D if *IX+0B is equal to 03.
EA88 CP $03
EA8A JR Z,$EA8D
EA8C INC E Increment E by one.
EA8D CALL PrintSpriteUpdateBuffer Call PrintSpriteUpdateBuffer.
EA90 POP DE Restore DE and BC from the stack.
EA91 POP BC
EA92 RET Return.
Prev: E9D9 Up: Map Next: EA93