open=		-30
read=		-42
close=		-36
text= 		-60
setfont= 	-66
closefont=	-78
move= 		-240
initbitmap= 	-390
initrastport= 	-198
scrollraster=	-396
clearscreen=	-48
; ----- exec.library     -----
allocabs=	-204
openlibrary= 	-408
closelibrary= 	-414
forbid= 	-132
permit= 	-138
; ----- diskfont.library -----
openfont= 	-30

; ---- Anfangsadresse EXEC-Library (immer bei $04) ----
execbase= 	$04
; --------------------------------------
movem.l 	d0-d7/a0-a6,-(a7)	; Aktuelle Register retten
move.b		#$02,rows
; --------------------------------------
move.l		execbase,a6		; Betr.Rout. in EXEC-lib.
lea		$50000,a1		; ab Adresse $50000
move.l		#8000,d0		; 8000 byte als belegt kennz.
jsr		allocabs(a6)		; dass z.b. kein zeichensatz

; --------------------------------------
; --- benoetigte Libaries eroeffnen ----
lea		gfxname,a1		; Name GFX-Lib. 	
jsr		openlibrary(a6)		; eroeffnen
beq.L		error			; Fehler aufgetreten ???
move.l		d0,gfxbase		; Basisadresse merken
; --------------------------------------
lea		diskfontname,a1		; Name DiskFont-Lib.
jsr		openlibrary(a6)		; eroeffnen
beq.L		error			; Fehler Aufgetreten ???
move.l		d0,fontlbase		; Basisadresse merken
; --------------------------------------
move.l		fontlbase,a6		; Routine in Diskfont-Lib.
lea		textattr,a0		; Struktur d. Zeichensatz
jsr		openfont(a6)		; Zeichensatz laden
beq.L		error			; Fehler ???
move.l		d0,fontbase		; Basisadresse Zeichensatz

; --------------------------------------
lea		waitab,a0		; CopperListe um WAIT erganzen
move.l		#$b9ff,d1		; ab Zeile $df spalte $09
move.l		#56,d0			; 14 WAIT's
coloop2:
move.w		d1,(a0)+		; WAIT in Copperliste schreibe
move.w		#$fffe,(a0)+		; Alle Bits Von WAIT Beachten
move.w		#$0182,(a0)+		; Vordergrundfarbe
move.w		#$0fff,(a0)+		; Default-Wert
add.w		#$0100,d1   ; WAIT-Wert um eine Zeile erhoehen
dbra 		d0,coloop2		; schon 14 mal durchlaufen ???
; --------------------------------------
lea		dosbase,a6

move.l		execbase,a6		; Routine in EXEC-Lib.
jsr		forbid(a6)		; MultiTasking verbieten
; --------------------------------------
move.l		gfxbase,a0		; Zur Basisadresse GFX-Lib.
add.l		#$32,a0			; $32 addieren => Anfangsadr.
					; der CopperListe
move.w		#$0080,$dff096		; Copper DMA stoppen
move.l		(a0),oldcopper		; Alte Adresse merken
move.l		#newcopper,(a0)		; Neue CopperListe aktivieren
move.w		#$8080,$dff096		; Copper DMA starten
; --------------------------------------
move.l		gfxbase,a6		; Routine in GFX-Lib.
lea		bitmap,a0		; Zeiger a.(noch leere)Tabelle
move.l		#$01,d0			; 1 BitPlane
move.l		#352,d1			; Breite 352 Punkte
move.l		#200,d2			; Hoehe 15 Zeilen
jsr		initbitmap(a6)		; Default Werte schreiben
					; noch allgemein ==>
move.l		#$50000,plane1		; Anfangs Adresse des Grafik
					; speicher ergaenzen
; --------------------------------------
lea		rastport,a1		; Zeiger a.(noch leere)Tabelle
jsr		initrastport(a6)	; Rastport DefaultWerte
move.l		#bitmap,r_bitmap	; noch allgemein ==>
move.l		#$40000,a1
lea		sprite1,a2
SprLoop:
	Move.l		(a2),(a1)+
	cmp.l		#$00000000,(a2)+
	bne		SprLoop


