**************************************************
*              _     _______ _   __              *
*             ///\  /___ __// \ /__\             *
*            ////\\//  //  /_ /// //             *
*           ////  \/  //  // \\\\//              *
*                                                *
*                    by ADAM                     *
*                                                *
**************************************************

	jmp	$67000
	org	$67000
	load	$67000
	
**************************************************
*                 COMPANY INTRO                  *
**************************************************


screens	=	$40000

*^^^^^^^^^^^^^^^^^^^^^^
* zum editieren ! bei 1MB CHIPRAM screens = $90000
* ansonsten screens = $40000 ! Translation, make screens =
* $40000 for the skinny bitch agnus. $90000 for the fat bitch.
* or crash at exit...                        HIPPO
*^^^^^^^^^^^^^^^^^^^^^^

*********** save ab $67000 - $7f300 **************


>extern "rnd-stars",$6e400
>extern "company_logo",$7b000
>extern "mod.lback",$70000
>extern "cycle1.dat",$6e800
>extern "cycle2.dat",$6ce00
>extern "font.raw",$6e000

	move.l	4,a6
	jsr	-132(a6)
	move.w	#$7fff,$dff096
	move.w	#$7fff,$dff09a
	move.w	#$7fff,$dff09c
	move.w	#000,$dff180
	bsr	stars1inst
	bsr	stars2inst
	bsr	stars3inst
	bsr	clr
	bsr	instcop
	bsr	instmusic
	bsr.w	svgx
	bsr	mgpg
	move.w	#%1000001111100000,$dff096
	move.w	#%1110000000111100,$dff09a
	bsr	part1
	bsr	part2
main_loop:
	bsr	movein
	cmp.w	#-1,flag3
	beq	reallyend
	bsr	wait
	cmp.w	#-1,flag3
	beq	reallyend
	bsr	moveout
	cmp.w	#-1,flag3
	beq	reallyend
	bsr	clr
	bsr	mgpg
	bra	main_loop
reallyend:
	bsr	reinstmusic
	move.l	oldcop,$dff080
	move.w	#%1000001111110000,$dff096
	move.w	#%1100000000111111,$dff09a
	clr.l	d0
	clr.l	d1
	move.l	4,a6
	jsr	-138(a6)
	rts

* Das ist die Liste der Textpages die hintereinader angezeigt werden
* Sie mu฿ !!!! mit einer 0 enden !!!!
* in dc.l

textpicslake:
	dc.l	textpic1,textpic2,textpic3,textpic4
	dc.l	0

* Jedes Textpic mu฿ !! 13 Zeilen hoch sein und mu฿ mit einer 0 enden
* in dc.b

textpic1: ;      123456789012345678901234567890123456789012345678
	dc.b	`                                                `
	dc.b	`              t h e  c o m p a n y              `
	dc.b	`                                                `
	dc.b	`                p r e s e n t s:                `  
	dc.b	`                                                `
	dc.b	`                    n a m e                     `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`     hippo was here          hi bill            `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	0
textpic2: ;      123456789012345678901234567890123456789012345678
	dc.b	`                                                `
	dc.b	`          c a l l  o u r  b o a r d s           `
	dc.b	`                                                `
	dc.b	`              w o r l d  w i d e:               `
	dc.b    `                                                `  
	dc.b	`  d a n s e  m a c a b r e  disconnected        `
	dc.b	`                                                `
	dc.b	`  t h e  j a m              ditto               `
	dc.b	`                                                `
	dc.b	`  m a i d e n  s o u n d    ditto               `
	dc.b	`                                                `
	dc.b	`  e a g l e s  n e s t      ditto               `
	dc.b	`                                                `
	dc.b	0
textpic3: ;      123456789012345678901234567890123456789012345678
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`              o r  w r i t e  t o               `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`                 toon town                      `  
	dc.b	`                 co roger rabbit                `
	dc.b	`                                                `   
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`            ---------------------------         `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	0
textpic4: ;      123456789012345678901234567890123456789012345678
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`       i n t r o  c o d e d  b y  a d a m       `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`          f o n t  b y  f a d e  o n e          `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`      l o g o  p a i n t e d  b y  p i n k      `
	dc.b	`                                                `
	dc.b	`                                                `
	dc.b	`      released 9-22-91  by hippo                `
	dc.b	0 
	even		

**************************************************
colorcycle:

	lea	color2+2,a0
	lea	color5+2,a2
	lea	colorcycletab,a1
	move.w	colorcyclep,d0
	moveq	#46,d2
colorcycle_l1:
	move.w	(a1,d0.w),d1
	move.w	d1,(a0)
	move.w	d1,(a2)
	sub.l	#4,a2
	add.l	#4,a0
	add.w	#2,d0
	dbf	d2,colorcycle_l1
	cmp.w	#-1,flag7
	beq	colorcycle_j2
	add.w	#2,colorcyclep
	cmp.w	#52*2+[400-52],colorcyclep
	bne	colorcycle_j1
	move.w	#-1,flag7
colorcycle_j1:
	rts
colorcycle_j2:
	sub.w	#2,colorcyclep
	cmp.w	#400-52,colorcyclep
	bne	colorcycle_j1
	move.w	#0,flag7
	rts


flag7:	dc.w	0
colorcyclep:	dc.w	0
colorbegin:	dc.w	200*2
colorcycletab:	
	blk.w	200,0

	dc.w	$000,$000,$000,$001,$002,$003,$004,$005
	dc.w	$006,$007,$008,$009,$00a,$00b,$00c,$00d
	dc.w	$00e,$00f,$01f,$02f,$03f,$04f,$05f,$06f
	dc.w	$07f,$06f,$05f,$04f,$03f,$02f,$01f,$00f
	dc.w	$00e,$00d,$00c,$00b,$00a,$009,$008,$007
	dc.w	$006,$005,$004,$003,$002,$001,$000

	blk.w	47*2,0
**************************************************
movein:
	move.l	#$6e800,move
	move.w	#0,flag1
	move.w	#2520,addmove1
movein_l1:
	cmp.b	#$ff,$dff006
	bne	movein_l1
	bsr	movebtpl
	cmp.w	#-1,flag3
	bne	movein_j1
	rts	
