home *** CD-ROM | disk | FTP | other *** search
- 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
- moveq #0,d3
- 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.l)
- dbra d3,loop
-
- exit movem.l (sp)+,d3/d4
- quit rts
-
- clear bclr d4,0(a1,d1.l)
- 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
-