 section text
***************************************************************************
  	jsr	setsuper
	jsr	clearscreen
	jsr	setupsprite
	jsr	rotate
	jsr	makeskull
	jsr	clearscreen
	jsr	fixlogo
	jsr	setlogo
	jsr	setscreen
	moveq	#1,d0
	jsr	music
	jsr	init
***************************************************************************
	move.l	#logopal,a0
	move.l	#palette,a1
	rept	8
	move.l	(a0)+,(a1)+
	endr
	jsr	setlogo
	move.w	#59,d0
	jsr	wait2
***************************************************************************
logoloop:
	jsr	waitvbl2
	cmp.w	#1,quit
	beq	quitit
	jsr	music+4
	sub.w	#1,logopos
	jsr	setlogo
	cmp.w	#0,logopos
	bne	logoloop
***************************************************************************
	move.w	#79,d0
	jsr	wait2
	move.l	#palette,a0
	rept	8
	clr.l	(a0)+
	endr
***************************************************************************
linefade:
	move.l	#linefadetab,a0
	move.w	#13,d0
	linefadeloop:
		jsr	waitvbl
		cmp.w	#1,quit
		beq	quitit
 		jsr	waitvbl
		cmp.w	#1,quit
		beq	quitit
		jsr	waitvbl
		cmp.w	#1,quit
		beq	quitit
		move.w	(a0)+,linecol
	dbra	d0,linefadeloop
***************************************************************************
	move.w	#79,d0
	jsr	wait2
	jsr	clearall2
***************************************************************************
	move.w	#$770,fontpal+2
	move.w	#$603,fontpal+4
	move.w	#$740,fontpal+6
***************************************************************************
sequence:
	jsr	vumeters
	cmp.w	#1,quit
	beq	quitit
	jsr	sinedots
	cmp.w	#1,quit
	beq	quitit
	jsr	putmakewish
	cmp.w	#1,quit
	beq	quitit
	jsr	zoom
	cmp.w	#1,quit
	beq	quitit
	jsr	theskull
	cmp.w	#1,quit
	beq	quitit
	jsr	putlucinda
	cmp.w	#1,quit
	beq	quitit
	jsr	zoom
	cmp.w	#1,quit
	beq	quitit
	jsr	putmakewish
	cmp.w	#1,quit
	beq	quitit
	jsr	putlucinda
	cmp.w	#1,quit
	beq	quitit
	jsr	theskull
	cmp.w	#1,quit
	beq	quitit
	jsr	vumeters
	cmp.w	#1,quit
	beq	quitit
	jsr	putmakewish
	cmp.w	#1,quit
	beq	quitit
	jsr	zoom
	cmp.w	#1,quit
	beq	quitit
	jsr	theskull
	cmp.w	#1,quit
	beq	quitit
	jsr	vumeters
	cmp.w	#1,quit
	beq	quitit
	jsr	putlucinda
	cmp.w	#1,quit
	beq	quitit
	jsr	zoom
	cmp.w	#1,quit
	beq	quitit
	jsr	putmakewish
	cmp.w	#1,quit
	beq	quitit
	jmp	sequence
***************************************************************************
quitit:
	move	#$8800,a0
	move.l	#$08000000,(a0)
	move.l	#$09000000,(a0)
	move.l	#$0a000000,(a0)
	move.b	oldres,$ffff8260.w
	move.b	oldphys1,$ffff8201.w
	move.b	oldphys2,$ffff8203.w
	move.l	oldlog,$44e
	move.w	#$2700,sr
	move.b	old07,$fffffa07.w
	move.b	old09,$fffffa09.w
	move.b	old13,$fffffa13.w
	move.b	old15,$fffffa15.w
	move.b	old17,$fffffa17.w
	move.b	old19,$fffffa19.w
	move.b	old1b,$fffffa1b.w
	move.l	old68,$68.w
	move.l	old70,$70.w
	move.l	old120,$120.w
	move.l	old134,$134.w
	move.w	#$2300,sr
	jsr	endsuper
	clr.w	-(sp)
	trap	#1
***************************************************************************
putmix:	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#$50000,a1
	jsr	setmix
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#$60000,a1
	jsr	setmix
	rts
***************************************************************************
putlucinda:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#$50000,a1
	jsr	setlucinda
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#$60000,a1
	jsr	setlucinda
	move.l	#lucindafade,a5
	move.w	#20,d5
lucindafadeloop:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#palette,a6
	rept	8
	move.l	(a5)+,(a6)+
	endr
	dbra	d5,lucindafadeloop
lucindaloop:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	cmp.w	#1,changething
	bne	lucindaloop
	move.w	#0,changething
	move.w	#20,d5
lucindafadeoffloop:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#palette+32,a6
	rept	8
	move.l	-(a5),-(a6)
	endr
	dbra	d5,lucindafadeoffloop
	jsr	clearall
	rts
***************************************************************************
putmakewish:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#$50000,a1
	jsr	setmakewish
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#$60000,a1
	jsr	setmakewish
	move.l	#makewishfade,a5
	move.w	#20,d5
makewishfadeloop:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#palette,a6
	rept	8
	move.l	(a5)+,(a6)+
	endr
	dbra	d5,makewishfadeloop
makewishloop:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	cmp.w	#1,changething
	bne	makewishloop
	move.w	#0,changething
	move.w	#20,d5
makewishfadeoffloop:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#palette+32,a6
	rept	8
	move.l	-(a5),-(a6)
	endr
	dbra	d5,makewishfadeoffloop
	jsr	clearall
	rts
***************************************************************************
vumeters:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#palette,a0
	rept	8
	clr.l	(a0)+
	endr
	jsr	putmix
	move.w	#$000,palette+2
	move.w	#$777,palette+4
	move.w	#$777,palette+6
***************************************************************************
vuloop:
	cmp.w	#1,vbiflag
	bne	vuloop
	move.w	#0,vbiflag
	cmp.b	#57,$fffc02
	bne	novukey
	move.w	#1,quit
novukey:
	cmp.w	#1,quit
	beq	quitit
	jsr	music+4
	jsr	readpsg
	jsr	putvus
	jsr	screenswap
	jsr	checkmix
	cmp.w	#1,changething
	bne	vuloop
	cmp.w	#0,mixfade
	bne	vuloop
	move.w	#0,changething
***************************************************************************
vufadeloop:
	cmp.w	#1,vbiflag
	bne	vufadeloop
	cmp.w	#1,quit
	beq	novuvbi
	move.w	#0,vbiflag
novuvbi:
	jsr	music+4
	jsr	readpsg
	jsr	putvus
	sub.w	#$111,palette+4
	sub.w	#$111,palette+6
	cmp.w	#0,palette+4
	bne	vufadeloop
***************************************************************************
	jsr	clearall
	rts
***************************************************************************
sinedots:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#palette,a0
	rept	8
	clr.l	(a0)+
	endr
	jsr	putmix
	move.w	#6,d0
	dotsfadeloop:
		move.w	#9,d1
		dotsfadeloop2:
		movem.l	d0-d1,-(sp)
		jsr	waitvbl
		cmp.w	#1,quit
		beq	quitit
		jsr	cleardots
		jsr	setdots
		movem.l	(sp)+,d0-d1
		dbra	d1,dotsfadeloop2
		add.w	#$111,palette+4
		add.w	#$111,palette+6
	dbra	d0,dotsfadeloop
***************************************************************************
sinedotsloop:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	checkmix
	jsr	cleardots
	jsr	setdots
	cmp.w	#1,changething
	bne	sinedotsloop
	cmp.w	#0,mixfade
	bne	sinedotsloop
	move.w	#0,changething
***************************************************************************
dotsfadeaway:
	move.w	#6,d0
	dotsfadeoffloop:
		move.w	#9,d1
		dotsfadeoffloop2:
		movem.l	d0-d1,-(sp)
		jsr	waitvbl
		cmp.w	#1,quit
		beq	quitit
		jsr	cleardots
		jsr	setdots
		movem.l	(sp)+,d0-d1
		dbra	d1,dotsfadeoffloop2
		sub.w	#$111,palette+4
		sub.w	#$111,palette+6
	dbra	d0,dotsfadeoffloop
	jsr	clearall
	rts
***************************************************************************
zoom:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#palette,a0
	rept	8
	clr.l	(a0)+
	endr
	jsr	putmix
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#$50000,a1
	jsr	setmix2
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#$60000,a1
	jsr	setmix2
***************************************************************************
	move.l	#zoompal,a0
	move.l	#palette,a1
	rept	8
	move.l	(a0)+,(a1)+
	endr
***************************************************************************
zoomfade:
	move.w	#6,d0
	zoomfadeloop:
		move.w	#4,d1
		zoomfadeloop2:
		movem.l	d0-d1,-(sp)
		jsr	waitvbl
		cmp.w	#1,quit
		beq	quitit
		jsr	setsprites
		movem.l	(sp)+,d0-d1
		dbra	d1,zoomfadeloop2
		add.w	#$111,palette+2
		add.w	#$111,palette+6
		add.w	#$111,palette+12
		add.w	#$111,palette+14
		add.w	#$111,palette+16
	dbra	d0,zoomfadeloop
***************************************************************************
zoomloop:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	setsprites
	cmp.w	#1,changething
	bne	zoomloop
	cmp.w	#0,mixfade
	bne	zoomloop
	move.w	#0,changething
***************************************************************************
zoomfadeaway:
	move.w	#6,d0
	zoomfadeoffloop:
		move.w	#4,d1
		zoomfadeoffloop2:
		movem.l	d0-d1,-(sp)
		jsr	waitvbl
		cmp.w	#1,quit
		beq	quitit
		jsr	setsprites
		movem.l	(sp)+,d0-d1
		dbra	d1,zoomfadeoffloop2
		sub.w	#$111,palette+2
		sub.w	#$111,palette+6
		sub.w	#$111,palette+12
		sub.w	#$111,palette+14
		sub.w	#$111,palette+16
	dbra	d0,zoomfadeoffloop
	jsr	clearall
	rts
***************************************************************************
theskull:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.l	#palette,a0
	rept	8
	clr.l	(a0)+
	endr
	jsr	putmix
	move.l	#skullpal,a0
	move.l	#palette,a1
	rept	8
	move.l	(a0)+,(a1)+
	endr