movein_j1:
	btst	#6,$bfe001
	beq	movein_end
movein_l2:
	cmp.w	#-24,addmove1
	bne	movein_l1
	add.w	#4,pointer2
	rts
movein_end:
	move.w	#-1,flag2
	move.w	#00,colorcyclep
	move.w	#0,flag7
	bra	movein_l2

flag2:	dc.w	0
flag3:	dc.w	0

**************************************************
moveout:
	move.l	#$6ce00,move
	move.w	#0,flag1
	move.w	#$10f8,addmove1
moveout_l1:
	cmp.b	#$ff,$dff006
	bne	moveout_l1
	bsr	movebtpl
	cmp.w	#-1,flag3
	bne	moveout_j1
	rts	
moveout_j1:
	btst	#6,$bfe001
	beq	moveout_end
moveout_l2:
	cmp.w	#-96,addmove1
	bne	moveout_l1
	rts
moveout_end:
	move.w	#-1,flag2
	move.w	#00,colorcyclep
	move.w	#0,flag7
	bra	moveout_l2
	
**************************************************
wait:
	cmp.b	#$ff,$dff006
	bne	wait
	cmp.w	#-1,flag6
	bne	wait_l2
	move.l	#1499,wait_counter
wait_l2:
	add.l	#1,wait_counter
	btst	#6,$bfe001
	beq	wait_end
wait_l1:
	cmp.w	#-1,flag3
	beq	wait_j1
	cmp.l	#1500,wait_counter
	bne	wait
	move.l	#0,wait_counter
wait_j1:
	rts
wait_end:
	move.w	#-1,flag2
	move.w	#0,colorcyclep
	move.w	#0,flag7
	bra	wait_l1
wait_counter:	dc.l	0

**************************************************
starsstrt = $8d
starsrnds = $6e400
stars1mem = $6c000
stars2mem = $6c300
stars3mem = $6c600
anz1 = 56-1
anz2 = 56-1
anz3 = 56-1

					
* installieren der 1. stars *******************************

stars1inst:
	lea	stars1mem,a0
	lea	starsrnds,a1
	move.w	#starsstrt,d1
	moveq	#0,d3
	moveq	#1,d0
	moveq	#anz1,d2
stars1inst_l1:
	lea	star1,a2
	move.b	d1,(a0)+
	move.b	(a1)+,(a0)+
	add.b	d0,d1
	move.b	d1,(a0)+
	move.b	d3,(a0)+
	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
	add.b	#1,d1
	bcc.B	stars1inst_j1
	moveq	#6,d3	
stars1inst_j1:
	dbf	d2,stars1inst_l1	
	move.l	#0,(a0)+
	rts
	
* installieren der 2. stars *******************************

stars2inst:
	lea	stars2mem,a0
	move.w	#starsstrt,d1
	moveq	#0,d3
	moveq	#1,d0
	moveq	#anz2,d2
stars2inst_l1:
	lea	star2,a2
	move.b	d1,(a0)+
	move.b	(a1)+,(a0)+
	add.b	d0,d1
	move.b	d1,(a0)+
	move.b	d3,(a0)+
	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
	addq.b	#1,d1
	bcc.B	stars2inst_j1
	moveq	#6,d3	
stars2inst_j1:
	dbf	d2,stars2inst_l1	
	move.l	#0,(a0)+
	rts

* installieren der 3. stars *******************************

stars3inst:
	lea	stars3mem,a0
	move.w	#starsstrt,d1
	moveq	#0,d3
	moveq	#1,d0
	moveq	#anz3,d2
stars3inst_l1:
	lea	star3,a2
	move.b	d1,(a0)+
	move.b	(a1)+,(a0)+
	add.b	d0,d1
	move.b	d1,(a0)+
	move.b	d3,(a0)+
	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
;	move.l	(a2)+,(a0)+
	addq.b	#1,d1
	bcc.B	stars3inst_j1
	moveq	#6,d3	
stars3inst_j1:
	dbf	d2,stars3inst_l1	
	move.l	#0,(a0)+
	rts

* bewegen der 1 stars *************************************

stars1move:
	lea	stars1mem+1,a0
	moveq	#anz1,d0
stars1move_l1:
	addq.b	#2,(a0)
	add.l	#8,a0
	dbf	d0,stars1move_l1
	rts

* bewegen der 2 stars *************************************

stars2move:
	lea	stars2mem+1,a0
	moveq	#anz2,d0
stars2move_l1:
	addq.b	#1,(a0)
	add.l	#8,a0
	dbf	d0,stars2move_l1
	rts

* bewegen der 3 stars *************************************

stars3move:
	lea	stars3mem+1,a0
	moveq	#anz3,d0
stars3move_l1:
	bchg	#0,2(a0)
	beq.B	stars3move_j1
	addq.b	#1,(a0)
stars3move_j1:
	add.l	#8,a0
	dbf	d0,stars3move_l1
	rts
		
* 1 Star **************************************************
star1:
	dc.w	%0000000000000001,%0000000000000000

* 2 Star **************************************************

star2:
	dc.w	%0000000000000000,%0000000000000001

* 3 Star **************************************************

star3:
	dc.w	%0000000000000001,%0000000000000000

**************************************************
wmouse:
	btst	#6,$bfe001
	bne	wmouse
	rts
**************************************************

* move bitplanes ******************************************

movebtpl:
	cmp.w	#-1,flag1
	beq.w	movebtpl_j1
	sub.l	d0,d0
m1:	move.w	addmove1,d0
	move.l	move,a0
	move.w	(a0,d0.w),d1
	move.w	2(a0,d0.w),d3
	move.w	d1,d0

	and.w	#$f,d1
	move.w	con1+2,d2
	and.w	#$f0,d2
	add.w	d2,d1
	move.w	d1,con1+2
	
	move.l	#screens+32-[144*20],d1
	mulu	#48*3,d3
	lsr.w	#4,d0
	lsl.w	#1,d0
	sub.l	d0,d1
	add.l	d3,d1
	move.w	d1,bp1+2
	swap	d1
	move.w	d1,bp1-2


