	NAM	A S T R O I D E
*	===============


*	(C) SEPTEMBER 1981
*	HANS-DIRK GERKEN
*	BEIM LETZTEN HELLER 17
*	2160 STADE
*
* W. Schwotzer	09.06.85
*
* MIT ZUSATZ FUER DIGITALEN JOYSTICK

	ORG	$A000

SCREN1	EQU	$EF42
MMURAM	EQU	$EFE0
MMU	EQU	$FFE0
TPIAD	EQU	$FCF0
TPIAC	EQU	$FCF1
JPIAD	EQU	$FCFA
JPIAC	EQU	$FCFB
DRISEL	EQU	$FD38
SWITCH	EQU	$F036
SWTCHB	EQU	$F038
WARMS	EQU	$CD03
DIREKT	EQU	$A0	DIREKT-PAGE
ASTFIG	EQU	$B000	ASTROIDE-BILDER
SCHFIG	EQU	$B600	SCHIFFS-BILDER
TEXFIG	EQU	$BA00	TEXT-BILD
ESC	EQU	$1B
JVERZ	EQU	2
SVERZ	EQU	4
SHVERZ	EQU	1
* JOYSTICKPRUEFBITS:
LINKS	EQU	%10
RECHTS	EQU	%100
HOCH	EQU	%1000
RUNTER	EQU	%10000
SCHUSS	EQU	%100000

	SETDP	DIREKT
ANF	LBRA	STEUR0

PKTFIG	FDB	$0009	PUNKT-BILD :
	FCB	$40,$00,$40	1.ZEILE
	FCB	$40,$40,$E0	2.ZEILE
	FCB	$40,$80,$40	3.ZEILE

UFOFIG	FDB	$0018	UFO-BILD :
	FCB	$40,$00,$3C,$40,$40,$3C	1.ZEILE
	FCB	$40,$80,$7E,$40,$C0,$FF	2.ZEILE
	FCB	$41,$00,$FF,$41,$40,$81	3.ZEILE
	FCB	$41,$80,$42,$41,$C0,$3C	4.ZEILE

TASTE	FDB	TPIAD,TPIAC,$1002	TASTATUR-WAHL

TASCOD	FCC	',.AY '	TASTEN - WAHL

ASTEND	FDB	$A100+10*112	ASTRO.-TAB.-END.(AST.KLEIN)
	FDB	$A100+10*48	
ASTRO.-TAB.-ANF.(AST.KLEIN)
	FDB	$A100+10*16	
ASTRO.-TAB.-ANF.(AST.MITTEL)
ASTANF	FDB	$A100	ASTRO.-TAB.-ANF.(AST.GROSS)

PKTANF	FDB	$A580	PUNKT-TAB.-ANF.(SCHIFF)
PKTMIT	FDB	$A580+5*5	PUNKT-TAB.-END.(SCHIFF)/-ANF.(UFO)
PKTEND	FDB	$A580+5*8	PUNKT-TAB.-END.(UFO)

ASTZEI	FDB	35000/25	ANZAHL DER 25 U SEC EINES BILD-TAKTES
ASTGRO	FDB	$3010	GROSS }
ASTMIT	FDB	$6040	MITTEL} GESCHW.-INTERVALL
ASTKLE	FDB	$7F60	KLEIN }
ASTEIL	FDB	$0002,$0002	
ASTRO.-TEILUNGS-ANZAHL
ASTVON	FCB	$04,$0F,$02	
ANFANG/ENDE/SCHRITT F. NEUE ASTRO.

PKTDAU	FCB	$24	REICHWEITE DER PUNKTE

SCHMAX	FDB	+$0380,-$0380	HOECHSTGESCHW. D. SCHIFFES
SCHVEZ	FDB	2	VERZOEGERUNG DES SCHIFFES
SCHFAK	FCB	10	BESCHLEUNIGUNGSFAKTOR (PS)
SCHIAZ	FCB	4	SCHIFFS-RESERVE
SCHEXP	FCB	$81	EXPLOSIONS-DAUER
SCHFEN	FDB	$5818,$6818,$1000	FENSTER ZUM SCHIFFS-ERSCHEINEN

UFOFST	FCB	$10	UFO-ERST-ERSCHEINUNGS-DAUER
UFOHAU	FCB	$30	UFO-ERSCHEINUNGS-HAEUFIGKEIT
UFORCA	FDB	$6010	UFO-RICHTG.AENDERUNGS-INTERVALL
UFOSTF	FDB	$F808	UFO-START-RAND-FELD
UFOPKT	FCB	$04	UFO-ZIELGENAUIGKEIT

ZHLBCD	FDB	$0000	ZAEHLWERK
RECBCD	FDB	$0000	REKORDSPEICHER

SHIFT	FCB	$00,$40,$10,$04		BIT-VERSCHIEB.-VEKTOREN

SCHVEK	FCB	-4,+0,-4,+1,-4,+2,-3,+3,-2,+4,-1,+4	RICHTG.-
	FCB	+0,+4,+1,+4,+2,+4,+3,+3,+4,+2,+4,+1	VEKTOREN
	FCB	+4,-0,+4,-1,+4,-2,+3,-3,+2,-4,+1,-4
	FCB	-0,-4,-1,-4,-2,-4,-3,-3,-4,-2,-4,-1

TEMP	RMB	12	TEMPORAERER-SPEICHER
RND	RMB	1	RANDOM-POINTER
SCHPOX	RMB	4	SCHIFFSPOSITION SPALTE
SCHPOY	RMB	4	SCHIFFSPOSITION ZEILE
SCHRCH	RMB	1	SCHIFFSRICHTUNG
SCHWEG	RMB	1	SCHIFF VORHANDEN ?
SCHANZ	RMB	1	MOMENTANE SCH.-RESERVE
ASTANZ	RMB	1	ASTRO.-ERSCHEIN.-ANZAHL
ASTNEX	RMB	2	NAECHSTES ZU BEW. ASTRO.
ASTWEG	RMB	1	MOMENTANE ASTRO.-ANZAHL
ASTWAR	FCB	0	WARTEN AUF NEUE ASTRO.
UFOWEG	RMB	2	UFO VORHANDEN ?
UFOPOS	RMB	5	UFO-POSITION
PKTSPR	RMB	1	PUNKT-ABSCHUSS-SPERRE
POSFLG	RMB	1
VERZLI	RMB	1
VERZRE	RMB	1
VERZSH	RMB	1

	ORG	$A600

