
	section ste,code_c
	incdir	df1:
	opt c-
	include gamemacros



	
	killsys

	move.l	#$70000,a0
	move.l	#10240,d2
cloop:
	clr.l	(a0)+
	dbf		d2,cloop

	move.l	#$60000,a0
	move.l	#10240,d2
dloop:
	clr.l	(a0)+
	dbf		d2,dloop

;	move.l	#logo,d1
;	move.w	d1,b1l+2
;	swap	d1
;	move.w	d1,b1h+2
;	swap	d1
;	add.l	#40*256,d1
;	move.w	d1,a2l+2
;	swap	d1
;	move.w	d1,a2h+2
;	swap	d1
;	add.l	#40*256,d1
;	move.w	d1,a3l+2
;	swap	d1
;	move.w	d1,a3h+2


	move.l	#newcop,$dff080
	lea		custom,a5
mouse:
	move.l	vposr(a5),d0			
	and.l	#$1ff00,d0
	cmp.l	#$00100,d0	
	bne.s	mouse
	bsr		clear
	bsr		scroller
	bsr		copy
testmouse:
	btst	#6,$bfe001
	bne.s	mouse
	ressys
	clr.l	d0
	rts
	

*****************************************************************************
*						  BLIT SHIFT SCROLL ROUTINE							*
*****************************************************************************

scroller:
	move.l	#-1,bltafwm(a5)
	tst.l	scrolled				;have we scrolled 16 pixels?
	bne		scrollon				;no
	move.l	#15,scrolled			;yes, reset
	sub.l	d6,d6
	lea		table(pc),a4
	move.l	scrptr(pc),a3
	move.b	(a3),d6
	cmp.b	#255,d6					;end of scroll text?
	bne.s	anotover				;no
	move.l	#scrolltext,scrptr
	sub.l	d6,d6
	rts
anotover:
	sub.b	#32,d6					;convert
	add.w	d6,d6
	move.w	(a4,d6),d6				;got letter
	add.l	#1,scrptr				;update
	blitwait
	move.l	#$09f00000,bltcon0(a5)	;minterm d=a
	move.l	#font,a0
	add.l	d6,a0
	move.l	a0,bltapth(a5)
	move.w	#38,bltamod(a5)
	move.w	#46,bltdmod(a5)			;screen is 2 words bigger
	move.l	#$70000,bltdpth(a5)
	move.w	#16<<6!1,bltsize(a5)
scrollon:	
	blitwait
	move.w	#0,bltamod(a5)
	move.w	#0,bltdmod(a5)
	move.l	#$70000,bltdpth(a5)		;coarse scroller
	move.l	#$70002,bltapth(a5)
	move.l	#$f9f00000,bltcon0(a5)
	move.w	#16<<6!22,bltsize(a5)
	sub.l	#1,scrolled
	rts

copy:
	lea		bltapth(a5),a1			;source
	lea		bltdpth(a5),a2			;dest
	lea		bltbpth(a5),a3			;dest
	lea		bltsize(a5),a4			;blitsize
	lea		bltcon0(a5),a6
	move.w	#$3fe,d1
	move.w	#22,d6
	move.w	#46,d2					;modulo
	move.w	#16<<6!1,d3				;bltsize
	move.l	#$0dfc0000,d7
	move.l	#$70000,d4
	move.l	screen_base,d5
	move.l	#-1,bltalwm(a5)
	move.w	d2,bltamod(a5)
	move.w	d2,bltbmod(a5)
	move.w	d2,bltdmod(a5)
	add.w	#12,sinptr+2
	and.l	d1,sinptr
	lea		sintab(pc),a0
	add.l	sinptr,a0
	lea		bltafwm(a5),a5
brloop:
	move.w	#$8000,d1				;mask
coploop:
	rept	16
	move.w	d1,(a5)
	add.w	(a0),d5
	move.l	d4,(a1)					;source
	move.l	d5,(a2)					;dest d
	move.l	d5,(a3)					;dest b
	sub.w	(a0)+,d5
	move.l	d7,(a6)
	move.w	d3,(a4)					;blitsize
	ror.w	d1
	endr
	addq.w	#2,d4					;next along
	addq.w	#2,d5					;next along
	dbf		d6,brloop
	lea		custom,a5
	rts


clear:
	eor.w	#$4000,a1l+2
	eor.w	#$4000,screen_base+2
	move.l	screen_base,a1					; dst
	blitwait
	move.l	#$01f00000,bltcon0(a5)
	move.l	#-1,bltafwm(A5)
	move.w	#0,bltdmod(a5)
	move.l	a1,bltdpth(A5)
	move.w	#117*64+24,bltsize(a5)
	Movem.l	a0-a6/d0-d7,-(a7)		
	Movem.l	RegFiller(pc),a1-a6/d0-d7
	move.l	screen_base,a0
	add.w	#9000,a0
	Rept	80				
	Movem.l	a1-a6/d0-d7,-(a0)
	Endr					
	Movem.l	(a7)+,a0-a6/d0-d7
	Rts
RegFiller
	Dcb.l	16,0

	
