**************************************************
**	 "PARANOIMIA INTRO for Metallica"       **
**==============================================**
** by METALLION / KEFRENS for PARANOIMIA dec.89	**
**************************************************
;    ** hey Oliver, hope ya like it ...... **

jmp	$59c00

org	$59c00
load	$59c00

sinus_speed:	equ	22		; scroll-sinus speed

******************************************
**	DATA-FILES TO BE LOADED :	**
******************************************

music:		equ	$50370		; DON'T MOVE THIS
parafont:	equ	$5c000		; length: $780 bytes
paralogo:	equ	$5c800		; length: $800 b
sinustbl:	equ	$5d000		; length: $800 bytes

>extern	"david"		,music
>extern	"parafont"	,parafont
>extern	"paralogo"	,paralogo
>extern	"sinustbl"	,sinustbl

**************************************************
** USED MEMORY:	(WHERE TO LOCATE BUFFERS ??)	**
**************************************************

norm_scroll:	equ	$40000		; size: $0300
					; wid*heig: 48*16

scrbpl_1:	equ	$40400		; scroll-bitplanes (swapping)
scrbpl_2:	equ	$42a00		; size: $2400
					; wid*heig: 64*(128+16)

text_bpl:	equ	$45000		; size: $2400


end_scroll:	equ	norm_scroll+[48*16]-2

******************************************
**	INITIATE INTRO			**
******************************************
dmaset:	equ	%1000000111100000

start:
	movem.l	d0-d7/a0-a6	,-(a7)

	lea	$3f000	,a0
slet:	clr.l	(a0)+
	cmp.l	#$48000	,a0
	bne.s	slet

	bsr	wait_blit
	bsr	convert_text
	bsr	write_lines
	bsr	init_sprites


	lea	gfxlib(pc),a1
	move.l	4.w	,a6
	jsr	-408	(a6)
	move.l	d0	,gfxbas
	move.l	d0	,a6
	move.l	$26(a6)	,oldcop

	lea	$dff000	,a5
	move	$1c(a5)	,gemint
	move	$02(a5)	,gemdma
	move	#$7fff	,$9a(a5)	; clear int. enable
	move	#$7fff	,$9c(a5)	; clear int. request

	bsr	vblank

	move	#$7fff	,$96(a5)	; setup copper/inter/dma
	move.l	#copper	,$80(a5)
	move	#dmaset!$8200,$96(a5)
	move.l	$6c.w	,gemptr
	move.l	#inter	,$6c
	move	#$c020	,$9a(a5)
	clr	$88(a5)

	move	musicnr(pc),d0
	jsr	$503c4

******************************************
**	MAIN-LOOP			**
******************************************

mainloop:
	btst	#6	,$bfe001
	beq.s	get_out

	btst	#10	,$dff016
	bne.s	mainloop
slip:	btst	#10	,$dff016
	beq.s	slip

	addq	#1	,musicnr	
	cmp	#3	,musicnr
	bne.s	nolstmus
	clr	musicnr
nolstmus:
	move	musicnr(pc),d0
	jsr	$503c4
	bra.s	mainloop

musicnr:	dc.w	2

******************************************
**	END INTRO			**
******************************************

get_out:
	jsr	$50458

	lea	$dff000	,a5

	move	#$7fff	,$9a(a5)
	move	#$7fff	,$9c(a5)

	bsr.s	vblank

	move	#$7fff	,$9c(a5)
	move.l	oldcop	,$80(a5)
	move.l	gemptr	,$6c.w
	move	gemdma	,d0
	or	#$8000	,d0
	move	d0	,$96(a5)
	move	gemint	,d0
	or	#$c000	,d0
	move	d0	,$9a(a5)
	move	#0	,$88(a5)

	move.l	gfxbas(pc),a1
	move.l	4.w	,a6
	jsr	-414	(a6)

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

*************************************************