*	S T E U E R:	ALLE INITIALISIERUNGEN WERDEN DURCHGEFUEHRT
*	============	UND ANSCHL. REIHUM ALLE BEW.-ROUTINEN
AUFGERUFEN.

STEUR0	LDA	#$20
	STA	DRISEL	
MOTOR ABSTELLEN
	LDX	SCREN1	
STANDARDBILDSEITE DAUEREINBL.
	TFR	X,Y
	LDB	#$E4
	JSR	[SWITCH]
	LDA	JPIAC
	ANDA	#%11111011
	STA	JPIAC
	LDB	JPIAD
	ANDB	#%11000001
	STB	JPIAD
	ORA	#%100
	STA	JPIAC
STEUER	LDA	#DIREKT		SETZE
	TFR	A,DP	DIREKT-PAGE.
	LDD	#$0000	
SCROLLING AUF	0
	STD	$FCF6	BILD AUF SEITE 0.
	CLRA
	LDX	#$4000	
BILDSCHIRM
STEU0	STD	$3FFE,X		LOESCHEN.
	LEAX	-2,X
	BNE	STEU0
	CLR	VERZLI
	CLR	VERZRE
	CLR	VERZSH
	CLR	POSFLG
	LBSR	INIT1	ASTRO.-TAB. LADEN.
	LDD	ZHLBCD	
REKORD MIT
	CMPD	RECBCD	
ZAEHLWERK
	BLO	STEU1	VERGLEICHEN
	STD	RECBCD	
UND ANPASSEN.
STEU1	LDA	SCHIAZ	
SCHIFFS-RESERVE
	STA	SCHANZ	
LADEN.
	LDA	#1	SCHIFF ZUM ERST-
	STA	SCHWEG	
ERSCHEINEN VORBEREITEN.
	LBSR	PKTINI	
ALLE PUNKTE LOESCHEN.
	LBSR	ZHLZGN	
ZAEHLWERK ZEIGEN.
	LDD	#$6028	
TEXTPOSITION UND
	LDX	#TEXFIG		TEXTSTELLE LADEN
	LBSR	SETZEN	
UND ZEIGEN.
	TST	[TASTE+2]	SCHON VORHER TASTE GEDR.?
	BPL	STEU2	NEIN, OK
	TST	[TASTE]		SONST EINGABE LOESCHEN
STEU2	TST	[TASTE+2]	AUF TASTENDRUCK
	BPL	STEU2	WARTEN.
	LDA	[TASTE]
	CMPA	#ESC
	BNE	STEU21
	JSR	[SWTCHB]
	JMP	WARMS
STEU21	LDD	#$6028	
TEXT WIEDER
	LDX	#TEXFIG		LOESCHEN.
	LBSR	SETZEN
	CLR	ZHLBCD	
ZAEHLWERK
	CLR	ZHLBCD+1	LOESCHEN.
	LBSR	ZHLZGN	
ZAEHLWERK UND
	LBSR	SCHZGN	
SCH.-RESERVE ZEIGEN.
	LDB	ASTVON	
ASTRO.ANFANGSZAHL
STEU3	STB	ASTANZ	
NACH ASTRO.-ANZ.
STEU4	CLRA
	TFR	D,Y	
UND MIT D. PARAMETER
	LBSR	INIT2	ASTRO.-TAB. ERSTELLEN.
	LDD	ASTANF	
ZEIGER AUF NAECHSTES ZU
	STD	ASTNEX	
BEW. ASTRO. INITIAL.
	LDA	UFOFST	
UFO-ERST-ERSCHEINUNG
	STA	ASTWEG	
SETZEN UND INIT.
	LBSR	UFOBE4	
AUFRUFEN.
STEU5	LBSR	ASTBEW	
]
	LBSR	ASTDRU	
]
	LBSR	SCHBEW	
} R U M P F
	LBSR	PKTBEW	
]
	LBSR	UFOBEW	
]
	TST	ASTWEG	
KEINE ASTRO.
	BNE	STEU5	MEHR VORHANDEN ?
	DEC	ASTWAR	
JA ! DANN WARTEN
	DEC	ASTWAR
	BNE	STEU5	UND
	LDB	ASTANZ	
ASTRO.-ANZAHL
	ADDB	ASTVON+2	UM 'SCHRITT'
	CMPB	ASTVON+1	BIS 'ENDE'
	BMI	STEU3	ERHOEHEN.
	BRA	STEU4

*	I N I T 1 :	
DIE ASTRO.-TABELLE WIRD MIT ZEIGERN AUF
*	===========	
DIE ASTRO.-BILDER GELADEN.

INIT1	LDY	#6	ABBRUCH-ZAEHLER FUER 3 ASTRO.-GRUPPEN LADEN.
	LDX	#ASTFIG		X ZEIGT AUF ERSTEN ASTRO.-BILD ZEIGER.
	LDU	ASTEND,Y	U AUF GROSSE ASTRO.-GRUPPE SETZEN.
IN10	STX	TEMP+2	
ZEIGER
IN11	STX	TEMP+0	
ZWISCHENSPEICHERN.
	LDX	TEMP+2	
NAECHSTEN BILD-ZEIGER
IN12	LDD	0,X++	UEBER X NACH AKKU D ,
	BEQ	IN11	WENN VORHANDEN
	STD	0,U	
IN DIE TABELLE SETZEN.
	LEAU	10,U	NAECHSTE ZEILE IN DER TAB.
	CMPU	ASTEND-2,Y	ASTRO.-GRUPPE ZUENDE ?
	BNE	IN12	NEIN ! DANN NAECHSTES X.
	LDX	TEMP+0	
X AUF NAECHSTEN GRUPPENANF.
	LEAY	-2,Y	LETZTE GRUPPE ?
	BNE	IN10	NEIN !
	RTS

*	I N I T 2 :	
POSTIERT DIE ERSTEN Y ASTROIDE UEBER DIE
*	===========	
TABELLE INS BILD. DER REST WIRD GELOESCHT.

INIT2	LDU	ASTANF	
U AUF ASTRO.-TAB.-ANF.
IN20	LEAU	2,U	
DANN AUF GESCHW. IN DER ZEILE.
	LDD	#0	AKKU D ZUM LOESCHEN AUF 0
	STD	0,U++	GESCHW.,
	STD	0,U++	ALTE POS.,
	STD	0,U++	NEUE Y-POS. UND
	STD	0,U++	NEUE X-POS. LOESCHEN.
	LEAY	-1,Y	SOLL ASTRO. POSTIERT WERDEN
	CMPY	#0
	BMI	IN21	NEIN !
	LDD	ASTGRO	
