C   THIS IS SSEC PROPRIETARY SOFTWARE - ITS USE IS RESTRICTED.

C *** $Id: uc.doc,v 1.40 1999/01/06 18:39:34 dglo Exp $ ***

      CONTENTS OF PC-McIDAS VERSION SYSTEM COMMON AREA (UC)
                        for OS/2 & AIX

(COURTESY COPY OF MAINFRAME DNUC HAS BEEN APPENDED)


-100 TO +100  --  IF USED, SAME MEANING AS ON MAINFRAME

140)                   --  Number of text screens
141)   OS/2 only       --  maximum number of lines in text scrolling
142)   X Windows only  --  = 1 to trap abort signals (see -21)
143)   X Windows only  --  Window ID of the command window
144)   X Windows only  --  Window ID of the image window

145)                   --  offset from start of UC to start of redirect memory

150)                   --  = 1 to use fonts
151-153) family name of font


157)   Timeout (seconds) for text screen saver [if 0, no blanking]
158)   Vdisk drive letter
159)   Mouse sensitivity parameters (integer: SSCCHH - Slow, Cutoff, High)
160)   TCP/IP ADDRESS OF SESSION PARTNER
161)   TCP RATE MEASUREMENT WORD
162)   TCP connection status code
163)   TCP reserved
164)   WINDCO velocity cursor toggle 0=off / 1=on (set by ALT-V)
165)   WINDCO sampling flag (set by ALT-X)
166)   WINDCO mode is active
167)   MODE SWITCH FOR VGA (SET BY VGA.PGM, SCRCTL.PGM, KBDCTL.PGM)
168)   0 => ASYNC COMM OK, 1=> ASYNC COMM SUSPENDED; PORT AVAILABLE
169)   1 => UPDATE LOOP WHEN NEW IMAGE ENTERS IT
170)   1 => LOOP IN BOTH DIRECTIONS   (1 2 3 4 5 4 3 2 1)
171)   EGA/VGA FRAME SAVE FLAG (0=SAVE FRAMES, 1=NO FRAME SAVE)
172)   ROUTING TABLE MODIFICATION FLAG (0=MODIFIED 1=UNCHANGED)
173)   BRIEFING CONTROL SIGNATURE FOR CHANNEL 1
174)   BRIEFING CONTROL SIGNATURE FOR CHANNEL 2
176)   1 IMPLIES SYSTEM RUNNING WITHOUT ANY SESSION MANAGER
177)   COMM CONNECT 1 OR NO CARRIER 0  connection in progress 2
178)   SWITCH TO TELL MOUSEF TO IGNORE MOUSE BUTTON PRESS
179)   SKED FILE UPDATED FLAG
180)   DEPTH COUNTER FOR STARTED PROCESSES
181)   PACING STRATEGY
182)   PFKEY SERIALIZATION MODE
183)   PRINTER TYPE
184)   UPDATE LEVEL FOR STRING TABLES (0 BY LOGON, INCREMENTED LBPUT)
185)   MOUSE BUTTON STATUS (2 INTEGER*2 VALUES...BUTTON 1 & 2)
186)   CONTAINS MICKIES (2 INTEGER*2 VALUES...UP/DOWN & LEFT/RIGHT)
187)   SWITCH TO TELL MOUSEF JUST TO SET MICKIES INTO UC(186)
188)   "N"  TOGGLE
189)   =1 IMPLIES ALL KEYINS GO TO HOST
190)   OUTGOING SPOOL-IN-USE FLAG
191)   MOUSE PID SO EXIT CAN KILL IT
192)   OUTGOING MESSAGE REQUEST  POINTER
193)   OUTGOING MESSAGE COMPLETE POINTER
194)   SYSTEM SHUTDOWN REQUEST =1
195)   LAST TEXT WINDOW DISPLAYED (see the description for UC[200])
196)   COUNT OF TEXT WAITING
197)   IMPORT POINTER FROM DECODER
198)   COMM PORT NAME   (BINARY 0 FOR PRONET)
199)   LAST WRITTEN POINTER FOR IMPORT DECODER
200)   TEXT WINDOW TO DISPLAY.  On displays where the DISP_TOGGLE terminal
       characteristic is true (for example, EGA and VGA), you can see
       either the text or the image but not both.  On these display
       heads, if UC[200] is -1, it means that the user is seeing the
       image, and the current text window number is saved in UC[195].
