numsprites:	equ	30

*	sound stuff	*
soundstarth:	equ	2
soundstartm:	equ	4
soundstartl:	equ	6
soundendh:	equ	$e
soundendm:	equ	$10
soundendl:	equ	$12
soundmode:	equ	$20
sounddma:	equ	0

*	blitter stuff	*
halftone:	equ	0
src_xinc:	equ	32
src_yinc:	equ	34
src_addr:	equ	36
endmask1:	equ	40
endmask2:	equ	42
endmask3:	equ	44
dst_xinc:	equ	46
dst_yinc:	equ	48
dst_addr:	equ	50
x_count:	equ	54
y_count:	equ	56
hop:		equ	58
op:		equ	59
line_num:	equ	60
skew:		equ	61
fhop_source:	equ	1
fhop_halftone:	equ	0
fskewfxsr:	equ	7
fskewnfsr:	equ	6
flinebusy:	equ	7
flinehog:	equ	6
flinesmudge:	equ	5
mhop_source:	equ	$02
mhop_halftone:	equ	$01
mskewfxsr:	equ	$80
mskewnfsr:	equ	$40
mlinebusy:	equ	$80
mlinehog:	equ	$40
mlinesmudge:	equ	$20

cxmax:		equ	320
cxmin:		equ	0
cymax:		equ	200
cymin:		equ	0

cspritex:	equ	0
cspritey:	equ	2
cspritexvel:	equ	4
cspriteyvel:	equ	6
cspriteoldad:	equ	8
cspritenewad:	equ	10
cspriteold:	equ	12
cspritenew:	equ	16

iea:	equ	$fffa07
ieb:	equ	$fffa09
isra:	equ	$fffa0f
ima:	equ	$fffa13
tbcr:	equ	$fffa1b
tbdr:	equ	$fffa21
vbl_vec:	equ	$70
key_vec:	equ	$118
hbl_vec:	equ	$120
start:
	dc.w	$a00a
	clr.l   -(SP)           ;Go into supervisor mode
        move.w  #$20,-(SP)
        trap    #1
        addq.l  #6,SP
        move.l  D0,savesup
	move.b	#0,$484
	move.l	$426,rvsave
	move.l	$42a,resave
	move.w	#4,-(sp)
	trap	#14
	addq.l	#2,sp
	move.w	d0,ressave

	move.w	#0,-(sp)	;set to low res
	move.l	#-1,-(sp)
	move.l	#-1,-(sp)
	move.w	#5,-(sp)
	trap	#14
	add.l	#12,sp
	lea	palsave,a0
	move.l	#$ff8240,a1
	move.l	(a1)+,(a0)+
	move.l	(a1)+,(a0)+
	move.l	(a1)+,(a0)+
	move.l	(a1)+,(a0)+
	move.l	(a1)+,(a0)+
	move.l	(a1)+,(a0)+
	move.l	(a1)+,(a0)+
	move.l	(a1)+,(a0)+

	move.b	#%11111110,$ff820a
	jsr	getscrn
	jsr	copyintoboth
	jsr	setuphbl
	bsr	dosound
	bsr	mouseoff
mainloop:
	jsr	doball
	jsr	flip_scr
	jsr	keyboard
	bra	mainloop

**********************************
mouseoff:
	move.l	#moff,-(sp)
	clr.w	-(sp)
	move.w	#25,-(sp)
	trap	#14
	addq.l	#8,sp
	rts
mouseon:
	move.l	#mon,-(sp)
	clr.w	-(sp)
	move.w	#25,-(sp)
	trap	#14
	addq.l	#8,sp
	rts

mon:	dc.b	$08
moff:	dc.b	$12

*****************************************
*	new sound chip stuff		*
*****************************************
dosound:
	lea	$ff8900,a0	;sound register base address
	move.w	#0,sounddma(a0)
	move.l	#music,d0
	move.w	d0,soundstartl(a0)
	lsr.l	#8,d0
	move.w	d0,soundstartm(a0)
	lsr.l	#8,d0
	move.w	d0,soundstarth(a0)

	move.l	#musicend,d0
	move.w	d0,soundendl(a0)
	lsr.l	#8,d0
	move.w	d0,soundendm(a0)
	lsr.l	#8,d0
	move.w	d0,soundendh(a0)

	move.w	#%0000000010000001,soundmode(a0)
	move.w	#%0000000000000011,sounddma(a0)
	rts

*********************************************************
*	clipped sprite header				*
*********************************************************
removesprites:
	lea	ballsp9,a0
	bsr	dbstuff1
	lea	ballsp8,a0
	bsr	dbstuff1
	lea	ballsp7,a0
	bsr	dbstuff1
	lea	ballsp6,a0
	bsr	dbstuff1
	lea	ballsp5,a0
	bsr	dbstuff1
	lea	ballsp4,a0
	bsr	dbstuff1
	lea	ballsp3,a0
	bsr	dbstuff1
	lea	ballsp2,a0
	bsr	dbstuff1
	lea	ballsp1,a0
	bsr	dbstuff1
	lea	ballsp0,a0
	bsr	dbstuff1
	rts

dbstuff1:
	move.w	cspriteoldad(a0),d0
	move.l	cspriteold(a0),a1
	move.l	hiden,a2
	add.w	d0,a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	move.l	(a1)+,(a2)+
	lea	144(a2),a2
	rts
*********************************************************
*	draw prerotated and clippped sprite		*
*	pass address of sprite header in a0		*
*********************************************************
drawclipped:
	move.w	cspritex(a0),d2 	;get x
	move.w	d2,d0
	move.w	d0,d4
	move.w	cspritey(a0),d1 ;get y
	move.w	d1,d5
	and.w	#15,d2		;get last 4 bits=offset
	move.w	d2,d3		;get a copy of last 4 bits
	moveq	#16,d7		;counter before clipping
spcl1:
	moveq	#0,d6
	move.l	hiden,a6
	moveq	#0,d5
	lsl.w	#5,d1		;*128
	add.w	d1,a6
	move.w	d1,d5
	lsl.w	#2,d1
	add.w	d1,a6		;=*160 gives line add
	add.w	d1,d5