move.l		#$41000,a1
lea		sprite2,a2
SprLoop1:
	Move.l		(a2),(a1)+
	cmp.l		#$00000000,(a2)+
	bne		SprLoop1


move.l		#$42000,a1
lea		sprite3,a2
SprLoop2:
	Move.l		(a2),(a1)+
	cmp.l		#$00000000,(a2)+
	bne		SprLoop2


move.l		#$43000,a1
lea		sprite4,a2
SprLoop3:
	Move.l		(a2),(a1)+
	cmp.l		#$00000000,(a2)+
	bne		SprLoop3
	

move.l		#$44000,a1
lea		sprite5,a2
SprLoop4:
	Move.l		(a2),(a1)+
	cmp.l		#$00000000,(a2)+
	bne		SprLoop4
	

move.l		#$45000,a1
lea		sprite6,a2
SprLoop5:
	Move.l		(a2),(a1)+
	cmp.l		#$00000000,(a2)+
	bne		SprLoop5


move.l		#$46000,a1
lea		sprite7,a2
SprLoop6:
	Move.l		(a2),(a1)+
	cmp.l		#$00000000,(a2)+
	bne		SprLoop6


move.l		#$47000,a1
lea		sprite8,a2
SprLoop7:
	Move.l		(a2),(a1)+
	cmp.l		#$00000000,(a2)+
	bne		SprLoop7

; --------------------------------------
lea		rastport,a1		; Neuen Zeichensatz i.Struktur
move.l		fontbase,a0		; installieren
jsr		setfont(a6)
; --------------------------------------
lea		rastport,a1		; Grafikspeicher loeschen
jsr		clearscreen(a6)
; --------------------------------------
jsr		Print
move.l		#scrollmsg,c_ptr	; Anfangsadresse d.ScrollText
; --------------------------------------; setzen
jsr		beg
move.l		$6c,oldirq		; Alten IRQ-Vector retten
move.l		#newirq,$6c		; IRQ-Vector a.eigene Routine
; --------------------------------------
jsr		beg
bra.L		wait			; Weiter zur Mausabfrage
; --------------------------------------
newirq:					; Neuer IRQ
movem.l		d0-d7/a0-a6,-(sp)	; Register Retten
; -scrolltext in GrafikSpeicher 1 Punkt nach links 
; -scrollen
; --------------------------------------
move.l		gfxbase,a6		; Routine in GFX-Library
lea		rastport,a1		; Rastport uebergeben
move.l		#0,d2			; linke obere koordinaten des
move.l		#109,d3			; zu verschiebenden rechteck
move.l		#352,d4			; rechte unter koordinaten
move.l		#198,d5			; des rechteck
move.l		#$02,d0			; 1 punkt in x verschieben
clr.l		d1			; kein punkt in y verschieben
jsr		scrollraster(a6)	; verschieben
; --------------------------------------
sub.b		#$01,rows		; schon 1 zeichen (16 punkte)
bne.s		continue1		; gescrollt ???
move.b		#11,rows		; nein
bsr.L		printchar		; neues zeichen ausgeben
continue1:
; --------------------------------------
lea		coltab,a0		; Farbtabelle Verschieben
lea		coltab+2,a1
move.w		#56,d0
move.w		coltab,d1
verloop1:
move.w		(a1)+,(a0)+
dbra		d0,verloop1
move.w		d1,coltab+112
; --------------------------------------
move.l		#56,d0			; 14 Farben in Copperliste
lea		coltab,a0		; schreiben
lea		waitab+6,a1
coloop1:
move.w		(a0)+,(a1)
add.l		#$08,a1			; Abstand zu naechstem WAIT
dbra		d0,coloop1

movespr:
	move.w	$dff01e,d6
	and.w	#$0020,d6
	move.w	#$0020,$dff09c
	sub.b	#1,$40001
	add.b	#1,$40000
	add.b	#1,$40002
	sub.b	#1,$41001
	add.b	#1,$41000
	add.b	#1,$41002
	sub.b	#1,$42001
	add.b	#1,$42000
	add.b	#1,$42002
	sub.b	#1,$43001
	add.b	#1,$43000
	add.b	#1,$43002
	sub.b	#1,$44001
	add.b	#1,$44000
	add.b	#1,$44002
	sub.b	#1,$45001
	add.b	#1,$45000
	add.b	#1,$45002
	sub.b	#1,$46001
	add.b	#1,$46000
	add.b	#1,$46002
	sub.b	#1,$47001
	add.b	#1,$47000
	add.b	#1,$47002