m2:	move.w	addmove1,d0
	add.w	#12,d0
	move.l	move,a0
	move.w	(a0,d0.w),d1
	move.w	2(a0,d0.w),d3
	move.w	d1,d0

	and.w	#$f,d1
	move.w	con1+2,d2
	and.w	#$f,d2
	lsl.w	#4,d1
	add.w	d2,d1
	move.w	d1,con1+2
	
	move.l	#screens+32-[144*20],d1
	mulu	#48*3,d3
	lsr.w	#4,d0
	lsl.w	#1,d0
	sub.l	d0,d1
	add.l	d3,d1
	move.w	d1,bp2+2
	swap	d1
	move.w	d1,bp2-2
	
me:	sub.w	#24,addmove1	
	cmp.w	#-96,addmove1
	bne.B	movebtpl_j1
	move.w	#$f0,con1+2
;	sub.w	#144,bp2+2
	move.w	#-1,flag1
movebtpl_j1:
	rts


addmove1:	dc.w	2520
flag1:		dc.w	0
move:	dc.l	0

	
anz=9*31+1
mgpg:
	move.w	#0,pointer1
	move.w	#0,xpos
	move.w	#0,ypos
mgpg_l1:
	bsr.w	take
	bsr.B	find
	bsr.w	xyct
	bsr.w	draw
	lea	pointer1(pc),a2
	cmp.w	#0,(a2)
	bne.S	mgpg_l1
mgpg_l2:
	move.w	#0,flag6
	rts
clr:	lea	screens-$8000,a0
	lea	screens-$8000+$26000,a1
clr_l1:
	move.l	#0,(a0)+
	cmp.l	a0,a1
	bne.S	clr_l1
	rts
find:
	moveq	#0,d1
	lea	mask(pc),a0
find_l1:
	cmp.w	#255,d1
	beq.S	find_j1
	add.w	#1,d1
	move.b	(a0)+,d2
	cmp.b	d0,d2
	bne.S	find_l1
find_j1:
	lea	mask(pc),a2
	sub.l	a2,a0
	sub.l	#1,a0
	lea	$6e000,a1
	cmp.w	#40,a0
	bcs.S	find_l2
	add.l	#6*40,a1
find_l2:	
	add.l	a1,a0
	rts
mask:	dc.b	` !"#-  ^()  , ./0123456789: <*>? abcdefg`
	dc.b	`hijklmnopqrstuvwxyz`
	even
xpos:	dc.w	0
ypos:	dc.w	0
draw:
	move.w	xpos(pc),d0
	move.w	ypos(pc),d1
	and.l	#$ffff,d1
	mulu	#9*48*3,d1
	lea	screens+$8000+48,a1
	add.w	d0,a1
	add.l	d1,a1
	move.b	000(a0),000(a1)
	move.b	040(a0),048*3(a1)
	move.b	080(a0),096*3(a1)
	move.b	120(a0),144*3(a1)
	move.b	160(a0),192*3(a1)
	move.b	200(a0),240*3(a1)
	move.b	240(a0),288*3(a1)
;	move.b	280(a0),336*3(a1)
	lea	xpos(pc),a0
	add.w	#1,(a0)
	rts
xyct:
	lea	ypos(pc),a2
	lea	xpos(pc),a3
	move.w	(a3),d0
	cmp.w	#48,d0
	bne.S	xyct_l1
	move.w	#0,(a3)
	add.w	#1,(a2)
xyct_l1:
	rts
take:
	lea	textpicslake(pc),a0
	move.w	pointer2,d0
	move.l	(a0,d0.w),a0
	cmp.l	#0,a0
	bne	take_l3
	move.w	#0,pointer2
	move.l	textpicslake,a0
take_l3:
	cmp.w	#-1,flag6
	bne	take_l2
	lea	$6f200,a0
take_l2:
	move.w	pointer1(pc),d0
	lea	pointer1(pc),a1
	add.w	#1,(a1)
	move.b	(a0,d0.w),d0
	and.l	#$ff,d0
	cmp.b	#$00,d0
	bne.S	take_l1
	move.b	#$20,d0
	move.w	#0,(a1)
take_l1:
	rts
pointer1:	dc.w	0
pointer2:	dc.w	0

****************
	even
svgx:	
	lea	gfxname(pc),a1
	moveq	#0,d0
	move.l	4,a6
	jsr	-552(a6)
	move.l	d0,a0
	add.l	#38,a0
	lea	oldcop(pc),a1
	move.l	(a0),(a1)
	rts

oldcop:	dc.l	0
gfxname:	dc.b	`graphics.library`,0
	even

**************************************************
part1:
	move.l	#120,d0
part1_l1:
	cmp.b	#$ff,$dff006
	bne	part1_l1
	dbf	d0,part1_l1
	moveq	#0,d4
part1_l2:
	cmp.b	#$ff,$dff006
	bne.B	part1_l2
	lea	part1_colors,a0
	bsr.w	blend
	move.l	#75000000,d0
part1_l3:
	dbf	d0,part1_l3
	add.w	#1,d4
	cmp.w	#40,d4
	bne.B	part1_l2
	rts
blend:
	lea	color1+2,a1
	moveq	#15,d7
nextbit:
	move.w	(a1),d0
	move.w	(a0)+,d1
	cmp.w	d0,d1
	beq.B	nextcolor
	move.w	d0,d2
	move.w	d1,d3
	and.w	#$f,d0
	and.w	#$f,d1
	cmp.w	d1,d0
	beq.B	no_f
	bcc.B	nl_f
	add.w	#$1,(a1)
	bra.B	no_f
nl_f:	sub.w	#$1,(a1)
no_f:	move.w	d2,d0
	move.w	d3,d1
	and.w	#$f0,d0
	and.w	#$f0,d1
	cmp.w	d1,d0
	beq.B	no_f0
	bcc.B	nl_f0
	add.w	#$10,(a1)
	bra.B	no_f0
