
	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	#newcop,$dff080
	lea		custom,a5
mouse:
	move.l	vposr(a5),d0			
	and.l	#$1ff00,d0
	cmp.l	#$00100,d0	
	bne.s	mouse
	move.w	#$fff,$dff180
	bsr		clear
	bsr		scroller
	bsr		copy
	move.w	#$0,$dff180
	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
	clr.l	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
	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	#10368,a0
	Rept	93				
	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	' TANGO SAYS GO TO THE SHOP ASLAM OR ILL KICK YOUR FUKIN HEAD IN!'
	DC.B	' OK??    '
	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
	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	200*48,200*48,200*48,200*48,200*48,200*48,200*48,200*48
	dc.w	200*48,199*48,199*48,199*48,199*48,199*48,199*48,198*48
	dc.w	198*48,198*48,198*48,197*48,197*48,197*48,196*48,196*48
	dc.w	196*48,195*48,195*48,195*48,194*48,194*48,193*48,193*48
	dc.w	192*48,192*48,191*48,191*48,190*48,190*48,189*48,189*48
	dc.w	188*48,188*48,187*48,186*48,186*48,185*48,184*48,184*48
	dc.w	183*48,182*48,182*48,181*48,180*48,180*48,179*48,178*48
	dc.w	177*48,177*48,176*48,175*48,174*48,173*48,172*48,172*48
	dc.w	171*48,170*48,169*48,168*48,167*48,166*48,165*48,164*48
	dc.w	163*48,162*48,162*48,161*48,160*48,159*48,158*48,157*48
	dc.w	156*48,155*48,153*48,152*48,151*48,150*48,149*48,148*48
	dc.w	147*48,146*48,145*48,144*48,143*48,142*48,141*48,139*48
	dc.w	138*48,137*48,136*48,135*48,134*48,133*48,131*48,130*48
	dc.w	129*48,128*48,127*48,125*48,124*48,123*48,122*48,121*48
	dc.w	120*48,118*48,117*48,116*48,115*48,113*48,112*48,111*48
	dc.w	110*48,109*48,107*48,106*48,105*48,104*48,102*48,101*48
	dc.w	100*48,99*48,98*48,96*48,95*48,94*48,93*48,91*48
	dc.w	90*48,89*48,88*48,87*48,85*48,84*48,83*48,82*48
	dc.w	80*48,79*48,78*48,77*48,76*48,75*48,73*48,72*48
	dc.w	71*48,70*48,69*48,67*48,66*48,65*48,64*48,63*48
	dc.w	62*48,61*48,59*48,58*48,57*48,56*48,55*48,54*48
	dc.w	53*48,52*48,51*48,50*48,49*48,48*48,46*48,45*48
	dc.w	44*48,43*48,42*48,41*48,40*48,39*48,38*48,38*48
	dc.w	37*48,36*48,35*48,34*48,33*48,32*48,31*48,30*48
	dc.w	29*48,28*48,28*48,27*48,26*48,25*48,24*48,23*48
	dc.w	23*48,22*48,21*48,20*48,20*48,19*48,18*48,18*48
	dc.w	17*48,16*48,16*48,15*48,14*48,14*48,13*48,12*48
	dc.w	12*48,11*48,11*48,10*48,10*48,9*48,9*48,8*48
	dc.w	8*48,7*48,7*48,6*48,6*48,5*48,5*48,5*48
	dc.w	4*48,4*48,4*48,3*48,3*48,3*48,2*48,2*48
	dc.w	2*48,2*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,2*48
	dc.w	2*48,2*48,2*48,3*48,3*48,3*48,4*48,4*48
	dc.w	4*48,5*48,5*48,5*48,6*48,6*48,7*48,7*48
	dc.w	8*48,8*48,9*48,9*48,10*48,10*48,11*48,11*48
	dc.w	12*48,12*48,13*48,14*48,14*48,15*48,16*48,16*48
	dc.w	17*48,18*48,18*48,19*48,20*48,20*48,21*48,22*48
	dc.w	23*48,23*48,24*48,25*48,26*48,27*48,28*48,28*48
	dc.w	29*48,30*48,31*48,32*48,33*48,34*48,35*48,36*48
	dc.w	37*48,38*48,38*48,39*48,40*48,41*48,42*48,43*48
	dc.w	44*48,45*48,47*48,48*48,49*48,50*48,51*48,52*48
	dc.w	53*48,54*48,55*48,56*48,57*48,58*48,59*48,61*48
	dc.w	62*48,63*48,64*48,65*48,66*48,67*48,69*48,70*48
	dc.w	71*48,72*48,73*48,75*48,76*48,77*48,78*48,79*48
	dc.w	80*48,82*48,83*48,84*48,85*48,87*48,88*48,89*48
	dc.w	90*48,91*48,93*48,94*48,95*48,96*48,98*48,99*48
	dc.w	100*48,101*48,102*48,104*48,105*48,106*48,107*48,109*48
	dc.w	110*48,111*48,112*48,113*48,115*48,116*48,117*48,118*48
	dc.w	120*48,121*48,122*48,123*48,124*48,125*48,127*48,128*48
	dc.w	129*48,130*48,131*48,133*48,134*48,135*48,136*48,137*48
	dc.w	138*48,139*48,141*48,142*48,143*48,144*48,145*48,146*48
	dc.w	147*48,148*48,149*48,150*48,151*48,152*48,154*48,155*48
	dc.w	156*48,157*48,158*48,159*48,160*48,161*48,162*48,162*48
	dc.w	163*48,164*48,165*48,166*48,167*48,168*48,169*48,170*48
	dc.w	171*48,172*48,172*48,173*48,174*48,175*48,176*48,177*48
	dc.w	177*48,178*48,179*48,180*48,180*48,181*48,182*48,182*48
	dc.w	183*48,184*48,184*48,185*48,186*48,186*48,187*48,188*48
	dc.w	188*48,189*48,189*48,190*48,190*48,191*48,191*48,192*48
	dc.w	192*48,193*48,193*48,194*48,194*48,195*48,195*48,195*48
	dc.w	196*48,196*48,196*48,197*48,197*48,197*48,198*48,198*48
	dc.w	198*48,198*48,199*48,199*48,199*48,199*48,199*48,199*48
	dc.w	200*48,200*48,200*48,200*48,200*48,200*48,200*48,200*48
	endr
	

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

font:
	incbin	gfx/font.bin
	even
	
	
