	SUBROUTINE GSDRVR(IFXN,X,Y)
C
C
	COMMON /GCDSEL/ IDEV
	DATA MAXDEV /5/ !Remember to edit GSDNAM also.
C
C	SEE IF DEVICE EXISTS
C
	IF (IDEV .GT. 0 .AND. IDEV .LE. MAXDEV) GO TO 50
C
C	NON-EXISTANT DEVICE, SO SEE IF USER IS JUST ENQUIRING??
C
	IF (IFXN .NE. 7) RETURN
C
C	RETURN DEVICE TYPE EQUAL ZERO IF ENQUIRING ABOUT NON-EXISTANT
C	 DEVICE.
C
	X = 0.0
	RETURN
C
C	DISPATCH TO THE PROPER DRIVER
C
50	CONTINUE
	GO TO (100,200,300,400,500) IDEV
C
C	DEVICE 1 IS VT100 WITH RETRO-GRAPHICS
C
100	CALL GDRTRO(IFXN,X,Y)
	RETURN
C
C	DEVICE 2 IS TEK. 4025
C
200	CALL GD4025(IFXN,X,Y)
	RETURN
C
C	DEVICE 3 IS LEXIDATA
C
300	CALL GDLEX(IFXN,X,Y)
	RETURN
C
C	DEVICE 4 IS TEK 4105
C
400	CALL GD4105(IFXN,X,Y)
	RETURN
C
C	DEVICE 5 IS VISUAL 550
C
500	CALL GD550(IFXN,X,Y)
	RETURN
	END

	SUBROUTINE GSDNAM(IDEV,BNAME)
	BYTE BNAME(40)
C
C	THIS SUBROUTINE RETURNS THE DEVICE NAME OF THE SPECIFIED DEVICE
C	*********** DEVICE NAMES ARE LIMITED TO 39 CHARACTERS **********
C
C
	DATA MAXDEV /5/
C
	BNAME(1) = 0
	IF ((IDEV .LE. 0) .OR. (IDEV .GT. MAXDEV)) RETURN
	GO TO (100,200,300,400,500) IDEV
100	CALL SCOPY('VT100/RetroGraphics',BNAME)
	RETURN
200	CALL SCOPY('Tek. 4025',BNAME)
	RETURN
300	CALL SCOPY('Lexidata',BNAME)
	RETURN
400	CALL SCOPY('Tek. 4105',BNAME)
	RETURN
500	CALL SCOPY('Visual 550',BNAME)
	RETURN
	END