GESCHW.-INTERVALL FUER GROSSE ASTRO.
	LBSR	RICHTG	
????????????????????????????
	STD	-8,U	UND TAB. SPEICHERN.
	LDD	#$7F00	
POSITION ZUFAELLIG
	LBSR	RICHTG	
BESTIMMEN UND
	STA	-4,U	IN TABELLE
	STB	-2,U	SPEICHERN.
IN21	CMPU	ASTEND	
TABELLENENDE ERREICHT
	BNE	IN20	NEIN ! ZURUECK.
	RTS

*	S C H I N I :	DIE SCHIFFS-EXPLOSION WIRD DARGESTELLT UND
*	=============	ANSCHL. DAS NAECHSTE SCHIFF INS BILD GESETZT.

SCHINI	LDA	SCHWEG	
NEUES SCHIFF
	DECA	INS BILD SETZEN ?
	BEQ	SCHIN0	
JA ! KEINE EXPLO.
	STA	SCHWEG	
SONST NAECHSTE
	ANDA	#7	EXPLOSIONS-
	LDB	#6	PHASE DURCH
	MUL	DREHEN DES
	STB	SCHRCH	
SCHIFFES VOLL-
	LBSR	SCHDRU	
ZIEHEN
	RTS
SCHIN0	LDX	SCHFEN	
ANFANG DES ZU PRUEFENDEN
SCHIN1	LDA	SCHFEN+4	FENSTERS LADEN.
SCHIN2	TST	A,X	
BILD-BYTE BESETZT ?
	BNE	SCHIN5	
JA ! ABBRUCH
	DECA	NAECHSTE SPALTE.
	BNE	SCHIN2	
LETZTE SPALTE ?
	LEAX	$40,X	JA ! NAECHSTE ZEILE.
	CMPX	SCHFEN+2	LETZTE ZEILE ?
	BMI	SCHIN1	
FENSTER GEPRUEFT ?
	LBSR	SCHZGN	
JA ! SCHIFFSRESERVE LOESCHEN
	DEC	SCHANZ	
EIN SCHIFF ABZIEHEN
	BNE	SCHIN3	
SPIELENDE ?
	PULS	X	JA ! RTS VON STACK
	LBRA	STEUER	
UND NEU-START.
SCHIN3	LBSR	SCHZGN	
SONST NEUE SCHIFFSRES. ZEIGEN
	CLR	SCHWEG	
SCHIFF KANN INS BILD.
	LDA	#$7F	POSITION IN
	STA	SCHPOX	
DIE BILD-MITTE
	STA	SCHPOY	
SETZEN.
	CLR	SCHRCH	
RICHTUNG NACH NORDEN.
SCHIN4	LDD	#0	GESCHW.
	STD	SCHPOX+2	DES SCHIFFES
	STD	SCHPOY+2	LOESCHEN.
	LBSR	SCHDRU	
UND INS BILD SETZEN.
SCHIN5	RTS

*	P K T I N I :	DIE PUNKTTABELLE WIRD GELOESCHT.
*	=============

PKTINI	LDU	PKTANF	
U AUF TAB.-ANF.
PKTIN0	CLR	4,U	
LOESCHE REICHWEITE.
	LEAU	5,U	
NAECHSTE ZEILE
	CMPU	PKTEND	
LETZTE ZEILE ?
	BMI	PKTIN0	
NEIN ! ZURUECK.
	RTS


*	A ST D R U	:	REIHUM WERDEN DIE NEUEN ASTROIDE GEDRUCKT UND
*	=============	DIE ALTEN GELOESCHT. ABBRUCH NACH BEST. ZEIT.

ASTDRU	LDY	#0	ZEITABBRUCH AUF NULL
	LDU	ASTNEX	
BEIM LETZTEN ABBRUCH FORTFAHREN.
ASTDR1	LDA	6,U	
NEUE Y-POS IN A,
	LDB	8,U	
NEUE X-POS IN B,
	CMPD	4,U	
DRUCK NOTWENDIG ?
	BEQ	ASTDR4	
NEIN ! AUSLASSEN.
	CMPD	#0	ASTROIDE VORHANDEN ?
	BEQ	ASTDR2	
NEIN ! EVTL. LOESCHEN..
	LDX	0,U	
BILDZEIGER LADEN UND
	LBSR	SETZEN	
ASTROIDE INS BILD.
	LDD	[0,U]	ASTRO.-GROESSE AUF DEN
	LEAY	D,Y	
ZEITABBRUCH ADDIEREN.
ASTDR2	LDD	4,U	
ALTE POSITION LOESCHEN ?
	BEQ	ASTDR3	
NEIN !
	LDX	0,U	
BILDZEIGER LADEN UND
	LBSR	SETZEN	
ASTROIDE AUS DEM BILD.
	LDD	[0,U]	ASTRO.-GROESSE AUF DEN
	LEAY	D,Y	
ZEITABBRUCH ADDIEREN.
ASTDR3	LDA	6,U	
NEUE POSITION
	LDB	8,U
	STD	4,U	
AUF ALTE UEBERTRAGEN.
ASTDR4	LEAU	10,U	NAECHSTES ASTROIDE.
	CMPU	ASTEND	
TABELLENENDE ?
	BNE	ASTDR5	
NEIN !
	LDU	ASTANF	
WIEDER AUF TAB.ANF.
ASTDR5	CMPU	ASTNEX	
EINEN UMLAUF FERTIG ?
	BEQ	ASTDR6	
JA ! DANN ZUM WARTEN.
	CMPY	ASTZEI	
ZEIT ABGELAUFEN ?
	BMI	ASTDR1	
NEIN ! NAECHSTES.
	STU	ASTNEX	
ABBRUCH MERKEN.
	RTS
ASTDR6	LEAY	1,Y	
ZEIT BIS ZUM
	MUL	ABBRUCH HOCH-
	CMPY	ASTZEI	
ZAEHLEN.
	BMI	ASTDR6	
(WARTEN)
	RTS

*	A S T B E W :	ALLE ASTROIDE WERDEN IN IHRER POSITION UM
*	=============	IHRE GESCHWINDIGKEIT BEWEGT.

ASTBEW	LDU	ASTANF	
TAB.ANF. NACH U.
	CLR	ASTWEG	
ASTRO.ZAEHLER LOESCHEN.
ASTBE0	LDD	2,U	
ASTROIDE VORHANDEN ?
	BEQ	ASTBE3	