scrolled:
	dc.l	15
scrptr:
	dc.l	scrolltext
scrolltext:
	DC.B	'   XENTRIX IS A NEW GROUP THAT HAS BEEN FORMED BY TWO'
	DC.B	' EX-MEMBERS OF CRYPTIC   THE OTHER MEMBERS OF CRYPTIC ARE'
	DC.B	' NOW CALLED ARENA  BUT THIS SMALL INTRO IS TO PLUG XENTRIX'
	DC.B	' AND NOT THEM.   XENTRIX CONSISTS OF THE FOLLOWING GUYZ'
	DC.B	'     TANGO:CODER-SWAPPER      SMURF:SWAPPER      CARL:SWAPPER'
	DC.B	'     FERRET:CODER-GFX-SFX      THIS INTRO WAS CODED BY TANGO'
	DC.B	' AND THE SINUS IS PRETTY FAST!        '
	DC.B	' IF YOU WOULD LIKE TO JOIN OUR CREW THEN WRITE TO THIS ADDRESS:'
	DC.B	'    TANGO:  368 HIGHFIELD ROAD, FARNWORTH, BOLTON, LANCASHIRE.'
	DC.B	'  BL4-OPG    ENGLAND!    OR YOU CAN PHONE ME ON....'
	DC.B	'   0204-795267 (AFTER 5PM!), WELL THATS ALL TILL NEXT TIME'
	DC.B	'   BYE!                      '
	DC.B	255
	even


*****************************************************************************
*								NEW COPPER LIST								*
*****************************************************************************

newcop:
	cmove	bpl1mod,2
	cmove	bpl2mod,2	
	cmove	bplcon0,$1200
	cmove	diwstrt,$2c81
	cmove	diwstop,$2cc1
	cmove	ddfstrt,$28
	cmove	ddfstop,$d8
	cmove	bpl1pth,$0007
a1l	cmove	bpl1ptl,$1000
	cmove	color00,$000
	cwait	40,0
	cmove	color00,$11f
	cwait	41,0
	cmove	color00,$000
	cwait	255,0
	cmove	bpl1mod,0
	cmove	bpl2mod,0	
	cmove	bplcon0,$3200
	cmove	ddfstrt,$38
	cmove	ddfstop,$d0
b1h	cmove	bpl1pth,$0000
b1l	cmove	bpl1ptl,$0000
a2h	cmove	bpl2pth,$0000
a2l	cmove	bpl2ptl,$0000
a3h	cmove	bpl3pth,$0000
a3l	cmove	bpl3ptl,$0000
	dc.w	$0182,$0eee,$0184,$0cce,$0186,$09ae
	dc.w	$0188,$077e,$018a,$055f,$018c,$023f,$018e,$000f
	end_copper

	
*****************************************************************************
*								CHARACTER TABLE								*
*****************************************************************************

table:
	dc.w	0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38
	dc.w	(16*40),2+(16*40),4+(16*40),6+(16*40),8+(16*40),10+(16*40)
	dc.w	12+(16*40),14+(16*40),16+(16*40),18+(16*40),20+(16*40),22+(16*40)
	dc.w    24+(16*40),26+(16*40),28+(16*40),30+(16*40),32+(16*40),34+(16*40)
	dc.w    36+(16*40),38+(16*40)
	dc.w	(16*80),2+(16*80),4+(16*80),6+(16*80),8+(16*80),10+(16*80)
	dc.w	12+(16*80),14+(16*80),16+(16*80),18+(16*80),20+(16*80),22+(16*80)
	dc.w    24+(16*80),26+(16*80),28+(16*80),30+(16*80),32+(16*80),34+(16*80)
	dc.w    36+(16*80),38+(16*80)
	even


screen_base:
	dc.l	$71000
sinptr:
	dc.l	sintab
