**
**	FracBlank - AmigaDOS 2.04 commodities utility screenblanker
**
**	Copyright © 1991-1992 by Olaf `Olsen' Barthel
**		All Rights Reserved
**
**	Cosmic flame fractal code derived from xlock source code
**
**	Copyright © 1988-1991 by Patrick J. Naughton.
**

	csect	text,0,0,1,2

	include	"intuition/intuition.i"
	include	"graphics/rastport.i"
	include	"graphics/gfx.i"

	xdef	_MultiPlot

_MultiPlot:
	cmp.w	sc_Width(a0),d0
	bcc	quit

	cmp.w	sc_Height(a0),d1
	bcc	quit

	movem.l	d3/d4,-(sp)

	move.l	sc_RastPort+rp_BitMap(a0),a0
	moveq	#0,d4
	move.w	bm_BytesPerRow(a0),d4
	move.b	bm_Depth(a0),d3
	lea.l	bm_Planes(a0),a0

	mulu	d4,d1
	move.l	d0,d4
	lsr	#3,d0
	add	d0,d1
	not	d4
	subq	#1,d3

loop	move.l	(a0)+,a1
	lsr.b	#1,d2
	bcc	clear
	bset	d4,0(a1,d1)
	dbra	d3,loop

exit	movem.l	(sp)+,d3/d4
quit	rts

clear	bclr	d4,0(a1,d1)
	dbra	d3,loop
	bra	exit

	xdef	_MonoPlot

_MonoPlot:
	cmp.w	d3,d0
	bcc	1$
	cmp.w	d4,d1
	bcc	1$
	mulu	d2,d1
	move	d0,d2
	lsr	#3,d0
	add	d0,d1
	not	d2
	bset	d2,0(a0,d1)
1$	rts

	end