; --------------------------------------
jump:
movem.l		(sp)+,d0-d7/a0-a6	; Register zurueckholen
dc.w		$4ef9			; Code fur JMP
oldirq:
dc.l	0				; zu altem IRQ-Vector

printchar:
; --------------------------------------
andi.b		#253,$bfe001
move.l		gfxbase,a6	; basis der graphics-library
lea		rastport,a1	; => vorhandenes bitmuster im scroll-
jsr		clearscreen(a6)	; => zwischenspeicher loeschen
lea		rastport,a1	; im zwischenspeicher grafikcursor
move.l		#320,d0		; nach x-position 320
move.l		#155,d1		; und y-pos  	  14 
jsr		move(a6)	; bewegen
lea		rastport,a1     ; in zwischenspeicher
move.l		c_ptr,a0	; zeichen ab adresse (c_ptr)
move.l		#1,d0		; 1 zeichen
jsr		text(a6)	; an position des grafikcursor printen
lea		rastport,a1	; im zwischenspeicher grafikcursor
move.l		#320,d0		; nach x-position 320
move.l		#183,d1		; und y-pos  	  14 
jsr		move(a6)	; bewegen
lea		rastport,a1     ; in zwischenspeicher
move.l		c_ptr,a0	; zeichen ab adresse (c_ptr)
move.l		#1,d0		; 1 zeichen
jsr		text(a6)	; an position des grafikcursor printen

add.l		#$01,c_ptr	; 1 zum textzeiger addieren
cmp.l		#ende,c_ptr	; ende des textes erreicht ???
bne.s		return		; nein ---
move.l		#scrollmsg,c_ptr; anfang neu setzen
return:				; ruecksprung
rts

wait:
; --------------------------------------
or.b		#2,$bfe001
btst		#6,$bfe001	; linke maustaste gedrueckt ???
bne.s		wait		; nein ==>
; --------------------------------------
jsr		end
move.l		oldirq,$6c	; alten irq-vector zurueckschreiben
; --------------------------------------
move.l		gfxbase,a6	; basisadresse gfx-library
move.l		fontbase,a1	; basisadresse des zeichensatz
jsr		closefont(a6)	; speicher wieder freigeben
jsr 		end
; --------------------------------------
move.l		execbase,a6	; basisadresse exec-libary
move.l		fontlbase,a1	; diskfont-library basisadresse
jsr		closelibrary(a6); library schliessen (speicher freig.)
move.l		gfxbase,a1	; gfx-libary basisadresse
jsr		closelibrary(a6); library schliessen
; --------------------------------------
move.l		gfxbase,a0	; zur Basisadresse GFX-library $32
add.l		#$32,a0		; addieren => adresse der copperliste
move.w		#$0080,$dff096	; Copper DMA stoppen
move.l		oldcopper,(a0)	; Standard CopperListe aktivieren
move.w		#$8080,$dff096	; Copper DMA starten
; --------------------------------------
move.l		execbase,a6	; basisadresse exec-library
jsr		permit(a6)	; MultiTasking wieder zulassen
; --------------------------------------
movem.l		(a7)+,d0-d7/a0-a6;Register zurueckholen
error:
rts				; Ruecksprung in SEKA/CLI
; --------------------------------------
newcopper:			; Neue Copperliste
dc.w 	$0180,$0000,$0182,$0ddd	; Hinter/Vorderg.Farben setzen	
dc.w 	$008e,$2c81,$0090,$f4c1 
dc.w 	$0092,$0038,$0094,$00d0 
dc.w 	$0108,$0004,$010a,$0004	
dc.w 	$0102,$0000,$0104,$0000 
dc.w 	$0100,$1200		
dc.w    $00e0,$0005,$00e2,$0000	
dc.w	$0120,$0004,$0122,$0000
dc.w	$0124,$0004,$0126,$1000
dc.w	$0128,$0004,$012a,$2000
dc.w	$012c,$0004,$012e,$3000
dc.w	$0130,$0004,$0132,$4000
dc.w	$0134,$0004,$0136,$5000
dc.w	$0138,$0004,$013a,$6000
dc.w	$013c,$0004,$013e,$7000