sintab:	
	rept	3
	dc.w	170*48,170*48,170*48,170*48,170*48,170*48,170*48,170*48
	dc.w	170*48,169*48,169*48,169*48,169*48,169*48,169*48,169*48
	dc.w	168*48,168*48,168*48,168*48,167*48,167*48,167*48,167*48
	dc.w	166*48,166*48,166*48,165*48,165*48,165*48,164*48,164*48
	dc.w	164*48,163*48,163*48,162*48,162*48,161*48,161*48,160*48
	dc.w	160*48,159*48,159*48,158*48,158*48,157*48,157*48,156*48
	dc.w	156*48,155*48,154*48,154*48,153*48,153*48,152*48,151*48
	dc.w	151*48,150*48,149*48,149*48,148*48,147*48,147*48,146*48
	dc.w	145*48,144*48,144*48,143*48,142*48,141*48,141*48,140*48
	dc.w	139*48,138*48,137*48,136*48,136*48,135*48,134*48,133*48
	dc.w	132*48,131*48,130*48,130*48,129*48,128*48,127*48,126*48
	dc.w	125*48,124*48,123*48,122*48,121*48,120*48,119*48,118*48
	dc.w	118*48,117*48,116*48,115*48,114*48,113*48,112*48,111*48
	dc.w	110*48,109*48,108*48,107*48,106*48,105*48,104*48,103*48
	dc.w	102*48,101*48,100*48,99*48,97*48,96*48,95*48,94*48
	dc.w	93*48,92*48,91*48,90*48,89*48,88*48,87*48,86*48
	dc.w	85*48,84*48,83*48,82*48,81*48,80*48,79*48,78*48
	dc.w	77*48,76*48,75*48,74*48,73*48,71*48,70*48,69*48
	dc.w	68*48,67*48,66*48,65*48,64*48,63*48,62*48,61*48
	dc.w	60*48,59*48,58*48,57*48,56*48,55*48,54*48,53*48
	dc.w	52*48,52*48,51*48,50*48,49*48,48*48,47*48,46*48
	dc.w	45*48,44*48,43*48,42*48,41*48,40*48,40*48,39*48
	dc.w	38*48,37*48,36*48,35*48,34*48,34*48,33*48,32*48
	dc.w	31*48,30*48,29*48,29*48,28*48,27*48,26*48,26*48
	dc.w	25*48,24*48,23*48,23*48,22*48,21*48,21*48,20*48
	dc.w	19*48,19*48,18*48,17*48,17*48,16*48,16*48,15*48
	dc.w	14*48,14*48,13*48,13*48,12*48,12*48,11*48,11*48
	dc.w	10*48,10*48,9*48,9*48,8*48,8*48,7*48,7*48
	dc.w	6*48,6*48,6*48,5*48,5*48,5*48,4*48,4*48
	dc.w	4*48,3*48,3*48,3*48,3*48,2*48,2*48,2*48
	dc.w	2*48,1*48,1*48,1*48,1*48,1*48,1*48,1*48
	dc.w	0*48,0*48,0*48,0*48,0*48,0*48,0*48,0*48
	dc.w	0*48,0*48,0*48,0*48,0*48,0*48,0*48,0*48
	dc.w	0*48,1*48,1*48,1*48,1*48,1*48,1*48,1*48
	dc.w	2*48,2*48,2*48,2*48,3*48,3*48,3*48,3*48
	dc.w	4*48,4*48,4*48,5*48,5*48,5*48,6*48,6*48
	dc.w	6*48,7*48,7*48,8*48,8*48,9*48,9*48,10*48
	dc.w	10*48,11*48,11*48,12*48,12*48,13*48,13*48,14*48
	dc.w	14*48,15*48,16*48,16*48,17*48,17*48,18*48,19*48
	dc.w	19*48,20*48,21*48,21*48,22*48,23*48,23*48,24*48
	dc.w	25*48,26*48,26*48,27*48,28*48,29*48,29*48,30*48
	dc.w	31*48,32*48,33*48,34*48,34*48,35*48,36*48,37*48
	dc.w	38*48,39*48,40*48,40*48,41*48,42*48,43*48,44*48
	dc.w	45*48,46*48,47*48,48*48,49*48,50*48,51*48,52*48
	dc.w	52*48,53*48,54*48,55*48,56*48,57*48,58*48,59*48
	dc.w	60*48,61*48,62*48,63*48,64*48,65*48,66*48,67*48
	dc.w	68*48,69*48,70*48,71*48,73*48,74*48,75*48,76*48
	dc.w	77*48,78*48,79*48,80*48,81*48,82*48,83*48,84*48
	dc.w	85*48,86*48,87*48,88*48,89*48,90*48,91*48,92*48
	dc.w	93*48,94*48,95*48,96*48,97*48,99*48,100*48,101*48
	dc.w	102*48,103*48,104*48,105*48,106*48,107*48,108*48,109*48
	dc.w	110*48,111*48,112*48,113*48,114*48,115*48,116*48,117*48
	dc.w	118*48,118*48,119*48,120*48,121*48,122*48,123*48,124*48
	dc.w	125*48,126*48,127*48,128*48,129*48,130*48,130*48,131*48
	dc.w	132*48,133*48,134*48,135*48,136*48,136*48,137*48,138*48
	dc.w	139*48,140*48,141*48,141*48,142*48,143*48,144*48,144*48
	dc.w	145*48,146*48,147*48,147*48,148*48,149*48,149*48,150*48
	dc.w	151*48,151*48,152*48,153*48,153*48,154*48,154*48,155*48
	dc.w	156*48,156*48,157*48,157*48,158*48,158*48,159*48,159*48
	dc.w	160*48,160*48,161*48,161*48,162*48,162*48,163*48,163*48
	dc.w	164*48,164*48,164*48,165*48,165*48,165*48,166*48,166*48
	dc.w	166*48,167*48,167*48,167*48,167*48,168*48,168*48,168*48
	dc.w	168*48,169*48,169*48,169*48,169*48,169*48,169*48,169*48
	dc.w	170*48,170*48,170*48,170*48,170*48,170*48,170*48,170*48
	endr
	

*****************************************************************************
*									BINARIES								*
*****************************************************************************

font:
	incbin	gfx/font.bin
	even
logo:
	incbin	gfx/logo.bin	
	even