***************************************************************************
skulloop:
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	skullen
	jsr	checkmix
	cmp.w	#1,changething
	bne	skulloop
	cmp.w	#0,mixfade
	bne	skulloop
	move.w	#0,changething
	move.w	#6,d1
skullfadeloop:
	move.l	d1,-(sp)
	rept	5
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	skullen
	endr
	move.l	(sp)+,d1
	move.l	#palette,a0
	move.w	#15,d0
skullfading:
	cmp.w	#0,(a0)+
	beq	noskullfade
	sub.w	#$111,-2(a0)
	noskullfade:
	dbra	d0,skullfading
	dbra	d1,skullfadeloop
	jsr	clearall
	rts
***************************************************************************
clearall:
	move.l	#$60000,a0	
	jsr	clearplane
	move.l	#$50000,a0	
	jsr	clearplane
	move.l	#$60002,a0	
	jsr	clearplane
	move.l	#$50002,a0	
	jsr	clearplane
	move.l	#$60004,a0	
	jsr	clearplane
	move.l	#$50004,a0	
	jsr	clearplane
	move.l	#$60006,a0	
	jsr	clearplane
	move.l	#$50006,a0	
	jsr	clearplane
	rts
***************************************************************************
clearall2:
	move.l	#$60000,a0	
	jsr	clearplane2
	move.l	#$50000,a0	
	jsr	clearplane2
	move.l	#$60002,a0	
	jsr	clearplane2
	move.l	#$50002,a0	
	jsr	clearplane2
	rts
***************************************************************************
setsuper:
	clr.l	-(sp)
	move.w	#$20,-(sp)
	trap	#1
	addq.l	#6,sp
	move.l	d0,savesuper
	rts
***************************************************************************
endsuper:
	move.l	savesuper,-(sp)
	move.w	#$20,-(sp)
	trap	#1
	addq.l	#6,sp
	rts
***************************************************************************
setscreen:
	move.b	$ffff8260.w,oldres
	move.b	$ffff8201.w,oldphys1
	move.b	$ffff8203.w,oldphys2
	move.l	$44e,oldlog
	move.b	#0,$ffff8260.w
	clr.l	d0
	move.l	#$50000,d0
	lsr.l	#8,d0
	move.b	d0,$ffff8203.w
	lsr.w	#8,d0
	move.b	d0,$ffff8201.w
	move.l	#$50000,$44e.w
	rts
***************************************************************************
wait:	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	dbra	d0,wait
	rts
***************************************************************************
wait2:	jsr	waitvbl2
	cmp.w	#1,quit
	beq	quitit
	jsr	music+4
	dbra	d0,wait2
	rts
***************************************************************************
clearscreen:
	move.l	#$60000,a0
	move.l	#$50000,a1
	move.w	#40*280,d0
	clearscreenloop:
		clr.l	(a0)+
		clr.l	(a1)+
	dbf.w	d0,clearscreenloop
	rts
***************************************************************************
clearplane:
	add.w	#40*160,a0
	clr.l	d0
	clr.l	d1
	move.w	#64,d0
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	clearplaneloop
	move.w	#64,d0
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	clearplaneloop
	move.w	#64,d0
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	clearplaneloop
	rts
***************************************************************************
clearplane2:
	add.w	#40*160,a0
	clr.l	d0
	clr.l	d1
	move.w	#64,d0
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	clearplaneloop
	move.w	#64,d0
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	clearplaneloop
	move.w	#64,d0
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	clearplaneloop
	move.w	#39,d0
	cmp.w	#1,quit
	beq	quitit
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	jsr	clearplaneloop
	rts
***************************************************************************
clearplaneloop:
	move.w	d1,0(a0)
	move.w	d1,8(a0)
	move.w	d1,16(a0)
	move.w	d1,24(a0)
	move.w	d1,32(a0)
	move.w	d1,40(a0)
	move.w	d1,48(a0)
	move.w	d1,56(a0)
	move.w	d1,64(a0)
	move.w	d1,72(a0)
	move.w	d1,80(a0)
	move.w	d1,88(a0)
	move.w	d1,96(a0)
	move.w	d1,104(a0)
	move.w	d1,112(a0)
	move.w	d1,120(a0)
	move.w	d1,128(a0)
	move.w	d1,136(a0)
	move.w	d1,144(a0)
	move.w	d1,152(a0)
	add.w	#160,a0
	dbra	d0,clearplaneloop
	rts
***************************************************************************
setlogo:
	move.l	#logo,a0		
	move.l	#$50000,a1
	move.w	logopos,d0
	muls	#160,d0
	add.l	d0,a1 
	move.w	#35,d0
	setlogoloop:
		move.l	(a0)+,(a1)
		move.w	(a0)+,4(a1)
		move.l	(a0)+,8(a1)
		move.w	(a0)+,8+4(a1)
		move.l	(a0)+,16(a1)
		move.w	(a0)+,16+4(a1)
		move.l	(a0)+,24(a1)
		move.w	(a0)+,24+4(a1)
		move.l	(a0)+,32(a1)
		move.w	(a0)+,32+4(a1)
		move.l	(a0)+,40(a1)
		move.w	(a0)+,40+4(a1)
		move.l	(a0)+,48(a1)
		move.w	(a0)+,48+4(a1)
		move.l	(a0)+,56(a1)
		move.w	(a0)+,56+4(a1)
		move.l	(a0)+,64(a1)
		move.w	(a0)+,64+4(a1)
		move.l	(a0)+,72(a1)
		move.w	(a0)+,72+4(a1)
		move.l	(a0)+,80(a1)
		move.w	(a0)+,80+4(a1)
		move.l	(a0)+,88(a1)
		move.w	(a0)+,88+4(a1)
		move.l	(a0)+,96(a1)
		move.w	(a0)+,96+4(a1)
		move.l	(a0)+,104(a1)
		move.w	(a0)+,104+4(a1)
		move.l	(a0)+,112(a1)
		move.w	(a0)+,112+4(a1)
		move.l	(a0)+,120(a1)
		move.w	(a0)+,120+4(a1)
		move.l	(a0)+,128(a1)
		move.w	(a0)+,128+4(a1)
		move.l	(a0)+,136(a1)
		move.w	(a0)+,136+4(a1)
		move.l	(a0)+,144(a1)
		move.w	(a0)+,144+4(a1)
		move.l	(a0)+,152(a1)
		move.w	(a0)+,152+4(a1)
		add.w	#160,a1
	dbf.w	d0,setlogoloop
	rept	40
	clr.l	(a1)+
	endr
	rts
***************************************************************************
fixlogo:
	move.l	#logo,a0		
	move.l	#$60000,a1
	move.w	#35,d0
	fixlogoloop:
		move.l	(a0)+,(a1)
		move.w	(a0)+,4(a1)
		move.l	(a0)+,8(a1)
		move.w	(a0)+,8+4(a1)
		move.l	(a0)+,16(a1)
		move.w	(a0)+,16+4(a1)
		move.l	(a0)+,24(a1)
		move.w	(a0)+,24+4(a1)
		move.l	(a0)+,32(a1)
		move.w	(a0)+,32+4(a1)
		move.l	(a0)+,40(a1)
		move.w	(a0)+,40+4(a1)
		move.l	(a0)+,48(a1)
		move.w	(a0)+,48+4(a1)
		move.l	(a0)+,56(a1)
		move.w	(a0)+,56+4(a1)
		move.l	(a0)+,64(a1)
		move.w	(a0)+,64+4(a1)
		move.l	(a0)+,72(a1)
		move.w	(a0)+,72+4(a1)
		move.l	(a0)+,80(a1)
		move.w	(a0)+,80+4(a1)
		move.l	(a0)+,88(a1)
		move.w	(a0)+,88+4(a1)
		move.l	(a0)+,96(a1)
		move.w	(a0)+,96+4(a1)
		move.l	(a0)+,104(a1)
		move.w	(a0)+,104+4(a1)
		move.l	(a0)+,112(a1)
		move.w	(a0)+,112+4(a1)
		move.l	(a0)+,120(a1)
		move.w	(a0)+,120+4(a1)
		move.l	(a0)+,128(a1)
		move.w	(a0)+,128+4(a1)
		move.l	(a0)+,136(a1)
		move.w	(a0)+,136+4(a1)
		move.l	(a0)+,144(a1)
		move.w	(a0)+,144+4(a1)
		move.l	(a0)+,152(a1)
		move.w	(a0)+,152+4(a1)
		add.w	#160,a1
	dbf.w	d0,fixlogoloop
	rts
***************************************************************************
setpal:
	move.l	#logopal,a0
	move.l	#$ff8240,a1
	rept	8
	move.l	(a0)+,(a1)+
	endr
	rts
***************************************************************************
screenswap:
	cmp.l	#$50000,$44e
	bne	logphys	
	physlog:
		move.l	#$50000,d0
		lsr.l	#8,d0
		move.b	d0,$ffff8203.w
		lsr.w	#8,d0
		move.b	d0,$ffff8201.w
		move.l	#$60000,$44e
		rts
	logphys:
		move.l	#$60000,d0
		lsr.l	#8,d0
		move.b	d0,$ffff8203.w
		lsr.w	#8,d0
		move.b	d0,$ffff8201.w
		move.l	#$50000,$44e
		rts
***************************************************************************
init:
	move.b	$fffffa07.w,old07
	move.b	$fffffa09.w,old09
	move.b	$fffffa13.w,old13
	move.b	$fffffa15.w,old15
	move.b	$fffffa17.w,old17
	move.b	$fffffa19.w,old19
	move.b	$fffffa1b.w,old1b
	move.l	$68.w,old68
	move.l	$70.w,old70
	move.l	$120.w,old120
	move.l	$134.w,old134
	
	move	#$2700,sr
	move.b	#$21,$fffffa07.w
	clr.b	$fffffa09.w
	move.b	#$21,$fffffa13.w
	clr.b	$fffffa15.w
	clr.b	$fffffa19.w
	clr.b	$fffffa1b.w
	move.l	#phbi,$68.w
	move.l	#newvbi,$70.w
	move.l	#newvbi2,$134.w
	move.l	#newhbi,$120.w
	bclr.b	#3,$fffffa17.w
	move 	#$2300,sr	
	rts
