Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-03 - decus/20-0081/vttam.doc
There is 1 other file named vttam.doc in the archive. Click here to see a list.




  V T T A M   S O F T W A R E   D O C U M E N T A T I O N


                         TONY LAUCK
                        JULY 2,1971
                    REVISED JULY 1,1972






          THE INFORMATION IN THIS DOCUMENT IS SUBJECT  TO  CHANGE
     WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS COMMITTMENT BY
     DIGITAL EQUIPMENT CORPORATION.

          ACTUAL DISTRIBUTION OF THE SOFTWARE DESCRIBED  IN  THIS
     DOCUMENT  WILL BE SUBJECT TO TERMS AND CONDITIONS DETERMINED
     AT SOME FUTURE DATE BY DIGITAL EQUIPMENT CORPORATION.
vttam documentation                                 PAGE   2
GENERAL


1.0 GENERAL OVERVIEW


     VTTAM IS A SOFTWARE PACKAGE TO  ALLOW  A  COBOL  PROGRAM  TO
     COMMUNICATE  EFFECIENTLY  WITH A NUMBER OF VT05 ALPHANUMERIC
     CRT TERMINALS ON A TRANSACTION  BASIS.   THIS  PACKAGE  WILL
     ASSIST  IN  CONVERSION  OF  APPLICATIONS PACKAGES ORIGINALLY
     WRITTEN FOR IBM SYSTEMS AND BASED ON THE  IBM  2260  DISPLAY
     TERMINAL.  THE COBOL APPLICATIONS PROGRAM CAN ERASE OR WRITE
     ON ANY ONE OF SEVERAL TERMINALS,  OR  CAN  GO  INTO  A  WAIT
     CONDITION  UNTIL A COMPLETE TRANSACTION IS RECEIVED FROM ANY
     ONE OF THE TERMINALS.

     TERMINAL ORIENTED SOFTWARE ENABLES THE VT05 TO FUNCTION LIKE
     AN  IBM  2260.  THE USER CAN EDIT HIS SCREEN IMAGE USING THE
     CURSOR POSITIONING CONTROLS ON THE VT05 KEYBOARD,  AND  WHEN
     HE IS SATISFIED CAN CAUSE A COMPLETE SCREEN IMAGE TO BE SENT
     TO THE COBOL PROGRAM BY PRESSING "ESC".

     SHOULD SEVERAL TERMINALS REQUEST  SERVICE  FASTER  THAN  THE
     APPLICATIONS  PROGRAM CAN SERVICE THEM, THE REQUESTS WILL BE
     QUEUED ON A FIRST COME,  FIRST  SERVED  BASIS.   HOWEVER,  A
     GIVEN  TERMINAL  CAN  HAVE  AT  MOST ONE REQUEST QUEUED, AND
     SUBSEQUENT "ESC"S FROM THAT TERMINAL WILL BE IGNORED.

     THE COBOL APPLICATIONS PROGRAM SHOULD BE WRITTEN TO  PROVIDE
     A  CONFIRMATION  MESSAGE  FOR  EACH  TRANSACTION, SIGNIFYING
     COMPLETION OF PROCESSING AND WILLINGNESS TO ACCEPT THE  NEXT
     TRANSACTION.

     OUTPUT TO A TERMINAL MAY BE GENERATED  BY  THE  APPLICATIONS
     PROGRAM  AT ANY TIME.  IN PARTICULAR, THIS MEANS THAT OUTPUT
     MAY BE SENT TO A TERMINAL THAT DID NOT ENTER A  TRANSACTION.
     IN  FACT,  A  USER  MAY EVEN BE IN THE MIDDLE OF KEYING IN A
     TRANSACTION WHEN THIS UNSOLICITED OUTPUT IS GENERATED.

     IN GENERAL, UNSOLICITED OUTPUT  SHOULD  BE  AVOIDED  IN  THE
     DESIGN   OF   THE  APPLICATIONS  PROGRAM,  BECAUSE  IT  WILL
     INTERFERE WITH A TRANSACTION BEING ENTERED BY A USER AT  THE
     TIME  THE  OUTPUT OCCURS.  A PORTION OF THE TRANSACTION WILL
     USUALLY HAVE TO BE RE-ENTERED.  IF THE APPLICATIONS  PROGRAM
     REWRITES  THE ENTIRE SCREEN, THE USER WILL HAVE TO RECOMPOSE
     HIS  ENTIRE  MESSAGE.   THIS  WILL  BE  ANNOYING   TO   HIM.
     FURTHERMORE,  SHOULD  THE  USER  CONTINUE  TYPING DURING THE
     ACTUAL I/O, HE MAY GET GARBLED COPY ON HIS CRT  SCREEN,  DUE
     TO  TIMING  CONDITIONS INVOLVING THE VT05, MONITOR, AND USER
     PROGRAM.   SHOULD  THIS  HAPPEN  THE  USER  CAN  RECOVER  BY
     DEPRESSING THE "RUB OUT" KEY, BUT THIS WILL STILL BE A MAJOR
     INCONVENIENCE.
vttam documentation                                 PAGE   3
USER FUNCTIONS


2.0 USER FUNCTIONS

     WHEN THE APPLICATIONS COBOL PROGRAM INITIALIZES VTTAM,  EACH
     TERMINAL'S  SCREEN  IS BLANKED AND AN INITIALIZATION MESSAGE
     GIVING THE DATE, TIME, AND TERMINAL NUMBER ARE DISPLAYED.  A
     SIMILAR MESSAGE IS DISPLAYED WHEN THE SYSTEM IS SHUT DOWN.


