
	opt	c-,o+


	Section ddp1,code_C


	move.l	#screen,a0
	move.l	#screen+scrsize,a1
	
flush_loop:

	move.l	#0,(a0)+
	cmp.l	a1,a0
	bne.s	flush_loop

	move.l  4.w,a6		; open graphics lib
	jsr     -$84(a6)
	lea	glib,a1
	moveq	#0,d0
	move.l	4.w,a6
	jsr	-$228(a6)
	tst	d0
	beq	error
	move.l	D0,graphics	; store address of graphics lib
	
	move.l	#Screen,d0	; store address of bitplane0
	move.w	d0,bitplane0_lo	; into the copper list
	swap	d0
	move.w	d0,bitplane0_hi
	swap	d0
	add.l	#bplen,d0
	
	move.w	d0,bitplane1_lo
	swap	d0
	move.w	d0,bitplane1_hi
	swap	d0
	add.l	#bplen,d0

	move.w	d0,bitplane2_lo
	swap	d0
	move.w	d0,bitplane2_hi
	swap	d0
	add.l	#bplen,d0

	move.w	d0,bitplane3_lo
	swap	d0
	move.w	d0,bitplane3_hi
		
	move.l	graphics,a6
	add.l	#$32,a6
	move.w	#$80,$dff096		; dma control write
	move.l	(a6),old_copper		; store the address of the
	move.l	#my_copper,(a6)		; old copperlist
	move.w	#$8080,$dff096		; dma control write
	move.w	#$8010,$dff09a		; interupt enable bits
	move.l	$6c.w,old_interupt	; store old level 3 int
	move.l	#new_interupt,$6c.w	; store my routine

	jsr	do_logo
					; into level 3 int
	bchg	#1,$bfe001		; turn led off
	jsr	waitmouse
	bchg	#1,$bfe001
	
	move.l	old_interupt,$6c.w	; resore old level 3 int
	move.l	#$10,$dff09a 		; Disable Level 3 Interupt
	move.l	graphics,a6
	add.l	#$32,a6
	move.w	#$0080,$dff096
	move.l	old_copper,(a6)		; restore old copper list
	move.w	#$8080,$dff096
	move.l	graphics,a1
	move.l	4.w,a6
	jsr	-$19e(a6)
	move.l	4.w,a6
	jsr	-138(a6)
Error:	moveq	#0,d0			; fin
	rts

waitmouse:

	btst	#6,$bfe001
	bne.s	waitmouse

	rts

new_interupt:
	movem.l	d0-d7/a0-a6,-(sp)	; my scroll text

	and.w	#$10,$dff01e		; check for copper interupt
	beq 	no_music
	move.w	#$10,$dff09c

	jsr	do_logo
	jsr	do_scrolly

	clr.l	d0
	move.l	bounce_point,a0
	move.b	(a0),d0
	mulu	#44,d0
	move.l	#Screen+(35*44)+14,d1
	add.l	d1,d0
	
	add.l	#1,bounce_point
	move.l	bounce_point,a0
	cmp.l	#bounce_end,a0
	blt.s	not_bounce_end
	
	move.l	#bounce_list,bounce_point
	
not_bounce_end:
	
	move.w	d0,bitplane4_lo	; into the copper list
	swap	d0
	move.w	d0,bitplane4_hi
	swap	d0
	add.l	#bplen,d0
	
	move.w	d0,bitplane5_lo
	swap	d0
	move.w	d0,bitplane5_hi
	swap	d0
	add.l	#bplen,d0

	move.w	d0,bitplane6_lo
	swap	d0
	move.w	d0,bitplane6_hi
	swap	d0
	add.l	#bplen,d0

	move.w	d0,bitplane7_lo
	swap	d0
	move.w	d0,bitplane7_hi

no_music:
	movem.l	(sp)+,d0-d7/a0-a6	
	dc.w	$4ef9			; jmp
old_interupt:	dc.l	0		; the old int lev 3