dc.w	$2501,$ff00,$0180,$0001
dc.w	$2601,$ff00,$0180,$0002
dc.w	$2701,$ff00,$0180,$0003
dc.w	$2801,$ff00,$0180,$0004
dc.w	$2901,$ff00,$0180,$0005
dc.w	$2a01,$ff00,$0180,$0006
dc.w	$2b01,$ff00,$0180,$0007
dc.w	$2c01,$ff00,$0180,$0008
dc.w	$2d01,$ff00,$0180,$0009
dc.w	$2e01,$ff00,$0180,$000a
dc.w	$2f01,$ff00,$0180,$000b
dc.w	$3001,$ff00,$0180,$000c
dc.w	$3101,$ff00,$0180,$000d
dc.w	$3201,$ff00,$0180,$000e
dc.w	$3301,$ff00,$0180,$000f
dc.w	$3401,$ff00,$0180,$000e
dc.w	$3501,$ff00,$0180,$000d
dc.w	$3601,$ff00,$0180,$000c
dc.w	$3701,$ff00,$0180,$000b
dc.w	$3801,$ff00,$0180,$000a
dc.w	$3901,$ff00,$0180,$0009
dc.w	$3a01,$ff00,$0180,$0008
dc.w	$3b01,$ff00,$0180,$0007
dc.w	$3c01,$ff00,$0180,$0006
dc.w	$3d01,$ff00,$0180,$0005


dc.w	$4001,$ff00,$0180,$0000,$0182,$000e
dc.w	$4301,$ff00,$0182,$000d
dc.w	$4601,$ff00,$0182,$000c
dc.w	$4901,$ff00,$0182,$000b
dc.w	$4a01,$ff00,$0182,$000a
dc.w	$4d01,$ff00,$0182,$0009
dc.w	$5001,$ff00,$0182,$0008
dc.w	$5301,$ff00,$0182,$0007
dc.w	$5601,$ff00,$0182,$0006
dc.w	$5901,$ff00,$0182,$0005


dc.w	$5a01,$ff00,$0180,$0001
dc.w	$5b01,$ff00,$0180,$0002
dc.w	$5c01,$ff00,$0180,$0003
dc.w	$5d01,$ff00,$0180,$0004
dc.w	$5e01,$ff00,$0180,$0005
dc.w	$5f01,$ff00,$0180,$0006
dc.w	$6001,$ff00,$0180,$0007
dc.w	$6101,$ff00,$0180,$0008
dc.w	$6201,$ff00,$0180,$0009
dc.w	$6301,$ff00,$0180,$000a
dc.w	$6401,$ff00,$0180,$000b
dc.w	$6501,$ff00,$0180,$000c
dc.w	$6601,$ff00,$0180,$000d
dc.w	$6701,$ff00,$0180,$000e
dc.w	$6801,$ff00,$0180,$000f

dc.w	$6a01,$ff00,$0180,$000f
dc.w	$6b01,$ff00,$0180,$000e
dc.w	$6c01,$ff00,$0180,$000d
dc.w	$6d01,$ff00,$0180,$000c
dc.w	$6e01,$ff00,$0180,$000b
dc.w	$6f01,$ff00,$0180,$000a
dc.w	$7001,$ff00,$0180,$0009
dc.w	$7101,$ff00,$0180,$0008
dc.w	$7201,$ff00,$0180,$0007
dc.w	$7301,$ff00,$0180,$0006
dc.w	$7401,$ff00,$0180,$0005
dc.w	$7501,$ff00,$0180,$0004
dc.w	$7601,$ff00,$0180,$0003
dc.w	$7701,$ff00,$0180,$0002
dc.w	$7801,$ff00,$0180,$0001
dc.w	$7901,$ff00,$0180,$0000