nl_f0:	sub.w	#$10,(a1)
no_f0:	move.w	d2,d0
	move.w	d3,d1
	and.w	#$f00,d0
	and.w	#$f00,d1
	cmp.w	d1,d0
	beq.B	no_f00
	bcc.B	nl_f00
	add.w	#$100,(a1)
	bra.B	no_f00
nl_f00:	sub.w	#$100,(a1)
no_f00:
nextcolor:
	add.l	#4,a1
	dbra	d7,nextbit
	rts
part1_colors:
	DC.B	$00,$00,$0E,$EE,$0F,$FF,$0D,$DE
	DC.B	$0C,$CD,$0B,$BC,$0A,$AB,$09,$9A
	DC.B	$08,$99,$07,$88,$06,$77,$05,$66
	DC.B	$04,$55,$03,$44,$02,$33,$01,$22
**************************************************
part2:
	move.l	#200,d0
part2_l1:
	cmp.b	#$ff,$dff006
	bne	part2_l1
	dbf	d0,part2_l1
	moveq	#0,d4
part2_l2:
	cmp.b	#$ff,$dff006
	bne.B	part2_l2
	lea	part2_colors,a0
	bsr.w	blend2
	move.l	#75000000,d0
part2_l3:
	dbf	d0,part2_l3
	add.w	#1,d4
	cmp.w	#40,d4
	bne.B	part2_l2
	rts
blend2:
	lea	color2+2,a1
	moveq	#46,d7
	bsr	nextbit

	lea	color3+2,a1
	moveq	#46,d7
	lea	part2_colors,a0
	bsr	nextbit
	
	lea	color4+2,a1
	moveq	#8,d7
	lea	part2_colors2,a0
	bra	nextbit
	
part2_colors:
	dc.w	$000,$000,$000,$001,$002,$003,$004,$005
	dc.w	$006,$007,$008,$009,$00a,$00b,$00c,$00d
	dc.w	$00e,$00f,$01f,$02f,$03f,$04f,$05f,$06f
	dc.w	$07f,$06f,$05f,$04f,$03f,$02f,$01f,$00f
	dc.w	$00e,$00d,$00c,$00b,$00a,$009,$008,$007
	dc.w	$006,$005,$004,$003,$002,$001,$000

part2_colors2:
	dc.w	$000,$000,$666,$555,$000,$000,$444,$000,$000
**************************************************
part3:
part3_l1:
	moveq	#0,d4
part3_l2:
	lea	part4_colors,a0
	sub.w	#1,count1
part3_l3:
	cmp.w	#0,count1
	bne	part3_end
	move.w	#2,count1
blend3:
	lea	color1+2,a1
	moveq	#15,d7
	bra	nextbit
	
count1:	dc.w	6

part3_end:
	rts

**************************************************
part4:
part4_l1:
	moveq	#0,d4
part4_l2:
	lea	part4_colors,a0
	sub.w	#1,count2
part4_l3:
	cmp.w	#0,count2
	bne	part4_end
	move.w	#2,count2
blend4:
	lea	color2+2,a1
	moveq	#46,d7
	bsr	nextbit

	lea	color3+2,a1
	moveq	#46,d7
	lea	part4_colors,a0
	bsr	nextbit
	
	lea	color4+2,a1
	moveq	#17,d7
	lea	part4_colors,a0
	bra	nextbit
	
part4_colors:
	blk.w	50,0

count2:	dc.w	6
count3:	dc.w	60
flag6:	dc.w	0
part4_end:
	rts
***********************************************
part5:
	andi.b	#$bf,$bfee01
	move.b	$bfec01,d0
	ror.b	#1,d0
	not.b	d0
	lea	part5_dats,a0
	move.w	part5p,d1
	move.b	(a0,d1.w),d2
	cmp.b	#0,d2
	beq	part5_j1
	cmp.b	d2,d0
	bne	part5_end
	add.w	#1,part5p
	rts
part5_j1:
	move.w	#-1,flag6	
	move.w	#0,part5p
	sub.w	#4,pointer2
part5_end:
	rts	
part5_dats:
	dc.b	$33,$18,$22,$17,$36,$24,$21,0
part5p:	dc.w	0	
instmusic:
	move.l	$6c,oldirq+2
	move.l	#newirq,$6c
	bsr	mt_init
	rts
newirq:
	movem.l	d0-d7/a0-a6,-(sp)
	bsr	mt_music
	bsr	stars1move
	bsr	stars2move
	bsr	stars3move
	bsr	colorcycle
	bsr	part5
	cmp.w	#-1,flag2
	bne	newirq_l1
	bsr	part3
	bsr	part4
	sub.w	#1,count3
	bne	newirq_l1
	move.w	#-1,flag3
newirq_l1:
	cmp.w	#-1,flag4
	beq	sptimeout
	move.w	#100,count4
	sub.w	#1,count5
	bne	irqend
	move.w	#3,count5
	bsr	spinst
	bra	irqend
sptimeout:	
	sub.w	#1,count4
	bne	irqend
	move.w	#0,flag4	
irqend:
	movem.l	(sp)+,d0-d7/a0-a6
oldirq:
	jmp	$000000
	
reinstmusic:
	bsr	mt_end
	move.l	oldirq+2,$6c
	rts

count4:	dc.w	0
count5:	dc.w	100
;ญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญ
;ญ     NoisetrackerV2.0 FASTreplay      ญ
;ญ  Uses lev6irq - takes 8 rasterlines  ญ
;ญ Do not disable Master irq in $dff09a ญ
;ญ Used registers: d0-d3/a0-a7|	=INTENA ญ
;ญ  Mahoney & Kaktus - (C) E.A.S. 1990  ญ
;ญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญญ

mt_data=$70000

mt_init:lea	mt_data,a0
	lea	mt_mulu(pc),a1
	move.l	#mt_data+$c,d0
	moveq	#$1f,d1
	moveq	#$1e,d3
mt_lop4:move.l	d0,(a1)+
	add.l	d3,d0
	dbf	d1,mt_lop4

	lea	$3b8(a0),a1
	moveq	#$7f,d0
	moveq	#0,d1
	moveq	#0,d2