***************************************************************************
waitvbl:
	movem.l	d0-d7/a0-a6,-(sp)
	jsr	music+4
	jsr	screenswap
	movem.l	(sp)+,d0-d7/a0-a6
waitvbl2:
	cmp.w	#1,vbiflag
	bne.s	waitvbl2
	cmp.w	#1,quit
	beq	novbizero
	move.w	#0,vbiflag
novbizero:
	cmp.b	#57,$fffc02
	beq	setquit
	rts
***************************************************************************
setquit:
	move.w	#1,quit
	rts
***************************************************************************
newvbi:
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	#logopal,a0
	move.l	#$ff8240,a1
	rept	8
	move.l	(a0)+,(a1)+
	endr
	clr.b	$fffffa19.w
	move.b	#99,$fffffa1f.w
	move.b	#4,$fffffa19.w
	clr.b	$fffffa1b.w
	cmp.w	#0,logopos
	bne	nohbi
	move.l	#newhbi,$120.w
	move.b	#40,$fffffa21.w
	move.b	#8,$fffffa1b.w
nohbi:	move.l	distptr,a5
	cmp.l	#disttab+7*720,a5
	blo	nodistwrap
	move.l	#disttab,distptr
	move.l	distptr,a5
nodistwrap:
	move.l	distptr,a4
	move.w	(a4)+,d6
	move.w	(a4)+,d6
	move.l	a4,distptr
	move.l	distptr2,a6
	cmp.l	#disttab+7*720,a6
	blo	nodistwrap2
	move.l	#disttab,distptr2
	move.l	distptr2,a6
nodistwrap2:
	move.l	distptr2,a4
	move.w	(a4)+,d6
	move.l	a4,distptr2
	lea	plasmapal,a3
	add.w	(a5)+,a3
	add.w	(a6)+,a3
	move.l	#$ff824e,a4
	clr.l	d7
	move.w	logopos,d7
	add.w	#33,d7
	divu	#2,d7
	sub.w	#1,d7
synclock:
	move.b 	$ffff8209.w,d0
	beq 	synclock
	moveq 	#64,d1
	sub.w 	d0,d1
	asr.w 	d1,d0
	move.b	#0,$ffff8260.w
	dcb.w	70,$4e71
vertloop:
	rept	39
	move.w	(a3)+,(a4)
	endr
	lea	plasmapal,a3
	add.w	(a5)+,a3
	add.w	(a6)+,a3
	dcb.w	1,$4e71
	rept	39
	move.w	(a3)+,(a4)
	endr
	lea	plasmapal,a3
	add.w	(a5)+,a3
	add.w	(a6)+,a3
	dbf.w	d7,vertloop
	movem.l	(sp)+,d0-d7/a0-a6
	cmp.w	#0,logopos
	bne	noscroll	
	movem.l	d0-d7/a0-a6,-(sp)
	jsr	bend
	cmp.w	#0,scrollwait
	bne	subscroll	
	add.w	#1,count
	cmp.w	#4,count
	bne	nonewchar
	jsr	setfont
	move.w	#0,count
nonewchar:
	jsr	scroll
	movem.l	(sp)+,d0-d7/a0-a6
noscroll:
	move.w	#1,vbiflag
	rte
subscroll:
	sub.w	#1,scrollwait
	movem.l	(sp)+,d0-d7/a0-a6
	bra	noscroll
***************************************************************************
newvbi2:
	move	#$2100,sr
	stop	#$2100
	move	#$2700,sr
	clr.b	$fffffa19.w	
	movem.l	d0-d7/a0-a1,-(sp)
	dcb.w	60,$4e71
	move.b	#0,$ffff820a.w
	dcb.w	7,$4e71
	clr	d1
	move	#$8209,a0
	move.b	#2,$ffff820a.w
	movem.l	(sp)+,d0-d7/a0-a1
phbi:	rte
***************************************************************************
newhbi:
	move.w	linecol,$ff8240
	clr.b	$fffffa1b.w
	move.w	palette+2,$ff8242
	move.l	palette+4,$ff8244
	move.l	palette+8,$ff8248
	move.l	palette+12,$ff824c
	move.l	palette+16,$ff8250
	move.l	palette+20,$ff8254
	move.l	palette+24,$ff8258
	move.l	palette+28,$ff825c
	move.l	#newhbi3,$120.w
	move.b	#1,$fffffa21.w
	move.b	#8,$fffffa1b.w
	bclr	#0,$fffffa0f
	rte
***************************************************************************
newhbi3:
	move.w	palette,$ff8240
	clr.b	$fffffa1b.w
	move.l	#newhbi4,$120.w
	move.b	#154,$fffffa21.w
	move.b	#8,$fffffa1b.w
	bclr	#0,$fffffa0f
	rte
***************************************************************************
newhbi4:
	move.w	linecol,$ff8240
	clr.b	$fffffa1b.w
	move.l	#newhbi2,$120.w
	move.b	#1,$fffffa21.w
	move.b	#8,$fffffa1b.w
	bclr	#0,$fffffa0f
	rte
***************************************************************************
newhbi2:
	move.l	fontpal,$ff8240
	move.l	fontpal+4,$ff8244
	clr.b	$fffffa1b.w
	move.l	#newhbi5,$120.w
	move.b	#33,$fffffa21.w
	move.b	#8,$fffffa1b.w
	bclr	#0,$fffffa0f
	rte
***************************************************************************
newhbi5:
	move.b	#%11111100,$ff820a
	nop
	nop
	nop
	move.b	#%11111110,$ff820a
	clr.b 	$fffffa1b.w	
	bclr 	#0,$fffffa0f.w	
	rte
***************************************************************************
setmix:
	move.l	#mixture,a0
	add.l	#160*67,a1
	move.w	#95*10-1,d0
	setmixloop:
		move.w	(a0)+,(a1)
		addq.w	#8,a1
	dbra	d0,setmixloop
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.w	#95*10-1,d0
	setmixloopb:
		move.w	(a0)+,(a1)
		addq.w	#8,a1
	dbra	d0,setmixloopb
	rts
***************************************************************************
setmix2:
	move.l	#mixture2,a0
	add.l	#160*58+2,a1
	move.w	#120*10-1,d0
	setmixloop2:
		move.w	(a0)+,(a1)
		addq.w	#8,a1
	dbra	d0,setmixloop2
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.w	#120*10-1,d0
	setmixloop2b:
		move.w	(a0)+,(a1)
		addq.w	#8,a1
	dbra	d0,setmixloop2b
	rts
***************************************************************************
setlucinda:
	move.l	#lucinda,a0
	add.l	#160*42+8*7,a1
	move.w	#76,d0	
	setlucindaloop1:
		move.l	(a0)+,0(a1)
		move.l	(a0)+,4(a1)
		move.l	(a0)+,8(a1)
		move.l	(a0)+,12(a1)
		move.l	(a0)+,16(a1)
		move.l	(a0)+,20(a1)
		move.l	(a0)+,24(a1)
		move.l	(a0)+,28(a1)
		move.l	(a0)+,32(a1)
		move.l	(a0)+,36(a1)
		move.l	(a0)+,40(a1)
		move.l	(a0)+,44(a1)
		move.l	(a0)+,48(a1)
		move.l	(a0)+,52(a1)
		move.l	(a0)+,56(a1)
		move.l	(a0)+,60(a1)
		add.w	#160,a1
	dbra	d0,setlucindaloop1
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.w	#75,d0	
	setlucindaloop2:
		move.l	(a0)+,0(a1)
		move.l	(a0)+,4(a1)
		move.l	(a0)+,8(a1)
		move.l	(a0)+,12(a1)
		move.l	(a0)+,16(a1)
		move.l	(a0)+,20(a1)
		move.l	(a0)+,24(a1)
		move.l	(a0)+,28(a1)
		move.l	(a0)+,32(a1)
		move.l	(a0)+,36(a1)
		move.l	(a0)+,40(a1)
		move.l	(a0)+,44(a1)
		move.l	(a0)+,48(a1)
		move.l	(a0)+,52(a1)
		move.l	(a0)+,56(a1)
		move.l	(a0)+,60(a1)
		add.w	#160,a1
	dbra	d0,setlucindaloop2
	rts
***************************************************************************
setmakewish:
	move.l	#makewish,a0
	add.l	#160*58+8*3,a1
	move.w	#64,d0	
	setmakewishloop1:
		move.l	(a0)+,0(a1)
		move.l	(a0)+,4(a1)
		move.l	(a0)+,8(a1)
		move.l	(a0)+,12(a1)
		move.l	(a0)+,16(a1)
		move.l	(a0)+,20(a1)
		move.l	(a0)+,24(a1)
		move.l	(a0)+,28(a1)
		move.l	(a0)+,32(a1)
		move.l	(a0)+,36(a1)
		move.l	(a0)+,40(a1)
		move.l	(a0)+,44(a1)
		move.l	(a0)+,48(a1)
		move.l	(a0)+,52(a1)
		move.l	(a0)+,56(a1)
		move.l	(a0)+,60(a1)
		move.l	(a0)+,64(a1)
		move.l	(a0)+,68(a1)
		move.l	(a0)+,72(a1)
		move.l	(a0)+,76(a1)
		move.l	(a0)+,80(a1)
		move.l	(a0)+,84(a1)
		move.l	(a0)+,88(a1)
		move.l	(a0)+,92(a1)
		move.l	(a0)+,96(a1)
		move.l	(a0)+,100(a1)
		move.l	(a0)+,104(a1)
		move.l	(a0)+,108(a1)
		add.w	#160,a1
	dbra	d0,setmakewishloop1
	jsr	waitvbl
	cmp.w	#1,quit
	beq	quitit
	move.w	#63,d0	
	setmakewishloop2:
		move.l	(a0)+,0(a1)
		move.l	(a0)+,4(a1)
		move.l	(a0)+,8(a1)
		move.l	(a0)+,12(a1)
		move.l	(a0)+,16(a1)
		move.l	(a0)+,20(a1)
		move.l	(a0)+,24(a1)
		move.l	(a0)+,28(a1)
		move.l	(a0)+,32(a1)
		move.l	(a0)+,36(a1)
		move.l	(a0)+,40(a1)
		move.l	(a0)+,44(a1)
		move.l	(a0)+,48(a1)
		move.l	(a0)+,52(a1)
		move.l	(a0)+,56(a1)
		move.l	(a0)+,60(a1)
		move.l	(a0)+,64(a1)
		move.l	(a0)+,68(a1)
		move.l	(a0)+,72(a1)
		move.l	(a0)+,76(a1)
		move.l	(a0)+,80(a1)
		move.l	(a0)+,84(a1)
		move.l	(a0)+,88(a1)
		move.l	(a0)+,92(a1)
		move.l	(a0)+,96(a1)
		move.l	(a0)+,100(a1)
		move.l	(a0)+,104(a1)
		move.l	(a0)+,108(a1)
		add.w	#160,a1
	dbra	d0,setmakewishloop2
	rts