do_scrolly:

	move.l	scrollspeed,d0
	sub.w	d0,scrollpos
	bmi.s	doit_scrolly
	move.w	scrollpos,d0
	and.w	#15,d0
	mulu	#16,d0
	or.w	scrollpos,d0
	move.w	d0,scroll_big
	
	rts
	
doit_scrolly:
	add.w	#16,scrollpos
	move.w	scrollpos,d0
	and.w	#15,d0
	mulu	#16,d0
	or.w	scrollpos,d0
	move.w	d0,scroll_big

	move.l	#screen+an-42,a0
	Move.l	#screen+an-40,a1

	move.l	a0,$dff054				; dest mem d
	Move.l	a1,$dff050				; source mem a
	move.w	#0,$dff064				; source a modulo 
	Move.w	#$ffff,$dff044				; blit 1st word mask source a
	Move.w	#$ffff,$dff046				; blit 1st word mask source a
	move.w	#%1001*256+$f0,$dff040			; blit cont reg 0
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#0,$dff066				; modulo for dest
	Move.w	#(128*64)+22,$dff058			; blit height,width
	jsr	doblit

	add.l	#(wide*down),a0
	add.l	#(wide*down),a1

	move.l	a0,$dff054				; dest mem d
	Move.l	a1,$dff050				; source mem a
	move.w	#0,$dff064				; source a modulo 
	Move.w	#$ffff,$dff044				; blit 1st word mask source a
	Move.w	#$ffff,$dff046				; blit 1st word mask source a
	move.w	#%1001*256+$f0,$dff040			; blit cont reg 0
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#0,$dff066				; modulo for dest
	Move.w	#(128*64)+22,$dff058			; blit height,width
	jsr	doblit

	add.l	#(wide*down),a0
	add.l	#(wide*down),a1

	move.l	a0,$dff054				; dest mem d
	Move.l	a1,$dff050				; source mem a
	move.w	#0,$dff064				; source a modulo 
	Move.w	#$ffff,$dff044				; blit 1st word mask source a
	Move.w	#$ffff,$dff046				; blit 1st word mask source a
	move.w	#%1001*256+$f0,$dff040			; blit cont reg 0
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#0,$dff066				; modulo for dest
	Move.w	#(128*64)+22,$dff058			; blit height,width
	jsr	doblit
	
	move.l	scrmask,d0
	move.l	minmask,d1
	cmp.b	d0,d1
	ble	more_balls_2
	
	clr.l	d0

	move.l	textptr,a0
	move.b	(a0),d0
	
	add.l	#1,textptr
	cmp.b	#0,d0
	bne.s	scroll_text_ok
	
	move.l	#scrolltext,textptr
	move.w	#32,d0
	
scroll_text_ok:

	cmp.b	#"|",d0
	bne.s	not_ctrl

	clr.l	d0
	clr.l	d3
	
	move.l	textptr,a0
	move.b	(a0)+,d3
	
	sub.l	#48,d3
	mulu	#10,d3
	
	move.b	(a0)+,d0
	sub.l	#48,d0
	add.l	d0,d3
	
	move.l	d3,scrollspeed
	
	move.b	(a0)+,d0
	move.l	a0,textptr
	bra.s	scroll_text_ok
not_ctrl:

	sub.b	#32,d0
	move.l	d0,a6
	mulu	#8,d0
	
	move.l	#chrtable,a1
	move.w	d0,a2
	add.l	a2,a1
	
	move.l	#screen+an,a0
	move.l	a1,cbadd

	move.l	a0,mem1

	move.l	#spctable,a1
	add.l	a1,a6
	
	move.b	(a6),d6
	move.l	#7,d5
	sub.l	d6,d5
	move.l	#7,scrmask
	move.l	d5,minmask