NEIN ! AUSLASSEN
	INC	ASTWEG	
ASTRO.ZAEHLER ERHOEHEN.
	CLRA	X-GESCHWINDIGKEIT IN B
	TSTB	POSITIV ?
	BPL	ASTBE1	
JA ! NICHT NEGIEREN
	COMA	SONST NEGIEREN.
ASTBE1	ROLB
	ROLA	VERVIER
	ROLB	FACHEN UND
	ROLA
	ADDD	8,U	
ZUR NEUEN X-POS.
	STD	8,U	
ADDIEREN.
	CLRA	Y-GESCHWINDIGKEIT IN B
	LDB	2,U	
POSITIV ?
	BPL	ASTBE2	
JA ! NICHT NEGIEREN
	COMA	SONST NEGIEREN .
ASTBE2	ROLB
	ROLA	VERVIER-
	ROLB	FACHEN UND
	ROLA
	ADDD	6,U	
ZUR NEUEN Y-POS.
	STD	6,U	
ADDIEREN.
ASTBE3	LEAU	10,U	NAECHSTES ASTROIDE.
	CMPU	ASTEND	
LETZTES ERREICHT ?
	BNE	ASTBE0	
NEIN ! ZURUECK.
	RTS

*	S E T Z E N :	EINE BYTE-BILD-FOLGE WIRD AUS EINER TAB.
*	=============	INS BILD GESETZT/(GEDREHT).

SETZEN	PSHS	U,Y	
U UND Y RETTEN.
	STX	TEMP+6	
FIGURENANFANG MERKEN.
	STB	TEMP+4	
RECHTSVERSCHIEBUNG
	LSRA	OFFSET NACH
	RORB	GROB UND FEIN,BZW.
	LSRA	BYTE UND BIT AUF-
	RORB	TRENNEN
	STD	TEMP+2	
UND MERKEN.
	CLRA	BIT-VERSCHIEBUNG
	LDB	TEMP+4	
NACH DEN BEIDEN
	ANDB	#$03	RECHTEN OFFSET-BITS
	TFR	D,Y	
AUS EINER VEKTOR-
	LDB	SHIFT,Y		TABELLE BERECHNEN
	STB	TEMP+4	
UND MERKEN.
	LDY	0,X++	BILD-LAENGE NACH Y.
SETZ0	LDD	0,X++	BILD-ADRESSE NACH X
	ADDD	TEMP+2	
UND BYTE-OFFSET
	TFR	D,U	
ADDIEREN.
	LDA	0,X+	BILD-MUSTER
	LDB	TEMP+4	
UM BIT-VEKTOR
	BEQ	SETZ1
	MUL	VERSCHIEBEN.
SETZ1	EORB	1,U	
PUNKTE IM
	EORA	0,U	
BILD DREHEN UND
	STD	0,U	
NEU INS BILD.
SETZ2	LEAY	-3,Y	NOCH WEITERE MUSTER ?
	BNE	SETZ0	JA ! ZURUECK.
	PULS	U,Y	
SONST FERTIG.
	RTS

*	R A N D O M :	ES WERDEN PSEUDO-ZUFALLSZAHLEN IM INTERVALL
*	=============	VON B BIS B+A-1 IN A ERZEUGT.

RANDOM	INC	RND	
ZUFALLSZEIGER ERHOEHEN.
	PSHS	X	X RETTEN.
	STB	TEMP+8	
VERSCHIEBUNG MERKEN.
	LDX	#$F4F2	
FORTLAUFENDER ZUGRIFF
	LDB	RND	
AUF MONITORAUSSCHNITT.
	LDB	B,X
	EORB	SCHPOX	
BEEINFLUSST DURCH
	EORB	SCHPOY	
SCHIFFSPOSITION.
	MUL	INTERVALL 0 BIS A-1
	ADDA	TEMP+8	
INTERVALL B BIS A+B-1.
	PULS	X	X ZURUECK.
	RTS

*	R I C H T G :	INNERHALB EINES RINGES (A,B) WIRD EINE RICHTUNG
*	=============	NACH X UN Y ZUFAELLIG ERZEUGT.

RICHTG	STD	TEMP+0	
RINGRADIEN MERKEN.
	CLRB	ZUFALLSZAHL IM INTERVALL
	LBSR	RANDOM	
VON 0 BIS AEUSSEREM RAD.
	STA	TEMP+2	
ERZEUGEN UND SPEICHERN.
	LDD	TEMP+0	
ZAHL KLEINER
	SUBB	TEMP+2	
ALS INNENRADIUS ?
	BHS	RICHT0	
JA !
	CLRB	ZUFALLSINTERVALL
	SUBA	TEMP+2	
VERKLEINERN.
	BRA	RICHT1
RICHT0	SUBA	TEMP+1	
NAECHSTES INTERVALL
RICHT1	LBSR	RANDOM	
ZUFAELLIG ERZEUGEN.
	STA	TEMP+3	
UND SPEICHERN.
	LDD	#$0400	
ZUR VORZEICHENER-
	LBSR	RANDOM	
MITTELUNG DAS
	BITA	#1	1.BIT FUER DIE
	BEQ	RICHT2	
Y-RICHTG. UND
	NEG	TEMP+2
RICHT2	BITA	#2	DAS 2. BIT FUER DIE
	BEQ	RICHT3	
X-RICHTG. BENUTZEN.
	NEG	TEMP+3
RICHT3	LDD	TEMP+2	
ERGEBNIS NACH A,B
	RTS

*	F R A G E :	
ALLE MOEGLICHEN SPIELER-EINFLUESSE WERDEN
*	===========	
ABGEFRAGT UND DARAUFHIN VOLLZOGEN.

FRAGE	LDA	JPIAD	TASTE GEDRUECKT ?
	BITA	#LINKS	
AUF DREHEN VERGL.
	BEQ	FRAG0	NICHT LINKS !
	LDB	VERZLI
	BEQ	FRAG00
	DEC	VERZLI
	BRA	FRAG0
FRAG00	LDB	#JVERZ
	STB	VERZLI
	LBSR	SCHDRU	
SCHIFF LOESCHEN,
	LDB	SCHRCH	
RICHTUNG UM EINEN
	SUBB	#2	WINKEL NACH LINKS,
	BRA	FRAG1	DANN MODULO 48.