2.1 COMPUTER GENERATED OUTPUT

     WHILE THE COMPUTER IS OUTPUTTING TO A  USER'S  TERMINAL  THE
     USER  MUST  REFRAIN  FROM  TYPING.   THE  END  OF THE OUTPUT
     OPERATION IS SIGNIFIED BY THE RETURN OF THE  CURSOR  TO  THE
     TOP LEFT POSITION.

     TYPING DURING OUTPUT MAY PRODUCE GARBLED COPY ON THE SCREEN.
     SHOULD  THIS  HAPPEN  INADVERTENTLY, THE USER CAN RECOVER BY
     PRESSING THE "RUB OUT" KEY OF THE VT05.

     NOTE THAT A PARTIAL LINE OF  EDITING  TYPED  JUST  PRIOR  TO
     UNSOLICITED  OUTPUT  WILL USUALLY BE LOST.  AFTER THE OUTPUT
     IS DONE, THE CRT SCREEN WILL REFLECT WHAT IS IN THE COMPUTER
     CORE  MEMORY,  UNLESS  THE USER WAS TYPING DURING THE OUTPUT
     OPERATION.


2.2 EDITING


     THE USER CAN EDIT CHARACTERS ON THE SCREEN  BY  USE  OF  THE
     "HOME  UP",  "ERASE  EOL" "ERASE EOF" AND CURSOR POSITIONING
     KEYS LOCATED TO THE RIGHT OF THE KEYBOARD OF THE VT05.   THE
     USER CAN ALSO EDIT DATA BY USING ANY ALPHANUMERIC KEY OR THE
     SPACE BAR.  HOWEVER, THE USER MUST NOT  SEND  ANY  "CONTROL"
     CODES.   (THESE  ARE GENERATED BY PRESSING THE "CONTROL" KEY
     AND THEN TYPING ANOTHER CHARACTER.  DO NOT DO THIS.)

     NOTE THAT THERE IS A DIFFERENCE BETWEEN THE  SPACE  BAR  AND
     THE  "CURSOR  RIGHT" KEY.  THE SPACE BAR MOVES THE CURSOR TO
     THE RIGHT ONE POSITION AFTER ERASING THE PREVIOUS CHARACTER.
     THE   "CURSOR   RIGHT"  KEY  DOES  NOT  ERASE  THE  PREVIOUS
     CHARACTER.

     NOTE ALSO THE DIFFERENCE BETWEEN THE UPARROW AND LEFT  ARROW
     GRAPHIC CHARACTERS (SHIFT O AND SHIFT N) AND THE "CURSOR UP"
     AND "CURSOR "LEFT" POSITIONING KEYS.  THE GRAPHIC CHARACTERS
     WILL  BE  DISPLAYED ON THE SCREEN.  THE POSITIONING KEYS ARE
     USED FOR EDITING.
vttam documentation                                 PAGE   4
USER FUNCTIONS


2.3 TRANSACTION ENTRY


     WHEN THE USER IS SATISFIED WITH THE DATA  DISPLAYED  ON  HIS
     SCREEN,  WHETHER  GENERATED  BY  HIS  TYPING,  THE  COMPUTER
     OUTPUT, OR A COMBINATION OF THE TWO, HE CAN SEND  THIS  DATA
     TO  THE  COBOL  APPLICATIONS PROGRAM BY DEPRESSING THE "ESC"
     KEY.  VTTAM WILL ACKNOWLEGE RECEIPT OF  THE  TRANSACTION  BY
     RETURNING  THE  CURSOR TO THE TOP LEFT CORNER OF THE SCREEN.
     THE  USER  SHOULD  THEN  WAIT  FOR  A  RESPONSE   FROM   THE
     APPLICATIONS PROGRAM BEFORE ANY FURTHER TYPING.

     SHOULD THE USER DEPRESS "ESC" WHILE A  PREVIOUS  ENTRY  FROM
     HIS  TERMINAL  IS PENDING, THE SECOND ENTRY WILL BE IGNORED,
     AND THE USER WILL HEAR THE  VT05  BELL  (ACTUALLY  A  "BEEP"
     SOUND).   THE  ENTIRE SCREEN IMAGE WILL THEN BE REWRITTEN AS
     IF AN ILLEGAL CHARACTER HAD BEEN RECEIVED.


2.4 VERIFICATION


     THE USER SHOULD BE AWARE THAT THE DATA DISPLAYED ON THE VT05
     SCREEN  IS  A  COPY  OF THE DATA STORED IN THE COMPUTER CORE
     MEMORY, AND THAT THIS DATA IN THE  COMPUTER  MEMORY  IS  THE
     DATA  ACTUALLY  PROCESSED WHEN THE USER ENTERS A TRANSACTION
     WITH THE "ESC" KEY.  IN GENERAL, THE DATA ON THE SCREEN WILL
     AGREE  WITH  THE  DATA  IN  CORE;  HOWEVER IF THERE WERE I/O
     ERRORS OR THE USER WAS TYPING DURING OUTPUT,  THERE  MAY  BE
     DIFFERENCES.

     SHOULD THE USER HAVE ANY DOUBT ABOUT THE VALIDITY OF DATA IN
     CORE,  HE CAN CAUSE THIS DATA TO BE REWRITTEN ON THE SCREEN,
     FORCING THE TWO COPIES TO AGREE.  THIS IS DONE BY DEPRESSING
     THE "RUB OUT" KEY.

     THE USER MUST THEN  WAIT  UNTIL  THE  SCREEN  IS  COMPLETELY
     REWRITTEN  AND  THE  CURSOR  RETURNED TO THE TOP LEFT CORNER
     BEFORE RESUMING TYPING.
vttam documentation                                 PAGE   5
USER FUNCTIONS


