  	jsr	MEMORY
	
	lea	Black,a1
	jsr	NEWPAL		
				
MOVECOP	move.l	_BckGrnd1,d0
	jsr	PUTBMAP	
	lea	COPLIST,a1		
	move.l	a1,$DFF080
	move.w	#$FFFF,$DFF088		
	move.w	#$83E0,$DFF096

	lea	VBINT,a1
	move.l	a1,$6c
	move.w	#$C020,$DFF09A

	lea	ShotSd,a1		SOUND FX
	move.l	a1,AudShot
	lea	WapSd,a1
	move.l	a1,AudWap
	lea	DripSd,a1
	move.l	a1,AudDrip
	lea	ExplSnd,a1
	move.l	a1,AudExpl
	lea	BuffSnd,a1
	move.l	a1,AudBuff
	lea	BuzzSnd,a1
	move.l	a1,AudBuzz
	lea	BoomSnd,a1
	move.l	a1,AudBoom
	lea	BumfSnd,a1
	move.l	a1,AudBumf
	lea	WhiaSnd,a1
	move.l	a1,AudWhia
	lea	EngzSnd,a1
	move.l	a1,AudEngz
	lea	MissSnd,a1
	move.l	a1,AudMiss
	lea	TinkSnd,a1
	move.l	a1,AudTink
	move.w	#64,$DFF0A8
	move.w	#64,$DFF0B8
	move.w	#64,$DFF0C8
	move.w	#64,$DFF0D8
	
	move.l	_BckGrnd1,d0		BITMAPS
	move.l	_BckGrnd2,d1
	move.l	d0,_BitMapY
	move.l	d1,_BitMapN

	jsr	MISSTBL
	jsr	TYPETBL
	jsr	SPRITBL

	lea	ShipTbl,a0
	lea	Ship1,a1
	move.l	a1,(a0)+
	move.l	a1,(a0)+
	
	lea	MaskTbl,a0
	lea	Mask1,a1
	move.l	a1,(a0)+
	move.l	a1,(a0)+
	
	lea	BackTbl,a0
	lea	Back1,a1
	move.l	a1,(a0)+
	lea	Back2,a1
	move.l	a1,(a0)+

	lea	ColrTbl,a0
	lea	Colors1,a1
	move.l	a1,(a0)+
	lea	Colors2,a1
	move.l	a1,(a0)+

	lea	MappTbl,a0
	lea	Map1,a1
	move.l	a1,(a0)+
	lea	Map2,a1
	move.l	a1,(a0)+

	lea	EnmsTbl,a0
	lea	Enms1,a1
	move.l	a1,(a0)+
	lea	Enms2,a1
	move.l	a1,(a0)+

TITLE	move.l	_BitMapY,a1
	add.l	#724,a1
	lea	Title,a0
	move.w	#11232,d5
	move.w	#199,d0
	move.w	#40,d6
	move.w	#48,d7
	jsr	SEEIFF
	
	lea	TitCol,a0
	jsr	FADEIN
	
tit1	move.w	$BFE000,d0
	btst	#7,d0
	bne	tit1

	lea	TitCol,a0
	jsr	FADEOUT	

INITLEV	move.w	#10000,d0		Clear BackMap
	move.l	_BackMap,a0
cbm	move.l	#0,(a0)+
	dbf	d0,cbm
	
	move.w	#12000,d0		Clear ShipMap
	move.l	_ShipMap,a0
csm	move.l	#0,(a0)+
	dbf	d0,csm
	
	move.w	#8,d1			Move Colors
	lea	Colors0,a1
	lea	ColrTbl,a0
	move.w	Level,d0
	lsl.w	#2,d0
	move.l	(a0,d0),a0
mcl	move.l	(a0)+,(a1)+
	dbf	d1,mcl
	
	lea	ShipTbl,a0
	move.w	Level,d0
	lsl.w	#2,d0
	move.l	(a0,d0),a0
	move.l	_ShipMap,a1
	move.w	#8000,d5
	move.w	#199,d0
	move.w	#40,d6
	move.w	#40,d7
	jsr	SEEIFF
	
	lea	MaskTbl,a0
	move.w	Level,d0
	lsl.w	#2,d0
	move.l	(a0,d0),a0
	move.l	_ShipMap,a1
	add.l	#40000,a1
	move.w	#0,d3
	move.w	#199,d0
	move.w	#40,d6
YLns	move.l	a1,a5		
	jsr	DoLine
	add.l	#40,a1
	dbf	d0,YLns
	
	lea	BackTbl,a0
	move.w	Level,d0
	lsl.w	#2,d0
	move.l	(a0,d0),a0
	move.l	_BackMap,a1
	move.w	#8000,d5
	move.w	#198,d0
	move.w	#40,d6
	move.w	#40,d7
	jsr	SEEIFF
		
PREPLV1	move.w	#0,Boss

	lea	COPLIST,a2
	move.w	#$0000,6(a2)	
	move.w	#0,$DFF102
	
	move.l	_BitMapY,d0
	sub.w	#2,d0
	jsr	PUTBMAP
	
	lea	MappTbl,a0
	move.w	Level,d0
	lsl.w	#2,d0
	move.l	(a0,d0),a0
	move.w	Section,d0
	mulu	#1680,d0
	lea	(a0,d0),a0
	move.l	a0,CurMap

	lea	EnmsTbl,a0
	move.w	Level,d0
	lsl.w	#2,d0
	move.l	(a0,d0),a0
	move.w	Section,d0
pl1	cmp.w	#9999,(a0)+
	bne	pl1
	dbf	d0,pl1
	move.l	a0,EListPt
	
	lea	Enemy,a0
	move.w	#130,d0
clrenm	move.l	#0,(a0)+
	dbf	d0,clrenm	

	jsr	CLRBACK
	jsr	MAKEMAP
	jsr	DRWSTRT
	
	move.l	EListPt,a1
	cmp.w	#9000,(a1)
	bne	setpar
	add.l	#20,EListPt
	move.w	#1,Boss
	
setpar	move.w	#0,Message
	move.w	#0,PlayerX 
	move.w	#100,PlayerY
	move.w	#0,PlayerI
	move.w	#15,ObjOff
	move.w	#0,BMapOff
	move.w	#-2,Distance
	move.w	#120,Warp
	move.w	#36,Slow
	move.w	#0,Accel
	move.w	#1,Stop
	lea	Colors,a0	
	jsr	FADEIN
		
*** ROUTE 666 *************************************************************

ABOBGN	jsr	KYBOARD			Parse Keyboard
	cmp.b	#$40,Key		
	beq	PAUSE			<- Pause (display stats)
	cmp.b	#$45,Key
	beq	QUIT			<- Quit (terminate program)
	cmp.w	#0,PlayerH		
	bmi	DEATH			<- Player Died
	cmp.w	#208,Distance
	bge	ENDLVL			<- End of Level
	sub.w	#2,Slow
	bpl	SRTSEQ			<- Start of Level
	tst.w	NLev
	bne	NEWLVL

*READ JOYBUTTON************************************************************
			
SHOOT	btst.b	#7,$BFE001
	beq	ButDwn
	move.b	#0,Reload
	jmp	GETJOY
ButDwn	tst.b	Reload
	beq	dosht
	add.b	#1,Reload
	cmp.b	#60,Reload
	blt	GETJOY
	move.w	BulPow,d0
	move.w	MaxPow,d1
	cmp.w	d0,d1
	beq	GETJOY
	cmp.w	#0,ResPow
	beq	GETJOY
	sub.w	#1,ResPow
	move.w	#$4,$DFF096		* Tink Sound
	move.l	AudTink,Aud2Snd		| 
	move.l	#$05D00125,$DFF0C4	|
	move.w	#15,Aud2Del		*
	jsr	INCPOW	
dosht	move.b	#1,Reload
	lea	Bullets,a0
	moveq	#3,d5		# of Bullets [MAX=1-ABS#]
nxtbul	move.w	(a0),d0
	beq	shtok
	add.l	#8,a0
	dbf	d5,nxtbul
	jmp	GETJOY
shtok	move.l	PlayerX,(a0)
	move.w	BulSiz,4(a0)
	move.w	#$1,$DFF096		* Shot Sound
	move.l	AudShot,Aud0Snd		| 
	move.l	#$015E0190,$DFF0A4	|
	move.w	#5,Aud0Del		*

*READ JOYSTICK*************************************************************

GETJOY	move.w	$DFF00C,d2
	moveq	#2,d0
	moveq	#2,d1
	btst.l	#1,d2
	bne	gj3
	btst.l	#9,d2
	bne	gj2
	eor.w	d0,d0
gj2	neg.w	d0
gj3	move.w	d2,d3
	and.w	#$0001,d3
	move.w	d2,d4
	and.w	#$0002,d4
	lsr.w	#1,d4
	eor.w	d4,d3
	btst	#0,d3
	bne	MOVEME
	move.w	d2,d4
	lsr.w	#1,d4
	eor.w	d4,d2
	btst	#8,d2
	bne	gj5
	eor	d1,d1
gj5	neg.w	d1

*UPDATE PLAYERS MOVEMENTS**************************************************
	
MOVEME	add.w	PlayerX,d0
	add.w	PlayerY,d1
	cmp.w	#16,d0
	ble	mm2
	cmp.w	#321,d0
	bge	mm2
	move.w	d0,PlayerX	
mm2	cmp.w	#1,d1
	ble	mm4
	cmp.w	#219,d1
	bge	mm4
	move.w	d1,PlayerY
mm4	sub.w	#1,PlayerA		Animation part
	bpl	DOENEMY	
	move.w	#11,PlayerA

*UPDATE ENEMY LIST*********************************************************

DOENEMY	move.l	EListPt,a0
	move.w	Distance,d0
	lsl.w	#3,d0
	add.w	ObjOff,d0	d0 = Distance
de1	cmp.w	6(a0),d0
	ble	DOLIST
	lea	Enemy,a1
	moveq	#11,d7
de2	tst.w	(a1)
	bne	de4
	move.l	(a0)+,(a1)+
	move.l	(a0)+,(a1)+
	move.l	(a0)+,(a1)+
	move.l	(a0)+,(a1)+
	move.l	(a0)+,(a1)+	
	bra	de1
de4	add.l	#20,a1
	dbf	d7,de2

*PARSE ENEMY LIST**********************************************************

DOLIST	move.l	a0,EListPt
	moveq	#23,d6
	lea	Enemy,a1
	lea	JmpTable,a6
	move.w	GenUse,d7