spcl2:
	and.w	#$fff0,d0	;word
	lsr.w	#1,d0
	add.w	d0,a6		;a6 has actual screen address
	add.w	d0,d5
	move.w	cspritenewad(a0),cspriteoldad(a0)
	move.w	d5,cspritenewad(a0)

	move.l	cspriteold(a0),a5
	move.l	cspritenew(a0),cspriteold(a0)
	move.l	a5,cspritenew(a0)
spcl3:
spcl5:
	lea	ballspdata,a1
	lsl.w	#6,d3		;*128
	add.w	d3,a1		;a1 has ad of final sprite data
	lsl.w	#2,d3
	add.w	d3,a1
	add.w	d6,a1		;adjust for top yclip

extrastuff:
doallsprite:
	move.l	cspritenew(a0),a5
	subq.w	#1,d7
doallloop:
	move.w	(a6),d0 	;get 4 screen words
	move.w	2(a6),d1
	move.w	4(a6),d2
	move.w	6(a6),d3
	move.w	d0,(a5)+
	move.w	d1,(a5)+
	move.w	d2,(a5)+
	move.w	d3,(a5)+

	and.w	(a1),d0 	;mask word
	and.w	(a1),d1 	;mask word
	and.w	(a1),d2 	;mask word
	and.w	(a1)+,d3	;mask word
	or.w	(a1)+,d0	;or the sprite image in the hole
	or.w	(a1)+,d1	;we just cut
	or.w	(a1)+,d2
	or.w	(a1)+,d3
	move.w	d0,(a6)+	;put the picture in th picture
	move.w	d1,(a6)+
	move.w	d2,(a6)+
	move.w	d3,(a6)+

	move.w	(a6),d0 	;get 4 screen words
	move.w	2(a6),d1
	move.w	4(a6),d2
	move.w	6(a6),d3
	move.w	d0,(a5)+
	move.w	d1,(a5)+
	move.w	d2,(a5)+
	move.w	d3,(a5)+
	and.w	(a1),d0 	;mask word
	and.w	(a1),d1 	;mask word
	and.w	(a1),d2 	;mask word
	and.w	(a1)+,d3	;mask word
	or.w	(a1)+,d0	;or the sprite image in the hole
	or.w	(a1)+,d1	;we just cut
	or.w	(a1)+,d2
	or.w	(a1)+,d3
	move.w	d0,(a6)+	;put the picture in th picture
	move.w	d1,(a6)+
	move.w	d2,(a6)+
	move.w	d3,(a6)+
	lea	144(a6),a6
	dbf	d7,doallloop
nosprite:
	rts

******************************************
setuphbl:
	bsr	preparehbl
	move.w	#$2700,sr
	move.l	#hbllist,hblsave
	move.b	ieb,oldieb
	move.b	iea,oldiea
	move.b	ima,oldima
	move.l	key_vec,oldkeyvec
	move.l	key_vec,keyt+2
	move.l	#key_handler,key_vec		;put new key stuff in
	move.l	hbl_vec,oldhblvec

	and.b	#$df,ieb	;stop 200hz timer
	and.b	#$fe,iea	;stop hblank
	move.l	hbl_vec,oldhblvec
	move.l	#hblhandler1,hbl_vec
	or.b	#1,iea			;enable hblank
	or.b	#1,ima
	move.l	vbl_vec,vblt+2		;set up vbl handler
	move.l	vbl_vec,oldvblvec
	move.l	#vbl_handler,vbl_vec
	move.b	#0,tbcr
	move.b	#1,tbdr
	move.b	#8,tbcr
	move.w	#$2300,sr
	rts

hblhandler1:
	movem.l	d0/a0-a1,-(sp)
	move.l	hblsave,a0
	move.l	#$ff8242,a1
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	moveq	#0,d0
	move.w	(a0)+,d0
	move.l	a0,hblsave
	move.b	#0,tbcr
	move.b	d0,tbdr
	move.b	#8,tbcr
	bclr	#0,isra
	movem.l	(sp)+,d0/a0-a1
	rte

hbllist:
	blk.w	200*8,0		;200 lines with 8 words of info
hblsave:	dc.l	0
preparehbl:
	lea	hbllist,a0
	moveq	#96,d0
ppl1:
	add.l	#14,a0
	move.w	#1,(a0)+	;97 lines of hblank every line
	dbf	d0,ppl1
	moveq	#6,d0
ppl2:
	add.l	#14,a0
	move.w	#2,(a0)+	;14 lines of hblank every 2lines
	dbf	d0,ppl2
	moveq	#8,d0
ppl3:
	add.l	#14,a0
	move.w	#3,(a0)+	;27 lines of hblank every 3line
	dbf	d0,ppl3
	moveq	#15,d0
ppl4:
	add.l	#14,a0
	move.w	#4,(a0)+	;62 lines of hblank every 4line
	dbf	d0,ppl4
	rts

vbl_handler:
	move.l	#hbllist,hblsave
	move.b	#0,tbcr
	move.b	#1,tbdr
	move.b	#8,tbcr
	movem.l	d0-d7/a0-a6,-(sp)
	lea	$ff8240,a1
	lea	bluepalette,a0
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	lea	hbllist,a0
	moveq	#127,d7
dsloop:
	move.w	16(a0),(a0)+
	move.w	16(a0),(a0)+
	move.w	16(a0),(a0)+
	move.w	16(a0),(a0)+
	move.w	16(a0),(a0)+
	move.w	16(a0),(a0)+
	move.w	16(a0),(a0)+
	addq.l	#2,a0		;skip hblank counter
	dbf	d7,dsloop

	tst.w	letterscan
	bge.s	notnew
	lea	text,a6
	move.w	lettercount,d0	
	move.w	#7,letterscan
	moveq	#0,d1
	move.b	(a6,d0.w),d1
	bpl.s	norestart
	move.w	#-1,lettercount
	moveq	#32,d1
norestart:
	addq.w	#1,lettercount
	cmpi.w	#32,d1
	beq.s	space
	sub.w	#65,d1
	asl.w	#3,d1
	lea	letters,a6
	add.w	d1,a6
	move.l	a6,letterad
	bra.s	notnew
