	jmp	$20000
	org	$20000
	load	$20000

>extern	"gfx/aaasprites",$545ae

gfxmem = $40000
sprites = $545ae
spranz = 180*2

s:	lea	gfxmem,a0
	move.w	#40*256/4-1,d0
cloop1:	clr.l	(a0)+
	dbf	d0,cloop1

	lea	sprites,a0
	move.l	#$80909680,d0
	moveq	#spranz/4-1,d1
cloop2:	move.l	d0,(a0)
	eori.b	#$80,d0
	move.l	d0,$60(a0)
	subi.l	#$00080000,d0
	eori.b	#$80,d0
	move.l	d0,$c0(a0)
	eori.b	#$80,d0
	move.l	d0,$120(a0)
	addi.l	#$00080000,d0
	eori.b	#$80,d0
	lea	$180(a0),a0
	dbra	d1,cloop2
	moveq	#0,d2
	bsr	pr_reg

	lea	spr0+2(pc),a0
	move.l	#sprites+$120,d0
	bsr	split
	moveq	#2,d1
loop2:	addq.l	#8,a0
	subi.w	#$60,d0
	bsr	split
	dbf	d1,loop2

	move.w	#$83a0,$dff096
	move.l	#copperlist,$dff080
	moveq	#0,d7

lmb:	btst	#10,$dff016
	beq.s	normit
	btst	#6,$bfe001
	bne.s	lmb

	bsr.s	next_sprite
	move.w	#$8000,d1
lmb2:	btst	#6,$bfe001
	dbne	d1,lmb2
	tst.w	d1
	bpl.s	lmb
loop3:	bsr.s	next_sprite
	move.w	#$4000,d1
lmb3:	btst	#6,$bfe001
	dbne	d1,lmb3
	tst.w	d1
	bmi.s	loop3
	bra.s	lmb

normit:	move.l	#$420,d1
	tst.w	$4.w
	bne.s	norm1
	move.l	#$22f8,d1
norm1:	move.l	d1,$dff080
	rts

split:	move.w	d0,4(a0)
	swap	d0
	move.w	d0,(a0)
	swap	d0
	rts

next_sprite:
	addq.w	#1,d7
	cmpi.w	#spranz/4,d7
	bcs.s	cont1
	moveq	#0,d7
	move.l	#sprites-$180,d0
cont1:	move.w	d7,d2
	bsr.s	pr_reg
	lea	spr0+2(pc),a0
	addi.w	#$180+$120,d0
	bsr.s	split
	moveq	#2,d1
loop1:	addq.l	#8,a0
	subi.w	#$60,d0
	bsr.s	split
	dbf	d1,loop1
	rts

pr_reg:	;d2=reg
	lea	gfxmem+1,a1
	moveq	#1,d5
prloop2:lea	font(pc),a2
	move.w	d2,d3
	andi.w	#$000f,d3
	move.w	d3,d4
	lsl.w	#2,d3
	add.w	d4,d3
	adda.w	d3,a2
	moveq	#4,d4
prloop1:move.b	(a2)+,(a1)
	lea	40(a1),a1
	dbf	d4,prloop1
	lea	-40*5-1(a1),a1
	lsr.w	#4,d2
	dbf	d5,prloop2
	rts

copperlist:
	dc.w	$0180,$000,$0182,$fff
	dc.w	$008e,$2681,$0090,$26c1,$0092,$38,$0094,$d0
	dc.w	$00e0,$0004,$00e2,$0000
spr0:	dc.w	$0120,$0000,$0122,$0478
	dc.w	$0124,$0000,$0126,$0478
spr1:	dc.w	$0128,$0000,$012a,$0478
	dc.w	$012c,$0000,$012e,$0478
	dc.w	$0130,$0000,$0132,$0478
	dc.w	$0134,$0000,$0136,$0478
	dc.w	$0138,$0000,$013a,$0478
	dc.w	$013c,$0000,$013e,$0478
	dc.w	$01a0,$000,$01a2,$fff,$01a4,$f00,$01a6,$f90
	dc.w	$01a8,$ff0,$01aa,$a60,$01ac,$bbb,$01ae,$666
	dc.w	$01b0,$740,$01b2,$000,$01b4,$08f,$01b6,$b00
	dc.w	$01b8,$000,$01ba,$000,$01bc,$000,$01be,$000
	dc.w	$2601,$ff00,$0100,$1200
	dc.w	$ffe1,$ffee		;copper +255
	dc.w	$2601,$ff00,$0100,$0000
	dc.w	$ff01,$ffee		;copper end

font:	dc.b	%01111110
	dc.b	%01100110
	dc.b	%01100110
	dc.b	%01100110
	dc.b	%01111110

	dc.b	%00001100
	dc.b	%00011100
	dc.b	%00001100
	dc.b	%00001100
	dc.b	%00011110

	dc.b	%01111110
	dc.b	%00000110
	dc.b	%01111110
	dc.b	%01100000
	dc.b	%01111110

	dc.b	%01111110
	dc.b	%00000110
	dc.b	%00011110
	dc.b	%00000110
	dc.b	%01111110

	dc.b	%01100000
	dc.b	%01101100
	dc.b	%01111110
	dc.b	%00001100
	dc.b	%00001100

	dc.b	%01111110
	dc.b	%01100000
	dc.b	%01111110
	dc.b	%00000110
	dc.b	%01111110

	dc.b	%01111110
	dc.b	%01100000
	dc.b	%01111110
	dc.b	%01100110
	dc.b	%01111110

	dc.b	%01111110
	dc.b	%00000110
	dc.b	%00001100
	dc.b	%00011000
	dc.b	%00110000

	dc.b	%01111110
	dc.b	%01100110
	dc.b	%01111110
	dc.b	%01100110
	dc.b	%01111110

	dc.b	%01111110
	dc.b	%01100110
	dc.b	%01111110
	dc.b	%00000110
	dc.b	%01111110

	dc.b	%01111110
	dc.b	%01100110
	dc.b	%01111110
	dc.b	%01100110
	dc.b	%01100110

	dc.b	%01111100
	dc.b	%01100110
	dc.b	%01111100
	dc.b	%01100110
	dc.b	%01111100

	dc.b	%01111110
	dc.b	%01100000
	dc.b	%01100000
	dc.b	%01100000
	dc.b	%01111110

	dc.b	%01111100
	dc.b	%01100110
	dc.b	%01100110
	dc.b	%01100110
	dc.b	%01111100

	dc.b	%01111110
	dc.b	%01100000
	dc.b	%01111000
	dc.b	%01100000
	dc.b	%01111110

	dc.b	%01111110
	dc.b	%01100000
	dc.b	%01111000
	dc.b	%01100000
	dc.b	%01100000