de5	tst.w	(a1)
	beq	de6
	move.b	9(a1),d0
	and.w	#$00FF,d0
	lsl.w	#2,d0
	move.l	(a6,d0),a0
	jsr	(a0)
de6	add.l	#20,a1
	dbf	d6,de5
	
*BOSS LEVEL****************************************************************	
	
	cmp.w	#1,Boss
	bne	DRAWENY
	jsr	DOBOSS
			
*DRAW ENEMYS***************************************************************

DRAWENY	moveq	#23,d6
	lea	Enemy,a5
	move.l	_BitMapN,a3
	add.l	#59000,a3
BW00	btst.b	#6,$DFF002		IS THIS REALLY NECCESARY?
	bne	BW00
	move.l	#$FFFF0000,$DFF044	BLTAFWM
	move.l	#$002C0024,$DFF060	BLTxMOD
	move.l	#$0024002C,$DFF064	BLTxMOD
en0	move.l	#0,(a3)
	move.l	-2(a5),d0		X Position
	beq	en4
	move.w	2(a5),d1		Y Position
	move.l	_BitMapN,a0
	move.w	4(a5),d2			
	add.w	ObjOff,d0
	ror.l	#3,d0
	mulu.w	#48,d1
	add.w	d0,d1
	add.w	Distance,d1
	lea	(a0,d1),a0
	ror.l	#1,d0
	swap	d0
	move.l	a0,d4
	and.b	#$FE,d4
	move.l	d4,a0
	move.l	d4,(a3)

	lea	4(a3),a6
	move.l	_ShipMap,a1
	lea	(a1,d2),a1
	move.l	a1,a2
	add.l	#40000,a2
	move.w	#$0FCA,d1
	or.w	d0,d1
	moveq	#4,d4
BW0	btst.b	#6,$DFF002
	bne	BW0
	move.w	d0,$DFF042		BLTCON1
	move.w	d1,$DFF040		BLTCON0
en1	move.l	(a0),(a6)+
	move.l	48(a0),(a6)+
	move.l	96(a0),(a6)+
	move.l	144(a0),(a6)+
	move.l	192(a0),(a6)+
	move.l	240(a0),(a6)+
	move.l	288(a0),(a6)+
	move.l	336(a0),(a6)+
	move.l	384(a0),(a6)+
	move.l	432(a0),(a6)+
	move.l	480(a0),(a6)+
	move.l	528(a0),(a6)+
	move.l	576(a0),(a6)+
	move.l	624(a0),(a6)+
	move.l	672(a0),(a6)+
	move.l	720(a0),(a6)+
BW1	btst.b	#6,$DFF002
	bne	BW1
	move.l	a2,$DFF050		BLTAPT
	move.l	a1,$DFF04C		BLTBPT
	move.l	a0,$DFF048		BLTCPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE	
	add.l	#11232,a0
	add.l	#8000,a1
	dbf	d4,en1
en4	add.l	#20,a5
	add.l	#324,a3
	dbf	d6,en0

**DRAW BULLETS*************************************************************

DRAWBUL	sub.w	#1,BulDel
	bpl	db
	move.w	#1,BulDel
	neg.w	BulYD
db	moveq	#4,d6
	lea	Bullets,a5
	move.l	_BitMapN,a3
	add.l	#57000,a3
db0	move.l	#0,(a3)
	move.l	-2(a5),d0	X Position
	beq	db4
	move.w	2(a5),d1	Y Position
	move.l	_BitMapN,a0
	move.w	4(a5),d2			
	add.w	ObjOff,d0
	ror.l	#3,d0
	mulu.w	#48,d1
	add.w	d0,d1
	add.w	Distance,d1
	lea	(a0,d1),a0
	ror.l	#1,d0
	swap	d0
	move.l	a0,d4
	and.b	#$FE,d4
	move.l	d4,a0
	move.l	a0,(a3)

	lea	4(a3),a6
	move.l	_ShipMap,a1
	lea	(a1,d2),a1
	move.l	a1,a2	
	add.l	#40000,a2
	move.w	#$0FCA,d1
	or.w	d0,d1
	moveq	#4,d4
db1	move.l	(a0),(a6)+
	move.l	48(a0),(a6)+
	move.l	96(a0),(a6)+
	move.l	144(a0),(a6)+
	move.l	192(a0),(a6)+
	move.l	240(a0),(a6)+
	move.l	288(a0),(a6)+
	move.l	336(a0),(a6)+
	move.l	384(a0),(a6)+
	move.l	432(a0),(a6)+
	move.l	480(a0),(a6)+
	move.l	528(a0),(a6)+
	move.l	576(a0),(a6)+
	move.l	624(a0),(a6)+
	move.l	672(a0),(a6)+
	move.l	720(a0),(a6)+
	tst.w	d4
	beq	db2
BW2	btst.b	#6,$DFF002
	bne	BW2
	move.w	d0,$DFF042		BLTCON1
	move.w	d1,$DFF040		BLTCON0
	move.l	a2,$DFF050		BLTAPT
	move.l	a1,$DFF04C		BLTBPT
	move.l	a0,$DFF048		BLTCPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE	
	add.l	#11232,a0
	add.l	#8000,a1
	dbf	d4,db1
db2	cmp.w	#20,d2
	blt	db6	
	cmp.w	#6,BulPow
	bge	s1
	add.w	#2,4(a5)	<-----*	Bullet Hit Something
	cmp.w	#26,4(a5)
	blt	s1
s4	move.w	#0,(a5)		
s1	move.w	#$0FCA,d1
 	or.w	d0,d1
BW3	btst.b	#6,$DFF002
	bne	BW3
	move.w	d1,$DFF040		BLTCON0	Explosion
	move.l	a2,$DFF050		BLTAPT
	move.l	a1,$DFF04C		BLTBPT
	move.l	a0,$DFF048		BLTCPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE
	jmp	db4
db6	cmp.w	#5,BulPow
	blt	db7
	move.w	BulYD,d1
	add.w	d1,2(a5)
db7	move.w	BulSpd,d1	<-----*	Bullet Didn't Hit Something
	add.w	d1,(a5)		
	move.w	(a5),d3
	cmp.w	#340,d3
	bge 	s4	
	move.w	#$0AA0,d1
	or.w	d0,d1
BW4	btst.b	#6,$DFF002
	bne	BW4
	move.w	d1,$DFF040		BLTCON0	Collision Detect
	move.l	a2,$DFF050		BLTAPT
	move.l	a1,$DFF04C		BLTBPT
	move.l	a0,$DFF048		BLTCPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE		
	
ENMCOL	move.w	2(a5),d1
	move.w	(a5),d0
	lea	Enemy,a6
	moveq	#11,d7
ec1	move.w	(a6),d2
	move.w	2(a6),d3
	sub.w	d0,d2
	bpl	ec2
	neg.w	d2
ec2	sub.w	d1,d3
	bpl	ec3
	neg.w	d3
ec3	add.w	d2,d3
BW40	btst.b	#6,$DFF002	Check Collision at last possible moment!
	bne	BW40
	btst.b	#5,$DFF002	
	bne	db4			
	cmp.w	#6,BulPow
	bge	s1s
	move.w	#20,4(a5)
s1s	cmp.w	#27,d3
	bge	ec4

	move.w	BulPow,d3
	add.b	d3,8(a6)
	move.w	#$4,$DFF096		* Wap Sound
	move.l	AudWap,Aud2Snd		| 
	move.l	#$020C0258,$DFF0C4	|
	move.w	#9,Aud2Del		*
	bra	db4
ec4	add.l	#20,a6		
	dbf	d7,ec1	
	move.w	#$4,$DFF096		* Buff Sound
	move.l	AudBuff,Aud2Snd		| 
	move.l	#$067F0210,$DFF0C4	|
	move.w	#16,Aud2Del		*
db4	add.l	#8,a5
	add.l	#324,a3
	dbf	d6,db0

*DRAW PLAYER**************************************************************

DRAWME	move.l	_BitMapN,a0
	move.l	a0,a5
	add.l	#56500,a5
	move.l	PlayerXl,d0
	move.w	PlayerY,d1
	add.w	ObjOff,d0
	ror.l	#3,d0
	mulu.w	#48,d1	
	add.w	d0,d1
	add.w	Distance,d1
	lea	(a0,d1),a0
	ror.l	#1,d0
	swap	d0
	move.l	a0,d4
	and.b	#$FE,d4
	move.l	d4,a0
	move.l	d4,(a5)+
	
	move.l	_ShipMap,a1
	move.w	PlayerA,d4
	lea	(a1,d4),a1 
	cmp.w	#0,PlayerI
	beq	dmn1
	add.l	#28,a1
dmn1	move.l	a1,a2	
	add.l	#40000,a2
	move.w	#$0FCA,d1
	or.w	d0,d1
	moveq	#3,d4
dm1	btst.b	#6,$DFF002
	bne	dm1
	move.l	(a0),(a5)+
	move.l	48(a0),(a5)+
	move.l	96(a0),(a5)+
	move.l	144(a0),(a5)+
	move.l	192(a0),(a5)+
	move.l	240(a0),(a5)+
	move.l	288(a0),(a5)+
	move.l	336(a0),(a5)+
	move.l	384(a0),(a5)+
	move.l	432(a0),(a5)+
	move.l	480(a0),(a5)+
	move.l	528(a0),(a5)+
	move.l	576(a0),(a5)+
	move.l	624(a0),(a5)+
	move.l	672(a0),(a5)+
	move.l	720(a0),(a5)+
Bdm1	btst.b	#6,$DFF002
	bne	Bdm1
	move.w	d0,$DFF042		BLTCON1
	move.w	d1,$DFF040		BLTCON0
	move.l	a2,$DFF050		BLTAPT
	move.l	a1,$DFF04C		BLTBPT
	move.l	a0,$DFF048		BLTCPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE	
	add.l	#11232,a0
	add.l	#8000,a1
	dbf	d4,dm1
	move.w	#$0EA0,d1		Check for collision
	or.w	d0,d1
dm2	btst.b	#6,$DFF002
	bne	dm2
	move.w	d1,$DFF040		BLTCON0
	move.l	a2,$DFF050		BLTAPT
	move.l	a1,$DFF04C		BLTBPT
	move.l	a0,$DFF048		BLTCPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0302,$DFF058		BLTSIZE
	tst.w	PlayerI			Check for invincable
	beq	BW7
	sub.w	#1,PlayerI
	jmp	MVBACK
