home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 12: Textmags & Docs / nf_archive_12.iso / MAGS / SOURCES / ATARI_SRC.ZIP / atari source / HDX_BACK / MVICON / LINE.S < prev    next >
Encoding:
Text File  |  2001-02-09  |  1.8 KB  |  81 lines

  1.  
  2. COLBIT0    equ    $018
  3. COLBIT1    equ    $01A
  4. COLBIT2    equ    $01C
  5. COLBIT3    equ    $01E
  6. LSTLIN    equ    $020
  7. LNMASK    equ    $022
  8. WMODE    equ    $024
  9. X1        equ    $026
  10. Y1        equ    $028
  11. X2        equ    $02A
  12. Y2         equ    $02C
  13. PATPTR     equ    $02E
  14. PATMSK    equ    $032
  15. MFILL    equ    $034
  16.  
  17. ;------------------------------------------
  18. ;
  19. ; _vertline(X1,Y1,X2,Y2)
  20. ; WORD    X1         4(sp)
  21. ; WORD    Y1         6(sp)
  22. ; WORD    X2         8(sp)
  23. ; WORD    Y2         a(sp)
  24. ;
  25. ; draw a solid vertical line form (X1,Y1) to (X2,Y2)
  26.  
  27.  
  28.         .globl    _vertline
  29.  
  30. _vertline:
  31.  
  32.         dc.w     $A000                ; Make line a Init call
  33.         move.w    #1, COLBIT0(a0)        ; set COLBIT variables
  34.         move.w    #1, COLBIT1(a0)
  35.         move.w    #1, COLBIT2(a0)
  36.         move.w    #1, COLBIT3(a0)
  37.         move.w    #0, LSTLIN(a0)        ; draw last pixel of line
  38.         move.w    #$FFFF, LNMASK(a0)    ; line style mask
  39.         move.w    #0, WMODE(a0)        ; writing mode (replace)
  40.         move.w     4(sp), X1(a0)            ; (x1,y1) and (x2, y2) into
  41.         move.w     6(sp), Y1(a0)            ; appropriate variables
  42.         move.w     8(sp), X2(a0)
  43.         move.w     $a(sp), Y2(a0)
  44.         dc.w    $A003                ; Arbitrary Line
  45.         rts
  46.  
  47.  
  48. ;------------------------------------------
  49. ;
  50. ; _horiline(X1,Y1,X2)
  51. ; WORD    X1         4(sp)
  52. ; WORD    Y1         6(sp)
  53. ; WORD    X2         8(sp)
  54. ;
  55. ; draw a solid horizontal line form (X1,Y1) to (X2,Y1)
  56.  
  57.         .globl    _horiline
  58.  
  59. _horiline:
  60.  
  61.         dc.w     $A000                ; Make line a Init call
  62.         move.w    #1, COLBIT0(a0)        ; set COLBIT variables
  63.         move.w    #1, COLBIT1(a0)
  64.         move.w    #1, COLBIT2(a0)
  65.         move.w    #1, COLBIT3(a0)
  66.         move.w    #0, WMODE(a0)        ; writing mode (replace)
  67.         move.w     4(sp), X1(a0)        ; (x1,y1) and (x2, y2) into
  68.         move.w     6(sp), Y1(a0)        ; appropriate variables
  69.         move.w     8(sp), X2(a0)
  70.         move.l    #pat, PATPTR(a0)    ; pattern pointer
  71.         move.w     #0,PATMSK(a0)        ; Pattern length n-1=0
  72.         move.w     #0,MFILL(a0)        ; Multiple Plane fill off
  73.         dc.w    $A004                ; Arbitrary Line
  74.         rts
  75.  
  76. .data
  77. pat:     dc.w    $F0F0                ; Pattern for line.
  78.  
  79.  
  80.  
  81.