a0)+,(a1)+
		dbra	d7,.l1
		rts
;------------------------------------------------
dreset		dreset_m		
;------------------------------------------------
initcoppos	bsr	geta5
		lea	_coltabs,a0
		add.l	(_nmem).w,a0
		move.l	a0,ce1tab-d(a5)
		lea	2*_viewheight(a0),a1
		move.l	a1,c49tab-d(a5)
		lea	2*_viewheight(a1),a2
		move.l	a2,c45tab-d(a5)
		lea	2*_viewheight(a2),a3
		move.l	a3,cd5tab-d(a5)

		moveq	#$2b,d0
		move.w	#_viewheight-1,d7
.l1		move.b	d0,(a0)+
		move.b	#$e1,(a0)+
		addq.l	#1,d0
		move.b	d0,(a1)+
		move.b	#$49,(a1)+
		move.b	d0,(a2)+
		move.b	#$45,(a2)+
		move.b	d0,(a3)+
		move.b	#$d5,(a3)+
		dbra	d7,.l1
		rts
;------------------------------------------------
initbgnd	bsr	geta5
		move.l	(_nmem).w,d5
		lea	sundata,a0
		add.l	d5,a0
		move.l	#sun+4,d0
		add.l	d5,d0
		move.w	d0,6(a0)
		swap	d0
		move.w	d0,2(a0)
		swap	d0
		add.l	#136,d0
		move.w	d0,14(a0)
		swap	d0
		move.w	d0,10(a0)
		
		lea	sunpos,a0
		add.l	d5,a0
		move.w	#$8e80,2(a0)
		move.w	#$ae00,6(a0)
		move.w	#$8e88,10(a0)
		move.w	#$ae00,14(a0)

		lea	mandata,a0
		add.l	d5,a0
		lea	mandata2,a1
		add.l	d5,a1
		move.l	#_sprite,d0
		add.l	d5,d0
		moveq	#3,d7
.l2		move.w	d0,6(a0)
		move.w	d0,6(a1)
		swap	d0
		move.w	d0,2(a0)
		move.w	d0,2(a1)
		swap	d0
		add.l	#58*4,d0
		addq.l	#8,a0
		addq.l	#8,a1
		dbra	d7,.l2

initbgnd2	move.l	(_nmem).w,d5
		lea	$dff000,a6
		lea	_bgnddat,a0
		add.l	d5,a0
		lea	ibgmasktab-d(a5),a1
		lea	ibgmasktab2-d(a5),a2
		moveq	#0,d0
		moveq	#15,d7
.l1		move.w	d0,d1
		move.w	d0,d2
		or.w	#$09f0,d1
		or.w	#$0bea,d2
		add.w	#$1000,d0
		waitblt
		move.l	#0,$64(a6)
		move.w	d1,$40(a6)
		move.w	#0,$42(a6)
		move.w	#$ffff,$44(a6)
		move.w	(a2)+,$46(a6)
		move.l	#bgnd,d3
		add.l	d5,d3
		move.l	d3,$50(a6)
		move.l	a0,$54(a6)
		move.w	#64*64+20,$58(a6)
		
		waitblt
		move.l	#$00260026,$64(a6)
		move.w	#$0026,$60(a6)
		move.w	d2,$40(a6)
		move.w	#0,$42(a6)
		move.l	#$ffffffff,$44(a6)
		move.l	#bgnd+38,d3
		add.l	d5,d3
		move.l	d3,$50(a6)
		move.w	(a1)+,$72(a6)
		lea	-40(a0),a0
		move.l	a0,$48(a6)
		move.l	a0,$54(a6)
		move.w	#64*65+1,$58(a6)
		
		lea	2560+40(a0),a0
		dbra	d7,.l1

		rts
;------------------------------------------------
inittabs	bsr	geta5
		move.l	_xmem,a0
		add.l	#_tabofs,a0

		move.l	a0,multab-d(a5)
		moveq	#0,d0
		move.w	#_scrheight-1,d7
.l1		move.l	d0,(a0)+
		add.l	#_scrwidth*_scrdepth*3,d0
		dbra	d7,.l1
		
		move.l	a0,bmultab-d(a5)
		moveq	#0,d0
		move.w	#_scrheight-1,d7
.l2		move.w	d0,(a0)+
		add.l	#64*_scrdepth,d0
		dbra	d7,.l2

		move.l	a0,smultab-d(a5)
		moveq	#0,d0
		move.w	#_scrheight-1,d7
.l3		move.l	d0,(a0)+
		add.l	#40*_scrdepth,d0
		dbra	d7,.l3
		
		move.l	a0,multab60-d(a5)
		moveq	#0,d0
		move.w	#_scrheight-1,d7
