
****************************************
**   LINE A CALLS DONE TO HELP WITH   **
**	   PERSONAL PASCAL II.	      **
****************************************

**  FUNCTION LINEA_INIT 	       **
**  RETURNS ADDRESS OF LINEA VARIABLES **
**  AND SAVES ADDRESS FOR LATER USE    **
**    - needs nothing - 	       **

		   .globl    LINEA_INIT

LINEA_INIT:	   .dc.w     $A000
		   move.l    D0,LINEA_VARS
		   rts


		   .even
LINEA_VARS:	   .dc.l     $0000	    * pointer to LINEA variables



**  FUNCTION LINEA_PUTPIXEL	       **
**  x in ptsin(0),		       **
**  y in ptsin(1)		       **
**  color in intin(0)		       **

		   .globl    LINEA_PUTPIXEL

LINEA_PUTPIXEL:    .dc.w     $A001
		   rts



**  FUNCTION LINEA_GETPIXEL	       **
**  x in ptsin(0),		       **
**  y in ptsin(1)		       **
**  returns color as an integer        **

		   .globl    LINEA_GETPIXEL

LINEA_GETPIXEL:    .dc.w     $A002
		   rts



**  FUNCTION LINEA_LINE 	       **
**    -  See system docs -	       **
**				       **

		   .globl    LINEA_LINE

LINEA_LINE:	   .dc.w     $A003
		   rts



**    FUNCTION LINEA_HLINE	       **
**    -  See system docs -	       **
**				       **

		   .globl    LINEA_HLINE

LINEA_HLINE:	   .dc.w     $A004
		   rts



**    FUNCTION LINEA_RCT	       **
**    -  See system docs -	       **
**				       **

		   .globl    LINEA_RCT

LINEA_RCT:	   .dc.w     $A005
		   rts



**    FUNCTION LINEA_PLY	       **
**    -  See system docs -	       **
**				       **

		   .globl    LINEA_PLY

LINEA_PLY:	   .dc.w     $A006
		   rts



**    FUNCTION LINEA_TEXTBLT	       **
**    -  See system docs -	       **
**				       **

		   .globl    LINEA_TXTBLT

LINEA_TEXTBLT:	  .dc.w     $A008
		   rts



**    FUNCTION LINEA_SHOWMS	       **
**    -  See system docs -	       **
**				       **

		   .globl    LINEA_SHOWMS

LINEA_SHOWMS:	   .dc.w     $A009
		   rts



**    FUNCTION LINEA_HDCURS	       **
**    -  See system docs -	       **
**				       **

		   .globl    LINEA_HDCURS

LINEA_HDCURS:	   .dc.w     $A00A
		   rts



**    FUNCTION LINEA_TRANMS	       **
**    -  See system docs -	       **
**				       **

		   .globl    LINEA_TRANMS

LINEA_TRANMS:	   .dc.w     $A00B
		   rts



**    FUNCTION UNDRAW_SPRITE	       **
**    -  See system docs -	       **
**				       **

		   .globl    UNDRAW_SPRITE

UNDRAW_SPRITE:	   move.l    A6,STOREA6     * Save A6 from destruction!
		   move.l    (A7)+,D3	    * Get return address
		   move.l    (A7)+,A2	    * Get address of Sprite Save Block
		   move.l    D3,-(A7)	     * Restore return address
		   .dc.w     $A00C	    * Do the undraw_sprite
		   move.l    STOREA6,A6     * Restore A6
		   rts

		   .even
STOREA6:	   .dc.l     $0000

**    FUNCTION DRAW_SPRITE	       **
**    -  See system docs -	       **
**				       **

		   .globl    DRAW_SPRITE

DRAW_SPRITE:	   move.l    A6,STOREA6     * Save A6 from destruction!
		   move.l    (A7)+,D3	    * Get return address
		   move.l    (A7)+,A2	    * Get address of Sprite Save Block
		   move.l    (A7)+,A0	    * Get modified Sprite Define Block
		   move.l    D3,-(A7)	    * Restore return address
		   clr.l     D0 	    * Clear D0 & D1 for X,Y data
		   clr.l     D1 	    *
		   move.w    (A0)+,D0	    * Should load X
		   move.w    (A0)+,D1	    * Should load Y
		   .dc.w     $A00D	    * Do the draw_sprite
		   move.l    STOREA6,A6     * Restore A6
		   rts






