s:
lea	$52000,a0
lea	$61000,a1
l1:
clr.l	(a0)+
cmp.l	a0,a1
bne	l1
lea	$70000,a0
lea	$71000,a1
l2:
clr.l	(a0)+
cmp.l	a0,a1
bne	l2

lea	coppar,a0
move.l	#$7811fffe,d0
move.w	#$0182,d1
lea	color,a1
move.w	#6,d3
nt:
move.w	#16,d2
makec1:
move.l	d0,(a0)+
move.w	d1,(a0)+
move.w	(a1)+,(a0)+
add.l	#$01000000,d0
sub.w	#1,d2
bne	makec1
add.l	#$02000000,d0
sub.w	#1,d3
bne	nt

lea	$76000,a0
lea	$50000,a1
bsr	unpack
bsr	setupcol
bsr	mb

move.l	$04,a6
jsr	-132(a6)
lea	gfxname,a1
jsr	-408(a6)
move.l	d0,gfxbase
move.l	d0,a0
move.l	50(a0),oldclist
move.l	#newclist,50(a0)
move.l	$6c,oldirq+2
move.l	#newirq,$6c
wait:
btst	#6,$bfe001
bne.s	wait
move.l	oldirq+2,$6c
move.l	gfxbase,a0
move.l	oldclist,50(a0)
move.l	$04,a6
move.l	gfxbase,a1
jsr	-414(a6)
jsr	-138(a6)
rts

newirq:
movem.l	d0-d7/a0-a6,-(sp)

bsr	makeall
bsr	blittall
bsr	makescrolly
bsr	scroll
bsr	stars
bsr	blittotti
sub.w	#1,w2
bne	exit
move.w	#4,w2
sub.l	#8,wert
cmp.l	#$51ef0,wert
bpl	exit
move.l	#$51f10,wert
exit:
movem.l	(sp)+,d0-d7/a0-a6
oldirq:
jmp	$00000000

newclist:
dc.w	$008e,$2c81,$0090,$30c1,$0092,$0038,$0094,$00d0
dc.w	$0102,$0000,$0104,$0000,$0108,40,$010a,0
dc.w	$0100,$3400
dc.w	$00e0,$0005,$00e2,$3000,$00e4,$0006,$00e6,$0000
dc.w	$00e8,$0005,$00ea,$3028
copcol:
blk.l	4,0
dc.w	$1011,$fffe,$180,1
dc.w	$7611,$fffe,$0100,$2200
dc.w	$e0,$5,$e2,$3000+[74*80],$e4,$5,$e6,$3028+[74*80],$10a,40
dc.w	$192,$fff
coppar:
blk.w	6*16*4,0
dc.w	$e511,$fffe,$180,1
dc.w	$e611,$fffe,$180,2
dc.w	$e711,$fffe,$180,3
dc.w	$e811,$fffe,$180,4
dc.w	$e911,$fffe,$e2,$8000,$e6,$8028,$180,5,$182,$fff,$184,$0
dc.w	$186,$e4e
dc.w	$ffe1,$fffe,$190,0
dc.w	$1a11,$fffe,$00e0,$0007,$00e4,$0007,$00e2,$0002
dc.w	$00e6,$002e,$182,$999,$108,48,$010a,48

dc.w	$1c11,$fffe,$180,$400
dc.w	$1d11,$fffe,$180,$600
dc.w	$1e11,$fffe,$180,$800
dc.w	$1f11,$fffe,$180,$600
dc.w	$2011,$fffe,$180,$400
dc.w	$2111,$fffe,$180,$4

dc.w	$2411,$fffe,$180,$400
dc.w	$2511,$fffe,$180,$600
dc.w	$2611,$fffe,$180,$800
dc.w	$2711,$fffe,$180,$600
dc.w	$2811,$fffe,$180,$400
dc.w	$2911,$fffe,$180,$4

dc.w	$2c11,$fffe,$180,4
dc.w	$2d11,$fffe,$180,3
dc.w	$2e11,$fffe,$180,2
dc.w	$2f11,$fffe,$180,1
dc.w	$3011,$fffe,$180,0
dc.w	$ffff,$fffe

oldclist:
dc.l	0
gfxbase:
dc.l	0
gfxname:
dc.b	"graphics.library",0
even
unpack:
	add.l	#12,a0
	move.l	4(a0),d0
	add.l	d0,a0
	add.l	#8,a0
	move.l	a0,cmapchunk

iff1:	cmp.l	#$424f4459,(a0)
	beq	iff0
	add.l	#2,a0
	bra	iff1

iff0:	move.l	4(a0),d0	; Anzahl Bytes
	add.l	#1,d0
	and.l	#$fffffffe,d0

	add.l	#8,a0		; Pointer to first Byte