space:
	move.l	#spacechar,letterad
notnew:
	subq.w	#1,letterscan
	move.l	paletteadd,a5
	move.l	letterad,a6
	moveq	#0,d7
	move.b	(a6)+,d7
	move.l	a6,letterad
	moveq	#6,d6
	lsr.w	#1,d7
	lea	14(a0),a0
	move.w	(a5)+,d0
	cmpi.l	#palette+138,a5
	ble	nnl
	lea	palette,a5
nnl:
	lsr.w	#1,d7
	bcs.s	nnl2
	move.w	#0,-(a0)
	dbf	d6,nnl
	move.l	a5,paletteadd
	bra.s	noscroll
nnl2:
	move.w	d0,-(a0)
	dbf	d6,nnl
	move.l	a5,paletteadd
noscroll:
	movem.l	(sp)+,d0-d7/a0-a6
vblt:	jmp	$0

key_handler:
	move.w	#$2500,sr
keyt:	jmp	$0


oldvblvec:	blk.l	1,0
oldkeyvec:	blk.l	1,0
oldhblvec:	blk.l	1,0
oldieb:		blk.b	1,0
oldiea:		blk.b	1,0
oldima:		blk.b	1,0
even
restoremfp:
	move.b	oldieb,ieb
	move.b	oldiea,iea
	move.b	oldima,ima
	move.l	oldkeyvec,key_vec
	move.l	oldhblvec,hbl_vec
	move.l	oldvblvec,vbl_vec
	rts
**********************************
clearboth:
	move.l	seen,a0
	move.l	hiden,a1
	move.w	#15999,d0
cbl:
	move.w	#0,(a0)+
	move.w	#0,(a1)+
	dbf	d0,cbl
	rts
*****************************************
copyintoboth:
	lea	screenblk,a0
	move.l	hiden,a1
	move.l	seen,a2
	move.w	#7999,d0
cibloop:
	move.l	(a0),(a1)+
	move.l	(a0)+,(a2)+
	dbf	d0,cibloop
	rts
****************************************
keyboard:
        move.w  #$ff,-(sp)
        move.w  #6,-(sp)
        trap    #1
        addq.l  #4,sp
        tst.l   d0
        beq     keyback
        swap    d0
quit:   cmpi.w  #$10,d0
        bne     spacep
	move.l	seen,a0
	move.l	hiden,a1
	move.w	#15999,d7
clear:
	move.w	#0,(a0)+
	move.w	#0,(a1)+
	dbf	d7,clear
        bra     gem
spacep:
	cmpi.w	#$39,d0
	bne	keyback
	bra	pause
keyback:rts

pause:
        move.w  #$ff,-(sp)
        move.w  #6,-(sp)
        trap    #1
        addq.l  #4,sp
        tst.l   d0
        beq     pause
	rts

cldelay:	dc.w	-1
rcldelay:	dc.w	-0
wx:		dc.w	0
wy:		dc.w	0
wz:		dc.w	0
proz:		dc.w	0
spadd:		dc.w	0
***********************************
mydocolors:
	lea	$ff8240,a1
	lea	bluepalette,a0
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	move.w	(a0)+,(a1)+
	rts

************get screen address***************
getscrn:move.w  #2,-(sp)
        trap    #14
        addq.l  #2,sp
        move.l  d0,screen
        move.l  d0,screen1
        move.l  d0,screen2
        subi.l  #$8000,screen2
        move.l  screen1,seen
        move.l  screen2,hiden
	move.l	screen2,screen3
	subi.l	#$8000,screen3
	rts
screen1:	dc.l	0
screen2:	dc.l	0
screen3:	dc.l	0
seen:	dc.l	0
hiden:	dc.l	0
screen:	dc.l	0



flip_scr2:
	move.l	seen,d1
	move.l	d1,d2
	add.l	#12000,d1
	add.l	#26000,d2
skloop:
	move.l	#$ff8205,a0
	moveq	#0,d0
	move.b	(a0),d0
	asl.l	#8,d0
	addq.l	#2,a0
	move.b	(a0),d0
	asl.l	#8,d0
	addq.l	#2,a0
	move.b	(a0),d0
	cmp.l	d1,d0
	blt.s	skloop
	cmp.l	d2,d0
	bgt	skloop
skipwait:
flip_scr:
        move.l  seen,A6
        move.l  hiden,seen
        move.l  A6,hiden
	move.b	seen+1,$ff8201
	move.b	seen+2,$ff8203
	move.w	#37,-(sp)
	trap	#14
	addq.l	#2,sp
	bsr	removesprites
	rts
*****************************************
rnd:	blk.l	5,0
*******************************************************************
randomseed:	ADD.L	D0,D1
		MOVEM.L D0/D1,RND
LongRnd:	MOVEM.L D2-D3,-(SP)	
		MOVEM.L RND,D0/D1
		ANDI.B	#$0E,D0
		ORI.B	#$20,D0
		MOVE.L	D0,D2
		MOVE.L	D1,D3
		ADD.L	D2,D2
		ADDX.L	D3,D3
		ADD.L	D2,D0
		ADDX.L	D3,D1
		SWAP	D3
		SWAP	D2
		MOVE.W	D2,D3
		CLR.W	D2
		ADD.L	D2,D0
		ADDX.L	D3,D1
		MOVEM.L D0/D1,RND
		MOVE.L	D1,D0
		MOVEM.L (SP)+,D2-D3
		RTS
random: 	MOVE.w	D2,-(SP)
		MOVE.W	D0,D2
		BEQ.S	r1
		BSR.S	LongRnd
		CLR.W	D0
		SWAP	D0
		ext.l	d0
		DIVs	D2,D0
		CLR.W	D0
		SWAP	D0
r1:		MOVE.w	(SP)+,D2
		RTS

randomplus:	MOVE.w	D2,-(SP)
		MOVE.W	D0,D2
		BEQ.S	r2
		BSR.S	LongRnd
		CLR.W	D0
		SWAP	D0
		DIVu	D2,D0
		CLR.W	D0
		SWAP	D0
