Prev: 28561 Up: Map Next: 28836
28668: Animate: Laser Beam
LaserBeam_Animate 28668 LD D,(IX+1)
28671 LD A,(IX+2)
28674 BIT 2,A
28676 JR Z,LaserBeam_Animate_3
28678 LD L,A
28679 LD A,8
28681 BIT 0,L
28683 JR Z,LaserBeam_Animate_0
28685 NEG
LaserBeam_Animate_0 28687 ADD A,L
28688 LD E,A
28689 LD H,D
28690 PUSH HL
28691 CALL ScreenAddress
28694 LD A,(IX+1)
28697 CP 128
28699 JR NC,LaserBeam_Animate_1
28701 LD A,(HL)
28702 AND A
28703 JR NZ,LaserBeam_Animate_5
LaserBeam_Animate_1 28705 LD (IX+2),E
28708 LD (HL),255
28710 POP HL
28711 CALL AttributeAddress
28714 LD A,(IX+7)
28717 LD (HL),A
28718 LD A,(IX+6)
28721 SUB 8
28723 LD (IX+6),A
28726 AND 248
28728 JR NZ,LaserBeam_Animate_3
LaserBeam_Animate_2 28730 RES 2,(IX+2)
LaserBeam_Animate_3 28734 EXX
28735 LD BC,796
28738 LD E,224
28740 EXX
28741 LD E,3
28743 PUSH IX
28745 POP BC
28746 INC BC
28747 INC BC
28748 INC BC
LaserBeam_Animate_4 28749 LD A,(BC)
28750 XOR (IX+2)
28753 AND 248
28755 JR NZ,LaserBeam_Animate_6
28757 EXX
28758 LD A,B
28759 LD B,C
28760 LD C,E
28761 EXX
28762 INC BC
28763 DEC E
28764 JR NZ,LaserBeam_Animate_4
28766 LD (IX+0),0
28770 RET
LaserBeam_Animate_5 28771 POP HL
28772 JR LaserBeam_Animate_2
LaserBeam_Animate_6 28774 LD A,(BC)
28775 BIT 2,A
28777 JR NZ,LaserBeam_Animate_7
28779 DEC (IX+6)
28782 LD A,(IX+6) A=(IX+$06)
28785 AND 7
28787 RET NZ
28788 LD A,(24014)
28791 AND 3
28793 OR 4
28795 OR (IX+6)
28798 LD (IX+6),A
28801 LD A,(BC)
28802 OR 4
28804 LD (BC),A
28805 RET
LaserBeam_Animate_7 28806 LD A,(BC)
28807 LD L,A
28808 LD A,8
28810 BIT 0,L
28812 JR Z,LaserBeam_Animate_8
28814 NEG
LaserBeam_Animate_8 28816 ADD A,L
28817 LD (BC),A
28818 LD H,D
28819 CALL ScreenAddress
28822 EXX
28823 LD A,B
28824 LD B,C
28825 LD C,E
28826 EXX
28827 CPL
28828 AND (HL)
28829 LD (HL),A
28830 INC BC
28831 DEC E
28832 JP NZ,LaserBeam_Animate_4
28835 RET
Prev: 28561 Up: Map Next: 28836