more_balls_2:

	move.l	#screen+an,a4
	move.l	a4,$dff054			; dest mem d
	move.w	#0,$dff064			; source a modulo 
	Move.w	#0,$dff044			; blit 1st word mask source a
	move.w	#0,$dff046			; blit last word mask source a
	move.w	#(%0001)*256,$dff040		; blit cont reg 0
	move.w	#%0000000000000100,$dff042	; blit cont reg 1
	Move.w	#scrwide-2,$dff066			; modulo for dest
	Move.w	#(128*64)+1,$dff058		; blit height,width
	jsr	doblit

	add.l	#wide*down,a4
	move.l	a4,$dff054		; dest mem d
	move.w	#0,$dff064			; source a modulo 
	Move.w	#0,$dff044			; blit 1st word mask source a
	move.w	#0,$dff046			; blit last word mask source a
	move.w	#(%0001)*256,$dff040		; blit cont reg 0
	move.w	#%0000000000000100,$dff042	; blit cont reg 1
	Move.w	#scrwide-2,$dff066			; modulo for dest
	Move.w	#(128*64)+1,$dff058		; blit height,width
	jsr	doblit

	add.l	#wide*down,a4
	move.l	a4,$dff054		; dest mem d
	move.w	#0,$dff064			; source a modulo 
	Move.w	#0,$dff044			; blit 1st word mask source a
	move.w	#0,$dff046			; blit last word mask source a
	move.w	#(%0001)*256,$dff040		; blit cont reg 0
	move.w	#%0000000000000100,$dff042	; blit cont reg 1
	Move.w	#scrwide-2,$dff066			; modulo for dest
	Move.w	#(128*64)+1,$dff058		; blit height,width
	jsr	doblit

	add.l	#wide*down,a4
	move.l	a4,$dff054		; dest mem d
	move.w	#0,$dff064			; source a modulo 
	Move.w	#0,$dff044			; blit 1st word mask source a
	move.w	#0,$dff046			; blit last word mask source a
	move.w	#(%0001)*256,$dff040		; blit cont reg 0
	move.w	#%0000000000000100,$dff042	; blit cont reg 1
	Move.w	#scrwide-2,$dff066			; modulo for dest
	Move.w	#(128*64)+1,$dff058		; blit height,width
	jsr	doblit

	move.l	scrmask,d6
	cmp.l	#0,d6
	bge.s	ok_test
	
	sub.l	#1,scrmask
	
	rts
	
ok_test:

	move.l	mem1,a0
	
	move.w	#7,d2
	move.l	scrmask,d4

more_balls_1:
	
	move.l	cbadd,a1
	move.b	(a1),d0

	btst	d4,d0
	beq.s	no_ball_here

	jsr	blit_ball
	
no_ball_here:	

	add.l	#1,cbadd
	move.l	scrheight,d6
	add.l	d6,a0
		
	sub.w	#1,d2
	bpl.s	more_balls_1	
	
	move.l	scrheight,d6
	mulu	#8,d6
	move.l	d6,a6
	sub.l	a6,a0

	sub.l	#1,scrmask
	sub.l	#8,cbadd

	move.l	a0,mem1
	
	rts
	
	
	
	
	


blit_ball:
	movem.l	d0-d7/a0-a6,-(sp)
	
	move.l	#ball,a1

	move.l	a0,$dff054				; dest mem d
	Move.l	a1,$dff050				; source mem a
	move.w	#0,$dff064				; source a modulo 
	Move.w	#$ffff,$dff044				; blit 1st word mask source a
	Move.w	#$ffff,$dff046				; blit 1st word mask source a
	move.w	#%1001*256+$f0,$dff040				; blit cont reg 0
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#scrwide-2,$dff066				; modulo for dest
	Move.w	#(15*64)+1,$dff058			; blit height,width

	jsr	doblit

	add.l	#(wide*down),a0
	add.l	#30,a1
	
	move.l	a0,$dff054				; dest mem d
	move.w	#0,$dff064				; source a modulo 
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#scrwide-2,$dff066				; modulo for dest
	Move.w	#(15*64)+1,$dff058			; blit height,width

	jsr	doblit

	add.l	#(wide*down),a0
	add.l	#30,a1
	
	move.l	a0,$dff054				; dest mem d
	move.w	#0,$dff064				; source a modulo 
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#scrwide-2,$dff066				; modulo for dest
	Move.w	#(15*64)+1,$dff058			; blit height,width

	jsr	doblit

	movem.l	(sp)+,d0-d7/a0-a6	
	rts