r2:		MOVE.w	(SP)+,D2
		RTS



scrolldelay:	dc.w	0
paletteadd:	dc.l	palette
lettercount:	dc.w	0
letterscan:	dc.w	-1
letterad:	dc.l	0
text:
	DC.B	'                      '
	DC.B	'TAKE THE STE ADVANTAGE             '
	DC.B	'EXPAND TO FOUR MEG OF RAM             '
	DC.B	'FOUR THOUSAND AND NINETY SIX COLOUR PALETTE'
	DC.B	'           STEREO SOUND           BLITTER CHIP'
	DC.B	'           MIDI           HORIZONTAL AND '
	DC.B	'VERTICAL SCROLLING                  '
	dc.b	'        PROGRAMMING      GRAPHICS   '
	DC.B	'     TONY BARKER         '
	DC.B	'STE STE STE STE STE STE STE STE STE STE',-1
even
******************************************
*               RETURN TO GEM
gem:
	lea	$ff8900,a0	;sound register base address
	move.w	#0,sounddma(a0)

	bsr	mouseon
	bsr	restoremfp
*	move.b	#%11111110,$ff820a
	move.l	#$ff8240,a0
	lea	palsave,a1
	moveq	#15,d7
rspl:
	move.w	(a1)+,d0
	and.w	#$0777,d0
	move.w	d0,(a0)+
	dbf	d7,rspl

	move.b  #7,$484

        move.w  ressave,-(sp)
        move.l  screen,-(sp)
        move.l  screen,-(sp)
        move.w  #5,-(sp)
        trap    #14
        addi.l  #12,sp

	move.l	rvsave,$426
	move.l	resave,$42a
        
        move.l  savesup,-(SP)    ;Back to user mode
        move.w  #$20,-(SP)
        trap    #1
        addq.l  #6,(SP)
*illegal
	clr.w	-(sp)
	trap	#1

rvsave:	dc.l	0
resave:	dc.l	0
palsave:	blk.w	16,0

*********************************************************
*	clipped sprite header				*
*********************************************************
ballsp0:
	dc.w	20,50		;x,y
	dc.w	1,2		;x,y vels
	dc.w	9600,9600
	dc.l	bs01
	dc.l	bs02
ballsp1:
	dc.w	100,20		;x,y
	dc.w	3,2		;x,y vels
	dc.w	9600,9600
	dc.l	bs11
	dc.l	bs12
ballsp2:
	dc.w	200,60		;x,y
	dc.w	3,2		;x,y vels
	dc.w	9600,9600
	dc.l	bs21
	dc.l	bs22
ballsp3:
	dc.w	200,80		;x,y
	dc.w	1,4		;x,y vels
	dc.w	9600,9600
	dc.l	bs31
	dc.l	bs32
ballsp4:
	dc.w	120,50		;x,y
	dc.w	4,2		;x,y vels
	dc.w	9600,9600
	dc.l	bs41
	dc.l	bs42
ballsp5:
	dc.w	20,20		;x,y
	dc.w	4,1		;x,y vels
	dc.w	9600,9600
	dc.l	bs51
	dc.l	bs52
ballsp6:
	dc.w	300,100		;x,y
	dc.w	1,2		;x,y vels
	dc.w	9600,9600
	dc.l	bs61
	dc.l	bs62
ballsp7:
	dc.w	220,10		;x,y
	dc.w	5,5		;x,y vels
	dc.w	9600,9600
	dc.l	bs71
	dc.l	bs72
ballsp8:
	dc.w	200,26		;x,y
	dc.w	2,1		;x,y vels
	dc.w	9600,9600
	dc.l	bs81
	dc.l	bs82
ballsp9:
	dc.w	128,50		;x,y
	dc.w	6,2		;x,y vels
	dc.w	9600,9600
	dc.l	bs91
	dc.l	bs92

bs01:	blk.w	192,0
bs02:	blk.w	192,0
bs11:	blk.w	192,0
bs12:	blk.w	192,0
bs21:	blk.w	192,0
bs22:	blk.w	192,0
bs31:	blk.w	192,0
bs32:	blk.w	192,0
bs41:	blk.w	192,0
bs42:	blk.w	192,0
bs51:	blk.w	192,0
bs52:	blk.w	192,0
bs61:	blk.w	192,0
bs62:	blk.w	192,0
bs71:	blk.w	192,0
bs72:	blk.w	192,0
bs81:	blk.w	192,0
bs82:	blk.w	192,0
bs91:	blk.w	192,0
bs92:	blk.w	192,0
*********************************************************
doball:
	lea	ballsp0,a0
	bsr	dbstuff
	lea	ballsp1,a0
	bsr	dbstuff
	lea	ballsp2,a0
	bsr	dbstuff
	lea	ballsp3,a0
	bsr	dbstuff
	lea	ballsp4,a0
	bsr	dbstuff
	lea	ballsp5,a0
	bsr	dbstuff
	lea	ballsp6,a0
	bsr	dbstuff
	lea	ballsp7,a0
	bsr	dbstuff
	lea	ballsp8,a0
	bsr	dbstuff
	lea	ballsp9,a0
	bsr	dbstuff
	rts
dbstuff:
	move.w	cspritexvel(a0),d0	;xvel
	add.w	d0,cspritex(a0)
	move.w	cspriteyvel(a0),d0	;yvel
	add.w	d0,cspritey(a0)
	cmpi.w	#290,cspritex(a0)
	ble.s	cb1
	move.w	#290,cspritex(a0)
	neg.w	cspritexvel(a0)
	bra.s	cb2
cb1:
	cmpi.w	#10,cspritex(a0)
	bge.s	cb2
	move.w	#10,cspritex(a0)
	neg.w	cspritexvel(a0)
cb2:
	cmpi.w	#125,cspritey(a0)
	ble.s	cb3
	move.w	#125,cspritey(a0)
	neg.w	cspriteyvel(a0)
cb3:
	addq.w	#1,cspriteyvel(a0)
	bsr	drawclipped
	rts