FRAG0	LDA	JPIAD	TASTENINHALT NACH
	BITA	#RECHTS		AUF DREHEN VERGL.
	BEQ	FRAG3	NICHT RECHTS !
	LDB	VERZRE
	BEQ	FRAG10
	DEC	VERZRE
	BRA	FRAG3
FRAG10	LDB	#JVERZ
	STB	VERZRE
	LBSR	SCHDRU	
SCHIFF LOESCHEN,
	LDB	SCHRCH	
RICHTUNG UM EINEN
	SUBB	#46	
WINKEL NACH RECHTS,
FRAG1	BPL	FRAG2	MODULO 48
	ADDB	#48
FRAG2	STB	SCHRCH	
NEUE RICHTUNG SPEICHERN
	LBSR	SCHDRU	
UND SCHIFF DRUCKEN.
FRAG3	LDA	JPIAD	TASTENINHALT NACH
	BITA	#HOCH	AUF SCHUB VERGL.
	BEQ	FRAG5	NICHT !
	LDB	VERZSH
	BEQ	FRAG41
	DEC	VERZSH
	BRA	FRAG5
FRAG41	LDA	#SHVERZ
	STA	VERZSH
	LDA	SCHFAK	
PS IN A
	LDX	#SCHVEK+1	RICHTG-VEKTOR-TAB-ANF.
	LDB	SCHRCH	
X-VEKTOR UEBER RICHTG.
	LDB	B,X	
AUS TABELLE HOLEN
	MUL	UND MIT PS MUL.
	LDX	#SCHPOX+2	X-POS. UND MAX.
	LDY	#SCHMAX		X-GESCHW. ALS PARAM.
	LBSR	BESCHL	
ZUM BESCHL. LADEN,
	BCC	FRAG4	GESCHW. > MAX.
	STD	SCHPOX+2	NEIN ! UEBERNEHMEN
FRAG4	LDA	SCHFAK	
PS IN A
	LDX	#SCHVEK		RICHTG-VEKTOR-TAB-ANF.
	LDB	SCHRCH	
Y-VEKTOR UEBER RICHTG.
	LDB	B,X	
AUS TABELLE HOLEN
	MUL	UND MIT PS MUL.
	LDX	#SCHPOY+2	Y-POS. UND MAX.
	LDY	#SCHMAX		X-GESCHW. ALS PARAM.
	LBSR	BESCHL	
ZUM BESCHL. LADEN,
	BCC	FRAG5	GESCHW. > MAX.
	STD	SCHPOY+2	NEIN ! UEBERNEHMEN
FRAG5	LDA	JPIAD	TASTENINHALT NACH
	BITA	#SCHUSS		AUF SCHUSS VERGL.
	BEQ	FRA10	NICHT !
	TST	PKTSPR	
PUNKTSPERRE GESETZT ?
	BEQ	FRAG61	JA ! ZUM LOESEN
	DEC	PKTSPR
	BRA	FRA11
FRAG61	LDB	#SVERZ
	STB	PKTSPR
	LDU	PKTANF	
PUNKTTAB.-ANF. NACH U
FRAG6	TST	4,U	
PUNKT UNTERWEGS ?
	BEQ	FRAG7	NEIN ! BENUTZEN
	LEAU	5,U	
NAECHSTE ZEILE,
	CMPU	PKTMIT	
LETZTE ZEILE ?
	BMI	FRAG6	NEIN ! WEITER SUCHEN
	BRA	FRA10	SUCHEN ABBRECHEN.
FRAG7	LDA	PKTDAU	
PUNKT-REICHWEITE
	STA	4,U	
IN TABELLE SETZEN.
	LDB	SCHRCH	
UEBER DIE RICHTG.
	LDX	#SCHVEK		DEN Y-GESCHW.-VEKT.
	LDA	B,X	
LADEN UND DIE
	STA	2,U
	EORA	SCHPOY+2	Y-SCHIFFSGESCHW.
	BMI	FRAG8	BEI GLEICHER
	LDA	B,X	
RICHTUNG
	ADDA	SCHPOY+2	ADDIEREN.
	STA	2,U
FRAG8	INCB	DEN X-GESCHW.-VEKT.
	LDA	B,X	
LADEN UND DIE
	STA	3,U
	EORA	SCHPOX+2	X-SCHIFFSGESCHW.
	BMI	FRAG9	BEI GLEICHER
	LDA	B,X	
RICHTUNG
	ADDA	SCHPOX+2	ADDIEREN.
	STA	3,U
FRAG9	LDD	2,U	
AUF GESCHW.
	ADDA	SCHPOY	
SCHIFFSPOSITION
	ADDB	SCHPOX
	ADDA	#2	UND MITTELPUNKT
	ADDB	#2	ADDIEREN UND ALS
	STD	0,U	
PUNKTPOS. SPEICHERN.
	LDX	#PKTFIG		PUNKT INS BILD
	LBSR	SETZEN	
SETZEN.
	BRA	FRA11
FRA10	CLR	PKTSPR	
LOESCHE PUNKTSPERRE.
FRA11	LDA	JPIAD	TASTENINHALT NACH
	BITA	#RUNTER		AUF ALARMSTART VERGL.
	BEQ	FRA121	
NICHT !
	TST	POSFLG
	BNE	FRA12
	LBSR	SCHDRU	
SCHIFF LOESCHEN,
	LDD	#$FF00	
ZUFAELLIGE
	STA	POSFLG
	LBSR	RANDOM	
X-POS. ERMITTELN
	STA	SCHPOX	
UND SPEICHERN.
	LDD	#$F808	
ZUFAELLIGE
	LBSR	RANDOM	
Y-POS. ERMITTELN
	STA	SCHPOY	
UND SPEICHERN.
	LBRA	SCHIN4	
GESCHW. LOESCHEN.
FRA121	CLR	POSFLG
FRA12	RTS


*	S C H D R U :	DAS SCHIFF WIRD INS BILD
*	=============	GESETZT.

SCHDRU	LDB	SCHRCH	
UEBER DIE SCHIFFS-
	LDX	#SCHFIG		RICHTUNG DAS
	LDX	B,X	
SCHIFFSBILD LADEN.
	LDA	SCHPOY	
DIE POSITION
	LDB	SCHPOX	
NACH D.
	LBSR	SETZEN
	RTS

*	B E S C H L :	DIE GESCHW. WIRD MIT EINEM GRENZ-
*	=============	VERGLEICH BESCHLEUNIGT.

BESCHL	CLRA
	TSTB	GESCHW. POS. ?
	BPL	BESCH1	