201)   (OS2 only) FIRST LINE IN TEXT WINDOW TO DISPLAY 1 - 57 (IGNORED ON 5 - 9)
202)   MOUSE RAW POSITION
203)   MOUSE RAW POSITION                                      x
204)   LAST FRAME DISPLAYED. PUC THIS TO 0 TO FORCE RE-DISPLAY OF CURRENT
       FRAME ( IN EGA/VGA ONLY.)
204)   In UNIX, private 'last frame displayed' word for 'mcimage'
205)   (OS2 only) SWITCH TO TELL KBDCTL TO PASS KEYSTROKES TO AN "ASK" PROCESS
206)   (OS2 only) PLACE WHERE KBDCTL POKES CHARACTERS WHEN 205 IS SET
207)   NON-ZERO IMPLIES KBDCTL IS IN INSERT MODE
208)   NON-ZERO - RESTRICTED. NO KEYIN TEXT, AND PROGRAMS MUST CHANGE WINDOW
       THE USER CANNOT.  PF KEY INPUT ONLY
209)   ADDRESS OF A SEGMENT USED FOR WINDOWS 5 - 9
       EACH WINDOW USES 4000 BYTES. EACH CHARACTER IS IN TWO BYTE FORMAT
       THE LSB IS THE CHARACTER, THE MSB IS COLOR ATTRIBUTE

210)   NUMBER OF SEGMENTS SUPPORTING FRAMES  IN VGA/EGA
211+)  ADDRESSES OF SEGMENTS FOR FRAMES, FOUR SEGMENTS PER FRAME   (VGA/EGA)
215+)  WideWord -- ADDRESSES OF SEGMENTS FOR ENHANCEMENTS,GRAPHICS (16 SEGMENTS)
       SDA      -- Addrs of Segs for image & graphic Enhancements
                   ( graphic Enh for frame immediately follows its image Enh )
                   ( note: Graphic EnhTbls = 48 bytes @ EOImg Enh for SDA    )
                   ( note2: Graphic Channel Mask is stored @EOGr Enh for SDA )

300)   WideWord/SDA   --  ZOOM FACTOR (in -X, the ZOOM TOGGLE) (Alt-Z)
301)   WideWord only  --  SECONDARY DISPLAY, 0=OPPOSITE, +=FRAME, -=GRAPHIC
302)   WideWord/SDA   --  NON-ZERO IMPLIES LOCKOUT TVSYNC
303)   WideWord only  --  NON ZERO == BRIEFING FRAME THRESHHOLD
304)   WideWord only  --  LAST CHARACTER FROM BRIEFING CONTROL PORT
305)   WideWord only  --  CURSOR CONTROL 0=CENTROID, 1=DRAG TO EDGE
306)   SDA only       --  SDA img memory model: 0=min 1=ext (ping/pong toloop)
307)   SDA only       --  SDA grphc memory model: 0=min 1=ext (ping/pong toloop)
308)   SDA only       --  SDA memory model: 0=min, 1=med, 2=ext
309)   SDA only       --  SDA graphic channel mask

312)   SDA only       --  1==> SDA frame load (loadsda) pending, 0==>not pending
313)   SDA only       --  # image frames configured on SDA adapter
314)   SDA only       --  # graphic frames configured on SDA adapter

315)   PM & X         --  briefing port, frame controls, movie flag
 .        .                   .
 .        .                   .
 .        .                   .
350)   PM & X         --  briefing port, frame controls, movie flag

351)   SDA only       --  debugging.  reserved for future development.
 .        .                   .
 .        .                   .
 .        .                   .
361)   SDA only       --  debugging.  reserved for future development.

364)   SDA only       --  last ifrm displayed. 0 ==> force redsply of curr. ifrm
365)   SDA only       --  last gfrm displayed. 0 ==> force redsply of curr. gfrm
366)   SDA only       --  non-zero ==> reload Enh Tbl from PC_mem to SDA_mem

371)   SDA only       --  # shared segs supporting SDA images, graphics, & ETs
373)   SDA only       --  configured base address of SDA adapter

500)   X Windows only  --  Number of graphic levels
501)   AIX, PM         --  interpolation strategy.
502)   X Windows only  --  =1 if the image window should resize to the
                           size of the current frame (ALT-R)