vblank:	tst.b	$05(a5)
	beq.s	vblank
vbl2:	tst.b	$05(a5)
	bne.s	vbl2
rts


******************************************
**	OWN MASTER-INTERRUPT		**
******************************************

inter:
	movem.l	d0-d7/a0-a6	,-(a7)

	bsr	get_bitplane
	bsr	clear_bitplane
	bsr	normal_scroll
	bsr	sinus_scroll
	bsr	sinus_sprites
	bsr	side_sprites
	jsr	$50518
	move	#$4020	,$dff09c

	movem.l	(a7)+	,d0-d7/a0-a6
rte

*************************************************

gfxlib:		dc.b	"graphics.library",0,0
gfxbas:		dc.l	0
oldcop:		dc.l	0
gemint:		dc.w	0
gemdma:		dc.w	0
gemptr:		dc.l	0
draw_plane:	dc.l	scrbpl_1

*************************************************
bpl_cnt:	dc.w	0

get_bitplane:
	lea	bplpnt(pc),a0

	bchg	#0	,bpl_cnt
	beq.s	setup_bpl2

setup_bpl1:
	move.l	#scrbpl_1 ,d1
	move.l	#scrbpl_2 ,d2
	bra.s	ok_setup

setup_bpl2:
	move.l	#scrbpl_2 ,d1
	move.l	#scrbpl_1 ,d2

ok_setup:
	move	d1	,6+8(a0)
	swap	d1
	move	d1	,2+8(a0)
	swap	d1
	sub.l	#64	,d1
	move	d1	,6(a0)
	swap	d1
	move	d1	,2(a0)
	move.l	d2	,draw_plane
rts

*************************************************

clear_bitplane:
	bsr	wait_blit
	move.l	#$01000000	,$40(a6)
	move.l	draw_plane(pc)	,$54(a6)
	move	#64-46		,$66(a6)
	move	#[128+17]*64+23	,$58(a6)
rts

*************************************************

txt_pnt:	dc.w	0
pix_cnt:	dc.w	0
pix_spd:	dc.w	2
sav_spd:	dc.w	2
stp_cnt:	dc.w	0

normal_scroll:
	tst	stp_cnt
	beq.s	ok_scroll
	subq	#1	,stp_cnt
rts

ok_scroll:
	move	sav_spd(pc)	,pix_spd
	move	pix_spd(pc)	,d0
	sub	d0	,pix_cnt

	ror	#4	,d0
	or	#$09f0	,d0
	swap	d0
	move	#$0002	,d0

	bsr	wait_blit

	move.l	d0		,$40(a6)
	move.l	#$ffff0fff	,$44(a6)
	move.l	#end_scroll	,$50(a6)
	move.l	#end_scroll	,$54(a6)
	clr.l	$64(a6)
	move	#16*64+24	,$58(a6)

	tst	pix_cnt
	bmi.s	plot_chr
rts


plot_chr:
	add	#16	,pix_cnt
get_chr:
	lea	scroll_text(pc)	,a0
	move	txt_pnt(pc)	,d0
	moveq	#0	,d1
	move.b	(a0,d0.w),d1
	cmp	#speed_set,d1
	bhs.s	set_speed


	add.l	#parafont,d1

	addq	#1	,d0
	cmp.b	#-1	,(a0,d0.w)
	bne.s	no_txtend
	moveq	#0	,d0
no_txtend:
	move	d0	,txt_pnt


	bsr	wait_blit

	move.l	#$09f00000	,$40(a6)
	move.l	#$ffffffff	,$44(a6)
	move.l	d1		,$50(a6)
	move.l	#norm_scroll+$2e,$54(a6)
	move	#120-2		,$64(a6)
	move	#48-2		,$66(a6)
	move	#16*64+1	,$58(a6)
rts