dc.w	$7c01,$ff00,$01a2,$0000,$01aa,$0000
dc.w	$01b2,$0000,$01ba,$0000

dc.w	$8f01,$ff00,$0180,$0000

dc.w 	$01A2,$0fff,$01A4,$0444
dc.w	$01A6,$0888,$01A8,$0000
		
dc.w 	$01AA,$0fff,$01AC,$0444
dc.w	$01AE,$0888,$01B0,$0000
		
dc.w 	$01B2,$0fff,$01B4,$0444
dc.w	$01B6,$0888,$01B8,$0000
		
dc.w 	$01BA,$0fff,$01BC,$0444
dc.w	$01BE,$0888,$01C0,$0000
waitab:
blk.w	456,0			; Speicher fuer WAIT Befehle
dc.w $ffff,$fffe		; Ende Der CopperListe
; --------------------------------------
even
scrollmsg:			; Scrolltext
DC.B	"THE VISITORS$ ARE PROUD TO PRESENT YOU: -TERROPODS-      "
DC.B	" NOW I SEND THANKS"
DC.B	" TO: THE INFERNAL DUO FOR THE SOUND,ACF AND HQC FOR"
DC.B	" THE GOOD HINTS AND TO COMMODORE FOR THIS BREATH"
DC.B	"TAKING MACHINE !!!    NOW TO THE CREDITS : "
DC.B	"CODED,SPRITE DESIGNED AND IDEA BY THE VISITORS  "
DC.B	"   SOUND DIGITIZED BY THE INFERNAL DUO     "
DC.B	"NOW YOU CAN READ A LIST OF POEPLE OR GROUPS WITH "
DC.B	"WHICH WE WANT TO SWAP SOFTWARE OR INFORMATION ABOUT "
DC.B	"PROGRAMMING : E.C.A     SODAN     VISITER <USA>   "
DC.B	"  SCA     TLC     HOTLINE     1001 CREW     DCS     SAL   "
DC.B	"  SPREADPOINT     GURUMASTER     RED SECTOR     MEGABYTE   "
DC.B	"  PIXEL WIZZARD     RELAX !       ",0
DC.B	"NOW THE VISITORS$ SEND GREETINGS TO <IN NO SPECIAL ORDER>" 
DC.B	": ACF    THE BITSTOPPERS    HQC    ENTERPRISE    MFC    THE KENT "
DC.B	"TEAM    DANISH GOLD    ACS (GERMANY+DENAMARK)    SUPREMACY"
DC.B	"    ECC    TOC    SSI    THE LIGHT CIRCLE    SKYLINE    GCS   "
DC.B	"007'S FIRMA    THE MAGIK BREAKERS    CCC    POWERSTATION    "
DC.B	"COBRA <BERLIN>    AMIGO    BFBS    CAPTAIN ZICO   "
DC.B	"KNIGHTRIDER    STAR FRONTIERS    THE SMITH INC.    "
DC.B	"THE A-TEAM    SUBMARINE    THE INFERNAL DUO    SKY VOYAGERS"
DC.B	"   TGG    THE CHAMP    HIGHLANDER    BIG BYTE   SPHINX   "
DC.B	"DUNE     SO WE HOPE THAT WE HAVE NOT FORGOTTEN ANYONE !!! "
DC.B	"WE KNOW THIS IS ONLY A VERY LITTLE INTRO BUT THE SECOND ONE"
DC.B	" WILL HAVE BETTER GRAPHICS AND MORE ACTION IN IT "
DC.B	" SO NOW PRESS THE LEFT MOUSEBUTTON AND ENJOY THE "
DC.B	"PROGRAMM...      WE HOPE TO SEE YOU ON A NICE COPY-PARTY   "
DC.B	"   BYEBYE...                  ",0 
even
ende:
dc.w	0
; --------------------------------------
even				; jetzt folgen diverse labels
gfxbase:
dc.l 	0			; Basisadresse Fuer GFX-Library
; --------------------------------------
bitmap:
blk.w 	4,0			; Bitmapstruktur
plane1:
blk.l 	10,0
; --------------------------------------
rastport:			; RastPort Struktur
blk.l 	1,0
r_bitmap:
blk.l 	26,0
; --------------------------------------
oldcopper:			; Alte Copperlistenadresse merken
dc.l 	0
; --------------------------------------
gfxname:			; Name der GFX-Library
dc.b 	"graphics.library",0
; --------------------------------------
diskfontname:			; Name der DISKFONT-Libary
dc.b 	"diskfont.library",0
even
dosname:
dc.b	"Dos.library",0
dosbase:
dc.l	0
; --------------------------------------
fontname:			; Name des Zeichensates
dc.b 	"V-INTRO.font",0
even
textattr:			; Stuktur des Zeichensatzes
				; wird bei OPENFONT uebergeben