503)   X Windows only  --  ZOOM FACTOR (used when UC[300] is 1)
504)   X Windows only  --  mcimage process ID

550)   X Windows only  -- Flag indicating whether or not the cursor
                          information should be updated
551)   X Windows only  -- Number of the panel being pointed at by the
                          cursor
552)   X Windows only  -- Cursor line number relative to panel origin
553)   X Windows only  -- Cursor element number relative to panel origin
554)   X Windows only  -- Latitude of position under the cursor
555)   X Windows only  -- Longitude of position under the cursor

560)   X Windows only  -- Panel update magic number

600)   X Windows only  --  Number of gray levels

700)   McIDAS-X only   -- TCPIP module loaded
701)   McIDAS-X only   -- IMPORT module loaded

1000)  User/site defined
  .      .
  .      .
1999)  User/site defined

2000)  OS2, X Windows -- If nonzero, the image window should raise itself
                         and reset the value to zero.
2001+) WideWord/SDA/PM    --  FRAME ALLOCATION POINTERS (iframes start @ 2001
                           & grow up, gframes start @ 2999 & grow down;
       X Windows       --  frame object offsets from start of UC

3001+)  terminal types with variable frame sizes --
        LINE AND ELEMENT SIZES, AS HALFWORDS

4000)   RELATIVE POINTER FOR RANDOM LOOPING
4001+)  LIST FOR RANDOM LOOPING, 0 IS EOL

5001+)  LIST OF DWELL RATES.

6000)   RELATIVE POINTER FOR RANDOM GRAPHICS LOOP
6001+)  LIST FOR RANDOM GRAPHICS LOOP, 0 IS EOL

7001+)  LIST OF RANDOM OPPOSITES, 0 IS EOL

16383-) END OF SEGMENT.

**************
LAYOUT OF MAINFRAME UC (SNAPSHOT ON 8/23/88 -*
**************

*****begin mainframe only words*******
-101) PASS/FAIL CODE FROM THE SCHEDULER (0 IMPLIES SAFELY SCHEDULED)

    THE FOLLOWING WORDS GIVE THE NAMES OF NAVIGATION CORELOADS WHICH
      HAVE BEEN DYNAMICALLY LOADED INTO CORE. THESE ARE REFERENCED
      BY SUBROUTINE NVLOPE, WHICH RELEASES THE CORE USED BY THESE
      CORELOADS AT THE CONCLUSION OF EACH SQX'ED MODULE.


-94,-95)  RESERVED FOR FUTURE NAVIGATION CORELOADS
-93)  SUFFIX OF NAVIGATION-3 CORELOAD (NAME='NV3' + SUFFIX)
         (E.G. 'GOES')
-92)  SUFFIX OF NAVIGATION-2 CORELOAD (NAME='NV2' + SUFFIX)
-91)  SUFFIX OF NAVIGATION-1 CORELOAD (NAME='NV1' + SUFFIX)
-90)  SUFFIX OF CALIBRATION-3 CORELOAD (NAME='KB3' + SUFFIX)
         (E.G. 'VISR')
-89)  SUFFIX OF CALIBRATION-2 CORELOAD (NAME='KB2' + SUFFIX)
-88)  SUFFIX OF CALIBRATION-1 CORELOAD (NAME='KB1' + SUFFIX)

-82)  LOGON INITIALIZATION FLAG-- 1= 'I' OPTION USED (USED BY PC)
-81)  SCREEN DATA FOR PC TERMINALS (QTR WORD: WINDOW,COLOR,ERASE,ROW)
-80)  SCREEN DATA FOR PC TERMINALS (COLUMN)

---DATA TABLET GROUP. THESE WORDS CONTAIN THE INFORMATION
RETURNED FROM THE TERMINAL ON THE TABLET STATE, AS WELL AS
THE TABLET BOX NUMBER, NAME AND POSITION AS DETERMINED BY
THE SCANNER.

