         << LINES .001/.009 ARE RESERVED FOR SYSTEMS INTEGRATION >>     00000001
         JMATJSNO := JMATSCOUNTER;                             << 1270>>05440000
         IF JMATSCOUNTER = MAXCOUNT   << The last count >>     << 1270>>05445000
         THEN    << Wrap around and start counting again >>    << 1270>>05450000
            JMATSCOUNTER := 1                                  << 1270>>05455000
         ELSE                                                  << 1270>>05460000
            JMATSCOUNTER := JMATSCOUNTER  + 1;                 << 1270>>05465000
$EDIT                                                          << 1270>>05470000
$EDIT                                                          << 1270>>05475000
$EDIT                                                          << 1270>>05480000
$EDIT                                                          << 1270>>05485000
$EDIT                                                          << 1270>>05490000
         JMATJSNO := JMATJCOUNTER;                             << 1270>>05515000
         IF JMATJCOUNTER = MAXCOUNT   << The last count >>     << 1270>>05520000
         THEN    << Wrap around and start counting again >>    << 1270>>05525000
            JMATJCOUNTER := 1                                  << 1270>>05530000
         ELSE                                                  << 1270>>05535000
            JMATJCOUNTER := JMATJCOUNTER  + 1;                 << 1270>>05540000
$EDIT                                                          << 1270>>05545000
$EDIT                                                          << 1270>>05550000
$EDIT                                                          << 1270>>05555000
$EDIT                                                          << 1270>>05560000
$EDIT                                                          << 1270>>05565000
LOGICAL PROCEDURE SPEEDSENSE;                                  <<09957>>05645000
  INTEGER TEMP,LOOPCNT;                                        <<09957>>05675000
  SPEEDSENSE := FALSE;                                         <<09957>>05691000
  LOOPCNT := 0;  << WE WILL USE LOOPCNT TO GET OUT AFTER  >>   <<09957>>05706000
  << ALOT OF TRYS.  SOMETIMES IF THERE IS NO TERMINAL     >>   <<09957>>05707000
  << CONNECTED, THE CABLE ACTS LIKE AN ANTENNA AND WE GO  >>   <<09957>>05708000
  << INTO A NASTY LOOP.                                   >>   <<09957>>05709000
    IF (LOOPCNT := LOOPCNT+1) > 100                            <<09957>>05716000
       THEN GO OUT;                                            <<09957>>05717000
    IF <> THEN GO OUT;                                         <<09957>>05721000
OUT:                                                           <<09957>>05736000
  IF DONE THEN SPEEDSENSE := TRUE;                             <<09957>>05746000
$PAGE                                                          <<09779>>05754000
<< * Fix information                                        >> <<09779>>05891000
<<                                                          >> <<09779>>05891010
<<   The setting of the JMAT to EXEC state has been         >> <<09779>>05891020
<<   removed.  The setting to EXEC has been placed after    >> <<09779>>05891030
<<   the call to INITJSMP in CIMAIN, after very table and   >> <<09779>>05891040
<<   the stack have been completely set up for the CI.      >> <<09779>>05891050
   JDTPTR     = NUMJDTPTRS+48,                                 <<09778>>05950000
   PROGMSG        = 36,                                        <<09235>>06135010
   PCSREADFAIL  =    15,                                       <<09957>>06271000
      AND (MESSNO <> 0)                                        <<09957>>07451000
JDT := JDTSIZE;  << maximum size the JDT segment can be>>      <<09778>>08520000
<< JDTPTR points to the first word beyond the main pin # >>    <<09778>>08523000
<< Initialize pointer to  each table to the same place since>> <<09778>>08528000
<< there are no table entries yet.                          >> <<09778>>08529000
<< add 8 to the free space pointer because of JCW entries >>   <<09778>>08533000
                                                                        08537100
<<*********************************************************>>           08537200
<<  WARNING to the HPE group:  the following sets the job  >>           08537300
<<          number from the JMAT.  Currently they are      >>           08537400
<<          assigned one word at a time, and are not       >>           08537500
<<          treated as a double.  This will need to change >>           08537600
<<          for HPE.                                       >>           08537700
<<*********************************************************>>           08537800
                                                                        08537900
JDT(JDTPTR-3) := JMATARR(JMATJSNOOFF); <<job & type # >>       <<09778>>08540000
JDT(JDTPTR-2) := JMATARR(2);  << second half of jobsess # >>   <<09778>>08541000
ELSE BEGIN<< SESSION >>                                        <<09235>>08890000
        GENMSG(SYSET,LOGONSNO,%0,@BPARTNO,@BBASEPARTNO,        <<09235>>08895000
               @DATEBUF);                                      <<09235>>08900000
        IF PROGCREATION                                        <<09235>>08900010
           THEN GENMSG(SYSET,PROGMSG);<<*** PROGRAMMATIC ***>> <<09235>>08900020
      END;                                                     <<09235>>08900030
   << JMAT set to EXEC in CIMAIN >>                            <<09779>>09465000
   JMATARR := JMATARR LAND %177437;                            <<09779>>09470000