JA !
	COMA	NEGIEREN
BESCH1	ADDD	,X	AUF POS. ADDIEREN
	CMPD	,Y++	> POS. GRENZE ?
	BPL	BESCH2	
JA ! CLEAR-C
	CMPD	,Y	> NEG. GRENZE ?
	BMI	BESCH2	
JA ! CLEAR-C
	SEC	SONST CARRY
	RTS
BESCH2	CLC
	RTS

*	S C H B E W :	DAS SCHIFF WIRD VERZOEGERT UND
*	=============	DANN UM DIE GESCHW. BEWEGT.

SCHBEW	TST	SCHWEG	
SCHIFF VORHANDEN ?
	LBNE	SCHINI	
NEIN !
	LDD	SCHPOX+2	PRUEFE X-GESCHW.
	BNE	SCHBE0	
VERZOEGERUNG !
	LDD	SCHPOY+2	PRUEFE Y-GESCHW.
	BEQ	SCHBE5	
KEINE VERZOEGERUNG !
SCHBE0	LDB	SCHVEZ+1	LADE VERZ.FAKT.
	LDX	SCHPOX+2	UND X-GESCHW.
	BMI	SCHBE1	
NEGIERE, WENN
	COMB	NOETIG.
SCHBE1	LDX	#SCHPOX+2	GESCHW.-PARAM. UND
	LDY	#SCHVEZ		GRENZ.-PARAM. ZUM
	BSR	BESCHL	
BREMSEN.
	BCC	SCHBE2	
NOCH BEWEGUNG
	LDD	#0	STILLSTAND.
SCHBE2	STD	SCHPOX+2	NEUE GESCHW.
	LDB	SCHVEZ+1	LADE VERZ. FAKT.
	LDX	SCHPOY+2	UND Y-GESCHW.
	BMI	SCHBE3	
NEGIERE, WENN
	COMB	NOETIG.
SCHBE3	LDX	#SCHPOY+2	GESCHW.-PARAM. UND
	LDY	#SCHVEZ		GRENZ.-PARAM. ZUM
	BSR	BESCHL	
BREMSEN.
	BCC	SCHBE4	
NOCH BEWEGUNG
	LDD	#0	STILLSTAND.
SCHBE4	STD	SCHPOY+2	NEUE GESCHW.
SCHBE5	LBSR	SCHDRU	
SCHIFF LOESCHEN.
	LDA	SCHPOY	
POSITION FUER
	LDB	SCHPOX	
ZERSTOERUNGS-
	LBSR	UEBERD	
PRUEFUNG BEREIT-
	TSTA	STELLEN.
	BNE	SCHBE6	
NICHT ZERSTOERT !
	LDA	SCHEXP	
SONST EXPLOSIONS-
	STA	SCHWEG	
DAUER LADEN.
	RTS
SCHBE6	LDD	SCHPOX	
X-BEWEGUNG
	ADDD	SCHPOX+2	AUSFUEHREN.
	STD	SCHPOX
	LDD	SCHPOY	
Y-BEWEGUNG
SCHBE7	ADDD	SCHPOY+2	AUF DIE OBERSTEN
	CMPA	#8	8 ZEILEN PRUEFEN
	BLO	SCHBE7
	STD	SCHPOY	
UND SPEICHERN.
	LDB	SCHPOX	
NEUE SCHIFFS-
	LBSR	SCHDRU	
POSITION DRUCKEN
	LBSR	FRAGE	UND BEINFLUSSEN
	RTS	LASSEN.

*	U E B E R D :	EIN BEST. 8*8 BIT QUADRAT WIRD AUF DEM BILD
*	=============	GETESTET. ASTROIDE WERDEN GETEILT.

UEBERD	PSHS	X,Y,U
	STD	TEMP+6	
BILD-OFFSET RETTEN
	LSRA
	RORB	BYTE-OFFSET
	LSRA	BERECHNEN.
	RORB
	LDX	#$4000	
BILDANFANG NACH X
UEBER1	TST	D,X	
BILD-BYTE TESTEN
	BNE	UEBER2	
UEBERDECKUNG !
	LEAX	$40,X	SONST NAECHSTE ZEILE
	CMPX	#$4200	
LETZTE ZEILE ?
	BNE	UEBER1	
NEIN ! ZURUECK
	LDA	#1	SONST A <> 0
	BRA	UEBER6	
ABBRUCH. 
UEBER2	LEAX	D,X	
POSITION NACH X
	CMPX	#$8000	
NOCH INNERHALB ?
	BPL	UEBER6	
NEIN ! ABBRUCH.
	STX	TEMP+10
	LDU	ASTANF	
TAB.-ANF. NACH U
UEBER3	LDD	2,U	
ASTRO. VORHANDEN ?
	BEQ	UEBER5	
NEIN ! NAECHSTES.
	LDD	4,U	
AUS BILD-OFFSET
	LSRA
	RORB	BYTE-OFFSET
	LSRA	BERECHNEN.
	RORB
	STD	TEMP+4	
UND MERKEN.
	LDD	TEMP+10		DIFFERENZ ZUR
	SUBD	TEMP+4	
UEBERDECKUNG
	CMPD	#$4000	
BERECHNEN.
	BMI	UEBER5
	LDX	0,U	
BILD-ANFANG IN X
	LDY	0,X++	BILD-LAENGE IN Y
UEBER4	CMPD	0,X	
ASTROIDE GEFUNDEN ?
	BEQ	UEBER7	
JA ! TEILEN
	LEAX	3,X	
NAECHSTES BYTE
	LEAY	-3,Y	LETZTES BYTE ?
	BNE	UEBER4	
NEIN ! ZURUECK.
UEBER5	LEAU	10,U	NAECHSTES ASTRO.
	CMPU	ASTEND	
LETZTES ASTRO. ?
	BNE	UEBER3	
NEIN ! ZURUECK.
	CLRA	A = 0,
UEBER6	CLC	FLAG LOESCHEN
	PULS	X,Y,U	UND ABBRUCH.
	RTS
UEBER7	LDD	#0	GETROFFENES
	STD	2,U	
ASTROIDE
	STD	6,U	
LOESCHEN.
	STD	8,U
	LDD	#$0010	
SUMMAND LADEN
	CMPU	ASTEND+2	KLEINES ASTRO. ?
	BPL	UEBE11	
JA !
	LDD	#$0002	
SUMMAND LADEN
	CMPU	ASTEND+4	MITTLERES ASTRO. ?
	BPL	UEBER8	