-79)  HIGHEST Y COORDINATE OF BOX (TOP)
-78)  LOWEST Y COORDINATE OF BOX (BOTTOM)
-77)  HIGHEST X COORDINATE OF BOX (RIGHT)
-76)  LOWEST X COORDINATE OF BOX (LEFT)
-75)  BOX STRINGNAME (A4 EBCDIC)
-74)  BOX NUMBER (BOX 1 IS AT UPPER LEFT)
-73)  PEN MODE (2 OR 3=PEN DOWN, 1=PROXIMATE, 0=PEN UP)
-72)  PEN POSITION-- Y COORDINATE; (0,0) IS BOTTOM-LEFT
-71)  PEN POSITION-- X COORDINATE
*********end mainframe only words*******


MOTION VECTOR (WINDCO) UCWORDS USED (SEE ALSO UC 98,100):

-62)  JOYSTICK CONTROL VALUE SAVE
-61)  MODE CONTROL FOR JOYSTICK 2
-60)  MODE CONTROL FOR JOYSTICK 1
-58)  ENDING COLUMN NUMBER IN CURRENT MD 'WIND' FILE
-57)  ENDING ROW NUMBER IN CURRENT MD WIND FILE
-56)  STARTING ROW NUMBER IN CURRENT MD WIND FILE
-55)  CURRENT MD WIND FILE USED FOR CORE OUTPUT
-54)  CURRENT MD WIND FILE USED IMV, SELECTOR AND
      CORE INPUT
-53)  ELEMENT SIZE OF TARGET CURSOR (TV COORD)
-52)  LINE SIZE OF TARGET CURSOR (TV COORD)
-51)  SPACE BAR TOGGLE
-50)  ERROR STATUS WORD

-46)  CURRENT TCOL
-45)  CURRENT TWIN

-40)  Current panel

-39)  TERMINAL NUMBER OF REMOTE TERMINAL
      (-1 = LOCAL TERMINAL, =-2 LOCAL TWX)
-38)  NEXT RECORD POINTER FOR DEV=F FILE
-37 THRU -35) LW FILENAME FOR DEV=F (mainframe)
***************end mainframe only definitions********************
-35)  SDEST file descriptor. FD 1 means CRT output. (workstation)
-36)  EDEST file descriptor. FD 1 means CRT output. (workstation)
-37)  DDEST file descriptor. FD 1 means CRT output. (workstation)
Note: on workstation, -37 thru -35 are file descriptors
      for the printer or file dataset for SDEST, EDEST, and DDEST
      they are not a filename.  FD 1 means CRT output.
-34)  CURRENT GRAPHICS VIRTUAL FRAME (IF <0, DON'T PLOT ON WRRRM)
-33)  CURRENT DMES DEVICE:1(CRT),2(LOCAL PRTR),3(SYS PRTR),0(BLACK HOLE)
-32)  CURRENT EMES DEVICE:1(CRT),2(LOCAL PRTR),3(SYS PRTR),0(BLACK HOLE)
-31)  CURRENT LTQ DEVICE: 1(CRT),2(LOCAL PRTR),3(SYS PRTR),0(BLACK HOLE)
-30)  AUTO-CONTEXT-TABLE-SEARCH: WHEN 1, PARAMETER FETCHING SUBRS. (E.G.
        CKWP) RESORT TO SYSTEM STRING TABLE FOR MISSING KEYWORD PARAMS
*********begin mainframe only section *************
-29)  (RESERVED FOR FUTURE USE BY SYSTEM SUBROUTINE SQX)
-28)  NAME (CHARS 5-8) OF PROGRAM CURRENTLY RUNNING
-27)  NAME (FIRST 4 CHARS.) OF PROGRAM CURRENTLY RUNNING
-26)  PROGRAM CURRENTLY RUNNING IS MACRO (=1), NON-MACRO (=0)
-25)  PROGRAM CURRENTLY RUNNING IS FOREGROUND (=1), BACKGROUND (=0)
         BACKGROUND W/ FORTRAN MAIN, CAN DO FORTRAN I/O (=-1)
         CONSOLE STARTED TASK I.E. TAPE JOB (=2)