$EDIT                                                          << 9522>>09475000
     THEN IF NOT SPEEDSENSE THEN TIMINATE(0,PCSREADFAIL);      <<09957>>10230000
<< We no longer change the job/session to EXEC here.  We  >>   <<09779>>10235000
<< change it to EXEC in CIMAIN after the stack has        >>   <<09779>>10236000
<< setting up.                                            >>   <<09779>>10237000
   JMATARR := JMATARR LAND %177437;                            <<09779>>10240000
LOGICAL VT'ENTRY'POINT := FALSE;                               << 2363>>13576000
                                                               <<09234>>13585010
DOUBLE UCAPS;                                                  <<09234>>13585020
LOGICAL UCAP1 = UCAPS;                                         <<09234>>13585030
                                                               <<09234>>13585040
EQUATE NEEDSMTONOWAITCONSOLE = 1499;                           <<09234>>13585050
ENTRY VT'STARTDEVICE;                                          << 2363>>13596000
                                                               << 2363>>13597000
<<***************************>>                                <<09234>>16680010
<<*  SUBROUTINE DONOWAIT    *>>                                <<09234>>16680020
<<***************************>>                                <<09234>>16680030
     ELSE IF DEVICE = ABSOLUTE(%1074) THEN                     <<09234>>16710000
          BEGIN                                                <<09234>>16710010
            << IF THE USER WANTS TO START A ;NOWAIT SESSION >> <<09234>>16710020
            << ON THE CONSOLE, THEN HE BETTER HAVE SM CAP.  >> <<09234>>16710030
            WHO(,UCAPS);                                       <<09234>>16710040
            IF UCAP1.(0:1) <> 1                                <<09234>>16710050
               THEN WARN(NEEDSMTONOWAITCONSOLE,PARM)           <<09234>>16710060
               ELSE JMATLOGONNOW := 1;                         <<09234>>16710070
          END                                                  <<09234>>16710080
          ELSE JMATLOGONNOW := 1;                              <<09234>>16710090
   GO TO MAIN'CODE;                                            << 2363>>16760100
VT'STARTDEVICE:                                                << 2363>>16760200
   VT'ENTRY'POINT := TRUE;                                     << 2363>>16760300
MAIN'CODE:                                                     << 2363>>16760400
                                                               << 2363>>16760500
                                                               << 2363>>18660100
IF VT'ENTRY'POINT THEN  << special PC Central session >>       << 2363>>18660200
   JMATIDLECI := 1 << CI will just sit & wait for son >>       << 2363>>18660300
ELSE                                                           << 2363>>18660400
   JMATIDLECI := 0;                                            << 2363>>18660500
                                                               <<09238>>20190010
REAL                                                           <<09238>>20190020
   ERRTIMEOUT := 5.0;                                          <<09238>>20190030
LOGICAL VT'ENTRY'POINT := FALSE;                               << 2363>>20241000
                                                               << 2363>>20241100
ENTRY VTDEVLOGON;                                              << 2363>>20242000
   GO TO MAIN'CODE;                                            << 2363>>20258000
                                                               << 2363>>20258010
VTDEVLOGON:                                                    << 2363>>20258100
   VT'ENTRY'POINT := TRUE;                                     << 2363>>20258200
   CHECK'TERM'ATTRIBUTES (LDEV,ERR);                           << 2363>>20258210
   IF ERR <> 0 THEN                                            << 2363>>20258220
      RETURN;                                                  << 2363>>20258230
                                                               << 2363>>20258240
MAIN'CODE:                                                     << 2363>>20258300
                                                               << 2363>>20258400
IF VT'ENTRY'POINT THEN                                         << 2363>>20276000
   VT'STARTDEVICE(LOGONTYPE,LOGONSTR,LDEV,,,,JOBNUM,ERR)       << 2363>>20276100
ELSE                                                           << 2363>>20276200
<< Unfortunately, STARTDEVICE will change the CR at the end >> << 1164>>20280010
<< of the logon string to a 0.  Therefore, we will change   >> << 1164>>20280020
<< the 0 back to a CR here.                                 >> << 1164>>20280030
  SCAN LOGONSTR UNTIL 0,1;                                     << 1164>>20280040
  BPS0 := %15;                                                 << 1164>>20280050
  ASSEMBLE (DEL);                                              << 1164>>20280060
    PAUSE(ERRTIMEOUT);  << IN THE INTEREST OF SECURITY WE    >><<09238>>20360010
    << WILL PAUSE FOR A WHILE TO PREVENT PEOPLE FROM GOING   >><<09238>>20360020
    << INTO A LOOP TRYING PASSWORDS.                         >><<09238>>20360030
    IF MSGARR(2) <> 0                                          <<09237>>20430000
       THEN ERR := MSGARR(2);  << Return value. >>             <<09237>>20430010
TOS := LDEV;                                                   <<09958>>20831000
LDEV := %6415;                                                 <<09958>>20832000
IF S0 = @LDEV & LSL(1) THEN                                    <<09958>>20840000
LDEV := TOS;                                                   <<09958>>20876000
OPTION UNCALLABLE;                                             <<09236>>21450010