.l10		move.l	d0,(a0)+
		add.l	#60,d0
		dbra	d7,.l10

		move.l	a0,fgcoltab-d(a5)
		move.l	#linejmptab+56,d0
		add.l	(_nmem).w,d0
		moveq	#7,d7
.l9		move.l	d0,(a0)+
		dbra	d7,.l9
		move.w	#139,d7
.l5		move.l	d0,(a0)+
		add.l	#60,d0
		dbra	d7,.l5
		move.l	#linejmptab+140*60+200,d0
		add.l	(_nmem).w,d0
		move.w	#63,d7
.l6		move.l	d0,(a0)+
		add.l	#204,d0
		dbra	d7,.l6
		move.l	#linejmptab+140*60+64*204+56,d0
		add.l	(_nmem).w,d0
		move.w	#143,d7
.l7		move.l	d0,(a0)+
		add.l	#60,d0
		dbra	d7,.l7
		sub.l	#60,d0
		moveq	#7,d7
.l8		move.l	d0,(a0)+
		dbra	d7,.l8
		
		move.l	a0,wabbeldata-d(a5)
		lea	sinus-d(a5),a1
		moveq	#0,d1
		move.w	#255,d7
.l4		move.w	(a1,d1.w),d0
		ext.l	d0
		add.l	#$4000,d0
		lsr.l	#8,d0
		lsr.l	#3,d0
		cmp.w	#$10,d0
		bmi.s	.c1
		move.w	#$f,d0
.c1		add.w	d0,d0
		move.w	d0,(a0)+
		addq.w	#4,d1
		and.w	#$1ff,d1
		dbra	d7,.l4
		
		move.l	a0,index-d(a5)
		move.l	#lgraph+(2<<_scrdepth),d0
		add.l	(_nmem).w,d0
		moveq	#31,d7
.l12		move.l	d0,-(a7)
		moveq	#19,d6
.l11		move.l	d0,(a0)+
		addq.l	#2,d0
		dbra	d6,.l11
		move.l	(a7)+,d0
		add.l	#40*_scrdepth*16,d0
		dbra	d7,.l12

		move.l	a0,fg-d(a5)
		add.l	#_fgblkno*4*_fgs,a0
		move.l	a0,nm-d(a5)
		add.l	#_nmeno*4*_nms,a0
		
		move.l	a0,bplsettab-d(a5)

		lea	fganimstart-d(a5),a0
		lea	fganimtab-d(a5),a1
		lea	fganimend-d(a5),a2
		move.l	(_nmem).w,d0
.l13		move.l	(a0)+,d1
		add.l	d0,d1
		move.l	d1,(a1)+
		cmp.l	a2,a0
		bne.s	.l13
		rts
;------------------------------------------------
initcopper	bsr	geta5
		move.l	(_nmem).w,d5
		move.l	#copper2,d0
		add.l	d5,d0
		lea	cop2lc+2,a0
		add.l	d5,a0
		move.w	d0,4(a0)
		swap	d0
		move.w	d0,(a0)
		
		move.l	#linejmpcont2,d0
		add.l	d5,d0
		lea	waterjmp+2,a0
		add.l	d5,a0
		move.w	d0,4(a0)
		swap	d0
		move.w	d0,(a0)
		
		move.l	bplsettab-d(a5),a1
		lea	colpos-d(a5),a2
		moveq	#0,d0
		move.l	d0,(a2)
		move.l	d0,4(a2)
		move.l	d0,8(a2)
		move.l	d0,12(a2)
		
		lea	_skycols1,a4
		add.l	d5,a4
		lea	linejmptab,a0
		add.l	d5,a0
		moveq	#$2b,d1
		move.w	#139,d7
.l6		move.b	d1,(a0)+
		move.b	#$e1,(a0)+
		move.w	#$fffe,(a0)+
		addq.b	#1,d1
		move.l	a0,d0
		add.l	#4*8,d0
		move.l	a0,(a1)+
		move.w	#$0084,(a0)+
		swap	d0
		move.w	d0,(a0)+
		swap	d0
		move.w	#$0086,(a0)+
		move.w	d0,(a0)+
		move.l	#$008a0000,(a0)+
		move.l	#$00e60000,(a0)+
		move.l	#$00e80000,(a0)+
		move.l	#$00ea0000,(a0)+
		move.l	#$00ec0000,(a0)+
		move.l	#$00ee0000,(a0)+
		move.l	#$016c0000,(a0)+
		move.b	d1,(a0)+
		move.b	#$49,(a0)+
		move.w	#$fffe,(a0)+
		move.w	#$0180,(a0)+
		tst.l	(a2)
		bne.s	.c1
		move.l	a0,(a2)	