-24)  CURRENT SQX LEVEL (SCANNER IS 0, NEXT PGM IS 1, ETC.)
-23)  NUMBER OF THIS INITIATOR
-22)  KEYIN WAS STARTED BY SCHEDULER (=1); NOT BY SCHEDULER (=0)
-21)  Abort signal handling (passed to SQX'd routines) (see 455, AIX only)
-20)  CONTAINS TERMINAL NUMBER FROM TRB
-19)  RESERVED FOR LATER USE
-18)  JOB NUMBER FOR JOB JOURNALLING ON CROSS-SYSTEM REQUESTS
-17)**USER INITIALS UNDER WHICH THIS KEYIN RUNS (MAY BE DIFFERENT
         FROM LOGGED-ON INITIALS IN UC(2) IF KEYIN IS SCHEDULED)
-16)**PROJECT # UNDER WHICH THIS KEYIN RUNS (MAY BE DIFFERENT
         FROM LOGGED-ON PROJECT # IN UC(1))
***********end of mainframe only section**************

-1...-13 CONTAIN A SNAPSHOT OF THE TERMINAL STATE TAKEN
      JUST BEFORE THE KEYIN BEGINS. THIS IS IN A FORMAT CLOSE TO THE
      TERMINAL PROTOCOL.

-13)  CURSOR STATE CONTROL WORD
         FORMAT:BITS 0-2=0 MEANS CURSOR FROZEN (SET BY PC COMMAND)
         BITS 0-2=1 MEANS CURSOR POS IS JOYSTICK-CONTROLLED (P KEY)
         BITS 0-2=2 MEANS CURSOR SIZE & POS ARE JOYSTICK-CNTRLD (Z KEY)
         BITS 3-5 ARE CURSOR COLOR (DT COMMAND)
         BITS 6-8 ARE CURSOR TYPE (DT COMMAND)
         FORMAT 7/83: BITS 0-2 CONTROL JOYSTICK ASSIGNMENTS:
         0--CURSOR IS HOST-CONTROLLED
         1--JOYSTICK 1 IS POS VERNIER & J2 IS COARSE POS
         2--J1 IS CURSOR SIZE & J2 IS DISCONNECTED
         3--J1 IS CURSOR SIZE & J2 IS COARSE POSITION
         4--J1 IS VELOCITY & J2 IS DISCONNECTED
         5--J1 IS VELOCITY & J2 IS COARSE POSITION
         6--DUAL CURSOR MODE; HOST CONTROLLED
         7--DUAL CURSOR MODE; J1 IS VERNIER POSITION OF 2ND CURSOR,
            WHILE J2 IS COARSE POSITION OF BOTH CURSORS
-12)  CURSOR ELEMENT POSITION
-11)  CURSOR LINE POSITION
-10)  CURSOR ELEMENT SIZE
-9)   CURSOR LINE SIZE
-8)   GRAPHICS STATE CONTROL WORD
         FORMAT:BIT 0=1 MEANS GRAPHICS CONNECTED TO LOOP CONTROL (J KEY)
         BIT 1=1 MEANS GRAPHICS FRAME IS LOOPING (L KEY)
         BIT 2=0 MEANS GRAPHICS FRAME IS BLANKED (W KEY)
-7)   GRAPHICS LOWER BOUND
-6)   GRAPHICS UPPER BOUND
-5)   CURRENT GRAPHICS FRAME
-4)   FRAME STATE CONTROL WORD
         FORMAT: BIT 0=1 MEANS FRAME CONNECTED TO LOOP CONTROL (Y KEY)
         BIT 1=1 MEANS FRAME IS LOOPING (L KEY)
         BIT 2=0 MEANS FRAME IS BLANKED (K KEY)
-3)   IMAGE FRAMES LOWER BOUND
-2)   IMAGE FRAMES UPPER BOUND
-1)   CURRENT IMAGE FRAME

0)**  USER'S TERMINAL NUMBER
1)**  PROJECT # UNDER WHICH CURRENT USER IS LOGGED ON (MAY BE
         DIFFERENT FROM UC(-16))
2)**  USER'S INITIALS
4)    CURRENT NAV FILE #
5)    CURRENT MD FILE #
6)    CURRENT GRID FILE #
7)    CURRENT 3-D GRID FILE #
**********mainframe only*********
9)    SECOND PRINTER NUMBER FOR THIS USER (SYS PRTR=0)
10)   FIRST PRINTER NUMBER (LOCAL PRINTER FOR THIS USER; SYS PRTR=0)
*********end mainframe only******
11)   # OF LINES ON TV SCREEN    for terminals where all frames are same size
12)   # OF ELEMENTS ON TV SCREEN for terminals where all frames are same size
13)   # OF IMAGE FRAMES
14)   # OF GRAPHICS FRAMES
**********mainframe only***********
15)   TERMINAL IS REMOTE BISYNC (=1), LOCAL PRONET (=0), ASYNC (=2)
16)   TERMINAL IS VIDEO (=1) NONVIDEO (=0)  OR IS HOST(=2)
**********end mainframe only*******
17)   FLAG FOR E KEY, =0 IF LAT/LON ARE DISPLAYED IN DDDMMSS; =1 IF
         LAT/LON ARE DISPLAYED IN DECIMAL