***************************************************************************
cleardots:
	addq.w	#8,clsine1
	cmp.w	#1432,clsine1
	ble	noclwrap1
	move.w	#0,clsine1
noclwrap1:
	addq.w	#2,clsine2
	cmp.w	#3598,clsine2
	ble	noclwrap2
	move.w	#2880,clsine2
noclwrap2:
	move.l	#dots,a0
	add.w	clsine1,a0
	move.l	#dots,a1
	add.w	clsine2,a1
	move.l	$44e,d1
	add.w	#19*160+2,d1
	move.w	#0,d2
	move.w	#359,d0
	cleardotsloop:
		move.l	d1,a2
		add.w	(a0)+,a2
		add.w	(a1)+,a2
		addq.w	#2,a0
		move.w	d2,(a2)
	dbf.w	d0,cleardotsloop
	rts
***************************************************************************
setdots:
	addq.w	#8,sine1
	cmp.w	#1432,sine1
	ble	nowrap1
	move.w	#0,sine1
nowrap1:
	addq.w	#2,sine2
	cmp.w	#3598,sine2
	ble	nowrap2
	move.w	#2880,sine2
nowrap2:
	move.l	#dots,a0
	add.w	sine1,a0
	move.l	#dots,a1
	add.w	sine2,a1
	move.l	$44e,d1
	add.w	#19*160+2,d1
	move.w	#359,d0
	setdotsloop:
		move.l	d1,a2
		add.w	(a0)+,a2
		add.w	(a1)+,a2
		move.w	(a0)+,d2
		or.w	d2,(a2)
	dbf.w	d0,setdotsloop
	rts
***************************************************************************
checkmix:
	cmp.w	#1,mixfade
	beq	fademix
	add.w	#1,mixcount
	cmp.w	#250,mixcount
	bne	nomix
	move.w	#0,mixcount
	move.w	#1,mixfade
	move.l	mixptr,a0
	move.w	(a0)+,palette+2	
	move.w	(a0)+,mixsub
	move.l	a0,mixptr
	cmp.w	#-1,(a0)
	bne	nomix
	move.l	#mixtab,mixptr
nomix:	rts
fademix:
	add.w	#1,mixfadec
	cmp.w	#5,mixfadec
	bne	nomix
	move.w	#0,mixfadec
	move.w	mixsub,d0	
	sub.w	d0,palette+2
	cmp.w	#0,palette+2
	bne	nomix
	move.w	#0,mixfade
	rts
***************************************************************************
setupsprite:
	move.l	#balls,a0
	move.l	#$60000,a1
	move.w	#63,d0
	setupspriteloop:
		move.w	(a0)+,0(a1)
		move.w	(a0)+,8(a1)
		move.w	(a0)+,16(a1)
		move.w	(a0)+,24(a1)
		clr.w	32(a1)
		add.w	#160,a1
	dbf.w	d0,setupspriteloop
	move.l	#sprite1,a0
	move.w	#4*10*63+1024,d0
	clearsprite1loop:
		clr.l	(a0)+
	dbra	d0,clearsprite1loop
	move.l	#$60000,a1
	clr.w	(a1)
	rts
***************************************************************************
rotate:
	move.l	#sprite1,a1
	move.w	#15,d0
	rotateloop:
		jsr	rotatesave
		jsr	rotatescroll
	dbf.w	d0,rotateloop	
	rts
***************************************************************************
rotatescroll:
	move.l	#$60000,a0
	clr.w	(a0)
	move.w	#63,d1
	rotatescrolloop:
		rept	14
		roxr.w	(a0)
		add.w	#8,a0
		endr
		sub.w	#8*14,a0
		rept	14
		roxr.w	2(a0)
		add.w	#8,a0
		endr
		sub.w	#8*14,a0
		rept	14
		roxr.w	4(a0)
		add.w	#8,a0
		endr
		sub.w	#8*14,a0
		rept	14
		roxr.w	6(a0)
		add.w	#8,a0
		endr
		add.w	#160-8*14,a0
	dbf.w	d1,rotatescrolloop	
	rts
***************************************************************************
rotatesave:
	move.l	#$60000,a0
	move.w	#63,d1
	rotatesaveloop:
		move.w	(a0),(a1)+
		move.w	8(a0),(a1)+
		move.w	16(a0),(a1)+
		move.w	24(a0),(a1)+
		move.w	32(a0),(a1)+
		add.w	#160,a0
	dbf.w	d1,rotatesaveloop
	rts
***************************************************************************
setsprites:
	jsr	incdeg1
	jsr	incdeg2
	move.w	deg3,adeg
	move.w	deg4,bdeg
	jsr	calculate
	jsr	delsprite
	move.w	deg7,adeg
	move.w	deg8,bdeg
	jsr	calculate
	jsr	delsprite
	move.w	deg1,adeg
	move.w	deg2,bdeg
	jsr	calculate
	jsr	setsprite
	move.w	deg5,adeg
	move.w	deg6,bdeg
	jsr	calculate
	jsr	setsprite
	rts
***************************************************************************
incdeg1:
	add.w	#1,deg1
	cmp.w	#360,deg1
	bne	nodeg1wrap
	move.w	#0,deg1
nodeg1wrap:
	add.w	#2,deg2
	cmp.w	#360,deg2
	bne	nodeg2wrap
	move.w	#0,deg2
nodeg2wrap:
	add.w	#1,deg3
	cmp.w	#360,deg3
	bne	nodeg3wrap
	move.w	#0,deg3
nodeg3wrap:
	add.w	#2,deg4
	cmp.w	#360,deg4
	bne	nodeg4wrap
	move.w	#0,deg4
nodeg4wrap:
	rts
***************************************************************************
incdeg2:
	add.w	#2,deg5
	cmp.w	#360,deg5
	bne	nodeg5wrap
	move.w	#0,deg5
nodeg5wrap:
	add.w	#1,deg6
	cmp.w	#360,deg6
	bne	nodeg6wrap
	move.w	#0,deg6
nodeg6wrap:
	add.w	#2,deg7
	cmp.w	#360,deg7
	bne	nodeg7wrap
	move.w	#0,deg7
nodeg7wrap:
	add.w	#1,deg8
	cmp.w	#360,deg8
	bne	nodeg8wrap
	move.w	#0,deg8
nodeg8wrap:
	rts
***************************************************************************
setsprite:
	move.w	d0,d2
	move.l	#sprite1,a0
	and.w	#$000f,d0
	muls	#64*10,d0
	add.w	d0,a0
	move.l	$44e,a2
	add.w	#4,a2
	and.w	#$fff0,d2
	divs	#2,d2
	muls	#160,d1
	add.w	d1,d2
	add.w	d2,a2	
	rept	63
	movem.w	(a0)+,d0-d4
	or.w	d0,0(a2)
	or.w	d1,8(a2)
	or.w	d2,16(a2)
	or.w	d3,24(a2)
	or.w	d4,32(a2)
	add.w	#160,a2
	endr
	rts
***************************************************************************
delsprite:
	move.w	d0,d2
	move.l	$44e,a2
	add.w	#4,a2
	and.w	#$fff0,d2
	divs	#2,d2
	muls	#160,d1
	add.w	d1,d2
	add.w	d2,a2	
	move.w	#0,d1
	rept	63
	move.w	d1,0(a2)
	move.w	d1,8(a2)
	move.w	d1,16(a2)
	move.w	d1,24(a2)
	move.w	d1,32(a2)
	add.w	#160,a2
	endr
	rts
***************************************************************************
calculate:
	clr.l	d0
	clr.l	d1
	clr.l	d2
	move.w	adeg,d0
	muls	#2,d0
	move.l	#sintab,a0
	add.w	d0,a0
	move.w	(a0),d0
	muls	#127,d0
	divs	#512,d0
	add.w	#127,d0
	move.w	d0,d7
	move.w	bdeg,d1
	muls	#2,d1
	move.l	#costab,a0
	add.w	d1,a0
	move.w	(a0),d1
	muls	#25,d1
	divs	#512,d1
	add.w	#84,d1
	rts
*******************************
scroll:
	lea	scrollarea+4,a0
	lea	scrollarea,a1
	rept	43
	move.l	(a0)+,(a1)+
	endr
	rts
setfont:
	move.l	textptr,a3
	clr.w	d1
	move.b	(a3)+,d1
	cmp.w	#$ff,d1
	beq	textwrap
	cmp.w	#5,d1
	ble	newcurve
	cmp.w	#$fd,d1
	beq	scrwait
	cmp.w	#$fe,d1
	bne	set
	move.w  #1,changething
	move.w	#32,d1
set:	sub.w	#32,d1
	muls	#16,d1

	move.l	#fonttab,a0
	add.w	d1,a0
	move.l	#scrollarea+160,a1
	rept	4
	move.l	(a0)+,(a1)+
	endr

	move.l	a3,textptr
	rts	
scrwait:
	move.w	#50,scrollwait
	move.w	#32,d1
	bra	set
textwrap:
	move.l	#scrolltext,textptr
	jmp	setfont
newcurve:
	muls	#82,d1
	move.l	#bendtabstart,a0
	add.w	d1,a0
	move.w	(a0)+,curvadd
	move.l	a0,bendptr
	move.w	#32,d1
	bra	set