2.5 ILLEGAL CHARACTERS


     SHOULD THE USER ACCIDENTALLY GENERATE AN ILLEGAL  CHARACTER,
     SUCH  AS A CONTROL CHARACTER, AN ERROR WILL RESULT WHEN THIS
     CHARACTER IS PROCESSED.  AT THIS TIME THE  BELL  WILL  RING,
     AND  THEN  THE  CRT SCREEN WILL BE REWRITTEN, JUST AS IF THE
     USER HAD PRESSED "RUB OUT".

     DUE TO MONITOR BUFFERING OF LINES, IT IS POSSIBLE  THAT  THE
     ILLEGAL CHARACTER WILL NOT BE PROCESSED UNTIL THE USER TYPES
     A BREAK CHARACTER SUCH AS "RETURN", "LINE FEED", "RUB  OUT",
     OR  "ESC".   SHOULD THIS HAPPEN, THE USER WILL HEAR THE BELL
     SOME TIME AFTER HE TYPED THE ILLEGAL CHARACTER.  ANY  TYPING
     AFTER THE ILLEGAL CHARACTER WILL BE IGNORED.

     THE USER SHOULD WAIT FOR THE SCREEN TO BE REWRITTEN AND  THE
     CURSOR POSITIONED TO THE TOP LEFT, BEFORE PROCEEDING.


2.6 BUFFER OVER-RUN


     IF THE DECSYSTEM-10 IS OVERLOADED OR  THE  USER  TYPES  VERY
     RAPIDLY  IT  IS  POSSIBLE HE WILL OVERRUN THE VTTAM PROGRAM.
     IN THIS CASE, THE MONITOR WILL MISS  SOME  CHARACTERS  TYPED
     (OR  SOME CURSOR CONTROL CHARACTERS TYPED) AND THE USER WILL
     HEAR A BELL EACH TIME HE PRESSES A KEY.

     SHOULD THIS HAPPEN, THE USER SHOULD PAUSE A FEW SECONDS  AND
     RETYPE  ALL  THE CHARACTERS THAT WERE LOST.  THE SCREEN WILL
     BE A  TRUE  COPY  OF  WHAT  WAS  ACTUALLY  ACCEPTED  BY  THE
     COMPUTER.
vttam documentation                                 PAGE   6
COBOL APPLICATIONS PROGRAMMING


3.0 COBOL APPLICATIONS PROGRAMMING


     A COBOL APPLICATIONS PROGRAM  COMMUNICATES  WITH  THE  VTTAM
     PACKAGE VIA "ENTER MACRO" STATEMENTS.


3.1 VTOPEN AND VTCLSE


     TO START PROCESSING,  THE  APPLICATIONS  PROGRAM  MUST  CALL
     VTOPEN.   THIS  WILL INITIALIZE ALL TERMINALS, ALLOW THEM TO
     ACCEPT INPUT, AND DISPLAY AN INITIALIZATION MESSAGE ON  EACH
     TERMINAL.   THIS  INITIALIZATION  MESSAGE  INCLUDES  THE TTY
     NUMBER OF THE TERMINAL (ASSIGNED BY THE  MONITOR),  THE  JOB
     NUMBER OF THE TERMINAL JOB (ASSIGNED BY THE MONITOR) AND THE
     TERMINAL NUMBER (AS REFERENCED BY THE APPLICATIONS PROGRAM).
     THE MESSAGE ALSO INCLUDES THE DATE AND TIME.

     THE CORRESPONDENCE BETWEEN TTY NUMBER  AND  TERMINAL  NUMBER
     DEFINES  WHICH  TERMINALS  ARE AVAILABLE TO THE APPLICATIONS
     PROGRAM.  SEE SECTION 6.0 OF THIS DOCUMENT  FOR  DETAILS  OF
     HOW THE MAPPING IS ACCOMPLISHED.

     WHEN ALL PROCESSING IS COMPLETE,  THE  APPLICATIONS  PROGRAM
     SHOULD  CALL  VTCLSE.   THIS  WILL  SUSPEND ENTRY OF FURTHER
     TRANSACTIONS, DISPLAY A CLOSING MESSAGE  ON  EACH  TERMINAL,
     AND  FACILITATE ORDERLY SHUT DOWN OF THE SYSTEM, SHOULD THIS
     BE DESIRED.

     NOTE THAT THE VTTAM SOFTWARE RUNS AS  SEVERAL  JOBS  (1  PER
     TERMINAL  PLUS  1 FOR THE APPLICATIONS PROGRAM).  THE VTOPEN
     AND VTCLSE CALLS DO NOT LOGIN OR LOGOUT THESE JOBS.  THIS IS
     ACCOMPLISHED VIA COMMANDS TO EACH JOB.  SEE SECTION 6.0.
vttam documentation                                 PAGE   7
COBOL APPLICATIONS PROGRAMMING


3.2 ERSCR


     THE ERSCR ENTRY IS  USED  TO  BLANK  A  SPECIFIC  TERMINAL'S
     SCREEN.

     CONTROL  RETURNS  IMMEDIATELY  TO  THE  APPLICATION  PROGRAM
     UNLESS  OUTPUT  IS  BUSY  FROM  A  PREVIOUS  OPERATION.  SEE
     SECTION 4.0.


3.3 ERLINE


     THE ERLIN ENTRY IS USED  TO  BLANK  A  SPECIFIC  LINE  ON  A
     TERMINAL'S SCREEN.

     CONTROL RETURNS  IMMEDIATELY  TO  THE  APPLICATIONS  PROGRAM
     UNLESS OUTPUT IS BUSY FROM A PREVIOUS OPERATION.