set_speed:
	addq	#1	,txt_pnt
	sub	#speed_set,d1
	lsr	#1	,d1
	bne.s	no_stop

	move	pix_spd	,sav_spd
	clr	pix_spd
	move	#100	,stp_cnt
	bra	get_chr

no_stop:
	move	d1	,sav_spd
	move	d1	,pix_spd
	bra	get_chr

*************************************************

sin_pnt:	dc.w	$400
sin_spd:	dc.w	sinus_speed

sinus_scroll:
	lea	sinustbl	,a0
	lea	norm_scroll	,a1
	move.l	draw_plane(pc)	,a2
	move	sin_pnt(pc)	,d0
	move	#$c000		,d1
	move	#$800-2		,d2
	move	#16*64+1	,d5
	moveq	#44/2		,d6

	bsr	wait_blit
	move.l	#$0dfc0000	,$40(a6)
	move.l	#$ffffffff	,$44(a6)
	move	#64-2		,$62(a6)	; B
	move	#48-2		,$64(a6)	; A
	move	#64-2		,$66(a6)	; D

nxtword:
	moveq	#8-1	,d7

nxtlin:	move.l	a2	,d3
	add	(a0,d0.w),d3		; D destin

	addq	#8	,d0
	and	d2	,d0

wbl2:	btst	#14	,2(a6)
	bne.s	wbl2

	move	d1	,$44(a6)	; mask
	move.l	a1	,$50(a6)	; A
	move.l	d3	,$54(a6)	; D
	move.l	d3	,$4c(a6)	; B
	move	d5	,$58(a6)

	ror	#2	,d1
	dbf	d7	,nxtlin

	addq	#2	,a1
	addq	#2	,a2
	dbf	d6	,nxtword


	add	#sinus_speed,sin_pnt
	and	d2	,sin_pnt
rts

*************************************************

write_lines:
	lea	text_bpl+[64*3]	,a0
	lea	line_text(pc)	,a1
	lea	parafont	,a2
	moveq	#0	,d1
	moveq	#0	,d2		; char counter
	moveq	#0	,d3		; line counter

plot_lin2:
	move.l	a2	,d4
	add.b	(a1,d1.w),d4
	move.l	d4	,a4		; char source
	move.l	a0	,a3
	add	d2	,a3
	add	d3	,a3		; char destin

	moveq	#16-1	,d7
plot_lin:
	move	(a4)	,(a3)
	add	#120	,a4
	add	#64	,a3
	dbf	d7	,plot_lin

	addq	#2	,d2
	cmp	#22*2	,d2
	bne.s	no_eol
	moveq	#0	,d2
	add	#20*64	,d3
no_eol:
	addq	#1	,d1
	cmp	#22*7	,d1
	bne.s	plot_lin2
rts

*************************************************

wait_blit:
	lea	$dff000	,a6
wbl:	btst	#14	,2(a6)
	bne.s	wbl
rts

*************************************************

init_sprites:
	bsr	write_sprites
	bsr	set_sprpnt
rts


write_sprites:
	lea	sprite_text+8(pc),a0
	lea	sprite_buf+4(pc),a2
	moveq	#8-1	,d0
nxt_spr:
	moveq	#0	,d1
	move.b	-(a0)	,d1
	lea	parafont,a1
	add	d1	,a1

	moveq	#16-1	,d7
nxt_sprl:
	move	(a1)	,d1
	move	d1	,(a2)
	lsr	#1	,d1
	move	d1	,6(a2)
	add	#120	,a1
	addq	#4	,a2
	dbf	d7	,nxt_sprl

	add	#8	,a2
	dbf	d0	,nxt_spr
rts

set_sprpnt:
	lea	sprite_buf(pc)	,a0
	lea	sprpnt(pc)	,a1
	move.l	a0	,d0

	moveq	#8-1	,d7
spnt:
	move	d0	,6(a1)
	swap	d0
	move	d0	,2(a1)
	swap	d0
	add	#18*4	,d0
	addq	#8	,a1
	dbf	d7	,spnt