do_logo:
	
	move.l	#screen+(down*wide*0),$dff054		; dest mem d
	move.w	#0,$dff064				; source a modulo 
	Move.w	#0,$dff044				; blit 1st word mask source a
	move.w	#0,$dff046
	move.w	#(%0001)*256,$dff040		; blit cont reg 0
	move.w	#%0000000000000100,$dff042		; blit cont reg 1
	Move.w	#0,$dff066				; modulo for dest
	Move.w	#(22*64)+20,$dff058			; blit height,width
	jsr	doblit
	
	move.l	#screen+(down*wide*1),$dff054		; dest mem d
	move.w	#0,$dff064				; source a modulo 
	Move.w	#0,$dff044				; blit 1st word mask source a
	move.w	#0,$dff046
	move.w	#(%0001)*256,$dff040		; blit cont reg 0
	move.w	#%0000000000000100,$dff042		; blit cont reg 1
	Move.w	#0,$dff066				; modulo for dest
	Move.w	#(22*64)+20,$dff058			; blit height,width
	jsr	doblit

	move.l	#screen+(down*wide*2),$dff054		; dest mem d
	move.w	#0,$dff064				; source a modulo 
	Move.w	#0,$dff044				; blit 1st word mask source a
	move.w	#0,$dff046
	move.w	#(%0001)*256,$dff040		; blit cont reg 0
	move.w	#%0000000000000100,$dff042		; blit cont reg 1
	Move.w	#0,$dff066				; modulo for dest
	Move.w	#(22*64)+20,$dff058			; blit height,width
	jsr	doblit

	move.l	#screen+(down*wide*3),$dff054		; dest mem d
	move.w	#0,$dff064				; source a modulo 
	Move.w	#0,$dff044				; blit 1st word mask source a
	move.w	#0,$dff046
	move.w	#(%0001)*256,$dff040		; blit cont reg 0
	move.w	#%0000000000000100,$dff042		; blit cont reg 1
	Move.w	#0,$dff066				; modulo for dest
	Move.w	#(22*64)+20,$dff058			; blit height,width
	jsr	doblit

	clr.l	d4
	move.l	logo_point,a0
	move.b	(a0),d4
	add.l	#1,logo_point
	move.l	logo_point,a0
	cmp.l	#logo_end,a0
	bne.s	logo_not_fin
	move.l	#logo_sin,logo_point
