; Conv24ToGrey(dst:a0:PTR TO chunky,src:a1:PTR TO chunky32)

	machine	mc68020

	xdef	_Conv24ToGrey
_Conv24ToGrey
	movem.l	d2-d3,-(a7)
	move.l	(4,a0),d2
	muls.l	(a0),d2		; d2 contains count of pixels
	move.l	(8,a0),a0		; dst8
	move.l	(8,a1),a1		; src32
.loop	move.l	(a1)+,d0

	move.l	d0,d1
	move.l	d0,d3
	lsr.l	#8,d1
	lsr.l	#8,d3
	lsr.l	#8,d3
	and.l	#$ff,d0
	and.l	#$ff,d1
	and.l	#$ff,d3
	add.l	d1,d0
	add.l	d3,d0
	divs.l	#3,d0

	move.b	d0,(a0)+
	subq.l	#1,d2
	bgt.s	.loop
	movem.l	(a7)+,d2-d3
	rts