mt_lop2:move.b	(a1)+,d1
	cmp.b	d2,d1
	ble.s	mt_lop
	move.l	d1,d2
mt_lop:	dbf	d0,mt_lop2

	addq.w	#1,d2

	asl.l	#8,d2
	asl.l	#2,d2
	lea	4(a1,d2.l),a2
	lea	mt_samplestarts(pc),a1
	add.w	#$2a,a0
	moveq	#$1e,d0
mt_lop3:clr.l	(a2)
	move.l	a2,(a1)+
	moveq	#0,d1
	move.b	d1,2(a0)
	move.w	(a0),d1
	asl.l	#1,d1
	add.l	d1,a2
	add.l	d3,a0
	dbf	d0,mt_lop3

	move.l	$78.w,mt_oldirq-mt_samplestarts-$7c(a1)
	move.b	#6,mt_speed-mt_samplestarts-$7c(a1)
	moveq	#0,d0
	lea	$dff000,a0
	move.w	d0,$a8(a0)
	move.w	d0,$b8(a0)
	move.w	d0,$c8(a0)
	move.w	d0,$d8(a0)
	move.b	d0,mt_songpos-mt_samplestarts-$7c(a1)
	move.b	d0,mt_counter-mt_samplestarts-$7c(a1)
	move.w	d0,mt_pattpos-mt_samplestarts-$7c(a1)
	rts


mt_end:	moveq	#0,d0
	lea	$dff000,a0
	move.w	d0,$a8(a0)
	move.w	d0,$b8(a0)
	move.w	d0,$c8(a0)
	move.w	d0,$d8(a0)
	move.w	#$f,$dff096
	rts


mt_music:
	lea	mt_data,a0
	lea	mt_voice1(pc),a4
	addq.b	#1,mt_counter-mt_voice1(a4)
	move.b	mt_counter(pc),d0
	cmp.b	mt_speed(pc),d0
	blt.w	mt_nonew
	moveq	#0,d0
	move.b	d0,mt_counter-mt_voice1(a4)
	move.w	d0,mt_dmacon-mt_voice1(a4)
	lea	mt_data,a0
	lea	$3b8(a0),a2
	lea	$43c(a0),a0

	moveq	#0,d1
	move.b	mt_songpos(pc),d0
	move.b	(a2,d0.w),d1
	lsl.w	#8,d1
	lsl.w	#2,d1
	add.w	mt_pattpos(pc),d1

	lea	$dff0a0,a5
	lea	mt_samplestarts-4(pc),a1
	lea	mt_playvoice(pc),a6
	jsr	(a6)
	addq.l	#4,d1
	lea	$dff0b0,a5
	lea	mt_voice2(pc),a4
	jsr	(a6)
	addq.l	#4,d1
	lea	$dff0c0,a5
	lea	mt_voice3(pc),a4
	jsr	(a6)
	addq.l	#4,d1
	lea	$dff0d0,a5
	lea	mt_voice4(pc),a4
	jsr	(a6)

	move.w	mt_dmacon(pc),d0
	beq.s	mt_nodma

	lea	$bfd000,a3
	move.b	#$7f,$d00(a3)
	move.w	#$2000,$dff09c
	move.w	#$a000,$dff09a
	move.l	#mt_irq1,$78.w
	moveq	#0,d0
	move.b	d0,$e00(a3)
	move.b	#$a8,$400(a3)
	move.b	d0,$500(a3)
	or.w	#$8000,mt_dmacon-mt_voice4(a4)
	move.b	#$11,$e00(a3)
	move.b	#$81,$d00(a3)

mt_nodma:
	add.w	#$10,mt_pattpos-mt_voice4(a4)
	cmp.w	#$400,mt_pattpos-mt_voice4(a4)
	bne.s	mt_exit
mt_next:clr.w	mt_pattpos-mt_voice4(a4)
	clr.b	mt_break-mt_voice4(a4)
	addq.b	#1,mt_songpos-mt_voice4(a4)
	and.b	#$7f,mt_songpos-mt_voice4(a4)
	move.b	-2(a2),d0
	cmp.b	mt_songpos(pc),d0
	bne.s	mt_exit
	move.b	-1(a2),mt_songpos-mt_voice4(a4)
mt_exit:tst.b	mt_break-mt_voice4(a4)
	bne.s	mt_next
	rts

mt_nonew:
	lea	$dff0a0,a5
	lea	mt_com(pc),a6
	jsr	(a6)
	lea	mt_voice2(pc),a4
	lea	$dff0b0,a5
	jsr	(a6)
	lea	mt_voice3(pc),a4
	lea	$dff0c0,a5
	jsr	(a6)
	lea	mt_voice4(pc),a4
	lea	$dff0d0,a5
	jsr	(a6)
	tst.b	mt_break-mt_voice4(a4)
	bne.s	mt_next
	rts

mt_irq1:tst.b	$bfdd00
	move.w	mt_dmacon(pc),$dff096
	move.l	#mt_irq2,$78.w
	move.w	#$2000,$dff09c
	rte

mt_irq2:tst.b	$bfdd00
	movem.l	a3/a4,-(a7)
	lea	mt_voice1(pc),a4
	lea	$dff000,a3
	move.l	$a(a4),$a0(a3)
	move.w	$e(a4),$a4(a3)
	move.l	$a+$1c(a4),$b0(a3)
	move.w	$e+$1c(a4),$b4(a3)
	move.l	$a+$38(a4),$c0(a3)
	move.w	$e+$38(a4),$c4(a3)
	move.l	$a+$54(a4),$d0(a3)
	move.w	$e+$54(a4),$d4(a3)
	movem.l	(a7)+,a3/a4
	move.b	#0,$bfde00
	move.b	#$7f,$bfdd00
	move.l	mt_oldirq(pc),$78.w
	move.w	#$2000,$dff09c
	move.w	#$2000,$dff09a
	rte

