Trailing-Edge
-
PDP-10 Archives
-
decuslib20-04
-
decus/20-0125/getptr.for
There is 1 other file named getptr.for in the archive. Click here to see a list.
SUBROUTINE GETPTR(DISNUM, X, Y)
C***********************************************************
C
C THIS ROUTINE IS USED TO RETURN THE USER CO-ORDINATES
C OF A POINTER.
C
C POSSIBLE ERRORS:
C ?REQUESTING INVALID POINTER (I.E. BAD USER CALL)
C ?INVALID REPLY TO A POINTER REQUEST
C
C ROUTINES CALLED:
C SEND - SENDS A COMMAND TO THE GT40
C GET - RECEIVES A STATUS TRANSMISSION FROM THE GT40
C USERX - CONVERTS RASTER IX TO USER X
C USERY - CONVERTS RASTER IY TO USER Y
C ERROR - ERROR LOGGING ROUTINE
C
C***********************************************************
INTEGER DISNUM, DNUM, STATUS
100 IF(DISNUM.NE.4 .AND. DISNUM.NE.5) GO TO 200
CALL SEND(DISNUM, DISNUM, 0, 0)
CALL GET(STATUS, IX, IY, DNUM)
IF(STATUS .EQ. "66) GO TO 100
IF(STATUS .NE. 0) GO TO 300
X = USERX(IX)
Y = USERY(IY)
RETURN
200 CALL ERROR('?TRYING TO REQUEST INVALID POINTER =',DISNUM)
RETURN
300 CALL ERROR('?INVALID REPLY TO POINTER REQUEST, STATUS=',STATUS)
RETURN
END