logo_not_fin:
	
	Move.l	#screen+(down*wide*0),a0
	move.l	d4,d1
	lsr.l	#3,d1
	move.l	d1,a1
	add.l	a1,a0
	
	move.l	d4,d0
	and.w	#15,d0
	mulu	#4096,d0
	or.w	#(%1001*256)+$f0,d0
	
	move.l	a0,$dff054				; dest mem d
	Move.l	#logo2+(28*22*0),$dff050		; source mem a
	move.w	#0,$dff064				; source a modulo 
	Move.w	#$ffff,$dff044				; blit 1st word mask source a
	move.w	d0,$dff040				; blit cont reg 0
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#12,$dff066				; modulo for dest
	Move.w	#(22*64)+14,$dff058			; blit height,width

	jsr	doblit

	Move.l	#screen+(down*wide*1),a0
	move.l	d4,d1
	lsr.l	#3,d1
	move.l	d1,a1
	add.l	a1,a0

	move.l	a0,$dff054				; dest mem d
	Move.l	#logo2+(28*22*1),$dff050		; source mem a
	move.w	#0,$dff064				; source a modulo 
	Move.w	#$ffff,$dff044				; blit 1st word mask source a
	move.w	d0,$dff040		; blit cont reg 0
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#12,$dff066				; modulo for dest
	Move.w	#(22*64)+14,$dff058			; blit height,width

	jsr	doblit

	Move.l	#screen+(down*wide*2),a0
	move.l	d4,d1
	lsr.l	#3,d1
	move.l	d1,a1
	add.l	a1,a0

	move.l	a0,$dff054
	Move.l	#logo2+(28*22*2),$dff050		; source mem a
	move.w	#0,$dff064				; source a modulo 
	Move.w	#$ffff,$dff044				; blit 1st word mask source a
	move.w	d0,$dff040		; blit cont reg 0
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#12,$dff066				; modulo for dest
	Move.w	#(22*64)+14,$dff058			; blit height,width

	jsr	doblit

	Move.l	#screen+(down*wide*3),a0
	move.l	d4,d1
	lsr.l	#3,d1
	move.l	d1,a1
	add.l	a1,a0
	
	move.l	a0,$dff054				; dest mem d
	Move.l	#logo2+(28*22*3),$dff050		; source mem a
	move.w	#0,$dff064				; source a modulo 
	Move.w	#$ffff,$dff044				; blit 1st word mask source a
	move.w	d0,$dff040		; blit cont reg 0
	move.w	#0,$dff042				; blit cont reg 1
	Move.w	#12,$dff066				; modulo for dest
	Move.w	#(22*64)+14,$dff058			; blit height,width

	jsr	doblit

dont:

	rts


doblit:
	Btst.b	#6,$dff002		; wait for the blit
wait_blit:
 	Btst.b	#6,$dff002		; wait for the blit
	Bne.s	wait_blit		; to finish
	
	rts
	
	;Section	copdat,Data_C

bounce_list:
		dc.b	15
		dc.b	16
		dc.b	17
		dc.b	18
		dc.b	19
		dc.b	20
		dc.b	21
		dc.b	22
		dc.b	22
		dc.b	23
		dc.b	24
		dc.b	25
		dc.b	26
		dc.b	26
		dc.b	27
		dc.b	27
		dc.b	28
		dc.b	28
		dc.b	29
		dc.b	29
		dc.b	29
		dc.b	29
		dc.b	29
		dc.b	29
		dc.b	29
		dc.b	29
		dc.b	29
		dc.b	29
		dc.b	28
		dc.b	28
		dc.b	27
		dc.b	27
		dc.b	26
		dc.b	26
		dc.b	25
		dc.b	24
		dc.b	23
		dc.b	22
		dc.b	22
		dc.b	21
		dc.b	20
		dc.b	19
		dc.b	18
		dc.b	17
		dc.b	16
		dc.b	15
		dc.b	13
		dc.b	12
		dc.b	11
		dc.b	10
		dc.b	9
		dc.b	8
		dc.b	7
		dc.b	7
		dc.b	6
		dc.b	5
		dc.b	4
		dc.b	3
		dc.b	3
		dc.b	2
		dc.b	2
		dc.b	1
		dc.b	1
		dc.b	0
		dc.b	0
		dc.b	0
		dc.b	0
		dc.b	0
		dc.b	0
		dc.b	0
		dc.b	0
		dc.b	0
		dc.b	0
		dc.b	1
		dc.b	1
		dc.b	2
		dc.b	2
		dc.b	3
		dc.b	3
		dc.b	4
		dc.b	5
		dc.b	6
		dc.b	7
		dc.b	7
		dc.b	8
		dc.b	9
		dc.b	10
		dc.b	11
		dc.b	12
		dc.b	13
bounce_end:

		even