*******************************
*       byte - bending        *
*******************************
bend:
	move.l	#scrollarea,a6
	move.l	$44e,a2
	add.w	#160*120,a2
	add.w	curvadd,a2
	move.l	bendptr,bendptr2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#1,a2

	jsr	readbendtab
	move.l	a2,a1
	add.w	d0,a1
	move.l	(a6)+,a0
	jsr	bendbyte
	addq.w	#7,a2

	move.l	bendptr2,bendptr
	rts
bendbyte:
	clr.b	-480(a1)
	clr.b	-320(a1)
	clr.b	-160(a1)
	move.b	(a0)+,(a1)
	move.b	(a0)+,2(a1)
	move.b	(a0)+,160(a1)
	move.b	(a0)+,2+160(a1)
	move.b	(a0)+,320(a1)
	move.b	(a0)+,2+320(a1)
	move.b	(a0)+,480(a1)
	move.b	(a0)+,2+480(a1)
	move.b	(a0)+,640(a1)
	move.b	(a0)+,2+640(a1)
	move.b	(a0)+,800(a1)
	move.b	(a0)+,2+800(a1)
	move.b	(a0)+,960(a1)
	move.b	(a0)+,2+960(a1)
	move.b	(a0)+,1120(a1)
	move.b	(a0)+,2+1120(a1)
	move.b	(a0)+,1280(a1)
	move.b	(a0)+,2+1280(a1)
	move.b	(a0)+,1440(a1)
	move.b	(a0)+,2+1440(a1)
	move.b	(a0)+,1600(a1)
	move.b	(a0)+,2+1600(a1)
	move.b	(a0)+,1760(a1)
	move.b	(a0)+,2+1760(a1)
	move.b	(a0)+,1920(a1)
	move.b	(a0)+,2+1920(a1)
	move.b	(a0)+,2080(a1)
	move.b	(a0)+,2+2080(a1)
	move.b	(a0)+,2240(a1)
	move.b	(a0)+,2+2240(a1)
	move.b	(a0)+,2400(a1)
	move.b	(a0)+,2+2400(a1)
	move.b	(a0)+,2560(a1)
	move.b	(a0)+,2+2560(a1)
	move.b	(a0)+,2720(a1)
	move.b	(a0)+,2+2720(a1)
	move.b	(a0)+,2720+160(a1)
	move.b	(a0)+,2+2720+160(a1)
	move.b	(a0)+,2720+320(a1)
	move.b	(a0)+,2+2720+320(a1)
	move.b	(a0)+,2720+480(a1)
	move.b	(a0)+,2+2720+480(a1)
	move.b	(a0)+,2720+640(a1)
	move.b	(a0)+,2+2720+640(a1)
	move.b	(a0)+,2720+800(a1)
	move.b	(a0)+,2+2720+800(a1)
	move.b	(a0)+,2720+960(a1)
	move.b	(a0)+,2+2720+960(a1)
	move.b	(a0)+,2720+1120(a1)
	move.b	(a0)+,2+2720+1120(a1)
	move.b	(a0)+,2720+1280(a1)
	move.b	(a0)+,2+2720+1280(a1)
	move.b	(a0)+,2720+1440(a1)
	move.b	(a0)+,2+2720+1440(a1)
	move.b	(a0)+,2720+1600(a1)
	move.b	(a0)+,2+2720+1600(a1)
	move.b	(a0)+,2720+1760(a1)
	move.b	(a0)+,2+2720+1760(a1)
	move.b	(a0)+,2720+1920(a1)
	move.b	(a0)+,2+2720+1920(a1)
	move.b	(a0)+,2720+2080(a1)
	move.b	(a0)+,2+2720+2080(a1)
	move.b	(a0)+,2720+2240(a1)
	move.b	(a0)+,2+2720+2240(a1)
	clr.b	2720+2400(a1)
	clr.b	2720+2560(a1)
	rts
*******************************
readbendtab:
	move.l	bendptr,a3
	move.w	(a3)+,d0
	move.l	a3,bendptr
	rts
restorebendtab:
	jmp	readbendtab
*******************************
readpsg:
	clr.l	d0
	clr.l	d1
	move.b	#0,$ff8800
	move.b	$ff8800,d0
	divu	#8,d0
	muls	#2,d0
	move.b	#8,$ff8800
	move.b	$ff8800,d1
	muls	#2,d1
	move.l	#vubuff,a0
	add.w	d0,a0
	move.w	d1,(a0)

	move.b	#2,$ff8800
	move.b	$ff8800,d0
	divu	#8,d0
	muls	#2,d0
	move.b	#9,$ff8800
	move.b	$ff8800,d1
	muls	#2,d1
	move.l	#vubuff,a0
	add.w	d0,a0
	move.w	d1,(a0)

	move.b	#4,$ff8800
	move.b	$ff8800,d0
	divu	#8,d0
	muls	#2,d0
	move.b	#10,$ff8800
	muls	#2,d1
	move.b	$ff8800,d1
	move.l	#vubuff,a0
	add.w	d0,a0
	move.w	d1,(a0)
	rts
*******************************
putvus:
	move.l	$44e,a0
	add.w	#160*120+2,a0
	moveq.w	#32,d0
	moveq.w	#0,d1
clearvuloop:
	move.w	d1,(a0)
	move.w	d1,8(a0)
	move.w	d1,16(a0)
	move.w	d1,24(a0)
	move.w	d1,32(a0)
	move.w	d1,40(a0)
	move.w	d1,48(a0)
	move.w	d1,56(a0)
	move.w	d1,64(a0)
	move.w	d1,72(a0)
	move.w	d1,80(a0)
	move.w	d1,88(a0)
	move.w	d1,96(a0)
	move.w	d1,104(a0)
	move.w	d1,112(a0)
	move.w	d1,120(a0)
	move.w	d1,128(a0)
	move.w	d1,136(a0)
	move.w	d1,144(a0)
	move.w	d1,152(a0)
	add.w	#160,a0
	dbf.w	d0,clearvuloop

	move.w	#0,xvu
	lea	vubuff,a0
	move.w	#19,d7
putvusloop:
	move.w	(a0)+,d0
	cmp.w	#0,d0
	beq	novu
	sub.w	#1,-2(a0)
	jsr	putavu	
novu:
	addq.w	#1,xvu

	move.w	(a0)+,d0
	cmp.w	#0,d0
	beq	novu2
	sub.w	#1,-2(a0)
	jsr	putavu	
novu2:
	addq.w	#7,xvu
	dbf.w	d7,putvusloop 
	
	move.l	$44e,a0
	add.w	#160*120+2,a0
	move.l	$44e,a1
	add.w	#160*119+2,a1
	moveq.w	#32,d0
copyvuloop:
	move.w	(a0),(a1)
	move.w	8(a0),8(a1)
	move.w	16(a0),16(a1)
	move.w	24(a0),24(a1)
	move.w	32(a0),32(a1)
	move.w	40(a0),40(a1)
	move.w	48(a0),48(a1)
	move.w	56(a0),56(a1)
	move.w	64(a0),64(a1)
	move.w	72(a0),72(a1)
	move.w	80(a0),80(a1)
	move.w	88(a0),88(a1)
	move.w	96(a0),96(a1)
	move.w	104(a0),104(a1)
	move.w	112(a0),112(a1)
	move.w	120(a0),120(a1)
	move.w	128(a0),128(a1)
	move.w	136(a0),136(a1)
	move.w	144(a0),144(a1)
	move.w	152(a0),152(a1)
	add.w	#160,a0
	sub.w	#160,a1
	dbf.w	d0,copyvuloop
	rts
*******************************
putavu:
	move.w	d0,d2
	move.w	#32,d1
	sub.w	d2,d1
	move.l	$44e,a1
	add.w	#160*120+2,a1
	add.w	xvu,a1
	move.l	a1,a2
	move.b	#$fe,d3
	move.w	#160,d4
putavuloop:
	move.b	d3,(a1)
	add.w	d4,a1
	dbf.w	d0,putavuloop
	rts
***************************************************************************
makeskull:
	lea	skull1,a0
	jsr	putskull
	lea	spritebuff,a6
	jsr	initsprites

	lea	skull2,a0
	jsr	putskull
	lea	spritebuff2,a6
	jsr	initsprites

	lea	skull3,a0
	jsr	putskull
	lea	spritebuff3,a6
	jsr	initsprites

	lea	skull4,a0
	jsr	putskull
	lea	spritebuff4,a6
	jsr	initsprites

	lea	skull5,a0
	jsr	putskull
	lea	spritebuff5,a6
	jsr	initsprites

	lea	skull6,a0
	jsr	putskull
	lea	spritebuff6,a6
	jsr	initsprites

	rts
*******************************
*        put - skull          * 
*******************************
putskull:
	move.l	#$60000,a1
	rept	55
	clr.l	(a1)
	clr.w	4(a1)
	clr.l	8(a1)
	clr.w	12(a1)
	clr.l	16(a1)
	clr.w	20(a1)
	clr.l	24(a1)
	clr.w	28(a1)
	add.w	#160,a1
	endr
	move.l	#$60000,a1
	rept	55
	move.l	(a0)+,(a1)
	move.w	(a0)+,4(a1)
	move.l	(a0)+,8(a1)
	move.w	(a0)+,12(a1)
	move.l	(a0)+,16(a1)
	move.w	(a0)+,20(a1)
	add.w	#160,a1
	endr
	rts	
*******************************
*       inits sprites         *
*******************************
initsprites:
	jsr	copysprite
	rept	15
	jsr	rotatesprite
	jsr	copysprite
	endr
	rts
copysprite:
	move.l	#$60000,a0
	move.w	#54,d0
copyspriteloop:	
	move.l	(a0),(a6)+
	move.w	4(a0),(a6)+
	move.l	8(a0),(a6)+
	move.w	8+4(a0),(a6)+
	move.l	16(a0),(a6)+
	move.w	16+4(a0),(a6)+
	move.l	24(a0),(a6)+
	move.w	24+4(a0),(a6)+
	add.w	#160,a0
	dbf.w	d0,copyspriteloop
	rts
rotatesprite:
	move.l	#$60000,a0
	move.w	#54,d0
