INVADE ;		* * * * * * * * * * * * *
 ;		*  PROGRAM BY KIM WATT  *
 ;		* BREEZE COMPUTING INC. *
 ;		*     P.O. BOX  1013    *
 ;		* BERKLEY, MICH.  48072 *
 ;		*    (313)  288-9422    *
 ;		* * * * * * * * * * * * *
 ;
 ;
 	ORG	7000H
 STACK	EQU	6F00H
 SAUPOS	DEFW	0
 SHPPOS	DEFW	0
 WAY	DEFW	1
 INAIR	DEFB	0
 SHTPOS	DEFW	0
 NUMBER	DEFB	0
 LEFT	DEFB	0
 PRINT	POP	DE
 PRINLP	LD	A,(DE)
 	OR	A
 	INC	DE
 	JR	Z,PRINDN
 	LD	(HL),A
 	INC	HL
 	JR	PRINLP
 PRINDN	PUSH	DE
 	RET
 CHRSET	LD	A,32
 	OUT	(0FFH),A
 	CALL	CLS
 	LD	A,96
 	OUT	(0FFH),A
 	LD	HL,CHRTBL
 	LD	DE,3C00H
 CHRLP	LD	A,(HL)
 	OR	A
 	JR	Z,SETDN
 	LD	(DE),A
 	INC	HL
 	INC	DE
 	JR	CHRLP
 SETDN	LD	A,160
 	OUT	(0FFH),A
 	RET
 CHRTBL	DEFW	8080H	;	80
 	DEFW	8080H
 	DEFW	8280H
 	DEFW	9E82H
 	DEFW	909EH
 	DEFW	809CH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A4C2H	;	81
 	DEFW	0A4A4H
 	DEFW	0BCBCH
 	DEFW	0FEDAH
 	DEFW	98FEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	82
 	DEFW	8080H
 	DEFW	0C080H
 	DEFW	0F8C0H
 	DEFW	88F8H
 	DEFW	80B8H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	83
 	DEFW	8080H
 	DEFW	0C080H
 	DEFW	0F8C0H
 	DEFW	88F8H
 	DEFW	808EH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	84
 	DEFW	8080H
 	DEFW	8280H
 	DEFW	9E82H
 	DEFW	909EH
 	DEFW	80F0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	85
 	DEFW	9080H
 	DEFW	0C6A8H
 	DEFW	868EH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	86
 	DEFW	8880H
 	DEFW	0E294H
 	DEFW	0E0F0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	87
 	DEFW	9880H
 	DEFW	0DABCH
 	DEFW	0E6FEH
 	DEFW	98BCH
 	DEFW	8098H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	88
 	DEFW	8080H
 	DEFW	0F080H
 	DEFW	0F0F0H
 	DEFW	88D0H
 	DEFW	8086H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	89
 	DEFW	8080H
 	DEFW	8E80H
 	DEFW	8E8EH
 	DEFW	908AH
 	DEFW	80E0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	8A
 	DEFW	8080H
 	DEFW	8280H
 	DEFW	8E86H
 	DEFW	8EF2H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	8B
 	DEFW	8080H
 	DEFW	0C080H
 	DEFW	0F0E0H
 	DEFW	0F0CEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	8C
 	DEFW	9880H
 	DEFW	0FEBCH
 	DEFW	0FEC2H
 	DEFW	0FE98H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0FEFEH	;	8D
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8E86H	;	8E
 	DEFW	0BE9EH
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	8F
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	9C88H	;	90
 	DEFW	8888H
 	DEFW	0BE9CH
 	DEFW	0BE88H
 	DEFW	8888H
 	DEFW	809CH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	9090H	;	91
 	DEFW	0B88CH
 	DEFW	0B88CH
 	DEFW	0B88CH
 	DEFW	0B88CH
 	DEFW	8888H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	92
 	DEFW	8080H
 	DEFW	0C0C0H
 	DEFW	0CEC6H
 	DEFW	80F0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	93
 	DEFW	8080H
 	DEFW	9890H
 	DEFW	0FEFEH
 	DEFW	8086H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	94
 	DEFW	9880H
 	DEFW	0BC98H
 	DEFW	0DAE6H
 	DEFW	0FEE6H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	95
 	DEFW	8080H
 	DEFW	9090H
 	DEFW	0FEFEH
 	DEFW	80E0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	96
 	DEFW	8080H
 	DEFW	8282H
 	DEFW	0F2E2H
 	DEFW	808EH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A280H	;	97
 	DEFW	0A4A8H
 	DEFW	0D48AH
 	DEFW	0BAAAH
 	DEFW	0A8D6H
 	DEFW	0A8D6H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8880H	;	98
 	DEFW	0C480H
 	DEFW	0C490H
 	DEFW	0AAC8H
 	DEFW	92D4H
 	DEFW	0A8D4H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	99
 	DEFW	82A0H
 	DEFW	0C490H
 	DEFW	8AA0H
 	DEFW	92C0H
 	DEFW	88C0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0F0E0H	;	9A
 	DEFW	0FCF8H
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	0FEFEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	80C4H	;	9B
 	DEFW	88C0H
 	DEFW	0A082H
 	DEFW	0A082H
 	DEFW	0C480H
 	DEFW	0C280H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A4C8H	;	9C
 	DEFW	0C892H
 	DEFW	92A4H
 	DEFW	0A4C8H
 	DEFW	0C892H
 	DEFW	92A4H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0AAD4H	;	9D
 	DEFW	0AAD4H
 	DEFW	0AAD4H
 	DEFW	0AAD4H
 	DEFW	0AAD4H
 	DEFW	0AAD4H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	80C0H	;	9E
 	DEFW	8280H
 	DEFW	80A0H
 	DEFW	8480H
 	DEFW	0A080H
 	DEFW	8280H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	9F
 	DEFW	82BEH
 	DEFW	8482H
 	DEFW	9088H
 	DEFW	0A0A0H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A0
 	DEFW	0A2BEH
 	DEFW	0A2A2H
 	DEFW	0A2BEH
 	DEFW	0A2A2H
 	DEFW	80A2H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A1
 	DEFW	0A2BCH
 	DEFW	0A2A2H
 	DEFW	0A2BCH
 	DEFW	0A2A2H
 	DEFW	80BCH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A2
 	DEFW	0A2BEH
 	DEFW	0A0A2H
 	DEFW	0A0A0H
 	DEFW	0A2A2H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A3
 	DEFW	0A0BEH
 	DEFW	0A0A0H
 	DEFW	0A0BCH
 	DEFW	0A0A0H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A4
 	DEFW	0A0BEH
 	DEFW	0A0A0H
 	DEFW	0A0BCH
 	DEFW	0A0A0H
 	DEFW	80A0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A5
 	DEFW	0A2BEH
 	DEFW	0A0A0H
 	DEFW	0A2AEH
 	DEFW	0A2A2H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A6
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	0A2BEH
 	DEFW	0A2A2H
 	DEFW	80A2H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A7
 	DEFW	8888H
 	DEFW	8888H
 	DEFW	8888H
 	DEFW	8888H
 	DEFW	8088H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A8
 	DEFW	0A2A2H
 	DEFW	0A4A2H
 	DEFW	0A4B8H
 	DEFW	0A2A2H
 	DEFW	80A2H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	A9
 	DEFW	0A0A0H
 	DEFW	0A0A0H
 	DEFW	0A0A0H
 	DEFW	0A0A0H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	AA
 	DEFW	0AAB6H
 	DEFW	0AAAAH
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	80A2H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	AB
 	DEFW	0B2A2H
 	DEFW	0BEBAH
 	DEFW	0A6AEH
 	DEFW	0A2A2H
 	DEFW	80A2H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	AC
 	DEFW	0A2BEH
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	AD
 	DEFW	0A2BEH
 	DEFW	0A2A2H
 	DEFW	0A0BEH
 	DEFW	0A0A0H
 	DEFW	80A0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	AE
 	DEFW	0A2BEH
 	DEFW	0A2A2H
 	DEFW	0A4BEH
 	DEFW	0A2A2H
 	DEFW	80A2H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	AF
 	DEFW	0A2BEH
 	DEFW	0A0A0H
 	DEFW	82BEH
 	DEFW	0A282H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	B0
 	DEFW	88BEH
 	DEFW	8888H
 	DEFW	8888H
 	DEFW	8888H
 	DEFW	8088H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	B1
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	B2
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	94A2H
 	DEFW	8088H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	B3
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	0AAA2H
 	DEFW	0AAAAH
 	DEFW	80B6H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	B4
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	88BEH
 	DEFW	8888H
 	DEFW	8088H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	B5
 	DEFW	8482H
 	DEFW	9088H
 	DEFW	9090H
 	DEFW	8488H
 	DEFW	8082H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	8080H	;	B6
 	DEFW	90A0H
 	DEFW	8488H
 	DEFW	8484H
 	DEFW	9088H
 	DEFW	80A0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A2BEH	;	B7
 	DEFW	0A0A2H
 	DEFW	0BEA0H
 	DEFW	8282H
 	DEFW	0A2A2H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A2BEH	;	B8
 	DEFW	0A2A2H
 	DEFW	0BEA2H
 	DEFW	0A0A0H
 	DEFW	0A0A0H
 	DEFW	80A0H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A2BEH	;	B9
 	DEFW	0A2A2H
 	DEFW	0BEA2H
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	80A2H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A2BEH	;	BA
 	DEFW	0A0A2H
 	DEFW	0A0A0H
 	DEFW	0A0A0H
 	DEFW	0A2A2H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A0BEH	;	BB
 	DEFW	0A0A0H
 	DEFW	0BCA0H
 	DEFW	0A0A0H
 	DEFW	0A0A0H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A2BEH	;	BC
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A0A0H	;	BD
 	DEFW	0A0A0H
 	DEFW	0A0A0H
 	DEFW	0A0A0H
 	DEFW	0A0A0H
 	DEFW	80BEH
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0B2A2H	;	BE
 	DEFW	0AEBAH
 	DEFW	0A6AEH
 	DEFW	0A2A2H
 	DEFW	0A2A2H
 	DEFW	80A2H
 	DEFW	8080H
 	DEFW	8080H
 	DEFW	0A2A2H	;	BF
 	DEFW	0A2A2H
 	DEFW	0BEA2H
 	DEFW	8888H
 	DEFW	8888H
 	DEFW	8088H
 	DEFW	8080H
 	DEFW	8080H
 	DEFB	0
 CLS	LD	HL,3C00H
 	LD	DE,3C01H
 	LD	BC,1023
 	LD	(HL),20H
 	LDIR
 	RET
 SETUP	CALL	CLS
 	LD	HL,3C00H+65
 	LD	B,28
 	LD	DE,5
 SETULP	LD	(HL),80H
 	INC	HL
 	LD	(HL),81H
 	INC	HL
 	LD	(HL),82H
 	INC	HL
 	ADD	HL,DE
 	LD	(HL),85H
 	INC	HL
 	LD	(HL),87H
 	INC	HL
 	LD	(HL),86H
 	INC	HL
 	ADD	HL,DE
 	DJNZ	SETULP
 	LD	HL,3C00H+64+55
 	LD	B,7
 	LD	DE,60
 ERALP	LD	(HL),20H
 	INC	HL
 	LD	(HL),20H
 	INC	HL
 	LD	(HL),20H
 	INC	HL
 	LD	(HL),20H
 	INC	HL
 	LD	(HL),20H
 	ADD	HL,DE
 	DJNZ	ERALP
 	LD	HL,3C00H+896+4
 	LD	B,6
 	LD	DE,5
 SETVLP	LD	(HL),8EH
 	INC	HL
 	LD	(HL),8DH
 	INC	HL
 	LD	(HL),8DH
 	INC	HL
 	LD	(HL),8DH
 	INC	HL
 	LD	(HL),9AH
 	INC	HL
 	ADD	HL,DE
 	DJNZ	SETVLP
 	LD	HL,0
 	LD	(SAUPOS),HL
 	LD	A,49
 	LD	(LEFT),A
 	LD	HL,800H
 	LD	(SPEED+1),HL
 	XOR	A
 	LD	(INAIR),A
 	LD	HL,1
 	LD	(WAY),HL
 SHIP	LD	HL,(SHPPOS)
 	CALL	PRINT
 	DEFB	92H
 	DEFB	93H
 	DEFB	94H
 	DEFB	95H
 	DEFB	96H
 	DEFB	0
 	RET
 ENTRY	DI
 	LD	SP,STACK
 	CALL	CHRSET
 	CALL	TITLE
 START	LD	SP,STACK
 	XOR	A
 	LD	(INAIR),A
 	LD	HL,3C00H+960+27
 	LD	(SHPPOS),HL
 	CALL	SETUP
 	LD	A,5
 	LD	(NUMBER),A
 	CALL	ZEROES
 LOOPER	LD	A,(LEFT)
 	CP	9
 	JR	C,ALOOP
 	CALL	MOVEM
 	CALL	TARSHT
 	LD	C,2
 LOOPT	LD	B,5
 	PUSH	BC
 	CALL	SHOTDN
 	CALL	SAUMOV
 	POP	BC
 LOOPS	PUSH	BC
 	CALL	SHPMOV
 	CALL	SHPFIR
 	CALL	SHOTUP
 SPEED	LD	BC,800H
 	CALL	SLOW
 	POP	BC
 	DJNZ	LOOPS
 	DEC	C
 	JR	NZ,LOOPT
 	JR	LOOPER
 ALOOP	LD	A,(LEFT)
 	CP	5
 	JR	Z,BLOOP
 	CALL	MOVEM
 	CALL	TARSHT
 	CALL	SHOTDN
 	CALL	SAUMOV
 	LD	B,3
 ALOOPS	PUSH	BC
 	CALL	SHPMOV
 	CALL	SHPFIR
 	CALL	SHOTUP
 	LD	BC,(SPEED+1)
 	CALL	SLOW
 	POP	BC
 	DJNZ	ALOOPS
 	JR	ALOOP
 BLOOP	LD	A,(LEFT)
 	CP	3
 	JR	C,CLOOP
 	CALL	SHPFIR
 	CALL	SHPMOV
 	CALL	SHOTUP
 	CALL	SHPMOV
 	CALL	SAUMOV
 	CALL	SHPFIR
 	CALL	SHOTUP
 	CALL	SHOTDN
 	CALL	TARSHT
 	CALL	SHPMOV
 	CALL	MOVEM
 	CALL	SHOTUP
 	JR	BLOOP
 CLOOP	LD	A,(LEFT)
 	CP	2
 	JR	C,DLOOP
 	CALL	SHPMOV
 	CALL	SHPFIR
 	CALL	MOVEM
 	CALL	SHOTUP
 	CALL	TARSHT
 	CALL	SHPMOV
 	CALL	MOVEM
 	CALL	SAUMOV
 	CALL	SHOTUP
 	CALL	SHOTDN
 	CALL	SHPMOV
 	CALL	SHOTUP
 	CALL	SHPFIR
 	JR	CLOOP
 DLOOP	CALL	MOVEM
 	CALL	SHPMOV
 	CALL	SHPFIR
 	CALL	TARSHT
 	CALL	SHOTUP
 	CALL	SAUMOV
 	CALL	MOVEM
 	CALL	SHPFIR
 	CALL	SHOTUP
 	CALL	SHOTDN
 	CALL	SHPMOV
 	CALL	SHOTUP
 	CALL	SHPFIR
 	JR	DLOOP
 SHPMOV	LD	A,(3840H)
 	AND	60H
 	RET	Z
 	PUSH	AF
 	CALL	NOSHIP
 	POP	AF
 	BIT	6,A
 	LD	HL,(SHPPOS)
 	LD	A,L
 	JR	NZ,SHPRHT
 	CP	0C1H
 	JR	Z,NONO1
 	DEC	HL
 NONO1	LD	(SHPPOS),HL
 	JP	SHIP
 SHPRHT	CP	0F9H
 	JR	Z,NONO1
 	INC	HL
 	JR	NONO1
 NOSHIP	LD	HL,(SHPPOS)
 	CALL	PRINT
 	DEFM	'     '
 	DEFB	0
 	RET
 SHPFIR	LD	A,(INAIR)
 	OR	A
 	RET	NZ
 	LD	A,(3801H)
 	OR	A
 	JR	NZ,FIRE
 	LD	A,(3802H)
 	OR	A
 	JR	NZ,FIRE
 	LD	A,(3804H)
 	OR	A
 	JR	NZ,FIRE
 	LD	A,(3808H)
 	OR	A
 	JR	NZ,FIRE
 	LD	A,(3810H)
 	OR	A
 	JR	NZ,FIRE
 	LD	A,(3820H)
 	OR	A
 	JR	NZ,FIRE
 	LD	A,(3840H)
 	BIT	7,A
 	RET	Z
 FIRE	CALL	SHOT
 	LD	HL,(SHPPOS)
 	LD	DE,-62
 	ADD	HL,DE
 	LD	A,(HL)
 	CP	20H
 	JR	NZ,BARRUP
 	LD	(HL),90H
 	LD	(SHTPOS),HL
 	LD	A,1
 	LD	(INAIR),A
 	RET
 BARRUP	CP	8EH
 	JR	Z,BAR1
 	CP	9AH
 	JR	Z,BAR1
 	CP	8DH
 	JR	Z,BAR1
 	CP	97H
 	JR	Z,BAR2
 	CP	98H
 	JR	Z,BAR3
 	CP	99H
 	JR	Z,BAR4
 	LD	(HL),9EH
 	RET
 BAR1	LD	(HL),97H
 	RET
 BAR2	LD	(HL),98H
 	RET
 BAR3	LD	(HL),99H
 	RET
 BAR4	LD	(HL),20H
 	RET
 WAYTST	LD	HL,3C00H+128
 	LD	DE,64
 	LD	B,12
 WAYLP1	LD	A,(HL)
 	CP	20H
 	JR	NZ,WAYR
 	ADD	HL,DE
 	DJNZ	WAYLP1
 	LD	HL,3C00H+191
 	LD	B,12
 WAYLP2	LD	A,(HL)
 	CP	20H
 	JR	NZ,WAYL
 	ADD	HL,DE
 	DJNZ	WAYLP2
 	RET
 WAYR	LD	HL,1
 	JR	WAYS
 WAYL	LD	HL,-1
 WAYS	LD	(WAY),HL
 	JP	TDOWN
 MOVEM	LD	A,(LEFT)
 	OR	A
 	PUSH	AF
 	CALL	Z,SETUP
 	POP	AF
 	JP	Z,LOOPER
 	CALL	WAYTST
 	LD	HL,3C00H
 MOVELP	LD	A,(HL)
 	CP	20H
 	JR	Z,MOVNXT
 	CP	80H
 	JR	Z,CRE1A
 	CP	84H
 	JR	Z,CRE1B
 	CP	85H
 	JR	Z,CRE2A
 	CP	89H
 	JR	Z,CRE2B
 	CP	9DH
 	JR	Z,BLOW1
 	CP	9CH
 	JR	Z,BLOW2
 	CP	9BH
 	JR	Z,BLOW3
 	CP	9EH
 	JR	Z,BLOW4
 MOVNXT	INC	HL
 	LD	A,H
 	CP	40H
 	RET	Z
 	JR	MOVELP
 BLOW1	LD	(HL),9CH
 	JR	MOVNXT
 BLOW2	LD	(HL),9BH
 	JR	MOVNXT
 BLOW3	LD	(HL),9EH
 	JR	MOVNXT
 BLOW4	LD	(HL),20H
 	JR	MOVNXT
 CRE1A	CALL	ERASE
 	LD	(HL),84H
 	INC	HL
 	LD	(HL),81H
 	INC	HL
 	LD	(HL),83H
 	JR	MOVNXT
 CRE1B	CALL	ERASE
 	LD	(HL),80H
 	INC	HL
 	LD	(HL),81H
 	INC	HL
 	LD	(HL),82H
 	JR	MOVNXT
 CRE2A	CALL	ERASE
 	LD	(HL),89H
 	INC	HL
 	LD	(HL),87H
 	INC	HL
 	LD	(HL),88H
 	JR	MOVNXT
 CRE2B	CALL	ERASE
 	LD	(HL),85H
 	INC	HL
 	LD	(HL),87H
 	INC	HL
 	LD	(HL),86H
 	JR	MOVNXT
 ERASE	PUSH	HL
 	LD	(HL),20H
 	INC	HL
 	LD	(HL),20H
 	INC	HL
 	LD	(HL),20H
 	POP	DE
 	LD	HL,(WAY)
 	ADD	HL,DE
 	PUSH	HL
 	LD	A,(HL)
 	CP	90H
 	JR	Z,SIDEHT
 	INC	HL
 	LD	A,(HL)
 	CP	90H
 	JR	Z,SIDEHT
 	INC	HL
 	LD	A,(HL)
 	CP	90H
 	JR	Z,SIDEHT
 	POP	HL
 	RET
 SIDEHT	POP	HL
 	LD	(HL),9DH
 	INC	HL
 	LD	(HL),9DH
 	INC	HL
 	LD	(HL),9DH
 	POP	DE
 	CALL	SCORE
 	CALL	LESS1
 	JP	MOVNXT
 SHOTUP	LD	A,(INAIR)
 	OR	A
 	RET	Z
 	LD	HL,(SHTPOS)
 	LD	DE,-64
 	LD	(HL),20H
 	ADD	HL,DE
 	LD	A,H
 	CP	3BH
 	JR	Z,TOOFAR
 	LD	A,(HL)
 	CP	20H
 	JR	NZ,HITONE
 	LD	(HL),90H
 	LD	(SHTPOS),HL
 	RET
 TOOFAR	LD	DE,64
 	ADD	HL,DE
 	LD	(HL),9BH
 	XOR	A
 	LD	(INAIR),A
 	RET
 HITONE	CP	80H
 	JR	Z,HIT1L
 	CP	84H
 	JR	Z,HIT1L
 	CP	85H
 	JR	Z,HIT1L
 	CP	89H
 	JR	Z,HIT1L
 	CP	8AH
 	JR	Z,HIT5L
 	CP	81H
 	JR	Z,HIT1M
 	CP	87H
 	JR	Z,HIT1M
 	CP	8CH
 	JR	Z,HIT5M
 	CP	82H
 	JR	Z,HIT1R
 	CP	83H
 	JR	Z,HIT1R
 	CP	86H
 	JR	Z,HIT1R
 	CP	88H
 	JR	Z,HIT1R
 	CP	8BH
 	JR	Z,HIT5R
 	LD	(HL),9EH
 	XOR	A
 	LD	(INAIR),A
 	RET
 HIT1L	CALL	SCORE
 	CALL	LESS1
 	JR	HITL
 HIT5L	CALL	SCORE
 	CALL	SCORE
 	CALL	SCORE
 	CALL	SCORE
 	CALL	SCORE
 	CALL	LESAUS
 	JR	HITL
 HIT1R	CALL	SCORE
 	CALL	LESS1
 	JR	HITR
 HIT5R	CALL	SCORE
 	CALL	SCORE
 	CALL	SCORE
 	CALL	SCORE
 	CALL	SCORE
 	CALL	LESAUS
 	JR	HITR
 HIT1M	CALL	SCORE
 	CALL	LESS1
 	JR	HITM
 HIT5M	CALL	SCORE
 	CALL	SCORE
 	CALL	SCORE
 	CALL	SCORE
 	CALL	SCORE
 	CALL	LESAUS
 	JR	HITM
 HITL	LD	(HL),9DH
 	INC	HL
 	LD	(HL),9DH
 	INC	HL
 	LD	(HL),9DH
 	RET
 HITR	DEC	HL
 	DEC	HL
 	JR	HITL
 HITM	DEC	HL
 	JR	HITL
 SCORIT	LD	A,(HL)
 	INC	A
 	CP	3AH
 	JR	Z,SCORNX
 	LD	(HL),A
 	RET
 SCORNX	LD	A,'0'
 	LD	(HL),A
 	DEC	HL
 	JR	SCORIT
 TARSHT	LD	A,R
 	LD	H,A
 	LD	A,(HL)
 	RLCA
 	LD	L,A
 	LD	A,(HL)
 	ADD	A,C
 	RRCA
 	AND	7
 	RET	Z
 	LD	B,A
 	LD	A,(LEFT)
 	CP	B
 	JR	NC,SHOOT
 	RES	2,B
 	CP	B
 	JR	NC,SHOOT
 	RES	1,B
 	CP	B
 	JR	NC,SHOOT
 	RET
 SHOOT	LD	A,B
 	OR	A
 	RET	Z
 	LD	HL,3C00H+959
 SHFIND	LD	A,(HL)
 	CP	81H
 	JR	Z,GOTIT
 	CP	87H
 	JR	Z,GOTIT
 	DEC	HL
 	LD	A,H
 	CP	3BH
 	RET	Z
 	JR	SHFIND
 GOTIT	DEC	HL
 	DJNZ	SHFIND
 	LD	DE,65
 	ADD	HL,DE
 	LD	A,H
 	CP	40H
 	RET	Z
 	LD	A,(HL)
 UPCONT	CP	81H
 	RET	Z
 	CP	87H
 	RET	Z
 	CP	80H
 	RET	Z
 	CP	85H
 	RET	Z
 	CP	82H
 	RET	Z
 	CP	86H
 	RET	Z
 	CP	84H
 	RET	Z
 	CP	89H
 	RET	Z
 	CP	83H
 	RET	Z
 	CP	88H
 	RET	Z
 	CP	90H
 	JR	Z,SHOTHT
 	CP	92H
 	JR	Z,SHPHIT
 	CP	93H
 	JR	Z,SHPHIT
 	CP	94H
 	JR	Z,SHPHIT
 	CP	95H
 	JR	Z,SHPHIT
 	CP	96H
 	JR	Z,SHPHIT
 	CP	90H
 	JR	Z,SHOTHT
 	CP	20H
 	JP	NZ,BARRUP
 	LD	(HL),91H
 	RET
 SHOTHT	LD	(HL),9EH
 	XOR	A
 	LD	(INAIR),A
 	RET
 SHPHIT	DEC	HL
 	DEC	HL
 	DEC	HL
 	DEC	HL
 	PUSH	HL
 	CALL	PRINT
 	DEFW	9D9DH
 	DEFW	9D9DH
 	DEFW	9D9DH
 	DEFW	9D9DH
 	DEFW	9D9DH
 	DEFB	0
 	LD	BC,1800H
 	CALL	SLOW
 	POP	HL
 	PUSH	HL
 	CALL	PRINT
 	DEFW	9C9CH
 	DEFW	9C9CH
 	DEFW	9C9CH
 	DEFW	9C9CH
 	DEFW	9C9CH
 	DEFB	0
 	LD	BC,1800H
 	CALL	SLOW
 	POP	HL
 	PUSH	HL
 	CALL	PRINT
 	DEFW	9B9BH
 	DEFW	9B9BH
 	DEFW	9B9BH
 	DEFW	9B9BH
 	DEFW	9B9BH
 	DEFB	0
 	LD	BC,1800H
 	CALL	SLOW
 	POP	HL
 	CALL	PRINT
 	DEFW	9E9EH
 	DEFW	9E9EH
 	DEFW	9E9EH
 	DEFW	9E9EH
 	DEFW	9E9EH
 	DEFB	0
 	LD	BC,1800H
 	CALL	SLOW
 	LD	A,(NUMBER)
 	DEC	A
 	LD	(NUMBER),A
 	JP	Z,GAMEOV
 	JP	SHIP
 SHOTDN	LD	HL,3C00H+1023
 DOWNLP	LD	A,(HL)
 	CP	91H
 	JR	NZ,DOWNEX
 	PUSH	HL
 	LD	(HL),20H
 	LD	DE,64
 	ADD	HL,DE
 	LD	A,H
 	CP	40H
 	JR	Z,SMASH
 	LD	A,(HL)
 	CP	20H
 	JR	Z,NOCONT
 	CP	90H
 	JR	Z,ASHOTS
 	CALL	UPCONT
 	JR	PACONT
 NOCONT	LD	(HL),91H
 PACONT	POP	HL
 DOWNEX	DEC	HL
 	LD	A,H
 	CP	3BH
 	RET	Z
 	JR	DOWNLP
 SMASH	POP	HL
 	LD	(HL),9BH
 	JR	DOWNEX
 ASHOTS	LD	(HL),9EH
 	POP	HL
 	XOR	A
 	LD	(INAIR),A
 	JR	DOWNEX
 LESS1	LD	A,(LEFT)
 	DEC	A
 	LD	(LEFT),A
 	PUSH	HL
 	PUSH	DE
 	LD	HL,(SPEED+1)
 	LD	DE,-40
 	ADD	HL,DE
 	LD	(SPEED+1),HL
 	POP	DE
 	POP	HL
 	CALL	HIT
 	XOR	A
 	LD	(INAIR),A
 	RET
 SAUMOV	LD	HL,(SAUPOS)
 	LD	A,H
 	OR	L
 	JR	Z,PUTSAU
 	PUSH	HL
 	CALL	PRINT
 	DEFM	'   '
 	DEFB	0
 	POP	HL
 	DEC	HL
 	DEC	HL
 	LD	A,H
 	CP	3BH
 	JR	Z,NOSAUS
 	LD	(SAUPOS),HL
 DRAWSA	CALL	PRINT
 	DEFB	8AH
 	DEFB	8CH
 	DEFB	8BH
 	DEFB	0
 	RET
 NOSAUS	LD	HL,0
 	LD	(SAUPOS),HL
 	RET
 PUTSAU	LD	A,R
 	LD	H,A
 	LD	A,R
 	RLCA
 	LD	L,A
 	LD	A,(HL)
 	AND	3
 	RET	Z
 	LD	HL,3C00H+59
 	LD	(SAUPOS),HL
 	JR	DRAWSA
 LESAUS	XOR	A
 	LD	(SAUPOS),A
 	LD	(SAUPOS+1),A
 	LD	(INAIR),A
 	JP	SHIT
 TDOWN	LD	HL,3C00H+832
 	LD	B,64
 CKLOOP	LD	A,(HL)
 	CP	81H
 	JP	Z,GAMEOV
 	CP	87H
 	JP	Z,GAMEOV
 	INC	HL
 	DJNZ	CKLOOP
 	LD	HL,3C00H+831
 TDLOOP	LD	A,(HL)
 	CP	87H
 	CALL	Z,CBDOWN
 	CP	81H
 	CALL	Z,CADOWN
 TDCONT	DEC	HL
 	LD	A,H
 	CP	3BH
 	JR	NZ,TDLOOP
 	RET
 CADOWN	PUSH	HL
 	DEC	HL
 	CALL	ERASE1
 	POP	HL
 	PUSH	HL
 	LD	DE,63
 	ADD	HL,DE
 	PUSH	HL
 	LD	A,(HL)
 	CP	90H
 	JR	Z,GOTHIT
 	INC	HL
 	LD	A,(HL)
 	CP	90H
 	JR	Z,GOTHIT
 	INC	HL
 	LD	A,(HL)
 	CP	90H
 	JR	Z,GOTHIT
 	POP	HL
 	CALL	PRINT
 	DEFB	80H
 	DEFB	81H
 	DEFB	82H
 	DEFB	0
 	POP	HL
 	RET
 CBDOWN	PUSH	HL
 	DEC	HL
 	CALL	ERASE1
 	POP	HL
 	PUSH	HL
 	LD	DE,63
 	ADD	HL,DE
 	PUSH	HL
 	LD	A,(HL)
 	CP	90H
 	JR	Z,GOTHIT
 	INC	HL
 	LD	A,(HL)
 	CP	90H
 	JR	Z,GOTHIT
 	INC	HL
 	LD	A,(HL)
 	CP	90H
 	JR	Z,GOTHIT
 	POP	HL
 	CALL	PRINT
 	DEFB	85H
 	DEFB	87H
 	DEFB	86H
 	DEFB	0
 	POP	HL
 	RET
 ERASE1	CALL	PRINT
 	DEFM	'   '
 	DEFB	0
 	RET
 GOTHIT	POP	HL
 	CALL	PRINT
 	DEFB	9DH
 	DEFB	9DH
 	DEFB	9DH
 	DEFB	0
 	CALL	SCORE
 	CALL	LESS1
 	POP	HL
 	POP	DE
 	JR	TDCONT
 TITLE	CALL	CLS
 	CALL	DISPLY
 	DEFB	3
 	DEFW	0
 	DEFW	0A3B3H
 	DEFW	0A2A9H
 	DEFW	0AAACH
 	DEFW	20A3H
 	DEFW	0ACB0H
 	DEFB	20H
 	DEFW	0B8B7H
 	DEFW	0BAB9H
 	DEFW	20BBH
 	DEFW	0BCBAH
 	DEFW	0BCBDH
 	DEFW	0BFBEH
 	DEFW	0A120H
 	DEFW	20B4H
 	DEFW	0A7A8H
 	DEFW	20AAH
 	DEFW	0A0B3H
 	DEFW	0B0B0H
 	DEFB	3
 	DEFW	64
 	DEFW	0ACA2H
 	DEFW	0B4ADH
 	DEFW	0A7AEH
 	DEFW	0A6A5H
 	DEFW	20B0H
 	DEFW	0A2B5H
 	DEFW	20B6H
 	DEFM	'1980 '
 	DEFW	0AEA1H
 	DEFW	0A3A3H
 	DEFW	0A39FH
 	DEFW	0A220H
 	DEFW	0AAACH
 	DEFW	0B1ADH
 	DEFW	0A7B0H
 	DEFW	0A5ABH
 	DEFW	0A720H
 	DEFW	0A2ABH
 	DEFB	3
 	DEFW	256
 	DEFW	0AFB1H
 	DEFW	20A3H
 	DEFW	0A6B0H
 	DEFW	20A3H
 	DEFW	0A7AEH
 	DEFW	0A6A5H
 	DEFW	20B0H
 	DEFW	0AEACH
 	DEFW	0A920H
 	DEFW	0A4A3H
 	DEFW	20B0H
 	DEFW	0AEA0H
 	DEFW	0ACAEH
 	DEFW	20B3H
 	DEFW	0A3A8H
 	DEFW	0AFB4H
 	DEFW	0B020H
 	DEFW	20ACH
 	DEFW	0ACAAH
 	DEFW	0A3B2H
 	DEFW	0B020H
 	DEFW	0A3A6H
 	DEFW	0AF20H
 	DEFW	0A7A6H
 	DEFB	0ADH
 	DEFB	3
 	DEFW	320
 	DEFW	0AFB1H
 	DEFW	20A3H
 	DEFW	0A6B0H
 	DEFW	20A3H
 	DEFW	0ADAFH
 	DEFW	0A2A0H
 	DEFW	20A3H
 	DEFW	0A0A1H
 	DEFW	20AEH
 	DEFW	0ACB0H
 	DEFW	0A420H
 	DEFW	0AEA7H
 	DEFW	20A3H
 	DEFW	0A7AAH
 	DEFW	0AFAFH
 	DEFW	0A9A7H
 	DEFW	0AFA3H
 	DEFB	3
 	DEFW	448
 	DEFW	0A6B0H
 	DEFW	20A3H
 	DEFW	0A0A5H
 	DEFW	0A3AAH
 	DEFW	0A720H
 	DEFW	20AFH
 	DEFW	0B2ACH
 	DEFW	0AEA3H
 	DEFW	0B320H
 	DEFW	0A3A6H
 	DEFW	20ABH
 	DEFW	0A6B0H
 	DEFW	20A3H
 	DEFW	0AEA2H
 	DEFW	0A0A3H
 	DEFW	0B1B0H
 	DEFW	0A3AEH
 	DEFW	20AFH
 	DEFW	0A3AEH
 	DEFW	0A2A0H
 	DEFW	20A6H
 	DEFW	0A6B0H
 	DEFW	20A3H
 	DEFW	0A9A1H
 	DEFW	0A2ACH
 	DEFW	0AFA8H
 	DEFB	3
 	DEFW	512
 	DEFW	0AEACH
 	DEFW	0B420H
 	DEFW	0B1ACH
 	DEFW	20AEH
 	DEFW	0A6AFH
 	DEFW	0ADA7H
 	DEFW	0A720H
 	DEFW	20AFH
 	DEFW	0A7A6H
 	DEFW	20B0H
 	DEFW	0A7A4H
 	DEFW	0A3B2H
 	DEFW	0B020H
 	DEFW	0AAA7H
 	DEFW	0AFA3H
 	DEFB	3
 	DEFW	640
 	DEFW	0AEA2H
 	DEFW	0A0A3H
 	DEFW	0B1B0H
 	DEFW	0A3AEH
 	DEFW	20AFH
 	DEFW	0AEA0H
 	DEFW	20A3H
 	DEFW	0ACB3H
 	DEFW	0B0AEH
 	DEFW	20A6H
 	DEFM	'100 '
 	DEFW	0ACADH
 	DEFW	0ABA7H
 	DEFW	0AFB0H
 	DEFB	3
 	DEFW	704
 	DEFW	0ADAFH
 	DEFW	0A2A0H
 	DEFW	20A3H
 	DEFW	0A0AFH
 	DEFW	0A2B1H
 	DEFW	0AEA3H
 	DEFW	0A720H
 	DEFW	20AFH
 	DEFW	0ACB3H
 	DEFW	0B0AEH
 	DEFW	20A6H
 	DEFM	'500 '
 	DEFW	0ACADH
 	DEFW	0ABA7H
 	DEFW	0AFB0H
 	DEFB	3
 	DEFW	896
 	DEFW	0AEADH
 	DEFW	0AFA3H
 	DEFW	20AFH
 	DEFW	0A3B5H
 	DEFW	0B0ABH
 	DEFW	0AEA3H
 	DEFW	20B6H
 	DEFW	0ACB0H
 	DEFW	0A120H
 	DEFW	0A5A3H
 	DEFW	0ABA7H
 	DEFB	0
 	LD	BC,0
 	CALL	SLOW
 WAIT	LD	A,(3840H)
 	BIT	0,A
 	JR	Z,WAIT
 	RET
 DISPLY	POP	DE
 DISLP	LD	A,(DE)
 	INC	DE
 	OR	A
 	JR	Z,DISDN
 	CP	3
 	JR	Z,DISPLC
 	LD	(HL),A
 	INC	HL
 	JR	DISLP
 DISDN	PUSH	DE
 	RET
 DISPLC	LD	A,(DE)
 	LD	L,A
 	INC	DE
 	LD	A,(DE)
 	LD	H,A
 	LD	BC,3C00H
 	ADD	HL,BC
 	INC	DE
 	JR	DISLP
 SLOW	DEC	BC
 	LD	A,B
 	OR	C
 	RET	Z
 	JR	SLOW
 GAMEOV	CALL	CLS
 	CALL	DISPLY
 	DEFB	3
 	DEFW	0
 	DEFW	0A0A5H
 	DEFW	0A3AAH
 	DEFW	0AC20H
 	DEFW	0A3B2H
 	DEFB	0AEH
 	DEFB	3
 	DEFW	128
 	DEFW	0ACB4H
 	DEFW	20B1H
 	DEFW	0ACB0H
 	DEFW	0A8ACH
 	DEFB	20H
 SHOTS	DEFM	'000000 '
 	DEFW	0A6AFH
 	DEFW	0B0ACH
 	DEFB	0AFH
 	DEFB	3
 	DEFW	256
 HITS	DEFM	'0000 '
 	DEFW	0A7A6H
 	DEFW	0AFB0H
 	DEFW	0AC20H
 	DEFW	20ABH
 	DEFW	0AEA2H
 	DEFW	0A0A3H
 	DEFW	0B1B0H
 	DEFW	0A3AEH
 	DEFB	0AFH
 	DEFB	3
 	DEFW	320
 SHITS	DEFM	'0000 '
 	DEFW	0A7A6H
 	DEFW	0AFB0H
 	DEFW	0AC20H
 	DEFW	20ABH
 	DEFW	0A0AFH
 	DEFW	0A2B1H
 	DEFW	0AEA3H
 	DEFB	0AFH
 	DEFB	3
 	DEFW	512
 	DEFW	0ACB4H
 	DEFW	0AEB1H
 	DEFW	0AF20H
 	DEFW	0ACA2H
 	DEFW	0A3AEH
 	DEFW	0A720H
 	DEFW	20AFH
 CSCORE	DEFM	'00000000 '
 	DEFB	3
 	DEFW	704
 	DEFW	0AEADH
 	DEFW	0AFA3H
 	DEFW	20AFH
 	DEFW	0A3B5H
 	DEFW	0B0ABH
 	DEFW	0AEA3H
 	DEFW	20B6H
 	DEFW	0ACB0H
 	DEFW	0AD20H
 	DEFW	0A0A9H
 	DEFW	20B4H
 	DEFW	0A5A0H
 	DEFW	0A7A0H
 	DEFB	0ABH
 	DEFB	0
 	LD	BC,0
 	CALL	SLOW
 WAIT2	LD	A,(3840H)
 	BIT	0,A
 	JR	Z,WAIT2
 	JP	START
 SCORE	PUSH	HL
 	LD	HL,CSCORE+5
 	CALL	SCORIT
 	POP	HL
 	RET
 HIT	PUSH	HL
 	LD	HL,HITS+3
 	CALL	SCORIT
 	POP	HL
 	XOR	A
 	LD	(INAIR),A
 	RET
 SHIT	PUSH	HL
 	LD	HL,SHITS+3
 	CALL	SCORIT
 	POP	HL
 	XOR	A
 	LD	(INAIR),A
 	RET
 SHOT	PUSH	HL
 	LD	HL,SHOTS+5
 	CALL	SCORIT
 	POP	HL
 	RET
 ZEROES	LD	HL,CSCORE
 	CALL	ZERO2
 	LD	HL,SHOTS
 	CALL	ZERO2
 	LD	HL,HITS
 	CALL	ZERO
 	LD	HL,SHITS
 ZERO	LD	B,4
 ZEROLP	LD	(HL),'0'
 	INC	HL
 	DJNZ	ZEROLP
 	RET
 ZERO2	LD	B,6
 	JR	ZEROLP
 	END	ENTRY
SCORE
 	CALL	ZERO2
 	LD	HL,SHOTS
 	CALL	ZERO2
 	LD	HL,HITS
 	CALL	ZERO
 	LD	HL,SHITS
 ZERO	LD	B,