dc.l	fontname		; Adresse des namens
dc.w	26			; Hoehe in Punkten
dc.w	0			; diverse Flags
; --------------------------------------
fontlbase:			; Anfangsadresse DiskfontLib
dc.l	0			; merken		
; --------------------------------------
fontbase:			; Anfangsadresse Zeichensatz merken
dc.w	0
; --------------------------------------
rows:				; Anzahl der Gescrollten Bildpunkte
dc.b	0
even
; --------------------------------------
c_ptr:				; Zeiger auf Scrollmessage
dc.l	0
even
; --------------------------------------
coltab:				; Farben fuer Laufschrift
dc.w $0111,$0111,$0222,$0333,$0444,$0555,$0666,$0777,$0888
dc.w $0999,$0aaa,$0bbb,$0ccc,$0ddd,$0eee,$0fff
dc.w $0eee,$0ddd,$0ccc,$0bbb,$0aaa,$0999,$0888
dc.w $0777,$0666,$0555,$0444,$0333,$0222,$0111
dc.w $0011,$0022,$0033,$0044,$0055,$0066,$0077,$0088,$0099
dc.w $00aa,$00bb,$00cc,$00dd,$00ee,$00ff,$00ee
dc.w $00dd,$00cc,$00bb,$00aa,$0099,$0088,$0077
dc.w $0066,$0055,$0044,$0033,$0022,$0011
Print:

	lea	rastport,a1
	move.l	#25,d0
	move.l	#32,d1
	jsr	move(a6)

	lea	rastport,a1
	move.l	#12,d0
	move.l	#VText,a0
	jsr	Text(a6)
rts
VText:
dc.b	"THE VISITORS"

;			Sprite Daten V I S T O R
Sprite1:
dc.w	$8d6a,$9f00				;V
dc.w	$781e,$0000,$f83e,$7c1f,$f83e,$7c1f,$f83e,$7c1f
dc.w	$f83e,$7c1f,$f83e,$7c1f,$f83e,$7c1f,$f83e,$7c1f
dc.w	$f83e,$7c1f,$f83e,$7c1f,$f87e,$7e1f,$fefe,$7f7f
dc.w	$fefe,$7f7f,$3ff8,$5ffe,$3ff8,$1ffc,$0fe0,$17f8
dc.w	$0fe0,$07f0,$0000,$07e0,$0000,$0000
Sprite7:
dc.w	$8d72,$9f00				;I
dc.w	$3ffc,$0000,$7ffc,$3ffe,$7ffc,$3ffe,$7ffc,$3ffe
dc.w	$7ffc,$3ffe,$03c0,$3ffc,$07c0,$03e0,$07c0,$03e0
dc.w	$07c0,$03e0,$07c0,$03e0,$07c0,$03e0,$07c0,$03e0
dc.w	$3ffc,$03c0,$7ffc,$3ffe,$7ffc,$3ffe,$7ffc,$3ffe
dc.w	$7ffc,$3ffe,$0000,$3ffc,$0000,$0000

sprite3:
dc.w	$8d7a,$9f00				;S
dc.w	$1ffe,$0000,$3ffe,$1fff,$3ffe,$5fff,$fffe,$7fff
dc.w	$fffe,$7fff,$f800,$7ffe,$f800,$7c00,$fff8,$7800
dc.w	$3ff8,$5ffc,$3ffe,$1ff9,$003e,$1fdf,$003e,$001f
dc.w	$7ffe,$001f,$fffe,$7fff,$fffe,$7fff,$fff8,$7ffe
dc.w	$fff8,$7ffc,$0000,$7ff8,$0000,$0000