rotatespriteloop:
	roxr.w	(a0)	
	roxr.w	8(a0)	
	roxr.w	16(a0)	
	roxr.w	24(a0)	

	roxr.w	2(a0)	
	roxr.w	10(a0)	
	roxr.w	18(a0)	
	roxr.w	26(a0)	

	roxr.w	4(a0)	
	roxr.w	12(a0)	
	roxr.w	20(a0)	
	roxr.w	28(a0)	
	add.w	#160,a0
	dbf.w	d0,rotatespriteloop
	rts	
*******************************
*        put - sprite         *
*******************************
putsprite:
	move.l	$44e,a1
	add.w	#2,a1
	move.w	skully,d0
	muls	#160,d0
	add.l	d0,a1
	move.w	skullx,d0
	move.w	d0,d1
	and.w	#$fff0,d0
	divu.w	#2,d0
	add.w	d0,a1	
	and.w	#$000f,d1
	muls	#1320,d1
	add.l	d1,a0
	sub.w	#160*10,a1
	move.l	#0,d0
	move.w	#320,d1
	rept	4
	move.l	d0,-8(a1)
	move.w	d0,-4(a1)
	move.l	d0,0(a1)
	move.w	d0,4(a1)
	move.l	d0,8(a1)
	move.w	d0,8+4(a1)
	move.l	d0,16(a1)
	move.w	d0,16+4(a1)
	move.l	d0,24(a1)
	move.w	d0,24+4(a1)
	move.l	d0,-168(a1)
	move.w	d0,-164(a1)
	move.l	d0,160(a1)
	move.w	d0,164(a1)
	move.l	d0,168(a1)
	move.w	d0,168+4(a1)
	move.l	d0,160+16(a1)
	move.w	d0,160+16+4(a1)
	move.l	d0,160+24(a1)
	move.w	d0,160+24+4(a1)
	add.w	d1,a1
	endr
	rept	27
	move.l	d0,-8(a1)
	move.w	d0,-4(a1)
	move.l	(a0)+,(a1)
	move.w	(a0)+,4(a1)	
	move.l	(a0)+,8(a1)
	move.w	(a0)+,8+4(a1)	
	move.l	(a0)+,16(a1)
	move.w	(a0)+,16+4(a1)	
	move.l	(a0)+,24(a1)
	move.w	(a0)+,24+4(a1)	
	move.l	d0,32(a1)
	move.w	d0,32+4(a1)
	move.l	d0,160-8(a1)
	move.w	d0,160-4(a1)
	move.l	(a0)+,160(a1)
	move.w	(a0)+,160+4(a1)	
	move.l	(a0)+,160+8(a1)
	move.w	(a0)+,160+8+4(a1)	
	move.l	(a0)+,160+16(a1)
	move.w	(a0)+,160+16+4(a1)	
	move.l	(a0)+,160+24(a1)
	move.w	(a0)+,160+24+4(a1)	
	move.l	d0,160+32(a1)
	move.w	d0,160+32+4(a1)
	add.w	d1,a1
	endr
	move.l	d0,-8(a1)
	move.w	d0,-4(a1)
	move.l	(a0)+,(a1)
	move.w	(a0)+,4(a1)	
	move.l	(a0)+,8(a1)
	move.w	(a0)+,8+4(a1)	
	move.l	(a0)+,16(a1)
	move.w	(a0)+,16+4(a1)	
	move.l	(a0)+,24(a1)
	move.w	(a0)+,24+4(a1)	
	move.l	d0,32(a1)
	move.w	d0,32+4(a1)
	rept	4
	move.l	d0,-8(a1)
	move.w	d0,-4(a1)
	move.l	d0,0(a1)
	move.w	d0,4(a1)
	move.l	d0,8(a1)
	move.w	d0,8+4(a1)
	move.l	d0,16(a1)
	move.w	d0,16+4(a1)
	move.l	d0,24(a1)
	move.w	d0,24+4(a1)
	move.l	d0,-168(a1)
	move.w	d0,-164(a1)
	move.l	d0,160(a1)
	move.w	d0,164(a1)
	move.l	d0,168(a1)
	move.w	d0,168+4(a1)
	move.l	d0,160+16(a1)
	move.w	d0,160+16+4(a1)
	move.l	d0,160+24(a1)
	move.w	d0,160+24+4(a1)
	add.w	d1,a1
	endr
	rts
*******************************
incdeg:
	add.w	#3,dega
	cmp.w	#359,dega
	ble	nodegawrap
	move.w	#0,dega
nodegawrap:
	add.w	#6,degb
	cmp.w	#359,degb
	ble	nodegbwrap
	move.w	#0,degb
nodegbwrap:
	rts
*******************************
calcskull:
	clr.l	d0
	clr.l	d1
	clr.l	d2
	move.w	dega,d0
	muls	#2,d0
	move.l	#sintab,a0
	add.w	d0,a0
	move.w	(a0),d0
	muls	#97,d0
	divs	#512,d0
	add.w	#127,d0
	move.w	d0,d7
	move.w	degb,d1
	muls	#2,d1
	move.l	#costab,a0
	add.w	d1,a0
	move.w	(a0),d1
	muls	#35,d1
	divs	#512,d1
	add.w	#84,d1
	rts
*************************************
skullen:
	jsr	incdeg
	jsr	calcskull
	move.w	d0,skullx
	move.w	d1,skully
	move.l	skullbuffptr,a0
	jsr	putsprite

	addq.w	#1,skullcount
	cmp.w	#3,skullcount
	bne	no1
	clr.w	skullcount

	cmp.w	#0,skullway
	bne	no0
	cmp.l	#spritebuff6,skullbuffptr
	bne	noskullrestore
	move.w	#1,skullway
	bra	no1
noskullrestore:
	add.l	#1320*16,skullbuffptr
no0:
	cmp.w	#1,skullway
	bne	no1
	cmp.l	#spritebuff,skullbuffptr
	bne	noskullrestore2
	move.w	#0,skullway
	bra	no1
noskullrestore2:
	sub.l	#1320*16,skullbuffptr
no1:
	rts
***************************************************************************
 section data
