Prev: 60911 Up: Map Next: 61258
61025: Routine at EE61
Used by the routine at LevelComplete.
61025 LD A,128 Write 128 to *Time.
61027 LD (55354),A
61030 LD A,8 Write 8 to *55353.
61032 LD (55353),A
61035 CALL 61229 Call 61229.
61038 CALL 64157 Call 64157.
61041 LD HL,55353 HL=55353.
61044 BIT 3,(HL) Test bit 3 of *HL.
61046 JR NZ,61035 Jump to 61035 if is not zero.
61048 LD A,18 Write 18 to *DestinationCursor_Y_Position.
61050 LD (55340),A
61053 LD HL,61253 HL=61253.
61056 LD DE,1000 DE=1000.
61059 DEC DE Decrease DE by one.
61060 LD A,100 A=100.
61062 DEC A Decrease A by one.
61063 JR NZ,61062 Jump to 61062 if A is not zero.
61065 LD A,D Jump to 61059 if DE is not zero.
61066 OR E
61067 JR NZ,61059
61069 LD B,4 B=4.
61071 PUSH BC Stash BC on the stack.
61072 LD B,5 B=5.
61074 PUSH HL Stash HL and BC on the stack.
61075 PUSH BC
61076 LD A,(55340) Write *DestinationCursor_Y_Position to *Tile_Horizontal_Position.
61079 LD (59229),A
61082 LD A,(HL) A=*HL.
61083 LD (59230),A Write A to *Tile_Vertical_Position.
61086 SUB 10 A-=10.
61088 JR Z,61110 Jump to 61110 if A is zero.
61090 JP P,61104 Jump to 61104 P.
61093 NEG NEG.
61095 LD (59233),A Write A to *Tile_SpacesToMove.
61098 CALL MoveTile_Right Call MoveTile_Right.
61101 JP 61110 Jump to 61110.
61104 LD (59233),A Write A to *Tile_SpacesToMove.
61107 CALL MoveTile_Left Call MoveTile_Left.
61110 LD A,(55340) A=*DestinationCursor_Y_Position.
61113 SUB 18 A-=18.
61115 NEG NEG.
61117 INC A Increment A by one.
61118 LD (59233),A Write A to *Tile_SpacesToMove.
61121 CALL MoveTile_Down Call MoveTile_Down.
61124 LD B,4 B=4.
61126 LD A,1 Write 1 to *Tile_SpacesToMove.
61128 LD (59233),A
61131 PUSH BC Stash BC on the stack.
61132 LD A,18 Write 18 to *Tile_Horizontal_Position.
61134 LD (59229),A
61137 CALL MoveTile_Down Call MoveTile_Down.
61140 LD D,50 D=50.
61142 LD E,30 E=30.
61144 LD A,5 A=5.
61146 XOR %00010000 Flip bit 4.
61148 OUT (254),A Send to the speaker.
61150 LD B,D B=D.
61151 DJNZ 61151 Decrease counter by one and loop back to 61151 until counter is zero.
61153 DEC E Decrease E by one.
61154 JR NZ,61146 Jump to 61146 if E is not zero.
61156 POP BC Restore BC from the stack.
61157 DJNZ 61131 Decrease counter by one and loop back to 61131 until counter is zero.
61159 POP BC Restore BC and HL from the stack.
61160 POP HL
61161 INC HL Increment HL by one.
61162 DJNZ 61074 Decrease counter by one and loop back to 61074 until counter is zero.
61164 POP BC Restore BC from the stack.
61165 LD HL,61253 HL=61253.
61168 LD A,(55340) A=*DestinationCursor_Y_Position.
61171 SUB 4 A-=4.
61173 LD (55340),A Write A to *DestinationCursor_Y_Position.
61176 DJNZ 61071 Decrease counter by one and loop back to 61071 until counter is zero.
61178 LD DE,1000 DE=1000.
61181 DEC DE Decrease DE by one.
61182 LD A,100 A=100.
61184 DEC A Decrease A by one.
61185 JR NZ,61184 Jump to 61184 if A is not zero.
61187 LD A,D Jump to 61181 if DE is not zero.
61188 OR E
61189 JR NZ,61181
61191 LD A,69 A=INK: CYAN, PAPER: BLACK (BRIGHT) .
61193 LD (23209),A Write A to *23209 (attribute buffer location).
61196 LD (23210),A Write A to *23210 (attribute buffer location).
61199 LD (23211),A Write A to *23211 (attribute buffer location).
61202 LD (23212),A Write A to *23212 (attribute buffer location).
61205 LD A,128 Write 128 to *Time.
61207 LD (55354),A
61210 LD A,8 Write 8 to *55353.
61212 LD (55353),A
61215 CALL 61229 Call 61229.
61218 CALL 64214 Call 64214.
61221 LD HL,55353 HL=55353.
61224 BIT 3,(HL) Test bit 3 of *HL.
61226 JR NZ,61215 Jump to 61215 if A is not zero.
61228 RET Return.
61229 LD BC,1000 BC=1000.
61232 LD H,5 H=5.
61234 LD A,(HL) A=*HL.
61235 INC HL Increment HL by one.
61236 AND %00011000 Keep only bits 3-4.
61238 OR %00000101 Set bits 0, 2.
61240 OUT (254),A Send to the speaker.
61242 DEC BC Decrease BC by one.
61243 LD A,B Jump to 61234 if BC is not zero.
61244 OR C
61245 JR NZ,61234
61247 LD B,8 B=8.
61249 LD HL,(55372) HL=*55372.
61252 RET Return.
61253 LD A,(BC)
61254 LD C,18
61256 LD B,2
Prev: 60911 Up: Map Next: 61258