Trailing-Edge
-
PDP-10 Archives
-
decuslib10-04
-
43,50343/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