savesuper:	dc.l	0
old07:		dc.b	0
old09:		dc.b	0
old13:		dc.b	0
old15:		dc.b	0
old17:		dc.b	0
old19:		dc.b	0
old1b:		dc.b	0
old68:		dc.l	0
old70:		dc.l	0
old120:		dc.l	0
old134:		dc.l	0
oldres:		dc.b	0
oldphys1:	dc.b	0
oldphys2:	dc.b	0
oldlog:		dc.l	0
changething:	dc.w	0
linecol:	dc.w	0
mixcount:	dc.w	0
mixsub:		dc.w	0
mixfade:	dc.w	0
mixfadec:	dc.w	0
deg1:		dc.w	2
deg2:		dc.w	4
deg3:		dc.w	0
deg4:		dc.w	0
deg5:		dc.w	4
deg6:		dc.w	2
deg7:		dc.w	0
deg8:		dc.w	0
adeg:		dc.w	0
bdeg:		dc.w	0
logopos:	dc.w	100
vbiflag:	dc.w	0 
sine1:		dc.w	16
sine2:		dc.w	360*8+4
count:		dc.w	0
xvu:		dc.w	0
vubuff:		ds.w	40
curvadd:	dc.w	160*85
clsine1:	dc.w	0
clsine2:	dc.w	360*8
savea0:		dc.l	0
scrollwait:	dc.w	0
bendptr2:	dc.l	0
dega:		dc.w	0
degb:		dc.w	0
quit:		dc.w	0
skullx:		dc.w	0
skully:		dc.w	0
skullway:	dc.w	0
skullcount:	dc.w	0
skullbuffptr:	dc.l	spritebuff
mixptr:		dc.l	mixtab
distptr:	dc.l	disttab
distptr2:	dc.l	disttab2
bendptr:	dc.l	bendtabstart+2
textptr:	dc.l	scrolltext
scrolltext:
 dc.b 0,"                                                         HI AND WELCOME TO CRYSTALICS PART IN THIS MEGADEMO... THIS PART IS CALLED MIXTURE (DON'T ASK ME WHY...). IN THIS PART WE WON'T HAVE ANY DIFFICULT STUFF, JUST SOME "
 dc.b "EFFECTS THAT WE HAD TO GET RID OFF, LIKE THE OLD GRAPHICS YOU'LL SEE LATER ON. AND NOW TO THE GREATEST EFFECT EVER ON ST...                    "
 dc.b $FE,"                                                                                                        ",$fe,1
 dc.b "                    AH HA HA HA..GOT YOU,I WAS JUST KIDDING.. NOW LET'S  HAVE A LOOK AT THE CREDITS: MAIN CODING "
 dc.b "BY   CORNY  ",$FD," WITH ADDITIONAL CODING BY   FEAR   ",$FD," AND THE GRAPHICS BY   LORD D. ",$fd,"(THIS IS A REAL OLDIE)  THE MUSIC IS MADE BY    TAO   ",$fd
 dc.b "(RIPPED BY FEAR WITHOUT USING ANY LAME "
 dc.b "MUSIC RIPPPER)                    ",$FE,2,"                    THIS IS THE INCREDIBLE ZOOLOOK... EEEH... I MEAN ZOOMER. LORD WANTED TO HAVE A NUDE GIRL IN THE CIRCLES, BUT CORNY AND FEAR TALKED HIM OUT OF IT... NOW LET'S SWING"
 dc.b "...                    ",5,"WHOOO! THIS IS WHAT I CALL A BENDER....                    ",3,$FE
 dc.b "                    HELP! A ZOOMING SINUS SKULL... THE CODE IS NOT IMPRESSIVE, BUT THE RESULT IS O.K.    NOW WE'RE IN FOR THE LAST EFFECT, A PICTURE THAT LORD WANTED TO HAVE IN THE DEMO "
 dc.b "WHEN HE COULDN'T HAVE THE NUDE GIRL...                    ",$FE,5,"                    THIS GIRL IS KIND OF...   BIG!  LORD CALLS HER LUCINDA, BUT DON'T ASK ME WHY... AS I SAID, THIS IS THE LAST THING IN THIS DEMO, "
 dc.b "SO WE'RE GOING TO LET THE STUFF ROLL ON WHILE WE TAKE THE GREETINGS AND THAT KIND OF STUFF... ALL OF THE CRYSTALIC MEMBERS WILL WRITE IN THIS SCROLL, AND FIRST OUT IS:            CORNY                     ",$FE

 dc.b 4,"             YO! FIRST OF ALL I'D LIKE TO GIVE YOU MY ADDRESS. IF YOU'D LIKE TO WRITE TO ANY OF THE OTHER MEMBERS YOU CAN JUST WRITE THEIR NAME IN THE CORNER OF THE ENVELOPE "
 dc.b "AND I WILL PASS IT OVER TO THEM. ALL RIGHT, HERE IT IS:          ",$FE,"               CORNY  ",$FD,"  OF CAC  ",$FD," ,    GAMMEL  ",$FD,"  BANSV.  ",$FD,"  TWENTY  ",$FD,"   SIX   ",$FD,"   ,   EIGHT  "
 dc.b $FD,"  TWO   ",$FD,"   FOUR  ",$FD,"  FOUR   ",$FD,"  ZERO   ",$FD," H-VALL ",$FD,"    OKAY, NOW I'M GONNA TELL YA A LITTLE BOUT MIZELF.          ",$FE,"          I'LL TURN EIGHTEEN SOON, IT'S "
 dc.b "ONLY A COUPLE OF WEEKS LEFT. MY MUSIC TASTE IS HIP HOP AND RAP. I'M A CODER IN THE GROUP, AND I JOINED IT ABOUT A YEAR AGO, AND I HAD JUST STARTED TO CODE IN ASSEMBLER THEN. I AIN'T "
 dc.b "GONNA TELL YOU THE NAME OF THE GROUP I WAS IN BEFORE I JOINED CRYSTALIC.          ",$FE,"           OUR GREETINGS GOES TO: EMLING OF DEFLECT, OSK OF HEMOROIDS, OB (GOING LUDIVIKA?), HYBRIS (WILL WE GET YOUR "
 dc.b "DEMO SOON?), TFS AND THE REST OF GRC (NICE TO SEE YOU AT THE IMPULSE PARTY, MR. FLETCH), THE INVIZIBLES, BRAINIACS (WAKE UP!), X PRESS CREW (STILL THERE?), IMPULSE (NICE LITTLE "
 dc.b "PARTY GUYS), CTHULHU (THANX FOR THE AMIGA DEMOS).  WE WOULD ALSO LIKE TO THANK SECTOR ONE FOR THEIR GREAT SOUNDCHIP MUSIC PROGRAM. OKAY, NOW OVER TO:         ",$fe

 dc.b 5,"           HOLA! FEAR IS HERE... I THINK THIS PART IS REALLY NICE AND WHAT WOULD IT BE WITHOUT ME... SOON WE (LORD AND I) WILL GO TO CORNYS HOME AND FINISH THIS PART... NOW I WILL TALK ABOUT THE MARKET WE HAD WERE A COUPLE OF WEEKS AGO!"
 dc.b "          ",$FE,"                    "
 dc.b "I WERE WITH SOME OF MY CLASSMATES AND FIRST WE WERE AT MY HOME AND WATCHED SOME GREAT MOVIES... LATER ON WE WENT BY CAR INTO THE TOWN WERE THE MARKET WAS HELD... AT THE MARKED WE MET LORD AND CORNY... THEY WERE SO DRUNK THAT "
 dc.b "I HAD TO LOOK AFTER THEM...  NOW I WILL TELL YOU ABOUT A NORMAL DAY IN MY LIFE!!!           ",$FE,"           I WAKE UP AT ABOUT SEVEN AND TWENTYFIVE MINUTES LATER I CATCH A BUSS THAT DRIVES ME TO THE SCHOOL... "
 dc.b "ERK! ERK! ERK! AND WHEN THE CLOCK IS ABOUT "
 dc.b "HALF PAST THREE I GO HOME WITH THE BUSS... WHEN I AM HOME I MOSTLY CODE OR LOOK AT MOVIES... AND WHEN THE CLOCK IS PAST TEN I GO TO BED... THAT WAS A NORMAL DAY IN MY LIFE!!! "

 dc.b "            ",3,$fe,"          "
 dc.b "...HIGH PRIESTS PRAY TO THEIR ONE ABOVE..BUT THE WINGED BEASTS OF EVIL KILL THEIR LOVED..PHANTOMS OF ETERNAL HELL WATCH ON..AS DARKNESS SLAYS,LIGHT'S NOW GONE (EXHORDER:LEGIONS OF DEATH).          ",$FE,"          "
 dc.b "YUP! LORD IS HERE..ACTUALLY WE WERE NOT SUPPOSED"
 dc.b " TO TELL WHO IS WRITING AT ANY TIME IN THIS SCROLL,BUT I COULD NOT HELP IT.LET'S TALK ABOUT THE FALCON SYNDROME THAT IS SPREADING FAST.          ",$FE,"          SOME JERKS WE KNOW AND MANY MORE IS READY TO BUY A "
 dc.b "FALCON EVEN BEFORE IT'S EVEN HIT THE MARKET.."
 dc.b "WELL,WE ARE A BIT MORE CLEVER THAN THAT..WE WONT BUY IT AS SOON AS IT COMES OUT,WHO KNOWS WHAT NEGATIVE SIDES IT MAY HAVE!..NO,WE'LL WAIT UNTIL SOME PEOPLE WE KNOW HAVE GOT THEM AND THEN SEE WHAT IT CAN DO BEFORE WE DECIDE TO BUY IT."
 dc.b "THE SAD THING IS THAT SOME OF THE GUYS WHO INTEND TO BUY ONE CAN HARDLY CODE IS BASIC..AND IT'S NOT CONFIRMED THAT ANY BASIC PROGRAM WORKS ON FALCON (NOT YET!).THATS THAT..NOW OVER TO A REALTIME SITUATION SCAN (SOUNDS ADVANCED HUH!)."
 dc.b "          ",$fe,"          "
 dc.b "WELL..ALL I MEAN IS THAT I WILL JUST TELL YOU SOME THINGS ABOUT THE GRAPHIC MAN OF CRYSTALIC (FOR YOU WHO HAVE NO IDEA OF WHO I AM).I WILL BE NINETEEN YEARS OLD IN A FEW DAYS..IM CURRENTLY WORKING AS A TEACHER ASSISTANT AT ONE OF"
 dc.b " THE LOCAL SCHOOLS FOR KIDS IN FIRST TO SIXTH GRADE..I WILL PROBABLY WORK THERE FOR SIX MONTHS,THEN I'LL JUST HANG AROUND FOR ANOTHER SIX MONTHS..THEN IT'S ARMY TIME (IS IT BORING AN COOL?)."
 dc.b "          ",$fe,"          I AM THE ONE WHO DO ALL GRAPHICS FOR"
 dc.b " CRYSTALIC.SOMETIMES I DO MUSIC (AS YOU MAY HAVE NOTICED).I WILL DO A SOUNDCHIP TUNE FOR THE INTRO IN 'EVEN WORSE' WERE YOU WILL SEE US PLAY INSTRUMENTS LIVE!.I STARTED CRYSTALIC WITH FEAR FOR ABOUT FIVE YEARS AGO ON A COMPUTER"
 dc.b " CALLED SPECTRAVIDEO..LATER ON WE WERE ON THE COMMODORE AND NOW WE ARE ON THIS GREAT COMPUTER..WERE WE WILL STAY FOR A WHILE!....NOW LET'S END THIS BORING SHIT AND READ SOME FUN STUFF IN A GUEST SCROLL FROM A DEAR FRIEND OF MINE:     "

 dc.b "            ",1,$FE,"          "
 dc.b "HEJ ALLA TROLL I TOMTESKOGEN......   "
 dc.b "EH......   EMLING FROM DEFLECT AND OSK FROM HEMOROIDS HERE TO SCREAM THE SHIT "
 dc.b "OUT OF....    ANITA OCH TELLEVINKEN!!        OKEY ALL PUNKERS AND "
 dc.b "HEAVY METALL FANS GET YOUR CLOTHES OFF AND DANCE....... "
 dc.b "        I'D BETTER START WITH DAS MUZIC GREETZ.......    "
 dc.b "     FIRST OF ALL I JUST MUST SEND A GREETING TO THE BEST MUSIC BAND IN THE UNIVERSE... "
 dc.b " WHICH IS.......         -N I R V A N A-        BUT ALSO TO:  MUDHONEY,  PEARL JAM,  SONIC YOUTH,   ALICE IN CHAINS,  SOUNDGARDEN,  RED HOT CHILI PEPPERS  AND LAST BUT NOT LEAST  TEMPLE OF THE DOG... "
 dc.b "    NOTICE ONE THING THAT YOU CAN'T SAY TO ANYONE OF THESE COOL BANDS THAT THEY ARE PRONOUNCED HEAVY METALLS OR PUNKS....    THATS WHY I LIKE THEM!!! "
 dc.b "      OKEY NOW LETS GET SERIOUS..  WELL WELL I WAS ASKED TODAY AS MATTER OF A FACT  (THE SECOND OF SEPTEMBER NINETEEN NINETY TWO!) TO WRITE A GUEST SCROLL FOR A GUEST SREEN BY: C.A.C IN THIS TFS MEGADEMO"
 dc.b " SO HERE I AM...       TOMTEN LEVER.....    LOAD ON DRUGS KILL YOUR FREINDS AROUND.. ....    I'M SO HAPPY CAUSE TODAY I FOUND MY BRAIN IT'S IN MY HEAD !!!...???!.?  WHY AM I WRITING THIS CRAP REALLY??    NEVER MIND I MUST CONTINUE.... "
 dc.b "        COMPUTER GREETINGS TO:    CRYSTALIC (HERE YOU ARE LORD..)   SUPERIOR (HI TO WANDERER!)   THE SYNDICATE (HEJBAS PETTER!)   SECTION ONE (HEJ WILLIAM OCH PONTUS,  HELLO ROD!)   TFS   ACF (HALLO JACKY HAST DU MEIN BRIEF GEKRIEGT??) "
 dc.b "   EXCELLENCE IN ART,   REST OF HEMOROIDS (THANX FOR THE STUFF STRANGER!),   UNIT SEVENTEEN (HI TO JANSON!),   MARKUS T,   SUPREME OF CYNIX (ARE YOUR COMPUTER OKEY NOW??)  .....      ASSHOLE GREETINGS TO:   ZAPHOD AND TROED.... "
 dc.b "I.C.S EUROPEAN NR. ONE "
 dc.b "  HA HA HA HO HO AHA HE HE...  SAY EUROPEAN NR. TWENTYFIVE AND I MIGHT EVEN BELIVE YA!!! ....      " 
 dc.b " FY FAN VAD JAG HATAR GETINGAR MEN JAG TOG MITT TENNIS"
 dc.b "RACKET OCH SLOG IHJAL DEN LILLA FAN...    HA HA HA HAA!!   AR JAG INTE BRUTAL??  ....   TA HIT EN BANAN MANNE AR HUNGRIG...  AH SHIT I DON'T KNOW WATTA WRITE THAT'S WHY I'M WRITING SWEDISH...  "
 dc.b "    WELL WELL THIS IS MAYBE ONE OF THE LAST THINGS I DO ON THE GOOD OLD ST BUT I MIGHT BUY A FALCON WHO KNOWS ?!....     SE UPP HAR KOMMER MIN SKO!!    SHAKE IT BABE COMON SCREAM..??..  "
 dc.b "         I CAN'T FIND ANYMORE CRAP TO WRITE SO THIS IS THE END OF THE LEGEND BUT ALWAYS REMEMBER........                      STAGEDIVE I SANGEN AR KUL....     SANGDIVE.....     SLAMDANSA I BADKARET AR OSSO TUFFT.....  SLAMBATH!!!       "
 dc.b "       UFFF! MY MOUTH IS FULL OF CRAP...        I'M UTTA HERE!!!..       SKJUT EN KO...  AT EN HAST!!                           "     

 dc.b $FF
 even
