beg:

; ----- graphics.library -----
scrollraster=	-396
setapen=	-342
text= 		-60
setfont= 	-66
closefont=	-78
move= 		-240
draw=		-246
initbitmap= 	-390
initrastport= 	-198
clearscreen=	-48
; ----- exec.library     -----
allocabs=	-204
openlibrary= 	-408
closelibrary= 	-414
forbid= 	-132
permit= 	-138
; ----- diskfont.library -----
openfont= 	-30

execbase= 	$04

movem.l 	d0-d7/a0-a6,-(a7)
; ---- open graphics.library ----
bchg		#1,$bfe001
move.l		execbase,a6
lea		gfxname,a1
jsr		openlibrary(a6)
move.l		d0,gfxbase

jsr		forbid(a6)		; forbid multitasking
move.w		#$0020,$dff096		; stop sprite DMA
bsr.L		setupcopper		; copperliste setzen
move.l		gfxbase,a0		; copperliste einschalten
add.l		#$32,a0
move.w		#$0080,$dff096
move.l		(a0),oldcopper
move.l		#newcopper,(a0)
move.w		#$8080,$dff096
move.l		gfxbase,a6		; bitmapstruktur
lea		bitmap,a0		; initialisieren
move.l		#$02,d0
move.l		#352,d1
move.l		#200,d2
jsr		initbitmap(a6)
move.l		#$50000,plane1
move.l		#$52260,plane1+4
lea		rastport,a1
jsr		initrastport(a6)
move.l		#bitmap,r_bitmap
lea		rastport,a1		; Bildschirm loeschen
jsr		clearscreen(a6)
lea		rastport,a1
move.l		#$01,d0			; zeichenfarbe setzen
jsr		setapen(a6)
move.l		#$0a,d7			; text ausgeben
lea		texttab,a5
textloop1:
lea		rastport,a1
move.l		(a5)+,d0
move.l		(a5)+,d1
jsr		move(a6)
lea		rastport,a1
move.l		(a5)+,d0
move.l		(a5)+,a0
jsr		text(a6)
dbra		d7,textloop1
move.w		#$4000,$dff09a		; neuen irq einschalten
move.l		$6c,oldirq
move.l		#newirq,$6c
move.w		#$c000,$dff09a

wait:
btst		#6,$bfe001		; linke maustaste ???
bne.s		wait
move.w		#$4000,$dff09a		; auf alten irq zurueck
move.l		oldirq,$6c
move.w		#$c000,$dff09a
move.l		execbase,a6
move.l		gfxbase,a1		; graphic.lib schliessen
jsr		closelibrary(a6)
move.l		gfxbase,a0		; alte copperliste einschalten
add.l		#$32,a0
move.w		#$0080,$dff096
move.l		oldcopper,(a0)
move.w		#$8080,$dff096
move.l		execbase,a6		; multitasking erlauben
jsr		permit(a6)
move.w		#$8020,$dff096		; sprite DMA einschalten
movem.l		(a7)+,d0-d7/a0-a6
error:
rts


newirq:
movem.l		d0-d7/a0-a6,-(sp)
bsr.L		setupcopper		; goldene streifen bewegen
lea		waitab+6,a0
move.l		a0,a1
add.l		ptr1,a0
add.l		ptr2,a1
lea		goldcol,a2
move.l		#22,d2
addloop2:
move.w		(a2),(a0)
move.w		(a2)+,(a1)
add.l		#$08,a0
add.l		#$08,a1
dbra		d2,addloop2
add.l		#$08,ptr1
sub.l		#$08,ptr2
cmp.l		#$00,ptr2
bne.s		exity
move.l		#24,ptr1
move.l		#696,ptr2
exity:
move.l		gfxbase,a6		; scrolling
lea		rastport,a1
move.l		#$0,d0
clr.l		d1
move.l		#0,d2
move.l		#32,d3
move.l		#351,d4
move.l		#42,d5
jsr		scrollraster(a6)
lea		rastport,a1		; zweites scrolling
move.l		#$02,d0
clr.l		d1
move.l		#0,d2
move.l		#160,d3
move.l		#351,d4
move.l		#168,d5
jsr		scrollraster(a6)
sub.b		#08,rows		; schon 1 zeichen gescrollt
bne.s		continue1
move.b		#08,rows
move.l		gfxbase,a6
lea		rastport,a1
move.l		#$02,d0
jsr		setapen(a6)
lea		rastport,a1
move.l		#320,d0
move.l		#38,d1
bsr.s		text1
lea		rastport,a1
move.l		#320,d0
move.l		#167,d1
bsr.s		text1
add.l		#$01,c_ptr
cmp.l		#ende,c_ptr
bne.s		continue1
move.l		#scrollmsg,c_ptr
continue1:
movem.l		(sp)+,d0-d7/a0-a6
dc.w		$4ef9
oldirq:
dc.l	0