JA !
	LDU	ASTEND+4	MITTLERES ASTRO.
	LDX	ASTMIT	
Y-MAL ERZEUGEN.
	LDY	ASTEIL
	BRA	UEBER9
UEBER8	LDU	ASTEND+2	KLEINES ASTRO.
	LDX	ASTKLE	
Y-MAL ERZEUGEN.
	LDY	ASTEIL+2
	LDD	#$0005	
SUMMAND LADEN
UEBER9	PSHS	D
UEBE10	LEAU	10,U	NAECHSTE TAB.-ZEILE
	LDD	-8,U	ASTRO. FREI ?
	BNE	UEBE10	
NEIN ! ZURUECK
	LDD	TEMP+6	
POSITION
	STA	-4,U	IN TABELLE SETZEN
	STB	-2,U
	TFR	X,D	
DURCH GESCHW.-
	LBSR	RICHTG	
PARAM. RICHTG.
	STD	-8,U	IN TAB. SETZEN.
	LEAY	-1,Y	NAECHSTE ASTRO.
	BNE	UEBE10	
ERZEUGEN.
	PULS	D	SUMMAND ZUM
UEBE11	LBSR	ZHLADD	
ZAEHLWERK ADD.
	CLRA	A = 0 ,
	PULS	X,Y,U
	SEC	FLAG GESETZT.
	RTS

*	P K T B E W :	ALLE PUNKTE WERDEN BEWEGT, ASTRO.
*	=============	TREFFER WERDEN GEPRUEFT.

PKTBEW	LDU	PKTANF	
TAB.-ANF. NACH U
PKTBE0	TST	4,U	
PUNKT UNTERWEGS ?
	BEQ	PKTBE4	
NEIN ! AUSLASSEN.
	LDX	#PKTFIG		PUNKT LOESCHEN.
	LDD	0,U
	LBSR	SETZEN
	LDD	0,U	
UND BILD-
	SUBB	#3	UEBERD. PRUEFEN
	LBSR	UEBERD
	BCC	PKTBE1	
NICHT GETROFFEN.
	CLR	4,U	
SONST PUNKT
	BRA	PKTBE4	
LOESCHEN.
PKTBE1	LDD	0,U	
NEUE PUNKT-POS.
PKTBE2	ADDA	2,U	
BERECHNEN.
	TST	2,U
	BEQ	PKTBE3	
SIND DIE 8
	CMPA	#8	OBERSTEN ZEILEN
	BLO	PKTBE2	
BELEGT ?
PKTBE3	ADDB	3,U
	STD	0,U	
IN TABELLE SETZEN.
	DEC	4,U	
REICHWEITE AB-
	BEQ	PKTBE4	
GELAUFEN !
	LDX	#PKTFIG		SONST PUNKT INS
	LBSR	SETZEN	
BILD.
PKTBE4	LEAU	5,U	
NAECHSTEN PUNKT.
	CMPU	PKTEND	
LETZTER PUNKT ?
	BMI	PKTBE0	
NEIN ! ZURUECK
	RTS

*	U F O B E W :	DAS UFO WIRD GESETZT, BEWEGT UND 
*	=============	ZIELT PUNKTE AUFS SCHIFF.

UFOBEW	LDX	UFOWEG	
SOLL UFO WARTEN ?
	BEQ	UFOBE0	
NEIN !
	LEAX	-1,X	SONST WEITER WARTEN.
	STX	UFOWEG
	RTS
UFOBE0	TST	UFOPOS+1	UFO SCHON UNTERWEGS ?
	BNE	UFOBE1	
JA !
	TST	SCHWEG	
KANN UFO INS BILD ?
	BNE	UFOBE4	
NEIN !
	TST	ASTWEG
	LBEQ	UFOB10	
NEIN !
	LDD	UFOSTF	
STARTFELD UEBER
	LBSR	RANDOM	
ZUFALL ERMITTELN.
	CLRB
	STD	UFOPOS
	CLR	UFOPOS+4	RICHTG.ERNEUERN
	LDD	#$0200	
X-GESCHW.
	LBSR	RANDOM	
ZUFAELLIG NACH
	LDB	#4	LINKS
	MUL	ODER RECHTS
	SUBB	#2	BESTIMMEN.
	STB	UFOPOS+3
	BRA	UFOBE2
UFOBE1	LDD	UFOPOS	
UFO LOESCHEN
	LDX	#UFOFIG		????????????????
	LBSR	SETZEN
UFOBE2	DEC	UFOPOS+4	NEUE RICHTG. ?
	BPL	UFOBE3	
NEIN !
	LDD	UFORCA	
SONST D. INTERVALL
	LBSR	RANDOM	
RICHTG.STABILITAET
	STA	UFOPOS+4	ZUFAELLIG ERMITTELN
	LDD	#$03FF	
UND RICHTG. NEU
	LBSR	RANDOM	
FESTLEGEN.
	STA	UFOPOS+2
UFOBE3	LDD	UFOPOS	
UFO IN X-RICHTG.
	ADDB	UFOPOS+3	BEWEGEN. AM RAND ?
	BNE	UFOBE6	
NEIN !
UFOBE4	CLR	UFOPOS+1	SONST UFO LOESCHEN
	LDA	ASTWEG	
UND NEUE ERSCHEIN-
UFOBE5	LDB	UFOHAU	
UNGSDAUER
	MUL	BERECHNEN.
	STD	UFOWEG
	RTS
UFOBE6	ADDA	UFOPOS+2	UFO IN Y-RICHTG.
	CMPA	#8	BEWEGEN. 8 OBERST.
	BLO	UFOBE6	
ZEILEN ? JA !
	STD	UFOPOS	
NEUE POS. SPEICHERN.
	LBSR	UEBERD	
ZERSTOERUNG PRUEFEN
	BCS	UFOBE4	
ASTRO.-KOLLISION !
	LDU	PKTMIT	
ODER SONST
	TSTA	PUNKT-TREFFER ?
	BNE	UFOBE7	
NEIN !
	LDD	#$0100	
ZAEHLE ZAEHLWERK
	LBSR	ZHLADD	
UM UFO-ZAHL.
	BRA	UFOBE4
UFOBE7	LEAU	5,U	
NAECHSTE PUNKTZEILE.
	CMPU	PKTEND	
LETZTER PUNKT ?
	BPL	UFOBE9	
JA ! ABBRUCH.
	TST	4,U	
PUNKT FREI ?
	BNE	UFOBE7	
