Prev: 54413 Up: Map Next: 54591
54423: Routine at 54423
Used by the routine PLAY_GAME.
Input
This routine might handle collision detection
L54423 54423 LD HL,(59671)
54426 LD DE,3020
54429 AND A Clear carry flag
54430 SBC HL,DE
54432 RET NC
54433 LD A,(59786)
54436 AND A
54437 RET NZ
54438 LD A,(59671)
54441 RRA
54442 RET C
54443 CALL L58863
54446 AND 7
54448 LD C,A
54449 LD B,0
54451 LD HL,60357
54454 ADD HL,BC
54455 LD A,(HL)
54456 CP 127
54458 RET NZ
54459 LD B,3 Prepare to loop 3 times
54461 LD IX,60045 Point IX at ENEMY_DATA
L54423_0 54465 LD A,(IX+2) Get enemy status byte
54468 CP 255
54470 JP Z,L54423_1 This enemy is disabled, skip to 54481
54473 LD DE,4
54476 ADD IX,DE Point IX at next enemy
54478 DJNZ L54423_0 Loop 3 times
54480 RET
L54423_1 54481 SLA C
54483 SLA C
54485 LD (IX+0),C
54488 LD (IX+1),64
54492 LD (IX+2),0
54496 LD A,(59673)
54499 AND A
54500 JP NZ,L54423_3
54503 CALL L58863
54506 AND 1
L54423_2 54508 LD (IX+3),A
54511 RET
L54423_3 54512 CP 1
54514 JP NZ,L54423_4
54517 CALL L58863
54520 AND 3
54522 CP 3
54524 JP NZ,L54423_2
54527 DEC A
54528 JP L54423_2
L54423_4 54531 CP 2
54533 JP NZ,L54423_5
54536 CALL L58863
54539 AND 3
54541 JP L54423_2
L54423_5 54544 CP 3
54546 JP NZ,L54423_6
54549 CALL L58863
54552 LD B,0
54554 RRA
54555 RL B
54557 AND 3
54559 ADD A,B
54560 JP L54423_2
L54423_6 54563 CP 4
54565 JP NZ,L54423_7
54568 CALL L58863
54571 AND 7
54573 CP 6
54575 JP C,L54423_2
54578 LD A,5
54580 JP L54423_2
L54423_7 54583 CALL L58863
54586 AND 7
54588 JP L54423_2
Prev: 54413 Up: Map Next: 54591