rts

*************************************************

opdw_spd=24
side_spd=20

sinsd:		dc.w	0
andtal:		dc.w	$400-2
at_pus:		dc.w	120

sprmid:		dc.w	$100
spmdnr:		dc.w	0

ml1=020
ml2=060
ml3=120
ml4=160

side_sprites:
	lea	sinustbl,a1
	move	spmdnr	,d0
	move	(a1,d0.w),d1
	lsr	#6	,d1
	add	#$118-$40,d1
	move	d1	,sprmid
	add	#side_spd,d0
	and	#$800-2	,d0
	move	d0	,spmdnr


	lea	sprite_buf(pc),a0
	move	sinsd(pc),d0

	move	(a1,d0.w),d1
	lsr	#6	,d1
	sub	#$80	,d1
	move	sprmid(pc),d5

	move	#-ml4	,d7
	bsr.s	calc_mdkor
	moveq	#-ml3	,d7
	bsr.s	calc_mdkor
	moveq	#-ml2	,d7
	bsr.s	calc_mdkor
	moveq	#-ml1	,d7
	bsr.s	calc_mdkor
	moveq	#ml1	,d7
	bsr.s	calc_mdkor
	moveq	#ml2	,d7
	bsr.s	calc_mdkor
	moveq	#ml3	,d7
	bsr.s	calc_mdkor
	move	#ml4	,d7
	bsr.s	calc_mdkor


	add	#side_spd,d0
	move	andtal(pc),d6
	and	d6	,d0
	move	d0	,sinsd

	subq	#1	,at_pus
	bne.s	noatchg
	cmp	#$400	,sinsd
	blo.s	yesatchg
	move	#1	,at_pus
	bra.s	noatchg
yesatchg:
	move	#120	,at_pus
	bchg	#10	,andtal
noatchg:
rts


calc_mdkor:
	move	d1	,d2
	muls	d7	,d2
	divs	#128	,d2
	add	d5	,d2

	move.b	#0	,3(a0)
	btst	#0	,d2
	beq.s	nolwb
	move.b	#1	,3(a0)
nolwb:
	lsr	#1	,d2
	move.b	d2	,1(a0)
	add.l	#18*4	,a0
rts

*****************************

sinnr:	dc.w	0

sinus_sprites:
	lea	sprite_buf(pc),a0
	lea	sinustbl+$400,a1
	move	sinnr	,d0
	moveq	#7	,d7
nxtspr:
	move	(a1,d0.w),d1
	lsr	#7	,d1

	add.b	#$30	,d1
	move.b	d1	,(a0)
	add.b	#16	,d1
	move.b	d1	,2(a0)

	add	#110	,d0
	and	#$400-2	,d0
	add.l	#18*4	,a0

	dbf	d7	,nxtspr

	add	#opdw_spd,sinnr
	and	#$400-2	,sinnr
rts



*************************************************

col_lin:	macro
	dc.w	?1*$100+$11	,$fffe
	dc.w	$186	,?2
	dc.w	$18e	,?2
	dc.w	$196	,?2
	dc.w	$19e	,?2
endm


copper:
	dc.w	$100,$2200
	dc.w	$0e0,paralogo/$10000	,$0e2,paralogo
	dc.w	$0e4,paralogo/$10000	,$0e6,paralogo+40


	dc.w	$08e ,$3078 ,$090 ,$00c8
	dc.w	$092 ,$0038 ,$094 ,$00d0
	dc.w	$108 ,0
	dc.w	$10a ,0
	dc.w	$102 ,$01
	dc.w	$104 ,$24


sprpnt:	dc.w $120,0 ,$122,0
	dc.w $124,0 ,$126,0
	dc.w $128,0 ,$12a,0
	dc.w $12c,0 ,$12e,0
	dc.w $130,0 ,$132,0
	dc.w $134,0 ,$136,0
	dc.w $138,0 ,$13a,0
	dc.w $13c,0 ,$13e,0

