User Tools

Site Tools


cdc:nos2.source:opl871:1io

Table of Contents

1IO

Table Of Contents

  • [00007] 1IO - BATCHIO MANAGER.
  • [00203] DBMLT - DEFINE BML MESSAGE TABLE.
  • [00225] DEFOIES - DEFINE LOAD ADDRESS OF ERROR ROUTINES.
  • [00265] MAIN PROGRAM.
  • [00267] BCM - MAIN PROGRAM.
  • [00359] RCL - RECALL *1IO*.
  • [00378] DPP - DROP PP.
  • [00384] ERR - PROCESS ERROR.
  • [00403] LPP - LINE PRINTER PROCESSOR.
  • [00409] CPP - CARD PUNCH PROCESSOR.
  • [00415] CRP - CARD READER PROCESSOR.
  • [00428] SUBROUTINES.
  • [00430] CAD - CLEAR AND DISCONNECT EQUIPMENT.
  • [00455] CCT - CONNECT TO EQUIPMENT.
  • [00492] CEQ - CHECK EQUIPMENT AVAILABLE.
  • [00538] CFF - CHECK FOR FILE.
  • [00593] CFN - OUTPUT FUNCTION TO EQUIPMENT.
  • [00623] CGS - GET GENERAL STATUS.
  • [00655] CON - CONNECT EQUIPMENT.
  • [00689] CPB - CLEAR *QAC* PARAMETER BLOCK.
  • [00706] CPR - CHECK PENDING REQUEST.
  • [00739] CSR - CHECK FOR STORAGE RELEASE.
  • [00811] C2D - CONVERT 2 DIGITS.
  • [00837] FCN - ISSUE FUNCTION TO EQUIPMENT.
  • [00903] GST - GET STATUS OF 6681 AND EQUIPMENT.
  • [00921] IFN - ISSUE FUNCTION TO CONVERTER.
  • [00942] IOM - ISSUE OPERATOR MESSAGE.
  • [00983] MCI - MODIFY CHANNEL INSTRUCTIONS.
  • [01018] MSG - PROCESS CONTROL POINT MESSAGE.
  • [01067] PCP - PROCESS CHANNEL PARITY.
  • [01097] REQ - REQUEST EQUIPMENT.
  • [01180] RLE - RELEASE EQUIPMENT.
  • [01199] RST - READ STATUS.
  • [01234] SFA - SET FET ADDRESS.
  • [01249] SFF - SEARCH FOR FILE.
  • [01321] STS - CHECK EQUIPMENT STATUS.
  • [01358] TPTE - TABLE OF PRINT TRAIN EXTERNAL CHARACTERISTIC VALUES.
  • [01378] TCHS - CHANNEL TABLE.
  • [01383] TAEQ - TABLE OF AVAILABLE EQUIPMENT.
  • [01389] QACB - *QAC* PARAMETER BLOCK BUFFER.
  • [01407] RIO - RETURN CONTROL.
  • [01415] ABF - ASSIGN BUFFER.
  • [01441] ADR - ASSIGN DRIVER.
  • [01555] EBP - ENTER BUFFER POINT INFORMATION.
  • [01595] EFT - ENTER FET INFORMATION.
  • [01747] FFB - FIND FREE BUFFER.
  • [01875] SLUG - DEFINE PRINT SLUG.
  • [01903] ESLUG - DEFINE EXTENDED TRAIN PRINT SLUG.
  • [01928] PIOVL - DEFINE PRINT IMAGE OVERLAYS.
  • [01958] MAIN PROGRAM.
  • [01999] LIM - LOAD IMAGE MEMORY.
  • [02069] CES - CHECK EQUIPMENT STATUS.
  • [02111] MCI - MODIFY CHANNEL INSTRUCTIONS.
  • [02136] TCHS - CHANNEL TABLE.
  • [02152] TIMO - TABLE OF IMAGE MEMORY OVERLAYS.
  • [02198] 3555/512 WITH 595-1 PRINT TRAIN.
  • [02318] 3555/512 WITH 595-4, 595-5 PRINT TRAINS.
  • [02496] 580 WITH 596-1 PRINT TRAIN.
  • [02596] 580 WITH 596-4, 596-5 PRINT TRAINS.
  • [02758] RER - RETURN CONTROL.
  • [02766] CAS - CLEAR ASSIGNMENT.
  • [02846] ERM - PROCESS ERROR MESSAGE.
  • [02893] TDFP - TABLE OF PROCESSORS AND MESSAGES.
  • [02913] IBM - ISSUE BML MESSAGE.
  • [03033] TIPR - TABLE OF PROCESSING ROUTINES.
  • [03043] TISY - TABLE OF SYMPTOM CODES.
  • [03050] TINB - TABLE OF NUMBER OF BML BYTES.
  • [03057] OEQ - OFF EQUIPMENT.
  • [03088] PEF - PROCESS ERROR FLAG.
  • [03131] DSPP - *DSP* PARAMETER BUFFER.
  • [03144] PRESET BATCHIO.
  • [03146] PRS - PRESET BATCHIO.
  • [03295] CCT - CHANGE CONVERSION TABLES
  • [03342] CTBL - CONVERSION TABLES.
  • [03372] TEQT - TABLE OF EQUIPMENT TYPES.
  • [03396] RECOVER BATCHIO.
  • [03398] RIO - RECOVER *BATCHIO*.
  • [03446] RECOVERY SUBROUTINES.
  • [03448] CAB - COUNT ACTIVE BUFFERS.
  • [03478] DEQ - DROP EQUIPMENT.
  • [03506] RQF - REQUEUE FILE.
  • [03551] WNB - WAIT NOT BUSY.
  • [03596] MAIN ROUTINE.
  • [03598] LCC - LOAD CCC CONTROLWARE.
  • [03641] SUBROUTINES.
  • [03643] COE - CHECK OTHER EQUIPMENT.
  • [03681] GCB - GET CENTRAL MEMORY BUFFER.
  • [03703] GCW - GET CCC/NIP CONTROLWARE.
  • [03769] LCW - LOAD CCC/NIP CONTROLWARE.
  • [03823] MCI - MODIFY CHANNEL INSTRUCTIONS.
  • [03845] MSR - ERROR PROCESSOR FOR *COMPRNS*.
  • [03867] UES - UPDATE EQUIPMENT STATUS.
  • [03902] TCHS - CHANNEL TABLE.

Source Code