3.4 WRSCR


     THE WRSCR ENTRY TAKES A BUFFER OF 20 LINES BY 72  CHARACTERS
     AND DISPLAYS THEM ON THE VT05 SCREEN.

     IT IS NOT NECESSARY TO ERASE THE SCREEN WITH ERSCR PRIOR  TO
     CALLING WRSCR.

     CONTROL RETURNS  IMMEDIATELY  TO  THE  APPLICATIONS  PROGRAM
     UNLESS OUTPUT IS BUSY FROM A PREVIOUS OPERATION.
vttam documentation                                 PAGE   8
COBOL APPLICATIONS PROGRAMMING


3.5 WRLIN


     THE WRLIN  ENTRY  TAKES  A  SINGLE  72  CHARACTER  LINE  AND
     DISPLAYS   IT  ON  THE  APPROPRIATE  LINE  OF  THE  SELECTED
     TERMINAL.

     CHARACTERS IN THE USER SUPPLIED BUFFER BEYOND THE FIRST  72,
     IF ANY, ARE IGNORED.

     CONTROL RETURNS  IMMEDIATELY  TO  THE  APPLICATIONS  PROGRAM
     UNLESS OUTPUT IS BUSY FROM A PREVIOUS OPERATION.


3.6 VTWAIT


     THE VTWAIT ENTRY IS USED TO  GET  THE  NEXT  TRANSACTION  TO
     PROCESS.   CONTROL  WILL  NOT  RETURN  TO  THE  APPLICATIONS
     PROGRAM UNTIL SOME USER PRESSES "ESC" ON  HIS  TERMINAL,  OR
     UNLESS PREVIOUS TRANSACTIONS WERE QUEUED.

     THE  BUFFER  SUPPLIED  BY  THE  COBOL  PROGRAM   IS   FILLED
     (TRUNCATED  IF NECESSARY) WITH THE SCREEN IMAGE (20 LINES OF
     72  CHARACTERS).   THE  PROGRAM  IS  ALSO  INFORMED  OF  THE
     TERMINAL NUMBER.

     SHOULD SEVERAL USERS  PRESS  "ESC"  FASTER  THAN  THE  COBOL
     APPLICATIONS  PROGRAM  CAN HANDLE TRANSACTIONS, TRANSACTIONS
     ARE QUEUED ON A F.C.F.S.  BASIS.  A TRANSACTION IS  DEQUEUED
     EACH TIME VTWAIT IS CALLED.

     EACH  TERMINAL  MAY  HAVE  ONE  TRANSACTION  QUEUED.    THIS
     TRANSACTION  REMAINS  QUEUED  EVEN  IF OUTPUT IS SUBSEQENTLY
     SENT TO THE TERMINAL BEFORE VTWAIT  IS  CALLED.   SUBSEQUENT
     ENTRIES  FROM  THAT  TERMINAL  WILL  BE  IGNORED  UNTIL  THE
     TERMINAL IS  SERVICED  BY  THE  APPLICATIONS  PROGRAM.   SEE
     SECTION 2.0.
vttam documentation                                 PAGE   9
COBOL APPLICATIONS PROGRAMMING


3.7 CALLING SEQUENCES


     THE FOLLOWING ARE SAMPLE  CALLING  SEQUENCES  TO  THE  VTTAM
     PACKAGE.   THE  USER  SHOULD  BE  CAREFUL TO ENSURE THAT ALL
     ARGUMENTS ARE PRESENT AND THAT THEY ARE ALL OF  THE  CORRECT
     TYPE (DISPLAY-6 OR COMPUTATIONAL) AND SIZE.


          ENTER MACRO VTOPEN.

          ENTER MACRO VTCLSE.

          ENTER MACRO ERSCR USING TERM-NO.

          ENTER MACRO ERLIN USING TERM-NO,LINE-NO.

          ENTER MACRO  WRSCR  USING  TERM-NO,  SCREEN-START,
          SCREEN-END.

          ENTER  MACRO   WRLIN   USING   TERM-NO,   LINE-NO,
          SCREEN-START, SCREEN-END.

          ENTER MACRO VTWAIT  USING  TERM-NO,  SCREEN-START,
          SCREEN-END.


          TERM-NO PICTURE 9(6) COMPUTATIONAL.

          LINE-NO PICTURE 9(6) COMPUTATIONAL.

          01 SCREEN USAGE DISPLAY-6.
            02 SCREEN-START PICTURE X(1440).
            02 SCREEN-END PICTURE X.


     TERM-NO IS THE NUMBER USED BY THE COBOL PROGRAM TO SELECT  A
     SPECIFIC TERMINAL AVAILABLE TO THE VTTAM PACKAGE.  TERMINALS
     ARE NUMBERED FROM 1 TO N (THE  MAXIMUM  VTTAM  IS  ASSEMBLED
     FOR).  THE VTTAM INITIATION PROCEDURE DETERMINES THE MAPPING
     BETWEEN THESE NUMBERS AND THE MONITOR TTY  NUMBERS  ACTUALLY
     REFERENCED.

     TERM-NO IS USED TO SPECIFY THE  TERMINAL  ON  ERSCR,  ERLIN,
     WRSCR,  WRLIN CALLS AS WELL AS TO INDICATE WHICH TERMINAL IS
     REQUESTING SERVICE ON VTWAIT CALLS.


     LINE-NO  IS  THE   NUMBAPPLICATIONS   PROGRAM   CAN   HANDLE
     TRANSACTIONS,  TRANSACTIONS ARE QUEUED ON A F.C.F.S.  BASIS.
     A TRANSACTION IS DEQUEUED EACH TIME VTWAIT IS CALLED.