.c1		move.w	#0,(a0)+	;(a4)+
		move.b	d1,(a0)+
		move.b	#$d5,(a0)+
		move.w	#$fffe,(a0)+
		move.l	#$01800000,(a0)+
		move.l	#$01800000,(a0)+
		dbra	d7,.l6
	
		addq.l	#4,a2	
		lea	bgnd,a3
		add.l	d5,a3
		move.w	#63,d7
.l7		move.l	a3,-(a7)
		move.b	d1,(a0)+
		move.b	#$e1,(a0)+
		move.w	#$fffe,(a0)+
		addq.b	#1,d1
		move.l	a0,d0
		add.l	#4*8,d0
		move.l	a0,(a1)+
		move.w	#$0084,(a0)+
		swap	d0
		move.w	d0,(a0)+
		swap	d0
		move.w	#$0086,(a0)+
		move.w	d0,(a0)+
		move.l	#$008a0000,(a0)+
		move.l	#$00e60000,(a0)+
		move.l	#$00e80000,(a0)+
		move.l	#$00ea0000,(a0)+
		move.l	#$00ec0000,(a0)+
		move.l	#$00ee0000,(a0)+
		move.w	#$01b2,(a0)+
		tst.l	4(a2)
		bne.s	.c4
		move.l	a0,4(a2)	
.c4		move.w	#0,(a0)+
		move.w	#$016c,(a0)+
		move.w	(a3)+,(a0)+
		move.w	#$0164,(a0)+
		move.w	(a3)+,(a0)+
		move.b	d1,(a0)+
		move.b	#$45,(a0)+
		move.w	#$fffe,(a0)+
		move.l	#$01680047,(a0)+
		move.w	#$0180,(a0)+
		tst.l	(a2)
		bne.s	.c2
		move.l	a0,(a2)	
.c2		move.w	#0,(a0)+		;(a4)+
		move.l	#$0160004f,(a0)+
		moveq	#$57,d2
		moveq	#15,d6
.l8		move.w	#$0164,(a0)+
		move.w	(a3)+,(a0)+
		move.w	#$0160,(a0)+
		move.w	d2,(a0)+
		addq.w	#8,d2
		dbra	d6,.l8
		move.l	#$01640000,(a0)+
		move.l	#$01800000,(a0)+
		move.l	#$01800000,(a0)+
		move.l	(a7)+,a3
		lea	40(a3),a3
		dbra	d7,.l7
		
		addq.l	#8,a2
		move.w	#143,d7
.l9		move.b	d1,(a0)+
		move.b	#$e1,(a0)+
		move.w	#$fffe,(a0)+
		addq.b	#1,d1
		move.l	a0,d0
		add.l	#4*8,d0
		move.l	a0,(a1)+
		move.w	#$0084,(a0)+
		swap	d0
		move.w	d0,(a0)+
		swap	d0
		move.w	#$0086,(a0)+
		move.w	d0,(a0)+
		move.l	#$008a0000,(a0)+
		move.l	#$00e60000,(a0)+
		move.l	#$00e80000,(a0)+
		move.l	#$00ea0000,(a0)+
		move.l	#$00ec0000,(a0)+
		move.l	#$00ee0000,(a0)+
		move.l	#$016c0000,(a0)+
		move.b	d1,(a0)+
		move.b	#$49,(a0)+
		move.w	#$fffe,(a0)+
		move.w	#$0180,(a0)+
		tst.l	(a2)
		bne.s	.c3
		move.l	a0,(a2)	
.c3		move.w	#0,(a0)+		;(a4)+
		move.b	d1,(a0)+
		move.b	#$d5,(a0)+
		move.w	#$fffe,(a0)+
		move.l	#$01800000,(a0)+
		move.l	#$01800000,(a0)+
		dbra	d7,.l9
		
		lea	modulo1,a0
		add.l	d5,a0
		move.w	#$0108,(a0)+
		move.w	#(_scrwidth*_scrdepth*3)-40,(a0)+
		move.w	#$010a,(a0)+
		move.w	#(_scrwidth*_scrdepth*3)-40,(a0)+

		lea	planes1,a0
		add.l	d5,a0
		move.l	show-d(a5),d0
		subq.l	#2,d0
		move.w	#$00e0,d1
		moveq	#_scrdepth-1,d7