**********mainframe only************
18)   SVCT FLAG ON THE TERMINAL WANTING 604 OVER COMM
19)   MCIDAS DISK FILE I/O TRACE: 1=DO TRACE, ANYTHING ELSE=DO NOT
**********end mainframe only********
20)   SET TO 1 BY "G" KEY
21)   SET TO 1 BY "Q" KEY
**********mainframe only***********
22)   IMPORT POINTER FOR OTHERS...JMB
23-24)   TERMINAL IDENTIFIER (NAME OR LOCATION)-- 8 CHARACTERS
25)   NAME OF CRT COMPONENT OF TERMINAL--4 CHARACTERS
         ('TLVD'=TELEVIDEO '3278'=IBM 3278 'TEK4'=TEK 'CRT '=OTHERS)
         (FOR HOSTS, THIS IS THE NAME OF THE HOST)
26)   DATA TABLET-- HORIZONTAL EXTENT (MAX X COORDINATE + 1)
27)   DATA TABLET-- VERTICAL EXTENT (MAX Y COORDINATE + 1)
28)   NON ZERO ==> TERMINAL DOWN
29)   NON-ZERO ==> MAY QUIT AREAS EVEN IF NOT THE OWNING PROJECT
         (OPERATOR'S TERMINAL ONLY)
*********end mainframe only*********
37)   IMAGE DISPLAY HARDWARE: 0=SSEC/TOWER, 1=WideWord, 2=EGA, 3=VGA
                              4=VGA mode13, 5=        , 6=AIX (X Windows)
38)   1=DRAW GRAPHICS ON WRRRM  , 0=DO NOT DRAW GRAPHICS ON WRRRM
         =2 DRAW GRAPHICS (EGA) WITH VERTICAL SCALING (X 350/480)
39)   0=DO NOT WRITE VIRTUAL GRAPHIC , NON ZERO=VIRTUAL FRAME TO WRITE
40)   3-D GRAPHICS MENU POINTER
41)   PLANETARY PROGRAMS NAVIGATION POINTER FOR CURRENT AREA
42)   PLTPAK RIGHT/LEFT FRAME INVERSION FLAG FOR TWO SCREEN STEREO
43)   3-D GRAPHICS AND PLANETARY PROGRAMS STATUS FILE ID
44)   RESERVED FOR 3-D GRAPHICS AND PLANETARY PROGRAMS
45)   3-D GRAPHICS MESSAGE WAITING FLAG
46)   DEFAULT GRAPHICS LINE WIDTH
47)   GRAPHICS DASH PATTERN (1) -- DASH LENGTH (IN PIXELS)
48)   GRAPHICS DASH PATTERN (2) -- GAP LENGTH (IN PIXELS)
49)   GRAPHICS DASH PATTERN (3) -- GAP COLOR

      WORDS 50 ... 79 ARE RESERVED FOR KEEPING THE HOST'S COPY OF THE
      TERMINAL STATE
      THIS IS IN A FORMAT EASY TO MANIPULATE AND RELATED TO THE
      FUNCTIONS OF THE TERMINAL AS AN ABSTRACT DEVICE.
      SUBROUTINE STATEU COMPOSES THIS STATE INTO A VALID TERMINAL
      ORDER (PROTOCOL RESEMBLES SNAPSHOT IN UC -1...-13)

50)   LOOP CONTROL: 1 (SYSTEM IS LOOPING) 0 (NOT LOOPING)
      LOOP CONTROL SYSTEM CONSISTS OF LB COMMAND & A,B,J,Y,O & L KEYS
      IMAGES & GRAPHICS ARE INDEPENDENTLY CONNECTED TO & DISCONNECTED
      FROM THE LOOP SYSTEM VIA UC 54 AND 59.