vttam documentation                                 PAGE  10
COBOL APPLICATIONS PROGRAMMING


     EACH  TERMINAL  MAY  HAVE  ONE  TRANSACTION  QUEUED.    THIS
     TRANSACTION  REMAINS  QUEUED  EVEN  IF OUTPUT IS SUBSEQENTLY
     SENT TO THE TERMINAL BEFORE VTWAIT  IS  CALLED.   SUBSEQUENT
     ENTRIES  FROM  THAT  TERMINAL  WILL  BE  IGNORED  UNTIL  THE
     TERMINAL IS  SERVICED  BY  THE  APPLICATIONS  PROGRAM.   SEE
     SECTION 2.0.


3.7 CALLING SEQUENCES


     THE FOLLOWING ARE SAMPLE  CALLING  SEQUENCES  TO  THE  VTTAM
     PACKAGE.   THE  USER  SHOULD  BE  CAREFUL TO ENSURE THAT ALL
     ARGUMENTS ARE PRESENT AND THAT THEY ARE ALL OF  THE  CORRECT
     TYPE (DISPLAY-6 OR COMPUTATIONAL) AND SIZE.


          ENTER MACRO VTOPEN.

          ENTER MACRO VTCLSE.

          ENTER MACRO ERSCR USING TERM-NO.

          ENTER MACRO ERLIN USING TERM-NO,LINE-NO.

          ENTER MACRO  WRSCR  USING  TERM-NO,  SCREEN-START,
          SCREEN-END.

          ENTER  MACRO   WRLIN   USING   TERM-NO,   LINE-NO,
          SCREEN-START, SCREEN-END.

          ENTER MACRO VTWAIT  USING  TERM-NO,  SCREEN-START,
          SCREEN-END.


          TERM-NO PICTURE 9(6) COMPUTATIONAL.

          LINE-NO PICTURE 9(6) COMPUTATIONAL.

          01 SCREEN USAGE DISPLAY-6.
            02 SCREEN-START PICTURE X(1440).
            02 SCREEN-END PICTURE X.


     TERM-NO IS THE NUMBER USED BY THE COBOL PROGRAM TO SELECT  A
     SPECIFIC TERMINAL AVAILABLE TO THE VTTAM PACKAGE.  TERMINALS
     ARE NUMBERED FROM 1 TO N (THE  MAXIMUM  VTTAM  IS  ASSEMBLED
     FOR).  THE VTTAM INITIATION PROCEDURE DETERMINES THE MAPPING
     BETWEEN THESE NUMBERS AND THE MONITOR TTY  NUMBERS  ACTUALLY
     REFERENCED.

     TERM-NO IS USED TO SPECIFY THE  TERMINAL  ON  ERSCR,  ERLIN,
     WRSCR,  WRLIN CALLS AS WELL AS TO INDICATE WHICH TERMINAL IS
vttam documentation                                 PAGE  11
COBOL APPLICATIONS PROGRAMMING


     REQUESTING SERVICE ON VTWAIT CALLS.


     LINE-NO IS THE NUMBER USED TO REFER TO A SPECIFIC LINE ON  A
     CRT  SCREEN.   IT  MUST BE FROM 1 TO 20.  LINE-NO IS USED ON
     ERLIN AND WRLIN CALLS.


     SCREEN IS A BUFFER AREA USED TO HOLD INPUT OR OUTPUT BETWEEN
     THE  COBOL  PROGRAM  AND  VTTAM.   ORDINARILY THE USER WOULD
     SPECIFY SEPERATE AREAS FOR INPUT AND OUTPUT, BUT THIS IS NOT
     REQUIRED.   IF  SCREEN IS NOT AN 01 LEVEL RECORD, IT MUST BE
     SYNCHRONIZED.

     SCREEN-START IS THE ACTUAL  AREA  HOLDING  THE  VT05  SCREEN
     IMAGE.

     SCREEN-END IS A DUMMY FIELD USED  TO  INDICATE  THE  END  OF
     SCREEN.

     SHOULD THE BUFFER  BE  SHORTER  THAN  1440  CHARACTERS,  THE
     EXCESS  IS  TRUNCATED  ON  INPUT,  AND  TREATED AS BLANKS ON
     OUTPUT.
vttam documentation                                 PAGE  12
BUFFERING CONSIDERATIONS


4.0 BUFFERING CONSIDERATIONS


     IN ADDITION TO ANY 01 LEVEL RECORDS SPECIFIED BY  THE  COBOL
     PROGRAM VTTAM INCLUDES THE FOLLOWING BUFFERS:
          1 COMMON INPUT BUFFER
          1 COMMON OUTPUT BUFFER
          1 SCREEN BUFFER PER TERMINAL
          1 HOLD BUFFER PER TERMINAL