scl1=$acf
scl2=$248
scl3=$f00

lcl1=$fe0
lcl2=$c80
lcl3=$830

	dc.w $180,$124 ,$182,scl2 ,$184,scl1 ,$186,scl3
	dc.w $188,lcl3 ,$18a,scl2 ,$18c,scl1 ,$18e,scl3
	dc.w $190,lcl1 ,$192,scl2 ,$194,scl1 ,$196,scl3
	dc.w $198,lcl2 ,$19a,scl2 ,$19c,scl1 ,$19e,scl3

spl1=$fe0
spl2=$830
spl3=$c80

	dc.w $1a2,spl1 ,$1a4,spl2 ,$1a6,spl3
	dc.w $1aa,spl1 ,$1ac,spl2 ,$1ae,spl3
	dc.w $1b2,spl1 ,$1b4,spl2 ,$1b6,spl3
	dc.w $1ba,spl1 ,$1bc,spl2 ,$1be,spl3



col_lin	$30 ,$000
col_lin	$31 ,$001
col_lin	$32 ,$012
col_lin	$33 ,$123
col_lin	$34 ,$234
col_lin	$35 ,$345
col_lin	$36 ,$456
col_lin	$37 ,$567
col_lin	$38 ,$678
col_lin	$39 ,$789
col_lin	$3a ,$89a
col_lin	$3b ,$9ab
col_lin	$3c ,$abc
col_lin	$3d ,$bcd
col_lin	$3e ,$cde
col_lin	$3f ,$def
col_lin	$40 ,$cde
col_lin	$41 ,$bcd
col_lin	$42 ,$abc
col_lin	$43 ,$9ab
col_lin	$44 ,$89a
col_lin	$45 ,$789
col_lin	$46 ,$678
col_lin	$47 ,$567
col_lin	$48 ,$456
col_lin	$49 ,$345
col_lin	$4a ,$234
col_lin	$4b ,$123
col_lin	$4c ,$012
col_lin	$4d ,$001
col_lin	$4e ,$000
col_lin	$4f ,$000
col_lin	$50 ,$000
col_lin	$51 ,$100
col_lin	$52 ,$210
col_lin	$53 ,$321
col_lin	$54 ,$432
col_lin	$55 ,$543
col_lin	$56 ,$654
col_lin	$57 ,$765
col_lin	$58 ,$124;$876
col_lin	$59 ,$124;$987
dc.w $184,$124
dc.w $182,$124
dc.w	$102,0

col_lin	$5a ,$124;$a98
col_lin	$5b ,$124;$ba9
col_lin	$5c ,$124;$cba
col_lin	$5d ,$124;$dcb
col_lin	$5e ,$124;$edc
col_lin	$5f ,$124;$fed

	dc.w	$6001,$fffe ,$100,$4200
dc.w $184,scl1
bplpnt:	dc.w	$0e0,4	,$0e2,$0000
	dc.w	$0e4,4	,$0e6,$0040
	dc.w	$0e8,text_bpl/$10000	,$0ea,text_bpl-64
	dc.w	$0ec,text_bpl/$10000	,$0ee,text_bpl
	dc.w	$092 ,$002c ,$094 ,$00d4
	dc.w	$108 ,64-44
	dc.w	$10a ,64-44
	dc.w	$102 ,$01

	dc.w	$180,$000 ,$188,$24f ,$190,$008 ,$198,$004