logo_sin:	
		dc.b	60
		dc.b	68
		dc.b	76
		dc.b	84
		dc.b	91
		dc.b	98
		dc.b	104
		dc.b	109
		dc.b	113
		dc.b	117
		dc.b	119
		dc.b	119
		dc.b	119
		dc.b	118
		dc.b	115
		dc.b	111
		dc.b	107
		dc.b	101
		dc.b	95
		dc.b	88
		dc.b	80
		dc.b	72
		dc.b	64
		dc.b	55
		dc.b	47
		dc.b	39
		dc.b	31
		dc.b	24
		dc.b	18
		dc.b	12
		dc.b	8
		dc.b	4
		dc.b	1
		dc.b	0
		dc.b	0
		dc.b	0
		dc.b	2
		dc.b	6
		dc.b	10
		dc.b	15
		dc.b	21
		dc.b	28
		dc.b	35
		dc.b	43
		dc.b	51
logo_end:

		even

old_copper:	dc.l	0
graphics:	dc.l	0

my_copper:	
		dc.w	$100,-1,$0101,$ff00	; kill action replay
		
		dc.w	$100,$4200	; 4 bp - lo res
		dc.w	$104,$a		; bp control reg
		dc.w	$108,0		; bp modulo - odd
		dc.w	$10a,0		; bp modulo - even
		dc.w	$180,0		; colour 0 to black
		dc.w	$102,0
		
		dc.w	$08e,$2c81	; bp window start left
		dc.w	$090,$2cc1	; bp window bot right
		dc.w	$094,$d0	; bp stop horz
		dc.w	$92,$38
		dc.w	$120,0,$122,0
		
		dc.w	$182,$f55
		dc.w	$184,$d44
		dc.w	$186,$c33
		dc.w	$188,$a22
		dc.w	$18a,$911
		dc.w	$18c,$711
		dc.w	$18e,$600
		dc.w	$190,$400
		dc.w	$192,$fff
		dc.w	$194,$ddd
		dc.w	$196,$bbb
		dc.w	$198,$888
		dc.w	$19a,$666
		dc.w	$19c,$444
		dc.w	$19e,$fff
		
		dc.w	$0e0		; bp 1 address hi-byte
bitplane0_hi:	dc.w	0
		dc.w	$e2		; bp 1 address
bitplane0_lo:	dc.w	0,$e4

bitplane1_hi:	dc.w	0
		dc.w	$e6		; bp 2 address
bitplane1_lo:	dc.w	0,$e8

bitplane2_hi:	dc.w	0
		dc.w	$ea		; bp 3 address
bitplane2_lo:	dc.w	0,$ec

bitplane3_hi:	dc.w	0
		dc.w	$ee		; bp 4 address
bitplane3_lo:	dc.w	0

reflection:	dc.w	$4301,$ff00,$108,-120,$10a,-120,$180,$001

		dc.w	$4401,$ff00,$180,$003
		dc.w	$4501,$ff00,$180,$004
		dc.w	$4601,$ff00,$180,$005
		dc.w	$4701,$ff00,$180,$006
		
		dc.w	$182,$e44
		dc.w	$184,$c33
		dc.w	$186,$b22
		dc.w	$188,$911
		dc.w	$18a,$800
		dc.w	$18c,$600
		dc.w	$18e,$500
		dc.w	$190,$300
		dc.w	$192,$eee
		dc.w	$194,$ccc
		dc.w	$196,$aaa
		dc.w	$198,$777
		dc.w	$19a,$555
		dc.w	$19c,$333
		dc.w	$19e,$eee

		

		dc.w	$4f01,$ff00,$108,0,$10a,0,$102,0
		
		dc.w	$0e0		; bp 1 address hi-byte
bitplane4_hi:	dc.w	0
		dc.w	$e2		; bp 1 address
bitplane4_lo:	dc.w	0,$e4

bitplane5_hi:	dc.w	0
		dc.w	$e6		; bp 2 address
bitplane5_lo:	dc.w	0,$e8

bitplane6_hi:	dc.w	0
		dc.w	$ea		; bp 3 address
bitplane6_lo:	dc.w	0,$ec

