.COMMENT**************************************************************** .COMMENT * .COMMENT CRT DRIVER USER'S MANUAL * .COMMENT * .COMMENT**************************************************************** .COMMENT * .COMMENT TITLE AND REVISION PAGES * .COMMENT * .COMMENT**************************************************************** .NO NUMBER .CENTER ;MOSTEK CRT DRIVER USER'S GUIDE .PAGE .CENTER ;MOSTEK CRT DRIVER USER'S GUIDE .PAGE .LITERAL .END LITERAL .CENTER ;MOSTEK CRT DRIVER USER'S GUIDE .SKIP 3 .CENTER ;FOR .SKIP 3 .CENTER ;SOFTWARE RELEASE 2.1 .SKIP 3 .CENTER ;BY .SKIP 3 .CENTER ;KEVIN KLUGHART .PAGE .CENTER 70;CONTENTS .SKIP 2 .REQUIRE "CRT.RNT" .AUTOPARAGRAPH .AUTOSUBTITLE .FLAGS CAPITALIZE .LEFT MARGIN 0 .NUMBER PAGE 1 .PAGE SIZE 58,60 .PAGE .NUMBER PAGE 1 .COMMENT**************************************************************** .COMMENT * .COMMENT GENERAL INFORMATION * .COMMENT * .COMMENT**************************************************************** .SUBTITLE MOSTEK VAX/RJE USER'S MANUAL .CHAPTER GENERAL INFORMATION .DISPLAY CHAPTER .DATE .PAGE .HEADER LEVEL 1 SUMMARY .SKIP 5 This manual describes the operation of the VAX/VMS universal CRT terminal driver interface currently implemented on the VAX-11/780 computer system at MOSTEK. This document supersedes all previous documentation concerning the CRT (VT100) driver, whether written or oral. This is release 2.1 of the terminal driver package. Release 1.0 (08-03-79) supported only VT100 video terminals and was very narrow in its scope of operation and available functions. This release has been renamed CRT driver to emphasize the new transparency which comes with the inclusion of other video as well as hardcopy terminals in the range of supported interface devices. This release is designed to support the following terminals: .SKIP .LEFT MARGIN +10 .NOFILL DEC VT100 with advanced video option (AVO) DEC VT52 DEC LA36 DECWRITER II DEC LA120 DECWRITER III Datamedia DT80/1 Intelligent Systems Corp. 8001 color graphics Hewlett-Packard HP264X series PRINTRONIX Model 300/600 Printers QUME Corp. SPRINT 5 series .SKIP .FILL .LEFT MARGIN -10 In addition, for those terminals which support auxiliary I/O ports, the new release of the CRT driver fully supports BOTH terminals in such a configuration. This capability is designed to be upward compatible with future support of several on-line color graphics terminals tied to the auxiliary I/O ports of the existing video terminals at Mostek. Users of this software package are urged to read fully the following documentation, as there have been many changes in this software with release 2.1. The major changes involve the following: .SKIP .LEFT MARGIN +10 .NOFILL 1. Support of more terminals 2. Support of auxiliary I/O interface 3. Dynamic determination of terminal type 4. Increased driver speed (2X to 5X) 5. Reduction of unnecessary I/O 6. Cursor position report 7. Elimination of terminal width limits 8. Addition of SENSE MODE and SET MODE 9. Elimination of auxiliary I/O bugs .FILL .LEFT MARGIN -10 .PAGE .HEADER LEVEL 1 DESCRIPTION .SKIP 5 The CRT driver was designed in the summer of 1979 as a unified and consistent method of accessing the graphics and control functions of the VT100 terminal from high level languages such as FORTRAN, COBOL, BASIC and PASCAL. To this end a software package consisting of approximately 40 entrypoints was developed to interface the general FORTRAN or COBOL user with the advanced screen control and graphics functions of the VT100 and DT80/1 terminals. In this fashion, the burdon of issuing control and graphics commands could be carried by a set of utility subroutines, thus freeing the applications programmer to concentrate on the task of the applications program. In addition, this method of unifying the control functions within one single piece of software serves to reduce the amount of software that has to be written and in addition tends to make the software which is written easier to read, as the control function entrypoints have standardized naming conventions. This method of CRT control is fast, efficient, and will reduce the software development time of most graphics applications by 100_% or more. In addition, a great deal of hardware compatibility can be maintained with respect to future display terminals. This hardware compatibility is the result of a sharp division between interfacial and algorithmic code segments. As stated by Harvy A. Cohen and Rhys S. Francis: .SKIP .LEFT MARGIN +5 .RIGHT MARGIN -5 To make any headway on the problem of code production and update it is necessary to examine the nature of the software changes induced by hardware configuration changes. Major portions of any well-structured code are unaltered by such changes. To eliminate once and for all the sheer messiness of having to make innumerable tiny alterations in what had been functional code, we need to erect a barrier within the software. Outside the barrier lies software not affected by hardware configuration changes. This software is essentially configuration-free; we call it algorithmic software. Within the barrier lies the intefacial software, including such items as input, output, and timing routines, special execution mode routines, and interrupt handlers. Our development strategy requires that properly constructed programs should never directly penetrate the barrier between algorithmic and interfacial code. Instead, all communication between the two must be via specially provided bridges or links. .SKIP COMPUTER, February, 1979 .LEFT MARGIN -5 .RIGHT MARGIN +5 .SKIP It is the function of the CRT driver to provide such bridges or links for terminal graphics and control functions. Although the software is relatively young, it has proven worthy of CAD standardization as the unified method of providing terminal control functions in FORTRAN and COBOL programs. Due to the unique structure of the CRT driver, the addition of additional terminal types in the knowledge base of the driver is extremely simple. Requests for such inclusions should be made to the author. .PAGE .HEADER LEVEL 1 STRUCTURE .SKIP 5 The CRT driver is structured as a set of several VAX/VMS FORTRAN V2.0 programs which contain a single entrypoint for each function required by the terminal hardware to be controlled. This software is located in SYS$SYSDISK:[SYSLIB.MOSTEK] in a source file named CRT.FOR. This module is compiled and then inserted in the SYS$SYSDISK:[SYSLIB]STARLET.OLB system object code library. At this point the entrypoints become globally defined, and are automatically included in a user's program at LINK time if they are referenced. This allows the general user population the benefits of driver package with none of the overhead associated with its initial generation and debugging. Users are encouraged to examine and study the [SYSLIB.MOSTEK] subdirectory and the CRT driver module CRT.FOR. This source module conforms to strict Mostek coding practices and should serve as a guide to writing effective and well documented user application programs. .PAGE .CHAPTER USING THE CRT DRIVER .DISPLAY CHAPTER .PAGE .HEADER LEVEL 1 Initialization and Exit .SKIP 5 The initialization and exit routines of the CRT driver have changed with release 2.0. The philosophy of release 1.0 was to initialize the terminal parameters for a specific configuration .INDEX 0. .LEFT MARGIN -10 .SKIP Reference the VAX/VMS I/O USER'S GUIDE for further information on how to interpret the above status fields. .PAGE .HEADER LEVEL 2 CRT__SET__MODE(CLASS,TYPE,PAGWID,PAGLEN,TRMCHR) .SKIP 5 This entrypoint sets the current software terminal configuration of the terminal line as seen by the VAX/VMS operating system as follows: .SKIP 2 .LEFT MARGIN +10 CLASS is the device class of the terminal .SKIP TYPE is the terminal type mask .SKIP PAGWID is the page width of the terminal .SKIP PAGLEN is the page length of the terminal .SKIP TRMCHR is the terminal characteristics mask .LEFT MARGIN -10 .SKIP Reference the VAX/VMS I/O USER'S GUIDE for further information on how to interpret the above SET__MODE status fields. Complement to the CRT__SENSE__MODE entrypoint. .PAGE .INDEX