mt_playvoice:
	move.l	(a0,d1.l),(a4)
	moveq	#0,d2
	move.b	2(a4),d2
	lsr.b	#4,d2
	move.b	(a4),d0
	and.b	#$f0,d0
	or.b	d0,d2
	beq.w	mt_oldinstr

	asl.w	#2,d2
	move.l	(a1,d2.l),4(a4)
	move.l	mt_mulu(pc,d2.w),a3
	move.w	(a3)+,8(a4)
	move.w	(a3)+,$12(a4)
	move.l	4(a4),d0
	moveq	#0,d3
	move.w	(a3)+,d3
	beq.w	mt_noloop
	asl.w	#1,d3
	add.l	d3,d0
	move.l	d0,$a(a4)
	move.w	-2(a3),d0
	add.w	(a3),d0
	move.w	d0,8(a4)
	bra.w	mt_hejaSverige

mt_mulu:blk.l	$20,0

mt_noloop:
	add.l	d3,d0
	move.l	d0,$a(a4)
mt_hejaSverige:
	move.w	(a3),$e(a4)
	move.w	$12(a4),8(a5)

mt_oldinstr:
	move.w	(a4),d3
	and.w	#$fff,d3
	beq.w	mt_com2
	tst.w	8(a4)
	beq.s	mt_stopsound
	move.b	2(a4),d0
	and.b	#$f,d0
	cmp.b	#5,d0
	beq.s	mt_setport
	cmp.b	#3,d0
	beq.s	mt_setport

	move.w	d3,$10(a4)
	move.w	$1a(a4),$dff096
	clr.b	$19(a4)

	move.l	4(a4),(a5)
	move.w	8(a4),4(a5)
	move.w	$10(a4),6(a5)

	move.w	$1a(a4),d0
	or.w	d0,mt_dmacon-mt_playvoice(a6)
	bra.w	mt_com2

mt_stopsound:
	move.w	$1a(a4),$dff096
	bra.w	mt_com2

mt_setport:
	move.w	(a4),d2
	and.w	#$fff,d2
	move.w	d2,$16(a4)
	move.w	$10(a4),d0
	clr.b	$14(a4)
	cmp.w	d0,d2
	beq.s	mt_clrport
	bge.w	mt_com2
	move.b	#1,$14(a4)
	bra.w	mt_com2
mt_clrport:
	clr.w	$16(a4)
	rts

mt_port:moveq	#0,d0
	move.b	3(a4),d2
	beq.s	mt_port2
	move.b	d2,$15(a4)
	move.b	d0,3(a4)
mt_port2:
	tst.w	$16(a4)
	beq.s	mt_rts
	move.b	$15(a4),d0
	tst.b	$14(a4)
	bne.s	mt_sub
	add.w	d0,$10(a4)
	move.w	$16(a4),d0
	cmp.w	$10(a4),d0
	bgt.s	mt_portok
	move.w	$16(a4),$10(a4)
	clr.w	$16(a4)
mt_portok:
	move.w	$10(a4),6(a5)
mt_rts:	rts

mt_sub:	sub.w	d0,$10(a4)
	move.w	$16(a4),d0
	cmp.w	$10(a4),d0
	blt.s	mt_portok
	move.w	$16(a4),$10(a4)
	clr.w	$16(a4)
	move.w	$10(a4),6(a5)
	rts

mt_sin:
	dc.b $00,$18,$31,$4a,$61,$78,$8d,$a1,$b4,$c5,$d4,$e0,$eb,$f4,$fa,$fd
	dc.b $ff,$fd,$fa,$f4,$eb,$e0,$d4,$c5,$b4,$a1,$8d,$78,$61,$4a,$31,$18

mt_vib:	move.b	$3(a4),d0
	beq.s	mt_vib2
	move.b	d0,$18(a4)

mt_vib2:move.b	$19(a4),d0
	lsr.w	#2,d0
	and.w	#$1f,d0
	moveq	#0,d2
	move.b	mt_sin(pc,d0.w),d2
	move.b	$18(a4),d0
	and.w	#$f,d0
	mulu	d0,d2
	lsr.w	#7,d2
	move.w	$10(a4),d0
	tst.b	$19(a4)
	bmi.s	mt_vibsub
	add.w	d2,d0
	bra.s	mt_vib3
mt_vibsub:
	sub.w	d2,d0
mt_vib3:move.w	d0,6(a5)
	move.b	$18(a4),d0
	lsr.w	#2,d0
	and.w	#$3c,d0
	add.b	d0,$19(a4)
	rts


mt_arplist:
	dc.b 0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1

mt_arp:	moveq	#0,d0
	move.b	mt_counter(pc),d0
	move.b	mt_arplist(pc,d0.w),d0
	beq.s	mt_normper
	cmp.b	#2,d0
	beq.s	mt_arp2
mt_arp1:move.b	3(a4),d0
	lsr.w	#4,d0
	bra.s	mt_arpdo
mt_arp2:move.b	3(a4),d0
	and.w	#$f,d0
mt_arpdo:
	asl.w	#1,d0
	move.w	$10(a4),d1
	lea	mt_periods(pc),a0
mt_arp3:cmp.w	(a0)+,d1
	blt.s	mt_arp3
	move.w	-2(a0,d0.w),6(a5)
	rts

mt_normper:
	move.w	$10(a4),6(a5)
	rts

mt_com:	move.w	2(a4),d0
	and.w	#$fff,d0
	beq.s	mt_normper
	move.b	2(a4),d0
	and.b	#$f,d0
	beq.s	mt_arp
	cmp.b	#6,d0
	beq.s	mt_volvib
	cmp.b	#4,d0
	beq.w	mt_vib
	cmp.b	#5,d0
	beq.s	mt_volport
	cmp.b	#3,d0
	beq.w	mt_port
	cmp.b	#1,d0
	beq.s	mt_portup
	cmp.b	#2,d0
	beq.s	mt_portdown
	move.w	$10(a4),6(a5)
	cmp.b	#$a,d0
	beq.s	mt_volslide
	rts

mt_portup:
	moveq	#0,d0
	move.b	3(a4),d0
	sub.w	d0,$10(a4)
	move.w	$10(a4),d0
	cmp.w	#$71,d0
	bpl.s	mt_portup2
	move.w	#$71,$10(a4)
mt_portup2:
	move.w	$10(a4),6(a5)
	rts

