Prev: 749A Up: Map Next: 759E
7508: Handler for the laser.
Used by the routine at Ship_Update.
Laser_Handler 7508 PUSH IX
750A PUSH IY
750C LD BC,(Item_ShipPosOffset)
7510 LD HL,Bg_Attr_From
7513 ADD HL,BC
7514 EX DE,HL
7515 LD HL,BgMap_Start0
7518 ADD HL,BC
7519 LD IX,Bomb2_Offset
751D LD IY,Bomb2_Colour
7521 LD A,$0A
7523 PUSH AF
Laser_Handler_0 7524 INC BC
7525 INC DE
7526 INC HL
7527 INC IX
7529 INC IX
752B INC IX
752D INC IX
752F INC IY
7531 INC IY
7533 LD A,(HL)
7534 CP $90 Start of landscape tiles.
7536 JR C,Laser_Handler_1
7538 CP $96 Landscape tiles.
753A JR C,Laser_Handler_6
Laser_Handler_1 753C LD (IX+$00),C Set up offset, tile and colour for a laser slot.
753F LD (IX+$01),B
7542 LD (IY+$00),$42
7546 LD (IY+$01),$9B
754A EX DE,HL
754B LD (HL),$42
754D EX DE,HL
754E CP $20
7550 JR NZ,Laser_Handler_2
7552 POP AF
7553 DEC A
7554 PUSH AF
7555 JR NZ,Laser_Handler_0
7557 JR Laser_Handler_6
Laser_Handler_2 7559 LD (IY+$00),$47
755D LD (IY+$01),$9A
7561 EX DE,HL
7562 LD (HL),$47
7564 EX DE,HL
7565 CP $98
7567 JR NZ,Laser_Handler_3
7569 CALL Score_AddTen
756C JR Laser_Handler_6
Laser_Handler_3 756E CP $97
7570 JR NZ,Laser_Handler_4
7572 CALL Score_Add100
7575 JR Laser_Handler_6
Laser_Handler_4 7577 CALL Score_Add20
757A LD HL,(Rocket1_Offset)
757D XOR A
757E SBC HL,BC
7580 JR NZ,Laser_Handler_5
7582 LD (Rocket1_Offset),HL
7585 JR Laser_Handler_6
Laser_Handler_5 7587 LD HL,(Rocket2_Offset)
758A XOR A
758B SBC HL,BC
758D JR NZ,Laser_Handler_6
758F LD (Rocket2_Offset),HL
Laser_Handler_6 7592 POP AF
7593 POP IY
7595 POP IX
7597 RET
7598 NOP
7599 NOP
759A NOP
759B NOP
759C NOP
759D NOP
Prev: 749A Up: Map Next: 759E