User Tools

Site Tools


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
  1. IDENT 2TN,OBUFE
  2. PERIPH
  3. BASE MIXED
  4. SST .EST
  5. *COMMENT 1TN - INTERACTIVE TERMINAL DRIVER.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE 1TN - LOW SPEED INTERACTIVE TERMINAL DRIVER.
  8. SPACE 4,10
  9. *** 1TN - LOW SPEED INTERACTIVE TERMINAL DRIVER.
  10. * M. H. DILATUSH 73/07/31.
  11. * P. D. FARRELL 74/10/15.
  12. SPACE 4,10
  13. *** *1TN* PERFORMS COMMUNICATION BETWEEN *IAF* AND *1TS*, THE PP
  14. * DRIVER USED BY *STIMULA*. IT IS DESIGNED TO PROCESS A MAXIMUM
  15. * OF 512 TERMINALS AT 10 CHARACTERS/SECOND, WITH A MAXIMUM SPEED
  16. * OF 30 CHARACTERS/SECOND. ALTHOUGH HIGHER SPEEDS CAN BE
  17. * SPECIFIED VIA *STIMULA*, RESULTS ARE ONLY GUARANTEED IN THE
  18. * RANGE SPECIFIED. COMMUNICATIONS BETWEEN *1TN* AND *IAF* ARE
  19. * ACCOMPLISHED BY A CIRCULAR REQUEST QUEUE MAINTAINED IN *IAF*-S
  20. * FIELD LENGTH. *1TN* INSERTS A REQUEST INTO THE QUEUE AND
  21. * *IAF* REMOVES THE REQUEST WHEN IT HAS BEEN PROCESSED.
  22. SPACE 4,10
  23. *** TERMINAL CONTROL OPERATIONS.
  24. *
  25. * 1. TO DELETE AN ENTIRE LINE, ENTER THE *ESC* CHARACTER.
  26. *
  27. * 2. TO DELETE A CHARACTER, ENTER THE *BACKSPACE* CHARACTER.
  28. *
  29. * 3. TO INTERRUPT OUTPUT, ENTER *I* DURING OUTPUT. AFTER THE
  30. * *INTERRUPTED* MESSAGE, OUTPUT MAY BE RESUMED BY ENTERING
  31. * *CR*, DISCARDED AND THE PROGRAM RESTARTED BY ENTERING *P*,
  32. * OR THE PROGRAM MAY BE ABORTED BY ENTERING ANYTHING ELSE.
  33. *
  34. * 4. TO TERMINATE OUTPUT, ENTER *S* WHILE OUTPUT IS ACTIVE.
  35. SPACE 4,10
  36. LIST X
  37. *CALL COMSTDR
  38. LIST *
  39. SPACE 4,10
  40. *** DAYFILE MESSAGES.
  41. *
  42. * * X.XXX SEC. 1TN CYCLE TIME.* = WORST CASE MAIN LOOP TIME.
  43. *
  44. * * 667X MALFUNCTION.* = A NON-TIMEOUT ERROR OCCURRED.
  45. *
  46. * * X.XXX KILO. 1TN REQUEST CPU.* = NUMBER OF TIMES *1TN*
  47. * ISSUED *RCLM* (BECAUSE THE CIRCULAR REQUEST STACK HAD BECOME
  48. * HALF FULL).
  49. *
  50. * *TTXXX, FNY, FUNCTION TIMEOUT.* = CHANNEL REMAINED ACTIVE FOR
  51. * MORE THAN FOUR MAJOR CYCLES AFTER FUNCTION Y WAS ISSUED.
  52. *
  53. * * TOO MANY MUX PORTS.* = SELF EXPLANATORY.
  54. SPACE 4,10
  55. *** ERRLOG MESSAGES.
  56. *
  57. * *TTXXX, FNY, FUNCTION TIMEOUT.* = CHANNEL REMAINED ACTIVE FOR
  58. * MORE THAN FOUR MAJOR CYCLES AFTER FUNCTION Y WAS ISSUED.
  59. SPACE 4,10
  60. ** DEFINE BLOCK ORDER.
  61.  
  62.  
  63. QUAL CTL CONTROL
  64. QUAL RDM READ MODE
  65. QUAL WTM WRITE MODE
  66. QUAL TRN TRANSLATION
  67. QUAL
  68. SPACE 4,10
  69. ** COMMON DECKS.
  70.  
  71.  
  72. *CALL COMPMAC
  73. *CALL COMSACC
  74. *CALL COMSCPS
  75. *CALL COMSPIM
  76. *CALL COMSPRD
  77. *CALL COMSREM
  78. *CALL COMSSCD
  79. *CALL COMPCHI
  80. *CALL COMSTCM
  81. PT IF DEF,VAVPT
  82. ERR POLLED TERMINAL SUPPORT DELETED.
  83. SPACE 4
  84. *** POLLED TERMINAL PROCESSING.
  85. *
  86. * SUPPORT OF POLLED (I.E. NIXDORF) TERMINALS HAS BEEN
  87. * REMOVED WITH THIS RELEASE OF THE MULTIPLEXER DRIVER.
  88. *
  89. * REFER TO PRIOR DRIVER RELEASES THROUGH LEVEL 460 FOR
  90. * LISTINGS OF POLLED TERMINAL SUPPORT CODE.
  91. *
  92. * THE USER WHO WISHES TO INSTALL POLLED TERMINAL PRO-
  93. * CESSING DERIVED FROM A PRIOR VERSION OF THE DRIVER
  94. * SHOULD NOTE THAT THE ASSEMBLY VARIABLE *VAVPT* WHICH
  95. * ORIGINALLY TOGGLES THE ASSEMBLY OF THE POLLING PORTION
  96. * OF THE DRIVER REDUCES THE NUMBER OF MULTIPLEXERS
  97. * SUPPORTED (AS DEFINED BY SET VARIABLE *MXMX* IN COMMON
  98. * DECK *COMSREM*) FROM EIGHT TO FOUR.
  99. PT ENDIF
  100. TITLE MACRO DEFINITIONS.
  101. ADCBM SPACE 4,10
  102. ADCM SPACE 4,10
  103. ** ADCM - GENERATE ADD CONSTANT MACRO.
  104. *
  105. * ADCM OPC,TBL
  106. * ENTRY *OPC* = MACRO NAME TO BE GENERATED.
  107. * *TBL* = TABLE NAME OF ADDRESSES OF MACRO CALLS.
  108.  
  109.  
  110. ADCM MACRO OPC,TBL,INST
  111. OPC MACRO CNST
  112. LOCAL A
  113. QUAL
  114. IFC EQ,$INST$$
  115. A ADC CNST
  116. ELSE 1
  117. A INST CNST
  118. ENDIF
  119. QUAL *
  120. TBL RMT
  121. CON A
  122. TBL RMT
  123. ENDM
  124. ADCM ENDM
  125.  
  126.  
  127. * DEFINE MACROS.
  128.  
  129.  
  130. ADCM ADCRA,TRAA
  131. ADCM LDCRA,TRAA,LDC
  132. ADCM ADCTR,TTRA
  133. ADCM ADCPT,TPTA
  134. ADCM ADCPL,TPLA
  135. ADCM LDCDQ,TDQA,LDC
  136. ADCM LMCDQ,TDQA,LMC
  137. ADCM ADCBM,TBMA
  138. ADCM LDCTN,TTNA,LDC
  139. ASCO SPACE 4,10
  140. ** ASCO - GENERATE MULTIPLEXER OUTPUT FOR *ASCII* CODE.
  141. *
  142. *
  143. *NAME ASCO CH,EQU
  144. * ENTRY *NAME* = NAME FOR ASSIGNMENT OF CODE.
  145. * *CH* = *ASCII* CHARACTER VALUE IN HEXIDECIMAL.
  146. * *EQU* = ASSIGNMENT PSEUDO OP.
  147.  
  148.  
  149. MACRO ASCO,A,C,D
  150. PAR 0#_C,0
  151. A D 4000+2*0#_C+.1
  152. ENDM
  153. CORO SPACE 4,10
  154. ** CORO - GENERATE MULTIPLEXER OUTPUT FOR CORRESPONDENCE CODE.
  155. *
  156. *
  157. *NAME CORO CH,EQU
  158. * ENTRY *NAME* = NAME FOR ASSIGNMENT OF CODE.
  159. * *CH* = CORRESPONDENCE CODE IN OCTAL.
  160. * *EQU* = ASSIGNMENT PSEUDO OP.
  161.  
  162.  
  163. MACRO CORO,A,C,D
  164. PAR C_B,1
  165. A D 4000+.1*200+C*2+1
  166. ENDM
  167. PAR SPACE 4,10
  168. ** PAR - GENERATE CHARACTER PARITY BIT.
  169. *
  170. *
  171. * PAR CH,OE
  172. * ENTRY *CH* = CHARACTER VALUE.
  173. * *OE* = ODD/EVEN (0=EVEN, 1=ODD)
  174. * EXIT *.1* = PARITY.
  175.  
  176.  
  177. PAR MACRO A,B
  178. P MICRO A+1,1, 011010011001011010010110011010011001011001101001011010011
  179. ,00101101001011001101001011010011001011001101001100101101001011001101001
  180. .1 SET "P"&;B
  181. ENDM
  182. TTADD SPACE 4,10
  183. ** TTADD - GENERATE TERMINAL TABLE ADDRESS.
  184. *
  185. *
  186. *TAG TTADD NAM,OPR,TNUM
  187. *
  188. * ENTRY *NAM* = DESIRED WORD OF TERMINAL TABLE ENTRY.
  189. * *OPR* = OPERAND TO LOAD A. (IF NULL *LDD*)
  190. * *TNUM* = TAG NAME OF TERMINAL NUMBER. (IF NULL *TN*)
  191. *
  192. * EXIT (A) = DESIRED ADDRESS.
  193.  
  194.  
  195. MACRO TTADD,TAG,NAM,OPR,TNUM
  196. LOCAL A
  197. TAG TTAP OPR,TNUM
  198. QUAL
  199. A ADC NAM
  200. QUAL *
  201. TTTA RMT
  202. CON A
  203. TTTA RMT
  204. ENDM
  205. RETURN SPACE 4,10
  206. ** RETURN - RETURN TO MANAGER TO ADVANCE TERMINAL PROCESSING.
  207. *
  208. *
  209. * RETURN EXIT,ADDR
  210. *
  211. * ENTRY *EXIT* = MANAGER EXIT NUMBER.
  212. * *ADDR* = MANAGER RETURN ADDRESS.
  213. * IF *ADDR* IS NULL, RETURN TO NEXT PROGRAM ADDRESS.
  214.  
  215.  
  216. PURGMAC RETURN
  217.  
  218. RETURN MACRO N,A
  219. AA IFC EQ,*A**
  220. RJM N_.
  221. AA ELSE
  222. LDC A
  223. QUAL
  224. NOREF ._N
  225. BB IF DEF,._N
  226. BB IFLT *-._N,36B
  227. UJN ._N
  228. ._N SET *-1
  229. BB ELSE
  230. LJM N
  231. ._N SET *-2
  232. BB ENDIF
  233. QUAL *
  234. AA ENDIF
  235. ENDM
  236. TITLE TRANSLATION TABLE MACROS.
  237. TRANS SPACE 4,10
  238. *** TRANSLATION TABLES.
  239. *
  240. *
  241. * TRANSLATION TABLES ARE PROVIDED FOR A NUMBER OF DIFFERENT
  242. * TERMINALS. THE TABLES MAY RESIDE IN EITHER PPU OR CENTRAL
  243. * MEMORY. AN INSTALLATION MAY ELECT TO CHANGE THE RESIDENCY
  244. * OF A TABLE OR TO DELETE IT ENTIRELY. THE FOLLOWING MACROS
  245. * CONTROL THE ASSEMBLY AND LOADING OF THE TABLES.
  246. * A CM RESIDENT TABLE WILL REQUIRE A LONGER SERVICE TIME
  247. * FOR THE ASSOCIATED TERMINAL, AND THIS RESIDENCY SHOULD
  248. * NOT BE USED FOR TERMINALS WHICH ARE COMMONLY CONNECTED.
  249. * THE SHORTEST SERVICE TIME WILL BE FOR THE FIRST
  250. * DEFINED PPU RESIDENT TRANSLATION TABLE.
  251. SPACE 4,10,10
  252. ** ASSEMBLY VARIABLE *VPPT*.
  253. *
  254. * THIS ASSEMBLY VARIABLE CONTROLS THE ASSEMBLY OF
  255. * TRANSLATION TABLE PROCESSING SUBROUTINES. IF
  256. * THERE ARE TO BE NO PPU RESIDENT TRANSLATION
  257. * TABLES ASSEMBLED, IT MUST BE SET TO ZERO, OTHER-
  258. * WISE IT MUST BE SET NON ZERO.
  259.  
  260.  
  261. VPPT SET 1
  262. TRANS SPACE 4,10
  263. ** TRANS - GENERATE TRANSLATION TABLE OVERLAY.
  264. *
  265. *
  266. * NAM TRANS CD,RD,CL,SL,WT,IL,OL,ET,TX,IP,TC
  267. *
  268. * ENTRY *NAM* = TRANSLATION TABLE NAME.
  269. *
  270. * PARAMETERS IN ADDRESS FIELD ARE EQUIVALENCED.
  271. * UNSPECIFIED PARAMETERS DEFAULT TO *ASCII* TERMINAL.
  272. *
  273. * *NAM = TERMINAL TYPE NAME FOR USE IN *TERM* COMMAND.*
  274. * *CD = CODE FOR DETERMINATION OF TERMINAL TYPE*
  275. * *RD = NAME OF READ ROUTINE*
  276. * *CL = NAME OF COMMAND LINE INPUT ROUTINE*
  277. * *SL = NAME OF SOURCE LINE INPUT ROUTINE*
  278. * *WT = NAME OF WRITE ROUTINE*
  279. * *IL = LENGTH OF INPUT TRANSLATION TABLE*
  280. * *OL = LENGTH OF OUTPUT TRANSLATION TABLE*
  281. * *ET = EQUIVALENCED TABLE NAME.*
  282. * *TX = TEXT OF SUBTITLE*
  283. * *IP = DISPLAY CODE INPUT PROMPT CHARACTER.*
  284. * *TC = TRANSMISSION CODE FOR TABLE IDENTIFICATION.*
  285. * *ASC* = ASCII (DEFAULT).
  286. * *COR* = CORRESPONDENCE.
  287.  
  288.  
  289. * TRANSMISSION CODE TYPES.
  290.  
  291. ASC EQU 0 ASCII
  292. COR EQU 1 CORRESPONDENCE
  293. NIX EQU 2 NIXDORF
  294.  
  295. QUAL TRN
  296.  
  297. * TRANSLATION TABLE ASSEMBLY VARIABLES.
  298.  
  299. CDTT MICRO 1,, TERMINAL TYPE IDENTIFICATION CODES
  300. RSTT SET 0 RESIDENCY CONTROL
  301. .N SET 0 OVERLAY NAME COUNTER
  302. .T SET 0 TRANSLATION TABLE COUNTER
  303.  
  304. * PPU RESIDENT ASSEMBLY VARIABLES.
  305.  
  306. IAPP MICRO 1,, INPUT TRANSLATION TABLE ADDRESSES
  307. OAPP MICRO 1,, OUTPUT TRANSLATION TABLE ADDRESSES
  308. ONPP MICRO 1,, OVERLAY NAMES
  309. TCPP MICRO 1,, TERMINAL CODES
  310. TNPP MICRO 1,, TERMINAL NAMES
  311. LNPP SET 0 LENGTH OF PP RESIDENT TRANSLATION TABLES
  312. NPPT SET 0 NUMBER OF PP RESIDENT TRANSLATION TABLES
  313.  
  314. * CM RESIDENT ASSEMBLY VARIABLES.
  315.  
  316. IACM MICRO 1,, INPUT TRANSLATION TABLE ADDRESSES
  317. OACM MICRO 1,, OUTPUT TRANSLATION TABLE ADDRESSES
  318. ONCM MICRO 1,, OVERLAY NAMES
  319. LNCM MICRO 1,, LENGTH OF CM TRANSLATION TABLES
  320. TCCM MICRO 1,, TERMINAL CODES
  321. TNCM MICRO 1,, TERMINAL NAMES
  322. LNCM SET 0 LENGTH OF CM TRANSLATION TABLES
  323.  
  324. NOREF NPPT,RSTT,.N,.T
  325.  
  326. MACROE TRANS,NAM,CD,RD,CL,SL,WT,IL,OL,ET,TX,IP,TC
  327. RES HERE
  328. QUAL TRN
  329.  
  330. * GENERATE OVERLAY NAME CHARACTER.
  331.  
  332. .N MICRO .N+1,1 NOPQRSTUVWXYZ0123456789
  333. .N MICRO 1,, J".N"
  334. .N SET .N+1
  335.  
  336. * GENERATE OVERLAY DATA.
  337.  
  338. TTL 1TN/9".N" - LOW SPEED INTERACTIVE TERMINAL DRIVER.
  339. NAM TITLE TX
  340. BSS 0
  341. .1 IFC EQ,*ET**
  342. IDENT 9".N",0 TX
  343. *COMMENT 1TN - TX
  344. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  345. ORG 0
  346.  
  347. * SET CONTROL WORD TABLE.
  348.  
  349. QUAL RDM
  350. ORG /CTL/RDP
  351. CON RD ARD
  352. ORG /CTL/ECL
  353. CON CL ACL
  354. ORG /CTL/ESL
  355. CON SL ASL
  356. QUAL WTM
  357. ORG /CTL/WTP
  358. CON WT AWT
  359. ORG /CTL/IPC
  360. DATA IP 7555
  361. QUAL TRN
  362. BSS TCTAL-*
  363. .1 ENDIF
  364. RES RMT
  365. *
  366. * DEFINE TRANSLATION TABLES.
  367. *
  368. .1 IFC EQ,*ET**
  369. INP BSS 0
  370. BSS IL 200
  371. OTP SET *
  372. BSS OL 220
  373. QUAL NAM
  374. IFEQ /TRN/RSTT,1,3
  375. IA EQU /TRN/LNPP+/TRN/INP+TCTA
  376. OA EQU /TRN/LNPP+/TRN/OTP+TCTA
  377. ONPP MICRO 1,, "ONPP"2R".N",
  378. IFEQ /TRN/RSTT,2,3
  379. IA EQU /TRN/LNCM+/TRN/INP/4
  380. OA EQU /TRN/LNCM+/TRN/OTP/4
  381. ONCM MICRO 1,, "ONCM"2R".N",
  382. RSTT SET /TRN/RSTT
  383. .1 ELSE
  384. QUAL NAM
  385. IA EQU /ET/IA
  386. OA EQU /ET/OA
  387. RSTT SET /ET/RSTT
  388. QUAL TRN
  389. RSTT SET /ET/RSTT
  390. QUAL NAM
  391. .1 ENDIF
  392. LN BSS 0
  393. QUAL TRN
  394. *
  395. * SET TABLE ADDRESSES.
  396. *
  397. IFEQ RSTT,1
  398. IAPP MICRO 1,, "IAPP"/NAM/IA,
  399. OAPP MICRO 1,, "OAPP"/NAM/OA,
  400. TCPP MICRO 1,, "TCPP"CD,
  401. TNPP MICRO 1,, "TNPP"42/0L_NAM,18/TC,
  402. IFC EQ,$ET$$,1
  403. LNPP SET LNPP+/NAM/LN
  404. NPPT SET NPPT+1
  405. .T SET .T+1
  406. ENDIF
  407. *
  408. * PROCESS CM RESIDENT TRANSLATION TABLES.
  409. *
  410. IFEQ RSTT,2
  411. QUAL NAM
  412. CM SET LN+4
  413. CM SET CM/5*5
  414. CM SET CM+3
  415. CM SET CM/4
  416. QUAL TRN
  417. IACM MICRO 1,, "IACM"/NAM/IA,
  418. LNCM MICRO 1,, "LNCM"/NAM/CM,
  419. OACM MICRO 1,, "OACM"/NAM/OA,
  420. TCCM MICRO 1,, "TCCM"CD,
  421. TNCM MICRO 1,, "TNCM"42/0L_NAM,18/TC,
  422. IFC EQ,$ET$$,1
  423. LNCM SET LNCM+/NAM/CM
  424. .T SET .T+1
  425. ENDIF
  426. RSTT SET 0
  427. RES RMT
  428. ENDM
  429. TRES SPACE 4,10
  430. ** TRES - DEFINE TRANSLATION TABLE RESIDENCY.
  431. *
  432. *
  433. * TRES RES
  434. *
  435. * ENTRY *RES* = RESIDENCY TYPE.
  436. * *CM* = CENTRAL MEMORY.
  437. * *PPU* = PP RESIDENT.
  438. * BLANK TABLE NOT DEFINED.
  439.  
  440.  
  441. TRES MACRO A
  442. RSTT SET 0
  443. IFC EQ,*A*PPU*,1
  444. RSTT SET 1
  445. IFC EQ,*A*CM*,1
  446. RSTT SET 2
  447. RES HERE
  448. ENDM
  449. SPACE 4,10
  450. ** SYMBOL EQUIVALENCES FOR TRANSLATION MACROS.
  451.  
  452.  
  453. .1 SET 0
  454. .2 SET 0
  455. .3 SET 0
  456. UC EQU 3 UPPER CASE
  457. LC EQU 1 LOWER CASE
  458. NOREF .1,.2,.3,,UC,LC
  459. INASC SPACE 4,10
  460. ** INASC - GENERATE *ASCII* INPUT TRANSLATION.
  461. *
  462. *
  463. *CH INASC DPC,PROC
  464. *
  465. * ENTRY *CH* = *ASCII* CHARACTER VALUE IN HEXIDECIMAL.
  466. * *DPC* = DISPLAY CODE VALUE.
  467. * *PROC* = SPECIAL PROCESSOR CODE.
  468.  
  469.  
  470. MACRO INASC,A,C,D
  471. IFC NE,*C**
  472. .2 SET D
  473. .3 SET C/100
  474. IFNE .3,0,2
  475. .2 SET D CES
  476. .3 SET .3/2-74/2
  477. VFD 5/.2,1/.3,6/C-C/100*100
  478. ELSE 2
  479. .2 SET D NLI
  480. VFD 5/.2,7/0
  481. ENDM
  482. OTASC SPACE 4,10
  483. ** OTASC - GENERATE *ASCII* OUTPUT TRANSLATION.
  484. *
  485. *
  486. *DPC OTASC CH,PROC
  487. *
  488. * ENTRY *CH* = *ASCII* CHARACTER VALUE IN HEXIDECIMAL.
  489. * *DPC* = DISPLAY CODE VALUE.
  490. * *PROC* = SPECIAL PROCESSOR CODE.
  491.  
  492.  
  493. MACRO OTASC,A,C,D
  494. IFC NE,*C**
  495. .2 ASCO C,SET
  496. CON .2
  497. ELSE 1
  498. CON D NLO
  499. ENDM
  500. INCOR SPACE 4,10
  501. ** INCOR - GENERATE CORRESPONDENCE CODE INPUT TRANSLATION.
  502. *
  503. *
  504. *CH INCOR DPC,PROC
  505. *
  506. * ENTRY *CH* = CORRESPONDENCE CHARACTER VALUE IN OCTAL.
  507. * *DPC* = DISPLAY CODE VALUE.
  508. * *PROC* = SPECIAL PROCESSOR CODE.
  509.  
  510.  
  511. MACRO INCOR,A,C,D
  512. IFC NE,*C**
  513. .2 SET D
  514. .3 SET C/100
  515. IFNE .3,0,2
  516. .2 SET D CES
  517. .3 SET .3/2-74/2
  518. VFD 5/.2,1/.3,6/C-C/100*100
  519. ELSE 2
  520. .2 SET D NLI
  521. VFD 5/.2,7/0
  522. ENDM
  523. OTCOR SPACE 4,10
  524. ** OTCOR - GENERATE CORRESPONDENCE CODE OUTPUT TRANSLATION.
  525. *
  526. *
  527. *DPC OTCOR CH,PROC
  528. * ENTRY *CH* = CORRESPONDENCE CHARACTER VALUE IN OCTAL.
  529. * *DPC* = DISPLAY CODE VALUE.
  530. * *PROC* = SPECIAL PROCESSOR CODE.
  531.  
  532.  
  533. MACRO OTCOR,A,C,D
  534. IFC NE,*C**
  535. .2 CORO C,SET
  536. .3 SET D 1
  537. CON .2+1000*.3
  538. ELSE 1
  539. CON D NLO
  540. ENDM
  541. PT IF DEF,VAVPT
  542. OTNIX SPACE 4,10,5
  543. ** OTNIX - GENERATE NIXDORF CODE OUTPUT TRANSLATION
  544. *
  545. * OTNIX DC
  546. *
  547. * ENTRY - *DC* = DISPLAY CODE CHARACTER VALUE IN OCTAL.
  548.  
  549.  
  550. OTNIX MACRO A
  551. NOREF .2
  552. .2 SET A_B
  553. PAR .2,1
  554. CON 4200+.2*2+.1
  555. ENDM
  556. PT ENDIF
  557. SPACE 4,10
  558. QUAL
  559. TITLE SYMBOLIC EQUIVALENCES.
  560. SPACE 4,10
  561. **** DIRECT LOCATION ASSIGNMENTS.
  562.  
  563.  
  564.  
  565. DP EQU 20 - 24 TERMINAL TABLE WORD *VDPT*
  566. CH EQU 25 - 31 TERMINAL TABLE WORD *VCHT*
  567. DC EQU 32 - 36 TERMINAL TABLE WORD *VDCT*
  568.  
  569. ME EQU 37 CURRENT MULTIPLEXER NUMBER
  570.  
  571. ZR EQU 40 - 44 ZERO WORD
  572. IN EQU 42 - 46 CIRCULAR QUEUE INPUT ADDRESS
  573. SM EQU 47 SIMULATOR MODE FLAG
  574.  
  575. RQ EQU 50 - 54 TELEX REQUEST WORD
  576. TN EQU 54 CURRENT TERMINAL NUMBER
  577. DI EQU 55 DATA IN POINTER
  578. DO EQU 56 DATA OUT POINTER
  579. * EQU 57
  580.  
  581. SI EQU 60 - 64 STATUS INFORMATION STORED IN (MA)
  582. * EQU 60 COUNT OF MONITOR REQUESTS
  583. MS EQU 61 MILLISECOND CLOCK
  584. IT EQU 62 INTERVAL TIMER (SET TO 1 EACH HALF SECOND)
  585. * EQU 63 MAXIMUM CYCLE TIME
  586. * EQU 64 CURRENT CYCLE TIME
  587. * EQU 65 UNUSED
  588. * EQU 66 UNUSED
  589. * EQU 67 UNUSED
  590.  
  591.  
  592.  
  593.  
  594. ** TIME OUT LIMITS.
  595. *
  596. * THESE VALUES MUST NOT EXCEED 3777B. THE LIMIT IS STORED IN
  597. * THE DATA OUTPUT WORD FOR THE TERMINAL AND THE PRESENCE OF
  598. * BIT 13 INDICATES TO THE MULTIPLEXER THAT THE BYTE IS A
  599. * VALID DATA CHARACTER.
  600. *
  601. * THE UNITS ARE .5 SECONDS.
  602.  
  603.  
  604. ATIO EQU 7 ANSWERBACK TIME OUT
  605. UTIO EQU 2*60D*2 USER NUMBER TIME OUT
  606. NTIO EQU 10D*60D*2 NORMAL TIME OUT
  607.  
  608.  
  609.  
  610.  
  611. ** PROGRAM EQUIVALENCES.
  612.  
  613.  
  614. MC EQU 15 MULTIPLEXER CHANNEL
  615.  
  616. MXTT EQU 37 MAXIMUM NUMBER OF TRANSLATION TABLES
  617. MNCT EQU 15D MINIMUM CYCLE TIME
  618. MXIC EQU 150D MAXIMUM INPUT CHARACTERS/LINE
  619. MXTC EQU 2000D MAXIMUM TRANSACTION CHARACTERS/LINE
  620. OBUF EQU 100 FIRST OUTPUT BUFFER
  621. .OBUF MAX 300B,OBUF+100*MXMX
  622. OBUFE EQU .OBUF
  623. TCTAL EQU 10 LENGTH OF TRANSLATION TABLE CONTROL TABLE
  624. ERRNG MXTC-MXIC MXTC MUST ALWAYS BE GREATER THAN MXIC
  625. SPACE 4,10
  626. ** CHARACTER EQUIVALENCES.
  627.  
  628.  
  629. * INTERNAL CODES.
  630.  
  631. .ICR EQU 210 CARRIAGE RETURN
  632. .ILF EQU 211 LINE FEED
  633. .INL EQU 212 NEW LINE (CR/LF)
  634. .ISTR EQU 205 START TAPE READER
  635. .IISI EQU 4042 INITIATE STIMULATOR INPUT
  636. .IISE EQU 4050 HANG UP STIMULATOR PHONE
  637. .ECP EQU 770001 END OF CURRENT POT
  638.  
  639. * CARRIAGE CONTROL MICROS.
  640.  
  641. CR MICRO 1,, @H CARRIAGE RETURN
  642. LF MICRO 1,, @I LINE FEED
  643. NL MICRO 1,, @J NEW LINE (CR/LF)
  644.  
  645. * *ASCII* TERMINAL CONTROL CHARACTERS.
  646.  
  647. .ANUL ASCO 00,EQU (NUL) NULL
  648. .AENQ ASCO 05,EQU (ENQ) ENQUIRY (REQUEST ANSWER BACK)
  649. .ALF ASCO 0A,EQU (LF) LINE FEED
  650. .ACR ASCO 0D,EQU (CR) CARRIAGE RETURN
  651. .ADC1 ASCO 11,EQU (DC1) DEVICE CONTROL 1
  652. .ADEL ASCO 7F,EQU (DEL) DELETE
  653.  
  654. * CORRESPONDENCE CODE TERMINAL CONTROL CHARACTERS.
  655.  
  656. .CUC CORO 34,EQU (UC) UPPER CASE SHIFT
  657. .CBS CORO 35,EQU (BS) BACKSPACE
  658. .CLC CORO 37,EQU (LC) LOWER CASE SHIFT
  659. .CNL CORO 55,EQU (NL) NEW LINE
  660. .CLF CORO 56,EQU (LF) LINE FEED
  661. .CEOA CORO 64,EQU (EOA) END OF ADDRESS
  662. .CEOT CORO 74,EQU (EOT) END OF TRANSMISSION
  663. .CIL CORO 75,EQU (IL) IDLE
  664. ****
  665. SPACE 4,10
  666. ** TERMINAL TABLE CONTROL WORD LOCATIONS.
  667.  
  668. QUAL CTL
  669. LOC 0
  670. RDP BSS 1 READ PROCESSOR
  671. ECL BSS 1 COMMAND LINE PROCESSOR
  672. ESL BSS 1 SOURCE LINE PROCESSOR
  673. WTP BSS 1 WRITE PROCESSOR
  674. IPC BSS 1 INPUT PROMPT CHARACTER
  675. BSS TCTAL-* RESERVED
  676. LOC *O
  677. QUAL *
  678. TITLE MAIN PROGRAM.
  679. ORG OBUFE
  680. AVT SPACE 4,10
  681. AVTA CON 0
  682. ** AVT - ADVANCE TIME.
  683.  
  684.  
  685. AVT0 LJM DRP DROP PPU
  686.  
  687. AVT LDC RTCL READ REAL TIME CLOCK
  688. CRD CM
  689. LDD CM+4 CHECK MILLISECONDS
  690. SBD MS
  691. PJN AVT1 IF NO OVERFLOW
  692. ADC 10000
  693. AVT1 STD SI+4 SET CYCLE TIME
  694. SBD SI+3 CHECK CYCLE TIME
  695. MJN AVT2 IF MAXIMUM NOT EXCEEDED
  696. RAD SI+3 SET NEW MAXIMUM
  697.  
  698. * CHECK ERROR AND DEBUG FLAGS.
  699.  
  700. AVT2 BSS 0
  701. LDD CP CHECK ERROR FLAG
  702. ADN STSW
  703. CRD T0
  704. LDD T1
  705. NJN AVT0 IF ERROR FLAG SET
  706. ADCRA DBUG
  707. CRD T0 READ *DBUG* WORD
  708. LDD T4
  709. ZJN AVT3 IF NOT STOPPED
  710. SBN 1
  711. NJN *-1
  712. UJN AVT2 LOOP
  713.  
  714. AVT3 STD ME RESET MULTIPLEXER INDEX
  715. LDD T3
  716. STD T4
  717. LDCRA DBUG
  718. CWD T0
  719. AVT4 LDD CM+4
  720. SBD MS
  721. PJN AVT5 IF NO OVERFLOW
  722. ADC 10000
  723. AVT5 SBD T1
  724. PJN AVT6 IF MINIMUM CYCLE TIME EXCEEDED
  725. LDC 125D DELAY .25 MILLI-SECONDS
  726. SBN 1
  727. NJN *-1
  728. LDC RTCL READ REAL TIME CLOCK
  729. CRD CM
  730. UJN AVT4
  731.  
  732. AVT6 LDD CM+4 SET NEW MILLISECOND TIME
  733. STD MS
  734. SHN -11 CHECK INTERVAL
  735. SHN 17
  736. LMD CM+3
  737. SHN 3
  738. LPC 7777
  739. SBM AVTA
  740. ZJN AVT7 IF NO CHANGE
  741. RAM AVTA
  742. LDN 1 SET INTERVAL TIMER
  743. AVT7 STD IT
  744. ZJN AVT8 IF NOT .5 SECONDS
  745. LDN 10 SET NUMBER OF USERS TO ALLOW TO LOG IN
  746. STM /CTL/DINA
  747. AVT8 LDD MA WRITE STATUS INFORMATION
  748. CWD SI
  749. * LJM ITD LOOP TO FIRST MULTIPLEXER
  750. ITD SPACE 4,10
  751. ** ITD - MAIN PROGRAM.
  752.  
  753.  
  754. ITD BSS 0
  755. .TNA LDN 0 RESET FIRST *TELEX* TERMINAL NUMBER
  756. STD TN
  757.  
  758. * SET BUFFER ADDRESSES FOR NEXT MULTIPLEXER.
  759.  
  760. ITD1 LDC IBUF SET INPUT BUFFER ADDRESS
  761. STD DI
  762. LDM TEQN,ME READ EST ENTRY
  763. SFA EST
  764. ADK EQDE
  765. CRD CM
  766. LDD CM+1 CLEAR UPPER BITS
  767. LPN 37
  768. STD CM+1
  769. LDC TCHS SET FWA OF CHANNEL TABLE
  770. STD T1
  771. UJN ITD1.2 ENTER CHANNEL MODIFICATION LOOP
  772.  
  773. ITD1.1 RAI T2 MODIFY INSTRUCTION
  774. AOD T1
  775. ITD1.2 LDI T1 LOAD NEXT CHANNEL INSTRUCTION
  776. STD T2
  777. LDD CM+1
  778. CHTL *
  779. SBN MC
  780. NJN ITD1.1 IF MORE CHANNELS TO BE MODIFIED
  781. UJN STM PROCESS STIMULATOR MUX
  782.  
  783. ITD2 BSS 0
  784. LDCDQ 3 READ CIRCULAR QUEUE OUTPUT POINTER
  785. CRD CM
  786. LDD IN+3 IN - OUT
  787. SBD CM+3
  788. SHN 14
  789. ADD IN+4
  790. SBD CM+4
  791. PJN ITD3 IF IN .GE OUT
  792. ADC VDSL
  793. ITD3 ADC -VDSL/2
  794. MJN ITD4 IF QUEUE NOT OVER HALF FULL
  795. LDN RCLM RECALL CPU
  796. RJM MRQ
  797. AOD SI COUNT MONITOR REQUEST
  798. ITD4 AOD ME ADVANCE MULTIPLEXER
  799. LDM TEQN,ME
  800. ZJN ITD5 IF ALL MULTIPLEXERS PROCESSED
  801. LJM ITD1 PROCESS NEXT MULTIPLEXER
  802.  
  803. ITD5 LJM AVT
  804. STM SPACE 4,10
  805. ** STM - PROCESS STIMULATOR.
  806.  
  807.  
  808. STM BSS 0
  809. LDM TNTD,ME
  810. STD SM
  811. IJM STM3,MC IF STIMULATOR NOT RUNNING
  812. AOD SM
  813. LDC STMA STUFF INSTRUCTIONS
  814. STD DO
  815. LDC STMB
  816. STD DI
  817. LCN 0
  818. UJN STM2
  819.  
  820. * ENTERED HERE FROM OTHER ROUTINES.
  821.  
  822. STM1 IJM STM3,MC IF STIMULATOR DROPPED
  823. LDC 0
  824. STMA EQU *-1
  825. STM2 OAN MC
  826. FJM *,MC WAIT FOR EMPTY
  827. SOD SM COUNT TERMINAL
  828. ZJN STM3 IF ALL TERMINALS PROCESSED
  829. LDN 0
  830. STI DO
  831. IAN MC INPUT DATUM
  832. STM STMB
  833. LJM /CTL/MGR2 PROCESS TERMINAL DATA
  834.  
  835. STM3 LDD SM
  836. RAD TN
  837. LDN 0
  838. STD SM
  839. LJM ITD2 PROCESS NEXT MUX
  840.  
  841. STMB CON 0
  842.  
  843.  
  844. ** TCHS - MUX CHANNEL TABLE.
  845.  
  846.  
  847. TCHS CHTB CHANNEL TABLE
  848. COMMON SPACE 4,10
  849. ** COMMON DECKS.
  850.  
  851.  
  852. EST$ EQU 1 SELECT EST PROCESSOR
  853. *CALL COMPGFP
  854. TITLE TERMINAL MANAGER.
  855. MGR SPACE 4,10
  856. ** MGR - TERMINAL MANAGER.
  857. *
  858. * THE TERMINAL MANAGER PERFORMS THE STATUS CHECKS UPON THE
  859. * INPUT DATA FROM THE EACH PORT OF THE MULTIPLEXER.
  860. * IF ACTION IS REQUIRED FOR THE TERMINAL, THE TERMINAL
  861. * TABLE WORDS *VDPT* AND *VCHT* ARE READ AND THE INDICATED
  862. * RE-ENTRANT ROUTINE ENTERED.
  863. EXI SPACE 4,10
  864. ** EXI - RE-ENTRANT ROUTINE RETURNS.
  865.  
  866.  
  867. * STORE *VDPT*.
  868.  
  869. EXI1. CON 0
  870. LDM EXI1. SET RE-ENTRY ADDRESS
  871. EXI1 STD DP+4 RESET ROUTINE POINTER
  872. EXI2 TTADD VDPT
  873. CWD DP
  874. LJM MGR
  875.  
  876. * STORE *VDPT* AND *VCHT*.
  877.  
  878. EXI3. CON 0
  879. LDM EXI3. SET RE-ENTRY ADDRESS
  880. EXI3 STD DP+4 RESET ROUTINE POINTER
  881. EXI4 TTADD VDPT RESET VDPT AND VCHT
  882. CWD DP
  883. ADN VCHT-VDPT
  884. CWD CH
  885. UJN MGR
  886.  
  887. * STORE *VDPT*, *VCHT*, AND *VDCT*.
  888.  
  889. EXI5. CON 0
  890. LDM EXI5. SET RE-ENTRY ADDRESS
  891. EXI5 STD DP+4 RESET ROUTINE POINTER
  892. TTADD VDPT RESET VCPT, VCHT, AND VDCT
  893. CWM DP,TR
  894. UJN MGR
  895.  
  896. * STORE *VDPT* AND CLEAR DATA OUTPUT.
  897.  
  898. EXI6. CON 0
  899. LDM EXI6. SET RE-ENTRY ADDRESS
  900. EXI6 STD DP+4 RESET ROUTINE POINTER
  901. EXI7 TTADD VDPT RESET VDPT
  902. CWD DP
  903. LDN 0 CLEAR DATA OUT
  904. STI DO
  905. MGR SPACE 4,10
  906. ** MGR - TERMINAL MANAGER.
  907.  
  908.  
  909. QUAL CTL
  910.  
  911. MGR LJM STM1 EXIT TO STIMULATOR MANAGER
  912.  
  913. MGR2 SHN 21-11
  914. MJN MGR4 IF ON LINE
  915.  
  916. * CHECK STATUS OF OFF LINE TERMINAL.
  917.  
  918. TTADD VDPT,AOD,TN
  919. CRD DP
  920. LDD DP+4 CHECK ROUTINE ADDRESS
  921. ADC -DIN
  922. ZJN MGR IF WAITING FOR ON LINE
  923. MJN MGR3 IF NOT LINE PROCESSING
  924. ADC -OFLE+DIN
  925. MJN MGR5 IF LINE PROCESSING
  926. MGR3 LJM OFL SET OFF LINE
  927.  
  928. * PROCESS TERMINAL ON LINE.
  929.  
  930. MGR4 SHN 33-10
  931. MJN MGR6 IF CHARACTER REJECT
  932. TTADD VDPT,AOD,TN
  933. CRD DP
  934. ADN VCHT-VDPT
  935. CRD CH
  936.  
  937. MGR5 LDI DI
  938. SHN 21-13
  939. LJM 0,DP+4 ENTER ROUTINE
  940.  
  941. MGR6 SHN 32-13
  942. MJN MGR7 IF INPUT RECEIVED
  943. AOD TN
  944. LJM MGR
  945.  
  946. MGR7 TTADD VDPT,AOD,TN CHECK ROUTINE ADDRESS
  947. CRD DP
  948. ADN VCHT-VDPT
  949. CRD CH
  950. LDD DP+4
  951. ADC -WTM
  952. MJN MGR5 IF NOT WRITE MODE
  953. ADC -WTME+WTM
  954. PJN MGR5 IF NOT WRITE MODE
  955. * UJN CIS
  956. CIS SPACE 4,10
  957. ** CIS - CHECK INTERRUPT STATUS.
  958. *
  959. * CIS DETERMINES THE STATUS OF A SUSPECTED INTERRUPT INPUT
  960. * CHARACTER. THE CHARACTER *S* IS A LEVEL 0 INTERRUPT TO
  961. * *TELEX* AND AN *INTERRUPT* AND THE CHARACTER *I* ARE LEVEL 1
  962. * INTERRUPTS TO *TELEX*.
  963.  
  964.  
  965. CIS LDD DP+1 CHECK FOR TERMINAL MESSAGE
  966. SHN -6
  967. STI DO CLEAR OUTPUT
  968. LMN 77
  969. NJN CIS1 IF NOT ISSUING MESSAGE
  970. LJM /WTM/WTM5 CONTINUE TERMINAL OUTPUT
  971.  
  972. CIS1 TTADD VUIT
  973. CRD CM
  974. LDD CM+4
  975. ZJN CIS5 IF NO *EJTO* ASSIGNED, IGNORE CHARACTER
  976. LDI DI CHECK INPUT CHARACTER
  977. LPC 377
  978. NJN CIS4 IF NOT START OF BREAK
  979. CIS2 LDN 100D/MNCT+1 START TIMER FOR BREAK
  980. STD CH
  981. CIS3 RETURN EXI3
  982. MJN CIS2 IF BREAK STILL IN PROGRESS
  983. SOD CH DECREMENT TIMER
  984. NJN CIS3 IF NOT TIMED OUT
  985. UJN INT PROCESS AS INTERRUPT
  986.  
  987. * CHECK CHARACTER STATUS.
  988.  
  989. CIS4 SHN -1 SET ASCCI CHARACTER
  990. STD T7
  991. RJM /RDM/TIC TRANSLATE CHARACTER
  992. LPN 77
  993. LMN 1RS
  994. ZJN INT1 IF *S* KEY
  995. LMN 1RI&1RS
  996. ZJN INT IF *I* KEY
  997. CIS5 LJM MGR IGNORE INVALID CHARACTER
  998. INT SPACE 4,10
  999. ** INT - PROCESS INTERRUPT.
  1000. *
  1001. * *INT* REQUESTS *TELEX* TO TERMINATE OUTPUT AND THE USER
  1002. * PROGRAM IN RESPONSE TO AN INTERRUPT FROM THE TERMINAL.
  1003.  
  1004.  
  1005. INT LDN TIET+TAET
  1006. INT1 LMN TAET
  1007. STD RQ+2
  1008. TTADD VSTT CHECK LOGOUT AND ABORT STATUS
  1009. CRD CM
  1010. LDD CM
  1011. LPC 0401
  1012. NJN INT2 IF LOGOUT OR DETACH IN PROGRESS
  1013. RJM RDC READ VDCT TO CHECK FOR DRIVER REQUEST
  1014. SHN 21-13
  1015. PJN INT3 IF NO REQUEST
  1016. LDD DC+4 CHECK REQUEST
  1017. LMN /1TD/HUP
  1018. NJN INT3 IF NOT HANG UP PHONE
  1019. INT2 LDN 0 CLEAR REQUEST CELL
  1020. STD RQ+2
  1021. UJN X1RWC ENTER READ/WRITE CONTROL
  1022.  
  1023. INT3 LDD DP DROP POTS
  1024. STD RQ+3
  1025. LDN /TLX/PUB PROCESS USER BREAK
  1026. RJM ERQ
  1027. STD DP CLEAR POT POINTERS
  1028. STD DP+1
  1029. INT3.1 RETURN EXI6
  1030. RJM RDC READ VDCT
  1031. SHN 21-12
  1032. MJN INT4 IF *INTERRUPT* ACKNOWLEDGE SET
  1033. LJM MGR RETURN
  1034.  
  1035. INT4 SHN 1 CLEAR *INTERRUPT COMPLETE*
  1036. SCN 1
  1037. SHN 12
  1038. STD DC
  1039. TTADD VDCT REWRITE VDCT
  1040. CWD DC
  1041. LDD DC+4 CHECK DRIVER ASSIGNMENT
  1042. NJN X1RWC IF PRESENT
  1043. LDN /TLX/RES REQUEST NEW ASSIGNMENT
  1044. RJM ERQ
  1045.  
  1046. X1RWC RETURN EXI1,RWC ENTER READ/WRITE CONTROL
  1047.  
  1048. CTO SPACE 4,10
  1049. ** CTO - CHECK TIME OUT.
  1050. *
  1051. * *CTO* IS ENTERED WHEN AN INPUT CHARACTER HAS NOT BEEN
  1052. * RECEIVED FROM A TERMINAL. THE ELAPSED TIME IS CHECKED, AND
  1053. * IF EXCEEDED, THE USER IS LOGGED OFF.
  1054.  
  1055.  
  1056. CTO LDI DO CHECK OUTPUT CHARACTER
  1057. SHN 6
  1058. PJN CTO1 IF NO DATA
  1059. LDN 0 CLEAR OUTPUT DATA
  1060. STI DO
  1061. UJN CTO2
  1062.  
  1063. CTO1 LDD IT CHECK INTERVAL TIMER
  1064. ZJN CTO2 IF INTERVAL NOT ELAPSED
  1065. RAI DO ADVANCE TIMER
  1066. LMC NTIO
  1067. ZJN CTO3 IF NORMAL TIME OUT ELAPSED
  1068. TTADD VDCT READ JOB STATUS WORDS
  1069. CRD DC
  1070. SBN -VROT+VDCT
  1071. CRD CM
  1072. LDD CM+4 CHECK JOB STATUS
  1073. LPN 1
  1074. NJN CTO4 IF JOB NOT ACTIVE
  1075. STI DO CLEAR TIMER
  1076. CTO2 LJM MGR RETURN
  1077.  
  1078. * CHECK FOR NO TIME OUT.
  1079.  
  1080. CTO3 RJM RDC READ VDCT
  1081. LDD DC+3 CHECK ACCESS
  1082. SHN 21-12 CHECK LOG-OUT BIT
  1083. PJN CTO5 IF NOT SET
  1084. LDN 0
  1085. STI DO CLEAR TIMER
  1086. LJM MGR RETURN
  1087.  
  1088. CTO4 LDD DC+4 CHECK MESSAGE ASSIGNMENT
  1089. NJN CTO7 IF MESSAGE ASSIGNED
  1090. LDD DC CHECK *LOGGED IN*
  1091. SHN 21-11
  1092. MJN CTO2 IF SET
  1093. LDI DO CHECK TIMER
  1094. LMC UTIO
  1095. NJN CTO2 IF LOGIN TIME OUT NOT ELAPSED
  1096.  
  1097. * LOG OFF USER.
  1098.  
  1099. CTO5 LDC CTO6 SET REENTRY ADDRESS
  1100. UJN CTO9 CHECK IF SOURCE INPUT ACTIVE
  1101.  
  1102. CTO6 LDN /TLX/TOT REQUEST TIMEOUT LOGOUT
  1103. RJM ERQ
  1104. STD DP+2 CLEAR READ STATUS
  1105. LJM X1RWC ENTER READ/WRITE CONTROL
  1106.  
  1107. * CHECK FOR FUNCTION REQUEST.
  1108.  
  1109. CTO7 LDD DC CHECK MESSAGE TYPE
  1110. SHN 21-13
  1111. PJN CTO8 IF NOT FUNCTION REQUEST
  1112. LJM TFR PROCESS *TELEX* FUNCTION REQUEST
  1113.  
  1114. CTO8 LDC RWC SET REENTRY ADDRESS
  1115.  
  1116. * ENTRY TO FORCE SOURCE DUMP IF READ ACTIVE.
  1117. * (A) = REENTRY ADDRESS.
  1118.  
  1119. CTO9 STD DP+4 SET REENTRY ADDRESS
  1120. LDD DP+2 CHECK IF SOURCE INPUT ACTIVE
  1121. SHN 21-10
  1122. PJN CTO10 IF INPUT NOT INITIATED
  1123. LPN 7 SET POT LENGTH
  1124. LMN 40 SET FORCED DUMP FLAG
  1125. STD RQ+1
  1126. LDD DP SET FIRST, CURRENT POT
  1127. STD RQ+2
  1128. STD RQ+3
  1129. LDN /TLX/RIN REQUEST SOURCE INPUT DUMP
  1130. RJM ERQ
  1131. STD DP CLEAR POINTERS
  1132. STD DP+1
  1133. STD DP+2
  1134. CTO10 LJM EXI2
  1135. DIN SPACE 4,10
  1136. ** DIN - PROCESS USER DIALED IN.
  1137.  
  1138.  
  1139. DIN LDN 0 CLEAR DATA OUTPUT
  1140. STI DO
  1141. LDC 0 CHECK LOG IN COUNT
  1142. DINA EQU *-1
  1143. ZJN DIN1 IF MAXIMUM REACHED
  1144. RJM RDC READ VDCT TO CHECK TERMINAL STATUS
  1145. ZJN DIN2 IF LAST USER OFF
  1146. DIN1 LJM MGR
  1147.  
  1148. DIN2 LDN ZERL INITIALIZE NEW USER
  1149. CRD CH
  1150. CRD DP
  1151. LDN /TLX/DIN REQUEST DIAL IN PROCESSING
  1152. RJM ERQ
  1153. SOM DINA DECREMENT LOG-IN COUNT
  1154. RETURN EXI3,LIN PROCESS LOGIN
  1155. HUP SPACE 4,10
  1156. ** HUP - HANG UP PHONE.
  1157.  
  1158.  
  1159. HUP LDN 20 SET DELAY TO INSURE THAT 6676 HAS SENT DATA
  1160. STD DP+2
  1161. HUP1 RETURN EXI6
  1162. SOD DP+2 DECREMENT DELAY
  1163. NJN HUP1 IF DELAY NOT ELAPSED
  1164. LDD SM
  1165. ZJN HUP2 IF NOT STIMULATOR
  1166. LDC .IISE ISSUE STIMULATOR HANG UP PHONE
  1167. UJN HUP3 SEND CHARACTER
  1168.  
  1169. HUP2 LDC 6000 ISSUE HANG UP PHONE
  1170. HUP3 STI DO
  1171. RETURN EXI1
  1172. LDN 0 CLEAR OUTPUT
  1173. STI DO
  1174. LDN 5*2 SET FIVE SECOND DELAY
  1175. STD DP+2
  1176. RETURN EXI1
  1177. LDD IT
  1178. NJN HUP4 IF HALF SECOND
  1179. LJM MGR EXIT
  1180.  
  1181. HUP4 SOD DP+2
  1182. ZJN HUP5 IF TIMEOUT COMPLETE
  1183. LJM EXI7 EXIT
  1184.  
  1185. HUP5 LDD DP
  1186. ZJN HUP6 IF NO POTS TO DROP
  1187. STD RQ+3
  1188. LDN /TLX/DRT
  1189. RJM ERQ
  1190. STD DP
  1191. HUP6 STD DP+1
  1192. STD DP+3
  1193. RJM CUT CLEAN UP TERMINAL TABLE
  1194. RETURN EXI1
  1195. SHN 21-11-21+13
  1196. PJN OFL2 IF OFF-LINE
  1197. UJN OFL1 ENTER DIAL IN
  1198. OFL SPACE 4,10
  1199. ** OFL - PROCESS USER OFF LINE.
  1200. *
  1201. * OFL WILL DROP ALL POTS ASSOCIATED WITH THE TERMINAL AND
  1202. * NOTIFY *TELEX* TO TURN OFF THE TERMINAL.
  1203. *
  1204. * MUST FOLLOW *DIN*.
  1205.  
  1206.  
  1207. OFL BSS 0 ENTRY
  1208. LDD DP
  1209. STD RQ+3
  1210. LDN /TLX/HUP REQUEST HUNG UP PHONE PROCESSING
  1211. RJM ERQ
  1212. STD DP CLEAR POINTERS
  1213. STD DP+1
  1214. STD DP+2
  1215. RETURN EXI1
  1216.  
  1217. ITSA BSS 0 INITIAL TERMINAL START ADDRESS
  1218.  
  1219. SHN 13-11 CHECK INPUT STATUS
  1220. PJN OFL3 IF NOT ON LINE
  1221.  
  1222. * ENTRY FROM HUP.
  1223.  
  1224. OFL1 RETURN EXI6,DIN ENTER DIAL IN
  1225.  
  1226. OFL2 LJM MGR
  1227.  
  1228. * RESYNC 6671 AND ENABLE PHONE ANSWERING.
  1229.  
  1230. OFL3 LDN 24 INSURE 6676 OUTPUT REGISTERS CLEAR
  1231. STD DP+2
  1232. OFL4 RETURN EXI6
  1233. SOD DP+2
  1234. NJN OFL4 IF DELAY NOT ELAPSED
  1235. LDC 7000 REENABLE PHONE ANSWERING (6671)
  1236. STI DO
  1237. RETURN EXI1,OFL1 ENTER DIAL IN
  1238. SPACE 4,10
  1239. OFLE BSS 0 END OF LINE PROCESSING
  1240. RWC SPACE 4,10,10
  1241. ** RWC - READ/WRITE CONTROL.
  1242. *
  1243. * ENTRY COMPLETION OF READ OR WRITE OPERATION.
  1244. *
  1245. * EXIT TO *RDM* IF INPUT RECEIVED FROM TERMINAL.
  1246. * TO *WTM* IF MESSAGE ASSIGNMENT RECEIVED FROM *TELEX*.
  1247. * TO *TFR* IF FUNCTION REQUEST RECEIVED FROM *TELEX*.
  1248. * TO *CTO* IF TERMINAL IDLE.
  1249.  
  1250.  
  1251. RWC RJM CEM CLEAR EXTENDED MODE
  1252.  
  1253. * ENTER HERE TO PREVENT TRANSMISSION MODE CHANGE.
  1254. * CHECK FOR INPUT FROM TERMINAL.
  1255.  
  1256. RWC1 LDI DI CHECK VALID CHARACTER FLAG
  1257. SHN 21-13
  1258. PJN RWC2 IF NO INPUT FROM TERMINAL
  1259. LJM RDM ENTER READ MODE
  1260.  
  1261. * CHECK FOR MESSAGE ASSIGNMENT OR FUNCTION REQUEST.
  1262.  
  1263. RWC2 RJM RDC READ *VDCT*
  1264. LDD DC+4 CHECK *VDCT* INTERLOCK
  1265. NJN RWC3 IF MESSAGE ASSIGNED
  1266. LJM CTO CHECK TIME OUT
  1267.  
  1268. RWC3 LDD DC CHECK MESSAGE TYPE
  1269. SHN 21-13
  1270. PJN RWC4 IF NOT FUNCTION REQUEST
  1271. LJM TFR PROCESS *TELEX* FUNCTION REQUEST
  1272.  
  1273. * PREPARE NEW OUTPUT.
  1274.  
  1275. RWC4 LDD DP CHECK FIRST POT
  1276. ZJN RWC5 IF NOT ASSIGNED
  1277. STD RQ+3 SET POT
  1278. LDN /TLX/DRT REQUEST DROP POT CHAIN
  1279. RJM ERQ
  1280. RWC5 LDD DC+4 CURRENT POT = ASSIGNMENT
  1281. STD DP
  1282. STD DP+1
  1283. LDD DC+1 CURRENT WORD = FIRST WORD OF ASSIGNMENT
  1284. LPN 7
  1285. SHN 4
  1286. STD DP+2
  1287. LDD DC+1 CLEAR STARTING WORD
  1288. SCN 7
  1289. STD DC+1
  1290. LDN 0 CLEAR ASSIGNMENT
  1291. STD DC+4
  1292. RETURN EXI5,WTM ENTER WRITE MODE
  1293. TITLE LOGIN PROCESSING.
  1294. DTT SPACE 4,10
  1295. ** DTT - DETERMINE TERMINAL TYPE.
  1296. *
  1297. * THE FIRST CHARACTER TYPED IS EXAMINED TO DETERMINE TERMINAL
  1298. * TYPE AND PARITY.
  1299.  
  1300.  
  1301. DTT MJN DTT4 IF INPUT CHARACTER RECEIVED
  1302. LDD SM CHECK STIMULATOR STATUS
  1303. ZJN DTT1 IF NOT STIMULATOR
  1304. LDC .IISI ISSUE *INITIATE STIMULATOR INPUT*
  1305. STI DO
  1306. RETURN EXI1
  1307.  
  1308. DTT1 LDN /CTL/RDP CHECK TERMINAL TYPE
  1309. RJM SCA
  1310. LMC /RDM/CRD
  1311. NJN DTT2 IF NOT CORRESPONDENCE
  1312. LDC .CEOT UNLOCK KEYBOARD
  1313. STI DO
  1314. RETURN EXI1
  1315.  
  1316. DTT2 RETURN EXI6
  1317. MJN DTT4 IF INPUT CHARACTER RECEIVED
  1318. DTT3 LJM CTO CHECK TIME OUT
  1319.  
  1320. DTT4 SHN 13-21 EXTRACT CHARACTER
  1321. LPC 377
  1322. STD CH
  1323. LMC .CEOA
  1324. LPC 376
  1325. NJN DTT6 IF NOT *EOA*
  1326.  
  1327. * PROCESS CORRESPONDENCE CODE TERMINAL.
  1328.  
  1329. LDC 400
  1330. STD CH
  1331. RETURN EXI3
  1332. PJN DTT3 IF NO INPUT CHARACTER RECEIVED
  1333. SHN 13-21
  1334. LMC .CEOT
  1335. LPC 376
  1336. ZJN DTT8 IF *EOT*
  1337. LDD CH
  1338. LPC 377
  1339. NJN DTT5 IF CHARACTER ENTERED
  1340. LDI DI EXTRACT DATA CHARACTER
  1341. LPC 376
  1342. RAD CH
  1343. DTT5 LJM EXI4
  1344.  
  1345. * CHECK FOR ADDITIONAL INPUT.
  1346.  
  1347. DTT6 LDD IT SET HALF/SECOND TIMER
  1348. STI DO
  1349. RETURN EXI3
  1350. PJN DTT7 IF NO ADDITIONAL INPUT
  1351. LJM DTT4
  1352.  
  1353. DTT7 LDI DO CHECK TIMER
  1354. LMD IT
  1355. NJN DTT5 IF NOT TIMED OUT
  1356.  
  1357. * LOOK UP CHARACTER.
  1358.  
  1359. DTT8 LDN 0 CLEAR INDEX
  1360. STD T1
  1361. DTT9 LDM TTTC,T1 CHECK TABLE ENTRY
  1362. LMD CH
  1363. SHN -1
  1364. ZJN DTT10 IF MATCH FOUND
  1365. AOD T1
  1366. LMN TNTT
  1367. NJN DTT9 LOOP TO END OF TABLE
  1368. STD T1 CLEAR INDEX
  1369. LDD CH CLEAR CHARACTER
  1370. LPC 400
  1371. STD CH
  1372. DTT10 LDD T1 SET TRANSLATION TABLE INDEX
  1373. SHN 7
  1374. STD DP+3
  1375. LDD CH SET PARITY
  1376. LMM TTTC,T1
  1377. LPN 1
  1378. RAD DP+3
  1379. UJN LINX COMPLETE LOGIN
  1380. LIN SPACE 4,10
  1381. ** LIN - PROCESS LOGIN.
  1382.  
  1383.  
  1384. LIN RJM RDC READ VDCT TO CHECK TERMINAL STATUS
  1385. LMD HN
  1386. ZJN LIN1 IF *TELEX* READY
  1387. LJM MGR
  1388.  
  1389. LIN1 LDD DC+4 SET POT ASSIGNMENT
  1390. STD DP
  1391. STD DP+1
  1392. LDN 0 CLEAR POT ASSIGNMENT
  1393. STD DC+4
  1394. LDD DC+1 SET PORT TYPE INDEX
  1395. SHN -10
  1396. LPN 3
  1397. STD T1
  1398. LDM LINA,T1 SET ENTRY ADDRESS
  1399. LJM EXI5
  1400.  
  1401. * COMPLETE LOGIN.
  1402.  
  1403. LINX LDN 40 SET LINE FEED FLAG FOR ASCII TERMINALS
  1404. RAD DP+3
  1405. LJM /RDM/CLI PROCESS COMMAND LINE INPUT
  1406.  
  1407. LINA BSS 0
  1408.  
  1409. CON RAB READ ANSWERBACK
  1410. CON DTT DETERMINE TERMINAL TYPE
  1411. CON DTT DETERMINE TERMINAL TYPE
  1412. CON RAB READ ANSWERBACK
  1413. RAB SPACE 4,10
  1414. ** RAB - REQUEST ANSWERBACK.
  1415. *
  1416. *
  1417. * RAB IS CALLED WHENEVER *TELEX* DESIRES TO READ
  1418. * THE ANSWER BACK DRUM ON THE TERMINAL. RAB WILL INSURE ENOUGH
  1419. * TIME FOR THE TERMINAL TO COME FULLY ON LINE AND THEN ISSUE
  1420. * THE ANSWER BACK COMMAND.
  1421.  
  1422.  
  1423. RAB LDN 7 WAIT FOR LINE TO SETTLE OUT
  1424. RJM WTO
  1425. LDC .AENQ ISSUE *ENQ*
  1426. STI DO
  1427. LDN 0
  1428. STD DP+2
  1429. STD CH+2
  1430. RETURN EXI3
  1431. LDD SM CHECK STIMULATOR STATUS
  1432. ZJN RAB1 IF NOT STIMULATOR
  1433. SHN 21-13
  1434. MJN RAB1 IF *ASTIM* MUX
  1435. LDC .IISI ISSUE *INITIATE STIMULATOR INPUT*
  1436. STI DO
  1437. RETURN EXI1
  1438. RAB1 RETURN EXI6
  1439. PJN RAB3 IF NO INPUT CHARACTER
  1440. SHN -7 EXTRACT CHARACTER
  1441. LPC 177
  1442. STD T7
  1443. LDD CH+1 CHECK CHARACTER COUNT
  1444. SBN 10D
  1445. PJN RAB2 IF MORE THAN 10 CHARACTERS
  1446. RJM /RDM/TIC TRANSLATE CHARACTER
  1447. SHN -6
  1448. NJN RAB2 IF SPECIAL CHARACTER
  1449. RJM /RDM/WIC WRITE INPUT CHARACTER
  1450. AOD CH+1 COUNT CHARACTER
  1451. RAB2 LJM EXI4 RETURN
  1452.  
  1453. RAB3 LDD IT ADVANCE TIMER
  1454. RAD CH+2
  1455. LMN ATIO
  1456. NJN RAB2 IF TIME OUT NOT ELAPSED
  1457. STD CH+2
  1458. STD T7
  1459. RJM /RDM/WIC FORCE UPPER CHARACTER
  1460. LJM LINX COMPLETE LOGIN
  1461. TITLE *TELEX* FUNCTION REQUEST PROCESSING.
  1462. TFR SPACE 4,10
  1463. ** TFR - PROCESS *TELEX* FUNCTION REQUEST.
  1464. *
  1465. * ENTRY (DC - DC+4) = *VDCT* WORD.
  1466.  
  1467.  
  1468. TFR LDD DC+4 SAVE REQUEST CODE
  1469. STD T2
  1470. LPN 77
  1471. SBN TTFRL
  1472. MJN TFR1 IF LEGAL FUNCTION
  1473. LCN TTFRL SET ILLEGAL FUNCTION
  1474. TFR1 ADN TTFRL
  1475. STD T1
  1476. LDN /TLX/RES REQUEST ADDITIONAL OUTPUT
  1477. RJM ERQ
  1478. STD DC+4 CLEAR FUNCTION REQUEST
  1479. LDD DC CLEAR DRIVER REQUEST BIT
  1480. LPC 3777
  1481. STD DC
  1482. TTADD VDCT
  1483. CWD DC
  1484. LDM TTFR,T1 PROCESS FUNCTION
  1485. STD T1
  1486. NJN TFR2 IF A VALID ENTRY
  1487. LJM MGR EXIT
  1488.  
  1489. TFR2 LDD DP+3
  1490. LJM 0,T1
  1491. TTFR SPACE 4,10
  1492. ** TTFR - TABLE OF TELEX FUNCTION REQUESTS.
  1493.  
  1494.  
  1495. TTFR INDEX
  1496.  
  1497. INDEX /1TD/BGI,BGI BEGIN INPUT
  1498. INDEX /1TD/CFD,CFD CLEAR FULL DUPLEX
  1499. INDEX /1TD/HUP,HUP HANG UP THE PHONE
  1500. INDEX /1TD/IIP,IIP ISSUE INPUT PROMPT
  1501. INDEX /1TD/LGI,LGI PROCESS LOGIN
  1502. INDEX /1TD/SCE,SCE SET/CLEAR EXTENDED MODE
  1503. INDEX /1TD/SDU,INT3.1 SUSPEND DRIVER FOR USER BREAK
  1504. INDEX /1TD/SEP,SEP SET EVEN PARITY
  1505. INDEX /1TD/SFD,SFD SET FULL DUPLEX
  1506. INDEX /1TD/SNM,SNM SET NORMAL MODES
  1507. INDEX /1TD/SOP,SOP SET ODD PARITY
  1508. INDEX /1TD/STT,STT SET TERMINAL TYPE
  1509.  
  1510. INDEX /1TD/REQL
  1511. TTFRL EQU *-TTFR
  1512. BGI SPACE 4,10,10
  1513. ** BGI - BEGIN INPUT.
  1514. *
  1515. * SET INPUT ACTIVE AND START TAPE READER IF TAPE MODE IS SET.
  1516. *
  1517. * ENTRY (DC - DC+4) = WORD *VDCT*.
  1518.  
  1519.  
  1520. BGI LDD DC CHECK *TAPE* MODE
  1521. LPN 1
  1522. ZJN BGI1 IF NOT SET
  1523. LDC .ISTR TRANSLATE *START TAPE READER*
  1524. STD T7
  1525. RJM /WTM/TOC
  1526. SHN 6 CHECK TRANSLATED CHARACTER
  1527. PJN BGI1 IF NOT DEFINED
  1528. LDD DP+3 TOGGLE ON ODD PARITY
  1529. LPN 1
  1530. LMD T7 ISSUE *START TAPE READER*
  1531. STI DO
  1532. RETURN EXI1
  1533. BGI1 LDD SM CHECK STIMULATOR STATUS
  1534. ZJN BGI2 IF NOT STIMULATOR
  1535. LDC .IISI ISSUE *INITIATE STIMULATOR INPUT*
  1536. STI DO
  1537. RETURN EXI1
  1538. BGI2 RETURN EXI6,RDM
  1539. CFD SPACE 4,10
  1540. ** CFD - CLEAR *FULL DUPLEX* FLAG.
  1541. *
  1542. * ENTRY (A) = DP+3.
  1543.  
  1544.  
  1545. CFD LPC 7677 CLEAR FULL DUPLEX
  1546. LJM SEP1
  1547. IIP SPACE 4,10
  1548. ** IIP - ISSUE INPUT PROMPT.
  1549. *
  1550. * ISSUE INPUT PROMPT CHARACTER IF TRANSPARENT, BINARY,
  1551. * OR AUTO MODE IS NOT SET.
  1552. *
  1553. * ENTRY (A) = DP+3.
  1554. * (DC - DC+4) = VDCT.
  1555.  
  1556.  
  1557. IIP SHN 21-2 CHECK MODE
  1558. MJN IIP1 IF *TRANSPARENT* MODE
  1559. LPN 1
  1560. NJN IIP2 IF *BINARY* MODE
  1561. LDD DC
  1562. LPN 2
  1563. NJN IIP2 IF *AUTO* MODE
  1564. TTADD VSTT CHECK NO PROMPT BIT
  1565. CRD T0
  1566. LDD T0
  1567. LPN 40
  1568. NJN IIP2 IF NO PROMPT MODE
  1569. STD CH+2 CLEAR ESCAPE CONTROL
  1570. STD DP+2
  1571. LDN /CTL/IPC SELECT PROMPT CHARACTER
  1572. RJM SCA
  1573. STD ZR
  1574. LDN 1RB SET TERMINATOR
  1575. STD ZR+1
  1576. RJM SWA SET WORD ADDRESS
  1577. CWD ZR SET PROMPT IN POT
  1578. LDN ZERL CLEAR ZERO LOCATION
  1579. CRD ZR
  1580. RETURN EXI3,WTM ENTER WRITE MODE
  1581.  
  1582. IIP1 LDN 0 CLEAR INPUT POINTER
  1583. STD DP+2
  1584. IIP2 LDN /TLX/RES REQUEST NEXT MESSAGE
  1585. RJM ERQ
  1586. LJM X3RWC WAIT FOR *BGI* REQUEST
  1587. LGI SPACE 4,10
  1588. ** LGI - PROCESS USER LOGIN.
  1589. *
  1590. * ENTRY (A) = DP+3.
  1591.  
  1592.  
  1593. LGI LPC 7600 RETAIN TERMINAL TYPE FOR LOGIN
  1594. STD T7
  1595. LDD DP CHECK POT ASSIGNMENT
  1596. ZJN LGI1 IF NONE
  1597. STD RQ+3 DROP POTS
  1598. LDN /TLX/DRT
  1599. RJM ERQ
  1600. LGI1 LDN ZERL CLEAR CONTROL WORDS
  1601. CRD DP
  1602. CRD CH
  1603. LDD T7 RESET TERMINAL TYPE
  1604. STD DP+3
  1605. RETURN EXI3,LIN ENTER LOGIN
  1606. SCE SPACE 4,15
  1607. ** SCE - SET/CLEAR EXTENDED MODE.
  1608. *
  1609. * SET/CLEAR EXTENDED TRANSMISSION MODE DEPENDING
  1610. * UPON MODE IN *VDCT*.
  1611. *
  1612. * CALLS CEM.
  1613.  
  1614.  
  1615. SCE BSS 0 ENTRY
  1616. RJM CEM
  1617. LJM EXI4 EXIT
  1618. SNM SPACE 4,10
  1619. ** SNM - SET NORMAL MODES.
  1620. *
  1621. * ENTRY (A) = DP+3.
  1622.  
  1623.  
  1624. SNM SCN 3 CLEAR EXTENDED MODE, ODD PARITY
  1625. * UJN SEP
  1626. SEP SPACE 4,10,10
  1627. ** SEP - SET EVEN PARITY.
  1628. *
  1629. * ENTRY (A) = DP+3.
  1630.  
  1631.  
  1632. SEP SCN 1
  1633.  
  1634. SEP1 STD DP+3
  1635. LJM EXI4
  1636. SOP SPACE 4,10
  1637. ** SOP - SET *ODD PARITY* FLAG.
  1638. *
  1639. * ENTRY (A) = DP+3.
  1640.  
  1641.  
  1642. SOP SCN 1 SET ODD PARITY
  1643. LMN 1
  1644. UJN SEP1
  1645. SFD SPACE 4,10
  1646. ** SFD - SET *FULL DUPLEX* FLAG.
  1647. *
  1648. * ENTRY (A) = DP+3.
  1649.  
  1650.  
  1651. SFD LPC 7677 SET FULL DUPLEX
  1652. LMD HN
  1653. UJN SEP1
  1654. STT SPACE 4,10
  1655. ** STT - SET TERMINAL TYPE.
  1656. *
  1657. * ENTRY (A) = DP+3.
  1658. * (T2) = TRANSLATION TABLE INDEX.
  1659.  
  1660.  
  1661. STT LPC 177 CLEAR CURRENT TRANSLATION INDEX
  1662. STD DP+3
  1663. LDD T2 SET TRANSLATION TABLE INDEX
  1664. SCN 77
  1665. SHN 1
  1666. LMD DP+3
  1667. UJN SEP1
  1668. SPACE 4,10
  1669. QUAL
  1670. CIS EQU /CTL/CIS
  1671. CTO EQU /CTL/CTO
  1672. MGR EQU /CTL/MGR
  1673. RWC EQU /CTL/RWC
  1674. CTLE BSS 0 END OF CONTROL MODE
  1675. TITLE READ MODE - MAIN PROCESSING ROUTINES.
  1676. QUAL RDM
  1677. RDM SPACE 4,10
  1678. ** RDM - READ MODE.
  1679. *
  1680. * ENTRY (DP+1) = FIRST POT FOR INPUT LINE.
  1681. * (DP+2), FIRST WORD = FIRST WORD FOR LINE.
  1682. * *READ ACTIVE* STATUS.
  1683. * *POT REQUESTED* STATUS.
  1684. * CURRENT WORD = FIRST WORD FOR LINE.
  1685. * CURRENT CHARACTER = FIRST CHARACTER FOR LINE.
  1686. * FOR SPECIAL INPUT PROCESSING,
  1687. * (DP+3) *TRANSPARENT INPUT* STATUS.
  1688. * (DP+3) *BINARY INPUT* STATUS.
  1689. *
  1690. * (CH) = BINARY INPUT TERMINATION CHARACTER.
  1691. * (CH+1) = BINARY INPUT TERMINATION COUNT.
  1692.  
  1693.  
  1694. * RDM - ENTRY.
  1695.  
  1696. RDM LDD DP
  1697. ZJN RDM4 IF NO INPUT POT
  1698. LDD DP+3 CHECK BINARY TRANSMISSION
  1699. SHN 21-3
  1700. PJN RDM2 IF NOT SET
  1701. LDD CH+1 CHECK BINARY COUNT
  1702. NJN RDM1 IF SET
  1703. LCN 10
  1704. RAD DP+3 CLEAR BINARY MODE
  1705. UJN RDM2
  1706.  
  1707. RDM1 LDC BRD SET BINARY READ
  1708. UJN RDM3
  1709.  
  1710. RDM2 LDN /CTL/RDP LOCATE READ PROCESSOR
  1711. RJM SCA
  1712. RDM3 STD DP+4
  1713. LDI DI
  1714. SHN 21-13
  1715. LJM 0,DP+4
  1716.  
  1717. * PROCESS LACK OF INPUT POT. IF THE INPUT DATA HAS
  1718. * NO NEED TO BE TRANSLATED AND STORED IT WILL BE IGNORED.
  1719. * IF THE DATA IS VALID, A DIAGNOSTIC MESSAGE WILL BE
  1720. * ISSUED TO THE TERMINAL OPERATOR.
  1721.  
  1722. RDM4 RJM CSM CHECK IF SMFIF PROCESSING
  1723. ZJN RDM4.1 IF NOT SMFIF PROCESSING
  1724. RDM4.1 LDI DI GET INPUT CHARACTER
  1725. LPC 377
  1726. NJN RDM4.2 IF NOT START OF BREAK
  1727. LJM /CTL/CIS2 GO PROCESS INTERRUPT
  1728.  
  1729. RDM4.2 LDC EDBM
  1730. LJM ITM SEND EDITOR BUSY MESSAGE
  1731.  
  1732. RDM4.3 LDI DI GET INPUT CHARACTER
  1733. LPC 177
  1734. STD T7
  1735. RJM TIC TRANSLATE CHARACTER
  1736. SHN -7
  1737. ZJN RDM6 IF NOT SPECIAL CHARACTER
  1738. LMN /TRN/NLI
  1739. ZJN RDM5 IF NULL INPUT
  1740. LMN /TRN/EBT&/TRN/NLI
  1741. NJN RDM6 IF NOT END OF BLOCK MODE TRANSMISSION
  1742. RDM5 LJM MGR IGNORE CHARACTER
  1743.  
  1744. RDM6 LJM NIP1 ISSUE *REENTER LAST LINE*
  1745. BRD SPACE 4,10,5
  1746. ** BRD - BINARY READ.
  1747.  
  1748.  
  1749. BRD MJN BRD1 IF INPUT RECEIVED
  1750. LJM CTO CHECK TIME OUT
  1751.  
  1752. BRD1 SHN 13-12 CHECK CHARACTER STATUS
  1753. PJN BRD2 IF NOT LOST DATA
  1754. LJM DLO PROCESS DATA LOST
  1755.  
  1756. BRD2 SHN 11-21
  1757. LPC 177
  1758. STD T7
  1759. LDD DP+3 CHECK *FULL DUPLEX*
  1760. SHN 21-6
  1761. PJN BRD3 IF NOT SET
  1762. LDI DI ISSUE INPUT CHARACTER
  1763. LPC 4377
  1764. STI DO
  1765. BRD3 LDD CH SAVE TERMINATOR
  1766. STD CH+2
  1767. LDI DI FORMAT INPUT CHARACTER
  1768. LPN 1
  1769. ADN 20
  1770. SHN 13-4
  1771. RAD T7
  1772. SCN 77 SET UPPER HALF FOR *WIC*
  1773. STD CH
  1774. AOD DP+2
  1775. RJM WIC WRITE INPUT CHARACTER
  1776. AOD CH+3 ADVANCE INPUT CHARACTER COUNT
  1777. SHN -14
  1778. ZJN BRD4 IF NO OVERFLOW
  1779. STD RQ+2 REQUEST ACCOUNTING MESSAGE
  1780. LDN /TLX/IAM
  1781. RJM ERQ
  1782. BRD4 LDD CH+2 RESTORE TERMINATOR
  1783. STD CH
  1784. SHN 6
  1785. MJN BRD5 IF NO TERMINATOR SPECIFIED
  1786. SHN -6
  1787. LMD T7
  1788. LPC 177
  1789. ZJN BRD6 IF TERMINATOR RECIEVED
  1790. BRD5 SOD CH+1 DECREMENT CHARACTER COUNT
  1791. MJN BRD6 IF END OF INPUT
  1792. ZJN BRD6 IF END OF INPUT
  1793. LJM EXI4 RETURN TO MANAGER
  1794.  
  1795. BRD6 RETURN EXI3
  1796. LDN 0 ENTER END OF LINE
  1797. STD CH
  1798. STI DO CLEAR OUTPUT
  1799. STD T7
  1800. STD CH+1 CLEAR CHARACTER COUNT
  1801. STD CH+2 CLEAR ESCAPE CONTROL
  1802. AOD DP+2 WRITE END OF LINE
  1803. RJM WIC
  1804. LCN 10 CLEAR BINARY INPUT
  1805. RAD DP+3
  1806. RETURN EXI3
  1807. RJM RDC READ VDCT TO CHECK READ OPERATION
  1808. SHN 21-6
  1809. MJN BRD7 IF *READ DATA*
  1810. LJM SLI PROCESS SOURCE LINE INPUT
  1811.  
  1812. BRD7 LJM CLI PROCESS COMMAND LINE INPUT
  1813. CRD SPACE 4,10
  1814. ** CRD - CORRESPONDENCE TERMINAL READ.
  1815.  
  1816.  
  1817. CRD PJN CRD1 IF NO INPUT DATA
  1818. SHN 13-21 CHECK CHARACTER
  1819. LPC 377
  1820. NJN CRD2 IF NOT START OF *ATTN*
  1821. LJM CIS CHECK INTERRUPT STATUS
  1822.  
  1823. * ENTRY TO ENABLE INPUT.
  1824.  
  1825. CRD1 LDC .CEOT ISSUE *EOT* TO ENABLE TERMINAL INPUT
  1826. STI DO
  1827. RETURN EXI1
  1828. RETURN EXI6
  1829. CRD2 LDD DP+3 CLEAR UPPER CASE
  1830. SCN 40
  1831. STD DP+3
  1832. LDI DI
  1833. SHN 21-13
  1834. MJN CRD4 IF CHARACTER RECEIVED
  1835. CRD3 LJM CTO CHECK TIME OUT
  1836.  
  1837. CRD4 SHN 13-21 CHECK CHARACTER
  1838. LMC .CEOA
  1839. LPC 176
  1840. NJN CRD5 IF NOT *EOA*
  1841. RETURN EXI1,CRD6
  1842.  
  1843. CRD5 LDC CRD6 ADVANCE ENTRY
  1844. STD DP+4
  1845. LDI DI
  1846. SHN 21-13
  1847.  
  1848. * CRD - MAIN RETURN.
  1849.  
  1850. CRD6 PJN CRD3 IF NO CHARACTER RECEIVED
  1851. SHN 13-12 CHECK CHARACTER STATUS
  1852. PJN CRD7 IF NOT LOST DATA
  1853. LJM DLO PROCESS LOST DATA
  1854.  
  1855. CRD7 SHN 13-1 EXTRACT CHARACTER
  1856. LPN 77
  1857. STD T7
  1858. LDD DP+3 SET CORRECT CASE
  1859. LPN 40
  1860. SHN 1
  1861. RAD T7
  1862. UJN RTC PROCESS READ CHARACTER
  1863. ARD SPACE 4,10
  1864. ** ARD - *ASCII* TERMINAL READ.
  1865.  
  1866.  
  1867. ARD MJN ARD1 IF CHARACTER RECEIVED
  1868. LJM CTO CHECK TIME OUT
  1869.  
  1870. ARD1 SHN 13-12 CHECK CHARACTER STATUS
  1871. PJN ARD2 IF NOT LOST DATA
  1872. LJM DLO PROCESS LOST DATA
  1873.  
  1874. ARD2 SHN 12-0 EXTRACT CHARACTER
  1875. LPC 177
  1876. STD T7
  1877. LDD DP+3 CHECK *FULL DUPLEX*
  1878. SHN 21-6
  1879. PJN RTC IF NOT SET
  1880. LDI DI ISSUE INPUT TO OUTPUT
  1881. LPC 4377
  1882. STI DO
  1883. * UJN RTC
  1884. RTC SPACE 4,10
  1885. ** RTC - READ TERMINAL CHARACTER.
  1886.  
  1887.  
  1888. RTC RJM TIC TRANSLATE INPUT CHARACTER
  1889.  
  1890. RTCX STD T7 SET CHARACTER
  1891. STD CH+2 SAVE CHARACTER FOR MONITORING TERMINAL
  1892. SHN -7 CHECK CONTROL
  1893. NJN RTC6 IF SPECIAL CHARACTER
  1894.  
  1895. * ENTRY FROM *CES*.
  1896.  
  1897. RTC1 LDC 4000 SET VALID DATA
  1898. RAD CH+2
  1899.  
  1900. * ENTRY TO STORE INPUT CHARACTER.
  1901.  
  1902. RTC2 RJM WIC WRITE INPUT CHARACTER
  1903. AOD CH+1 COUNT CHARACTER
  1904. ADC -MXIC
  1905. PJN RTC4 IF LINE OVERFLOWS
  1906. RTC3 LJM EXI4
  1907.  
  1908. RTC4 ADC -MXTC+MXIC TERMINAL CHARACTER COUNT
  1909. PJN RTC5 IF LINE OVERFLOWS
  1910. RJM RDC
  1911. SHN 21-4
  1912. MJN RTC3 IF TRANSACTION MODE
  1913. RTC5 LDC LOFM ISSUE OVERFLOW MESSAGE
  1914. LJM ITM
  1915.  
  1916. * PROCESS SPECIAL CHARACTER.
  1917.  
  1918. RTC6 STD T2 SET PROCESSOR INDEX
  1919. LDM TRSP-1,T2 SET PROCESSOR ADDRESS
  1920. STD T2
  1921. LDD DP+3
  1922. LJM 0,T2
  1923.  
  1924. ESC SPACE 4,10
  1925. ** ESC - PROCESS ESCAPE CODES.
  1926. *
  1927. * ENTRY (T7) = CHARACTER,
  1928.  
  1929.  
  1930. ESC LDD T7 SET PROPER ESCAPE CODE
  1931. SHN -5
  1932. LPN 2
  1933. ADN 74
  1934. STD T7
  1935. RJM WIC WRITE ESCAPE CODE
  1936.  
  1937. * ENTRY TO STORE LOWER SIX BITS OF INPUT CHARACTER.
  1938.  
  1939. ESC1 LDD CH+2 SET DISPLAY CODE
  1940. LPC 177 PRESERVE ESCAPE BIAS
  1941. LJM RTCX
  1942. CES SPACE 4,10
  1943. ** CES - CHECK ESCAPE STATUS.
  1944. *
  1945. * ENTRY (A) = DP+3.
  1946. * (T7) = CHARACTER.
  1947.  
  1948.  
  1949. CES LPN 6 CHECK FOR ASCII OR TRANSPARENT
  1950. ZJN CES1 IF NOT ASCII OR NOT TRANSPARENT
  1951. LDD T7 CHECK FOR COLON
  1952. LMC 200
  1953. NJN ESC IF NOT COLON
  1954. LDN 204-200 COLON = 204 IN ASCII OR TRANSPARENT MODE
  1955. RAD CH+2
  1956. UJN ESC ESCAPE CHARACTER INPUT
  1957.  
  1958. CES1 LDD T7
  1959. SHN 21-6
  1960. PJN CES3 IF ESCAPE 2
  1961. LDD CH+2
  1962. LPN 77
  1963. ZJN CES2 IF *7600*
  1964. SBN 1RZ+1
  1965. MJN ESC1 PROCESS NORMAL CHARACTER
  1966. CES2 LJM EXI2 IGNORE CHARACTER
  1967.  
  1968. CES3 LDD T7
  1969. LMC 200
  1970. NJN CES2 IF NOT COLON
  1971. LJM RTC1 COLON
  1972. TRSP SPACE 4,10
  1973. ** TRSP - TABLE OF SPECIAL READ CHARACTER PROCESSORS.
  1974.  
  1975.  
  1976. TRSP BSS 0
  1977. QUAL TRN
  1978. LOC 1
  1979.  
  1980. CES CON /RDM/CES CHECK ESCAPE STATUS
  1981. CRT CON /RDM/CRT CARRIAGE RETURN
  1982. DLN CON /RDM/DLN LINE DELETE
  1983. DPC CON /RDM/DPC DELETE PREVIOUS CHARACTER
  1984. NLI CON /RDM/NLI NULL INPUT
  1985. CSF CON /RDM/CSF CASE SHIFT
  1986. ECI CON /RDM/ECI ESCAPE CHARACTER INPUT
  1987. NWL CON /RDM/NWL NEW LINE
  1988. EOT CON /RDM/EOT EOT
  1989. BRK CON /RDM/BRK BREAK
  1990. EBT CON /RDM/EBT END OF BLOCK MODE TRANSMISSION
  1991. EOL CON /RDM/EOL BLOCK MODE END-OF-LINE
  1992. ETX CON /RDM/ETX ETX
  1993.  
  1994. LOC *O
  1995. NOREF CES,NLI
  1996. QUAL *
  1997. CRT SPACE 4,10
  1998. ** CRT - PROCESS CARRIAGE RETURN.
  1999.  
  2000.  
  2001. CRT RETURN EXI3 ALLOW CARRIAGE RETURN
  2002. RJM RDC READ VDCT TO CHECK *TAPE* MODE
  2003. LPN 1
  2004. ZJN CRT1 IF NOT SET
  2005. STI DO CLEAR OUTPUT
  2006. LDD CH+1 CHECK CHARACTER COUNT
  2007. NJN CRT2 IF NOT EMPTY LINE
  2008. LJM X3RWC ENTER READ/WRITE CONTROL
  2009.  
  2010. CRT1 LDD DP+3 TOGGLE ON ODD PARITY
  2011. LPN 1
  2012. LMC .ALF ISSUE LINE FEED
  2013. STI DO
  2014.  
  2015. * ENTRY TO ISSUE NEW LINE.
  2016.  
  2017. CRT2 LDC .INL+4000 ISSUE NEW LINE TO MONITOR
  2018. STD CH+2
  2019. * UJN EIL
  2020. EIL SPACE 4,10
  2021. ** EIL - END OF INPUT LINE.
  2022.  
  2023.  
  2024. EIL LDD DP+2 SET ZERO BYTE TERMINATOR
  2025. LPN 1
  2026. NJN EIL1 IF LOWER CHARACTER
  2027. LDD MA SAVE POINTER WORD
  2028. CWD DP
  2029. RJM RPC READ PRECEDING CHARACTER
  2030. STD T7
  2031. LDD MA RESTORE POINTER WORD
  2032. CRD DP
  2033. LDD T7 CHECK PRECEDING CHARACTER
  2034. NJN EIL3 IF NOT COLON
  2035. LDN 1R ENTER BLANK
  2036. STD T7
  2037. RJM WIC
  2038. EIL1 LDD DP+3 CHECK FOR TRANSPARENT MODE
  2039. LPN 4
  2040. ZJN EIL2 IF NOT TRANSPARENT MODE
  2041. LDN 1R
  2042. EIL2 LMN 1R
  2043. STD T7
  2044. RJM WIC
  2045. EIL3 LDN 0 ENTER END OF LINE
  2046. STD T7
  2047. RJM WIC
  2048. LDD DP+3 CLEAR *TRANSPARENT* MODE
  2049. SCN 4
  2050. STD DP+3
  2051.  
  2052. * COMPLETE END OF LINE PROCESSING.
  2053.  
  2054. RETURN EXI3
  2055. LDD CH+1 ADVANCE INPUT CHARACTER COUNT
  2056. RAD CH+3
  2057. SHN -14
  2058. ZJN EIL4 IF NO OVERFLOW
  2059. STD RQ+2
  2060. LDN /TLX/IAM REQUEST ISSUE ACCOUNTING MESSAGE
  2061. RJM ERQ
  2062. EIL4 STI DO
  2063. STD CH+2
  2064. RJM RDC READ VDCT TO CHECK READ OPERATION
  2065. SHN 21-6
  2066. MJN CLI IF *READ DATA*, PROCESS AS COMMAND
  2067. SHN 6-4
  2068. MJN CLI IF *TRANSACTION MODE*, PROCESS AS COMMAND
  2069. SHN 4-2
  2070. MJN EIL5 IF *TEXT MODE*, PROCESS AS SOURCE
  2071. LDD DP+2 READ FIRST WORD OF LINE
  2072. LPC 7000
  2073. SHN 6
  2074. ADD DP
  2075. SHN 3
  2076. ADCBM
  2077. CRD CM
  2078. LDD CM CHECK FIRST CHARACTER
  2079. SHN -6
  2080. SBN 1R0
  2081. MJN CLI IF NOT DIGIT
  2082. SBN 1R9+1-1R0
  2083. EIL5 MJN SLI IF DIGIT
  2084. CLI SPACE 4,10
  2085. ** CLI - PROCESS COMMAND LINE INPUT.
  2086.  
  2087.  
  2088. CLI LDD DP SET FIRST POT OF LINE
  2089. STD RQ+3
  2090. LDD DP+2 SET FIRST WORD
  2091. SHN -11
  2092. STD RQ+2
  2093. LDN /TLX/CLI REQUEST COMMAND LINE INPUT
  2094. RJM ERQ
  2095. STD DP CLEAR FIRST POT
  2096. STD DP+1 CLEAR CURRENT POT
  2097. LDN 3 SET DELAY
  2098. RJM WTO WAIT TIME OUT
  2099. LDN /CTL/ECL LOCATE COMMAND LINE PROCESSOR
  2100. UJN SLI2
  2101. SLI SPACE 4,10
  2102. ** SLI - SOURCE LINE INPUT.
  2103. *
  2104. * ENTRY (DC - DC+4) = *VDCT* WORD.
  2105.  
  2106.  
  2107. SLI LDD DP+2 FIRST WORD = CURRENT WORD
  2108. LPC 360 SAVE POT REQUESTED FLAG
  2109. LMC 400 SET *INPUT INITIATED*
  2110. STD DP+2
  2111. SHN 5
  2112. RAD DP+2
  2113. LDD DP CHECK CURRENT POT
  2114. STD RQ+3
  2115. LMD DP+1
  2116. ZJN SLI1 IF CURRENT POT = FIRST POT
  2117. LDD DP+1 FIRST POT = CURRENT POT
  2118. STD DP
  2119. STD RQ+2
  2120. LDN /TLX/RIN REQUEST RELEASE INPUT
  2121. RJM ERQ
  2122. SLI1 STD RQ+3
  2123. LDN /CTL/ESL LOCATE SOURCE LINE PROCESSOR
  2124. SLI2 RJM SCA
  2125. LJM EXI3 ENTER LINE PROCESSOR
  2126. TITLE READ MODE - SPECIAL CHARACTER PROCESSORS.
  2127. ACL SPACE 4,10
  2128. ** ACL - END OF COMMAND LINE.
  2129. *
  2130. * ISSUE LINE-FEED IF IN TAPE MODE.
  2131.  
  2132.  
  2133. ACL BSS 0 ENTRY
  2134. RJM RDC READ *VDCT*
  2135. LPN 1
  2136. ZJN ACL2 IF NOT *TAPE* MODE
  2137. LDD DP+3 TOGGLE ON ODD PARITY
  2138. LPN 1
  2139. LMC .ALF ISSUE LINE-FEED
  2140. ACL1 STI DO SET OUTPUT CHARACTER
  2141. RETURN EXI1
  2142. ACL2 LDN 0
  2143. STI DO
  2144. STD CH+1 ZERO CHARACTER COUNT
  2145.  
  2146. X3RWC RETURN EXI3,RWC ENTER READ/WRITE CONTROL
  2147. ASL SPACE 4,10
  2148. ** ASL - END OF SOURCE LINE.
  2149.  
  2150.  
  2151. ASL LDD SM CHECK STIMULATOR STATUS
  2152. ZJN ASL1 IF NOT STIMULATOR
  2153. LDC .IISI ISSUE *INITIATE STIMULATOR INPUT*
  2154. STI DO
  2155. RETURN EXI1
  2156. ASL1 LDN 0 CLEAR OUTPUT
  2157. STI DO
  2158. STD CH+1 ZERO CHARACTER COUNT
  2159. RETURN EXI3,ARD
  2160. BRK SPACE 4,10
  2161. ** BRK - PROCESS BREAK.
  2162.  
  2163.  
  2164. BRK RJM RDC READ VDCT
  2165. LPN 1
  2166. ZJN BRK1 IF NOT TAPE MODE
  2167. RETURN EXI1,RDM IGNORE IF TAPE MODE
  2168.  
  2169. BRK1 LDN 100D/MNCT+1 START TIMER FOR BREAK
  2170. STI DO
  2171. BRK2 RETURN EXI3
  2172. MJN BRK1 IF BREAK STILL IN PROGRESS
  2173. SOI DO
  2174. NJN BRK2 IF NOT TIMED OUT
  2175. LDD CH+1 CHECK INPUT LINE
  2176. NJN BRK4 IF LINE NOT EMPTY
  2177.  
  2178. * PROCESS EMPTY INPUT LINE.
  2179.  
  2180. RJM RDC READ VDCT
  2181. LPN 4
  2182. ZJN BRK3 IF NOT TEXT MODE
  2183. LJM ETX2 EXIT TEXT MODE
  2184.  
  2185. * INTERRUPT JOB IF ACTIVE.
  2186.  
  2187. BRK3 TTADD VROT CHECK ACTIVITY
  2188. CRD CM
  2189. LDD CM+4
  2190. LMN 3
  2191. ZJN BRK5 IF NO ACTIVITY
  2192. LJM /CTL/INT INTERRUPT JOB
  2193.  
  2194. * PROCESS NON-EMPTY INPUT LINE.
  2195.  
  2196. BRK4 LDD DP+3 CHECK MODE
  2197. LPN 4
  2198. NJN BRK6 IF TRANSPARENT MODE
  2199. BRK5 LDN DELM SET *DEL* MESSAGE
  2200. LJM ITM
  2201.  
  2202. * ENTER TRANSPARENT MODE DATA.
  2203.  
  2204. BRK6 LDN 76 STORE ESCAPE
  2205. STD T7
  2206. RJM WIC
  2207. LDN /CTL/IPC DETERMINE TRANSLATION
  2208. RJM SCA
  2209. SHN -6
  2210. LMN 71
  2211. ZJN BRK7 IF NEW TRANSLATION TABLE
  2212. LDN 55&40
  2213. BRK7 LMN 40
  2214. STD T7 STORE DISPLAY CODE
  2215. RJM WIC
  2216. RETURN EXI3,EIL
  2217. CCL SPACE 4,10
  2218. ** CCL - END OF COMMAND LINE.
  2219.  
  2220.  
  2221. CCL LDC .CIL ISSUE *IL*
  2222. STI DO
  2223. LDD CH+1 REPEAT COUNT = CHARACTER COUNT/8
  2224. SHN -3
  2225. RJM /WTM/SRC SEND REPEATED CHARACTER
  2226. LDC .CEOA ISSUE *EOA* TO ENABLE OUTPUT
  2227. LJM ACL1
  2228. CSF SPACE 4,10
  2229. ** CSF - PROCESS CASE SHIFT.
  2230. *
  2231. * ENTRY (A) = (DP+3).
  2232.  
  2233.  
  2234. CSF LMD CH+2 SET NEW CASE
  2235. SCN 40
  2236. LMD CH+2
  2237. STD DP+3
  2238. LJM EXI2
  2239. CSL SPACE 4,10
  2240. ** CSL - END OF SOURCE LINE.
  2241.  
  2242.  
  2243. CSL LDC .CIL ISSUE *IL*
  2244. STI DO
  2245. LDD CH+1 REPEAT COUNT = CHARACTER COUNT/8
  2246. SHN -3
  2247. RJM /WTM/SRC SEND REPEATED CHARACTER
  2248. TTADD VCHT
  2249. CWD CH REWRITE ZERO OUT CH+1
  2250. LJM CRD1 REENABLE INPUT
  2251. DLN SPACE 4,10
  2252. ** DLN - PROCESS DELETE LINE.
  2253. *
  2254. * ENTRY (A) = DP+3.
  2255.  
  2256.  
  2257. DLN LPN 4 CHECK *TRANSPARENT MODE*
  2258. NJN DLN1 IF SET
  2259. STI DO SUPPRESS DUPLEX ECHO-BACK
  2260. LJM BRK5
  2261.  
  2262. DLN1 LJM ESC ENTER CHARACTER
  2263. DPC SPACE 4,10
  2264. ** DPC - DELETE PRECEEDING CHARACTER.
  2265. *
  2266. * ENTRY (A) = DP+3.
  2267.  
  2268.  
  2269. DPC LPN 4 CHECK *TRANSPARENT MODE*
  2270. NJN DLN1 IF SET
  2271. SOD CH+1
  2272. PJN DPC1 IF NOT START OF LINE
  2273. LDN 0
  2274. STD CH+1
  2275. LJM EXI4
  2276.  
  2277. DPC1 RJM BUP BACK UP POINTERS
  2278. LDD CH+2 SET CHARACTER FOR MONITORING TERMINAL
  2279. LPC 377
  2280. ADC 4000
  2281. STD CH+2
  2282. LDD DP+2 CHECK CHARACTER NUMBER
  2283. SHN 21
  2284. PJN DPC2 IF UPPER CHRACTER
  2285. LPN 7 SET BYTE
  2286. STD T5
  2287. RJM SWA SET WORD ADDRESS
  2288. CRD T0 READ WORD
  2289. LDI T5 EXTRACT UPPER CHARACTER
  2290. SCN 77
  2291. STD CH
  2292. LDN 0 CLEAR BYTE
  2293. STI T5
  2294. RJM SWA SET WORD ADDRESS
  2295. CWD T0 STORE WORD
  2296. DPC2 LDD DP+3 CHECK ASCII
  2297. LPN 6
  2298. ZJN DPC4 IF NOT SET
  2299. LDD MA SAVE POINTER WORD
  2300. CWD DP
  2301. RJM RPC READ PREVIOUS CHARACTER
  2302. SBN 74
  2303. MJN DPC3 IF NOT ESCAPE
  2304. ZJN DPC5 IF ESCAPE 2
  2305. SBN 76-74
  2306. ZJN DPC5 IF ESCAPE 1
  2307. DPC3 LDD MA RESTORE POINTER WORD
  2308. CRD DP
  2309. DPC4 LJM EXI4
  2310.  
  2311. DPC5 LDD DP+2 CHECK CHARACTER NUMBER
  2312. SHN 21
  2313. PJN DPC4 IF UPPER CHARACTER
  2314. LDI T5 EXTRACT UPPER CHARACTER
  2315. SCN 77
  2316. STD CH
  2317. LDN 0 CLEAR BYTE
  2318. STI T5
  2319. RJM SWA SET WORD ADDRESS
  2320. CWD T0 STORE WORD
  2321. UJN DPC4
  2322. EBT SPACE 4,10,20
  2323. ** EBT - END OF BLOCK MODE TRANSMISSION.
  2324. *
  2325. * PROCESS *EOT* CODE TERMINATOR OF BLOCK EDIT MODE
  2326. * TERMINAL BUFFER TRANSMISSION. IF THE LINE IS NOT
  2327. * EMPTY, A CARRIAGE RETURN WILL BE TRANSMITTED TO THE
  2328. * TERMINAL AND THE LINE WILL BE PROCESSED LIKE A CARRIAGE
  2329. * RETURN. IF THE LINE IS EMPTY, THE *EOT* CHARACTER
  2330. * WILL BE IGNORED.
  2331. *
  2332. * ENTRY (CH+1) = LINE CHARACTER COUNT.
  2333. *
  2334. * EXIT TO *CRT* AFTER ISSUING CARRIAGE RETURN IF LINE
  2335. * IS NOT EMPTY.
  2336. *
  2337. * TO *MGR* IF LINE IS EMPTY.
  2338.  
  2339.  
  2340. EBT BSS 0 ENTRY
  2341. LDD CH+1 CHECK LINE CHARACTER COUNT
  2342. ZJN EBT1 IF ZERO-LENGTH LINE
  2343. LDD DP+3 TOGGLE ON ODD PARITY
  2344. LPN 1
  2345. LMC .ACR ISSUE CARRIAGE RETURN
  2346. STI DO
  2347. RETURN EXI3,CRT PROCESS CARRIAGE RETURN
  2348.  
  2349. EBT1 LJM MGR IGNORE CHARACTER
  2350. ECI SPACE 4,10,10
  2351. ** ECI - ESCAPE CHARACTER INPUT.
  2352. *
  2353. * DIRECTS PROCESSING OF *74* AND *76* INPUT CHARACTERS.
  2354. * IF IN EXTENDED OR TRANSPARENT MODE, THE *74* CODE IS
  2355. * STORED AS *7401* AND THE *76* CODE IS STORED AS
  2356. * *7402*.
  2357. *
  2358. * ENTRY (A) = DP+3.
  2359.  
  2360.  
  2361. ECI LPN 6 CHECK MODE
  2362. ZJN ECI1 IF NEITHER EXTENDED NOR TRANSPARENT
  2363. LJM ESC
  2364.  
  2365. ECI1 LDD T7 CONVERT TO SINGLE DISPLAY CODE
  2366. LPN 3
  2367. SHN 1
  2368. ADN 72
  2369. STD T7
  2370. LJM RTC2 REENTER READ PROCESSOR
  2371. EOL SPACE 4,10,10
  2372. ** EOL - BLOCK MODE END-OF-LINE.
  2373. *
  2374. * ENTERS CARRIAGE RETURN PROCESSING WITHOUT ISSUING
  2375. * LINE-FEED.
  2376. *
  2377. * EXIT TO *CRT2*.
  2378.  
  2379.  
  2380. EOL EQU CRT2 ALTERNATE ENTRY POINT
  2381. EOT SPACE 4,10
  2382. ** EOT - END OF TRANSMISSION.
  2383.  
  2384.  
  2385. EOT LDD CH+1 CHECK INPUT LINE
  2386. ZJN EOT1 IF NO CHARACTER, ISSUE .CEOA FOR *INT*
  2387. LDD DP+3
  2388. LPN 4
  2389. NJN EOT2 IF TRANSPARENT MODE,AVOID DOUBLE .CEOA
  2390. EOT1 LDC .CEOA
  2391. STI DO
  2392. EOT2 RETURN EXI3
  2393. RETURN EXI6,BRK1 PROCESS AS BREAK CHARACTER
  2394. ETX SPACE 4,10,10
  2395. ** ETX - END OF TEXT.
  2396.  
  2397.  
  2398. ETX LDD CH+1 CHECK INPUT LINE
  2399. NJN ETX1 IF LINE NOT EMPTY
  2400. RJM RDC READ VDCT
  2401. LPN 4
  2402. NJN ETX2 IF TEXT MODE
  2403. ETX1 LDD DP+3
  2404. LJM CES CHECK ESCAPE STATUS
  2405.  
  2406. ETX2 LDD DP+1 POT TO BE DUMPED IF NOT EMPTY
  2407. STD RQ+3
  2408. LDD DP+2 EXTRACT WORD COUNT OF POT
  2409. SHN -4
  2410. LPN 7
  2411. STD RQ+2
  2412. LDN /TLX/ETX EXIT TEXT MODE REQUEST
  2413. RJM ERQ
  2414. STD DP CLEAR FIRST POT POINTER
  2415. STD DP+1 CLEAR CURRENT POT POINTER
  2416. STD DP+2 CLEAR POSITION WITHIN CURRENT POT
  2417. LDD DC CLEAR INPUT REQUESTED, TEXT MODE
  2418. LPC 7373
  2419. STD DC
  2420. RETURN EXI5,RWC ENTER READ/WRITE CONTROL
  2421. NLI SPACE 4,10
  2422. ** NLI - PROCESS NULL INPUT.
  2423. *
  2424. * ENTRY (A) = DP+3.
  2425.  
  2426.  
  2427. NLI LPN 4 CHECK *TRANSPARENT MODE*
  2428. ZJN NLI1 IF NOT SET
  2429. LDD CH+2
  2430. LPC 177
  2431. ZJN NLI1 IF NO CHARACTER DEFINED
  2432. STD T7 ENTER CHARACTER
  2433. SHN 21-6 CHECK FOR ESCAPE 2
  2434. MJN NLI2 IF ESCAPE 2
  2435. LJM RTC2
  2436.  
  2437. NLI1 LJM MGR IGNORE CHARACTER
  2438.  
  2439. NLI2 LJM ESC ENTER ESCAPE CHARACTER
  2440. NWL SPACE 4,10
  2441. ** NWL - NEW LINE.
  2442. *
  2443. * WAIT FOR *EOT* FROM TERMINAL.
  2444.  
  2445.  
  2446. NWL RETURN EXI1
  2447. MJN NWL1 IF INPUT RECEIVED
  2448. LJM CTO
  2449.  
  2450. NWL1 LDD DP+3 CLEAR UPPER CASE
  2451. SCN 40
  2452. STD DP+3
  2453. LJM CRT2 PROCESS END OF LINE
  2454. TITLE READ MODE - SUBROUTINES.
  2455. ITM SPACE 4,10
  2456. ** ITM - ISSUE TERMINAL MESSAGE.
  2457. *
  2458. * ISSUES MESSAGE TO TERMINAL.
  2459. *
  2460. * ENTRY (A) = ADDRESS OF FORMATTED MESSAGE.
  2461. *
  2462. * USES (DP+1) = MESSAGE ADDRESS POINTER.
  2463. * (DP+2) = MESSAGE BYTE POINTER.
  2464.  
  2465.  
  2466. ITM ADC 7700 SET MESSAGE PSEUDO-POT POINTER
  2467. STD DP+1
  2468. LDD DP+2 CLEAR BYTE POINTER
  2469. LPC 7600
  2470. STD DP+2
  2471. LDN 0 CLEAR OUTPUT CONTROL
  2472. STD CH+2
  2473. LJM /WTM/WTM4 INITIATE MESSAGE
  2474.  
  2475.  
  2476. * ENTERED HERE FROM SUBROUTINE *ROC* TO EXTRACT NEXT
  2477. * MESSAGE CHARACTER TO BE RETURNED TO WRITE PROCESSOR.
  2478.  
  2479. ITM1 LDM ITMA-7700,DP+1 GET NEXT CHARACTER
  2480. STD T7
  2481. LDD DP+2 TOGGLE BYTE INDEX
  2482. LMN 1
  2483. STD DP+2
  2484. LPN 1
  2485. NJN ITM2 IF UPPER CHARACTER
  2486. AOD DP+1 INCREMENT MESSAGE ADDRESS
  2487. LDD T7
  2488. LPN 77 EXTRACT LOWER CHARACTER
  2489. UJN ITM3
  2490.  
  2491. ITM2 LDD T7 EXTRACT UPPER CHARACTER
  2492. SHN -6
  2493. ITM3 STD T7 SET CHARACTER
  2494. ZJN ITM4 IF END OF MESSAGE
  2495. SOD CH+4 PREVENT CHARACTER COUNT ON MESSAGE
  2496. LDD T7
  2497. LJM /WTM/ROCX ISSUE CHARACTER
  2498.  
  2499. * RESET LINE POINTERS AND EXIT.
  2500.  
  2501. ITM4 LDD CH CHECK TERMINAL TYPE
  2502. LMC /WTM/CWT
  2503. NJN ITM5 IF NOT CORRESPONDENCE
  2504. LDC .CEOT ENABLE INPUT
  2505. STI DO
  2506. RETURN EXI1
  2507.  
  2508. ITM5 LDD DP+2 RESET CURRENT WORD
  2509. SHN -5
  2510. LMD DP+2
  2511. SCN 17
  2512. STD DP+2
  2513. LDD DP RESET CURRENT POT
  2514. STD DP+1
  2515. ZJN ITM6 IF NO INPUT POT
  2516. RJM CEM CLEAR EXTENDED MODE
  2517. LJM /CTL/BGI
  2518.  
  2519. ITM6 RJM CSM CHECK IF SMFIF PROCESSING
  2520. NJN ITM6.5 IF TERMINAL CONNECTED TO SMF
  2521. LDN /TLX/RES RESTART JOB
  2522. RJM ERQ
  2523. ITM6.5 BSS 0
  2524. LJM X3RWC ENTER READ/WRITE CONTROL
  2525.  
  2526.  
  2527. ** TABLE OF TERMINAL MESSAGES.
  2528.  
  2529. ITMA BSS 0
  2530. LOC 0
  2531.  
  2532. DELM DATA Z+ *DEL*"NL"+
  2533. LOFM DATA Z+"NL" *OVL*"NL"+
  2534. RILM DATA Z+"NL"*RE-ENTER LAST LINE*"NL"+
  2535. EDBM DATA Z+"NL"EDITOR BUSY"NL"+
  2536.  
  2537. LOC *O
  2538. DLO SPACE 4,10
  2539. ** DLO - PROCESS LOST DATA.
  2540. *
  2541. * NOTIFY *TELEX* THAT A LOST DATA CONDITION OCCURED ON THE
  2542. * TERMINAL LINE.
  2543.  
  2544.  
  2545. DLO LDN 1 SET LOST DATA
  2546. STD RQ+2
  2547. * UJN NIP
  2548. SPACE 4,10,10
  2549. ** NIP - NO INPUT POT AVAILABLE.
  2550. *
  2551. * NOTIFY *TELEX* THAT NO INPUT WAS AVAILABLE.
  2552.  
  2553.  
  2554. NIP LDN /TLX/DLO REQUEST LOST DATA PROCESSING
  2555. RJM ERQ
  2556.  
  2557. * ENTERED FOR REENTER LAST LINE MESSAGE.
  2558.  
  2559. NIP1 LDN RILM ISSUE RE-ENTER LINE MESSAGE
  2560. LJM ITM
  2561. TIC SPACE 4,10
  2562. ** TIC - TRANSLATE INPUT CHARACTER.
  2563. *
  2564. * ENTRY (T7) = CHARACTER.
  2565. *
  2566. * EXIT (A) = TRANSLATED CHARACTER.
  2567. * (T7) = TRANSLATED CHARACTER.
  2568. *
  2569. * USES T1.
  2570. *
  2571. * CALLS TCH.
  2572.  
  2573.  
  2574. PPT IFNE VPPT,0
  2575.  
  2576. TIC1 STD T1 SET TABLE INDEX
  2577. LDC TITA LOAD CONVERSION INDEX
  2578. RJM TCH
  2579. TIC2 STD T7
  2580.  
  2581. TIC SUBR ENTRY/EXIT
  2582. LDD DP+3 CHECK CONVERSION INDEX
  2583. SHN -7
  2584. NJN TIC1 IF SPECIAL CONVERSION REQUIRED
  2585. LDM TINT,T7 TRANSLATE CHARACTER
  2586. UJN TIC2
  2587.  
  2588. PPT ELSE
  2589.  
  2590. TIC SUBR ENTRY/EXIT
  2591. LDC TITA SET INPUT CONVERSION
  2592. RJM TCH TRANSLATE CHARACTER
  2593. UJN TICX EXIT
  2594.  
  2595. PPT ENDIF
  2596. WIC SPACE 4,10
  2597. ** WIC - WRITE INPUT CHARACTER.
  2598. *
  2599. * ENTRY (T7) = CHARACTER.
  2600. * (CH) = UPPER CHARACTER IF LOWER CHARACTER IS
  2601. * TO BE STORED.
  2602. * IF (T7) = 0, AND UPPER CHARACTER IS TO BE PROCESSED,
  2603. * END OF LINE IS ASSUMED. IN ORDER TO PREVENT
  2604. * CONFUSION BETWEEN THE DISPLAY CODE COLON *00* AND
  2605. * END OF LINE, A *00* COLON IS PASSED TO *WIC* AS A
  2606. * *200* CODE.
  2607. *
  2608. * EXIT NONE.
  2609. *
  2610. * USES CH, DP, DP+2, RQ+2, RQ+3, T0 - T6.
  2611. *
  2612. * CALLS ERQ, RDC, RLT.
  2613. *
  2614. * MACROS ADCBM, RETURN.
  2615.  
  2616.  
  2617. WIC8 LPN 77 SET CURRENT WORD
  2618. SHN 17
  2619. STD T6
  2620. SHN -17 SET BYTE
  2621. STD T5
  2622. NJN WIC9 IF NOT START OF NEW WORD
  2623. LDN ZERL
  2624. UJN WIC80
  2625.  
  2626. WIC9 LDD DP+1 READ WORD
  2627. SHN 3
  2628. LMD T6
  2629. ADCBM
  2630. WIC80 CRD T0
  2631. LDD T7 MERGE UPPER AND LOWER CHARACTERS
  2632. LPN 77 MASK FOR COLON
  2633. LMD CH
  2634. STI T5 STORE BYTE
  2635. LDD DP+1 STORE WORD
  2636. SHN 3
  2637. LMD T6
  2638. ADCBM
  2639. CWD T0
  2640. LDI T5
  2641. ADD T7
  2642. ZJN WIC3 IF END OF LINE
  2643. AOD DP+2 ADVANCE CHARACTER
  2644. LPN 17
  2645. LMN 12
  2646. ZJN WIC3 IF END OF WORD
  2647.  
  2648. WIC SUBR ENTRY/EXIT
  2649. WIC1 LDD DP+2 CHECK CHARACTER NUMBER
  2650. SHN 21
  2651. PJN WIC2 IF UPPER
  2652. LJM WIC8
  2653.  
  2654. WIC2 AOD DP+2 ADVANCE CHARACTER POINTER
  2655. LDD T7 CHECK CHARACTER
  2656. SHN 6 STORE UPPER CHARACTER
  2657. STD CH
  2658. NJN WICX IF NOT END OF LINE
  2659. UJN WIC1 FORCE END OF LINE
  2660.  
  2661. * PROCESS END OF WORD.
  2662.  
  2663. WIC3 LDD DP+2 CHECK WORD NUMBER
  2664. SHN -4
  2665. LPN 7
  2666. LMN 7
  2667. ZJN WIC5 IF END OF POT
  2668. LDD DP+2 ADVANCE WORD NUMBER, RESET CHARACTER
  2669. SCN 17
  2670. ADN 20
  2671. STD DP+2
  2672. SHN -4 CHECK WORD NUMBER
  2673. LPN 17
  2674. SBN 5
  2675. MJN WICX RETURN IF WORD 5 NOT REACHED
  2676. SBN 3
  2677. PJN WICX RETURN IF POT REQUESTED
  2678. LDC 200 SET *POT REQUESTED*
  2679. RAD DP+2
  2680. RJM RLT READ NEXT POT LINK
  2681. NJN WIC4 IF POT LINKED
  2682. LDD DP+1 SET CURRENT POT
  2683. STD RQ+3
  2684. LDN /TLX/LPT REQUEST POT
  2685. RJM ERQ
  2686. WIC4 LJM WICX RETURN
  2687.  
  2688. * PROCESS END OF POT.
  2689.  
  2690. WIC5 LDD DP+2 RESET WORD AND CHARACTER
  2691. LPC 7400
  2692. STD DP+2
  2693. RJM RLT READ NEXT POT LINK
  2694. ZJN WIC7 IF POT NOT LINKED
  2695. STD DP+1 SET NEXT POT
  2696. LDD DP+3
  2697. LPN 10
  2698. ZJN WIC4 IF NOT BINARY MODE
  2699. RJM RDC READ VDCT
  2700. SHN 21-6
  2701. MJN WIC4 IF NOT READ DATA
  2702. LDD DP SET FIRST POT
  2703. STD RQ+3
  2704. LMD DP+1 CHECK CURRENT POT
  2705. ZJN WIC6 IF FIRST EQUALS CURRENT
  2706. LDD DP+1 SET CURRENT POT
  2707. STD DP
  2708. STD RQ+2
  2709. LDN /TLX/RIN
  2710. RJM ERQ
  2711. WIC6 STD RQ+3
  2712. UJN WIC4 EXIT
  2713.  
  2714. WIC7 RETURN EXI1,NIP PROCESS NO INPUT POT
  2715. SPACE 4,10
  2716. QUAL
  2717. RDM EQU /RDM/RDM
  2718. X3RWC EQU /RDM/X3RWC
  2719. RDME BSS 0 END OF READ MODE
  2720. TITLE WRITE MODE - MAIN PROCESSOR.
  2721. QUAL WTM
  2722. WTM SPACE 4,10
  2723. ** WTM - WRITE MODE.
  2724. *
  2725. * ENTRY (DP+1) = FIRST POT OF OUTPUT.
  2726. * (DP+2), CURRENT WORD = FIRST WORD OF OUTPUT.
  2727. * (DP+3) *BINARY TRANSMISSION* STATUS
  2728. * (CH+2) = ESCAPE CONTROL.
  2729.  
  2730.  
  2731. WTM PJN WTM1 IF NO TERMINAL INPUT
  2732. LJM CIS CHECK INTERRUPT STATUS
  2733.  
  2734. WTM1 RJM RLT CHECK NEXT LINK
  2735. NJN WTM2 IF POT LINKED
  2736. LDN /TLX/RES REQUEST MORE OUTPUT
  2737. RJM ERQ
  2738. WTM2 LDD DP+3 CHECK *BINARY TRANSMISSION*
  2739. LPN 10
  2740. ZJN WTM5 IF NOT BINARY
  2741. RETURN EXI6,BWT
  2742.  
  2743. * SET WRITE PROCESSOR AND INITIATE OUTPUT.
  2744.  
  2745.  
  2746. * ENTRY TO TRANSMIT EXTENDED MODE MESSAGE.
  2747.  
  2748. WTM4 LDD DP+3 SET EXTENDED CONVERSION
  2749. SCN 2
  2750. LMN 2
  2751. STD DP+3
  2752. WTM5 LDN /CTL/WTP SET WRITE PROCESSOR
  2753. RJM SCA
  2754. STD CH
  2755. LDN 0 CLEAR OUTPUT
  2756. LJM WTC
  2757. BWT SPACE 4,10
  2758. ** BWT - BINARY WRITE.
  2759.  
  2760.  
  2761. BWT PJN BWT1 IF NO TERMINAL INPUT
  2762. LJM CIS CHECK INTERRUPT STATUS
  2763.  
  2764. * ASSEMBLE OUTPUT CHARACTER.
  2765.  
  2766. BWT1 RJM ROC READ OUTPUT CHARACTER
  2767. MJN BWT3 IF CONTROL BYTE
  2768. SCN 2 CLEAR BIT SEVEN
  2769. LMN 20 ADD VALID CHARACTER
  2770. SHN 7
  2771. STD T6 STORE ASSEMBLY
  2772. SHN -10
  2773. LMN 30
  2774. NJN BWT4 IF NOT BINARY FORMAT
  2775. LDD T7
  2776. SHN -1
  2777. LPN 1
  2778. RAD T6 MOVE BIT SEVEN TO BIT ZERO
  2779. AOD DP+2 ADVANCE CHARACTER COUNT
  2780. LDI T5 GET LOWER 6 BITS
  2781. LPN 77
  2782. SHN 1
  2783. LMD T6 MERGE WITH ASSEMBLY
  2784. STI DO
  2785. AOD CH+4 ADVANCE OUTPUT CHARACTER COUNT
  2786. SHN -14
  2787. ZJN BWT2 IF NO OVERFLOW
  2788. LDN /TLX/IAM ISSUE ACCOUNTING MESSAGE
  2789. RJM ERQ
  2790. BWT2 LJM EXI4 EXIT
  2791.  
  2792. BWT3 LJM SOC PROCESS CONTROL BYTE
  2793.  
  2794.  
  2795. * TERMINATE BINARY MODE OUTPUT.
  2796.  
  2797. BWT4 LCN 10 CLEAR BINARY MODE
  2798. RAD DP+3
  2799. SOD DP+2 RESET CHARACTER POSITION
  2800. LDN 0 CLEAR ESCAPE CONTROL
  2801. STD CH+2
  2802. STI DO CLEAR OUTPUT
  2803. LDN 1 SET CHARACTER COUNT NON-ZERO
  2804. STD CH+1
  2805. RETURN EXI3,WTM5 CONTINUE OUTPUT
  2806. CWT SPACE 4,10
  2807. ** CWT - CORRESPONDENCE CODE TERMINAL WRITE.
  2808.  
  2809.  
  2810. CWT LDD DP+3 CHECK CASE
  2811. LPN 40
  2812. SHN 12-5
  2813. LMD T7
  2814. SHN 21-12
  2815. PJN CWT1 IF CORRECT CASE
  2816. SHN 12-11
  2817. PJN CWT1 IF NO CASE SHIFT REQUIRED
  2818.  
  2819. * PROCESS CASE SHIFT.
  2820.  
  2821. LDD T7 SAVE CHARACTER
  2822. STD CH
  2823. LDD DP+3 TOGGLE CASE
  2824. LMN 40
  2825. STD DP+3
  2826. SHN -5 SELECT CASE SHIFT CODE
  2827. LPN 1
  2828. STD T1
  2829. LDM CWTA,T1 ISSUE CASE SHIFT
  2830. STI DO
  2831. RETURN EXI3
  2832. LDD CH RESTORE CHARACTER
  2833. STD T7
  2834. LDC CWT RESET ENTRY ADDRESS
  2835. STD CH
  2836. CWT1 LDD T7 ISSUE CHARACTER
  2837. LPC 4377
  2838. UJN WTC
  2839.  
  2840. CWTA BSS 0 CASE SHIFT CONTROL CHARACTERS
  2841. CON .CLC
  2842. CON .CUC
  2843. AWT SPACE 4,10
  2844. ** AWT - *ASCII* TERMINAL WRITE.
  2845.  
  2846.  
  2847. AWT LDD DP+3 TOGGLE ON ODD PARITY
  2848. LPN 1
  2849. LMD T7 ISSUE CHARACTER
  2850. * UJN WTC
  2851. WTC SPACE 4,10,10
  2852. ** WTC - WRITE TERMINAL CHARACTER.
  2853. *
  2854. * ISSUES CURRENT CHARACTER TO TERMINAL. THE
  2855. * NEXT CHARACTER IS READ AND RETURNED TO THE PROPER
  2856. * PROCESSING ROUTINE. SPECIAL CHARACTERS ARE PROCESSED
  2857. * BEFORE RETURN.
  2858. *
  2859. * ENTRY (A) = CHARACTER TO ISSUE TO TERMINAL.
  2860. * (CH+2) = ESCAPE CONTROL.
  2861. *
  2862. * EXIT (T7) = NEXT CHARACTER TRANSLATED.
  2863. * (CH+2) = UPDATED ESCAPE CONTROL.
  2864. *
  2865. * ESCAPE CONTROL -
  2866. *
  2867. * 4XXX = VALID CHARACTER POINTER XXX.
  2868. * 0100 = ESCAPE 1.
  2869. * 0200 = ESCAPE 2.
  2870. * 0300 = *00* (POSSIBLE EOL) BYTE HAS BEEN
  2871. * DETECTED. THIS SITUATION WILL OCCUR
  2872. * WHEN THE LOWER CHARACTER OF AN
  2873. * OUTPUT BYTE IS FOUND TO BE ZERO.
  2874. * AT THIS POINT, FURTHER TESTING MUST
  2875. * BE DONE TO DETERMINE WHETHER OR NOT
  2876. * THIS ZERO CHARACTER IS PART OF
  2877. * AN END OF LINE OR IS FOLLOWED BY
  2878. * DATA. THIS LATTER CONDITION IS A
  2879. * FALSE END OF LINE AND THE ZERO
  2880. * CHARACTER MUST BE PROCESSED AS A
  2881. * COLON.
  2882. * 04XX = FALSE EOL HAS BEEN DETECTED.
  2883. * XX = NEXT OUTPUT CHARACTER.
  2884. * (CHANGED BY *CMM* TO *05XX* BYTE.)
  2885. * 05XX = *CMM* HAS PROCESSED FALSE EOL.
  2886. * XX = NEXT OUTPUT CHARACTER.
  2887. * 06XX = SUSPENDED CONTROL PROCESSING. THIS
  2888. * SITUATION OCCURS WHEN A CONTROL
  2889. * CHARACTER PROCESSOR IS UNABLE TO
  2890. * TO DETERMINE WHETHER OR NOT A
  2891. * SUSPECTED CONTROL CHARACTER IS
  2892. * FOLLOWED BY AN END OF LINE.
  2893. * THIS WILL OCCUR WHEN THERE IS
  2894. * NO FURTHER DATA IN THE CURRENT
  2895. * OUTPUT POTS AND THE DRIVER MUST
  2896. * WAIT FOR FURTHER OUTPUT TO BE
  2897. * ASSIGNED.
  2898.  
  2899.  
  2900. WTC STI DO ISSUE OUTPUT CHARACTER
  2901.  
  2902. * CHECK INPUT LINE.
  2903.  
  2904. WTCX RETURN EXI3
  2905. PJN WTC2 IF NO TERMINAL INPUT
  2906. LJM CIS CHECK FOR INTERRUPT
  2907.  
  2908. * CHECK ESCAPE CONTROL.
  2909.  
  2910. WTC2 LDD CH+2 CHECK ESCAPE CONTROL
  2911. SHN -6
  2912. ZJN WTC5 IF NULL
  2913. STD T1
  2914. SBN TECPL TEST FOR VALID DATA BIT
  2915. PJN WTC5 IF VALID DATA SET
  2916. LDM TECP-1,T1 SET PROCESSOR ADDRESS
  2917. STD T1
  2918. LDD CH+2 SAVE LOWER SIX BITS
  2919. LPN 77
  2920. STD T7
  2921. LJM 0,T1 PROCESS ESCAPE CONTROL
  2922.  
  2923. * GET NEXT OUTPUT CHARACTER.
  2924.  
  2925. WTC5 RJM ROC GET NEXT CHARACTER
  2926. PJN WTC7 IF NOT CONTROL BYTE
  2927. WTC6 LJM SOC
  2928.  
  2929. WTC7 NJN WTC8 IF NON-ZERO
  2930. LJM WTC17 CHECK POSSIBLE END OF LINE
  2931.  
  2932. * CHECK OUTPUT CHARACTER.
  2933.  
  2934. WTC8 SBN 74 CHECK FOR ESCAPE CHARACTER
  2935. MJN WTC12 IF NOT ESCAPE 1 OR 2
  2936. ZJN WTC10 IF ESCAPE 2
  2937. SBN 76-74
  2938. NJN WTC12 IF NOT ESCAPE 1
  2939. LCN 1
  2940.  
  2941. * PROCESS ESCAPE CHARACTER.
  2942.  
  2943. WTC10 ADN 2 SET ESCAPE CHARACTER BIAS
  2944. SHN 6
  2945. STD CH+2
  2946. LDD DP+3 CHECK MODE
  2947. LPN 2
  2948. ZJN WTC12 IF NOT EXTENDED MODE
  2949. STI DO CLEAR OUTPUT ONE CYCLE
  2950. RETURN EXI3
  2951. WTC11 RJM ROC READ OUTPUT CHARACTER
  2952. MJN WTC6 IF CONTROL BYTE
  2953. ADD CH+2 ADD ESCAPE CHARACTER BIAS
  2954. STD T7
  2955. ADC -214
  2956. MJN WTC12 IF LEGAL CHARACTER
  2957. LDN 0 PROCESS INVALID CHARACTER
  2958. STD CH+2
  2959. LJM WTC
  2960.  
  2961. * PERFORM TRANSLATION.
  2962.  
  2963. WTC12 LDD T7 SAVE CHARACTER FOR MONITORING TERMINAL
  2964.  
  2965. * ENTRY TO FORCE OUTPUT CHARACTER.
  2966. * (A) = (T7) = OUTPUT CHARACTER.
  2967.  
  2968. WTC13 ADC 4000 ADD VALID CHARACTER BIT
  2969. STD CH+2
  2970. WTC14 RJM TOC TRANSLATE CHARACTER
  2971. SHN 6
  2972. PJN WTC16 IF SPECIAL PROCESSING REQUIRED
  2973. AOD CH+1 ADVANCE CHARACTER COUNT/LINE
  2974. AOD CH+4 ADVANCE OUTPUT CHARACTER COUNT
  2975. SHN -14
  2976. ZJN WTC15 IF NO OVERFLOW (4096 CHARACTERS)
  2977. LDN /TLX/IAM REQUEST ISSUE ACCOUNTING MESSAGE
  2978. RJM ERQ
  2979. WTC15 LJM 0,CH ISSUE CHARACTER
  2980.  
  2981. * PERFORM SPECIAL PROCESSING.
  2982.  
  2983. WTC16 SHN -6 SET SPECIAL PROCESSOR INDEX
  2984. STD T1
  2985. STI DO CLEAR OUTPUT
  2986. LDM TWSP,T1 PROCESS CHARACTER
  2987. LJM EXI3
  2988.  
  2989. * PROCESS POSSIBLE END OF LINE.
  2990.  
  2991. WTC17 LDC 300 SET OUTPUT CONTROL
  2992. STD CH+2
  2993. STI DO CLEAR OUTPUT ONE CYCLE
  2994. RETURN EXI3
  2995. WTC18 RJM ROC GET NEXT CHARACTER
  2996. PJN WTC21 IF NOT CONTROL BYTE
  2997. LJM SOC
  2998.  
  2999.  
  3000. * ENTRY FROM CONTROL CHARACTER PROCESSORS.
  3001. * (A) = FALSE CONTROL BYTE VALUE.
  3002.  
  3003. WTC19 STD CM SAVE FALSE CONTROL BYTE
  3004. LDD CH+2 CHECK OUTPUT CONTROL
  3005. LMC 300
  3006. NJN WTC20 IF NOT SUSPENDED COLON
  3007. STD CM
  3008. SOD DP+2 BACK UP CHARACTER
  3009. WTC20 LDD CM
  3010. WTC21 ADC 400 SET ESCAPE CONTROL
  3011. STD CH+2
  3012. LDN 00 ISSUE COLON
  3013. STD T7
  3014. LJM WTC14
  3015.  
  3016.  
  3017. ** TECP - TABLE OF ESCAPE CONTROL PROCESSORS.
  3018.  
  3019. TECP BSS 0
  3020. LOC 1
  3021.  
  3022. CON WTC11 *0100* - ESCAPE 1.
  3023. CON WTC11 *0200* - ESCAPE 2.
  3024. CON WTC18 *0300* - POSSIBLE *EOL*.
  3025. CON WTC8 *04XX* - FALSE *EOL*.
  3026. CON WTC8 *05XX* - *04XX* AFTER *CMM*.
  3027. CON SOC1 *06XX* - SUSPENDED OUTPUT CONTROL.
  3028.  
  3029. TECPL BSS 0
  3030. LOC *O
  3031. TWSP SPACE 4,10
  3032. ** TWSP - TABLE OF SPECIAL WRITE PROCESSORS.
  3033.  
  3034.  
  3035. TWSP BSS 0
  3036. QUAL TRN
  3037. LOC 0
  3038.  
  3039. NLO CON /WTM/WTC NULL
  3040. ANL CON /WTM/ANL *ASCII* TERMINAL NEW LINE
  3041. ACR CON /WTM/ACR *ASCII* TERMINAL CARRIAGE RETURN
  3042. CNL CON /WTM/CNL CORRESPONDENCE CODE END OF OUTPUT LINE
  3043. CCR CON /WTM/CCR CORRESPONDENCE CODE CARRIAGE RETURN
  3044. CLF CON /WTM/CLF CORRESPONDENCE CODE LINE FEED
  3045. CBS CON /WTM/CBS CORRESPONDENCE CODE BACKSPACE
  3046.  
  3047. LOC *O
  3048. NOREF NLO
  3049. QUAL *
  3050. TITLE WRITE MODE - SUBROUTINES.
  3051. ROC SPACE 4,10
  3052. ** ROC - READ OUTPUT CHARACTER.
  3053. *
  3054. * EXIT (T5) = OUTPUT BYTE ADDRESS.
  3055. * (T7) = LOWER 12 BITS OF (A).
  3056. * (A) = POSITIVE -
  3057. * (A) = OUTPUT CHARACTER.
  3058. * (A) = NEGATIVE -
  3059. * (A) = 400000B + CONTROL BYTE VALUE, OR,
  3060. * 770001 (END OF POT).
  3061. *
  3062. * USES DP+2, T7, T0 - T5.
  3063. *
  3064. * MACROS ADCBM.
  3065.  
  3066.  
  3067. * PROCESS ODD (LOWER) CHARACTER.
  3068.  
  3069. ROC9 LPN 7 SET BYTE NUMBER
  3070. STD T5
  3071. AOD DP+2 ADVANCE CHARACTER NUMBER
  3072. SHN -4 READ DATA WORD
  3073. LPN 7
  3074. SHN 17
  3075. LMD DP+1
  3076. SHN 3
  3077. ADCBM
  3078. CRD T0
  3079. LDI T5 EXTRACT LOWER CHARACTER
  3080. LPN 77
  3081. ROC10 STD T7 SET CHARACTER
  3082. * UJN ROCX
  3083.  
  3084.  
  3085. * ROC - ENTRY.
  3086.  
  3087. ROC SUBR ENTRY/EXIT
  3088. LDD DP+1 CHECK CURRENT POT POINTER
  3089. SHN -6
  3090. LMN 77
  3091. NJN ROC1 IF NOT MESSAGE PSEUDO-POT POINTER
  3092. LJM /RDM/ITM1 GET MESSAGE CHARACTER
  3093.  
  3094. ROC1 LDD DP+2 CHECK CHARACTER NUMBER
  3095. SHN 21
  3096. MJN ROC9 IF ODD CHARACTER
  3097.  
  3098. * PROCESS EVEN (UPPER) CHARACTER.
  3099.  
  3100. LPN 77 CHECK WORD STATUS
  3101. LMN 75
  3102. NJN ROC2 IF NOT END OF WORD AND END OF POT
  3103. LDC .ECP
  3104. UJN ROCX
  3105.  
  3106. ROC2 LPN 7
  3107. NJN ROC3 IF NOT END OF WORD
  3108. STD T5 SET BYTE 0
  3109. LDN 21-12 ADVANCE WORD AND SET ODD CHARACTER
  3110. RAD DP+2
  3111. UJN ROC4
  3112.  
  3113. ROC3 LMN 5 SET BYTE NUMBER
  3114. STD T5
  3115. AOD DP+2 ADVANCE CHARACTER
  3116. ROC4 SHN -4 SET ADDRESS OF WORD
  3117. LPN 7
  3118. SHN 17
  3119. LMD DP+1
  3120. SHN 3
  3121. ADCBM
  3122. CRD T0 READ WORD
  3123. LDI T5 EXTRACT UPPER CHARACTER
  3124. SHN -6
  3125. NJN ROC6 IF NOT CONTROL BYTE
  3126. LDI T5
  3127. ZJN ROC7 IF ZERO BYTE
  3128. SBN TSOCL
  3129. PJN ROC8 IF NOT CONTROL BYTE
  3130. ADN TSOCL
  3131. ROC5 LMC 400000
  3132. ROC6 LJM ROC10
  3133.  
  3134. * CHECK FOR END OF LINE.
  3135.  
  3136. ROC7 AOD T5 ADVANCE BYTE POINTER
  3137. LMN 5
  3138. ZJN ROC5 IF END OF WORD
  3139. LDI T5
  3140. ZJN ROC7 IF NO DATA IN NEXT BYTE
  3141. ROC8 LDN 0 ISSUE COLON
  3142. UJN ROC6
  3143. SOC SPACE 4,10
  3144. ** SOC - SET OUTPUT CONTROL.
  3145. *
  3146. * ENTRY (A) = OUTPUT CONTROL BYTE SET BY *ROC*.
  3147.  
  3148.  
  3149. SOC4 RJM RLT CHECK POT LINK
  3150. NJN SOC5 IF LINKED
  3151. LDC /CTL/RWC1 SET REENTRY ADDRESS
  3152. STD DP+4
  3153. UJN SOC6
  3154.  
  3155. * SET NEXT POT.
  3156.  
  3157. SOC5 STD DP SET POT POINTER
  3158. LDD DP+1 DROP CURRENT POT
  3159. STD RQ+3
  3160. LDN /TLX/DRP
  3161. RJM ERQ
  3162. LDD DP SET CURRENT POT
  3163. STD DP+1
  3164. RJM RLT CHECK THIS POT LINK
  3165. NJN SOC7 IF POT LINKED
  3166.  
  3167. * REQUEST ADDITIONAL OUTPUT.
  3168.  
  3169. SOC6 LDN /TLX/RES REQUEST ADDITIONAL OUTPUT
  3170. RJM ERQ
  3171. SOC7 LDN 0 CLEAR LINE POSITION
  3172. STD DP+2
  3173. STI DO CLEAR OUTPUT
  3174. LJM EXI4 EXIT
  3175.  
  3176.  
  3177. * SOC - ENTRY/EXIT.
  3178.  
  3179. SOC SHN 21-20 CHECK BIT 20
  3180. MJN SOC4 IF SET, THEN END OF POT
  3181. AOD DP+2 ADVANCE CHARACTER POINTER
  3182.  
  3183. * CHECK CONTROL BYTE.
  3184.  
  3185. SOC1 LDD T7 CHECK CONTROL BYTE
  3186. ZJN SOC3 IF END OF LINE
  3187. LMN 2R"IB"
  3188. ZJN SOC2 IF INTERNAL END OF BLOCK
  3189. LDD DP+3 CHECK MODE
  3190. SHN 21-3
  3191. PJN SOC2 IF NOT BINARY
  3192. SOD DP+2 TERMINATE BINARY MODE
  3193. LJM BWT4
  3194.  
  3195. * EXIT TO CONTROL BYTE PROCESSOR.
  3196.  
  3197. SOC2 LDN /TLX/RES REQUEST ADDITIONAL OUTPUT
  3198. RJM ERQ
  3199. SOC3 LDM TSOC,T7 SET REENTRY ADDRESS
  3200. LJM EXI6 EXIT
  3201. TSOC SPACE 4,10
  3202. ** TSOC - TABLE OF OUTPUT CONTROL BYTE PROCESSORS.
  3203. * INDEXED BY CONTROL CODE.
  3204.  
  3205.  
  3206. TSOC BSS 0
  3207. LOC 0
  3208.  
  3209. CON EOL END OF LINE
  3210. CON EOB END OF BLOCK
  3211. CON ECB END OF CORRESPONDENCE BLOCK
  3212. CON ATI AUTO INPUT
  3213. CON LOF LOG OFF USER
  3214. CON TPI TRANSPARENT INPUT
  3215. CON BNI BINARY INPUT
  3216. CON BNO BEGIN BINARY OUTPUT
  3217. CON EOL UNUSED - TREAT AS END OF LINE
  3218. CON BEO BEGIN EXTENDED OUTPUT
  3219. CON EOL UNUSED - TREAT AS END OF LINE
  3220. CON EOS END OF STRING
  3221. CON IEB INTERNAL END OF BLOCK
  3222. CON ETI EXECUTIVE AUTO MODE INPUT
  3223.  
  3224. TSOCL BSS 0
  3225. LOC *O
  3226. SRC SPACE 4,10
  3227. ** SRC - SEND REPEATED CHARACTER.
  3228. *
  3229. * ENTRY (A) = REPEAT COUNT.
  3230. * ((DO)) = CHARACTER.
  3231. *
  3232. * EXIT ((DO)) = 0.
  3233. *
  3234. * USES CH, CH+1.
  3235. *
  3236. * MACROS RETURN.
  3237.  
  3238.  
  3239. SRC2 STI DO CLEAR DATA OUTPUT
  3240.  
  3241. SRC SUBR ENTRY/EXIT
  3242. STD CH+1 SET REPEAT COUNT
  3243. ZJN SRC2 IF NULL COUNT
  3244. LDM SRC SET RETURN ADDRESS
  3245. STD CH
  3246. RETURN EXI3
  3247. SOD CH+1 DECREMENT REPEAT COUNT
  3248. ZJN SRC1 IF COUNT EXHAUSTED
  3249. LJM EXI4
  3250.  
  3251. SRC1 STI DO CLEAR DATA OUTPUT
  3252. LJM 0,CH RETURN TO CALLER
  3253. TOC SPACE 4,10
  3254. ** TOC - TRANSLATE OUTPUT CHARACTER.
  3255. *
  3256. * ENTRY (T7) = CHARACTER.
  3257. *
  3258. * EXIT (A) = TRANSLATED CHARACTER.
  3259. * (T7) = TRANSLATED CHARACTER.
  3260. *
  3261. * USES T1.
  3262. *
  3263. * CALLS TCH.
  3264.  
  3265.  
  3266. PPT IFNE VPPT,0
  3267.  
  3268. TOC1 STD T1 SET TABLE INDEX
  3269. LDC TOTA LOAD CONVERSION INDEX
  3270. RJM TCH
  3271. TOC2 STD T7
  3272.  
  3273. TOC SUBR ENTRY/EXIT
  3274. LDD DP+3 CHECK CONVERSION INDEX
  3275. SHN -7
  3276. NJN TOC1 IF SPECIAL CONVERSION REQUIRED
  3277. LDM TOPT,T7 TRANSLATE CHARACTER
  3278. UJN TOC2
  3279.  
  3280. PPT ELSE
  3281.  
  3282. TOC SUBR ENTRY/EXIT
  3283. LDC TOTA SET OUTPUT CONVERSION
  3284. RJM TCH TRANSLATE CHARACTER
  3285. UJN TOCX EXIT
  3286.  
  3287. PPT ENDIF
  3288. TITLE WRITE MODE - CONTROL BYTE PROCESSORS.
  3289. *** OUTPUT CONTROL BYTES.
  3290. *
  3291. * THE OUTPUT CONTROL BYTES ALLOW A USER PROGRAM TO CONTROL
  3292. * CERTAIN DRIVER FUNCTIONS.
  3293. EOL SPACE 4,10
  3294. *** 0000 END OF LINE.
  3295. *
  3296. *
  3297. * THIS CONTROL BYTE CAUSES THE TERMINAL TO BE POSITIONED TO
  3298. * THE BEGINNING OF THE NEXT LINE. THE REMAINDER OF THE WORD
  3299. * IN WHICH THE *END OF LINE* OCCURS IS DISCARDED.
  3300.  
  3301.  
  3302. EOL LDD DP+2 CLEAR WORD AND CHARACTER POINTERS
  3303. SCN 17
  3304. LMN 12
  3305. STD DP+2
  3306. LDD DP+3 CHECK FOR BINARY MODE
  3307. LPN 10
  3308. NJN EOL2 IF BINARY MODE
  3309.  
  3310. * ISSUE NEW LINE TO TERMINAL AND RESET OUTPUT MODE.
  3311. * IF 66B IS A CONTROL CHARACTER, THEN THE TERMINAL IS
  3312. * A TYPE *D* TRANSLATION TABLE TERMINAL AND THE OUTPUT
  3313. * MODE MUST REMAIN *EXTENDED*. IF NOT, THEN THE
  3314. * OUTPUT MODE MUST BE RESET TO THAT INDICATED IN THE
  3315. * TERMINAL TABLE.
  3316.  
  3317. LDN 66 CHECK IF *66* IS CONTROL CHARACTER
  3318. STD T7
  3319. RJM TOC
  3320. SHN 21-13
  3321. PJN EOL1 IF *D* TYPE TERMINAL
  3322. RJM CEM CLEAR/RESET EXTENDED MODE
  3323. EOL1 LDC .INL ISSUE NEW LINE
  3324. STD T7
  3325. LJM WTC13
  3326.  
  3327. EOL2 LMD DP+3 CLEAR BINARY MODE
  3328. STD DP+3
  3329. LDN 0 CLEAR CHARACTER COUNT
  3330. STD CH+2 CLEAR ESCAPE CONTROL
  3331. LJM WTM5 CONTINUE OUTPUT
  3332. EOB SPACE 4,10
  3333. *** 0001 END OF BLOCK.
  3334. *
  3335. *
  3336. * THIS CONTROL BYTE IS USED TO TERMINATE OUTPUT BEFORE
  3337. * THE END OF POT IS REACHED. THE REMAINDER OF THE POT IS
  3338. * DISCARDED AND THE TERMINAL IS NOT POSITIONED TO THE
  3339. * START OF THE NEXT LINE.
  3340. *
  3341. * THIS CONTROL BYTE MUST BE FOLLOWED BY AN END-OF-LINE.
  3342.  
  3343.  
  3344. EOB LDN 1RA
  3345. RJM CLT CHECK FOR LINE TERMINATION
  3346. EOB1 LDN 0 CLEAR CHARACTER POSITION
  3347. STD DP+2
  3348. STD CH+1 RESET CHARACTER COUNT
  3349. STD CH+2 CLEAR ESCAPE CONTROL
  3350. STI DO CLEAR OUTPUT
  3351. LJM X3RWC
  3352. EOB SPACE 4,10
  3353. ** 0002 END OF CORRESPONDENCE BLOCK.
  3354. *
  3355. *
  3356. * SPECIAL END OF BLOCK PROCESSING FOR POSSIBLE
  3357. * CORRESPONDENCE TERMINALS.
  3358. * THIS CODE ENABLES INPUT IF CORRESPONDENCE TERMINAL,
  3359. * OTHERWISE IT IS TREATED AS A *0001* BYTE.
  3360. *
  3361. * THIS CONTROL BYTE MUST BE FOLLOWED BY AN END-OF-LINE.
  3362.  
  3363.  
  3364. ECB LDN 1RB
  3365. RJM CLT CHECK FOR LINE TERMINATION
  3366. LDD CH CHECK TERMINAL TYPE
  3367. LMC CWT
  3368. NJN EOB1 IF NOT CORRESPONDENCE TERMINAL
  3369. LDC .CEOT ENABLE INPUT
  3370. STI DO
  3371. RETURN EXI1
  3372. UJN EOB1
  3373. ATI SPACE 4,10
  3374. *** 0003 AUTO INPUT.
  3375. *
  3376. *
  3377. * THIS CONTROL BYTE MUST BE FOLLOWED BY AN END OF LINE
  3378. * AND TERMINATES OUTPUT.
  3379. * THE WORD CONTAINING THE AUTO INPUT CONTROL BYTE IS
  3380. * MOVED TO THE FIRST WORD OF THE POT FOR SUBSEQUENT
  3381. * INPUT WHICH MUST FOLLOW IMMEDIATELY.
  3382.  
  3383.  
  3384. ATI7 LDN 1RC REENTER WRITE MODE
  3385. * LDN 1RM (CONTROL BYTE 0015B)
  3386. ATIB EQU *-1
  3387. LJM WTC19
  3388.  
  3389. * ATI - ENTRY.
  3390.  
  3391. ATI LDC LDNI+1RC CONTROL BYTE TO REENTER WRITE MODE
  3392. STM ATIB
  3393. LDC MDS SET UP CALL TO SUBROUTINE MDS
  3394. STM ATIA
  3395. LDN 1RC
  3396. ATI1 RJM CLT CHECK FOR LINE TERMINATION
  3397. RJM CKL CHECK *LIST* STATUS
  3398. MJN ATI7 IF FILE BEING LISTED
  3399. RJM RDC READ VDCT
  3400. LPN 2
  3401. NJN ATI3 IF AUTO INPUT MODE SET
  3402. LDD DC+4 CHECK VDCT INTERLOCK
  3403. ZJN ATI2 IF NOT INTERLOCKED
  3404. LDN 2 SET AUTO INPUT MODE
  3405. RAD DC
  3406. TTADD VDCT
  3407. CWD DC
  3408. UJN ATI3 SET WORD/BYTE NUMBER
  3409.  
  3410. ATI2 LDN /TLX/SAI REQUEST SET AUTO INPUT
  3411. RJM ERQ
  3412.  
  3413. ATI3 LDD DP+2 SET WORD NUMBER
  3414. SHN 16
  3415. STD T6
  3416. SHN -17 SET BYTE NUMBER
  3417. STD T5
  3418. SOD T5
  3419. LDD DP+1
  3420. SHN 3 READ DATA WORD
  3421. LMD T6
  3422. ADCBM
  3423. CRD T0
  3424. LDN 0 CLEAR BYTE
  3425. STI T5
  3426. STD CH+2 CLEAR ESCAPE CONTROL
  3427. RJM MDS RESTORE WORD AND SET FIRST WORD
  3428. * RJM RSW (CONTROL BYTE 0015)
  3429. ATIA EQU *-1
  3430. SCN 17
  3431. SHN 5
  3432. LMD DP+2
  3433. SBN 2 DECREMENT CHARACTER NUMBER
  3434. STD DP+2
  3435. LPN 17
  3436. STD CH+1 SET INPUT LINE CHARACTER COUNT
  3437. LDD DP+3 CLEAR BINARY AND EXTENDED MODES
  3438. SCN 12
  3439. STD DP+3
  3440. LDD DC CHECK MODE
  3441.  
  3442. ATI4 SHN 21-1
  3443. MJN ATI6 IF AUTO MODE SET
  3444. LDD DC+4 CHECK FOR DRIVER REQUEST
  3445. ZJN ATI5 IF NOT DRIVER REQUEST
  3446. LJM X3RWC ENTER READ WRITE CONTROL
  3447.  
  3448. ATI5 RETURN EXI3 WAIT FOR TELEX
  3449. RJM RDC READ VDCT
  3450. UJN ATI4 CHECK FOR AUTO MODE
  3451.  
  3452. ATI6 LPN 2 SET NORMAL/EXTENDED MODE BIT
  3453. RAD DP+3
  3454. LJM /CTL/BGI BEGIN INPUT
  3455. LOF SPACE 4,10,10
  3456. *** 0004 LOG OFF USER.
  3457. *
  3458. *
  3459. * THIS BYTE LOGS OFF THE USER. IT MUST BE THE FIRST
  3460. * BYTE OF OUTPUT AND MUST BE FOLLOWED BY AN END-OF-LINE.
  3461.  
  3462.  
  3463. LOF RJM CKL CHECK *LIST* STATUS
  3464. MJN LOF2 IF FILE BEING LISTED
  3465. LDD CH+1 CHECK LINE COUNT
  3466. NJN LOF2 IF NOT FIRST BYTE
  3467. LDN 1RD
  3468. RJM CLT CHECK FOR LINE TERMINATION
  3469. LDN 1 SET NORMAL LOGOFF
  3470. STD RQ+2
  3471. LDN /TLX/FLO FORCE LOGOUT
  3472. RJM ERQ
  3473. LOF1 LJM EOB1
  3474.  
  3475. LOF2 LDN 1RD
  3476. UJN TPI2 REENTER WRITE MODE
  3477. SPACE 4,10,10
  3478. *** 0005 SET TRANSPARENT INPUT.
  3479. *
  3480. *
  3481. * THIS CONTROL BYTE SETS TRANSPARENT INPUT FOR THE NEXT INPUT
  3482. * REQUEST. IT MUST APPEAR IN THE FIRST BYTE OF A WORD
  3483. * AND BE FOLLOWED BY AN END-OF-LINE.
  3484. *
  3485. * TRANSPARENT INPUT ALLOWS ALL CHARACTERS TO BE TRANSMITTED
  3486. * TO THE CPU PROGRAM.
  3487.  
  3488.  
  3489. TPI RJM CKL CHECK *LIST* STATUS
  3490. MJN TPI1 IF FILE BEING LISTED
  3491. LDD DP+2 CHECK BYTE
  3492. LPN 17
  3493. LMN 2
  3494. NJN TPI1 IF NOT FIRST BYTE
  3495. LDN 1RE
  3496. RJM CLT CHECK FOR LINE TERMINATION
  3497. LDD DP+3 SET TRANSPARENT MODE
  3498. SCN 14
  3499. LMN 4
  3500. STD DP+3
  3501. UJN LOF1
  3502.  
  3503. TPI1 LDN 1RE
  3504.  
  3505. * ENTRY FROM *LOF2*.
  3506.  
  3507. TPI2 LJM WTC19 REENTER WRITE MODE
  3508. SPACE 4,10,10
  3509. *** 0006 SET BINARY INPUT.
  3510. *
  3511. *
  3512. * THIS CONTROL BYTE SETS BINARY INPUT FOR THE NEXT INPUT
  3513. * REQUEST. THE CONTROL BYTE MUST BE THE FIRST BYTE OF A WORD.
  3514. * THE NEXT 2 BYTES ARE THE TERMINATION CONDITIONS AS FOLLOWS -
  3515. *
  3516. * THE FIRST BYTE (BYTE 1) IS THE MAXIMUM NUMBER OF CHARACTERS
  3517. * TO BE RECEIVED BEFORE THE INPUT IS TERMINATED. IF THE
  3518. * VALUE IS 0, 1 IS ASSUMED.
  3519. *
  3520. * THE SECOND CONTROL BYTE (BYTE 2) IS A TERMINATION CODE.
  3521. * WHEN A CHARACTER IS RECEIVED FROM THE TERMINAL WHICH
  3522. * MATCHES THE BOTTOM 8 BITS OF THIS BYTE, THE INPUT OPERATION
  3523. * IS TERMINATED. IF BIT 13 OF THIS BYTE IS SET, NO TERMINATION
  3524. * CHARACTER IS ASSUMED.
  3525. *
  3526. * EXIT (CH) = TERMINATION CHARACTER.
  3527. * (CH+1) = CHARACTER COUNT.
  3528.  
  3529.  
  3530. BNI5 LDN 1RF
  3531. UJN TPI2 REENTER WRITE MODE
  3532.  
  3533. * BNI - ENTRY.
  3534.  
  3535. BNI RJM CKL CHECK *LIST* STATUS
  3536. MJN BNI5 IF FILE BEING LISTED
  3537. LDD DP+3 CLEAR BINARY MODE
  3538. SCN 10
  3539. STD DP+3
  3540. LDD CH+1 CHECK CHARACTER COUNT
  3541. NJN BNI5 IF NOT FIRST BYTE
  3542. RJM SWA SET WORD ADDRESS
  3543. CRD CM READ DATA WORD
  3544. LDD CM+3 CHECK FOR TERMINATION
  3545. ADD CM+4
  3546. NJN BNI5 IF NOT TERMINATED
  3547. LDD CM+1 SET CHARACTER COUNT
  3548. NJN BNI2
  3549. BMI1 LDN 1
  3550. BNI2 STD CH+1
  3551. ADC -MXIC-1
  3552. MJN BNI4 IF NOT MORE THAN INTERACTIVE MAXIMUM
  3553. ADC -MXTC+MXIC TERMINAL CHARACTER COUNT
  3554. PJN BNI3 IF NOT MORE THAN TRANSACTION MAX
  3555. RJM RDC READ VDCT
  3556. SHN 21-4
  3557. MJN BNI4 IF TRANSACTION MODE
  3558. BNI3 RJM RDC READ VDCT
  3559. SHN 21-6
  3560. MJN BMI1 IF READ DATA MODE
  3561. BNI4 LDD CM+2 SET TERMINATION CHARACTER
  3562. STD CH
  3563. LDN 7 ENTER BINARY OUTPUT CONTROL BYTE
  3564. STD ZR
  3565. LDD DP+1 STORE FIRST WORD
  3566. SHN 3
  3567. ADCBM
  3568. CWD ZR
  3569. LDN 0
  3570. STD ZR
  3571. LDN 2 SET CHARACTER 2
  3572. STD DP+2
  3573. LDN 10 SET BINARY MODE
  3574. RAD DP+3
  3575. LJM X3RWC ENTER READ/WRITE CONTROL
  3576. BNO SPACE 4,10
  3577. *** 0007 BEGIN BINARY OUTPUT.
  3578. *
  3579. *
  3580. * THIS CONTROL BYTE INITIATES BINARY OUTPUT. IT MUST
  3581. * APPEAR IN THE FIRST BYTE OF OUTPUT.
  3582.  
  3583.  
  3584. BNO LDD DP+3 CLEAR BINARY MODE
  3585. SCN 10
  3586. STD DP+3
  3587. LDD CH+1 CHECK CHARACTER COUNT
  3588. NJN BNO1 IF NOT FIRST BYTE
  3589. LDN 10 SET BINARY TRANSMISSION
  3590. RAD DP+3
  3591. RETURN EXI1,BWT ENTER BINARY WRITE
  3592.  
  3593. BNO1 LDN 1RG
  3594.  
  3595. * ENTRY FROM *BEO1*.
  3596.  
  3597. BNO2 LJM WTC19 REENTER WRITE MODE
  3598. BEO SPACE 4,10,10
  3599. *** 0011 BEGIN EXTENDED OUTPUT.
  3600. *
  3601. *
  3602. * THIS CONTROL BYTE INITIATES EXTENDED MODE OUTPUT.
  3603. * IT MUST APPEAR IN THE FIRST BYTE OF THE OUTPUT LINE.
  3604.  
  3605.  
  3606. BEO BSS 0 ENTRY
  3607. LDD CH+1
  3608. NJN BEO1 IF NOT FIRST BYTE
  3609. LJM WTM4 INITIATE EXTENDED OUTPUT
  3610.  
  3611. BEO1 LDN 1RI
  3612. UJN BNO2 REENTER WRITE MODE
  3613. EOS SPACE 4,10,10
  3614. *** 0013 END OF STRING.
  3615. *
  3616. *
  3617. * THIS BYTE ACTS AS A LOGICAL LINE TERMINATOR WHEN
  3618. * FOLLOWED BY AN END OF LINE. THE TERMINAL CARRIAGE
  3619. * WILL NOT BE REPOSITIONED AND OUTPUT WILL CONTINUE
  3620. * WITH THE NEXT LINE OF DATA.
  3621.  
  3622.  
  3623. EOS LDN 1RK CHECK FOR LINE TERMINATION
  3624. RJM CLT
  3625. STD CH+1 CLEAR CHARACTER COUNT
  3626. STD CH+2 CLEAR CONTROL BYTE
  3627. RJM ROC FORCE LINE SKIP IF IN BYTE 4
  3628. LMC .ECP CHECK IF END OF POT REACHED
  3629. NJN EOS1 IF NOT END OF CURRENT POT
  3630. LMC .ECP
  3631. LJM SOC SET OUTPUT CONTROL
  3632.  
  3633. EOS1 LDD DP+2 REPOSITION TO READ NEXT WORD
  3634. SCN 17
  3635. LMN 12
  3636. STD DP+2
  3637. RJM CEM CLEAR EXTENDED MODE
  3638. RETURN EXI3,WTM5 CONTINUE OUTPUT
  3639. IEB SPACE 4,10,10
  3640. ** 0014 INTERNAL END OF BLOCK.
  3641. *
  3642. *
  3643. * THIS CONTROL BYTE IS USED INTERNALLY BY *1TO* ONLY TO
  3644. * TERMINATE OUTPUT BEFORE THE END OF POT IS REACHED. THE
  3645. * REMAINDER OF THE POT IS DISCARDED, THE TERMINAL IS NOT
  3646. * REPOSITIONED TO THE BEGINNING OF THE NEXT LINE, AND ANY
  3647. * SPECIAL MODES (E.G., EXTENDED OR BINARY TRANSMISSION)
  3648. * WILL REMAIN SET. THIS BYTE MUST APPEAR AS THE FIRST BYTE
  3649. * OF A WORD, AND MUST BE FOLLOWED BY AN END OF LINE.
  3650.  
  3651.  
  3652. IEB LDD DP+2 CHECK CHARACTER POSITION
  3653. LPN 17
  3654. LMN 2
  3655. NJN IEB1 IF NOT FIRST BYTE IN WORD
  3656. LDN 1RL CHECK FOR LINE TERMINATION
  3657. RJM CLT
  3658. STD DP+2 CLEAR CHARACTER POSITION
  3659. STI DO CLEAR OUTPUT
  3660. RETURN EXI3,/CTL/RWC1
  3661.  
  3662. IEB1 LDN 1RL
  3663. LJM WTC19 REENTER WRITE MODE
  3664. ETI SPACE 4,10
  3665. ** 0015 EXECUTIVE AUTO INPUT.
  3666. *
  3667. * THIS CONTROL BYTE IS INTENDED TO BE USED BY *IAFEX* FOR
  3668. * AUTO MODE INPUT. THE WORD IN WHICH THE CONTROL BYTE OCCURS
  3669. * IS USED AS THE FIRST N CHARACTERS OF THE INPUT LINE.
  3670. * N MUST BE EVEN AND LESS THAN 9.
  3671. *
  3672. * THIS CONTROL BYTE MUST BE FOLLOWED BY AN END-OF-LINE.
  3673.  
  3674.  
  3675. ETI LDC LDNI+1RM CONTROL BYTE TO REENTER WRITE MODE
  3676. STM ATIB
  3677. LDC RSW SET UP CALL TO SUBROUTINE RSW
  3678. STM ATIA
  3679. LDN 1RM
  3680. LJM ATI1 AUTO MODE INPUT PROCESSING
  3681. CKL SPACE 4,10,10
  3682. ** CKL - CHECK LIST STATUS.
  3683. *
  3684. * EXIT (A) = NEGATIVE IF FILE LIST IN PROGRESS.
  3685. *
  3686. * USES - (T1-T5)
  3687.  
  3688.  
  3689. CKL SUBR ENTRY/EXIT
  3690. TTADD VROT READ *VROT*
  3691. CRD T1
  3692. LDD T1+4 LOAD STATUS BYTE
  3693. SHN 21-6 SHIFT *LIST* STATUS BIT
  3694. UJN CKLX RETURN
  3695. CLT SPACE 4,10,10
  3696. ** CLT - CHECK FOR LINE TERMINATION.
  3697. *
  3698. * CHECKS CURRENT OUTPUT FOR LINE TERMINATION.
  3699. *
  3700. * ENTRY (A) = NEXT OUTPUT CHARACTER IF NOT END OF LINE.
  3701. *
  3702. * EXIT TO CALLING ROUTINE IF LINE TERMINATED.
  3703. * TO WRITE MODE IF LINE NOT TERMINATED.
  3704. * LINE TERMINATION CAN BE EXPLICIT IN THE CASE OF
  3705. * A VALID END OF LINE FOLLOWING THE CURRENT LINE
  3706. * POSITION, OR IT MAY BE IMPLICIT IN THE CASE OF THERE
  3707. * BEING NO FURTHER DATA, EITHER ASSIGNED OR ON
  3708. * MASS STORAGE.
  3709. * IN THE EVENT THAT NO DETERMINATION CAN BE MADE
  3710. * BECAUSE THE DRIVER IS AT THE END OF THE CURRENT
  3711. * POT STRING BUT OUTPUT IS WAITING ON MASS STORAGE,
  3712. * OR IF THE JOB IS CURRENTLY IN EXECUTION,
  3713. * EXIT IS TO READ/WRITE CONTROL WITH SUSPENDED CONTROL
  3714. * STATUS SET IN (CH+2).
  3715. *
  3716. * USES T0 - T5, CM, CM+1, (MA)-(MA)+5.
  3717. *
  3718. * CALLS RDC, RLT, ROC.
  3719.  
  3720.  
  3721. CLT SUBR ENTRY/EXIT
  3722. STD CM SAVE CALLING CODE
  3723. LDD MA SAVE POINTER WORD
  3724. CWD DP
  3725. RJM ROC READ NEXT CHARACTER
  3726. LMC .ECP
  3727. ZJN CLT3 IF END OF CURRENT POT
  3728. LMC .ECP
  3729.  
  3730. * CHECK NEXT OUTPUT BYTE FOR END OF LINE.
  3731.  
  3732. CLT1 SHN 1 CHECK FOR END OF LINE
  3733. LMN 1
  3734. STD CM+1 STORE FLAG (ZERO IF END OF LINE)
  3735. CLT2 LDD MA RESTORE POINTER WORD
  3736. CRD DP
  3737. LDD CM+1 CHECK FLAG
  3738. ZJN CLTX IF END OF LINE
  3739. LJM CLT6
  3740.  
  3741. * ADVANCE TO NEXT POT.
  3742.  
  3743. CLT3 STD DP+2 CLEAR POINTERS
  3744. STD CM+1
  3745. RJM RLT CHECK POT LINK
  3746. ZJN CLT4 IF POT NOT LINKED
  3747. STD DP+1 SET NEXT POT
  3748. RJM ROC READ NEXT CHARACTER
  3749. UJN CLT1
  3750.  
  3751. * CHECK FOR ADDITIONAL OUTPUT.
  3752.  
  3753. CLT4 RJM RDC READ VDCT
  3754. SHN 21-13
  3755. MJN CLT2 IF DRIVER REQUEST
  3756. LDD DC+4
  3757. NJN CLT5 IF OUTPUT ASSIGNED
  3758. TTADD VROT CHECK JOB STATUS
  3759. CRD T0
  3760. LDD T0+4
  3761. LPC 2001
  3762. LMN 1
  3763. ZJN CLT2 IF NOT EXECUTING AND NO OUTPUT
  3764.  
  3765. * SUSPEND CONTROL UNTIL FURTHER OUTPUT IS ASSIGNED.
  3766.  
  3767. CLT5 LDD MA RESET POINTER WORD
  3768. CRD DP
  3769. LDD CM SET SUSPENDED CONTROL
  3770. ADC 600
  3771. STD CH+2
  3772. RETURN EXI3,/CTL/RWC1 ENTER READ/WRITE CONTROL
  3773.  
  3774. * REENTER WRITE MODE IF NO TERMINATOR.
  3775.  
  3776. CLT6 LDD DP+3 CHECK *BINARY* MODE
  3777. SHN 21-3
  3778. MJN CLT7 IF SET
  3779. LDD CM SET OUTPUT CHARACTER
  3780. LJM WTC19 REENTER WRITE MODE
  3781.  
  3782. CLT7 SOD DP+2 BACK UP CHARACTER
  3783. LJM BWT4 EXIT BINARY MODE
  3784. MDS SPACE 4,10
  3785. ** MDS - MOVE DATA WORD TO START OF POT.
  3786. *
  3787. * MOVE THE WORD CONTAINING THE AUTO INPUT CONTROL BYTE
  3788. * TO THE FIRST WORD OF THE POT FOR SUBSEQUENT INPUT.
  3789. *
  3790. * ENTRY (TO - T4) = DATA WORD.
  3791. *
  3792. * EXIT (A) = DATA FOR UPDATING (DP+2).
  3793. *
  3794. * USES T6.
  3795. *
  3796. * MACROS ADCBM.
  3797.  
  3798.  
  3799. MDS SUBR ENTRY/EXIT
  3800. LDD DP+1 MOVE DATA WORD TO START OF POT
  3801. SHN 3
  3802. ADCBM
  3803. CWD T0
  3804. LDD DP+2 SET FIRST WORD
  3805. LPC 0617 CLEAR POT WORD POINTER
  3806. STD DP+2
  3807. UJN MDSX RETURN
  3808. RSW SPACE 4,10
  3809. ** RSW - RESTORE WORD.
  3810. *
  3811. * THE WORD IN WHICH THE CONTROL BYTE 0015 OCCURS IS USED
  3812. * AS THE FIRST N CHARACTERS OF THE INPUT LINE.
  3813. *
  3814. * ENTRY (T0 - T4) = DATA WORD.
  3815. *
  3816. * EXIT (A) = DATA FOR UPDATING DP+2.
  3817. *
  3818. * USES DP, T6.
  3819. *
  3820. * MACROS ADCBM.
  3821.  
  3822.  
  3823. RSW SUBR ENTRY/EXIT
  3824. LDD DP+1 RESTORE WORD
  3825. STD DP
  3826. SHN 3
  3827. LMD T6
  3828. ADCBM
  3829. CWD T0
  3830. LDD DP+2 SET FIRST WORD
  3831. UJN RSWX RETURN
  3832. TITLE WRITE MODE - SPECIAL CHARACTER PROCESSORS.
  3833. ANL SPACE 4,10
  3834. *** *ASCII* TERMINAL SPECIAL OUTPUT PROCESSING.
  3835. ANL SPACE 4,10
  3836. *** NEW LINE.
  3837. *
  3838. *
  3839. * (1.) ISSUE *CR* TO TERMINAL.
  3840. * (2.) ISSUE *LF* TO TERMINAL.
  3841. * (3.) IF USER HAS NOT SPECIFIED A DELAY COUNT, SET N = 2.
  3842. * OTHER WISE, SET N = USER SPECIFIED DELAY COUNT.
  3843. * (4.) IF TERMINAL IS NOT IN TAPE MODE, ISSUE N *NUL* CODES.
  3844. * OTHERWISE, ISSUE N *DEL* CODES.
  3845.  
  3846.  
  3847. ANL LDD DP+3 TOGGLE ON ODD PARITY
  3848. LPN 1
  3849. LMC .ACR ISSUE *CR*
  3850. STI DO
  3851. RETURN EXI3
  3852. LDD DP+3 TOGGLE ON ODD PARITY
  3853. LPN 1
  3854. LMC .ALF+20000 ISSUE *LF*, REPEAT COUNT = 2
  3855. UJN ACR1
  3856. ACR SPACE 4,10
  3857. *** CARRIAGE RETURN.
  3858. *
  3859. *
  3860. * (1.) ISSUE *CR* TO TERMINAL.
  3861. * (2.) IF USER HAS NOT SPECIFIED A DELAY COUNT, SET N = 3.
  3862. * OTHER WISE, SET N = USER SPECIFIED DELAY COUNT.
  3863. * (3.) IF TERMINAL IS NOT IN TAPE MODE, ISSUE N *NUL* CODES.
  3864. * OTHERWISE, ISSUE N *DEL* CODES.
  3865.  
  3866.  
  3867. ACR LDD DP+3 TOGGLE ON ODD PARITY
  3868. LPN 1
  3869. LMC .ACR+30000 ISSUE *CR*, REPEAT COUNT = 3
  3870. ACR1 STI DO
  3871. SHN -14 SAVE DELAY COUNT
  3872. STD CH+1
  3873. LDC .ICR+4000
  3874. STD CH+2 ISSUE *CR* TO MONITOR
  3875. RETURN EXI3
  3876. RJM RDC READ VDCT
  3877. LPN 1
  3878. ZJN ACR2 IF NOT TAPE MODE
  3879. LDD DP+3 TOGGLE ON ODD PARITY
  3880. LPN 1
  3881. LMC .ADEL ISSUE *DEL*
  3882. UJN ACR3
  3883.  
  3884. ACR2 LDD DP+3 TOGGLE ON ODD PARITY
  3885. LPN 1
  3886. LMC .ANUL ISSUE *NUL*
  3887. ACR3 STI DO
  3888. LDD DC+1 CHECK USER DELAY COUNT
  3889. SHN -3
  3890. LPN 37
  3891. ZJN ACR4 IF NOT SPECIFIED
  3892. SBN 1 REPEAT COUNT = USER DELAY - 1
  3893. STD CH+1
  3894. ACR4 LDD CH+1 SEND REPEATED CHARACTER
  3895. RJM SRC
  3896. LDC AWT RESET ENTRY ADDRESS
  3897. STD CH
  3898. LJM WTCX CONTINUE WRITE
  3899. CBS SPACE 4,10
  3900. *** CORRESPONDENCE CODE TERMINAL SPECIAL OUTPUT PROCESSING.
  3901. CBS SPACE 4,10
  3902. *** BACKSPACE.
  3903. *
  3904. *
  3905. * ISSUE *BS* TO TERMINAL.
  3906.  
  3907.  
  3908. CBS SOD CH+1 DECREMENT CHARACTER COUNT
  3909. PJN CBS1 IF NOT BEGINNING OF LINE
  3910. LDN 0 CLEAR CHARACTER COUNT
  3911. STD CH+1
  3912. UJN CBS2
  3913.  
  3914. CBS1 LDC .CBS SET *BS*
  3915. CBS2 LJM WTC ISSUE CHARACTER
  3916. CCR SPACE 4,10
  3917. *** CARRIAGE RETURN.
  3918. *
  3919. *
  3920. * ISSUE N *BS* CODES TO TERMINAL, WHERE N IS THE NUMBER OF
  3921. * CHARACTERS ON THE CURRENT LINE.
  3922.  
  3923.  
  3924. CCR LDC .CBS ISSUE *BS*
  3925. STI DO
  3926. UJN CNL1 SET REPEAT COUNT = CHARACTER COUNT
  3927. CNL SPACE 4,10
  3928. *** NEW LINE.
  3929. *
  3930. *
  3931. * (1.) ISSUE *NL* TO TERMINAL.
  3932. * (2.) ISSUE *LC* TO TERMINAL.
  3933. * (3.) ISSUE N *IL* CODES TO TERMINAL, WHERE N = CHARACTER
  3934. * COUNT OF LINE DIVIDED BY 8.
  3935.  
  3936.  
  3937. CNL LDC .CNL ISSUE *NL*
  3938. STI DO
  3939. RETURN EXI1
  3940. LDD DP+3 CLEAR UPPER CASE
  3941. SCN 40
  3942. STD DP+3
  3943. LDC .CLC ISSUE *LC*
  3944. STI DO
  3945. RETURN EXI1
  3946. LDC .CIL ISSUE *IL*
  3947. STI DO
  3948.  
  3949. * SET REPEAT COUNT.
  3950.  
  3951. LDD CH+1 REPEAT COUNT = CHARACTER COUNT / 8
  3952. SHN -3
  3953. STD CH+1
  3954. CNL1 RJM RDC READ VDCT
  3955. LDD DC+1 ADD USER SPECIFIED DELAY COUNT
  3956. SHN -3
  3957. LPN 37
  3958. ADD CH+1
  3959. RJM SRC SEND REPEATED CHARACTER
  3960. CNL2 LDC CWT RESET ENTRY ADDRESS
  3961. STD CH
  3962. LJM WTCX CONTINUE WRITE
  3963. CLF SPACE 4,10
  3964. *** LINE FEED.
  3965. *
  3966. *
  3967. * (1.) ISSUE *LF* TO TERMINAL.
  3968. * (2.) ISSUE *IL* TO TERMINAL.
  3969.  
  3970.  
  3971. CLF LDC .CLF ISSUE *LF*
  3972. STI DO
  3973. RETURN EXI1
  3974. LDC .CIL ISSUE *IL*
  3975. STI DO
  3976. UJN CNL2 RESET ENTRY ADDRESS
  3977. SPACE 4,10
  3978. QUAL
  3979. WTM EQU /WTM/WTM
  3980. WTME BSS 0 END OF WRITE MODE
  3981. TITLE UTILITY SUBROUTINES.
  3982. BUP SPACE 4,10
  3983. ** BUP - BACK UP POINTERS.
  3984. *
  3985. * ENTRY NONE.
  3986. *
  3987. * EXIT (DP - DP+4) UPDATED.
  3988. *
  3989. * USES DP+2, T5, T6.
  3990. *
  3991. * CALLS RLT.
  3992.  
  3993.  
  3994. BUP5 SOD DP+2 DECREMENT CHARACTER NUMBER
  3995.  
  3996. BUP SUBR ENTRY/EXIT
  3997. LDD DP+2 CHECK CHARACTER NUMBER
  3998. LPN 17
  3999. NJN BUP5 IF NOT FIRST CHARACTER OF WORD
  4000. LDD DP+1 CHECK CURRENT POT
  4001. LMD DP
  4002. NJN BUP2 IF NOT FIRST POT
  4003. LDD DP+2 CHECK WORD NUMBER
  4004. SHN 5
  4005. LMD DP+2
  4006. LPC 7000
  4007. ZJN BUPX IF FIRST WORD
  4008. BUP1 LCN 20-11 DECREMENT WORD NUMBER, SET LAST CHARACTER
  4009. RAD DP+2
  4010. UJN BUPX
  4011.  
  4012. BUP2 LDD DP+2 CHECK CURRENT WORD
  4013. LPC 160
  4014. NJN BUP1 IF NOT FIRST WORD OF POT
  4015. LDD DP+1 SAVE CURRENT POT
  4016. STD T6
  4017. LDD DP SET FIRST POT
  4018. BUP3 STD DP+1
  4019. RJM RLT READ LINK TABLE
  4020. LMD T6
  4021. ZJN BUP4 IF CURRENT POT REACHED
  4022. LMD T6 SET NEXT POT
  4023. UJN BUP3 LOOP
  4024.  
  4025. BUP4 LDD DP+2 SET LAST WORD, LAST CHARACTER
  4026. LPC 7000
  4027. LMC 371 SET *POT REQUESTED*
  4028. STD DP+2
  4029. LJM BUPX RETURN
  4030. CEM SPACE 4,10,10
  4031. ** CEM - CLEAR EXTENDED TRANSMISSION MODE.
  4032. *
  4033. * SET/RESET EXTENDED TRANSMISSION MODE DEPENDING
  4034. * UPON MODE IN *VDCT*.
  4035. *
  4036. * EXIT (A) = (DP+3).
  4037. *
  4038. * USES DP+3.
  4039. *
  4040. * CALLS RDC.
  4041.  
  4042.  
  4043. CEM SUBR ENTRY/EXIT
  4044. LDD DP+3 CLEAR EXTENDED MODE
  4045. SCN 2
  4046. STD DP+3
  4047. RJM RDC READ *VDCT*
  4048. SHN 1-3 SET EXTENDED/NORMAL MODE
  4049. LPN 2
  4050. RAD DP+3
  4051. UJN CEMX RETURN
  4052. CSM SPACE 4,10
  4053. ** CSM - CHECK IF SCREEN MANAGEMENT INTERFACE.
  4054. *
  4055. * EXIT (A) .NE. 0 IF SMFIF PROCESSING.
  4056.  
  4057.  
  4058. CSM SUBR ENTRY/EXIT
  4059. TTADD VFST
  4060. CRD DC
  4061. LDD DC+3
  4062. LPC 7700
  4063. UJN CSMX RETURN
  4064. CUT SPACE 4,10
  4065. ** CUT - CLEAN UP TERMINAL TABLE.
  4066. *
  4067. * CLEARS ALL INFORMATION FROM THE TERMINAL TABLE OF THE
  4068. * LOGGED OUT USER, LEAVING VROT SET COMPLETE.
  4069. *
  4070. * USES T0 - T5.
  4071.  
  4072.  
  4073. CUT SUBR ENTRY/EXIT
  4074. LDN ZERL
  4075. CRD T0
  4076. LDN 0
  4077. STD T5
  4078. CUT1 TTADD VUIT
  4079. ADD T5
  4080. CWD T0 CLEAR OUT TERMINAL TABLE
  4081. AOD T5
  4082. SBN VTTL
  4083. NJN CUT1 IF MORE WORDS TO CLEAR
  4084. AOD T4 SET COMPLETE BIT IN VROT
  4085. TTADD VROT
  4086. CWD T0
  4087. UJN CUTX EXIT
  4088. ERQ SPACE 4,10
  4089. ** ERQ - ENTER CIRCULAR REQUEST QUEUE.
  4090. *
  4091. * ERQ IS USED TO PLACE AN ENTRY IN THE DRIVER CIRCULAR REQUEST
  4092. * QUEUE FOR *TELEX* TO PROCESS.
  4093. *
  4094. * ENTRY (A) = REQUEST CODE.
  4095. * (RQ+1 - RQ+3) = PARAMETERS.
  4096. * (TN) = TERMINAL NUMBER.
  4097. *
  4098. * EXIT IN UPDATED.
  4099. * (A) = 0.
  4100. * (RQ+1 - RQ+3) = 0.
  4101. *
  4102. * CALLS NONE.
  4103. *
  4104. * USES IN+3, IN+4, RQ - RQ+3.
  4105. *
  4106. * MACROS ADCRA, LDCDQ, LMCDQ.
  4107.  
  4108.  
  4109. ERQ1 AOD IN+4 ADVANCE IN
  4110. SHN -14
  4111. RAD IN+3 ADD OVERFLOW
  4112. ERQ2 LDCDQ 2 UPDATE IN
  4113. CWD IN
  4114. LDN 0 EXIT ERQ WITH A=0
  4115. STD RQ+1 CLEAR REQUEST BUFFER
  4116. STD RQ+2
  4117. STD RQ+3
  4118.  
  4119. * ERQ - ENTRY.
  4120.  
  4121. ERQ SUBR ENTRY/EXIT
  4122. ADC 2000 ADD FUNCTION BIAS
  4123. STD RQ
  4124. LDD IN+3 ENTER REQUEST
  4125. SHN 14
  4126. ADD IN+4
  4127. ADCRA
  4128. CWD RQ
  4129. LMCDQ 4+VDSL
  4130. NJN ERQ1 IF *IN* NOT EQUAL TO LIMIT-1
  4131. LDC 0 RESET IN = FIRST
  4132. .ERQA EQU *-1
  4133. STD IN+4
  4134. SHN -14
  4135. STD IN+3
  4136. UJN ERQ2
  4137. RDC SPACE 4,10,13
  4138. ** RDC - READ VDCT TERMINAL TABLE ENTRY.
  4139. *
  4140. * EXIT (DC - DC+4) = VDCT TERMINAL TABLE ENTRY.
  4141. * (A) = (DC) FIRST BYTE OF VDCT.
  4142. *
  4143. * USES DC - DC+4.
  4144. *
  4145. * MACRO TTADD.
  4146.  
  4147.  
  4148. RDC SUBR ENTRY/EXIT
  4149. TTADD VDCT
  4150. CRD DC
  4151. LDD DC
  4152. UJN RDCX
  4153. RLT SPACE 4,10
  4154. ** RLT - READ LINK TABLE.
  4155. *
  4156. * RLT WILL READ THE LINK TABLE.
  4157. *
  4158. * ENTRY (DP+1) = POT POINTER IN LINK TABLE.
  4159. *
  4160. * EXIT (A) = NEXT POT.
  4161. *
  4162. * USES T0 - T5.
  4163. *
  4164. * CALLS NONE.
  4165. *
  4166. * MACROS ADCPL.
  4167.  
  4168.  
  4169. RLT SUBR ENTRY/EXIT
  4170. LDD DP+1 SET BYTE NUMBER
  4171. LPN 3
  4172. STD T5
  4173. LDD DP+1 READ LINK WORD
  4174. SHN -2
  4175. ADCPL
  4176. CRD T0
  4177. LDI T5 RETURN WITH NEXT LINK
  4178. UJN RLTX
  4179. RPC SPACE 4,10
  4180. ** RPC - READ PREVIOUS CHARACTER.
  4181. *
  4182. * ENTRY NONE.
  4183. *
  4184. * EXIT (A) = PREVIOUS CHARACTER.
  4185. * IF PREVIOUS CHARACTER IS LOWER,
  4186. * (T0 - T0+4) = DATA WORD.
  4187. * (T5) = BYTE NUMBER.
  4188. * (T6) = WORD NUMBER.
  4189. *
  4190. * USES T0 - T5.
  4191. *
  4192. * CALLS BUP, SWA.
  4193.  
  4194.  
  4195. RPC1 LDD CH SET CHARACTER
  4196. SHN -6
  4197.  
  4198. RPC SUBR ENTRY/EXIT
  4199. RJM BUP BACK UP POINTERS
  4200. LDD DP+2 CHECK CHARACTER NUMBER
  4201. SHN 21
  4202. PJN RPC1 IF UPPER CHRACTER
  4203. LPN 7 SET BYTE
  4204. STD T5
  4205. RJM SWA SET WORD ADDRESS
  4206. CRD T0
  4207. LDI T5 SET CHARACTER
  4208. LPN 77
  4209. UJN RPCX RETURN
  4210. SCA SPACE 4,10
  4211. ** SCA - SET CONTROL ADDRESS.
  4212. *
  4213. * RETURNS CONTROL WORD FROM TRANSLATION TABLE. THIS MAY
  4214. * BE THE ADDRESS OF A PROCESSING ROUTINE OR THE INPUT PROMPT
  4215. * CHARACTER DEFINED FOR THAT TRANSLATION TABLE.
  4216. *
  4217. * ENTRY (A) = CONTROL ADDRESS NUMBER.
  4218. *
  4219. * EXIT (A) = CONTROL WORD OR ADDRESS.
  4220. *
  4221. * USES T0 - T5.
  4222. *
  4223. * CALLS NONE.
  4224.  
  4225.  
  4226. IFNE VPPT,0,1
  4227. SCA3 LDM TCTA,T5
  4228.  
  4229. SCA SUBR ENTRY/EXIT
  4230. STD T5 SET CONTROL WORD NUMBER
  4231. LDD DP+3 CHECK TRANSLATION TABLE
  4232. SHN -7
  4233. IFNE VPPT,0,1
  4234. ZJN SCA3 IF NO SPECIAL TRANSLATION
  4235. STD T1
  4236. PPT IFNE VPPT,0
  4237. SBN NPPT
  4238. PJN SCA1 IF CM RESIDENT TABLE
  4239. LDM TITA,T1 SELECT TABLE
  4240. SBN TCTAL
  4241. RAD T5
  4242. UJN SCA2
  4243.  
  4244. PPT ENDIF
  4245. SCA1 LDD T5 READ CORRECT WORD
  4246. SHN -2
  4247. SBN TCTAL/4
  4248. ADM TITA,T1
  4249. ADCTR
  4250. CRD T0
  4251. LDD T5 SELECT CORRECT BYTE
  4252. LPN 3
  4253. STD T5
  4254. SCA2 LDI T5
  4255. UJN SCAX
  4256. SWA SPACE 4,10,10
  4257. ** SWA - SET WORD ADDRESS.
  4258. *
  4259. * SET ADDRESS OF CURRENT WORD OF CURRENT POT.
  4260. *
  4261. * ENTRY (DP+1) = CURRENT POT.
  4262. * (DP+2) = WORD POINTER.
  4263. *
  4264. * EXIT (A) = CM ADDRESS OF CURRENT WORD (ABSOLUTE).
  4265. *
  4266. * MACRO ADCBM.
  4267.  
  4268.  
  4269. SWA SUBR ENTRY/EXIT
  4270. LDD DP+2 SET WORD
  4271. LPC 160
  4272. SHN 21-6
  4273. LMD DP+1 SET POT POINTER
  4274. SHN 3 TIMES 10B
  4275. ADCBM ADD POT BUFFER ADDRESS
  4276. UJN SWAX
  4277. TCH SPACE 4,10,7
  4278. PPT IFNE VPPT,0
  4279.  
  4280. *** TCH - TRANSLATE CHARACTER.
  4281. *
  4282. * ENTRY (A) = INPUT OR OUTPUT POINTER.
  4283. * (T1) = TRANSLATION TABLE INDEX.
  4284. * (T7) = CHARACTER TO BE TRANSLATED.
  4285. *
  4286. * EXIT (A) = TRANSLATED CHARACTER.
  4287. *
  4288. * USES T0 -T4, T7.
  4289. *
  4290. * MACROS ADCTR.
  4291.  
  4292.  
  4293. TCH1 LDD T7 READ CORRECT WORD
  4294. SHN -2
  4295. ADI T2
  4296. ADCTR
  4297. CRD T0
  4298. LDD T7 READ CORRECT BYTE
  4299. LPN 3
  4300. STD T7
  4301. TCH2 LDI T7
  4302.  
  4303. * TCH - ENTRY/EXIT.
  4304.  
  4305. TCH SUBR ENTRY/EXIT
  4306. ADD T1 ADD TRANSLATION TABLE INDEX
  4307. STD T2 SAVE TABLE POINTER
  4308. LDD T1 CHECK TRANSLATION INDEX
  4309. SBN NPPT
  4310. PJN TCH1 IF CM RESIDENT TABLE
  4311. LDI T2 SET TABLE ADDRESS
  4312. RAD T7 ADD CHARACTER ADDRESS
  4313. UJN TCH2 TRANSLATE CHARACTER
  4314.  
  4315. PPT ELSE
  4316.  
  4317. *** TCH - TRANSLATE CHARACTER.
  4318. *
  4319. * VERSION ASSEMBLED FOR NO PPU RESIDENT TRANSLATION
  4320. * TABLES.
  4321. *
  4322. * ENTRY (A) = INPUT OR OUTPUT POINTER.
  4323. * (T7) = CHARACTER TO BE TRANSLATED.
  4324. *
  4325. * EXIT (A) = TRANSLATED CHARACTER.
  4326. * (T7) = TRANSLATED CHARACTER.
  4327. *
  4328. * USES T7, T0 - T4.
  4329. *
  4330. * MACROS ADCTR.
  4331.  
  4332.  
  4333. TCH SUBR ENTRY/EXIT
  4334. STD T2 SAVE TABLE POINTER
  4335. LDD DP+3 ADD TRANSLATION TABLE INDEX
  4336. SHN -7
  4337. RAD T2 SET CM TABLE ADDRESS POINTER
  4338. LDD T7 READ CORRECT WORD
  4339. SHN -2
  4340. ADI T2
  4341. ADCTR
  4342. CRD T0
  4343. LDD T7 READ CORRECT BYTE
  4344. LPN 3
  4345. STD T7
  4346. LDI T7
  4347. STD T7
  4348. UJN TCHX EXIT
  4349.  
  4350. PPT ENDIF
  4351. WTO SPACE 4,10
  4352. ** WTO - WAIT TIME OUT.
  4353. *
  4354. * ENTRY - (A) TIME DELAY IN HALF SECONDS.
  4355. *
  4356. * USES CH, DP+2, DP+4.
  4357. *
  4358. * MACROS RETURN.
  4359.  
  4360.  
  4361. WTO CON 0 ENTRY
  4362. STD DP+2
  4363. LDM WTO
  4364. STD CH
  4365. RETURN EXI3
  4366. LDD IT
  4367. NJN WTO1 IF HALF SECOND
  4368. LJM MGR EXIT
  4369.  
  4370. WTO1 SOD DP+2
  4371. NJN WTO2 IF TIME NOT ELAPSED
  4372. LDD CH RESET REENTRY ADDRESS
  4373. STD DP+4
  4374. WTO2 LJM EXI7
  4375. TITLE DRIVER EXIT PROCESSING.
  4376. MXE SPACE 4,10
  4377. ** MXE - PROCESS MULTIPLEXER ERROR.
  4378. *
  4379. * ENTRY (A) = FUNCTION WHICH TIMED OUT, IF ENTERED AT *MXE0*.
  4380. * (CM - CM+4) = EST ENTRY.
  4381. *
  4382. * EXIT (IR+2) = 3/ FN, 9/ ESTORD.
  4383.  
  4384.  
  4385. MXE0 STD T1 SAVE FUNCTION CODE WHICH FAILED
  4386. LDD IA
  4387. CRD IR SET TO RE-WRITE INPUT REGISTER
  4388. LDD T1 FUNCTION CODE
  4389. SHN 11
  4390. ADM TEQN,ME EST ORDINAL
  4391. STD IR+2
  4392. LDD IA RE-WRITE INPUT REGISTER
  4393. CWD IR
  4394.  
  4395.  
  4396. MXE LDD CM CHECK EQUIPMENT STATUS
  4397. SHN 21-10
  4398. PJN MXE1 IF NOT *CTS*
  4399. LDM TNTD,ME ADVANCE TERMINAL NUMBER
  4400. RAD TN
  4401. LJM ITD2 PROCESS NEXT MULTIPLEXER
  4402.  
  4403. MXE1 LDN 0 SET MULTIPLEXER ERROR
  4404. STD ME
  4405. DRP SPACE 4,10
  4406. ** DRP - PROCESS DRIVER EXIT.
  4407. *
  4408. * ENTRY (ME) = MULTIPLEXER ERROR STATUS.
  4409. *
  4410. * MACRO EXECUTE.
  4411.  
  4412.  
  4413.  
  4414. DRP LDD MA WRITE INPUT REGISTER FOR *1RP*
  4415. CWM RPPB,ON
  4416. EXECUTE 1RP,=
  4417. RJM RPP READ PP RESIDENT
  4418. STM MSD CLEAR MASS STORAGE DRIVER DESIGNATOR FLAG
  4419. STD T1
  4420. DRP1 LDM TEQN,T1 MOVE TABLES
  4421. STM PPFW,T1
  4422. AOD T1
  4423. ADC TEQN-RESE
  4424. MJN DRP1 IF NOT END OF PPU MEMORY
  4425. EXECUTE 1TN DO POST PROCESSING
  4426. TITLE RESIDENT TRANSLATION TABLE.
  4427. SPACE 4,10
  4428. * LAST LOCATION OF DRIVER CODE.
  4429.  
  4430. TCTA BSS 0 LWA DRIVER/FWA CONTROL TABLE
  4431.  
  4432.  
  4433. * RESIDENT TRANSLATION TABLE ADDRESSES.
  4434.  
  4435. TINT EQU TCTA+TCTAL INPUT TRANSLATION
  4436. TOPT EQU TINT+200 OUTPUT TRANSLATION
  4437. .LL BSS 1
  4438. TTY TRANS TX=(*ASCII* TERMINAL, 64 CS.),IP=7155
  4439. TRES PPU
  4440. TTY SPACE 4,10
  4441. *** TTY - *ASCII* TERMINAL, 64 CHARACTER SET.
  4442. *
  4443. * USA STANDARD CODE FOR INFORMATION INTERCHANGE.
  4444. * USAS X3.4-1968 REVISION OF X3.4-1967.
  4445. *
  4446. * TERMINAL IDENTIFIER = *CR*.
  4447.  
  4448.  
  4449. ** INPUT CONVERSION.
  4450. *
  4451. * INDEXED BY *ASCII* CHARACTER VALUE.
  4452.  
  4453.  
  4454. ORG INP
  4455. LOC 0
  4456.  
  4457. 00 INASC 7640,BRK NUL FIRST CHARACTER OF A BREAK
  4458. 01 INASC 7641 SOH START OF HEADING
  4459. 02 INASC 7642 STX START OF TEXT
  4460. 03 INASC 7643,ETX ETX END OF TEXT
  4461. 04 INASC 7644 EOT END OF TRANSMISSION
  4462. 05 INASC 7645 ENQ ENQUIRY
  4463. 06 INASC 7646 ACK ACKNOWLEDGE
  4464. 07 INASC 7647 BEL BELL
  4465. 08 INASC 7650,DPC BS BACKSPACE
  4466. 09 INASC 7651 HT HORIZONTAL TABULATION
  4467. 0A INASC 7652,NLI LF LINE FEED
  4468. 0B INASC 7653 VT VERTICAL TABULATION
  4469. 0C INASC 7654 FF FORM FEED
  4470. 0D INASC 7655,CRT CR CARRIAGE RETURN
  4471. 0E INASC 7656 SO SHIFT OUT
  4472. 0F INASC 7657 SI SHIFT IN
  4473.  
  4474. 10 INASC 7660 DLE DATA LINK ESCAPE
  4475. 11 INASC 7661 DC1 DEVICE CONTROL 1 (X-ON)
  4476. 12 INASC 7662 DC2 DEVICE CONTROL 2
  4477. 13 INASC 7663 DC3 DEVICE CONTROL 3 (X-OFF)
  4478. 14 INASC 7664 DC4 DEVICE CONTROL 4 (STOP)
  4479. 15 INASC 7665 NAK NEGATIVE ACKNOWLEDGE
  4480. 16 INASC 7666 SYN SYNCHRONOUS IDLE
  4481. 17 INASC 7667 ETB END OF TRANSMISSION BLOCK
  4482. 18 INASC 7670 CAN CANCEL
  4483. 19 INASC 7671 EM END OF MEDIUM
  4484. 1A INASC 7672 SUB SUBSTITUTE
  4485. 1B INASC 7673,DLN ESC ESCAPE
  4486. 1C INASC 7674 FS FILE SEPARATOR
  4487. 1D INASC 7675 GS GROUP SEPARATOR
  4488. 1E INASC 7676 RS RECORD SEPARATOR
  4489. 1F INASC 7677 US UNIT SEPARATOR
  4490.  
  4491. 20 INASC 55 SP SPACE
  4492. 21 INASC 66 EX EXCLAMATION POINT
  4493. 22 INASC 64 DQ DOUBLE QUOTE (DIARESIS)
  4494. 23 INASC 60 NM NUMBER SIGN
  4495. 24 INASC 53 DS DOLLAR SIGN
  4496. 25 INASC 63 PC PERCENT
  4497. 26 INASC 67 AM AMPERSAND
  4498. 27 INASC 70 AP APOSTROPHE
  4499. 28 INASC 51 OP OPENING PARENTHESIS
  4500. 29 INASC 52 CP CLOSING PARENTHESIS
  4501. 2A INASC 47 AS ASTERISK
  4502. 2B INASC 45 PL PLUS
  4503. 2C INASC 56 CM COMMA (CEDILLA)
  4504. 2D INASC 46 MI MINUS (HYPHEN)
  4505. 2E INASC 57 PD PERIOD (DECIMAL POINT)
  4506. 2F INASC 50 SL SLANT
  4507.  
  4508. 30 INASC 33 0
  4509. 31 INASC 34 1
  4510. 32 INASC 35 2
  4511. 33 INASC 36 3
  4512. 34 INASC 37 4
  4513. 35 INASC 40 5
  4514. 36 INASC 41 6
  4515. 37 INASC 42 7
  4516. 38 INASC 43 8
  4517. 39 INASC 44 9
  4518. 3A INASC 7400 CL COLON
  4519. 3B INASC 77 SC SEMICOLON
  4520. 3C INASC 72 LT LESS THAN
  4521. 3D INASC 54 EQ EQUALS
  4522. 3E INASC 73 GT GREATER THAN
  4523. 3F INASC 71 QM QUESTION MARK
  4524.  
  4525. 40 INASC 7401,ECI AT COMMERCIAL AT
  4526. 41 INASC 01 A
  4527. 42 INASC 02 B
  4528. 43 INASC 03 C
  4529. 44 INASC 04 D
  4530. 45 INASC 05 E
  4531. 46 INASC 06 F
  4532. 47 INASC 07 G
  4533. 48 INASC 10 H
  4534. 49 INASC 11 I
  4535. 4A INASC 12 J
  4536. 4B INASC 13 K
  4537. 4C INASC 14 L
  4538. 4D INASC 15 M
  4539. 4E INASC 16 N
  4540. 4F INASC 17 O
  4541.  
  4542. 50 INASC 20 P
  4543. 51 INASC 21 Q
  4544. 52 INASC 22 R
  4545. 53 INASC 23 S
  4546. 54 INASC 24 T
  4547. 55 INASC 25 U
  4548. 56 INASC 26 V
  4549. 57 INASC 27 W
  4550. 58 INASC 30 X
  4551. 59 INASC 31 Y
  4552. 5A INASC 32 Z
  4553. 5B INASC 61 OB OPENING BRACKET
  4554. 5C INASC 75 RVS REVERSE SLANT
  4555. 5D INASC 62 CB CLOSING BRACKET
  4556. 5E INASC 7402,ECI CF CIRCUMFLEX
  4557. 5F INASC 65 UL UNDERLINE
  4558.  
  4559. 60 INASC 7407 GV GRAVE ACCENT
  4560. 61 INASC 7601 A LC
  4561. 62 INASC 7602 B LC
  4562. 63 INASC 7603 C LC
  4563. 64 INASC 7604 D LC
  4564. 65 INASC 7605 E LC
  4565. 66 INASC 7606 F LC
  4566. 67 INASC 7607 G LC
  4567. 68 INASC 7610 H LC
  4568. 69 INASC 7611 I LC
  4569. 6A INASC 7612 J LC
  4570. 6B INASC 7613 K LC
  4571. 6C INASC 7614 L LC
  4572. 6D INASC 7615 M LC
  4573. 6E INASC 7616 N LC
  4574. 6F INASC 7617 O LC
  4575.  
  4576. 70 INASC 7620 P LC
  4577. 71 INASC 7621 Q LC
  4578. 72 INASC 7622 R LC
  4579. 73 INASC 7623 S LC
  4580. 74 INASC 7624 T LC
  4581. 75 INASC 7625 U LC
  4582. 76 INASC 7626 V LC
  4583. 77 INASC 7627 W LC
  4584. 78 INASC 7630 X LC
  4585. 79 INASC 7631 Y LC
  4586. 7A INASC 7632 Z LC
  4587. 7B INASC 7633 LB LEFT BRACE
  4588. 7C INASC 7634 VL VERTICAL LINE
  4589. 7D INASC 7635 RB RIGHT BRACE
  4590. 7E INASC 7636 TL TILDE (OVERLINE)
  4591. 7F INASC 7637,NLI DEL DELETE (RUBOUT)
  4592. TTY EJECT
  4593. ** OUTPUT CONVERSION.
  4594. * INDEXED BY DISPLAY CODE VALUE.
  4595.  
  4596.  
  4597. ORG OTP
  4598. LOC 0
  4599.  
  4600. 00 OTASC 3A COLON
  4601. 01 OTASC 41 A
  4602. 02 OTASC 42 B
  4603. 03 OTASC 43 C
  4604. 04 OTASC 44 D
  4605. 05 OTASC 45 E
  4606. 06 OTASC 46 F
  4607. 07 OTASC 47 G
  4608.  
  4609. 10 OTASC 48 H
  4610. 11 OTASC 49 I
  4611. 12 OTASC 4A J
  4612. 13 OTASC 4B K
  4613. 14 OTASC 4C L
  4614. 15 OTASC 4D M
  4615. 16 OTASC 4E N
  4616. 17 OTASC 4F O
  4617.  
  4618. 20 OTASC 50 P
  4619. 21 OTASC 51 Q
  4620. 22 OTASC 52 R
  4621. 23 OTASC 53 S
  4622. 24 OTASC 54 T
  4623. 25 OTASC 55 U
  4624. 26 OTASC 56 V
  4625. 27 OTASC 57 W
  4626.  
  4627. 30 OTASC 58 X
  4628. 31 OTASC 59 Y
  4629. 32 OTASC 5A Z
  4630. 33 OTASC 30 0
  4631. 34 OTASC 31 1
  4632. 35 OTASC 32 2
  4633. 36 OTASC 33 3
  4634. 37 OTASC 34 4
  4635.  
  4636. 40 OTASC 35 5
  4637. 41 OTASC 36 6
  4638. 42 OTASC 37 7
  4639. 43 OTASC 38 8
  4640. 44 OTASC 39 9
  4641. 45 OTASC 2B PL PLUS
  4642. 46 OTASC 2D MI MINUS (HYPHEN)
  4643. 47 OTASC 2A AS ASTERISK
  4644.  
  4645. 50 OTASC 2F SL SLANT
  4646. 51 OTASC 28 OP OPENING PARENTHESIS
  4647. 52 OTASC 29 CP CLOSING PARENTHESIS
  4648. 53 OTASC 24 DS DOLLAR SIGN
  4649. 54 OTASC 3D EQ EQUALS
  4650. 55 OTASC 20 SP SPACE
  4651. 56 OTASC 2C CM COMMA (CEDILLA)
  4652. 57 OTASC 2E PD PERIOD (DECIMAL POINT)
  4653.  
  4654. 60 OTASC 23 NM NUMBER SIGN
  4655. 61 OTASC 5B OB OPENING BRACKET
  4656. 62 OTASC 5D CB CLOSING BRACKET
  4657. 63 OTASC 25 PC PERCENT
  4658. 64 OTASC 22 DQ DOUBLE QUOTE (DIARESIS)
  4659. 65 OTASC 5F UL UNDERLINE
  4660. 66 OTASC 21 EX EXCLAMATION POINT
  4661. 67 OTASC 26 AM AMPERSAND
  4662.  
  4663. 70 OTASC 27 AP APOSTROPHE
  4664. 71 OTASC 3F QM QUESTION MARK
  4665. 72 OTASC 3C LT LESS THAN
  4666. 73 OTASC 3E GT GREATER THAN
  4667. 74 OTASC 40 AT COMMERCIAL AT
  4668. 75 OTASC 5C RVS REVERSE SLANT
  4669. 76 OTASC 5E CF CIRCUMFLEX
  4670. 77 OTASC 3B SC SEMICOLON
  4671.  
  4672. * EXTENDED CHARACTER SET (ESCAPE 1).
  4673.  
  4674. 7600 OTASC NULL
  4675. 7601 OTASC 61 A LC
  4676. 7602 OTASC 62 B LC
  4677. 7603 OTASC 63 C LC
  4678. 7604 OTASC 64 D LC
  4679. 7605 OTASC 65 E LC
  4680. 7606 OTASC 66 F LC
  4681. 7607 OTASC 67 G LC
  4682.  
  4683. 7610 OTASC 68 H LC
  4684. 7611 OTASC 69 I LC
  4685. 7612 OTASC 6A J LC
  4686. 7613 OTASC 6B K LC
  4687. 7614 OTASC 6C L LC
  4688. 7615 OTASC 6D M LC
  4689. 7616 OTASC 6E N LC
  4690. 7617 OTASC 6F O LC
  4691.  
  4692. 7620 OTASC 70 P LC
  4693. 7621 OTASC 71 Q LC
  4694. 7622 OTASC 72 R LC
  4695. 7623 OTASC 73 S LC
  4696. 7624 OTASC 74 T LC
  4697. 7625 OTASC 75 U LC
  4698. 7626 OTASC 76 V LC
  4699. 7627 OTASC 77 W LC
  4700.  
  4701. 7630 OTASC 78 X LC
  4702. 7631 OTASC 79 Y LC
  4703. 7632 OTASC 7A Z LC
  4704. 7633 OTASC 7B LB LEFT BRACE
  4705. 7634 OTASC 7C VL VERTICAL LINE
  4706. 7635 OTASC 7D RB RIGHT BRACE
  4707. 7636 OTASC 7E TL TILDE (OVERLINE)
  4708. 7637 OTASC 7F DEL DELETE
  4709.  
  4710. 7640 OTASC 00 NUL NULL (MEDIA FILL)
  4711. 7641 OTASC 01 SOH START OF HEADING
  4712. 7642 OTASC 02 STX START OF TEXT
  4713. 7643 OTASC 03 ETX END OF TEXT
  4714. 7644 OTASC 04 EOT END OF TRANSMISSION
  4715. 7645 OTASC 05 ENQ ENQUIRY
  4716. 7646 OTASC 06 ACK ACKOWLEDGE
  4717. 7647 OTASC 07 BEL BELL
  4718.  
  4719. 7650 OTASC 08 BS BACKSPACE
  4720. 7651 OTASC 09 HT HORIZONTAL TABULATION
  4721. 7652 OTASC 0A LF LINE FEED
  4722. 7653 OTASC 0B VT VERTICAL TABULATION
  4723. 7654 OTASC 0C FF FORM FEED
  4724. 7655 OTASC ,ACR CR CARRIAGE RETURN
  4725. 7656 OTASC 0E SO SHIFT OUT
  4726. 7657 OTASC 0F SI SHIFT IN
  4727.  
  4728. 7660 OTASC 10 DLE DATA LINK ESCAPE
  4729. 7661 OTASC 11 DC1 DEVICE CONTROL 1 (X-ON)
  4730. 7662 OTASC 12 DC2 DEVICE CONTROL 2
  4731. 7663 OTASC 13 DC3 DEVICE CONTROL 3 (X-OFF)
  4732. 7664 OTASC 14 DC4 DEVICE CONTROL 4 (STOP)
  4733. 7665 OTASC 15 NAK NEGATIVE ACKNOWLEDGE
  4734. 7666 OTASC 16 SYN SYNCHRONOUS IDLE
  4735. 7667 OTASC 17 ETB END OF TRANSMISSION BLOCK
  4736.  
  4737. 7670 OTASC 18 CAN CANCEL
  4738. 7671 OTASC 19 EM END OF MEDIUM
  4739. 7672 OTASC 1A SUB SUBSTITUTE
  4740. 7673 OTASC 1B ESC ESCAPE
  4741. 7674 OTASC 1C FS FILE SEPARATOR
  4742. 7675 OTASC 1D GS GROUP SEPARATOR
  4743. 7676 OTASC 1E RS RECORD SEPARATOR
  4744. 7677 OTASC 1F US UNIT SEPARATOR
  4745.  
  4746. * EXTENDED CHARACTER SET (ESCAPE 2).
  4747.  
  4748. 7400 OTASC NULL
  4749. 7401 OTASC 40 AT COMMERCIAL AT
  4750. 7402 OTASC 5E CF CIRCUMFLEX
  4751. 7403 OTASC NULL
  4752. 7404 OTASC 3A CL COLON
  4753. 7405 OTASC 11 DC1 DEVICE CONTROL 1 (X-ON)
  4754. 7406 OTASC 13 DC3 DEVICE CONTROL 3 (X-OFF)
  4755. 7407 OTASC 60 GV GRAVE ACCENT
  4756.  
  4757. 7410 OTASC ,ACR CR CARRIAGE RETURN
  4758. 7411 OTASC 0A LF LINE FEED
  4759. 7412 OTASC ,ANL NL NEW LINE (CR/LF)
  4760. COR TRANS CD=400,RD=CRD,CL=CCL,SL=CSL,WT=CWT,TX=(CORRESPONDENCE/T
  4761. ,EXT, 64 CS.),IP=7155,TC=COR
  4762. TRES CM
  4763. COR SPACE 4,10
  4764. *** COR - CORRESPONDENCE/TEXT , 64 CHARACTER SET.
  4765. *
  4766. * STANDARD CORRESPONDENCE KEYBOARD.
  4767. * TYPE ELEMENT 1167029 (COURIER).
  4768. * CORRESPONDENCE LINE CODE.
  4769. *
  4770. * TERMINAL IDENTIFIER = *ATTN*.
  4771.  
  4772.  
  4773. ** INPUT CONVERSION.
  4774. *
  4775. * INDEXED BY CORRESPONDENCE CODE CHARACTER.
  4776.  
  4777.  
  4778. ORG INP
  4779. LOC 0
  4780.  
  4781. * LOWER CASE INPUT CONVERSION.
  4782.  
  4783. 00 INCOR 55 SP SPACE
  4784. 01 INCOR 62 1/2
  4785. 02 INCOR 7624 T LC
  4786. 03 INCOR 7612 J LC
  4787. 04 INCOR 37 4
  4788. 05 INCOR 7617 O LC
  4789. 06 INCOR 7614 L LC
  4790. 07 INCOR 50 SL SLANT
  4791.  
  4792. 10 INCOR 40 5
  4793. 11 INCOR 70 AP APOSTROPHE
  4794. 12 INCOR 7605 E LC
  4795. 13 INCOR 7620 P LC
  4796. 14 INCOR NULL
  4797. 15 INCOR NULL
  4798. 16 INCOR NULL
  4799. 17 INCOR NULL
  4800.  
  4801. 20 INCOR 35 2
  4802. 21 INCOR 57 PD PERIOD
  4803. 22 INCOR 7616 N LC
  4804. 23 INCOR 54 EQ EQUALS
  4805. 24 INCOR 7632 Z LC
  4806. 25 INCOR NULL
  4807. 26 INCOR NULL
  4808. 27 INCOR NULL
  4809.  
  4810. 30 INCOR 41 6
  4811. 31 INCOR 7611 I LC
  4812. 32 INCOR 7613 K LC
  4813. 33 INCOR 7621 Q LC
  4814. 34 INCOR 40,CSF UC UPPER CASE SHIFT
  4815. 35 INCOR 7650,DPC BS BACKSPACE
  4816. 36 INCOR 7667 EOB END OF BLOCK
  4817. 37 INCOR 0,CSF LC LOWER CASE SHIFT
  4818.  
  4819. 40 INCOR 34 1
  4820. 41 INCOR 7615 M LC
  4821. 42 INCOR 7630 X LC
  4822. 43 INCOR 7607 G LC
  4823. 44 INCOR 33 0
  4824. 45 INCOR 7623 S LC
  4825. 46 INCOR 7610 H LC
  4826. 47 INCOR 7631 Y LC
  4827.  
  4828. 50 INCOR 42 7
  4829. 51 INCOR 7622 R LC
  4830. 52 INCOR 7604 D LC
  4831. 53 INCOR 77 SC SEMI-COLON
  4832. 54 INCOR 7664 STO STOP CODE
  4833. 55 INCOR 55,NWL NL NEW LINE
  4834. 56 INCOR 7652,NLI LF LINE FEED
  4835. 57 INCOR 7651 HT TAB
  4836.  
  4837. 60 INCOR 36 3
  4838. 61 INCOR 7626 V LC
  4839. 62 INCOR 7625 U LC
  4840. 63 INCOR 7606 F LC
  4841. 64 INCOR 44 9
  4842. 65 INCOR 7627 W LC
  4843. 66 INCOR 7602 B LC
  4844. 67 INCOR 46 MI MINUS
  4845.  
  4846. 70 INCOR 43 8
  4847. 71 INCOR 7601 A LC
  4848. 72 INCOR 7603 C LC
  4849. 73 INCOR 56 CM COMMA
  4850. 74 INCOR 55,EOT EOT END OF TRANSMISSION
  4851. 75 INCOR 7666 IL IDLE
  4852. 76 INCOR 7673 PF PREFIX
  4853. 77 INCOR 7670 DEL DELETE
  4854.  
  4855. * UPPER CASE INPUT CONVERSION.
  4856.  
  4857. 100 INCOR 55 SP SPACE
  4858. 101 INCOR 61 1/4
  4859. 102 INCOR 24 T
  4860. 103 INCOR 12 J
  4861. 104 INCOR 53 DS DOLLAR SIGN
  4862. 105 INCOR 17 O
  4863. 106 INCOR 14 L
  4864. 107 INCOR 71 QU QUESTION
  4865.  
  4866. 110 INCOR 63 PC PERCENT
  4867. 111 INCOR 64 QT DOUBLE QUOTE (DIARESIS)
  4868. 112 INCOR 05 E
  4869. 113 INCOR 20 P
  4870. 114 INCOR NULL
  4871. 115 INCOR NULL
  4872. 116 INCOR NULL
  4873. 117 INCOR NULL
  4874.  
  4875. 120 INCOR 7401,ECI AT COMMERCIAL AT
  4876. 121 INCOR 57 PD PERIOD
  4877. 122 INCOR 16 N
  4878. 123 INCOR 45 PL PLUS
  4879. 124 INCOR 32 Z
  4880. 125 INCOR NULL
  4881. 126 INCOR NULL
  4882. 127 INCOR NULL
  4883.  
  4884. 130 INCOR 66 CT CENT(S)
  4885. 131 INCOR 11 I
  4886. 132 INCOR 13 K
  4887. 133 INCOR 21 Q
  4888. 134 INCOR 40,CSF UC UPPER CASE SHIFT
  4889. 135 INCOR 7650,DPC BS BACKSPACE
  4890. 136 INCOR 7667 EOB END OF BLOCK
  4891. 137 INCOR 0,CSF LC LOWER CASE SHIFT
  4892.  
  4893. 140 INCOR 7634 +/- PLUS/MINUS
  4894. 141 INCOR 15 M
  4895. 142 INCOR 30 X
  4896. 143 INCOR 07 G
  4897. 144 INCOR 52 CP CLOSING PARENTHESIS
  4898. 145 INCOR 23 S
  4899. 146 INCOR 10 H
  4900. 147 INCOR 31 Y
  4901.  
  4902. 150 INCOR 67 AM AMPERSAND
  4903. 151 INCOR 22 R
  4904. 152 INCOR 04 D
  4905. 153 INCOR 7400 CL COLON
  4906. 154 INCOR 7664 STO STOP CODE
  4907. 155 INCOR 55,NWL NL NEW LINE
  4908. 156 INCOR 7652,NLI LF LINE FEED
  4909. 157 INCOR 7651 HT TAB
  4910.  
  4911. 160 INCOR 60 NM NUMBER
  4912. 161 INCOR 26 V
  4913. 162 INCOR 25 U
  4914. 163 INCOR 06 F
  4915. 164 INCOR 51 OP OPENING PARENTHESIS
  4916. 165 INCOR 27 W
  4917. 166 INCOR 02 B
  4918. 167 INCOR 65 UL UNDERLINE
  4919.  
  4920. 170 INCOR 47 AST ASTERISK
  4921. 171 INCOR 01 A
  4922. 172 INCOR 03 C
  4923. 173 INCOR 56 CM COMMA
  4924. 174 INCOR 55,EOT EOT END OF TRANSMISSION
  4925. 175 INCOR 7666 NUL IDLE
  4926. 176 INCOR 7673 PF PREFIX
  4927. 177 INCOR 7670 DEL DELETE
  4928. COR EJECT
  4929. ** OUTPUT CONVERSION.
  4930. * INDEXED BY DISPLAY CODE.
  4931.  
  4932.  
  4933. ORG OTP
  4934. LOC 0
  4935.  
  4936. 00 OTCOR 53,UC CL COLON
  4937. 01 OTCOR 71,UC A
  4938. 02 OTCOR 66,UC B
  4939. 03 OTCOR 72,UC C
  4940. 04 OTCOR 52,UC D
  4941. 05 OTCOR 12,UC E
  4942. 06 OTCOR 63,UC F
  4943. 07 OTCOR 43,UC G
  4944.  
  4945. 10 OTCOR 46,UC H
  4946. 11 OTCOR 31,UC I
  4947. 12 OTCOR 03,UC J
  4948. 13 OTCOR 32,UC K
  4949. 14 OTCOR 06,UC L
  4950. 15 OTCOR 41,UC M
  4951. 16 OTCOR 22,UC N
  4952. 17 OTCOR 05,UC O
  4953.  
  4954. 20 OTCOR 13,UC P
  4955. 21 OTCOR 33,UC Q
  4956. 22 OTCOR 51,UC R
  4957. 23 OTCOR 45,UC S
  4958. 24 OTCOR 02,UC T
  4959. 25 OTCOR 62,UC U
  4960. 26 OTCOR 61,UC V
  4961. 27 OTCOR 65,UC W
  4962.  
  4963. 30 OTCOR 42,UC X
  4964. 31 OTCOR 47,UC Y
  4965. 32 OTCOR 24,UC Z
  4966. 33 OTCOR 44,LC 0
  4967. 34 OTCOR 40,LC 1
  4968. 35 OTCOR 20,LC 2
  4969. 36 OTCOR 60,LC 3
  4970. 37 OTCOR 04,LC 4
  4971.  
  4972. 40 OTCOR 10,LC 5
  4973. 41 OTCOR 30,LC 6
  4974. 42 OTCOR 50,LC 7
  4975. 43 OTCOR 70,LC 8
  4976. 44 OTCOR 64,LC 9
  4977. 45 OTCOR 23,UC PL PLUS
  4978. 46 OTCOR 67,LC MI MINUS
  4979. 47 OTCOR 70,UC AS ASTERISK
  4980.  
  4981. 50 OTCOR 07,LC SL SLANT
  4982. 51 OTCOR 64,UC OP OPENING PARENTHESIS
  4983. 52 OTCOR 44,UC CP CLOSING PARENTHESIS
  4984. 53 OTCOR 04,UC DS DOLLAR SIGN
  4985. 54 OTCOR 23,LC EQ EQUALS
  4986. 55 OTCOR 00,0 SP SPACE
  4987. 56 OTCOR 73,0 CM COMMA
  4988. 57 OTCOR 21,0 PD PERIOD
  4989.  
  4990. 60 OTCOR 60,UC NM NUMBER SIGN
  4991. 61 OTCOR 01,UC 1/4
  4992. 62 OTCOR 01,LC 1/2
  4993. 63 OTCOR 10,UC PC PERCENT
  4994. 64 OTCOR 11,UC DQ DOUBLE QUOTE (DIARESIS)
  4995. 65 OTCOR 67,UC UL UNDERLINE
  4996. 66 OTCOR 30,UC CT CENT(S)
  4997. 67 OTCOR 50,UC AM AMPERSAND
  4998.  
  4999. 70 OTCOR 11,LC AP APOSTROPHE (SINGLE QUOTE)
  5000. 71 OTCOR 07,UC QU QUESTION MARK
  5001. 72 OTCOR NULL
  5002. 73 OTCOR NULL
  5003. 74 OTCOR 20,UC AT COMMERCIAL AT
  5004. 75 OTCOR NULL
  5005. 76 OTCOR NULL
  5006. 77 OTCOR 53,LC SC SEMICOLON
  5007.  
  5008. * EXTENDED CHARACTER SET ( ESCAPE 1 ).
  5009.  
  5010. 7600 OTCOR NULL
  5011. 7601 OTCOR 71,LC A LC
  5012. 7602 OTCOR 66,LC B LC
  5013. 7603 OTCOR 72,LC C LC
  5014. 7604 OTCOR 52,LC D LC
  5015. 7605 OTCOR 12,LC E LC
  5016. 7606 OTCOR 63,LC F LC
  5017. 7607 OTCOR 43,LC G LC
  5018.  
  5019. 7610 OTCOR 46,LC H LC
  5020. 7611 OTCOR 31,LC I LC
  5021. 7612 OTCOR 03,LC J LC
  5022. 7613 OTCOR 32,LC K LC
  5023. 7614 OTCOR 06,LC L LC
  5024. 7615 OTCOR 41,LC M LC
  5025. 7616 OTCOR 22,LC N LC
  5026. 7617 OTCOR 05,LC O LC
  5027.  
  5028. 7620 OTCOR 13,LC P LC
  5029. 7621 OTCOR 33,LC Q LC
  5030. 7622 OTCOR 51,LC R LC
  5031. 7623 OTCOR 45,LC S LC
  5032. 7624 OTCOR 02,LC T LC
  5033. 7625 OTCOR 62,LC U LC
  5034. 7626 OTCOR 61,LC V LC
  5035. 7627 OTCOR 65,LC W LC
  5036.  
  5037. 7630 OTCOR 42,LC X LC
  5038. 7631 OTCOR 47,LC Y LC
  5039. 7632 OTCOR 24,LC Z LC
  5040. 7633 OTCOR NULL
  5041. 7634 OTCOR 40,UC PM PLUS-OR-MINUS
  5042. 7635 OTCOR NULL
  5043. 7636 OTCOR NULL
  5044. 7637 OTCOR NULL
  5045.  
  5046. 7640 OTCOR 75,0 IL IDLE
  5047. 7641 OTCOR 66,0 SOA START OF ADDRESS
  5048. 7642 OTCOR 64,0 EOA END OF ADDRESS
  5049. 7643 OTCOR NULL
  5050. 7644 OTCOR 74,0 EOT END OF TRANSMISSION
  5051. 7645 OTCOR NULL
  5052. 7646 OTCOR 67,0 ACK ACKNOWLEDGE
  5053. 7647 OTCOR NULL
  5054.  
  5055. 7650 OTCOR ,CBS BS BACKSPACE
  5056. 7651 OTCOR 57,0 HT HORIZONTAL TAB
  5057. 7652 OTCOR 56,0 LF LINE FEED
  5058. 7653 OTCOR NULL
  5059. 7654 OTCOR NULL
  5060. 7655 OTCOR ,CCR CR CARRIAGE RETURN (NO LINE FEED)
  5061. 7656 OTCOR 34,0 UCS UPPER CASE SHIFT
  5062. 7657 OTCOR 37,0 LCS LOWER CASE SHIFT
  5063.  
  5064. 7660 OTCOR NULL
  5065. 7661 OTCOR NULL
  5066. 7662 OTCOR NULL
  5067. 7663 OTCOR NULL
  5068. 7664 OTCOR 54,0 STO STOP CODE
  5069. 7665 OTCOR 01,0 NAK NEGATIVE ACKNOWLEDGE
  5070. 7666 OTCOR 75,0 IL IDLE
  5071. 7667 OTCOR 36,0 EOB END OF BLOCK
  5072.  
  5073. 7670 OTCOR 77,0 DEL DELETE
  5074. 7671 OTCOR NULL
  5075. 7672 OTCOR NULL
  5076. 7673 OTCOR 76,0 PF PREFIX
  5077. 7674 OTCOR NULL
  5078. 7675 OTCOR NULL
  5079. 7676 OTCOR NULL
  5080. 7677 OTCOR NULL
  5081.  
  5082. * EXTENDED CHARACTER SET (ESCAPE 2).
  5083.  
  5084. 7400 OTCOR NULL
  5085. 7401 OTCOR 20,UC AT COMMERCIAL AT
  5086. 7402 OTCOR NULL
  5087. 7403 OTCOR ,CNL NL NEW LINE (CR/LF)
  5088. 7404 OTCOR 53,UC CL COLON
  5089. 7405 OTCOR NULL
  5090. 7406 OTCOR NULL
  5091. 7407 OTCOR NULL
  5092.  
  5093. 7410 OTCOR ,CCR CR CARRIAGE RETURN
  5094. 7411 OTCOR ,CLF LF LINE FEED
  5095. 7412 OTCOR ,CNL NL NEW LINE (CR/LF)
  5096. CORAPL TRANS CD=763,RD=CRD,WT=CWT,SL=CSL,CL=CCL,TX=(CORRESPONDENCE/A
  5097. ,PL, 64 CS.),IP=7155,TC=COR
  5098. TRES CM
  5099. CORAPL SPACE 4,10,10
  5100. *** CORAPL - CORRESPONDENCE/APL, 64 CHARACTER SET.
  5101. *
  5102. * APL KEYBOARD.
  5103. * TYPE ELEMENT 1167987.
  5104. * CORRESPONDENCE LINE CODE.
  5105. *
  5106. * TERMINAL IDENTIFIER = *A* - *ATTN*.
  5107.  
  5108.  
  5109. ** INPUT CONVERSION
  5110. * INDEXED BY CORRESPONDENCE CODE CHARACTER.
  5111.  
  5112.  
  5113. ORG INP
  5114. LOC 0
  5115.  
  5116. 00 INCOR 55 SP SPACE
  5117. 01 INCOR 7620 IS SPECIFICATION ARROW
  5118. 02 INCOR 24 T
  5119. 03 INCOR 12 J
  5120. 04 INCOR 37 4
  5121. 05 INCOR 17 O
  5122. 06 INCOR 14 L
  5123. 07 INCOR 50 SL SLANT
  5124.  
  5125. 10 INCOR 40 5
  5126. 11 INCOR 62 CB CLOSE BRACKET
  5127. 12 INCOR 05 E
  5128. 13 INCOR 20 P
  5129. 14 INCOR NULL
  5130. 15 INCOR NULL
  5131. 16 INCOR NULL
  5132. 17 INCOR NULL
  5133.  
  5134. 20 INCOR 35 2
  5135. 21 INCOR 57 PD PERIOD
  5136. 22 INCOR 16 N
  5137. 23 INCOR 7606 ML MULTIPLICATION
  5138. 24 INCOR 32 Z
  5139. 25 INCOR NULL
  5140. 26 INCOR NULL
  5141. 27 INCOR NULL
  5142.  
  5143. 30 INCOR 41 6
  5144. 31 INCOR 11 I
  5145. 32 INCOR 13 K
  5146. 33 INCOR 21 Q
  5147. 34 INCOR 40,CSF UC UPPER CASE SHIFT
  5148. 35 INCOR 7650,DPC BS BACKSPACE
  5149. 36 INCOR 7667 EOB END OF BLOCK
  5150. 37 INCOR 0,CSF LC LOWER CASE SHIFT
  5151.  
  5152. 40 INCOR 34 1
  5153. 41 INCOR 15 M
  5154. 42 INCOR 30 X
  5155. 43 INCOR 07 G
  5156. 44 INCOR 33 0
  5157. 45 INCOR 23 S
  5158. 46 INCOR 10 H
  5159. 47 INCOR 31 Y
  5160.  
  5161. 50 INCOR 42 7
  5162. 51 INCOR 22 R
  5163. 52 INCOR 04 D
  5164. 53 INCOR 61 OB OPEN BRACKET
  5165. 54 INCOR 7664 STO STOP CODE
  5166. 55 INCOR 7403,NWL NL NEW LINE
  5167. 56 INCOR 7652,NLI LF LINE FEED
  5168. 57 INCOR 7651 HT TAB
  5169.  
  5170. 60 INCOR 36 3
  5171. 61 INCOR 26 V
  5172. 62 INCOR 25 U
  5173. 63 INCOR 06 F
  5174. 64 INCOR 44 9
  5175. 65 INCOR 27 W
  5176. 66 INCOR 02 B
  5177. 67 INCOR 45 PL PLUS
  5178.  
  5179. 70 INCOR 43 8
  5180. 71 INCOR 01 A
  5181. 72 INCOR 03 C
  5182. 73 INCOR 56 CM COMMA
  5183. 74 INCOR 7644,EOT EOT END OF TRANSMISSION
  5184. 75 INCOR 7666 NUL IDLE
  5185. 76 INCOR PF PREFIX
  5186. 77 INCOR DEL DELETE
  5187.  
  5188. 100 INCOR 55 SP SPACE
  5189. 101 INCOR 7621 GO BRANCH ARROW
  5190. 102 INCOR 7624 TL TILDE
  5191. 103 INCOR 7612 NL NULL OPERATOR
  5192. 104 INCOR 7401,ECI LE LESS THAN OR EQUAL
  5193. 105 INCOR 7617 CI CIRCLE
  5194. 106 INCOR 7614 QD QUAD
  5195. 107 INCOR 75 RVS REVERSE SLANT
  5196.  
  5197. 110 INCOR 54 EQ EQUALS
  5198. 111 INCOR 52 CP CLOSING PARENTHESIS
  5199. 112 INCOR 7605 EP EPSILON
  5200. 113 INCOR 47 AST ASTERISK
  5201. 114 INCOR NULL
  5202. 115 INCOR NULL
  5203. 116 INCOR NULL
  5204. 117 INCOR NULL
  5205.  
  5206. 120 INCOR 7402,ECI NG NEGATION
  5207. 121 INCOR 7400 CL COLON
  5208. 122 INCOR 7616 RP REPRESENTATION
  5209. 123 INCOR 63 DV DIVIDE
  5210. 124 INCOR 7630 ID IMBED
  5211. 125 INCOR NULL
  5212. 126 INCOR NULL
  5213. 127 INCOR NULL
  5214.  
  5215. 130 INCOR 7634 GE GREATER THAN OR EQUAL
  5216. 131 INCOR 7611 IO IOTA
  5217. 132 INCOR 70 QT SINGLE QUOTE (APOSTROPHE)
  5218. 133 INCOR 71 QU QUESTION
  5219. 134 INCOR 40,CSF UC UPPER CASE SHIFT
  5220. 135 INCOR 7650,DPC BS BACKSPACE
  5221. 136 INCOR NULL
  5222. 137 INCOR 0,CSF LC LOWER CASE SHIFT
  5223.  
  5224. 140 INCOR 60 DQ DOUBLE QUOTE (DIARESIS)
  5225. 141 INCOR 7615 MD MODULUS
  5226. 142 INCOR 7632 IN INCLUSION (SUBSET)
  5227. 143 INCOR 7607 DL DEL
  5228. 144 INCOR 67 AN AND
  5229. 145 INCOR 7623 MX MAXIMUM
  5230. 146 INCOR 7610 DT DELTA
  5231. 147 INCOR 7631 TA TAKE
  5232.  
  5233. 150 INCOR 73 GT GREATER THAN
  5234. 151 INCOR 7622 RO RHO
  5235. 152 INCOR 7604 MN MINIMUM
  5236. 153 INCOR 51 OP OPENING PARENTHESIS
  5237. 154 INCOR 7664 STO STOP CODE
  5238. 155 INCOR 7403,NWL NL NEW LINE
  5239. 156 INCOR 7652,NLI LF LINE FEED
  5240. 157 INCOR 7651 HT TAB
  5241.  
  5242. 160 INCOR 72 LT LESS THAN
  5243. 161 INCOR 7626 UN UNION
  5244. 162 INCOR 7625 DR DROP
  5245. 163 INCOR 65 UL UNDERLINE
  5246. 164 INCOR 66 OR OR
  5247. 165 INCOR 7627 OM OMEGA
  5248. 166 INCOR 7602 EV EVALUATION
  5249. 167 INCOR 46 MI MINUS
  5250.  
  5251. 170 INCOR 64 NE NOT EQUAL
  5252. 171 INCOR 53 AL ALPHA
  5253. 172 INCOR 7603 IX INTERSECTION
  5254. 173 INCOR 77 SC SEMICOLON
  5255. 174 INCOR 55,EOT EOT END OF TRANSMISSION
  5256. 175 INCOR 7666 IL IDLE
  5257. 176 INCOR PF PREFIX
  5258. 177 INCOR 7670 DEL DELETE
  5259. CORAPL EJECT
  5260. ** OUTPUT CONVERSION.
  5261. * INDEXED BY DISPLAY CODE.
  5262.  
  5263.  
  5264. ORG OTP
  5265. LOC 0
  5266.  
  5267. 00 OTCOR 21,UC CL COLON
  5268. 01 OTCOR 71,LC A
  5269. 02 OTCOR 66,LC B
  5270. 03 OTCOR 72,LC C
  5271. 04 OTCOR 52,LC D
  5272. 05 OTCOR 12,LC E
  5273. 06 OTCOR 63,LC F
  5274. 07 OTCOR 43,LC G
  5275.  
  5276. 10 OTCOR 46,LC H
  5277. 11 OTCOR 31,LC I
  5278. 12 OTCOR 03,LC J
  5279. 13 OTCOR 32,LC K
  5280. 14 OTCOR 06,LC L
  5281. 15 OTCOR 41,LC M
  5282. 16 OTCOR 22,LC N
  5283. 17 OTCOR 05,LC O
  5284.  
  5285. 20 OTCOR 13,LC P
  5286. 21 OTCOR 33,LC Q
  5287. 22 OTCOR 51,LC R
  5288. 23 OTCOR 45,LC S
  5289. 24 OTCOR 02,LC T
  5290. 25 OTCOR 62,LC U
  5291. 26 OTCOR 61,LC V
  5292. 27 OTCOR 65,LC W
  5293.  
  5294. 30 OTCOR 42,LC X
  5295. 31 OTCOR 47,LC Y
  5296. 32 OTCOR 24,LC Z
  5297. 33 OTCOR 44,LC 0
  5298. 34 OTCOR 40,LC 1
  5299. 35 OTCOR 20,LC 2
  5300. 36 OTCOR 60,LC 3
  5301. 37 OTCOR 04,LC 4
  5302.  
  5303. 40 OTCOR 10,LC 5
  5304. 41 OTCOR 30,LC 6
  5305. 42 OTCOR 50,LC 7
  5306. 43 OTCOR 70,LC 8
  5307. 44 OTCOR 64,LC 9
  5308. 45 OTCOR 67,LC PL PLUS
  5309. 46 OTCOR 67,UC MI MINUS
  5310. 47 OTCOR 13,UC AST ASTERISK
  5311.  
  5312. 50 OTCOR 07,LC SL SLANT
  5313. 51 OTCOR 53,UC OP OPENING PARENTHESIS
  5314. 52 OTCOR 11,UC CP CLOSING PARENTHESIS
  5315. 53 OTCOR 71,UC AL ALPHA
  5316. 54 OTCOR 10,UC EQ EQUALS
  5317. 55 OTCOR 00,0 SP SPACE
  5318. 56 OTCOR 73,LC CM COMMA
  5319. 57 OTCOR 21,LC PD PERIOD
  5320.  
  5321. 60 OTCOR 40,UC DQ DOUBLE QUOTE (DIARESIS)
  5322. 61 OTCOR 53,LC OB OPEN BRACKET
  5323. 62 OTCOR 11,LC CB CLOSE BRACKET
  5324. 63 OTCOR 23,UC DV DIVIDE
  5325. 64 OTCOR 70,UC NE NOT EQUAL
  5326. 65 OTCOR 63,UC UL UNDERLINE
  5327. 66 OTCOR 64,UC OR OR
  5328. 67 OTCOR 44,UC AN AND
  5329.  
  5330. 70 OTCOR 32,UC QT SINGLE QUOTE (APOSTROPHE)
  5331. 71 OTCOR 33,UC QU QUESTION MARK
  5332. 72 OTCOR 60,UC LT LESS THAN
  5333. 73 OTCOR 50,UC GT GREATER THAN
  5334. 74 OTCOR 04,UC LE LESS THAN OR EQUAL
  5335. 75 OTCOR 07,UC RVS REVERSE SLANT
  5336. 76 OTCOR 20,UC NG NEGATION
  5337. 77 OTCOR 73,UC SC SEMICOLON
  5338.  
  5339. * EXTENDED CHARACTER SET (ESCAPE 1).
  5340.  
  5341. 7600 OTCOR NULL
  5342. 7601 OTCOR 71,UC AL ALPHA
  5343. 7602 OTCOR 66,UC EV EVALUATION
  5344. 7603 OTCOR 72,UC IX INTERSECTION
  5345. 7604 OTCOR 52,UC MN MINIMUM
  5346. 7605 OTCOR 12,UC EP EPSILON
  5347. 7606 OTCOR 23,LC ML MULTIPLICATION
  5348. 7607 OTCOR 43,UC DL DEL
  5349.  
  5350. 7610 OTCOR 46,UC DT DELTA
  5351. 7611 OTCOR 31,UC IO IOTA
  5352. 7612 OTCOR 03,UC NL NULL OPERATOR
  5353. 7613 OTCOR NULL
  5354. 7614 OTCOR 06,UC QD QUAD
  5355. 7615 OTCOR 41,UC MD MODULUS
  5356. 7616 OTCOR 22,UC RP REPRESENTATION
  5357. 7617 OTCOR 05,UC CI CIRCLE
  5358.  
  5359. 7620 OTCOR 01,LC IS SPECIFICATION ARROW
  5360. 7621 OTCOR 01,UC GO BRANCH ARROW (GOTO)
  5361. 7622 OTCOR 51,UC RO RHO
  5362. 7623 OTCOR 45,UC MX MAXIMUM
  5363. 7624 OTCOR 02,UC TL TILDE
  5364. 7625 OTCOR 62,UC DR DROP
  5365. 7626 OTCOR 61,UC UN UNION
  5366. 7627 OTCOR 65,UC OM OMEGA
  5367.  
  5368. 7630 OTCOR 24,UC ID IMBED
  5369. 7631 OTCOR 47,UC TA TAKE
  5370. 7632 OTCOR 42,UC IN INCLUSION (SUBSET)
  5371. 7633 OTCOR NULL
  5372. 7634 OTCOR 30,UC GE GREATER THAN OR EQUAL
  5373. 7635 OTCOR NULL
  5374. 7636 OTCOR NULL
  5375. 7637 OTCOR NULL
  5376.  
  5377. 7640 OTCOR 75,0 IL IDLE
  5378. 7641 OTCOR 66,0 SOA START OF ADDRESS
  5379. 7642 OTCOR 64,0 EOAL END OF ADDRESS
  5380. 7643 OTCOR NULL
  5381. 7644 OTCOR 74,0 EOT END OF TEXT
  5382. 7645 OTCOR NULL
  5383. 7646 OTCOR 67,0 ACK ACKNOWLEDGE
  5384. 7647 OTCOR NULL
  5385.  
  5386. 7650 OTCOR ,CBS BS BACKSPACE
  5387. 7651 OTCOR 57,0 HT TAB
  5388. 7652 OTCOR 56,0 LF LINE FEED
  5389. 7653 OTCOR NULL
  5390. 7654 OTCOR NULL
  5391. 7655 OTCOR ,CCR CR CARRIAGE RETURN (NO LINE FEED)
  5392. 7656 OTCOR 37,0 LCS LOWER CASE SHIFT
  5393. 7657 OTCOR 34,0 UCS UPPER CASE SHIFT
  5394.  
  5395. 7660 OTCOR NULL
  5396. 7661 OTCOR NULL
  5397. 7662 OTCOR NULL
  5398. 7663 OTCOR NULL
  5399. 7664 OTCOR 54,0 STO STOP CODE
  5400. 7665 OTCOR 01,0 NAK NEGATIVE ACKNOWLEDGE
  5401. 7666 OTCOR 75,0 IL IDLE
  5402. 7667 OTCOR 36,0 EOB END OF BLOCK
  5403.  
  5404. 7670 OTCOR 77,0 DEL DELETE
  5405. 7671 OTCOR NULL
  5406. 7672 OTCOR NULL
  5407. 7673 OTCOR 76,0 PF PREFIX
  5408. 7674 OTCOR NULL
  5409. 7675 OTCOR NULL
  5410. 7676 OTCOR NULL
  5411. 7677 OTCOR NULL
  5412.  
  5413. * EXTENDED CHARACTER SET (ESCAPE 2).
  5414.  
  5415. 7400 OTCOR NULL
  5416. 7401 OTCOR 04,UC LE LESS THAN OR EQUAL
  5417. 7402 OTCOR 20,UC NG NEGATION
  5418. 7403 OTCOR ,CNL NL NEW LINE (CR/LF)
  5419. 7404 OTCOR 21,UC CL COLON
  5420. 7405 OTCOR NULL
  5421. 7406 OTCOR NULL
  5422. 7407 OTCOR NULL
  5423.  
  5424. 7410 OTCOR ,CCR CR CARRIAGE RETURN
  5425. 7411 OTCOR ,CLF LF LINE FEED
  5426. 7412 OTCOR ,CNL NL NEW LINE (CR/LF)
  5427. MEMAPL TRANS CD=303,TX=(MEMOREX 1240/APL 64 CS.),IP=7155
  5428. TRES CM
  5429. MEMAPL SPACE 4,10
  5430. *** MEMAPL - MEMOREX 1240/APL, 64 CHARACTER SET.
  5431. *
  5432. * APL KEYBOARD.
  5433. * ASCII LINE CODE.
  5434. *
  5435. * TERMINAL IDENTIFIER = *A*.
  5436.  
  5437.  
  5438. ** INPUT CONVERSION.
  5439. * INDEXED BY *ASCII* CHARACTER.
  5440.  
  5441.  
  5442. ORG INP
  5443. LOC 0
  5444.  
  5445. 00 INASC 7640,BRK NUL FIRST CHARACTER OF A BREAK
  5446. 01 INASC 7641 SOH START OF HEADING
  5447. 02 INASC 7642 STX START OF TEXT
  5448. 03 INASC 7643,ETX ETX END OF TEXT
  5449. 04 INASC 7644 EOT END OF TRANSMISSION
  5450. 05 INASC 7645 ENQ ENQUIRY
  5451. 06 INASC 7646 ACK ACKNOWLEDGE
  5452. 07 INASC 7647 BEL BELL
  5453. 08 INASC 7650,DPC BS BACKSPACE
  5454. 09 INASC 7651 HT HORIZONTAL TAB
  5455. 0A INASC 7652,NLI LF LINE FEED
  5456. 0B INASC 7653 VT VERTICAL TAB
  5457. 0C INASC 7654 FF FORM FEED
  5458. 0D INASC 7655,CRT CR CARRIAGE RETURN
  5459. 0E INASC 7656 SO SHIFT OUT
  5460. 0F INASC 7657 SI SHIFT IN
  5461.  
  5462. 10 INASC 7660 DLE DATA LINK ESCAPE
  5463. 11 INASC 7661 DC1 DEVICE CONTROL 1 (X-ON)
  5464. 12 INASC 7662 DC2 DEVICE CONTROL 2
  5465. 13 INASC 7663 DC3 DEVICE CONTROL 3 (X-OFF)
  5466. 14 INASC 7664 DC4 DEVICE CONTROL 4 (STOP)
  5467. 15 INASC 7665 NAK NEGATIVE ACKNOWLEDGE
  5468. 16 INASC 7666 SYN SYNCHRONOUS IDLE
  5469. 17 INASC 7667 ETB END OF TRANSMISSION BLOCK
  5470. 18 INASC 7670 CAN CANCEL
  5471. 19 INASC 7671 EM END OF MEDIUM
  5472. 1A INASC 7672 SUB SUBSTITUTE
  5473. 1B INASC 7673,DLN ESC ESCAPE
  5474. 1C INASC 7674 FS FILE SEPARATOR
  5475. 1D INASC 7675 GS GROUP SEPARATOR
  5476. 1E INASC 7676 RS RECORD SEPARATOR
  5477. 1F INASC 7677 US UNIT SEPARATOR
  5478.  
  5479. 20 INASC 55 SP SPACE
  5480. 21 INASC 60 DQ DIARESIS
  5481. 22 INASC 7402,ECI NG NEGATION
  5482. 23 INASC 72 LT LESS THAN
  5483. 24 INASC 7401,ECI LE LESS THAN OR EQUAL
  5484. 25 INASC 54 EQ EQUAL
  5485. 26 INASC 7634 GE GREATER THAN OR EQUAL
  5486. 27 INASC 73 GT GREATER THAN
  5487. 28 INASC 64 NE NOT EQUAL
  5488. 29 INASC 66 OR OR
  5489. 2A INASC 52 CP CLOSING PARENTHESIS
  5490. 2B INASC 51 OP OPENING PARENTHESIS
  5491. 2C INASC 56 CM COMMA
  5492. 2D INASC 45 PL PLUS
  5493. 2E INASC 57 PR PERIOD
  5494. 2F INASC 50 SL SLANT
  5495.  
  5496. 30 INASC 33 0
  5497. 31 INASC 34 1
  5498. 32 INASC 35 2
  5499. 33 INASC 36 3
  5500. 34 INASC 37 4
  5501. 35 INASC 40 5
  5502. 36 INASC 41 6
  5503. 37 INASC 42 7
  5504. 38 INASC 43 8
  5505. 39 INASC 44 9
  5506. 3A INASC 62 CB CLOSE BRACKET
  5507. 3B INASC 61 OB OPEN BRACKET
  5508. 3C INASC 77 SC SEMICOLON
  5509. 3D INASC 46 MI MINUS
  5510. 3E INASC 7400 CL COLON
  5511. 3F INASC 75 RVS REVERSE SLANT
  5512.  
  5513. 40 INASC 7620 IS SPECIFICATION ARROW
  5514. 41 INASC 7601 AL ALPHA
  5515. 42 INASC 7602 EV EVALUATION
  5516. 43 INASC 7603 IX INTERSECTION
  5517. 44 INASC 7604 MN MINIMUM
  5518. 45 INASC 7605 EP EPSILON
  5519. 46 INASC 65 UL UNDERLINE
  5520. 47 INASC 7607 DL DEL
  5521. 48 INASC 7610 DT DELTA
  5522. 49 INASC 7611 IO IOTA
  5523. 4A INASC 7612 NL NULL OPERATOR
  5524. 4B INASC 70 QT SINGLE QUOTE (APOSTROPHE)
  5525. 4C INASC 7614 QD QUAD
  5526. 4D INASC 7615 MD MODULUS
  5527. 4E INASC 7616 RP REPRESENTATION
  5528. 4F INASC 7617 CI CIRCLE
  5529.  
  5530. 50 INASC 47 AST ASTERISK
  5531. 51 INASC 71 QU QUESTION
  5532. 52 INASC 7622 RO RHO
  5533. 53 INASC 7623 MX MAXIMUM
  5534. 54 INASC 7624 TL TILDE
  5535. 55 INASC 7625 DR DROP
  5536. 56 INASC 7626 UN UNION
  5537. 57 INASC 7627 OM OMEGA
  5538. 58 INASC 7630 ID IMBED
  5539. 59 INASC 7631 TA TAKE
  5540. 5A INASC 7632 SB SUBSET
  5541. 5B INASC 7636 RTK RIGHT TACK
  5542. 5C INASC 7407 DMD DIAMOND
  5543. 5D INASC 7633 LB RIGHT BRACE
  5544. 5E INASC 7606 ML MULTIPLICATION
  5545. 5F INASC 67 AN AND
  5546.  
  5547. 60 INASC 7621 GO BRANCH ARROW
  5548. 61 INASC 01 A
  5549. 62 INASC 02 B
  5550. 63 INASC 03 C
  5551. 64 INASC 04 D
  5552. 65 INASC 05 E
  5553. 66 INASC 06 F
  5554. 67 INASC 07 G
  5555. 68 INASC 10 H
  5556. 69 INASC 11 I
  5557. 6A INASC 12 J
  5558. 6B INASC 13 K
  5559. 6C INASC 14 L
  5560. 6D INASC 15 M
  5561. 6E INASC 16 N
  5562. 6F INASC 17 O
  5563.  
  5564. 70 INASC 20 P
  5565. 71 INASC 21 Q
  5566. 72 INASC 22 R
  5567. 73 INASC 23 S
  5568. 74 INASC 24 T
  5569. 75 INASC 25 U
  5570. 76 INASC 26 V
  5571. 77 INASC 27 W
  5572. 78 INASC 30 X
  5573. 79 INASC 31 Y
  5574. 7A INASC 32 Z
  5575. 7B INASC 7613 LTK LEFT TACK
  5576. 7C INASC 53 DM DOLLAR MARK
  5577. 7D INASC 7635 RB RIGHT BRACE
  5578. 7E INASC 63 DV DIVISION
  5579. 7F INASC 7637,NLI DEL DELETE (RUBOUT)
  5580. MEMAPL EJECT
  5581. ** OUTPUT CONVERSION.
  5582. * INDEXED BY DISPLAY CODE VALUE.
  5583.  
  5584.  
  5585. ORG OTP
  5586. LOC 0
  5587.  
  5588. 00 OTASC 3E CL COLON
  5589. 01 OTASC 61 A
  5590. 02 OTASC 62 B
  5591. 03 OTASC 63 C
  5592. 04 OTASC 64 D
  5593. 05 OTASC 65 E
  5594. 06 OTASC 66 F
  5595. 07 OTASC 67 G
  5596.  
  5597. 10 OTASC 68 H
  5598. 11 OTASC 69 I
  5599. 12 OTASC 6A J
  5600. 13 OTASC 6B K
  5601. 14 OTASC 6C L
  5602. 15 OTASC 6D M
  5603. 16 OTASC 6E N
  5604. 17 OTASC 6F O
  5605.  
  5606. 20 OTASC 70 P
  5607. 21 OTASC 71 Q
  5608. 22 OTASC 72 R
  5609. 23 OTASC 73 S
  5610. 24 OTASC 74 T
  5611. 25 OTASC 75 U
  5612. 26 OTASC 76 V
  5613. 27 OTASC 77 W
  5614.  
  5615. 30 OTASC 78 X
  5616. 31 OTASC 79 Y
  5617. 32 OTASC 7A Z
  5618. 33 OTASC 30 0
  5619. 34 OTASC 31 1
  5620. 35 OTASC 32 2
  5621. 36 OTASC 33 3
  5622. 37 OTASC 34 4
  5623.  
  5624. 40 OTASC 35 5
  5625. 41 OTASC 36 6
  5626. 42 OTASC 37 7
  5627. 43 OTASC 38 8
  5628. 44 OTASC 39 9
  5629. 45 OTASC 2D PL PLUS
  5630. 46 OTASC 3D MI MINUS
  5631. 47 OTASC 50 AST ASTERISK
  5632.  
  5633. 50 OTASC 2F SL SLANT
  5634. 51 OTASC 2B OP OPENING PARENTHESIS
  5635. 52 OTASC 2A CP CLOSING PARENTHESIS
  5636. 53 OTASC 7C DM DOLLAR MARK
  5637. 54 OTASC 25 EQ EQUALS
  5638. 55 OTASC 20 SP SPACE
  5639. 56 OTASC 2C CM COMMA
  5640. 57 OTASC 2E PR PERIOD
  5641.  
  5642. 60 OTASC 21 DQ DIARESIS
  5643. 61 OTASC 3B OB OPENING BRACKET
  5644. 62 OTASC 3A CB CLOSE BRACKET
  5645. 63 OTASC 7E DV DIVISION
  5646. 64 OTASC 28 NE NOT EQUAL
  5647. 65 OTASC 46 UL UNDERLINE
  5648. 66 OTASC 29 OR OR
  5649. 67 OTASC 5F AN AND
  5650.  
  5651. 70 OTASC 4B QT SINGLE QUOTE (APOSTROPHE)
  5652. 71 OTASC 51 QU QUESTION
  5653. 72 OTASC 23 LT LESS THAN
  5654. 73 OTASC 27 GT GREATER THAN
  5655. 74 OTASC 24 LE LESS THAN OR EQUAL
  5656. 75 OTASC 3F RVS REVERSE SLANT
  5657. 76 OTASC 22 NG NEGATION
  5658. 77 OTASC 3C SC SEMICOLON
  5659.  
  5660. * EXTENDED CHARACTER SET (ESCAPE 1).
  5661.  
  5662. 7600 OTASC NULL
  5663. 7601 OTASC 41 AL ALPHA
  5664. 7602 OTASC 42 EV EVALUATION
  5665. 7603 OTASC 43 IX INTERSECTION
  5666. 7604 OTASC 44 MN MINIMUM
  5667. 7605 OTASC 45 EP EPSILON
  5668. 7606 OTASC 5E ML MULTIPLICATION
  5669. 7607 OTASC 47 DL DEL
  5670.  
  5671. 7610 OTASC 48 DT DELTA
  5672. 7611 OTASC 49 IO IOTA
  5673. 7612 OTASC 4A NL NULL OPERATOR
  5674. 7613 OTASC 7B LTK LEFT TACK
  5675. 7614 OTASC 4C QD QUAD
  5676. 7615 OTASC 4D MD MODULUS
  5677. 7616 OTASC 4E RP REPRESENTATION
  5678. 7617 OTASC 4F CI CIRCLE
  5679.  
  5680. 7620 OTASC 40 IS SPECIFICATION ARROW
  5681. 7621 OTASC 60 GO BRANCH ARROW
  5682. 7622 OTASC 52 RO RHO
  5683. 7623 OTASC 53 MX MAXIMUM
  5684. 7624 OTASC 54 TL TILDE
  5685. 7625 OTASC 55 DR DROP
  5686. 7626 OTASC 56 UN UNION
  5687. 7627 OTASC 57 OM OMEGA
  5688.  
  5689. 7630 OTASC 58 ID IMBED
  5690. 7631 OTASC 59 TA TAKE
  5691. 7632 OTASC 5A SB SUBSET
  5692. 7633 OTASC 5D LB LEFT BRACE
  5693. 7634 OTASC 26 GE GREATER THAN OR EQUAL
  5694. 7635 OTASC 7D RB RIGHT BRACE
  5695. 7636 OTASC 7D EQU EQUIVALENCE
  5696. 7637 OTASC 7F DEL DELETE
  5697.  
  5698. 7640 OTASC 00 NUL NULL (MEDIA FILL)
  5699. 7641 OTASC 01 SOH START OF HEADING
  5700. 7642 OTASC 02 STX START OF TEXT
  5701. 7643 OTASC 03 ETX END OF TEXT
  5702. 7644 OTASC 04 EOT END OF TRANSMISSION
  5703. 7645 OTASC 05 ENQ ENQUIRY
  5704. 7646 OTASC 06 ACK ACKNOWLEDGE
  5705. 7647 OTASC 07 BEL BELL
  5706.  
  5707. 7650 OTASC 08 BS BACKSPACE
  5708. 7651 OTASC 09 HT HORIZONTAL TAB
  5709. 7652 OTASC 0A LF LINE FEED
  5710. 7653 OTASC 0B VT VERTICAL TAB
  5711. 7654 OTASC 0C FF FORM FEED
  5712. 7655 OTASC ,ACR CR CARRIAGE RETURN
  5713. 7656 OTASC 0E SO SHIFT OUT
  5714. 7657 OTASC 0F SI SHIFT IN
  5715.  
  5716. 7660 OTASC 10 DLE DATA LINK ESCAPE
  5717. 7661 OTASC 11 DC1 DEVICE CONTROL 1 ( X-ON )
  5718. 7662 OTASC 12 DC2 DEVICE CONTROL 2
  5719. 7663 OTASC 13 DC3 DEVICE CONTROL 3 ( X-OFF )
  5720. 7664 OTASC 14 DC4 DEVICE CONTROL 4 ( STOP )
  5721. 7665 OTASC 15 NAK NEGATIVE ACKNOWLEDGE
  5722. 7666 OTASC 16 SYN SYNCHRONOUS IDLE
  5723. 7667 OTASC 17 ETB END OF TRANSMISSION BLOCK
  5724.  
  5725. 7670 OTASC 18 CAN CANCEL
  5726. 7671 OTASC 19 EM END OF MEDIUM
  5727. 7672 OTASC 1A SUB SUBSTITUTE
  5728. 7673 OTASC 1B ESC ESCAPE
  5729. 7674 OTASC 1C FS FILE SEPARATOR
  5730. 7675 OTASC 1D GS GROUP SEPARATOR
  5731. 7676 OTASC 1E RS RECORD SEPARATOR
  5732. 7677 OTASC 1F US UNIT SEPARATOR
  5733.  
  5734. * EXTENDED CHARACTER SET (ESCAPE 2).
  5735.  
  5736. 7400 OTASC NULL
  5737. 7401 OTASC 24 LE LESS THAN OR EQUAL
  5738. 7402 OTASC 22 NG NEGATION
  5739. 7403 OTASC ,ANL NL NEW LINE (CR/LF)
  5740. OTASC 3E CL COLON
  5741. 7405 OTASC NULL
  5742. 7406 OTASC NULL
  5743. 7407 OTASC 5C DMD DIAMOND
  5744.  
  5745. 7410 OTASC ,ACR CR CARRIAGE RETURN
  5746. 7411 OTASC 0A LF LINE FEED
  5747. 7412 OTASC ,ANL NL NEW LINE (CR/LF)
  5748. BLKEDT TRANS CD=204,TX=(*ASCII* BLOCK EDIT TERMINAL, 64 CS.),IP=7155
  5749. TRES CM
  5750. BLKEDT SPACE 4,10
  5751. *** BLKEDT - *ASCII* TERMINAL, BLOCK EDIT MODE, 64 CHAACTER SET.
  5752. *
  5753. * ASCII KEYBOARD.
  5754. * ASCII LINE CODE.
  5755. *
  5756. * TEMINAL IDENTIFIER = *B* (UPPER CASE).
  5757.  
  5758.  
  5759. ** INPUT CONVERSION.
  5760. *
  5761. * INDEXED BY *ASCII* CHARACTER VALUE.
  5762.  
  5763.  
  5764. ORG INP
  5765. LOC 0
  5766.  
  5767. 00 INASC 7640 NUL FIRST CHARACTER OF A BREAK
  5768. 01 INASC 7641 SOH START OF HEADING
  5769. 02 INASC 7642 STX START OF TEXT
  5770. 03 INASC 7643,ETX ETX END OF TEXT
  5771. 04 INASC 7644,EBT EOT END OF TRANSMISSION
  5772. 05 INASC 7645 ENQ ENQUIRY
  5773. 06 INASC 7646 ACK ACKNOWLEDGE
  5774. 07 INASC 7647 BEL BELL
  5775. 10 INASC 7650 BS BACKSPACE
  5776. 09 INASC 7651 HT HORIZONTAL TABULATION
  5777. 0A INASC 7652,NLI LF LINE FEED
  5778. 0B INASC 7653 VT VERTICAL TABULATION
  5779. 0C INASC 7654 FF FORM FEED
  5780. 0D INASC 7655,EOL CR CARRIAGE RETURN
  5781. 0E INASC 7656 SO SHIFT OUT
  5782. 0F INASC 7657 SI SHIFT IN
  5783.  
  5784. 10 INASC 7660 DLE DATA LINK ESCAPE
  5785. 11 INASC 7661 DC1 DEVICE CONTROL 1 (X-ON)
  5786. 12 INASC 7662 DC2 DEVICE CONTROL 2
  5787. 13 INASC 7663 DC3 DEVICE CONTROL 3 (X-OFF)
  5788. 14 INASC 7664 DC4 DEVICE CONTROL 4 (STOP)
  5789. 15 INASC 7665 NAK NEGATIVE ACKNOWLEDGE
  5790. 16 INASC 7666 SYN SYNCHRONOUS IDLE
  5791. 17 INASC 7667 ETB END OF TRANSMISSION BLOCK
  5792. 18 INASC 7670 CAN CANCEL
  5793. 19 INASC 7671 EM END OF MEDIUM
  5794. 1A INASC 7672 SUB SUBSTITUTE
  5795. 1B INASC 7673 ESC ESCAPE
  5796. 1C INASC 7674 FS FILE SEPARATOR
  5797. 1D INASC 7675 GS GROUP SEPARATOR
  5798. 1E INASC 7676 RS RECORD SEPARATOR
  5799. 1F INASC 7677 US UNIT SEPARATOR
  5800.  
  5801. 20 INASC 55 SP SPACE
  5802. 21 INASC 66 EX EXCLAMATION POINT
  5803. 22 INASC 64 QU QUOTATION MARKS (DIARESIS)
  5804. 23 INASC 60 NM NUMBER SIGN
  5805. 24 INASC 53 DM DOLLAR MARK
  5806. 25 INASC 63 PC PERCENT
  5807. 26 INASC 67 AM AMPERSAND
  5808. 27 INASC 70 AP APOSTROPHE
  5809. 28 INASC 51 OP OPENING PARENTHESIS
  5810. 29 INASC 52 CP CLOSING PARENTHESIS
  5811. 2A INASC 47 AST ASTERISK
  5812. 2B INASC 45 PL PLUS
  5813. 2C INASC 56 CM COMMA (CEDILLA)
  5814. 2D INASC 46 MI HYPHEN (MINUS)
  5815. 2E INASC 57 PR PERIOD (DECIMAL POINT)
  5816. 2F INASC 50 SL SLANT
  5817.  
  5818. 30 INASC 33 0
  5819. 31 INASC 34 1
  5820. 32 INASC 35 2
  5821. 33 INASC 36 3
  5822. 34 INASC 37 4
  5823. 35 INASC 40 5
  5824. 36 INASC 41 6
  5825. 37 INASC 42 7
  5826. 38 INASC 43 8
  5827. 39 INASC 44 9
  5828. 3E INASC 7400 CL COLON
  5829. 3B INASC 77 SC SEMICOLON
  5830. 3C INASC 72 LT LESS THAN
  5831. 3D INASC 54 EQ EQUALS
  5832. 3E INASC 73 GT GREATER THAN
  5833. 3F INASC 71 QM QUESTION MARK
  5834.  
  5835. 40 INASC 7401,ECI AT COMMERCIAL AT
  5836. 41 INASC 01 A
  5837. 42 INASC 02 B
  5838. 43 INASC 03 C
  5839. 44 INASC 04 D
  5840. 45 INASC 05 E
  5841. 46 INASC 06 F
  5842. 47 INASC 07 G
  5843. 48 INASC 10 H
  5844. 49 INASC 11 I
  5845. 4A INASC 12 J
  5846. 4B INASC 13 K
  5847. 4C INASC 14 L
  5848. 4D INASC 15 M
  5849. 4E INASC 16 N
  5850. 4F INASC 17 O
  5851.  
  5852. 50 INASC 20 P
  5853. 51 INASC 21 Q
  5854. 52 INASC 22 R
  5855. 53 INASC 23 S
  5856. 54 INASC 24 T
  5857. 55 INASC 25 U
  5858. 56 INASC 26 V
  5859. 57 INASC 27 W
  5860. 58 INASC 30 X
  5861. 59 INASC 31 Y
  5862. 5A INASC 32 Z
  5863. 5B INASC 61 OB OPENING BRACKET
  5864. 5C INASC 75 RVS REVERSE SLANT
  5865. 5D INASC 62 CB CLOSING BRACKET
  5866. 5E INASC 7402,ECI CF CIRCUMFLEX
  5867. 5F INASC 65 UL UNDERLINE
  5868.  
  5869. 60 INASC 7407 GV GRAVE ACCENT
  5870. 61 INASC 7601 A LC
  5871. 62 INASC 7602 B LC
  5872. 63 INASC 7603 C LC
  5873. 64 INASC 7604 D LC
  5874. 65 INASC 7605 E LC
  5875. 66 INASC 7606 F LC
  5876. 67 INASC 7607 G LC
  5877. 68 INASC 7610 H LC
  5878. 69 INASC 7611 I LC
  5879. 6A INASC 7612 J LC
  5880. 6B INASC 7613 K LC
  5881. 6C INASC 7614 L LC
  5882. 6D INASC 7615 M LC
  5883. 6E INASC 7616 N LC
  5884. 6F INASC 7617 O LC
  5885.  
  5886. 70 INASC 7620 P LC
  5887. 71 INASC 7621 Q LC
  5888. 72 INASC 7622 R LC
  5889. 73 INASC 7623 S LC
  5890. 74 INASC 7624 T LC
  5891. 75 INASC 7625 U LC
  5892. 76 INASC 7626 V LC
  5893. 77 INASC 7627 W LC
  5894. 78 INASC 7630 X LC
  5895. 79 INASC 7631 Y LC
  5896. 7A INASC 7632 Z LC
  5897. 7B INASC 7633 LB LEFT BRACE
  5898. 7C INASC 7634 VL VERTICAL LINE
  5899. 7D INASC 7635 RB RIGHT BRACE
  5900. 7E INASC 7636 TL TILDE (OVERLINE)
  5901. 7F INASC 7637 DEL DELETE
  5902. BLKEDT EJECT
  5903. ** OUTPUT CONVERSION.
  5904. * INDEXED BY DISPLAY CODE VALUE.
  5905.  
  5906.  
  5907. ORG OTP
  5908. LOC 0
  5909.  
  5910. 00 OTASC 3A COLON
  5911. 01 OTASC 41 A
  5912. 02 OTASC 42 B
  5913. 03 OTASC 43 C
  5914. 04 OTASC 44 D
  5915. 05 OTASC 45 E
  5916. 06 OTASC 46 F
  5917. 07 OTASC 47 G
  5918.  
  5919. 10 OTASC 48 H
  5920. 11 OTASC 49 I
  5921. 12 OTASC 4A J
  5922. 13 OTASC 4B K
  5923. 14 OTASC 4C L
  5924. 15 OTASC 4D M
  5925. 16 OTASC 4E N
  5926. 17 OTASC 4F O
  5927.  
  5928. 20 OTASC 50 P
  5929. 21 OTASC 51 Q
  5930. 22 OTASC 52 R
  5931. 23 OTASC 53 S
  5932. 24 OTASC 54 T
  5933. 25 OTASC 55 U
  5934. 26 OTASC 56 V
  5935. 27 OTASC 57 W
  5936.  
  5937. 30 OTASC 58 X
  5938. 31 OTASC 59 Y
  5939. 32 OTASC 5A Z
  5940. 33 OTASC 30 0
  5941. 34 OTASC 31 1
  5942. 35 OTASC 32 2
  5943. 36 OTASC 33 3
  5944. 37 OTASC 34 4
  5945.  
  5946. 40 OTASC 35 5
  5947. 41 OTASC 36 6
  5948. 42 OTASC 37 7
  5949. 43 OTASC 38 8
  5950. 44 OTASC 39 9
  5951. 45 OTASC 2B PL PLUS
  5952. 46 OTASC 2D MI HYPHEN (MINUS)
  5953. 47 OTASC 2A AST ASTERISK
  5954.  
  5955. 50 OTASC 2F SL SLANT
  5956. 51 OTASC 28 OP OPENING PARENTHESIS
  5957. 52 OTASC 29 CP CLOSING PARENTHESIS
  5958. 53 OTASC 24 DM DOLLAR MARK
  5959. 54 OTASC 3D EQ EQUALS
  5960. 55 OTASC 20 SP SPACE
  5961. 56 OTASC 2C CM COMMA (CEDILLA)
  5962. 57 OTASC 2E PR PERIOD (DECIMAL POINT)
  5963.  
  5964. 60 OTASC 23 NM NUMBER SIGN
  5965. 61 OTASC 5B OB OPENING BRACKET
  5966. 62 OTASC 5D CB CLOSING BRACKET
  5967. 63 OTASC 25 PC PERCENT SIGN
  5968. 64 OTASC 22 QU QUOTATION MARKS (DIARESIS)
  5969. 65 OTASC 5F UL UNDERLINE
  5970. 66 OTASC 21 EX EXCLAMATION POINT
  5971. 67 OTASC 26 AM AMPERSAND
  5972.  
  5973. 70 OTASC 27 AP APOSTROPHE
  5974. 71 OTASC 3F QM QUESTION MARK
  5975. 72 OTASC 3C LT LESS THAN
  5976. 73 OTASC 3E GT GREATER THAN
  5977. 74 OTASC 40 AT COMMERCIAL AT
  5978. 75 OTASC 5C RVS REVERSE SLANT
  5979. 76 OTASC 5E CF CIRCUMFLEX
  5980. 77 OTASC 3B SC SEMICOLON
  5981.  
  5982. * EXTENDED CHARACTER SET (ESCAPE 1).
  5983.  
  5984. 7600 OTASC NULL
  5985. 7601 OTASC 61 A LC
  5986. 7602 OTASC 62 B LC
  5987. 7603 OTASC 63 C LC
  5988. 7604 OTASC 64 D LC
  5989. 7605 OTASC 65 E LC
  5990. 7606 OTASC 66 F LC
  5991. 7607 OTASC 67 G LC
  5992.  
  5993. 7610 OTASC 68 H LC
  5994. 7611 OTASC 69 I LC
  5995. 7612 OTASC 6A J LC
  5996. 7613 OTASC 6B K LC
  5997. 7614 OTASC 6C L LC
  5998. 7615 OTASC 6D M LC
  5999. 7616 OTASC 6E N LC
  6000. 7617 OTASC 6F O LC
  6001.  
  6002. 7620 OTASC 70 P LC
  6003. 7621 OTASC 71 Q LC
  6004. 7622 OTASC 72 R LC
  6005. 7623 OTASC 73 S LC
  6006. 7624 OTASC 74 T LC
  6007. 7625 OTASC 75 U LC
  6008. 7626 OTASC 76 V LC
  6009. 7627 OTASC 77 W LC
  6010.  
  6011. 7630 OTASC 78 X LC
  6012. 7631 OTASC 79 Y LC
  6013. 7632 OTASC 7A Z LC
  6014. 7633 OTASC 7B LB LEFT BRACE
  6015. 7634 OTASC 7C VL VERTICAL LINE
  6016. 7635 OTASC 7D RB RIGHT BRACE
  6017. 7636 OTASC 7E TL TILDE (OVERLINE)
  6018. 7637 OTASC 7F DEL DELETE
  6019.  
  6020. 7640 OTASC 00 NUL NULL (MEDIA FILL)
  6021. 7641 OTASC 01 SOH START OF HEADING
  6022. 7642 OTASC 02 STX START OF TEXT
  6023. 7643 OTASC 03 ETX END OF TEXT
  6024. 7644 OTASC 04 EOT END OF TRANSMISSION
  6025. 7645 OTASC 05 ENQ ENQUIRY
  6026. 7646 OTASC 06 ACK ACKOWLEDGE
  6027. 7647 OTASC 07 BEL BELL
  6028.  
  6029. 7650 OTASC 08 BS BACKSPACE
  6030. 7651 OTASC 09 HT HORIZONTAL TABULATION
  6031. 7652 OTASC 0A LF LINE FEED
  6032. 7653 OTASC 0B VT VERTICAL TABULATION
  6033. 7654 OTASC 0C FF FORM FEED
  6034. 7655 OTASC ,ACR CR CARRIAGE RETURN
  6035. 7656 OTASC 0E SO SHIFT OUT
  6036. 7657 OTASC 0F SI SHIFT IN
  6037.  
  6038. 7660 OTASC 10 DLE DATA LINK ESCAPE
  6039. 7661 OTASC 11 DC1 DEVICE CONTROL 1 (X-ON)
  6040. 7662 OTASC 12 DC2 DEVICE CONTROL 2
  6041. 7663 OTASC 13 DC3 DEVICE CONTROL 3 (X-OFF)
  6042. 7664 OTASC 14 DC4 DEVICE CONTROL 4 (STOP)
  6043. 7665 OTASC 15 NAK NEGATIVE ACKNOWLEDGE
  6044. 7666 OTASC 16 SYN SYNCHRONOUS IDLE
  6045. 7667 OTASC 17 ETB END OF TRANSMISSION BLOCK
  6046.  
  6047. 7670 OTASC 18 CAN CANCEL
  6048. 7671 OTASC 19 EM END OF MEDIUM
  6049. 7672 OTASC 1A SUB SUBSTITUTE
  6050. 7673 OTASC 1B ESC ESCAPE
  6051. 7674 OTASC 1C FS FILE SEPARATOR
  6052. 7675 OTASC 1D GS GROUP SEPARATOR
  6053. 7676 OTASC 1E RS RECORD SEPARATOR
  6054. 7677 OTASC 1F US UNIT SEPARATOR
  6055.  
  6056. * EXTENDED CHARACTER SET (ESCAPE 2).
  6057.  
  6058. 7400 OTASC NULL NOT USED
  6059. 7401 OTASC 40 AT COMMERCIAL AT
  6060. 7402 OTASC 5E CF CIRCUMFLEX
  6061. 7403 OTASC ,ANL ANL NEW LINE
  6062. 7404 OTASC 3A CL COLON
  6063. 7405 OTASC 11 DC1 DEVICE CONTROL 1 (X-ON)
  6064. 7406 OTASC NULL
  6065. 7407 OTASC 60 GV GRAVE ACCENT
  6066.  
  6067. 7410 OTASC ,ACR CR CARRIAGE RETURN
  6068. 7411 OTASC 0A LF LINE FEED
  6069. 7412 OTASC ,ANL NL NEW LINE (CR/LF)
  6070. SPACE 4,10
  6071. SPACE 4,10
  6072. RES HERE
  6073. ERRNG IBUF-TCTA-LNPP TOO MANY PP RESIDENT TRANSLATION TABLES
  6074. ERRNG MXTT-.T
  6075. QUAL
  6076. TNTT EQU /TRN/.T TOTAL NUMBER OF TRANSLATION TABLES
  6077. LNPP EQU /TRN/LNPP
  6078. NPPT EQU /TRN/NPPT
  6079. QUAL PRS
  6080. SPACE 4,10
  6081. * CHECK PROGRAM OVERFLOW.
  6082.  
  6083. .L0 SET .LL-OBUFE+3 OVERLAY LENGTH (PPU WORDS)
  6084. .L SET .L0/5+1 OVERLAY LENGTH (CM WORDS)
  6085. .L SET .L/100+1 OVERLAY LENGTH (SECTORS)
  6086. .L SET .L*500-.L0 PPU WORDS LEFT IN SECTOR
  6087. QUAL *
  6088. TTL 1TN/2TN - INITIALIZATION AND COMPLETION.
  6089. TITLE
  6090. IDENT 1TN,PRG
  6091. SST .EST
  6092. *COMMENT 1TN - INITIALIZATION / COMPLETION.
  6093. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  6094. SPACE 4,10
  6095. * BLOCK SEQUENCE DEFINITION.
  6096.  
  6097. USE MAIN
  6098. MANF BSS 0
  6099. USE PRESET
  6100. PRSF BSS 0
  6101. USE RESIDENT
  6102. RESF BSS 0
  6103. QUAL INI
  6104. SPACE 4,10
  6105. *** INITIALIZATION.
  6106. *
  6107. *
  6108. * (1) RESERVE MULTIPLEXERS AND CHANNELS.
  6109. * (2) WAIT FOR *IAF* INITIALIZATION TO COMPLETE.
  6110. * (3) INITIALIZE DRIVER.
  6111. SPACE 4,10
  6112. *** COMPLETION.
  6113. *
  6114. *
  6115. * (1) ISSUE DRIVER MAXIMUM CYCLE TIME MESSAGE.
  6116. * (2) TERMINATE *TELEX* AND STIMULATOR IF RUNNING.
  6117. TITLE INITIALIZATION COMPLETION.
  6118.  
  6119.  
  6120. USE MAIN
  6121. INI SPACE 4,10
  6122. ** INI - INITIALIZATION.
  6123. *
  6124. * ENTRY (IR+1) = 6/, 1/TERMINATION FLAG, 5/.
  6125.  
  6126.  
  6127. INI BSS 0 ENTRY
  6128. RJM IFP INITIALIZE *COMPGFP*
  6129. LDD IA READ INPUT REGISTER
  6130. CRD IR
  6131. LDD IR+1 CHECK CALL STATUS
  6132. LPN 40
  6133. ZJN INI1 IF INITIALIZATION
  6134. LJM TCP TERMINATE CONTROL POINT
  6135.  
  6136. * INITIALIZE CONTROL POINT.
  6137.  
  6138. INI1 STM PPFW TERMINATE EQUIPMENT DROP TABLE
  6139. LDN 1 INDICATE NO MUX FAILURE
  6140. STD ME
  6141. RJM CET CLEAR EQUIPMENT TABLES
  6142. RJM IDS INITIALIZE DRIVER STACK ADDRESS
  6143.  
  6144. * SET CIRCULAR STACK REFERENCE ADDRESS.
  6145.  
  6146. LDD CM+1 SET ADDRESS
  6147. STM TDQA
  6148. SHN 14
  6149. ADD CM+2
  6150. STM TDQA+1
  6151.  
  6152. * SET CM TRANSLATION TABLES REFERENCE ADDRESS.
  6153.  
  6154. ADC VDSL+5 ADD CIRCULAR STACK LENGTH
  6155. ADN TTTNL ADD ID TABLE LENGTH
  6156. STM TTRA+1
  6157. SHN -14
  6158. STM TTRA
  6159.  
  6160. * STORE TRANSLATION TABLE NAMES.
  6161.  
  6162. LDN TTTNL SET LENGTH
  6163. STD T1
  6164. LDD CM+1 SET STACK ADDRESS
  6165. SHN 6
  6166. ADD RA
  6167. SHN 6
  6168. ADD CM+2
  6169. ADC VDSL+5 ADD STACK LENGTH
  6170. CWM INIA,T1
  6171.  
  6172. * SET TRANSLATION TABLES LOAD ADDRESS FOR *LCT*.
  6173.  
  6174. STD CH+1
  6175. SHN -14
  6176. STD CH
  6177.  
  6178. * LOAD CM RESIDENT TRANSLATION TABLES.
  6179.  
  6180. RJM LCT LOAD CM RESIDENT TRANSLATION TABLES
  6181. RJM STA SET TRANSLATION TABLE ADDRESSES
  6182. LDN 40 SET INITIALIZATION COMPLETE FLAG
  6183. RAD IR+1
  6184. LDD IA WRITE INPUT REGISTER
  6185. CWD IR
  6186.  
  6187. * SET POT LINK TABLE REFERENCE ADDRESS.
  6188.  
  6189. LDD RA SET POT LINK MEMORY ADDRESSES
  6190. SHN 6
  6191. ADN VPLP
  6192. CRD T5
  6193. LDD T6
  6194. STM TPLA
  6195. LDD T7
  6196. STM TPLA+1
  6197.  
  6198. * SET TERMINAL TABLES REFERENCE ADDRESS.
  6199.  
  6200. LDD RA SET TERMINAL TABLE ADDRESSES
  6201. SHN 6
  6202. ADN VTTP
  6203. CRD T5
  6204. LDD T6
  6205. STM TTTA
  6206. LDD T7
  6207. STM TTTA+1
  6208.  
  6209. * SET BUFFER MEMORY REFERENCE ADDRESS.
  6210.  
  6211. LDD RA SET BUFFER MEMORY ADDRESS
  6212. SHN 6
  6213. ADN VBMP
  6214. CRD CM
  6215. LDD CM+3
  6216. STM TBMA
  6217. LDD CM+4
  6218. STM TBMA+1
  6219.  
  6220. * SET ADDRESS OF FIRST TERMINAL TABLE.
  6221.  
  6222. INI3 LDD DP+1 FIRST TERMINAL NUMBER
  6223. STD TN
  6224. LDD RA READ TERMINAL TABLE POINTER
  6225. SHN 6
  6226. ADN VTTP
  6227. CRD CM
  6228. INI4 LDN VTTL INCREMENT ADDRESS
  6229. RAD CM+2
  6230. SHN -14
  6231. RAD CM+1
  6232. SOD TN DECREMENT TERMINAL COUNT
  6233. NJN INI4 IF NOT ALL COUNTED
  6234. LDD CM+1 SET FIRST TERMINAL ABSOLUTE ADDRESS
  6235. SHN 6
  6236. ADD RA
  6237. SHN 6
  6238. ADD CM+2
  6239. STD T7
  6240. SHN -14
  6241. STD T6
  6242.  
  6243. * PRESET TERMINAL ROUTINE ADDRESSES.
  6244.  
  6245. LDD DP SET TERMINAL COUNT
  6246. STD TN
  6247. LDN ZERL
  6248. CRD CM
  6249. LDC /CTL/ITSA SET START ADDRESS
  6250. STD CM+4
  6251. INI5 LDD T6
  6252. SHN 14
  6253. ADD T7
  6254. ADN VDPT
  6255. CWD CM
  6256. LDN VTTL
  6257. RAD T7
  6258. SHN -14
  6259. RAD T6
  6260. SOD TN DECREMENT TERMINAL COUNT
  6261. NJN INI5 LOOP TO END OF TERMINALS
  6262.  
  6263. * INITIALIZE DRIVER DEBUG WORD.
  6264.  
  6265. LDD RA SET DEBUG WORD
  6266. SHN 6
  6267. ADN DBUG
  6268. CRD CM
  6269. LDN MNCT SET INITIAL MINIMUM CYCLE TIME
  6270. STD CM+1
  6271. LDD RA
  6272. SHN 6
  6273. ADN DBUG
  6274. CWD CM
  6275. LJM /PRS/PRS
  6276.  
  6277. * INIA - TABLE OF TERMINAL NAMES.
  6278.  
  6279. INIA BSS 0
  6280. LOC 0
  6281.  
  6282. VFD "TNPP""TNCM"60/0
  6283.  
  6284. TTTNL EQU */5
  6285. LOC *O
  6286. ICP SPACE 4,10
  6287. ** IDS - INITIALIZE DRIVER STACK ADDRESS.
  6288. *
  6289. * ENTRY (IR+4) = DRIVER CONTROL WORD POINTER.
  6290. * (IDSB) = NUMBER OF NETWORK CONNECTIONS.
  6291. * (IDSC) = NUMBER OF HIGH-SPEED CONNECTIONS.
  6292. *
  6293. * EXIT (CM+1 - CM+2) = DRIVER STACK ADDRESS.
  6294. * (DP) = NUMBER OF PORTS.
  6295. * (DP+1) = FIRST PORT NUMBER.
  6296. * (DP+2) = LAST PORT NUMBER + 1.
  6297. * (IDSB) = NUMBER OF NETWORK TERMINALS.
  6298. * (IDSC) = NUMBER OF HIGH SPEED TERMINALS.
  6299. *
  6300. * USES T1, T2, CM - CM+4, SI - SI+4.
  6301. *
  6302. * CALLS CEF, SES.
  6303. *
  6304. * MACROS MONITOR.
  6305.  
  6306.  
  6307. IDS SUBR ENTRY/EXIT
  6308. RJM CEF CHECK CPU ACTIVITY
  6309. LDN ZERL
  6310. CRD SI CLEAR STATUS INFORMATION
  6311. RJM SES SEARCH EST FOR EQUIPMENT(S)
  6312. STD DP SET NUMBER OF TERMINALS
  6313.  
  6314. * SET DRIVER CONTROL WORD DATA.
  6315.  
  6316. LDD RA READ DRIVER CONTROL WORD
  6317. SHN 6
  6318. ADD IR+4
  6319. CRD CM
  6320. LDN 1 SET REPLY INTERLOCK
  6321. STD CM
  6322. LDD DP SET TERMINAL COUNT
  6323. STD CM+3
  6324. LDC /TRN/LNCM+TTTNL SET CM TABLES LENGTH
  6325. STD CM+4
  6326. LDD RA REWRITE DRIVER CONTROL WORD
  6327. SHN 6
  6328. ADD IR+4
  6329. CWD CM
  6330.  
  6331. * SET NETWORK AND HIGH-SPEED CONNECTION COUNT IN
  6332. * DRIVER CONTROL WORD TABLE TERMINATOR WORD.
  6333.  
  6334. IDS1 ADN 1 ADVANCE TABLE ADDRESS
  6335. CRD CM READ NEXT WORD OF TABLE
  6336. STD T2 SAVE WORD ADDRESS
  6337. SHN -14
  6338. STD T1
  6339. LDD CM CHECK FOR TABLE TERMINATOR
  6340. SHN 21-13
  6341. MJN IDS2 IF TABLE TERMINATOR
  6342. LDD T1 SET WORD ADDRESS
  6343. SHN 14
  6344. LMD T2
  6345. UJN IDS1 LOOP FOR NEXT WORD
  6346.  
  6347. IDS2 LDD T1 SET WORD ADDRESS
  6348. SHN 14
  6349. LMD T2
  6350. CWM IDSA,ON WRITE TABLE TERMINATOR
  6351.  
  6352. * DROP PPU IF NO TERMINALS DEFINED.
  6353.  
  6354. LDD DP CHECK TERMINAL COUNT
  6355. NJN IDS3 IF TERMINALS DEFINED
  6356. MONITOR DPPM DROP PPU
  6357. LJM PPR
  6358.  
  6359. * WAIT FOR IAFEX CPU INITIALIZATION TO COMPLETE.
  6360. *
  6361. * IAFEX REPLY -
  6362. * (VDRL) = 12/0, 24/SA, 12/ TC, 12/ FT.
  6363. * SA = CIRCULAR STACK ADDRESS.
  6364. * TC = TERMINAL (PORT) COUNT.
  6365. * FT = FIRST TERMINAL (PORT) NUMBER.
  6366.  
  6367. IDS3 RJM CEF CHECK CPU ERROR FLAG
  6368. LDD RA CHECK IF *IAF* REPLIED YET
  6369. SHN 6
  6370. ADD IR+4 SET DRIVER CONTROL WORD ADDRESS
  6371. CRD CM
  6372. LDD CM
  6373. NJN IDS3 IF *IAF* HAS NOT REPLIED YET
  6374. LDD CM+4 SET FIRST TERMINAL NUMBER
  6375. STD DP+1
  6376. RAM /PRS/TTNA
  6377. LPN 77 SET LAST TERMINAL NUMBER + 1
  6378. ADD DP
  6379. STD DP+2
  6380. LJM IDSX RETURN
  6381.  
  6382.  
  6383. IDSA VFD 12/7777 TABLE TERMINATOR
  6384. VFD 12/0 UNUSED
  6385. VFD 12/0 UNUSED
  6386. IDSB VFD 12/0 NUMBER OF NETWORK CONNECTIONS
  6387. IDSC VFD 12/0 NUMBER OF HIGH SPEED CONNECTIONS
  6388. TITLE INITIALIZATION SUBROUTINES.
  6389. ABT SPACE 4,10
  6390. ** ABT - ABORT JOB.
  6391. *
  6392. * ENTRY (A) = MESSAGE ADDRESS.
  6393. *
  6394. * USES CM+1.
  6395. *
  6396. * CALLS DFM.
  6397. *
  6398. * MACROS MONITOR.
  6399.  
  6400.  
  6401. ABT RJM DFM ISSUE DAYFILE MESSAGE
  6402. LDN PPET SET ERROR FLAG
  6403. STD CM+1
  6404. MONITOR CEFM
  6405. LJM DPP DROP PP
  6406. CCS SPACE 4,10
  6407. ** CCS - CHECK CHANNEL STATUS.
  6408. *
  6409. * ENTRY (A) = 7/ ,5/ CHANNEL NUMBER.
  6410. *
  6411. * EXIT (A) = 0 IF CHANNEL RESERVED.
  6412. * (T2) = CHANNEL NUMBER.
  6413. *
  6414. * USES T1, T2, T3, CM - CM+4.
  6415.  
  6416.  
  6417. CCS SUBR ENTRY/EXIT
  6418. LPN 37
  6419. STD T2 SET CHANNEL NUMBER
  6420. MONITOR PRLM PAUSE FOR PREVIOUS CHANNEL REQUEST
  6421. LDN PPCP READ PPU COMMUNICATION ADDRESS
  6422. CRD CM
  6423. LDD IA SET PPU NUMBER
  6424. SBD CM+4
  6425. SHN -3
  6426. STD T3
  6427. LDN NCTAL CHANNEL STATUS TABLE LENGTH
  6428. STD T1
  6429. LDC CHTP FWA OF CHANNEL TABLES
  6430. CRD CM
  6431. LDD CM+2 READ CHANNEL STATUS TABLE
  6432. SHN 14
  6433. LMD CM+3
  6434. CRM CCSA,T1
  6435. LDM CCSA,T2 COMPARE CHANNEL STATUS AND PPU NUMBER
  6436. LMD T3
  6437. LPN 37
  6438. UJN CCSX RETURN WITH COMPARISON STATUS
  6439.  
  6440. CCSA BSS 5*NCTAL CHANNEL STATUS TABLE BUFFER
  6441. CEF SPACE 4,10
  6442. ** CEF - CHECK ERROR FLAG.
  6443. *
  6444. * EXIT (CM - CM+4) = CP STATUS WORD.
  6445. *
  6446. * MACROS MONITOR.
  6447.  
  6448.  
  6449. CEF SUBR
  6450. PAUSE
  6451. LDD CM+1
  6452. ZJN CEFX IF NO ERROR FLAG
  6453. LJM DPP DROP PP
  6454. CES SPACE 4,10
  6455. ** CES - CHECK EQUIPMENT STATUS.
  6456. *
  6457. * ENTRY (CH - CH+4) = EST ENTRY.
  6458.  
  6459.  
  6460. CES SUBR ENTRY/EXIT
  6461. LDD CH CHECK EQUIPMENT
  6462. SHN 21-10
  6463. MJN CESX IF *CTS* MULTIPLEXOR, RETURN
  6464. LDD CH+1 BUILD FUNCTION CODE INSTRUCTION
  6465. LPN 77
  6466. LMC FANI
  6467. STM CESA
  6468. LPN 77 BUILD INACTIVE JUMP INSTRUCTION
  6469. LMC IJMI
  6470. STM CESB
  6471. LPN 77 BUILD DISCONNECT INSTRUCTION
  6472. LMC DCNI
  6473. STM CESC
  6474. LDD CH+4 BUILD FUNCTION CODE
  6475. LPC 7000
  6476. ADN 3
  6477. CESA FAN. MC
  6478. LDN 77 TIME OUT FUNCTION
  6479. CES1 BSS 0
  6480. CESB IJM. CESX,MC IF FUNCTION ACCEPTED, RETURN
  6481. SBN 1
  6482. NJN CES1 IF NOT TIMED OUT
  6483. CESC DCN. MC
  6484. LDC CESD
  6485. LJM ABT ABORT CONTROL POINT
  6486.  
  6487. CESD DATA C* 667X FUNCTION REJECT.*
  6488. DPP SPACE 4,10,10
  6489. ** DPP - DROP PP.
  6490.  
  6491. DPP LCN 0 WAIT FOR *1AJ* TO COMPLETE
  6492. SBN 1
  6493. NJN *-1
  6494. LDD CP SET CONTROL CARD BUFFER EMPTY
  6495. ADN CSPW
  6496. CRD CM
  6497. LDD CM+4
  6498. STD CM+3
  6499. LDD CP
  6500. ADN CSPW
  6501. CWD CM
  6502. LJM TCP TERMINATE CONTROL POINT
  6503. CET SPACE 4,10
  6504. ** CET - CLEAR EQUIPMENT TABLES.
  6505. *
  6506. * USES T1.
  6507.  
  6508.  
  6509. CET SUBR ENTRY/EXIT
  6510. LDC TEQN
  6511. STD T1
  6512. CET1 LDN 0
  6513. STI T1
  6514. AOD T1
  6515. ADC -10000
  6516. MJN CET1 IF NOT END OF TABLES
  6517. UJN CETX
  6518. RCH SPACE 4,10
  6519. ** RCH - RELEASE CHANNEL.
  6520. *
  6521. * ENTRY (CH+1) = CHANNEL.
  6522. *
  6523. * EXIT CHANNEL INACTIVE AND DROPPED, IF PREVIOUSLY RESERVED.
  6524. *
  6525. * CALLS CCS.
  6526. *
  6527. * MACROS DCHAN.
  6528.  
  6529.  
  6530. RCH SUBR ENTRY/EXIT
  6531. LDD CH+1
  6532. RJM CCS CHECK CHANNEL STATUS
  6533. NJN RCHX IF NOT RESERVED BY THIS PP
  6534. LDD T2
  6535. ADC DCNI+40 ENSURE CHANNEL IS INACTIVE
  6536. STM RCHA
  6537. RCHA DCN. **+40
  6538. LDD T2 RELEASE CHANNEL RESERVATION
  6539. DCHAN
  6540. UJN RCHX RETURN
  6541. LCT SPACE 4,10
  6542. ** LCT - LOAD CM RESIDENT TRANSLATION TABLES.
  6543. *
  6544. * ENTRY (CH - CH+1) = ABSOLUTE STARTING CM ADDRESS.
  6545. *
  6546. * EXIT (CH - CH+1) = LWA+1 OF TRANSLATION TABLES.
  6547. *
  6548. * USES CH, T1, T7, CM - CM+4, ZR -ZR+4.
  6549.  
  6550. * MACROS MONITOR.
  6551.  
  6552.  
  6553. LCT SUBR ENTRY/EXIT
  6554. LDD IR+1 SET CONTROL POINT NUMBER
  6555. LPN 37
  6556. RAM LCTC+1
  6557. LDD IA SET INPUT REGISTER ADDRESS
  6558. STM LCTC+2
  6559. * EXECUTE 9J*,= TRANSLATION TABLE OVERLAYS
  6560. LDC LCTD-1 SET FIRST OVERLAY NAME
  6561. STD T7
  6562. LCT1 AOD T7 ADVANCE TABLE
  6563. LDI T7 CHECK OVERLAY NAME
  6564. ZJN LCTX RETURN IF END OF TABLE
  6565. STM LCTC+4
  6566. LDC BUF SET LOAD ADDRESS
  6567. STM LCTA
  6568. ADN 5
  6569. STM LCTB
  6570. EXECUTE 1DL,=
  6571. LDD MA STORE INPUT REGISTER
  6572. CWM LCTC,ON
  6573. LCT2 LDN 1 SET NO DROP PP, NO QUEUE
  6574. STD CM+1
  6575. MONITOR RPPM REQUEST PP
  6576. LDD CM+1
  6577. ZJN LCT2 IF NO PPU AVAILABLE
  6578. STD T1 SAVE PPU INPUT REGISTER ADDRESS
  6579. LCT3 LDN 77 DELAY
  6580. SBN 1
  6581. NJN *-1
  6582. LDD T1
  6583. CRD CM
  6584. LDD CM+1
  6585. LMM LCTC+1
  6586. NJN LCT2 IF LOADER TIMED OUT
  6587. LDD CM+2
  6588. LMC 7777
  6589. NJN LCT3 IF LOADER NOT READY YET
  6590. STD CM+2
  6591. LDN ZERL
  6592. CRD ZR CLEAR OUTPUT REGISTER
  6593. LDD OA
  6594. CWD ZR
  6595. LDD T1
  6596. CWD CM
  6597. LCT4 LDN 77 DELAY
  6598. SBN 1
  6599. NJN *-1
  6600. LDD OA CHECK IF DATA READY
  6601. CRD CM
  6602. LDD CM+4
  6603. ZJN LCT4 IF DATA NOT READY
  6604. LPN 77 SET WORD COUNT
  6605. ZJN LCT5 IF NULL TRANSFER
  6606. STD T1
  6607. LDD MA READ DATA
  6608. CRM BUF,T1
  6609. LCTA EQU *-1
  6610. LDN 5*6 UPDATE BUFFER ADDRESS
  6611. RAM LCTA
  6612. LDD OA SET EMPTY FLAG
  6613. CWD ZR
  6614. UJN LCT4 LOOP
  6615.  
  6616. LCT5 LDM BUF+4 SET WORD COUNT
  6617. SBN 1
  6618. STD T1 PPU WORD COUNT
  6619. SHN 2
  6620. RAD T1
  6621. LCT6 LDD CH STORE WORD
  6622. SHN 14
  6623. ADD CH+1
  6624. CWM BUF-5,ON
  6625. LCTB EQU *-1
  6626. STD CH+1 UPDATE CM ADDRESS
  6627. SHN -14
  6628. STD CH
  6629. LDN 4 UPDATE PPU ADDRESS
  6630. RAM LCTB
  6631. LCN 4 DECREMENT BUFFER COUNT
  6632. RAD T1
  6633. ZJN LCT7 IF COMPLETE
  6634. PJN LCT6 IF NOT COMPLETE
  6635. LCT7 LJM LCT1 PROCESS NEXT TABLE
  6636.  
  6637. LCTC VFD 18/3R1DL,6/,12/0,12/1R9,12/0
  6638.  
  6639. LCTD CON "ONCM"
  6640. MTT SPACE 4,10,10
  6641. ** MTT - MODIFY TRANSLATION TABLES.
  6642. *
  6643. * MODIFY TRANSLATION TABLES TO CORRESPOND TO 63 CHARACTER
  6644. * SET INSTALLATION MODE.
  6645. *
  6646. * THIS SUBROUTINE IS RELOCATED TO AND EXECUTED WITHIN THE
  6647. * MULTIPLEXER OUTPUT BUFFER AREA.
  6648. *
  6649. * USES DI, DO, DP+2, DP+3, T6, T7, T0 - T4.
  6650. *
  6651. * CALLS RDP, SCA, TOC.
  6652. *
  6653. * MACROS ADCTR.
  6654.  
  6655.  
  6656. MTTA EQU *
  6657. LOC OBUF
  6658.  
  6659. MTT SUBR ENTRY/EXIT
  6660. LDN 0 PRESET TRANSLATION TABLE INDICES
  6661. STD DP+2
  6662. STD DP+3
  6663. UJN MTT2
  6664.  
  6665. * PROCESS TRANSLATION TABLE.
  6666.  
  6667. MTT1 LDC 200B ADVANCE TRANSLATION TABLE INDEX
  6668. RAD DP+3
  6669. SHN -7
  6670. STD DP+2
  6671. MTT2 LMN TNTT TOTAL NUMBER OF TRANSLATION TABLES
  6672. ZJN MTTX IF COMPLETE
  6673. LDN 66 CHECK TABLE TYPE
  6674. STD T7
  6675. RJM /WTM/TOC
  6676. SHN 6
  6677. PJN MTT1 IF OLD TRANSLATION TABLE
  6678. LDN 0 SET SUBSTITUTION TABLE INDEX
  6679. STD DO
  6680. STD DI
  6681.  
  6682. * PRESET OUTPUT CONVERSIONS.
  6683. * THE DISPLAY CODE VALUE OF THE CHARACTER TO BE SUBSTITUTED
  6684. * IS TRANSLATED TO COMMUNICATIONS LINE CODE AND SET
  6685. * IN TABLE *TOSV*.
  6686.  
  6687. MTT3 LDM TOSO,DO SET SUBSTITUTION ORDINAL
  6688. STD T7
  6689. LMC 7777
  6690. ZJN MTT4 IF END OF OUTPUT CONVERSION
  6691. RJM /WTM/TOC TRANSLATE OUTPUT
  6692. STM TOSV,DO STORE SUBSTITUTION VALUE
  6693. AOD DO
  6694. UJN MTT3 LOOP
  6695.  
  6696. * PRESET INPUT CONVERSIONS.
  6697. * THE CHARACTER TO BE MODIFIED IS FIRST CONVERTED TO
  6698. * ITS EQUIVALENT COMMUNICATIONS LINE CODE. THIS VALUE
  6699. * WILL BE USED TO DETERMINE THE CHARACTERS LOCATION
  6700. * IN THE INPUT TRANSLATION TABLE, AND IS STORED IN
  6701. * TABLE *TICO*.
  6702.  
  6703. MTT4 LDM TICV,DI CURRENT INPUT CHARACTER
  6704. STD T7
  6705. LMC 7777
  6706. ZJN MTT6 IF END OF INPUT CONVERSIONS
  6707. RJM /WTM/TOC TRANSLATE TO LINE CODE
  6708. SHN -1 CALCULATE INPUT ORDINAL
  6709. STD T6
  6710. LPN 77
  6711. STD T7
  6712. LDN /CTL/RDP DETERMINE TABLE TYPE
  6713. RJM SCA
  6714. LMC /RDM/ARD
  6715. ZJN MTT5 IF ASCII
  6716. LDD T6 SET CORRESPONDENCE CASE
  6717. SHN 6-11
  6718. LPC 100
  6719. ADD T7
  6720. STD T6
  6721. MTT5 LDD T6
  6722. LPC 177
  6723. STM TICO,DI SET INPUT ORDINAL
  6724. AOD DI
  6725. UJN MTT4 LOOP
  6726.  
  6727. * MODIFY OUTPUT CONVERSIONS.
  6728.  
  6729. MTT6 SOD DO DECREMENT INDEX
  6730. PJN MTT7 IF NOT END OF OUTPUT CONVERSIONS
  6731. LJM MTT9 ADVANCE TO INPUT CONVERSIONS
  6732.  
  6733. MTT7 LDM TOTA,DP+2 SET TABLE BASE ADDRESS
  6734. STD T7
  6735. LDD DP+2 CHECK RESIDENCE
  6736. SBN NPPT
  6737. PJN MTT8 IF CM RESIDENT
  6738. LDM TOCO,DO SET OUTPUT ADDRESS
  6739. RAD T7
  6740. LDM TOSV,DO ENTER SUBSTITUTION VALUE
  6741. STI T7
  6742. UJN MTT6 LOOP TO NEXT CONVERSION
  6743.  
  6744. MTT8 LDM TOCO,DO CALCULATE OUTPUT ADDRESS
  6745. LPN 3 SET BYTE INDEX
  6746. STD T6
  6747. LDM TOCO,DO SET WORD ADDRESS
  6748. SHN -2
  6749. RAD T7
  6750. ADCTR READ OUTPUT WORD
  6751. CRD T0
  6752. LDM TOSV,DO ENTER SUBSTITUTION VALUE
  6753. STI T6
  6754. LDD T7 REWRITE WORD
  6755. ADCTR
  6756. CWD T0
  6757. LJM MTT6 LOOP TO NEXT CONVERSION
  6758.  
  6759. * MODIFY INPUT CONVERSIONS.
  6760.  
  6761. MTT9 SOD DI DECREMENT INDEX
  6762. PJN MTT10 IF NOT END OF INPUT CONVERSIONS
  6763. LJM MTT1 LOOP TO NEXT TRANSLATION TABLE
  6764.  
  6765. MTT10 LDM TITA,DP+2 SET TABLE BASE ADDRESS
  6766. STD T7
  6767. PT IF DEF,VAVPT
  6768. LMM TOTA,DP+2 COMPARE TO OUTPUT TABLE ADDRESS
  6769. ZJN MTT9 IF NO OUTPUT TABLE
  6770. PT ENDIF
  6771. LDD DP+2 CHECK RESIDENCE
  6772. SBN NPPT
  6773. PJN MTT11 IF CM RESIDENT
  6774. LDM TICO,DI SET INPUT ADDRESS
  6775. RAD T7
  6776. LDM TISV,DI ENTER SUBSTITUTION VALUE
  6777. STI T7
  6778. UJN MTT9 LOOP TO NEXT INPUT CONVERSION
  6779.  
  6780. MTT11 LDM TICO,DI CALCULATE INPUT ADDRESS
  6781. LPN 3 SET BYTE ADDRESS
  6782. STD T6
  6783. LDM TICO,DI SET WORD ADDRESS
  6784. SHN -2
  6785. RAD T7
  6786. ADCTR READ INPUT WORD
  6787. CRD T0
  6788. LDM TISV,DI ENTER SUBSTITUTION VALUE
  6789. STI T6
  6790. LDD T7 REWRITE WORD
  6791. ADCTR
  6792. CWD T0
  6793. LJM MTT9 LOOP TO NEXT CONVERSION
  6794.  
  6795.  
  6796. * SUBSTITUTION TABLES. THESE TABLES ARE USED TO
  6797. * INDICATE THE INPUT AND OUTPUT SUBSTITUTIONS DESIRED.
  6798. * THE INPUT AND OUTPUT TABLES ARE INDEPENDENT AND
  6799. * CHARACTERS MODIFIED FOR INPUT NEED NOT BE MODIFIED
  6800. * FOR OUTPUT AND VICE VERSA. THE TABLES ARE INDEXED
  6801. * BY ORDINAL WITHIN THE TABLE AND THERE MUST BE A
  6802. * ONE WORD ENTRY IN EACH TABLE OF A SET TO INDICATE
  6803. * THE SUBSTITUTIONS DESIRED AND TO HOLD INTERMEDIATE
  6804. * DATA CALCULATED BY *MTT*.
  6805. *
  6806.  
  6807.  
  6808. * OUTPUT CONVERSION TABLES.
  6809. *
  6810. * TOSO - TABLE OF DISPLAY CODE VALUES OF CHARACTERS
  6811. * TO BE SUBSTITUTED FOR THEIR CORRESPONDING CHARACTERS
  6812. * IN TABLE *TOCO* WHEN OUTPUT.
  6813.  
  6814. TOSO BSS 0 SUBSTITUTION ORDINALS (DISPLAY CODE)
  6815. DATA 0
  6816. DATA 63
  6817. DATA 7777 END OF TABLE
  6818.  
  6819. * TOCO - TABLE OF DISPLAY CODE CHARACTERS WHICH ARE TO
  6820. * BE REPLACED BY THEIR CORRESPONDING CHARACTER IN TABLE
  6821. * *TOSO* WHEN OUTPUT.
  6822.  
  6823. TOCO BSS 0 CURRENT ORDINALS (DISPLAY CODE)
  6824. DATA 63
  6825. DATA 204
  6826.  
  6827. * TOSV - TABLE OF SUBSTITUTION VALUES (COMMUNICATIONS
  6828. * LINE CODE) OF THEIR CORRESPONDING CHARACTERS IN TABLE
  6829. * *TOSO*.
  6830.  
  6831. TOSV BSS 0 SUBSTITUTION VALUES (LINE CODE)
  6832. DATA 0
  6833. DATA 0
  6834.  
  6835.  
  6836. * INPUT SUBSTITUTION TABLES.
  6837. *
  6838. * TICV - TABLE OF CHARACTERS WHICH ARE TO BE REPLACED
  6839. * BY THEIR CORRESPONDING CHARACTERS IN TABLE *TISV*
  6840. * WHEN INPUT.
  6841.  
  6842. TICV BSS 0 CURRENT VALUES (DISPLAY CODE)
  6843. DATA 0
  6844. DATA 63
  6845. DATA 7777 END OF TABLE
  6846.  
  6847. * TISV - TABLE OR CHARACTERS WHICH ARE TO BE SUBSTITUTED
  6848. * FOR THEIR CORRESPONDING CHARACTERS IN TABLE *TICV*
  6849. * WHEN INPUT.
  6850.  
  6851. TISV BSS 0 SUBSTITUTION VALUES (DISPLAY CODE)
  6852. DATA 63
  6853. DATA 204
  6854.  
  6855. * TICO - TABLE OF INPUT TRANSLATION TABLE LOCATIONS
  6856. * OF THE CORRESPONDING CHARACTERS IN TABLE *TICV*.
  6857.  
  6858. TICO BSS 0 CURRENT ORDINALS (BIASED LINE CODE)
  6859. DATA 0
  6860. DATA 0
  6861.  
  6862. LOC *O
  6863. MTTL EQU *-MTTA
  6864. ERRNG 300B-MTTL MINIMUM LENGTH OF MULTIPLEXOR BUFFER
  6865. PTM SPACE 4,10,10
  6866. ** PTM - PRESET TRANSLATION TABLE MODIFICATION ROUTINE.
  6867. *
  6868. * RELOCATES ROUTINE *MTT* TO MULTIPLEXER OUTPUT BUFFER
  6869. * IF SYSTEM IS IN 63 CHARACTER SET MODE. IF SYSTEM
  6870. * IS IN 64 CHARACTER SET MODE, THE CALL TO *MTT* IS
  6871. * DISABLED AND CODE IS NOT RELOCATED.
  6872. *
  6873. * USES T7, T0 - T4.
  6874.  
  6875.  
  6876. * DISABLE CALL TO *MTT* IF IN 64 CHARACTER SET MODE.
  6877.  
  6878. PTM2 LDC /PRS/PRSC DISABLE CALL TO *MTT*
  6879. STM /PRS/PRSC
  6880.  
  6881. * PTM - ENTRY.
  6882.  
  6883. PTM SUBR ENTRY/EXIT
  6884. LDN IPRL CHECK SYSTEM MODE
  6885. CRD T0
  6886. LDD T0+2
  6887. LPN 1
  6888. NJN PTM2 IF SYSTEM IN 64 CHARACTER SET MODE
  6889. STD T7 INITIALIZE RELOCATION
  6890. PTM1 LDM MTTA,T7 RELOCATE ROUTINE
  6891. STM OBUF,T7
  6892. AOD T7
  6893. LMC MTTL
  6894. NJN PTM1 IF NOT COMPLETE
  6895. UJN PTMX EXIT
  6896. SES SPACE 4,10
  6897. ** SES - SEARCH EST FOR EQUIPMENT.
  6898. *
  6899. * EXIT (A) = NUMBER OF TERMINALS TO PROCESS.
  6900. * (IR+2) = STIMULATOR EST ORDINAL.
  6901. * (MUXP) = MULTIPLEXER TABLE INITIALIZED.
  6902. * (IDSB) = NUMBER OF NETWORK TERMINALS.
  6903. * TO *ABT* IF TOO MANY PORTS.
  6904. *
  6905. * USES T4, T5, T6, T7, CH - CH+4, CM - CM+4, IR+2 - IR+4.
  6906. *
  6907. * CALLS CCS, CES, DCH, FTN, RCH.
  6908. *
  6909. * MACROS MONITOR, RCHAN, SFA.
  6910.  
  6911.  
  6912. SES14 STM PPFW,T4 TERMINATE EQUIPMENT DROP TABLE
  6913. LDN ZERL TERMINATE CM MUX TABLE
  6914. CRD CM
  6915. LDD RA
  6916. SHN 6
  6917. ADC MUXP+VMTN
  6918. ADD T4
  6919. CWD CM
  6920. LDD T5 PICK UP PORT COUNT
  6921.  
  6922. SES SUBR ENTRY/EXIT
  6923. LDC VCPT*200+TFSW READ IAF EJTO
  6924. CRD CM
  6925. LDD CM
  6926. STM SESB
  6927. LDN 0 CLEAR EQUIPMENT INDEX
  6928. STD T4
  6929. STD T5 CLEAR TERMINAL COUNT
  6930. STD IR+2 CLEAR STIMULATOR EST ORDINAL
  6931. LDN ESTP READ EST POINTER
  6932. CRD T6
  6933. LDN TTEQ-1 INITIALIZE EST ORDINAL FOR SEARCH
  6934. STD T6
  6935. LDD T6+2 SAVE LAST EST ORDINAL + 1
  6936. STD T7
  6937. SES1 AOD T6 INCREMENT EST ORDINAL
  6938. LMD T7
  6939. ZJN SES14 IF END OF EST
  6940. SFA EST,T6
  6941. ADK EQDE
  6942. CRD CH READ EST ENTRY
  6943. ADK EQAE-EQDE
  6944. CRD CM READ EQUIPMENT ASSIGNMENT
  6945. LDD CH
  6946. LPN 2
  6947. NJN SES1 IF EQUIPMENT IS OFF OR DOWN
  6948. LDD CH+3
  6949. LMC 2RTT
  6950. NJN SES1 IF EQUIPMENT NOT *TT*
  6951. LDD CM+3 SAVE UPPER ACCESS LEVEL LIMIT OF MUX
  6952. LPN 7
  6953. STM SESC
  6954. LDD CM+4
  6955. ZJN SES3 IF UNASSIGNED
  6956. LMC ** (IAF EJT ORDINAL)
  6957. SESB EQU *-1
  6958. ZJN SES5 IF ASSIGNED TO IAF
  6959. SES2 UJN SES1 CONTINUE EST SEARCH
  6960.  
  6961. SES3 LDK REQS REQUEST ACTIVE EQUIPMENT
  6962. STD CM+2
  6963. LDD T6 RESERVE EQUIPMENT
  6964. STD CM+1
  6965. LMN TTEQ
  6966. NJN SES4 IF NOT PSEUDO EQUIPMENT
  6967. LDD CH+4 NUMBER OF NETWORK TERMINALS
  6968. STM IDSB
  6969. UJN SES2 CONTINUE EST SEARCH
  6970.  
  6971. SES4 MONITOR REQM
  6972. LDD CM+1
  6973. ZJN SES2 IF EQUIPMENT NOT AVAILABLE
  6974. SES5 LDD CH+1
  6975. RJM CCS CHECK CHANNEL STATUS
  6976. ZJN SES6 IF CHANNEL RESERVED
  6977. LDD T2 RESERVE CHANNEL
  6978. RCHAN
  6979.  
  6980. * CREATE MUX TABLE ENTRY.
  6981.  
  6982. SES6 LDN ZERL CLEAR ENTRY
  6983. CRD CM
  6984. LDD CH+4 SET TERMINAL COUNT
  6985. LPC 777
  6986. NJN SES7 IF NUMBER OF TERMINALS DEFINED IN EST
  6987. LDD TH SET DEFAULT TERMINAL COUNT
  6988. SES7 STM TNTD,T4
  6989. STD CM+3
  6990. LDD CH+4
  6991. LPC 7000
  6992. SHN 3
  6993. ADD CH+1
  6994. SHN 6
  6995. STD CM SET CHANNEL AND EQUIPMENT
  6996. LDC * SET UPPER ACCESS LEVEL LIMIT
  6997. SESC EQU *-1
  6998. STD CM+2
  6999. LDD RA
  7000. SHN 6
  7001. ADC MUXP+VMTN
  7002. ADD T4
  7003. CWD CM
  7004. LDN 0
  7005. STD CM+4 CLEAR FOR MONITOR REQUEST
  7006. LDD T6 SET EST ORDINAL FOR STIMULATOR
  7007. STD IR+2
  7008. LDD IA
  7009. CWD IR
  7010. LDM TNTD,T4 INCREMENT AND VERIFY TOTAL PORT COUNT
  7011. RAD T5 COUNT TOTAL NUMBER OF PORTS
  7012. ADC -MXMX*100-1
  7013. PJN SES10 IF PORT COUNT TOO LARGE
  7014. LDD T6 SET EST ORDINAL
  7015. STM TEQN,T4
  7016. STM PPFW,T4 SAVE FOR *STOP* AT INITIALIZATION
  7017. AOD T4
  7018. SBK MXMX+2
  7019. PJN SES10 IF TOO MANY MULPLIPLEXERS
  7020. LJM SES1 PROCESS NEXT MUX
  7021.  
  7022. * DROP ALL EQUIPMENT AND CHANNELS.
  7023.  
  7024.  
  7025. SES10 LDD T6
  7026. STM TEQN,T4 SAVE LAST EQUIPMENT
  7027. LDN 0
  7028. STM TEQN+1,T4 ZERO TERMINATOR WORD
  7029. STD T4
  7030. SES11 LDM TEQN,T4
  7031. ZJN SES13 IF END OF TABLE
  7032. STD CM+1
  7033. SFA EST READ EST ENTRY
  7034. ADK EQDE
  7035. CRD CH
  7036. LDN 0 RELEASE ACTIVE EQUIPMENT
  7037. STD CM+2
  7038. MONITOR DEQM
  7039. RJM RCH RELEASE CHANNEL
  7040. AOD T4 ADVANCE MUX INDEX
  7041. UJN SES11 PROCESS NEXT EQUIPMENT
  7042.  
  7043. * ABORT CONTROL POINT.
  7044.  
  7045. SES13 STM PPFW TERMINATE EQUIPMENT DROP TABLE
  7046. LDC SESA
  7047. LJM ABT ABORT CONTROL POINT
  7048.  
  7049.  
  7050. SESA DATA C* TOO MANY MUX PORTS.*
  7051. STA SPACE 4,10,10
  7052. ** STA - SET TRANSLATION TABLE ADDRESSES.
  7053. *
  7054. * USES T1, T2.
  7055.  
  7056.  
  7057. STA SUBR ENTRY/EXIT
  7058. LDN 0 COPY RESIDENT OVERLAY NAMES
  7059. STD T1
  7060. STD T2
  7061. STA1 LDM STAA,T1
  7062. STM TRTN,T1
  7063. ZJN STA2
  7064. AOD T1
  7065. UJN STA1
  7066.  
  7067. STA2 LDM STAB,T2 COPY TRANSLATION TABLE ADDRESSES
  7068. ZJN STAX
  7069. STM TITA,T2
  7070. LDM STAC,T2
  7071. STM TOTA,T2
  7072. LDM STAD,T2
  7073. STM TTTC,T2
  7074. AOD T2
  7075. UJN STA2
  7076.  
  7077. * THE FOLLOWING TABLES ARE GENERATED BY MICROS DEFINED
  7078. * BY THE TERMINAL TRANSLATION TABLES.
  7079.  
  7080. * STAA - TABLE OF OVERLAY NAMES.
  7081.  
  7082. STAA CON "ONPP"
  7083.  
  7084. * STAB - TABLE OF INPUT TRANSLATION ADDRESSES.
  7085.  
  7086. STAB CON "IAPP""IACM"
  7087.  
  7088. * STAC - TABLE OF OUTPUT TRANSLATION ADDRESSES.
  7089.  
  7090. STAC CON "OAPP""OACM"
  7091.  
  7092. * STAD - TABLE OF TERMINAL TYPE IDENTIFICATION CODES.
  7093.  
  7094. STAD CON "TCPP""TCCM"
  7095. TITLE COMPLETION.
  7096. ** TCP - TERMINATE CONTROL POINT.
  7097. *
  7098. * ENTRY (ME) = 0 IF MULTIPLEXER ERROR.
  7099. * (IR+1) = 6/, 1/TERMINATION FLAG, 5/.
  7100. * (IR+2) = 3/ FN, 9/ ESTORD.
  7101. * (IR+3) = STIMULATOR TERMINAL COUNT.
  7102. * (IR+4) = 12/ STIMULATOR CHANNEL.
  7103. *
  7104. * USES T6, T7, CH - CH+4, CM - CM+4.
  7105. *
  7106. * CALLS CCS, C2D, DFM.
  7107. *
  7108. * MACROS DCHAN, MONITOR, SFA.
  7109.  
  7110.  
  7111. TCP PAUSE
  7112. LDN 0 CLEAR EST INDEX
  7113. STD T7
  7114.  
  7115. * RELEASE ASSIGNED EQUIPMENT AND CHANNELS
  7116.  
  7117. TCP1 LDM PPFW,T7 CHECK EQUIPMENT ENTRY
  7118. NJN TCP1.1 IF NOT END OF TABLE
  7119. LJM TCP5 CHECK MULTIPLEXER STATUS
  7120.  
  7121. TCP1.1 STD CM+1
  7122. SFA EST READ EST ENTRY
  7123. ADK EQDE
  7124. CRD CH
  7125. LDN 0 RELEASE ACTIVE EQUIPMENT
  7126. STD CM+2
  7127. LDD CH+4
  7128. LPN 77
  7129. ZJN TCP3 IF NOT AN ENTRY FOR A STIMULATOR
  7130. SBN 1
  7131. ZJN TCP2 IF *TELEX* STIMULATOR
  7132. SBN 2-1
  7133. NJN TCP3 IF NOT *TRANSIM* STIMULATOR IN DIRECT MODE
  7134. TCP2 LDD CH+1 DISCONNECT STIMULATOR CHANNEL
  7135. LPN 37
  7136. RAM TCPA
  7137. TCPA DCN. 40+0
  7138. TCP3 MONITOR DEQM DROP EQUIPMENT
  7139. RJM RCH RELEASE CHANNEL
  7140. AOD T7 ADVANCE MUX INDEX
  7141. LJM TCP1 CHECK EQUIPMENT ENTRY
  7142.  
  7143. * PROCESS MULTIPLEXER FAILURE.
  7144.  
  7145. TCP5 LDD ME CHECK MULTIPLEXER STATUS
  7146. ZJN TCP6 IF EQUIPMENT FAILURE
  7147. LJM TCP8
  7148.  
  7149. * SIGNAL LOSS OF DRIVER TO EXECUTIVE.
  7150.  
  7151. TCP6 LDD RA READ DRIVER STATUS WORD
  7152. SHN 6
  7153. ADD IR+4 SET CONTROL WORD ADDRESS
  7154. CRD CM
  7155. LDN 1 SET DRIVER-FAILURE FLAG
  7156. STD CM
  7157. LDD RA REWRITE DRIVER STATUS WORD
  7158. SHN 6
  7159. ADD IR+4 SET CONTROL WORD ADDRESS
  7160. CWD CM
  7161.  
  7162. * ISSUE ERROR LOG AND DAYFILE MESSAGES.
  7163.  
  7164. LDD IR+2 CHECK FAILURE STATUS
  7165. ZJN TCP7 IF NOT CHANNEL TIMEOUT ERROR
  7166. SHN -3
  7167. RJM C2D CONVERT UPPER TWO DIGITS OF EST ORDINAL
  7168. STM TCPE+1
  7169. LDD IR+2 CONVERT LOWER DIGIT OF EST ORDINAL
  7170. LPN 7
  7171. SHN 6
  7172. ADC 2R0,
  7173. STM TCPE+2
  7174. LDD IR+2 SET FUNCTION NUMBER
  7175. SHN -11
  7176. RAM TCPE+4
  7177. LDC TCPE+ERLN MESSAGE TO *ERRLOG*
  7178. RJM DFM
  7179. LDN TCPE-TCPB MESSAGE TO *DAYFILE*
  7180. TCP7 ADC TCPB EQUIPMENT FAILURE
  7181. RJM DFM
  7182. LDD SI+3
  7183. NJN TCP8 IF NOT FIRST PASS
  7184. UJN TCP9
  7185.  
  7186. TCP8 LDN ZERL CONVERT DRIVER CYCLE TIME
  7187. CRD CM
  7188. LDD SI+3 GET MAXIMUM CYCLE TIME
  7189. STD CM+4
  7190. LDD MA
  7191. CWD CM
  7192. MONITOR RDCM REQUEST DATA CONVERSION
  7193. LDD MA SET UP MESSAGE
  7194. CRM TCPC,ON
  7195. LDM TCPC
  7196. ZJN TCP9 IF NO TIME ACCUMLATED
  7197. LDC TCPC ISSUE MESSAGE
  7198. RJM DFM
  7199.  
  7200. TCP9 LDN ZERL CONVERT REQUESTS FOR CPU
  7201. CRD CM
  7202. LDD SI GET NUMBER OF REQUESTS
  7203. ZJN TCP10 IF NONE
  7204. STD CM+4
  7205. LDD MA
  7206. CWD CM
  7207. MONITOR RDCM REQUEST DATA CONVERSION
  7208. LDD MA CONSTRUCT MESSAGE
  7209. CRM TCPD,ON
  7210. LDC TCPD
  7211. RJM DFM ISSUE DAYFILE MESSAGE
  7212.  
  7213. TCP10 MONITOR DPPM DROP PP
  7214. LJM PPR EXIT TO PP RESIDENT
  7215.  
  7216. TCPB DATA C* 667X MALFUNCTION.*
  7217. TCPC DATA C* SEC. 1TN CYCLE TIME.*
  7218. TCPD DATA C* KILO. 1TN REQUEST CPU.*
  7219. TCPE DATA C*TTXXX, FN0, FUNCTION TIMEOUT.*
  7220. SPACE 4,10
  7221. ** COMMON DECKS.
  7222.  
  7223.  
  7224. QUAL$ SET 1
  7225. *CALL COMSSSD
  7226. EST$ EQU 1 SELECT EST PROCESSOR
  7227. IFP$ EQU 1 SELECT REMOTE INITIALIZATION
  7228. *CALL COMPGFP
  7229. *CALL COMPRSI
  7230. *CALL COMPC2D
  7231.  
  7232. IFP HERE *COMPGFP* INITIALIZATION CODE
  7233.  
  7234.  
  7235. BUF EQU PPFW CENTRAL MEMORY OVERLAY LOAD BUFFER
  7236.  
  7237. QUAL *
  7238. TITLE INITIALIZATION TABLES.
  7239. USE RESIDENT
  7240. *CALL COMPMRQ
  7241. USE PRESET
  7242.  
  7243. QUAL
  7244. ** INITIALIZATION TABLES AND ALL PRESET BLOCK CODE AFTER
  7245. * THIS POINT ARE USED AFTER THE DRIVER HAS BEEN LOADED
  7246. * TO INITIALIZE THE DRIVER.
  7247.  
  7248.  
  7249. ERRNG *-TCTA DRIVER CODE OVERFLOWS PRESET TABLES.
  7250.  
  7251. TRAA BSSZ 2 ADDRESSES OF RA REFERENCES
  7252. TRAA HERE
  7253. CON 0
  7254.  
  7255. TDQA BSSZ 2 DRIVER REQUEST QUEUE
  7256. TDQA HERE
  7257. CON 0
  7258.  
  7259. TTRA BSSZ 2 ADDRESSES OF TRANSLATION TABLE REFERENCES
  7260. TTRA HERE
  7261. CON 0
  7262.  
  7263. TTTA BSSZ 2 ADDRESSES OF TERMINAL TABLE REFERENCES
  7264. TTTA HERE
  7265. CON 0
  7266.  
  7267. TPLA BSSZ 2 ADDRESSES OF POT LINK TABLE REFERENCES
  7268. TPLA HERE
  7269. CON 0
  7270.  
  7271. TBMA BSSZ 2 ADDRESSES OF BUFFER MEMORY REFERENCES
  7272. TBMA HERE
  7273. CON 0
  7274.  
  7275. CON 7777
  7276. TITLE INITIALIZATION.
  7277. QUAL PRS
  7278. ** SAD - SET ADDRESSES.
  7279. *
  7280. * ENTRY (T1) = ADDRESS OF INITIAL TABLE OF LOCATIONS
  7281. * TO BE CHANGED.
  7282. *
  7283. *
  7284. * EXIT ABSOLUTE ADDRESSES SET.
  7285. *
  7286. * USES T1, T2, T6, T7.
  7287. *
  7288. * CALLS NONE.
  7289.  
  7290.  
  7291. SAD SUBR ENTRY/EXIT
  7292.  
  7293. * SET ABSOLUTE ADDRESSES FROM TABLE.
  7294.  
  7295. SAD1 AOD T1 INCREMENT TO ADDRESS VALUE
  7296. LDI T1
  7297. SHN 6
  7298. MJN SADX IF END OF TABLES
  7299. ADD RA
  7300. SHN 6
  7301. ADM 1,T1
  7302. STD T7
  7303. SHN -14
  7304. STD T6
  7305. LDN 2
  7306. RAD T1
  7307.  
  7308. * ABSOLUTIZE INSTRUCTION ADDRESSES.
  7309.  
  7310. SAD2 LDI T1
  7311. ZJN SAD1 IF END OF TABLE
  7312. STD T2
  7313. LDD T7 SET LOWER 12 BITS
  7314. RAM 1,T2
  7315. SHN -14 ADD OVERFLOW
  7316. ADD T6
  7317. RAI T2
  7318. AOD T1
  7319. UJN SAD2 LOOP
  7320. PRS SPACE 4,10
  7321. ** PRS - PRESET ROUTINE.
  7322. *
  7323. * RELOCATE ALL ADDRESSES TO ABSOLUTE.
  7324. * LOAD MAIN PROCESSOR PROGRAM (2TN).
  7325. *
  7326. * ENTRY (DP) = NUMBER OF PORTS.
  7327. *
  7328. * USES CH, T1, CM - CM+4, DC - DC+4, DP - DP+4, IN - IN+4,
  7329. * RQ - RQ+4, SI -SI+4, ZR -ZR+4.
  7330. *
  7331. * CALLS MTT, PMR, PTM, RPP.
  7332. *
  7333. * MACROS EXECUTE.
  7334.  
  7335.  
  7336. PRS RJM PMR PRESET MONITOR REQUEST PROCESSOR
  7337. RJM /INI/PTM PRESET TRANSLATION TABLE MODIFICATION
  7338. LDD IA LOAD MAIN PROGRAM
  7339. STM PRSD+2
  7340. STM RPPB+4
  7341. LDD MA
  7342. CWM PRSD,ON
  7343. SBN 1
  7344. CRD DP COPY *1DL* CALL TO DIRECT CELLS
  7345. LDC OBUFE-5
  7346. STM RPPA
  7347. EXECUTE 1DL,=
  7348. EXECUTE 2TN,=
  7349. RJM RPP LOAD *2TN*
  7350.  
  7351. * PRESET ABSOLUTE ADDRESSES.
  7352.  
  7353. LDC TRAA-1 SET ADDRESSES
  7354. STD T1
  7355. RJM SAD
  7356. LDC 0 SET FIRST TERMINAL NUMBER
  7357. TTNA EQU *-1
  7358. SBN 1
  7359. RAM .TNA
  7360. LDM TDQA+1
  7361. ADN 5
  7362. STM .ERQA
  7363. SHN -14 ADD OVERFLOW
  7364. ADM TDQA
  7365. RAM .ERQA-1
  7366. LDN ZERL
  7367. CRD ZR CLEAR ZERO WORD
  7368. CRD RQ CLEAR STACK ENTRY WORD
  7369. CRD SI CLEAR STATUS INFORMATION
  7370. LDM TDQA
  7371. SHN 6
  7372. ADD RA
  7373. SHN 6
  7374. ADM TDQA+1
  7375. ADN 2
  7376. CRD IN
  7377.  
  7378. * LOAD PP RESIDENT TRANSLATION TABLES.
  7379.  
  7380. IFNE VPPT,0 IF PP RESIDENT TABLES DEFINED
  7381. LDN 0 SET FIRST TRANSLATION TABLE
  7382. STD CH
  7383. LDN 1R9 PRESET FIRST CHARACTER OF OVERLAY NAME
  7384. STD DP+3
  7385. PRS1 LDM TITA,CH SET LOAD ADDRESS
  7386. SBN TCTAL+5
  7387. STM RPPA
  7388. STM PRSA
  7389. STM PRSB
  7390. LDM TRTN,CH SET OVERLAY NAME
  7391. STD DP+4
  7392. ZJN PRS2 IF END OF TABLE
  7393. LDD MA SAVE WORD BEFORE OVERLAY
  7394. CWM **,ON
  7395. PRSA EQU *-1
  7396. SBN 1
  7397. CRD DC
  7398. LDD MA STORE INPUT REGISTER
  7399. CWD DP
  7400. RJM RPP READ PROGRAM
  7401. LDD MA RESTORE WORD BEFORE OVERLAY
  7402. CWD DC
  7403. CRM **,ON
  7404. PRSB EQU *-1
  7405. AOD CH ADVANCE TABLE
  7406. UJN PRS1
  7407. ENDIF
  7408.  
  7409. PRS2 RJM /INI/MTT MODIFY TRANSLATION TABLES
  7410. * RJM PRSC (IF MODIFICATION NOT REQUIRED)
  7411. PRSC EQU *-1
  7412.  
  7413. * CLEAR OUTPUT BUFFER AND START DRIVER
  7414.  
  7415. LDC OBUF SET OUTPUT BUFFER ADDRESS
  7416. STD CH+1
  7417. PRS3 LDN 0 CLEAR OUTPUT BUFFERS
  7418. STI CH+1
  7419. AOD CH+1
  7420. LMC OBUFE
  7421. NJN PRS3 LOOP TO END OF BUFFERS
  7422. STD ME PRESET MULTIPLEXER NUMBER
  7423. LDD HN SET LOAD ADDRESS FOR PP RESIDENT
  7424. STM RPPA
  7425. LDC RTCL READ REAL TIME CLOCK
  7426. CRD CM
  7427. LJM AVT6 ENTER MAIN PROGRAM
  7428.  
  7429.  
  7430. PRSD VFD 18/3R1DL,6/VCPT,12/0,24/3R2TN
  7431. QUAL
  7432. TRTN SPACE 4,10
  7433. ** TRTN - TABLE OF RESIDENT TRANSLATION TABLE NAMES.
  7434.  
  7435. TRTN BSS NPPT+1
  7436. TITLE INITIALIZATION SUBROUTINES.
  7437.  
  7438.  
  7439. ** IBUF - MULTIPLEXER INPUT BUFFER.
  7440. *
  7441. * OVERLAYS POINTERS USED BY PRS.
  7442.  
  7443.  
  7444. IBUF EQU *-100
  7445.  
  7446.  
  7447. USE RESIDENT
  7448. RPP SPACE 4,10
  7449. ** RPP - READ PPU PROGRAM.
  7450. *
  7451. * ENTRY LOADER CALL STORED IN MESSAGE BUFFER.
  7452. *
  7453. * EXIT (A) = 0.
  7454. *
  7455. * USES T1 - T7, CM - CM+4.
  7456. *
  7457. * CALLS MRQ.
  7458.  
  7459.  
  7460. RPP SUBR ENTRY/EXIT
  7461. RPP1 LDN 1 SET NO DROP PP, NO QUEUE
  7462. STD CM+1
  7463. LDK RPPM REQUEST PP
  7464. RJM MRQ
  7465. RPP2 LDN 77 DELAY
  7466. SBN 1
  7467. NJN *-1
  7468. LDD OA
  7469. CRD CM
  7470. LDD CM
  7471. NJN RPP2 IF REQUEST NOT PROCESSED
  7472. LDD CM+1
  7473. ZJN RPP1 IF NO PPU AVAILABLE
  7474. STD T1 SAVE PPU INPUT REGISTER ADDRESS
  7475. RPP3 LDN 77 DELAY
  7476. SBN 1
  7477. NJN *-1
  7478. LDD T1
  7479. CRD CM
  7480. LDD CM+1
  7481. LMM RPPB+1
  7482. LPN 37
  7483. NJN RPP1 IF LOADER TIMED OUT
  7484. LDD CM+2
  7485. LMC 7777
  7486. NJN RPP3 IF LOADER NOT READY YET
  7487. * LDN 0 SIGNAL LOADER THAT *1TN* IS READY
  7488. RPP3.1 STD CM+2
  7489. LDN ZERL
  7490. CRD T3 CLEAR OUTPUT REGISTER
  7491. LDD OA
  7492. CWD T3
  7493. LDD T1
  7494. CWD CM
  7495. RPP4 LDD T1 CHECK *1DL* OUTPUT REGISTER
  7496. ADN 1
  7497. CRD CM
  7498. LDD CM
  7499. LMN DSWM
  7500. ZJN RPP3 IF *1DL* PAUSING
  7501. LMN DSWM&PRLM
  7502. ZJN RPP3 IF *1DL* PAUSING
  7503. LDD T1 CHECK *1DL* INPUT REGISTER
  7504. CRD CM
  7505. LDD CM+2
  7506. LMC 7777 CHECK FOR TRANSFER RESYNCHRONIZATION
  7507. ZJN RPP3.1 IF TRANSFER RESYNCHRONIZED
  7508. LDN 77 DELAY
  7509. SBN 1
  7510. NJN *-1 IF NOT DONE DELAYING
  7511. LDD OA CHECK IF DATA READY
  7512. CRD CM
  7513. LDD CM+4
  7514. ZJN RPP4 IF DATA NOT READY
  7515. LPN 77 SET WORD COUNT
  7516. ZJN RPP5 IF NULL TRANSFER
  7517. STD T2
  7518. LDD MA READ DATA
  7519. CRM TCTA,T2
  7520. RPPA EQU *-1
  7521. LDD T2 UPDATE BUFFER ADDRESS
  7522. SHN 2
  7523. ADD T2
  7524. RAM RPPA
  7525. LDD OA SET EMPTY FLAG
  7526. CWD T3
  7527. UJP RPP4 LOOP
  7528.  
  7529. RPP5 LJM RPPX RETURN
  7530.  
  7531. * *1RP* REQUEST SET UP IN PRESET.
  7532.  
  7533. RPPB VFD 18/3R1RP,6/VCPT,12/0,12/0,12/0
  7534.  
  7535.  
  7536. ** TEQN - TABLE OF EST ORDINALS.
  7537. *
  7538. * ENTRY 1 WORD.
  7539. *
  7540. * MULTIPLEXER EST ORDINAL.
  7541.  
  7542.  
  7543. TEQN BSS MXMX+2
  7544.  
  7545.  
  7546. ** TNTD - TABLE OF NUMBER OF TERMINALS PER DEVICE.
  7547. *
  7548. * ENTRY 1 WORD.
  7549. *
  7550. * NUMBER OF TERMINALS FOR MULTIPLEXER.
  7551.  
  7552.  
  7553. TNTD BSS MXMX+1
  7554.  
  7555.  
  7556. ** TTTC - TABLE OF TERMINAL TYPE IDENTIFICATION CODES.
  7557.  
  7558.  
  7559. TTTC BSS TNTT
  7560.  
  7561.  
  7562. ** TITA - TABLE OF INPUT TRANSLATION TABLE ADDRESSES.
  7563.  
  7564.  
  7565. TITA BSS TNTT
  7566.  
  7567.  
  7568. ** TOTA - TABLE OF OUTPUT TRANSLATION TABLE ADDRESSES.
  7569.  
  7570.  
  7571. TOTA BSS 0
  7572. TITLE ESTABLISH *1TN* PROGRAM LOAD PARAMETERS.
  7573. ** ESTABLISH *1TN* LOAD ADDRESS.
  7574.  
  7575.  
  7576. * CALCULATE LABELED BLOCK LENGTHS.
  7577.  
  7578. USE RESIDENT
  7579. RESE BSS 0 END OF *RESIDENT* BLOCK
  7580. RESL EQU RESE-RESF LENGTH OF *RESIDENT*
  7581.  
  7582. USE MAIN
  7583. MANE BSS 0 END OF *MAIN* BLOCK
  7584. MANL EQU MANE-MANF LENGTH OF *MAIN*
  7585.  
  7586. USE PRESET
  7587. PRSE BSS 0 END OF *PRESET* BLOCK
  7588. PRSL EQU PRSE-PRSF LENGTH OF *PRESET*
  7589.  
  7590.  
  7591. * CALCULATE LOAD PARAMETERS.
  7592.  
  7593. .1 SET RESL+MANL+PRSL
  7594. .5 MAX TNTT,5 SET TABLE ALLOWANCE
  7595. .2 SET .1+5+4+2 LENGTH + HEADER + SHORT PRU + EXR CALL
  7596. .3 SET .2/500+1 NUMBER OF SECTORS REQUIRED
  7597. .2 SET .1+5 OVERLAY LENGTH PLUS HEADER WORD
  7598. .3 SET .3*500-5 WORDS TO LOAD LESS SHORT PRU ALLOWANCE
  7599.  
  7600.  
  7601. * SET OVERLAY ORIGIN.
  7602.  
  7603. ORG 7776-.3+5-.5 SET *1TN* LOAD ADDRESS
  7604.  
  7605. PRG BSSZ .3-.2 FORCE BLOCKS UPPER
  7606.  
  7607.  
  7608. * CALCULATE AVAILABLE CORE IN PPU.
  7609.  
  7610. IFNE VPPT,0 IF PP RESIDENT TRANSLATION TABLES
  7611. AVBL SET IBUF-TCTA-LNPP AVAILABLE CORE FOR CODE.
  7612. ELSE IF NO PP RESIDENT TRANSLATION TABLES
  7613. AVBL SET TRAA-TCTA AVAILABLE CORE FOR CODE
  7614. ENDIF
  7615. TTL 1TN - LOW SPEED INTERACTIVE TERMINAL DRIVER.
  7616. SPACE 4,10
  7617. END
cdc/nos2.source/opl871/1tn.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator