cdc:nos2.source:opl871:1tn
Table of Contents
1TN
Table Of Contents
- [00007] 1TN - LOW SPEED INTERACTIVE TERMINAL DRIVER.
- [00009] LOW SPEED INTERACTIVE TERMINAL DRIVER.
- [00100] MACRO DEFINITIONS.
- [00103] ADCM - GENERATE ADD CONSTANT MACRO.
- [00140] ASCO - GENERATE MULTIPLEXER OUTPUT FOR *ASCII* CODE.
- [00154] CORO - GENERATE MULTIPLEXER OUTPUT FOR CORRESPONDENCE CODE.
- [00168] PAR - GENERATE CHARACTER PARITY BIT.
- [00183] TTADD - GENERATE TERMINAL TABLE ADDRESS.
- [00206] RETURN - RETURN TO MANAGER TO ADVANCE TERMINAL PROCESSING.
- [00236] TRANSLATION TABLE MACROS.
- [00263] TRANS - GENERATE TRANSLATION TABLE OVERLAY.
- [00430] TRES - DEFINE TRANSLATION TABLE RESIDENCY.
- [00460] INASC - GENERATE *ASCII* INPUT TRANSLATION.
- [00483] OTASC - GENERATE *ASCII* OUTPUT TRANSLATION.
- [00501] INCOR - GENERATE CORRESPONDENCE CODE INPUT TRANSLATION.
- [00524] OTCOR - GENERATE CORRESPONDENCE CODE OUTPUT TRANSLATION.
- [00543] OTNIX - GENERATE NIXDORF CODE OUTPUT TRANSLATION
- [00559] SYMBOLIC EQUIVALENCES.
- [00678] MAIN PROGRAM.
- [00682] AVT - ADVANCE TIME.
- [00751] ITD - MAIN PROGRAM.
- [00805] STM - PROCESS STIMULATOR.
- [00844] TCHS - MUX CHANNEL TABLE.
- [00854] TERMINAL MANAGER.
- [00856] MGR - TERMINAL MANAGER.
- [00864] EXI - RE-ENTRANT ROUTINE RETURNS.
- [00906] MGR - TERMINAL MANAGER.
- [00957] CIS - CHECK INTERRUPT STATUS.
- [00999] INT - PROCESS INTERRUPT.
- [01049] CTO - CHECK TIME OUT.
- [01136] DIN - PROCESS USER DIALED IN.
- [01156] HUP - HANG UP PHONE.
- [01199] OFL - PROCESS USER OFF LINE.
- [01241] RWC - READ/WRITE CONTROL.
- [01293] LOGIN PROCESSING.
- [01295] DTT - DETERMINE TERMINAL TYPE.
- [01381] LIN - PROCESS LOGIN.
- [01414] RAB - REQUEST ANSWERBACK.
- [01461] *TELEX* FUNCTION REQUEST PROCESSING.
- [01463] TFR - PROCESS *TELEX* FUNCTION REQUEST.
- [01492] TTFR - TABLE OF TELEX FUNCTION REQUESTS.
- [01513] BGI - BEGIN INPUT.
- [01540] CFD - CLEAR *FULL DUPLEX* FLAG.
- [01548] IIP - ISSUE INPUT PROMPT.
- [01588] LGI - PROCESS USER LOGIN.
- [01607] SCE - SET/CLEAR EXTENDED MODE.
- [01619] SNM - SET NORMAL MODES.
- [01627] SEP - SET EVEN PARITY.
- [01637] SOP - SET *ODD PARITY* FLAG.
- [01646] SFD - SET *FULL DUPLEX* FLAG.
- [01655] STT - SET TERMINAL TYPE.
- [01675] READ MODE - MAIN PROCESSING ROUTINES.
- [01678] RDM - READ MODE.
- [01746] BRD - BINARY READ.
- [01814] CRD - CORRESPONDENCE TERMINAL READ.
- [01864] ARD - *ASCII* TERMINAL READ.
- [01885] RTC - READ TERMINAL CHARACTER.
- [01925] ESC - PROCESS ESCAPE CODES.
- [01943] CES - CHECK ESCAPE STATUS.
- [01973] TRSP - TABLE OF SPECIAL READ CHARACTER PROCESSORS.
- [01998] CRT - PROCESS CARRIAGE RETURN.
- [02021] EIL - END OF INPUT LINE.
- [02085] CLI - PROCESS COMMAND LINE INPUT.
- [02102] SLI - SOURCE LINE INPUT.
- [02126] READ MODE - SPECIAL CHARACTER PROCESSORS.
- [02128] ACL - END OF COMMAND LINE.
- [02148] ASL - END OF SOURCE LINE.
- [02161] BRK - PROCESS BREAK.
- [02218] CCL - END OF COMMAND LINE.
- [02229] CSF - PROCESS CASE SHIFT.
- [02240] CSL - END OF SOURCE LINE.
- [02252] DLN - PROCESS DELETE LINE.
- [02264] DPC - DELETE PRECEEDING CHARACTER.
- [02323] EBT - END OF BLOCK MODE TRANSMISSION.
- [02351] ECI - ESCAPE CHARACTER INPUT.
- [02372] EOL - BLOCK MODE END-OF-LINE.
- [02382] EOT - END OF TRANSMISSION.
- [02395] ETX - END OF TEXT.
- [02422] NLI - PROCESS NULL INPUT.
- [02441] NWL - NEW LINE.
- [02454] READ MODE - SUBROUTINES.
- [02456] ITM - ISSUE TERMINAL MESSAGE.
- [02539] DLO - PROCESS LOST DATA.
- [02549] NIP - NO INPUT POT AVAILABLE.
- [02562] TIC - TRANSLATE INPUT CHARACTER.
- [02597] WIC - WRITE INPUT CHARACTER.
- [02720] WRITE MODE - MAIN PROCESSOR.
- [02723] WTM - WRITE MODE.
- [02758] BWT - BINARY WRITE.
- [02807] CWT - CORRESPONDENCE CODE TERMINAL WRITE.
- [02844] AWT - *ASCII* TERMINAL WRITE.
- [02852] WTC - WRITE TERMINAL CHARACTER.
- [03017] TECP - TABLE OF ESCAPE CONTROL PROCESSORS.
- [03032] TWSP - TABLE OF SPECIAL WRITE PROCESSORS.
- [03050] WRITE MODE - SUBROUTINES.
- [03052] ROC - READ OUTPUT CHARACTER.
- [03144] SOC - SET OUTPUT CONTROL.
- [03202] TSOC - TABLE OF OUTPUT CONTROL BYTE PROCESSORS.
- [03227] SRC - SEND REPEATED CHARACTER.
- [03254] TOC - TRANSLATE OUTPUT CHARACTER.
- [03288] WRITE MODE - CONTROL BYTE PROCESSORS.
- [03682] CKL - CHECK LIST STATUS.
- [03696] CLT - CHECK FOR LINE TERMINATION.
- [03785] MDS - MOVE DATA WORD TO START OF POT.
- [03809] RSW - RESTORE WORD.
- [03832] WRITE MODE - SPECIAL CHARACTER PROCESSORS.
- [03981] UTILITY SUBROUTINES.
- [03983] BUP - BACK UP POINTERS.
- [04031] CEM - CLEAR EXTENDED TRANSMISSION MODE.
- [04053] CSM - CHECK IF SCREEN MANAGEMENT INTERFACE.
- [04065] CUT - CLEAN UP TERMINAL TABLE.
- [04089] ERQ - ENTER CIRCULAR REQUEST QUEUE.
- [04138] RDC - READ VDCT TERMINAL TABLE ENTRY.
- [04154] RLT - READ LINK TABLE.
- [04180] RPC - READ PREVIOUS CHARACTER.
- [04211] SCA - SET CONTROL ADDRESS.
- [04257] SWA - SET WORD ADDRESS.
- [04352] WTO - WAIT TIME OUT.
- [04375] DRIVER EXIT PROCESSING.
- [04377] MXE - PROCESS MULTIPLEXER ERROR.
- [04406] DRP - PROCESS DRIVER EXIT.
- [04426] RESIDENT TRANSLATION TABLE.
- [06117] INITIALIZATION COMPLETION.
- [06122] INI - INITIALIZATION.
- [06287] IDS - INITIALIZE DRIVER STACK ADDRESS.
- [06388] INITIALIZATION SUBROUTINES.
- [06390] ABT - ABORT JOB.
- [06407] CCS - CHECK CHANNEL STATUS.
- [06442] CEF - CHECK ERROR FLAG.
- [06455] CES - CHECK EQUIPMENT STATUS.
- [06489] DPP - DROP PP.
- [06504] CET - CLEAR EQUIPMENT TABLES.
- [06519] RCH - RELEASE CHANNEL.
- [06542] LCT - LOAD CM RESIDENT TRANSLATION TABLES.
- [06641] MTT - MODIFY TRANSLATION TABLES.
- [06866] PTM - PRESET TRANSLATION TABLE MODIFICATION ROUTINE.
- [06897] SES - SEARCH EST FOR EQUIPMENT.
- [07052] STA - SET TRANSLATION TABLE ADDRESSES.
- [07095] COMPLETION.
- [07096] TCP - TERMINATE CONTROL POINT.
- [07238] INITIALIZATION TABLES.
- [07276] INITIALIZATION.
- [07278] SAD - SET ADDRESSES.
- [07321] PRS - PRESET ROUTINE.
- [07433] TRTN - TABLE OF RESIDENT TRANSLATION TABLE NAMES.
- [07436] INITIALIZATION SUBROUTINES.
- [07439] IBUF - MULTIPLEXER INPUT BUFFER.
- [07449] RPP - READ PPU PROGRAM.
- [07536] TEQN - TABLE OF EST ORDINALS.
- [07546] TNTD - TABLE OF NUMBER OF TERMINALS PER DEVICE.
- [07556] TTTC - TABLE OF TERMINAL TYPE IDENTIFICATION CODES.
- [07562] TITA - TABLE OF INPUT TRANSLATION TABLE ADDRESSES.
- [07568] TOTA - TABLE OF OUTPUT TRANSLATION TABLE ADDRESSES.
- [07572] ESTABLISH *1TN* PROGRAM LOAD PARAMETERS.
Source Code
- 1TN.txt
- 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
cdc/nos2.source/opl871/1tn.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator