Prev: 6F91 Up: Map Next: 70A4
6FFC: Animate: Laser Beam
LaserBeam_Animate 6FFC LD D,(IX+$01)
6FFF LD A,(IX+$02)
7002 BIT 2,A
7004 JR Z,LaserBeam_Animate_3
7006 LD L,A
7007 LD A,$08
7009 BIT 0,L
700B JR Z,LaserBeam_Animate_0
700D NEG
LaserBeam_Animate_0 700F ADD A,L
7010 LD E,A
7011 LD H,D
7012 PUSH HL
7013 CALL ScreenAddress
7016 LD A,(IX+$01)
7019 CP $80
701B JR NC,LaserBeam_Animate_1
701D LD A,(HL)
701E AND A
701F JR NZ,LaserBeam_Animate_5
LaserBeam_Animate_1 7021 LD (IX+$02),E
7024 LD (HL),$FF
7026 POP HL
7027 CALL AttributeAddress
702A LD A,(IX+$07)
702D LD (HL),A
702E LD A,(IX+$06)
7031 SUB $08
7033 LD (IX+$06),A
7036 AND $F8
7038 JR NZ,LaserBeam_Animate_3
LaserBeam_Animate_2 703A RES 2,(IX+$02)
LaserBeam_Animate_3 703E EXX
703F LD BC,$031C
7042 LD E,$E0
7044 EXX
7045 LD E,$03
7047 PUSH IX
7049 POP BC
704A INC BC
704B INC BC
704C INC BC
LaserBeam_Animate_4 704D LD A,(BC)
704E XOR (IX+$02)
7051 AND $F8
7053 JR NZ,LaserBeam_Animate_6
7055 EXX
7056 LD A,B
7057 LD B,C
7058 LD C,E
7059 EXX
705A INC BC
705B DEC E
705C JR NZ,LaserBeam_Animate_4
705E LD (IX+$00),$00
7062 RET
LaserBeam_Animate_5 7063 POP HL
7064 JR LaserBeam_Animate_2
LaserBeam_Animate_6 7066 LD A,(BC)
7067 BIT 2,A
7069 JR NZ,LaserBeam_Animate_7
706B DEC (IX+$06)
706E LD A,(IX+$06) A=(IX+$06)
7071 AND $07
7073 RET NZ
7074 LD A,($5DCE)
7077 AND $03
7079 OR $04
707B OR (IX+$06)
707E LD (IX+$06),A
7081 LD A,(BC)
7082 OR $04
7084 LD (BC),A
7085 RET
LaserBeam_Animate_7 7086 LD A,(BC)
7087 LD L,A
7088 LD A,$08
708A BIT 0,L
708C JR Z,LaserBeam_Animate_8
708E NEG
LaserBeam_Animate_8 7090 ADD A,L
7091 LD (BC),A
7092 LD H,D
7093 CALL ScreenAddress
7096 EXX
7097 LD A,B
7098 LD B,C
7099 LD C,E
709A EXX
709B CPL
709C AND (HL)
709D LD (HL),A
709E INC BC
709F DEC E
70A0 JP NZ,LaserBeam_Animate_4
70A3 RET
Prev: 6F91 Up: Map Next: 70A4