BW7	btst.b	#6,$DFF002
	bne	BW7
	btst.b	#5,$DFF002
	bne	MVBACK
	move.w	#$1,$DFF096		* Buzz Sound
	move.l	AudBuzz,Aud0Snd		| 
	move.l	#$00020999,$DFF0A4	|
	move.w	#2,Aud0Del		*
dp4	sub.w	#3,PlayerH		Player is Dying!!!
	bpl	MVBACK
	cmp.w	#0,ResFix
	beq	dp
	sub.w	#1,ResFix
	move.w	#25,PlayerH
	move.w	#$8,$DFF096		* Tink Sound
	move.l	AudTink,Aud3Snd		| 
	move.l	#$05D00125,$DFF0D4	|
	move.w	#15,Aud3Del		*
	jmp	MVBACK
dp	move.w	#6,d6			Player is DEAD!	
	lea	DMatX,a0
	lea	DMatY,a2
dp0	move.w	PlayerX,d0
	move.w	PlayerY,d1
	add.b	(a0,d6),d0
	add.b	(a2,d6),d1
	lea	Enemy,a1
	moveq	#23,d7
dp1	tst.w	(a1)
	bne	dp2
	move.w	d0,(a1)+
	move.w	d1,(a1)+
	move.l	#$05100000,(a1)+
	move.l	#$00120000,(a1)+
	move.l	#0,(a1)+
	move.l	#0,(a1)+
	jmp	dp3
dp2	add.l	#20,a1
	dbf	d7,dp1
dp3	dbf	d6,dp0
	move.w	#$1,$DFF096		* Expl Sound
	move.l	AudExpl,Aud0Snd		| 
	move.l	#$23040160,$DFF0A4	|
	move.w	#90,Aud0Del		*
	move.l	#0,PlayerX
	move.w	#300,PlayerI
	sub.w	#1,PlayerL

*SCROLL BACKGROUND********************************************************
	
MVBACK
*	move.w	#$222,$DFF180
	cmp.b	#$FF,$DFF006	Wait for VBlank
	bne	MVBACK		
*	move.w	#0,$DFF180

	move.w	PlayerH,d1
	move.w	#260,d0
	sub.w	d1,d0
	bpl	Hok
	move.w	#260,d0
	move.w	#0,PlayerH
Hok	lea	Line,a1
	add.w	#1,LineA
	cmp.w	#32,LineA
	bne	hok1
	move.w	#0,LineA
hok1	move.w	LineA,d1
	lsr.w	#2,d1
	mulu.w	#808,d1
	move.b	d0,(a1,d1)
	lea	SPRPTR,a0
	move.l	a1,d0
	add.w	d1,d0
	move.w	d0,30(a0)
	swap	d0
	move.w	d0,26(a0)
	cmp.w	#255,d0
	
	move.l	_BitMapY,d1	Switch bit map pointers
	move.l	_BitMapN,d0
	move.l	d1,_BitMapN
	move.l	d0,_BitMapY	
	lea	COPLIST,a2
	cmp.w	#0,Stop		Stop movement
	bne	nomove
	bchg.b	#0,GenDel	Update background - Odd cycle
	beq	pb1
	add.w	#1,ObjOff
nomove	move.l	_BitMapY,d0
	add.w	Distance,d0
	jsr	PUTBMAP
	move.l	_BckGrnd1,a3
	bra	ADDMAP
pb1	move.w	BMapOff,d2	Update background - even cycle
	dbf	d2,pb2
	moveq	#15,d2
	move.w	#0,ObjOff	
	add.w	#2,Distance
pb2	move.w	d2,BMapOff
	move.w	d2,6(a2)
	lsl.w	#4,d2
	or.w	d2,6(a2)
	move.l	_BitMapY,d0
	add.w	Distance,d0
	jsr	PUTBMAP

	move.l	_BckGrnd2,a3
ADDMAP	move.l	_BackBuff,a4	
	move.w	BMapOff,d5
	move.w	Distance,d0
	lea	46(a3,d0),a3
	lea	46(a4,d0),a4
	move.w	#3504,d0
	mulu	d5,d0
	add.l	d0,a3
	move.l	#18688,d0
	mulu	d5,d0
	add.l	d0,a4

am0	btst.b	#6,$DFF002		BLIT IN BACKGROUND
	bne	am0
	move.l	#$FFFFFFFF,$DFF044	BLTAFWM
	move.l	#$09F00000,$DFF040	BLTCON0&1
	move.l	#$00FE002E,$DFF064	BLTxMOD
	move.l	a4,$DFF050		BLTAPT
	move.l	a3,$DFF054		BLTDPT
	move.w	#$12C1,$DFF058		BLTSIZE					

*CLEANUP PLAYER*************************************************************
	
	move.l	_BitMapN,a5		
	add.l	#56500,a5
	move.l	(a5)+,a0
	cmp.l	#0,a0
	beq	cu2
	moveq	#3,d4
cu1	move.l	(a5)+,(a0)
	move.l	(a5)+,48(a0)
	move.l	(a5)+,96(a0)
	move.l	(a5)+,144(a0)
	move.l	(a5)+,192(a0)
	move.l	(a5)+,240(a0)
	move.l	(a5)+,288(a0)
	move.l	(a5)+,336(a0)
	move.l	(a5)+,384(a0)
	move.l	(a5)+,432(a0)
	move.l	(a5)+,480(a0)
	move.l	(a5)+,528(a0)
	move.l	(a5)+,576(a0)
	move.l	(a5)+,624(a0)
	move.l	(a5)+,672(a0)
	move.l	(a5)+,720(a0)
	add.l	#11232,a0
	dbf	d4,cu1		
cu2	btst.b	#6,$DFF002		For Bullet & ENEMY BLITS!
	bne	cu2
	move.l	#$0000002C,$DFF064	BLTxMOD

*CLEANUP BULLETS***********************************************************

	move.l	_BitMapN,a5
	add.l	#58296,a5
	moveq	#4,d3
cb2	move.l	(a5)+,a0
	move.l	a5,a3
	cmp.l	#0,a0
	beq	cb6	
	moveq	#4,d4

cb5a	btst.b	#6,$DFF002
	bne	cb5a
	move.l	a3,$DFF050		BLTAPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE	
	add.l	#11232,a0
	add.l	#64,a3
	move.l	(a3)+,(a0)
	move.l	(a3)+,48(a0)
	move.l	(a3)+,96(a0)
	move.l	(a3)+,144(a0)
	move.l	(a3)+,192(a0)
	move.l	(a3)+,240(a0)
	move.l	(a3)+,288(a0)
	move.l	(a3)+,336(a0)
	move.l	(a3)+,384(a0)
	move.l	(a3)+,432(a0)
	move.l	(a3)+,480(a0)
	move.l	(a3)+,528(a0)
	move.l	(a3)+,576(a0)
	move.l	(a3)+,624(a0)
	move.l	(a3)+,672(a0)
	move.l	(a3)+,720(a0)
	add.l	#11232,a0
cb5c	btst.b	#6,$DFF002
	bne	cb5c
	move.l	a3,$DFF050		BLTAPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE	
	add.l	#11232,a0
	add.l	#64,a3
	move.l	(a3)+,(a0)
	move.l	(a3)+,48(a0)
	move.l	(a3)+,96(a0)
	move.l	(a3)+,144(a0)
	move.l	(a3)+,192(a0)
	move.l	(a3)+,240(a0)
	move.l	(a3)+,288(a0)
	move.l	(a3)+,336(a0)
	move.l	(a3)+,384(a0)
	move.l	(a3)+,432(a0)
	move.l	(a3)+,480(a0)
	move.l	(a3)+,528(a0)
	move.l	(a3)+,576(a0)
	move.l	(a3)+,624(a0)
	move.l	(a3)+,672(a0)
	move.l	(a3)+,720(a0)
	add.l	#11232,a0
cb5e	btst.b	#6,$DFF002
	bne	cb5e
	move.l	a3,$DFF050		BLTAPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE	
cb6	sub.l	#328,a5
	dbf	d3,cb2

*CLEANUP ENEMYS************************************************************

	move.l	_BitMapN,a5
	add.l	#66452,a5
	moveq	#23,d3
ce2	move.l	(a5)+,a0
	move.l	a5,a3
	cmp.l	#0,a0
	beq	ce6
ce5a	btst.b	#6,$DFF002
	bne	ce5a
	move.l	a3,$DFF050		BLTAPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE	
	add.l	#11232,a0
	add.l	#64,a3
	move.l	(a3)+,(a0)
	move.l	(a3)+,48(a0)
	move.l	(a3)+,96(a0)
	move.l	(a3)+,144(a0)
	move.l	(a3)+,192(a0)
	move.l	(a3)+,240(a0)
	move.l	(a3)+,288(a0)
	move.l	(a3)+,336(a0)
	move.l	(a3)+,384(a0)
	move.l	(a3)+,432(a0)
	move.l	(a3)+,480(a0)
	move.l	(a3)+,528(a0)
	move.l	(a3)+,576(a0)
	move.l	(a3)+,624(a0)
	move.l	(a3)+,672(a0)
	move.l	(a3)+,720(a0)
	add.l	#11232,a0
ce5c	btst.b	#6,$DFF002
	bne	ce5c
	move.l	a3,$DFF050		BLTAPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE	
	add.l	#11232,a0
	add.l	#64,a3
	move.l	(a3)+,(a0)
	move.l	(a3)+,48(a0)
	move.l	(a3)+,96(a0)
	move.l	(a3)+,144(a0)
	move.l	(a3)+,192(a0)
	move.l	(a3)+,240(a0)
	move.l	(a3)+,288(a0)
	move.l	(a3)+,336(a0)
	move.l	(a3)+,384(a0)
	move.l	(a3)+,432(a0)
	move.l	(a3)+,480(a0)
	move.l	(a3)+,528(a0)
	move.l	(a3)+,576(a0)
	move.l	(a3)+,624(a0)
	move.l	(a3)+,672(a0)
	move.l	(a3)+,720(a0)
	add.l	#11232,a0
ce5e	btst.b	#6,$DFF002
	bne	ce5e
	move.l	a3,$DFF050		BLTAPT
	move.l	a0,$DFF054		BLTDPT
	move.w	#$0402,$DFF058		BLTSIZE	

ce6	sub.l	#328,a5
	dbf	d3,ce2

	jmp	ABOBGN
		
*LEVEL3 INTERRUPT**********************************************************

VBINT	move.w	#$0020,$DFF09C
	cmp.l	#0,Aud3Snd		Channel 3
	beq	ac2
	move.l	Aud3Snd,$DFF0D0
	move.w	#$8008,$DFF096
	move.l	#0,Aud3Snd