51)   CURRENT IMAGE FRAME
52)   IMAGE FRAME LOOP-- UPPER BOUND
53)   IMAGE FRAME LOOP-- LOWER BOUND
54)   1 (IMAGE FRAMES CONNECTED TO LOOP CONTROL) 0 (NOT CONNECTED)
55)   1 (IMAGE FRAMES VISIBLE) 0 (IMAGE FRAMES BLANKED) (Alt-K)
56)   CURRENT GRAPHICS FRAME
57)   GRAPHICS FRAME LOOP-- UPPER BOUND
58)   GRAPHICS FRAME LOOP-- LOWER BOUND
59)   1 (GRAPHICS FRAMES CONNECTED TO LOOP CONTROL) 0 (NOT CONNECTED)
60)   1 (GRAPHICS FRAMES VISIBLE) 0 (BLANKED) (Alt-W)
61)   CURSOR SIZE (VERTICAL)
62)   CURSOR SIZE (HORIZONTAL)
63)   CURSOR POSITION (LINE #)
64)   CURSOR POSITION (ELEMENT #)
65)   CURSOR TYPE 1 (BOX) 2 (CROSSHAIR) 3 (BOX&CROSSHAIR) 4 (SOLID BOX)
                              5 (STARS WARS)
66)   CURSOR COLOR (0...7)
67)   JOYSTICK 1: 0 (DISCONNECTED) 1 (CONTROLS CURSOR POSITION)
         2 (VERNIER CURSOR CONTROL) 3 (CONTROLS CURSOR SIZE)
         4 (VELOCITY CURSOR)
***********mainframe only********
68)   JOYSTICK 2 (SAME VALUES AS JOYSTICK 1)
      CURRENTLY THE ONLY LEGAL STATES FOR JOYSTICK1/JOYSTICK2 ARE:
         0/0 , 2/1 , 3/1 , 3/0 , 4/1 , 4/0   IN SINGLE CURSOR MODE
         0/0 , 2/1      IN DUAL CURSOR MODE
69)   2ND CURSOR SIZE(VERTICAL)
70)   2ND CURSOR SIZE(HORIZONTAL)
71)   2ND CURSOR POS(LINE #)
72)   2ND CURSOR POS(ELEMENT #)
73)   2ND CURSOR TYPE (AS FOR PRIMARY CURSOR...WORD 65)
74)   2ND CURSOR COLOR(AS FOR PRIMARY CURSOR...WORD 66)
75)   CURSOR MODE SWITCH   0=SINGLE CURSOR MODE   1=DUAL CURSOR MODE

*********end mainframe only********
76)   SAVED CURSOR TYPE (set when UC(65) == 0 to turn off the cursor)

77...79) (RESERVED FOR TERMINAL STATE EXPANSION)


80)   CURRENT TOVS ORBIT/SOUNDER/RTVL FILE #
81)   CURRENT VAS AREA/SOUNDER FILE #

83)   TERMINAL TYPE, FOR PC AT LOGON, =0 IF NOT PC
84-85)  SOFTWARE RELEASE VERSION FOR PC AT

87)   MCBASI LIST WINDOW SIZE
88)   MCBASI AUTO-LINE NUMBER LINE NUMBER
89)   MCBASI RUN ABORT FLAG

**********mainframe only**********
      DATA TABLET RELATED SETUP OPTIONS
91)   TABLET- RESERVED
92)   TABLET- UPPER LEFT LINE COORDINATE OF CURRENT BOX
93)   TABLET- UPPER LEFT ELEMENT COORDINATE OF CURRENT BOX
94)   TABLET- LOWER RIGHT LINE COORDINATE OF CURRENT BOX
95)   TABLET- LOWER RIGHT ELEMENT COORDINATE OF CURRENT BOX
96)   TABLET- BOX NAME (ASCII 4-CHAR)
97)   TABLET- BOX NUMBER
**********end mainframe only*******