4.1 OUTPUT BUFFERING


     ON AN OUTPUT CALL (ERSCR, ERLIN, WRSCR, OR WRLIN) THE STATUS
     OF  THE COMMON OUTPUT BUFFER IS CHECKED.  IF IT IS FULL, THE
     APPLICATIONS PROGRAM IS BLOCKED UNTIL IT  IS  EMPTIED  BY  A
     TERMINAL PROGRAM.  IF IT IS EMPTY, THE OUTPUT DATA IS PUT IN
     THE  COMMON  OUTPUT  BUFFER  AND  THE  APPROPRIATE  TERMINAL
     PROGRAM ACTIVATED.

     THE TERMINAL PROGRAM CHECKS FOR ANY OUTPUT I/O IN  PROGRESS.
     WHEN  ALL  OUTPUT  IS  COMPLETED,  IT COPIES THE DATA IN THE
     COMMON OUTPUT BUFFER TO THE  TERMINAL'S  SCREEN  BUFFER  AND
     RELEASES  THE  COMMON  OUTPUT  BUFFER.   AT  THIS  POINT THE
     APPLICATIONS PROGRAM IS UNBLOCKED IF NECESSARY.

     NORMALLY, WHEN  AN  APPLICATIONS  PROGRAM  DOES  AN  OUTPUT,
     CONTROL  WILL  RETURN IMMEDIATELY.  HOWEVER A BRIEF WAIT MAY
     BE NEEDED IF DATA FROM A PREVIOUS CALL HAS TO BE COPIED FROM
     THE COMMON OUTPUT BUFFER TO THAT TERMINAL'S SCREEN BUFFER.

     A LONG WAIT OCCURS IF A SECOND  OUTPUT  CALL  TO  A  SPECFIC
     TERMINAL  IS  ISSUED, BEFORE THE I/O FROM THE FIRST CALL CAN
     BE FINISHED.  THEREFORE THE  PREFERED  WAY  TO  OUTPUT  MANY
     SCREEN LOADS TO SEVERAL TERMINALS IS ROUND-ROBIN.

     ORDINARILY, OUTPUTS TO A TERMINAL  WILL  BE  ISSUED  BY  THE
     APPLICATIONS  PROGRAM  IN  RESPONSE TO TRANSACTIONS FROM THE
     SAME TERMINAL.  IN THIS CASE, IT IS  VERY  LIKELY  THAT  ANY
     PREVIOUS  OUTPUT  IS  COMPLETE.   THERE  SHOULD BE FEW CASES
     WHERE OUTPUT TO A TERMINAL BLOCKS THE  APPLICATIONS  PROGRAM
     FOR A SIGNIFICANT PERIOD OF TIME.
vttam documentation                                 PAGE  13
BUFFERING CONSIDERATIONS


4.2 INPUT BUFFERING


     WHEN A USER PRESSES THE  "ESC"  KEY,  THE  ASSOCIATED  VTTAM
     TERMINAL  JOB  CHECKS  TO  SEE IF THE COMMON INPUT BUFFER IS
     FREE.  IF SO, THE CURRENT CONTENTS  OF  THAT  USER'S  SCREEN
     BUFFER  ARE COPIED DIRECTLY TO THE COMMON INPUT BUFFER.  THE
     APPLICATIONS  PROGRAM  IS  THEN  AWAKENED  IN  CASE  IT  WAS
     BLOCKED.

     IF THE INPUT BUFFER IS BUSY, THE  CURRENT  CONTENTS  OF  THE
     SCREEN  BUFFER  ARE  COPIED  TO THE USER'S HOLD BUFFER AND A
     REQUEST FOR THE COMMON INPUT BUFFER IS ENTERED IN A QUEUE.

     WHEN THE COBOL APPLICATIONS PROGRAM CALLS VTWAIT, THE  VTTAM
     SOFTWARE  CHECKS  FOR  A  FULL  COMMON INPUT BUFFER.  IF THE
     COMMON INPUT BUFFER IS FULL, VTTAM COPIES THE  DATA  TO  THE
     USER BUFFER SPECIFIED BY THE CALL.  BEFORE RETURNING CONTROL
     TO THE APPLICATIONS PROGRAM, VTTAM CHECKS FOR ANY  TERMINALS
     BLOCKED  WAITING  FOR THE COMMON INPUT BUFFER.  IF THERE ARE
     NONE, THE INPUT BUFFER IS FREED.  IF  THERE  ARE  SOME,  THE
     INPUT  BUFFER  IS  ASSIGNED TO THE FIRST TERMINAL REQUESTING
     IT, AND THE ASSOCIATED JOB AWOKEN.  THAT TERMINAL JOB  WOULD
     THEN  COPY  ITS  HOLD BUFFER INTO THE COMMON INPUT BUFFER IN
     PREPARATION FOR THE NEXT CALL TO VTWAIT.

     IF THERE HAD BEEN NO TRANSACTION IN THE COMMON INPUT  BUFFER
     AT  THE  TIME  VTWAIT  WAS  CALLED, THE APPLICATIONS PROGRAM
     WOULD HAVE BEEN BLOCKED.  IT WOULD BE AWOKEN WHEN THE  INPUT
     BUFFER WAS FILLED BY THE NEXT TRANSACTION ENTERED BY A USER.

     THE SINGLE COMMON INPUT BUFFER IS A COMPROMISE BETWEEN  CORE
     SIZE  AND EFFECIENCY.  THE TRADE-OFF CHOSEN WAS BASED ON THE
     ASSUMPTION OF A RELATIVELY  LOW  TRANSACTION  RATE,  A  HIGH
     PREMIUM  ON  CORE  SIZE,  AND  A RELATIVELY LONG TRANSACTION
     PROCESSING TIME.

     REGARDLESS OF THE VTTAM TRANSACTION LOAD,  A  SINGLE  BUFFER
     WILL  ENSURE MAXIMUM EFFECIENCY SO LONG AS THE TERMINAL JOBS
     CAN REFILL IT FROM THEIR HOLD BUFFERS IN LESS TIME  THAN  IT
     TAKES  THE  APPLICATION  PROGRAM  TO  PROCESS A TRANSACTION.
     THIS WILL USUALLY BE THE CASE, SINCE THE  COPYING  OPERATION
     IS RAPID, AND THE TYPICAL APPLICATIONS PROGRAM MAKES SEVERAL
     DISK FILE I/O ACCESSES WHILE PROCESSING A TRANSACTION.
vttam documentation                                 PAGE  14
JOB STRUCTURE


