CONNC * /--- FILE TYPE = E * /--- BLOCK CONNECT 00 000 84/04/12 16.52 IDENT CONNC LCC OVERLAY(1,1) TITLE CONDENSOR OVERLAY FOR -CONNECT- COMMAND CST CONNC$ OVFILE EJECT * /--- BLOCK CONNECT 00 000 84/04/12 16.53 * CONNECT CONTINUE * * DISCARDS ANY PENDING NOS OUTPUT AND * CONTINUES EXECUTION * CONNECT HELLO;APPLICATION;FAMILY;USER;PASSWORD * * SIMILAR TO LOGIN, BUT PERMITS A SYSTEM * LESSON TO SPECIFY FAMILY AND USER NAMES * OTHER THAN THOSE STORED IN PLATO RECORD * * APPLICATION = 'N'O'S APPLICATION TO CONNECT TO * FAMILY = NOS FAMILY NAME * USER = NOS USER NAME * PASSWORD = INTERACTIVE PASSWORD * CONNECT LOGIN;APPLICATION;PASSWORD * * INITIATES CONNECTION BETWEEN A PLATO USER * AND A NOS APPLICATION * * APPLICATION = NOS APPLICATION TO CONNECT TO * PASSWORD = INTERACTIVE PASSWORD FOR USER * NUMBER IN PLATO RECORD * CONNECT LOGOUT * * TERMINATES CONNECTION BETWEEN PLATO USER * AND NOS APPLICATION. * CONNECT NOLOG * * SUSPENDS CONNECTION BETWEEN PLATO USER AND * NOS APPLICATION. APPLICATION MAY CONTINUE * TO EXECUTE. CONNECTION MAY BE RESTORED VIA * -CONNECT RECOVER-. * CONNECT RECEIVE;BUFFER;LENGTH;RETURNEDLENGTH * * RECEIVES OUTPUT FROM NOS APPLICATION. THE * OUTPUT IS PACKED 7.5 ASCII CHARS / 60 BIT * CM WORD. * * BUFFER = START OF AREA IN STUDENT, LOCAL * ROUTER, OR CM VARIABLES IN * WHICH OUTPUT WILL BE RECEIVED * LENGTH = MAXIMUM CHARS TO RECEIVE * RETURNEDLENGTH = CHARS ACTUALLY RECEIVED * /--- BLOCK CONNECT 00 000 84/04/12 16.56 * CONNECT RECOVER * * RESTORES CONNECTION THAT WAS SUSPENDED VIA * -CONNECT NOLOG-. * CONNECT SELECT,CONNECTION * * PERMITS A SYSTEM LESSON TO SELECT WHICH OF * THREE CIDS IN THE STUDENT BANK WILL BE USED * FOR SUCCESSIVE -CONNECT- COMMANDS. THE * DEFAULT CID ORDINAL (AND THE ONLY ONE A * NON-SYSTEM LESSON CAN USE) IS 0. * * CONNECTION = CID ORDINAL (0..2) * CONNECT SEND;BUFFER;LENGTH * * SENDS OUTPUT TO NOS APPLICATION. THE * OUTPUT IS PACKED 7.5 ASCII CHARS / 60 BIT * CM WORD. * * BUFFER = START OF AREA IN STUDENT, LOCAL * ROUTER, OR CM VARIABLES FROM * WHICH OUTPUT WILL BE SENT * LENGTH = NUMBER OF CHARS TO SEND * CONNECT STATUS,STAT * * OBTAINS STATUS OF CONNECTION BETWEEN PLATO * USER AND NOS APPLICATION. * * STAT = STATUS OF CONNECTION * CONNECT STOP * * ABORTS CURRENT TASK. EJECT * /--- BLOCK CONNECT 00 000 84/04/12 16.51 CONNCOV OVRLAY * /--- BLOCK CONNECT 00 000 84/04/10 03.01 RJ =XSYSTEST SYSTEM LESSONS ONLY FOR NOW RJ =XNXTNAM (X6) = KEYWORD, (X1)= DELIMITER ZR X6,=XERR2FEW --- IF NO KEYWORD PRESENT SX7 X1+ SA7 LASTKEY SAVE DELIMITER SA1 KEYWORDS-2 PRESET (A1) FOR KEYWORD SEARCH CONNECT1 SA1 A1+2 (X1) = NEXT KEYWORD ZR X1,=XERRNAME --- IF END OF TABLE REACHED BX2 X1-X6 COMPARE NZ X2,CONNECT1 --- IF NO MATCH SX6 A1-KEYWORDS+1 (X6) = KEYWORD INDEX SA6 VARBUF+1 SAVE KEYWORD INDEX SX6 1 SA6 VARBUF INITIALIZE GETVAR COUNT SA1 A1+1 (X1) = 54/GETVAR INFO,6/SYSLESS MX0 -6 BX2 -X0*X1 (X1) = 1 SYSLESS, 2 NOT READY SX3 X2-2 CHECK IF NOT YET IMPLEMENTED ZR X3,=XERRNAME --- IF NOT YET IMPLEMENTED BX6 X0*X1 SAVE GETVAR PARAMS SA6 GETVARS SX3 X2-1 CHECK IF SYSTEM LESSONS ONLY NZ X3,CONNECT2 --- IF OK IN ANY LESSON RJ =XSYSTEST SYSTEM LESSON CHECK CONNECT2 SA1 GETVARS (X1) = GETVARS LEFT TO DO LX1 6 POSITION NEXT GETVAR PARAM MX0 -6 BX2 -X0*X1 (X2) = NEXT GETVAR PARAM SB2 X2+ (B2) = NEXT GETVAR PARAM ZR X2,CONNECT6 --- IF DONE WITH GETVARS BX6 X0*X1 CLEAR CURRENT GETVAR PARAM SA6 A1+ SA1 LASTKEY (X1) = PREVIOUS DELIMITER ZR X1,ERR2FEW --- IF END OF LINE REACHED SX1 X1-KSEMIC CHECK IF SEMI-COLON DELIMITER NZ X1,=XERRTERM --- BAD TERMINATER JP *+B2 --- JUMP ON GETVAR/PUTVAR TYPE + EQ CONNECT3 1 = ANY GETVAR CODE + EQ CONNECT4 2 = STORABLE GETVAR + EQ CONNECT5 3 = PUTVAR CODE CONNECT3 RJ =XVARDO2 PROCESS NEXT GETVAR CODE EQ CONNECT2 CONNECT4 RJ =XVARDO2 PROCESS NEXT GETVAR CODE SA1 VARBUF (X1) = PTR TO CURRENT GETVAR SA1 VARBUF+X1 (X1) = CURRENT GETVAR CODE PL X1,CONNECT2 --- OK IF STORABLE EQ =XERRSTOR --- ERROR IF NOT STORABLE CONNECT5 RJ =XPUTDO2 PROCESS NEXT PUTVAR CODE EQ CONNECT2 CONNECT6 SA1 LASTKEY ZR X1,=XMRKLAST --- ALL DONE IF END OF LINE EQ =XERR2MNY --- ERROR IF HANGING *;* GETVARS BSS 1 * /--- BLOCK CONNECT 00 000 84/04/03 16.32 * THE MACRO BELOW DEFINES A TABLE OF PRIMARY * -CONNECT- KEYWORDS AND ATTRIBUTES. THERE ARE * TWO WORDS PER TABLE ENTRY. THE FIRST WORD * CONTAINS THE KEYWORD, AND THE SECOND WORD CONTAINS * 54 BITS OF GETVAR CODE PARAMETERS (6 BITS FOR EACH * OF 9 POSSIBLE GETVAR CODES), AND 6 BITS TO TELL * WHETHER OR NOT A PARTICULAR KEYWORD IS RESTRICTED * TO SYSTEM LESSONS AND/OR IS IMPLEMENTED YET. KEYWORD MACRO OPTION,USERSYS,GETVARS * OPTION = PRIMARY KEYWORD OPTION * USERSYS = *S* IF FOR SYSTEM LESSONS ONLY * = *N* IF NOT YET IMPLEMENTED * GETVAR = GETVAR/PUTVAR CODES NEEDED IN THE FORM * OF A STRING WHERE -- * * *G* REPRESENTS ANY GETVAR CODE * *P* REPRESENTS ANY PUTVAR CODE * *S* REPRESENTS A STORABLE GETVAR CODE DATA 0L_OPTION NOREF .SYS .SYS SET 0 .1 IFC EQ,*USERSYS*S* .SYS SET 1 .1 ENDIF .2 IFC EQ,*USERSYS*N* .SYS SET 2 .2 ENDIF * PUT THE GETVAR/PUTVAR CODES LIST INTO A MICRO * AND CHECK THAT ITS LENGTH DOESN'7T EXCEED 9. GETVAR$ MICRO 1,,*_GETVARS* LTH$ MICCNT GETVAR$ ERRNG 9-LTH$ TOO MANY GETVAR/PUTVAR CODES * PRESET EACH POSSIBLE GETVAR/PUTVAR CODE TO * NULL (NOT PRESENT). ECHO 2,P=(1,2,3,4,5,6,7,8,9) NOREF .GV_P .GV_P SET 0 * EXTRACT EACH CHARACTER FROM THE STRING AND CHECK * FOR ANY GETVAR CODE (*G*), STORABLE GETVAR CODE * (*S*), AND PUTVAR CODE (*P*), AND SET * .GV1, .GV2, ..., GV9 TO 1, 2 OR 3, RESPECTIVELY. .GV ECHO ,C=(1,2,3,4,5,6,7,8,9) NOREF .GV_C CHAR$ MICRO C,1,*"GETVAR$"* .C IFC EQ,*"CHAR$"** STOPDUP .C ELSE IFC EQ,*"CHAR$"*G*,1 .GV_C SET 1 IFC EQ,*"CHAR$"*S*,1 .GV_C SET 2 IFC EQ,*"CHAR$"*P*,1 .GV_C SET 3 ERRZR .GV_C BAD GETVAR/PUTVAR SPECIFICATION .C ENDIF .GV ENDD * DEFINE THE SECOND WORD OF THE TABLE ENTRY. THIS * WORD CONTAINS 6 BITS FOR EACH POSSIBLE GETVAR * CODE (0 = NOT PRESENT, 1 = ANY GETVAR, 2 = * STORABLE GETVAR, 3 = PUTVAR). THE WORD ENDS WITH * 6 BITS FOR THE SYSTEM LESSON FLAG (0 = OK IN ANY * LESSON, 1 = RESERVED FOR SYSTEM LESSONS). ECHO 1,P=(1,2,3,4,5,6,7,8,9) VFD 6/.GV_P VFD 6/.SYS ENDM * /--- BLOCK CONNECT 00 000 84/03/28 15.02 KEYWORDS KEYWORD CONTINUE,N KEYWORD HELLO,N,GGGGG KEYWORD LOGIN,,GGG KEYWORD LOGOUT KEYWORD NOLOG,N KEYWORD RECEIVE,,SGP KEYWORD RECOVER,N KEYWORD SELECT,N,G KEYWORD SEND,,SG KEYWORD STATUS,,P KEYWORD STOP,N DATA 0 MARK END OF TABLE WITH 0 WORD * /--- BLOCK CONNECT 00 000 84/04/04 14.58 ENDOV OVTABLE END CONNC$