iff4:	clr.l	d2
	move.b	(a0)+,d2
	bmi	iff6

iff5:	move.b	(a0)+,(a1)+
	subi.l	#1,d0
	subi.b	#1,d2
	bpl	iff5
	bra	iff7
	
iff6:	neg.b	d2
	beq	iff7

iff61:	move.b	(a0),(a1)+
	subi.b	#1,d2
	bpl	iff61
	subi.l	#1,d0
	add.l	#1,a0

iff7:	subi.l	#1,d0
	bmi	iff8
	beq	iff8
	bra	iff4

iff8:	move.l	cmapchunk,a0
	move.l	cmap,a1
	add.l	#8,a0
	move.l	#8,d0

cmaploop:
	clr.l	d1
	move.b	(a0),d1
	lsl.w	#4,d1
	move.b	2(a0),d1
	lsr.b	#4,d1
	or.b	1(a0),d1
	move.w	d1,(a1)+
	add.l	#3,a0
	sub.w	#1,d0
	bne	cmaploop
	rts

cmapchunk:
	dc.l	0

cmap:	dc.l	color1

color1:	blk.w	8,0

setupcol:		; Set Colors
lea	color1,a0
lea	copcol,a1
move.l	#$01800000,d0
move.l	#4,d1

suc1:
move.w	(a0)+,d0
move.l	d0,(a1)+
add.l	#$00020000,d0
sub.w	#1,d1
bne	suc1
rts
adr:
dc.l	$500f8,$500fc,$50100,$50104,$50108,$5010c
badr:
dc.l	$53008,$5300c,$53010+160,$53014+320,$53018+480
dc.l	$5301c+640
blittall:
move.w	#6,d2
lea	adr,a0
lea	badr,a1
notblittet:
move.l	(a0)+,d0
move.l	(a1)+,d1
bsr	blittp
sub.w	#1,d2
bne	notblittet
rts

blittp:
move.l	d0,$dff050
move.l	d1,$dff054
move.w	#36,$dff064
move.w	#36,$dff066
move.w	#$ffff,$dff044
move.w	#$ffff,$dff046
move.l	#$09f00000,$dff040
move.w	#$1702,$dff058
waitp:
btst	#6,$dff002
bne	waitp
rts

makeall:
lea	badr,a1
move.l	sz1,a0
bsr	getsinus
move.l	a0,sz1

move.l	sz2,a0
bsr	getsinus
move.l	a0,sz2

move.l	sz3,a0
bsr	getsinus
move.l	a0,sz3

move.l	sz4,a0
bsr	getsinus
move.l	a0,sz4

move.l	sz5,a0
bsr	getsinus
move.l	a0,sz5

move.l	sz6,a0
bsr	getsinus
move.l	a0,sz6
rts

getsinus:
move.l	(a0)+,d0
cmp.l	#$ffff,d0
bne	notf
lea	sd,a0
move.l	(a0)+,d0
notf:
add.l	d0,(a1)+
rts
sd:
dc.l	0,0,0,80,80,80,80,80,80,160,160,160,160,240,240,320,320
dc.l	-320,-320,-240,-240,-160,-160,-160,-160,-80,-80,-80,-80
dc.l	-80,-80
dc.l	$ffff
sz1:	dc.l	sd
sz2:	dc.l	sd+[2*4]
sz3:	dc.l	sd+[4*4]
sz4:	dc.l	sd+[6*4]
sz5:	dc.l	sd+[8*4]
sz6:	dc.l	sd+[10*4]

mb:
lea	board,a3
move.l	#$546d0+[3*80],d3
move.w	#6,d5
nnar:
move.w	#20,d4
notall:
move.b	(a3)+,d0
bsr	makesen
add.l	#2,d3
sub.w	#1,d4
bne	notall
add.l	#[35*40],d3
sub.w	#1,d5
bne	nnar
rts

makesen:
move.l	#45,d1
lea	ascii,a0
nrc:
cmp.b	(a0,d1.l),d0
beq	printit
sub.l	#1,d1
bpl	nrc
printit:
lsl.l	#2,d1
add.l	#atab,d1
move.l	d1,a2
move.l	(a2),d0
move.l	d3,d1
bsr	getchar
rts