NEIN ! ZURUECK.
	LDA	PKTDAU	
REICHWEITE
	STA	4,U	
IN TABELLE.
	LDA	SCHPOY	
POSITIONS-
	LDB	SCHPOX	
DIFFERENZ
	SUBA	UFOPOS	
ZUM ZIELEN
	SUBB	UFOPOS+1
	STD	2,U	
MERKEN.
UFOBE8	LDD	2,U	
DURCH
	ASRA	FORTLAUFENDES
	ASRB	HALBIEREN
	STD	2,U
	ADDA	UFOPKT	
UND PRUEFEN DER
	BMI	UFOBE8	
NEG. GESCHW.
	ADDB	UFOPKT	
NACH X UND Y,
	BMI	UFOBE8
	LDD	2,U
	SUBA	UFOPKT	
UND PRUEFEN DER
	BPL	UFOBE8	
POS. GESCHW.
	SUBB	UFOPKT	
NACH X UND Y
	BPL	UFOBE8	
BEI GEEIGNETER
	LDD	UFOPOS	
GESCHW. ABBRECHEN.
	ADDA	2,U
	ADDA	2,U	
DIE PUNKT-POSITION
	ADDA	#3	MEHRFACH
	ADDB	3,U	
KORRIGIEREN.
	ADDB	3,U
	ADDB	#3
	STD	0,U	
UND IN TAB. SETZEN.
	LDX	#PKTFIG		DEN PUNKT
	LBSR	SETZEN	
INS BILD.
UFOBE9	LDD	UFOPOS	
DAS UFO
	LDX	#UFOFIG		INS BILD.
	LBSR	SETZEN
UFOB10	RTS

*	Z H L A D D :	AUF DAS ZAEHLWERK WIRD D ADDIERT UND DIE
*	=============	NEUE SUMME ANGEZEIGT.

ZHLADD	PSHS	X,U,A
	TFR	B,A	
DIE LETZTEN BEIDEN
	ADDA	ZHLBCD+1	STELLEN ADDIEREN
	DAA	UND ANPASSEN.
	STA	ZHLBCD+1	DIE BEIDEN ERSTEN
	PULS	A	STELLEN
	ADCA	ZHLBCD	
ADDIEREN,
	TFR	A,B	
MERKEN UND
	DAA	ANPASSEN.
	STA	ZHLBCD
	CMPB	ZHLBCD	
4.STELLE GEWECHSELT ?
	BEQ	ZHLAD0	
NEIN !
	LBSR	SCHZGN	
SONST SCHIFFSRESERVE
	INC	SCHANZ	
UM EINS ERHOEHEN.
	LBSR	SCHZGN
ZHLAD0	LBSR	ZHLZGN	
NEUES ZAEHLWERK
	PULS	X,U	
DRUCKEN.
	RTS

*	Z H L Z G N :	DER REKORD UND DAS ZAEHLWERK WERDEN
*	=============	IN DER OBERSTEN ZEILE GEDRUCKT.

ZHLZGN	LDX	#$4002	
DRUCKPOSITION UND
	LDY	#RECBCD		REKORD ZUM
	BSR	ZHLZG0	
MONITOR-DRUCK.
	LDX	#$4039	
DRUCKPOSITION UND
	LDY	#ZHLBCD		ZAEHLWERK ZUM
*
ZHLZG0	BSR	OUT2H
	BSR	OUT2H
	CLRA
	BRA	OUTCH
OUT2H	LDA	,Y+
	PSHS	A
	LSRA
	LSRA
	LSRA
	LSRA
	BSR	OUTCH
	PULS	A
	ANDA	#%1111
OUTCH	LDU	#NUMTAB
	LDB	#8
	MUL
	LEAU	D,U
BUCHST	LDB	#8
BUCH1	LDA	,U+
	STA	,X
	LEAX	$40,X
	DECB
	BNE	BUCH1
	LEAX	-$1FF,X
	RTS

*	S C H Z G N :	DER SCHHIFFSVORRAT WIRD IN DER
*	=============	OBERSTEN ZEILE ANGEZEIGT.

SCHZGN	LDB	SCHANZ	
SCHIFFSANZAHL UND
	LDY	#$0030	
BILD-OFFSET LADEN.
SCHZG0	PSHS	B
	TFR	Y,D	
ALS PARAM. ZUM
	LDX	SCHFIG	
ZEIGEN UEBER-
	LBSR	SETZEN	
GEBEN.
	PULS	B
	LEAY	5,Y	
NAECHSTE DRUCKPOS.
	DECB	LETZTES SCHIFF ?
	BNE	SCHZG0	
NEIN ! ZURUECK.
	RTS
*
NUMTAB
Z0 FCB 0
	FCB %01111110
	FCB %01000010
	FCB %01000010
	FCB %01000010
	FCB %01100010
	FCB %01100010
	FCB %01111110
Z1 FCB 0
	FCB %00011000
	FCB %00001000
	FCB %00001000
	FCB %00001000
	FCB %00001100
	FCB %00001100
	FCB %00001100
Z2 FCB 0
	FCB %01111110
	FCB %00000010
	FCB %00000010
	FCB %01111110
	FCB %01100000
	FCB %01100000
	FCB %01111110
Z3 FCB 0
	FCB %01111110
	FCB %00000010
	FCB %00000010
	FCB %01111110
	FCB %00000110
	FCB %00000110
	FCB %01111110
Z4 FCB 0
	FCB %01001000
	FCB %01001000
	FCB %01001000
	FCB %01111110
	FCB %00001100
	FCB %00001100
	FCB %00001100
Z5 FCB 0
	FCB %01111110
	FCB %01000000
	FCB %01000000
	FCB %01111110
	FCB %00000110
	FCB %00000110
	FCB %01111110
Z6 FCB 0
	FCB %01111110
	FCB %01000000
	FCB %01000000
	FCB %01111110
	FCB %01100010
	FCB %01100010
	FCB %01111110
Z7 FCB 0
	FCB %01111100
	FCB %00000100
	FCB %00000100
	FCB %00011110
	FCB %00001100
	FCB %00001100
	FCB %00001100
Z8 FCB 0
	FCB %01111110
	FCB %01000010
	FCB %01000010
	FCB %01111110
	FCB %01100010
	FCB %01100010
	FCB %01111110
Z9 FCB 0
	FCB %01111110
	FCB %01000010
	FCB %01000010
	FCB %01111110
	FCB %00000110
	FCB %00000110
	FCB %01111110


	END ANF
                                                                                               