zoompal:	dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000
palette:	dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000
logopal:	dc.w 	$000,$613,$730,$754,$402,$002,$003,$004,$005,$557,$321,$432,$777,$000,$500,$200
fontpal:	dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000
mixtab:		dc.w	$700,$100,$070,$010,$007,$001,$707,$101,-1
skullpal: 	dc.w	$000,$000,$111,$111,$222,$222,$333,$333,$444,$444,$555,$555,$666,$666,$777,$777
linefadetab:	dc.w	$111,$222,$333,$444,$555,$666,$777,$666,$555,$445,$335,$225,$115,$005
plasmapal:	dc.w	$000,$000,$100,$200,$300,$400,$500,$600,$700,$600,$500,$400,$300,$200,$100,$000,$100,$210,$320,$430,$541,$652,$762,$652,$541,$430,$320,$210,$100,$000,$010,$020,$030,$040,$050,$060,$070
		dc.w	$060,$050,$040,$020,$010,$000,$001,$002,$103,$204,$305,$406,$507,$406,$305,$204,$103,$002,$001,$000,$001,$002,$003,$004,$005,$006,$007,$006,$005,$004,$003,$002,$001,$000,$000,$000,$000
lucindafade:	dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$001,$000,$000,$000,$001
		dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$002,$000,$000,$001,$002
		dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$003,$000,$000,$002,$003
		dc.w	$000,$000,$000,$000,$000,$000,$001,$000,$000,$000,$000,$004,$000,$000,$003,$004
		dc.w	$000,$000,$000,$000,$000,$000,$002,$000,$000,$001,$000,$005,$000,$000,$004,$005
		dc.w	$000,$001,$000,$000,$000,$001,$003,$000,$000,$002,$000,$006,$000,$000,$005,$006
		dc.w	$000,$002,$001,$001,$000,$002,$004,$000,$000,$003,$000,$007,$000,$000,$006,$007
		dc.w	$000,$002,$001,$001,$000,$002,$004,$000,$000,$003,$000,$017,$000,$000,$006,$007
		dc.w	$000,$002,$001,$001,$000,$002,$004,$000,$000,$003,$000,$027,$000,$000,$006,$007
		dc.w	$000,$002,$001,$001,$000,$002,$004,$000,$000,$003,$000,$037,$000,$000,$006,$017
		dc.w	$000,$002,$001,$001,$000,$002,$004,$000,$000,$003,$000,$047,$000,$000,$016,$027
		dc.w	$000,$002,$001,$001,$000,$002,$014,$000,$000,$003,$000,$057,$000,$010,$026,$037
		dc.w	$000,$012,$001,$001,$000,$002,$024,$000,$000,$013,$000,$067,$010,$020,$036,$047
		dc.w	$000,$022,$011,$011,$000,$012,$034,$000,$000,$023,$000,$017,$020,$030,$046,$057
		dc.w	$000,$022,$011,$011,$000,$012,$034,$000,$100,$023,$000,$177,$020,$030,$046,$057
		dc.w	$000,$122,$011,$011,$000,$012,$034,$000,$200,$023,$000,$277,$020,$030,$046,$057
		dc.w	$000,$222,$111,$011,$000,$012,$034,$000,$300,$023,$100,$377,$020,$030,$046,$057
		dc.w	$000,$322,$211,$111,$000,$012,$034,$000,$400,$023,$200,$477,$020,$130,$046,$157
		dc.w	$000,$422,$311,$211,$100,$012,$134,$000,$500,$023,$300,$577,$120,$230,$146,$257
		dc.w	$000,$522,$411,$311,$200,$012,$234,$100,$600,$123,$400,$677,$220,$330,$246,$357
		dc.w	$000,$622,$511,$411,$300,$112,$334,$200,$700,$223,$500,$777,$320,$430,$346,$457
makewishfade:	dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000
		dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000
		dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$000,$001,$000,$000
		dc.w	$000,$000,$000,$000,$000,$000,$000,$000,$001,$000,$000,$000,$000,$002,$000,$000
		dc.w	$000,$001,$000,$000,$000,$000,$000,$001,$002,$000,$000,$000,$001,$003,$000,$000
		dc.w	$000,$002,$001,$000,$000,$000,$001,$002,$003,$000,$000,$000,$002,$004,$000,$000
		dc.w	$000,$003,$002,$001,$000,$001,$002,$003,$004,$000,$000,$000,$003,$005,$000,$000
		dc.w	$000,$004,$003,$002,$001,$002,$003,$004,$005,$000,$000,$000,$004,$006,$000,$010
		dc.w	$000,$004,$003,$002,$001,$002,$003,$004,$005,$000,$000,$000,$004,$006,$000,$020
		dc.w	$000,$004,$003,$002,$001,$002,$003,$004,$005,$000,$000,$000,$004,$006,$010,$030
		dc.w	$000,$004,$003,$002,$001,$002,$003,$004,$015,$000,$000,$000,$004,$006,$020,$040
		dc.w	$000,$014,$003,$002,$001,$002,$003,$014,$025,$000,$000,$010,$004,$006,$030,$050
		dc.w	$000,$024,$013,$002,$001,$002,$013,$024,$035,$000,$010,$020,$004,$006,$040,$060
		dc.w	$000,$034,$023,$012,$001,$012,$023,$034,$045,$010,$020,$030,$004,$006,$050,$070
		dc.w	$000,$044,$033,$022,$011,$022,$033,$044,$055,$020,$030,$040,$004,$006,$060,$170
		dc.w	$000,$044,$033,$022,$011,$022,$033,$044,$055,$020,$030,$040,$004,$006,$160,$270
		dc.w	$000,$144,$033,$022,$011,$022,$033,$044,$155,$020,$030,$140,$004,$006,$260,$370
		dc.w	$000,$244,$133,$022,$011,$022,$033,$144,$255,$020,$130,$240,$004,$006,$360,$470
		dc.w	$000,$344,$233,$122,$011,$022,$133,$244,$355,$120,$230,$340,$004,$006,$460,$570
		dc.w	$000,$444,$333,$222,$111,$122,$233,$344,$455,$220,$330,$440,$004,$006,$560,$670
		dc.w	$000,$544,$433,$322,$211,$222,$333,$444,$555,$320,$430,$540,$004,$006,$660,$770
bendtabstart:	dc.w	160*100
		dcb.w	40,0
		dc.w	14*160
		incbin	a:\mixture\curva1.dat
		dc.w	0
		incbin	a:\mixture\curva2.dat
		dc.w	0
		incbin	a:\mixture\curva3.dat
		dc.w	0
		incbin	a:\mixture\curva4.dat
		dc.w	0
		incbin	a:\mixture\curva5.dat
		dc.w	0
		incbin	a:\mixture\curva6.dat
		even
fonttab:	include	a:\mixture\fonttab.dat
disttab:	include	a:\mixture\realwave.dat
disttab2:	include	a:\mixture\realwav2.dat
		include	a:\mixture\realwav3.dat
		include	a:\mixture\realwave.dat
		include	a:\mixture\realwav2.dat
font:		incbin	a:\mixture\mixfont.dat
balls:		incbin	a:\mixture\onecol.dat	
sintab:		incbin	a:\mixture\sintab.dat
		incbin	a:\mixture\sintab.dat
costab:		incbin	a:\mixture\costab.dat
		incbin	a:\mixture\costab.dat
dots:		incbin	a:\mixture\sinedots.dat
mixture:	incbin	a:\mixture\mixture.dat
mixture2:	incbin	a:\mixture\mixture2.dat
logo:		incbin	a:\mixture\logo.dat
lucinda:	incbin	a:\mixture\lucinda.dat
makewish:	incbin	a:\mixture\makewish.dat
music:		incbin	a:\mixture\justf_1.mus

		even
 section bss
scrollarea:	ds.l	44	
 even
sprite1:	ds.b	16*10*63
		ds.l	1024
 even
spritebuff:	ds.b	16*1320
spritebuff2:	ds.b	16*1320
spritebuff3:	ds.b	16*1320
spritebuff4:	ds.b	16*1320
spritebuff5:	ds.b	16*1320
spritebuff6:	ds.b	16*1320-990*6
 section data
skull1:		incbin	a:\mixture\skull1.dat
skull2:		incbin	a:\mixture\skull2.dat
skull3:		incbin	a:\mixture\skull3.dat
skull4:		incbin	a:\mixture\skull4.dat
skull5:		incbin	a:\mixture\skull5.dat
skull6:		incbin	a:\mixture\skull6.dat