5.0 JOB STRUCTURE


     IF  THERE  ARE  N  TERMINALS  COMMUNICATING  WITH  A  SINGLE
     APPLICATIONS PROGRAM VIA VTTAM, THEN VTTAM WILL USE N+1 JOBS
     IN THE PDP-10 TIMESHARING MONITOR.

     THERE WILL BE ONE MASTER JOB WHICH  CONSISTS  OF  THE  COBOL
     APPLICATIONS  PROGRAM  AND  THE  ASSOCIATED  VTTAM ROUTINES.
     THIS  JOB  DOES  ALL  THE  APPLICATIONS  PROCESSING   ON   A
     TRANSACTION BASIS ON INPUT, OR A SCREEN BASIS ON OUTPUT.

     THERE IS  A  SMALL  VTTAM  JOB  ASSOCIATED  WITH  EACH  VT05
     TERMINAL.   THIS  JOB PERFORMS ALL LINE AT A TIME I/O TO ITS
     TERMINAL VIA THE PDP-10 MONITOR.  THE MONITOR TAKES CARE  OF
     THE ASSEMBLY OF CHARACTERS INTO LINES, ECHOING, ETC.

     THE TERMINAL JOB ACCEPTS INCOMING CHARACTERS AND  INTERPRETS
     THEIR   EFFECT  ON  THE  VT05  SCREEN.   CURSOR  POSITIONING
     CHARACTERS  AFFECT  COUNTERS  IN  THE  TERMINAL  JOB,  WHILE
     GRAPHIC CHARACTERS AFFECT THE CONTENTS OF THE SCREEN BUFFER.
     THE SCREEN BUFFER IS KEPT IN STEP WITH THE DATA DISPLAYED ON
     THE VT05 SCREEN.

     ON OUTPUT, THE TERMINAL JOB DUMPS THE SCREEN BUFFER  TO  THE
     VT05, PASSING A LINE AT A TIME TO THE MONITOR.  THE TERMINAL
     JOB OPTIMIZES I/O BY SUPRESSING TRAILING BLANKS AND SKIPPING
     BLANK LINES.

     THE TERMINAL JOBS COMMUNICATE WITH  THE  MASTER  JOB  VIA  A
     SHARED  HIGH-SEGMENT.   THIS SEGMENT INCLUDES A SHARED INPUT
     AND OUTPUT BUFFER, INTER JOB COMMUNICATION  FLAGS,  AND  THE
     NECESSARY  INTERLOCKS  AND  QUEUEING  MECHANISMS  TO  ENSURE
     ORDERLY INTERJOB COMMUNICATION AND PROPER CONTENTION FOR THE
     SHARED INPUT BUFFER.  THE SHARED SEGMENT ALSO INCLUDES VTTAM
     CODE COMMON TO BOTH THE TERMINAL AND MASTER JOBS.

     THE READER IS REFERRED TO SECTION 7.0  FOR  INSTRUCTIONS  ON
     HOW  TO  BUILD THE VTTAM SOFTWARE.  THE READER IS REFERED TO
     SECTION  6.0  FOR  INSTRUCTIONS  ON  HOW  TO  BRING  UP  AND
     TERMINATE THE N + 1 JOBS.
vttam documentation                                 PAGE  15
INITIALIZATION AND TERMINATION


6.0 INITIATION AND TERMINATION


     THE PURPOSE OF THIS SECTION IS TO EXPLAIN HOW TO  INITIALIZE
     AND  TERMINATE  A  FIXED NUMBER OF JOBS RUNNING UNDER VTTAM.
     THE PROCEDURE TO FOLLOW IS EXTREMLY SIMPLE AND  CONSISTS  OF
     BUILDING TWO AUTO COMMAND FILES FOR USE UNDER OPSER, ONE FOR
     INITIATION AND ONE FOR TERMINATION.


6.1 INITIATION EXAMPLE


     THE FOLLOWING IS AN EXAMPLE OF AN INITIATION  FILE  REFFERED
     TO AS VTBEG.ATO IN THE FOLLOWING DOCUMENTATION.


          :SLOGIN 1,2
          :SILENCE
          :DEFINE MAST=
          :SET TTY TTY1:SLAVE
          :SET TTY TTY2:SLAVE
          :ASSIGN TTY1
          :ASSIGN TTY2
          :SET TTY TTY1:NO CRLF
          :SET TTY TTY2:NO CRLF
          :SET TTY TTY1:TAB
          :SET TTY TTY2:TAB
          :SET TTY TTY1:FORM
          :SET TTY TTY2:FORM
          :SET TTY TTY1:NO FILL
          :SET TTY TTY2:NO FILL
          :SLOGIN 30,1526
          :SILENCE
          :DEFINE TTY1=
          :SLOGIN 30,1526
          :SILENCE
          :DEFINE TTY2=
          MAST-DEASIGN TTY1
          TTY1-ASSIGN TTY1 VTTERM
          MAST-DEASIGN TTY2
          TTY2-ASSIGN TTY2 VTTERM
          TTY1-ASSIGN DSK SYS
          TTY2-ASSIGN DSK SYS
          TTY1-RUN VTSLVE
          TTY2-RUN VTSLVE
          TTY1-1
          TTY2-2
          :KJOB MAST
          :REVIVE ALL
