Prev: E004 Up: Map Next: E16A
E0E2: Routine at E0E2
Used by the routine at F43E.
E0E2 LD L,A L=A.
E0E3 LD ($E16B),HL Write HL to *E16B.
E0E6 LD A,($E761) A=*Tile_SpacesToMove.
E0E9 RRCA RRCA.
E0EA RRCA
E0EB LD ($E16D),A Write A to *E16D.
E0EE CALL $E0F2 Call E0F2.
E0F1 RET Return.
E0F2 LD HL,($E16B) HL=*E16B.
E0F5 LD A,$47 Write 47 to *E19E.
E0F7 LD ($E19E),A
E0FA LD A,$00 Write 00 to *E1A0.
E0FC LD ($E1A0),A
E0FF LD B,$02 B=02.
E101 PUSH BC Stash BC on the stack.
E102 LD B,$02 B=02.
E104 HALT Halt operation (suspend CPU until the next interrupt).
E105 PUSH BC Stash BC on the stack.
E106 LD A,($E16D) B=*E16D.
E109 LD B,A
E10A LD A,$05 A=05-B.
E10C SUB B
E10D CP $04 Jump to E115 if A is not equal to 04.
E10F JR NZ,$E115
E111 HALT Halt operation (suspend CPU until the next interrupt).
E112 HALT Halt operation (suspend CPU until the next interrupt).
E113 RLCA RLCA.
E114 RLCA
E115 RLCA
E116 RLCA
E117 RLCA
E118 INC A Increment A by one.
E119 LD ($E16A),A Write A to *E16A.
E11C PUSH BC Stash BC on the stack.
E11D LD A,(IX+$00) A=*IX+00.
E120 ADD A,H A+=H.
E121 LD B,A B=A.
E122 LD A,(IX+$01) A=*IX+01.
E125 ADD A,L A+=L.
E126 LD C,A C=A.
E127 CALL $E1D9 Call E1D9.
E12A LD A,(IX+$02) A=*IX+02.
E12D ADD A,H A+=H.
E12E LD B,A B=A.
E12F LD A,(IX+$03) A=*IX+03.
E132 ADD A,L A+=L.
E133 LD C,A C=A.
E134 CALL $E1D9 Call E1D9.
E137 LD A,(IX+$04) A=*IX+04.
E13A ADD A,H A+=H.
E13B LD B,A B=A.
E13C LD A,(IX+$05) A=*IX+05.
E13F ADD A,L A+=L.
E140 LD C,A C=A.
E141 CALL $E1D9 Call E1D9.
E144 POP BC Restore BC from the stack.
E145 DJNZ $E11C Decrease counter by one and loop back to E11C until counter is zero.
E147 LD A,$47 Write 47 to *E19E.
E149 LD ($E19E),A
E14C LD A,$08 Write 08 to *E1A0.
E14E LD ($E1A0),A
E151 LD HL,($E16B) HL=*E16B.
E154 POP BC Restore BC from the stack.
E155 DJNZ $E105 Decrease counter by one and loop back to E105 until counter is zero.
E157 LD A,$00 Write 00 to *E1A0.
E159 LD ($E1A0),A
E15C LD BC,$0006 IX+=0006.
E15F ADD IX,BC
E161 LD A,$45 Write 45 to *E19E.
E163 LD ($E19E),A
E166 POP BC Restore BC from the stack.
E167 DJNZ $E101 Decrease counter by one and loop back to E101 until counter is zero.
E169 RET Return.
Prev: E004 Up: Map Next: E16A