IDENT TLX,TLX PERIPH BASE MIXED SST *COMMENT TLX - TERMINAL ACTION PROCESSOR. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. TITLE TLX - TERMINAL ACTION PROCESSOR. SPACE 4,10 *** TLX - TERMINAL ACTION PROCESSOR. * G. R. MANSFIELD 72/02/08. * L. K. TUTTLE 79/04/19. (RESEQUENCED). SPACE 4,10 ** *TLX* MAY BE CALLED BY A CPU PROGRAM TO ALTER * TERMINAL CONTROL IN IAF. SPACE 4,10 *** CALL. * * *T 18/ *TLX*,6/ AR,12/ CODE,6/ SF,18/ PAR * AR AUTO RECALL * CODE FUNCTION CODE * SF SUBFUNCTION (FUNCTIONS 12 AND 15) * PAR PARAMETER FOR FUNCTION SPACE 4,10 *** DAYFILE MESSAGES. * * * * INCORRECT TERMINAL REQUEST.* = AN UNKNOWN FUNCTION CODE, * OR A REQUEST THAT REQUIRES *SSJ=* FROM A NON-*SSJ=* * PROGRAM. * * * TLX - ARGUMENT ERROR.* = PARAMETER ADDRESS OUT OF RANGE. * * * TLX - RPV ALREADY SET.* = FUNCTION 0, EXTENDED REPRIEVE * BIT ALREADY SET. * * * REQUEST IS VALID ONLY FROM A NETWORK TERMINAL.* = * THE TERMINAL IS NOT A NETWORK TERMINAL OR THE CONNECTION * IS NOT ONLINE. * * * USER CANNOT SWITCH FROM A SECONDARY APPLICATION.* = * A TERMINAL CANNOT REQUEST TO SWITCH TO ANOTHER APPLICATION * IF IT IS ALREADY CONNECTED TO A SECONDARY APPLICATION (IAF). * * * APPLICATION NAME IS REQUIRED.* = WHEN SWITCHING * APPLICATIONS, AN APPLICATION NAME MUST BE SPECIFIED IF THE * JOB IS CURRENTLY CONNECTED TO A PRIMARY APPLICATION (IAF). * * * THIS CONNECTION IS ALREADY LOANED.* = THIS CONNECTION IS * ALREADY LOANED, SO ANOTHER SWITCH IS NOT POSSIBLE UNTIL * THE CONNECTION RETURNS TO IAF. (THIS SHOULD NEVER OCCUR) SPACE 4,10 *** ACCOUNT FILE MESSAGES. * * * *ACAB.* = SECONDARY APPLICATION ABORTED CONNECTION. * * *ACAE.* = IAF INTERNAL ERROR DURING APPLICATION SWITCH. * * *ACAF.* = SECONDARY APPLICATION NETTED OFF OR FAILED. * * *ACAI.* = USER NOT VALIDATED FOR SECONDARY APPLICATION. * * *ACAR.* = SECONDARY APPLICATION TERMINATED CONNECTION. * * *ACAS, APLNAME.* = APPLICATION SWITCH TO *APLNAME*. * * *ACAU.* = SECONDARY APPLICATION REFUSED CONNECTION, NOT * AVAILABLE, OR AT CONNECTION LIMIT. SPACE 4,10 * COMMON DECKS. *CALL COMPMAC *CALL COMSCPS *CALL COMSJCE *CALL COMSPIM *CALL COMSREM *CALL COMSEJT *CALL COMSEVT *CALL COMSSSD TITLE MACRO DEFINITIONS. FCNP SPACE 4,25 ** FCNP - FUNCTION TABLE MACRO. * * FCNP PROC,CODE,NI,DT * * PROC = FUNCTION PROCESSOR ENTRY POINT. * CODE = IAF FUNCTION CODE. * NI = ACTION WHEN NOT INTERACTIVE CONNECTION STATUS (*NICS*). * IGN = IGNORE REQUEST. * PRO = PROCESS REQUEST. * DT = ACTION WHEN DETACHED CONNECTION STATUS (*DTCS*). * IGN = IGNORE REQUEST. * PRO = PROCESS REQUEST. * SUS = SUSPEND JOB. * * TABLE ENTRY GENERATED. * *T 12/ PROC ADR,12/ CODE,6/ NI,6/ DT * * NI AND DT FIELDS ARE DEFINED AS FOLLOWS * 0 = IGNORE REQUEST. * 1 = PROCESS REQUEST. * 2 = SUSPEND JOB. PURGMAC FCNP FCNP MACRO P,C,N,D MACREF FCNP CON P,C .1 SET 7777B .2 SET 7777B ECHO 3,A=(IGN,PRO),B=(0,1) IFC EQ,$N$A$,2 STOPDUP .1 SET B IFEQ .1,7777B,1 ERR INCORRECT *NI* PARAMETER ECHO 3,A=(IGN,PRO,SUS),B=(0,1,2) IFC EQ,$D$A$,2 STOPDUP .2 SET B IFEQ .2,7777B,1 ERR INCORRECT *DI* PARAMETER VFD 6/.1,6/.2 ENDM ABORT SPACE 4,10 ** ABORT - ERROR PROCESSOR MACRO. * * ABORT ADDR * * ADDR = FWA OF ERROR MESSAGE FOR DAYFILE. PURGMAC ABORT ABORT MACRO A MACREF ABORT LDC A LJM ERR PROCESS ERROR EXIT ENDM ERROR SPACE 4,10 ** ERROR - TRANSFER FILE ERROR PROCESSING MACRO. * * ERROR CODE,X * * CODE = RETURN STATUS CODE. * X = PREPROCESSING OPTION. * = R, REINSTATE CALLER-S FNT. * = B, CHANGE BACK TO CALLER-S CP AND REINSTATE CALLER-S FNT. * * CALLS CCP, RCF, SRS. PURGMAC ERROR ERROR MACRO C,X MACREF ERROR .A IFC NE,$X$$ .B IFC EQ,$X$B$ RJM CCP CHANGE BACK TO CALLER-S CP .B ENDIF RJM RCF REINSTATE CALLER-S FNT .A ENDIF LDN C LJM SRS SET RETURN STATUS ERROR ENDM SPACE 4,10 ** DIRECT LOCATION ASSIGNMENTS. CN EQU 20 - 24 CM WORD BUFFER (5 LOCATIONS) TT EQU 25 - 26 TERMINAL TABLE ADDRESS (2 LOCATIONS) TA EQU 27 IAF CONTROL POINT ADDRESS (RA). TW EQU 30 - 34 TERMINAL REQUEST WORD (5 LOCATIONS) TN EQU TW+4 TERMINAL NUMBER CS EQU 35 CONNECTION STATUS FN EQU 36 - 42 FNT ENTRY FS EQU 43 - 47 FST ENTRY FA EQU 60 ADDRESS OF FNT ENTRY IN CALLER-S NFL PP EQU 61 POT POINTER PA EQU 62 - 63 POT ADDRESS RC EQU 64 - 65 RECALL COUNTERS TITLE MAIN PROGRAM. SPACE 4,10 ** TLX - MAIN PROGRAM. * * EXIT TO FUNCTION PROCESSOR. * (TA) = IAF RA. * (TW) = FUNCTION CODE. * (TW+1 - TW+3) = ZERO. * (TW+4) = (TN) = TERMINAL NUMBER. * (CS) = CONNECTION STATUS. ORG PPFW TLX RJM PRS PRESET PROGRAM LJM * PROCESS REQUEST TLXA EQU *-1 * FUNCTION REQUEST EXIT. * * ENTRY (TW - TW+4) = FORMATTED *TSEM* REQUEST. TLXX LDN 10D ALLOW RECALL IF *TSEM* QUEUE FULL RJM ITF ISSUE *TSEM* FUNCTION DPP MONITOR DPPM DROP PP LJM PPR EXIT TO PP RESIDENT TFCN SPACE 4,10 ** TFCN - TABLE OF FUNCTION CODE PROCESSORS. * * ENTRY = 3 WORDS. * *T 12/ ADDR,12/ CODE,6/ NI,6/ DT * ADDR ADDRESS OF FUNCTION PROCESSOR * CODE FUNCTION CODE FOR *TSEM* REQUEST. * NI ACTION WHEN CONNECTION STATUS IS *NICS*. * 0 = IGNORE REQUEST. * 1 = PROCESS REQUEST. * DT ACTION WHEN CONNECTION STATUS IS *DTCS*. * 0 = IGNORE REQUEST. * 1 = PROCESS REQUEST. * 2 = SUSPEND JOB. TFCN BSS 0 LOC 0 FCNP SIA,VSDT,IGN,PRO SET INTERRUPT ADDRESS FCNP CIA,VCDT,IGN,PRO CLEAR INTERRUPT ADDRESS FCNP CCR,VCDT,IGN,SUS CLEAR CHARGE REQUIRED FCNP SCS,VSCS,IGN,PRO SET CHARACTER SET FCNP PAR,VPTY,IGN,SUS SET PARITY FCNP STS,0000,PRO,PRO RETURN STATUS FCNP SPM,VSDT,IGN,PRO SET PROMPT OFF FCNP SPM,VCDT,IGN,PRO SET PROMPT ON FCNP PSF,VSDT,IGN,SUS PROCESS SORT FLAG CHANGE FCNP REC,VREC,IGN,SUS RECOVER JOB FCNP TWF,VCSM,PRO,PRO TRANSFER WORKFILE FCNP SSM,VSDT,IGN,SUS SET SCREEN MODE FCNP SSM,VCDT,IGN,SUS CLEAR SCREEN MODE FCNP SWS,0000,IGN,PRO SET NFL WORD *SLMN* FCNP LTI,0000,PRO,PRO LOOK FOR TYPED AHEAD INPUT FCNP PDT,VDTJ,PRO,PRO DETACH JOB FCNP SEM,VSDT,IGN,PRO SET USER EFFECT MODE FCNP SEM,VCDT,IGN,PRO CLEAR USER EFFECT MODE FCNP APS,VTLF,IGN,PRO SWITCH APPLICATIONS FCNP RLC,0000,IGN,PRO RESTART LOANED CONNECTION TFCNL BSS 0 TABLE LWA+1 LOC *O TITLE FUNCTION PROCESSORS. SIA SPACE 4,10 *** FUNCTION 0. * * SET PROGRAM TERMINAL CONTROL. * SET INTERRUPT ADDRESS = PAR. SIA LDD CP READ ENTRY/EXIT CONTROL WORD ADN TIAW CRD CM ADN EECW-TIAW CRD CN LDD IR+3 VALIDATE REQUEST ADDRESS LPN 77 SHN 14 PJN SIA1 IF FLAG ADDRESS ADN 21 ADD EXCHANGE PACKAGE SIA1 LPC 377777 ADD IR+4 SHN -6 SBD FL MJN SIA2 IF VALID ABORT ERIR * INCORRECT TERMINAL REQUEST.* SIA2 LDD IR+3 ENTER INTERRUPT ADDRESS LPN 77 STM SIAB+3 LDD IR+4 STM SIAB+4 LDD CN CHECK EXTENDED REPRIEVE SET SHN 21-12 PJN SIA3 IF EXTENDED REPRIEVE NOT SET ABORT ERRA * TLX - RPV ALREADY SET.* SIA3 LDD MA ENTER *UADM* SUB-FUNCTION CWM SIAB,ON LDN 1 STD CM+1 *UADM* WORD COUNT STD CM+2 SPECIFY NO DROP OF PP MONITOR UADM LDD HN SET MASK FOR RECOVERY WORD RJM URW UPDATE RECOVERY WORD NJP DPP IF NOT ON-LINE JOB * COMMON ENTRY TO SET *VSTT*. SIA4 LDN VSTT SET WORD NUMBER STD TW+2 SIAA LDN 59D SET BIT NUMBER * LDN 57D (CHARGE REQUIRED) * LDN 55D (SET/CLEAR USER EFFECT MODE) * LDN 53D (SET/CLEAR PROMPT MODE) * LDN 52D (SET/CLEAR SORT FLAG) * LDN 49D (SET/CLEAR SCREEN MODE) STD TW+3 LJM TLXX EXIT * *UADM* FUNCTION TO SET/CLEAR TERMINAL INTERRUPT ADDRESS. SIAB CON CSFS SET VARIABLE FIELD CON TIAW WORD TO SET CON 18D*100+18D FIELD TO SET AND WIDTH CON 0,0 VALUE FIELD CIA SPACE 4,10 *** FUNCTION 1. * * CLEAR TERMINAL CONTROL. * CLEAR INTERRUPT ADDRESS. CIA LDD CP READ ENTRY/EXIT CONTROL WORD ADN TIAW CRD CM ADN EECW-TIAW CRD CN LJM SIA3 CLEAR ENTRY/EXIT WORD CCR SPACE 4,10 *** FUNCTION 2. * * CLEAR *CHARGE* REQUIRED. CCR LCN 59D-57D SET BIT NUMBER RAM SIAA UJN SIA4 PROCESS REQUEST SCS SPACE 4,10 *** FUNCTION 3. * * SET CHARACTER SET MODE. * SETS OR CLEARS EXTENDED CHARACTER SET MODE. * * ENTRY PAR = (IR+4) = 0, SET NORMAL MODE. * = 1, SET EXTENDED MODE. * = 2, RESTORE ENTRY MODE. * = 10, SET NORMAL MODE, RESET ENTRY MODE. * = 11, SET EXTENDED MODE,RESET ENTRY MODE. SCS LDD IR+4 SET ARGUMENT STD TW+2 SBN 3 MJN SCS3 IF VALID ARGUMENT SBN 10-3 MJN SCS1 IF INCORRECT ARGUMENT SBN 12-10 MJN SCS2 IF VALID ARGUMENT SCS1 ABORT ERIR * INCORRECT TERMINAL REQUEST.* SCS2 AOM SCSA INDICATE RESET ENTRY MODE SCS3 LDD CS LMK OLCS ZJP TLXX IF ON-LINE JOB, ENTER REQUEST NFA RC1N READ RECOVERY WORD FROM NFL CRD CM LDD CM+3 CLEAR CURRENT CHARACTER SET SCN 7 STD CM+3 SHN -3 SAVE INITIAL CHARACTER SET LPN 7 STD T1 LDD IR+4 LPN 7 LMN 2 ZJN SCS4 IF RESTORE ENTRY MODE LMN 2 STD T1 SCS4 LDD T1 SET NEW CURRENT CHARACTER SET RAD CM+3 SCSA LDN 0 * LDN 1 (RESET ENTRY MODE) ZJN SCS5 IF NO RESET NEEDED LDD CM+3 RESET ENTRY MODE SHN -3+22 SCN 7 LMD T1 SHN 3 STD CM+3 SCS5 NFA RC1N REWRITE RECOVERY WORD CWD CM LJM DPP DROP PP PAR SPACE 4,10 *** FUNCTION 4. * * SET TERMINAL PARITY. * * ENTRY PAR = (IR+4) = 0, SET EVEN PARITY. * = 1, SET ODD PARITY. PAR LDD IR+4 CHECK ARGUMENT STD TW+3 SBN 2 MJP TLXX IF VALID ARGUMENT, ENTER REQUEST ABORT ERIR * INCORRECT TERMINAL REQUEST.* STS SPACE 4,30 *** FUNCTION 5. * * RETURN TERMINAL STATUS. * * ENTRY (IR+3 - IR+4) = 6/ L,18/ PAR * * L = LENGTH OF RETURN BUFFER (2 IF NOT SPECIFIED). * PAR = ADDRESS OF PARAMETER WORD. * * EXIT TERMINAL STATUS RETURNED TO USER. * *T PAR 42/TERMINAL ID, 6/SUB, 12/TN *T, PAR+1 3/ ,3/ NT,6/ CS,4/,8/ NDT,18/ INT,6/ TC,12/ STATUS *T, PAR+2 42/TERMINAL NAME, 18/0 (IF *L* .GT. 2) * * SUB = SUBSYSTEM. * TN = TERMINAL NUMBER. * NT = NETWORK TYPE. * CS = CONNECTION STATUS. * NDT = NETWORK TERMINAL DEVICE TYPE. * INT = INTERRUPT ADDRESS IF SET. * TC = TRANSMISSION CODE. * 0 = ASCII. * 1 = CORRESPONDENCE. * 2 = NIXDORF. * 3 = NETWORK. * * STATUS - BIT * * USER FORMAT EFFECTORS 6 * BRIEF MODE 5 * TAPE MODE 4 * FULL DUPLEX 3 * CURRENT CHARACTER SET 2 (EXTENDED IF SET) * ENTRY CHARACTER SET 1 (EXTENDED IF SET) * PARITY 0 (ODD IF SET) * * IF CONNECTION STATUS IS NOT ONLINE, STATUS WILL BE RETURNED * BUT THE ONLY VALID FIELD WILL BE *CS*. ALL OTHER FIELDS * WILL BE ZERO EXCEPT *TERMINAL ID* WHICH WILL BE BLANK. * * CALLS GPA, RRR, SDT, SNI, SRR, STA, STI. * * MACROS ABORT. STS4 ABORT ERIR * INCORRECT TERMINAL REQUEST.* STS LDD IR+3 VALIDATE RETURN ADDRESS SHN 14 STD T7 SAVE RETURN BUFFER LENGTH ADD IR+4 SHN -6 SBD FL PJN STS4 IF INVALID ADDRESS LDD T7 SBN 3 MJN STS0 IF NOT EXTENDED STATUS LDN ZERL PRESET TERMINAL NAME CRD FN LDN PSNI STM STSB STS0 LDD CS LMN OLCS NJP STS3 IF NOT ON LINE LDN VTTL READ TERMINAL TABLE STD T1 RJM SRR SET R-REGISTER TO IAF RA RJM STA CRM TTTA,T1 RJM RRR RESTORE R-REGISTER * SET TERMINAL IDENTIFICATION. RJM SNI SET NETWORK IDENTIFICATION STD T2 NJN STS1 IF NETWORK TERMINAL RJM STI SET MUX TERMINAL IDENTIFICATION * FORMAT TERMINAL PARAMETERS. STS1 LDD CP SET INTERRUPT ADDRESS ADN TIAW CRD CN LDN 0 STD CN STD CN+1 LDD CN+3 SCN 77 STD CN+3 LDM TTTA+VDPT*5+3 STD T1 LPN 1 SET PARITY BIT STD CN+4 LDD T1 SET DUPLEX BIT SHN 3-6 LPN 10 RAD CN+4 LDM TTTA+VDCT*5+0 STD T1 SHN 4-0 SET TAPE MODE BIT LPN 20 RAD CN+4 LDD T1 SET BRIEF MODE FLAG SHN 5-7 LPN 40 RAD CN+4 LDD T1 SET CHARACTER SET MODE SHN 2-3 LPN 4 RAD CN+4 LDD CM+4 SET TRANSMISSION CODE LPN 77 RAD CN+3 LDD TN SET TERMINAL NUMBER STD CM+4 LDM TTTA+VSTT*5+3 SET SUBSYSTEM STD T1 LMD CM+3 SCN 77 LMD T1 STD CM+3 LDD T1 SET ENTRY CHARACTER SET MODE SHN 1-6 LPN 2 RAD CN+4 LDM TTTA+VSTT*5 SHN 6-7 LPC 100 SET FORMAT EFFECTOR BIT RAD CN+4 LDD T2 CHECK IF NETWORK TERMINAL ZJP STS2 IF NOT NETWORK TERMINAL LDD T7 SBN 3 MJN STS1.1 IF NOT EXTENDED STATUS RJM SRR SET R-REGISTER TO IAF RA LDD TA GET TERMINAL NAME TABLE POINTERS SHN 6 ADN VTNP CRD FN LDD FN+1 LPN 77B SHN 6 ADD TA SHN 6 ADD FN+2 ADD TN ADD TERMINAL NUMBER CRD FN READ NETWORK TERMINAL NAME RJM RRR RESTORE R-REGISTER LDN 0 CLEAR UNUSED BITS STD FN+4 LDD FN+3 SCN 77 STD FN+3 STS1.1 RJM SDT SET DEVICE TYPE AND TRANSMISSION CODE LDD T0 SET NETWORK TYPE SHN 6-12 LPC 100 ADD HN STS2 LMD CS SET CONNECTION STATUS STD CN * WRITE STATUS INTO USER BUFFER. RJM GPA GET PARAMETER WORD ADDRESS CWD CM ADN 1 CWD CN STSB UJN STS2.1 DROP PP * PSN (IF EXTENDED STATUS) ADN 1 CWD FN STS2.1 LJM DPP DROP PP * PROCESS SPECIAL STATUS. STS3 LDD MA CWM STSA,ON SBN 1 CRD CM LDN ZERL CRD CN LDN 0 UJN STS2 WRITE STATUS STSA VFD 42/1H ,18/0 SPM SPACE 4,10 *** FUNCTIONS 6 AND 7. * * SET/CLEAR PROMPT MODE BIT IN *VSTT* SPM LCN 59D-53D SET BIT 53 *VSTT* RAM SIAA LDN 1 SET MASK FOR RECOVERY WORD RJM URW UPDATE RECOVERY WORD NJP DPP IF NOT ON-LINE JOB LJM SIA4 PROCESS REQUEST PSF SPACE 4,10 *** FUNCTION 10B. * * SET OR CLEAR SORT FLAG. * * ENTRY PAR = SUBFUNCTION CODE, SORT FLAG VALUE TO SET. * = 0, CLEAR SORT FLAG, FILE SORTED. * = 1, SET SORT FLAG, FILE UNSORTED. PSF LDD IR+4 CHECK FUNCTION CODE ZJN PSF1 IF ONE, SET FLAG SBN 1 ZJN PSF2 IF ZERO, CLEAR FLAG ABORT ERIR * TLX - INCORRECT TERMINAL REQUEST.* PSF1 AOD TW PSF2 LCN 59D-52D SET BIT NUMBER RAM SIAA LJM SIA4 PROCESS REQUEST REC SPACE 4,10 ** FUNCTION 11B. * * RECOVER JOB. * * JSN IS FOUND IN BITS 23-0 OF THE REQUEST. REC LDD IR+3 TRANSFER JSN STD TW+1 LDD IR+4 STD TW+2 LDN ZERL CRD CM LDD CP CLEAR MESSAGE ADK MS1W CWD CM LDN RODS SET TO ROLLOUT AND DISABLE STD CM+1 MONITOR ROCM LJM TLXX EXIT SPACE 4,35 ** FUNCTION 12B. * * TRANSFER WORKFILE. * * ENTRY (IR+3 - IR+4) = 6/ TF,18/ ADDR * * TF = TRANSFER FUNCTION. * 0 = TRANSFER TO SUBSYSTEM. * 1 = TRANSFER FROM SUBSYSTEM. * * ADDR = ADDRESS OF PARAMETER WORD. * *T ADDR 12/ FNTR,12/ FNTS,12/ SSID,12/0,11/ ST,1/ C * * FNTR = FNT OFFSET IN RECEIVER-S NFL. * FNTS = FNT OFFSET IN SOURCE-S NFL. * SSID = RECEIVER-S SUBSYSTEM ID. * ST = RETURN STATUS CODE (SEE *COMSREM*) * C = COMPLETION BIT. * * EXIT SUBFUNCTION 0 - TO *TWR*. * SUBFUNCTION 1 - TO *SRS*. * * CALLS AST, CCP, CSP, CLF, CPR, GPA, GSC, RCF, RTE, SPJ, SRS, * TWR. * * MACROS ABORT, ERROR, NFA. TWF LDD CP GET NFL FL ADN FLSW CRD CM ADN SEPW-FLSW GET SPECIAL ENTRY POINTS CRD T1 RJM GPA GET PARAMETER WORD ADDRESS CRD CN LDD T1 SHN 21-2 MJN TWF2 IF SSJ= TWF1 ERROR RSSI RETURN SUBSYSTEM INACCESSIBLE STATUS TWF2 LDD IR+3 SHN -6 NJN TWF3 IF TRANSFER FROM SUBSYSTEM LDD CS LMN OLCS NJN TWF1 IF NOT ON LINE TWF3 LDD CN+1 VALIDATE SOURCE FNT OFFSET STD FA ADC -FNTN PJN TWF5 IF NOT TOO SMALL TWF4 ERROR RSFN RETURN FILE NOT FOUND STATUS TWF5 LDD CM SHN 6 NFL FL SBD CN+1 MJN TWF4 IF SOURCE NFL OFFSET TOO LARGE NFA CN+1,R GET FNT/FUT CRD FN CRD FS ADN FUTL-FNTL CRM TWFB,ON LDD IR+3 CHECK TRANSFER FUNCTION SHN -6 ZJN TWF7 IF TRANSFER TO SUBSYSTEM SBN 1 NJN TWF6 IF INCORRECT TRANSFER FUNCTION LJM TWF17 PROCESS TRANSFER FROM SUBSYSTEM TWF6 ABORT ERIR * TLX - INCORRECT TERMINAL REQUEST.* * TRANSFER WORKFILE TO SUBSYSTEM. TWF7 RJM SFB SET FILE BUSY ZJN TWF8 IF FILE NOT PREVIOUSLY BUSY ERROR RSFB RETURN FILE BUSY STATUS TWF8 LDD FN+4 CHECK FILE TYPE SHN -6 SBN LOFT ZJN TWF10 IF LOCAL FILE TYPE TWF9 ERROR RSIT RETURN INCORRECT FILE TYPE STATUS TWF10 LDD FN+3 CHECK ACCESS MODE LPN 1 NJN TWF9 IF READ ONLY LDD FS+1 VERIFY TRACK CHAIN EXISTS ZJN TWF9 IF NO TRACK CHAIN LDD CN+2 CHECK *SSID* ADC -SMSI ZJN TWF11 IF *SMF* *SSID* ERROR RSSK RETURN UNKNOWN *SSID* STATUS TWF11 LDC FECF*10000B GET SUBSYSTEM *SSCT* ENTRY ADD CN+2 RJM AST SHN 21-13 MJN TWF12 IF SUBSYSTEM ACCESSIBLE ERROR RSSI RETURN SUBSYSTEM INACCESSIBLE STATUS TWF12 RJM GSC GET SUBSYSTEM CP NUMBER * CHANGE FILE TYPE, ACCESS MODE IN SOURCE-S FNT ENTRY. LDD FN+4 SET *LIBRARY* FILE TYPE LPN 77 ADC LIFT*100 STD FN+4 AOD FN+3 SET WRITE LOCKOUT BIT NFA CN+1,R CWD FN * WRITE FNT/FST INTO SUBSYSTEM NFL. RJM CSP CHANGE TO SUBSYSTEM CONTROL POINT NJN TWF13 IF CHANGE MADE ERROR RSSI,R RETURN SUBSYSTEM INACCESSIBLE STATUS TWF13 LDM CSPB ZJN TWF14 IF CP CHANGED AND *SMF* THERE ERROR RSSI,B RETURN SUBSYSTEM INACCESSIBLE STATUS TWF14 RJM CLF CREATE LOCAL FNT ENTRY LDN 30 SET ALTER ONLY MODE RAD T4 LDD FN+4 SET *LIBRARY* FILE TYPE STD T5 LDD FS+4 CLEAR FILE BUSY STATUS LMN 1 STD FS+4 NFA CN,R CWD T1 ADN FSTL-FNTL CWD FS ADN FUTL-FSTL CWM TWFB,ON * CHANGE BACK TO CALLER CONTROL POINT. RJM CCP CLEAR ALTERNATE CP ASSIGNMENT RJM GPA GET PARAMETER WORD ADDRESS CWD CN WRITE FUNCTION PARAMETER WORD * LDN 0 INDICATE CONNECTION * STD TW+3 LDN 0 RJM ITF ISSUE *TSEM* FUNCTION LDN 77 LOOP UNTIL CONNECTION SET STD T1 TWF15 DELAY LDD TT GET *VFST* SHN 14 LMD TT+1 ADN VFST CRD CM LDD CM+3 CHECK CONNECT CODE SHN -6 NJN TWF16 IF CONNECTION SET SOD T1 NJN TWF15 IF NOT TIMEOUT * SET TIMED EVENT ROLLOUT AND PP RECALL. TWF16 RJM RTE REQUEST TIMED/EVENT ROLLOUT LJM TWR TRANSFER WORKFILE FUNCTION RECALL * TRANSFER WORKFILE FROM SUBSYSTEM. TWF17 RJM CPR CHECK PREMATURE RECALL NJN TWF16 IF PREMATURE RJM RCF REINSTATE CALLER-S FNT ENTRY RJM SFN SET FILE NOT BUSY LDD CS CHECK CONNECTION STATUS LMN OLCS ZJN TWF18 IF ON LINE LMN NICS&OLCS ZJN TWF19 IF NOT INTERACTIVE LJM SPJ SUSPEND JOB TWF18 LDN 1 INDICATE DISCONNECTION STD TW+3 LDN 0 RJM ITF ISSUE *TSEM* FUNCTION TWF19 LDN RSSN SET SWITCH NORMAL RETURN STATUS LJM SRS SET RETURN STATUS TWFA CON 0 CALLER EJT ORDINAL TWFB VFD 60/0 WORKFILE FUT ENTRY SSM SPACE 4,10 *** FUNCTIONS 13B AND 14B. * * SET/CLEAR SCREEN MODE BIT IN *VSTT*. SSM LCN 59D-49D SET BIT 49 *VSTT* RAM SIAA LJM SIA4 PROCESS REQUEST SWS SPACE 4,25 *** FUNCTION 15B. * * SET WORD *SLMN*. * * ENTRY (IR+3 - IR+4) = 6/ W,18/ ADDR * * W = READ OR WRITE NFL WORD *SLMN*. * 0 = READ. * 1 = WRITE. * ADDR = ADDRESS OF PARAMETER WORD. * * PARAMETER WORD FORMAT - * *T 53/ 0,1/ SM,6/ TM * SM = SCREEN MODE FLAG. * 0 = LINE MODE. * 1 = SCREEN MODE. * TM = TERMINAL MODEL. AN ORDINAL FROM 1 TO 63 DECIMAL. * ZERO MEANS TYPE UNKNOWN. SEE TABLE OF CORRESPONDING * TERMINAL ORDINALS, *TCTO*, IN *COMCGTO* FOR MORE * INFORMATION. * * EXIT TERMINAL WORD *SLMN* READ OR WRITTEN. SWS LDD IR+3 CHECK READ OR WRITE SHN -6 ZJN SWS2 IF READ *SLMN* SBN 1 ZJN SWS4 IF WRITE SWS1 ABORT ERIR * INCORRECT TERMINAL REQUEST.* SWS2 NFA SLMN GET WORD *SLMN* CRD T2 RJM GPA GET PARAMETER WORD ADDRESS CWD T2 SWS3 LJM DPP DROP PP SWS4 RJM GPA GET PARAMETER WORD ADDRESS CRD T2 LDD T6 LPC 177 STD T6 NFA SLMN GET *SLMN* CRD T1 LDD T5 LPC 7600 LMD T6 STD T5 NFA SLMN WRITE *SLMN* CWD T1 UJN SWS3 RETURN LTI SPACE 4,10 *** FUNCTION 16B. * * LOOK FOR TYPED AHEAD INPUT. * * ENTRY PAR = ADDRESS FOR RETURN DATA. * * EXIT (PAR) = 0 IF NO DATA TYPED AHEAD. * * CALLS GPA, RRR, SRR, STA. LTI LDN ZERL PRESET ZERO RETURN CRD CN LDD CS LMK OLCS NJP LTI2 IF NOT ONLINE RJM SRR SET R-REGISTER TO IAF RA RJM STA SET TERMINAL TABLE ADDRESS ADN VROT CHECK FOR PREPROCESSED INPUT CRD CM LDD CM+1 STD CN+4 NJN LTI1 IF INPUT PRESENT LDD TA TIMESHARING REFERENCE ADDRESS SHN 6 ADN VNTP TERMINAL TABLE POINTER CRD CM LDD CM+2 ZJN LTI1 IF NO NETWORK TERMINALS DEFINED SBN 1 (A) = HIGHEST MUX TERMINAL NUMBER SBD TN PJN LTI1 IF A MUX TERMINAL LDD TA IAF REFERENCE ADDRESS SHN 6 ADN VMST TERMINAL STATUS MESSAGE WORD CRD CM LDD CM+1 SHN 6 ADD TA SHN 6 ADD CM+2 ADD TN CRD CM READ TERMINAL MESSAGE WORD LDD CM+4 INPUT TYPEAHEAD QUEUE POINTER STD CN+4 LTI1 RJM RRR RESTORE R-REGISTER LTI2 RJM GPA GET PARAMETER WORD ADDRESS CWD CN LJM DPP EXIT PDT SPACE 4,10 *** FUNCTION 17B. * * DETACH JOB FROM TERMINAL. PDT LDD CS CHECK CONNECTION STATUS LMK OLCS NJP DPP IF NOT ONLINE LDN PDRC SET PROGRAM INITIATED DETACH REASON CODE STD TW+2 LJM TLXX SEND *TSEM* REQUEST SEM SPACE 4,10 ** FUNCTION 20 AND 21B. * * SET/CLEAR USER EFFECT MODE BIT IN *VSTT*. SEM LCN 59D-55D SET BIT 55 IN *VSTT* RAM SIAA LDC 400 SET MASK FOR RECOVERY WORD RJM URW UPDATE RECOVERY WORD NJP DPP IF NOT ON-LINE JOB LJM SIA4 PROCESS REQUEST APS SPACE 4,10 *** FUNCTION 22B. * * PROCESS APPLICATION SWITCH. * * ENTRY (IR+3 - IR+4) = PARAMETER WORD ADDRESS. * (TN) = TERMINAL NUMBER. * (TA) = IAF REFERENCE ADDRESS. * (TW) = *TSEM* REQUEST VALUE. * (CS) = CONNECTION STATUS. * *T,PAR 42/ANAME, 18/0 *T,PAR+1 - PAR+5 REMAINDER OF COMMAND LINE. * * ANAME = NEXT APPLICATION NAME. * * EXIT TO *TLXX* TO MAKE *TSEM* REQUEST FOR SWITCH. * * CALLS CKA, DFM, RRR, SNI, SPA, SRR, STA. * * MACROS ABORT, DELAY, MONITOR. APS LDN 6 SET WORD COUNT STD T1 RJM CKA CHECK APPLICATION NAME ADDRESS CRM APSC,T1 LDD CS CHECK CONNECTION STATUS LMN OLCS NJP APS7 IF NOT ONLINE CONNECTION STATUS RJM SNI CHECK IF NETWORK TERMINAL ZJP APS7 IF NOT A NETWORK TERMINAL RJM SRR SET R-REGISTER TO IAF RA RJM STA SET TERMINAL TABLE ADDRESS ADK VDCT CRD CM READ UP *VDCT* RJM RRR RESTORE R-REGISTER LDD CM+1 SHN 21-13 CHECK PRIMARY CONNECTION BIT MJP APS10 IF CONNECTION ALREADY LOANED SHN 1 CHECK SECONDARY CONNECTION BIT PJN APS1 IF IAF NOT SECONDARY APPLICATION LDM APSC ZJN APS0 IF NO APPLICATION SPECIFIED LMC 2RAB CHECK FOR *ABORT* NJP APS8 IF NOT ABORT APPLICATION LDM APSC+1 LMC 2ROR NJP APS8 IF NOT ABORT APPLICATION LDM APSC+2 LMC 1RT*100 NJP APS8 IF NOT ABORT APPLICATION APS0 UJN APS2 CONTINUE APS1 LDM APSC GET APPLICATION NAME ZJP APS9 IF NO NAME SPECIFIED LMC 2RIA NJN APS2 IF NOT *APPSW,IAF* LDM APSC+1 SHN -6 LMN 1RF ZJP APS11 IF *APPSW,IAF* APS2 LDN ZERL CRD CM APS3 LDN 1 SET POTS REQUIRED STD CM+1 MONITOR TGPM MAKE POT REQUEST LDD CM+1 ZJP APS6 IF IAF NOT ACTIVE LMC 7777 NJN APS5 IF POTS AVAILABLE LDC 600 SET DELAY STD T1 APS4 DELAY SOD T1 NJN APS4 IF DELAY NOT COMPLETE UJN APS3 REISSUE REQUEST APS5 LDD CM+1 SET POT POINTER STD PP STD TW+3 SAVE POINTER IN REQUEST LDC 1 SET LOGOUT TYPE IN REQUEST STD TW+2 LDN VCPC-1 STD T1 RJM SRR SET R-REGISTER TO IAF RA RJM SPA SET POT ADDRESS ADN 1 CWM APSC,T1 WRITE NAME AND TEXT TO POT RJM RRR RESTORE R-REGISTER * TERMINATE ACCOUNT FILE MESSAGE. LCN 0 INITIALIZE MESSAGE INDEX STD T1 APS5.1 AOD T1 INCREMENT MESSAGE INDEX LDM APSC,T1 ZJN APS5.2 IF END OF NAME LPN 77 NJN APS5.1 IF NOT END OF NAME LDM APSC,T1 ADD PERIOD TERMINATOR TO MESSAGE LMN 1R. STM APSC,T1 UJN APS5.3 STORE END OF LINE IN MESSAGE APS5.2 LDC 1R.*100 ADD PERIOD TERMINATOR TO MESSAGE STM APSC,T1 APS5.3 LDN 0 STORE END OF LINE IN MESSAGE STM APSC+1,T1 LDC APSB+ACFN RJM DFM ISSUE ACCOUNT MESSAGE LDN RODS SET DISABLE OPTION STD CM+1 MONITOR ROCM APS6 LJM TLXX EXIT APS7 ABORT ERNT NETWORK TERMINAL COMMAND ONLY APS8 ABORT ERSA INCORRECT SECONDARY APPLICATION SWITCH APS9 ABORT ERNR APPLICATION NAME REQUIRED APS10 ABORT ERAL CONNECTION ALREADY LOANED APS11 ABORT ERCS CANNOT SWITCH TO CURRENT APPLICATION (IAF) APSB DATA 6LACAS, ACCOUNT MESSAGE HEADER APSC BSSZ 6*5 APPLICATION NAME AND Z PARAMETER BSSZ 2*5 TERMINATOR WORDS RLC SPACE 4,20 *** FUNCTION 23B. * * RESTART LOANED CONNECTION. * * ISSUE APPROPRIATE ACCOUNTING AND DAYFILE MESSAGES AND * RESTART, DETACH, OR TERMINATE THE RETURNED JOB. * * ENTRY (TN) = TERMINAL NUMBER. * (TA) = IAF REFERENCE ADDRESS. * (TW) = *TSEM* REQUEST VALUE. * *VROT*, BYTE 2 CONTAINS THE LOAN STATUS VALUE. * * EXIT TO *DPP* IF CONTROL POINT NOT TO BE ABORTED. * TO *ERR1* IF CONTROL POINT TO BE ABORTED. * * CALLS DFM, ITF, RRR, SRR, STA. * * MACROS MONITOR. RLC BSS 0 ENTRY RJM SRR SET R-REGISTER TO IAF RA RJM STA SET TERMINAL TABLE ADDRESS ADK VROT CRD CN READ *VROT* RJM RRR RESTORE R-REGISTER LDD CN+2 GET LOAN STATUS VALUE NJN RLC0 IF A VALUE DEFINED LDN ERLS SET ERROR STATUS STD CN+2 RLC0 LDM TACM,CN+2 ZJN RLC1 IF NO ACCOUNTING MESSAGE STM RLCA+1 LDC RLCA+ACFN ISSUE ACCOUNT MESSAGE RJM DFM RLC1 LDM TLSM,CN+2 GET APPROPRIATE DAYFILE MESSAGE ZJP RLC2 IF NO DAYFILE MESSAGE RJM DFM ISSUE DAYFILE MESSAGE RLC2 LDD CN+2 STD T1 SAVE LOAN STATUS VALUE SBN LDLS ZJN RLC2.1 IF LINE DISCONNECT IN SECONDARY LDN 0 CLEAR LOAN STATUS VALUE IN *VROT* STD CN+2 RJM SRR SET R-REGISTER TO IAF RA RJM STA ADK VROT CWD CN REWRITE *VROT* RJM RRR RESTORE R-REGISTER RLC2.1 LDM TPSR,T1 GET SPECIAL PROCESSOR ADDRESS ZJP DPP IF NO SPECIAL PROCESSING NECESSARY STM RLCB LJM * JUMP TO PROCESSOR RLCB EQU *-1 RLC3 LDN PIDL SET DETACH VALUE IN EJT PARAMETER BLOCK STD TW+2 LDC VDTJ *TSEM* REQUEST TYPE STD TW UJN RLC5 CONTINUE RLC4 LCN SARC SET FORCE LOGOFF VALUE IN EJT PARAM. BLOCK STD TW+2 LDC VTLF *TSEM* REQUEST TYPE STD TW RLC5 LDN 0 CLEAR MESSAGE FROM MESSAGE BUFFER STD CM LDD CP ADK MS1W CWD CM LDN 0 RJM ITF ISSUE *TSEM* REQUEST LJM ERR1 ABORT RLCA DATA 5LACXX. CON 0 END OF BUFFER TACM SPACE 4,10 ** TABLE OF ACCOUNT MESSAGES. * * INDEXED BY LOAN STATUS VALUE (DEFINED IN *COMSREM*). TACM INDEX INDEX SCLS,2RAB INDEX SVLS,2RAI INDEX SOLS,2RAF INDEX SFLS,2RAF INDEX SULS,2RAI INDEX STLS,2RAR INDEX SRLS,2RAU INDEX SALS,2RAU INDEX SLLS,2RAU INDEX ERLS,2RAE INDEX MXLS TLSM SPACE 4,10 ** TABLE OF LOAN STATUS MESSAGES. * * INDEXED BY LOAN STATUS VALUE (DEFINED IN *COMSREM*). TLSM INDEX INDEX SCLS,(=C* SECONDARY APPLICATION ABORTED CONNECTION.*) INDEX SVLS,(=C* USER NOT VALIDATED FOR SECONDARY APPLICATION. ,*) INDEX SOLS,(=C* SECONDARY APPLICATION NETTED OFF.*) INDEX SFLS,(=C* SECONDARY APPLICATION FAILED.*) INDEX SULS,(=C* UNKNOWN SECONDARY APPLICATION.*) INDEX STLS,(=C* SECONDARY APPLICATION PROCESSING COMPLETE.*) INDEX SRLS,(=C* SECONDARY APPLICATION REFUSED CONNECTION.*) INDEX SALS,(=C* SECONDARY APPLICATION NOT AVAILABLE.*) INDEX SLLS,(=C* SECONDARY APPLICATION CONNECTION LIMIT.*) INDEX ERLS,(=C* RETRY APPLICATION SWITCH.*) INDEX LDLS,(=C* LINE WAS DISCONNECTED WHILE LOANED.*) INDEX MXLS TPSR SPACE 4,10 ** TABLE OF PROCESSORS FOR SECONDARY CONNECTION RETURN. * * INDEXED BY LOAN STATUS VALUE (DEFINED IN *COMSREM*). TPSR INDEX INDEX SCLS,RLC4 INDEX SVLS,ERR1 INDEX SOLS,ERR1 INDEX SFLS,ERR1 INDEX SULS,ERR1 INDEX SRLS,ERR1 INDEX SALS,ERR1 INDEX SLLS,ERR1 INDEX ERLS,RLC3 INDEX LDLS,RLC3 INDEX MXLS TITLE SUBROUTINES. CCP SPACE 4,10 ** CCP - CLEAR ALTERNATE CONTROL POINT ASSIGNMENT. * * EXIT ALTERNATE CONTROL POINT ASSIGNMENT CLEARED. * * USES CM+1. * * MACROS MONITOR. CCP SUBR ENTRY/EXIT LDC ALCS SET ALTERNATE CP FLAG STD CM+1 MONITOR CCAM CLEAR ALTERNATE CP ASSIGNMENT UJN CCPX RETURN CKA SPACE 4,10 ** CKA - CHECK ADDRESS. * * THIS ROUTINE CALCULATES THE ABSOLUTE ADDRESS FROM THE * RELATIVE ADDRESS IN IR+3 - IR+4. * * ENTRY (IR+3 - IR+4) = ADDRESS. * (T1) = WORD COUNT MINUS ONE. * * EXIT (A) = ABSOLUTE ADDRESS. CKA2 LDD IR+3 LOAD ABSOLUTE ADDRESS SHN 6 ADD RA SHN 6 ADD IR+4 CKA SUBR ENTRY/EXIT LDD IR+3 SCN 37 NJN CKA1 IF OUT OF RANGE LDD IR+3 SHN 14 LMD IR+4 ADD T1 SHN -6 SBD FL MJN CKA2 IF < FL - WORD COUNT CKA1 ABORT ERAE *TLX - ARGUMENT ERROR* CLF SPACE 4,15 ** CLF - CREATE LOCAL FNT ENTRY. * * ENTRY (TWFA) = CALLER EJT ORDINAL. * * EXIT (CN) = FNT ORDINAL IF ENTRY CREATED. * (T1 - T4) = FILE NAME. * TO ERROR PROCESSOR IF NO NFL AVAILABLE OR * FILE LIMIT. * * USES T1 - T6, CM - CM+4. * * MACROS ERROR, MONITOR, SFA. CLF SUBR ENTRY/EXIT LDC 2RWK SET FILE NAME STD T1 LDM TWFA GET JSN SFA EJT ADK JSNE CRD T2 LDN 0 STD T4 STD T5 LDD MA SET FILE NAME IN MB CWD T1 LDN CRFS CREATE LOCAL FNT ENTRY STD CM+1 MONITOR PLFM LDD CM+1 SAVE FNT ORDINAL STD CN LDD CM+4 ZJN CLFX IF FILE CREATED * FILE NOT CREATED, PROCESS ERROR STATUS. SHN 21-2 PJN CLF1 IF NOT NFL INCREASE NEEDED ERROR RSNP,B RETURN NO SPACE IN NFL STATUS CLF1 ERROR RSFL,B RETURN FILE LIMIT STATUS CPR SPACE 4,20 ** CPR - CHECK PREMATURE RECALL. * * ENTRY (CS) = CONNECTION STATUS. * (CN - CN+4) = FUNCTION PARAMETER WORD. * (TWFA) = CALLER EJT ORDINAL. * * EXIT (A) = 0 IF DISCONNECT STATUS. * (A) .NE. 0 IF ONE OF THE FOLLOWING IS TRUE - * 1. CONNECTION STATUS IS ON LINE AND *SMF* FIELD * OF *VFST* .NE. 0. * 2. WORKFILE FNT ENTRY STILL EXISTS IN * SUBSYSTEM NFL. * * USES T2 - T6, CM - CM+4. * * CALLS CCP, CSP, GSC, RRR, SRR, STA. * * MACROS NFA, SFA. CPR SUBR ENTRY/EXIT LDD CS CHECK CONNECTION STATUS LMN OLCS NJN CPR1 IF NOT ON LINE RJM SRR SET R-REGISTER TO IAF RA RJM STA READ TERMINAL TABLE WORD *VFST* ADN VFST CRD CM RJM RRR RESTORE R-REGISTER LDD CM+3 CHECK *SMF* FIELD SHN -6 NJN CPRX IF *SMF* CONNECTED CPR1 RJM GSC GET SUBSYSTEM CP NUMBER ZJN CPRX IF *SMF* GONE RJM CSP SET ALTERNATE CP ASSIGNMENT TO SUBSYSTEM ZJN CPRX IF *SMF* GONE AND CP NOT CHANGED LDM CSPB NJN CPR1.1 IF CP CHANGED BUT *SMF* NOT THERE NFA CN,R CHECK FOR FNT ENTRY IN SUBSYSTEM NFL CRD T2 RJM CCP CLEAR ALTERNATE CP ASSIGNMENT LDC 2RWK CHECK FOR WORKFILE LMD T2 NJN CPR2 IF NOT WORKFILE LDM TWFA GET JSN SFA EJT ADK JSNE CRD CM LDD CM LMD T3 NJN CPR2 IF NOT WORKFILE LDD CM+1 LMD T4 NJN CPR2 IF NOT WORKFILE LDN 1 UJN CPR3 RETURN PREMATURE STATUS CPR1.1 RJM CCP CLEAR ALTERNATE CP ASSIGNMENT CPR2 LDN 0 RETURN DISCONNECT STATUS CPR3 UJP CPRX RETURN CSP SPACE 4,15 ** CSP - SET ALTERNATE CONTROL POINT ASIGNMENT TO SUBSYSTEM. * * ENTRY (CSPA) = SUBSYSTEM CONTROL POINT NUMBER. * (CN+2) = SUBSYSTEM ID. * * EXIT (A) = 0 IF *SMF* GONE AND CONTROL POINT NOT CHANGED. * .NE. 0 IF CONTROL POINT CHANGED. * (CSPB) .NE. 0 IF *SMF* GONE AND CONTROL POINT CHANGED. * * USES T2, CM - CM+4. * * CALLS AST. * * MACROS DELAY, MONITOR, PAUSE. CSP3 LDD CP CHECK SUBSYSTEM ID ADK JCIW CRD CM LDD CN+2 LMD CM+2 STM CSPB SET *SMF* FLAG LDN 1 SET CONTROL POINT CHANGE MADE CSP SUBR ENTRY/EXIT CSP1 LDM CSPA GET SUBSYSTEM CP NUMBER LMC ALCS SET ALTERNATE CP FLAG STD CM+1 MONITOR CCAM SET ALTERNATE CP ASSIGNMENT LDD CM+1 ZJP CSP3 IF CHANGE MADE PAUSE ST LDC 3600 STD T2 CSP2 DELAY SOD T2 NJN CSP2 IF STILL DELAYING LDC FEAF*10000B GET *SSAT* ENTRY ADD CN+2 RJM AST ZJN CSPX IF *SMF* NOT PRESENT SFA EJT GET EJT ADDRESS ADN SCHE GET SCHEDULING DATA CRD CM LDD CM+3 GET CP NUMBER LPN 77 STM CSPA RESET SUBSYSTEM CP NUMBER UJP CSP1 TRY AGAIN CSPA CON 0 *SMF* CONTROL POINT NUMBER CSPB CON 0 *SMF* FLAG ERR SPACE 4,10 ** ERR - PROCESS ERROR. * * ENTRY (A) = FWA OF ERROR MESSAGE FOR DAYFILE. * * EXIT TO *PPR*. * DAYFILE MESSAGE ISSUED. * CONTROL POINT ABORTED. * * CALLS DFM. * * MACROS MONITOR. ERR RJM DFM ISSUE DAYFILE MESSAGE ERR1 MONITOR ABTM ABORT CONTROL POINT LJM PPR EXIT TO PP RESIDENT * ERROR MESSAGES. ERAE DATA C* TLX - ARGUMENT ERROR.* ERIR DATA C* INCORRECT TERMINAL REQUEST.* ERRA DATA C* TLX - RPV ALREADY SET.* ERNT DATA C* REQUEST IS VALID ONLY FROM A NETWORK TERMINAL.* ERSA DATA C* USER CANNOT SWITCH FROM A SECONDARY APPLICATION.* ERNR DATA C* APPLICATION NAME IS REQUIRED.* ERAL DATA C* THIS CONNECTION IS ALREADY LOANED.* ERCS DATA C* USER CANNOT SWITCH TO CURRENT APPLICATION.* GPA SPACE 4,10 ** GPA - GET PARAMETER ADDRESS. * * ENTRY (IR+3 - IR+4) = ADDRESS. * * EXIT (A) = ABSOLUTE ADDRESS. * TO *ERR* IF ADDRESS OUT OF RANGE. * * MACROS ABORT. GPA1 LDD IR+3 LPN 77 SHN 6 ADD RA SHN 6 ADD IR+4 GPA SUBR ENTRY/EXIT LDD IR+3 VALIDATE ADDRESS LPN 77 SHN 14 ADD IR+4 SHN -6 SBD FL MJN GPA1 IF NOT OUT OF RANGE ABORT ERAE * TLX - ARGUMENT ERROR.* GSC SPACE 4,15 ** GSC - GET SUBSYSTEM CONTROL POINT NUMBER. * * ENTRY (CN+2) = SUBSYSTEM *SSID*. * * EXIT (CSPA) = SUBSYSTEM CP NUMBER. * * USES T1 - T5. * * CALLS AST. * * MACROS SFA. GSC SUBR ENTRY/EXIT LDC FEAF*10000B GET *SSAT* ENTRY ADD CN+2 RJM AST ZJN GSCX IF *SMF* GONE SFA EJT GET EJT ADDRESS ADN SCHE GET SCHEDULING DATA CRD T1 LDD T4 GET CP NUMBER LPN 77 STM CSPA SAVE SUBSYSTEM CP NUMBER UJN GSCX RETURN ITF SPACE 4,10 ** ITF - ISSUE *TSEM* FUNCTION. * * ENTRY (TW - TW+4) = *TSEM* REQUEST. * (A) = NUMBER OF RECALLS TO TRY IF *TSEM* QUEUE FULL. * * USES CM - CM+4, RC - RC+1. * * MACROS DELAY, MONITOR, PAUSE. ITF SUBR ENTRY/EXIT STD RC RECALL FLAG STD RC+1 RECALL COUNTER LDD MA CWD TW ITF1 LDK ZERL CRD CM MONITOR TSEM LDD CM+1 ZJN ITFX IF *IAF* INACCESSIBLE OR ERROR LMC 7777 NJN ITFX IF REQUEST COMPLETE PAUSE ST LDC 3600 *TSEM* QUEUE FULL - DELAY AND RETRY STD T1 ITF2 DELAY SOD T1 NJN ITF2 IF STILL DELAYING SOD RC+1 NJN ITF1 IF TIME TO REISSUE REQUEST LDD RC ZJN ITF1 IF NO RECALL UJP RCL RECALL PP RCF SPACE 4,10 ** RCF - REINSTATE CALLER FNT. * * ENTRY (CN+1) = CALLER FNT ORDINAL. * * EXIT CALLER WORKFILE FNT REWRITTEN WITH THE WRITE * LOCKOUT BIT CLEARED AND FILE TYPE = *LOFT*. * * USES CM - CM+4. * * MACROS NFA. RCF SUBR ENTRY/EXIT NFA CN+1,R GET FNT ENTRY CRD CM LDD CM+3 CLEAR WRITE LOCKOUT BIT SCN 1 STD CM+3 LDD CM+4 SET *LOCAL* FILE TYPE LPN 77 ADC LOFT*100 STD CM+4 NFA CN+1,R CWD CM UJN RCFX RETURN RCL SPACE 4,10 ** RCL - RECALL PPU. * * EXIT TO *PPR*. * * MACROS MONITOR. RCL BSS 0 ENTRY LDD MA WRITE *TLX* CALL CWD IR LDN ZERL CRD CM LDN PTMF SET TIMED RECALL STD CM+1 MONITOR RECM LJM PPR EXIT TO PP RESIDENT RTE SPACE 4,10 ** RTE - REQUEST TIMED EVENT ROLLOUT. * * EXIT TIMED/EVENT ROLLOUT REQUESTED. * * USES CM - CM+4. * * MACROS MONITOR. RTE SUBR ENTRY/EXIT LDD CP READ TIMED EVENT ROLLOUT WORD ADN TERW CRD CM LDD CM SET EJT ORDINAL STD CM+4 LDK WRKE/10000 SET EVENT STD CM+3 LDC 777 SET TIME STD CM+2 LDD MA WRITE *ROCM* PARAMETERS TO MB CWD CM LDN ROTE SET TIMED/EVENT ROLLOUT STD CM+1 MONITOR ROCM UJN RTEX RETURN SDT SPACE 4,15 ** SDT - SET DEVICE TYPE. * * ENTRY (TN) = TERMINAL NUMBER. * (TA) = IAF RA. * * EXIT (CN+1) = DEVICE TYPE. * (CN+3) = TRANSMISSION CODE. * (T0)-(T4) = VMST ENTRY. * * USES T0 - T4. * * CALLS RRR, SRR. SDT SUBR ENTRY/EXIT RJM SRR SET R-REGISTER TO IAF RA LDD TA GET FWA OF MESSAGE STATUS TABLE SHN 6 ADN VMST CRD T0 LDD T0+1 SET TABLE ADDRESS OF TERMINAL SHN 6 ADD TA SHN 6 ADD T0+2 ADD TN CRD T0 READ TABLE ENTRY LDD T0+1 SET DEVICE TYPE LPC 377 STD CN+1 LDD CN+3 SET TRANSMISSION CODE SCN 77 ADN 3 STD CN+3 LDD T0 SAVE (T0) STM SDTA RJM RRR RESTORE R-REGISTER LDM SDTA RESTORE (T0) STD T0 UJN SDTX RETURN SDTA BSS 1 (T0) SFN SPACE 4,10 ** SFN - SET FILE NOT BUSY. * * ENTRY (CN+1) = CALLER FNT ORDINAL. * * EXIT CALLER-S WORKFILE SET NOT BUSY. * * USES CM - CM+4. * * MACROS NFA. SFN SUBR ENTRY/EXIT NFA CN+1,R GET FST ENTRY ADN FSTL CRD CM LDD CM+4 CLEAR FILE BUSY STATUS SCN 1 LMN 1 STD CM+4 NFA CN+1,R WRITE FST ADN FSTL CWD CM UJN SFNX RETURN SNI SPACE 4,10 ** SNI - SET NETWORK IDENTIFICATION. * * ENTRY (TN) = TERMINAL NUMBER. * (TA) = IAF RA. * * EXIT (A) = ZERO IF NOT NETWORK TERMINAL. * (CM - CM+4) = *NAMIAF * IF A NETWORK TERMINAL. * * USES CM - CM+4. * * CALLS RRR, SRR. SNI SUBR ENTRY/EXIT RJM SRR SET R-REGISTER TO IAF RA LDD TA READ NETWORK TERMINAL POINTERS SHN 6 ADN VNTP CRD CM RJM RRR RESTORE R-REGISTER LDD CM+2 GET FIRST NETWORK TERMINAL NUMBER ZJN SNIX IF NO NETWORK TERMINALS SBN 1 SBD TN MJN SNI1 IF NETWORK TERMINAL LDN 0 UJN SNIX RETURN * SET NETWORK TERMINAL IDENTIFICATION. SNI1 LDD MA MOVE TERMINAL NAME TO (CM - CM+4) CWM SNIA,ON SBN 1 CRD CM UJN SNIX RETURN SNIA DATA 10LNAMIAF SPJ SPACE 4,10 ** SPJ - SUSPEND JOB. * * EXIT TO *RCL*. * * USES CM - CM+4. * * MACROS MONITOR. SPJ BSS 0 ENTRY LDN ZERL CRD CM LDN ROSU JOB SUSPENSION OPTION STD CM+1 MONITOR ROCM LJM RCL RECALL PP SRS SPACE 4,10 ** SRS - SET RETURN STATUS. * * ENTRY (A) = RETURN STATUS CODE. * (CN - CN+4) = TRANSFER FUNCTION PARAMETER WORD. * * EXIT TO *DPP*. * RETURN STATUS, COMPLETE BIT SET IN TRANSFER FUNCTION * PARAMETER WORD. * * CALLS GPA, SFN. SRS SHN 1 LMN 1 SET COMPLETE BIT STD CN+4 SHN -1 ZJN SRS1 IF NORMAL RETURN STATUS SBN RSFB ZJN SRS1 IF FILE BUSY RETURN STATUS SBN RSFN&RSFB ZJN SRS1 IF FILE NOT FOUND STATUS RJM SFN SET FILE NOT BUSY SRS1 RJM GPA GET PARAMETER WORD ADDRESS CWD CN WRITE FUNCTION PARAMETER WORD LJM DPP DROP PP STI SPACE 4,10 ** STI - SET TERMINAL IDENTIFICATION. * * * ENTRY (TA) = IAF RA. * (TTTA) = USER TERMINAL TABLE. * * EXIT (CM - CM+4) = TERMINAL IDENTIFICATION CODE. * = *TTY* IF UNDEFINED. * * USES T1, T3, CM - CM+4. * * CALLS RRR, SRR. STI SUBR ENTRY/EXIT LDM TTTA+VDPT*5+3 SET TRANSLATION TABLE INDEX SHN 0-7 LPN 37 STD T1 LDN 0 STD T3 RJM SRR SET R-REGISTER TO IAF RA STI1 LDD T3 SBN VTSR-VDRL-1 ZJN STI2 IF THROUGH TESTING ALL DRIVERS LDD TA READ DRIVER STACK POINTER SHN 6 ADN VDRL ADD T3 CRD CM AOD T3 INCREMENT DRIVER STACK POINTER INDEX LDD CM+4 GET DRIVER FIRST TERMINAL NUMBER ADD CM+3 CALCULATE DRIVER LAST TERMINAL NUMBER SBN 1 SBD TN MJN STI1 IF NOT THIS DRIVER LDD CM+1 SET DRIVER STACK ADDRESS LPN 37 SHN 6 ADD TA SHN 6 ADD CM+2 ADN 4 READ STACK *LIMIT* POINTER CRD CM LDD CM+3 SET IDENTIFICATION TABLE ADDRESS LPN 77 SHN 6 ADD TA SHN 6 ADD CM+4 ADD T1 ADD TRANSLATION TABLE INDEX CRD CM READ TRANSLATION TABLE ID WORD LDD CM CHECK TERMINAL ID NJN STI3 IF DEFINED STI2 LDD MA SET DEFAULT CWM STIA,ON SBN 1 CRD CM STI3 RJM RRR RESTORE R-REGISTER LJM STIX RETURN STIA DATA 10LTTY TWR SPACE 4,10 ** TWR - TRANSFER WORKFILE FUNCTION RECALL. * * EXIT TO *RCL*. * RECALL SET FOR TRANSFER WORKFILE FROM SUBSYSTEM. TWR BSS 0 ENTRY LDD IR+3 SET TRANSFER FROM SUBSYSTEM LPN 77 LMC 100 STD IR+3 LJM RCL RECALL PP URW SPACE 4,15 ** URW - UPDATE RECOVERY WORD. * * ENTRY (A) = MASK TO UPDATE NFL RECOVERY WORD (*RC1N*). * * EXIT (A) = 0, IF ON-LINE JOB. * .NE. 0, IF NOT ON-LINE. * (RC1N) UPDATED IF NOT ON-LINE. * * USES CN, CM - CM+4. * * MACROS NFA. URW SUBR ENTRY/EXIT STD CN LMC -0 STM URWA LDD CS LMK OLCS ZJN URWX IF ON-LINE JOB * UPDATE RECOVERY WORD IN NFL. NFA RC1N READ RECOVERY WORD CRD CM LDD CM+4 CLEAR BIT IN RECOVERY WORD LPC ** URWA EQU *-1 (RECOVERY WORD MASK) STD CM+4 LDD TW LMC VCDT ZJN URW1 IF CLEAR BIT FUNCTION LDD CN SET BIT IN RECOVERY WORD RAD CM+4 URW1 NFA RC1N REWRITE RECOVERY WORD CWD CM UJN URWX RETURN SPACE 4,10 * COMMON DECKS. *CALL COMPAST PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG *CALL COMPSRR *CALL COMPSFB *CALL COMPSTA SPACE 4 *CALL COMPSPA USE PRESET TITLE PRESET AND BUFFERS. ** THE FOLLOWING CODE MAY BE OVERLAID. * TTTA - TERMINAL TABLE BUFFER. TTTA EQU * PRS SPACE 4,15 ** PRS - PRESET PROGRAM. * * EXIT (TW+1 - TW+3) = ZERO. * (TA) = IAF RA. * (CS) = CONNECTION STATUS. * (TWFA) = EJT ORDINAL OF CALLER. * IF (CS) IS NOT *OLCS*, TW AND TA EXIT CONDITIONS * ARE NOT ESTABLISHED. * * USES CS, TN, T7, CM - CM+4, CN - CN+4, TW - TW+3. * * CALLS AST, CRS, PIR. * * MACROS ABORT, SFA. PRS SUBR ENTRY/EXIT RJM CRS CHECK RECALL STATUS ZJN PRS1 IF NOT AUTO RECALL RJM PIR PRESET WITH IAF R-REGISTER LDD IR+2 CHECK FUNCTION CODE SHN 1 ADD IR+2 STD T7 SBK TFCNL PJN PRS1 IF INCORRECT CODE LDM TFCN,T7 SET ADDRESS PROCESSOR STM TLXA ZJN PRS1 IF UNDEFINED FUNCTION LDD CP ADK SEPW CRD CM LDD CM SHN 21-2 MJN PRS2 IF CALLER IS *SSJ=* PROGRAM LDD IR+2 CHECK FUNCTION CODE LMN 11B NJN PRS2 IF NOT *RECOVER* REQUEST PRS1 ABORT ERIR * INCORRECT TERMINAL REQUEST.* PRS2 LDM TFCN+1,T7 SET *TSEM* FUNCTION STD TW LDD CP READ EJT ORDINAL ADN TFSW CRD CM LDD CM STM TWFA SAVE EJT ORDINAL SFA EJT READ EJT ENTRY ADK JSNE CRD CM LDD CM+4 GET CONNECTION STATUS SHN -7 LPN 17 STD CS LMN OLCS NJN PRS5 IF NOT ON LINE STD TW+1 CLEAR REQUEST BUFFER STD TW+2 STD TW+3 LDD CP GET THE TERMINAL NUMBER ADK TTNW CRD CM LDD CM+1 STD TN LDC FECF*10000B+IFSI FETCH IAF *SSET* ENTRY RJM AST SHN 21-13 PJN PRS9 IF IAF NOT ACCESSIBLE * RJM PIR (CALL SHOULD BE HERE) PRS4 LJM PRSX RETURN * PROCESS OFF-LINE STATUS. PRS5 LDM TFCN+2,T7 STD CM+1 LDD CS LMN DTCS ZJN PRS7 IF DETACHED LDD CM+1 SHN -6 STD CM+1 PRS7 LDD CM+1 LPN 77 LMN 1 ZJN PRS4 IF TO PROCESS WITHOUT IAF LMN 2&1 ZJN PRS9 IF TO SUSPEND PRS8 LJM DPP IGNORE REQUEST * SUSPEND JOB. PRS9 LDD CP ADK EOJW CRD CN LDD CN SHN -11 LMK SUJT NJN PRS8 IF NOT SUSPEND TERMINATION OPTION LJM SPJ SUSPEND JOB SPACE 4,10 * COMMON DECKS WHICH MAY BE OVERLAID. *CALL COMPCRS EJT$ EQU 0 *CALL,COMPGFP SPACE 4,10 OVERFLOW SPACE 4,10 END