even
savesup:	dc.l	0
ressave:	dc.w	0
filename:	dc.l	0
bluepalette:
	dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w	$0011,$0022,$0033,$0044,$0055,$0066,$0077,$0777
palette:
	dc.w	$00ff,$016f,$025f,$034f,$043f,$052f,$061f
	dc.w	$0f0f,$0f16,$0725,$0734,$0743,$0752,$0761
	dc.w	$0ff0,$0ff1,$0772,$0773,$0774,$0775,$0776
	dc.w	$0fff,$06ff,$0577,$0477,$0377,$0277,$0177
	dc.w	$00ff,$006f,$0057,$0047,$0037,$0027,$0017
	dc.w	$000f,$010f,$0207,$0307,$0407,$0507,$0607
	dc.w	$0f0f,$0706,$0705,$0704,$0703,$0702,$0701
	dc.w	$0f00,$0710,$0720,$0730,$0740,$0750,$0760
	dc.w	$0ff0,$0670,$0570,$0470,$0370,$0270,$0170
	dc.w	$00f0,$0071,$0072,$0073,$0074,$0075,$0076
	
letters:
	 dc.b	$38,$7C,$E6,$E6,$FE,$E6,$E6,$00
	 dc.b	$FC,$E6,$E6,$FC,$E6,$E6,$FC,$00
	 dc.b	$7C,$E6,$E0,$E0,$E0,$E6,$7C,$00
	 dc.b	$F8,$EC,$E6,$E6,$E6,$EC,$F8,$00
	 dc.b	$FE,$E0,$E0,$FC,$E0,$E0,$FE,$00
	 dc.b	$FE,$E0,$E0,$FC,$E0,$E0,$E0,$00
	 dc.b	$7E,$E0,$E0,$EE,$E6,$E6,$7E,$00
	 dc.b	$E6,$E6,$E6,$FE,$E6,$E6,$E6,$00
	 dc.b	$7C,$18,$18,$18,$18,$38,$7C,$00
	 dc.b	$06,$06,$06,$06,$06,$EE,$7C,$00
	 dc.b	$E6,$EC,$F8,$F0,$F8,$EC,$E6,$00
	 dc.b	$E0,$E0,$E0,$E0,$E0,$E0,$FE,$00
	 dc.b	$E3,$FF,$FF,$EB,$E3,$E3,$E3,$00
	 dc.b	$E6,$F6,$FE,$FE,$FE,$EE,$E6,$00
	 dc.b	$7C,$EE,$E6,$E6,$E6,$EE,$7C,$00
	 dc.b	$FC,$E6,$E6,$FC,$E0,$E0,$E0,$00
	 dc.b	$7C,$E6,$E6,$E6,$F6,$FC,$7E,$00
	 dc.b	$FC,$E6,$E6,$FC,$FC,$E6,$E6,$00
	 dc.b	$7C,$E6,$E0,$7C,$06,$E6,$7C,$00
	 dc.b	$FE,$38,$38,$38,$38,$38,$38,$00
	 dc.b	$E6,$E6,$E6,$E6,$E6,$E6,$7E,$00
	 dc.b	$E6,$E6,$E6,$E6,$E6,$7C,$38,$00
	 dc.b	$E3,$E3,$E3,$FB,$FF,$FF,$E7,$00
	 dc.b	$E6,$EE,$7C,$38,$7C,$EE,$E6,$00
	 dc.b	$E6,$E6,$EE,$7C,$38,$38,$38,$00
	 dc.b	$FE,$0E,$1C,$38,$70,$E0,$FE,$00
spacechar:
	dc.b	0,0,0,0,0,0,0,0