98)   CURRENT MD CORE OUTPUT FILE FOR MOTION VECTORS(WINDCO)
99)   NORTLE TOGGLE
100)   CURRENT MD SELECTOR FILE FOR MOTION VECTORS(WINDCO)
**********mainframe only*********
101-120)  COPY OF RAW TEXT OF CURRENT OR LAST KEYIN ENTERED FROM KBD
121)   SINGLE LETTER KEYIN (ZERO (0) OTHERWISE)
122)   USED BY SCHEDULER (SKED) - LAST TIME THRU ALL ENTRIES FLAG
123-124) TERMINAL LUNAME IF VTAM RESOURCE
********end mainframe only*******
125-129) USER OR SITE DEFINED UC WORDS



******* CALLING SEQUENCES ********

      I=LUC(INDEX)
C
C-----PEEK/POKE USER COMMON
C
C
C-----LUC "LOOKS AT" USER COMMON (PEEK)
C-----INDEX IS WHERE (IN USER COM.) TO DO TRANSFER
C-----FN VAL IS  WORD EXTRACTED FROM USER COMMON
C
C
      I=PUC(FROM,INDEX)
      OR: CALL PUC(FROM,INDEX)    (NO FUNCTION VALUE)
C
C-----PUC POKES WORD INTO USER COMMON.
C-----INDEX AS IN LUC
C-----FROM IS FULLWORD DATA VALUE TO TRANSFER TO USER COM.
C-----FN VAL IS (ALSO) WORD TRANSFERRED
C
C-----NOTE THAT THE VARIABLES MARKED "**" ABOVE MAY NOT
C-----BE POKED UNLESS THE COMMAND IS RUNNING UNDER 'OPER'
C
*******************************************************************

Terminal type & communication mode determining switches

         ============================================================
        ]non-PC   ]non-PC   ]non-PC   ]         ]         ]
        ]pronet   ]bisync   ]async    ] PC async]PC Pronet] Host    ]
=====================================================================
Text    ]senout   ]senout   ]TQZ      ]Qspool   ]senout   ]Qspool   ]
        ] 02/03   ] 02/03   ]         ]F0       ]F0       ]F0       ]
---------------------------------------------------------------------
Data    ]senout   ]senout   ]   -     ]Qspool   ]Qspool   ]Qspool   ]
        ] 02/03   ]02/03    ]         ]F0       ]F0       ]F0       ]
---------------------------------------------------------------------
Control ]senout   ]senout   ]   -     ]   -     ]Qspool   ]  -      ]
        ] 02/03   ]02/03    ]         ]         ]F0       ]         ]
---------------------------------------------------------------------
Graphics]senout   ]senout   ] TQZ     ]Qspool   ]Qspool   ]Qspool   ]
        ] 02/03   ]02/03    ](TEK4010)]F0       ]F0       ](virtual)]
---------------------------------------------------------------------


UC word     Values
=======  ]  ========================================================
  15     ]  =0 (local pronet)  =1(remote bisync)  =2(remote async)
-------  ]  --------------------------------------------------------
  16     ]  =0 (non-video)  =1 (video)  =2 (host)
-------  ]  --------------------------------------------------------
  37     ]  =0 (SSEC/DATARAM), =2 (EGA), =3(VGA) =4(8514)
-------  ]  --------------------------------------------------------
  38     ]  =0 (No graphics output)  =1 (graphics on WRRRM)
         ]  =2 (graphics on 350x640 device)
-------  ]  --------------------------------------------------------
  83     ]  =0 (non-PC)  <>0 (PC)
-------  ]  --------------------------------------------------------
 -25     ]  =-2 (console) =-1 (tape BGND) =0 (BGND) =1 (foreground)
-------  ]  --------------------------------------------------------
 -39     ]  >0 (remote host term #), =-1 (local) =-2 (TWX/async)
-------  ]  --------------------------------------------------------


Type     ]  15     ]  16     ]  38     ]  -39    ]
=========]=========]=========]=========]=========]
 async   ]   2     ]  0 or 1 ] 0,1,2   ]  -2     ]
---------]---------]---------]---------]---------]
 BGND    ]   1     ]    0    ]   0     ] -1      ]
---------]---------]---------]---------]---------]
 PC (P/N)]   0     ]    1    ] 1 OR 2  ]   -1    ]
---------]---------]---------]---------]---------]
 3X78    ]    0    ]    0    ]    0    ]   -1    ]
---------]---------]---------]---------]---------]
 HOST    ]    1    ]    2    ]    0    ]   >0    ]
---------]---------]---------]---------]---------]