ac2	sub.w	#1,Aud3Del
	bne	ca2
	move.w	#$0008,$DFF096

ca2	cmp.l	#0,Aud2Snd		Channel 2
	beq	ac4
	move.l	Aud2Snd,$DFF0C0
	move.w	#$8004,$DFF096
	move.l	#0,Aud2Snd
ac4	sub.w	#1,Aud2Del
	bne	ca4
	move.w	#$0004,$DFF096

ca4	cmp.l	#0,Aud1Snd		Channel 1
	beq	ca5
	move.l	Aud1Snd,$DFF0B0
	move.w	#$8002,$DFF096
	move.l	#0,Aud1Snd
ca5	sub.w	#1,Aud1Del
	bne	ca6
	move.w	#$0002,$DFF096

ca6	cmp.l	#0,Aud0Snd		Channel 0
	beq	ca7
	move.l	Aud0Snd,$DFF0A0
	move.w	#$8001,$DFF096
	move.l	#0,Aud0Snd
ca7	sub.w	#1,Aud0Del 
	bne	ca3
	move.w	#$0001,$DFF096
ca3	rte
**************************************************************************
INCPOW	MOVEM.L	D0-D1,-(SP)
	cmp.w	#9,MaxPow
	ble	ip0	
	move.w	#9,MaxPow
ip0	move.w	BulPow,d0
	move.w	MaxPow,d1
	cmp.w	d0,d1
	beq	ip3
IP	cmp.w	#18,BulSiz
	beq	ip1
	add.w	#2,BulSiz
ip1	cmp.w	#10,BulSpd
	beq	ip2
	add.w	#2,BulSpd
ip2	cmp.w	#9,BulPow
	beq	ip3
	add.w	#1,BulPow
ip3	MOVEM.L	(SP)+,D0-D1
	rts
**************************************************************************
KYBOARD	move.b	$BFEC01,d0		Read Keyboard
	not.b	d0
	lsr.b	#1,d0
	bcs.s	Hndshk
	move.b	d0,Key
Hndshk	bset	#6,$BFEE01
	move.b	#0,$BFEC01
	bclr.b	#6,$BFEE01
	cmp.b	#$50,Key
	bne	k1
	move.w	#500,PlayerI
	move.b	#0,Key
	rts
k1	cmp.b	#$51,Key
	bne	k2
	jsr	INCPOW
	add.w	#1,ResPow
	cmp.w	#10,ResPow
	bne	bye
	move.w	#9,ResPow
	rts
k2	cmp.b	#$52,Key
	bne	k3
	add.w	#1,ResFix
	cmp.w	#10,ResFix
	bne	bye
	move.w	#9,ResFix
k3	cmp.b	#$53,Key
	bne	bye
	add.w	#1,MaxPow
	cmp.w	#10,MaxPow
	bne	bye
	move.w	#9,MaxPow
	rts
				
**************************************************************************
DEATH	add.w	#1,Warp
	cmp.w	#300,Warp		
	ble	DOENEMY			<- Let game 'coast' to stop
	cmp.w	#0,PlayerL
	blt	GMOVER
	lea	Colors,a0
	jsr	FADEOUT
	move.w	PlayerHM,d0
	move.w	d0,PlayerH
	move.w	#1,BulPow
	move.w	#4,BulSpd
	move.w	#12,BulSiz
	jmp	PREPLV1

***************************************************************************
ENDLVL	move.w	#1,Stop
	move.w	#0,GenUse
	sub.w	#1,Warp
	beq	WARP
	cmp.w	#50,Warp		<- can we shoot?
	bge	SHOOT			<- YES!
	jmp	GETJOY			<- NO!
	
WARP	cmp.w	#0,Aud2Del
	bgt	WARP
*	move.w	#$4,$DFF096		* Go Sound
*	move.l	AudGo,Aud2Snd		| 
*	move.l	#$0EC00333,$DFF0C4	|
*	move.w	#20,Aud2Del		*

	move.w	#1,Warp	
	lea	Enemy,a1
	moveq	#23,d7
wp1	tst.w	(a1)
	bne	wp2
	move.w	PlayerX,(a1)+
	move.w	PlayerY,(a1)+
	move.l	#$05100000,(a1)+
	move.l	#$00120000,(a1)+
	move.l	#0,(a1)+
	move.l	#0,(a1)+
	jmp	wp3
wp2	add.l	#20,a1
	dbf	d7,wp1			
wp3	add.w	#1,Accel
	move.w	Accel,d0
	add.w	d0,PlayerX
	cmp.w	#338,PlayerX
	ble	MOVEME	
	move.w	#338,PlayerX
	cmp.w	#80,Accel
	ble	DOENEMY
	lea	Colors,a0
	jsr	FADEOUT
	add.w	#1,Section
	jmp	PREPLV1
***************************************************************************
NEWLVL	lea	Colors,a0
	jsr	FADEOUT
	add.w	#1,Level
	move.w	#0,NLev
	move.w	#0,Section
	jmp	INITLEV
***************************************************************************

SRTSEQ	bne	hold	
	cmp.w	#1,Boss
	beq	hold
	move.w	#0,Stop
hold	move.w	Slow,d0
	lsr.w	#1,d0
	add.w	#1,d0
	lea	Enemy,a1
	moveq	#23,d7
sp1	tst.w	(a1)
	bne	sp2
	move.w	PlayerX,(a1)+
	move.w	PlayerY,(a1)+
	move.l	#$05100000,(a1)+
	move.l	#$00120000,(a1)+
	move.l	#0,(a1)+
	move.l	#0,(a1)+
	jmp	MOVEME
sp2	add.l	#20,a1
	dbf	d7,sp1
	jmp	SHOOT
**************************************************************************
SUBGAME	MOVEM.L	D6-D7/A0-A6,-(SP)
	move.b	#0,Key
	move.l	_BitMapY,a0
	move.l	_Buffer,a1
	add.l	#2414,a0
	add.w	Distance,a0
	move.w	#4,d5
sg3	move.w	#124,d6
sg2	move.w	#9,d7
sg1 	move.w	(a0),(a1)+
	move.w	#0,(a0)+	
	dbf	d7,sg1			
	add.l	#28,a0
	dbf	d6,sg2
	add.l	#5232,a0
	dbf	d5,sg3

	lea	BoxDat,a3
	move.l	_BitMapY,a4
	move.w	Distance,d0
	lea	(a4,d0),a4 
	move.l	a4,a5
	add.l	#22464,a4
	add.l	#33696,a5
	move.w	#3,d5
	move.w	#1,d0
Box	move.w	(a3)+,d0
	move.w	(a3)+,d1
	move.w	(a3)+,d2
	move.w	(a3)+,d3
	move.l	a5,a0
	move.w	#$BFA,d6
	jsr	LINE
	move.l	a4,a0
	jsr	LINE
	dbf	d5,Box
		
SGMAIN	move.w	#0,d0
	jsr	WAIT
	move.w	$BFE000,d0
	btst	#7,d0
	bne	SGMAIN

	move.b	#0,Key
	move.l	_BitMapY,a0
	move.l	_Buffer,a1
	add.l	#2414,a0
	add.w	Distance,a0
	move.w	#4,d5
sg6	move.w	#124,d6
sg5	move.w	#9,d7
sg4 	move.w	(a1)+,(a0)+
	dbf	d7,sg4			
	add.l	#28,a0
	dbf	d6,sg5
	add.l	#5232,a0
	dbf	d5,sg6
	MOVEM.L	(SP)+,D6-D7/A0-A6
	rts
***************************************************************************

PUTBMAP	lea	MAPPTR,a2
	move.l	#11232,d1
	swap	d0			+
	move.w	d0,2(a2)		|
	swap	d0			| Modify the Copper Lists Bit 
	move.w	d0,6(a2)		| Memory Reserved for Bit Map
	add.l	d1,d0			|
	swap	d0			|
	move.w	d0,10(a2)		|
	swap	d0			|
	move.w	d0,14(a2)		|
	add.l	d1,d0			|
	swap	d0			|
	move.w	d0,18(a2)		|
	swap	d0			|
	move.w	d0,22(a2)		|
	add.l	d1,d0			|
	swap	d0			|
	move.w	d0,26(a2)		|
	swap	d0			|
	move.w	d0,30(a2)		|
	add.l	d1,d0			|
	move.w	d0,38(a2)		|
	swap	d0			|
	move.w	d0,34(a2)		+	
	rts
***************************************************************************
MAKEMAP	move.l	CurMap,a0
	move.l	_BackBuff,a1
	move.l	_BackMap,a2
		
mp1	move.w	#0,d7 
mp2	move.w	#0,d6
mp3	move.l	a1,a3		a3 = PutMap Pointer
	move.l	a2,a4		a4 = GetMap Pointer
			
	move.b	(a0)+,d0	This section computes GetMap location
	and.w	#$00FF,d0	*
	divu	#20,d0		*
	swap	d0		*
	add.w	d0,a4		*
	add.w	d0,a4		*
	swap	d0		*
	mulu	#720,d0		*
	add.w	d0,a4		a4 = Now GetMap ChunkN Pointer

	move.w	d7,d0		This section computes PutMap Location
	mulu.w	#4608,d0	*
	add.l	d0,a3		*
	add.w	d6,a3		*
	add.w	d6,a3		a3 = Now PutMap Pointer
		
	move.w	#4,d5	
mp4	move.w	#17,d4
mp5	move.w	(a4),(a3)
	add.w	#256,a3
	add.w	#40,a4
	dbf	d4,mp5		
	add.l	#55296,a3
	add.w	#7280,a4
	dbf	d5,mp4

	add.w	#1,d6
	cmp.w	#127,d6
	ble	mp3
	add.w	#1,d7
	cmp.w	#12,d7
	ble	mp2
	rts

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

SEEIFF	moveq	#0,d3		 		A1-A4 Data Pointer
	lea	(a1,d5),a2			A5    BitMap Pointer
	lea	(a2,d5),a3			D0    Y Line Counter
	lea	(a3,d5),a4			D1    X Byte Counter
	lea	(a4,d5),a6			d5    Size of BitPlanes
YLines	move.l	a1,a5		
	jsr	DoLine
	add.w	d7,a1
	move.l	a2,a5
	jsr	DoLine
	add.w	d7,a2
	move.l	a3,a5
	jsr	DoLine
	add.w	d7,a3
	move.l	a4,a5
	jsr	DoLine
	add.w	d7,a4
	move.l	a6,a5
	jsr	DoLine
	add.w	d7,a6
	dbf	d0,YLines
	rts
		