ballspdata:
	DC.L	$F81F07E0,$00000000,$07E0FFFF,$00000000,$00000000,$E0071E18,$01E00000,$1FF8FFFF
	DC.L	$00000000,$00000000,$C0033DEC,$03F00000,$3FFCFFFF,$00000000,$00000000,$80017B56
	DC.L	$071800E0,$7FFEFFFF,$00000000,$00000000,$80014AAA,$064C01F0,$7FFEFFFF,$00000000
	DC.L	$00000000,$0000CB5B,$06EC01F0,$FFFFFFFF,$00000000,$00000000,$0000CAAB,$064C01F0
	DC.L	$FFFFFFFF,$00000000,$00000000,$0000CB5B,$071C00E0,$FFFFFFFF,$00000000,$00000000
	DC.L	$0000CBF7,$07F80000,$FFFFFFFF,$00000000,$00000000,$00004BEB,$87F00000,$FFFFFFFF
	DC.L	$00000000,$00000000,$00006417,$83E00000,$FFFFFFFF,$00000000,$00000000,$800133E6
	DC.L	$40000000,$7FFEFFFF,$00000000,$00000000,$8001300E,$40000000,$7FFEFFFF,$00000000
	DC.L	$00000000,$C0031C1C,$20000000,$3FFCFFFF,$00000000,$00000000,$E00707F8,$18000000
	DC.L	$1FF8FFFF,$00000000,$00000000,$F81F0420,$03C00000,$07E0FFFF,$00000000,$00000000
	DC.L	$FC0F03F0,$00000000,$03F0FFFF,$00000000,$00000000,$F0030F0C,$00F00000,$0FFCFFFF
	DC.L	$00000000,$00000000,$E0011EF6,$01F80000,$1FFEFFFF,$00000000,$00000000,$C0003DAB
	DC.L	$038C0070,$3FFFFFFF,$00000000,$00000000,$C0002555,$032600F8,$3FFFFFFF,$00000000
	DC.L	$00000000,$800065AD,$037600F8,$7FFF7FFF,$80000000,$00008000,$80006555,$032600F8
	DC.L	$7FFF7FFF,$80000000,$00008000,$800065AD,$038E0070,$7FFF7FFF,$80000000,$00008000
	DC.L	$800065FB,$03FC0000,$7FFF7FFF,$80000000,$00008000,$800025F5,$43F80000,$7FFF7FFF
	DC.L	$80000000,$00008000,$8000320B,$41F00000,$7FFF7FFF,$80000000,$00008000,$C00019F3
	DC.L	$20000000,$3FFFFFFF,$00000000,$00000000,$C0001807,$20000000,$3FFFFFFF,$00000000
	DC.L	$00000000,$E0010E0E,$10000000,$1FFEFFFF,$00000000,$00000000,$F00303FC,$0C000000
	DC.L	$0FFCFFFF,$00000000,$00000000,$FC0F0210,$01E00000,$03F0FFFF,$00000000,$00000000
	DC.L	$FE0701F8,$00000000,$01F8FFFF,$00000000,$00000000,$F8010786,$00780000,$07FEFFFF
	DC.L	$00000000,$00000000,$F0000F7B,$00FC0000,$0FFFFFFF,$00000000,$00000000,$E0001ED5
	DC.L	$01C60038,$1FFF7FFF,$80000000,$00008000,$E00012AA,$0193007C,$1FFF7FFF,$80000000
	DC.L	$00008000,$C00032D6,$01BB007C,$3FFF3FFF,$C0000000,$0000C000,$C00032AA,$0193007C
	DC.L	$3FFF3FFF,$C0000000,$0000C000,$C00032D6,$01C70038,$3FFF3FFF,$C0000000,$0000C000
	DC.L	$C00032FD,$01FE0000,$3FFF3FFF,$C0000000,$0000C000,$C00012FA,$21FC0000,$3FFF3FFF
	DC.L	$C0000000,$0000C000,$C0001905,$20F80000,$3FFF3FFF,$C0000000,$0000C000,$E0000CF9
	DC.L	$10000000,$1FFF7FFF,$80000000,$00008000,$E0000C03,$10000000,$1FFF7FFF,$80000000
	DC.L	$00008000,$F0000707,$08000000,$0FFFFFFF,$00000000,$00000000,$F80101FE,$06000000
	DC.L	$07FEFFFF,$00000000,$00000000,$FE070108,$00F00000,$01F8FFFF,$00000000,$00000000
	DC.L	$FF0300FC,$00000000,$00FCFFFF,$00000000,$00000000,$FC0003C3,$003C0000,$03FFFFFF
	DC.L	$00000000,$00000000,$F80007BD,$007E0000,$07FF7FFF,$80000000,$00008000,$F0000F6A
	DC.L	$00E3001C,$0FFF3FFF,$C0000000,$0000C000,$F0000955,$00C9003E,$0FFF3FFF,$40008000
	DC.L	$0000C000,$E000196B,$00DD003E,$1FFF1FFF,$60008000,$0000E000,$E0001955,$00C9003E
	DC.L	$1FFF1FFF,$60008000,$0000E000,$E000196B,$00E3001C,$1FFF1FFF,$60008000,$0000E000
	DC.L	$E000197E,$00FF0000,$1FFF1FFF,$E0000000,$0000E000,$E000097D,$10FE0000,$1FFF1FFF
	DC.L	$60000000,$0000E000,$E0000C82,$107C0000,$1FFF1FFF,$E0000000,$0000E000,$F000067C
	DC.L	$08000000,$0FFF3FFF,$C0000000,$0000C000,$F0000601,$08000000,$0FFF3FFF,$C0000000
	DC.L	$0000C000,$F8000383,$04000000,$07FF7FFF,$80000000,$00008000,$FC0000FF,$03000000
	DC.L	$03FFFFFF,$00000000,$00000000,$FF030084,$00780000,$00FCFFFF,$00000000,$00000000
	DC.L	$FF81007E,$00000000,$007EFFFF,$00000000,$00000000,$FE0001E1,$001E0000,$01FF7FFF
	DC.L	$80000000,$00008000,$FC0003DE,$003F0000,$03FF3FFF,$C0000000,$0000C000,$F80007B5
	DC.L	$0071000E,$07FF1FFF,$60008000,$0000E000,$F80004AA,$0064001F,$07FF1FFF,$A000C000
	DC.L	$0000E000,$F0000CB5,$006E001F,$0FFF0FFF,$B000C000,$0000F000,$F0000CAA,$0064001F
	DC.L	$0FFF0FFF,$B000C000,$0000F000,$F0000CB5,$0071000E,$0FFF0FFF,$B000C000,$0000F000
	DC.L	$F0000CBF,$007F0000,$0FFF0FFF,$70008000,$0000F000,$F00004BE,$087F0000,$0FFF0FFF
	DC.L	$B0000000,$0000F000,$F0000641,$083E0000,$0FFF0FFF,$70000000,$0000F000,$F800033E
	DC.L	$04000000,$07FF1FFF,$60000000,$0000E000,$F8000300,$04000000,$07FF1FFF,$E0000000
	DC.L	$0000E000,$FC0001C1,$02000000,$03FF3FFF,$C0000000,$0000C000,$FE00007F,$01800000
	DC.L	$01FF7FFF,$80000000,$00008000,$FF810042,$003C0000,$007EFFFF,$00000000,$00000000
	DC.L	$FFC0003F,$00000000,$003FFFFF,$00000000,$00000000,$FF0000F0,$000F0000,$00FF3FFF
	DC.L	$C0000000,$0000C000,$FE0001EF,$001F0000,$01FF1FFF,$60008000,$0000E000,$FC0003DA
	DC.L	$00380007,$03FF0FFF,$B000C000,$0000F000,$FC000255,$0032000F,$03FF0FFF,$50006000
	DC.L	$8000F000,$F800065A,$0037000F,$07FF07FF,$D8006000,$8000F800,$F8000655,$0032000F
	DC.L	$07FF07FF,$58006000,$8000F800,$F800065A,$00380007,$07FF07FF,$D800E000,$0000F800
	DC.L	$F800065F,$003F0000,$07FF07FF,$B800C000,$0000F800,$F800025F,$043F0000,$07FF07FF
	DC.L	$58008000,$0000F800,$F8000320,$041F0000,$07FF07FF,$B8000000,$0000F800,$FC00019F
	DC.L	$02000000,$03FF0FFF,$30000000,$0000F000,$FC000180,$02000000,$03FF0FFF,$70000000
	DC.L	$0000F000,$FE0000E0,$01000000,$01FF1FFF,$E0000000,$0000E000,$FF00003F,$00C00000
	DC.L	$00FF3FFF,$C0000000,$0000C000,$FFC00021,$001E0000,$003FFFFF,$00000000,$00000000
	DC.L	$FFE0001F,$00000000,$001F7FFF,$80000000,$00008000,$FF800078,$00070000,$007F1FFF
	DC.L	$60008000,$0000E000,$FF0000F7,$000F0000,$00FF0FFF,$B000C000,$0000F000,$FE0001ED
	DC.L	$001C0003,$01FF07FF,$58006000,$8000F800,$FE00012A,$00190007,$01FF07FF,$A8003000
	DC.L	$C000F800,$FC00032D,$001B0007,$03FF03FF,$6C00B000,$C000FC00,$FC00032A,$00190007
	DC.L	$03FF03FF,$AC003000,$C000FC00,$FC00032D,$001C0003,$03FF03FF,$6C007000,$8000FC00
	DC.L	$FC00032F,$001F0000,$03FF03FF,$DC00E000,$0000FC00,$FC00012F,$021F0000,$03FF03FF
	DC.L	$AC00C000,$0000FC00,$FC000190,$020F0000,$03FF03FF,$5C008000,$0000FC00,$FE0000CF
	DC.L	$01000000,$01FF07FF,$98000000,$0000F800,$FE0000C0,$01000000,$01FF07FF,$38000000
	DC.L	$0000F800,$FF000070,$00800000,$00FF0FFF,$70000000,$0000F000,$FF80001F,$00600000
	DC.L	$007F1FFF,$E0000000,$0000E000,$FFE00010,$000F0000,$001F7FFF,$80000000,$00008000
	DC.L	$FFF0000F,$00000000,$000F3FFF,$C0000000,$0000C000,$FFC0003C,$00030000,$003F0FFF
	DC.L	$3000C000,$0000F000,$FF80007B,$00070000,$007F07FF,$D800E000,$0000F800,$FF0000F6
	DC.L	$000E0001,$00FF03FF,$AC003000,$C000FC00,$FF000095,$000C0003,$00FF03FF,$54009800
	DC.L	$E000FC00,$FE000196,$000D0003,$01FF01FF,$B600D800,$E000FE00,$FE000195,$000C0003
	DC.L	$01FF01FF,$56009800,$E000FE00,$FE000196,$000E0001,$01FF01FF,$B6003800,$C000FE00
	DC.L	$FE000197,$000F0000,$01FF01FF,$EE00F000,$0000FE00,$FE000097,$010F0000,$01FF01FF
	DC.L	$D600E000,$0000FE00,$FE0000C8,$01070000,$01FF01FF,$2E00C000,$0000FE00,$FF000067
	DC.L	$00800000,$00FF03FF,$CC000000,$0000FC00,$FF000060,$00800000,$00FF03FF,$1C000000
	DC.L	$0000FC00,$FF800038,$00400000,$007F07FF,$38000000,$0000F800,$FFC0000F,$00300000
	DC.L	$003F0FFF,$F0000000,$0000F000,$FFF00008,$00070000,$000F3FFF,$40008000,$0000C000
	DC.L	$FFF80007,$00000000,$00071FFF,$E0000000,$0000E000,$FFE0001E,$00010000,$001F07FF
	DC.L	$1800E000,$0000F800,$FFC0003D,$00030000,$003F03FF,$EC00F000,$0000FC00,$FF80007B
	DC.L	$00070000,$007F01FF,$56001800,$E000FE00,$FF80004A,$00060001,$007F01FF,$AA004C00
	DC.L	$F000FE00,$FF0000CB,$00060001,$00FF00FF,$5B00EC00,$F000FF00,$FF0000CA,$00060001
	DC.L	$00FF00FF,$AB004C00,$F000FF00,$FF0000CB,$00070000,$00FF00FF,$5B001C00,$E000FF00
	DC.L	$FF0000CB,$00070000,$00FF00FF,$F700F800,$0000FF00,$FF00004B,$00870000,$00FF00FF
	DC.L	$EB00F000,$0000FF00,$FF000064,$00830000,$00FF00FF,$1700E000,$0000FF00,$FF800033
	DC.L	$00400000,$007F01FF,$E6000000,$0000FE00,$FF800030,$00400000,$007F01FF,$0E000000
	DC.L	$0000FE00,$FFC0001C,$00200000,$003F03FF,$1C000000,$0000FC00,$FFE00007,$00180000
	DC.L	$001F07FF,$F8000000,$0000F800,$FFF80004,$00030000,$00071FFF,$2000C000,$0000E000
	DC.L	$FFFC0003,$00000000,$00030FFF,$F0000000,$0000F000,$FFF0000F,$00000000,$000F03FF
	DC.L	$0C00F000,$0000FC00,$FFE0001E,$00010000,$001F01FF,$F600F800,$0000FE00,$FFC0003D
	DC.L	$00030000,$003F00FF,$AB008C00,$7000FF00,$FFC00025,$00030000,$003F00FF,$55002600
	DC.L	$F800FF00,$FF800065,$00030000,$007F007F,$AD807600,$F800FF80,$FF800065,$00030000
	DC.L	$007F007F,$55802600,$F800FF80,$FF800065,$00030000,$007F007F,$AD808E00,$7000FF80
	DC.L	$FF800065,$00030000,$007F007F,$FB80FC00,$0000FF80,$FF800025,$00430000,$007F007F
	DC.L	$F580F800,$0000FF80,$FF800032,$00410000,$007F007F,$0B80F000,$0000FF80,$FFC00019
	DC.L	$00200000,$003F00FF,$F3000000,$0000FF00,$FFC00018,$00200000,$003F00FF,$07000000
	DC.L	$0000FF00,$FFE0000E,$00100000,$001F01FF,$0E000000,$0000FE00,$FFF00003,$000C0000
	DC.L	$000F03FF,$FC000000,$0000FC00,$FFFC0002,$00010000,$00030FFF,$1000E000,$0000F000
	DC.L	$FFFE0001,$00000000,$000107FF,$F8000000,$0000F800,$FFF80007,$00000000,$000701FF
	DC.L	$86007800,$0000FE00,$FFF0000F,$00000000,$000F00FF,$7B00FC00,$0000FF00,$FFE0001E
	DC.L	$00010000,$001F007F,$D580C600,$3800FF80,$FFE00012,$00010000,$001F007F,$AA809300
	DC.L	$7C00FF80,$FFC00032,$00010000,$003F003F,$D6C0BB00,$7C00FFC0,$FFC00032,$00010000
	DC.L	$003F003F,$AAC09300,$7C00FFC0,$FFC00032,$00010000,$003F003F,$D6C0C700,$3800FFC0
	DC.L	$FFC00032,$00010000,$003F003F,$FDC0FE00,$0000FFC0,$FFC00012,$00210000,$003F003F
	DC.L	$FAC0FC00,$0000FFC0,$FFC00019,$00200000,$003F003F,$05C0F800,$0000FFC0,$FFE0000C
	DC.L	$00100000,$001F007F,$F9800000,$0000FF80,$FFE0000C,$00100000,$001F007F,$03800000
	DC.L	$0000FF80,$FFF00007,$00080000,$000F00FF,$07000000,$0000FF00,$FFF80001,$00060000
	DC.L	$000701FF,$FE000000,$0000FE00,$FFFE0001,$00000000,$000107FF,$0800F000,$0000F800
	DC.L	$FFFF0000,$00000000,$000003FF,$FC000000,$0000FC00,$FFFC0003,$00000000,$000300FF
	DC.L	$C3003C00,$0000FF00,$FFF80007,$00000000,$0007007F,$BD807E00,$0000FF80,$FFF0000F
	DC.L	$00000000,$000F003F,$6AC0E300,$1C00FFC0,$FFF00009,$00000000,$000F003F,$5540C980
	DC.L	$3E00FFC0,$FFE00019,$00000000,$001F001F,$6B60DD80,$3E00FFE0,$FFE00019,$00000000
	DC.L	$001F001F,$5560C980,$3E00FFE0,$FFE00019,$00000000,$001F001F,$6B60E380,$1C00FFE0
	DC.L	$FFE00019,$00000000,$001F001F,$7EE0FF00,$0000FFE0,$FFE00009,$00100000,$001F001F
	DC.L	$7D60FE00,$0000FFE0,$FFE0000C,$00100000,$001F001F,$82E07C00,$0000FFE0,$FFF00006
	DC.L	$00080000,$000F003F,$7CC00000,$0000FFC0,$FFF00006,$00080000,$000F003F,$01C00000
	DC.L	$0000FFC0,$FFF80003,$00040000,$0007007F,$83800000,$0000FF80,$FFFC0000,$00030000
	DC.L	$000300FF,$FF000000,$0000FF00,$FFFF0000,$00000000,$000003FF,$84007800,$0000FC00
	DC.L	$FFFF0000,$00000000,$000081FF,$7E000000,$00007E00,$FFFE0001,$00000000,$0001007F
	DC.L	$E1801E00,$0000FF80,$FFFC0003,$00000000,$0003003F,$DEC03F00,$0000FFC0,$FFF80007
	DC.L	$00000000,$0007001F,$B5607180,$0E00FFE0,$FFF80004,$00000000,$0007001F,$AAA064C0
	DC.L	$1F00FFE0,$FFF0000C,$00000000,$000F000F,$B5B06EC0,$1F00FFF0,$FFF0000C,$00000000
	DC.L	$000F000F,$AAB064C0,$1F00FFF0,$FFF0000C,$00000000,$000F000F,$B5B071C0,$0E00FFF0
	DC.L	$FFF0000C,$00000000,$000F000F,$BF707F80,$0000FFF0,$FFF00004,$00080000,$000F000F
	DC.L	$BEB07F00,$0000FFF0,$FFF00006,$00080000,$000F000F,$41703E00,$0000FFF0,$FFF80003
	DC.L	$00040000,$0007001F,$3E600000,$0000FFE0,$FFF80003,$00040000,$0007001F,$00E00000
	DC.L	$0000FFE0,$FFFC0001,$00020000,$0003003F,$C1C00000,$0000FFC0,$FFFE0000,$00010000
	DC.L	$0001007F,$7F808000,$0000FF80,$FFFF0000,$00000000,$000081FF,$42003C00,$00007E00
	DC.L	$FFFF0000,$00000000,$0000C0FF,$3F000000,$00003F00,$FFFF0000,$00000000,$0000003F
	DC.L	$F0C00F00,$0000FFC0,$FFFE0001,$00000000,$0001001F,$EF601F80,$0000FFE0,$FFFC0003
	DC.L	$00000000,$0003000F,$DAB038C0,$0700FFF0,$FFFC0002,$00000000,$0003000F,$55503260
	DC.L	$0F80FFF0,$FFF80006,$00000000,$00070007,$5AD83760,$0F80FFF8,$FFF80006,$00000000
	DC.L	$00070007,$55583260,$0F80FFF8,$FFF80006,$00000000,$00070007,$5AD838E0,$0700FFF8
	DC.L	$FFF80006,$00000000,$00070007,$5FB83FC0,$0000FFF8,$FFF80002,$00040000,$00070007
	DC.L	$5F583F80,$0000FFF8,$FFF80003,$00040000,$00070007,$20B81F00,$0000FFF8,$FFFC0001
	DC.L	$00020000,$0003000F,$9F300000,$0000FFF0,$FFFC0001,$00020000,$0003000F,$80700000
	DC.L	$0000FFF0,$FFFE0000,$00010000,$0001001F,$E0E00000,$0000FFE0,$FFFF0000,$00000000
	DC.L	$0000003F,$3FC0C000,$0000FFC0,$FFFF0000,$00000000,$0000C0FF,$21001E00,$00003F00
	DC.L	$FFFF0000,$00000000,$0000E07F,$1F800000,$00001F80,$FFFF0000,$00000000,$0000801F
	DC.L	$78600780,$00007FE0,$FFFF0000,$00000000,$0000000F,$F7B00FC0,$0000FFF0,$F