Prev: E320 Up: Map Next: E396
E352: Routine at E352
Used by the routines at F255, Handler_Bombs and F43E.
E352 LD A,R Set the low byte in L to the contents of the Memory Refresh Register.
E354 LD L,A
E355 LD H,$C8 Set the high byte in H to C8.
E357 LD B,$32 Set a loop counter in B to 32.
E359 LD D,$05 Set a delay counter in D of 05.
E35B LD A,(HL) A=*HL.
E35C AND %00011000 Keep only bits 3-4.
E35E OR %00000101 Set bits 0, 2.
E360 OUT ($FE),A Set border to the colour held by A.
E362 INC HL Increment HL by one.
E363 PUSH BC Stash the loop counter on the stack.
E364 LD B,D Set the delay loop counter.
Delay_Loop_01 E365 DJNZ Delay_Loop_01 Decrease the delay counter by one and loop back to Delay_Loop_01 until the delay counter is zero.
E367 POP BC Restore the loop counter from the stack.
E368 DJNZ $E35B Decrease the loop counter by one and loop back to E35B until the loop counter is zero.
E36A HALT Halt operation (suspend CPU until the next interrupt) twice.
E36B HALT
E36C CALL Handler_PlayerInput Call Handler_PlayerInput.
E36F CP $01 Return if the player has pressed any direction key.
E371 RET Z
E372 CP $02
E374 RET Z
E375 CP $04
E377 RET Z
E378 CP $08
E37A RET Z
E37B HALT Halt operation (suspend CPU until the next interrupt) twice.
E37C HALT
E37D LD A,R Set the low byte in L to the contents of the Memory Refresh Register.
E37F LD L,A
E380 LD H,$0A Set the high byte in H to 0A.
E382 LD B,$23 Set a loop counter in B to 23.
E384 LD C,$64 Set a delay counter in C this time of 64.
E386 LD A,(HL) A=*HL.
E387 AND %00011000 Keep only bits 3-4.
E389 OR %00000101 Set bits 0, 2.
E38B OUT ($FE),A Set border to the colour held by A.
E38D INC HL Increment HL by one.
E38E PUSH BC Stash the loop counter on the stack.
E38F LD B,C Set the delay loop counter.
Delay_Loop_02 E390 DJNZ Delay_Loop_02 Decrease the delay counter by one and loop back to Delay_Loop_02 until the delay counter is zero.
E392 POP BC Restore the loop counter from the stack.
E393 DJNZ $E386 Decrease the loop counter by one and loop back to E386 until the loop counter is zero.
E395 RET Return.
Prev: E320 Up: Map Next: E396