DoLine	moveq	#0,d1
	moveq	#0,d4
NewData	jsr	GetData
XLines	cmp.b	#0,d2
	bmi	rpx
	jsr	Copy
	jmp	erp
rpx	jsr	Repeat
erp	cmp.w	d6,d1
	bmi	NewData		
	rts

Copy	addq.w	#1,d1
	add.w	d2,d1
	move.w	d2,d5
cmore	btst	#0,d4
	bne	codd
	jsr	GetData
	or.b	d2,(a5)		*
	jmp	ecod
codd	jsr	GetData
	or.w	d2,(a5)+	*
ecod	addq.w	#1,d4
	dbf	d5,cmore
	rts
		
Repeat	neg.b	d2
	addq.w	#1,d1
	add.w	d2,d1
	move.w	d2,d5
	jsr	GetData
rmore	btst	#0,d4
	bne	rodd
	or.b	d2,(a5)		*
	jmp	erod
rodd	or.w	d2,(a5)+	*
erod	addq.w	#1,d4
	dbf	d5,rmore
	rts
	
GetData	move.w	(a0),d2
	btst	#0,d3
	bne	OddData
	lsr.w	#8,d2
	and.w	#$00FF,d2
	addq.b	#1,d3
	rts
OddData	and.w	#$00FF,d2
	addq.b	#1,d3
	addq.l	#2,a0	
	rts

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

LINE	MOVEM.L	D0-D7/A0-A6,-(SP)
	and.l	#$0000FFFF,d0
	sub.w	d0,d2
	bmi	xneg
	sub.w	d1,d3
	bmi	yneg
	cmp.w	d3,d2
	bmi	ygtx
	moveq.w	#17,d5
	bra	line
ygtx	exg	d2,d3
	moveq.w	#1,d5
	bra	line
yneg	neg.w	d3
	cmp.w	d3,d2
 	bmi	ynygtx
 	moveq.w	#25,d5
 	bra	line
ynygtx	exg	d2,d3
	moveq.w	#5,d5
	bra	line
xneg	neg.w	d2
	sub.w	d1,d3	
	bmi	xyneg
	cmp.w	d3,d2
	bmi	xnygtx
	moveq.w	#21,d5
	bra	line
xnygtx	exg	d2,d3
	moveq.w	#9,d5
	bra	line
xyneg	neg.w	d3
	cmp.w	d3,d2
	bmi	xynygtx
	moveq.w	#29,d5
	bra	line
xynygtx	exg	d2,d3
	moveq.w	#13,d5
line	mulu.w	#48,d1
	ror.l	#4,d0
	add.w	d0,d0
	add.w	d1,a0
	add.w	d0,a0
	swap	d0
	or.w	d6,d0
	lsl.w	#2,d3
	add.w	d2,d2
	move.w	d2,d1
	lsl.w	#5,d1
	add.w	#$42,d1
BWL1	btst.b	#6,$DFF002	
	bne	BWL1
	move.w	d3,$DFF062
	sub.w	d2,d3
	ext.l	d3
	move.l	d3,$DFF050
	bpl	over
	or.w	#$0040,d5
over	move.w	d0,$DFF040
	move.w	d5,$DFF042
	move.w	#48,$DFF060
	move.w	#48,$DFF066
	sub.w	d2,d3
	move.w	d3,$DFF064
	move.w	#$8000,$DFF074
	move.l	#-1,$DFF044
	move.l	a0,$DFF048
	move.l	a0,$DFF054
	move.w	d1,$DFF058
BWL2	btst.b	#6,$DFF002
	bne	BWL2
	move.l	#$FFFF0000,$DFF044	BLTAFWM
	move.l	#$002C0024,$DFF060	BLTxMOD
	move.l	#$0024002C,$DFF064	BLTxMOD
	MOVEM.L	(SP)+,D0-D7/A0-A6
	rts
	
**************************************************************************  	

NEWPAL	lea	$DFF180,a2
	moveq	#31,d0
npl1	move.w	(a1)+,(a2)+
	dbf	d0,npl1
	rts
***************************************************************************
CLRBACK	move.l	_BckGrnd1,a0
	move.l	_BckGrnd2,a1
	move.w	#16750,d0
cb0	move.l	#0,(a0)+
	move.l	#0,(a1)+
	dbf	d0,cb0
	rts		
**************************************************************************
DRWSTRT	move.l	_BckGrnd1,a0
	move.l	_BckGrnd2,a1
	move.l	_BackBuff,a3
	move.w	#1169,d0
ds0	move.w	#11,d1
ds1	move.l	(a3),(a1)+
	move.l	(a3)+,(a0)+
	dbf	d1,ds1
	add.w	#208,a3
	dbf	d0,ds0
	rts
**************************************************************************
CLRBOTS	move.l	_BckGrnd1,d1
	add.l	#150000,d1	
BWC	btst.b	#6,$DFF002
	bne	BWC
	move.w	#0,$DFF042		BLTCON1
	move.w	#$0100,$DFF040		BLTCON0
	move.w	#0,$DFF066		BLTDMOD
	move.l	d1,$DFF054		BLTDPT	
	move.w	#$8032,$DFF058		BLTSIZE Current erases 512 x 100	
	move.l	_BckGrnd2,d1
	add.l	#150000,d1	
BWD	btst.b	#6,$DFF002
	bne	BWD
	move.w	#0,$DFF042
	move.w	#$0100,$DFF040
	move.w	#0,$DFF066
	move.l	d1,$DFF054	
	move.w	#$8032,$DFF058
	rts
***************************************************************************
FADEIN	lea	ColBuf,a2
	move.w	#16,d6
fi0	move.l	#0,(a2)+
	dbf	d6,fi0
	move.w	#16,d7
fi1	lea	$DFF180,a1
	lea	ColBuf,a2
	move.l	a0,a3
	move.w	#0,d6
fi2	move.w	(a2),d1
	move.w	(a3)+,d4
	move.w	d1,d2
	and.w	#$000F,d2
	move.w	d4,d5
	and.w	#$000F,d5
	cmp.w	d2,d5	
	beq	fi3
	add.w	#1,d2
fi3	move.w	d1,d3
	and.w	#$00F0,d3
	move.w	d4,d5
	and.w	#$00F0,d5
	cmp.w	d3,d5
	beq	fi4
	lsr.w	#4,d3
	add.w	#1,d3
	lsl.w	#4,d3
fi4	and.w	#$0F00,d1
	and.w	#$0F00,d4
	cmp.w	d1,d4
	beq	fi5
	lsr.w	#8,d1
	add.w	#1,d1
	lsl.w	#8,d1
fi5	or.w	d3,d2
	or.w	d2,d1
	move.w	d1,(a1)+
	move.w	d1,(a2)+
	add.w	#1,d6
	cmp.w	#32,d6
	blt	fi2
	move.w	#4,d0
	jsr	WAIT
	dbf	d7,fi1
	rts
	
***************************************************************************
FADEOUT	move.l	a0,a1
	lea	ColBuf,a2
	move.w	#16,d6
fo0	move.l	(a1)+,(a2)+
	dbf	d6,fo0
	move.w	#16,d7
fo1	lea	$DFF180,a1
	lea	ColBuf,a2
	move.w	#0,d6
fo2	move.w	(a2),d1
	move.w	d1,d2
	and.w	#$000F,d2
	beq	fo3
	sub.w	#1,d2
fo3	move.w	d1,d3
	and.w	#$00F0,d3
	beq	fo4
	lsr.w	#4,d3
	sub.w	#1,d3
	lsl.w	#4,d3
fo4	and.w	#$0F00,d1
	beq	fo5
	lsr.w	#8,d1
	sub.w	#1,d1
	lsl.w	#8,d1
fo5	or.w	d2,d1
	or.w	d3,d1
	move.w	d1,(a1)+
	move.w	d1,(a2)+
	add.w	#1,d6
	cmp.w	#32,d6
	blt	fo2
	move.w	#2,d0
	jsr	WAIT
	dbf	d7,fo1
	rts
	
************************************************************************** 
WAIT	move.b	$DFF006,d1 
	cmp.b	#$FF,d1
	beq	WAIT
	jsr	DELAY
	dbf	d0,WAIT
	rts 
 
DELAY	move.b	$DFF006,d1
	cmp.b	#$FF,d1
	bne	DELAY
	rts

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

GMOVER	move.w	$BFE000,d0
	btst	#7,d0
	bne	GMOVER
	move.w	#2,d0
	jmp	QUIT		Return to master program 
		
***************************************************************************

	include	Types.i
	include	Master.i
	include	Box.i
	include	Boss.i
	include	SSGFX.i
	include Ship.i
Title	include	Title.i
	include	Lev1Back.i
Lev1Map	include	Map.i


EListPt		dc.l	0
CurMap		dc.l	0
PassWord	dc.l	$0BAD0A55
		dc.l	$0BAD0A55
AudShot		dc.l	0
AudDrip		dc.l	0
AudWap		dc.l	0
AudExpl		dc.l	0
AudBuff		dc.l	0
AudBuzz		dc.l	0
AudBoom		dc.l	0
AudBumf		dc.l	0
AudWhia		dc.l	0
AudEngz		dc.l	0
AudMiss		dc.l	0
AudTink		dc.l	0
AudCome		dc.l	0
AudGo		dc.l	0

PlayerXl	dc.w	0
PlayerX		dc.w	60
PlayerY		dc.w	90
PlayerA		dc.w	0
PlayerI		dc.w	0
PlayerH		dc.w	25
PlayerHM	dc.w	25
PlayerL		dc.w	2
LineA		dc.w	0
Money		dc.w	0
ResPow		dc.w	0	
ResFix		dc.w	0
BulSiz		dc.w	12
BulSpd		dc.w	6
BulPow		dc.w	1
BulDel		dc.w	0
BulYD		dc.w	5
MaxPow		dc.w	3	
Distance	dc.w	0
BMapOff		dc.w	15
ObjOff		dc.w	0
Bonus		dc.l	0
Level		dc.w	0
Section		dc.w	0
Warp		dc.w	0
Slow		dc.w	0
Accel		dc.w	0
Stop		dc.w	0
Boss		dc.w	0
Message		dc.l	0
Message2	dc.l	0
SJOld		dc.w	0
ShpSel		dc.w	0
SSelOld		dc.w	0
NLev		dc.w	0
GenUse		dc.b	0
GenDel		dc.b	0
Reload		dc.b	0
Key		dc.b	0