text1:
jsr		move(a6)		; naechstes zeichen aus scroll
lea		rastport,a1		; text ausgeben
move.l		c_ptr,a0
move.l		#1,d0
jsr		text(a6)
rts

setupcopper:
lea		waitab,a0
move.l		#111,d0
move.w		#$5809,d1
addloop1:
move.w		d1,(a0)+		; WAIT
move.w		#$fffe,(a0)+		; alle bits beachten
move.w		#$0182,(a0)+		; Farbe 1
move.w		#$0000,(a0)+		; schwarz
add.w		#$0100,d1		; naechste rasterzeile
dbra		d0,addloop1
rts

goldcol:
dc.w	$420,$430,$440,$450,$460,$470,$a80,$b90,$ca0,$db1,$ec2,$fd3
dc.w	$ec2,$db1,$ca0,$b90,$a80,$970,$860,$750,$640,$530,$420

newcopper:
dc.w $0100,$0000,$0182,$0fff
dc.w $0182,$0fff,$0186,$0fff
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,$2200,$00e0,$0005
dc.w $00e2,$0000,$00e4,$0005
dc.w $00e6,$2260
waitab:
blk.w 448,0	
even
scrollmsg:
DC.B	"REPLICA COPY CREW PROUDLY PRESENTS SOME NEW STUFF FOR YOU !!"
DC.B	" SOME GREETINGS GO TO OUR FRIENDS AND CONTACTS :R & W SOFT "
DC.B	"UNITED FREAKS INTERNATIONAL  B&B  TIGERCREW  DE VEGT  KSCS "
DC.B	" FAC  TND  HQC (NICE INTRO !!) BAMIGA SECTOR ONE  THE KENT "
DC.B	"TEAM  AMIGO (PLEASE WRITE BACK !!)  HI JOHN (HOW ABOUT THIS)"
DC.B	" AND TO INTRUDER (GET IN CONTACT WITH ME !!!) ONLY ONE ANTI-"
DC.B	"GREETING !!! TO THAT NOT SO FRESH 'GEE' IF YOU WANT SOME CU"
DC.B	"STOMERS ,KEEP YOUR PROMISES !!!! (BIG MOUTH !!!!!!!!!!!!!"
DC.B	"							    "
DC.B	" IF YOU LIKE TO GET IN TOUCH WITH ME ,WRITE TO ............"
DC.B	"GINO WIEMANN  JENSEMAHEERD 151  9736 CK GRONINGEN (HOLLAND)"
ende:
dc.w	0
even
it1:
DC.B	"           REPLICA COPY CREW             "
it2:
DC.B	"            Present in 1987              "
it3:
DC.B	"      SOME REAL NEW STUFF FOR YOU        "
it4:	 
dc.b	"AS ALWAYS SOME GREETINGS TO OUR FRIENDS "
it5:
dc.b	"AND SOME GROUPS : R&W-SOFT  DR.WHO  FAC "
it6:
dc.b	"DE VEGT  TIGER-CREW  KSCS  BS1  TKT  UFI"
it7:
dc.b	"AMIGO  BART&BARON  BWB  BOBO  TRIAD  FP"
it8:
dc.b	"HEADBANGER  TND  ANC  BST  HOTLINE   CC"
it9:
dc.b	"NO ONE  THE BLOCKHEADS  AND TO EVERYONE "
it10:
dc.b	"   A MERRY X-MAS AND A HAPPY NEW YEAR   "
it11:
dc.b	"    LOOK OUT FOR OTHER STUFF FROM US    "
it12:
dc.b
it13:
dc.b
even
gfxbase:
dc.l 	0
bitmap:
blk.w 	4,0
plane1:
blk.l 	10,0
rastport:
blk.l 	1,0
r_bitmap:
blk.l 	26,0
oldcopper:
dc.l 	0
gfxname:
dc.b 	"graphics.library",0
rows:
dc.b	2
even
c_ptr:
dc.l	scrollmsg
ptr1:
dc.l	24
ptr2:
dc.l	696
texttab:
dc.l	0,58,it2-it1,it1,0,66,it3-it2,it2,0,76,it4-it3,it3
dc.l	0,86,it5-it4,it4,0,94,it6-it5,it5,0,102,it7-it6,it6
dc.l	0,110,it8-it7,it7,0,118,it9-it8,it8,0,126,it10-it9
dc.l	it9,0,134,it11-it10,it10,0,142,it12-it11
dc.l	it11,0,150,it13-it12