.l1		swap	d0
		move.w	d1,(a0)+
		move.w	d0,(a0)+
		addq.w	#2,d1
		swap	d0
		move.w	d1,(a0)+
		move.w	d0,(a0)+
		addq.w	#2,d1
		add.l	#_scrwidth*3,d0
		dbra	d7,.l1
		
		lea	lplanes,a0
		add.l	d5,a0
		move.l	show-d(a5),d0
		subq.l	#2,d0
		move.w	#$00e0,d1
		moveq	#_scrdepth-1,d7
.l5		swap	d0
		move.w	d1,(a0)+
		move.w	d0,(a0)+
		addq.w	#2,d1
		swap	d0
		move.w	d1,(a0)+
		move.w	d0,(a0)+
		addq.w	#2,d1
		add.l	#_scrwidth*3,d0
		dbra	d7,.l5
		
		lea	planes2,a0
		add.l	d5,a0
		move.l	#status+30,d0
		add.l	d5,d0
		move.w	#$00e0,d1
		moveq	#3,d7
.l2		swap	d0
		move.w	d1,(a0)+
		move.w	d0,(a0)+
		addq.w	#2,d1
		swap	d0
		move.w	d1,(a0)+
		move.w	d0,(a0)+
		addq.w	#2,d1
		add.l	#36,d0
		dbra	d7,.l2

		lea	colors1,a0
		add.l	d5,a0
		lea	lgraph+2,a1
		add.l	d5,a1
		move.w	#$0182,d0
		moveq	#30,d7
.l3		move.w	d0,(a0)+
		move.w	#0,(a0)+	;(a1)+
		addq.w	#2,d0
		dbra	d7,.l3

		lea	colors2,a0
		add.l	d5,a0
		lea	status,a1
		add.l	d5,a1
		move.w	#$0180,d0
		moveq	#15,d7
.l4		move.w	d0,(a0)+
		move.w	(a1)+,(a0)+
		addq.w	#2,d0
		dbra	d7,.l4

;		lea	waterpalette+2,a0
;		add.l	d5,a0
;		lea	watercols+2,a1
;		add.l	d5,a1
;		moveq	#14,d7
;.l10		move.w	(a0)+,(a1)+
;		addq.l	#2,a1
;		dbra	d7,.l10

		lea	watertab,a0
		add.l	d5,a0
		move.w	#$b9,d0
		moveq	#63,d7
.l11		move.w	#$0108,(a0)+
		move.w	#(_scrwidth*_scrdepth*3)-40,(a0)+
		move.w	#$010a,(a0)+
		move.w	#(_scrwidth*_scrdepth*3)-40,(a0)+
		move.l	#$01020000,(a0)+
		move.w	#$0180,(a0)+
		move.w	#$0000,(a0)+
		move.b	d0,(a0)+
		move.b	#$49,(a0)+
		move.w	#$fffe,(a0)+
		move.w	#$0180,(a0)+
		move.w	#$0008,(a0)+
		move.b	d0,(a0)+
		move.b	#$d5,(a0)+
		move.w	#$fffe,(a0)+
		move.w	#$0180,(a0)+
		move.w	#$0000,(a0)+
		addq.w	#1,d0
		dbra	d7,.l11
		
		lea	statsprdata,a0
		add.l	d5,a0
		move.l	#statusspr-4,d0
		add.l	d5,d0
		move.w	d0,6(a0)
		swap	d0
		move.w	d0,2(a0)
		swap	d0
		add.l	#(objectspr-statusspr)/2,d0
		move.w	d0,14(a0)
		swap	d0
		move.w	d0,10(a0)

		rts
;------------------------------------------------
initmusic	initmusic_m
;------------------------------------------------
drawstart	drawstart_m

setblk		setblk_m

setbob		setbob_m
;------------------------------------------------
;------------------------------------------------
mainrout	bsr	geta5
		lea	$dff000,a6
		vblank

		lea	nm-d(a5),a0
		
		bsr	getstick
		bsr	boring

		tst.w	pauseflag-d(a5)
		bne	.pause

		bsr	getbutton	*
		bsr	setybgnd	*
		bsr	setplanes	*
		bsr	setybgnd2	*

		bsr	setsun
		bsr	setmananim
		bsr	setwavespr

;		bsr	setbgcols2
		bsr	blitbgnd
		bsr	setbgcols
		bsr	setwaves
		bsr	setwater

		bsr	setwaveanim

		bsr	testbgpri
	
		bsr	stick
		move.w	agamanxpos-d(a5),d0
		asr.w	#2,d0
		move.w	d0,manxpos-d(a5)
		move.l	agaabsmanxpos-d(a5),d0
		asr.l	#2,d0
		move.l	d0,absmanxpos-d(a5)
		move.l	agaxsoftabs-d(a5),d0
		asr.l	#2,d0
		move.l	d0,xsofta