Aud0Snd		dc.l	0
Aud1Snd		dc.l	0
Aud2Snd		dc.l	0
Aud3Snd		dc.l	0
Aud0Del		dc.w	0
Aud1Del		dc.w	0
Aud2Del		dc.w	0
Aud3Del		dc.w	0

ShipTbl	dc.l	0,0,0,0,0,0,0,0,0,0
MaskTbl	dc.l	0,0,0,0,0,0,0,0,0,0
BackTbl	dc.l	0,0,0,0,0,0,0,0,0,0
ColrTbl	dc.l	0,0,0,0,0,0,0,0,0,0
MappTbl	dc.l	0,0,0,0,0,0,0,0,0,0
EnmsTbl	dc.l	0,0,0,0,0,0,0,0,0,0

BoxDat	dc.w	112, 50,271, 50, 271, 50,271,174 
	dc.w	271,174,112,174, 112,174,112, 50

SelDat	dc.w	114, 52,269, 52, 269, 52,269, 66 
	dc.w	269, 66,114, 66, 114, 66,114, 52
	dc.w	114, 68,269, 68, 269, 68,269, 82 
	dc.w	269, 82,114, 82, 114, 82,114, 68
	dc.w	114, 84,269, 84, 269, 84,269, 98 
	dc.w	269, 98,114, 98, 114, 98,114, 84
	dc.w	114,100,269,100, 269,114,269,114 
	dc.w	269,114,114,114, 114,100,114,100
	dc.w	114,116,269,116, 269,116,269,130 
	dc.w	269,130,114,130, 114,130,114,116
	dc.w	114,132,269,132, 269,132,269,146 
	dc.w	269,146,114,146, 114,146,114,132
	dc.w	121,154,158,154, 158,154,158,167 
	dc.w	158,167,121,167, 121,167,121,154

DMatX	dc.b	0,10,10,-10,-10, 0,0
DMatY	dc.b	0,-5, 5, -5,  5,13,-13

Price	dc.w	50,50,250,250,500,500,0

	dc.l	0,0,0,0
Bullets	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Enemy	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.l	0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

ColBuf	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000

Black	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000

Colors	dc.w	$0000,$0222,$0333,$0444,$0555,$0666,$0777,$0888
	dc.w	$0999,$0AAA,$0F80,$0D50,$0A40,$0932,$0347,$0432
Colors0	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000

Colors1	dc.w	$0543,$0531,$0410,$0510,$0240,$0430,$0006,$0005
	dc.w	$0700,$0600,$0500,$0400,$0300,$0590,$0B70,$0004

Colors2	dc.w	$0006,$0FFF,$0FFF,$0FFF,$0FFF,$0FFF,$0FFF,$0800
	dc.w	$0043,$0040,$0030,$0520,$0410,$0504,$0605,$0770

TitCol	dc.w	$0000,$0000,$0400,$0600,$0800,$0743,$0421,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	
*------------------------------------------------------------------------*

Enms1	dc.w	9999
	dc.w	336,184,662,40,14,0,0,0,0,0
	dc.w	336,100,656,50,3,0,0,0,0,0,336,085,656,75,3,0,0,0,0,0
	dc.w	336,115,656,100,3,0,0,0,0,0,336,100,656,125,3,0,0,0,0,0
	dc.w	336,070,656,150,3,0,0,0,0,0,336,130,656,175,3,0,0,0,0,0
	dc.w	336,070,656,200,3,0,0,0,0,0,336,100,656,225,3,0,0,0,0,0
	dc.w	336,130,656,250,3,0,0,0,0,0,336,38,1934,260,11,0,0,0,0,0
	dc.w	336,060,656,275,3,0,0,0,0,0
	dc.w	336,140,656,300,3,0,0,0,0,0,336,100,656,325,3,0,0,0,0,0
	dc.w	336,94,662,480,14,0,0,0,0,0
	dc.w	336,120,674,490,21,1,3,0,0,0
	dc.w	336,155,656,500,3,0,0,0,0,0,336,20,656,525,3,0,0,0,0,0
	dc.w	336,190,656,550,3,0,0,0,0,0,336,80,656,575,3,0,0,0,0,0
	dc.w	336,140,656,600,3,0,0,0,0,0,336,50,656,625,3,0,0,0,0,0
	dc.w	336,175,656,650,3,0,0,0,0,0,336,65,656,675,3,0,0,0,0,0
	dc.w	336,200,656,700,3,0,0,0,0,0,336,130,662,715,14,0,0,0,0,0
		
	dc.w	336,45,656,725,3,0,0,0,0,0,336,110,1934,775,11,0,0,0,0,0
	dc.w	336,55,656,800,3,0,0,0,0,0
	dc.w	336,184,662,820,14,0,0,0,0,0,336,20,656,825,3,0,0,0,0,0
	dc.w	336,90,656,850,3,0,0,0,0,0,336,80,656,875,3,0,0,0,0,0
	dc.w	336,40,656,900,3,0,0,0,0,0,336,50,656,925,3,0,0,0,0,0
	dc.w	336,75,656,950,3,0,0,0,0,0,336,65,656,975,3,0,0,0,0,0
	dc.w	336,112,662,980,14,0,0,0,0,0
	dc.w	336,155,656,1000,3,0,0,0,0,0,336,56,656,1025,3,0,0,0,0,0
	dc.w	336,180,656,1050,3,0,0,0,0,0,336,80,656,1075,3,0,0,0,0,0
	dc.w	336,150,656,1100,3,0,0,0,0,0,336,39,656,1125,3,0,0,0,0,0
	dc.w	336,50,674,1140,21,1,0,0,0,0
	dc.w	336,200,4480,1150,40,0,0,0,0,0
	dc.w	336,175,656,1150,3,0,0,0,0,0,336,65,656,1175,3,0,0,0,0,0
	dc.w	336,190,656,1200,3,0,0,0,0,0,336,25,656,1225,3,0,0,0,0,0
	dc.w	336,180,656,1300,3,0,0,0,0,0,336,20,656,1325,3,0,0,0,0,0
	dc.w	336,128,656,1350,3,0,0,0,0,0,336,70,656,1375,3,0,0,0,0,0
	dc.w	336,140,656,1400,3,0,0,0,0,0,336,60,656,1425,3,0,0,0,0,0
	dc.w	336,160,656,1450,3,0,0,0,0,0,336,40,656,1475,3,0,0,0,0,0
	dc.w	336,175,656,1500,3,0,0,0,0,0,336,50,656,1525,3,0,0,0,0,0
	dc.w	336,150,656,1550,3,0,0,0,0,0,336,30,656,1575,3,0,0,0,0,0	
	dc.w	100,80,3840,1600,15,150,0,0,0,0
	dc.w	116,80,3842,1600,15,150,0,0,0,0
	dc.w	132,80,3844,1600,15,150,0,0,0,0
	dc.w	148,80,3846,1600,15,150,0,0,0,0
	dc.w	164,80,3848,1600,15,150,0,0,0,0
	dc.w	180,80,3850,1600,15,150,0,0,0,0
	dc.w	196,80,3852,1600,15,150,0,0,0,0
	dc.w	212,80,3854,1600,15,150,0,0,0,0
	dc.w	336,135,656,1625,3,0,0,0,0,0
	dc.w	9000,9000,9000,9000,9000

** Section 1 ***		

	dc.w	9999
	dc.w	336,99,652,30,1,0,34,0,0,0,336,34,646,62,1,0,34,0,0,0
	dc.w	336,95,674,85,21,1,3,0,0,0
	dc.w	336,99,652,94,1,0,34,0,0,0,336,34,648,126,1,0,34,0,0,0
	dc.w	336,165,1288,200,8,0,1,0,0,0
	dc.w	336,144,646,255,1,0,124,0,0,0
	dc.w	336,185,1288,300,8,0,1,0,0,0
	dc.w	336,111,1294,390,22,-2,0,0,0,0		
	dc.w	336,56,668,560,19,0,0,0,0,0
	dc.w	336,70,668,562,19,0,0,0,0,0,336,84,668,564,19,0,0,0,0,0
	dc.w	336,98,668,566,19,0,0,0,0,0,336,112,668,568,19,0,0,0,0,0
	dc.w	336,144,646,639,1,0,53,0,0,0
	dc.w	336,111,1294,760,22,-2,0,0,0,0
	dc.w	336,99,652,967,1,0,122,0,0,0
	dc.w	336,175,674,1060,21,1,3,0,0,0
	dc.w	336,99,652,1102,1,0,34,0,0,0
	dc.w	336,111,1294,1130,22,-2,0,0,0,0
	dc.w	336,56,668,1278,19,0,0,0,0,0,336,70,668,1279,19,0,0,0,0,0
	dc.w	336,84,668,1279,19,0,0,0,0,0,336,112,668,1280,19,0,0,0,0,0
	dc.w	336,98,668,1280,19,0,0,0,0,0
	dc.w	100,80,3840,1600,15,150,0,0,0,0
	dc.w	116,80,3842,1600,15,150,0,0,0,0
	dc.w	132,80,3844,1600,15,150,0,0,0,0
	dc.w	148,80,3846,1600,15,150,0,0,0,0
	dc.w	164,80,3848,1600,15,150,0,0,0,0
	dc.w	180,80,3850,1600,15,150,0,0,0,0
	dc.w	196,80,3852,1600,15,150,0,0,0,0
	dc.w	212,80,3854,1600,15,150,0,0,0,0
	dc.w	9000,9000,9000,9000,9000