sprite8:
dc.w	$8da4,$9f00				;S
dc.w	$1ffe,$0000,$3ffe,$1fff,$3ffe,$5fff,$fffe,$7fff
dc.w	$fffe,$7fff,$f800,$7ffe,$f800,$7c00,$fff8,$7800
dc.w	$3ff8,$5ffc,$3ffe,$1ff9,$003e,$1fdf,$003e,$001f
dc.w	$7ffe,$001f,$fffe,$7fff,$fffe,$7fff,$fff8,$7ffe
dc.w	$fff8,$7ffc,$0000,$7ff8,$0000,$0000


sprite5:
dc.w	$8d89,$9f00				;T
dc.w	$3ff8,$0000,$7ff8,$3ffc,$7ffa,$3ffc,$7ffe,$3fff
dc.w	$7ffe,$3fff,$001e,$3fff,$003e,$001f,$003e,$001f
dc.w	$003e,$001f,$003e,$001f,$003e,$001f,$003e,$001f
dc.w	$003e,$001f,$003e,$001f,$003e,$001f,$003e,$001f
dc.w	$003e,$001f,$0000,$001e,$0000,$0000

sprite6:
dc.w	$8d92,$9f00				;O
dc.w	$1ff8,$0000,$3ff8,$1ff8,$7ffe,$1ff8,$fffe,$7ffe
dc.w	$fffe,$7fff,$f81e,$7fff,$f83e,$7c1f,$f83e,$7c1f
dc.w	$f83e,$7c1f,$f83e,$7c1f,$f83e,$7c1f,$f83e,$7c1f
dc.w	$fffe,$781f,$fffe,$7fff,$fffe,$7fff,$3ff8,$5ffe
dc.w	$3ff8,$1ffc,$0000,$1ff8,$0000,$0000
sprite2:
dc.w	$8d9b,$9f00				;R
dc.w	$7fe0,$0000,$fff0,$7ff0,$fffe,$7ff0,$fffe,$7fff
dc.w	$fffe,$7fff,$fffe,$7fff,$001e,$7fff,$7ffe,$001f
dc.w	$fff8,$7fff,$fffe,$7ffc,$f81e,$7fff,$f83e,$7c1f
dc.w	$f83e,$7c1f,$f83e,$7c1f,$f83e,$7c1f,$f83e,$7c1f
dc.w	$f83e,$7c1f,$0000,$781e,$0000,$0000

sprite4:
dc.w	$8d82,$9f00				;S
dc.w	$3ffc,$0000,$7ffc,$3ffe,$7ffc,$3ffe,$7ffc,$3ffe
dc.w	$7ffc,$3ffe,$03c0,$3ffc,$07c0,$03e0,$07c0,$03e0
dc.w	$07c0,$03e0,$07c0,$03f0,$07c0,$03e0,$07c0,$03e0
dc.w	$3ffc,$03c0,$7ffc,$3ffe,$7ffc,$3ffe,$7ffc,$3ffe
dc.w	$7ffc,$3ffe,$0000,$3ffc,$0000,$0000

;
; ---- Play digitized Sound ----
; Assemble the Prg (using 'a'), load the sound 
; called 'sound' to $50000 using 'ri [ret] sound [ret] $50000 [ret*2]'
; and start the Program by typing 'j beg' 
;
; type 'j end' to stop the playing of the sound
beg:
bsr.s		end			; stop audio DMA
move.l		#sound,$dff0a0		; set start of audio data
					; for channel 0
move.w		#[50450/2],$dff0a4	; set length in words 
					; (length in bytes/2)
move.w		#300,$dff0a6		; set replaying speed
move.w		#64,$dff0a8		; set max. Volume
move.w		#$8201,$dff096		; start audio DMA
rts

end:
move.w		#$0001,$dff096		; stop audio DMA
rts
font:
blk.b		3684,0
sound:
blk.b		50450,0