col_lin	$60 ,$edc
col_lin	$61 ,$dcb
col_lin	$62 ,$cba
col_lin	$63 ,$ba9
col_lin	$64 ,$a98
col_lin	$65 ,$987
col_lin	$66 ,$876
col_lin	$67 ,$765
col_lin	$68 ,$654
col_lin	$69 ,$543
col_lin	$6a ,$432
col_lin	$6b ,$321
col_lin	$6c ,$210
col_lin	$6d ,$100
col_lin	$6e ,$000
col_lin	$6f ,$000
col_lin	$70 ,$000
col_lin	$71 ,$001
col_lin	$72 ,$012
col_lin	$73 ,$123
col_lin	$74 ,$234
col_lin	$75 ,$345
col_lin	$76 ,$456
col_lin	$77 ,$567
col_lin	$78 ,$678
col_lin	$79 ,$789
col_lin	$7a ,$89a
col_lin	$7b ,$9ab
col_lin	$7c ,$abc
col_lin	$7d ,$bcd
col_lin	$7e ,$cde
col_lin	$7f ,$def
col_lin	$80 ,$cde
col_lin	$81 ,$bcd
col_lin	$82 ,$abc
col_lin	$83 ,$9ab
col_lin	$84 ,$89a
col_lin	$85 ,$789
col_lin	$86 ,$678
col_lin	$87 ,$567
col_lin	$88 ,$456
col_lin	$89 ,$345
col_lin	$8a ,$234
col_lin	$8b ,$123
col_lin	$8c ,$012
col_lin	$8d ,$001
col_lin	$8e ,$000
col_lin	$8f ,$000
col_lin	$90 ,$000
col_lin	$91 ,$100
col_lin	$92 ,$210
col_lin	$93 ,$321
col_lin	$94 ,$432
col_lin	$95 ,$543
col_lin	$96 ,$654
col_lin	$97 ,$765
col_lin	$98 ,$876
col_lin	$99 ,$987
col_lin	$9a ,$a98
col_lin	$9b ,$ba9
col_lin	$9c ,$cba
col_lin	$9d ,$dcb
col_lin	$9e ,$edc
col_lin	$9f ,$fed
col_lin	$a0 ,$edc
col_lin	$a1 ,$dcb
col_lin	$a2 ,$cba
col_lin	$a3 ,$ba9
col_lin	$a4 ,$a98
col_lin	$a5 ,$987
col_lin	$a6 ,$876
col_lin	$a7 ,$765
col_lin	$a8 ,$654
col_lin	$a9 ,$543
col_lin	$aa ,$432
col_lin	$ab ,$321
col_lin	$ac ,$210
col_lin	$ad ,$100
col_lin	$ae ,$000
col_lin	$af ,$000
col_lin	$b0 ,$000
col_lin	$b1 ,$001
col_lin	$b2 ,$012
col_lin	$b3 ,$123
col_lin	$b4 ,$234
col_lin	$b5 ,$345
col_lin	$b6 ,$456
col_lin	$b7 ,$567
col_lin	$b8 ,$678
col_lin	$b9 ,$789
col_lin	$ba ,$89a
col_lin	$bb ,$9ab
col_lin	$bc ,$abc
col_lin	$bd ,$bcd
col_lin	$be ,$cde
col_lin	$bf ,$def
col_lin	$c0 ,$cde
col_lin	$c1 ,$bcd
col_lin	$c2 ,$abc
col_lin	$c3 ,$9ab
col_lin	$c4 ,$89a
col_lin	$c5 ,$789
col_lin	$c6 ,$678
col_lin	$c7 ,$567
col_lin	$c8 ,$456
col_lin	$c9 ,$345
col_lin	$ca ,$234
col_lin	$cb ,$123
col_lin	$cc ,$012
col_lin	$cd ,$001
col_lin	$ce ,$000
col_lin	$cf ,$000