mt_portdown:
	moveq	#0,d0
	move.b	3(a4),d0
	add.w	d0,$10(a4)
	move.w	$10(a4),d0
	cmp.w	#$358,d0
	bmi.s	mt_portdown2
	move.w	#$358,$10(a4)
mt_portdown2:
	move.w	$10(a4),6(a5)
	rts

mt_volvib:
	 bsr.w	mt_vib2
	 bra.s	mt_volslide
mt_volport:
	 bsr.w	mt_port2

mt_volslide:
	moveq	#0,d0
	move.b	3(a4),d0
	lsr.b	#4,d0
	beq.s	mt_vol3
	add.b	d0,$13(a4)
	cmp.b	#$40,$13(a4)
	bmi.s	mt_vol2
	move.b	#$40,$13(a4)
mt_vol2:move.w	$12(a4),8(a5)
	rts

mt_vol3:move.b	3(a4),d0
	and.b	#$f,d0
	sub.b	d0,$13(a4)
	bpl.s	mt_vol4
	clr.b	$13(a4)
mt_vol4:move.w	$12(a4),8(a5)
	rts

mt_com2:move.b	2(a4),d0
	and.b	#$f,d0
	beq.w	mt_rts
	cmp.b	#$e,d0
	beq.s	mt_filter
	cmp.b	#$d,d0
	beq.s	mt_pattbreak
	cmp.b	#$b,d0
	beq.s	mt_songjmp
	cmp.b	#$c,d0
	beq.s	mt_setvol
	cmp.b	#$f,d0
	beq.s	mt_setspeed
	rts

mt_filter:
	move.b	3(a4),d0
	and.b	#1,d0
	asl.b	#1,d0
	and.b	#$fd,$bfe001
	or.b	d0,$bfe001
	rts

mt_pattbreak:
	move.b	#1,mt_break-mt_playvoice(a6)
	rts

mt_songjmp:
	move.b	#1,mt_break-mt_playvoice(a6)
	move.b	3(a4),d0
	subq.b	#1,d0
	move.b	d0,mt_songpos-mt_playvoice(a6)
	rts

mt_setvol:
	cmp.b	#$40,3(a4)
	bls.s	mt_sv2
	move.b	#$40,3(a4)
mt_sv2:	moveq	#0,d0
	move.b	3(a4),d0
	move.b	d0,$13(a4)
	move.w	d0,8(a5)
	rts

mt_setspeed:
	moveq	#0,d0
	move.b	3(a4),d0
	cmp.b	#$1f,d0
	bls.s	mt_sp2
	moveq	#$1f,d0
mt_sp2:	tst.w	d0
	bne.s	mt_sp3
	moveq	#1,d0
mt_sp3:	move.b	d0,mt_speed-mt_playvoice(a6)
	rts

mt_periods:
	dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a,$021a,$01fc,$01e0
	dc.w $01c5,$01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d,$010d,$00fe
	dc.w $00f0,$00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f,$0087
	dc.w $007f,$0078,$0071,$0000

mt_speed:	dc.b	6
mt_counter:	dc.b	0
mt_pattpos:	dc.w	0
mt_songpos:	dc.b	0
mt_break:	dc.b	0
mt_dmacon:	dc.w	0
mt_samplestarts:blk.l	$1f,0
mt_voice1:	blk.w	13,0
		dc.w	1
mt_voice2:	blk.w	13,0
		dc.w	2
mt_voice3:	blk.w	13,0
		dc.w	4
mt_voice4:	blk.w	13,0
		dc.w	8
mt_oldirq:	dc.l	0

**************************************************
spinst:
	lea	sptab,a0
	move.w	sptabp,d0
	move.l	(a0,d0.w),d0
	add.w	#4,sptabp
	cmp.l	#0,d0
	beq	spinst_end
inst_it:
	move.w	d0,sp6l+2
	swap	d0
	move.w	d0,sp6h+2
	swap	d0
	add.l	#16*2*2+4,d0
	move.w	d0,sp7l+2
	swap	d0
	move.w	d0,sp7h+2
	rts
spinst_end:
	move.w	#0,sptabp
	move.w	#-1,flag4
	lea	sppos,a0
	move.w	spposp,d0
	move.l	(a0,d0.w),d0
	cmp.l	#0,d0
	bne	nospposreset
	move.w	#0,spposp
	move.l	sppos,d0
nospposreset:	
	moveq	#5,d1
	lea	star1_sprite6,a0
nosppos_l1:
	move.l	d0,(a0)
	add.l	#16*2*2+4,a0
	or.b	#$80,d0
	move.l	d0,(a0)
	and.b	#$7f,d0
	add.l	#16*2*2+4,a0
	dbf	d1,nosppos_l1
	add.w	#4,spposp
	rts
flag4:	dc.w	0
sptab:
	dc.l	star1_sprite6,star2_sprite6,star3_sprite6
	dc.l	star4_sprite6,star5_sprite6,star6_sprite6
	dc.l	star6_sprite6,star5_sprite6,star4_sprite6
	dc.l	star3_sprite6,star2_sprite6,star1_sprite6
	dc.l	star0_sprite6,0
sptabp:	dc.w	0
sppos:
	dc.l	$20623000  ;t
	dc.l	$49c55901  ;y
	dc.l	$6c847c01  ;p
	dc.l	$49c55901  ;y
	dc.l	$49c55901  ;y
	dc.l	$20623000  ;t
	dc.l	$47945700  ;e
	dc.l	$47945700  ;e
	dc.l	$20623000  ;t
	dc.l	$6c847c01  ;p
	dc.l	$49c55901  ;y
	dc.l	$47945700  ;e
	dc.l	$6c847c01  ;p
	dc.l	$3d634d00  ;c
	dc.l	$3d634d00  ;c
	dc.l	$3d634d00  ;c
	dc.l	$6c847c01  ;p
	dc.l	$47945700  ;e
	dc.l	$49c55901  ;y
	dc.l	0
spposp:	dc.w	0

