C
C THIS IS A SAMPLE PROGRAM SHOWING HOW TO HANDLE THE
C CURSOR AND CLEAR SCREEN FUNCTIONS IS A CRT
C
	PAUSE 'CLEAR SCREEN'
	CALL SCREEN (1,0,0)
C
C WRITE	THE LINE NUMBERS OUT FROM THE BOTTOM
C LINE TO THE TOP
C
	DO 10 I=23,0,-1
	CALL SCREEN (2,0,I)
	WRITE (1,2) I
2	FORMAT ('LINE ',I2,Z)
10	CONTINUE
C
C WAIT 5 SECONDS
C
	CALL DELAY (500)
C
C CLEAR	THE SCREEN AGAIN
C
	CALL SCREEN(1,0,0)
	ACCEPT 'ENTER ANY NUMBER ',A
	I=AMOD(A,300)+1
	DO 99 J=1,I
99	Z=RAND(0)
C
C AGAIN	CLEAR IT
C
	CALL SCREEN(1,0,0)
C
C NOW PUT RANDOM PLUS SIGNS ALL	OVER THE SCREEN
C
	DO 40 I=1,400
C
C GET NEXT SCREEN POSITION AND GO THERE
C
	CALL SCREEN(2,IFIX(RAND(0)*80),IFIX(RAND(0)*23))
C
C PUT THE + ON THE SCREEN
C
40	CALL PUT (CHAR('+',0))
C
	CALL DELAY(500)
C
C OUTPUT A BELL
C
	CALL SCREEN(5,0,0)
C
C CLEAR	IT NOW
C
	CALL SCREEN(1,0,0)
	CALL EXIT
	END
	SUBROUTINE SCREEN(FUNCT,X,Y)
C
C THIS IS A SAMPLE SCREEN DRIVER FOR AN	ADM-3A TERMINAL
C
	INTEGER	FUNCT,X,Y
	IF (FUNCT .LE. 0.OR.FUNCT .GT. 5)RETURN
C
C FUNCTION:
C
C	1=CLEAR	SCREEN
C	2=POSITION CURSOR
C	3=SET REVERSE VIDEO
C	4=SET NORMAL VIDEO
C	5=BELL
C
	GO TO (100,200,300,400,500),FUNCT
C
C CLEAR	SCREEN
C
100	CALL PUT (26)
	RETURN
C
C SET CURSOR TO	X,Y
C
200	CALL PUT(27)
	CALL PUT(61)
	CALL PUT(Y+32)
	CALL PUT(X+32)
	RETURN
C
C SET REVERSE VIDEO
C
300	RETURN
C
C SET NORMAL VIDEO
C
400	RETURN
C
C OUTPUT A BELL
C
500	CALL PUT(7)
	RETURN
	END
SET REVERSE VIDEO
C
300	RETURN
C
C SET NORMAL VID