col_lin	$d0 ,$000
col_lin	$d1 ,$100
col_lin	$d2 ,$210
col_lin	$d3 ,$321
col_lin	$d4 ,$432
col_lin	$d5 ,$543
col_lin	$d6 ,$654
col_lin	$d7 ,$765
col_lin	$d8 ,$876
col_lin	$d9 ,$987
col_lin	$da ,$a98
col_lin	$db ,$ba9
col_lin	$dc ,$cba
col_lin	$dd ,$dcb
col_lin	$de ,$edc
col_lin	$df ,$fed
col_lin	$e0 ,$edc
col_lin	$e1 ,$dcb
col_lin	$e2 ,$cba
col_lin	$e3 ,$ba9
col_lin	$e4 ,$a98
col_lin	$e5 ,$987
col_lin	$e6 ,$876
col_lin	$e7 ,$765
col_lin	$e8 ,$654
col_lin	$e9 ,$543
col_lin	$ea ,$432
col_lin	$eb ,$321
col_lin	$ec ,$210
col_lin	$ed ,$100
col_lin	$ee ,$000
col_lin $ef ,$000

	dc.w	$180,$124

	dc.w	$f001,$fffe ,$100,$1200
	dc.w	$e0,norm_scroll/$10000 ,$e2,norm_scroll
	dc.w	$108,48-44

dc.w	$f001,$fffe ,$182,$ff6
dc.w	$f101,$fffe ,$182,$ff3
dc.w	$f201,$fffe ,$182,$ff0
dc.w	$f301,$fffe ,$182,$fd0
dc.w	$f401,$fffe ,$182,$fb0
dc.w	$f501,$fffe ,$182,$f90
dc.w	$f601,$fffe ,$182,$f70
dc.w	$f701,$fffe ,$182,$f50
dc.w	$f801,$fffe ,$182,$f30
dc.w	$f901,$fffe ,$182,$f10
dc.w	$fa01,$fffe ,$182,$d00
dc.w	$fb01,$fffe ,$182,$b00
dc.w	$fc01,$fffe ,$182,$900
dc.w	$fd01,$fffe ,$182,$700
dc.w	$fe01,$fffe ,$182,$500

dc.w	$ff01,$ff00 ,$100,$0200

dc.l $fffffffe

*************************************************

convert_text:
	lea	scroll_text(pc)	,a0
	bsr.s	conv_text
	lea	sprite_text(pc)	,a0
	bsr.s	conv_text
	lea	line_text(pc)	,a0
	bsr.s	conv_text
rts


conv_text:
	lea	availchr(pc)	,a1
find_nxt:
	moveq	#0	,d1
find_chr:
	move.b	(a0)	,d0
	cmp.b	(a1,d1.w),d0
	beq.s	found_chr

	addq	#1	,d1
	cmp	#avant	,d1
	bne.s	find_chr
	moveq	#0	,d1

found_chr:
	lsl	#1	,d1
	move.b	d1	,(a0)+
	cmp.b	#-1	,(a0)
	bne.s	find_nxt
rts


availchr:
	dc.b	" ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	dc.b	"0123456789.,:;",$27,$22
	dc.b	"!?#$%&*-=+/()[]<>"
speed_set=*-availchr*2
	dc.b	"»¹² ³   ¢"
avant=*-availchr
	even

*************************************************

sprite_buf:
blk.l	20*8,0

*************************************************

line_text:					; NB: 22 chars pr line
	dc.b	"**********************"
	dc.b	"*      PRESENTS:     *"
	dc.b	"*  DAY OF THE VIPER  *"
	dc.b	"*-=-=-=-=-=-=-=-=-=-=*"
	dc.b	"*    P.O. BOX 10     *"
	dc.b	"* 4140 AMAY, BELGIUM *"
	dc.b	"**********************"	,-1,-1

sprite_text:					; NB: 8 chars
	dc.b	"**1990**"			,-1,-1


scroll_text:
dc.b "³ ONCE AGAIN PARANOIMIA² PRESENTS:  » DAY OF THE VIPER !!   "
dc.b " *** INTRO-CODING BY METALLION OF KEFRENS **  PRESS RIGHT "
dc.b "MOUSE-BUTTON FOR DIFFERENT TUNES !!    "
dc.b	-1,-1