*** Section 2 ***

	dc.w	9999
	dc.w	336,100,656,15,3,0,0,0,0,0,336,85,656,25,3,0,0,0,0,0
	dc.w	336,195,1288,25,8,0,1,0,0,0
	dc.w	336,115,656,25,3,0,0,0,0,0,336,100,656,35,3,0,0,0,0,0
	dc.w	336,70,656,35,3,0,0,0,0,0,336,130,656,35,3,0,0,0,0,0
	dc.w	336,70,656,45,3,0,0,0,0,0,336,100,656,45,3,0,0,0,0,0
	dc.w	336,130,656,45,3,0,0,0,0,0,336,60,656,55,3,0,0,0,0,0
	dc.w	336,140,656,55,3,0,0,0,0,0
	dc.w	336,90,1308,120,4,0,0,0,0,0,336,80,1308,125,4,0,0,0,0,0
	dc.w	336,100,1308,125,4,0,0,0,0,0,336,70,1308,130,4,0,0,0,0,0
	dc.w	336,110,1308,130,4,0,0,0,0,0,336,90,1308,145,4,0,0,0,0,0	
	dc.w	336,160,1288,150,8,0,1,0,0,0
	dc.w	336,99,674,175,21,1,3,0,0,0
	dc.w	336,60,1308,250,4,0,0,0,0,0,336,50,1308,257,4,0,0,0,0,0
	dc.w	336,70,1308,257,4,0,0,0,0,0,336,60,1308,264,4,0,0,0,0,0
	dc.w	336,180,1308,300,4,0,0,0,0,0,336,170,1308,307,4,0,0,0,0,0
	dc.w	336,190,1308,307,4,0,0,0,0,0,336,180,1308,314,4,0,0,0,0,0
	dc.w	336,60,1308,350,4,0,0,0,0,0,336,50,1308,357,4,0,0,0,0,0
	dc.w	336,70,1308,357,4,0,0,0,0,0,336,60,1308,364,4,0,0,0,0,0
	dc.w	336,140,1288,364,8,0,1,0,0,0,336,174,3856,370,29,0,0,0,0,0
	dc.w	336,10,640,400,2,0,0,0,0,0
	dc.w	336,100,1288,420,8,0,1,0,0,0,336,200,640,440,2,0,0,0,0,0
	dc.w	336,135,1288,475,8,0,1,0,0,0,336,10,640,480,2,0,0,0,0,0
	dc.w	336,50,1288,515,8,0,1,0,0,0,336,200,640,520,2,0,0,0,0,0
	dc.w	336,10,640,560,2,0,0,0,0,0,336,200,640,600,2,0,0,0,0,0
	dc.w	336,60,646,631,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.w	336,200,640,640,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dc.w	336,150,674,750,21,1,3,0,0,0
	dc.w	336,120,1288,760,8,0,1,0,0,0,336,120,1288,925,8,0,1,0,0,0
	dc.w	336,50,1308,930,4,0,0,0,0,0,336,175,1308,937,4,0,0,0,0,0
	dc.w	336,75,656,945,3,0,0,0,0,0,336,150,656,952,3,0,0,0,0,0
	dc.w	336,50,1308,960,4,0,0,0,0,0,336,175,1308,967,4,0,0,0,0,0
	dc.w	336,75,656,975,3,0,0,0,0,0,336,150,656,982,3,0,0,0,0,0
	dc.w	336,50,1308,990,4,0,0,0,0,0,336,175,1308,997,4,0,0,0,0,0
	dc.w	336,75,656,1005,3,0,0,0,0,0,336,150,656,1012,3,0,0,0,0,0	
	dc.w	336,55,1288,1040,8,0,1,0,-2,0,336,165,1288,1160,8,0,-1,0,0,0
	dc.w	336,90,1288,1190,8,0,-1,0,2,0,336,10,640,1200,2,0,0,0,0,0
	dc.w	336,45,1288,1260,8,0,1,0,-1,0,336,10,640,1300,2,0,0,0,0,0
	dc.w	336,195,1288,1330,8,0,1,0,0,0,336,10,640,1400,2,0,0,0,0,0
	dc.w	336,80,640,1500,2,0,0,0,0,0,336,150,640,1550,2,0,0,0,0,0
	dc.w	100,80,3840,1600,15,150,0,0,0,0
	dc.w	116,80,3842,1600,15,150,0,0,0,0
	dc.w	132,80,3844,1600,15,150,0,0,0,0
	dc.w	148,80,3846,1600,15,150,0,0,0,0
	dc.w	164,80,3848,1600,15,150,0,0,0,0
	dc.w	180,80,3850,1600,15,150,0,0,0,0
	dc.w	196,80,3852,1600,15,150,0,0,0,0
	dc.w	212,80,3854,1600,15,150,0,0,0,0
	dc.w	336,205,640,1620,2,0,0,0,0,0
	dc.w	9000,9000,9000,9000,9000

*** Section 3 ***		

	dc.w	9999
	dc.w	336, 50,1308,10,4,0,0,0,0,0,336,95,656,20,3,0,0,0,0,0
	dc.w	336,150,1308,30,4,0,0,0,0,0,336,105,656,40,3,0,0,0,0,0
	dc.w	336, 50,1308,50,4,0,0,0,0,0,336,95,656,60,3,0,0,0,0,0
	dc.w	336,150,1308,70,4,0,0,0,0,0,336,105,656,80,3,0,0,0,0,0
	dc.w	336, 50,1308,90,4,0,0,0,0,0,336,95,656,100,3,0,0,0,0,0
	dc.w	336,150,1308,110,4,0,0,0,0,0,336,105,656,120,3,0,0,0,0,0
	dc.w	336, 50,1308,130,4,0,0,0,0,0,336,95,656,140,3,0,0,0,0,0
	dc.w	336,150,1308,150,4,0,0,0,0,0,336,105,656,160,3,0,0,0,0,0
	dc.w	336, 50,1308,170,4,0,0,0,0,0,336,95,656,180,3,0,0,0,0,0
	dc.w	336,200,1934,185,11,0,0,0,0,0
	dc.w	336,150,1308,190,4,0,0,0,0,0,336,105,656,200,3,0,0,0,0,0
	dc.w	336, 50,1308,210,4,0,0,0,0,0,336,95,656,220,3,0,0,0,0,0
	dc.w	336,160,1308,230,4,0,0,0,0,0,336,105,656,240,3,0,0,0,0,0
	dc.w	336, 50,1308,250,4,0,0,0,0,0,336,95,656,260,3,0,0,0,0,0
	dc.w	336,150,1308,270,4,0,0,0,0,0,336,105,656,280,3,0,0,0,0,0
	dc.w	336,200,1314,280,24,0,0,0,0,0
	dc.w	336, 50,1308,290,4,0,0,0,0,0,336,95,656,300,3,0,0,0,0,0
	dc.w	336,150,1308,310,4,0,0,0,0,0,336,105,656,320,3,0,0,0,0,0
	dc.w	336, 50,1308,330,4,0,0,0,0,0,336,95,656,340,3,0,0,0,0,0
	dc.w	336,202,662,585,14,0,0,0,0,0
	dc.w	336,100,674,600,21,1,3,0,0,0	
	dc.w	336,100,1308,625,4,0,0,0,0,0,336,115,1308,650,4,0,0,0,0,0
	dc.w	336,100,1308,675,4,0,0,0,0,0,336,115,1308,700,4,0,0,0,0,0
	dc.w	336,182,4480,710,40,0,0,0,0,0,336,10,640,720,2,0,0,0,0,0
	dc.w	336,100,1308,725,4,0,0,0,0,0,336,115,1308,750,4,0,0,0,0,0
	dc.w	336,100,1308,775,4,0,0,0,0,0,336,115,1308,800,4,0,0,0,0,0
	dc.w	336,100,1308,825,4,0,0,0,0,0,336,200,640,830,2,0,0,0,0,0
	dc.w	336,184,662,840,14,0,0,0,0,0,336,115,1308,850,4,0,0,0,0,0
	dc.w	336,38,1934,930,11,0,0,0,0,0,336,10,640,950,2,0,0,0,0,0
	dc.w	336,200,3210,1000,16,0,-25,0,-25,0
	dc.w	336,200,3210,1050,16,0,-30,0,-30,0
	dc.w	336,200,3210,1100,16,0,-28,0,-28,0
	dc.w	336,200,3210,1150,16,0,-35,0,-35,0
	dc.w	336,200,3210,1200,16,0,-32,0,-32,0,336,150,640,1225,2,0,0,0,0,0
	dc.w	336,200,3210,1250,16,0,-38,0,-38,0,336,20,640,1275,2,0,0,0,0,0
	dc.w	336,200,3210,1300,16,0,-32,0,-32,0,336,150,640,1325,2,0,0,0,0,0
	dc.w	336,200,3210,1350,16,0,-43,0,-43,0,336,25,640,1375,2,0,0,0,0,0
	dc.w	336,200,3210,1400,16,0,-45,0,-45,0,336,150,640,1425,2,0,0,0,0,0
	dc.w	336,200,3210,1450,16,0,-30,0,-30,0,336,20,640,1475,2,0,0,0,0,0
	dc.w	336,200,3210,1500,16,0,-40,0,-40,0,336,150,640,1525,2,0,0,0,0,0
	dc.w	336,200,3210,1550,16,0,-48,0,-48,0,336,25,640,1575,2,0,0,0,0,0
	dc.w	336,200,3210,1600,16,0,-37,0,-37,0
	dc.w	9000,9000,9000,9000,9000

*** Section 4 ***

	dc.w	9999
	dc.w	175,200,3210,1,16,0,-35,0,-35,0
	dc.w	336,200,3210,1,16,0,-45,0,-45,0
	dc.w	336,20,1308,25,4,0,0,0,0,0,336,40,1308,50,4,0,0,0,0,0
	dc.w	336,60,1308,75,4,0,0,0,0,0,336,200,640,80,2,0,0,0,0,0
	dc.w	336,200,3210,101,16,0,-30,0,-30,0,336,74,3230,108,31,0,0,0,0,0
	dc.w	336,30,1308,125,4,0,0,0,0,0,336,50,1308,150,4,0,0,0,0,0
	dc.w	336,70,1308,175,4,0,0,0,0,0,336,200,640,180,2,0,0,0,0,0
	dc.w	336,200,3210,201,16,0,-40,0,-43,0
	dc.w	336,20,1308,225,4,0,0,0,0,0,336,40,1308,250,4,0,0,0,0,0
	dc.w	336,60,1308,275,4,0,0,0,0,0,336,200,640,280,2,0,0,0,0,0
	dc.w	336,200,3210,285,16,0,-30,0,-35,0
	dc.w	336,174,3856,401,29,0,0,0,0,0
	dc.w	336,38,3230,519,31,0,0,0,0,0
	dc.w	336,200,3210,800,16,0,-44,0,-44,0
	dc.w	336,200,3210,885,16,0,-35,0,-35,0
	dc.w	336,92,3230,968,31,0,0,0,0,0
	dc.w	336,200,3210,1020,16,0,-50,0,-50,0
	dc.w	336,200,3210,1100,16,0,-31,0,-35,0,336,55,674,1130,21,1,3,0,0,0
	dc.w	336,200,3210,1200,16,0,-28,0,-40,0,336,85,656,1250,3,0,0,0,0,0
	dc.w	336,200,3210,1300,16,0,-33,0,-33,0,336,85,656,1350,3,0,0,0,0,0
	dc.w	336,85,656,1440,3,0,0,0,0,0,336,85,656,1510,3,0,0,0,0,0
	dc.w	336,164,1314,1545,24,0,0,0,0,0
	dc.w	9000,9000,9000,9000,9000
	
