04 - direct access output, then input.

Usage:

mme     gerout
vfd     18/BUFPTR,o6/04,h12/TERMID
zero    STATPTR,COURTESY

Where:

BUFPTR
points to a buffer that contains information for the I/O operation. See below for more details.
TERMID
is the terminal ID name.
STATPTR
points to a word where status information can be written.
COURTESY
gives the courtesy call address. This address is used if specified.

Description:

This version of MME GEROUT writes to one or more terminals, then reads input into a user-specified buffer. The size of the input buffer should be at least 31 words for TTY terminals, and 520 words for VIP terminals. If a smaller buffer size is desired, MME GEROUT (44) must be used to notify NPS.

The format of the buffer indicated by BUFPTR is given below.

G-115 terminal:
    Word 0, upper: number (N) of additional words in output
                   buffer.
    Word 0, lower: address of input buffer.
    Words 1-N:     one print line, BCD characters, octal 77
                   indicates end of line, next char is slew.
 
TTY or VIP:
    Word 0, upper: number (N) of additional words in buffer.
    Word 0, lower: address of input buffer.
    Word 1, upper: number of characters to be output.
    Words 2-N:     one print line, ASCII characters, right-
                   justified in bytes, left-justified in
                   words

When MME GEROUT returns, a status will be filled into the word indicated by STATPTR. Below we discuss the meaning of each bit in this status word.

Bits 0-17:   Not used
    18-23:   VIP terminal status
             18-21:  0
             22 = 1  PRINT key pressed to initiate
                     transmission
             23 = 1  Transmission failed after 16 attempts
    24-26:   Not used
       27:   Abort (in general status mode, Break/Disconnect
                    waiting)
       28:   Not used
       29:   Connected to another slave program
       30:   Waiting to connect to slave program
       31:   Terminal idle
       32:   If on, communication modules in the central
             system cannot acknowledge I/O request because
             terminal is busy with I/O
       33:   If on, output transmission complete, and input
             has been put in user's buffer
       34:   If on, terminal has not called in and
             connected, or has disconnected
       35:   If on, operator sent BREAK which terminated
             operation

After the input has been read, the input buffer has the following format:

Word 0:    number of characters read.
Words 1-N: actual input.

Copyright © 2000, Thinkage Ltd.