bitplane7_hi:	dc.w	0
		dc.w	$ee		; bp 4 address
bitplane7_lo:	dc.w	0

		dc.w	$5101,$ff00,$180,$fff
		dc.w	$5201,$ff00,$180,$000

		dc.w	$08e,$2c81	; bp window start left
		dc.w	$090,$2cc1	; bp window bot right
		dc.w	$094,$d8	; bp stop horz
		dc.w	$092,$30	; bs start horz

		dc.w	$5301,$ff00
		dc.w	$102
scroll_big:	dc.w	0
		
		dc.w	$182,$08f
		dc.w	$184,$05c
		dc.w	$186,$04b
		dc.w	$188,$029
		dc.w	$18a,$017
		dc.w	$18c,$006
		dc.w	$18e,$004
		
		dc.w	$ffe1,$fffe
		dc.b	refdown+0,01
		dc.w	$ff00,$180,$003
		dc.b	refdown+1,01
		dc.w	$ff00,$180,$004
		dc.b	refdown+2,01
		dc.w	$ff00,$180,$005
		dc.b	refdown+3,01
		dc.w	$ff00,$180,$006

		dc.w	$108,-scrwide*4,$10a,-scrwide*4
		
		dc.w	$182,$07e
		dc.w	$184,$04b
		dc.w	$186,$03a
		dc.w	$188,$018
		dc.w	$18a,$006
		dc.w	$18c,$005
		dc.w	$18e,$003



		dc.w	$3001,$ff00
		dc.w	$100,0		; kill action replay
		
		dc.w	$9c,$8010	; irq set bits - ?
		dc.w	$ffff,$fffe	; end of copper list
	
glib:		dc.b	"graphics.library",0

	even
	
down		equ	256
wide		equ	46
an		equ	114*44+88

refdown		equ	10

scrmask:	dc.l	-1
minmask:	dc.l	-1

scrwide		equ	44

cbadd:		dc.l	0
mem1:		dc.l	0

scrollspeed:	dc.l	6

scrollpos	dc.w	15

scrheight:	dc.l	scrwide*16

bounce_point:	dc.l	bounce_list
logo_point:	dc.l	logo_sin
textptr:	dc.l	scrolltext

delay:		dc.l	0

scrsize		equ	46*256*4			
screen		equ	$70000
bplen		equ	11776

logo2:		incbin	"logo2.bin"
	even
chrtable:	incbin	"chrset.bin"
	even
spctable:	incbin	"chrset.spc"
	even
ball:		incbin	"ball.bin"
	even

scrolltext:

	dc.b	"|10LSD PRESENTS: |08DOCUMENT DISK #4.  |10"
	dc.b    "CONTACT LSD.. INTRO WRITTEN BY SHAGRATT.  "
	dc.b	"LSD ARE (NO ORDER) BILLY BONE, SHAGRATT, PARASITE, MONTY PYTHON, CYLON, REBEL, CTHULHU, OSSWALD, "
	dc.b	"AMIGA JOE, MARK SCOTLAND, STIGA, A.S.L.   "
	dc.b	"GREETZ GO BOUNCING TO: SLIPSTREAM, "
	dc.b	"AMIGA YORKSHIRE, ORACLE, MAYHEM UK, NETWORK, ACU, MIGHTY DRIUDS, "
	dc.b	"PARANOIMIA, MAVERICK, MAXELL & ALAN, PAUL & DAVE, TOM JONES, TURKISH VAMPIRE, ZENITH, BRIAN, BOB, LES, BRUCE, CHRIS, STEVE, "
	dc.b	"COZY, ZARCH, POPPY, KITTY & KITTY, "
	dc.b 	"MIMA, LINDSEY, FRODO AND ALL OUR OTHER CONTACTS.             "
	dc.b	"WE URGENTLY REQUIRE A MUSICIAN, PARTICUALLY ONE WHO USES SOUNDTRACKER.                       ",0

	even

	End