*** Section 5 ***

	dc.w	9999
	dc.w	336, 40,2590,10,25,0,0,0,0,0,336,99,652,14,1,0,71,0,0,0
	dc.w	336,100,2590,20,26,0,0,0,0,0
	dc.w	336,160,2590,30,25,0,0,0,0,0,336,100,2590,40,26,0,0,0,0,0
	dc.w	336, 40,2590,50,25,0,0,0,0,0,336,100,2590,60,26,0,0,0,0,0
	dc.w	336,160,2590,70,25,0,0,0,0,0,336,100,2590,80,26,0,0,0,0,0
	dc.w	336, 40,2590,90,25,0,0,0,0,0,336,100,2590,100,26,0,0,0,0,0
	dc.w	336,160,2590,110,25,0,0,0,0,0,336,100,2590,120,26,0,0,0,0,0
	dc.w	336, 40,2590,130,25,0,0,0,0,0,336,100,2590,140,26,0,0,0,0,0
	dc.w	336,160,2590,150,25,0,0,0,0,0,336,100,2590,160,26,0,0,0,0,0
	dc.w	336, 40,2590,170,25,0,0,0,0,0,336,100,2590,180,26,0,0,0,0,0
	dc.w	336,160,2590,190,25,0,0,0,0,0,336,100,2590,200,26,0,0,0,0,0
	dc.w	336, 40,2590,210,25,0,0,0,0,0,336,100,2590,220,26,0,0,0,0,0
	dc.w	336,160,2590,230,25,0,0,0,0,0,336,100,2590,240,26,0,0,0,0,0
	dc.w	336, 40,2590,250,25,0,0,0,0,0,336,100,2590,260,26,0,0,0,0,0
	dc.w	336,160,2590,270,25,0,0,0,0,0,336,100,2590,280,26,0,0,0,0,0
	dc.w	336, 40,2590,290,25,0,0,0,0,0,336,100,2590,300,26,0,0,0,0,0
	dc.w	336,160,2590,310,25,0,0,0,0,0,336,100,2590,320,26,0,0,0,0,0
	dc.w	336, 40,2590,330,25,0,0,0,0,0,336,99,652,335,1,0,88,0,0,0
	dc.w	336,100,2590,340,26,0,0,0,0,0
	dc.w	336,5,640,475,2,0,0,0,0,0,336,200,640,500,2,0,0,0,0,0
	dc.w	336,115,656,550,3,0,0,0,0,0,336,95,656,570,3,0,0,0,0,0
	dc.w	336,135,656,570,3,0,0,0,0,0,336,75,1308,595,4,0,0,0,0,0
	dc.w	336,155,1308,595,4,0,0,0,0,0,336,115,656,600,3,0,0,0,0,0
	dc.w	336,110,3230,605,34,208,-90,0,0,0	
	dc.w	336,175,1308,650,4,0,0,0,0,0,336,55,1308,650,4,0,0,0,0,0
	dc.w	336,185,656,675,3,0,0,0,0,0,336,45,656,675,3,0,0,0,0,0
	dc.w	336,175,1308,700,4,0,0,0,0,0,336,55,1308,700,4,0,0,0,0,0
	dc.w	336,185,656,725,3,0,0,0,0,0,336,45,656,725,3,0,0,0,0,0	
	dc.w	336,40,1288,750,8,0,1,0,0,0,336,145,1288,800,8,0,1,0,0,0	
	dc.w	336,54,3876,868,38,0,0,0,0,0,336,25,3860,925,33,0,0,0,0,0
	dc.w	336,160,1308,950,4,0,0,0,0,0,336,185,1308,950,4,0,0,0,0,0
	dc.w	336,160,1308,975,4,0,0,0,0,0,336,185,1308,975,4,0,0,0,0,0
	dc.w	336,55,1308,1100,4,0,0,0,0,0,336,80,1308,1100,4,0,0,0,0,0
	dc.w	336,65,1308,1125,4,0,0,0,0,0,336,90,1308,1125,4,0,0,0,0,0
	dc.w	336,75,1308,1150,4,0,0,0,0,0,336,100,1308,1150,4,0,0,0,0,0
	dc.w	336,85,1308,1175,4,0,0,0,0,0,336,110,1308,1175,4,0,0,0,0,0
	dc.w	336,22,668,1232,19,0,0,0,0,0,336,36,3874,1232,36,0,0,0,0,0
	dc.w	336,164,670,1310,35,0,0,0,0,0
	dc.w	336,75,3858,1310,37,4,0,0,0,0,336,155,3858,1310,37,4,0,0,0,0
	dc.w	336,115,3858,1310,37,4,0,0,0,0
	dc.w	336,22,668,1392,19,0,0,0,0,0,336,36,3874,1392,36,0,0,0,0,0
	dc.w	336,164,670,1470,35,0,0,0,0,0
	dc.w	336,75,3858,1470,37,4,0,0,0,0,336,155,3858,1470,37,4,0,0,0,0
	dc.w	336,115,3858,1470,37,4,0,0,0,0		
	dc.w	9000,9000,9000,9000,9000
		
**** Section 6

	dc.w	9999
	dc.w	142,71,652,0,1,0,71,0,0,0,220,71,646,0,1,0,71,0,0,0
	dc.w	336,70,1308,16,4,0,0,0,0,0,336,85,1308,24,4,0,0,0,0,0
	dc.w	336,70,1308,32,4,0,0,0,0,0,336,85,1308,40,4,0,0,0,0,0
	dc.w	336,70,1308,48,4,0,0,0,0,0,336,85,1308,56,4,0,0,0,0,0
	dc.w	336,70,1308,64,4,0,0,0,0,0,336,85,1308,72,4,0,0,0,0,0
	dc.w	336,50,1308,116,4,0,0,0,0,0,336,70,1308,124,4,0,0,0,0,0
	dc.w	336,50,1308,132,4,0,0,0,0,0,336,70,1308,140,4,0,0,0,0,0
	dc.w	336,50,1308,148,4,0,0,0,0,0,336,70,1308,156,4,0,0,0,0,0
	dc.w	336,50,1308,164,4,0,0,0,0,0,336,70,1308,172,4,0,0,0,0,0	
	dc.w	336,180,5144,220,45,0,1,0,0,0
	dc.w	336,196,5784,220,45,10,3,0,0,0
	dc.w	336,180,5146,236,45,20,4,0,0,0
	dc.w	336,196,5786,236,45,30,2,0,0,0
	dc.w	336,100,1294,575,22,-2,0,0,0,0
	dc.w	336,95,674,700,21,1,3,0,0,0
	dc.w	336,50,1308,716,4,0,0,0,0,0,336,70,1308,724,4,0,0,0,0,0
	dc.w	336,50,1308,732,4,0,0,0,0,0,336,70,1308,740,4,0,0,0,0,0
	dc.w	336,50,1308,748,4,0,0,0,0,0,336,70,1308,756,4,0,0,0,0,0
	dc.w	336,50,1308,764,4,0,0,0,0,0,336,70,1308,772,4,0,0,0,0,0
	dc.w	336,50,656,816,3,0,0,0,0,0,336,70,656,824,3,0,0,0,0,0
	dc.w	336,50,656,832,3,0,0,0,0,0,336,70,656,840,3,0,0,0,0,0
	dc.w	336,50,656,848,3,0,0,0,0,0,336,70,656,856,3,0,0,0,0,0
	dc.w	336,190,5144,950,45,0,1,0,0,0
	dc.w	336,206,5784,950,45,10,3,0,0,0
	dc.w	336,190,5146,966,45,20,4,0,0,0
	dc.w	336,206,5786,966,45,30,2,0,0,0
	dc.w	336,50,1308,1000,4,0,0,0,0,0,336,130,1308,1025,4,0,0,0,0,0
	dc.w	336,70,1308,1050,4,0,0,0,0,0,336,150,1308,1075,4,0,0,0,0,0
	dc.w	336,50,1308,1100,4,0,0,0,0,0,336,130,1308,1125,4,0,0,0,0,0
	dc.w	336,70,1308,1150,4,0,0,0,0,0,336,150,1308,1175,4,0,0,0,0,0
	dc.w	336,55,1288,1200,8,0,1,0,0,0
	dc.w	336,125,1288,1300,8,0,1,0,0,0
	dc.w	336,200,1314,1385,24,0,0,0,0,0
	dc.w	336,80,1288,1400,8,0,1,0,0,0
	dc.w	336,100,1288,1530,8,0,1,0,0,0
	dc.w	9000,9000,9000,9000,9000

**** Section 7

	dc.w	9999	
	dc.w	9000,0,0,0,0,0,0,0,0,0
	dc.w	128,34,652,-8,1,0,34,0,0,0
	dc.w	20,20,6412,-8,48,0,0,0,0,0
	dc.w	9000,9000,9000,9000,9000
	
Enms2	dc.w	9999	
	dc.w	0,0,0,0,0,0,0,0,0,0
	dc.w	9000,9000,9000,9000,9000

	section Copper,Data_c

COPLIST	dc.w	$100,$5200	Screen Setup	
	dc.w	$102,$0000
	dc.w	$104,$0010
	dc.w	$108,$0004
	dc.w	$10A,$0004
	dc.w	$92,$0028
	dc.w	$94,$00D0
	dc.w	$8E,$1C81
	dc.w	$90,$1CC1
MAPPTR	dc.w	$E0,$0000
	dc.w	$E2,$0000
	dc.w	$E4,$0000
	dc.w	$E6,$0000
	dc.w	$E8,$0000
	dc.w	$EA,$0000
	dc.w	$EC,$0000
	dc.w	$EE,$0000
	dc.w	$F0,$0000
	dc.w	$F2,$0000
SPRPTR	dc.w	$120,$0000	
	dc.w	$122,$0000
	dc.w	$124,$0000
	dc.w	$126,$0000
	dc.w	$128,$0000
	dc.w	$12A,$0000
	dc.w	$12C,$0000
	dc.w	$12E,$0000
	dc.w	$130,$0000
	dc.w	$132,$0000
	dc.w	$134,$0000
	dc.w	$136,$0000
	dc.w	$138,$0000	
	dc.w	$13A,$0000
	dc.w	$13C,$0000
	dc.w	$13E,$0000
	dc.w	$FFFF,$FFFE

	section	Sprites,Data_c
	include	Line.i

	section Sounds,Data_c
	include	Sounds.i