getchar:
move.l	d0,$dff050
move.l	d1,$dff054
move.w	#38,$dff064
move.w	#38,$dff066
move.w	#$ffff,$dff044
move.w	#$ffff,$dff046
move.l	#$09f00000,$dff040
move.w	#$0801,$dff058
waitforchar:
btst	#6,$dff002
bne	waitforchar
rts
b = $50ff0
c = $514f0
d = $519f0
atab:
dc.l	b,b+2,b+4,b+6,b+8,b+10,b+12,b+14,b+16,b+18,b+20,b+22
dc.l	b+24,b+26,b+28,b+30,b+32,b+34,b+36,b+38
dc.l	c,c+2,c+4,c+6,c+8,c+10,c+12,c+14,c+16,c+18,c+20,c+22
dc.l	c+24,c+26,c+28,c+30,c+32,c+34,c+36,c+38
dc.l	d,d+2,d+4,d+6,d+8,d+10,d+12,d+14,d+16,d+18,d+20,d+22
dc.l	d+24,d+26,d+28,d+30,d+32
ascii:
dc.b	"abcdefghijklmnopqrst"
dc.b	"uvwxyz0123456789,-./"
dc.b	":! (*)"
board:
dc.b	"presents : new stuff"
dc.b	" we are looking for "
dc.b	"   new members !!!  "
dc.b	" contact us under : "
dc.b	"    plk 073908 c    "
dc.b	"5060 berg.gladbach 2"
text:
dc.b	"sargon ...  there*s a new mighty place on earth ... "
dc.b	"plk 073908 c    5060 berg.gladbach 2       we were the "
dc.b	"best alpha flighters ....    watch out for our demos and "
dc.b	"cracks ...   we are looking for new gouys to join    "
dc.b	"if you are a coder send your best demo to us   "
dc.b	"if you are a swapper send hottest stuff to us   "
dc.b	"and if you are a musican then send your best song to us  "
dc.b	"we also need great graphicans ....       "
dc.b	"there*s a good chace to get famous .... it*s called sargon"
dc.b	" ....          "
dc.b	0
even
textzeiger:	dc.l	text

makescrolly:
sub.w	#1,shift
bne	return
move.w	#4,shift
move.l	textzeiger,a0
move.b	(a0)+,d0
bne	notff
lea	text,a0
move.b	(a0)+,d0
notff:
move.l	#$7002a,d3
move.l	a0,textzeiger
bsr	searchchar
return:
rts

searchchar:
move.l	#45,d1
lea	ascii,a0
nrc2:
cmp.b	(a0,d1.l),d0
beq	printit2
sub.l	#1,d1
bpl	nrc2
printit2:
lsl.l	#2,d1
add.l	#atab,d1
move.l	d1,a2
move.l	(a2),d0
move.l	d3,d1
bsr	getchar2
rts

getchar2:
move.l	d0,$dff050
move.l	d1,$dff054
move.w	#38,$dff064
move.w	#42,$dff066
move.w	#$ffff,$dff044
move.w	#$ffff,$dff046
move.l	#$09f00000,$dff040
move.w	#$0801,$dff058
waitforchar2:
btst	#6,$dff002
bne	waitforchar2
rts
scroll:
move.l	#$70002,$dff050
move.l	#$70000,$dff054
move.w	#40,$dff064
move.w	#40,$dff066
move.w	#$ffff,$dff044
move.w	#$0,$dff046
move.l	#$c9f00000,$dff040
move.w	#$0818,$dff058
wait2getchar:
btst	#6,$dff002
bne	wait2getchar
rts
shift:	dc.w	8
color:
dc.w	$404,$505,$606,$707,$808,$909,$a0a,$b0b,$b0b,$a0a,$909,$808
dc.w	$707,$606,$505,$404
dc.w	4,5,6,7,8,9,10,11,11,10,9,8,7,6,5,4
dc.w	$440,$550,$660,$770,$880,$990,$aa0,$bb0,$bb0,$aa0,$990,$880
dc.w	$770,$660,$550,$440
dc.w	$444,$555,$666,$777,$888,$999,$aaa,$bbb,$bbb,$aaa,$999,$888
dc.w	$777,$666,$555,$444
dc.w	$400,$500,$600,$700,$800,$900,$a00,$b00,$b00,$a00,$900,$800
dc.w	$700,$600,$500,$400
dc.w	$40,$50,$60,$70,$80,$90,$a0,$b0,$b0,$a0,$90,$80,$70,$60,$50
dc.w	$40
blittotti:
move.l	wert,$dff050
move.l	#$58010,$dff054
move.w	#32,$dff064
move.w	#32,$dff066
move.w	#$ffff,$dff044
move.w	#$ffff,$dff046
move.l	#$09f00000,$dff040
move.w	#$1804,$dff058
waitforotti:
btst	#6,$dff002
bne	waitforotti
rts
wert:	dc.l	$51f10
w2:	dc.w	3
stars:
lea	startab,a5
move.w	#138,d5

lea	$60000,a0
clr.l	d7
clr.l	d0
sub.w	#1,d5