star1_sprite6: dc.w	$3d63,$4d00
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0080,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
star1_sprite7: dc.w	$3d63,$4d80
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0080,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
star2_sprite6: dc.w	$3d63,$4d00
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0080,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
star2_sprite7: dc.w	$3d63,$4d80
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0080,$0080
 dc.w	$0140,$01c0,$0080,$0080,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
star3_sprite6: dc.w	$3d63,$4d00
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0080,$0080
 dc.w	$0140,$01c0,$0080,$0080,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
star3_sprite7: dc.w	$3d63,$4d80
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0080,$0080,$0000,$0080
 dc.w	$0220,$03e0,$0000,$0080,$0080,$0080,$0000,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
star4_sprite6: dc.w	$3d63,$4d00
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0080,$0000,$0000,$0000,$0080,$0080
 dc.w	$0550,$01c0,$0080,$0080,$0000,$0000,$0080,$0000
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
star4_sprite7: dc.w	$3d63,$4d80
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0000,$0080,$0080,$0080,$0080,$0000,$0080
 dc.w	$0630,$07f0,$0000,$0080,$0080,$0080,$0080,$0080
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
star5_sprite6: dc.w	$3d63,$4d80
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0000,$0080,$0080,$0000,$0000,$0000,$0080,$0080
 dc.w	$0550,$09c8,$0080,$0080,$0000,$0000,$0080,$0000
 dc.w	$0000,$0080,$0000,$0000,$0000,$0000,$0000,$0000
star5_sprite7: dc.w	$3d63,$4d80
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
 dc.w	$0080,$0080,$0080,$0080,$0080,$0080,$0000,$0080
 dc.w	$0e38,$0ff8,$0000,$0080,$0080,$0080,$0080,$0080
 dc.w	$0080,$0080,$0000,$0000,$0000,$0000,$0000,$0000
star6_sprite6: dc.w	$3d63,$4d00
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0080,$0080
 dc.w	$0000,$0080,$0080,$0000,$0000,$0000,$0080,$0080
 dc.w	$1554,$19cc,$0080,$0080,$0000,$0000,$0080,$0000
 dc.w	$0000,$0080,$0080,$0080,$0000,$0000,$0000,$0000
star6_sprite7: dc.w	$3d63,$4d80
 dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0080,$0080
 dc.w	$0080,$0080,$0080,$0080,$0080,$0080,$0000,$0080
 dc.w	$1e3c,$1ffc,$0000,$0080,$0080,$0080,$0080,$0080
 dc.w	$0080,$0080,$0080,$0080,$0000,$0000,$0000,$0000
star0_sprite6: dc.w	$0050,$0f00
 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,$0080,$0000,$0000,$0000,$0000,$0000,$0000
star0_sprite7: dc.w	$0050,$0f80
 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

		
**************************************************
instcop:
	move.l	#cooperlist,$dff080
	rts
cooperlist:
	dc.w	$104,$0ff
	dc.w	$120,$6
	dc.w	$122,$c000
	dc.w	$124,$6
	dc.w	$126,$c300
	dc.w	$128,$6
	dc.w	$12a,$c600
	dc.w	$12c,$6
	dc.w	$12e,$fffc
	dc.w	$130,$6
	dc.w	$132,$fffc
	dc.w	$134,$6
	dc.w	$136,$fffc
sp6h:	dc.w	$138,$6
sp6l	dc.w	$13a,$fffc
sp7h:	dc.w	$13c,$6
sp7l:	dc.w	$13e,$fffc
	dc.w	$108,0
	dc.w	$10a,0
	dc.w	$102,0
	dc.w	$008e,$1d71
	dc.w	$0090,$ffc9
	dc.w	$0092,$38
	dc.w	$0094,$d0
	dc.w	$e0,$7
	dc.w	$e2,$b000
	dc.w	$e4,$7
	dc.w	$e6,$b000+[106*40]
	dc.w	$e8,$7
	dc.w	$ea,$b000+[106*40*2]
	dc.w	$ec,$7
	dc.w	$ee,$b000+[106*40*3]
	dc.w	$100,$4000

color1:	dc.w	$180,$000
	dc.w	$182,$000
	dc.w	$184,$000
	dc.w	$186,$000
	dc.w	$188,$000
	dc.w	$18a,$000
	dc.w	$18c,$000
	dc.w	$18e,$000
	dc.w	$190,$000
	dc.w	$192,$000
	dc.w	$194,$000
	dc.w	$196,$000
	dc.w	$198,$000
	dc.w	$19a,$000
	dc.w	$19c,$000
	dc.w	$19e,$000

	dc.w	$8709,$fffe
	dc.w	$100,0
	dc.w	$108,96
	dc.w	$10a,96
	dc.w	$0092,$20
	dc.w	$0094,$d8
	dc.w	$8809,$fffe
color4:	dc.w	$180,$000
	dc.w	$1a0,$0
	dc.w	$1a2,$0
	dc.w	$1a4,$0
	dc.w	$1a6,$0
	dc.w	$1a8,$0
	dc.w	$1aa,$0
	dc.w	$1ac,$0
	dc.w	$1ae,$0
	dc.w	$182,$aaa
	dc.w	$184,$666
	dc.w	$186,$aaa

	dc.w	$1be,$444
	dc.w	$1bc,$666
	dc.w	$1ba,$888
	dc.w	$1b8,$aaa
	dc.w	$1b6,$ccc
	dc.w	$1b4,$eee
	
	dc.w	$104,$000
	dc.w	$892d,$fffe
color2:	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$8a11,$fffe
con1:	dc.w	$102,0
	dc.w	$e0,$4
bp1:	dc.w	$e2,$8000
	dc.w	$e4,$4
bp2:	dc.w	$e6,$8000
	dc.w	$100,$2000
	dc.w	$100,$2000
	dc.w	$180,$000
	dc.w	$8b09,$fffe
	dc.w	$fe2b,$fffe
	dc.w	$100,0
color3:	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
	dc.w	$180,$000
	dc.w	$180,$0
color5:	dc.w	$180,$000
	dc.w	$ff09,$fffe
	dc.w	$108,0
	dc.w	$10a,0
	dc.w	$102,0
	dc.w	$180,0
	dc.w	$ffff,$fffe
		