vttam documentation                                 PAGE  16
INITIALIZATION AND TERMINATION


     6.2 TERMINATION EXAMPLE


          THE FOLLOWING IS  AN  EXAMPLE  OF  A  TERMINATION  FILE
          REFFERED    TO    AS   VTEND.ATO   IN   THE   FOLLOWING
          DOCUMENTATION.


          :SILENCE ALL
          :KJOB TTY1
          :KJOB TTY2
          :SLOGIN 1,2
          :SILENCE
          :DEFINE MAST=
          :ASSIGN TTY1
          :ASSIGN TTY2
          :SET TTY TTY1:CRLF
          :SET TTY TTY2:CRLF
          :SET TTY TTY1:NO SLAVE
          :SET TTY TTY2:NO SLAVE
          :KJOB MAST
          :REVIVE ALL


     6.3 SYSTEM STARTUP


          ONCE THE VTTAM SYSTEM HAS BEEN GENERATED  (SEE  SECTION
          7.0) THE SLAVE TERMINALS CAN BE STARTED BY THE OPERATOR
          AS FOLLOWS: 


               R OPSER
               :AUTO VTBEG.ATO


          NOW THAT THE SLAVE TERMINALS HAVE BEEN BROUGHT  UP  THE
          MASTER  TERMINAL  MUST  BE STARTED, THIS CAN BE DONE IN
          ONE OF TWO WAYS; 1) INCLUDE  COMMANDS  IN  THE  ORGINAL
          OPSER  FILE  (VTBEG.ATO)  OR  2)  LOGIN  ON  THE MASTER
          TERMINAL AND RUN THE MASTER PROGRAM (IN OUR EXAMPLE RUN
          VTTEST).


     6.4 SYSTEM TERMINATION.


          THE PROCEDURE TO SHUT DOWN  THE  SYSTEM  SHOULD  BE  AS
          FOLLOWS:

               1) SHUTDOWN THE MASTER  PROGRAM  FIRST  BY  EITHER
          INCLUDING  COMMANDS IN THE TERMINATION FILE (VTEND.ATO)
          OR BY THE USE OF THE KJOB COMMAND.
vttam documentation                                 PAGE  17
INITIALIZATION AND TERMINATION


               2) SHUTDOWN THE SLAVE TERMINALS  BY  ENTERING  THE
          FOLLOWING COMMAND TO OPSER:

               :AUTO VTEND.ATO

          WHEN THIS AUTO COMMAND FILE COMPLETES  EXECUTION  UNDER
          OPSER YOUR SYSTEM SHOULD BE COMPLETELY SHUTDOWN.
vttam documentation                                 PAGE  18
ASSEMBLY AND LOADING


     7.0 ASSEMBLY AND LOADING


          THE PURPOSE OF  THIS  SECTION  IS  TO  EXPLAIN  HOW  TO
          GENERATE  A  RUNNABLE  VTTAM  SYSTEM.  THE PROCEDURE IS
          VERY SIMPLE  AND  CONSISTS  OF  ASSEMBLYING  THE  VTTAM
          MODULES,  COMPILING  THE COBOL MASTER PROGRAM, AND THEN
          LINKING THE PROPER MODULES TOGETHER TO FORM A  COMPLETE
          VTTAM SYSTEM.


          THIS ENTIRE PROCEDURE IS ACCOMPLISHED THROUGH  THE  USE
          OF  A  BATCH CONTROL FILE (VTMAKE.CTL) CONTAINED ON THE
          VTTAM RELEASE TAPE.  IN ORDER TO  GENERATE  A  COMPLETE
          VTTAM SYSTEM ENTER THE FOLLOWING COMMAND TO THE SYSTEM:

               Q INP:VTTAM=VTMAKE.CTL

          UPON COMPLETION OF THIS CONTROL FILE A  COMPLETE  VTTAM
          SYSTEM WILL HAVE BEEN GENERATED.
vttam documentation                                 PAGE  19
 DESIGN GOALS


     8.0 VTTAM SOFTWARE DESIGN GOALS


          1.  OPERATE WITH LOCAL OR REMOTE TERMINALS

          2.  ALLOW ONE COBOL JOB TO TALK TO MANY VT05 TERMINALS

          3.  BE LARGELY COMPATABLE WITH EXISTING  2260  ORIENTED
          PACKAGES

          4.  USER INTERFACE SIMILAR TO 2260 BUFFERED CRT

          5.  BE RELATIVELY FREE FROM ERRATIC OPERATION OR TIMING
          PROBLEMS

          6.  HIDE ANY MEDIOCRE SYSTEM  RESPONSE  FROM  USERS  IF
          POSSIBLE

          7.  REDUCE SYSTEM LOAD AS MUCH AS POSSIBLE

          8.  REQUIRE A MINIMUM OF MONITOR CHANGES

          9.  REQUIRE A MINIMUM OF REMOTE CONCENTRATOR SUPPORT

          10.  USE SIMPLE, MINIMAL CODING
vttam documentation                                 PAGE  20
ENVIRONMENT


9.0 VTTAM ENVIRONMENT


     VTTAM RUNS ON A DECSYSTEM 10 WITH 5 SERIES MONITOR  AND  THE
     TWO  SEGMENT  CAPABILITY.  THE CRT TERMINALS MUST BE VT05 OR
     EQUIVALENT.  OTHER TERMINALS MAY  WORK,  BUT  WILL  PROBABLY
     REQUIRE MODIFICATIONS TO VTTAM CODING.


9.1 STANDARD 5 SERIES MONITOR FEATURES REQUIRED BY VTTAM

          500 MODE TELETYPE INPUT AND ECHOING
          TTY SLAVE COMMAND
          TTY FORM COMMAND
          TTY NOCRLF COMMAND
          TTY TAB COMMAND
          HIBER UUO
          WAKE UUO


9.2 SPECIAL (NEW) FEATURES NEEDED BY  VTTAM  BUT  NOT  YET  IN  5
     SERIES MONITORS

          TTCALL 11, TO AN ARBITRARY TERMINAL
          TTCALL 7, TO AN ARBITRARY TERMINAL