.MCALL .MODULE .MODULE VTCAL3,VERSION=02,COMMENT= ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. .ENABL GBL .IF NDF NOTRAK .SBTTL TRACKING OBJECT ROUTINE ; THIS ROUTINE ENABLES THE TRACKING OBJECT AND SETS UP ; POINTERS TO LOCATIONS WHERE AN INITIAL X AND Y POSITION ; ARE LOCATED. THESE ARE INSERTED INTO THE DISPLAY FILE. ; AS THE OBJECT MOVES, SUBSEQUENT VALUES OF X AND Y ARE ; RETURNED IN THE SAME LOCATIONS. DJSR=173400 DJMP=160000 .PSECT $GT3 $VTRAK::TST R0 ;NULL CALL? BNE 1$ ;NO MOV #DJMP,$CTRAK ;YES,DISABLE TRACK OBJ. CLR $TRAKC ;CLEAR COMPL. ROUT. ADDR. BR 2$ 1$: MOV R0,$XSTOR ;SAVE ADDR OF X VALUE MOV (R0)+,$XT ;TRANSFER THE X VALUE MOV R0,$YSTOR ;SAVE ADDR OF Y VALUE MOV (R0),$YT ;TRANSFER Y VALUE MOV #DJSR,$CTRAK ;ENABLE THE TRACK OBJECT MOV 2(SP),$TRAKC ;SET UP COMPL. ROUT ADDR 2$: MOV (SP)+,(SP) ;CLEAR OUT STACK RTS PC .ENDC .IF NDF NOLPEN .SBTTL LIGHT PEN SETUP ROUTINE ; THIS ROUTINE SETS UP A POINTER TO A USER BUFFER AREA WHERE ; STATUS DATA WILL BE RETURNED ON LP HITS. THE FIRST ; LOCATION OF THE BUFFER IS TREATED AS A FLAG AND WILL BE ; SET TO ONE WHEN A HIT OCCURS AND DATA IS TRANSFERRED. NO ; MORE DATA WILL BE XFERED UNTIL THE USER CLEARS THE FLAG. ; THIS ROUTINE INITIALLY CLEARS THE FLAG. ; STATUS DATA XFERED IS: NAME REGISTER,SUBPICTURE TAG,DPC,DSR, ; XSR,YSR. $VLPEN::MOV R0,$LPBUF ;STORE USER BUFFER ADDR. CLR (R0) ;INITIALLY CLEAR FLAG RTS PC .ENDC .IF NDF NOSTAT .SBTTL STATUS BUFFER SETUP ROUTINE ; THIS ROUTINE SETS UP APOINTER TO A USER BUFFER AREA WHERE ; STATUS DATA WILL BE TRANSFERRED ON RECEIPT OF A DHALT ; OR DSTAT. THE SAME BUFFER STRUCTURE AND ; STATUS DATA DESCRIBED FOR THE LIGHT PEN ROUTINE APPLY ; HERE. THE DISPLAY IS LEFT STOPPED. THE USER MUST DETECT THE ; FLAG AND ISSUE A RESUME. $VSTPM::MOV R0,$TATBF ;SAVE THE STATUS BUFFER AREA CLR (R0) ;CLEAR THE FLAG INITIALLY RTS PC .ENDC .SBTTL POWER LINE SYNC ROUTINE ; THIS ROUTINE HAS TWO ENTRY POINTS. IT IS USED TO ENABLE ; AND DISABLE POWER LINE SYNC IN THE VT11 PROCESSOR. $NOSYN::MOV #170240,$LSRA ;TURN SYNC OFF RTS PC $SYNC:: MOV #170244,$LSRA ;TURN SYNC ON RTS PC .IF NDF NONAME .SBTTL NAME REGISTER STACK RETURN ROUTINE ; THIS ROUTINE SETS UP A POINTER TO THE BUFFER WHERE THE ; NAME REGISTER STACK CONTENTS WILL BE RETURNED ON A LIGHT ; PEN INTERRUPT. THE BUFFER SIZE MUST BE STACK SIZE (RETURNED ; IN R0 BY .LNKRT) PLUS ONE. THE FIRST BYTE WILL HAVE THE ; STACK DEPTH AND THE SECOND BYTE WILL BE NON-ZERO TO FLAG ; RETURN OF THE DATA. NO FURTHER TRANSFERS WILL BE MADE UNTIL ; THIS FLAG IS CLEARED (IT IS CLEARED INITIALLY BY THE CALL TO .NAME. $NAME:: MOV R0,$NRBUF ;SAVE PTR TO BUFR CLR @R0 ;CLEAR FLAG RTS PC .ENDC .END