home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / program / pascal / pas_lina / linea.s < prev    next >
Text File  |  1987-11-29  |  4KB  |  177 lines

  1.  
  2. ****************************************
  3. **   LINE A CALLS DONE TO HELP WITH   **
  4. **       PERSONAL PASCAL II.          **
  5. ****************************************
  6.  
  7. **  FUNCTION LINEA_INIT            **
  8. **  RETURNS ADDRESS OF LINEA VARIABLES **
  9. **  AND SAVES ADDRESS FOR LATER USE    **
  10. **    - needs nothing -            **
  11.  
  12.            .globl    LINEA_INIT
  13.  
  14. LINEA_INIT:       .dc.w     $A000
  15.            move.l    D0,LINEA_VARS
  16.            rts
  17.  
  18.  
  19.            .even
  20. LINEA_VARS:       .dc.l     $0000        * pointer to LINEA variables
  21.  
  22.  
  23.  
  24. **  FUNCTION LINEA_PUTPIXEL           **
  25. **  x in ptsin(0),               **
  26. **  y in ptsin(1)               **
  27. **  color in intin(0)               **
  28.  
  29.            .globl    LINEA_PUTPIXEL
  30.  
  31. LINEA_PUTPIXEL:    .dc.w     $A001
  32.            rts
  33.  
  34.  
  35.  
  36. **  FUNCTION LINEA_GETPIXEL           **
  37. **  x in ptsin(0),               **
  38. **  y in ptsin(1)               **
  39. **  returns color as an integer        **
  40.  
  41.            .globl    LINEA_GETPIXEL
  42.  
  43. LINEA_GETPIXEL:    .dc.w     $A002
  44.            rts
  45.  
  46.  
  47.  
  48. **  FUNCTION LINEA_LINE            **
  49. **    -  See system docs -           **
  50. **                       **
  51.  
  52.            .globl    LINEA_LINE
  53.  
  54. LINEA_LINE:       .dc.w     $A003
  55.            rts
  56.  
  57.  
  58.  
  59. **    FUNCTION LINEA_HLINE           **
  60. **    -  See system docs -           **
  61. **                       **
  62.  
  63.            .globl    LINEA_HLINE
  64.  
  65. LINEA_HLINE:       .dc.w     $A004
  66.            rts
  67.  
  68.  
  69.  
  70. **    FUNCTION LINEA_RCT           **
  71. **    -  See system docs -           **
  72. **                       **
  73.  
  74.            .globl    LINEA_RCT
  75.  
  76. LINEA_RCT:       .dc.w     $A005
  77.            rts
  78.  
  79.  
  80.  
  81. **    FUNCTION LINEA_PLY           **
  82. **    -  See system docs -           **
  83. **                       **
  84.  
  85.            .globl    LINEA_PLY
  86.  
  87. LINEA_PLY:       .dc.w     $A006
  88.            rts
  89.  
  90.  
  91.  
  92. **    FUNCTION LINEA_TEXTBLT           **
  93. **    -  See system docs -           **
  94. **                       **
  95.  
  96.            .globl    LINEA_TXTBLT
  97.  
  98. LINEA_TEXTBLT:      .dc.w     $A008
  99.            rts
  100.  
  101.  
  102.  
  103. **    FUNCTION LINEA_SHOWMS           **
  104. **    -  See system docs -           **
  105. **                       **
  106.  
  107.            .globl    LINEA_SHOWMS
  108.  
  109. LINEA_SHOWMS:       .dc.w     $A009
  110.            rts
  111.  
  112.  
  113.  
  114. **    FUNCTION LINEA_HDCURS           **
  115. **    -  See system docs -           **
  116. **                       **
  117.  
  118.            .globl    LINEA_HDCURS
  119.  
  120. LINEA_HDCURS:       .dc.w     $A00A
  121.            rts
  122.  
  123.  
  124.  
  125. **    FUNCTION LINEA_TRANMS           **
  126. **    -  See system docs -           **
  127. **                       **
  128.  
  129.            .globl    LINEA_TRANMS
  130.  
  131. LINEA_TRANMS:       .dc.w     $A00B
  132.            rts
  133.  
  134.  
  135.  
  136. **    FUNCTION UNDRAW_SPRITE           **
  137. **    -  See system docs -           **
  138. **                       **
  139.  
  140.            .globl    UNDRAW_SPRITE
  141.  
  142. UNDRAW_SPRITE:       move.l    A6,STOREA6     * Save A6 from destruction!
  143.            move.l    (A7)+,D3        * Get return address
  144.            move.l    (A7)+,A2        * Get address of Sprite Save Block
  145.            move.l    D3,-(A7)         * Restore return address
  146.            .dc.w     $A00C        * Do the undraw_sprite
  147.            move.l    STOREA6,A6     * Restore A6
  148.            rts
  149.  
  150.            .even
  151. STOREA6:       .dc.l     $0000
  152.  
  153. **    FUNCTION DRAW_SPRITE           **
  154. **    -  See system docs -           **
  155. **                       **
  156.  
  157.            .globl    DRAW_SPRITE
  158.  
  159. DRAW_SPRITE:       move.l    A6,STOREA6     * Save A6 from destruction!
  160.            move.l    (A7)+,D3        * Get return address
  161.            move.l    (A7)+,A2        * Get address of Sprite Save Block
  162.            move.l    (A7)+,A0        * Get modified Sprite Define Block
  163.            move.l    D3,-(A7)        * Restore return address
  164.            clr.l     D0         * Clear D0 & D1 for X,Y data
  165.            clr.l     D1         *
  166.            move.w    (A0)+,D0        * Should load X
  167.            move.w    (A0)+,D1        * Should load Y
  168.            .dc.w     $A00D        * Do the draw_sprite
  169.            move.l    STOREA6,A6     * Restore A6
  170.            rts
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.