nextstar:
move.w	(a5),d0
move.w	2(a5),d1
move.w	4(a5),d3
add.w	d3,(a5)

mulu	#40,d1
move.w	d1,d7
move.w	d0,d2
lsr	#3,d0
add.w	d0,d7
and.w	#7,d2
moveq	#7,d0
sub.w	d2,d0
bclr	d0,(a0,d7.w)
cmp.w	#320,(a5)
bcs	contsp
sub.w	#320,(a5)

contsp:
move.w	(a5),d0
move.w	d0,d2
lsr.w	#3,d0
add.w	d0,d1
and.w	#7,d0
moveq	#7,d0
sub.w	d2,d0
bset	d0,(a0,d1.w)
add.w	#6,a5
dbf	d5,nextstar
rts

startab:
dc.w	182,0,10
dc.w	89,0,8
dc.w	120,1,7
dc.w	262,1,1
dc.w	165,2,7
dc.w	171,2,9
dc.w	251,3,6
dc.w	54,3,10
dc.w	143,4,9
dc.w	103,4,6
dc.w	85,5,8
dc.w	240,5,7
dc.w	2,6,9
dc.w	46,6,1
dc.w	119,7,10
dc.w	9,7,4
dc.w	177,8,9
dc.w	191,8,8
dc.w	121,9,6
dc.w	33,9,10
dc.w	94,10,2
dc.w	287,10,1
dc.w	247,11,8
dc.w	124,11,10
dc.w	204,12,3
dc.w	279,12,8
dc.w	180,13,8
dc.w	237,13,7
dc.w	221,14,7
dc.w	163,14,6
dc.w	44,15,4
dc.w	238,15,9
dc.w	273,16,4
dc.w	226,16,1
dc.w	20,17,5
dc.w	135,17,5
dc.w	101,18,3
dc.w	139,18,10
dc.w	258,19,1
dc.w	127,19,3
dc.w	167,20,10
dc.w	135,20,4
dc.w	101,21,8
dc.w	123,21,4
dc.w	131,22,9
dc.w	153,22,4
dc.w	177,23,1
dc.w	8,23,5
dc.w	34,24,8
dc.w	219,24,4
dc.w	146,25,4
dc.w	26,25,3
dc.w	273,26,4
dc.w	232,26,7
dc.w	159,27,8
dc.w	260,27,4
dc.w	286,28,2
dc.w	122,28,9
dc.w	251,29,5
dc.w	252,29,7
dc.w	130,30,9
dc.w	118,30,9
dc.w	272,31,8
dc.w	181,31,2
dc.w	64,32,2
dc.w	122,32,8
dc.w	74,33,2
dc.w	68,33,7
dc.w	43,34,9
dc.w	314,34,6
dc.w	256,35,3
dc.w	102,35,2
dc.w	205,36,3
dc.w	109,36,4
dc.w	277,37,9
dc.w	48,37,8
dc.w	264,38,5
dc.w	45,38,9
dc.w	238,39,6
dc.w	249,39,1
dc.w	182,40,1
dc.w	89,40,3
dc.w	120,41,5
dc.w	262,41,1
dc.w	165,42,7
dc.w	171,42,3
dc.w	251,43,6
dc.w	54,43,2
dc.w	143,44,5
dc.w	103,44,6
dc.w	85,45,3
dc.w	240,45,7
dc.w	2,46,4
dc.w	46,46,1
dc.w	119,47,4
dc.w	9,47,5
dc.w	177,48,8
dc.w	191,48,2
dc.w	121,49,6
dc.w	33,49,1
dc.w	68,50,5
dc.w	43,50,1
dc.w	314,51,3
dc.w	256,51,5
dc.w	102,52,6
dc.w	205,52,3
dc.w	109,53,3
dc.w	277,53,2
dc.w	48,54,6
dc.w	264,54,1
dc.w	45,55,5
dc.w	238,55,2
dc.w	249,56,6
dc.w	182,56,8
dc.w	89,57,1
dc.w	120,57,5
dc.w	262,58,2
dc.w	165,58,6
dc.w	171,59,4
dc.w	251,59,3
dc.w	130,60,1
dc.w	118,60,7
dc.w	272,61,8
dc.w	181,61,2
dc.w	64,62,1
dc.w	122,62,8
dc.w	74,63,2
dc.w	68,63,7
dc.w	43,64,3
dc.w	314,64,6
dc.w	256,65,5
dc.w	102,65,2
dc.w	205,66,3
dc.w	109,66,4
dc.w	277,67,7
dc.w	48,67,8
dc.w	264,68,5
dc.w	45,68,3
dc.w	238,69,2
dc.w	249,69,1
