IDENT 2TN,OBUFE PERIPH BASE MIXED SST .EST *COMMENT 1TN - INTERACTIVE TERMINAL DRIVER. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. TITLE 1TN - LOW SPEED INTERACTIVE TERMINAL DRIVER. SPACE 4,10 *** 1TN - LOW SPEED INTERACTIVE TERMINAL DRIVER. * M. H. DILATUSH 73/07/31. * P. D. FARRELL 74/10/15. SPACE 4,10 *** *1TN* PERFORMS COMMUNICATION BETWEEN *IAF* AND *1TS*, THE PP * DRIVER USED BY *STIMULA*. IT IS DESIGNED TO PROCESS A MAXIMUM * OF 512 TERMINALS AT 10 CHARACTERS/SECOND, WITH A MAXIMUM SPEED * OF 30 CHARACTERS/SECOND. ALTHOUGH HIGHER SPEEDS CAN BE * SPECIFIED VIA *STIMULA*, RESULTS ARE ONLY GUARANTEED IN THE * RANGE SPECIFIED. COMMUNICATIONS BETWEEN *1TN* AND *IAF* ARE * ACCOMPLISHED BY A CIRCULAR REQUEST QUEUE MAINTAINED IN *IAF*-S * FIELD LENGTH. *1TN* INSERTS A REQUEST INTO THE QUEUE AND * *IAF* REMOVES THE REQUEST WHEN IT HAS BEEN PROCESSED. SPACE 4,10 *** TERMINAL CONTROL OPERATIONS. * * 1. TO DELETE AN ENTIRE LINE, ENTER THE *ESC* CHARACTER. * * 2. TO DELETE A CHARACTER, ENTER THE *BACKSPACE* CHARACTER. * * 3. TO INTERRUPT OUTPUT, ENTER *I* DURING OUTPUT. AFTER THE * *INTERRUPTED* MESSAGE, OUTPUT MAY BE RESUMED BY ENTERING * *CR*, DISCARDED AND THE PROGRAM RESTARTED BY ENTERING *P*, * OR THE PROGRAM MAY BE ABORTED BY ENTERING ANYTHING ELSE. * * 4. TO TERMINATE OUTPUT, ENTER *S* WHILE OUTPUT IS ACTIVE. SPACE 4,10 LIST X *CALL COMSTDR LIST * SPACE 4,10 *** DAYFILE MESSAGES. * * * X.XXX SEC. 1TN CYCLE TIME.* = WORST CASE MAIN LOOP TIME. * * * 667X MALFUNCTION.* = A NON-TIMEOUT ERROR OCCURRED. * * * X.XXX KILO. 1TN REQUEST CPU.* = NUMBER OF TIMES *1TN* * ISSUED *RCLM* (BECAUSE THE CIRCULAR REQUEST STACK HAD BECOME * HALF FULL). * * *TTXXX, FNY, FUNCTION TIMEOUT.* = CHANNEL REMAINED ACTIVE FOR * MORE THAN FOUR MAJOR CYCLES AFTER FUNCTION Y WAS ISSUED. * * * TOO MANY MUX PORTS.* = SELF EXPLANATORY. SPACE 4,10 *** ERRLOG MESSAGES. * * *TTXXX, FNY, FUNCTION TIMEOUT.* = CHANNEL REMAINED ACTIVE FOR * MORE THAN FOUR MAJOR CYCLES AFTER FUNCTION Y WAS ISSUED. SPACE 4,10 ** DEFINE BLOCK ORDER. QUAL CTL CONTROL QUAL RDM READ MODE QUAL WTM WRITE MODE QUAL TRN TRANSLATION QUAL SPACE 4,10 ** COMMON DECKS. *CALL COMPMAC *CALL COMSACC *CALL COMSCPS *CALL COMSPIM *CALL COMSPRD *CALL COMSREM *CALL COMSSCD *CALL COMPCHI *CALL COMSTCM PT IF DEF,VAVPT ERR POLLED TERMINAL SUPPORT DELETED. SPACE 4 *** POLLED TERMINAL PROCESSING. * * SUPPORT OF POLLED (I.E. NIXDORF) TERMINALS HAS BEEN * REMOVED WITH THIS RELEASE OF THE MULTIPLEXER DRIVER. * * REFER TO PRIOR DRIVER RELEASES THROUGH LEVEL 460 FOR * LISTINGS OF POLLED TERMINAL SUPPORT CODE. * * THE USER WHO WISHES TO INSTALL POLLED TERMINAL PRO- * CESSING DERIVED FROM A PRIOR VERSION OF THE DRIVER * SHOULD NOTE THAT THE ASSEMBLY VARIABLE *VAVPT* WHICH * ORIGINALLY TOGGLES THE ASSEMBLY OF THE POLLING PORTION * OF THE DRIVER REDUCES THE NUMBER OF MULTIPLEXERS * SUPPORTED (AS DEFINED BY SET VARIABLE *MXMX* IN COMMON * DECK *COMSREM*) FROM EIGHT TO FOUR. PT ENDIF TITLE MACRO DEFINITIONS. ADCBM SPACE 4,10 ADCM SPACE 4,10 ** ADCM - GENERATE ADD CONSTANT MACRO. * * ADCM OPC,TBL * ENTRY *OPC* = MACRO NAME TO BE GENERATED. * *TBL* = TABLE NAME OF ADDRESSES OF MACRO CALLS. ADCM MACRO OPC,TBL,INST OPC MACRO CNST LOCAL A QUAL IFC EQ,$INST$$ A ADC CNST ELSE 1 A INST CNST ENDIF QUAL * TBL RMT CON A TBL RMT ENDM ADCM ENDM * DEFINE MACROS. ADCM ADCRA,TRAA ADCM LDCRA,TRAA,LDC ADCM ADCTR,TTRA ADCM ADCPT,TPTA ADCM ADCPL,TPLA ADCM LDCDQ,TDQA,LDC ADCM LMCDQ,TDQA,LMC ADCM ADCBM,TBMA ADCM LDCTN,TTNA,LDC ASCO SPACE 4,10 ** ASCO - GENERATE MULTIPLEXER OUTPUT FOR *ASCII* CODE. * * *NAME ASCO CH,EQU * ENTRY *NAME* = NAME FOR ASSIGNMENT OF CODE. * *CH* = *ASCII* CHARACTER VALUE IN HEXIDECIMAL. * *EQU* = ASSIGNMENT PSEUDO OP. MACRO ASCO,A,C,D PAR 0#_C,0 A D 4000+2*0#_C+.1 ENDM CORO SPACE 4,10 ** CORO - GENERATE MULTIPLEXER OUTPUT FOR CORRESPONDENCE CODE. * * *NAME CORO CH,EQU * ENTRY *NAME* = NAME FOR ASSIGNMENT OF CODE. * *CH* = CORRESPONDENCE CODE IN OCTAL. * *EQU* = ASSIGNMENT PSEUDO OP. MACRO CORO,A,C,D PAR C_B,1 A D 4000+.1*200+C*2+1 ENDM PAR SPACE 4,10 ** PAR - GENERATE CHARACTER PARITY BIT. * * * PAR CH,OE * ENTRY *CH* = CHARACTER VALUE. * *OE* = ODD/EVEN (0=EVEN, 1=ODD) * EXIT *.1* = PARITY. PAR MACRO A,B P MICRO A+1,1, 011010011001011010010110011010011001011001101001011010011 ,00101101001011001101001011010011001011001101001100101101001011001101001 .1 SET "P"&;B ENDM TTADD SPACE 4,10 ** TTADD - GENERATE TERMINAL TABLE ADDRESS. * * *TAG TTADD NAM,OPR,TNUM * * ENTRY *NAM* = DESIRED WORD OF TERMINAL TABLE ENTRY. * *OPR* = OPERAND TO LOAD A. (IF NULL *LDD*) * *TNUM* = TAG NAME OF TERMINAL NUMBER. (IF NULL *TN*) * * EXIT (A) = DESIRED ADDRESS. MACRO TTADD,TAG,NAM,OPR,TNUM LOCAL A TAG TTAP OPR,TNUM QUAL A ADC NAM QUAL * TTTA RMT CON A TTTA RMT ENDM RETURN SPACE 4,10 ** RETURN - RETURN TO MANAGER TO ADVANCE TERMINAL PROCESSING. * * * RETURN EXIT,ADDR * * ENTRY *EXIT* = MANAGER EXIT NUMBER. * *ADDR* = MANAGER RETURN ADDRESS. * IF *ADDR* IS NULL, RETURN TO NEXT PROGRAM ADDRESS. PURGMAC RETURN RETURN MACRO N,A AA IFC EQ,*A** RJM N_. AA ELSE LDC A QUAL NOREF ._N BB IF DEF,._N BB IFLT *-._N,36B UJN ._N ._N SET *-1 BB ELSE LJM N ._N SET *-2 BB ENDIF QUAL * AA ENDIF ENDM TITLE TRANSLATION TABLE MACROS. TRANS SPACE 4,10 *** TRANSLATION TABLES. * * * TRANSLATION TABLES ARE PROVIDED FOR A NUMBER OF DIFFERENT * TERMINALS. THE TABLES MAY RESIDE IN EITHER PPU OR CENTRAL * MEMORY. AN INSTALLATION MAY ELECT TO CHANGE THE RESIDENCY * OF A TABLE OR TO DELETE IT ENTIRELY. THE FOLLOWING MACROS * CONTROL THE ASSEMBLY AND LOADING OF THE TABLES. * A CM RESIDENT TABLE WILL REQUIRE A LONGER SERVICE TIME * FOR THE ASSOCIATED TERMINAL, AND THIS RESIDENCY SHOULD * NOT BE USED FOR TERMINALS WHICH ARE COMMONLY CONNECTED. * THE SHORTEST SERVICE TIME WILL BE FOR THE FIRST * DEFINED PPU RESIDENT TRANSLATION TABLE. SPACE 4,10,10 ** ASSEMBLY VARIABLE *VPPT*. * * THIS ASSEMBLY VARIABLE CONTROLS THE ASSEMBLY OF * TRANSLATION TABLE PROCESSING SUBROUTINES. IF * THERE ARE TO BE NO PPU RESIDENT TRANSLATION * TABLES ASSEMBLED, IT MUST BE SET TO ZERO, OTHER- * WISE IT MUST BE SET NON ZERO. VPPT SET 1 TRANS SPACE 4,10 ** TRANS - GENERATE TRANSLATION TABLE OVERLAY. * * * NAM TRANS CD,RD,CL,SL,WT,IL,OL,ET,TX,IP,TC * * ENTRY *NAM* = TRANSLATION TABLE NAME. * * PARAMETERS IN ADDRESS FIELD ARE EQUIVALENCED. * UNSPECIFIED PARAMETERS DEFAULT TO *ASCII* TERMINAL. * * *NAM = TERMINAL TYPE NAME FOR USE IN *TERM* COMMAND.* * *CD = CODE FOR DETERMINATION OF TERMINAL TYPE* * *RD = NAME OF READ ROUTINE* * *CL = NAME OF COMMAND LINE INPUT ROUTINE* * *SL = NAME OF SOURCE LINE INPUT ROUTINE* * *WT = NAME OF WRITE ROUTINE* * *IL = LENGTH OF INPUT TRANSLATION TABLE* * *OL = LENGTH OF OUTPUT TRANSLATION TABLE* * *ET = EQUIVALENCED TABLE NAME.* * *TX = TEXT OF SUBTITLE* * *IP = DISPLAY CODE INPUT PROMPT CHARACTER.* * *TC = TRANSMISSION CODE FOR TABLE IDENTIFICATION.* * *ASC* = ASCII (DEFAULT). * *COR* = CORRESPONDENCE. * TRANSMISSION CODE TYPES. ASC EQU 0 ASCII COR EQU 1 CORRESPONDENCE NIX EQU 2 NIXDORF QUAL TRN * TRANSLATION TABLE ASSEMBLY VARIABLES. CDTT MICRO 1,, TERMINAL TYPE IDENTIFICATION CODES RSTT SET 0 RESIDENCY CONTROL .N SET 0 OVERLAY NAME COUNTER .T SET 0 TRANSLATION TABLE COUNTER * PPU RESIDENT ASSEMBLY VARIABLES. IAPP MICRO 1,, INPUT TRANSLATION TABLE ADDRESSES OAPP MICRO 1,, OUTPUT TRANSLATION TABLE ADDRESSES ONPP MICRO 1,, OVERLAY NAMES TCPP MICRO 1,, TERMINAL CODES TNPP MICRO 1,, TERMINAL NAMES LNPP SET 0 LENGTH OF PP RESIDENT TRANSLATION TABLES NPPT SET 0 NUMBER OF PP RESIDENT TRANSLATION TABLES * CM RESIDENT ASSEMBLY VARIABLES. IACM MICRO 1,, INPUT TRANSLATION TABLE ADDRESSES OACM MICRO 1,, OUTPUT TRANSLATION TABLE ADDRESSES ONCM MICRO 1,, OVERLAY NAMES LNCM MICRO 1,, LENGTH OF CM TRANSLATION TABLES TCCM MICRO 1,, TERMINAL CODES TNCM MICRO 1,, TERMINAL NAMES LNCM SET 0 LENGTH OF CM TRANSLATION TABLES NOREF NPPT,RSTT,.N,.T MACROE TRANS,NAM,CD,RD,CL,SL,WT,IL,OL,ET,TX,IP,TC RES HERE QUAL TRN * GENERATE OVERLAY NAME CHARACTER. .N MICRO .N+1,1 NOPQRSTUVWXYZ0123456789 .N MICRO 1,, J".N" .N SET .N+1 * GENERATE OVERLAY DATA. TTL 1TN/9".N" - LOW SPEED INTERACTIVE TERMINAL DRIVER. NAM TITLE TX BSS 0 .1 IFC EQ,*ET** IDENT 9".N",0 TX *COMMENT 1TN - TX COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. ORG 0 * SET CONTROL WORD TABLE. QUAL RDM ORG /CTL/RDP CON RD ARD ORG /CTL/ECL CON CL ACL ORG /CTL/ESL CON SL ASL QUAL WTM ORG /CTL/WTP CON WT AWT ORG /CTL/IPC DATA IP 7555 QUAL TRN BSS TCTAL-* .1 ENDIF RES RMT * * DEFINE TRANSLATION TABLES. * .1 IFC EQ,*ET** INP BSS 0 BSS IL 200 OTP SET * BSS OL 220 QUAL NAM IFEQ /TRN/RSTT,1,3 IA EQU /TRN/LNPP+/TRN/INP+TCTA OA EQU /TRN/LNPP+/TRN/OTP+TCTA ONPP MICRO 1,, "ONPP"2R".N", IFEQ /TRN/RSTT,2,3 IA EQU /TRN/LNCM+/TRN/INP/4 OA EQU /TRN/LNCM+/TRN/OTP/4 ONCM MICRO 1,, "ONCM"2R".N", RSTT SET /TRN/RSTT .1 ELSE QUAL NAM IA EQU /ET/IA OA EQU /ET/OA RSTT SET /ET/RSTT QUAL TRN RSTT SET /ET/RSTT QUAL NAM .1 ENDIF LN BSS 0 QUAL TRN * * SET TABLE ADDRESSES. * IFEQ RSTT,1 IAPP MICRO 1,, "IAPP"/NAM/IA, OAPP MICRO 1,, "OAPP"/NAM/OA, TCPP MICRO 1,, "TCPP"CD, TNPP MICRO 1,, "TNPP"42/0L_NAM,18/TC, IFC EQ,$ET$$,1 LNPP SET LNPP+/NAM/LN NPPT SET NPPT+1 .T SET .T+1 ENDIF * * PROCESS CM RESIDENT TRANSLATION TABLES. * IFEQ RSTT,2 QUAL NAM CM SET LN+4 CM SET CM/5*5 CM SET CM+3 CM SET CM/4 QUAL TRN IACM MICRO 1,, "IACM"/NAM/IA, LNCM MICRO 1,, "LNCM"/NAM/CM, OACM MICRO 1,, "OACM"/NAM/OA, TCCM MICRO 1,, "TCCM"CD, TNCM MICRO 1,, "TNCM"42/0L_NAM,18/TC, IFC EQ,$ET$$,1 LNCM SET LNCM+/NAM/CM .T SET .T+1 ENDIF RSTT SET 0 RES RMT ENDM TRES SPACE 4,10 ** TRES - DEFINE TRANSLATION TABLE RESIDENCY. * * * TRES RES * * ENTRY *RES* = RESIDENCY TYPE. * *CM* = CENTRAL MEMORY. * *PPU* = PP RESIDENT. * BLANK TABLE NOT DEFINED. TRES MACRO A RSTT SET 0 IFC EQ,*A*PPU*,1 RSTT SET 1 IFC EQ,*A*CM*,1 RSTT SET 2 RES HERE ENDM SPACE 4,10 ** SYMBOL EQUIVALENCES FOR TRANSLATION MACROS. .1 SET 0 .2 SET 0 .3 SET 0 UC EQU 3 UPPER CASE LC EQU 1 LOWER CASE NOREF .1,.2,.3,,UC,LC INASC SPACE 4,10 ** INASC - GENERATE *ASCII* INPUT TRANSLATION. * * *CH INASC DPC,PROC * * ENTRY *CH* = *ASCII* CHARACTER VALUE IN HEXIDECIMAL. * *DPC* = DISPLAY CODE VALUE. * *PROC* = SPECIAL PROCESSOR CODE. MACRO INASC,A,C,D IFC NE,*C** .2 SET D .3 SET C/100 IFNE .3,0,2 .2 SET D CES .3 SET .3/2-74/2 VFD 5/.2,1/.3,6/C-C/100*100 ELSE 2 .2 SET D NLI VFD 5/.2,7/0 ENDM OTASC SPACE 4,10 ** OTASC - GENERATE *ASCII* OUTPUT TRANSLATION. * * *DPC OTASC CH,PROC * * ENTRY *CH* = *ASCII* CHARACTER VALUE IN HEXIDECIMAL. * *DPC* = DISPLAY CODE VALUE. * *PROC* = SPECIAL PROCESSOR CODE. MACRO OTASC,A,C,D IFC NE,*C** .2 ASCO C,SET CON .2 ELSE 1 CON D NLO ENDM INCOR SPACE 4,10 ** INCOR - GENERATE CORRESPONDENCE CODE INPUT TRANSLATION. * * *CH INCOR DPC,PROC * * ENTRY *CH* = CORRESPONDENCE CHARACTER VALUE IN OCTAL. * *DPC* = DISPLAY CODE VALUE. * *PROC* = SPECIAL PROCESSOR CODE. MACRO INCOR,A,C,D IFC NE,*C** .2 SET D .3 SET C/100 IFNE .3,0,2 .2 SET D CES .3 SET .3/2-74/2 VFD 5/.2,1/.3,6/C-C/100*100 ELSE 2 .2 SET D NLI VFD 5/.2,7/0 ENDM OTCOR SPACE 4,10 ** OTCOR - GENERATE CORRESPONDENCE CODE OUTPUT TRANSLATION. * * *DPC OTCOR CH,PROC * ENTRY *CH* = CORRESPONDENCE CHARACTER VALUE IN OCTAL. * *DPC* = DISPLAY CODE VALUE. * *PROC* = SPECIAL PROCESSOR CODE. MACRO OTCOR,A,C,D IFC NE,*C** .2 CORO C,SET .3 SET D 1 CON .2+1000*.3 ELSE 1 CON D NLO ENDM PT IF DEF,VAVPT OTNIX SPACE 4,10,5 ** OTNIX - GENERATE NIXDORF CODE OUTPUT TRANSLATION * * OTNIX DC * * ENTRY - *DC* = DISPLAY CODE CHARACTER VALUE IN OCTAL. OTNIX MACRO A NOREF .2 .2 SET A_B PAR .2,1 CON 4200+.2*2+.1 ENDM PT ENDIF SPACE 4,10 QUAL TITLE SYMBOLIC EQUIVALENCES. SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. DP EQU 20 - 24 TERMINAL TABLE WORD *VDPT* CH EQU 25 - 31 TERMINAL TABLE WORD *VCHT* DC EQU 32 - 36 TERMINAL TABLE WORD *VDCT* ME EQU 37 CURRENT MULTIPLEXER NUMBER ZR EQU 40 - 44 ZERO WORD IN EQU 42 - 46 CIRCULAR QUEUE INPUT ADDRESS SM EQU 47 SIMULATOR MODE FLAG RQ EQU 50 - 54 TELEX REQUEST WORD TN EQU 54 CURRENT TERMINAL NUMBER DI EQU 55 DATA IN POINTER DO EQU 56 DATA OUT POINTER * EQU 57 SI EQU 60 - 64 STATUS INFORMATION STORED IN (MA) * EQU 60 COUNT OF MONITOR REQUESTS MS EQU 61 MILLISECOND CLOCK IT EQU 62 INTERVAL TIMER (SET TO 1 EACH HALF SECOND) * EQU 63 MAXIMUM CYCLE TIME * EQU 64 CURRENT CYCLE TIME * EQU 65 UNUSED * EQU 66 UNUSED * EQU 67 UNUSED ** TIME OUT LIMITS. * * THESE VALUES MUST NOT EXCEED 3777B. THE LIMIT IS STORED IN * THE DATA OUTPUT WORD FOR THE TERMINAL AND THE PRESENCE OF * BIT 13 INDICATES TO THE MULTIPLEXER THAT THE BYTE IS A * VALID DATA CHARACTER. * * THE UNITS ARE .5 SECONDS. ATIO EQU 7 ANSWERBACK TIME OUT UTIO EQU 2*60D*2 USER NUMBER TIME OUT NTIO EQU 10D*60D*2 NORMAL TIME OUT ** PROGRAM EQUIVALENCES. MC EQU 15 MULTIPLEXER CHANNEL MXTT EQU 37 MAXIMUM NUMBER OF TRANSLATION TABLES MNCT EQU 15D MINIMUM CYCLE TIME MXIC EQU 150D MAXIMUM INPUT CHARACTERS/LINE MXTC EQU 2000D MAXIMUM TRANSACTION CHARACTERS/LINE OBUF EQU 100 FIRST OUTPUT BUFFER .OBUF MAX 300B,OBUF+100*MXMX OBUFE EQU .OBUF TCTAL EQU 10 LENGTH OF TRANSLATION TABLE CONTROL TABLE ERRNG MXTC-MXIC MXTC MUST ALWAYS BE GREATER THAN MXIC SPACE 4,10 ** CHARACTER EQUIVALENCES. * INTERNAL CODES. .ICR EQU 210 CARRIAGE RETURN .ILF EQU 211 LINE FEED .INL EQU 212 NEW LINE (CR/LF) .ISTR EQU 205 START TAPE READER .IISI EQU 4042 INITIATE STIMULATOR INPUT .IISE EQU 4050 HANG UP STIMULATOR PHONE .ECP EQU 770001 END OF CURRENT POT * CARRIAGE CONTROL MICROS. CR MICRO 1,, @H CARRIAGE RETURN LF MICRO 1,, @I LINE FEED NL MICRO 1,, @J NEW LINE (CR/LF) * *ASCII* TERMINAL CONTROL CHARACTERS. .ANUL ASCO 00,EQU (NUL) NULL .AENQ ASCO 05,EQU (ENQ) ENQUIRY (REQUEST ANSWER BACK) .ALF ASCO 0A,EQU (LF) LINE FEED .ACR ASCO 0D,EQU (CR) CARRIAGE RETURN .ADC1 ASCO 11,EQU (DC1) DEVICE CONTROL 1 .ADEL ASCO 7F,EQU (DEL) DELETE * CORRESPONDENCE CODE TERMINAL CONTROL CHARACTERS. .CUC CORO 34,EQU (UC) UPPER CASE SHIFT .CBS CORO 35,EQU (BS) BACKSPACE .CLC CORO 37,EQU (LC) LOWER CASE SHIFT .CNL CORO 55,EQU (NL) NEW LINE .CLF CORO 56,EQU (LF) LINE FEED .CEOA CORO 64,EQU (EOA) END OF ADDRESS .CEOT CORO 74,EQU (EOT) END OF TRANSMISSION .CIL CORO 75,EQU (IL) IDLE **** SPACE 4,10 ** TERMINAL TABLE CONTROL WORD LOCATIONS. QUAL CTL LOC 0 RDP BSS 1 READ PROCESSOR ECL BSS 1 COMMAND LINE PROCESSOR ESL BSS 1 SOURCE LINE PROCESSOR WTP BSS 1 WRITE PROCESSOR IPC BSS 1 INPUT PROMPT CHARACTER BSS TCTAL-* RESERVED LOC *O QUAL * TITLE MAIN PROGRAM. ORG OBUFE AVT SPACE 4,10 AVTA CON 0 ** AVT - ADVANCE TIME. AVT0 LJM DRP DROP PPU AVT LDC RTCL READ REAL TIME CLOCK CRD CM LDD CM+4 CHECK MILLISECONDS SBD MS PJN AVT1 IF NO OVERFLOW ADC 10000 AVT1 STD SI+4 SET CYCLE TIME SBD SI+3 CHECK CYCLE TIME MJN AVT2 IF MAXIMUM NOT EXCEEDED RAD SI+3 SET NEW MAXIMUM * CHECK ERROR AND DEBUG FLAGS. AVT2 BSS 0 LDD CP CHECK ERROR FLAG ADN STSW CRD T0 LDD T1 NJN AVT0 IF ERROR FLAG SET ADCRA DBUG CRD T0 READ *DBUG* WORD LDD T4 ZJN AVT3 IF NOT STOPPED SBN 1 NJN *-1 UJN AVT2 LOOP AVT3 STD ME RESET MULTIPLEXER INDEX LDD T3 STD T4 LDCRA DBUG CWD T0 AVT4 LDD CM+4 SBD MS PJN AVT5 IF NO OVERFLOW ADC 10000 AVT5 SBD T1 PJN AVT6 IF MINIMUM CYCLE TIME EXCEEDED LDC 125D DELAY .25 MILLI-SECONDS SBN 1 NJN *-1 LDC RTCL READ REAL TIME CLOCK CRD CM UJN AVT4 AVT6 LDD CM+4 SET NEW MILLISECOND TIME STD MS SHN -11 CHECK INTERVAL SHN 17 LMD CM+3 SHN 3 LPC 7777 SBM AVTA ZJN AVT7 IF NO CHANGE RAM AVTA LDN 1 SET INTERVAL TIMER AVT7 STD IT ZJN AVT8 IF NOT .5 SECONDS LDN 10 SET NUMBER OF USERS TO ALLOW TO LOG IN STM /CTL/DINA AVT8 LDD MA WRITE STATUS INFORMATION CWD SI * LJM ITD LOOP TO FIRST MULTIPLEXER ITD SPACE 4,10 ** ITD - MAIN PROGRAM. ITD BSS 0 .TNA LDN 0 RESET FIRST *TELEX* TERMINAL NUMBER STD TN * SET BUFFER ADDRESSES FOR NEXT MULTIPLEXER. ITD1 LDC IBUF SET INPUT BUFFER ADDRESS STD DI LDM TEQN,ME READ EST ENTRY SFA EST ADK EQDE CRD CM LDD CM+1 CLEAR UPPER BITS LPN 37 STD CM+1 LDC TCHS SET FWA OF CHANNEL TABLE STD T1 UJN ITD1.2 ENTER CHANNEL MODIFICATION LOOP ITD1.1 RAI T2 MODIFY INSTRUCTION AOD T1 ITD1.2 LDI T1 LOAD NEXT CHANNEL INSTRUCTION STD T2 LDD CM+1 CHTL * SBN MC NJN ITD1.1 IF MORE CHANNELS TO BE MODIFIED UJN STM PROCESS STIMULATOR MUX ITD2 BSS 0 LDCDQ 3 READ CIRCULAR QUEUE OUTPUT POINTER CRD CM LDD IN+3 IN - OUT SBD CM+3 SHN 14 ADD IN+4 SBD CM+4 PJN ITD3 IF IN .GE OUT ADC VDSL ITD3 ADC -VDSL/2 MJN ITD4 IF QUEUE NOT OVER HALF FULL LDN RCLM RECALL CPU RJM MRQ AOD SI COUNT MONITOR REQUEST ITD4 AOD ME ADVANCE MULTIPLEXER LDM TEQN,ME ZJN ITD5 IF ALL MULTIPLEXERS PROCESSED LJM ITD1 PROCESS NEXT MULTIPLEXER ITD5 LJM AVT STM SPACE 4,10 ** STM - PROCESS STIMULATOR. STM BSS 0 LDM TNTD,ME STD SM IJM STM3,MC IF STIMULATOR NOT RUNNING AOD SM LDC STMA STUFF INSTRUCTIONS STD DO LDC STMB STD DI LCN 0 UJN STM2 * ENTERED HERE FROM OTHER ROUTINES. STM1 IJM STM3,MC IF STIMULATOR DROPPED LDC 0 STMA EQU *-1 STM2 OAN MC FJM *,MC WAIT FOR EMPTY SOD SM COUNT TERMINAL ZJN STM3 IF ALL TERMINALS PROCESSED LDN 0 STI DO IAN MC INPUT DATUM STM STMB LJM /CTL/MGR2 PROCESS TERMINAL DATA STM3 LDD SM RAD TN LDN 0 STD SM LJM ITD2 PROCESS NEXT MUX STMB CON 0 ** TCHS - MUX CHANNEL TABLE. TCHS CHTB CHANNEL TABLE COMMON SPACE 4,10 ** COMMON DECKS. EST$ EQU 1 SELECT EST PROCESSOR *CALL COMPGFP TITLE TERMINAL MANAGER. MGR SPACE 4,10 ** MGR - TERMINAL MANAGER. * * THE TERMINAL MANAGER PERFORMS THE STATUS CHECKS UPON THE * INPUT DATA FROM THE EACH PORT OF THE MULTIPLEXER. * IF ACTION IS REQUIRED FOR THE TERMINAL, THE TERMINAL * TABLE WORDS *VDPT* AND *VCHT* ARE READ AND THE INDICATED * RE-ENTRANT ROUTINE ENTERED. EXI SPACE 4,10 ** EXI - RE-ENTRANT ROUTINE RETURNS. * STORE *VDPT*. EXI1. CON 0 LDM EXI1. SET RE-ENTRY ADDRESS EXI1 STD DP+4 RESET ROUTINE POINTER EXI2 TTADD VDPT CWD DP LJM MGR * STORE *VDPT* AND *VCHT*. EXI3. CON 0 LDM EXI3. SET RE-ENTRY ADDRESS EXI3 STD DP+4 RESET ROUTINE POINTER EXI4 TTADD VDPT RESET VDPT AND VCHT CWD DP ADN VCHT-VDPT CWD CH UJN MGR * STORE *VDPT*, *VCHT*, AND *VDCT*. EXI5. CON 0 LDM EXI5. SET RE-ENTRY ADDRESS EXI5 STD DP+4 RESET ROUTINE POINTER TTADD VDPT RESET VCPT, VCHT, AND VDCT CWM DP,TR UJN MGR * STORE *VDPT* AND CLEAR DATA OUTPUT. EXI6. CON 0 LDM EXI6. SET RE-ENTRY ADDRESS EXI6 STD DP+4 RESET ROUTINE POINTER EXI7 TTADD VDPT RESET VDPT CWD DP LDN 0 CLEAR DATA OUT STI DO MGR SPACE 4,10 ** MGR - TERMINAL MANAGER. QUAL CTL MGR LJM STM1 EXIT TO STIMULATOR MANAGER MGR2 SHN 21-11 MJN MGR4 IF ON LINE * CHECK STATUS OF OFF LINE TERMINAL. TTADD VDPT,AOD,TN CRD DP LDD DP+4 CHECK ROUTINE ADDRESS ADC -DIN ZJN MGR IF WAITING FOR ON LINE MJN MGR3 IF NOT LINE PROCESSING ADC -OFLE+DIN MJN MGR5 IF LINE PROCESSING MGR3 LJM OFL SET OFF LINE * PROCESS TERMINAL ON LINE. MGR4 SHN 33-10 MJN MGR6 IF CHARACTER REJECT TTADD VDPT,AOD,TN CRD DP ADN VCHT-VDPT CRD CH MGR5 LDI DI SHN 21-13 LJM 0,DP+4 ENTER ROUTINE MGR6 SHN 32-13 MJN MGR7 IF INPUT RECEIVED AOD TN LJM MGR MGR7 TTADD VDPT,AOD,TN CHECK ROUTINE ADDRESS CRD DP ADN VCHT-VDPT CRD CH LDD DP+4 ADC -WTM MJN MGR5 IF NOT WRITE MODE ADC -WTME+WTM PJN MGR5 IF NOT WRITE MODE * UJN CIS CIS SPACE 4,10 ** CIS - CHECK INTERRUPT STATUS. * * CIS DETERMINES THE STATUS OF A SUSPECTED INTERRUPT INPUT * CHARACTER. THE CHARACTER *S* IS A LEVEL 0 INTERRUPT TO * *TELEX* AND AN *INTERRUPT* AND THE CHARACTER *I* ARE LEVEL 1 * INTERRUPTS TO *TELEX*. CIS LDD DP+1 CHECK FOR TERMINAL MESSAGE SHN -6 STI DO CLEAR OUTPUT LMN 77 NJN CIS1 IF NOT ISSUING MESSAGE LJM /WTM/WTM5 CONTINUE TERMINAL OUTPUT CIS1 TTADD VUIT CRD CM LDD CM+4 ZJN CIS5 IF NO *EJTO* ASSIGNED, IGNORE CHARACTER LDI DI CHECK INPUT CHARACTER LPC 377 NJN CIS4 IF NOT START OF BREAK CIS2 LDN 100D/MNCT+1 START TIMER FOR BREAK STD CH CIS3 RETURN EXI3 MJN CIS2 IF BREAK STILL IN PROGRESS SOD CH DECREMENT TIMER NJN CIS3 IF NOT TIMED OUT UJN INT PROCESS AS INTERRUPT * CHECK CHARACTER STATUS. CIS4 SHN -1 SET ASCCI CHARACTER STD T7 RJM /RDM/TIC TRANSLATE CHARACTER LPN 77 LMN 1RS ZJN INT1 IF *S* KEY LMN 1RI&1RS ZJN INT IF *I* KEY CIS5 LJM MGR IGNORE INVALID CHARACTER INT SPACE 4,10 ** INT - PROCESS INTERRUPT. * * *INT* REQUESTS *TELEX* TO TERMINATE OUTPUT AND THE USER * PROGRAM IN RESPONSE TO AN INTERRUPT FROM THE TERMINAL. INT LDN TIET+TAET INT1 LMN TAET STD RQ+2 TTADD VSTT CHECK LOGOUT AND ABORT STATUS CRD CM LDD CM LPC 0401 NJN INT2 IF LOGOUT OR DETACH IN PROGRESS RJM RDC READ VDCT TO CHECK FOR DRIVER REQUEST SHN 21-13 PJN INT3 IF NO REQUEST LDD DC+4 CHECK REQUEST LMN /1TD/HUP NJN INT3 IF NOT HANG UP PHONE INT2 LDN 0 CLEAR REQUEST CELL STD RQ+2 UJN X1RWC ENTER READ/WRITE CONTROL INT3 LDD DP DROP POTS STD RQ+3 LDN /TLX/PUB PROCESS USER BREAK RJM ERQ STD DP CLEAR POT POINTERS STD DP+1 INT3.1 RETURN EXI6 RJM RDC READ VDCT SHN 21-12 MJN INT4 IF *INTERRUPT* ACKNOWLEDGE SET LJM MGR RETURN INT4 SHN 1 CLEAR *INTERRUPT COMPLETE* SCN 1 SHN 12 STD DC TTADD VDCT REWRITE VDCT CWD DC LDD DC+4 CHECK DRIVER ASSIGNMENT NJN X1RWC IF PRESENT LDN /TLX/RES REQUEST NEW ASSIGNMENT RJM ERQ X1RWC RETURN EXI1,RWC ENTER READ/WRITE CONTROL CTO SPACE 4,10 ** CTO - CHECK TIME OUT. * * *CTO* IS ENTERED WHEN AN INPUT CHARACTER HAS NOT BEEN * RECEIVED FROM A TERMINAL. THE ELAPSED TIME IS CHECKED, AND * IF EXCEEDED, THE USER IS LOGGED OFF. CTO LDI DO CHECK OUTPUT CHARACTER SHN 6 PJN CTO1 IF NO DATA LDN 0 CLEAR OUTPUT DATA STI DO UJN CTO2 CTO1 LDD IT CHECK INTERVAL TIMER ZJN CTO2 IF INTERVAL NOT ELAPSED RAI DO ADVANCE TIMER LMC NTIO ZJN CTO3 IF NORMAL TIME OUT ELAPSED TTADD VDCT READ JOB STATUS WORDS CRD DC SBN -VROT+VDCT CRD CM LDD CM+4 CHECK JOB STATUS LPN 1 NJN CTO4 IF JOB NOT ACTIVE STI DO CLEAR TIMER CTO2 LJM MGR RETURN * CHECK FOR NO TIME OUT. CTO3 RJM RDC READ VDCT LDD DC+3 CHECK ACCESS SHN 21-12 CHECK LOG-OUT BIT PJN CTO5 IF NOT SET LDN 0 STI DO CLEAR TIMER LJM MGR RETURN CTO4 LDD DC+4 CHECK MESSAGE ASSIGNMENT NJN CTO7 IF MESSAGE ASSIGNED LDD DC CHECK *LOGGED IN* SHN 21-11 MJN CTO2 IF SET LDI DO CHECK TIMER LMC UTIO NJN CTO2 IF LOGIN TIME OUT NOT ELAPSED * LOG OFF USER. CTO5 LDC CTO6 SET REENTRY ADDRESS UJN CTO9 CHECK IF SOURCE INPUT ACTIVE CTO6 LDN /TLX/TOT REQUEST TIMEOUT LOGOUT RJM ERQ STD DP+2 CLEAR READ STATUS LJM X1RWC ENTER READ/WRITE CONTROL * CHECK FOR FUNCTION REQUEST. CTO7 LDD DC CHECK MESSAGE TYPE SHN 21-13 PJN CTO8 IF NOT FUNCTION REQUEST LJM TFR PROCESS *TELEX* FUNCTION REQUEST CTO8 LDC RWC SET REENTRY ADDRESS * ENTRY TO FORCE SOURCE DUMP IF READ ACTIVE. * (A) = REENTRY ADDRESS. CTO9 STD DP+4 SET REENTRY ADDRESS LDD DP+2 CHECK IF SOURCE INPUT ACTIVE SHN 21-10 PJN CTO10 IF INPUT NOT INITIATED LPN 7 SET POT LENGTH LMN 40 SET FORCED DUMP FLAG STD RQ+1 LDD DP SET FIRST, CURRENT POT STD RQ+2 STD RQ+3 LDN /TLX/RIN REQUEST SOURCE INPUT DUMP RJM ERQ STD DP CLEAR POINTERS STD DP+1 STD DP+2 CTO10 LJM EXI2 DIN SPACE 4,10 ** DIN - PROCESS USER DIALED IN. DIN LDN 0 CLEAR DATA OUTPUT STI DO LDC 0 CHECK LOG IN COUNT DINA EQU *-1 ZJN DIN1 IF MAXIMUM REACHED RJM RDC READ VDCT TO CHECK TERMINAL STATUS ZJN DIN2 IF LAST USER OFF DIN1 LJM MGR DIN2 LDN ZERL INITIALIZE NEW USER CRD CH CRD DP LDN /TLX/DIN REQUEST DIAL IN PROCESSING RJM ERQ SOM DINA DECREMENT LOG-IN COUNT RETURN EXI3,LIN PROCESS LOGIN HUP SPACE 4,10 ** HUP - HANG UP PHONE. HUP LDN 20 SET DELAY TO INSURE THAT 6676 HAS SENT DATA STD DP+2 HUP1 RETURN EXI6 SOD DP+2 DECREMENT DELAY NJN HUP1 IF DELAY NOT ELAPSED LDD SM ZJN HUP2 IF NOT STIMULATOR LDC .IISE ISSUE STIMULATOR HANG UP PHONE UJN HUP3 SEND CHARACTER HUP2 LDC 6000 ISSUE HANG UP PHONE HUP3 STI DO RETURN EXI1 LDN 0 CLEAR OUTPUT STI DO LDN 5*2 SET FIVE SECOND DELAY STD DP+2 RETURN EXI1 LDD IT NJN HUP4 IF HALF SECOND LJM MGR EXIT HUP4 SOD DP+2 ZJN HUP5 IF TIMEOUT COMPLETE LJM EXI7 EXIT HUP5 LDD DP ZJN HUP6 IF NO POTS TO DROP STD RQ+3 LDN /TLX/DRT RJM ERQ STD DP HUP6 STD DP+1 STD DP+3 RJM CUT CLEAN UP TERMINAL TABLE RETURN EXI1 SHN 21-11-21+13 PJN OFL2 IF OFF-LINE UJN OFL1 ENTER DIAL IN OFL SPACE 4,10 ** OFL - PROCESS USER OFF LINE. * * OFL WILL DROP ALL POTS ASSOCIATED WITH THE TERMINAL AND * NOTIFY *TELEX* TO TURN OFF THE TERMINAL. * * MUST FOLLOW *DIN*. OFL BSS 0 ENTRY LDD DP STD RQ+3 LDN /TLX/HUP REQUEST HUNG UP PHONE PROCESSING RJM ERQ STD DP CLEAR POINTERS STD DP+1 STD DP+2 RETURN EXI1 ITSA BSS 0 INITIAL TERMINAL START ADDRESS SHN 13-11 CHECK INPUT STATUS PJN OFL3 IF NOT ON LINE * ENTRY FROM HUP. OFL1 RETURN EXI6,DIN ENTER DIAL IN OFL2 LJM MGR * RESYNC 6671 AND ENABLE PHONE ANSWERING. OFL3 LDN 24 INSURE 6676 OUTPUT REGISTERS CLEAR STD DP+2 OFL4 RETURN EXI6 SOD DP+2 NJN OFL4 IF DELAY NOT ELAPSED LDC 7000 REENABLE PHONE ANSWERING (6671) STI DO RETURN EXI1,OFL1 ENTER DIAL IN SPACE 4,10 OFLE BSS 0 END OF LINE PROCESSING RWC SPACE 4,10,10 ** RWC - READ/WRITE CONTROL. * * ENTRY COMPLETION OF READ OR WRITE OPERATION. * * EXIT TO *RDM* IF INPUT RECEIVED FROM TERMINAL. * TO *WTM* IF MESSAGE ASSIGNMENT RECEIVED FROM *TELEX*. * TO *TFR* IF FUNCTION REQUEST RECEIVED FROM *TELEX*. * TO *CTO* IF TERMINAL IDLE. RWC RJM CEM CLEAR EXTENDED MODE * ENTER HERE TO PREVENT TRANSMISSION MODE CHANGE. * CHECK FOR INPUT FROM TERMINAL. RWC1 LDI DI CHECK VALID CHARACTER FLAG SHN 21-13 PJN RWC2 IF NO INPUT FROM TERMINAL LJM RDM ENTER READ MODE * CHECK FOR MESSAGE ASSIGNMENT OR FUNCTION REQUEST. RWC2 RJM RDC READ *VDCT* LDD DC+4 CHECK *VDCT* INTERLOCK NJN RWC3 IF MESSAGE ASSIGNED LJM CTO CHECK TIME OUT RWC3 LDD DC CHECK MESSAGE TYPE SHN 21-13 PJN RWC4 IF NOT FUNCTION REQUEST LJM TFR PROCESS *TELEX* FUNCTION REQUEST * PREPARE NEW OUTPUT. RWC4 LDD DP CHECK FIRST POT ZJN RWC5 IF NOT ASSIGNED STD RQ+3 SET POT LDN /TLX/DRT REQUEST DROP POT CHAIN RJM ERQ RWC5 LDD DC+4 CURRENT POT = ASSIGNMENT STD DP STD DP+1 LDD DC+1 CURRENT WORD = FIRST WORD OF ASSIGNMENT LPN 7 SHN 4 STD DP+2 LDD DC+1 CLEAR STARTING WORD SCN 7 STD DC+1 LDN 0 CLEAR ASSIGNMENT STD DC+4 RETURN EXI5,WTM ENTER WRITE MODE TITLE LOGIN PROCESSING. DTT SPACE 4,10 ** DTT - DETERMINE TERMINAL TYPE. * * THE FIRST CHARACTER TYPED IS EXAMINED TO DETERMINE TERMINAL * TYPE AND PARITY. DTT MJN DTT4 IF INPUT CHARACTER RECEIVED LDD SM CHECK STIMULATOR STATUS ZJN DTT1 IF NOT STIMULATOR LDC .IISI ISSUE *INITIATE STIMULATOR INPUT* STI DO RETURN EXI1 DTT1 LDN /CTL/RDP CHECK TERMINAL TYPE RJM SCA LMC /RDM/CRD NJN DTT2 IF NOT CORRESPONDENCE LDC .CEOT UNLOCK KEYBOARD STI DO RETURN EXI1 DTT2 RETURN EXI6 MJN DTT4 IF INPUT CHARACTER RECEIVED DTT3 LJM CTO CHECK TIME OUT DTT4 SHN 13-21 EXTRACT CHARACTER LPC 377 STD CH LMC .CEOA LPC 376 NJN DTT6 IF NOT *EOA* * PROCESS CORRESPONDENCE CODE TERMINAL. LDC 400 STD CH RETURN EXI3 PJN DTT3 IF NO INPUT CHARACTER RECEIVED SHN 13-21 LMC .CEOT LPC 376 ZJN DTT8 IF *EOT* LDD CH LPC 377 NJN DTT5 IF CHARACTER ENTERED LDI DI EXTRACT DATA CHARACTER LPC 376 RAD CH DTT5 LJM EXI4 * CHECK FOR ADDITIONAL INPUT. DTT6 LDD IT SET HALF/SECOND TIMER STI DO RETURN EXI3 PJN DTT7 IF NO ADDITIONAL INPUT LJM DTT4 DTT7 LDI DO CHECK TIMER LMD IT NJN DTT5 IF NOT TIMED OUT * LOOK UP CHARACTER. DTT8 LDN 0 CLEAR INDEX STD T1 DTT9 LDM TTTC,T1 CHECK TABLE ENTRY LMD CH SHN -1 ZJN DTT10 IF MATCH FOUND AOD T1 LMN TNTT NJN DTT9 LOOP TO END OF TABLE STD T1 CLEAR INDEX LDD CH CLEAR CHARACTER LPC 400 STD CH DTT10 LDD T1 SET TRANSLATION TABLE INDEX SHN 7 STD DP+3 LDD CH SET PARITY LMM TTTC,T1 LPN 1 RAD DP+3 UJN LINX COMPLETE LOGIN LIN SPACE 4,10 ** LIN - PROCESS LOGIN. LIN RJM RDC READ VDCT TO CHECK TERMINAL STATUS LMD HN ZJN LIN1 IF *TELEX* READY LJM MGR LIN1 LDD DC+4 SET POT ASSIGNMENT STD DP STD DP+1 LDN 0 CLEAR POT ASSIGNMENT STD DC+4 LDD DC+1 SET PORT TYPE INDEX SHN -10 LPN 3 STD T1 LDM LINA,T1 SET ENTRY ADDRESS LJM EXI5 * COMPLETE LOGIN. LINX LDN 40 SET LINE FEED FLAG FOR ASCII TERMINALS RAD DP+3 LJM /RDM/CLI PROCESS COMMAND LINE INPUT LINA BSS 0 CON RAB READ ANSWERBACK CON DTT DETERMINE TERMINAL TYPE CON DTT DETERMINE TERMINAL TYPE CON RAB READ ANSWERBACK RAB SPACE 4,10 ** RAB - REQUEST ANSWERBACK. * * * RAB IS CALLED WHENEVER *TELEX* DESIRES TO READ * THE ANSWER BACK DRUM ON THE TERMINAL. RAB WILL INSURE ENOUGH * TIME FOR THE TERMINAL TO COME FULLY ON LINE AND THEN ISSUE * THE ANSWER BACK COMMAND. RAB LDN 7 WAIT FOR LINE TO SETTLE OUT RJM WTO LDC .AENQ ISSUE *ENQ* STI DO LDN 0 STD DP+2 STD CH+2 RETURN EXI3 LDD SM CHECK STIMULATOR STATUS ZJN RAB1 IF NOT STIMULATOR SHN 21-13 MJN RAB1 IF *ASTIM* MUX LDC .IISI ISSUE *INITIATE STIMULATOR INPUT* STI DO RETURN EXI1 RAB1 RETURN EXI6 PJN RAB3 IF NO INPUT CHARACTER SHN -7 EXTRACT CHARACTER LPC 177 STD T7 LDD CH+1 CHECK CHARACTER COUNT SBN 10D PJN RAB2 IF MORE THAN 10 CHARACTERS RJM /RDM/TIC TRANSLATE CHARACTER SHN -6 NJN RAB2 IF SPECIAL CHARACTER RJM /RDM/WIC WRITE INPUT CHARACTER AOD CH+1 COUNT CHARACTER RAB2 LJM EXI4 RETURN RAB3 LDD IT ADVANCE TIMER RAD CH+2 LMN ATIO NJN RAB2 IF TIME OUT NOT ELAPSED STD CH+2 STD T7 RJM /RDM/WIC FORCE UPPER CHARACTER LJM LINX COMPLETE LOGIN TITLE *TELEX* FUNCTION REQUEST PROCESSING. TFR SPACE 4,10 ** TFR - PROCESS *TELEX* FUNCTION REQUEST. * * ENTRY (DC - DC+4) = *VDCT* WORD. TFR LDD DC+4 SAVE REQUEST CODE STD T2 LPN 77 SBN TTFRL MJN TFR1 IF LEGAL FUNCTION LCN TTFRL SET ILLEGAL FUNCTION TFR1 ADN TTFRL STD T1 LDN /TLX/RES REQUEST ADDITIONAL OUTPUT RJM ERQ STD DC+4 CLEAR FUNCTION REQUEST LDD DC CLEAR DRIVER REQUEST BIT LPC 3777 STD DC TTADD VDCT CWD DC LDM TTFR,T1 PROCESS FUNCTION STD T1 NJN TFR2 IF A VALID ENTRY LJM MGR EXIT TFR2 LDD DP+3 LJM 0,T1 TTFR SPACE 4,10 ** TTFR - TABLE OF TELEX FUNCTION REQUESTS. TTFR INDEX INDEX /1TD/BGI,BGI BEGIN INPUT INDEX /1TD/CFD,CFD CLEAR FULL DUPLEX INDEX /1TD/HUP,HUP HANG UP THE PHONE INDEX /1TD/IIP,IIP ISSUE INPUT PROMPT INDEX /1TD/LGI,LGI PROCESS LOGIN INDEX /1TD/SCE,SCE SET/CLEAR EXTENDED MODE INDEX /1TD/SDU,INT3.1 SUSPEND DRIVER FOR USER BREAK INDEX /1TD/SEP,SEP SET EVEN PARITY INDEX /1TD/SFD,SFD SET FULL DUPLEX INDEX /1TD/SNM,SNM SET NORMAL MODES INDEX /1TD/SOP,SOP SET ODD PARITY INDEX /1TD/STT,STT SET TERMINAL TYPE INDEX /1TD/REQL TTFRL EQU *-TTFR BGI SPACE 4,10,10 ** BGI - BEGIN INPUT. * * SET INPUT ACTIVE AND START TAPE READER IF TAPE MODE IS SET. * * ENTRY (DC - DC+4) = WORD *VDCT*. BGI LDD DC CHECK *TAPE* MODE LPN 1 ZJN BGI1 IF NOT SET LDC .ISTR TRANSLATE *START TAPE READER* STD T7 RJM /WTM/TOC SHN 6 CHECK TRANSLATED CHARACTER PJN BGI1 IF NOT DEFINED LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMD T7 ISSUE *START TAPE READER* STI DO RETURN EXI1 BGI1 LDD SM CHECK STIMULATOR STATUS ZJN BGI2 IF NOT STIMULATOR LDC .IISI ISSUE *INITIATE STIMULATOR INPUT* STI DO RETURN EXI1 BGI2 RETURN EXI6,RDM CFD SPACE 4,10 ** CFD - CLEAR *FULL DUPLEX* FLAG. * * ENTRY (A) = DP+3. CFD LPC 7677 CLEAR FULL DUPLEX LJM SEP1 IIP SPACE 4,10 ** IIP - ISSUE INPUT PROMPT. * * ISSUE INPUT PROMPT CHARACTER IF TRANSPARENT, BINARY, * OR AUTO MODE IS NOT SET. * * ENTRY (A) = DP+3. * (DC - DC+4) = VDCT. IIP SHN 21-2 CHECK MODE MJN IIP1 IF *TRANSPARENT* MODE LPN 1 NJN IIP2 IF *BINARY* MODE LDD DC LPN 2 NJN IIP2 IF *AUTO* MODE TTADD VSTT CHECK NO PROMPT BIT CRD T0 LDD T0 LPN 40 NJN IIP2 IF NO PROMPT MODE STD CH+2 CLEAR ESCAPE CONTROL STD DP+2 LDN /CTL/IPC SELECT PROMPT CHARACTER RJM SCA STD ZR LDN 1RB SET TERMINATOR STD ZR+1 RJM SWA SET WORD ADDRESS CWD ZR SET PROMPT IN POT LDN ZERL CLEAR ZERO LOCATION CRD ZR RETURN EXI3,WTM ENTER WRITE MODE IIP1 LDN 0 CLEAR INPUT POINTER STD DP+2 IIP2 LDN /TLX/RES REQUEST NEXT MESSAGE RJM ERQ LJM X3RWC WAIT FOR *BGI* REQUEST LGI SPACE 4,10 ** LGI - PROCESS USER LOGIN. * * ENTRY (A) = DP+3. LGI LPC 7600 RETAIN TERMINAL TYPE FOR LOGIN STD T7 LDD DP CHECK POT ASSIGNMENT ZJN LGI1 IF NONE STD RQ+3 DROP POTS LDN /TLX/DRT RJM ERQ LGI1 LDN ZERL CLEAR CONTROL WORDS CRD DP CRD CH LDD T7 RESET TERMINAL TYPE STD DP+3 RETURN EXI3,LIN ENTER LOGIN SCE SPACE 4,15 ** SCE - SET/CLEAR EXTENDED MODE. * * SET/CLEAR EXTENDED TRANSMISSION MODE DEPENDING * UPON MODE IN *VDCT*. * * CALLS CEM. SCE BSS 0 ENTRY RJM CEM LJM EXI4 EXIT SNM SPACE 4,10 ** SNM - SET NORMAL MODES. * * ENTRY (A) = DP+3. SNM SCN 3 CLEAR EXTENDED MODE, ODD PARITY * UJN SEP SEP SPACE 4,10,10 ** SEP - SET EVEN PARITY. * * ENTRY (A) = DP+3. SEP SCN 1 SEP1 STD DP+3 LJM EXI4 SOP SPACE 4,10 ** SOP - SET *ODD PARITY* FLAG. * * ENTRY (A) = DP+3. SOP SCN 1 SET ODD PARITY LMN 1 UJN SEP1 SFD SPACE 4,10 ** SFD - SET *FULL DUPLEX* FLAG. * * ENTRY (A) = DP+3. SFD LPC 7677 SET FULL DUPLEX LMD HN UJN SEP1 STT SPACE 4,10 ** STT - SET TERMINAL TYPE. * * ENTRY (A) = DP+3. * (T2) = TRANSLATION TABLE INDEX. STT LPC 177 CLEAR CURRENT TRANSLATION INDEX STD DP+3 LDD T2 SET TRANSLATION TABLE INDEX SCN 77 SHN 1 LMD DP+3 UJN SEP1 SPACE 4,10 QUAL CIS EQU /CTL/CIS CTO EQU /CTL/CTO MGR EQU /CTL/MGR RWC EQU /CTL/RWC CTLE BSS 0 END OF CONTROL MODE TITLE READ MODE - MAIN PROCESSING ROUTINES. QUAL RDM RDM SPACE 4,10 ** RDM - READ MODE. * * ENTRY (DP+1) = FIRST POT FOR INPUT LINE. * (DP+2), FIRST WORD = FIRST WORD FOR LINE. * *READ ACTIVE* STATUS. * *POT REQUESTED* STATUS. * CURRENT WORD = FIRST WORD FOR LINE. * CURRENT CHARACTER = FIRST CHARACTER FOR LINE. * FOR SPECIAL INPUT PROCESSING, * (DP+3) *TRANSPARENT INPUT* STATUS. * (DP+3) *BINARY INPUT* STATUS. * * (CH) = BINARY INPUT TERMINATION CHARACTER. * (CH+1) = BINARY INPUT TERMINATION COUNT. * RDM - ENTRY. RDM LDD DP ZJN RDM4 IF NO INPUT POT LDD DP+3 CHECK BINARY TRANSMISSION SHN 21-3 PJN RDM2 IF NOT SET LDD CH+1 CHECK BINARY COUNT NJN RDM1 IF SET LCN 10 RAD DP+3 CLEAR BINARY MODE UJN RDM2 RDM1 LDC BRD SET BINARY READ UJN RDM3 RDM2 LDN /CTL/RDP LOCATE READ PROCESSOR RJM SCA RDM3 STD DP+4 LDI DI SHN 21-13 LJM 0,DP+4 * PROCESS LACK OF INPUT POT. IF THE INPUT DATA HAS * NO NEED TO BE TRANSLATED AND STORED IT WILL BE IGNORED. * IF THE DATA IS VALID, A DIAGNOSTIC MESSAGE WILL BE * ISSUED TO THE TERMINAL OPERATOR. RDM4 RJM CSM CHECK IF SMFIF PROCESSING ZJN RDM4.1 IF NOT SMFIF PROCESSING RDM4.1 LDI DI GET INPUT CHARACTER LPC 377 NJN RDM4.2 IF NOT START OF BREAK LJM /CTL/CIS2 GO PROCESS INTERRUPT RDM4.2 LDC EDBM LJM ITM SEND EDITOR BUSY MESSAGE RDM4.3 LDI DI GET INPUT CHARACTER LPC 177 STD T7 RJM TIC TRANSLATE CHARACTER SHN -7 ZJN RDM6 IF NOT SPECIAL CHARACTER LMN /TRN/NLI ZJN RDM5 IF NULL INPUT LMN /TRN/EBT&/TRN/NLI NJN RDM6 IF NOT END OF BLOCK MODE TRANSMISSION RDM5 LJM MGR IGNORE CHARACTER RDM6 LJM NIP1 ISSUE *REENTER LAST LINE* BRD SPACE 4,10,5 ** BRD - BINARY READ. BRD MJN BRD1 IF INPUT RECEIVED LJM CTO CHECK TIME OUT BRD1 SHN 13-12 CHECK CHARACTER STATUS PJN BRD2 IF NOT LOST DATA LJM DLO PROCESS DATA LOST BRD2 SHN 11-21 LPC 177 STD T7 LDD DP+3 CHECK *FULL DUPLEX* SHN 21-6 PJN BRD3 IF NOT SET LDI DI ISSUE INPUT CHARACTER LPC 4377 STI DO BRD3 LDD CH SAVE TERMINATOR STD CH+2 LDI DI FORMAT INPUT CHARACTER LPN 1 ADN 20 SHN 13-4 RAD T7 SCN 77 SET UPPER HALF FOR *WIC* STD CH AOD DP+2 RJM WIC WRITE INPUT CHARACTER AOD CH+3 ADVANCE INPUT CHARACTER COUNT SHN -14 ZJN BRD4 IF NO OVERFLOW STD RQ+2 REQUEST ACCOUNTING MESSAGE LDN /TLX/IAM RJM ERQ BRD4 LDD CH+2 RESTORE TERMINATOR STD CH SHN 6 MJN BRD5 IF NO TERMINATOR SPECIFIED SHN -6 LMD T7 LPC 177 ZJN BRD6 IF TERMINATOR RECIEVED BRD5 SOD CH+1 DECREMENT CHARACTER COUNT MJN BRD6 IF END OF INPUT ZJN BRD6 IF END OF INPUT LJM EXI4 RETURN TO MANAGER BRD6 RETURN EXI3 LDN 0 ENTER END OF LINE STD CH STI DO CLEAR OUTPUT STD T7 STD CH+1 CLEAR CHARACTER COUNT STD CH+2 CLEAR ESCAPE CONTROL AOD DP+2 WRITE END OF LINE RJM WIC LCN 10 CLEAR BINARY INPUT RAD DP+3 RETURN EXI3 RJM RDC READ VDCT TO CHECK READ OPERATION SHN 21-6 MJN BRD7 IF *READ DATA* LJM SLI PROCESS SOURCE LINE INPUT BRD7 LJM CLI PROCESS COMMAND LINE INPUT CRD SPACE 4,10 ** CRD - CORRESPONDENCE TERMINAL READ. CRD PJN CRD1 IF NO INPUT DATA SHN 13-21 CHECK CHARACTER LPC 377 NJN CRD2 IF NOT START OF *ATTN* LJM CIS CHECK INTERRUPT STATUS * ENTRY TO ENABLE INPUT. CRD1 LDC .CEOT ISSUE *EOT* TO ENABLE TERMINAL INPUT STI DO RETURN EXI1 RETURN EXI6 CRD2 LDD DP+3 CLEAR UPPER CASE SCN 40 STD DP+3 LDI DI SHN 21-13 MJN CRD4 IF CHARACTER RECEIVED CRD3 LJM CTO CHECK TIME OUT CRD4 SHN 13-21 CHECK CHARACTER LMC .CEOA LPC 176 NJN CRD5 IF NOT *EOA* RETURN EXI1,CRD6 CRD5 LDC CRD6 ADVANCE ENTRY STD DP+4 LDI DI SHN 21-13 * CRD - MAIN RETURN. CRD6 PJN CRD3 IF NO CHARACTER RECEIVED SHN 13-12 CHECK CHARACTER STATUS PJN CRD7 IF NOT LOST DATA LJM DLO PROCESS LOST DATA CRD7 SHN 13-1 EXTRACT CHARACTER LPN 77 STD T7 LDD DP+3 SET CORRECT CASE LPN 40 SHN 1 RAD T7 UJN RTC PROCESS READ CHARACTER ARD SPACE 4,10 ** ARD - *ASCII* TERMINAL READ. ARD MJN ARD1 IF CHARACTER RECEIVED LJM CTO CHECK TIME OUT ARD1 SHN 13-12 CHECK CHARACTER STATUS PJN ARD2 IF NOT LOST DATA LJM DLO PROCESS LOST DATA ARD2 SHN 12-0 EXTRACT CHARACTER LPC 177 STD T7 LDD DP+3 CHECK *FULL DUPLEX* SHN 21-6 PJN RTC IF NOT SET LDI DI ISSUE INPUT TO OUTPUT LPC 4377 STI DO * UJN RTC RTC SPACE 4,10 ** RTC - READ TERMINAL CHARACTER. RTC RJM TIC TRANSLATE INPUT CHARACTER RTCX STD T7 SET CHARACTER STD CH+2 SAVE CHARACTER FOR MONITORING TERMINAL SHN -7 CHECK CONTROL NJN RTC6 IF SPECIAL CHARACTER * ENTRY FROM *CES*. RTC1 LDC 4000 SET VALID DATA RAD CH+2 * ENTRY TO STORE INPUT CHARACTER. RTC2 RJM WIC WRITE INPUT CHARACTER AOD CH+1 COUNT CHARACTER ADC -MXIC PJN RTC4 IF LINE OVERFLOWS RTC3 LJM EXI4 RTC4 ADC -MXTC+MXIC TERMINAL CHARACTER COUNT PJN RTC5 IF LINE OVERFLOWS RJM RDC SHN 21-4 MJN RTC3 IF TRANSACTION MODE RTC5 LDC LOFM ISSUE OVERFLOW MESSAGE LJM ITM * PROCESS SPECIAL CHARACTER. RTC6 STD T2 SET PROCESSOR INDEX LDM TRSP-1,T2 SET PROCESSOR ADDRESS STD T2 LDD DP+3 LJM 0,T2 ESC SPACE 4,10 ** ESC - PROCESS ESCAPE CODES. * * ENTRY (T7) = CHARACTER, ESC LDD T7 SET PROPER ESCAPE CODE SHN -5 LPN 2 ADN 74 STD T7 RJM WIC WRITE ESCAPE CODE * ENTRY TO STORE LOWER SIX BITS OF INPUT CHARACTER. ESC1 LDD CH+2 SET DISPLAY CODE LPC 177 PRESERVE ESCAPE BIAS LJM RTCX CES SPACE 4,10 ** CES - CHECK ESCAPE STATUS. * * ENTRY (A) = DP+3. * (T7) = CHARACTER. CES LPN 6 CHECK FOR ASCII OR TRANSPARENT ZJN CES1 IF NOT ASCII OR NOT TRANSPARENT LDD T7 CHECK FOR COLON LMC 200 NJN ESC IF NOT COLON LDN 204-200 COLON = 204 IN ASCII OR TRANSPARENT MODE RAD CH+2 UJN ESC ESCAPE CHARACTER INPUT CES1 LDD T7 SHN 21-6 PJN CES3 IF ESCAPE 2 LDD CH+2 LPN 77 ZJN CES2 IF *7600* SBN 1RZ+1 MJN ESC1 PROCESS NORMAL CHARACTER CES2 LJM EXI2 IGNORE CHARACTER CES3 LDD T7 LMC 200 NJN CES2 IF NOT COLON LJM RTC1 COLON TRSP SPACE 4,10 ** TRSP - TABLE OF SPECIAL READ CHARACTER PROCESSORS. TRSP BSS 0 QUAL TRN LOC 1 CES CON /RDM/CES CHECK ESCAPE STATUS CRT CON /RDM/CRT CARRIAGE RETURN DLN CON /RDM/DLN LINE DELETE DPC CON /RDM/DPC DELETE PREVIOUS CHARACTER NLI CON /RDM/NLI NULL INPUT CSF CON /RDM/CSF CASE SHIFT ECI CON /RDM/ECI ESCAPE CHARACTER INPUT NWL CON /RDM/NWL NEW LINE EOT CON /RDM/EOT EOT BRK CON /RDM/BRK BREAK EBT CON /RDM/EBT END OF BLOCK MODE TRANSMISSION EOL CON /RDM/EOL BLOCK MODE END-OF-LINE ETX CON /RDM/ETX ETX LOC *O NOREF CES,NLI QUAL * CRT SPACE 4,10 ** CRT - PROCESS CARRIAGE RETURN. CRT RETURN EXI3 ALLOW CARRIAGE RETURN RJM RDC READ VDCT TO CHECK *TAPE* MODE LPN 1 ZJN CRT1 IF NOT SET STI DO CLEAR OUTPUT LDD CH+1 CHECK CHARACTER COUNT NJN CRT2 IF NOT EMPTY LINE LJM X3RWC ENTER READ/WRITE CONTROL CRT1 LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMC .ALF ISSUE LINE FEED STI DO * ENTRY TO ISSUE NEW LINE. CRT2 LDC .INL+4000 ISSUE NEW LINE TO MONITOR STD CH+2 * UJN EIL EIL SPACE 4,10 ** EIL - END OF INPUT LINE. EIL LDD DP+2 SET ZERO BYTE TERMINATOR LPN 1 NJN EIL1 IF LOWER CHARACTER LDD MA SAVE POINTER WORD CWD DP RJM RPC READ PRECEDING CHARACTER STD T7 LDD MA RESTORE POINTER WORD CRD DP LDD T7 CHECK PRECEDING CHARACTER NJN EIL3 IF NOT COLON LDN 1R ENTER BLANK STD T7 RJM WIC EIL1 LDD DP+3 CHECK FOR TRANSPARENT MODE LPN 4 ZJN EIL2 IF NOT TRANSPARENT MODE LDN 1R EIL2 LMN 1R STD T7 RJM WIC EIL3 LDN 0 ENTER END OF LINE STD T7 RJM WIC LDD DP+3 CLEAR *TRANSPARENT* MODE SCN 4 STD DP+3 * COMPLETE END OF LINE PROCESSING. RETURN EXI3 LDD CH+1 ADVANCE INPUT CHARACTER COUNT RAD CH+3 SHN -14 ZJN EIL4 IF NO OVERFLOW STD RQ+2 LDN /TLX/IAM REQUEST ISSUE ACCOUNTING MESSAGE RJM ERQ EIL4 STI DO STD CH+2 RJM RDC READ VDCT TO CHECK READ OPERATION SHN 21-6 MJN CLI IF *READ DATA*, PROCESS AS COMMAND SHN 6-4 MJN CLI IF *TRANSACTION MODE*, PROCESS AS COMMAND SHN 4-2 MJN EIL5 IF *TEXT MODE*, PROCESS AS SOURCE LDD DP+2 READ FIRST WORD OF LINE LPC 7000 SHN 6 ADD DP SHN 3 ADCBM CRD CM LDD CM CHECK FIRST CHARACTER SHN -6 SBN 1R0 MJN CLI IF NOT DIGIT SBN 1R9+1-1R0 EIL5 MJN SLI IF DIGIT CLI SPACE 4,10 ** CLI - PROCESS COMMAND LINE INPUT. CLI LDD DP SET FIRST POT OF LINE STD RQ+3 LDD DP+2 SET FIRST WORD SHN -11 STD RQ+2 LDN /TLX/CLI REQUEST COMMAND LINE INPUT RJM ERQ STD DP CLEAR FIRST POT STD DP+1 CLEAR CURRENT POT LDN 3 SET DELAY RJM WTO WAIT TIME OUT LDN /CTL/ECL LOCATE COMMAND LINE PROCESSOR UJN SLI2 SLI SPACE 4,10 ** SLI - SOURCE LINE INPUT. * * ENTRY (DC - DC+4) = *VDCT* WORD. SLI LDD DP+2 FIRST WORD = CURRENT WORD LPC 360 SAVE POT REQUESTED FLAG LMC 400 SET *INPUT INITIATED* STD DP+2 SHN 5 RAD DP+2 LDD DP CHECK CURRENT POT STD RQ+3 LMD DP+1 ZJN SLI1 IF CURRENT POT = FIRST POT LDD DP+1 FIRST POT = CURRENT POT STD DP STD RQ+2 LDN /TLX/RIN REQUEST RELEASE INPUT RJM ERQ SLI1 STD RQ+3 LDN /CTL/ESL LOCATE SOURCE LINE PROCESSOR SLI2 RJM SCA LJM EXI3 ENTER LINE PROCESSOR TITLE READ MODE - SPECIAL CHARACTER PROCESSORS. ACL SPACE 4,10 ** ACL - END OF COMMAND LINE. * * ISSUE LINE-FEED IF IN TAPE MODE. ACL BSS 0 ENTRY RJM RDC READ *VDCT* LPN 1 ZJN ACL2 IF NOT *TAPE* MODE LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMC .ALF ISSUE LINE-FEED ACL1 STI DO SET OUTPUT CHARACTER RETURN EXI1 ACL2 LDN 0 STI DO STD CH+1 ZERO CHARACTER COUNT X3RWC RETURN EXI3,RWC ENTER READ/WRITE CONTROL ASL SPACE 4,10 ** ASL - END OF SOURCE LINE. ASL LDD SM CHECK STIMULATOR STATUS ZJN ASL1 IF NOT STIMULATOR LDC .IISI ISSUE *INITIATE STIMULATOR INPUT* STI DO RETURN EXI1 ASL1 LDN 0 CLEAR OUTPUT STI DO STD CH+1 ZERO CHARACTER COUNT RETURN EXI3,ARD BRK SPACE 4,10 ** BRK - PROCESS BREAK. BRK RJM RDC READ VDCT LPN 1 ZJN BRK1 IF NOT TAPE MODE RETURN EXI1,RDM IGNORE IF TAPE MODE BRK1 LDN 100D/MNCT+1 START TIMER FOR BREAK STI DO BRK2 RETURN EXI3 MJN BRK1 IF BREAK STILL IN PROGRESS SOI DO NJN BRK2 IF NOT TIMED OUT LDD CH+1 CHECK INPUT LINE NJN BRK4 IF LINE NOT EMPTY * PROCESS EMPTY INPUT LINE. RJM RDC READ VDCT LPN 4 ZJN BRK3 IF NOT TEXT MODE LJM ETX2 EXIT TEXT MODE * INTERRUPT JOB IF ACTIVE. BRK3 TTADD VROT CHECK ACTIVITY CRD CM LDD CM+4 LMN 3 ZJN BRK5 IF NO ACTIVITY LJM /CTL/INT INTERRUPT JOB * PROCESS NON-EMPTY INPUT LINE. BRK4 LDD DP+3 CHECK MODE LPN 4 NJN BRK6 IF TRANSPARENT MODE BRK5 LDN DELM SET *DEL* MESSAGE LJM ITM * ENTER TRANSPARENT MODE DATA. BRK6 LDN 76 STORE ESCAPE STD T7 RJM WIC LDN /CTL/IPC DETERMINE TRANSLATION RJM SCA SHN -6 LMN 71 ZJN BRK7 IF NEW TRANSLATION TABLE LDN 55&40 BRK7 LMN 40 STD T7 STORE DISPLAY CODE RJM WIC RETURN EXI3,EIL CCL SPACE 4,10 ** CCL - END OF COMMAND LINE. CCL LDC .CIL ISSUE *IL* STI DO LDD CH+1 REPEAT COUNT = CHARACTER COUNT/8 SHN -3 RJM /WTM/SRC SEND REPEATED CHARACTER LDC .CEOA ISSUE *EOA* TO ENABLE OUTPUT LJM ACL1 CSF SPACE 4,10 ** CSF - PROCESS CASE SHIFT. * * ENTRY (A) = (DP+3). CSF LMD CH+2 SET NEW CASE SCN 40 LMD CH+2 STD DP+3 LJM EXI2 CSL SPACE 4,10 ** CSL - END OF SOURCE LINE. CSL LDC .CIL ISSUE *IL* STI DO LDD CH+1 REPEAT COUNT = CHARACTER COUNT/8 SHN -3 RJM /WTM/SRC SEND REPEATED CHARACTER TTADD VCHT CWD CH REWRITE ZERO OUT CH+1 LJM CRD1 REENABLE INPUT DLN SPACE 4,10 ** DLN - PROCESS DELETE LINE. * * ENTRY (A) = DP+3. DLN LPN 4 CHECK *TRANSPARENT MODE* NJN DLN1 IF SET STI DO SUPPRESS DUPLEX ECHO-BACK LJM BRK5 DLN1 LJM ESC ENTER CHARACTER DPC SPACE 4,10 ** DPC - DELETE PRECEEDING CHARACTER. * * ENTRY (A) = DP+3. DPC LPN 4 CHECK *TRANSPARENT MODE* NJN DLN1 IF SET SOD CH+1 PJN DPC1 IF NOT START OF LINE LDN 0 STD CH+1 LJM EXI4 DPC1 RJM BUP BACK UP POINTERS LDD CH+2 SET CHARACTER FOR MONITORING TERMINAL LPC 377 ADC 4000 STD CH+2 LDD DP+2 CHECK CHARACTER NUMBER SHN 21 PJN DPC2 IF UPPER CHRACTER LPN 7 SET BYTE STD T5 RJM SWA SET WORD ADDRESS CRD T0 READ WORD LDI T5 EXTRACT UPPER CHARACTER SCN 77 STD CH LDN 0 CLEAR BYTE STI T5 RJM SWA SET WORD ADDRESS CWD T0 STORE WORD DPC2 LDD DP+3 CHECK ASCII LPN 6 ZJN DPC4 IF NOT SET LDD MA SAVE POINTER WORD CWD DP RJM RPC READ PREVIOUS CHARACTER SBN 74 MJN DPC3 IF NOT ESCAPE ZJN DPC5 IF ESCAPE 2 SBN 76-74 ZJN DPC5 IF ESCAPE 1 DPC3 LDD MA RESTORE POINTER WORD CRD DP DPC4 LJM EXI4 DPC5 LDD DP+2 CHECK CHARACTER NUMBER SHN 21 PJN DPC4 IF UPPER CHARACTER LDI T5 EXTRACT UPPER CHARACTER SCN 77 STD CH LDN 0 CLEAR BYTE STI T5 RJM SWA SET WORD ADDRESS CWD T0 STORE WORD UJN DPC4 EBT SPACE 4,10,20 ** EBT - END OF BLOCK MODE TRANSMISSION. * * PROCESS *EOT* CODE TERMINATOR OF BLOCK EDIT MODE * TERMINAL BUFFER TRANSMISSION. IF THE LINE IS NOT * EMPTY, A CARRIAGE RETURN WILL BE TRANSMITTED TO THE * TERMINAL AND THE LINE WILL BE PROCESSED LIKE A CARRIAGE * RETURN. IF THE LINE IS EMPTY, THE *EOT* CHARACTER * WILL BE IGNORED. * * ENTRY (CH+1) = LINE CHARACTER COUNT. * * EXIT TO *CRT* AFTER ISSUING CARRIAGE RETURN IF LINE * IS NOT EMPTY. * * TO *MGR* IF LINE IS EMPTY. EBT BSS 0 ENTRY LDD CH+1 CHECK LINE CHARACTER COUNT ZJN EBT1 IF ZERO-LENGTH LINE LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMC .ACR ISSUE CARRIAGE RETURN STI DO RETURN EXI3,CRT PROCESS CARRIAGE RETURN EBT1 LJM MGR IGNORE CHARACTER ECI SPACE 4,10,10 ** ECI - ESCAPE CHARACTER INPUT. * * DIRECTS PROCESSING OF *74* AND *76* INPUT CHARACTERS. * IF IN EXTENDED OR TRANSPARENT MODE, THE *74* CODE IS * STORED AS *7401* AND THE *76* CODE IS STORED AS * *7402*. * * ENTRY (A) = DP+3. ECI LPN 6 CHECK MODE ZJN ECI1 IF NEITHER EXTENDED NOR TRANSPARENT LJM ESC ECI1 LDD T7 CONVERT TO SINGLE DISPLAY CODE LPN 3 SHN 1 ADN 72 STD T7 LJM RTC2 REENTER READ PROCESSOR EOL SPACE 4,10,10 ** EOL - BLOCK MODE END-OF-LINE. * * ENTERS CARRIAGE RETURN PROCESSING WITHOUT ISSUING * LINE-FEED. * * EXIT TO *CRT2*. EOL EQU CRT2 ALTERNATE ENTRY POINT EOT SPACE 4,10 ** EOT - END OF TRANSMISSION. EOT LDD CH+1 CHECK INPUT LINE ZJN EOT1 IF NO CHARACTER, ISSUE .CEOA FOR *INT* LDD DP+3 LPN 4 NJN EOT2 IF TRANSPARENT MODE,AVOID DOUBLE .CEOA EOT1 LDC .CEOA STI DO EOT2 RETURN EXI3 RETURN EXI6,BRK1 PROCESS AS BREAK CHARACTER ETX SPACE 4,10,10 ** ETX - END OF TEXT. ETX LDD CH+1 CHECK INPUT LINE NJN ETX1 IF LINE NOT EMPTY RJM RDC READ VDCT LPN 4 NJN ETX2 IF TEXT MODE ETX1 LDD DP+3 LJM CES CHECK ESCAPE STATUS ETX2 LDD DP+1 POT TO BE DUMPED IF NOT EMPTY STD RQ+3 LDD DP+2 EXTRACT WORD COUNT OF POT SHN -4 LPN 7 STD RQ+2 LDN /TLX/ETX EXIT TEXT MODE REQUEST RJM ERQ STD DP CLEAR FIRST POT POINTER STD DP+1 CLEAR CURRENT POT POINTER STD DP+2 CLEAR POSITION WITHIN CURRENT POT LDD DC CLEAR INPUT REQUESTED, TEXT MODE LPC 7373 STD DC RETURN EXI5,RWC ENTER READ/WRITE CONTROL NLI SPACE 4,10 ** NLI - PROCESS NULL INPUT. * * ENTRY (A) = DP+3. NLI LPN 4 CHECK *TRANSPARENT MODE* ZJN NLI1 IF NOT SET LDD CH+2 LPC 177 ZJN NLI1 IF NO CHARACTER DEFINED STD T7 ENTER CHARACTER SHN 21-6 CHECK FOR ESCAPE 2 MJN NLI2 IF ESCAPE 2 LJM RTC2 NLI1 LJM MGR IGNORE CHARACTER NLI2 LJM ESC ENTER ESCAPE CHARACTER NWL SPACE 4,10 ** NWL - NEW LINE. * * WAIT FOR *EOT* FROM TERMINAL. NWL RETURN EXI1 MJN NWL1 IF INPUT RECEIVED LJM CTO NWL1 LDD DP+3 CLEAR UPPER CASE SCN 40 STD DP+3 LJM CRT2 PROCESS END OF LINE TITLE READ MODE - SUBROUTINES. ITM SPACE 4,10 ** ITM - ISSUE TERMINAL MESSAGE. * * ISSUES MESSAGE TO TERMINAL. * * ENTRY (A) = ADDRESS OF FORMATTED MESSAGE. * * USES (DP+1) = MESSAGE ADDRESS POINTER. * (DP+2) = MESSAGE BYTE POINTER. ITM ADC 7700 SET MESSAGE PSEUDO-POT POINTER STD DP+1 LDD DP+2 CLEAR BYTE POINTER LPC 7600 STD DP+2 LDN 0 CLEAR OUTPUT CONTROL STD CH+2 LJM /WTM/WTM4 INITIATE MESSAGE * ENTERED HERE FROM SUBROUTINE *ROC* TO EXTRACT NEXT * MESSAGE CHARACTER TO BE RETURNED TO WRITE PROCESSOR. ITM1 LDM ITMA-7700,DP+1 GET NEXT CHARACTER STD T7 LDD DP+2 TOGGLE BYTE INDEX LMN 1 STD DP+2 LPN 1 NJN ITM2 IF UPPER CHARACTER AOD DP+1 INCREMENT MESSAGE ADDRESS LDD T7 LPN 77 EXTRACT LOWER CHARACTER UJN ITM3 ITM2 LDD T7 EXTRACT UPPER CHARACTER SHN -6 ITM3 STD T7 SET CHARACTER ZJN ITM4 IF END OF MESSAGE SOD CH+4 PREVENT CHARACTER COUNT ON MESSAGE LDD T7 LJM /WTM/ROCX ISSUE CHARACTER * RESET LINE POINTERS AND EXIT. ITM4 LDD CH CHECK TERMINAL TYPE LMC /WTM/CWT NJN ITM5 IF NOT CORRESPONDENCE LDC .CEOT ENABLE INPUT STI DO RETURN EXI1 ITM5 LDD DP+2 RESET CURRENT WORD SHN -5 LMD DP+2 SCN 17 STD DP+2 LDD DP RESET CURRENT POT STD DP+1 ZJN ITM6 IF NO INPUT POT RJM CEM CLEAR EXTENDED MODE LJM /CTL/BGI ITM6 RJM CSM CHECK IF SMFIF PROCESSING NJN ITM6.5 IF TERMINAL CONNECTED TO SMF LDN /TLX/RES RESTART JOB RJM ERQ ITM6.5 BSS 0 LJM X3RWC ENTER READ/WRITE CONTROL ** TABLE OF TERMINAL MESSAGES. ITMA BSS 0 LOC 0 DELM DATA Z+ *DEL*"NL"+ LOFM DATA Z+"NL" *OVL*"NL"+ RILM DATA Z+"NL"*RE-ENTER LAST LINE*"NL"+ EDBM DATA Z+"NL"EDITOR BUSY"NL"+ LOC *O DLO SPACE 4,10 ** DLO - PROCESS LOST DATA. * * NOTIFY *TELEX* THAT A LOST DATA CONDITION OCCURED ON THE * TERMINAL LINE. DLO LDN 1 SET LOST DATA STD RQ+2 * UJN NIP SPACE 4,10,10 ** NIP - NO INPUT POT AVAILABLE. * * NOTIFY *TELEX* THAT NO INPUT WAS AVAILABLE. NIP LDN /TLX/DLO REQUEST LOST DATA PROCESSING RJM ERQ * ENTERED FOR REENTER LAST LINE MESSAGE. NIP1 LDN RILM ISSUE RE-ENTER LINE MESSAGE LJM ITM TIC SPACE 4,10 ** TIC - TRANSLATE INPUT CHARACTER. * * ENTRY (T7) = CHARACTER. * * EXIT (A) = TRANSLATED CHARACTER. * (T7) = TRANSLATED CHARACTER. * * USES T1. * * CALLS TCH. PPT IFNE VPPT,0 TIC1 STD T1 SET TABLE INDEX LDC TITA LOAD CONVERSION INDEX RJM TCH TIC2 STD T7 TIC SUBR ENTRY/EXIT LDD DP+3 CHECK CONVERSION INDEX SHN -7 NJN TIC1 IF SPECIAL CONVERSION REQUIRED LDM TINT,T7 TRANSLATE CHARACTER UJN TIC2 PPT ELSE TIC SUBR ENTRY/EXIT LDC TITA SET INPUT CONVERSION RJM TCH TRANSLATE CHARACTER UJN TICX EXIT PPT ENDIF WIC SPACE 4,10 ** WIC - WRITE INPUT CHARACTER. * * ENTRY (T7) = CHARACTER. * (CH) = UPPER CHARACTER IF LOWER CHARACTER IS * TO BE STORED. * IF (T7) = 0, AND UPPER CHARACTER IS TO BE PROCESSED, * END OF LINE IS ASSUMED. IN ORDER TO PREVENT * CONFUSION BETWEEN THE DISPLAY CODE COLON *00* AND * END OF LINE, A *00* COLON IS PASSED TO *WIC* AS A * *200* CODE. * * EXIT NONE. * * USES CH, DP, DP+2, RQ+2, RQ+3, T0 - T6. * * CALLS ERQ, RDC, RLT. * * MACROS ADCBM, RETURN. WIC8 LPN 77 SET CURRENT WORD SHN 17 STD T6 SHN -17 SET BYTE STD T5 NJN WIC9 IF NOT START OF NEW WORD LDN ZERL UJN WIC80 WIC9 LDD DP+1 READ WORD SHN 3 LMD T6 ADCBM WIC80 CRD T0 LDD T7 MERGE UPPER AND LOWER CHARACTERS LPN 77 MASK FOR COLON LMD CH STI T5 STORE BYTE LDD DP+1 STORE WORD SHN 3 LMD T6 ADCBM CWD T0 LDI T5 ADD T7 ZJN WIC3 IF END OF LINE AOD DP+2 ADVANCE CHARACTER LPN 17 LMN 12 ZJN WIC3 IF END OF WORD WIC SUBR ENTRY/EXIT WIC1 LDD DP+2 CHECK CHARACTER NUMBER SHN 21 PJN WIC2 IF UPPER LJM WIC8 WIC2 AOD DP+2 ADVANCE CHARACTER POINTER LDD T7 CHECK CHARACTER SHN 6 STORE UPPER CHARACTER STD CH NJN WICX IF NOT END OF LINE UJN WIC1 FORCE END OF LINE * PROCESS END OF WORD. WIC3 LDD DP+2 CHECK WORD NUMBER SHN -4 LPN 7 LMN 7 ZJN WIC5 IF END OF POT LDD DP+2 ADVANCE WORD NUMBER, RESET CHARACTER SCN 17 ADN 20 STD DP+2 SHN -4 CHECK WORD NUMBER LPN 17 SBN 5 MJN WICX RETURN IF WORD 5 NOT REACHED SBN 3 PJN WICX RETURN IF POT REQUESTED LDC 200 SET *POT REQUESTED* RAD DP+2 RJM RLT READ NEXT POT LINK NJN WIC4 IF POT LINKED LDD DP+1 SET CURRENT POT STD RQ+3 LDN /TLX/LPT REQUEST POT RJM ERQ WIC4 LJM WICX RETURN * PROCESS END OF POT. WIC5 LDD DP+2 RESET WORD AND CHARACTER LPC 7400 STD DP+2 RJM RLT READ NEXT POT LINK ZJN WIC7 IF POT NOT LINKED STD DP+1 SET NEXT POT LDD DP+3 LPN 10 ZJN WIC4 IF NOT BINARY MODE RJM RDC READ VDCT SHN 21-6 MJN WIC4 IF NOT READ DATA LDD DP SET FIRST POT STD RQ+3 LMD DP+1 CHECK CURRENT POT ZJN WIC6 IF FIRST EQUALS CURRENT LDD DP+1 SET CURRENT POT STD DP STD RQ+2 LDN /TLX/RIN RJM ERQ WIC6 STD RQ+3 UJN WIC4 EXIT WIC7 RETURN EXI1,NIP PROCESS NO INPUT POT SPACE 4,10 QUAL RDM EQU /RDM/RDM X3RWC EQU /RDM/X3RWC RDME BSS 0 END OF READ MODE TITLE WRITE MODE - MAIN PROCESSOR. QUAL WTM WTM SPACE 4,10 ** WTM - WRITE MODE. * * ENTRY (DP+1) = FIRST POT OF OUTPUT. * (DP+2), CURRENT WORD = FIRST WORD OF OUTPUT. * (DP+3) *BINARY TRANSMISSION* STATUS * (CH+2) = ESCAPE CONTROL. WTM PJN WTM1 IF NO TERMINAL INPUT LJM CIS CHECK INTERRUPT STATUS WTM1 RJM RLT CHECK NEXT LINK NJN WTM2 IF POT LINKED LDN /TLX/RES REQUEST MORE OUTPUT RJM ERQ WTM2 LDD DP+3 CHECK *BINARY TRANSMISSION* LPN 10 ZJN WTM5 IF NOT BINARY RETURN EXI6,BWT * SET WRITE PROCESSOR AND INITIATE OUTPUT. * ENTRY TO TRANSMIT EXTENDED MODE MESSAGE. WTM4 LDD DP+3 SET EXTENDED CONVERSION SCN 2 LMN 2 STD DP+3 WTM5 LDN /CTL/WTP SET WRITE PROCESSOR RJM SCA STD CH LDN 0 CLEAR OUTPUT LJM WTC BWT SPACE 4,10 ** BWT - BINARY WRITE. BWT PJN BWT1 IF NO TERMINAL INPUT LJM CIS CHECK INTERRUPT STATUS * ASSEMBLE OUTPUT CHARACTER. BWT1 RJM ROC READ OUTPUT CHARACTER MJN BWT3 IF CONTROL BYTE SCN 2 CLEAR BIT SEVEN LMN 20 ADD VALID CHARACTER SHN 7 STD T6 STORE ASSEMBLY SHN -10 LMN 30 NJN BWT4 IF NOT BINARY FORMAT LDD T7 SHN -1 LPN 1 RAD T6 MOVE BIT SEVEN TO BIT ZERO AOD DP+2 ADVANCE CHARACTER COUNT LDI T5 GET LOWER 6 BITS LPN 77 SHN 1 LMD T6 MERGE WITH ASSEMBLY STI DO AOD CH+4 ADVANCE OUTPUT CHARACTER COUNT SHN -14 ZJN BWT2 IF NO OVERFLOW LDN /TLX/IAM ISSUE ACCOUNTING MESSAGE RJM ERQ BWT2 LJM EXI4 EXIT BWT3 LJM SOC PROCESS CONTROL BYTE * TERMINATE BINARY MODE OUTPUT. BWT4 LCN 10 CLEAR BINARY MODE RAD DP+3 SOD DP+2 RESET CHARACTER POSITION LDN 0 CLEAR ESCAPE CONTROL STD CH+2 STI DO CLEAR OUTPUT LDN 1 SET CHARACTER COUNT NON-ZERO STD CH+1 RETURN EXI3,WTM5 CONTINUE OUTPUT CWT SPACE 4,10 ** CWT - CORRESPONDENCE CODE TERMINAL WRITE. CWT LDD DP+3 CHECK CASE LPN 40 SHN 12-5 LMD T7 SHN 21-12 PJN CWT1 IF CORRECT CASE SHN 12-11 PJN CWT1 IF NO CASE SHIFT REQUIRED * PROCESS CASE SHIFT. LDD T7 SAVE CHARACTER STD CH LDD DP+3 TOGGLE CASE LMN 40 STD DP+3 SHN -5 SELECT CASE SHIFT CODE LPN 1 STD T1 LDM CWTA,T1 ISSUE CASE SHIFT STI DO RETURN EXI3 LDD CH RESTORE CHARACTER STD T7 LDC CWT RESET ENTRY ADDRESS STD CH CWT1 LDD T7 ISSUE CHARACTER LPC 4377 UJN WTC CWTA BSS 0 CASE SHIFT CONTROL CHARACTERS CON .CLC CON .CUC AWT SPACE 4,10 ** AWT - *ASCII* TERMINAL WRITE. AWT LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMD T7 ISSUE CHARACTER * UJN WTC WTC SPACE 4,10,10 ** WTC - WRITE TERMINAL CHARACTER. * * ISSUES CURRENT CHARACTER TO TERMINAL. THE * NEXT CHARACTER IS READ AND RETURNED TO THE PROPER * PROCESSING ROUTINE. SPECIAL CHARACTERS ARE PROCESSED * BEFORE RETURN. * * ENTRY (A) = CHARACTER TO ISSUE TO TERMINAL. * (CH+2) = ESCAPE CONTROL. * * EXIT (T7) = NEXT CHARACTER TRANSLATED. * (CH+2) = UPDATED ESCAPE CONTROL. * * ESCAPE CONTROL - * * 4XXX = VALID CHARACTER POINTER XXX. * 0100 = ESCAPE 1. * 0200 = ESCAPE 2. * 0300 = *00* (POSSIBLE EOL) BYTE HAS BEEN * DETECTED. THIS SITUATION WILL OCCUR * WHEN THE LOWER CHARACTER OF AN * OUTPUT BYTE IS FOUND TO BE ZERO. * AT THIS POINT, FURTHER TESTING MUST * BE DONE TO DETERMINE WHETHER OR NOT * THIS ZERO CHARACTER IS PART OF * AN END OF LINE OR IS FOLLOWED BY * DATA. THIS LATTER CONDITION IS A * FALSE END OF LINE AND THE ZERO * CHARACTER MUST BE PROCESSED AS A * COLON. * 04XX = FALSE EOL HAS BEEN DETECTED. * XX = NEXT OUTPUT CHARACTER. * (CHANGED BY *CMM* TO *05XX* BYTE.) * 05XX = *CMM* HAS PROCESSED FALSE EOL. * XX = NEXT OUTPUT CHARACTER. * 06XX = SUSPENDED CONTROL PROCESSING. THIS * SITUATION OCCURS WHEN A CONTROL * CHARACTER PROCESSOR IS UNABLE TO * TO DETERMINE WHETHER OR NOT A * SUSPECTED CONTROL CHARACTER IS * FOLLOWED BY AN END OF LINE. * THIS WILL OCCUR WHEN THERE IS * NO FURTHER DATA IN THE CURRENT * OUTPUT POTS AND THE DRIVER MUST * WAIT FOR FURTHER OUTPUT TO BE * ASSIGNED. WTC STI DO ISSUE OUTPUT CHARACTER * CHECK INPUT LINE. WTCX RETURN EXI3 PJN WTC2 IF NO TERMINAL INPUT LJM CIS CHECK FOR INTERRUPT * CHECK ESCAPE CONTROL. WTC2 LDD CH+2 CHECK ESCAPE CONTROL SHN -6 ZJN WTC5 IF NULL STD T1 SBN TECPL TEST FOR VALID DATA BIT PJN WTC5 IF VALID DATA SET LDM TECP-1,T1 SET PROCESSOR ADDRESS STD T1 LDD CH+2 SAVE LOWER SIX BITS LPN 77 STD T7 LJM 0,T1 PROCESS ESCAPE CONTROL * GET NEXT OUTPUT CHARACTER. WTC5 RJM ROC GET NEXT CHARACTER PJN WTC7 IF NOT CONTROL BYTE WTC6 LJM SOC WTC7 NJN WTC8 IF NON-ZERO LJM WTC17 CHECK POSSIBLE END OF LINE * CHECK OUTPUT CHARACTER. WTC8 SBN 74 CHECK FOR ESCAPE CHARACTER MJN WTC12 IF NOT ESCAPE 1 OR 2 ZJN WTC10 IF ESCAPE 2 SBN 76-74 NJN WTC12 IF NOT ESCAPE 1 LCN 1 * PROCESS ESCAPE CHARACTER. WTC10 ADN 2 SET ESCAPE CHARACTER BIAS SHN 6 STD CH+2 LDD DP+3 CHECK MODE LPN 2 ZJN WTC12 IF NOT EXTENDED MODE STI DO CLEAR OUTPUT ONE CYCLE RETURN EXI3 WTC11 RJM ROC READ OUTPUT CHARACTER MJN WTC6 IF CONTROL BYTE ADD CH+2 ADD ESCAPE CHARACTER BIAS STD T7 ADC -214 MJN WTC12 IF LEGAL CHARACTER LDN 0 PROCESS INVALID CHARACTER STD CH+2 LJM WTC * PERFORM TRANSLATION. WTC12 LDD T7 SAVE CHARACTER FOR MONITORING TERMINAL * ENTRY TO FORCE OUTPUT CHARACTER. * (A) = (T7) = OUTPUT CHARACTER. WTC13 ADC 4000 ADD VALID CHARACTER BIT STD CH+2 WTC14 RJM TOC TRANSLATE CHARACTER SHN 6 PJN WTC16 IF SPECIAL PROCESSING REQUIRED AOD CH+1 ADVANCE CHARACTER COUNT/LINE AOD CH+4 ADVANCE OUTPUT CHARACTER COUNT SHN -14 ZJN WTC15 IF NO OVERFLOW (4096 CHARACTERS) LDN /TLX/IAM REQUEST ISSUE ACCOUNTING MESSAGE RJM ERQ WTC15 LJM 0,CH ISSUE CHARACTER * PERFORM SPECIAL PROCESSING. WTC16 SHN -6 SET SPECIAL PROCESSOR INDEX STD T1 STI DO CLEAR OUTPUT LDM TWSP,T1 PROCESS CHARACTER LJM EXI3 * PROCESS POSSIBLE END OF LINE. WTC17 LDC 300 SET OUTPUT CONTROL STD CH+2 STI DO CLEAR OUTPUT ONE CYCLE RETURN EXI3 WTC18 RJM ROC GET NEXT CHARACTER PJN WTC21 IF NOT CONTROL BYTE LJM SOC * ENTRY FROM CONTROL CHARACTER PROCESSORS. * (A) = FALSE CONTROL BYTE VALUE. WTC19 STD CM SAVE FALSE CONTROL BYTE LDD CH+2 CHECK OUTPUT CONTROL LMC 300 NJN WTC20 IF NOT SUSPENDED COLON STD CM SOD DP+2 BACK UP CHARACTER WTC20 LDD CM WTC21 ADC 400 SET ESCAPE CONTROL STD CH+2 LDN 00 ISSUE COLON STD T7 LJM WTC14 ** TECP - TABLE OF ESCAPE CONTROL PROCESSORS. TECP BSS 0 LOC 1 CON WTC11 *0100* - ESCAPE 1. CON WTC11 *0200* - ESCAPE 2. CON WTC18 *0300* - POSSIBLE *EOL*. CON WTC8 *04XX* - FALSE *EOL*. CON WTC8 *05XX* - *04XX* AFTER *CMM*. CON SOC1 *06XX* - SUSPENDED OUTPUT CONTROL. TECPL BSS 0 LOC *O TWSP SPACE 4,10 ** TWSP - TABLE OF SPECIAL WRITE PROCESSORS. TWSP BSS 0 QUAL TRN LOC 0 NLO CON /WTM/WTC NULL ANL CON /WTM/ANL *ASCII* TERMINAL NEW LINE ACR CON /WTM/ACR *ASCII* TERMINAL CARRIAGE RETURN CNL CON /WTM/CNL CORRESPONDENCE CODE END OF OUTPUT LINE CCR CON /WTM/CCR CORRESPONDENCE CODE CARRIAGE RETURN CLF CON /WTM/CLF CORRESPONDENCE CODE LINE FEED CBS CON /WTM/CBS CORRESPONDENCE CODE BACKSPACE LOC *O NOREF NLO QUAL * TITLE WRITE MODE - SUBROUTINES. ROC SPACE 4,10 ** ROC - READ OUTPUT CHARACTER. * * EXIT (T5) = OUTPUT BYTE ADDRESS. * (T7) = LOWER 12 BITS OF (A). * (A) = POSITIVE - * (A) = OUTPUT CHARACTER. * (A) = NEGATIVE - * (A) = 400000B + CONTROL BYTE VALUE, OR, * 770001 (END OF POT). * * USES DP+2, T7, T0 - T5. * * MACROS ADCBM. * PROCESS ODD (LOWER) CHARACTER. ROC9 LPN 7 SET BYTE NUMBER STD T5 AOD DP+2 ADVANCE CHARACTER NUMBER SHN -4 READ DATA WORD LPN 7 SHN 17 LMD DP+1 SHN 3 ADCBM CRD T0 LDI T5 EXTRACT LOWER CHARACTER LPN 77 ROC10 STD T7 SET CHARACTER * UJN ROCX * ROC - ENTRY. ROC SUBR ENTRY/EXIT LDD DP+1 CHECK CURRENT POT POINTER SHN -6 LMN 77 NJN ROC1 IF NOT MESSAGE PSEUDO-POT POINTER LJM /RDM/ITM1 GET MESSAGE CHARACTER ROC1 LDD DP+2 CHECK CHARACTER NUMBER SHN 21 MJN ROC9 IF ODD CHARACTER * PROCESS EVEN (UPPER) CHARACTER. LPN 77 CHECK WORD STATUS LMN 75 NJN ROC2 IF NOT END OF WORD AND END OF POT LDC .ECP UJN ROCX ROC2 LPN 7 NJN ROC3 IF NOT END OF WORD STD T5 SET BYTE 0 LDN 21-12 ADVANCE WORD AND SET ODD CHARACTER RAD DP+2 UJN ROC4 ROC3 LMN 5 SET BYTE NUMBER STD T5 AOD DP+2 ADVANCE CHARACTER ROC4 SHN -4 SET ADDRESS OF WORD LPN 7 SHN 17 LMD DP+1 SHN 3 ADCBM CRD T0 READ WORD LDI T5 EXTRACT UPPER CHARACTER SHN -6 NJN ROC6 IF NOT CONTROL BYTE LDI T5 ZJN ROC7 IF ZERO BYTE SBN TSOCL PJN ROC8 IF NOT CONTROL BYTE ADN TSOCL ROC5 LMC 400000 ROC6 LJM ROC10 * CHECK FOR END OF LINE. ROC7 AOD T5 ADVANCE BYTE POINTER LMN 5 ZJN ROC5 IF END OF WORD LDI T5 ZJN ROC7 IF NO DATA IN NEXT BYTE ROC8 LDN 0 ISSUE COLON UJN ROC6 SOC SPACE 4,10 ** SOC - SET OUTPUT CONTROL. * * ENTRY (A) = OUTPUT CONTROL BYTE SET BY *ROC*. SOC4 RJM RLT CHECK POT LINK NJN SOC5 IF LINKED LDC /CTL/RWC1 SET REENTRY ADDRESS STD DP+4 UJN SOC6 * SET NEXT POT. SOC5 STD DP SET POT POINTER LDD DP+1 DROP CURRENT POT STD RQ+3 LDN /TLX/DRP RJM ERQ LDD DP SET CURRENT POT STD DP+1 RJM RLT CHECK THIS POT LINK NJN SOC7 IF POT LINKED * REQUEST ADDITIONAL OUTPUT. SOC6 LDN /TLX/RES REQUEST ADDITIONAL OUTPUT RJM ERQ SOC7 LDN 0 CLEAR LINE POSITION STD DP+2 STI DO CLEAR OUTPUT LJM EXI4 EXIT * SOC - ENTRY/EXIT. SOC SHN 21-20 CHECK BIT 20 MJN SOC4 IF SET, THEN END OF POT AOD DP+2 ADVANCE CHARACTER POINTER * CHECK CONTROL BYTE. SOC1 LDD T7 CHECK CONTROL BYTE ZJN SOC3 IF END OF LINE LMN 2R"IB" ZJN SOC2 IF INTERNAL END OF BLOCK LDD DP+3 CHECK MODE SHN 21-3 PJN SOC2 IF NOT BINARY SOD DP+2 TERMINATE BINARY MODE LJM BWT4 * EXIT TO CONTROL BYTE PROCESSOR. SOC2 LDN /TLX/RES REQUEST ADDITIONAL OUTPUT RJM ERQ SOC3 LDM TSOC,T7 SET REENTRY ADDRESS LJM EXI6 EXIT TSOC SPACE 4,10 ** TSOC - TABLE OF OUTPUT CONTROL BYTE PROCESSORS. * INDEXED BY CONTROL CODE. TSOC BSS 0 LOC 0 CON EOL END OF LINE CON EOB END OF BLOCK CON ECB END OF CORRESPONDENCE BLOCK CON ATI AUTO INPUT CON LOF LOG OFF USER CON TPI TRANSPARENT INPUT CON BNI BINARY INPUT CON BNO BEGIN BINARY OUTPUT CON EOL UNUSED - TREAT AS END OF LINE CON BEO BEGIN EXTENDED OUTPUT CON EOL UNUSED - TREAT AS END OF LINE CON EOS END OF STRING CON IEB INTERNAL END OF BLOCK CON ETI EXECUTIVE AUTO MODE INPUT TSOCL BSS 0 LOC *O SRC SPACE 4,10 ** SRC - SEND REPEATED CHARACTER. * * ENTRY (A) = REPEAT COUNT. * ((DO)) = CHARACTER. * * EXIT ((DO)) = 0. * * USES CH, CH+1. * * MACROS RETURN. SRC2 STI DO CLEAR DATA OUTPUT SRC SUBR ENTRY/EXIT STD CH+1 SET REPEAT COUNT ZJN SRC2 IF NULL COUNT LDM SRC SET RETURN ADDRESS STD CH RETURN EXI3 SOD CH+1 DECREMENT REPEAT COUNT ZJN SRC1 IF COUNT EXHAUSTED LJM EXI4 SRC1 STI DO CLEAR DATA OUTPUT LJM 0,CH RETURN TO CALLER TOC SPACE 4,10 ** TOC - TRANSLATE OUTPUT CHARACTER. * * ENTRY (T7) = CHARACTER. * * EXIT (A) = TRANSLATED CHARACTER. * (T7) = TRANSLATED CHARACTER. * * USES T1. * * CALLS TCH. PPT IFNE VPPT,0 TOC1 STD T1 SET TABLE INDEX LDC TOTA LOAD CONVERSION INDEX RJM TCH TOC2 STD T7 TOC SUBR ENTRY/EXIT LDD DP+3 CHECK CONVERSION INDEX SHN -7 NJN TOC1 IF SPECIAL CONVERSION REQUIRED LDM TOPT,T7 TRANSLATE CHARACTER UJN TOC2 PPT ELSE TOC SUBR ENTRY/EXIT LDC TOTA SET OUTPUT CONVERSION RJM TCH TRANSLATE CHARACTER UJN TOCX EXIT PPT ENDIF TITLE WRITE MODE - CONTROL BYTE PROCESSORS. *** OUTPUT CONTROL BYTES. * * THE OUTPUT CONTROL BYTES ALLOW A USER PROGRAM TO CONTROL * CERTAIN DRIVER FUNCTIONS. EOL SPACE 4,10 *** 0000 END OF LINE. * * * THIS CONTROL BYTE CAUSES THE TERMINAL TO BE POSITIONED TO * THE BEGINNING OF THE NEXT LINE. THE REMAINDER OF THE WORD * IN WHICH THE *END OF LINE* OCCURS IS DISCARDED. EOL LDD DP+2 CLEAR WORD AND CHARACTER POINTERS SCN 17 LMN 12 STD DP+2 LDD DP+3 CHECK FOR BINARY MODE LPN 10 NJN EOL2 IF BINARY MODE * ISSUE NEW LINE TO TERMINAL AND RESET OUTPUT MODE. * IF 66B IS A CONTROL CHARACTER, THEN THE TERMINAL IS * A TYPE *D* TRANSLATION TABLE TERMINAL AND THE OUTPUT * MODE MUST REMAIN *EXTENDED*. IF NOT, THEN THE * OUTPUT MODE MUST BE RESET TO THAT INDICATED IN THE * TERMINAL TABLE. LDN 66 CHECK IF *66* IS CONTROL CHARACTER STD T7 RJM TOC SHN 21-13 PJN EOL1 IF *D* TYPE TERMINAL RJM CEM CLEAR/RESET EXTENDED MODE EOL1 LDC .INL ISSUE NEW LINE STD T7 LJM WTC13 EOL2 LMD DP+3 CLEAR BINARY MODE STD DP+3 LDN 0 CLEAR CHARACTER COUNT STD CH+2 CLEAR ESCAPE CONTROL LJM WTM5 CONTINUE OUTPUT EOB SPACE 4,10 *** 0001 END OF BLOCK. * * * THIS CONTROL BYTE IS USED TO TERMINATE OUTPUT BEFORE * THE END OF POT IS REACHED. THE REMAINDER OF THE POT IS * DISCARDED AND THE TERMINAL IS NOT POSITIONED TO THE * START OF THE NEXT LINE. * * THIS CONTROL BYTE MUST BE FOLLOWED BY AN END-OF-LINE. EOB LDN 1RA RJM CLT CHECK FOR LINE TERMINATION EOB1 LDN 0 CLEAR CHARACTER POSITION STD DP+2 STD CH+1 RESET CHARACTER COUNT STD CH+2 CLEAR ESCAPE CONTROL STI DO CLEAR OUTPUT LJM X3RWC EOB SPACE 4,10 ** 0002 END OF CORRESPONDENCE BLOCK. * * * SPECIAL END OF BLOCK PROCESSING FOR POSSIBLE * CORRESPONDENCE TERMINALS. * THIS CODE ENABLES INPUT IF CORRESPONDENCE TERMINAL, * OTHERWISE IT IS TREATED AS A *0001* BYTE. * * THIS CONTROL BYTE MUST BE FOLLOWED BY AN END-OF-LINE. ECB LDN 1RB RJM CLT CHECK FOR LINE TERMINATION LDD CH CHECK TERMINAL TYPE LMC CWT NJN EOB1 IF NOT CORRESPONDENCE TERMINAL LDC .CEOT ENABLE INPUT STI DO RETURN EXI1 UJN EOB1 ATI SPACE 4,10 *** 0003 AUTO INPUT. * * * THIS CONTROL BYTE MUST BE FOLLOWED BY AN END OF LINE * AND TERMINATES OUTPUT. * THE WORD CONTAINING THE AUTO INPUT CONTROL BYTE IS * MOVED TO THE FIRST WORD OF THE POT FOR SUBSEQUENT * INPUT WHICH MUST FOLLOW IMMEDIATELY. ATI7 LDN 1RC REENTER WRITE MODE * LDN 1RM (CONTROL BYTE 0015B) ATIB EQU *-1 LJM WTC19 * ATI - ENTRY. ATI LDC LDNI+1RC CONTROL BYTE TO REENTER WRITE MODE STM ATIB LDC MDS SET UP CALL TO SUBROUTINE MDS STM ATIA LDN 1RC ATI1 RJM CLT CHECK FOR LINE TERMINATION RJM CKL CHECK *LIST* STATUS MJN ATI7 IF FILE BEING LISTED RJM RDC READ VDCT LPN 2 NJN ATI3 IF AUTO INPUT MODE SET LDD DC+4 CHECK VDCT INTERLOCK ZJN ATI2 IF NOT INTERLOCKED LDN 2 SET AUTO INPUT MODE RAD DC TTADD VDCT CWD DC UJN ATI3 SET WORD/BYTE NUMBER ATI2 LDN /TLX/SAI REQUEST SET AUTO INPUT RJM ERQ ATI3 LDD DP+2 SET WORD NUMBER SHN 16 STD T6 SHN -17 SET BYTE NUMBER STD T5 SOD T5 LDD DP+1 SHN 3 READ DATA WORD LMD T6 ADCBM CRD T0 LDN 0 CLEAR BYTE STI T5 STD CH+2 CLEAR ESCAPE CONTROL RJM MDS RESTORE WORD AND SET FIRST WORD * RJM RSW (CONTROL BYTE 0015) ATIA EQU *-1 SCN 17 SHN 5 LMD DP+2 SBN 2 DECREMENT CHARACTER NUMBER STD DP+2 LPN 17 STD CH+1 SET INPUT LINE CHARACTER COUNT LDD DP+3 CLEAR BINARY AND EXTENDED MODES SCN 12 STD DP+3 LDD DC CHECK MODE ATI4 SHN 21-1 MJN ATI6 IF AUTO MODE SET LDD DC+4 CHECK FOR DRIVER REQUEST ZJN ATI5 IF NOT DRIVER REQUEST LJM X3RWC ENTER READ WRITE CONTROL ATI5 RETURN EXI3 WAIT FOR TELEX RJM RDC READ VDCT UJN ATI4 CHECK FOR AUTO MODE ATI6 LPN 2 SET NORMAL/EXTENDED MODE BIT RAD DP+3 LJM /CTL/BGI BEGIN INPUT LOF SPACE 4,10,10 *** 0004 LOG OFF USER. * * * THIS BYTE LOGS OFF THE USER. IT MUST BE THE FIRST * BYTE OF OUTPUT AND MUST BE FOLLOWED BY AN END-OF-LINE. LOF RJM CKL CHECK *LIST* STATUS MJN LOF2 IF FILE BEING LISTED LDD CH+1 CHECK LINE COUNT NJN LOF2 IF NOT FIRST BYTE LDN 1RD RJM CLT CHECK FOR LINE TERMINATION LDN 1 SET NORMAL LOGOFF STD RQ+2 LDN /TLX/FLO FORCE LOGOUT RJM ERQ LOF1 LJM EOB1 LOF2 LDN 1RD UJN TPI2 REENTER WRITE MODE SPACE 4,10,10 *** 0005 SET TRANSPARENT INPUT. * * * THIS CONTROL BYTE SETS TRANSPARENT INPUT FOR THE NEXT INPUT * REQUEST. IT MUST APPEAR IN THE FIRST BYTE OF A WORD * AND BE FOLLOWED BY AN END-OF-LINE. * * TRANSPARENT INPUT ALLOWS ALL CHARACTERS TO BE TRANSMITTED * TO THE CPU PROGRAM. TPI RJM CKL CHECK *LIST* STATUS MJN TPI1 IF FILE BEING LISTED LDD DP+2 CHECK BYTE LPN 17 LMN 2 NJN TPI1 IF NOT FIRST BYTE LDN 1RE RJM CLT CHECK FOR LINE TERMINATION LDD DP+3 SET TRANSPARENT MODE SCN 14 LMN 4 STD DP+3 UJN LOF1 TPI1 LDN 1RE * ENTRY FROM *LOF2*. TPI2 LJM WTC19 REENTER WRITE MODE SPACE 4,10,10 *** 0006 SET BINARY INPUT. * * * THIS CONTROL BYTE SETS BINARY INPUT FOR THE NEXT INPUT * REQUEST. THE CONTROL BYTE MUST BE THE FIRST BYTE OF A WORD. * THE NEXT 2 BYTES ARE THE TERMINATION CONDITIONS AS FOLLOWS - * * THE FIRST BYTE (BYTE 1) IS THE MAXIMUM NUMBER OF CHARACTERS * TO BE RECEIVED BEFORE THE INPUT IS TERMINATED. IF THE * VALUE IS 0, 1 IS ASSUMED. * * THE SECOND CONTROL BYTE (BYTE 2) IS A TERMINATION CODE. * WHEN A CHARACTER IS RECEIVED FROM THE TERMINAL WHICH * MATCHES THE BOTTOM 8 BITS OF THIS BYTE, THE INPUT OPERATION * IS TERMINATED. IF BIT 13 OF THIS BYTE IS SET, NO TERMINATION * CHARACTER IS ASSUMED. * * EXIT (CH) = TERMINATION CHARACTER. * (CH+1) = CHARACTER COUNT. BNI5 LDN 1RF UJN TPI2 REENTER WRITE MODE * BNI - ENTRY. BNI RJM CKL CHECK *LIST* STATUS MJN BNI5 IF FILE BEING LISTED LDD DP+3 CLEAR BINARY MODE SCN 10 STD DP+3 LDD CH+1 CHECK CHARACTER COUNT NJN BNI5 IF NOT FIRST BYTE RJM SWA SET WORD ADDRESS CRD CM READ DATA WORD LDD CM+3 CHECK FOR TERMINATION ADD CM+4 NJN BNI5 IF NOT TERMINATED LDD CM+1 SET CHARACTER COUNT NJN BNI2 BMI1 LDN 1 BNI2 STD CH+1 ADC -MXIC-1 MJN BNI4 IF NOT MORE THAN INTERACTIVE MAXIMUM ADC -MXTC+MXIC TERMINAL CHARACTER COUNT PJN BNI3 IF NOT MORE THAN TRANSACTION MAX RJM RDC READ VDCT SHN 21-4 MJN BNI4 IF TRANSACTION MODE BNI3 RJM RDC READ VDCT SHN 21-6 MJN BMI1 IF READ DATA MODE BNI4 LDD CM+2 SET TERMINATION CHARACTER STD CH LDN 7 ENTER BINARY OUTPUT CONTROL BYTE STD ZR LDD DP+1 STORE FIRST WORD SHN 3 ADCBM CWD ZR LDN 0 STD ZR LDN 2 SET CHARACTER 2 STD DP+2 LDN 10 SET BINARY MODE RAD DP+3 LJM X3RWC ENTER READ/WRITE CONTROL BNO SPACE 4,10 *** 0007 BEGIN BINARY OUTPUT. * * * THIS CONTROL BYTE INITIATES BINARY OUTPUT. IT MUST * APPEAR IN THE FIRST BYTE OF OUTPUT. BNO LDD DP+3 CLEAR BINARY MODE SCN 10 STD DP+3 LDD CH+1 CHECK CHARACTER COUNT NJN BNO1 IF NOT FIRST BYTE LDN 10 SET BINARY TRANSMISSION RAD DP+3 RETURN EXI1,BWT ENTER BINARY WRITE BNO1 LDN 1RG * ENTRY FROM *BEO1*. BNO2 LJM WTC19 REENTER WRITE MODE BEO SPACE 4,10,10 *** 0011 BEGIN EXTENDED OUTPUT. * * * THIS CONTROL BYTE INITIATES EXTENDED MODE OUTPUT. * IT MUST APPEAR IN THE FIRST BYTE OF THE OUTPUT LINE. BEO BSS 0 ENTRY LDD CH+1 NJN BEO1 IF NOT FIRST BYTE LJM WTM4 INITIATE EXTENDED OUTPUT BEO1 LDN 1RI UJN BNO2 REENTER WRITE MODE EOS SPACE 4,10,10 *** 0013 END OF STRING. * * * THIS BYTE ACTS AS A LOGICAL LINE TERMINATOR WHEN * FOLLOWED BY AN END OF LINE. THE TERMINAL CARRIAGE * WILL NOT BE REPOSITIONED AND OUTPUT WILL CONTINUE * WITH THE NEXT LINE OF DATA. EOS LDN 1RK CHECK FOR LINE TERMINATION RJM CLT STD CH+1 CLEAR CHARACTER COUNT STD CH+2 CLEAR CONTROL BYTE RJM ROC FORCE LINE SKIP IF IN BYTE 4 LMC .ECP CHECK IF END OF POT REACHED NJN EOS1 IF NOT END OF CURRENT POT LMC .ECP LJM SOC SET OUTPUT CONTROL EOS1 LDD DP+2 REPOSITION TO READ NEXT WORD SCN 17 LMN 12 STD DP+2 RJM CEM CLEAR EXTENDED MODE RETURN EXI3,WTM5 CONTINUE OUTPUT IEB SPACE 4,10,10 ** 0014 INTERNAL END OF BLOCK. * * * THIS CONTROL BYTE IS USED INTERNALLY BY *1TO* ONLY TO * TERMINATE OUTPUT BEFORE THE END OF POT IS REACHED. THE * REMAINDER OF THE POT IS DISCARDED, THE TERMINAL IS NOT * REPOSITIONED TO THE BEGINNING OF THE NEXT LINE, AND ANY * SPECIAL MODES (E.G., EXTENDED OR BINARY TRANSMISSION) * WILL REMAIN SET. THIS BYTE MUST APPEAR AS THE FIRST BYTE * OF A WORD, AND MUST BE FOLLOWED BY AN END OF LINE. IEB LDD DP+2 CHECK CHARACTER POSITION LPN 17 LMN 2 NJN IEB1 IF NOT FIRST BYTE IN WORD LDN 1RL CHECK FOR LINE TERMINATION RJM CLT STD DP+2 CLEAR CHARACTER POSITION STI DO CLEAR OUTPUT RETURN EXI3,/CTL/RWC1 IEB1 LDN 1RL LJM WTC19 REENTER WRITE MODE ETI SPACE 4,10 ** 0015 EXECUTIVE AUTO INPUT. * * THIS CONTROL BYTE IS INTENDED TO BE USED BY *IAFEX* FOR * AUTO MODE INPUT. THE WORD IN WHICH THE CONTROL BYTE OCCURS * IS USED AS THE FIRST N CHARACTERS OF THE INPUT LINE. * N MUST BE EVEN AND LESS THAN 9. * * THIS CONTROL BYTE MUST BE FOLLOWED BY AN END-OF-LINE. ETI LDC LDNI+1RM CONTROL BYTE TO REENTER WRITE MODE STM ATIB LDC RSW SET UP CALL TO SUBROUTINE RSW STM ATIA LDN 1RM LJM ATI1 AUTO MODE INPUT PROCESSING CKL SPACE 4,10,10 ** CKL - CHECK LIST STATUS. * * EXIT (A) = NEGATIVE IF FILE LIST IN PROGRESS. * * USES - (T1-T5) CKL SUBR ENTRY/EXIT TTADD VROT READ *VROT* CRD T1 LDD T1+4 LOAD STATUS BYTE SHN 21-6 SHIFT *LIST* STATUS BIT UJN CKLX RETURN CLT SPACE 4,10,10 ** CLT - CHECK FOR LINE TERMINATION. * * CHECKS CURRENT OUTPUT FOR LINE TERMINATION. * * ENTRY (A) = NEXT OUTPUT CHARACTER IF NOT END OF LINE. * * EXIT TO CALLING ROUTINE IF LINE TERMINATED. * TO WRITE MODE IF LINE NOT TERMINATED. * LINE TERMINATION CAN BE EXPLICIT IN THE CASE OF * A VALID END OF LINE FOLLOWING THE CURRENT LINE * POSITION, OR IT MAY BE IMPLICIT IN THE CASE OF THERE * BEING NO FURTHER DATA, EITHER ASSIGNED OR ON * MASS STORAGE. * IN THE EVENT THAT NO DETERMINATION CAN BE MADE * BECAUSE THE DRIVER IS AT THE END OF THE CURRENT * POT STRING BUT OUTPUT IS WAITING ON MASS STORAGE, * OR IF THE JOB IS CURRENTLY IN EXECUTION, * EXIT IS TO READ/WRITE CONTROL WITH SUSPENDED CONTROL * STATUS SET IN (CH+2). * * USES T0 - T5, CM, CM+1, (MA)-(MA)+5. * * CALLS RDC, RLT, ROC. CLT SUBR ENTRY/EXIT STD CM SAVE CALLING CODE LDD MA SAVE POINTER WORD CWD DP RJM ROC READ NEXT CHARACTER LMC .ECP ZJN CLT3 IF END OF CURRENT POT LMC .ECP * CHECK NEXT OUTPUT BYTE FOR END OF LINE. CLT1 SHN 1 CHECK FOR END OF LINE LMN 1 STD CM+1 STORE FLAG (ZERO IF END OF LINE) CLT2 LDD MA RESTORE POINTER WORD CRD DP LDD CM+1 CHECK FLAG ZJN CLTX IF END OF LINE LJM CLT6 * ADVANCE TO NEXT POT. CLT3 STD DP+2 CLEAR POINTERS STD CM+1 RJM RLT CHECK POT LINK ZJN CLT4 IF POT NOT LINKED STD DP+1 SET NEXT POT RJM ROC READ NEXT CHARACTER UJN CLT1 * CHECK FOR ADDITIONAL OUTPUT. CLT4 RJM RDC READ VDCT SHN 21-13 MJN CLT2 IF DRIVER REQUEST LDD DC+4 NJN CLT5 IF OUTPUT ASSIGNED TTADD VROT CHECK JOB STATUS CRD T0 LDD T0+4 LPC 2001 LMN 1 ZJN CLT2 IF NOT EXECUTING AND NO OUTPUT * SUSPEND CONTROL UNTIL FURTHER OUTPUT IS ASSIGNED. CLT5 LDD MA RESET POINTER WORD CRD DP LDD CM SET SUSPENDED CONTROL ADC 600 STD CH+2 RETURN EXI3,/CTL/RWC1 ENTER READ/WRITE CONTROL * REENTER WRITE MODE IF NO TERMINATOR. CLT6 LDD DP+3 CHECK *BINARY* MODE SHN 21-3 MJN CLT7 IF SET LDD CM SET OUTPUT CHARACTER LJM WTC19 REENTER WRITE MODE CLT7 SOD DP+2 BACK UP CHARACTER LJM BWT4 EXIT BINARY MODE MDS SPACE 4,10 ** MDS - MOVE DATA WORD TO START OF POT. * * MOVE THE WORD CONTAINING THE AUTO INPUT CONTROL BYTE * TO THE FIRST WORD OF THE POT FOR SUBSEQUENT INPUT. * * ENTRY (TO - T4) = DATA WORD. * * EXIT (A) = DATA FOR UPDATING (DP+2). * * USES T6. * * MACROS ADCBM. MDS SUBR ENTRY/EXIT LDD DP+1 MOVE DATA WORD TO START OF POT SHN 3 ADCBM CWD T0 LDD DP+2 SET FIRST WORD LPC 0617 CLEAR POT WORD POINTER STD DP+2 UJN MDSX RETURN RSW SPACE 4,10 ** RSW - RESTORE WORD. * * THE WORD IN WHICH THE CONTROL BYTE 0015 OCCURS IS USED * AS THE FIRST N CHARACTERS OF THE INPUT LINE. * * ENTRY (T0 - T4) = DATA WORD. * * EXIT (A) = DATA FOR UPDATING DP+2. * * USES DP, T6. * * MACROS ADCBM. RSW SUBR ENTRY/EXIT LDD DP+1 RESTORE WORD STD DP SHN 3 LMD T6 ADCBM CWD T0 LDD DP+2 SET FIRST WORD UJN RSWX RETURN TITLE WRITE MODE - SPECIAL CHARACTER PROCESSORS. ANL SPACE 4,10 *** *ASCII* TERMINAL SPECIAL OUTPUT PROCESSING. ANL SPACE 4,10 *** NEW LINE. * * * (1.) ISSUE *CR* TO TERMINAL. * (2.) ISSUE *LF* TO TERMINAL. * (3.) IF USER HAS NOT SPECIFIED A DELAY COUNT, SET N = 2. * OTHER WISE, SET N = USER SPECIFIED DELAY COUNT. * (4.) IF TERMINAL IS NOT IN TAPE MODE, ISSUE N *NUL* CODES. * OTHERWISE, ISSUE N *DEL* CODES. ANL LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMC .ACR ISSUE *CR* STI DO RETURN EXI3 LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMC .ALF+20000 ISSUE *LF*, REPEAT COUNT = 2 UJN ACR1 ACR SPACE 4,10 *** CARRIAGE RETURN. * * * (1.) ISSUE *CR* TO TERMINAL. * (2.) IF USER HAS NOT SPECIFIED A DELAY COUNT, SET N = 3. * OTHER WISE, SET N = USER SPECIFIED DELAY COUNT. * (3.) IF TERMINAL IS NOT IN TAPE MODE, ISSUE N *NUL* CODES. * OTHERWISE, ISSUE N *DEL* CODES. ACR LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMC .ACR+30000 ISSUE *CR*, REPEAT COUNT = 3 ACR1 STI DO SHN -14 SAVE DELAY COUNT STD CH+1 LDC .ICR+4000 STD CH+2 ISSUE *CR* TO MONITOR RETURN EXI3 RJM RDC READ VDCT LPN 1 ZJN ACR2 IF NOT TAPE MODE LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMC .ADEL ISSUE *DEL* UJN ACR3 ACR2 LDD DP+3 TOGGLE ON ODD PARITY LPN 1 LMC .ANUL ISSUE *NUL* ACR3 STI DO LDD DC+1 CHECK USER DELAY COUNT SHN -3 LPN 37 ZJN ACR4 IF NOT SPECIFIED SBN 1 REPEAT COUNT = USER DELAY - 1 STD CH+1 ACR4 LDD CH+1 SEND REPEATED CHARACTER RJM SRC LDC AWT RESET ENTRY ADDRESS STD CH LJM WTCX CONTINUE WRITE CBS SPACE 4,10 *** CORRESPONDENCE CODE TERMINAL SPECIAL OUTPUT PROCESSING. CBS SPACE 4,10 *** BACKSPACE. * * * ISSUE *BS* TO TERMINAL. CBS SOD CH+1 DECREMENT CHARACTER COUNT PJN CBS1 IF NOT BEGINNING OF LINE LDN 0 CLEAR CHARACTER COUNT STD CH+1 UJN CBS2 CBS1 LDC .CBS SET *BS* CBS2 LJM WTC ISSUE CHARACTER CCR SPACE 4,10 *** CARRIAGE RETURN. * * * ISSUE N *BS* CODES TO TERMINAL, WHERE N IS THE NUMBER OF * CHARACTERS ON THE CURRENT LINE. CCR LDC .CBS ISSUE *BS* STI DO UJN CNL1 SET REPEAT COUNT = CHARACTER COUNT CNL SPACE 4,10 *** NEW LINE. * * * (1.) ISSUE *NL* TO TERMINAL. * (2.) ISSUE *LC* TO TERMINAL. * (3.) ISSUE N *IL* CODES TO TERMINAL, WHERE N = CHARACTER * COUNT OF LINE DIVIDED BY 8. CNL LDC .CNL ISSUE *NL* STI DO RETURN EXI1 LDD DP+3 CLEAR UPPER CASE SCN 40 STD DP+3 LDC .CLC ISSUE *LC* STI DO RETURN EXI1 LDC .CIL ISSUE *IL* STI DO * SET REPEAT COUNT. LDD CH+1 REPEAT COUNT = CHARACTER COUNT / 8 SHN -3 STD CH+1 CNL1 RJM RDC READ VDCT LDD DC+1 ADD USER SPECIFIED DELAY COUNT SHN -3 LPN 37 ADD CH+1 RJM SRC SEND REPEATED CHARACTER CNL2 LDC CWT RESET ENTRY ADDRESS STD CH LJM WTCX CONTINUE WRITE CLF SPACE 4,10 *** LINE FEED. * * * (1.) ISSUE *LF* TO TERMINAL. * (2.) ISSUE *IL* TO TERMINAL. CLF LDC .CLF ISSUE *LF* STI DO RETURN EXI1 LDC .CIL ISSUE *IL* STI DO UJN CNL2 RESET ENTRY ADDRESS SPACE 4,10 QUAL WTM EQU /WTM/WTM WTME BSS 0 END OF WRITE MODE TITLE UTILITY SUBROUTINES. BUP SPACE 4,10 ** BUP - BACK UP POINTERS. * * ENTRY NONE. * * EXIT (DP - DP+4) UPDATED. * * USES DP+2, T5, T6. * * CALLS RLT. BUP5 SOD DP+2 DECREMENT CHARACTER NUMBER BUP SUBR ENTRY/EXIT LDD DP+2 CHECK CHARACTER NUMBER LPN 17 NJN BUP5 IF NOT FIRST CHARACTER OF WORD LDD DP+1 CHECK CURRENT POT LMD DP NJN BUP2 IF NOT FIRST POT LDD DP+2 CHECK WORD NUMBER SHN 5 LMD DP+2 LPC 7000 ZJN BUPX IF FIRST WORD BUP1 LCN 20-11 DECREMENT WORD NUMBER, SET LAST CHARACTER RAD DP+2 UJN BUPX BUP2 LDD DP+2 CHECK CURRENT WORD LPC 160 NJN BUP1 IF NOT FIRST WORD OF POT LDD DP+1 SAVE CURRENT POT STD T6 LDD DP SET FIRST POT BUP3 STD DP+1 RJM RLT READ LINK TABLE LMD T6 ZJN BUP4 IF CURRENT POT REACHED LMD T6 SET NEXT POT UJN BUP3 LOOP BUP4 LDD DP+2 SET LAST WORD, LAST CHARACTER LPC 7000 LMC 371 SET *POT REQUESTED* STD DP+2 LJM BUPX RETURN CEM SPACE 4,10,10 ** CEM - CLEAR EXTENDED TRANSMISSION MODE. * * SET/RESET EXTENDED TRANSMISSION MODE DEPENDING * UPON MODE IN *VDCT*. * * EXIT (A) = (DP+3). * * USES DP+3. * * CALLS RDC. CEM SUBR ENTRY/EXIT LDD DP+3 CLEAR EXTENDED MODE SCN 2 STD DP+3 RJM RDC READ *VDCT* SHN 1-3 SET EXTENDED/NORMAL MODE LPN 2 RAD DP+3 UJN CEMX RETURN CSM SPACE 4,10 ** CSM - CHECK IF SCREEN MANAGEMENT INTERFACE. * * EXIT (A) .NE. 0 IF SMFIF PROCESSING. CSM SUBR ENTRY/EXIT TTADD VFST CRD DC LDD DC+3 LPC 7700 UJN CSMX RETURN CUT SPACE 4,10 ** CUT - CLEAN UP TERMINAL TABLE. * * CLEARS ALL INFORMATION FROM THE TERMINAL TABLE OF THE * LOGGED OUT USER, LEAVING VROT SET COMPLETE. * * USES T0 - T5. CUT SUBR ENTRY/EXIT LDN ZERL CRD T0 LDN 0 STD T5 CUT1 TTADD VUIT ADD T5 CWD T0 CLEAR OUT TERMINAL TABLE AOD T5 SBN VTTL NJN CUT1 IF MORE WORDS TO CLEAR AOD T4 SET COMPLETE BIT IN VROT TTADD VROT CWD T0 UJN CUTX EXIT ERQ SPACE 4,10 ** ERQ - ENTER CIRCULAR REQUEST QUEUE. * * ERQ IS USED TO PLACE AN ENTRY IN THE DRIVER CIRCULAR REQUEST * QUEUE FOR *TELEX* TO PROCESS. * * ENTRY (A) = REQUEST CODE. * (RQ+1 - RQ+3) = PARAMETERS. * (TN) = TERMINAL NUMBER. * * EXIT IN UPDATED. * (A) = 0. * (RQ+1 - RQ+3) = 0. * * CALLS NONE. * * USES IN+3, IN+4, RQ - RQ+3. * * MACROS ADCRA, LDCDQ, LMCDQ. ERQ1 AOD IN+4 ADVANCE IN SHN -14 RAD IN+3 ADD OVERFLOW ERQ2 LDCDQ 2 UPDATE IN CWD IN LDN 0 EXIT ERQ WITH A=0 STD RQ+1 CLEAR REQUEST BUFFER STD RQ+2 STD RQ+3 * ERQ - ENTRY. ERQ SUBR ENTRY/EXIT ADC 2000 ADD FUNCTION BIAS STD RQ LDD IN+3 ENTER REQUEST SHN 14 ADD IN+4 ADCRA CWD RQ LMCDQ 4+VDSL NJN ERQ1 IF *IN* NOT EQUAL TO LIMIT-1 LDC 0 RESET IN = FIRST .ERQA EQU *-1 STD IN+4 SHN -14 STD IN+3 UJN ERQ2 RDC SPACE 4,10,13 ** RDC - READ VDCT TERMINAL TABLE ENTRY. * * EXIT (DC - DC+4) = VDCT TERMINAL TABLE ENTRY. * (A) = (DC) FIRST BYTE OF VDCT. * * USES DC - DC+4. * * MACRO TTADD. RDC SUBR ENTRY/EXIT TTADD VDCT CRD DC LDD DC UJN RDCX RLT SPACE 4,10 ** RLT - READ LINK TABLE. * * RLT WILL READ THE LINK TABLE. * * ENTRY (DP+1) = POT POINTER IN LINK TABLE. * * EXIT (A) = NEXT POT. * * USES T0 - T5. * * CALLS NONE. * * MACROS ADCPL. RLT SUBR ENTRY/EXIT LDD DP+1 SET BYTE NUMBER LPN 3 STD T5 LDD DP+1 READ LINK WORD SHN -2 ADCPL CRD T0 LDI T5 RETURN WITH NEXT LINK UJN RLTX RPC SPACE 4,10 ** RPC - READ PREVIOUS CHARACTER. * * ENTRY NONE. * * EXIT (A) = PREVIOUS CHARACTER. * IF PREVIOUS CHARACTER IS LOWER, * (T0 - T0+4) = DATA WORD. * (T5) = BYTE NUMBER. * (T6) = WORD NUMBER. * * USES T0 - T5. * * CALLS BUP, SWA. RPC1 LDD CH SET CHARACTER SHN -6 RPC SUBR ENTRY/EXIT RJM BUP BACK UP POINTERS LDD DP+2 CHECK CHARACTER NUMBER SHN 21 PJN RPC1 IF UPPER CHRACTER LPN 7 SET BYTE STD T5 RJM SWA SET WORD ADDRESS CRD T0 LDI T5 SET CHARACTER LPN 77 UJN RPCX RETURN SCA SPACE 4,10 ** SCA - SET CONTROL ADDRESS. * * RETURNS CONTROL WORD FROM TRANSLATION TABLE. THIS MAY * BE THE ADDRESS OF A PROCESSING ROUTINE OR THE INPUT PROMPT * CHARACTER DEFINED FOR THAT TRANSLATION TABLE. * * ENTRY (A) = CONTROL ADDRESS NUMBER. * * EXIT (A) = CONTROL WORD OR ADDRESS. * * USES T0 - T5. * * CALLS NONE. IFNE VPPT,0,1 SCA3 LDM TCTA,T5 SCA SUBR ENTRY/EXIT STD T5 SET CONTROL WORD NUMBER LDD DP+3 CHECK TRANSLATION TABLE SHN -7 IFNE VPPT,0,1 ZJN SCA3 IF NO SPECIAL TRANSLATION STD T1 PPT IFNE VPPT,0 SBN NPPT PJN SCA1 IF CM RESIDENT TABLE LDM TITA,T1 SELECT TABLE SBN TCTAL RAD T5 UJN SCA2 PPT ENDIF SCA1 LDD T5 READ CORRECT WORD SHN -2 SBN TCTAL/4 ADM TITA,T1 ADCTR CRD T0 LDD T5 SELECT CORRECT BYTE LPN 3 STD T5 SCA2 LDI T5 UJN SCAX SWA SPACE 4,10,10 ** SWA - SET WORD ADDRESS. * * SET ADDRESS OF CURRENT WORD OF CURRENT POT. * * ENTRY (DP+1) = CURRENT POT. * (DP+2) = WORD POINTER. * * EXIT (A) = CM ADDRESS OF CURRENT WORD (ABSOLUTE). * * MACRO ADCBM. SWA SUBR ENTRY/EXIT LDD DP+2 SET WORD LPC 160 SHN 21-6 LMD DP+1 SET POT POINTER SHN 3 TIMES 10B ADCBM ADD POT BUFFER ADDRESS UJN SWAX TCH SPACE 4,10,7 PPT IFNE VPPT,0 *** TCH - TRANSLATE CHARACTER. * * ENTRY (A) = INPUT OR OUTPUT POINTER. * (T1) = TRANSLATION TABLE INDEX. * (T7) = CHARACTER TO BE TRANSLATED. * * EXIT (A) = TRANSLATED CHARACTER. * * USES T0 -T4, T7. * * MACROS ADCTR. TCH1 LDD T7 READ CORRECT WORD SHN -2 ADI T2 ADCTR CRD T0 LDD T7 READ CORRECT BYTE LPN 3 STD T7 TCH2 LDI T7 * TCH - ENTRY/EXIT. TCH SUBR ENTRY/EXIT ADD T1 ADD TRANSLATION TABLE INDEX STD T2 SAVE TABLE POINTER LDD T1 CHECK TRANSLATION INDEX SBN NPPT PJN TCH1 IF CM RESIDENT TABLE LDI T2 SET TABLE ADDRESS RAD T7 ADD CHARACTER ADDRESS UJN TCH2 TRANSLATE CHARACTER PPT ELSE *** TCH - TRANSLATE CHARACTER. * * VERSION ASSEMBLED FOR NO PPU RESIDENT TRANSLATION * TABLES. * * ENTRY (A) = INPUT OR OUTPUT POINTER. * (T7) = CHARACTER TO BE TRANSLATED. * * EXIT (A) = TRANSLATED CHARACTER. * (T7) = TRANSLATED CHARACTER. * * USES T7, T0 - T4. * * MACROS ADCTR. TCH SUBR ENTRY/EXIT STD T2 SAVE TABLE POINTER LDD DP+3 ADD TRANSLATION TABLE INDEX SHN -7 RAD T2 SET CM TABLE ADDRESS POINTER LDD T7 READ CORRECT WORD SHN -2 ADI T2 ADCTR CRD T0 LDD T7 READ CORRECT BYTE LPN 3 STD T7 LDI T7 STD T7 UJN TCHX EXIT PPT ENDIF WTO SPACE 4,10 ** WTO - WAIT TIME OUT. * * ENTRY - (A) TIME DELAY IN HALF SECONDS. * * USES CH, DP+2, DP+4. * * MACROS RETURN. WTO CON 0 ENTRY STD DP+2 LDM WTO STD CH RETURN EXI3 LDD IT NJN WTO1 IF HALF SECOND LJM MGR EXIT WTO1 SOD DP+2 NJN WTO2 IF TIME NOT ELAPSED LDD CH RESET REENTRY ADDRESS STD DP+4 WTO2 LJM EXI7 TITLE DRIVER EXIT PROCESSING. MXE SPACE 4,10 ** MXE - PROCESS MULTIPLEXER ERROR. * * ENTRY (A) = FUNCTION WHICH TIMED OUT, IF ENTERED AT *MXE0*. * (CM - CM+4) = EST ENTRY. * * EXIT (IR+2) = 3/ FN, 9/ ESTORD. MXE0 STD T1 SAVE FUNCTION CODE WHICH FAILED LDD IA CRD IR SET TO RE-WRITE INPUT REGISTER LDD T1 FUNCTION CODE SHN 11 ADM TEQN,ME EST ORDINAL STD IR+2 LDD IA RE-WRITE INPUT REGISTER CWD IR MXE LDD CM CHECK EQUIPMENT STATUS SHN 21-10 PJN MXE1 IF NOT *CTS* LDM TNTD,ME ADVANCE TERMINAL NUMBER RAD TN LJM ITD2 PROCESS NEXT MULTIPLEXER MXE1 LDN 0 SET MULTIPLEXER ERROR STD ME DRP SPACE 4,10 ** DRP - PROCESS DRIVER EXIT. * * ENTRY (ME) = MULTIPLEXER ERROR STATUS. * * MACRO EXECUTE. DRP LDD MA WRITE INPUT REGISTER FOR *1RP* CWM RPPB,ON EXECUTE 1RP,= RJM RPP READ PP RESIDENT STM MSD CLEAR MASS STORAGE DRIVER DESIGNATOR FLAG STD T1 DRP1 LDM TEQN,T1 MOVE TABLES STM PPFW,T1 AOD T1 ADC TEQN-RESE MJN DRP1 IF NOT END OF PPU MEMORY EXECUTE 1TN DO POST PROCESSING TITLE RESIDENT TRANSLATION TABLE. SPACE 4,10 * LAST LOCATION OF DRIVER CODE. TCTA BSS 0 LWA DRIVER/FWA CONTROL TABLE * RESIDENT TRANSLATION TABLE ADDRESSES. TINT EQU TCTA+TCTAL INPUT TRANSLATION TOPT EQU TINT+200 OUTPUT TRANSLATION .LL BSS 1 TTY TRANS TX=(*ASCII* TERMINAL, 64 CS.),IP=7155 TRES PPU TTY SPACE 4,10 *** TTY - *ASCII* TERMINAL, 64 CHARACTER SET. * * USA STANDARD CODE FOR INFORMATION INTERCHANGE. * USAS X3.4-1968 REVISION OF X3.4-1967. * * TERMINAL IDENTIFIER = *CR*. ** INPUT CONVERSION. * * INDEXED BY *ASCII* CHARACTER VALUE. ORG INP LOC 0 00 INASC 7640,BRK NUL FIRST CHARACTER OF A BREAK 01 INASC 7641 SOH START OF HEADING 02 INASC 7642 STX START OF TEXT 03 INASC 7643,ETX ETX END OF TEXT 04 INASC 7644 EOT END OF TRANSMISSION 05 INASC 7645 ENQ ENQUIRY 06 INASC 7646 ACK ACKNOWLEDGE 07 INASC 7647 BEL BELL 08 INASC 7650,DPC BS BACKSPACE 09 INASC 7651 HT HORIZONTAL TABULATION 0A INASC 7652,NLI LF LINE FEED 0B INASC 7653 VT VERTICAL TABULATION 0C INASC 7654 FF FORM FEED 0D INASC 7655,CRT CR CARRIAGE RETURN 0E INASC 7656 SO SHIFT OUT 0F INASC 7657 SI SHIFT IN 10 INASC 7660 DLE DATA LINK ESCAPE 11 INASC 7661 DC1 DEVICE CONTROL 1 (X-ON) 12 INASC 7662 DC2 DEVICE CONTROL 2 13 INASC 7663 DC3 DEVICE CONTROL 3 (X-OFF) 14 INASC 7664 DC4 DEVICE CONTROL 4 (STOP) 15 INASC 7665 NAK NEGATIVE ACKNOWLEDGE 16 INASC 7666 SYN SYNCHRONOUS IDLE 17 INASC 7667 ETB END OF TRANSMISSION BLOCK 18 INASC 7670 CAN CANCEL 19 INASC 7671 EM END OF MEDIUM 1A INASC 7672 SUB SUBSTITUTE 1B INASC 7673,DLN ESC ESCAPE 1C INASC 7674 FS FILE SEPARATOR 1D INASC 7675 GS GROUP SEPARATOR 1E INASC 7676 RS RECORD SEPARATOR 1F INASC 7677 US UNIT SEPARATOR 20 INASC 55 SP SPACE 21 INASC 66 EX EXCLAMATION POINT 22 INASC 64 DQ DOUBLE QUOTE (DIARESIS) 23 INASC 60 NM NUMBER SIGN 24 INASC 53 DS DOLLAR SIGN 25 INASC 63 PC PERCENT 26 INASC 67 AM AMPERSAND 27 INASC 70 AP APOSTROPHE 28 INASC 51 OP OPENING PARENTHESIS 29 INASC 52 CP CLOSING PARENTHESIS 2A INASC 47 AS ASTERISK 2B INASC 45 PL PLUS 2C INASC 56 CM COMMA (CEDILLA) 2D INASC 46 MI MINUS (HYPHEN) 2E INASC 57 PD PERIOD (DECIMAL POINT) 2F INASC 50 SL SLANT 30 INASC 33 0 31 INASC 34 1 32 INASC 35 2 33 INASC 36 3 34 INASC 37 4 35 INASC 40 5 36 INASC 41 6 37 INASC 42 7 38 INASC 43 8 39 INASC 44 9 3A INASC 7400 CL COLON 3B INASC 77 SC SEMICOLON 3C INASC 72 LT LESS THAN 3D INASC 54 EQ EQUALS 3E INASC 73 GT GREATER THAN 3F INASC 71 QM QUESTION MARK 40 INASC 7401,ECI AT COMMERCIAL AT 41 INASC 01 A 42 INASC 02 B 43 INASC 03 C 44 INASC 04 D 45 INASC 05 E 46 INASC 06 F 47 INASC 07 G 48 INASC 10 H 49 INASC 11 I 4A INASC 12 J 4B INASC 13 K 4C INASC 14 L 4D INASC 15 M 4E INASC 16 N 4F INASC 17 O 50 INASC 20 P 51 INASC 21 Q 52 INASC 22 R 53 INASC 23 S 54 INASC 24 T 55 INASC 25 U 56 INASC 26 V 57 INASC 27 W 58 INASC 30 X 59 INASC 31 Y 5A INASC 32 Z 5B INASC 61 OB OPENING BRACKET 5C INASC 75 RVS REVERSE SLANT 5D INASC 62 CB CLOSING BRACKET 5E INASC 7402,ECI CF CIRCUMFLEX 5F INASC 65 UL UNDERLINE 60 INASC 7407 GV GRAVE ACCENT 61 INASC 7601 A LC 62 INASC 7602 B LC 63 INASC 7603 C LC 64 INASC 7604 D LC 65 INASC 7605 E LC 66 INASC 7606 F LC 67 INASC 7607 G LC 68 INASC 7610 H LC 69 INASC 7611 I LC 6A INASC 7612 J LC 6B INASC 7613 K LC 6C INASC 7614 L LC 6D INASC 7615 M LC 6E INASC 7616 N LC 6F INASC 7617 O LC 70 INASC 7620 P LC 71 INASC 7621 Q LC 72 INASC 7622 R LC 73 INASC 7623 S LC 74 INASC 7624 T LC 75 INASC 7625 U LC 76 INASC 7626 V LC 77 INASC 7627 W LC 78 INASC 7630 X LC 79 INASC 7631 Y LC 7A INASC 7632 Z LC 7B INASC 7633 LB LEFT BRACE 7C INASC 7634 VL VERTICAL LINE 7D INASC 7635 RB RIGHT BRACE 7E INASC 7636 TL TILDE (OVERLINE) 7F INASC 7637,NLI DEL DELETE (RUBOUT) TTY EJECT ** OUTPUT CONVERSION. * INDEXED BY DISPLAY CODE VALUE. ORG OTP LOC 0 00 OTASC 3A COLON 01 OTASC 41 A 02 OTASC 42 B 03 OTASC 43 C 04 OTASC 44 D 05 OTASC 45 E 06 OTASC 46 F 07 OTASC 47 G 10 OTASC 48 H 11 OTASC 49 I 12 OTASC 4A J 13 OTASC 4B K 14 OTASC 4C L 15 OTASC 4D M 16 OTASC 4E N 17 OTASC 4F O 20 OTASC 50 P 21 OTASC 51 Q 22 OTASC 52 R 23 OTASC 53 S 24 OTASC 54 T 25 OTASC 55 U 26 OTASC 56 V 27 OTASC 57 W 30 OTASC 58 X 31 OTASC 59 Y 32 OTASC 5A Z 33 OTASC 30 0 34 OTASC 31 1 35 OTASC 32 2 36 OTASC 33 3 37 OTASC 34 4 40 OTASC 35 5 41 OTASC 36 6 42 OTASC 37 7 43 OTASC 38 8 44 OTASC 39 9 45 OTASC 2B PL PLUS 46 OTASC 2D MI MINUS (HYPHEN) 47 OTASC 2A AS ASTERISK 50 OTASC 2F SL SLANT 51 OTASC 28 OP OPENING PARENTHESIS 52 OTASC 29 CP CLOSING PARENTHESIS 53 OTASC 24 DS DOLLAR SIGN 54 OTASC 3D EQ EQUALS 55 OTASC 20 SP SPACE 56 OTASC 2C CM COMMA (CEDILLA) 57 OTASC 2E PD PERIOD (DECIMAL POINT) 60 OTASC 23 NM NUMBER SIGN 61 OTASC 5B OB OPENING BRACKET 62 OTASC 5D CB CLOSING BRACKET 63 OTASC 25 PC PERCENT 64 OTASC 22 DQ DOUBLE QUOTE (DIARESIS) 65 OTASC 5F UL UNDERLINE 66 OTASC 21 EX EXCLAMATION POINT 67 OTASC 26 AM AMPERSAND 70 OTASC 27 AP APOSTROPHE 71 OTASC 3F QM QUESTION MARK 72 OTASC 3C LT LESS THAN 73 OTASC 3E GT GREATER THAN 74 OTASC 40 AT COMMERCIAL AT 75 OTASC 5C RVS REVERSE SLANT 76 OTASC 5E CF CIRCUMFLEX 77 OTASC 3B SC SEMICOLON * EXTENDED CHARACTER SET (ESCAPE 1). 7600 OTASC NULL 7601 OTASC 61 A LC 7602 OTASC 62 B LC 7603 OTASC 63 C LC 7604 OTASC 64 D LC 7605 OTASC 65 E LC 7606 OTASC 66 F LC 7607 OTASC 67 G LC 7610 OTASC 68 H LC 7611 OTASC 69 I LC 7612 OTASC 6A J LC 7613 OTASC 6B K LC 7614 OTASC 6C L LC 7615 OTASC 6D M LC 7616 OTASC 6E N LC 7617 OTASC 6F O LC 7620 OTASC 70 P LC 7621 OTASC 71 Q LC 7622 OTASC 72 R LC 7623 OTASC 73 S LC 7624 OTASC 74 T LC 7625 OTASC 75 U LC 7626 OTASC 76 V LC 7627 OTASC 77 W LC 7630 OTASC 78 X LC 7631 OTASC 79 Y LC 7632 OTASC 7A Z LC 7633 OTASC 7B LB LEFT BRACE 7634 OTASC 7C VL VERTICAL LINE 7635 OTASC 7D RB RIGHT BRACE 7636 OTASC 7E TL TILDE (OVERLINE) 7637 OTASC 7F DEL DELETE 7640 OTASC 00 NUL NULL (MEDIA FILL) 7641 OTASC 01 SOH START OF HEADING 7642 OTASC 02 STX START OF TEXT 7643 OTASC 03 ETX END OF TEXT 7644 OTASC 04 EOT END OF TRANSMISSION 7645 OTASC 05 ENQ ENQUIRY 7646 OTASC 06 ACK ACKOWLEDGE 7647 OTASC 07 BEL BELL 7650 OTASC 08 BS BACKSPACE 7651 OTASC 09 HT HORIZONTAL TABULATION 7652 OTASC 0A LF LINE FEED 7653 OTASC 0B VT VERTICAL TABULATION 7654 OTASC 0C FF FORM FEED 7655 OTASC ,ACR CR CARRIAGE RETURN 7656 OTASC 0E SO SHIFT OUT 7657 OTASC 0F SI SHIFT IN 7660 OTASC 10 DLE DATA LINK ESCAPE 7661 OTASC 11 DC1 DEVICE CONTROL 1 (X-ON) 7662 OTASC 12 DC2 DEVICE CONTROL 2 7663 OTASC 13 DC3 DEVICE CONTROL 3 (X-OFF) 7664 OTASC 14 DC4 DEVICE CONTROL 4 (STOP) 7665 OTASC 15 NAK NEGATIVE ACKNOWLEDGE 7666 OTASC 16 SYN SYNCHRONOUS IDLE 7667 OTASC 17 ETB END OF TRANSMISSION BLOCK 7670 OTASC 18 CAN CANCEL 7671 OTASC 19 EM END OF MEDIUM 7672 OTASC 1A SUB SUBSTITUTE 7673 OTASC 1B ESC ESCAPE 7674 OTASC 1C FS FILE SEPARATOR 7675 OTASC 1D GS GROUP SEPARATOR 7676 OTASC 1E RS RECORD SEPARATOR 7677 OTASC 1F US UNIT SEPARATOR * EXTENDED CHARACTER SET (ESCAPE 2). 7400 OTASC NULL 7401 OTASC 40 AT COMMERCIAL AT 7402 OTASC 5E CF CIRCUMFLEX 7403 OTASC NULL 7404 OTASC 3A CL COLON 7405 OTASC 11 DC1 DEVICE CONTROL 1 (X-ON) 7406 OTASC 13 DC3 DEVICE CONTROL 3 (X-OFF) 7407 OTASC 60 GV GRAVE ACCENT 7410 OTASC ,ACR CR CARRIAGE RETURN 7411 OTASC 0A LF LINE FEED 7412 OTASC ,ANL NL NEW LINE (CR/LF) COR TRANS CD=400,RD=CRD,CL=CCL,SL=CSL,WT=CWT,TX=(CORRESPONDENCE/T ,EXT, 64 CS.),IP=7155,TC=COR TRES CM COR SPACE 4,10 *** COR - CORRESPONDENCE/TEXT , 64 CHARACTER SET. * * STANDARD CORRESPONDENCE KEYBOARD. * TYPE ELEMENT 1167029 (COURIER). * CORRESPONDENCE LINE CODE. * * TERMINAL IDENTIFIER = *ATTN*. ** INPUT CONVERSION. * * INDEXED BY CORRESPONDENCE CODE CHARACTER. ORG INP LOC 0 * LOWER CASE INPUT CONVERSION. 00 INCOR 55 SP SPACE 01 INCOR 62 1/2 02 INCOR 7624 T LC 03 INCOR 7612 J LC 04 INCOR 37 4 05 INCOR 7617 O LC 06 INCOR 7614 L LC 07 INCOR 50 SL SLANT 10 INCOR 40 5 11 INCOR 70 AP APOSTROPHE 12 INCOR 7605 E LC 13 INCOR 7620 P LC 14 INCOR NULL 15 INCOR NULL 16 INCOR NULL 17 INCOR NULL 20 INCOR 35 2 21 INCOR 57 PD PERIOD 22 INCOR 7616 N LC 23 INCOR 54 EQ EQUALS 24 INCOR 7632 Z LC 25 INCOR NULL 26 INCOR NULL 27 INCOR NULL 30 INCOR 41 6 31 INCOR 7611 I LC 32 INCOR 7613 K LC 33 INCOR 7621 Q LC 34 INCOR 40,CSF UC UPPER CASE SHIFT 35 INCOR 7650,DPC BS BACKSPACE 36 INCOR 7667 EOB END OF BLOCK 37 INCOR 0,CSF LC LOWER CASE SHIFT 40 INCOR 34 1 41 INCOR 7615 M LC 42 INCOR 7630 X LC 43 INCOR 7607 G LC 44 INCOR 33 0 45 INCOR 7623 S LC 46 INCOR 7610 H LC 47 INCOR 7631 Y LC 50 INCOR 42 7 51 INCOR 7622 R LC 52 INCOR 7604 D LC 53 INCOR 77 SC SEMI-COLON 54 INCOR 7664 STO STOP CODE 55 INCOR 55,NWL NL NEW LINE 56 INCOR 7652,NLI LF LINE FEED 57 INCOR 7651 HT TAB 60 INCOR 36 3 61 INCOR 7626 V LC 62 INCOR 7625 U LC 63 INCOR 7606 F LC 64 INCOR 44 9 65 INCOR 7627 W LC 66 INCOR 7602 B LC 67 INCOR 46 MI MINUS 70 INCOR 43 8 71 INCOR 7601 A LC 72 INCOR 7603 C LC 73 INCOR 56 CM COMMA 74 INCOR 55,EOT EOT END OF TRANSMISSION 75 INCOR 7666 IL IDLE 76 INCOR 7673 PF PREFIX 77 INCOR 7670 DEL DELETE * UPPER CASE INPUT CONVERSION. 100 INCOR 55 SP SPACE 101 INCOR 61 1/4 102 INCOR 24 T 103 INCOR 12 J 104 INCOR 53 DS DOLLAR SIGN 105 INCOR 17 O 106 INCOR 14 L 107 INCOR 71 QU QUESTION 110 INCOR 63 PC PERCENT 111 INCOR 64 QT DOUBLE QUOTE (DIARESIS) 112 INCOR 05 E 113 INCOR 20 P 114 INCOR NULL 115 INCOR NULL 116 INCOR NULL 117 INCOR NULL 120 INCOR 7401,ECI AT COMMERCIAL AT 121 INCOR 57 PD PERIOD 122 INCOR 16 N 123 INCOR 45 PL PLUS 124 INCOR 32 Z 125 INCOR NULL 126 INCOR NULL 127 INCOR NULL 130 INCOR 66 CT CENT(S) 131 INCOR 11 I 132 INCOR 13 K 133 INCOR 21 Q 134 INCOR 40,CSF UC UPPER CASE SHIFT 135 INCOR 7650,DPC BS BACKSPACE 136 INCOR 7667 EOB END OF BLOCK 137 INCOR 0,CSF LC LOWER CASE SHIFT 140 INCOR 7634 +/- PLUS/MINUS 141 INCOR 15 M 142 INCOR 30 X 143 INCOR 07 G 144 INCOR 52 CP CLOSING PARENTHESIS 145 INCOR 23 S 146 INCOR 10 H 147 INCOR 31 Y 150 INCOR 67 AM AMPERSAND 151 INCOR 22 R 152 INCOR 04 D 153 INCOR 7400 CL COLON 154 INCOR 7664 STO STOP CODE 155 INCOR 55,NWL NL NEW LINE 156 INCOR 7652,NLI LF LINE FEED 157 INCOR 7651 HT TAB 160 INCOR 60 NM NUMBER 161 INCOR 26 V 162 INCOR 25 U 163 INCOR 06 F 164 INCOR 51 OP OPENING PARENTHESIS 165 INCOR 27 W 166 INCOR 02 B 167 INCOR 65 UL UNDERLINE 170 INCOR 47 AST ASTERISK 171 INCOR 01 A 172 INCOR 03 C 173 INCOR 56 CM COMMA 174 INCOR 55,EOT EOT END OF TRANSMISSION 175 INCOR 7666 NUL IDLE 176 INCOR 7673 PF PREFIX 177 INCOR 7670 DEL DELETE COR EJECT ** OUTPUT CONVERSION. * INDEXED BY DISPLAY CODE. ORG OTP LOC 0 00 OTCOR 53,UC CL COLON 01 OTCOR 71,UC A 02 OTCOR 66,UC B 03 OTCOR 72,UC C 04 OTCOR 52,UC D 05 OTCOR 12,UC E 06 OTCOR 63,UC F 07 OTCOR 43,UC G 10 OTCOR 46,UC H 11 OTCOR 31,UC I 12 OTCOR 03,UC J 13 OTCOR 32,UC K 14 OTCOR 06,UC L 15 OTCOR 41,UC M 16 OTCOR 22,UC N 17 OTCOR 05,UC O 20 OTCOR 13,UC P 21 OTCOR 33,UC Q 22 OTCOR 51,UC R 23 OTCOR 45,UC S 24 OTCOR 02,UC T 25 OTCOR 62,UC U 26 OTCOR 61,UC V 27 OTCOR 65,UC W 30 OTCOR 42,UC X 31 OTCOR 47,UC Y 32 OTCOR 24,UC Z 33 OTCOR 44,LC 0 34 OTCOR 40,LC 1 35 OTCOR 20,LC 2 36 OTCOR 60,LC 3 37 OTCOR 04,LC 4 40 OTCOR 10,LC 5 41 OTCOR 30,LC 6 42 OTCOR 50,LC 7 43 OTCOR 70,LC 8 44 OTCOR 64,LC 9 45 OTCOR 23,UC PL PLUS 46 OTCOR 67,LC MI MINUS 47 OTCOR 70,UC AS ASTERISK 50 OTCOR 07,LC SL SLANT 51 OTCOR 64,UC OP OPENING PARENTHESIS 52 OTCOR 44,UC CP CLOSING PARENTHESIS 53 OTCOR 04,UC DS DOLLAR SIGN 54 OTCOR 23,LC EQ EQUALS 55 OTCOR 00,0 SP SPACE 56 OTCOR 73,0 CM COMMA 57 OTCOR 21,0 PD PERIOD 60 OTCOR 60,UC NM NUMBER SIGN 61 OTCOR 01,UC 1/4 62 OTCOR 01,LC 1/2 63 OTCOR 10,UC PC PERCENT 64 OTCOR 11,UC DQ DOUBLE QUOTE (DIARESIS) 65 OTCOR 67,UC UL UNDERLINE 66 OTCOR 30,UC CT CENT(S) 67 OTCOR 50,UC AM AMPERSAND 70 OTCOR 11,LC AP APOSTROPHE (SINGLE QUOTE) 71 OTCOR 07,UC QU QUESTION MARK 72 OTCOR NULL 73 OTCOR NULL 74 OTCOR 20,UC AT COMMERCIAL AT 75 OTCOR NULL 76 OTCOR NULL 77 OTCOR 53,LC SC SEMICOLON * EXTENDED CHARACTER SET ( ESCAPE 1 ). 7600 OTCOR NULL 7601 OTCOR 71,LC A LC 7602 OTCOR 66,LC B LC 7603 OTCOR 72,LC C LC 7604 OTCOR 52,LC D LC 7605 OTCOR 12,LC E LC 7606 OTCOR 63,LC F LC 7607 OTCOR 43,LC G LC 7610 OTCOR 46,LC H LC 7611 OTCOR 31,LC I LC 7612 OTCOR 03,LC J LC 7613 OTCOR 32,LC K LC 7614 OTCOR 06,LC L LC 7615 OTCOR 41,LC M LC 7616 OTCOR 22,LC N LC 7617 OTCOR 05,LC O LC 7620 OTCOR 13,LC P LC 7621 OTCOR 33,LC Q LC 7622 OTCOR 51,LC R LC 7623 OTCOR 45,LC S LC 7624 OTCOR 02,LC T LC 7625 OTCOR 62,LC U LC 7626 OTCOR 61,LC V LC 7627 OTCOR 65,LC W LC 7630 OTCOR 42,LC X LC 7631 OTCOR 47,LC Y LC 7632 OTCOR 24,LC Z LC 7633 OTCOR NULL 7634 OTCOR 40,UC PM PLUS-OR-MINUS 7635 OTCOR NULL 7636 OTCOR NULL 7637 OTCOR NULL 7640 OTCOR 75,0 IL IDLE 7641 OTCOR 66,0 SOA START OF ADDRESS 7642 OTCOR 64,0 EOA END OF ADDRESS 7643 OTCOR NULL 7644 OTCOR 74,0 EOT END OF TRANSMISSION 7645 OTCOR NULL 7646 OTCOR 67,0 ACK ACKNOWLEDGE 7647 OTCOR NULL 7650 OTCOR ,CBS BS BACKSPACE 7651 OTCOR 57,0 HT HORIZONTAL TAB 7652 OTCOR 56,0 LF LINE FEED 7653 OTCOR NULL 7654 OTCOR NULL 7655 OTCOR ,CCR CR CARRIAGE RETURN (NO LINE FEED) 7656 OTCOR 34,0 UCS UPPER CASE SHIFT 7657 OTCOR 37,0 LCS LOWER CASE SHIFT 7660 OTCOR NULL 7661 OTCOR NULL 7662 OTCOR NULL 7663 OTCOR NULL 7664 OTCOR 54,0 STO STOP CODE 7665 OTCOR 01,0 NAK NEGATIVE ACKNOWLEDGE 7666 OTCOR 75,0 IL IDLE 7667 OTCOR 36,0 EOB END OF BLOCK 7670 OTCOR 77,0 DEL DELETE 7671 OTCOR NULL 7672 OTCOR NULL 7673 OTCOR 76,0 PF PREFIX 7674 OTCOR NULL 7675 OTCOR NULL 7676 OTCOR NULL 7677 OTCOR NULL * EXTENDED CHARACTER SET (ESCAPE 2). 7400 OTCOR NULL 7401 OTCOR 20,UC AT COMMERCIAL AT 7402 OTCOR NULL 7403 OTCOR ,CNL NL NEW LINE (CR/LF) 7404 OTCOR 53,UC CL COLON 7405 OTCOR NULL 7406 OTCOR NULL 7407 OTCOR NULL 7410 OTCOR ,CCR CR CARRIAGE RETURN 7411 OTCOR ,CLF LF LINE FEED 7412 OTCOR ,CNL NL NEW LINE (CR/LF) CORAPL TRANS CD=763,RD=CRD,WT=CWT,SL=CSL,CL=CCL,TX=(CORRESPONDENCE/A ,PL, 64 CS.),IP=7155,TC=COR TRES CM CORAPL SPACE 4,10,10 *** CORAPL - CORRESPONDENCE/APL, 64 CHARACTER SET. * * APL KEYBOARD. * TYPE ELEMENT 1167987. * CORRESPONDENCE LINE CODE. * * TERMINAL IDENTIFIER = *A* - *ATTN*. ** INPUT CONVERSION * INDEXED BY CORRESPONDENCE CODE CHARACTER. ORG INP LOC 0 00 INCOR 55 SP SPACE 01 INCOR 7620 IS SPECIFICATION ARROW 02 INCOR 24 T 03 INCOR 12 J 04 INCOR 37 4 05 INCOR 17 O 06 INCOR 14 L 07 INCOR 50 SL SLANT 10 INCOR 40 5 11 INCOR 62 CB CLOSE BRACKET 12 INCOR 05 E 13 INCOR 20 P 14 INCOR NULL 15 INCOR NULL 16 INCOR NULL 17 INCOR NULL 20 INCOR 35 2 21 INCOR 57 PD PERIOD 22 INCOR 16 N 23 INCOR 7606 ML MULTIPLICATION 24 INCOR 32 Z 25 INCOR NULL 26 INCOR NULL 27 INCOR NULL 30 INCOR 41 6 31 INCOR 11 I 32 INCOR 13 K 33 INCOR 21 Q 34 INCOR 40,CSF UC UPPER CASE SHIFT 35 INCOR 7650,DPC BS BACKSPACE 36 INCOR 7667 EOB END OF BLOCK 37 INCOR 0,CSF LC LOWER CASE SHIFT 40 INCOR 34 1 41 INCOR 15 M 42 INCOR 30 X 43 INCOR 07 G 44 INCOR 33 0 45 INCOR 23 S 46 INCOR 10 H 47 INCOR 31 Y 50 INCOR 42 7 51 INCOR 22 R 52 INCOR 04 D 53 INCOR 61 OB OPEN BRACKET 54 INCOR 7664 STO STOP CODE 55 INCOR 7403,NWL NL NEW LINE 56 INCOR 7652,NLI LF LINE FEED 57 INCOR 7651 HT TAB 60 INCOR 36 3 61 INCOR 26 V 62 INCOR 25 U 63 INCOR 06 F 64 INCOR 44 9 65 INCOR 27 W 66 INCOR 02 B 67 INCOR 45 PL PLUS 70 INCOR 43 8 71 INCOR 01 A 72 INCOR 03 C 73 INCOR 56 CM COMMA 74 INCOR 7644,EOT EOT END OF TRANSMISSION 75 INCOR 7666 NUL IDLE 76 INCOR PF PREFIX 77 INCOR DEL DELETE 100 INCOR 55 SP SPACE 101 INCOR 7621 GO BRANCH ARROW 102 INCOR 7624 TL TILDE 103 INCOR 7612 NL NULL OPERATOR 104 INCOR 7401,ECI LE LESS THAN OR EQUAL 105 INCOR 7617 CI CIRCLE 106 INCOR 7614 QD QUAD 107 INCOR 75 RVS REVERSE SLANT 110 INCOR 54 EQ EQUALS 111 INCOR 52 CP CLOSING PARENTHESIS 112 INCOR 7605 EP EPSILON 113 INCOR 47 AST ASTERISK 114 INCOR NULL 115 INCOR NULL 116 INCOR NULL 117 INCOR NULL 120 INCOR 7402,ECI NG NEGATION 121 INCOR 7400 CL COLON 122 INCOR 7616 RP REPRESENTATION 123 INCOR 63 DV DIVIDE 124 INCOR 7630 ID IMBED 125 INCOR NULL 126 INCOR NULL 127 INCOR NULL 130 INCOR 7634 GE GREATER THAN OR EQUAL 131 INCOR 7611 IO IOTA 132 INCOR 70 QT SINGLE QUOTE (APOSTROPHE) 133 INCOR 71 QU QUESTION 134 INCOR 40,CSF UC UPPER CASE SHIFT 135 INCOR 7650,DPC BS BACKSPACE 136 INCOR NULL 137 INCOR 0,CSF LC LOWER CASE SHIFT 140 INCOR 60 DQ DOUBLE QUOTE (DIARESIS) 141 INCOR 7615 MD MODULUS 142 INCOR 7632 IN INCLUSION (SUBSET) 143 INCOR 7607 DL DEL 144 INCOR 67 AN AND 145 INCOR 7623 MX MAXIMUM 146 INCOR 7610 DT DELTA 147 INCOR 7631 TA TAKE 150 INCOR 73 GT GREATER THAN 151 INCOR 7622 RO RHO 152 INCOR 7604 MN MINIMUM 153 INCOR 51 OP OPENING PARENTHESIS 154 INCOR 7664 STO STOP CODE 155 INCOR 7403,NWL NL NEW LINE 156 INCOR 7652,NLI LF LINE FEED 157 INCOR 7651 HT TAB 160 INCOR 72 LT LESS THAN 161 INCOR 7626 UN UNION 162 INCOR 7625 DR DROP 163 INCOR 65 UL UNDERLINE 164 INCOR 66 OR OR 165 INCOR 7627 OM OMEGA 166 INCOR 7602 EV EVALUATION 167 INCOR 46 MI MINUS 170 INCOR 64 NE NOT EQUAL 171 INCOR 53 AL ALPHA 172 INCOR 7603 IX INTERSECTION 173 INCOR 77 SC SEMICOLON 174 INCOR 55,EOT EOT END OF TRANSMISSION 175 INCOR 7666 IL IDLE 176 INCOR PF PREFIX 177 INCOR 7670 DEL DELETE CORAPL EJECT ** OUTPUT CONVERSION. * INDEXED BY DISPLAY CODE. ORG OTP LOC 0 00 OTCOR 21,UC CL COLON 01 OTCOR 71,LC A 02 OTCOR 66,LC B 03 OTCOR 72,LC C 04 OTCOR 52,LC D 05 OTCOR 12,LC E 06 OTCOR 63,LC F 07 OTCOR 43,LC G 10 OTCOR 46,LC H 11 OTCOR 31,LC I 12 OTCOR 03,LC J 13 OTCOR 32,LC K 14 OTCOR 06,LC L 15 OTCOR 41,LC M 16 OTCOR 22,LC N 17 OTCOR 05,LC O 20 OTCOR 13,LC P 21 OTCOR 33,LC Q 22 OTCOR 51,LC R 23 OTCOR 45,LC S 24 OTCOR 02,LC T 25 OTCOR 62,LC U 26 OTCOR 61,LC V 27 OTCOR 65,LC W 30 OTCOR 42,LC X 31 OTCOR 47,LC Y 32 OTCOR 24,LC Z 33 OTCOR 44,LC 0 34 OTCOR 40,LC 1 35 OTCOR 20,LC 2 36 OTCOR 60,LC 3 37 OTCOR 04,LC 4 40 OTCOR 10,LC 5 41 OTCOR 30,LC 6 42 OTCOR 50,LC 7 43 OTCOR 70,LC 8 44 OTCOR 64,LC 9 45 OTCOR 67,LC PL PLUS 46 OTCOR 67,UC MI MINUS 47 OTCOR 13,UC AST ASTERISK 50 OTCOR 07,LC SL SLANT 51 OTCOR 53,UC OP OPENING PARENTHESIS 52 OTCOR 11,UC CP CLOSING PARENTHESIS 53 OTCOR 71,UC AL ALPHA 54 OTCOR 10,UC EQ EQUALS 55 OTCOR 00,0 SP SPACE 56 OTCOR 73,LC CM COMMA 57 OTCOR 21,LC PD PERIOD 60 OTCOR 40,UC DQ DOUBLE QUOTE (DIARESIS) 61 OTCOR 53,LC OB OPEN BRACKET 62 OTCOR 11,LC CB CLOSE BRACKET 63 OTCOR 23,UC DV DIVIDE 64 OTCOR 70,UC NE NOT EQUAL 65 OTCOR 63,UC UL UNDERLINE 66 OTCOR 64,UC OR OR 67 OTCOR 44,UC AN AND 70 OTCOR 32,UC QT SINGLE QUOTE (APOSTROPHE) 71 OTCOR 33,UC QU QUESTION MARK 72 OTCOR 60,UC LT LESS THAN 73 OTCOR 50,UC GT GREATER THAN 74 OTCOR 04,UC LE LESS THAN OR EQUAL 75 OTCOR 07,UC RVS REVERSE SLANT 76 OTCOR 20,UC NG NEGATION 77 OTCOR 73,UC SC SEMICOLON * EXTENDED CHARACTER SET (ESCAPE 1). 7600 OTCOR NULL 7601 OTCOR 71,UC AL ALPHA 7602 OTCOR 66,UC EV EVALUATION 7603 OTCOR 72,UC IX INTERSECTION 7604 OTCOR 52,UC MN MINIMUM 7605 OTCOR 12,UC EP EPSILON 7606 OTCOR 23,LC ML MULTIPLICATION 7607 OTCOR 43,UC DL DEL 7610 OTCOR 46,UC DT DELTA 7611 OTCOR 31,UC IO IOTA 7612 OTCOR 03,UC NL NULL OPERATOR 7613 OTCOR NULL 7614 OTCOR 06,UC QD QUAD 7615 OTCOR 41,UC MD MODULUS 7616 OTCOR 22,UC RP REPRESENTATION 7617 OTCOR 05,UC CI CIRCLE 7620 OTCOR 01,LC IS SPECIFICATION ARROW 7621 OTCOR 01,UC GO BRANCH ARROW (GOTO) 7622 OTCOR 51,UC RO RHO 7623 OTCOR 45,UC MX MAXIMUM 7624 OTCOR 02,UC TL TILDE 7625 OTCOR 62,UC DR DROP 7626 OTCOR 61,UC UN UNION 7627 OTCOR 65,UC OM OMEGA 7630 OTCOR 24,UC ID IMBED 7631 OTCOR 47,UC TA TAKE 7632 OTCOR 42,UC IN INCLUSION (SUBSET) 7633 OTCOR NULL 7634 OTCOR 30,UC GE GREATER THAN OR EQUAL 7635 OTCOR NULL 7636 OTCOR NULL 7637 OTCOR NULL 7640 OTCOR 75,0 IL IDLE 7641 OTCOR 66,0 SOA START OF ADDRESS 7642 OTCOR 64,0 EOAL END OF ADDRESS 7643 OTCOR NULL 7644 OTCOR 74,0 EOT END OF TEXT 7645 OTCOR NULL 7646 OTCOR 67,0 ACK ACKNOWLEDGE 7647 OTCOR NULL 7650 OTCOR ,CBS BS BACKSPACE 7651 OTCOR 57,0 HT TAB 7652 OTCOR 56,0 LF LINE FEED 7653 OTCOR NULL 7654 OTCOR NULL 7655 OTCOR ,CCR CR CARRIAGE RETURN (NO LINE FEED) 7656 OTCOR 37,0 LCS LOWER CASE SHIFT 7657 OTCOR 34,0 UCS UPPER CASE SHIFT 7660 OTCOR NULL 7661 OTCOR NULL 7662 OTCOR NULL 7663 OTCOR NULL 7664 OTCOR 54,0 STO STOP CODE 7665 OTCOR 01,0 NAK NEGATIVE ACKNOWLEDGE 7666 OTCOR 75,0 IL IDLE 7667 OTCOR 36,0 EOB END OF BLOCK 7670 OTCOR 77,0 DEL DELETE 7671 OTCOR NULL 7672 OTCOR NULL 7673 OTCOR 76,0 PF PREFIX 7674 OTCOR NULL 7675 OTCOR NULL 7676 OTCOR NULL 7677 OTCOR NULL * EXTENDED CHARACTER SET (ESCAPE 2). 7400 OTCOR NULL 7401 OTCOR 04,UC LE LESS THAN OR EQUAL 7402 OTCOR 20,UC NG NEGATION 7403 OTCOR ,CNL NL NEW LINE (CR/LF) 7404 OTCOR 21,UC CL COLON 7405 OTCOR NULL 7406 OTCOR NULL 7407 OTCOR NULL 7410 OTCOR ,CCR CR CARRIAGE RETURN 7411 OTCOR ,CLF LF LINE FEED 7412 OTCOR ,CNL NL NEW LINE (CR/LF) MEMAPL TRANS CD=303,TX=(MEMOREX 1240/APL 64 CS.),IP=7155 TRES CM MEMAPL SPACE 4,10 *** MEMAPL - MEMOREX 1240/APL, 64 CHARACTER SET. * * APL KEYBOARD. * ASCII LINE CODE. * * TERMINAL IDENTIFIER = *A*. ** INPUT CONVERSION. * INDEXED BY *ASCII* CHARACTER. ORG INP LOC 0 00 INASC 7640,BRK NUL FIRST CHARACTER OF A BREAK 01 INASC 7641 SOH START OF HEADING 02 INASC 7642 STX START OF TEXT 03 INASC 7643,ETX ETX END OF TEXT 04 INASC 7644 EOT END OF TRANSMISSION 05 INASC 7645 ENQ ENQUIRY 06 INASC 7646 ACK ACKNOWLEDGE 07 INASC 7647 BEL BELL 08 INASC 7650,DPC BS BACKSPACE 09 INASC 7651 HT HORIZONTAL TAB 0A INASC 7652,NLI LF LINE FEED 0B INASC 7653 VT VERTICAL TAB 0C INASC 7654 FF FORM FEED 0D INASC 7655,CRT CR CARRIAGE RETURN 0E INASC 7656 SO SHIFT OUT 0F INASC 7657 SI SHIFT IN 10 INASC 7660 DLE DATA LINK ESCAPE 11 INASC 7661 DC1 DEVICE CONTROL 1 (X-ON) 12 INASC 7662 DC2 DEVICE CONTROL 2 13 INASC 7663 DC3 DEVICE CONTROL 3 (X-OFF) 14 INASC 7664 DC4 DEVICE CONTROL 4 (STOP) 15 INASC 7665 NAK NEGATIVE ACKNOWLEDGE 16 INASC 7666 SYN SYNCHRONOUS IDLE 17 INASC 7667 ETB END OF TRANSMISSION BLOCK 18 INASC 7670 CAN CANCEL 19 INASC 7671 EM END OF MEDIUM 1A INASC 7672 SUB SUBSTITUTE 1B INASC 7673,DLN ESC ESCAPE 1C INASC 7674 FS FILE SEPARATOR 1D INASC 7675 GS GROUP SEPARATOR 1E INASC 7676 RS RECORD SEPARATOR 1F INASC 7677 US UNIT SEPARATOR 20 INASC 55 SP SPACE 21 INASC 60 DQ DIARESIS 22 INASC 7402,ECI NG NEGATION 23 INASC 72 LT LESS THAN 24 INASC 7401,ECI LE LESS THAN OR EQUAL 25 INASC 54 EQ EQUAL 26 INASC 7634 GE GREATER THAN OR EQUAL 27 INASC 73 GT GREATER THAN 28 INASC 64 NE NOT EQUAL 29 INASC 66 OR OR 2A INASC 52 CP CLOSING PARENTHESIS 2B INASC 51 OP OPENING PARENTHESIS 2C INASC 56 CM COMMA 2D INASC 45 PL PLUS 2E INASC 57 PR PERIOD 2F INASC 50 SL SLANT 30 INASC 33 0 31 INASC 34 1 32 INASC 35 2 33 INASC 36 3 34 INASC 37 4 35 INASC 40 5 36 INASC 41 6 37 INASC 42 7 38 INASC 43 8 39 INASC 44 9 3A INASC 62 CB CLOSE BRACKET 3B INASC 61 OB OPEN BRACKET 3C INASC 77 SC SEMICOLON 3D INASC 46 MI MINUS 3E INASC 7400 CL COLON 3F INASC 75 RVS REVERSE SLANT 40 INASC 7620 IS SPECIFICATION ARROW 41 INASC 7601 AL ALPHA 42 INASC 7602 EV EVALUATION 43 INASC 7603 IX INTERSECTION 44 INASC 7604 MN MINIMUM 45 INASC 7605 EP EPSILON 46 INASC 65 UL UNDERLINE 47 INASC 7607 DL DEL 48 INASC 7610 DT DELTA 49 INASC 7611 IO IOTA 4A INASC 7612 NL NULL OPERATOR 4B INASC 70 QT SINGLE QUOTE (APOSTROPHE) 4C INASC 7614 QD QUAD 4D INASC 7615 MD MODULUS 4E INASC 7616 RP REPRESENTATION 4F INASC 7617 CI CIRCLE 50 INASC 47 AST ASTERISK 51 INASC 71 QU QUESTION 52 INASC 7622 RO RHO 53 INASC 7623 MX MAXIMUM 54 INASC 7624 TL TILDE 55 INASC 7625 DR DROP 56 INASC 7626 UN UNION 57 INASC 7627 OM OMEGA 58 INASC 7630 ID IMBED 59 INASC 7631 TA TAKE 5A INASC 7632 SB SUBSET 5B INASC 7636 RTK RIGHT TACK 5C INASC 7407 DMD DIAMOND 5D INASC 7633 LB RIGHT BRACE 5E INASC 7606 ML MULTIPLICATION 5F INASC 67 AN AND 60 INASC 7621 GO BRANCH ARROW 61 INASC 01 A 62 INASC 02 B 63 INASC 03 C 64 INASC 04 D 65 INASC 05 E 66 INASC 06 F 67 INASC 07 G 68 INASC 10 H 69 INASC 11 I 6A INASC 12 J 6B INASC 13 K 6C INASC 14 L 6D INASC 15 M 6E INASC 16 N 6F INASC 17 O 70 INASC 20 P 71 INASC 21 Q 72 INASC 22 R 73 INASC 23 S 74 INASC 24 T 75 INASC 25 U 76 INASC 26 V 77 INASC 27 W 78 INASC 30 X 79 INASC 31 Y 7A INASC 32 Z 7B INASC 7613 LTK LEFT TACK 7C INASC 53 DM DOLLAR MARK 7D INASC 7635 RB RIGHT BRACE 7E INASC 63 DV DIVISION 7F INASC 7637,NLI DEL DELETE (RUBOUT) MEMAPL EJECT ** OUTPUT CONVERSION. * INDEXED BY DISPLAY CODE VALUE. ORG OTP LOC 0 00 OTASC 3E CL COLON 01 OTASC 61 A 02 OTASC 62 B 03 OTASC 63 C 04 OTASC 64 D 05 OTASC 65 E 06 OTASC 66 F 07 OTASC 67 G 10 OTASC 68 H 11 OTASC 69 I 12 OTASC 6A J 13 OTASC 6B K 14 OTASC 6C L 15 OTASC 6D M 16 OTASC 6E N 17 OTASC 6F O 20 OTASC 70 P 21 OTASC 71 Q 22 OTASC 72 R 23 OTASC 73 S 24 OTASC 74 T 25 OTASC 75 U 26 OTASC 76 V 27 OTASC 77 W 30 OTASC 78 X 31 OTASC 79 Y 32 OTASC 7A Z 33 OTASC 30 0 34 OTASC 31 1 35 OTASC 32 2 36 OTASC 33 3 37 OTASC 34 4 40 OTASC 35 5 41 OTASC 36 6 42 OTASC 37 7 43 OTASC 38 8 44 OTASC 39 9 45 OTASC 2D PL PLUS 46 OTASC 3D MI MINUS 47 OTASC 50 AST ASTERISK 50 OTASC 2F SL SLANT 51 OTASC 2B OP OPENING PARENTHESIS 52 OTASC 2A CP CLOSING PARENTHESIS 53 OTASC 7C DM DOLLAR MARK 54 OTASC 25 EQ EQUALS 55 OTASC 20 SP SPACE 56 OTASC 2C CM COMMA 57 OTASC 2E PR PERIOD 60 OTASC 21 DQ DIARESIS 61 OTASC 3B OB OPENING BRACKET 62 OTASC 3A CB CLOSE BRACKET 63 OTASC 7E DV DIVISION 64 OTASC 28 NE NOT EQUAL 65 OTASC 46 UL UNDERLINE 66 OTASC 29 OR OR 67 OTASC 5F AN AND 70 OTASC 4B QT SINGLE QUOTE (APOSTROPHE) 71 OTASC 51 QU QUESTION 72 OTASC 23 LT LESS THAN 73 OTASC 27 GT GREATER THAN 74 OTASC 24 LE LESS THAN OR EQUAL 75 OTASC 3F RVS REVERSE SLANT 76 OTASC 22 NG NEGATION 77 OTASC 3C SC SEMICOLON * EXTENDED CHARACTER SET (ESCAPE 1). 7600 OTASC NULL 7601 OTASC 41 AL ALPHA 7602 OTASC 42 EV EVALUATION 7603 OTASC 43 IX INTERSECTION 7604 OTASC 44 MN MINIMUM 7605 OTASC 45 EP EPSILON 7606 OTASC 5E ML MULTIPLICATION 7607 OTASC 47 DL DEL 7610 OTASC 48 DT DELTA 7611 OTASC 49 IO IOTA 7612 OTASC 4A NL NULL OPERATOR 7613 OTASC 7B LTK LEFT TACK 7614 OTASC 4C QD QUAD 7615 OTASC 4D MD MODULUS 7616 OTASC 4E RP REPRESENTATION 7617 OTASC 4F CI CIRCLE 7620 OTASC 40 IS SPECIFICATION ARROW 7621 OTASC 60 GO BRANCH ARROW 7622 OTASC 52 RO RHO 7623 OTASC 53 MX MAXIMUM 7624 OTASC 54 TL TILDE 7625 OTASC 55 DR DROP 7626 OTASC 56 UN UNION 7627 OTASC 57 OM OMEGA 7630 OTASC 58 ID IMBED 7631 OTASC 59 TA TAKE 7632 OTASC 5A SB SUBSET 7633 OTASC 5D LB LEFT BRACE 7634 OTASC 26 GE GREATER THAN OR EQUAL 7635 OTASC 7D RB RIGHT BRACE 7636 OTASC 7D EQU EQUIVALENCE 7637 OTASC 7F DEL DELETE 7640 OTASC 00 NUL NULL (MEDIA FILL) 7641 OTASC 01 SOH START OF HEADING 7642 OTASC 02 STX START OF TEXT 7643 OTASC 03 ETX END OF TEXT 7644 OTASC 04 EOT END OF TRANSMISSION 7645 OTASC 05 ENQ ENQUIRY 7646 OTASC 06 ACK ACKNOWLEDGE 7647 OTASC 07 BEL BELL 7650 OTASC 08 BS BACKSPACE 7651 OTASC 09 HT HORIZONTAL TAB 7652 OTASC 0A LF LINE FEED 7653 OTASC 0B VT VERTICAL TAB 7654 OTASC 0C FF FORM FEED 7655 OTASC ,ACR CR CARRIAGE RETURN 7656 OTASC 0E SO SHIFT OUT 7657 OTASC 0F SI SHIFT IN 7660 OTASC 10 DLE DATA LINK ESCAPE 7661 OTASC 11 DC1 DEVICE CONTROL 1 ( X-ON ) 7662 OTASC 12 DC2 DEVICE CONTROL 2 7663 OTASC 13 DC3 DEVICE CONTROL 3 ( X-OFF ) 7664 OTASC 14 DC4 DEVICE CONTROL 4 ( STOP ) 7665 OTASC 15 NAK NEGATIVE ACKNOWLEDGE 7666 OTASC 16 SYN SYNCHRONOUS IDLE 7667 OTASC 17 ETB END OF TRANSMISSION BLOCK 7670 OTASC 18 CAN CANCEL 7671 OTASC 19 EM END OF MEDIUM 7672 OTASC 1A SUB SUBSTITUTE 7673 OTASC 1B ESC ESCAPE 7674 OTASC 1C FS FILE SEPARATOR 7675 OTASC 1D GS GROUP SEPARATOR 7676 OTASC 1E RS RECORD SEPARATOR 7677 OTASC 1F US UNIT SEPARATOR * EXTENDED CHARACTER SET (ESCAPE 2). 7400 OTASC NULL 7401 OTASC 24 LE LESS THAN OR EQUAL 7402 OTASC 22 NG NEGATION 7403 OTASC ,ANL NL NEW LINE (CR/LF) OTASC 3E CL COLON 7405 OTASC NULL 7406 OTASC NULL 7407 OTASC 5C DMD DIAMOND 7410 OTASC ,ACR CR CARRIAGE RETURN 7411 OTASC 0A LF LINE FEED 7412 OTASC ,ANL NL NEW LINE (CR/LF) BLKEDT TRANS CD=204,TX=(*ASCII* BLOCK EDIT TERMINAL, 64 CS.),IP=7155 TRES CM BLKEDT SPACE 4,10 *** BLKEDT - *ASCII* TERMINAL, BLOCK EDIT MODE, 64 CHAACTER SET. * * ASCII KEYBOARD. * ASCII LINE CODE. * * TEMINAL IDENTIFIER = *B* (UPPER CASE). ** INPUT CONVERSION. * * INDEXED BY *ASCII* CHARACTER VALUE. ORG INP LOC 0 00 INASC 7640 NUL FIRST CHARACTER OF A BREAK 01 INASC 7641 SOH START OF HEADING 02 INASC 7642 STX START OF TEXT 03 INASC 7643,ETX ETX END OF TEXT 04 INASC 7644,EBT EOT END OF TRANSMISSION 05 INASC 7645 ENQ ENQUIRY 06 INASC 7646 ACK ACKNOWLEDGE 07 INASC 7647 BEL BELL 10 INASC 7650 BS BACKSPACE 09 INASC 7651 HT HORIZONTAL TABULATION 0A INASC 7652,NLI LF LINE FEED 0B INASC 7653 VT VERTICAL TABULATION 0C INASC 7654 FF FORM FEED 0D INASC 7655,EOL CR CARRIAGE RETURN 0E INASC 7656 SO SHIFT OUT 0F INASC 7657 SI SHIFT IN 10 INASC 7660 DLE DATA LINK ESCAPE 11 INASC 7661 DC1 DEVICE CONTROL 1 (X-ON) 12 INASC 7662 DC2 DEVICE CONTROL 2 13 INASC 7663 DC3 DEVICE CONTROL 3 (X-OFF) 14 INASC 7664 DC4 DEVICE CONTROL 4 (STOP) 15 INASC 7665 NAK NEGATIVE ACKNOWLEDGE 16 INASC 7666 SYN SYNCHRONOUS IDLE 17 INASC 7667 ETB END OF TRANSMISSION BLOCK 18 INASC 7670 CAN CANCEL 19 INASC 7671 EM END OF MEDIUM 1A INASC 7672 SUB SUBSTITUTE 1B INASC 7673 ESC ESCAPE 1C INASC 7674 FS FILE SEPARATOR 1D INASC 7675 GS GROUP SEPARATOR 1E INASC 7676 RS RECORD SEPARATOR 1F INASC 7677 US UNIT SEPARATOR 20 INASC 55 SP SPACE 21 INASC 66 EX EXCLAMATION POINT 22 INASC 64 QU QUOTATION MARKS (DIARESIS) 23 INASC 60 NM NUMBER SIGN 24 INASC 53 DM DOLLAR MARK 25 INASC 63 PC PERCENT 26 INASC 67 AM AMPERSAND 27 INASC 70 AP APOSTROPHE 28 INASC 51 OP OPENING PARENTHESIS 29 INASC 52 CP CLOSING PARENTHESIS 2A INASC 47 AST ASTERISK 2B INASC 45 PL PLUS 2C INASC 56 CM COMMA (CEDILLA) 2D INASC 46 MI HYPHEN (MINUS) 2E INASC 57 PR PERIOD (DECIMAL POINT) 2F INASC 50 SL SLANT 30 INASC 33 0 31 INASC 34 1 32 INASC 35 2 33 INASC 36 3 34 INASC 37 4 35 INASC 40 5 36 INASC 41 6 37 INASC 42 7 38 INASC 43 8 39 INASC 44 9 3E INASC 7400 CL COLON 3B INASC 77 SC SEMICOLON 3C INASC 72 LT LESS THAN 3D INASC 54 EQ EQUALS 3E INASC 73 GT GREATER THAN 3F INASC 71 QM QUESTION MARK 40 INASC 7401,ECI AT COMMERCIAL AT 41 INASC 01 A 42 INASC 02 B 43 INASC 03 C 44 INASC 04 D 45 INASC 05 E 46 INASC 06 F 47 INASC 07 G 48 INASC 10 H 49 INASC 11 I 4A INASC 12 J 4B INASC 13 K 4C INASC 14 L 4D INASC 15 M 4E INASC 16 N 4F INASC 17 O 50 INASC 20 P 51 INASC 21 Q 52 INASC 22 R 53 INASC 23 S 54 INASC 24 T 55 INASC 25 U 56 INASC 26 V 57 INASC 27 W 58 INASC 30 X 59 INASC 31 Y 5A INASC 32 Z 5B INASC 61 OB OPENING BRACKET 5C INASC 75 RVS REVERSE SLANT 5D INASC 62 CB CLOSING BRACKET 5E INASC 7402,ECI CF CIRCUMFLEX 5F INASC 65 UL UNDERLINE 60 INASC 7407 GV GRAVE ACCENT 61 INASC 7601 A LC 62 INASC 7602 B LC 63 INASC 7603 C LC 64 INASC 7604 D LC 65 INASC 7605 E LC 66 INASC 7606 F LC 67 INASC 7607 G LC 68 INASC 7610 H LC 69 INASC 7611 I LC 6A INASC 7612 J LC 6B INASC 7613 K LC 6C INASC 7614 L LC 6D INASC 7615 M LC 6E INASC 7616 N LC 6F INASC 7617 O LC 70 INASC 7620 P LC 71 INASC 7621 Q LC 72 INASC 7622 R LC 73 INASC 7623 S LC 74 INASC 7624 T LC 75 INASC 7625 U LC 76 INASC 7626 V LC 77 INASC 7627 W LC 78 INASC 7630 X LC 79 INASC 7631 Y LC 7A INASC 7632 Z LC 7B INASC 7633 LB LEFT BRACE 7C INASC 7634 VL VERTICAL LINE 7D INASC 7635 RB RIGHT BRACE 7E INASC 7636 TL TILDE (OVERLINE) 7F INASC 7637 DEL DELETE BLKEDT EJECT ** OUTPUT CONVERSION. * INDEXED BY DISPLAY CODE VALUE. ORG OTP LOC 0 00 OTASC 3A COLON 01 OTASC 41 A 02 OTASC 42 B 03 OTASC 43 C 04 OTASC 44 D 05 OTASC 45 E 06 OTASC 46 F 07 OTASC 47 G 10 OTASC 48 H 11 OTASC 49 I 12 OTASC 4A J 13 OTASC 4B K 14 OTASC 4C L 15 OTASC 4D M 16 OTASC 4E N 17 OTASC 4F O 20 OTASC 50 P 21 OTASC 51 Q 22 OTASC 52 R 23 OTASC 53 S 24 OTASC 54 T 25 OTASC 55 U 26 OTASC 56 V 27 OTASC 57 W 30 OTASC 58 X 31 OTASC 59 Y 32 OTASC 5A Z 33 OTASC 30 0 34 OTASC 31 1 35 OTASC 32 2 36 OTASC 33 3 37 OTASC 34 4 40 OTASC 35 5 41 OTASC 36 6 42 OTASC 37 7 43 OTASC 38 8 44 OTASC 39 9 45 OTASC 2B PL PLUS 46 OTASC 2D MI HYPHEN (MINUS) 47 OTASC 2A AST ASTERISK 50 OTASC 2F SL SLANT 51 OTASC 28 OP OPENING PARENTHESIS 52 OTASC 29 CP CLOSING PARENTHESIS 53 OTASC 24 DM DOLLAR MARK 54 OTASC 3D EQ EQUALS 55 OTASC 20 SP SPACE 56 OTASC 2C CM COMMA (CEDILLA) 57 OTASC 2E PR PERIOD (DECIMAL POINT) 60 OTASC 23 NM NUMBER SIGN 61 OTASC 5B OB OPENING BRACKET 62 OTASC 5D CB CLOSING BRACKET 63 OTASC 25 PC PERCENT SIGN 64 OTASC 22 QU QUOTATION MARKS (DIARESIS) 65 OTASC 5F UL UNDERLINE 66 OTASC 21 EX EXCLAMATION POINT 67 OTASC 26 AM AMPERSAND 70 OTASC 27 AP APOSTROPHE 71 OTASC 3F QM QUESTION MARK 72 OTASC 3C LT LESS THAN 73 OTASC 3E GT GREATER THAN 74 OTASC 40 AT COMMERCIAL AT 75 OTASC 5C RVS REVERSE SLANT 76 OTASC 5E CF CIRCUMFLEX 77 OTASC 3B SC SEMICOLON * EXTENDED CHARACTER SET (ESCAPE 1). 7600 OTASC NULL 7601 OTASC 61 A LC 7602 OTASC 62 B LC 7603 OTASC 63 C LC 7604 OTASC 64 D LC 7605 OTASC 65 E LC 7606 OTASC 66 F LC 7607 OTASC 67 G LC 7610 OTASC 68 H LC 7611 OTASC 69 I LC 7612 OTASC 6A J LC 7613 OTASC 6B K LC 7614 OTASC 6C L LC 7615 OTASC 6D M LC 7616 OTASC 6E N LC 7617 OTASC 6F O LC 7620 OTASC 70 P LC 7621 OTASC 71 Q LC 7622 OTASC 72 R LC 7623 OTASC 73 S LC 7624 OTASC 74 T LC 7625 OTASC 75 U LC 7626 OTASC 76 V LC 7627 OTASC 77 W LC 7630 OTASC 78 X LC 7631 OTASC 79 Y LC 7632 OTASC 7A Z LC 7633 OTASC 7B LB LEFT BRACE 7634 OTASC 7C VL VERTICAL LINE 7635 OTASC 7D RB RIGHT BRACE 7636 OTASC 7E TL TILDE (OVERLINE) 7637 OTASC 7F DEL DELETE 7640 OTASC 00 NUL NULL (MEDIA FILL) 7641 OTASC 01 SOH START OF HEADING 7642 OTASC 02 STX START OF TEXT 7643 OTASC 03 ETX END OF TEXT 7644 OTASC 04 EOT END OF TRANSMISSION 7645 OTASC 05 ENQ ENQUIRY 7646 OTASC 06 ACK ACKOWLEDGE 7647 OTASC 07 BEL BELL 7650 OTASC 08 BS BACKSPACE 7651 OTASC 09 HT HORIZONTAL TABULATION 7652 OTASC 0A LF LINE FEED 7653 OTASC 0B VT VERTICAL TABULATION 7654 OTASC 0C FF FORM FEED 7655 OTASC ,ACR CR CARRIAGE RETURN 7656 OTASC 0E SO SHIFT OUT 7657 OTASC 0F SI SHIFT IN 7660 OTASC 10 DLE DATA LINK ESCAPE 7661 OTASC 11 DC1 DEVICE CONTROL 1 (X-ON) 7662 OTASC 12 DC2 DEVICE CONTROL 2 7663 OTASC 13 DC3 DEVICE CONTROL 3 (X-OFF) 7664 OTASC 14 DC4 DEVICE CONTROL 4 (STOP) 7665 OTASC 15 NAK NEGATIVE ACKNOWLEDGE 7666 OTASC 16 SYN SYNCHRONOUS IDLE 7667 OTASC 17 ETB END OF TRANSMISSION BLOCK 7670 OTASC 18 CAN CANCEL 7671 OTASC 19 EM END OF MEDIUM 7672 OTASC 1A SUB SUBSTITUTE 7673 OTASC 1B ESC ESCAPE 7674 OTASC 1C FS FILE SEPARATOR 7675 OTASC 1D GS GROUP SEPARATOR 7676 OTASC 1E RS RECORD SEPARATOR 7677 OTASC 1F US UNIT SEPARATOR * EXTENDED CHARACTER SET (ESCAPE 2). 7400 OTASC NULL NOT USED 7401 OTASC 40 AT COMMERCIAL AT 7402 OTASC 5E CF CIRCUMFLEX 7403 OTASC ,ANL ANL NEW LINE 7404 OTASC 3A CL COLON 7405 OTASC 11 DC1 DEVICE CONTROL 1 (X-ON) 7406 OTASC NULL 7407 OTASC 60 GV GRAVE ACCENT 7410 OTASC ,ACR CR CARRIAGE RETURN 7411 OTASC 0A LF LINE FEED 7412 OTASC ,ANL NL NEW LINE (CR/LF) SPACE 4,10 SPACE 4,10 RES HERE ERRNG IBUF-TCTA-LNPP TOO MANY PP RESIDENT TRANSLATION TABLES ERRNG MXTT-.T QUAL TNTT EQU /TRN/.T TOTAL NUMBER OF TRANSLATION TABLES LNPP EQU /TRN/LNPP NPPT EQU /TRN/NPPT QUAL PRS SPACE 4,10 * CHECK PROGRAM OVERFLOW. .L0 SET .LL-OBUFE+3 OVERLAY LENGTH (PPU WORDS) .L SET .L0/5+1 OVERLAY LENGTH (CM WORDS) .L SET .L/100+1 OVERLAY LENGTH (SECTORS) .L SET .L*500-.L0 PPU WORDS LEFT IN SECTOR QUAL * TTL 1TN/2TN - INITIALIZATION AND COMPLETION. TITLE IDENT 1TN,PRG SST .EST *COMMENT 1TN - INITIALIZATION / COMPLETION. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 * BLOCK SEQUENCE DEFINITION. USE MAIN MANF BSS 0 USE PRESET PRSF BSS 0 USE RESIDENT RESF BSS 0 QUAL INI SPACE 4,10 *** INITIALIZATION. * * * (1) RESERVE MULTIPLEXERS AND CHANNELS. * (2) WAIT FOR *IAF* INITIALIZATION TO COMPLETE. * (3) INITIALIZE DRIVER. SPACE 4,10 *** COMPLETION. * * * (1) ISSUE DRIVER MAXIMUM CYCLE TIME MESSAGE. * (2) TERMINATE *TELEX* AND STIMULATOR IF RUNNING. TITLE INITIALIZATION COMPLETION. USE MAIN INI SPACE 4,10 ** INI - INITIALIZATION. * * ENTRY (IR+1) = 6/, 1/TERMINATION FLAG, 5/. INI BSS 0 ENTRY RJM IFP INITIALIZE *COMPGFP* LDD IA READ INPUT REGISTER CRD IR LDD IR+1 CHECK CALL STATUS LPN 40 ZJN INI1 IF INITIALIZATION LJM TCP TERMINATE CONTROL POINT * INITIALIZE CONTROL POINT. INI1 STM PPFW TERMINATE EQUIPMENT DROP TABLE LDN 1 INDICATE NO MUX FAILURE STD ME RJM CET CLEAR EQUIPMENT TABLES RJM IDS INITIALIZE DRIVER STACK ADDRESS * SET CIRCULAR STACK REFERENCE ADDRESS. LDD CM+1 SET ADDRESS STM TDQA SHN 14 ADD CM+2 STM TDQA+1 * SET CM TRANSLATION TABLES REFERENCE ADDRESS. ADC VDSL+5 ADD CIRCULAR STACK LENGTH ADN TTTNL ADD ID TABLE LENGTH STM TTRA+1 SHN -14 STM TTRA * STORE TRANSLATION TABLE NAMES. LDN TTTNL SET LENGTH STD T1 LDD CM+1 SET STACK ADDRESS SHN 6 ADD RA SHN 6 ADD CM+2 ADC VDSL+5 ADD STACK LENGTH CWM INIA,T1 * SET TRANSLATION TABLES LOAD ADDRESS FOR *LCT*. STD CH+1 SHN -14 STD CH * LOAD CM RESIDENT TRANSLATION TABLES. RJM LCT LOAD CM RESIDENT TRANSLATION TABLES RJM STA SET TRANSLATION TABLE ADDRESSES LDN 40 SET INITIALIZATION COMPLETE FLAG RAD IR+1 LDD IA WRITE INPUT REGISTER CWD IR * SET POT LINK TABLE REFERENCE ADDRESS. LDD RA SET POT LINK MEMORY ADDRESSES SHN 6 ADN VPLP CRD T5 LDD T6 STM TPLA LDD T7 STM TPLA+1 * SET TERMINAL TABLES REFERENCE ADDRESS. LDD RA SET TERMINAL TABLE ADDRESSES SHN 6 ADN VTTP CRD T5 LDD T6 STM TTTA LDD T7 STM TTTA+1 * SET BUFFER MEMORY REFERENCE ADDRESS. LDD RA SET BUFFER MEMORY ADDRESS SHN 6 ADN VBMP CRD CM LDD CM+3 STM TBMA LDD CM+4 STM TBMA+1 * SET ADDRESS OF FIRST TERMINAL TABLE. INI3 LDD DP+1 FIRST TERMINAL NUMBER STD TN LDD RA READ TERMINAL TABLE POINTER SHN 6 ADN VTTP CRD CM INI4 LDN VTTL INCREMENT ADDRESS RAD CM+2 SHN -14 RAD CM+1 SOD TN DECREMENT TERMINAL COUNT NJN INI4 IF NOT ALL COUNTED LDD CM+1 SET FIRST TERMINAL ABSOLUTE ADDRESS SHN 6 ADD RA SHN 6 ADD CM+2 STD T7 SHN -14 STD T6 * PRESET TERMINAL ROUTINE ADDRESSES. LDD DP SET TERMINAL COUNT STD TN LDN ZERL CRD CM LDC /CTL/ITSA SET START ADDRESS STD CM+4 INI5 LDD T6 SHN 14 ADD T7 ADN VDPT CWD CM LDN VTTL RAD T7 SHN -14 RAD T6 SOD TN DECREMENT TERMINAL COUNT NJN INI5 LOOP TO END OF TERMINALS * INITIALIZE DRIVER DEBUG WORD. LDD RA SET DEBUG WORD SHN 6 ADN DBUG CRD CM LDN MNCT SET INITIAL MINIMUM CYCLE TIME STD CM+1 LDD RA SHN 6 ADN DBUG CWD CM LJM /PRS/PRS * INIA - TABLE OF TERMINAL NAMES. INIA BSS 0 LOC 0 VFD "TNPP""TNCM"60/0 TTTNL EQU */5 LOC *O ICP SPACE 4,10 ** IDS - INITIALIZE DRIVER STACK ADDRESS. * * ENTRY (IR+4) = DRIVER CONTROL WORD POINTER. * (IDSB) = NUMBER OF NETWORK CONNECTIONS. * (IDSC) = NUMBER OF HIGH-SPEED CONNECTIONS. * * EXIT (CM+1 - CM+2) = DRIVER STACK ADDRESS. * (DP) = NUMBER OF PORTS. * (DP+1) = FIRST PORT NUMBER. * (DP+2) = LAST PORT NUMBER + 1. * (IDSB) = NUMBER OF NETWORK TERMINALS. * (IDSC) = NUMBER OF HIGH SPEED TERMINALS. * * USES T1, T2, CM - CM+4, SI - SI+4. * * CALLS CEF, SES. * * MACROS MONITOR. IDS SUBR ENTRY/EXIT RJM CEF CHECK CPU ACTIVITY LDN ZERL CRD SI CLEAR STATUS INFORMATION RJM SES SEARCH EST FOR EQUIPMENT(S) STD DP SET NUMBER OF TERMINALS * SET DRIVER CONTROL WORD DATA. LDD RA READ DRIVER CONTROL WORD SHN 6 ADD IR+4 CRD CM LDN 1 SET REPLY INTERLOCK STD CM LDD DP SET TERMINAL COUNT STD CM+3 LDC /TRN/LNCM+TTTNL SET CM TABLES LENGTH STD CM+4 LDD RA REWRITE DRIVER CONTROL WORD SHN 6 ADD IR+4 CWD CM * SET NETWORK AND HIGH-SPEED CONNECTION COUNT IN * DRIVER CONTROL WORD TABLE TERMINATOR WORD. IDS1 ADN 1 ADVANCE TABLE ADDRESS CRD CM READ NEXT WORD OF TABLE STD T2 SAVE WORD ADDRESS SHN -14 STD T1 LDD CM CHECK FOR TABLE TERMINATOR SHN 21-13 MJN IDS2 IF TABLE TERMINATOR LDD T1 SET WORD ADDRESS SHN 14 LMD T2 UJN IDS1 LOOP FOR NEXT WORD IDS2 LDD T1 SET WORD ADDRESS SHN 14 LMD T2 CWM IDSA,ON WRITE TABLE TERMINATOR * DROP PPU IF NO TERMINALS DEFINED. LDD DP CHECK TERMINAL COUNT NJN IDS3 IF TERMINALS DEFINED MONITOR DPPM DROP PPU LJM PPR * WAIT FOR IAFEX CPU INITIALIZATION TO COMPLETE. * * IAFEX REPLY - * (VDRL) = 12/0, 24/SA, 12/ TC, 12/ FT. * SA = CIRCULAR STACK ADDRESS. * TC = TERMINAL (PORT) COUNT. * FT = FIRST TERMINAL (PORT) NUMBER. IDS3 RJM CEF CHECK CPU ERROR FLAG LDD RA CHECK IF *IAF* REPLIED YET SHN 6 ADD IR+4 SET DRIVER CONTROL WORD ADDRESS CRD CM LDD CM NJN IDS3 IF *IAF* HAS NOT REPLIED YET LDD CM+4 SET FIRST TERMINAL NUMBER STD DP+1 RAM /PRS/TTNA LPN 77 SET LAST TERMINAL NUMBER + 1 ADD DP STD DP+2 LJM IDSX RETURN IDSA VFD 12/7777 TABLE TERMINATOR VFD 12/0 UNUSED VFD 12/0 UNUSED IDSB VFD 12/0 NUMBER OF NETWORK CONNECTIONS IDSC VFD 12/0 NUMBER OF HIGH SPEED CONNECTIONS TITLE INITIALIZATION SUBROUTINES. ABT SPACE 4,10 ** ABT - ABORT JOB. * * ENTRY (A) = MESSAGE ADDRESS. * * USES CM+1. * * CALLS DFM. * * MACROS MONITOR. ABT RJM DFM ISSUE DAYFILE MESSAGE LDN PPET SET ERROR FLAG STD CM+1 MONITOR CEFM LJM DPP DROP PP CCS SPACE 4,10 ** CCS - CHECK CHANNEL STATUS. * * ENTRY (A) = 7/ ,5/ CHANNEL NUMBER. * * EXIT (A) = 0 IF CHANNEL RESERVED. * (T2) = CHANNEL NUMBER. * * USES T1, T2, T3, CM - CM+4. CCS SUBR ENTRY/EXIT LPN 37 STD T2 SET CHANNEL NUMBER MONITOR PRLM PAUSE FOR PREVIOUS CHANNEL REQUEST LDN PPCP READ PPU COMMUNICATION ADDRESS CRD CM LDD IA SET PPU NUMBER SBD CM+4 SHN -3 STD T3 LDN NCTAL CHANNEL STATUS TABLE LENGTH STD T1 LDC CHTP FWA OF CHANNEL TABLES CRD CM LDD CM+2 READ CHANNEL STATUS TABLE SHN 14 LMD CM+3 CRM CCSA,T1 LDM CCSA,T2 COMPARE CHANNEL STATUS AND PPU NUMBER LMD T3 LPN 37 UJN CCSX RETURN WITH COMPARISON STATUS CCSA BSS 5*NCTAL CHANNEL STATUS TABLE BUFFER CEF SPACE 4,10 ** CEF - CHECK ERROR FLAG. * * EXIT (CM - CM+4) = CP STATUS WORD. * * MACROS MONITOR. CEF SUBR PAUSE LDD CM+1 ZJN CEFX IF NO ERROR FLAG LJM DPP DROP PP CES SPACE 4,10 ** CES - CHECK EQUIPMENT STATUS. * * ENTRY (CH - CH+4) = EST ENTRY. CES SUBR ENTRY/EXIT LDD CH CHECK EQUIPMENT SHN 21-10 MJN CESX IF *CTS* MULTIPLEXOR, RETURN LDD CH+1 BUILD FUNCTION CODE INSTRUCTION LPN 77 LMC FANI STM CESA LPN 77 BUILD INACTIVE JUMP INSTRUCTION LMC IJMI STM CESB LPN 77 BUILD DISCONNECT INSTRUCTION LMC DCNI STM CESC LDD CH+4 BUILD FUNCTION CODE LPC 7000 ADN 3 CESA FAN. MC LDN 77 TIME OUT FUNCTION CES1 BSS 0 CESB IJM. CESX,MC IF FUNCTION ACCEPTED, RETURN SBN 1 NJN CES1 IF NOT TIMED OUT CESC DCN. MC LDC CESD LJM ABT ABORT CONTROL POINT CESD DATA C* 667X FUNCTION REJECT.* DPP SPACE 4,10,10 ** DPP - DROP PP. DPP LCN 0 WAIT FOR *1AJ* TO COMPLETE SBN 1 NJN *-1 LDD CP SET CONTROL CARD BUFFER EMPTY ADN CSPW CRD CM LDD CM+4 STD CM+3 LDD CP ADN CSPW CWD CM LJM TCP TERMINATE CONTROL POINT CET SPACE 4,10 ** CET - CLEAR EQUIPMENT TABLES. * * USES T1. CET SUBR ENTRY/EXIT LDC TEQN STD T1 CET1 LDN 0 STI T1 AOD T1 ADC -10000 MJN CET1 IF NOT END OF TABLES UJN CETX RCH SPACE 4,10 ** RCH - RELEASE CHANNEL. * * ENTRY (CH+1) = CHANNEL. * * EXIT CHANNEL INACTIVE AND DROPPED, IF PREVIOUSLY RESERVED. * * CALLS CCS. * * MACROS DCHAN. RCH SUBR ENTRY/EXIT LDD CH+1 RJM CCS CHECK CHANNEL STATUS NJN RCHX IF NOT RESERVED BY THIS PP LDD T2 ADC DCNI+40 ENSURE CHANNEL IS INACTIVE STM RCHA RCHA DCN. **+40 LDD T2 RELEASE CHANNEL RESERVATION DCHAN UJN RCHX RETURN LCT SPACE 4,10 ** LCT - LOAD CM RESIDENT TRANSLATION TABLES. * * ENTRY (CH - CH+1) = ABSOLUTE STARTING CM ADDRESS. * * EXIT (CH - CH+1) = LWA+1 OF TRANSLATION TABLES. * * USES CH, T1, T7, CM - CM+4, ZR -ZR+4. * MACROS MONITOR. LCT SUBR ENTRY/EXIT LDD IR+1 SET CONTROL POINT NUMBER LPN 37 RAM LCTC+1 LDD IA SET INPUT REGISTER ADDRESS STM LCTC+2 * EXECUTE 9J*,= TRANSLATION TABLE OVERLAYS LDC LCTD-1 SET FIRST OVERLAY NAME STD T7 LCT1 AOD T7 ADVANCE TABLE LDI T7 CHECK OVERLAY NAME ZJN LCTX RETURN IF END OF TABLE STM LCTC+4 LDC BUF SET LOAD ADDRESS STM LCTA ADN 5 STM LCTB EXECUTE 1DL,= LDD MA STORE INPUT REGISTER CWM LCTC,ON LCT2 LDN 1 SET NO DROP PP, NO QUEUE STD CM+1 MONITOR RPPM REQUEST PP LDD CM+1 ZJN LCT2 IF NO PPU AVAILABLE STD T1 SAVE PPU INPUT REGISTER ADDRESS LCT3 LDN 77 DELAY SBN 1 NJN *-1 LDD T1 CRD CM LDD CM+1 LMM LCTC+1 NJN LCT2 IF LOADER TIMED OUT LDD CM+2 LMC 7777 NJN LCT3 IF LOADER NOT READY YET STD CM+2 LDN ZERL CRD ZR CLEAR OUTPUT REGISTER LDD OA CWD ZR LDD T1 CWD CM LCT4 LDN 77 DELAY SBN 1 NJN *-1 LDD OA CHECK IF DATA READY CRD CM LDD CM+4 ZJN LCT4 IF DATA NOT READY LPN 77 SET WORD COUNT ZJN LCT5 IF NULL TRANSFER STD T1 LDD MA READ DATA CRM BUF,T1 LCTA EQU *-1 LDN 5*6 UPDATE BUFFER ADDRESS RAM LCTA LDD OA SET EMPTY FLAG CWD ZR UJN LCT4 LOOP LCT5 LDM BUF+4 SET WORD COUNT SBN 1 STD T1 PPU WORD COUNT SHN 2 RAD T1 LCT6 LDD CH STORE WORD SHN 14 ADD CH+1 CWM BUF-5,ON LCTB EQU *-1 STD CH+1 UPDATE CM ADDRESS SHN -14 STD CH LDN 4 UPDATE PPU ADDRESS RAM LCTB LCN 4 DECREMENT BUFFER COUNT RAD T1 ZJN LCT7 IF COMPLETE PJN LCT6 IF NOT COMPLETE LCT7 LJM LCT1 PROCESS NEXT TABLE LCTC VFD 18/3R1DL,6/,12/0,12/1R9,12/0 LCTD CON "ONCM" MTT SPACE 4,10,10 ** MTT - MODIFY TRANSLATION TABLES. * * MODIFY TRANSLATION TABLES TO CORRESPOND TO 63 CHARACTER * SET INSTALLATION MODE. * * THIS SUBROUTINE IS RELOCATED TO AND EXECUTED WITHIN THE * MULTIPLEXER OUTPUT BUFFER AREA. * * USES DI, DO, DP+2, DP+3, T6, T7, T0 - T4. * * CALLS RDP, SCA, TOC. * * MACROS ADCTR. MTTA EQU * LOC OBUF MTT SUBR ENTRY/EXIT LDN 0 PRESET TRANSLATION TABLE INDICES STD DP+2 STD DP+3 UJN MTT2 * PROCESS TRANSLATION TABLE. MTT1 LDC 200B ADVANCE TRANSLATION TABLE INDEX RAD DP+3 SHN -7 STD DP+2 MTT2 LMN TNTT TOTAL NUMBER OF TRANSLATION TABLES ZJN MTTX IF COMPLETE LDN 66 CHECK TABLE TYPE STD T7 RJM /WTM/TOC SHN 6 PJN MTT1 IF OLD TRANSLATION TABLE LDN 0 SET SUBSTITUTION TABLE INDEX STD DO STD DI * PRESET OUTPUT CONVERSIONS. * THE DISPLAY CODE VALUE OF THE CHARACTER TO BE SUBSTITUTED * IS TRANSLATED TO COMMUNICATIONS LINE CODE AND SET * IN TABLE *TOSV*. MTT3 LDM TOSO,DO SET SUBSTITUTION ORDINAL STD T7 LMC 7777 ZJN MTT4 IF END OF OUTPUT CONVERSION RJM /WTM/TOC TRANSLATE OUTPUT STM TOSV,DO STORE SUBSTITUTION VALUE AOD DO UJN MTT3 LOOP * PRESET INPUT CONVERSIONS. * THE CHARACTER TO BE MODIFIED IS FIRST CONVERTED TO * ITS EQUIVALENT COMMUNICATIONS LINE CODE. THIS VALUE * WILL BE USED TO DETERMINE THE CHARACTERS LOCATION * IN THE INPUT TRANSLATION TABLE, AND IS STORED IN * TABLE *TICO*. MTT4 LDM TICV,DI CURRENT INPUT CHARACTER STD T7 LMC 7777 ZJN MTT6 IF END OF INPUT CONVERSIONS RJM /WTM/TOC TRANSLATE TO LINE CODE SHN -1 CALCULATE INPUT ORDINAL STD T6 LPN 77 STD T7 LDN /CTL/RDP DETERMINE TABLE TYPE RJM SCA LMC /RDM/ARD ZJN MTT5 IF ASCII LDD T6 SET CORRESPONDENCE CASE SHN 6-11 LPC 100 ADD T7 STD T6 MTT5 LDD T6 LPC 177 STM TICO,DI SET INPUT ORDINAL AOD DI UJN MTT4 LOOP * MODIFY OUTPUT CONVERSIONS. MTT6 SOD DO DECREMENT INDEX PJN MTT7 IF NOT END OF OUTPUT CONVERSIONS LJM MTT9 ADVANCE TO INPUT CONVERSIONS MTT7 LDM TOTA,DP+2 SET TABLE BASE ADDRESS STD T7 LDD DP+2 CHECK RESIDENCE SBN NPPT PJN MTT8 IF CM RESIDENT LDM TOCO,DO SET OUTPUT ADDRESS RAD T7 LDM TOSV,DO ENTER SUBSTITUTION VALUE STI T7 UJN MTT6 LOOP TO NEXT CONVERSION MTT8 LDM TOCO,DO CALCULATE OUTPUT ADDRESS LPN 3 SET BYTE INDEX STD T6 LDM TOCO,DO SET WORD ADDRESS SHN -2 RAD T7 ADCTR READ OUTPUT WORD CRD T0 LDM TOSV,DO ENTER SUBSTITUTION VALUE STI T6 LDD T7 REWRITE WORD ADCTR CWD T0 LJM MTT6 LOOP TO NEXT CONVERSION * MODIFY INPUT CONVERSIONS. MTT9 SOD DI DECREMENT INDEX PJN MTT10 IF NOT END OF INPUT CONVERSIONS LJM MTT1 LOOP TO NEXT TRANSLATION TABLE MTT10 LDM TITA,DP+2 SET TABLE BASE ADDRESS STD T7 PT IF DEF,VAVPT LMM TOTA,DP+2 COMPARE TO OUTPUT TABLE ADDRESS ZJN MTT9 IF NO OUTPUT TABLE PT ENDIF LDD DP+2 CHECK RESIDENCE SBN NPPT PJN MTT11 IF CM RESIDENT LDM TICO,DI SET INPUT ADDRESS RAD T7 LDM TISV,DI ENTER SUBSTITUTION VALUE STI T7 UJN MTT9 LOOP TO NEXT INPUT CONVERSION MTT11 LDM TICO,DI CALCULATE INPUT ADDRESS LPN 3 SET BYTE ADDRESS STD T6 LDM TICO,DI SET WORD ADDRESS SHN -2 RAD T7 ADCTR READ INPUT WORD CRD T0 LDM TISV,DI ENTER SUBSTITUTION VALUE STI T6 LDD T7 REWRITE WORD ADCTR CWD T0 LJM MTT9 LOOP TO NEXT CONVERSION * SUBSTITUTION TABLES. THESE TABLES ARE USED TO * INDICATE THE INPUT AND OUTPUT SUBSTITUTIONS DESIRED. * THE INPUT AND OUTPUT TABLES ARE INDEPENDENT AND * CHARACTERS MODIFIED FOR INPUT NEED NOT BE MODIFIED * FOR OUTPUT AND VICE VERSA. THE TABLES ARE INDEXED * BY ORDINAL WITHIN THE TABLE AND THERE MUST BE A * ONE WORD ENTRY IN EACH TABLE OF A SET TO INDICATE * THE SUBSTITUTIONS DESIRED AND TO HOLD INTERMEDIATE * DATA CALCULATED BY *MTT*. * * OUTPUT CONVERSION TABLES. * * TOSO - TABLE OF DISPLAY CODE VALUES OF CHARACTERS * TO BE SUBSTITUTED FOR THEIR CORRESPONDING CHARACTERS * IN TABLE *TOCO* WHEN OUTPUT. TOSO BSS 0 SUBSTITUTION ORDINALS (DISPLAY CODE) DATA 0 DATA 63 DATA 7777 END OF TABLE * TOCO - TABLE OF DISPLAY CODE CHARACTERS WHICH ARE TO * BE REPLACED BY THEIR CORRESPONDING CHARACTER IN TABLE * *TOSO* WHEN OUTPUT. TOCO BSS 0 CURRENT ORDINALS (DISPLAY CODE) DATA 63 DATA 204 * TOSV - TABLE OF SUBSTITUTION VALUES (COMMUNICATIONS * LINE CODE) OF THEIR CORRESPONDING CHARACTERS IN TABLE * *TOSO*. TOSV BSS 0 SUBSTITUTION VALUES (LINE CODE) DATA 0 DATA 0 * INPUT SUBSTITUTION TABLES. * * TICV - TABLE OF CHARACTERS WHICH ARE TO BE REPLACED * BY THEIR CORRESPONDING CHARACTERS IN TABLE *TISV* * WHEN INPUT. TICV BSS 0 CURRENT VALUES (DISPLAY CODE) DATA 0 DATA 63 DATA 7777 END OF TABLE * TISV - TABLE OR CHARACTERS WHICH ARE TO BE SUBSTITUTED * FOR THEIR CORRESPONDING CHARACTERS IN TABLE *TICV* * WHEN INPUT. TISV BSS 0 SUBSTITUTION VALUES (DISPLAY CODE) DATA 63 DATA 204 * TICO - TABLE OF INPUT TRANSLATION TABLE LOCATIONS * OF THE CORRESPONDING CHARACTERS IN TABLE *TICV*. TICO BSS 0 CURRENT ORDINALS (BIASED LINE CODE) DATA 0 DATA 0 LOC *O MTTL EQU *-MTTA ERRNG 300B-MTTL MINIMUM LENGTH OF MULTIPLEXOR BUFFER PTM SPACE 4,10,10 ** PTM - PRESET TRANSLATION TABLE MODIFICATION ROUTINE. * * RELOCATES ROUTINE *MTT* TO MULTIPLEXER OUTPUT BUFFER * IF SYSTEM IS IN 63 CHARACTER SET MODE. IF SYSTEM * IS IN 64 CHARACTER SET MODE, THE CALL TO *MTT* IS * DISABLED AND CODE IS NOT RELOCATED. * * USES T7, T0 - T4. * DISABLE CALL TO *MTT* IF IN 64 CHARACTER SET MODE. PTM2 LDC /PRS/PRSC DISABLE CALL TO *MTT* STM /PRS/PRSC * PTM - ENTRY. PTM SUBR ENTRY/EXIT LDN IPRL CHECK SYSTEM MODE CRD T0 LDD T0+2 LPN 1 NJN PTM2 IF SYSTEM IN 64 CHARACTER SET MODE STD T7 INITIALIZE RELOCATION PTM1 LDM MTTA,T7 RELOCATE ROUTINE STM OBUF,T7 AOD T7 LMC MTTL NJN PTM1 IF NOT COMPLETE UJN PTMX EXIT SES SPACE 4,10 ** SES - SEARCH EST FOR EQUIPMENT. * * EXIT (A) = NUMBER OF TERMINALS TO PROCESS. * (IR+2) = STIMULATOR EST ORDINAL. * (MUXP) = MULTIPLEXER TABLE INITIALIZED. * (IDSB) = NUMBER OF NETWORK TERMINALS. * TO *ABT* IF TOO MANY PORTS. * * USES T4, T5, T6, T7, CH - CH+4, CM - CM+4, IR+2 - IR+4. * * CALLS CCS, CES, DCH, FTN, RCH. * * MACROS MONITOR, RCHAN, SFA. SES14 STM PPFW,T4 TERMINATE EQUIPMENT DROP TABLE LDN ZERL TERMINATE CM MUX TABLE CRD CM LDD RA SHN 6 ADC MUXP+VMTN ADD T4 CWD CM LDD T5 PICK UP PORT COUNT SES SUBR ENTRY/EXIT LDC VCPT*200+TFSW READ IAF EJTO CRD CM LDD CM STM SESB LDN 0 CLEAR EQUIPMENT INDEX STD T4 STD T5 CLEAR TERMINAL COUNT STD IR+2 CLEAR STIMULATOR EST ORDINAL LDN ESTP READ EST POINTER CRD T6 LDN TTEQ-1 INITIALIZE EST ORDINAL FOR SEARCH STD T6 LDD T6+2 SAVE LAST EST ORDINAL + 1 STD T7 SES1 AOD T6 INCREMENT EST ORDINAL LMD T7 ZJN SES14 IF END OF EST SFA EST,T6 ADK EQDE CRD CH READ EST ENTRY ADK EQAE-EQDE CRD CM READ EQUIPMENT ASSIGNMENT LDD CH LPN 2 NJN SES1 IF EQUIPMENT IS OFF OR DOWN LDD CH+3 LMC 2RTT NJN SES1 IF EQUIPMENT NOT *TT* LDD CM+3 SAVE UPPER ACCESS LEVEL LIMIT OF MUX LPN 7 STM SESC LDD CM+4 ZJN SES3 IF UNASSIGNED LMC ** (IAF EJT ORDINAL) SESB EQU *-1 ZJN SES5 IF ASSIGNED TO IAF SES2 UJN SES1 CONTINUE EST SEARCH SES3 LDK REQS REQUEST ACTIVE EQUIPMENT STD CM+2 LDD T6 RESERVE EQUIPMENT STD CM+1 LMN TTEQ NJN SES4 IF NOT PSEUDO EQUIPMENT LDD CH+4 NUMBER OF NETWORK TERMINALS STM IDSB UJN SES2 CONTINUE EST SEARCH SES4 MONITOR REQM LDD CM+1 ZJN SES2 IF EQUIPMENT NOT AVAILABLE SES5 LDD CH+1 RJM CCS CHECK CHANNEL STATUS ZJN SES6 IF CHANNEL RESERVED LDD T2 RESERVE CHANNEL RCHAN * CREATE MUX TABLE ENTRY. SES6 LDN ZERL CLEAR ENTRY CRD CM LDD CH+4 SET TERMINAL COUNT LPC 777 NJN SES7 IF NUMBER OF TERMINALS DEFINED IN EST LDD TH SET DEFAULT TERMINAL COUNT SES7 STM TNTD,T4 STD CM+3 LDD CH+4 LPC 7000 SHN 3 ADD CH+1 SHN 6 STD CM SET CHANNEL AND EQUIPMENT LDC * SET UPPER ACCESS LEVEL LIMIT SESC EQU *-1 STD CM+2 LDD RA SHN 6 ADC MUXP+VMTN ADD T4 CWD CM LDN 0 STD CM+4 CLEAR FOR MONITOR REQUEST LDD T6 SET EST ORDINAL FOR STIMULATOR STD IR+2 LDD IA CWD IR LDM TNTD,T4 INCREMENT AND VERIFY TOTAL PORT COUNT RAD T5 COUNT TOTAL NUMBER OF PORTS ADC -MXMX*100-1 PJN SES10 IF PORT COUNT TOO LARGE LDD T6 SET EST ORDINAL STM TEQN,T4 STM PPFW,T4 SAVE FOR *STOP* AT INITIALIZATION AOD T4 SBK MXMX+2 PJN SES10 IF TOO MANY MULPLIPLEXERS LJM SES1 PROCESS NEXT MUX * DROP ALL EQUIPMENT AND CHANNELS. SES10 LDD T6 STM TEQN,T4 SAVE LAST EQUIPMENT LDN 0 STM TEQN+1,T4 ZERO TERMINATOR WORD STD T4 SES11 LDM TEQN,T4 ZJN SES13 IF END OF TABLE STD CM+1 SFA EST READ EST ENTRY ADK EQDE CRD CH LDN 0 RELEASE ACTIVE EQUIPMENT STD CM+2 MONITOR DEQM RJM RCH RELEASE CHANNEL AOD T4 ADVANCE MUX INDEX UJN SES11 PROCESS NEXT EQUIPMENT * ABORT CONTROL POINT. SES13 STM PPFW TERMINATE EQUIPMENT DROP TABLE LDC SESA LJM ABT ABORT CONTROL POINT SESA DATA C* TOO MANY MUX PORTS.* STA SPACE 4,10,10 ** STA - SET TRANSLATION TABLE ADDRESSES. * * USES T1, T2. STA SUBR ENTRY/EXIT LDN 0 COPY RESIDENT OVERLAY NAMES STD T1 STD T2 STA1 LDM STAA,T1 STM TRTN,T1 ZJN STA2 AOD T1 UJN STA1 STA2 LDM STAB,T2 COPY TRANSLATION TABLE ADDRESSES ZJN STAX STM TITA,T2 LDM STAC,T2 STM TOTA,T2 LDM STAD,T2 STM TTTC,T2 AOD T2 UJN STA2 * THE FOLLOWING TABLES ARE GENERATED BY MICROS DEFINED * BY THE TERMINAL TRANSLATION TABLES. * STAA - TABLE OF OVERLAY NAMES. STAA CON "ONPP" * STAB - TABLE OF INPUT TRANSLATION ADDRESSES. STAB CON "IAPP""IACM" * STAC - TABLE OF OUTPUT TRANSLATION ADDRESSES. STAC CON "OAPP""OACM" * STAD - TABLE OF TERMINAL TYPE IDENTIFICATION CODES. STAD CON "TCPP""TCCM" TITLE COMPLETION. ** TCP - TERMINATE CONTROL POINT. * * ENTRY (ME) = 0 IF MULTIPLEXER ERROR. * (IR+1) = 6/, 1/TERMINATION FLAG, 5/. * (IR+2) = 3/ FN, 9/ ESTORD. * (IR+3) = STIMULATOR TERMINAL COUNT. * (IR+4) = 12/ STIMULATOR CHANNEL. * * USES T6, T7, CH - CH+4, CM - CM+4. * * CALLS CCS, C2D, DFM. * * MACROS DCHAN, MONITOR, SFA. TCP PAUSE LDN 0 CLEAR EST INDEX STD T7 * RELEASE ASSIGNED EQUIPMENT AND CHANNELS TCP1 LDM PPFW,T7 CHECK EQUIPMENT ENTRY NJN TCP1.1 IF NOT END OF TABLE LJM TCP5 CHECK MULTIPLEXER STATUS TCP1.1 STD CM+1 SFA EST READ EST ENTRY ADK EQDE CRD CH LDN 0 RELEASE ACTIVE EQUIPMENT STD CM+2 LDD CH+4 LPN 77 ZJN TCP3 IF NOT AN ENTRY FOR A STIMULATOR SBN 1 ZJN TCP2 IF *TELEX* STIMULATOR SBN 2-1 NJN TCP3 IF NOT *TRANSIM* STIMULATOR IN DIRECT MODE TCP2 LDD CH+1 DISCONNECT STIMULATOR CHANNEL LPN 37 RAM TCPA TCPA DCN. 40+0 TCP3 MONITOR DEQM DROP EQUIPMENT RJM RCH RELEASE CHANNEL AOD T7 ADVANCE MUX INDEX LJM TCP1 CHECK EQUIPMENT ENTRY * PROCESS MULTIPLEXER FAILURE. TCP5 LDD ME CHECK MULTIPLEXER STATUS ZJN TCP6 IF EQUIPMENT FAILURE LJM TCP8 * SIGNAL LOSS OF DRIVER TO EXECUTIVE. TCP6 LDD RA READ DRIVER STATUS WORD SHN 6 ADD IR+4 SET CONTROL WORD ADDRESS CRD CM LDN 1 SET DRIVER-FAILURE FLAG STD CM LDD RA REWRITE DRIVER STATUS WORD SHN 6 ADD IR+4 SET CONTROL WORD ADDRESS CWD CM * ISSUE ERROR LOG AND DAYFILE MESSAGES. LDD IR+2 CHECK FAILURE STATUS ZJN TCP7 IF NOT CHANNEL TIMEOUT ERROR SHN -3 RJM C2D CONVERT UPPER TWO DIGITS OF EST ORDINAL STM TCPE+1 LDD IR+2 CONVERT LOWER DIGIT OF EST ORDINAL LPN 7 SHN 6 ADC 2R0, STM TCPE+2 LDD IR+2 SET FUNCTION NUMBER SHN -11 RAM TCPE+4 LDC TCPE+ERLN MESSAGE TO *ERRLOG* RJM DFM LDN TCPE-TCPB MESSAGE TO *DAYFILE* TCP7 ADC TCPB EQUIPMENT FAILURE RJM DFM LDD SI+3 NJN TCP8 IF NOT FIRST PASS UJN TCP9 TCP8 LDN ZERL CONVERT DRIVER CYCLE TIME CRD CM LDD SI+3 GET MAXIMUM CYCLE TIME STD CM+4 LDD MA CWD CM MONITOR RDCM REQUEST DATA CONVERSION LDD MA SET UP MESSAGE CRM TCPC,ON LDM TCPC ZJN TCP9 IF NO TIME ACCUMLATED LDC TCPC ISSUE MESSAGE RJM DFM TCP9 LDN ZERL CONVERT REQUESTS FOR CPU CRD CM LDD SI GET NUMBER OF REQUESTS ZJN TCP10 IF NONE STD CM+4 LDD MA CWD CM MONITOR RDCM REQUEST DATA CONVERSION LDD MA CONSTRUCT MESSAGE CRM TCPD,ON LDC TCPD RJM DFM ISSUE DAYFILE MESSAGE TCP10 MONITOR DPPM DROP PP LJM PPR EXIT TO PP RESIDENT TCPB DATA C* 667X MALFUNCTION.* TCPC DATA C* SEC. 1TN CYCLE TIME.* TCPD DATA C* KILO. 1TN REQUEST CPU.* TCPE DATA C*TTXXX, FN0, FUNCTION TIMEOUT.* SPACE 4,10 ** COMMON DECKS. QUAL$ SET 1 *CALL COMSSSD EST$ EQU 1 SELECT EST PROCESSOR IFP$ EQU 1 SELECT REMOTE INITIALIZATION *CALL COMPGFP *CALL COMPRSI *CALL COMPC2D IFP HERE *COMPGFP* INITIALIZATION CODE BUF EQU PPFW CENTRAL MEMORY OVERLAY LOAD BUFFER QUAL * TITLE INITIALIZATION TABLES. USE RESIDENT *CALL COMPMRQ USE PRESET QUAL ** INITIALIZATION TABLES AND ALL PRESET BLOCK CODE AFTER * THIS POINT ARE USED AFTER THE DRIVER HAS BEEN LOADED * TO INITIALIZE THE DRIVER. ERRNG *-TCTA DRIVER CODE OVERFLOWS PRESET TABLES. TRAA BSSZ 2 ADDRESSES OF RA REFERENCES TRAA HERE CON 0 TDQA BSSZ 2 DRIVER REQUEST QUEUE TDQA HERE CON 0 TTRA BSSZ 2 ADDRESSES OF TRANSLATION TABLE REFERENCES TTRA HERE CON 0 TTTA BSSZ 2 ADDRESSES OF TERMINAL TABLE REFERENCES TTTA HERE CON 0 TPLA BSSZ 2 ADDRESSES OF POT LINK TABLE REFERENCES TPLA HERE CON 0 TBMA BSSZ 2 ADDRESSES OF BUFFER MEMORY REFERENCES TBMA HERE CON 0 CON 7777 TITLE INITIALIZATION. QUAL PRS ** SAD - SET ADDRESSES. * * ENTRY (T1) = ADDRESS OF INITIAL TABLE OF LOCATIONS * TO BE CHANGED. * * * EXIT ABSOLUTE ADDRESSES SET. * * USES T1, T2, T6, T7. * * CALLS NONE. SAD SUBR ENTRY/EXIT * SET ABSOLUTE ADDRESSES FROM TABLE. SAD1 AOD T1 INCREMENT TO ADDRESS VALUE LDI T1 SHN 6 MJN SADX IF END OF TABLES ADD RA SHN 6 ADM 1,T1 STD T7 SHN -14 STD T6 LDN 2 RAD T1 * ABSOLUTIZE INSTRUCTION ADDRESSES. SAD2 LDI T1 ZJN SAD1 IF END OF TABLE STD T2 LDD T7 SET LOWER 12 BITS RAM 1,T2 SHN -14 ADD OVERFLOW ADD T6 RAI T2 AOD T1 UJN SAD2 LOOP PRS SPACE 4,10 ** PRS - PRESET ROUTINE. * * RELOCATE ALL ADDRESSES TO ABSOLUTE. * LOAD MAIN PROCESSOR PROGRAM (2TN). * * ENTRY (DP) = NUMBER OF PORTS. * * USES CH, T1, CM - CM+4, DC - DC+4, DP - DP+4, IN - IN+4, * RQ - RQ+4, SI -SI+4, ZR -ZR+4. * * CALLS MTT, PMR, PTM, RPP. * * MACROS EXECUTE. PRS RJM PMR PRESET MONITOR REQUEST PROCESSOR RJM /INI/PTM PRESET TRANSLATION TABLE MODIFICATION LDD IA LOAD MAIN PROGRAM STM PRSD+2 STM RPPB+4 LDD MA CWM PRSD,ON SBN 1 CRD DP COPY *1DL* CALL TO DIRECT CELLS LDC OBUFE-5 STM RPPA EXECUTE 1DL,= EXECUTE 2TN,= RJM RPP LOAD *2TN* * PRESET ABSOLUTE ADDRESSES. LDC TRAA-1 SET ADDRESSES STD T1 RJM SAD LDC 0 SET FIRST TERMINAL NUMBER TTNA EQU *-1 SBN 1 RAM .TNA LDM TDQA+1 ADN 5 STM .ERQA SHN -14 ADD OVERFLOW ADM TDQA RAM .ERQA-1 LDN ZERL CRD ZR CLEAR ZERO WORD CRD RQ CLEAR STACK ENTRY WORD CRD SI CLEAR STATUS INFORMATION LDM TDQA SHN 6 ADD RA SHN 6 ADM TDQA+1 ADN 2 CRD IN * LOAD PP RESIDENT TRANSLATION TABLES. IFNE VPPT,0 IF PP RESIDENT TABLES DEFINED LDN 0 SET FIRST TRANSLATION TABLE STD CH LDN 1R9 PRESET FIRST CHARACTER OF OVERLAY NAME STD DP+3 PRS1 LDM TITA,CH SET LOAD ADDRESS SBN TCTAL+5 STM RPPA STM PRSA STM PRSB LDM TRTN,CH SET OVERLAY NAME STD DP+4 ZJN PRS2 IF END OF TABLE LDD MA SAVE WORD BEFORE OVERLAY CWM **,ON PRSA EQU *-1 SBN 1 CRD DC LDD MA STORE INPUT REGISTER CWD DP RJM RPP READ PROGRAM LDD MA RESTORE WORD BEFORE OVERLAY CWD DC CRM **,ON PRSB EQU *-1 AOD CH ADVANCE TABLE UJN PRS1 ENDIF PRS2 RJM /INI/MTT MODIFY TRANSLATION TABLES * RJM PRSC (IF MODIFICATION NOT REQUIRED) PRSC EQU *-1 * CLEAR OUTPUT BUFFER AND START DRIVER LDC OBUF SET OUTPUT BUFFER ADDRESS STD CH+1 PRS3 LDN 0 CLEAR OUTPUT BUFFERS STI CH+1 AOD CH+1 LMC OBUFE NJN PRS3 LOOP TO END OF BUFFERS STD ME PRESET MULTIPLEXER NUMBER LDD HN SET LOAD ADDRESS FOR PP RESIDENT STM RPPA LDC RTCL READ REAL TIME CLOCK CRD CM LJM AVT6 ENTER MAIN PROGRAM PRSD VFD 18/3R1DL,6/VCPT,12/0,24/3R2TN QUAL TRTN SPACE 4,10 ** TRTN - TABLE OF RESIDENT TRANSLATION TABLE NAMES. TRTN BSS NPPT+1 TITLE INITIALIZATION SUBROUTINES. ** IBUF - MULTIPLEXER INPUT BUFFER. * * OVERLAYS POINTERS USED BY PRS. IBUF EQU *-100 USE RESIDENT RPP SPACE 4,10 ** RPP - READ PPU PROGRAM. * * ENTRY LOADER CALL STORED IN MESSAGE BUFFER. * * EXIT (A) = 0. * * USES T1 - T7, CM - CM+4. * * CALLS MRQ. RPP SUBR ENTRY/EXIT RPP1 LDN 1 SET NO DROP PP, NO QUEUE STD CM+1 LDK RPPM REQUEST PP RJM MRQ RPP2 LDN 77 DELAY SBN 1 NJN *-1 LDD OA CRD CM LDD CM NJN RPP2 IF REQUEST NOT PROCESSED LDD CM+1 ZJN RPP1 IF NO PPU AVAILABLE STD T1 SAVE PPU INPUT REGISTER ADDRESS RPP3 LDN 77 DELAY SBN 1 NJN *-1 LDD T1 CRD CM LDD CM+1 LMM RPPB+1 LPN 37 NJN RPP1 IF LOADER TIMED OUT LDD CM+2 LMC 7777 NJN RPP3 IF LOADER NOT READY YET * LDN 0 SIGNAL LOADER THAT *1TN* IS READY RPP3.1 STD CM+2 LDN ZERL CRD T3 CLEAR OUTPUT REGISTER LDD OA CWD T3 LDD T1 CWD CM RPP4 LDD T1 CHECK *1DL* OUTPUT REGISTER ADN 1 CRD CM LDD CM LMN DSWM ZJN RPP3 IF *1DL* PAUSING LMN DSWM&PRLM ZJN RPP3 IF *1DL* PAUSING LDD T1 CHECK *1DL* INPUT REGISTER CRD CM LDD CM+2 LMC 7777 CHECK FOR TRANSFER RESYNCHRONIZATION ZJN RPP3.1 IF TRANSFER RESYNCHRONIZED LDN 77 DELAY SBN 1 NJN *-1 IF NOT DONE DELAYING LDD OA CHECK IF DATA READY CRD CM LDD CM+4 ZJN RPP4 IF DATA NOT READY LPN 77 SET WORD COUNT ZJN RPP5 IF NULL TRANSFER STD T2 LDD MA READ DATA CRM TCTA,T2 RPPA EQU *-1 LDD T2 UPDATE BUFFER ADDRESS SHN 2 ADD T2 RAM RPPA LDD OA SET EMPTY FLAG CWD T3 UJP RPP4 LOOP RPP5 LJM RPPX RETURN * *1RP* REQUEST SET UP IN PRESET. RPPB VFD 18/3R1RP,6/VCPT,12/0,12/0,12/0 ** TEQN - TABLE OF EST ORDINALS. * * ENTRY 1 WORD. * * MULTIPLEXER EST ORDINAL. TEQN BSS MXMX+2 ** TNTD - TABLE OF NUMBER OF TERMINALS PER DEVICE. * * ENTRY 1 WORD. * * NUMBER OF TERMINALS FOR MULTIPLEXER. TNTD BSS MXMX+1 ** TTTC - TABLE OF TERMINAL TYPE IDENTIFICATION CODES. TTTC BSS TNTT ** TITA - TABLE OF INPUT TRANSLATION TABLE ADDRESSES. TITA BSS TNTT ** TOTA - TABLE OF OUTPUT TRANSLATION TABLE ADDRESSES. TOTA BSS 0 TITLE ESTABLISH *1TN* PROGRAM LOAD PARAMETERS. ** ESTABLISH *1TN* LOAD ADDRESS. * CALCULATE LABELED BLOCK LENGTHS. USE RESIDENT RESE BSS 0 END OF *RESIDENT* BLOCK RESL EQU RESE-RESF LENGTH OF *RESIDENT* USE MAIN MANE BSS 0 END OF *MAIN* BLOCK MANL EQU MANE-MANF LENGTH OF *MAIN* USE PRESET PRSE BSS 0 END OF *PRESET* BLOCK PRSL EQU PRSE-PRSF LENGTH OF *PRESET* * CALCULATE LOAD PARAMETERS. .1 SET RESL+MANL+PRSL .5 MAX TNTT,5 SET TABLE ALLOWANCE .2 SET .1+5+4+2 LENGTH + HEADER + SHORT PRU + EXR CALL .3 SET .2/500+1 NUMBER OF SECTORS REQUIRED .2 SET .1+5 OVERLAY LENGTH PLUS HEADER WORD .3 SET .3*500-5 WORDS TO LOAD LESS SHORT PRU ALLOWANCE * SET OVERLAY ORIGIN. ORG 7776-.3+5-.5 SET *1TN* LOAD ADDRESS PRG BSSZ .3-.2 FORCE BLOCKS UPPER * CALCULATE AVAILABLE CORE IN PPU. IFNE VPPT,0 IF PP RESIDENT TRANSLATION TABLES AVBL SET IBUF-TCTA-LNPP AVAILABLE CORE FOR CODE. ELSE IF NO PP RESIDENT TRANSLATION TABLES AVBL SET TRAA-TCTA AVAILABLE CORE FOR CODE ENDIF TTL 1TN - LOW SPEED INTERACTIVE TERMINAL DRIVER. SPACE 4,10 END