home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 607.lha / FracBlank_v1.8 / Plot.asm < prev    next >
Assembly Source File  |  1992-01-05  |  1KB  |  75 lines

  1. * $Revision Header * Header built automatically - do not edit! *************
  2. *
  3. *    (C) Copyright 1990 by Olaf Barthel & MXM
  4. *
  5. *    Name .....: Plot.asm
  6. *    Created ..: Friday 18-Jun-91 15:28
  7. *    Revision .: 2
  8. *
  9. *    Date            Author          Comment
  10. *    =========       ========        ====================
  11. *    16-Aug-91    Olsen        Added multiplane plot
  12. *    18-Jun-91    Olsen        Created this file!
  13. *
  14. * $Revision Header *********************************************************
  15.  
  16.     csect    text,0,0,1,2
  17.  
  18.     include    "intuition/intuition.i"
  19.     include    "graphics/rastport.i"
  20.     include    "graphics/gfx.i"
  21.  
  22.     xdef    _MultiPlot
  23.  
  24. _MultiPlot:
  25.     cmp.w    sc_Width(a0),d0
  26.     bcc    quit
  27.  
  28.     cmp.w    sc_Height(a0),d1
  29.     bcc    quit
  30.  
  31.     movem.l    d3/d4,-(sp)
  32.  
  33.     move.l    sc_RastPort+rp_BitMap(a0),a0
  34.     moveq    #0,d4
  35.     move.w    bm_BytesPerRow(a0),d4
  36.     move.b    bm_Depth(a0),d3
  37.     lea.l    bm_Planes(a0),a0
  38.  
  39.     mulu    d4,d1
  40.     move.l    d0,d4
  41.     lsr    #3,d0
  42.     add    d0,d1
  43.     not    d4
  44.     subq    #1,d3
  45.  
  46. loop    move.l    (a0)+,a1
  47.     lsr.b    #1,d2
  48.     bcc    clear
  49.     bset    d4,0(a1,d1)
  50.     dbra    d3,loop
  51.  
  52. exit    movem.l    (sp)+,d3/d4
  53. quit    rts
  54.  
  55. clear    bclr    d4,0(a1,d1)
  56.     dbra    d3,loop
  57.     bra    exit
  58.  
  59.     xdef    _MonoPlot
  60.  
  61. _MonoPlot:
  62.     cmp.w    d3,d0
  63.     bcc    1$
  64.     cmp.w    d4,d1
  65.     bcc    1$
  66.     mulu    d2,d1
  67.     move    d0,d2
  68.     lsr    #3,d0
  69.     add    d0,d1
  70.     not    d2
  71.     bset    d2,0(a0,d1)
  72. 1$    rts
  73.  
  74.     end
  75.