1IO.txt
  1. IDENT 1IO,BCM
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. *COMMENT 1IO - BATCHIO MANAGER.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE 1IO - BATCHIO MANAGER.
  8. SPACE 4,10
  9. ***** 1IO - *BATCHIO* MANAGER.
  10. * G. R. MANSFIELD. 70/07/20.
  11. * P. D. HAAS. 74/04/19.
  12. * R. M. YASUHARA. 75/01/17.
  13. * D. R. HILGREN. 79/04/06. RESEQUENCED.
  14. SPACE 4,15
  15. *** 1IO PERFORMS SCHEDULING OF ALL PROCESSES OPERATING AT
  16. * THE *BATCHIO* CONTROL POINT. THIS INCLUDES -
  17. * (1) SEARCHING FOR THE HIGHEST PRIORITY *OUTPUT* AND *PUNCH*
  18. * FILES.
  19. * (2) CHECKING FOR A *READY* STATUS ON ANY CARD READERS.
  20. * (3) MANAGING BUFFER STORAGE FOR THE ABOVE.
  21. * (4) POSTING ERROR CONDITION MESSAGES FOR THE ABOVE.
  22. *
  23. * 1IO WITH THE OVERLAY 3ID INITIALIZES THE *BATCHIO*
  24. * CONTROL POINT TO AN FL=200, AND SETS THE AVAILABLE EQUIPMENT
  25. * LIST FROM WHICH THE OPERATIONS ARE SCHEDULED.
  26. * ALSO SET IN THE CONTROL POINT ARE THE CONVERSION MODE TABLES
  27. * WHICH 1CD WILL USE WHEN DRIVING THE VARIOUS EQUIPMENTS.
  28. SPACE 4,10
  29. *** CALL.
  30. *
  31. *
  32. *T 18/ *1IO*,1/P,5/ CP,5/,1/F,6/ RS,12/ BN,12/ AB
  33. *
  34. * P PRESET PERFORMED.
  35. * CP CONTROL POINT NUMBER.
  36. * F FILE PREVIOUSLY REQUESTED FLAG.
  37. * RS RELEASE STORAGE REPEAT COUNT.
  38. * BN BUFFER POINT NUMBER CURRENTLY UNDER CONSIDERATION.
  39. * AB ACTIVE BUFFER COUNT.
  40. SPACE 4,10
  41. *** DAYFILE AND ERRLOG MESSAGES.
  42. *
  43. *
  44. * *EQXXX CCC/NIP CONTROLWARE LOADED.* =
  45. * INFORMATIVE MESSAGE INDICATING THAT CCC/NIP
  46. * CONTROLWARE WAS LOADED SUCCESSFULLY.
  47. *
  48. * *EQXXX CCC/NIP CONTROLWARE LOAD ERROR.* = ERROR WAS
  49. * ENCOUNTERED IN THE CCC/NIP CONTROLWARE WHEN ATTEMPTING
  50. * TO LOAD THE CCC.
  51. *
  52. * *EQXXX CCC/NIP CONTROLWARE NOT FOUND.* =
  53. * CCC/NIP CONTROLWARE WAS NOT FOUND ON THE SYSTEM FILE.
  54. *
  55. * *EQXXX CCC/NIP STATUS ERROR.* = A STATUS OF 5XXX WAS
  56. * RETURNED FROM THE CCC.
  57. *
  58. * *EQXXX CHANNEL PARITY ERROR.* =
  59. * A PARITY ERROR WAS DETECTED ON A CONVERTER
  60. * OR EQUIPMENT.
  61. *
  62. * *EQXXX CONTROLLER HUNG BUSY.* =
  63. * THE CONTROLLER DOES NOT DROP BUSY STATUS.
  64. *
  65. * *EQXXX FUNCTION TIMEOUT* =
  66. * A FUNCTION TIMEOUT WAS DETECTED ON A CONVERTER
  67. * OR EQUIPMENT FUNCTION.
  68. *
  69. * *EQXXX INCOMPLETE DATA TRANSFER.* =
  70. * AN INCOMPLETE DATA TRANSFER WAS DETECTED.
  71. *
  72. * *EQXXX INTERNAL/EXTERNAL REJECT.* =
  73. * AN INTERNAL OR EXTERNAL REJECT WAS DETECTED.
  74. *
  75. * *EQXXX TRANSMISSION PARITY ERROR.* =
  76. * A TRANSMISSION PARITY ERROR WAS DETECTED.
  77. *
  78. * *EQXXX TURNED OFF BY SYSTEM.* =
  79. * FAULTY EQUIPMENT WAS TURNED OFF BY THE SYSTEM.
  80. *
  81. * * NO EQUIPMENT AVAILABLE.* =
  82. * *BIO* DETERMINED THAT THERE IS NO EQUIPMENT IN
  83. * THE SYSTEM THAT IT CAN DRIVE.
  84. *
  85. * * RECOVERY COMPLETE.* =
  86. * INFORMATIVE MESSAGE.
  87. *
  88. * WHERE-
  89. * EQ = EQUIPMENT MNEMONIC.
  90. * XXX = EST ORDINAL.
  91. SPACE 4,10
  92. *** OPERATOR *I* DISPLAY STATUS MESSAGES.
  93. *
  94. * *NOT READY.* = DEVICE IS NOT READY.
  95. *
  96. * *OFF.* = DEVICE IS *OFF* IN THE EST.
  97. *
  98. * *DOWN.* = DEVICE IS *DOWN* IN THE EST.
  99. *
  100. * *OFF - CHECK ERRLOG.* = DEVICE HAS BEEN TURNED OFF DUE TO A
  101. * HARDWARE PROBLEM. CHECK THE ERRLOG FOR THE DETAILS.
  102. *
  103. * *INTERVENTION NEEDED.* = DEVICE NEEDS OPERATOR INTERVENTION.
  104. *
  105. * *CH UNAVAILABLE.* = CHANNEL COULD NOT BE RESERVED.
  106. SPACE 4,10
  107. *** ERROR PROCESSING.
  108. *
  109. *
  110. * CHANNEL ERROR PROCESSING.
  111. *
  112. * THE FOLLOWING CHANNEL ERRORS ARE DETECTED -
  113. * CONNECT REJECT.
  114. * FUNCTION REJECT.
  115. * TRANSMISSION PARITY ERRORS.
  116. * INCOMPLETE DATA TRANSFER.
  117. * 6681 FUNCTION TIMEOUT.
  118. * EQUIPMENT FUNCTION TIMEOUT.
  119. * CCC/NIP STATUS ERROR.
  120. * WHEN ANY OF THESE CHANNEL ERRORS ARE DETECTED, THE
  121. * FOLLOWING ACTION IS TAKEN -
  122. * OUTPUT FILES ARE REQUEUED.
  123. * TRACKS FOR INPUT FILES ARE DROPPED.
  124. * THE FAULTY EQUIPMENT IS TURNED OFF AND DROPPED.
  125. * ERROR LOG MESSAGES ARE ISSUED.
  126. *
  127. * BAD SYSTEM SECTOR ERROR PROCESSING.
  128. *
  129. * IF AN ERROR IS ENCOUNTERED WHILE READING THE SYSTEM
  130. * SECTORS, THE FILE IS RELEASED FROM THE *BATCHIO* CP
  131. * WITH THE FOLLOWING CONDITIONS -
  132. * THE NAME OF THE FILE IS CHANGED TO -**BAD O-.
  133. * THE FILE TYPE IS CHANGED TO COMMON.
  134. * WRITE LOCKOUT IS SELECTED FOR THE FILE.
  135. SPACE 4,10
  136. ** ROUTINES USED.
  137. *
  138. *
  139. * 3IA - 1IO SUBROUTINES.
  140. * 3IB - 1IO LOAD IMAGE MEMORY.
  141. * 3IC - 1IO ERROR ROUTINES.
  142. * 3ID - 1IO PRESET ROUTINES.
  143. * 3IF - 1IO LOAD CCC/NIP CONTROLWARE.
  144. SPACE 4,10
  145. ** PROGRAMS CALLED.
  146. *
  147. *
  148. * CIO - COMBINED INPUT/OUTPUT.
  149. * QAC - QUEUE ACCESS.
  150. * QAP - QUEUE AUXILIARY PROCESSOR.
  151. * 1CD - *BATCHIO* DRIVER.
  152. SPACE 4,10
  153. ** COMMON DECKS.
  154.  
  155.  
  156. *CALL COMPMAC
  157. *CALL COMSACC
  158. *CALL COMPCHI
  159. LIST X
  160. *CALL COMSBIO
  161. LIST *
  162. *CALL COMSCPS
  163. *CALL COMSDFS
  164. *CALL COMSDSP
  165. *CALL COMSEVT
  166. *CALL COMSJCE
  167. *CALL COMSJIO
  168. *CALL COMSPIM
  169. *CALL COMSQAC
  170. *CALL COMSSSD
  171. SPACE 4,10
  172. **** DIRECT LOCATION ASSIGNMENTS.
  173.  
  174.  
  175. RI EQU 16 - 17 RANDOM INDEX (2 LOCATIONS)
  176. ES EQU 20 - 24 EST ENTRY
  177. EC EQU 25 EQUIPMENT TYPE CODE
  178. FC EQU 26 FUNCTION CODE
  179. EI EQU 27 EQUIPMENT INDEX
  180. CN EQU 30 - 34 CM WORD BUFFER (5 LOCATIONS)
  181. CS EQU 35 CONVERTER STATUS
  182. ST EQU 36 EQUIPMENT STATUS
  183. ET EQU 37 EQUIPMENT DEFINITION
  184. FN EQU 40 - 44 FILE NAME (5 LOCATIONS)
  185. AB EQU FN - FN+4 PROGRAM NAME (5 LOCATIONS)
  186. EQ EQU 45 EST ORDINAL / DEVICE TYPE
  187. BA EQU 46 - 47 BUFFER ADDRESS (2 LOCATIONS)
  188. FA EQU 57 FNT ADDRESS
  189. FS EQU 60 - 64 FST INFORMATION (5 LOCATIONS)
  190. RT EQU 65 ERROR RETRY COUNT + RECOVERY FLAG
  191. MC EQU 66 ERROR MESSAGE CODE
  192. RC EQU 67 CHANNEL ERROR RETRY COUNT
  193. SPACE 4,10
  194. * ASSEMBLY CONSTANT.
  195.  
  196.  
  197. CH EQU 12 CHANNEL NUMBER
  198. BFL EQU BUFR+77 BUFFER LENGTH, ROUNDED UP
  199. MSR$ EQU 0 DEFINE ERROR PROCESSOR FOR *COMPRNS*
  200. SAF$ EQU 1 DEFINE ENTRY CONDITION FOR *COMPSAF*
  201. ****
  202. DBMLT SPACE 4,10
  203. ** DBMLT - DEFINE BML MESSAGE TABLE.
  204. *
  205. * DBMLT MSGCD,PROC,SYMPC,NBYTES.
  206. *
  207. * ENTRY MSGCD = MESSAGE CODE.
  208. * PROC = ADDRESS OF BML MESSAGE PROCESSOR.
  209. * SYMPC = SYMPTOM CODE FOR BML MESSAGE.
  210. * NBYTES = NUMBER OF BYTES IN BML MESSAGE.
  211.  
  212.  
  213. DBMLT MACRO MSGCD,PROC,SYMPC,NBYTES
  214. DTPR RMT
  215. INDEX MSGCD-BAME,PROC
  216. RMT
  217. DTSY RMT
  218. INDEX MSGCD-BAME,SYMPC
  219. RMT
  220. DTNB RMT
  221. INDEX MSGCD-BAME,NBYTES
  222. RMT
  223. ENDM
  224. DEFOIES SPACE 4,10
  225. ** DEFOIES - DEFINE LOAD ADDRESS OF ERROR ROUTINES.
  226. *
  227. * DEFOIES ADDR
  228. *
  229. * ENTRY *ADDR* = LOAD ADDRESS. IF NOT SPECIFIED, USE
  230. * CURRENT ADDRESS + 5.
  231. *
  232. * EXIT *OIES* = NEW OVERLAY LOAD ADDRESS VALUE.
  233.  
  234.  
  235. PURGMAC DEFOIES
  236.  
  237. DEFOIES MACRO ADDR
  238. MACREF DEFOIES
  239. NOREF .1
  240. QUAL
  241. .1 SET ADDR *+5
  242. IF -DEF,OIES
  243. OIES SET .1
  244. ELSE
  245. OIES MAX OIES,.1
  246. ENDIF
  247. QUAL *
  248. DEFOIES ENDM
  249. SPACE 4,10
  250. * DEFINE QUAL BLOCK ORDER.
  251.  
  252.  
  253. QUAL 3IA
  254. QUAL 3IB
  255. QUAL 3IC
  256. QUAL 3ID
  257. QUAL 3IF
  258. QUAL 5IA
  259. QUAL 5IC
  260. QUAL 5ID
  261. QUAL 5IE
  262. QUAL 5IG
  263. QUAL 5IH
  264. QUAL
  265. TITLE MAIN PROGRAM.
  266. BCM SPACE 4,10
  267. ** BCM - MAIN PROGRAM.
  268.  
  269.  
  270. ORG PPFW
  271.  
  272. BCM LDD IR+1 CHECK PRESET FLAG
  273. SHN 14
  274. MJN BCM1 IF NOT FIRST ENTRY
  275. EXECUTE 3ID PRESET BATCHIO
  276. BCM1 LDN 0 CLEAR FST ADDRESS
  277. STD RT
  278. STD FA
  279. STD BA CLEAR BUFFER ADDRESS
  280. STD BA+1
  281. LDD IR+4 CLEAR RECOVERY FLAG
  282. LPN 77
  283. STD IR+4
  284. LDD CP CHECK IDLEDOWN STATUS
  285. ADN SNSW
  286. CRD CM
  287. LDD CM+3
  288. SHN 21-3
  289. PJN BCM3 IF IDLEDOWN NOT REQUESTED
  290. BCM2 LDD IR+4
  291. NJN BCM4 IF BUFFERS ASSIGNED
  292. LJM DPP DROP PP
  293.  
  294. BCM3 LDD RA CHECK FOR PENDING REQUEST
  295. SHN 6
  296. ADN DRQR
  297. CRD CM
  298. LDD CM
  299. ZJN BCM5 IF NO PENDING REQUEST
  300. BCM4 LJM BCM11 TERMINATE PROCESSING
  301.  
  302. BCM5 LDN TAEQL/5
  303. STD T1
  304. LDD RA READ EQUIPMENT TABLE
  305. SHN 6
  306. ADK TEQR
  307. CRM TAEQ,T1
  308. LDD IR+2 CHECK FILE REQUESTED FLAG
  309. SHN 21-6
  310. MJN BCM7 IF FILE PREVIOUSLY REQUESTED
  311.  
  312. * ENTER FILE REQUEST.
  313.  
  314. RJM REQ REQUEST EQUIPMENT
  315. ZJN BCM4 IF NO EQUIPMENT AVAILABLE
  316. RJM CPB CLEAR *QAC* PARAMETER BLOCK
  317. LDD EQ SET EQUIPMENT TYPE
  318. LPN 7
  319. STD T1
  320. LDM BCMA,T1
  321. STD T1
  322. LJM 0,T1 PROCESS EQUIPMENT
  323.  
  324. * RELEASE FILE BACK TO QUEUE.
  325.  
  326. BCM6 EXECUTE 3IC
  327. LJM /3IC/CAS RELEASE FILE BACK TO QUEUE
  328.  
  329. * FILE PREVIOUSLY REQUESTED.
  330.  
  331. BCM7 RJM CFF CHECK FOR FILE
  332. MJN BCM8 IF FILE FOUND
  333. ZJN BCM11 IF REQUEST NOT COMPLETE
  334. LDD FL CLEAR ANY PENDING FL REQUEST
  335. RJM RSI
  336. AOM RCLA SET NO RECALL REQUESTED FLAG
  337. UJN BCM10 RELEASE EQUIPMENT
  338.  
  339. * PREPARE COMMUNICATION AREA FOR *1CD*.
  340.  
  341. BCM8 LDD EQ CHECK FOR PRINTER
  342. LPN 7
  343. SBK LPDT
  344. NJN BCM9 IF NOT PRINTER
  345. EXECUTE 3IB LOAD IMAGE MEMORY
  346. NJN BCM6 IF MEMORY NOT LOADED
  347. BCM9 EXECUTE 3IA ASSIGN JOB
  348. RJM /3IA/ABF ASSIGN BUFFER
  349. LJM /3IA/ADR ASSIGN DRIVER
  350.  
  351. * RELEASE EQUIPMENT AND TERMINATE PROCESSING.
  352.  
  353. BCM10 RJM RLE RELEASE EQUIPMENT
  354. BCM11 RJM MSG PROCESS MESSAGES
  355. RJM CPR CHECK PENDING REQUEST
  356. RJM CSR CHECK STORAGE RELEASE
  357. * UJN RCL RECALL *1IO*
  358. RCL SPACE 4,10
  359. ** RCL - RECALL *1IO*.
  360.  
  361.  
  362. RCL PAUSE CHECK ERROR FLAG
  363. LDD CM+1
  364. NJN ERR IF ERROR FLAG SET
  365. RCLA LDN 0 RECALL REQUESTED
  366. * LDN 1 (NO RECALL REQUESTED)
  367. ZJN RCL1 IF RECALL REQUESTED
  368. SOM RCLA
  369. LJM BCM CHECK NEXT EQUIPMENT
  370.  
  371. RCL1 LDN ZERL
  372. CRD CM
  373. RCL2 LDD MA ENTER PP RECALL REQUEST
  374. CWD IR
  375. MONITOR RECM
  376. RCL3 LJM PPR EXIT TO PP RESIDENT
  377. DPP SPACE 4,10
  378. ** DPP - DROP PP.
  379.  
  380.  
  381. DPP MONITOR DPPM DROP PP
  382. LJM PPR EXIT TO PP RESIDENT
  383. ERR SPACE 4,10
  384. ** ERR - PROCESS ERROR.
  385. *
  386. * ENTRY (A) = ERROR FLAG.
  387.  
  388.  
  389. ERR LMN IDET
  390. ZJN DPP IF IDLEDOWN
  391. EXECUTE 3IC
  392. RJM /3IC/PEF PROCESS ERROR FLAG
  393. UJN DPP DROP PP
  394.  
  395.  
  396. BCMA INDEX
  397. INDEX LPDT,LPP
  398. INDEX CPDT,CPP
  399. INDEX CRDT,CRP
  400. INDEX NPDT,LPP
  401. INDEX MXDT
  402. LPP SPACE 4,10
  403. ** LPP - LINE PRINTER PROCESSOR.
  404.  
  405.  
  406. LPP LDN 1S2 FILE TYPE = PRINT
  407. LJM SFF SEARCH FOR FILE
  408. CPP SPACE 4,10
  409. ** CPP - CARD PUNCH PROCESSOR.
  410.  
  411.  
  412. CPP LDN 1S3 FILE TYPE = PUNCH
  413. LJM SFF SEARCH FOR FILE
  414. CRP SPACE 4,10
  415. ** CRP - CARD READER PROCESSOR.
  416.  
  417.  
  418. CRP LDD ST CHECK STATUS
  419. LPN 40
  420. ZJN CRP1 IF *INPUT TRAY NOT EMPTY*
  421. LJM BCM10 RELEASE EQUIPMENT
  422.  
  423. CRP1 LDC 2R SET DUMMY NAME * * FOR INPUT FILE
  424. STM QACB
  425. LDN BCOT SET BATCH ORIGIN TYPE
  426. STM QACB+5*5+4
  427. LJM BCM9 ASSIGN JOB
  428. TITLE SUBROUTINES.
  429. CAD SPACE 4,10
  430. ** CAD - CLEAR AND DISCONNECT EQUIPMENT.
  431. *
  432. * ENTRY (ES+1) = CHANNEL (RESERVED).
  433. * (EQ) = 9/EST ORDINAL, 3/DEVICE TYPE.
  434. *
  435. * EXIT (A) = 0.
  436. * CHANNEL RELEASED.
  437. *
  438. * CALLS FCN.
  439. *
  440. * MACROS DCHAN.
  441.  
  442.  
  443. CAD SUBR ENTRY/EXIT
  444. LDD EQ CHECK EQUIPMENT
  445. LPN 7
  446. SBK NPDT
  447. ZJN CAD1 IF NON-IMPACT PRINTER
  448. LDN 0 CLEAR AND DISCONNECT
  449. RJM FCN
  450. CAD1 LDD ES+1 RELEASE CHANNEL
  451. DCHAN
  452. * LDN 0
  453. UJN CADX RETURN
  454. CCT SPACE 4,15
  455. ** CCT - CONNECT TO EQUIPMENT.
  456. *
  457. * ENTRY (ES - ES+4) = EST ENTRY.
  458. *
  459. * EXIT (A) = GENERAL STATUS.
  460. *
  461. * ERROR TO *FCN2* IF FUNCTION TIMEOUT.
  462. * TO *FCN3* IF ERROR.
  463. *
  464. * CALLS CFN, CGS.
  465.  
  466.  
  467. CCT4 DCN CH+40
  468. RJM CGS GET GENERAL STATUS
  469. NJN CCT3 IF ERROR
  470. LDD ST CHECK STATUS
  471. SHN -11
  472. LMN 5
  473. ZJN CCT2 IF STATUS ERROR
  474. LDD ST
  475.  
  476. CCT SUBR ENTRY/EXIT
  477. LDN 0 ISSUE SELECT UNIT FUNCTION
  478. RJM CFN
  479. NJN CCT3 IF ERROR
  480. LDD ES+4 SET DEVICE
  481. SHN -11
  482. ACN CH
  483. OAN CH+40
  484. CCT1 ADD ON
  485. EJM CCT4,CH IF FUNCTION ACCEPTED
  486. NJN CCT1 IF NOT TIMED OUT
  487. LJM FCN2 PROCESS FUNCTION TIMEOUT
  488.  
  489. CCT2 LDN ECSE *EQXXX CCC/NIP STATUS ERROR.*
  490. CCT3 LJM FCN3 PROCESS ERROR
  491. CEQ SPACE 4,15
  492. ** CEQ - CHECK EQUIPMENT AVAILABLE.
  493. *
  494. * ENTRY (A) = EST ORDINAL.
  495. *
  496. * EXIT (A) = 0 IF EQUIPMENT AVAILABLE AND RESERVED.
  497. * (T5) = EST ORDINAL.
  498. * (ES - ES+4) = EST ENTRY.
  499. *
  500. * USES CM - CM+4, FS - FS+4.
  501. *
  502. * CALLS IOM.
  503. *
  504. * MACROS MONITOR, SFA.
  505.  
  506.  
  507. CEQ2 LDD FS+4
  508. NJN CEQX IF EQUIPMENT ASSIGNED
  509. LDD ES
  510. ERRNZ REQS CODE ASSUMES *REQS* = 0
  511. LPN 2
  512. NJN CEQ1 IF EQUIPMENT OFF
  513. STD CM+2
  514. MONITOR REQM RESERVE EQUIPMENT
  515. LDD CM+1
  516. ZJN CEQ3 IF NOT ASSIGNED
  517. LCN 1
  518. CEQ3 ADN 1 RETURN ASSIGNED ELSEWHERE STATUS
  519.  
  520. CEQ SUBR ENTRY/EXIT
  521. STD T5
  522. STD CM+1
  523. SFA EST FETCH EST ENTRY
  524. ADK EQDE
  525. CRD ES
  526. ADK EQAE-EQDE READ EQUIPMENT ASSIGNMENT WORD
  527. CRD FS
  528. LDD ES
  529. LPN 3 CHECK DEVICE STATE
  530. LMN 3
  531. NJN CEQ2 IF EQUIPMENT NOT DOWN
  532. LDN EDWN&EOFF&2
  533. CEQ1 LMN EOFF&2
  534. RJM IOM ISSUE OPERATOR MESSAGE
  535. LDN 1 SET NOT AVAILABLE
  536. UJN CEQX RETURN
  537. CFF SPACE 4,20
  538. ** CFF - CHECK FOR FILE.
  539. *
  540. * ENTRY (IR+2) = FILE REQUESTED FLAG SET (BIT 6).
  541. * (IR+3) = BUFFER POINT NUMBER.
  542. *
  543. * EXIT (A) .GT. 0 IF FILE NOT FOUND OR ERRORS.
  544. * (A) = 0 IF *QAC* REQUEST NOT COMPLETE.
  545. * (A) .LT. 0 IF FILE FOUND.
  546. * AVAILABLE EQUIPMENT TABLE WRITTEN.
  547. * (EQ) = EST ORDINAL / DEVICE TYPE.
  548. * (ES - ES+4) = EST ENTRY.
  549. * (FA) = FNT ADDRESS.
  550. * (FS - FS+4) = FST ENTRY.
  551. * (QACB - QACB+QACBL) = *QAC* PARAMETER BLOCK.
  552. *
  553. * USES EQ, T1.
  554. *
  555. * MACROS NFA, SFA.
  556.  
  557.  
  558. CFF SUBR ENTRY/EXIT
  559. LDM TAEQ+1,IR+3 SET EST ORDINAL / DEVICE TYPE
  560. STD EQ
  561. SHN -3
  562. SFA EST
  563. ADK EQDE
  564. CRD ES
  565.  
  566. * CHECK *QAC* PARAMETER BLOCK.
  567.  
  568. LDN QAPBL READ *QAC* PARAMETER BLOCK
  569. STD T1
  570. LDD RA
  571. SHN 6
  572. ADC QAPB
  573. CRM QACB,T1
  574. LDM QACB+0*5+4
  575. LPN 1
  576. ZJN CFFX IF *QAC* REQUEST NOT COMPLETE
  577. LDD IR+2 CLEAR FILE REQUESTED FLAG
  578. LMD HN
  579. STD IR+2
  580. LDM QACB+0*5+3 CHECK ERROR CODE
  581. SHN 6
  582. LMM QACB+0*5+4
  583. SHN -12
  584. NJN CFF1 IF ERROR
  585. LDM QACB+4*5 SET FNT OFFSET
  586. STD FA
  587. NFA FA,R READ FST INFORMATION
  588. ADN FSTL
  589. CRD FS READ FST ENTRY
  590. LCN 0 INDICATE NO ERRORS
  591. CFF1 LJM CFFX RETURN
  592. CFN SPACE 4,15
  593. ** CFN - OUTPUT FUNCTION TO EQUIPMENT.
  594. *
  595. * ENTRY (A) = FUNCTION CODE.
  596. *
  597. * EXIT (A) = 0 IF FUNCTION SUCCESSFUL.
  598. * (FC) = FUNCTION CODE IF NOT GENERAL STATUS FUNCTION.
  599. *
  600. * ERROR (A) = ERROR MESSAGE CODE.
  601. *
  602. * USES T1.
  603.  
  604.  
  605. CFN2 LDN 0
  606.  
  607. CFN SUBR ENTRY/EXIT
  608. FAN CH ISSUE FUNCTION
  609. STD T1
  610. LMN 12
  611. ZJN CFN1 IF GENERAL STATUS FUNCTION
  612. LMN 12 SAVE FUNCTION CODE FOR ERROR MESSAGE
  613. STD FC
  614. CFN1 ADD ON
  615. IJM CFN2,CH IF FUNCTION ACCEPTED
  616. NJN CFN1 IF NOT TIMED OUT
  617. DCN CH+40
  618. LDD T1
  619. STD FC
  620. LDN EFTM *EQXXX FUNCTION TIMEOUT.*
  621. UJN CFNX RETURN
  622. CGS SPACE 4,15
  623. ** CGS - GET GENERAL STATUS.
  624. *
  625. * ENTRY (EQ) = 9/EST ORDINAL, 3/DEVICE TYPE.
  626. * (ES - ES+4) = EST ENTRY.
  627. *
  628. * EXIT (A) = 0 IF GENERAL STATUS OBTAINED.
  629. * (ST) = GENERAL STATUS.
  630. *
  631. * CALLS CFN, PCP.
  632.  
  633.  
  634. CGS2 LDD RC
  635. ZJN CGSX IF NO ERRORS
  636. LDN 0 REPORT CHANNEL PARITY ERRORS
  637. CGS3 RJM PCP
  638. LDN 0
  639.  
  640. CGS SUBR ENTRY/EXIT
  641. CGS1 LDN 12 ISSUE GENERAL STATUS FUNCTION
  642. RJM CFN
  643. NJN CGSX IF ERROR
  644. ACN CH
  645. IAN CH+40
  646. DCN CH+40
  647. STD ST
  648. CFM CGS2,CH IF NO CHANNEL ERROR
  649. AOD RC
  650. SBK CHPR
  651. NJN CGS1 IF RETRY COUNT NOT EXHAUSTED
  652. LDN 1
  653. UJN CGS3 PROCESS UNRECOVERED PARITY ERROR
  654. CON SPACE 4,20
  655. ** CON - CONNECT EQUIPMENT.
  656. *
  657. * ENTRY 6681 CONNECTED.
  658. * (ES - ES+4) = EST ENTRY.
  659. *
  660. * EXIT (A) = BITS 0 - 2 OF 6681 STATUS.
  661. * (CS) = 6681 STATUS.
  662. * (ST) = EQUIPMENT STATUS.
  663. * (FC) = CONNECT CODE.
  664. * EQUIPMENT CONNECTED.
  665. * IF THE CONNECT FUNCTION TIMES OUT, THEN EXIT IS MADE
  666. * TO *RAF* VIA *FCN2*.
  667. *
  668. * USES FC.
  669. *
  670. * CALLS GST, IFN.
  671.  
  672.  
  673. CON2 DCN CH+40
  674. RJM GST GET STATUS OF 6681 AND EQUIPMENT
  675.  
  676. CON SUBR ENTRY/EXIT
  677. LDN 10 SELECT MODE II CONNECT
  678. RJM IFN
  679. LDD ES+4 OUTPUT CONNECT CODE
  680. LPC 7000 SAVE CONNECT CODE
  681. STD FC
  682. OAN CH+40
  683. LCN 0 TIME OUT CONNECT
  684. CON1 EJM CON2,CH IF CONNECT RESPONSE RECEIVED
  685. SBN 1
  686. NJN CON1 IF NOT TIMED OUT
  687. LJM FCN2 FUNCTION TIMEOUT ERROR PROCESSOR
  688. CPB SPACE 4,10
  689. ** CPB - CLEAR *QAC* PARAMETER BLOCK.
  690. *
  691. * USES T2.
  692.  
  693.  
  694. CPB SUBR ENTRY/EXIT
  695. LDC QACB
  696. STD T2
  697. CPB1 LDN 0 CLEAR PARAMETER BLOCK
  698. STI T2
  699. AOD T2 ADVANCE ADDRESS
  700. LMC QACB+QACBL
  701. NJN CPB1 IF NOT END OF PARAMETER BLOCK
  702. LDC QAPBL*100-500 SET PARAMETER BLOCK LENGTH
  703. STM QACB+1*5+3
  704. UJN CPBX RETURN
  705. CPR SPACE 4,10
  706. ** CPR - CHECK PENDING REQUEST.
  707. *
  708. * CHECKS IF REQUEST IS PENDING FOR A *1CD* THAT HAS DROPPED
  709. * OUT.
  710. *
  711. * EXIT TO *3IA* IF PENDING REQUEST AND *1CD* NOT ACTIVE.
  712. *
  713. * USES EC, CM - CM+4, CN - CN+4.
  714. *
  715. * CALLS *3IA*.
  716. *
  717. * MACROS EXECUTE.
  718.  
  719.  
  720. CPR SUBR ENTRY/EXIT
  721. LDD RA
  722. SHN 6
  723. ADN DRQR
  724. CRD CN
  725. LDD CN
  726. ZJN CPRX IF NO PENDING REQUEST
  727. LDD RA CHECK IF *1CD* ACTIVE
  728. SHN 6
  729. ADD CN
  730. CRD CM
  731. LDD CM
  732. NJN CPRX IF *1CD* ACTIVE
  733. LDD CN+1 SET DEVICE TYPE
  734. LPN 7
  735. STD EC
  736. EXECUTE 3IA
  737. LJM /3IA/ADR4 ASSIGN DRIVER
  738. CSR SPACE 4,10
  739. ** CSR - CHECK FOR STORAGE RELEASE.
  740. *
  741. * ENTRY (IR - IR+4) SET.
  742. *
  743. * USES IR+2, IR+4, BA - BA+1, CM - CM+4, CN - CN+4, T1 - T4.
  744. *
  745. * MACROS MONITOR, PAUSE.
  746.  
  747.  
  748. CSR SUBR ENTRY/EXIT
  749. LDD IR+4
  750. LPN 77
  751. ZJN CSRX IF NO BUFFER ASSIGNED
  752. AOD IR+2 ADVANCE ENTRY COUNT
  753. LPN 77
  754. LMN 5
  755. NJN CSRX IF NOT 5 ENTRIES
  756. LDD IR+2
  757. SCN 77
  758. STD IR+2 CLEAR ENTRY COUNT
  759. LDN 0 CLEAR BUFFER COUNT
  760. STD T1
  761. STD T4 CLEAR LAST BUFFER NUMBER
  762. STD T2 SET BUFFER ADDRESS
  763. STD BA
  764. LDC BUFR
  765. STD T3
  766. STD BA+1
  767. CSR1 LDD T2 READ BUFFER STATUS
  768. SHN 6
  769. ADD RA
  770. SHN 6
  771. ADD T3
  772. CRD CM
  773. ADN 4 READ LIMIT
  774. CRD CN
  775. LDD CM
  776. ZJN CSR2 IF BUFFER FREE
  777. LDD CN+3 SET BUFFER LIMIT
  778. STD BA
  779. LDD CN+4
  780. STD BA+1
  781. LDD T1 SET CURRENT BUFFER COUNT
  782. ADN 1
  783. STD T4
  784. CSR2 LDD CN+3 SET NEXT BUFFER ADDRESS
  785. STD T2
  786. LDD CN+4
  787. STD T3
  788. AOD T1 ADVANCE BUFFER COUNT
  789. LMD IR+4
  790. NJN CSR1 IF NOT END OF BUFFERS
  791. LDD BA CHECK LAST BUFFER
  792. SHN 14
  793. ADD BA+1
  794. ADN 77
  795. SHN -6
  796. STD CM+1
  797. STD T1
  798. LMD FL
  799. ZJN CSR3 IF NO FL CHANGE
  800. LDN 0 SET CM REQUEST
  801. STD CM+2
  802. MONITOR RSTM REQUEST STORAGE
  803. PAUSE
  804. LDD FL CHECK STORAGE
  805. LMD T1
  806. NJN CSR3 IF NOT RELEASED
  807. LDD T4 SET NEW BUFFER COUNT
  808. STD IR+4
  809. CSR3 LJM CSRX RETURN
  810. C2D SPACE 4,10
  811. ** C2D - CONVERT 2 DIGITS.
  812. *
  813. * ENTRY (A) = DIGITS RIGHT JUSTIFIED.
  814. *
  815. * EXIT (A) = DIGITS CONVERTED WITH LEADING 0 SUPPRESSED.
  816. *
  817. * USES T0.
  818.  
  819.  
  820. C2D SUBR ENTRY/EXIT
  821. LPN 77 UNPACK DIGITS
  822. STD T0
  823. SHN 3
  824. LMD T0
  825. SCN 70
  826. ADC 2R00 CONVERT
  827. STD T0
  828. SHN -6
  829. LMN 1R0 DELETE LEADING 0
  830. NJN C2D1 IF NO LEADING ZERO
  831. LDN 1R -1R0
  832. SHN 6
  833. RAD T0
  834. C2D1 LDD T0
  835. UJN C2DX RETURN
  836. FCN SPACE 4,10
  837. ** FCN - ISSUE FUNCTION TO EQUIPMENT.
  838. *
  839. * ENTRY (A) BITS 0 - 11 = FUNCTION CODE.
  840. * 12 - 17 = 0, ABORT IF ERROR DETECTED
  841. * IN 6681 STATUS.
  842. * 12 - 17 .NE. 0, EXIT IF EXTERNAL REJECT.
  843. *
  844. * EXIT (A) = BITS 0 - 2 OF 6681 STATUS.
  845. * IF THE EXTERNAL REJECT EXIT IS REQUESTED
  846. * AND THAT ERROR OCCURS, A NORMAL EXIT FROM
  847. * *FCN* TAKES PLACE.
  848. * OTHERWISE, IF A FUNCTION REJECT OR
  849. * TRANSMISSION PARITY ERROR IS DETECTED, OR
  850. * IF THE FUNCTION TIMES OUT,
  851. * THEN EXIT IS MADE TO */3IC/CAS*.
  852. *
  853. * USES FC, MC, T6.
  854. *
  855. * CALLS GST, *3IC*.
  856. *
  857. * MACROS DCHAN, EXECUTE.
  858.  
  859.  
  860. FCN4 RJM GST GET 6681 AND EQUIPMENT STATUS
  861. ZJN FCNX IF NO ERRORS
  862. LMN 1
  863. ZJN FCN6 IF EXTERNAL REJECT
  864. FCN5 LDN ERJM REJECT/TRANSMISSION PARITY ERROR
  865. UJN FCN3 PROCESS ERROR
  866.  
  867. FCN6 LDD T6
  868. ZJN FCN5 IF EXTERNAL REJECT EXIT NOT REQUESTED
  869. LDD CS RETURN WITH CONVERTER STATUS
  870. LPN 7
  871.  
  872. FCN SUBR ENTRY/EXIT
  873. STD FC SAVE FUNCTION CODE
  874. SHN -14
  875. STD T6 RETURN CONTROLLER STATUS FLAG
  876. LDD FC
  877. FAN CH ISSUE FUNCTION
  878. LCN 0 SET TIMEOUT LIMIT
  879. FCN1 IJM FCN4,CH IF FUNCTION ACCEPTED
  880. SBN 1
  881. NJN FCN1 IF NOT TIMED OUT
  882.  
  883. * *FCN2* IS A SECONDARY ENTRY POINT FOR *FCN*.
  884. *
  885. * PROCESS FUNCTION TIMEOUT.
  886.  
  887. FCN2 DCN CH+40
  888. LDN EFTM *EQXXX FUNCTION TIMEOUT.*
  889.  
  890. * *FCN3* IS A SECONDARY ENTRY POINT FOR *FCN*.
  891. *
  892. * ENTRY (A) = MESSAGE CODE.
  893. * (ES+1) = CHANNEL (RESERVED).
  894.  
  895. FCN3 STD MC SAVE MESSAGE CODE
  896. LDD ES+1 RELEASE CHANNEL
  897. DCHAN
  898. EXECUTE 3IC
  899. RJM /3IC/ERM SEND ERROR MESSAGE
  900. RJM /3IC/OEQ OFF EQUIPMENT
  901. LJM /3IC/CAS CLEAR ASSIGNMENT
  902. GST SPACE 4,10
  903. ** GST - GET STATUS OF 6681 AND EQUIPMENT.
  904. *
  905. * EXIT (A) = BITS O - 2 OF 6681 STATUS.
  906. * (CS) = 6681 STATUS.
  907. * (ST) = EQUIPMENT STATUS.
  908. *
  909. * CALLS RST.
  910.  
  911.  
  912. GST SUBR ENTRY/EXIT
  913. LDN 13 SELECT EQUIPMENT STATUS
  914. RJM RST
  915. LDN 12 GET CONVERTER STATUS
  916. RJM RST
  917. LDD CS CHECK CONVERTER STATUS
  918. LPN 7
  919. UJN GSTX RETURN
  920. IFN SPACE 4,10
  921. ** IFN - ISSUE FUNCTION TO CONVERTER.
  922. *
  923. * ENTRY (A) = FUNCTION CODE/100.
  924. *
  925. * EXIT (FC) = FUNCTION CODE.
  926. * CHANNEL ACTIVE.
  927. * TO *FCN2* IF FUNCTION TIMEOUT.
  928.  
  929.  
  930. IFN2 ACN CH
  931.  
  932. IFN SUBR ENTRY/EXIT
  933. SHN 6
  934. FAN CH ISSUE FUNCTION
  935. STD FC
  936. LDN 6
  937. IFN1 IJM IFN2,CH IF FUNCTION ACCEPTED
  938. SBN 1
  939. NJN IFN1 IF NOT TIMED OUT
  940. LJM FCN2 FUNCTION TIMEOUT ERROR PROCESSOR
  941. IOM SPACE 4,10
  942. ** IOM - ISSUE OPERATOR MESSAGE.
  943. *
  944. * ENTRY (A) = MESSAGE CODE FOR *I* DISPLAY.
  945. * (IR+3) = BUFFER POINT NUMBER.
  946. *
  947. * USES T1, CM - CM+4.
  948. *
  949. * MACROS NFA.
  950.  
  951.  
  952. IOM SUBR ENTRY/EXIT
  953. STD T1
  954. NFA BFCW+1 READ PREVIOUS MESSAGE
  955. ADD IR+3
  956. ADD IR+3
  957. CRD CM
  958. LDD CM CHECK IF SAME MESSAGE
  959. LMD T1
  960. ZJN IOMX IF SAME AS LAST MESSAGE
  961. LDD T1
  962. LMN EOFF
  963. NJN IOM1 IF SETTING *OFF* MESSAGE
  964. LDD CM
  965. LMN EOHE
  966. ZJN IOMX IF CURRENTLY OFF WITH ERROR
  967. IOM1 LDD T1 SET NEW MESSAGE
  968. STD CM
  969. SBN ENEC
  970. MJN IOM2 IF NOT ERROR CONDITION
  971. LDD CP GET ATTENTION OF OPERATOR
  972. ADN MS2W
  973. CWM IOMA,TR
  974. IOM2 NFA BFCW+1 STORE NEW MESSAGE
  975. ADD IR+3
  976. ADD IR+3
  977. CWD CM
  978. UJP IOMX RETURN
  979.  
  980.  
  981. IOMA DATA C+$REQUEST *I* DISPLAY.+
  982. MCI SPACE 4,10
  983. ** MCI - MODIFY CHANNEL INSTRUCTIONS.
  984. *
  985. * ENTRY (ES+1) = CHANNEL NUMBER.
  986. *
  987. * EXIT (A) .EQ. 0, CHANNEL RESERVED AND (RC) = 0.
  988. * (A) .EQ. *ECUA*, CHANNEL UNAVAILABLE.
  989. *
  990. * USES T1, T2.
  991. *
  992. * MACROS CHTL, RCHAN.
  993.  
  994.  
  995. MCI1 RAI T2
  996. AOD T1
  997. MCI2 LDI T1
  998. STD T2
  999. LDD ES+1
  1000. LPN 37
  1001. CHTL *
  1002. SBN CH
  1003. NJN MCI1 IF MORE INSTRUCTIONS TO MODIFY
  1004. STD RC CLEAR RETRY COUNT
  1005.  
  1006. MCI SUBR ENTRY/EXIT
  1007. LDD ES+1 GET CHANNEL BYTE
  1008. LPC 4037 REMOVE ALL BUT CHANNEL NUMBER
  1009. RCHAN TRY TO RESERVE CHANNEL
  1010. LDC TCHS LOAD FWA OF CHANNEL TABLE ADDRESSES
  1011. STD T1
  1012. LDM CM+1
  1013. SHN 21-13
  1014. PJN MCI2 IF CHANNEL AVAILABLE
  1015. LDN ECUA *CHANNEL UNAVAILABLE*
  1016. UJN MCIX EXIT WITH ERROR CODE
  1017. MSG SPACE 4,10
  1018. ** MSG - PROCESS CONTROL POINT MESSAGE.
  1019. *
  1020. * ENTRY (IR+4) SET.
  1021. *
  1022. * USES T1, CM - CM+4.
  1023. *
  1024. * CALLS C2D.
  1025.  
  1026.  
  1027. MSG SUBR ENTRY/EXIT
  1028. LDD IR+4
  1029. LPN 77
  1030. NJN MSG1 IF BUFFERS ASSIGNED
  1031. LDD CP CONSOLE MESSAGE = *IDLE.*
  1032. ADN MS1W
  1033. CWM =C*IDLE.*,ON
  1034. UJN MSG2 CHECK FOR *MS2W* MESSAGE
  1035.  
  1036. MSG1 RJM C2D CONVERT BUFFER COUNT
  1037. STM MSGA
  1038. LDD CP STORE CONTROL POINT MESSAGE
  1039. ADN MS1W
  1040. CWM MSGA,TR
  1041. MSG2 LDD CP CHECK FOR *MS2W* MESSAGE
  1042. ADN MS2W
  1043. CRD CM
  1044. LDD CM
  1045. ZJN MSGX IF NO +CHECK *I* DISPLAY+ MESSAGE
  1046. LDN 0 SET BUFFER POINT INDEX
  1047. STD T1
  1048. MSG3 NFA BFCW+1 READ SECOND BUFFER POINT WORD
  1049. ADD T1
  1050. ADD T1
  1051. CRD CM
  1052. LDD CM CHECK *I* DISPLAY MESSAGE CODE
  1053. SBN ENEC
  1054. PJN MSG4 IF ERROR CONDITION PRESENT
  1055. AOD T1 ADVANCE BUFFER POINT INDEX
  1056. LMM TAEQ
  1057. NJN MSG3 IF MORE TO CHECK
  1058. STD CM
  1059. LDD CP CLEAR OPERATOR ALERT
  1060. ADN MS2W
  1061. CWD CM
  1062. MSG4 LJM MSGX RETURN
  1063.  
  1064.  
  1065. MSGA DATA C*00 BUFFERS ACTIVE.*
  1066. PCP SPACE 4,10
  1067. ** PCP - PROCESS CHANNEL PARITY.
  1068. *
  1069. * ENTRY (A) = UNRECOVERED FLAG.
  1070. * (RC) = RETRY COUNT.
  1071. *
  1072. * EXIT TO *FCN3* IF UNRECOVERED ERROR.
  1073. *
  1074. * USES MC, RC, RT.
  1075. *
  1076. * CALLS *3IC*.
  1077. *
  1078. * MACROS EXECUTE.
  1079.  
  1080.  
  1081. PCP1 STD RC CLEAR RETRY COUNT
  1082. EXECUTE 3IC
  1083. RJM /3IC/ERM ISSUE ERROR MESSAGE
  1084.  
  1085. PCP SUBR
  1086. STD RT STORE RECOVERED FLAG
  1087. LDN ECRE *EQXXX CHANNEL PARITY ERROR.*
  1088. STD MC
  1089. LDD RC
  1090. SHN 6 APPEND RETRY COUNT TO RECOVERY FLAG
  1091. RAD RT
  1092. LPN 1
  1093. ZJN PCP1 IF RECOVERED ERROR
  1094. LDN ECRE *EQXXX CHANNEL PARITY ERROR.*
  1095. LJM FCN3 PROCESS UNRECOVERED ERROR
  1096. REQ SPACE 4,15
  1097. ** REQ - REQUEST EQUIPMENT.
  1098. *
  1099. * EXIT (A) = 0 IF NO EQUIPMENT AVAILABLE OR *DSP/QAC* CALL
  1100. * BLOCK BUSY.
  1101. * (EQ) = EST ORDINAL / DEVICE TYPE.
  1102. * (FA) = 0.
  1103. * (ES - ES+4) = EST ENTRY.
  1104. * (IR+3) = EQUIPMENT INDEX.
  1105. *
  1106. * USES EI.
  1107. *
  1108. * CALLS CAD, CEQ, CCT, IOM, MCI, RLE, STS.
  1109. *
  1110. * MACROS EXECUTE.
  1111.  
  1112.  
  1113. REQ SUBR ENTRY/EXIT
  1114. LDD RA CHECK *DSP/QAC* PARAMETER BLOCK BUSY
  1115. SHN 6
  1116. ADK QAPB
  1117. CRD CM
  1118. LDD CM+4 BUSY BIT
  1119. LPN 1
  1120. REQ0 ZJN REQX IF CALL BLOCK BUSY
  1121. LDN 0 CLEAR EST ORDINAL
  1122. STD EQ
  1123. STD FA CLEAR FST ADDRESS
  1124. LCN 0 SET COUNTER
  1125. STD EI
  1126. LDD IR+3 GET EQUIPMENT INDEX
  1127. SHN 0-13
  1128. ZJN REQ1 IF ALL EQUIPMENT NOT CHECKED
  1129. LCN 0
  1130. STD IR+3
  1131. REQ1 AOD IR+3 ADVANCE EQUIPMENT INDEX
  1132. LMM TAEQ
  1133. NJN REQ2 IF NO MATCH
  1134. STD IR+3
  1135. REQ2 AOD EI ADVANCE COUNTER
  1136. LMM TAEQ
  1137. ZJN REQ0 IF ALL EQUIPMENT CHECKED
  1138. LDM TAEQ+1,IR+3
  1139. STD EQ
  1140. SHN -3 CHECK EQUIPMENT AVAILABLE
  1141. RJM CEQ
  1142. NJN REQ1 IF EQUIPMENT ASSIGNED ELSEWHERE
  1143. RJM MCI MODIFY CHANNEL INSTRUCTIONS
  1144. ZJN REQ2.1 IF CHANNEL AVAILABLE
  1145. RJM IOM ISSUE ERROR MESSAGE
  1146. UJN REQ1 CHECK NEXT EQUIPMENT
  1147.  
  1148. REQ2.1 LDD EQ
  1149. LPN 7
  1150. SBK NPDT
  1151. NJN REQ4 IF NOT NON-IMPACT PRINTER
  1152. LDD ES CHECK IF CONTROLWARE LOAD NEEDED
  1153. SHN 21-4
  1154. PJN REQ3 IF LOAD NOT NEEDED
  1155. EXECUTE 3IF LOAD CONTROLWARE
  1156. NJN REQ7 IF BUFFER SPACE UNAVAILABLE
  1157. REQ3 RJM CCT CONNECT TO DEVICE
  1158. ZJN REQ8 IF DEVICE READY
  1159. LMN 1
  1160. ZJN REQ5 IF NOT READY
  1161. LMN 4&1
  1162. NJN REQ7 IF INTERVENTION NOT REQUIRED
  1163. LDN EIVR *INTERVENTION REQUIRED.*
  1164. UJN REQ6 SET ERROR MESSAGE
  1165.  
  1166. REQ4 RJM STS CHECK STATUS
  1167. NJN REQ8 IF EQUIPMENT READY
  1168. REQ5 LDN ENRD *NOT READY.*
  1169. REQ6 RJM IOM ISSUE OPERATOR MESSAGE
  1170. REQ7 RJM CAD CLEAR AND DISCONNECT
  1171. RJM RLE RELEASE EQUIPMENT
  1172. LJM REQ1 PROCESS NEXT EQUIPMENT
  1173.  
  1174. REQ8 RJM CAD CLEAR AND DISCONNECT
  1175. LDN ECLE CLEAR MESSAGE
  1176. RJM IOM ISSUE OPERATOR MESSAGE
  1177. LDN 1 SET EQUIPMENT AVAILABLE
  1178. LJM REQX RETURN
  1179. RLE SPACE 4,10
  1180. ** RLE - RELEASE EQUIPMENT.
  1181. *
  1182. * ENTRY (EQ) = 9/EST ORDINAL, 3/DEVICE TYPE.
  1183. *
  1184. * EXIT (EQ) = 0.
  1185. *
  1186. * MACROS MONITOR.
  1187.  
  1188.  
  1189. RLE SUBR ENTRY/EXIT
  1190. LDD EQ
  1191. SHN -3
  1192. ZJN RLEX IF NOT ASSIGNED
  1193. STD CM+1
  1194. MONITOR DEQM
  1195. * LDN 0
  1196. STD EQ
  1197. UJN RLEX RETURN
  1198. RST SPACE 4,15
  1199. ** RST - READ STATUS.
  1200. *
  1201. * ENTRY (A) = 12 IF REQUESTING CONVERTER STATUS.
  1202. * = 13 IF REQUESTING EQUIPMENT STATUS.
  1203. *
  1204. * EXIT (CS) = CONVERTER STATUS IF REQUESTED.
  1205. * (ST) = EQUIPMENT STATUS IF REQUESTED.
  1206. *
  1207. * USES CM, RC, T4.
  1208. *
  1209. * CALLS IFN, PCP.
  1210.  
  1211.  
  1212. RST2 AOD RC ADVANCE RETRY COUNT
  1213. SBN CHPR
  1214. MJN RST1 IF NOT AT RETRY LIMIT
  1215. LDN 1
  1216. RST3 RJM PCP PROCESS PARITY ERROR
  1217.  
  1218. RST SUBR ENTRY/EXIT
  1219. STD CM
  1220. SBN 12 SET STATUS INDEX
  1221. STD T4
  1222. RST1 LDD CM ISSUE CONVERTER FUNCTION
  1223. RJM IFN
  1224. IAN CH+40 INPUT STATUS
  1225. DCN CH+40
  1226. ERRNZ CS+1-ST CODE DEPENDS ON VALUE
  1227. STM CS,T4
  1228. SFM RST2,CH IF CHANNEL PARITY ERROR
  1229. LDD RC
  1230. ZJN RSTX IF NO PREVIOUS ERROR
  1231. LDN 0
  1232. UJN RST3 PROCESS RECOVERED PARITY ERROR
  1233. SFA SPACE 4,10
  1234. ** SFA - SET FET ADDRESS.
  1235. *
  1236. * ENTRY (BA - BA+1) = RELATIVE FET ADDRESS.
  1237. *
  1238. * EXIT (A) = ABSOLUTE FET ADDRESS.
  1239.  
  1240.  
  1241. SFA SUBR ENTRY/EXIT
  1242. LDD BA
  1243. SHN 6
  1244. ADD RA
  1245. SHN 6
  1246. ADD BA+1
  1247. UJN SFAX RETURN
  1248. SFF SPACE 4,15
  1249. ** SFF - SEARCH FOR FILE.
  1250. *
  1251. * ENTRY (A) = FILE TYPE.
  1252. * (EQ) = 9/EST ORDINAL,3/EQUIPMENT TYPE.
  1253. * (ES - ES+4) = EST ENTRY.
  1254. *
  1255. * EXIT *1IO* IS RECALLED AND *QAC* IS CALLED INTO THIS PP.
  1256. *
  1257. * USES T1, T2, CM - CM+4.
  1258. *
  1259. * CALLS *QAC*.
  1260. *
  1261. * MACROS EXECUTE, MONITOR, SFA.
  1262.  
  1263.  
  1264. SFF STM QACB+10*5 SET QUEUE TYPE
  1265. LMK PHQQ
  1266. ZJN SFF3 IF PUNCH QUEUE
  1267. LDK ZESF+HESF+DSSF SET EXT. CHAR. AND DISP. CODE
  1268. STM QACB+7*5+4
  1269. LDD ES+4 SET EXTERNAL CHARACTERISTICS (PRINT TRAIN)
  1270. SHN -6
  1271. LPN 7
  1272. STD T1
  1273. LMN 6
  1274. NJN SFF2 IF NOT 12-BIT ASCII TRAIN
  1275. LDK ECSF+DSSF SET EXPLICIT EXT. CHAR. AND DISP. CODE
  1276. STM QACB+7*5+4
  1277. SFF2 LDM TPTE,T1 SET EXTERNAL CHARACTERISTICS
  1278. STM QACB+10*5+3
  1279. SFF3 LDK FCSF+IDSF+DPSF ADD SELECTION FLAGS
  1280. RAM QACB+7*5+4
  1281. LDK LPSF+LVSF
  1282. STM QACB+7*5+3
  1283. LDD ES+3 SET DISPOSITION CODE
  1284. STM QACB+10*5+2
  1285. LDD ES+4 SET DEVICE ID CODE
  1286. LPN 77
  1287. STM QACB+5*5+3
  1288. LDD EQ READ EST ENTRY
  1289. SHN -3
  1290. SFA EST
  1291. ADK EQAE
  1292. CRD CM
  1293. LDD CM+2 SET FORMS CODE
  1294. STM QACB+10*5+1
  1295. LDD CM+3 SET EQUIPMENT ACCESS LEVEL LIMITS
  1296. SHN 6
  1297. STM QACB+11*5+3
  1298. LDN GTFC*2 SET *GET* FUNCTION
  1299. STM QACB+4
  1300.  
  1301. * RECALL *1IO* AND CALL *QAC* INTO THIS PP.
  1302.  
  1303. LDN QAPBL WRITE *QAC* PARAMETER BLOCK
  1304. STD T1
  1305. LDD RA
  1306. SHN 6
  1307. ADC QAPB
  1308. CWM QACB,T1
  1309. LDD HN SET FILE REQUESTED FLAG IN *1IO* RECALL
  1310. RAD IR+2
  1311. EXECUTE QAC,=
  1312. LDD MA CALL *QAC*
  1313. CWM SFFA,ON
  1314. LDN 0 ENABLE QUEUING OF PP REQUEST
  1315. STD CM+1
  1316. MONITOR RPPM
  1317. LJM RCL1 RECALL *1IO*
  1318.  
  1319. SFFA VFD 18/3LQAC,24/0,18/QAPB
  1320. STS SPACE 4,20
  1321. ** STS - CHECK EQUIPMENT STATUS.
  1322. *
  1323. * ENTRY (ES - ES+4) = EST ENTRY.
  1324. *
  1325. * EXIT (A) = 0, IF EQUIPMENT *NOT READY*.
  1326. * (A) = 1, IF EQUIPMENT CONNECTED AND *READY*.
  1327. * (CS) = 6681 STATUS.
  1328. * (ST) = EQUIPMENT STATUS.
  1329. * TO *FCN3* IF ERROR.
  1330. *
  1331. * CALLS CON, IFN.
  1332.  
  1333.  
  1334. STS6 LDD ST CHECK EQUIPMENT STATUS
  1335. LPN 1
  1336.  
  1337. STS SUBR ENTRY/EXIT
  1338. LDN 20 SELECT 6681
  1339. RJM IFN ISSUE FUNCTION
  1340. DCN CH+40
  1341. RJM CON CONNECT EQUIPMENT
  1342. STS3 ZJN STS6 IF NO ERROR
  1343. RJM CON
  1344. ZJN STS6 IF PARITY ERROR CLEARED
  1345. STS4 LDN ERJM REJECT/TRANSMISSION PARITY ERROR
  1346. STS5 LJM FCN3 PROCESS ERROR
  1347. SPACE 4,10
  1348. ** COMMON DECKS.
  1349.  
  1350.  
  1351. *CALL COMPRSI
  1352. SPACE 4,10
  1353. ** LITERALS BLOCK.
  1354.  
  1355.  
  1356. USE OVERLAY
  1357. TPTE SPACE 4,10
  1358. ** TPTE - TABLE OF PRINT TRAIN EXTERNAL CHARACTERISTIC VALUES.
  1359. *
  1360. * INDEXED BY PRINT TRAIN NUMBER.
  1361. *
  1362. *T, 3/EC , 9/ 0
  1363. *
  1364. * EC = EXTERNAL CHARACTERISTIC VALUE.
  1365.  
  1366.  
  1367. TPTE BSS 0
  1368.  
  1369. CON 4000 595-1/596-1
  1370. CON 4000 595-1/596-1
  1371. CON 4000 NOT SUPPORTED
  1372. CON 4000 NOT SUPPORTED
  1373. CON 6000 595-6/596-6
  1374. CON 5000 595-5/596-5
  1375. CON 6000 595-6/596-6
  1376. CON 0 595-6/596-6 USED AS 595-5/596-5
  1377. TCHS SPACE 4,10
  1378. ** TCHS - CHANNEL TABLE.
  1379.  
  1380.  
  1381. TCHS CHTB
  1382. TAEQ SPACE 4,10
  1383. ** TAEQ - TABLE OF AVAILABLE EQUIPMENT.
  1384.  
  1385.  
  1386. TAEQ BSS 0
  1387. TAEQL EQU CTIR*5-TEQR*5 TABLE LENGTH
  1388. SPACE 4,10
  1389. ** QACB - *QAC* PARAMETER BLOCK BUFFER.
  1390.  
  1391.  
  1392. QACB EQU TAEQ+TAEQL FWA OF BUFFER
  1393. QACBL EQU QAPBL*5 *QAC* PARAMETER BLOCK BUFFER LENGTH
  1394.  
  1395. ORGR EQU QACB+5*QFFL+5
  1396.  
  1397. DEFOIES ORGR SET LOAD ADDRESS OF ERROR ROUTINES
  1398. SPACE 4,10
  1399. OVERFLOW ,BFMS-TAEQL
  1400. RIO TTL 1IO/3IA - 1IO SUBROUTINES.
  1401. TITLE
  1402. QUAL 3IA
  1403. IDENT 3IA,RIOX
  1404. *COMMENT 1IO - SUBROUTINES.
  1405. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1406. RIO SPACE 4,10
  1407. ** RIO - RETURN CONTROL.
  1408.  
  1409.  
  1410. ORG ORGR
  1411.  
  1412. RIO SUBR ENTRY/EXIT
  1413. UJN RIOX RETURN
  1414. ABF SPACE 4,10
  1415. ** ABF - ASSIGN BUFFER.
  1416. *
  1417. * ENTRY (EQ) = EST ORDINAL / DEVICE TYPE.
  1418. * (FA) = FST ADDRESS.
  1419. * (FS - FS+4) = FST ENTRY.
  1420. * (QACB - QACB+QACBL) = *QAC* PARAMETER BLOCK.
  1421. *
  1422. * USES EC, FA, FS - FS+4.
  1423. *
  1424. * CALLS EBP, EFT, FFB.
  1425.  
  1426.  
  1427. ABF SUBR ENTRY/EXIT
  1428. LDD EQ SET DEVICE TYPE
  1429. LPN 7
  1430. STD EC
  1431. SBK CRDT
  1432. NJN ABF1 IF NOT INPUT FILE
  1433. STD FA CLEAR FST ADDRESS
  1434. LDN ZERL CLEAR FST ENTRY
  1435. CRD FS
  1436. ABF1 RJM FFB FIND FREE BUFFER
  1437. RJM EFT ENTER FET INFORMATION
  1438. RJM EBP ENTER BUFFER POINT INFORMATION
  1439. UJN ABFX RETURN
  1440. ADR SPACE 4,15
  1441. ** ADR - ASSIGN DRIVER.
  1442. *
  1443. * ENTRY (IR+3) = BUFFER NUMBER.
  1444. * (BA - BA+1) = BUFFER ADDRESS.
  1445. * (EQ) = EST ORDINAL / DEVICE TYPE.
  1446. *
  1447. * EXIT TO *RCL*.
  1448. *
  1449. * USES EC, T2, CM - CM+4, CN - CN+4.
  1450. *
  1451. * CALLS MSG, *3IC*.
  1452. *
  1453. * MACROS EXECUTE, MONITOR.
  1454.  
  1455.  
  1456. ADR LDN D1AR PREPARE REQUEST WORD
  1457. STD CN
  1458. LDD EQ
  1459. STD CN+1
  1460. LPN 7
  1461. STD EC SET DEVICE TYPE
  1462. LDD BA
  1463. STD CN+3
  1464. LDD BA+1
  1465. STD CN+4
  1466. LDN 0 CLEAR EMPTY INDICATOR
  1467. STD T2
  1468. ADR1 LDD RA READ ASSIGNMENT WORD
  1469. SHN 6
  1470. ADD CN
  1471. CRD CM
  1472. LDD CM+1 CHECK PROCESSOR
  1473. SCN 77
  1474. SHN 6
  1475. ADD CM
  1476. NJN ADR2 IF ASSIGNED
  1477. LDD CN SET FREE ADDRESS
  1478. STD T2
  1479. ADR2 LMC 3RD1C
  1480. NJN ADR3 IF NOT DRIVER
  1481. LDD CM+3 CHECK ENTRY COUNT
  1482. LMN MEQD
  1483. ZJN ADR3 IF DRIVER FULL
  1484. LDM ADRB,EC CHECK SUB-DRIVER TYPE
  1485. LMD CM+4
  1486. NJN ADR3 IF NOT PROPER SUB-DRIVER
  1487. LDD RA STORE REQUEST
  1488. SHN 6
  1489. ADN DRQR
  1490. CWD CN
  1491. LJM ADR5 CHECK JOB TYPE
  1492.  
  1493. ADR3 AOD CN ADVANCE SEARCH
  1494. LMN DRQR
  1495. NJN ADR1 IF NOT END OF PROCESSORS
  1496. LDD T2
  1497. STD CN
  1498. NJN ADR4 IF ROOM FOR ANOTHER PROCESSOR
  1499. EXECUTE 3IC
  1500. LJM /3IC/CAS CLEAR ASSIGNMENT
  1501.  
  1502. * *ADR4* IS A SECONDARY ENTRY POINT FOR *ADR*.
  1503. *
  1504. * FORMAT *1CD* CALL AND TRY TO INITIATE *1CD* IN ANOTHER PP.
  1505.  
  1506. ADR4 LDD CN
  1507. STM ADRA+2 SET PROCESSER NUMBER
  1508. LDM ADRB,EC SET SUB-DRIVER TYPE
  1509. STM ADRA+4
  1510. LDD RA STORE PROCESSOR WORD
  1511. SHN 6
  1512. ADD CN
  1513. CWM ADRA,ON
  1514. LDD RA SET REQUEST
  1515. SHN 6
  1516. ADN DRQR
  1517. CWD CN
  1518. LDD IR+1 SET CONTROL POINT NUMBER
  1519. LPN 37
  1520. RAM ADRA+1
  1521. RJM MSG PROCESS MESSAGES
  1522. EXECUTE 1CD,=
  1523. LDD MA CALL *1CD*
  1524. CWM ADRA,ON
  1525. LDN 0 ENABLE QUEUING OF PP REQUEST
  1526. STD CM+1
  1527. MONITOR RPPM
  1528. LDD CM+1
  1529. ZJN ADR7 IF PP NOT ASSIGNED
  1530.  
  1531. * REQUEST NO *1IO* RECALL FOR OUTPUT JOBS.
  1532.  
  1533. ADR5 LDD FA
  1534. ZJN ADR6 IF INPUT JOB
  1535. AOM RCLA SET NO RECALL REQUESTED FLAG
  1536. ADR6 LJM RCL RECALL *1IO*
  1537.  
  1538. * RECALL *1IO* AND CALL *1CD* INTO THIS PP.
  1539.  
  1540. ADR7 LDC 4000
  1541. STD CM+1
  1542. LDD IA STORE INPUT REGISTER
  1543. CWM ADRA,ON
  1544. LJM RCL2 ENTER *1IO* RECALL REQUEST
  1545.  
  1546. ADRA VFD 60/0L1CD
  1547.  
  1548. ADRB INDEX SUB-DRIVER TYPES
  1549. INDEX LPDT,0
  1550. INDEX CPDT,0
  1551. INDEX CRDT,0
  1552. INDEX NPDT,1
  1553. INDEX MXDT
  1554. EBP SPACE 4,10
  1555. ** EBP - ENTER BUFFER POINT INFORMATION.
  1556. *
  1557. * ENTRY (BA - BA+1) = BUFFER ADDRESS.
  1558. * (EQ) = EST ORDINAL / DEVICE TYPE.
  1559. * (IR+3) = BUFFER POINT NUMBER.
  1560. * (FA) = FNT ADDRESS.
  1561. * (T7) = REPEAT COUNT.
  1562. * (QACB) = FET.
  1563. *
  1564. * EXIT BUFFER POINT UPDATED.
  1565. *
  1566. * USES CM - CM+4.
  1567. *
  1568. * CALLS SFA.
  1569. *
  1570. * MACROS NFA.
  1571.  
  1572.  
  1573. EBP SUBR ENTRY/EXIT
  1574. RJM SFA READ FILE NAME
  1575. CRD CM
  1576. LDD EQ SET EST ORDINAL / DEVICE TYPE
  1577. SHN -3
  1578. STD CM+3
  1579. LDD T7 SET REPEAT COUNT
  1580. SHN 6
  1581. STD CM+4
  1582. NFA QACB+5*5,R STORE BUFFER POINT WORD
  1583. CWD CM
  1584. LDN ZERL
  1585. CRD CM
  1586. LDD BA SET FET ADDRESS
  1587. STD CM+3
  1588. LDD BA+1
  1589. STD CM+4
  1590. NFA BFSP STORE AUXILIARY BUFFER POINT WORD
  1591. ADD IR+3
  1592. CWD CM
  1593. UJN EBPX RETURN
  1594. EFT SPACE 4,10
  1595. ** EFT - ENTER FET INFORMATION.
  1596. *
  1597. * ENTRY (EC) = DEVICE TYPE.
  1598. * (T3) = BUFFER SIZE / 100.
  1599. * (IR+3) = BUFFER NUMBER.
  1600. * (BA - BA+1) = BUFFER ADDRESS.
  1601. * (ES - ES+4) = EST ENTRY.
  1602. *
  1603. * EXIT (T7) = REPEAT COUNT.
  1604. *
  1605. * USES EC, T1, T5, T6, RI - RI+1.
  1606. *
  1607. * CALLS CRA, SFA.
  1608.  
  1609.  
  1610. * PROCESS PRINT FILE.
  1611.  
  1612. EFT1 SBN 6
  1613. NJN EFT2 IF NOT ASCII PRINT FILE
  1614. LDM QACB+10*5+3
  1615. SHN -6
  1616. LPN 7 ISOLATE IC
  1617. LMK DCIC
  1618. ZJN EFT2 IF 6-BIT DISPLAY CODE
  1619. LMK A6IC&DCIC
  1620. ZJN EFT1.1 IF 6/12 ASCII
  1621. LDN 20&4 SET 8/12 ASCII
  1622. EFT1.1 LMN 20 SET ASCII FILE FLAG
  1623. STM QACB+5*FPW2+2
  1624. EFT2 LDM QACB+15*5+3 SET *BATCHIO* SUBSYSTEM PRIVILEDGES FLAG
  1625. STM QACB+4*5+2
  1626. SHN 0-13
  1627. RAM QACB+5*FPW2+2
  1628. LDD ES CHECK PAPER SIZE
  1629. SHN 3-11
  1630. LPN 10 SHORT PAPER BIT
  1631. RAM QACB+5*FPW2+2
  1632. LDM QACB+14*5+2 SET DAYFILE RANDOM ADDRESS
  1633. SCN 77
  1634. SHN 6
  1635. LMM QACB+14*5+1
  1636. SHN 6
  1637. STD RI+1
  1638. SCN 77
  1639. LMM QACB+14*5
  1640. SHN 6
  1641. STD RI
  1642. ADD RI+1
  1643. ZJN EFT4 IF NO DAYFILE
  1644. LDD FS SET EQUIPMENT
  1645. STD T5
  1646. LDD FS+1 SET FIRST TRACK
  1647. STD T6
  1648. RJM CRA CONVERT RANDOM ADDRESS
  1649. MJN EFT4 IF ADDRESS NOT ON CHAIN
  1650. LDD T6 SET DAYFILE TRACK
  1651. STM QACB+5*5+1
  1652. LDD T7 SET DAYFILE SECTOR
  1653.  
  1654. * PROCESS PUNCH FILE.
  1655.  
  1656. EFT3 STM QACB+5*5+2
  1657. EFT4 LDN 0 CLEAR USER FORMS CONTROL INDICATOR
  1658. STM QACB+5*5+3
  1659. LDM QACB+14*5+3 SET USER LIMITS
  1660. STM QACB+5*FPW2+3
  1661. LDM QACB+14*5+4
  1662. STM QACB+5*FPW2+4
  1663. LDM QACB+5*16+1 MOVE FILE SIZE TO FET (LOWER 24 BITS)
  1664. SHN 14
  1665. SCN 77
  1666. ADM QACB+5*16+2
  1667. SHN -6
  1668. STM QACB+5*14+4 FILE SIZE
  1669. LDM QACB+5*16+0
  1670. SHN 14
  1671. SCN 77
  1672. ADM QACB+5*16+1
  1673. SHN -6
  1674. STM QACB+5*14+3 FILE SIZE
  1675. LDC 4000
  1676. STM QACB+5*1+1 SET RANDOM BIT
  1677.  
  1678. * PROCESS INPUT FILE.
  1679.  
  1680. EFT5 LDC BFCW SET BUFFER POINT OFFSET
  1681. SBD IR+3
  1682. SBD IR+3
  1683. STM QACB+5*5
  1684. LDN QFFL SET FET LENGTH
  1685. STD T1
  1686. ADD BA+1 SET BUFFER POINTERS
  1687. STM QACB+5*1+4
  1688. STM QACB+5*2+4
  1689. STM QACB+5*3+4
  1690. SHN -14
  1691. ADD BA
  1692. STM QACB+5*3+3
  1693. STM QACB+5*2+3
  1694. LMC QFFL*100-500
  1695. STM QACB+5*1+3
  1696. LDN 1 SET FET STATUS
  1697. STM QACB+4
  1698. LDN ZERL CLEAR QUEUE ACCESS PARAMETER BLOCK
  1699. CRM QACB+5*QAPO,ON
  1700. LDN ZERL
  1701. CRM QACB+5*FPSN,ON
  1702.  
  1703. * INITIALIZE DRIVER STATUS BLOCK.
  1704.  
  1705. LDM QACB+5*15+4 SAVE REPEAT COUNT
  1706. STD T7
  1707. LDC QACB+5*EDSO
  1708. STD T6
  1709. EFT6 LDN 0 CLEAR DRIVER STATUS BLOCK
  1710. STI T6
  1711. AOD T6
  1712. LMC QACB+5*QFFL
  1713. NJN EFT6 IF NOT END OF BLOCK
  1714. LDD EQ SET EQUIPMENT ORDINAL / TYPE
  1715. STM QACB+5*EDSO+CMEN
  1716. LDD ES+4 SET CONNECT CODE / CHANNEL
  1717. LPC 7000
  1718. LMD ES+1
  1719. SCN 37
  1720. LMD ES+1
  1721. STM QACB+5*EDSO+CMCE
  1722. LDD T7 SET REPEAT COUNT
  1723. LPN 77
  1724. STM QACB+5*EDSO+CMER
  1725. LDD T3 SET BUFFER THRESHOLD
  1726. SHN -2
  1727. ERRNG BBFL-4 CODE DEPENDS ON VALUE
  1728. SHN 6
  1729. STM QACB+5*EDSO+CMBT
  1730. RJM SFA STORE FET
  1731. CWM QACB,T1
  1732.  
  1733. EFT SUBR ENTRY/EXIT
  1734. LDM EFTA,EC SET PROCESSOR ADDRESS
  1735. STD T1
  1736. LDM QACB+10*5+3 EXTERNAL CHARACTERISTICS
  1737. SHN -11
  1738. LJM 0,T1 EXIT TO PROCESSOR
  1739.  
  1740. EFTA INDEX
  1741. INDEX LPDT,EFT1
  1742. INDEX CPDT,EFT3
  1743. INDEX CRDT,EFT5
  1744. INDEX NPDT,EFT1
  1745. INDEX MXDT
  1746. FFB SPACE 4,15
  1747. ** FFB - FIND FREE BUFFER.
  1748. *
  1749. * ENTRY (EC) = DEVICE TYPE.
  1750. * (IR+4) SET.
  1751. *
  1752. * EXIT (T3) = BUFFER SIZE / 100.
  1753. * (BA - BA+1) = BUFFER ADDRESS.
  1754. *
  1755. * USES T2, CM - CM+4, CN - CN+4.
  1756. *
  1757. * CALLS RSI, SFA, *3IC*.
  1758. *
  1759. * MACROS EXECUTE.
  1760.  
  1761.  
  1762. FFB6 LDD FL CLEAR PENDING FL REQUEST
  1763. RJM RSI
  1764.  
  1765. FFB SUBR ENTRY/EXIT
  1766.  
  1767. * SEARCH ALLOCATED BUFFERS FOR A FREE BUFFER.
  1768.  
  1769. LDM FFBA,EC SET BUFFER SIZE
  1770. STD T3
  1771. LDN 0 CLEAR BUFFER COUNT
  1772. STD T2
  1773. STD BA SET FIRST BUFFER ADDRESS
  1774. LDC BUFR
  1775. STD BA+1
  1776. LDM QACB+10*5+3 CHECK FOR 12-BIT ASCII PRINT FILE
  1777. SHN -11
  1778. SBN 6
  1779. NJN FFB1 IF NOT 12-BIT ASCII CODE PRINT FILE
  1780. LDD T3 DOUBLE BUFFER SIZE REQUIRED
  1781. RAD T3
  1782. FFB1 LDD T2
  1783. LMD IR+4
  1784. ZJN FFB3 IF END OF BUFFERS
  1785. RJM SFA READ FET+0
  1786. CRD CM
  1787. ADN 4 READ LIMIT
  1788. CRD CN
  1789. LDD CM
  1790. NJN FFB2 IF BUFFER BUSY
  1791. LDD CN+3 CHECK BUFFER SIZE
  1792. STM QACB+4*5+3
  1793. SBD BA
  1794. SHN 14
  1795. ADD CN+4
  1796. STM QACB+4*5+4
  1797. SBD BA+1
  1798. SBK QFFL+1
  1799. SHN -6
  1800. SBD T3
  1801. MJN FFB2 IF FREE BUFFER NOT LARGE ENOUGH
  1802. LJM FFB6 CLEAR PENDING FL REQUESTS
  1803.  
  1804. FFB2 LDD CN+3 SET NEXT BUFFER ADDRESS
  1805. STD BA
  1806. LDD CN+4
  1807. STD BA+1
  1808. AOD T2 ADVANCE BUFFER COUNT
  1809. UJN FFB1 CHECK NEXT BUFFER
  1810.  
  1811. * REQUEST ADDITIONAL STORAGE.
  1812.  
  1813. FFB3 LDD BA COMPUTE FL NEEDED
  1814. SHN 6
  1815. ADD T3
  1816. SHN 6
  1817. ADD BA+1
  1818. ADC QFFL+1+77
  1819. SHN -6
  1820. RJM RSI
  1821. ZJN FFB5 IF STORAGE ASSIGNED
  1822. MJN FFB4 IF NOT AVAILABLE
  1823. LDD CP CONSOLE MESSAGE = *WAITING FOR STORAGE.*
  1824. ADN MS1W
  1825. CWM =C*WAITING FOR STORAGE.*,TR
  1826. LDD IR+2 SET SO STORAGE REQUEST WILL REMAIN 5 TIMES
  1827. SCN 77
  1828. STD IR+2
  1829. FFB4 LDN 0 INDICATE NO BUFFER
  1830. STD BA
  1831. STD BA+1
  1832. SOD IR+3 DECREMENT EQUIPMENT INDEX
  1833. EXECUTE 3IC
  1834. LJM /3IC/CAS RELEASE FILE AND EQUIPMENT
  1835.  
  1836. FFB5 AOD IR+4 ADVANCE ASSIGNED BUFFER COUNT
  1837. LDD BA
  1838. SHN 6
  1839. ADD T3
  1840. SHN 6
  1841. ADD BA+1
  1842. ADK QFFL+1
  1843. STM QACB+4*5+4 SET VALUE FOR LIMIT
  1844. SHN -14
  1845. STM QACB+4*5+3
  1846. LJM FFBX RETURN
  1847.  
  1848. FFBA INDEX BUFFER SIZES / 100
  1849. INDEX LPDT,BBFL*2
  1850. INDEX CPDT,BBFL
  1851. INDEX CRDT,BBFL*2
  1852. INDEX NPDT,BBFL*4
  1853. INDEX MXDT
  1854. SPACE 4,10
  1855. ** COMMON DECKS.
  1856.  
  1857.  
  1858. *CALL COMPCRA
  1859. SPACE 4,10
  1860. OVERFLOW ORGR,BFMS
  1861. TTL 1IO/3IB - LOAD IMAGE MEMORY.
  1862. TITLE
  1863. QUAL 3IB
  1864. IDENT 3IB,LDMX
  1865. *COMMENT 1IO - LOAD PRINTER IMAGE MEMORY.
  1866. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1867. 3IB SPACE 4,10
  1868. ** 3IB IS CALLED TO IDENTIFY A LINE PRINTER AND
  1869. * LOAD IMAGE MEMORY.
  1870. *
  1871. * ENTRY (EQ) = 9/EST ORDINAL,3/EQUIPMENT TYPE.
  1872. *
  1873. * EXIT (A) = 0, IF IMAGE CANNOT BE LOADED.
  1874. SLUG SPACE 4,15
  1875. ** SLUG - DEFINE PRINT SLUG.
  1876. *
  1877. * CALL -
  1878. * SLUG (A1A2A3...AI),N
  1879. *
  1880. * WHERE AI ARE CODES APPEARING ON THE SLUG.
  1881. * N IS THE NUMBER OF CODES TO DEFINE. IF N IS
  1882. * ABSENT, THE SYMBOL *NCSL* DEFINES THE NUMBER OF
  1883. * CODES/SLUG.
  1884. *
  1885. * N WORDS ARE ASSEMBLED WITH THE CONTENTS BEING THE 12-BIT
  1886. * ASCII CODE EQUIVALENT OF THE SPECIFIED STRING, RIGHT-
  1887. * JUSTIFIED AND ZERO FILLED.
  1888.  
  1889.  
  1890. SLUG MACRO A,N
  1891. LOCAL AA,BB,CC
  1892. CC SET N NCSL
  1893. AA SET 1
  1894. CODE ASCII
  1895. NOREF NCSL
  1896. DUP CC,3
  1897. BB MICRO AA,1, A
  1898. CON 1R"BB"+40B
  1899. AA SET AA+1
  1900. CODE *
  1901. ENDM
  1902. ESLUG SPACE 4,10
  1903. ** ESLUG - DEFINE EXTENDED TRAIN PRINT SLUG.
  1904. *
  1905. * CALL -
  1906. * ESLUG (XI,XJ,...,XM),P1,...,PN
  1907. *
  1908. * WHERE XI - XM ARE THE HEXADECIMAL REPRESENTATIONS OF
  1909. * THE VALUES OF THE 12-BIT ASCII CODES ON THE
  1910. * SLUG.
  1911. * P1 - PN SPECIFY THE POSITIONS IN THE TRAIN
  1912. * CONTAINING THIS SLUG.
  1913.  
  1914.  
  1915. ESLUG MACRO CHARS,P1,P2,P3,P4,P5,P6,P7,P8
  1916. NOREF NCHAR,NCSL,TIMC,.1
  1917. .1 SET *
  1918. ECHO 5,P=(P1,P2,P3,P4,P5,P6,P7,P8)
  1919. IFC NE,//P/
  1920. ORG TIMC-NCSL+NCSL*P
  1921. ECHO 2,Q=(CHARS)
  1922. CON Q
  1923. NCHAR SET NCHAR+1
  1924. ENDIF
  1925. ORG .1
  1926. ESLUG ENDM
  1927. SPACE 4,10
  1928. ** PIOVL - DEFINE PRINT IMAGE OVERLAYS.
  1929. *
  1930. * CALL -
  1931. * PIOVL (A1,A2,A3...AN)
  1932. *
  1933. * WHERE (AN) ARE TWO CHARACTER OVERLAY NAMES.
  1934. * THE LENGTH OF AN ARRAY IS 8. THERFORE
  1935. * A MAXIMUM OF 8 NAMES CAN BE SPECIFIED.
  1936. * IF LESS THAN 8 NAMES ARE SPECIFIED, THE
  1937. * FIRST NAME WILL BE USED TO FILL THE
  1938. * REMAINING SLOTS.
  1939.  
  1940.  
  1941. PIOVL MACRO A
  1942. LOCAL AA,BB,CC,DD
  1943. AA SET 0
  1944. IRP A
  1945. CC MICRO 1,,*A*
  1946. CON 2R"CC"
  1947. AA SET AA+1
  1948. .B IFEQ AA,1
  1949. DD MICRO 1,,*A*
  1950. .B ENDIF
  1951. IRP
  1952. BB SET 10-AA
  1953. .B IFGT BB,0
  1954. DUP BB,1
  1955. CON 2R"DD"
  1956. .B ENDIF
  1957. PIOVL ENDM
  1958. TITLE MAIN PROGRAM.
  1959. LDM SPACE 4,10
  1960. ** MAIN PROGRAM.
  1961.  
  1962.  
  1963. ORG ORGR
  1964.  
  1965. LDM SUBR ENTRY/EXIT
  1966. RJM MCI MODIFY CHANNEL INSTRUCTIONS
  1967. RJM LIM LOAD IMAGE MEMORY
  1968. NJN LDM2 IF ERROR
  1969. LDD ST CHECK FOR PRINTER READY
  1970. LPN 1
  1971. LMN 1
  1972. RAM LDMA
  1973.  
  1974. * NORMAL EXIT - RELEASE EQUIPMENT.
  1975.  
  1976. RJM CAD CLEAR AND DISCONNECT
  1977. LDMA LDN 0
  1978. * LDN 1 (PRINTER NOT LOADED)
  1979. LDM1 UJN LDMX EXIT
  1980.  
  1981. * ERROR EXIT - TURN EQUIPMENT OFF
  1982.  
  1983. LDM2 STD MC SAVE MESSAGE CODE
  1984. LMN ECUA
  1985. ZJN LDM4 IF CHANNEL UNAVAILABLE
  1986. DCN CH+40
  1987. LDD ES+1 RELEASE CHANNEL
  1988. DCHAN
  1989. EXECUTE 3IC
  1990. RJM /3IC/ERM SEND ERROR MESSAGE
  1991. RJM /3IC/OEQ OFF EQUIPMENT
  1992. LDM3 LDN 1 SET ERROR FLAG
  1993. UJN LDM1 EXIT
  1994.  
  1995. LDM4 LDN ECUA *CHANNEL UNAVAILABLE*
  1996. RJM IOM ISSUE ERROR MESSAGE
  1997. UJN LDM3 EXIT WITH ERROR FLAG
  1998. LIM SPACE 4,10
  1999. ** LIM - LOAD IMAGE MEMORY.
  2000. *
  2001. * ENTRY (ES - ES+4) = EST ENTRY.
  2002. *
  2003. * EXIT (A) .NE. 0 IF IMAGE MEMORY CANNOT BE LOADED.
  2004. * (ST) = EQUIPMENT STATUS.
  2005. *
  2006. * USES CS, T3.
  2007. *
  2008. * CALLS CAD, CES, EXR, FCN, GST, IFN, *5IA*, *5IC*, *5ID*,
  2009. * *5IE*, *5IG*, *5IH*.
  2010. *
  2011. * MACROS EXECUTE.
  2012.  
  2013. LIM SUBR ENTRY/EXIT
  2014. RJM CES CHECK EQUIPMENT STATUS
  2015. PJN LIMX IF PRINTER NOT READY OR ERROR
  2016. LDD ET
  2017. SHN 6 FIND OVERLAY NAME
  2018. STD T3
  2019. LDD ES+4
  2020. SHN -6 ADD TRAIN TYPE TO INDEX
  2021. LPN 7
  2022. SHN 3
  2023. RAD T3
  2024. LDM QACB+15*5+3 GET PRINT IMAGE CODE
  2025. SHN -6
  2026. LPN 17
  2027. NJN LIM0 IF EXPLICIT PRINT IMAGE SPECIFIED
  2028. LDN PISD USE SYSTEM DEFAULT PRINT IMAGE
  2029. LIM0 LPN 7
  2030. RAD T3
  2031. LDM TIMO,T3 SET OVERLAY NAME
  2032. STM LIMA
  2033. RJM CAD CLEAR AND DISCONNECT
  2034. LDC 1L5 LOAD IMAGE MEMORY OVERLAY
  2035. LIMA EQU *-1
  2036. EXECUTE 5IA,=
  2037. EXECUTE 5IC,=
  2038. EXECUTE 5ID,=
  2039. EXECUTE 5IE,=
  2040. EXECUTE 5IG,=
  2041. EXECUTE 5IH,=
  2042. RJM EXR
  2043. STM LIMB SAVE TABLE LENGTH
  2044. RJM CES CHECK EQUIPMENT STATUS
  2045. PJN LIM1 IF PRINTER NOT READY OR ERROR
  2046. LDN 24 SELECT ABNORMAL *EOP* INTERRUPT
  2047. RJM FCN ISSUE FUNCTION
  2048. LDN 13 SET EXTENDED ARRAY MODE
  2049. RJM FCN
  2050. LDN 12 *FILL IMAGE MEMORY*
  2051. RJM FCN ISSUE FUNCTION
  2052. LDN 16 OUTPUT IMAGE MEMORY
  2053. RJM IFN ISSUE FUNCTION
  2054. LDC * OUTPUT IMAGE MEMORY
  2055. LIMB EQU *-1
  2056. OAM TIMC,CH
  2057. NJN LIM2 IF INCOMPLETE DATA TRANSFER
  2058. FJM *,CH
  2059. DCN CH+40
  2060. RJM GST GET 6681 AND EQUIPMENT STATUS
  2061. ZJN LIM1 IF NO ERRORS
  2062. LDN ERJM REJECT/TRANSMISSION PARITY ERROR
  2063. LIM1 LJM LIMX RETURN
  2064.  
  2065. LIM2 STD CS STORE NUMBER OF UNTRANSFERED BYTES
  2066. LDN EITM *EQXXX INCOMPLETE DATA TRANSFER.*
  2067. UJN LIM1 RETURN
  2068. CES SPACE 4,15
  2069. ** CES - CHECK EQUIPMENT STATUS.
  2070. *
  2071. * EXIT (A) .LT. 0 IF NO ERROR.
  2072. * (A) = 0, IF PRINTER NOT READY.
  2073. * (A) = ERROR CODE.
  2074. * (ET) = 0 IF 512 PRINTER.
  2075. * = 1 IF 580 PRINTER.
  2076. *
  2077. * USES ET, T3.
  2078. *
  2079. * CALLS FCN, GST, STS, //MCI.
  2080.  
  2081.  
  2082. CES2 LDN 50 ISSUE FUNCTION UNIQUE TO IMAGE MEMORY
  2083. RJM FCN
  2084. LDC 1S12+66 ISSUE FUNCTION UNIQUE TO 580
  2085. RJM FCN
  2086. NJN CES3 IF NOT 580
  2087. AOD ET
  2088. CES3 LCN 0 INDICATE NO ERROR
  2089.  
  2090. CES SUBR ENTRY/EXIT
  2091. RJM //MCI MODIFY CHANNEL INSTRUCTIONS
  2092. NJN CESX IF CHANNEL UNAVAILABLE
  2093. RJM STS CHECK PRINTER STATUS
  2094. ZJN CESX IF NOT READY
  2095.  
  2096. * TIME OUT SINCE 512 CAN HANG BUSY WITH GARBAGE IN IMAGE
  2097. * MEMORY.
  2098.  
  2099. LDN 0 SET TIMEOUT LIMIT
  2100. STD T3
  2101. STD ET PRESET EQUIPMENT TYPE = 512
  2102. CES1 RJM GST GET STATUS OF 6681 AND EQUIPMENT
  2103. LDD ST CHECK EQUIPMENT STATUS
  2104. LPN 2
  2105. ZJN CES2 IF NOT BUSY
  2106. SOD T3
  2107. NJN CES1 IF NOT TIMED OUT
  2108. LDN ECBM *EQXXX CONTROLLER HUNG BUSY.*
  2109. UJN CESX BUSY ERROR
  2110. MCI SPACE 4,10
  2111. ** MCI - MODIFY CHANNEL INSTRUCTIONS.
  2112. *
  2113. * ENTRY (ES+1) SET.
  2114. *
  2115. * EXIT CHANNEL INSTRUCTIONS SET WITH PROPER CHANNEL.
  2116. *
  2117. * USES T1, T2.
  2118.  
  2119.  
  2120. MCI SUBR ENTRY/EXIT
  2121. LDC TCHS
  2122. STD T1
  2123. UJN MCI2 UPDATE CHANNEL INSTRUCTIONS
  2124.  
  2125. MCI1 RAI T2
  2126. AOD T1
  2127. MCI2 LDI T1
  2128. STD T2
  2129. LDD ES+1
  2130. LPN 37
  2131. CHTL *
  2132. SBN CH
  2133. NJN MCI1 IF MORE CHANNEL INSTRUCTIONS TO MODIFY
  2134. UJN MCIX RETURN
  2135. TCHS SPACE 4,10
  2136. ** TCHS - CHANNEL TABLE.
  2137. * TABLE CONTAINS THE ADDRESSES OF ALL INSTRUCTIONS WHICH
  2138. * REFERENCE THE EQUIPMENT CHANNEL.
  2139.  
  2140.  
  2141. TCHS CHTB
  2142. SPACE 4,10
  2143.  
  2144. ELIM EQU *+10 DEFINE END OF LOAD IMAGE MEMORY ROUTINES
  2145. TIMC EQU ELIM+5
  2146. QUAL
  2147. OIMT SET /3IB/ELIM DEFINE ORIGIN OF IMAGE MEMORY TABLES
  2148. QUAL *
  2149.  
  2150. DEFOIES OIMT SET LOAD ADDRESS OF ERROR ROUTINES
  2151. TIMO SPACE 4,15
  2152. ** TIMO - TABLE OF IMAGE MEMORY OVERLAYS.
  2153. *
  2154. * EIGHT BY EIGHT WORD ENTRY.
  2155. *
  2156. * EACH SET OF EIGHT BY EIGHT WORDS DESCRIBES IMAGE OVERLAYS
  2157. * FOR A PARTICULAR EQUIPMENT TYPE. EACH WORD CONTAINS AN
  2158. * OVERLAY NAME.
  2159. *
  2160. * EACH ROW INDICATES A TRAIN TYPE -
  2161. * 0, 1 CDC GRAPHIC 64-CHARACTER SET.
  2162. * 4, 5, 7 ASCII GRAPHIC 64-CHARACTER SET.
  2163. * 6 ASCII GRAPHIC 95-CHARACTER SET.
  2164. *
  2165. * THE POSITION WITHIN A ROW INDICATES THE PRINT IMAGE (PI)
  2166. * ( 0 - 7 ) AND CORRESPONDING OVERLAY NAME FOR THAT TRAIN TYPE.
  2167. * IF LESS THAN 8 NAMES ARE SPECIFIED IN A ROW, THE FIRST (PI=0)
  2168. * NAME WILL BE USED TO FILL THE REMAINDER OF THE ROW.
  2169.  
  2170.  
  2171.  
  2172. TIMO BSS 0
  2173.  
  2174. * PI 0 1 2 3 4 5 6 7 TRAIN TYPE
  2175.  
  2176. * 512.
  2177.  
  2178. PIOVL (IA,IA,IA,IA,IA,IA,IA,IA) 595-1
  2179. PIOVL (IA) 595-1
  2180. PIOVL (IA) NOT SUPPORTED
  2181. PIOVL (IA) NOT SUPPORTED
  2182. PIOVL (ID) 595-6
  2183. PIOVL (IC) 595-4 OR 595-5
  2184. PIOVL (ID) 595-6
  2185. PIOVL (ID) 595-6 USED AS 595-5
  2186.  
  2187. * 580.
  2188.  
  2189. PIOVL (IE) 596-1
  2190. PIOVL (IE) 596-1
  2191. PIOVL (IE) NOT SUPPORTED
  2192. PIOVL (IE) NOT SUPPORTED
  2193. PIOVL (IH) 596-6
  2194. PIOVL (IG) 596-4 OR 596-5
  2195. PIOVL (IH) 596-6
  2196. PIOVL (IH) 596-6 USED AS 596-5
  2197. TTL 1IO/3IB/5IA - IMAGE MEMORY TABLE.
  2198. TITLE 3555/512 WITH 595-1 PRINT TRAIN.
  2199. QUAL 5IA
  2200. IDENT 5IA,IMTX
  2201. *COMMENT 1IO - 512/595-1 IMAGE MEMORY.
  2202. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2203. 5IA SPACE 4,10
  2204. NCSL EQU 4 DEFINE SLUG SIZE
  2205. IMT SPACE 4,10
  2206. ORG OIMT
  2207.  
  2208. IMT SUBR ENTRY/EXIT
  2209. LDC TIMCL
  2210. UJN IMTX RETURN WITH TABLE LENGTH
  2211. TIMC SPACE 4,10
  2212. * GROUP 1.
  2213.  
  2214. TIMC SLUG (0123)
  2215. SLUG (4567)
  2216. SLUG (BZ,/)
  2217. SLUG (89AC)
  2218. SLUG ((GH))
  2219. SLUG (RIFL)
  2220. SLUG (MNOP)
  2221. SLUG ([),1
  2222. CON 45 PERCENT
  2223. SLUG (^]),2
  2224. SLUG (DUST)
  2225. SLUG (VWXY)
  2226. SLUG (+-.E)
  2227. SLUG (JKQ*)
  2228.  
  2229. * GROUP 2.
  2230.  
  2231. SLUG (0123)
  2232. SLUG (4567)
  2233. SLUG ($),1
  2234. CON 137 CONCATENATION
  2235. SLUG ("=),2
  2236. SLUG (89AC)
  2237. SLUG (BZ,/)
  2238. SLUG (RIFL)
  2239. SLUG (MNOP)
  2240. SLUG ((GH))
  2241. SLUG (DUST)
  2242. SLUG ('?&!)
  2243. SLUG (+-.E)
  2244. SLUG (VWXY)
  2245.  
  2246. * GROUP 3.
  2247.  
  2248. SLUG (0123)
  2249. SLUG (4567)
  2250. SLUG (JKQ*)
  2251. SLUG (89AC)
  2252. SLUG (@\<>)
  2253. SLUG (RIFL)
  2254. SLUG (MNOP)
  2255. SLUG (BZ,/)
  2256. SLUG (DUST)
  2257. SLUG ((GH))
  2258. SLUG (+-.E)
  2259. CON 72 COLON
  2260. SLUG (;#=),3
  2261.  
  2262. * GROUP 4.
  2263.  
  2264. SLUG (0123)
  2265. SLUG (4567)
  2266. SLUG (VWXY)
  2267. SLUG (89AC)
  2268. SLUG (JKQ*)
  2269. SLUG (RIFL)
  2270. SLUG (MNOP)
  2271. SLUG ([),1
  2272. CON 45 PERCENT
  2273. SLUG (^]),2
  2274. SLUG (DUST)
  2275. SLUG (BZ,/)
  2276. SLUG (+-.E)
  2277. SLUG ((GH))
  2278.  
  2279. * GROUP 5.
  2280.  
  2281. SLUG (0123)
  2282. SLUG (4567)
  2283. SLUG ($),1
  2284. CON 137 CONCATENATION
  2285. SLUG ("=),2
  2286. SLUG (89AC)
  2287. SLUG (VWXY)
  2288. SLUG (RIFL)
  2289. SLUG (MNOP)
  2290. SLUG (JKQ*)
  2291. SLUG (DUST)
  2292. SLUG ('?&!)
  2293. SLUG (+-.E)
  2294. SLUG (BZ,/)
  2295.  
  2296. * GROUP 6.
  2297.  
  2298. SLUG (0123)
  2299. SLUG (4567)
  2300. SLUG ((GH))
  2301. SLUG (89AC)
  2302. SLUG (@\<>)
  2303. SLUG (RIFL)
  2304. SLUG (MNOP)
  2305. SLUG (VWXY)
  2306. SLUG (DUST)
  2307. SLUG (JKQ*)
  2308. SLUG (+-.E)
  2309. CON 72 COLON
  2310. SLUG (;#=),3
  2311.  
  2312. ERRNZ /3IB/TIMC-TIMC
  2313. TIMCL EQU *-TIMC
  2314. ERRNZ TIMCL-288D
  2315.  
  2316. DEFOIES SET LOAD ADDRESS OF ERROR ROUTINES
  2317. TTL 1IO/3IB/5IC - IMAGE MEMORY TABLE.
  2318. TITLE 3555/512 WITH 595-4, 595-5 PRINT TRAINS.
  2319. QUAL 5IC
  2320. IDENT 5IC,IMTX
  2321. *COMMENT 1IO - 512/595-4,595-5 IMAGE MEMORY.
  2322. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2323. 5IC SPACE 4,10
  2324. NCSL EQU 4 DEFINE SLUG SIZE
  2325. IMT SPACE 4,10
  2326. ORG OIMT
  2327.  
  2328. IMT SUBR ENTRY/EXIT
  2329. LDC TIMCL
  2330. UJN IMTX RETURN WITH TABLE LENGTH
  2331. TIMC SPACE 4,10
  2332. * GROUP 1.
  2333.  
  2334. TIMC SLUG (0123)
  2335. SLUG (4567)
  2336. SLUG (BZ,/)
  2337. SLUG (89AC)
  2338. SLUG ((GH))
  2339. SLUG (RIFL)
  2340. SLUG (MNOP)
  2341. SLUG ([),1
  2342. CON 45 PERCENT
  2343. SLUG ("]),2
  2344. SLUG (DUST)
  2345. SLUG (VWXY)
  2346. SLUG (+-.E)
  2347. SLUG (JKQ*)
  2348.  
  2349. * GROUP 2.
  2350.  
  2351. SLUG (0123)
  2352. SLUG (4567)
  2353. SLUG ($@'=)
  2354. SLUG (89AC)
  2355. SLUG (BZ,/)
  2356. SLUG (RIFL)
  2357. SLUG (MNOP)
  2358. SLUG ((GH))
  2359. SLUG (DUST)
  2360. SLUG (#\^!)
  2361. SLUG (+-.E)
  2362. SLUG (VWXY)
  2363.  
  2364. * GROUP 3.
  2365.  
  2366. SLUG (0123)
  2367. SLUG (4567)
  2368. SLUG (JKQ*)
  2369. SLUG (89AC)
  2370. SLUG (&?<>)
  2371. SLUG (RIFL)
  2372. SLUG (MNOP)
  2373. SLUG (BZ,/)
  2374. SLUG (DUST)
  2375. SLUG ((GH))
  2376. SLUG (+-.E)
  2377. CON 72 COLON
  2378. SLUG (;),1
  2379. CON 137 UNDERLINE
  2380. SLUG (=),1
  2381.  
  2382. * GROUP 4.
  2383.  
  2384. SLUG (0123)
  2385. SLUG (4567)
  2386. SLUG (VWXY)
  2387. SLUG (89AC)
  2388. SLUG (JKQ*)
  2389. SLUG (RIFL)
  2390. SLUG (MNOP)
  2391. SLUG ([),1
  2392. CON 45 PERCENT
  2393. SLUG ("]),2
  2394. SLUG (DUST)
  2395. SLUG (BZ,/)
  2396. SLUG (+-.E)
  2397. SLUG ((GH))
  2398.  
  2399. * GROUP 5.
  2400.  
  2401. SLUG (0123)
  2402. SLUG (4567)
  2403. SLUG ($@'=)
  2404. SLUG (89AC)
  2405. SLUG (VWXY)
  2406. SLUG (RIFL)
  2407. SLUG (MNOP)
  2408. SLUG (JKQ*)
  2409. SLUG (DUST)
  2410. SLUG (#\^!)
  2411. SLUG (+-.E)
  2412. SLUG (BZ,/)
  2413.  
  2414. * GROUP 6.
  2415.  
  2416. SLUG (0123)
  2417. SLUG (4567)
  2418. SLUG ((GH))
  2419. SLUG (89AC)
  2420. SLUG (&?<>)
  2421. SLUG (RIFL)
  2422. SLUG (MNOP)
  2423. SLUG (VWXY)
  2424. SLUG (DUST)
  2425. SLUG (JKQ*)
  2426. SLUG (+-.E)
  2427. CON 72 COLON
  2428. SLUG (;),1
  2429. CON 137 UNDERLINE
  2430. SLUG (=),1
  2431.  
  2432. ERRNZ /3IB/TIMC-TIMC
  2433. TIMCL EQU *-TIMC
  2434. ERRNZ TIMCL-288D
  2435.  
  2436. DEFOIES SET LOAD ADDRESS OF ERROR ROUTINES
  2437. TTL 1IO/3IB/5ID - IMAGE MEMORY TABLE.
  2438. 5ID TITLE 3555/512 WITH 595-6 PRINT TRAIN.
  2439. QUAL 5ID
  2440. IDENT 5ID,IMTX
  2441. *COMMENT 1IO - 512/595-6 IMAGE MEMORY.
  2442. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2443. 5ID SPACE 4,10
  2444. NCSL EQU 4 DEFINE SLUG SIZE
  2445. IMT SPACE 4,10
  2446. ORG OIMT
  2447.  
  2448. IMT SUBR ENTRY/EXIT
  2449. LDC TIMCL
  2450. UJN IMTX RETURN WITH TABLE LENGTH
  2451. TIMC SPACE 4,10
  2452. TIMC BSSZ 288D
  2453. NCHAR SET 0
  2454.  
  2455. * DEFINE SYMBOLS X0-X7F FOR CORRESPONDING HEX VALUES.
  2456.  
  2457. ECHO 3,P=(2,3,4,5,6,7)
  2458. ECHO 2,Q=(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
  2459. NOREF X_P_Q
  2460. X_P_Q EQU 0#_P_Q
  2461.  
  2462. BASE D
  2463.  
  2464. ESLUG (X30,X31,X32,X33),01,25,49 0,1,2,3
  2465. ESLUG (X34,X35,X36,X37),02,26,50 4,5,6,7
  2466. ESLUG (X38,X39,X62,X63),03,27,51 8,9,B(LC),C(LC)
  2467. ESLUG (X65,X73,X74,X61),04,28,52 E(LC),S(LC),T(LC),A(LC)
  2468. ESLUG (X64,X66,X75,X76),05,29,53 D(LC),F(LC),U(LC),V(LC)
  2469. ESLUG (X67,X68,X69,X6A),06,30,54 G(LC),H(LC),I(LC),J(LC)
  2470. ESLUG (X6B,X6C,X6D,X6E),07,31,55 K(LC),L(LC),M(LC),N(LC)
  2471. ESLUG (X6F,X70,X77,X72),08,32,56 O(LC),P(LC),W(LC),R(LC)
  2472. ESLUG (X71,X78,X79,X7A),09,33,57 Q(LC),X(LC),Y(LC),Z(LC)
  2473. ESLUG (X5C,X60,X51,X55),15,39,63 BACK/,ACCENT,Q(LC),U(LC)
  2474. ESLUG (X4A,X41,X4B,X45),16,40,64 J,A,K,E
  2475. ESLUG (X42,X57,X47,X48),17,41,65 B,W,G,H
  2476. ESLUG (X44,X43,X53,X54),18,42,66 D,C,S,T
  2477. ESLUG (X50,X4E,X46,X4C),19,43,67 P,N,F,L
  2478. ESLUG (X4D,X49,X4F,X52),20,44,68 M,I,O,R
  2479. ESLUG (X56,X5A,X58,X59),21,45,69 V,Z,X,Y
  2480. ESLUG (X3C,X3E,X5B,X5D),10,34,58 .LT.,.GT.,L.BRKT,R.BRKT
  2481. ESLUG (X2E,X7C,X7B,X7D),11,35,59 .,V.BAR,L.BRACE,R.BRACE
  2482. ESLUG (X21,X5E,X5F,X7E),12,36,60 EXCLAM,C.FLEX,UNDERSC,TILDE
  2483. ESLUG (X25,X30,X23,X40),13,37,61 PERCENT,0,POUND,AT
  2484. ESLUG (X3A,X3B,X27,X3F),14,38,62 COLON,SEMICOLON,APOS,Q.MARK
  2485. ESLUG (X28,X2F,X2A,X29),22,46,70 (,/,*,)
  2486. ESLUG (X2B,X2D,X2E,X2C),23,47,71 +,-,.,,
  2487. ESLUG (X24,X3D,X22,X26),24,48,72 $,=,D.QUOTE,AMPERSAND
  2488.  
  2489. BASE *
  2490. ERRNZ /3IB/TIMC-TIMC
  2491. TIMCL EQU NCHAR
  2492. ERRNZ TIMCL-288D
  2493.  
  2494. DEFOIES SET LOAD ADDRESS OF ERROR ROUTINES
  2495. TTL 1IO/3IB/5IE - IMAGE MEMORY TABLE.
  2496. TITLE 580 WITH 596-1 PRINT TRAIN.
  2497. QUAL 5IE
  2498. IDENT 5IE,IMTX
  2499. *COMMENT 1IO - 580/596-1 IMAGE MEMORY.
  2500. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2501. 5IE SPACE 4,10
  2502. NCSL EQU 8D DEFINE SLUG SIZE
  2503. IMT SPACE 4,10
  2504. ORG OIMT
  2505.  
  2506. IMT SUBR ENTRY/EXIT
  2507. LDC TIMCL
  2508. UJN IMTX RETURN WITH TABLE LENGTH
  2509. TIMC SPACE 4,10
  2510. * GROUP 1.
  2511.  
  2512. TIMC SLUG (17430265)
  2513. SLUG (E-+.HG98)
  2514. SLUG (FCBDRALI)
  2515. SLUG (140$3Z2,)
  2516. SLUG (POQKMN*J)
  2517. SLUG (/VTYWXUS)
  2518. SLUG (;=()[]),6
  2519. CON 45 PERCENT
  2520. CON 72 COLON
  2521. SLUG (17430265)
  2522.  
  2523. * GROUP 2.
  2524.  
  2525. SLUG (E-+.HG98)
  2526. SLUG (FCBDRALI)
  2527. SLUG (POQKMN*J)
  2528. SLUG (/VTYWXUS)
  2529. SLUG (&@\!),4
  2530. CON 137 CONCATENATION
  2531. SLUG ('?^),3
  2532. SLUG (#()><"Z,)
  2533. SLUG (17430265)
  2534. SLUG (E-+.HG98)
  2535.  
  2536. * GROUP 3.
  2537.  
  2538. SLUG (FCBDRALI)
  2539. SLUG (140$3Z2,)
  2540. SLUG (POQKMN*J)
  2541. SLUG (/VTYWXUS)
  2542. SLUG (;=()[]),6
  2543. CON 45 PERCENT
  2544. CON 72 COLON
  2545. SLUG (17430265)
  2546. SLUG (E-+.HG98)
  2547. SLUG (FCBDRALI)
  2548.  
  2549. * GROUP 4.
  2550.  
  2551. SLUG (POQKMN*J)
  2552. SLUG (/VTYWXUS)
  2553. SLUG (&@\!),4
  2554. CON 137 CONCATENATION
  2555. SLUG ('?^),3
  2556. SLUG (#()><"Z,)
  2557. SLUG (17430265)
  2558. SLUG (E-+.HG98)
  2559. SLUG (FCBDRALI)
  2560. SLUG (140$3Z2,)
  2561.  
  2562. * GROUP 5.
  2563.  
  2564. SLUG (POQKMN*J)
  2565. SLUG (/VTYWXUS)
  2566. SLUG (;=()[]),6
  2567. CON 45 PERCENT
  2568. CON 72 COLON
  2569. SLUG (17430265)
  2570. SLUG (E-+.HG98)
  2571. SLUG (FCBDRALI)
  2572. SLUG (POQKMN*J)
  2573. SLUG (/VTYWXUS)
  2574.  
  2575. * GROUP 6.
  2576.  
  2577. SLUG (&@\!),4
  2578. CON 137 CONCATENATION
  2579. SLUG ('?^),3
  2580. SLUG (#()><"Z,)
  2581. SLUG (17430265)
  2582. SLUG (E-+.HG98)
  2583. SLUG (FCBDRALI)
  2584. SLUG (POQKMN*J)
  2585. SLUG (/VTYWXUS)
  2586. SLUG (;=()[]),6
  2587. CON 45 PERCENT
  2588. CON 72 COLON
  2589.  
  2590. ERRNZ /3IB/TIMC-TIMC
  2591. TIMCL EQU *-TIMC
  2592. ERRNZ TIMCL-384D
  2593.  
  2594. DEFOIES SET LOAD ADDRESS OF ERROR ROUTINES
  2595. TTL 1IO/3IB/5IG - IMAGE MEMORY TABLE.
  2596. TITLE 580 WITH 596-4, 596-5 PRINT TRAINS.
  2597. QUAL 5IG
  2598. IDENT 5IG,IMTX
  2599. *COMMENT 1IO - 580/596-4,596-5 IMAGE MEMORY.
  2600. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2601. 5IG SPACE 4,10
  2602. NCSL EQU 8D DEFINE SLUG SIZE
  2603. IMT SPACE 4,10
  2604. ORG OIMT
  2605.  
  2606. IMT SUBR ENTRY/EXIT
  2607. LDC TIMCL
  2608. UJN IMTX RETURN WITH TABLE LENGTH
  2609. TIMC SPACE 4,10
  2610. * GROUP 1.
  2611.  
  2612. TIMC SLUG (17430265)
  2613. SLUG (E-+.HG98)
  2614. SLUG (FCBDRALI)
  2615. SLUG (140$3Z2,)
  2616. SLUG (POQKMN*J)
  2617. SLUG (/VTYWXUS)
  2618. SLUG (;&()[]),6
  2619. CON 45 PERCENT
  2620. CON 72 COLON
  2621. SLUG (17430265)
  2622.  
  2623. * GROUP 2.
  2624.  
  2625. SLUG (E-+.HG98)
  2626. SLUG (FCBDRALI)
  2627. SLUG (POQKMN*J)
  2628. SLUG (/VTYWXUS)
  2629. SLUG (!"^=@),5
  2630. CON 137 UNDERLINE
  2631. SLUG (?\),2
  2632. SLUG ('),1
  2633. CON 51 CLOSE PARENTHESIS
  2634. CON 50 OPEN PARENTHESIS
  2635. SLUG (><#Z,),5
  2636. SLUG (17430265)
  2637. SLUG (E-+.HG98)
  2638.  
  2639. * GROUP 3.
  2640.  
  2641. SLUG (FCBDRALI)
  2642. SLUG (140$3Z2,)
  2643. SLUG (POQKMN*J)
  2644. SLUG (/VTYWXUS)
  2645. SLUG (;&()[]),6
  2646. CON 45 PERCENT
  2647. CON 72 COLON
  2648. SLUG (17430265)
  2649. SLUG (E-+.HG98)
  2650. SLUG (FCBDRALI)
  2651.  
  2652. * GROUP 4.
  2653.  
  2654. SLUG (POQKMN*J)
  2655. SLUG (/VTYWXUS)
  2656. SLUG (!"^=@),5
  2657. CON 137 UNDERLINE
  2658. SLUG (?\),2
  2659. SLUG ('),1
  2660. CON 51 CLOSE PARENTHESIS
  2661. CON 50 OPEN PARENTHESIS
  2662. SLUG (><#Z,),5
  2663. SLUG (17430265)
  2664. SLUG (E-+.HG98)
  2665. SLUG (FCBDRALI)
  2666. SLUG (140$3Z2,)
  2667.  
  2668. * GROUP 5.
  2669.  
  2670. SLUG (POQKMN*J)
  2671. SLUG (/VTYWXUS)
  2672. SLUG (;&()[]),6
  2673. CON 45 PERCENT
  2674. CON 72 COLON
  2675. SLUG (17430265)
  2676. SLUG (E-+.HG98)
  2677. SLUG (FCBDRALI)
  2678. SLUG (POQKMN*J)
  2679. SLUG (/VTYWXUS)
  2680.  
  2681. * GROUP 6.
  2682.  
  2683. SLUG (!"^=@),5
  2684. CON 137 UNDERLINE
  2685. SLUG (?\),2
  2686. SLUG ('),1
  2687. CON 51 CLOSE PARENTHESIS
  2688. CON 50 OPEN PARENTHESIS
  2689. SLUG (><#Z,),5
  2690. SLUG (17430265)
  2691. SLUG (E-+.HG98)
  2692. SLUG (FCBDRALI)
  2693. SLUG (POQKMN*J)
  2694. SLUG (/VTYWXUS)
  2695. SLUG (;&()[]),6
  2696. CON 45 PERCENT
  2697. CON 72 COLON
  2698.  
  2699. ERRNZ /3IB/TIMC-TIMC
  2700. TIMCL EQU *-TIMC
  2701. ERRNZ TIMCL-384D
  2702.  
  2703. DEFOIES SET LOAD ADDRESS OF ERROR ROUTINES
  2704. TTL 1IO/3IB/5IH - IMAGE MEMORY TABLE.
  2705. 5IH TITLE 580 WITH 596-6 PRINT TRAIN.
  2706. QUAL 5IH
  2707. IDENT 5IH,IMTX
  2708. *COMMENT 1IO - 580/596-6 IMAGE MEMORY.
  2709. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2710. 5IH SPACE 4,10
  2711. NCSL EQU 8D DEFINE SLUG SIZE
  2712. SPACE 4,10
  2713. ORG OIMT
  2714.  
  2715. IMT SUBR ENTRY/EXIT
  2716. LDC TIMCL
  2717. UJN IMTX RETURN WITH TABLE LENGTH
  2718. TIMC SPACE 4,10
  2719. TIMC BSSZ 384D
  2720. NCHAR SET 0
  2721.  
  2722. * DEFINE SYMBOLS X0-X7F FOR CORRESPONDING HEX VALUES.
  2723.  
  2724. ECHO 3,P=(2,3,4,5,6,7)
  2725. ECHO 2,Q=(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
  2726. NOREF X_P_Q
  2727. X_P_Q EQU 0#_P_Q
  2728.  
  2729. BASE D
  2730.  
  2731. ESLUG (X31,X37,X34,X33,X30,X32,X36,X35),1,13,25,37
  2732. ESLUG (X45,X2D,X2B,X2E,X48,X47,X39,X38),2,14,26,38
  2733. ESLUG (X46,X43,X42,X44,X52,X41,X4C,X49),3,15,27,39
  2734. ESLUG (X50,X4F,X51,X4B,X4D,X4E,X2A,X4A),4,16,28,40
  2735. ESLUG (X2F,X56,X54,X59,X57,X58,X55,X53),5,17,29,41
  2736. ESLUG (X27,X24,X23,X2C,X3E,X3D,X3C,X5A),6,18,30,42
  2737. ESLUG (X21,X31,X3F,X40,X30,X5C,X22,X60),7,19,31,43
  2738. ESLUG (X66,X61,X63,X65,X67,X62,X64,X68),8,20,32,44
  2739. ESLUG (X6C,X6B,X6D,X6E,X70,X6F,X6A,X69),9,21,33,45
  2740. ESLUG (X76,X77,X74,X78,X73,X75,X71,X72),10,22,34,46
  2741. ESLUG (X7E,X7C,X5F,X7D,X7B,X7A,X79,X5E),11,23,35,47
  2742. ESLUG (X3B,X26,X28,X29,X5B,X5D,X25,X3A),12,24,36,48
  2743.  
  2744. BASE *
  2745.  
  2746. ERRNZ /3IB/TIMC-TIMC
  2747. TIMCL EQU NCHAR
  2748. ERRNZ TIMCL-384D
  2749.  
  2750. DEFOIES SET LOAD ADDRESS OF ERROR ROUTINES
  2751. RER TTL 1IO/3IC - ERROR SUBROUTINES.
  2752. TITLE
  2753. QUAL 3IC
  2754. IDENT 3IC,RERX
  2755. *COMMENT 1IO - ERROR SUBROUTINES.
  2756. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2757. 3IC SPACE 4,10
  2758. ** RER - RETURN CONTROL.
  2759.  
  2760.  
  2761. ORG OIES
  2762.  
  2763. RER SUBR ENTRY/EXIT
  2764. UJN RERX RETURN
  2765. CAS SPACE 4,10
  2766. ** CAS - CLEAR ASSIGNMENT.
  2767. *
  2768. * ENTRY (EQ) = EST ORDINAL / DEVICE TYPE.
  2769. * (EQ) = 0, IF NO EQUIPMENT ASSIGNED.
  2770. * (BA - BA+1) = BUFFER ADDRESS.
  2771. * (BA - BA+1) = 0, IF NO BUFFER ASSIGNED.
  2772. * (FA) = FNT ADDRESS.
  2773. * (FA) = 0 IF NO FILE ASSIGNED.
  2774. * (IR+1) SET.
  2775. * (IR+3) SET.
  2776. *
  2777. * EXIT EQUIPMENT RELEASED.
  2778. * BUFFER RELEASED.
  2779. * IF FILE IS TO BE RELEASED, THEN *1IO* IS RECALLED,
  2780. * AND *CIO* IS CALLED INTO THIS PP.
  2781. * OTHERWISE, EXIT IS MADE TO *RCL*.
  2782. *
  2783. * USES T1, T2, CM - CM+4.
  2784. *
  2785. * CALLS RLE, SFA, *DSP*.
  2786. *
  2787. * MACROS EXECUTE, MONITOR, NFA.
  2788.  
  2789.  
  2790. CAS BSS 0 ENTRY
  2791. LDN ZERL CLEAR BUFFER NAME
  2792. CRD CM
  2793. LDD BA CHECK FOR BUFFER ASSIGNMENT
  2794. ADD BA+1
  2795. ZJN CAS1 IF NO BUFFER ASSIGNED
  2796. RJM SFA CLEAR BUFFER
  2797. CWD CM
  2798. LDD EQ RESET BUFFER POINT WORD
  2799. SHN -3
  2800. STD CM+3
  2801. NFA BFCW
  2802. ADD IR+3
  2803. ADD IR+3
  2804. CWD CM
  2805. CAS1 RJM RLE RELEASE EQUIPMENT
  2806. LDD FA
  2807. NJN CAS3 IF FILE ASSIGNED
  2808. LJM RCL RECALL *1IO*
  2809.  
  2810. * SET UP *DSP* CALL BLOCK.
  2811.  
  2812. CAS3 NFA FA,R READ FILE NAME
  2813. CRM DSPP,ON
  2814. LDC DSPP+2
  2815. STD T1
  2816. CAS4 LDN 0 CLEAR *DSP* PARAMETER BLOCK
  2817. STI T1
  2818. AOD T1
  2819. LMC DSPPE
  2820. NJN CAS4 IF NOT END OF BLOCK
  2821. LDK FRPR+FRCS SET PRIORITY / CENTRAL SITE FLAGS
  2822. STM DSPP+1*5+4
  2823. LCN 0 SET MAXIMUM PRIORITY
  2824. STM DSPP+3*5+4
  2825. LDD FA SET FNT OFFSET
  2826. STM DSPP+4*5+4
  2827. LDN DSPBL SET PARAMETER BLOCK LENGTH
  2828. STD T1
  2829. LDD RA STORE *DSP* PARAMETER BLOCK
  2830. SHN 6
  2831. ADC QAPB
  2832. CWM DSPP,T1
  2833.  
  2834. * RECALL *1IO* AND CALL *DSP*.
  2835.  
  2836. EXECUTE DSP,=
  2837. LDD MA CALL *DSP*
  2838. CWM CASA,ON
  2839. LDN 0 ENABLE QUEUING OF PP REQUEST
  2840. STD CM+1
  2841. MONITOR RPPM
  2842. LJM RCL1 RECALL *1IO*
  2843.  
  2844. CASA VFD 18/0LDSP,24/0,18/QAPB
  2845. ERM SPACE 4,10
  2846. ** ERM - PROCESS ERROR MESSAGE.
  2847. *
  2848. * ENTRY (CS) = CONVERTER STATUS/BYTE COUNT.
  2849. * (EQ) = 9/EST ORDINAL, 3/DEVICE TYPE.
  2850. * (FC) = FUNCTION CODE.
  2851. * (MC) = MESSAGE CODE.
  2852. * (ST) = EQUIPMENT STATUS.
  2853. * (ES - ES+4) = EST ENTRY.
  2854. *
  2855. * USES RT, T5.
  2856. *
  2857. * CALLS C2D, DFM, IBM.
  2858.  
  2859.  
  2860. ERM2 STD RT
  2861.  
  2862. ERM SUBR ENTRY/EXIT
  2863. LDD MC CHECK MESSAGE CODE
  2864. SBN BAME
  2865. MJN ERMX IF MESSAGE ISSUED ONLY BY *QAP*
  2866. STD T5
  2867. RJM IBM PROCESS BML MESSAGE
  2868. LDD RT CHECK IF ERROR RETRIED
  2869. ZJN ERM1 IF ERROR NOT RETRIED
  2870. LPN 1
  2871. ZJN ERM2 IF RECOVERED ERROR
  2872.  
  2873. ERM1 LDM TDFP,T5 SET MESSAGE ADDRESS
  2874. STD T5
  2875. LDD ES+3 SET EQUIPMENT TYPE
  2876. STI T5
  2877. LDD EQ CONVERT UPPER TWO DIGITS OF EST ORDINAL
  2878. SHN -6
  2879. RJM C2D
  2880. STM 1,T5
  2881. LDD EQ CONVERT LOWER DIGIT OF EST ORDINAL
  2882. LPN 70
  2883. SHN 3
  2884. ADC 2R0
  2885. STM 2,T5
  2886. LDD T5 SEND MESSAGE TO DAYFILE
  2887. RJM DFM
  2888. LDC ERLN SEND MESSAGE TO ERROR LOG
  2889. LMD T5
  2890. RJM DFM
  2891. LJM ERMX RETURN
  2892. TDFP SPACE 4,10
  2893. ** TDFP - TABLE OF PROCESSORS AND MESSAGES.
  2894. *
  2895. * *TDFP* IS A PARTIAL TABLE OF MESSAGES CONTAINING ONLY
  2896. * THOSE MESSAGES ISSUED BY *1IO*.
  2897.  
  2898.  
  2899. TDFP INDEX
  2900. INDEX ERJM-BAME,(=C*EQXXX INTERNAL/EXTERNAL REJECT.*)
  2901. INDEX ETPE-BAME,(=C*EQXXX TRANSMISSION PARITY ERROR.*)
  2902. INDEX EFTM-BAME,(=C*EQXXX FUNCTION TIMEOUT.*)
  2903. INDEX EITM-BAME,(=C*EQXXX INCOMPLETE DATA TRANSFER.*)
  2904. INDEX EEOM-BAME,(=C*EQXXX TURNED OFF BY SYSTEM.*)
  2905. INDEX ECBM-BAME,(=C*EQXXX CONTROLLER HUNG BUSY.*)
  2906. INDEX ECRE-BAME,(=C*EQXXX CHANNEL PARITY ERROR.*)
  2907. INDEX ECSE-BAME,(=C*EQXXX CCC/NIP STATUS ERROR.*)
  2908. INDEX ECLM-BAME,(=C*EQXXX CCC/NIP CONTROLWARE LOADED.*)
  2909. INDEX ECWE-BAME,(=C*EQXXX CCC/NIP CONTROLWARE LOAD ERROR.*)
  2910. INDEX ECNF-BAME,(=C*EQXXX CCC/NIP CONTROLWARE NOT FOUND.*)
  2911. INDEX ELME-BAME
  2912. IBM SPACE 4,10
  2913. ** IBM - ISSUE BML MESSAGE.
  2914. *
  2915. * ENTRY (A) = INDEX INTO TABLES *TIPR*, *TISY*, AND *TINB*.
  2916. * (CS) = CONVERTER STATUS/BYTE COUNT.
  2917. * (EQ) = 9/EST ORDINAL, 3/DEVICE TYPE.
  2918. * (FC) = FUNCTION CODE.
  2919. * (RT) = RETRY COUNT/UNRECOVERED FLAG.
  2920. * (ST) = EQUIPMENT STATUS.
  2921. * (T5) = ERROR LOG MESSAGE INDEX.
  2922. * (ES - ES+4) = EST ENTRY.
  2923. *
  2924. * USES T1, T2, CM - CM+4.
  2925. *
  2926. * CALLS DFM, DMI.
  2927. *
  2928. * MACROS BLMSIDT, DBMLT.
  2929.  
  2930.  
  2931. IBM SUBR ENTRY/EXIT
  2932. STD T2
  2933. RJM DMI DETERMINE BML MESSAGE ID
  2934. ZJN IBMX IF EQUIPMENT NOT FOUND
  2935. STM IBMA
  2936. LDK PPCP
  2937. CRD CM
  2938. LDD IA CALCULATE PP NUMBER
  2939. SBD CM+4
  2940. SHN 6-3
  2941. LMD ES+1 APPEND PP NUMBER
  2942. SCN 37
  2943. LMD ES+1
  2944. STM IBMA+2
  2945. LDK MMFL
  2946. CRD CM
  2947. LDD CM MACHINE ID
  2948. STM IBMB+3
  2949. LDM TISY,T2 SYMPTOM CODE
  2950. STM IBMA+1
  2951. LDM TIPR,T2 SET POSTPROCESSOR ADDRESS
  2952. STD T1
  2953. LJM 0,T1 COMPLETE MESSAGE PROCESSING
  2954.  
  2955. * CCC/NIP STATUS.
  2956.  
  2957. IBM1 LDC DM0401 SET MESSAGE ID
  2958. STM IBMA
  2959. UJN IBM3 COMPLETE BML MESSAGE
  2960.  
  2961. * FUNCTION REJECT, TRANSMISSION PARITY ERROR.
  2962.  
  2963. IBM2 LDD CS
  2964. LPN 4
  2965. ZJN IBM3 IF REJECT MESSAGE
  2966. AOD T2
  2967. AOD T5
  2968. LDM TISY,T2 SYMPTOM CODE
  2969. STM IBMA+1
  2970. IBM3 LDD ST EQUIPMENT STATUS
  2971. STM IBMC+1
  2972. * UJN IBM4 COMPLETE BML MESSAGE
  2973.  
  2974. * INCOMPLETE DATA TRANSFER.
  2975.  
  2976. IBM4 LDD CS CONVERTER STATUS/BYTE COUNT
  2977. STM IBMC
  2978. * UJN IBM5 COMPLETE BML MESSAGE
  2979.  
  2980. * CHANNEL PARITY ERROR.
  2981.  
  2982. IBM5 LDD RT RETRY COUNT/UNRECOVERED FLAG
  2983. IBM6 STM IBMB+1
  2984. * UJN IBM7 COMPLETE BML MESSAGE
  2985.  
  2986. * FUNCTION TIMEOUT, CONTROLLER HUNG BUSY.
  2987.  
  2988. IBM7 LDD FC
  2989. STM IBMC+2
  2990.  
  2991. * EQUIPMENT TURNED OFF.
  2992.  
  2993. IBM8 LDD ES+4 SET EQUIPMENT NUMBER
  2994. SHN 0-11
  2995. LPN 7
  2996. SHN 6
  2997. STM IBMA+3
  2998. LDD EQ EST ORDINAL
  2999. SHN 0-3
  3000. STM IBMB
  3001. LDN ZERL CLEAR CM REGISTER FOR DAYFILE CALL
  3002. CRD CM
  3003. LDM TINB,T2 SET BYTE COUNT FOR MESSAGE
  3004. STD CM+1
  3005. LDC IBMA+BMLN SEND MESSAGE TO BML
  3006. RJM DFM
  3007. LJM IBMX RETURN
  3008.  
  3009. ** BML MESSAGE TABLE.
  3010.  
  3011.  
  3012. IBMA VFD 12/0,12/0,6/0,6/0,6/0,18/0 BML WORD 2
  3013. IBMB VFD 12/0,6/0,6/0,12/0,12/0,12/0 BML WORD 3
  3014. IBMC VFD 12/0,12/0,12/0,12/0,12/0 BML WORD 4
  3015. SPACE 4,10
  3016. ** DEFINE BML PROCESSORS, SYMPTOM CODES, AND LENGTHS.
  3017.  
  3018.  
  3019. DBMLT ERJM,IBM2,/COMSDFS/HS0025,3*5 FUNCTION REJECT
  3020. DBMLT ETPE,IBM2,/COMSDFS/HS0010,3*5 TRANSMISSION PARITY
  3021. DBMLT EFTM,IBM7,/COMSDFS/HS0050,3*5 FUNCTION TIMEOUT
  3022. DBMLT EITM,IBM4,/COMSDFS/HS0005,3*5 INCOMPLETE TRANSFER
  3023. DBMLT EEOM,IBM8,/COMSDFS/HS0030,2*5 EQUIPMENT TURNED OFF
  3024. DBMLT ECBM,IBM7,/COMSDFS/HS0044,3*5 CONTROLLER HUNG BUSY
  3025. DBMLT ECRE,IBM5,/COMSDFS/HS0024,3*5 CHANNEL PARITY ERROR
  3026. DBMLT ECSE,IBM1,HI0113,3*5 CCC/NIP STATUS ERROR
  3027. DBMLT ECLM,IBM1,HI0111,3*5 CCC/NIP LOADED
  3028. DBMLT ECWE,IBM1,HI0112,3*5 CCC/NIP LOAD ERROR
  3029. DBMLT ECNF,IBMX,0,0 CCC/NIP CONTROLWARE NOT FOUND
  3030. SPACE 4,10
  3031. BLMSIDT
  3032. TIPR SPACE 4,10
  3033. ** TIPR - TABLE OF PROCESSING ROUTINES.
  3034.  
  3035.  
  3036. TIPR INDEX
  3037. DUP ELME-BAME,1
  3038. CON IBMX
  3039. ORG TIPR
  3040. DTPR HERE
  3041. INDEX ELME-BAME
  3042. TISY SPACE 4,10
  3043. ** TISY - TABLE OF SYMPTOM CODES.
  3044.  
  3045.  
  3046. TISY INDEX
  3047. DTSY HERE
  3048. INDEX ELME-BAME
  3049. TINB SPACE 4,10
  3050. ** TINB - TABLE OF NUMBER OF BML BYTES.
  3051.  
  3052.  
  3053. TINB INDEX
  3054. DTNB HERE
  3055. INDEX ELME-BAME
  3056. OEQ SPACE 4,10
  3057. ** OEQ - OFF EQUIPMENT.
  3058. *
  3059. * ENTRY (EQ) = EST ORDINAL / DEVICE TYPE.
  3060. * (IR+3) = BUFFER POINT NUMBER.
  3061. *
  3062. * USES MC, CM - CM+4.
  3063. *
  3064. * CALLS ERM, IOM.
  3065. *
  3066. * MACROS MONITOR, NFA.
  3067.  
  3068.  
  3069. OEQ SUBR ENTRY/EXIT
  3070. LDD EQ
  3071. SHN -3
  3072. STD CM+1
  3073. LDN OFES SET OFF STATUS
  3074. STD CM+2
  3075. MONITOR SEQM SET EQUIPMENT PARAMETER
  3076. LDN EEOM *EQXXX TURNED OFF BY SYSTEM.*
  3077. STD MC
  3078. RJM ERM SEND ERROR MESSAGE
  3079. LDN EOHE *OFF - CHECK ERRLOG.*
  3080. RJM IOM ISSUE OPERATOR MESSAGE
  3081. LDN ZERL
  3082. CRD CM
  3083. LDN ELAE ERROR LOG ALERT
  3084. STD CM+4
  3085. MONITOR EATM
  3086. UJN OEQX RETURN
  3087. PEF SPACE 4,10
  3088. ** PEF - PROCESS ERROR FLAG.
  3089. *
  3090. * FILES IN PROCESS ARE RETURNED TO THE SYSTEM BY A *RERUN*.
  3091. *
  3092. * USES T1, CM - CM+4.
  3093. *
  3094. * MACROS NFA.
  3095.  
  3096.  
  3097. PEF SUBR ENTRY/EXIT
  3098. LDN ZERL
  3099. CRD CM
  3100. LDD RA
  3101. SHN 6
  3102. ADN DRQR
  3103. CWD CM CLEAR PENDING REQUEST
  3104. LDN MXEQ*2-2
  3105. STD T1
  3106. PEF1 NFA BFCW ENTER *RERUN* FOR ALL EQUIPMENTS
  3107. ADD T1
  3108. CRD CM
  3109. LDN RRNM ENTER *RERUN* OPERATOR FLAG FOR *1CD*
  3110. STD CM+4
  3111. LCN 0 SET PRIORITY
  3112. STD CM+2
  3113. NFA BFCW STORE BUFFER POINT WORD
  3114. ADD T1
  3115. CWD CM
  3116. LCN 2 DECREMENT BUFFER POINT INDEX
  3117. RAD T1
  3118. PJN PEF1 IF NOT LAST BUFFER
  3119. UJN PEFX RETURN
  3120. SPACE 4,10
  3121. ** COMMON DECKS.
  3122.  
  3123.  
  3124. *CALL COMPC2D
  3125. SPACE 4,10
  3126. ** LITERALS BLOCK.
  3127.  
  3128.  
  3129. USE LITERALS
  3130. DSPP SPACE 4,10
  3131. ** DSPP - *DSP* PARAMETER BUFFER.
  3132.  
  3133.  
  3134. DSPP BSS 0
  3135. DSPPE EQU DSPP+DSPBL*5
  3136. SPACE 4,10
  3137. OVERFLOW OIES,7777+DSPP-DSPPE
  3138. PRS TTL 1IO/3ID - 1IO PRESET BATCHIO.
  3139. TITLE
  3140. QUAL 3ID
  3141. IDENT 3ID,PRSX
  3142. *COMMENT 1IO - BATCHIO PRESET.
  3143. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3144. TITLE PRESET BATCHIO.
  3145. PRS SPACE 4,10
  3146. ** PRS - PRESET BATCHIO.
  3147.  
  3148.  
  3149. ORG ORGR
  3150.  
  3151. PRS SUBR ENTRY/EXIT
  3152. LDD IR+4 CHECK RECOVERY
  3153. LMN DRET
  3154. NJN PRS1 IF NOT DEADSTART RERUN
  3155. RJM RIO RECOVER *BATCHIO*
  3156. LDC 4000 SET RECOVERY FLAG
  3157. STD IR+4
  3158. PRS1 LDN 0 CLEAR INPUT REGISTER FLAGS
  3159. STD IR+2
  3160. STD IR+3
  3161. LDN ZERL CLEAR CONSOLE MESSAGE
  3162. CRD CM
  3163. LDD CP
  3164. ADN MS1W
  3165. CWD CM
  3166. LDN CTIR-1 CLEAR (RA - RA+CTIR)
  3167. STD CM+2
  3168. LDD HN SET SUBFUNCTION = RELATIVE ADDRESSES
  3169. STD CM+1
  3170. AOD CM+4
  3171. MONITOR CSTM
  3172.  
  3173. * BUILD AVAILABLE EQUIPMENT TABLE.
  3174.  
  3175. LDN ESTP READ EST POINTER
  3176. CRD CM
  3177. LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
  3178. STD T1
  3179. LDN 0
  3180. STD T2 CLEAR TABLE INDEX
  3181. PRS4 AOD T1 ADVANCE EST ORDINAL
  3182. LMD CM+2
  3183. ZJP PRS8 IF END OF EST
  3184. SFA EST,T1 READ EST ENTRY
  3185. ADK EQDE
  3186. CRD CN READ EST ENTRY
  3187. LDD CN+3
  3188. ZJN PRS4 IF EQUIPMENT UNDEFINED
  3189. LCN 1
  3190. STD T3
  3191. PRS6 LDN 2 ADVANCE TABLE INDEX
  3192. RAD T3
  3193. LDM TEQT,T3 COMPARE EQUIPMENT TYPE
  3194. ZJN PRS4 IF END OF TABLE
  3195. LMD CN+3
  3196. NJN PRS6 IF NO MATCH
  3197. LDN ZERL
  3198. CRD CN
  3199. LDD T2 CHECK BUFFER POINT AVAILABLE
  3200. SBN MXEQ
  3201. PJN PRS9 IF NONE LEFT
  3202. LDD T1
  3203. STD CN+3
  3204. SHN 3 SET EST ORDINAL AND TYPE IN TABLE
  3205. LMM TEQT+1,T3
  3206. STM TAEQ+1,T2
  3207. NFA BFCW STORE BUFFER POINT WORD
  3208. ADD T2
  3209. ADD T2
  3210. CWD CN
  3211. AOD T2 ADVANCE TABLE
  3212. LJM PRS4 LOOP
  3213.  
  3214. PRS8 LDD T2 SET EQUIPMENT COUNT
  3215. STM TAEQ
  3216. NJN PRS10 IF EQUIPMENT AVAILABLE
  3217. LDC =C*NO EQUIPMENT AVAILABLE.*
  3218. RJM DFM
  3219. LJM DPP DROP PP
  3220.  
  3221. PRS9 LDD T2 SET EQUIPMENT COUNT
  3222. STM TAEQ
  3223. LDC =C* NOT ALL EQUIPMENT SERVICABLE.*
  3224. RJM DFM
  3225. LDM TAEQ RESTORE
  3226. STD T2
  3227. PRS10 AOD T2 CLEAR REMAINDER OF TABLE
  3228. SBK TAEQL
  3229. PJN PRS11 IF END OF TABLE
  3230. LDN 0
  3231. STM TAEQ,T2
  3232. UJN PRS10 LOOP
  3233.  
  3234. PRS11 LDN TAEQL/5 STORE AVAILABLE EQUIPMENT TABLE
  3235. STD T1
  3236. LDD RA
  3237. SHN 6
  3238. ADN TEQR
  3239. CWM TAEQ,T1
  3240. LDN 40 SET PRESET COMPLETE FLAG
  3241. RAD IR+1
  3242. LDN IPRL CHECK 64 CHARACTER SET
  3243. CRD CN
  3244. LDD CN+2
  3245. SHN 21-0
  3246. MJN PRS12 IF 64 CHARACTER SET
  3247. RJM CCT CHANGE CONVERSION TABLES
  3248. PRS12 LDC CTBLL/5 STORE CONVERSION TABLES
  3249. STD T1
  3250. LDD RA
  3251. SHN 6
  3252. ADN CTIR
  3253. CWM CTBL,T1
  3254. CWD ON-4 SET *DSP/QAC* BUFFER NOT BUSY
  3255. ERRNZ CTIR+CTBLL/5-QAPB CODE DEPENDS ON CONTIGUOUS BUFFERS
  3256. LDD CP READ CONTROL STATEMENT POINTER
  3257. ADN CSPW
  3258. CRD CM
  3259. ADN JCRW-CSPW READ JOB CONTROL REGISTERS
  3260. CRD CN
  3261. SBN JCRW-EOJW READ END OF JOB CONTROL
  3262. CRD FN
  3263. AOD CN+1 SET (R3) = 1
  3264.  
  3265. * DISABLE OUTPUT FILE WHEN SUBSYSTEM IDLEDOWN.
  3266.  
  3267. LDC NOJT*100-QOJT*100
  3268. RAD FN
  3269. LDC CSBN-1 SET NEXT CONTROL STATEMENT
  3270. STD CM+3
  3271. SBN 2 SET LIMIT OF CONTROL STATEMENTS
  3272. STD CM+4
  3273. NFA CSBN STORE CONTROL STATEMENTS FOR RECOVERY
  3274. CWM PRSA,TR
  3275. LDD CP UPDATE STATEMENT POINTERS
  3276. ADN CSPW
  3277. CWD CM
  3278. ADN JCRW-CSPW STORE JOB CONTROL REGISTERS
  3279. CWD CN
  3280. SBN JCRW-EOJW STORE END OF JOB CONTROL
  3281. CWD FN
  3282. LDN ZERL
  3283. CRD CM
  3284. LDN BFL/100 SET INITIAL FL
  3285. STD CM+1
  3286. MONITOR RSTM
  3287. LDC SSCF*10000+BISI SET SUBSYSTEM ACCESSABILITY FLAG
  3288. RJM AST
  3289. LJM PRSX RETURN
  3290.  
  3291. PRSA VFD 60/0
  3292. VFD 60/0LBIO1.
  3293. VFD 60/0LEXIT.
  3294. CCT SPACE 4,10
  3295. ** CCT - CHANGE CONVERSION TABLES
  3296. *
  3297. * CCT CHANGES CONVERSION TABLES FROM 64 CHARACTER SET
  3298. * TRANSLATION TO 63 CHARACTER TRANSLATION.
  3299. * THE COLON WILL BE CHANGED FROM 00 TO 63 DISPLAY CODE,
  3300. * THE PERCENT WILL BE DROPPED, AND 00 DISPLAY WILL BE
  3301. * TRANSLATED TO A BLANK.
  3302.  
  3303.  
  3304. CCT SUBR ENTRY/EXIT
  3305.  
  3306. * COMT6DP.
  3307.  
  3308. LDN 55 SPACE
  3309. STM CTBA+1+16
  3310. LDN 63 COLON
  3311. STM CTBA+1+12
  3312.  
  3313. * COMT9DP.
  3314.  
  3315. LDN 55 SPACE
  3316. STM CTBB+1+34
  3317. LDN 63 COLON
  3318. STM CTBB+1+12
  3319.  
  3320. * COMTDA8.
  3321.  
  3322. LDN 40 SPACE
  3323. STM CTBC+1+00
  3324. LDN 72 COLON
  3325. STM CTBC+1+63
  3326.  
  3327. * COMTDP6.
  3328.  
  3329. LDN 0 BLANK NO PUNCH
  3330. STM CTBD+1+00
  3331. LDC 0202 COLON 8-2
  3332. STM CTBD+1+63
  3333.  
  3334. * COMTDP9.
  3335.  
  3336. LDN 0 BLANK NO PUNCH
  3337. STM CTBE+1+00
  3338. LDC 0202 COLON 8-2
  3339. STM CTBE+1+63
  3340. LJM CCTX EXIT
  3341. CTBL SPACE 4,10
  3342. ** CTBL - CONVERSION TABLES.
  3343.  
  3344.  
  3345. CTBL BSS 0
  3346.  
  3347. CTBA CON C6XD
  3348. *CALL COMT6DP
  3349. BSS CTBA+CTLN*5-* PRESERVE WORD BOUNDARY
  3350.  
  3351. CTBB CON C9XD
  3352. *CALL COMT9DP
  3353. BSS CTBB+CTLN*5-* PRESERVE WORD BOUNDARY
  3354.  
  3355. CTBC CON CDX8
  3356. *CALL COMTDA8
  3357. BSS CTBC+CTLN*5-* PRESERVE WORD BOUNDARY
  3358.  
  3359. CTBD CON CDXH
  3360. *CALL COMTDP6
  3361. BSS CTBD+CTLN*5-* PRESERVE WORD BOUNDARY
  3362.  
  3363. CTBE CON CDXA
  3364. *CALL COMTDP9
  3365. BSS CTBE+CTLN*5-* PRESERVE WORD BOUNDARY
  3366.  
  3367. CTBLL EQU *-CTBL
  3368.  
  3369. ERRNZ CTBLL/5*5-CTBLL INSURE TABLE LENGTH IS MULTIPLE
  3370. * OF CM WORDS
  3371. TEQT SPACE 4,10
  3372. ** TEQT - TABLE OF EQUIPMENT TYPES.
  3373. * ENTRY = 2 WORDS.
  3374. *
  3375. *T TEQT 12/MNEMONIC, 12/DEVICE TYPE
  3376.  
  3377.  
  3378. TEQT BSS 0
  3379. VFD 12/2RCP,12/CPDT 415
  3380. VFD 12/2RCR,12/CRDT 405
  3381. VFD 12/2RLQ,12/LPDT 512
  3382. VFD 12/2RLR,12/LPDT 580-12
  3383. VFD 12/2RLS,12/LPDT 580-16
  3384. VFD 12/2RLT,12/LPDT 580-20
  3385. VFD 12/2RLX,12/NPDT 5870
  3386. VFD 12/2RLY,12/NPDT 5970
  3387. DATA 0
  3388. SPACE 4,10
  3389. ** COMMON DECKS.
  3390.  
  3391.  
  3392. QUAL$ SET 1
  3393. AST$ EQU 0 DEFINE *COMPAST* ACCESS TO *SSCT*
  3394. *CALL COMPAST
  3395. *CALL COMPSAF
  3396. TITLE RECOVER BATCHIO.
  3397. RIO SPACE 4,10
  3398. ** RIO - RECOVER *BATCHIO*.
  3399. *
  3400. * USES T5, T7, BA - BA+1, CM - CM+4, CN - CN+4, FN - FN+4.
  3401. *
  3402. * CALLS CAB, DEQ, DFM, RQF, SAF, SFA.
  3403. *
  3404. * MACROS NFA.
  3405.  
  3406.  
  3407. RIO4 RJM DEQ DROP EQUIPMENT
  3408. LDC =C* RECOVERY COMPLETE.*
  3409. RJM DFM
  3410.  
  3411. RIO SUBR ENTRY/EXIT
  3412. RJM CAB COUNT ACTIVE BUFFERS
  3413. ZJN RIO4 IF SUBSYSTEM IDLE
  3414. LDN MXEQ SET MAXIMUM EQUIPMENT COUNT
  3415. STD T5
  3416. LDN 0 SET FIRST FET ADDRESS
  3417. STD BA
  3418. LDC BUFR
  3419. STD BA+1
  3420. RIO1 RJM SFA READ FILE NAME
  3421. CRD FN
  3422. ADN 4 READ LIMIT WORD
  3423. CRD CN
  3424. ADN 5-4 READ FILE PARAMETER WORD
  3425. CRD T7
  3426. LDD FN
  3427. ZJN RIO2 IF BUFFER UNASSIGNED
  3428. LDD CN SEARCH FOR ASSIGNED FILE
  3429. RJM SAF
  3430. ZJN RIO2 IF FILE NOT FOUND
  3431. NFA T7,R
  3432. CRD CM
  3433. LCN 0 SET REQUEUING PRIORITY
  3434. STD CM+2
  3435. NFA T7,R STORE BUFFER POINT WORD
  3436. CWD CM
  3437. RJM RQF REQUEUE FILE
  3438. ZJN RIO3 IF ALL ACTIVE BUFFERS PROCESSED
  3439. RIO2 LDD CN+3 SET NEXT FET ADDRESS
  3440. STD BA
  3441. LDD CN+4
  3442. STD BA+1
  3443. SOD T5 DECREMENT EQUIPMENT COUNT
  3444. NJN RIO1 IF ALL EQUIPMENT NOT CHECKED
  3445. RIO3 LJM RIO4 DROP EQUIPMENT
  3446. TITLE RECOVERY SUBROUTINES.
  3447. CAB SPACE 4,10
  3448. ** CAB - COUNT ACTIVE BUFFERS.
  3449. *
  3450. * EXIT (A) = (T6) = ACTIVE BUFFER COUNT.
  3451. *
  3452. * USES T7, CM - CM+4.
  3453.  
  3454.  
  3455. CAB SUBR ENTRY/EXIT
  3456. LDN D1AR SET FIRST DRIVER ASSIGNMENT WORD
  3457. STD T7
  3458. LDN 0 CLEAR BUFFER COUNT
  3459. STD T6
  3460. CAB1 LDD RA READ DRIVER ASSIGNMENT WORD
  3461. SHN 6
  3462. ADD T7
  3463. CRD CM
  3464. LDD CM+1 CHECK DRIVER ASSIGNED
  3465. SCN 77
  3466. SHN 6
  3467. LMD CM
  3468. LMC 3RD1C
  3469. NJN CAB2 IF DRIVER NOT ASSIGNED
  3470. LDD CM+3 ADVANCE ACTIVE BUFFER COUNT
  3471. RAD T6
  3472. CAB2 AOD T7 ADVANCE ASSIGNMENT ADDRESS
  3473. LMN DRQR
  3474. NJN CAB1 IF NOT END OF DRIVER WORDS
  3475. LDD T6
  3476. UJN CABX RETURN
  3477. DEQ SPACE 4,10
  3478. ** DEQ - DROP EQUIPMENT.
  3479. *
  3480. * USES T6, T7, CM - CM+4, CN - CN+4, FS - FS+4.
  3481. *
  3482. * MACROS MONITOR, SFA.
  3483.  
  3484.  
  3485. DEQ SUBR ENTRY/EXIT
  3486. LDN ESTP READ EST POINTER
  3487. CRD FS
  3488. LDD CP FETCH EJT ORDINAL
  3489. ADN TFSW
  3490. CRD T6
  3491. LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
  3492. STD T7
  3493. DEQ1 AOD T7 ADVANCE EST ORDINAL
  3494. STD CM+1
  3495. LMD FS+2
  3496. ZJN DEQX IF END OF EST
  3497. SFA EST,T7 READ EQUIPMENT ASSIGNMENT
  3498. ADK EQAE
  3499. CRD CN
  3500. LDD CN+4
  3501. LMD T6
  3502. NJN DEQ1 IF NOT ASSIGNED TO THIS JOB
  3503. MONITOR DEQM RELEASE EQUIPMENT
  3504. UJN DEQ1 LOOP TO END OF EST
  3505. RQF SPACE 4,15
  3506. ** RQF - REQUEUE FILE.
  3507. *
  3508. * ENTRY (T6) = ACTIVE BUFFER COUNT.
  3509. * (BA - BA+1) = FET ADDRESS.
  3510. * (FN - FN+4) = FILE NAME.
  3511. *
  3512. * EXIT (A) = (T6) = ACTIVE BUFFER COUNT DECREMENTED.
  3513. *
  3514. * USES CM - CM+4.
  3515. *
  3516. * CALLS SFA, WNB.
  3517. *
  3518. * MACROS DELAY, MONITOR, PAUSE.
  3519.  
  3520.  
  3521. RQF2 RJM WNB WAIT NOT BUSY
  3522. SOD T6 DECREMENT ACTIVE BUFFER COUNT
  3523.  
  3524. RQF SUBR ENTRY/EXIT
  3525. LDD BA+1 SET FET ADDRESS IN *QAP* CALL
  3526. STM RQFA+4
  3527. LDD BA
  3528. STM RQFA+3
  3529. LDC RQFF SET *QAP* FUNCTION IN FET
  3530. STD FN+4
  3531. RJM SFA STORE FUNCTION IN FET
  3532. CWD FN
  3533. ADN QAPO SET *DSP* PARAMETER BLOCK BUSY
  3534. CWD FN
  3535. RQF1 LDD MA STORE *QAP* CALL
  3536. CWM RQFA,ON
  3537. LDN 0 ALLOW QUEUING OF PP REQUEST
  3538. STD CM+1
  3539. MONITOR RPPM
  3540. LDD CM+1
  3541. NJN RQF2 IF PP ASSIGNED / REQUEST QUEUED
  3542. DELAY WAIT AWHILE
  3543. PAUSE CHECK ERROR FLAG
  3544. LDD CM+1
  3545. ZJN RQF1 IF NO ERROR FLAG SET
  3546. MONITOR ABTM ABORT JOB
  3547. LJM PPR EXIT TO PP RESIDENT
  3548.  
  3549. RQFA VFD 18/0LQAP,42/BUFR
  3550. WNB SPACE 4,10
  3551. ** WNB - WAIT NOT BUSY.
  3552. *
  3553. * USES FN - FN+4.
  3554. *
  3555. * CALLS SFA.
  3556. *
  3557. * MACROS DELAY, MONITOR, PAUSE.
  3558.  
  3559.  
  3560. WNB2 RJM SFA CHECK *DSP* PARAMETER BLOCK
  3561. ADN QAPO
  3562. CRD FN
  3563. LDD FN+4
  3564. LPN 1
  3565. ZJN WNB1 IF FILE BUSY
  3566.  
  3567. WNB SUBR ENTRY/EXIT
  3568. WNB1 DELAY WAIT AWHILE
  3569. PAUSE CHECK ERROR FLAG
  3570. LDD CM+1
  3571. ZJN WNB2 IF NO ERROR FLAG SET
  3572. MONITOR ABTM ABORT JOB
  3573. LJM PPR EXIT TO PP RESIDENT
  3574. SPACE 4,10
  3575. OVERFLOW ORGR,BFMS
  3576. TTL 1IO/3IF - LOAD CCC/NIP CONTROLWARE.
  3577. TITLE
  3578. QUAL 3IF
  3579. IDENT 3IF,LCCX
  3580. *COMMENT 1IO - LOAD CCC/NIP CONTROLWARE.
  3581. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3582. 3IF SPACE 4,15
  3583. ** *3IF* LOADS 5870/5970 CONTROLWARE INTO A CYBER CHANNEL
  3584. * COUPLER (CCC).
  3585. SPACE 4,10
  3586. ** COMMON DECKS.
  3587.  
  3588.  
  3589. *CALL COMSMSP
  3590. SPACE 4,10
  3591. ** CCC8700 FILE INFORMATION.
  3592.  
  3593.  
  3594. T52W EQU 17 52 TABLE WORD
  3595. LDTL EQU 20 LOADER TABLES LENGTH
  3596. TITLE MAIN ROUTINE.
  3597. LCC SPACE 4,20
  3598. ** LCC - LOAD CCC CONTROLWARE.
  3599. *
  3600. * ENTRY (EQ) = 9/EST ORDINAL, 3/DEVICE TYPE.
  3601. * (ES - ES+4) = EST ENTRY.
  3602. * EQUIPMENT AND CHANNEL RESERVED.
  3603. *
  3604. * EXIT (A) = 0 IF CONTROLWARE LOADED.
  3605. *
  3606. * ERROR TO *FCN3* IF LOAD ERROR.
  3607. *
  3608. * USES CN, MC.
  3609. *
  3610. * CALLS CGS, COE, GCW, LCW, RSI, /3IC/ERM.
  3611. *
  3612. * MACROS EXECUTE.
  3613.  
  3614.  
  3615. ORG ORGR
  3616.  
  3617. LCC SUBR ENTRY/EXIT
  3618. LDD FL SAVE FIELD LENGTH
  3619. STD CN
  3620. RJM GCW GET CCC/NIP CONTROLWARE
  3621. NJN LCCX IF STORAGE NOT AVAILABLE
  3622. RJM LCW LOAD CCC/NIP CONTROLWARE
  3623. LDD CN RESET FIELD LENGTH
  3624. RJM RSI
  3625. RJM CGS GET GENERAL STATUS
  3626. NJN LCC2 IF ERROR
  3627. LDD ST
  3628. NJN LCC1 IF LOAD ERROR
  3629. RJM COE CHECK OTHER EQUIPMENT
  3630. LDN ECLM *EQXXX CCC/NIP CONTROLWARE LOADED.*
  3631. STD MC
  3632. EXECUTE 3IC
  3633. RJM /3IC/ERM SEND ERROR MESSAGE
  3634. LDN 0 LOAD SUCCESSFUL
  3635. UJN LCCX RETURN
  3636.  
  3637. LCC1 LDN ECLE *EQXXX CCC/NIP CONTROLWARE LOAD ERROR.*
  3638. LCC2 LJM FCN3 PROCESS ERROR
  3639. SPACE 4,10
  3640. ERRNG OIES-5-* *3IC* OVERLAYS CODE
  3641. TITLE SUBROUTINES.
  3642. COE SPACE 4,10
  3643. ** COE - CHECK OTHER EQUIPMENT.
  3644. *
  3645. * ENTRY (ES+1) = CURRENT CHANNEL BEING LOADED.
  3646. *
  3647. * USES T1, CN - CN+4.
  3648. *
  3649. * CALLS UES.
  3650. *
  3651. * MACROS SFA.
  3652.  
  3653.  
  3654. COE SUBR ENTRY/EXIT
  3655. LDM TAEQ SET AVAILABLE EQUIPMENT COUNT
  3656. STD T1
  3657. COE1 LDM TAEQ,T1 LOOK FOR NON-IMPACT PRINTER
  3658. LPN 7
  3659. SBK NPDT
  3660. ZJN COE3 IF NON-IMPACT PRINTER
  3661. COE2 SOD T1
  3662. NJN COE1 IF MORE EQUIPMENT TO CHECK
  3663. UJN COEX RETURN
  3664.  
  3665. COE3 LDM TAEQ,T1 READ EQUIPMENT EST ENTRY
  3666. SHN -3
  3667. SFA EST
  3668. ADK EQDE
  3669. CRD CN
  3670. LDD CN CHECK CONTROLWARE LOAD REQUIRED
  3671. SHN 21-4
  3672. PJN COE2 IF NOT CONTROLWARE LOAD REQUIRED
  3673. LDD ES+1
  3674. LMD CN+1
  3675. LPN 37
  3676. NJN COE2 IF NOT CURRENT CHANNEL
  3677. LDM TAEQ,T1
  3678. RJM UES UPDATE EQUIPMENT STATUS
  3679. UJN COE2 CHECK NEXT EQUIPMENT
  3680. GCB SPACE 4,10
  3681. ** GCB - GET CENTRAL MEMORY BUFFER.
  3682. *
  3683. * ENTRY (A) = BUFFER SIZE NEEDED (CM WORDS).
  3684. *
  3685. * EXIT (A) = 0 IF BUFFER ASSIGNED.
  3686. *
  3687. * USES CM - CM+4.
  3688. *
  3689. * MACROS MONITOR.
  3690.  
  3691.  
  3692. GCB SUBR ENTRY/EXIT
  3693. ADC 77+LDTL
  3694. SHN -6
  3695. ADD FL
  3696. STD CM+1
  3697. LDN 0
  3698. STD CM+2
  3699. MONITOR RSTM REQUEST STORAGE INCREASE
  3700. LDD CM+1
  3701. UJN GCBX RETURN
  3702. GCW SPACE 4,15
  3703. ** GCW - GET CCC/NIP CONTROLWARE.
  3704. *
  3705. * EXIT (A) = 0 IF CONTROLWARE MOVED TO CM.
  3706. * (CN+3 - CN+4) = LENGTH OF CONTROLWARE.
  3707. *
  3708. * ERROR TO *MSR1* IF CONTROLWARE NOT FOUND.
  3709. *
  3710. * USES T5, T6, T7, AB - AB+4, CM - CM+4, FN - FN+4.
  3711. *
  3712. * CALLS GCB, CLD, RNS.
  3713. *
  3714. * MACROS ENDMS, SETMS.
  3715.  
  3716.  
  3717. GCW SUBR ENTRY/EXIT
  3718. LDD MA SET CONTROLWARE RECORD NAME
  3719. CWM CCCN,ON
  3720. SBN 1
  3721. CRD AB
  3722. RJM CLD SEARCH CENTRAL LIBRARY DIRECTORY
  3723. NJN GCW1 IF CONTROLWARE RECORD FOUND
  3724. LDN ECNF *EQXXX CCC/NIP CONTROLWARE NOT FOUND.*
  3725. LJM MSR1 PROCESS ERROR
  3726.  
  3727. GCW1 CRD FN READ TRACK AND SECTOR
  3728. LDN FNTP GET SYSTEM EQUIPMENT
  3729. CRD CM
  3730. LDD CM READ SYSTEM FST
  3731. SHN 14
  3732. ADD CM+1
  3733. ADK SYFO*FNTE+FSTG
  3734. CRD T5
  3735. SETMS READSYS
  3736. LDD FN+3 SET FILE POINTERS
  3737. STD T6 TRACK
  3738. LDD FN+4 SECTOR
  3739. STD T7
  3740. LDN 0 SET FIRST SECTOR FLAG
  3741. STD FN+1
  3742. GCW2 LDC BFMS READ SECTOR
  3743. RJM RNS
  3744. ZJN GCW4 IF END OF FIRMWARE
  3745. STD FN SAVE WORD COUNT
  3746. LDD FN+1 CHECK IF FIRST SECTOR
  3747. NJN GCW3 IF NOT FIRST SECTOR
  3748. ENDMS
  3749. LDM BFMS+2+T52W*5+3 SET BUFFER SIZE REQUIRED
  3750. STD CN+3
  3751. SHN 14
  3752. ADM BFMS+2+T52W*5+4
  3753. STD CN+4
  3754. RJM GCB GET CENTRAL MEMORY BUFFER
  3755. NJN GCW5 IF BUFFER NOT ASSIGNED
  3756. GCW3 LDD RA WRITE BUFFER TO CENTRAL MEMORY
  3757. ADD CN
  3758. ADD FN+1
  3759. SHN 6
  3760. CWM BFMS+2,FN
  3761. AOD FN+1
  3762. LDD FN CHECK FOR EOR
  3763. SHN -6
  3764. NJN GCW2 IF NOT END OF FIRMWARE
  3765. GCW4 ENDMS
  3766. * LDN 0
  3767. GCW5 LJM GCWX RETURN
  3768. LCW SPACE 4,10
  3769. ** LCW - LOAD CCC/NIP CONTROLWARE.
  3770. *
  3771. * ENTRY (CN) = FWA / 100B OF BUFFER.
  3772. * (CN+3 - CN+4) = CONTROLWARE LENGTH.
  3773. *
  3774. * ERROR TO *MSR1* IF ERROR.
  3775. *
  3776. * USES CS, FN, FN+1, CN+3 - CN+4.
  3777. *
  3778. * CALLS CFN, MCI.
  3779.  
  3780.  
  3781. LCW3 STD CN+4 SET REMAINING WORD COUNT
  3782. SHN -6
  3783. NJN LCW4 IF MORE THAN 100B WORDS
  3784. LDD CN+4
  3785. STD FN
  3786. LCW4 SHN -6
  3787. STD CN+3
  3788. LCW5 LDD RA READ NEXT BUFFER
  3789. ADD CN
  3790. ADD FN+1
  3791. SHN 6
  3792. ADN LDTL
  3793. CRM BFMS+2,FN
  3794. LDD FN COMPUTE BYTE COUNT
  3795. SHN 2
  3796. ADD FN
  3797. OAM BFMS+2,CH
  3798. NJN LCW1 IF INCOMPLETE TRANSFER
  3799. AOD FN+1 ADVANCE BUFFER ADDRESS
  3800. LDD CN+3
  3801. SHN 14
  3802. ADD CN+4
  3803. SBD FN
  3804. NJN LCW3 IF MORE TO LOAD
  3805. FJM *,CH IF TRANSFER NOT COMPLETE
  3806. DCN CH+40
  3807.  
  3808. LCW SUBR ENTRY/EXIT
  3809. RJM MCI MODIFY CHANNEL INSTRUCTIONS
  3810. LDD HN
  3811. STD FN
  3812. LDC 414 ISSUE AUTOLOAD FUNCTION
  3813. RJM CFN
  3814. STD FN+1
  3815. NJN LCW2 IF ERROR
  3816. ACN CH
  3817. LJM LCW5 OUTPUT CONTROLWARE TO CCC
  3818.  
  3819. LCW1 STD CS SAVE BYTE COUNT
  3820. LDN EITM *EQXXX INCOMPLETE DATA TRANSFER.*
  3821. LCW2 LJM MSR1 PROCESS ERROR
  3822. MCI SPACE 4,10
  3823. ** MCI - MODIFY CHANNEL INSTRUCTIONS.
  3824. *
  3825. * ENTRY (ES+1) = CHANNEL NUMBER.
  3826. *
  3827. * USES T1, T2.
  3828.  
  3829.  
  3830. MCI1 RAI T2
  3831. AOD T1
  3832. MCI2 LDI T1
  3833. STD T2
  3834. LDD ES+1
  3835. LPN 37
  3836. CHTL *
  3837. SBN CH
  3838. NJN MCI1 IF MORE INSTRUCTIONS TO MODIFY
  3839.  
  3840. MCI SUBR ENTRY/EXIT
  3841. LDC TCHS LOAD FWA OF CHANNEL TABLE ADDRESSES
  3842. STD T1
  3843. UJN MCI2 UPDATE CHANNEL INSTRUCTIONS
  3844. MSR SPACE 4,15
  3845. ** MSR - ERROR PROCESSOR FOR *COMPRNS*.
  3846. *
  3847. * ENTRY (CN) = ORIGINAL FL.
  3848. *
  3849. * EXIT TO *FCN3*.
  3850. *
  3851. * USES MC.
  3852. *
  3853. * CALLS RSI.
  3854. *
  3855. * MACROS ENDMS.
  3856.  
  3857.  
  3858. MSR SUBR ENTRY/EXIT
  3859. ENDMS
  3860. LDN ECWE *EQXXX CCC/NIP CONTROLWARE LOAD ERROR.*
  3861. MSR1 STD MC
  3862. LDD CN RESET FIELD LENGTH
  3863. RJM RSI
  3864. LDD MC
  3865. LJM FCN3 ISSUE ERROR
  3866. UES SPACE 4,10
  3867. ** UES - UPDATE EQUIPMENT STATUS.
  3868. *
  3869. * ENTRY (A) = 9/EST ORDINAL, 3/DEVICE TYPE.
  3870. *
  3871. * EXIT CONTROLWARE LOAD REQUIRED BIT CLEARED IN EST.
  3872. *
  3873. * USES CM - CM+4.
  3874. *
  3875. * MACROS MONITOR.
  3876.  
  3877.  
  3878. UES SUBR ENTRY/EXIT
  3879. SHN -3
  3880. STD CM+1
  3881. LCN 20 SET MASK
  3882. STD CM+3
  3883. LDN 0 SET VALUE
  3884. STD CM+4
  3885. LDN SB0S SET SUBFUNCTION
  3886. STD CM+2
  3887. MONITOR SEQM SET EQUIPMENT PARAMETER
  3888. UJN UESX RETURN
  3889. SPACE 4,10
  3890. ** COMMON DECKS.
  3891.  
  3892.  
  3893. *CALL COMPCLD
  3894. QUAL$ EQU 0 FORCE UNQUALIFIED COMMON DECK
  3895. *CALL COMPRNS
  3896. SPACE 4,10
  3897. ** DATA LOCATIONS.
  3898.  
  3899.  
  3900. CCCN VFD 42/0LCCC5870,18/0 CONTROLWARE RECORD NAME
  3901. TCHS SPACE 4,10
  3902. ** TCHS - CHANNEL TABLE.
  3903.  
  3904.  
  3905. TCHS CHTB
  3906. SPACE 4,10
  3907. OVERFLOW ORGR,BFMS
  3908. TTL 1IO - BATCHIO MANAGER.
  3909. SPACE 4,10
  3910. END
cdc/nos2.source/opl871/1io.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator