Table of Contents

QAP

Table Of Contents

  • [00008] QAP - QUEUE AUXILIARY PROCESSOR.
  • [00010] QUEUE AUXILIARY PROCESSOR.
  • [00248] MACRO DEFINITIONS.
  • [00250] ABORT - ABORT MACRO.
  • [00264] DFMSG - DEFINE DAYFILE MESSAGE TABLE.
  • [00296] DBMLT - DEFINE BML MESSAGE TABLE.
  • [00322] LDA - LOAD ADDRESS MACRO.
  • [00341] MAIN PROGRAM.
  • [00343] BCA - MAIN PROGRAM.
  • [00357] ERROR PROCESSORS.
  • [00359] ABT - ABORT ERROR PROCESSOR.
  • [00386] SUBROUTINES.
  • [00388] ECB - EMPTY CENTRAL BUFFER.
  • [00411] SLL - SET LINE LIMIT FOR PAGE.
  • [00441] WSB - WRITE DRIVER STATUS BLOCK.
  • [00464] VCA - VALIDATE CENTRAL MEMORY ADDRESS.
  • [00482] FUNCTION PROCESSORS.
  • [00483] FUNCTION PROCESSORS.
  • [00485] ACT - PROCESS ACCOUNTING.
  • [00497] CPR - CALL PP ROUTINE INTO THIS PP.
  • [00514] IIF - INITIATE INPUT FILE.
  • [00628] LPH - LOAD PUNCH DATA.
  • [00634] POR - PROCESS OPERATOR REQUEST.
  • [00639] LPR - LOAD PRINT DATA.
  • [00680] PLE - PROCESS LIMIT EXCEEDED.
  • [00696] TPF - TERMINATE PRINT FILE.
  • [00730] PDF - PROCESS DAYFILE MESSAGES.
  • [00799] TDFP - TABLE OF PROCESSORS AND MESSAGES.
  • [00829] IBE - ISSUE BML AND ERROR LOG MESSAGES.
  • [01008] TIPR - TABLE OF PROCESSING ROUTINES.
  • [01018] TISY - TABLE OF SYMPTOM CODES
  • [01025] TINB - TABLE OF NUMBER OF BML BYTES
  • [01032] TMTA - TABLE OF MESSAGE TEXT ADDRESSES.
  • [01059] COMMON DECKS AND BUFFER DEFINITIONS.
  • [01075] EQSB - DRIVER STATUS BLOCK BUFFER.
  • [01082] PRESET.
  • [01084] TOPC - TABLE OF FUNCTION REQUEST PROCESSORS.
  • [01103] PRESET.
  • [01105] PRS - PRESET PROGRAM.
  • [01272] CBP - CHECK BUFFER PARAMETERS.
  • [01327] RSB - READ DRIVER STATUS BLOCK.
  • [01414] ACT - MAIN ROUTINE.
  • [01476] TOAC - TABLE OF ACCOUNTING CODES.
  • [01488] TOAU - TABLE OF ACCOUNTING UNITS.
  • [01499] TQTP - TABLE OF QUEUE TYPE PROCESSORS.
  • [01510] ACCOUNTING SUBROUTINES.
  • [01512] GCM - GENERATE CHARGE MESSAGES.
  • [01592] POF - PROCESS OUTPUT FILE ACCOUNTING.
  • [01701] RAM - RETURN ACCOUNTING MESSAGE TO CM BUFFER.
  • [01752] PIF - PROCESS INPUT FILE ACCOUNTING.
  • [01848] GRU - GET RECORDS USED.
  • [01918] DSPB - *DSP* PARAMETER BLOCK BUFFER.
  • [01960] TABL - DEFINE PFC OVERLAY TABLE.
  • [01976] DPFC - DEFINE PFC CODES.
  • [01993] MAIN PROGRAM.
  • [01995] LPM - MAIN ROUTINE.
  • [02088] SUBROUTINES.
  • [02090] CON - CONNECT EQUIPMENT.
  • [02136] ERR - ERROR PROCESSOR.
  • [02173] FCN - ISSUE FUNCTION TO EQUIPMENT.
  • [02201] FCP - FIND 6/8 LINE COINCIDENT POINT.
  • [02259] GMS - GET MAINTENANCE STATUS.
  • [02279] GST - GET STATUS OF 6681 AND EQUIPMENT.
  • [02299] IFN - ISSUE FUNCTION TO CONVERTER.
  • [02326] LPI - LOAD PFC IMAGE.
  • [02376] PCP - PROCESS CHANNEL PARITY.
  • [02414] RAD - RELEASE AND DISCONNECT.
  • [02432] RST - READ STATUS.
  • [02467] SBF - SEARCH PFC ARRAY FOR BOTTOM OF FORM.
  • [02503] WNB - WAIT NOT BUSY.
  • [02538] TCHS - CHANNEL TABLE.
  • [02550] PFCO - PFC IMAGE ARRAY OVERLAY TABLE. EACH ENTRY
  • [02572] DEFAULT 580 PFC IMAGE ARRAY.
  • [02675] ALTERNATE 580 PFC IMAGE ARRAY.
  • [02778] DEFAULT 580 PFC IMAGE ARRAY FOR SHORT PAPER.
  • [02863] ALTERNATE 580 PFC IMAGE ARRAY FOR SHORT PAPER.
  • [02971] MAIN ROUTINE.
  • [02973] PHD - MAIN ROUTINE.
  • [03111] TLTR - TABLE OF LETTERS.
  • [03200] BUF - ASSEMBLY BUFFER.
  • [03234] MAIN PROGRAM.
  • [03235] POR - MAIN ROUTINE.
  • [03265] TOPF - TABLE OF OPERATOR REQUESTS PROCESSORS.
  • [03283] REQUEST PROCESSORS.
  • [03285] BKF - BACKSPACE FILES.
  • [03293] BKP - BACKSPACE PRUS.
  • [03305] BKR - BACKSPACE RECORDS.
  • [03312] SKF - SKIP FILES.
  • [03320] SKP - SKIP PRUS.
  • [03383] SKR - SKIP RECORDS.
  • [03411] LCB - LOAD CENTRAL BUFFER.
  • [03426] LNL - LOCATE NEXT LINE.
  • [03492] MAIN ROUTINE.
  • [03493] CEC - MAIN ROUTINE.
  • [03620] DSPB - *DSP* PARAMETER BLOCK BUFFER.
  • [03650] MAIN ROUTINE.
  • [03651] PFC - MAIN ROUTINE.
  • [03813] CAD - CONVERT ASCII TO DISPLAY.
  • [03881] SUBROUTINES.
  • [03883] CPI - CHECK PFC IMAGE.
  • [03933] ERR - ERROR ROUTINE.
  • [03959] SKL - SKIP LINES.
  • [03994] UFP - UPDATE FILE POINTERS.
  • [04073] LINE - GENERATE 60 BITS OF DISPLAY CODE WITH EOL.
  • [04087] SCLASS - DEFINE SERVICE CLASS TABLE.
  • [04123] MAIN ROUTINE.
  • [04125] GBP - MAIN ROUTINE.
  • [04250] SUBROUTINES.
  • [04252] APS - ADVANCE TO PAGE SEPARATION.
  • [04285] STL - STORE LINE.
  • [04362] WAB - WRITE ASCII BUFFER.
  • [04452] WDB - WRITE BUFFER DATA.
  • [04510] TBAN - TABLE OF BANNER LETTERS.
  • [04520] TDA8 - CONVERSION TABLE.
  • [04526] BUF - ASSEMBLY BUFFER.
  • [04614] SUBROUTINES THAT MAY BE OVERLAID.
  • [04616] BFF - BLANK FILL FIELD.
  • [04643] RID - READ IDENTIFICATION DATA.
  • [04754] PRS - PRESET OVERLAY.
  • [04896] PNB - PRESET NON-*BATCHIO* BANNER PAGE.
  • [04950] MCS - MOVE CHARACTER STRING TO BUFFER.
  • [04972] TALN - TABLE OF ACCESS LEVEL NAMES.
  • [04993] TOTN - TABLE OF ORIGIN TYPE NAMES.
  • [05004] TSCN - TABLE OF SERVICE CLASS NAMES.

Source Code

QAP.txt
  1. IDENT QAP,BCA QAP - QUEUE AUXILIARY PROCESSOR
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. QUAL$ SET 0 FORCE UNQUALIFIED COMMON DECKS
  6. *COMMENT QAP - QUEUE AUXILIARY PROCESSOR.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. TITLE QAP - QUEUE AUXILIARY PROCESSOR.
  9. SPACE 4
  10. *** QAP - QUEUE AUXILIARY PROCESSOR.
  11. *
  12. * G. R. MANSFIELD. 70/09/11.
  13. * P. D. HAAS. 74/04/19.
  14. * R. M. YASUHARA. 75/01/17.
  15. * R. A. JAPS. 77/09/25. (RENAMED)
  16. SPACE 4
  17. *** *QAP* IS CALLED BY SUBSYSTEMS SUCH AS *BATCHIO* OR
  18. * *RBF* TO PROCESS SPECIAL REQUESTS THAT ARE IMPOSSIBLE OR
  19. * INCONVENIENT TO BE PERFORMED BY THE SUBSYSTEM.
  20. SPACE 4,10
  21. *** QAP CALL.
  22. *
  23. *T IR 18/ QAP , 6/ , 12/ SF , 6/ , 18/ FET
  24. * SF *BATCHIO* DRIVER STATUS BLOCK FLAGS.
  25. * FET FWA OF FET.
  26. *
  27. *
  28. * FORMAT OF *QAP* FET. (REFER TO *COMSBIO* FOR FET FORMAT
  29. * FOR *BATCHIO*.)
  30. *
  31. *T FET+0 42/ FILE NAME , 8/ , 9/ FC , 1/C
  32. *T,FET+1 42/ 0 , 18/ FIRST
  33. *T,FET+2 42/ 0 , 18/ IN
  34. *T,FET+3 42/ 0 , 18/ OUT
  35. *T,FET+4 12/ FNT ,12/ ORD ,12/ SC ,6/ 0 ,18/ LIMIT
  36. *T,FET+5 12/ CONTROL, 1/ B, 1/ V, 1/ F, 1/ L, 8/ PS, 24/ 0, 12/ ORIGIN
  37. *
  38. * FC FUNCTION CODE. (REFER TO *COMSBIO*).
  39. * C COMPLETE BIT.
  40. * FNT FNT ADDRESS OF FILE.
  41. * ORD QFT ORDINAL.
  42. * SC SPACE CODE (PFC PRINTERS).
  43. * CONTROL BANNER PAGE CONTROL INFORMATION. CALLING PROGRAM
  44. * SHOULD SET THIS FIELD TO ZERO ON THE INITIAL CALL
  45. * TO THE GENERATE BANNER PAGE FUNCTION. *QAP* RETURNS
  46. * BANNER PAGE INFORMATION TO BE USED ON FUTURE
  47. * GENERATE BANNER PAGE CALLS.
  48. * B SET IF NO BOTTOM OF FORM POSITIONING (NON-*BATCHIO*)
  49. * V ELECTRONIC VERTICAL FORMAT UNIT FLAG. SET IF PRINTER
  50. * FOR WHICH THE CALL WAS MADE IS EQUIPPED WITH THE
  51. * ELECTRONIC VERTICAL FORMAT UNIT (NON-*BATCHIO*)
  52. * F NOT FIRST PAGE FLAG. SET IF THIS CALL IS FOR A SECOND
  53. * OR SUBSEQUENT BANNER PAGE (NON-*BATCHIO*)
  54. * L NOT LAST PAGE FLAG. SET IF THERE WILL BE A SUBSEQUENT
  55. * CALL FOR ANOTHER BANNER PAGE (NON-*BATCHIO*)
  56. * PS PRINT PAGE SIZE (*NON-BATCHIO*)
  57. * ORIGIN ORIGIN TYPE ASSOCIATED WITH SPECIFIED FILE.
  58. * 0 = SYSTEM.
  59. * 1 = BATCH.
  60. * 2 = REMOTE.
  61. SPACE 4
  62. *** DAYFILE MESSAGES.
  63. *
  64. * *QAP - BUFFER ARGUMENT ERROR.*
  65. * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
  66. * 1. BUFFER DOES NOT CONTAIN THE REQUIRED NUMBER OF WORDS OF
  67. * DATA FOR THE PARTICULAR FUNCTION.
  68. * 2. BUFFER POINTERS (FIRST, IN, OUT, LIMIT) ARE OUT OF RANGE.
  69. *
  70. * * QAP - INCORRECT REQUEST.*
  71. * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
  72. * 1. USER IS NOT VALIDATED TO CALL *QAP*.
  73. * 2. FWA OR LWA OF FET IS OUT OF RANGE.
  74. * 3. THE FUNCTION CODE IS INCORRECT.
  75. * 4. AN FNT ADDRESS WAS NOT SPECIFIED WHEN IT WAS REQUIRED.
  76. * 5. COMPLETE BIT WAS SET IN THE FET.
  77. BIO SPACE 4,10
  78. *** MESSAGES ISSUED AT *BIO* CONTROL POINT.
  79. *
  80. * *END XXX,YY.* = OPERATOR ENTERED *END* COMMAND.
  81. *
  82. * *REP XXX,YY.* = OPERATOR ENTERED *REPEAT* COMMAND.
  83. *
  84. * *SUP XXX,YY.* = OPERATOR ENTERED *SUPPRESS* COMMAND.
  85. *
  86. * *RRN XXX,YY.* = OPERATOR ENTERED *REPRINT*/*REPUNCH* COMMAND.
  87. *
  88. * *HLD XXX.* = OPERATOR ENTERED *STOP* COMMAND.
  89. *
  90. * *CON XXX.* = OPERATOR ENTERED *CONTINUE* COMMAND.
  91. *
  92. * *BKP XXX,YY.* = OPERATOR ENTERED *BKSP* COMMAND.
  93. *
  94. * *BKR XXX,YY.* = OPERATOR ENTERED *BKSPRU* COMMAND.
  95. *
  96. * *BKF XXX,YY.* = OPERATOR ENTERED *BKSPF* COMMAND.
  97. *
  98. * *SKP XXX,YY.* = OPERATOR ENTERED *SKIP* COMMAND.
  99. *
  100. * *SKR XXX,YY.* = OPERATOR ENTERED *SKIPRU* COMMAND.
  101. *
  102. * *SKF XXX,YY.* = OPERATOR ENTERED *SKIPF* COMMAND.
  103. *
  104. * WHERE-
  105. * XXX = EST ORDINAL.
  106. * YY = OPTIONAL COUNT SPECIFED ON COMMAND.
  107. SPACE 4,10
  108. *** OPERATOR MESSAGES.
  109. *
  110. * *INCOMPLETE BANNER PAGE.*
  111. * AN INFORMATIVE MESSAGE INDICATING THAT *BIO* IS
  112. * UNABLE TO PRINT THE ENTIRE BANNER PAGE. TO CORRECT
  113. * THIS PROBLEM, THE SIZE OF THE CM BUFFER RESERVED
  114. * FOR PRINTERS MUST BE INCREASED OR THE AMOUNT OF DATA
  115. * GENERATED BY THE *GENERATE BANNER PAGE* FUNCTION
  116. * MUST BE REDUCED. ENTER THE COMMAND *GO,BIO.* TO
  117. * CLEAR THIS MESSAGE.
  118. *
  119. * *REQUEST *I* DISPLAY.*
  120. * *BIO* HAS DETECTED AN ABNORMAL CONDITION ON AN
  121. * ASSIGNED UNIT RECORD DEVICE. CHECK THE STATUS
  122. * FIELD ON THE *I* DISPLAY FOR MORE SPECIFIC INFORMATION.
  123. * THE MESSAGE WILL REMAIN UNTIL THE CONDITION IS
  124. * CORRECTED.
  125. *
  126. * *TRACK LIMIT.*
  127. * INFORMATIVE MESSAGE INDICATING *BIO* IS UNABLE TO
  128. * ASSIGN MASS STORAGE SPACE TO AN INPUT FILE. *BIO*
  129. * WILL CONTINUE TO ATTEMPT TO ASSIGN SPACE UNTIL THE
  130. * SPACE IS ACTUALLY ASSIGNED OR *BIO* IS DROPPED BY
  131. * THE OPERATOR.
  132. SPACE 4
  133. SPACE 4
  134. *** ERRLOG MESSAGES.
  135. *
  136. * *EQXXX CHANNEL PARITY ERROR.* = A PARITY ERROR WAS DETECTED
  137. * ON A CONVERTER OR EQUIPMENT.
  138. *
  139. * *EQXXX COMPARE ERROR.* = COMPARE ERROR WAS DETECTED.
  140. *
  141. * *EQXXX CONTROLLER HUNG BUSY.* = THE CONTROLLER DOES NOT DROP
  142. * BUSY STATUS.
  143. *
  144. * *EQXXX FEED FAILURE.* = CARD FEED PROBLEM WAS DETECTED.
  145. *
  146. * *EQXXX FUNCTION TIMEOUT* = A FUNCTION TIMEOUT WAS DETECTED
  147. * ON A CONVERTER OR EQUIPMENT FUNCTION.
  148. *
  149. * *EQXXX INCOMPLETE DATA TRANSFER.* = AN INCOMPLETE DATA
  150. * TRANSFER WAS DETECTED.
  151. *
  152. * *EQXXX INTERNAL/EXTERNAL REJECT.* = AN INTERNAL OR EXTERNAL
  153. * REJECT WAS DETECTED.
  154. *
  155. * *EQXXX NNNN PRINT ERRORS.* = PRINT ERRORS DETECTED.
  156. *
  157. * *EQXXX PFC ERROR.* = ERROR LOADING PFC MEMORY.
  158. *
  159. * *EQXXX PRINT ERROR LIMIT EXCEEDED.* = PRINT ERROR LIMIT WAS
  160. * EXCEEDED.
  161. *
  162. * *EQXXX TRANSMISSION PARITY ERROR.* = A TRANSMISSION PARITY
  163. * ERROR WAS DETECTED.
  164. *
  165. * *EQXXX TURNED OFF BY SYSTEM.* = FAULTY EQUIPMENT
  166. * WAS TURNED OFF BY THE SYSTEM.
  167. *
  168. * WHERE -
  169. * EQ = EQUIPMENT MNEMONIC.
  170. * XXX = EST ORDINAL.
  171. * NNNN = NUMBER OF PRINT ERRORS.
  172. SPACE 4
  173. ** ROUTINES USED.
  174. *
  175. *
  176. * 0BF - BEGIN FILE.
  177. SPACE 4
  178. *** *1CD* - *QAP* INTERFACE.
  179. *
  180. *
  181. * *1CD* AND *QAP* COMMUNICATE PRIMARILY VIA BYTE 4 OF THE
  182. * FIRST WORD OF THE FET. WHEN *1CD* MAKES A REQUEST,
  183. * THIS BYTE IS SET WITH THE REQUEST CODE AND BIT 0
  184. * IS CLEARED, INDICATING THAT THIS BUFFER
  185. * IS BUSY. UPON COMPLETION OF THE REQUESTED TASK,
  186. * *QAP* WILL SET BIT 0 OF THIS BYTE, INDICATING THE
  187. * BUFFER IS NO LONGER BUSY.
  188. SPACE 4
  189. *CALL COMPMAC
  190. *CALL COMSACC
  191. LIST X
  192. *CALL COMSBIO
  193. LIST *
  194. *CALL COMSCIO
  195. *CALL COMSCPS
  196. *CALL COMSDFS
  197. *CALL COMSDSP
  198. *CALL COMSEVT
  199. *CALL COMSJIO
  200. *CALL COMSMSP
  201. *CALL COMSPIM
  202. *CALL COMSSSD
  203. *CALL COMSSSE
  204. *CALL COMSZOL
  205. SPACE 4
  206. **** DIRECT LOCATION ASSIGNMENTS.
  207.  
  208.  
  209. NI EQU 17 MAXIMUM NUMBER USER SUPPLIED PFC IMAGES
  210. ES EQU 20 - 24 EST BUFFER
  211. FS EQU 20 - 24 FST ENTRY
  212. EQ EQU 25 EST ORDINAL
  213. FP EQU 26 - 32 FILE PARAMETER AREA
  214. CN EQU 33 - 37 CM WORD BUFFER (5 LOCATIONS)
  215. F6 EQU 33 - 37 FILE PARAMETER WORD (5 LOCATIONS)
  216. CS EQU F6 CONVERTER STATUS (FET+6 - BYTE 0)
  217. ST EQU F6+1 EQUIPMENT STATUS (FET+6 - BYTE 1)
  218. FG EQU F6+2 *BATCHIO* FLAGS
  219. BS EQU 40 - 44 BUFFER STATUS
  220. FC EQU 45 FUNCTION CODE
  221. BF EQU 46 BUFFER POINT OFFSET
  222. FO EQU 47 QFT ORDINAL
  223. BA EQU 47 BUFFER ADDRESS
  224. ET EQU IR EQUIPMENT TYPE
  225. FA EQU 57 FST ADDRESS
  226. FT EQU 60 - 61 FIRST POINTER
  227. IN EQU 62 - 63 INPUT POINTER
  228. OT EQU 64 - 65 OUTPUT POINTER
  229. LM EQU 66 - 67 LIMIT POINTER
  230. ****
  231. SPACE 4,10
  232. * DEFINE QUAL BLOCK ORDER.
  233.  
  234.  
  235. QUAL ACT
  236. QUAL LPM
  237. QUAL 5BA
  238. QUAL 5BB
  239. QUAL 5BC
  240. QUAL 5BD
  241. QUAL PHD
  242. QUAL POR
  243. QUAL CEC
  244. QUAL PFC
  245. QUAL GBP
  246. QUAL
  247. SPACE 4
  248. TITLE MACRO DEFINITIONS.
  249. ABORT SPACE 4,10
  250. ** ABORT - ABORT MACRO.
  251. *
  252. * ABORT ADDR
  253. *
  254. * *ADDR* = FWA OF ERROR MESSAGE.
  255.  
  256.  
  257. PURGMAC ABORT
  258.  
  259. ABORT MACRO A
  260. LDC A
  261. RJM ABT
  262. ENDM
  263. DFMSG SPACE 4
  264. ** DFMSG - DEFINE DAYFILE MESSAGE TABLE.
  265. *
  266. *TAG DFMSG PROC,(MESSAGE CHARACTER STRING)
  267. *
  268. * ENTRY *TAG* - IF PRESENT, TABLE BASE ADDRESS.
  269. * PROC - ADDRESS OF DAYFILE MESSAGE PROCESSOR.
  270.  
  271. MACRO DFMSG,TAG,PROC,MESS
  272. IFC NE,$TAG$$
  273. MSGN SET 0
  274. TAG EQU *-2
  275. DFMT RMT
  276. MSGN SET 0
  277. RMT
  278. ENDIF
  279. MSGN SET MSGN+1
  280. MSGA DECMIC MSGN
  281. CON PROC,MSG."MSGA"
  282. IFC NE,$MESS$$
  283. DFMT RMT
  284. MSGN SET MSGN+1
  285. MSGA DECMIC MSGN
  286. MSG."MSGA" DATA C$MESS$
  287. RMT
  288. ELSE
  289. MSG."MSGA" EQU 0
  290. DFMT RMT
  291. MSGN SET MSGN+1
  292. RMT
  293. ENDIF
  294. ENDM
  295. DBMLT SPACE 4,10
  296. ** DBMLT - DEFINE BML MESSAGE TABLE.
  297. *
  298. * DBMLT MSGCD,PROC,SYMPC,NBYTES,TXTADR
  299. *
  300. * ENTRY MSGCD = MESSAGE CODE.
  301. * PROC = ADDRESS OF BML MESSAGE PROCESSOR.
  302. * SYMPC = SYMPTOM CODE FOR BML MESSAGE.
  303. * NBYTES = NUMBER OF BYTES IN BML MESSAGE.
  304. * TXTADR = ERROR LOG MESSAGE TEXT ADDRESS.
  305.  
  306.  
  307. DBMLT MACRO MSGCD,PROC,SYMPC,NBYTES,TXTADR
  308. DTPR RMT
  309. INDEX MSGCD-ERRF,PROC
  310. RMT
  311. DTSY RMT
  312. INDEX MSGCD-ERRF,SYMPC
  313. RMT
  314. DTNB RMT
  315. INDEX MSGCD-ERRF,NBYTES
  316. RMT
  317. DTTA RMT
  318. INDEX MSGCD-ERRF,TXTADR
  319. RMT
  320. ENDM
  321. LDA SPACE 4,10
  322. ** LDA - LOAD ADDRESS MACRO.
  323. *
  324. * LDA D,M
  325. *
  326. * (D - D+1) = RELATIVE ADDRESS.
  327. * M IF SPECIFIED, LOWER 5 BITS OF *D* WILL BE USED.
  328.  
  329.  
  330. PURGMAC LDA
  331.  
  332. LDA MACRO X,M
  333. LDD X
  334. IFC NE,*M**,1
  335. LPN 37
  336. SHN 6
  337. ADD RA
  338. SHN 6
  339. ADD X+1
  340. ENDM
  341. TITLE MAIN PROGRAM.
  342. BCA SPACE 4
  343. ** BCA - MAIN PROGRAM.
  344.  
  345.  
  346. ORG PPFW
  347. BCA LJM PRS PRESET PROGRAM
  348.  
  349. * EXIT.
  350.  
  351. BCAX AOD BS+4 SET STATUS COMPLETE
  352. RJM WSB STORE STATUS BLOCK (IF LOADED)
  353. LDA IR+3 STORE BUFFER STATUS
  354. CWD BS
  355. BCA1 MONITOR DPPM DROP PP
  356. LJM PPR EXIT TO PP RESIDENT
  357. TITLE ERROR PROCESSORS.
  358. ABT SPACE 4,10
  359. ** ABT - ABORT ERROR PROCESSOR.
  360. *
  361. * ENTRY (A) = FWA OF ERROR MESSAGE.
  362. *
  363. * EXIT ERROR MESSAGE ISSUED.
  364. * CONTROL POINT ABORTED.
  365. *
  366. * CALLS DFM, WSB.
  367.  
  368.  
  369. ABT SUBR ENTRY
  370. RJM DFM ISSUE MESSAGE
  371. ABTA LDN 0
  372. * LDN 1 (IF FET ADDRESS VALID)
  373. ZJN ABT1 IF FET ADDRESS INCORRECT
  374. AOD BS+4 SET FET COMPLETE
  375. RJM WSB STORE STATUS BLOCK (IF LOADED)
  376. LDA IR+3
  377. CWD BS
  378. ABT1 MONITOR ABTM ABORT CONTROL POINT
  379. LJM PPR
  380. SPACE 4
  381. * ERROR MESSAGES.
  382.  
  383.  
  384. ERBA DATA C* QAP - BUFFER ARGUMENT ERROR.*
  385. ERIR DATA C* QAP - INCORRECT REQUEST.*
  386. TITLE SUBROUTINES.
  387. ECB SPACE 4,10
  388. ** ECB - EMPTY CENTRAL BUFFER.
  389. *
  390. * ENTRY (FT - FT+1) = FIRST POINTER.
  391. * (IR+3 - IR+4) = FET ADDRESS.
  392. *
  393. * EXIT (A) = ADDRESS OF OUT POINTER WORD.
  394. * (CM - CM+4) = IN/OUT POINTER WORD.
  395.  
  396.  
  397. ECB SUBR ENTRY/EXIT
  398. LDN ZERL
  399. CRD CM
  400. LDD FT+1 SET IN = OUT = FIRST
  401. STD CM+4
  402. LDD FT
  403. STD CM+3
  404. LDA IR+3 STORE IN POINTER
  405. ADN 2
  406. CWD CM
  407. ADN 3-2 STORE OUT POINTER
  408. CWD CM
  409. UJN ECBX RETURN
  410. SLL SPACE 4,10
  411. ** SLL - SET LINE LIMIT FOR PAGE.
  412. *
  413. * ENTRY (FG) = *BATCHIO* FLAGS.
  414. *
  415. * USES CM - CM+4.
  416.  
  417.  
  418. SLL SUBR ENTRY/EXIT
  419. LDD FG
  420. LPN 10
  421. ZJN SLL1 IF NOT PRINTER WITH SHORT FORMS
  422. SOM SLLA
  423. LDM LL8L FORCE 8 LPI CHARGE ON PFC
  424. STM LL6L
  425. SLL1 LDN IPPL FETCH DEFAULT LIMITS
  426. CRD CM
  427. LDC 0
  428. LL6L EQU *-1
  429. NJN SLL2 IF 6 LPI LIMIT FOUND IN PFC ARRAY
  430. LDD CM
  431. SLL2 STM EQSB+LP6L
  432. STM EQSB+LPLL SET PAGE CHARGE FOR 6 LPI PRINTING
  433. LDC 0
  434. LL8L EQU *-1
  435. NJN SLL3 IF 8 LPI LIMIT FOUND IN PFC ARRAY
  436. SLLA LDD CM+1
  437. * LDD CM (SHORT FORMS PRINTER)
  438. SLL3 STM EQSB+LP8L
  439. UJN SLLX RETURN
  440. WSB SPACE 4,10
  441. ** WSB - WRITE DRIVER STATUS BLOCK.
  442. *
  443. * ENTRY (IR+2) = STATUS BLOCK UPDATE FLAGS.
  444. * (IR+3 - IR+4) = FET ADDRESS.
  445. *
  446. * USES CM.
  447. *
  448. * MACROS LDA.
  449.  
  450.  
  451. WSB SUBR ENTRY/EXIT
  452. LDD IR+2
  453. LPN 2
  454. ZJN WSBX IF STATUS BLOCK NOT LOADED
  455. LDN EDSBL
  456. STD CM
  457. LDN 0 CLEAR INTERLOCK
  458. STM EQSB+CMSB
  459. LDA IR+3 STORE STATUS BLOCK
  460. ADN EDSO
  461. CWM EQSB,CM
  462. UJN WSBX RETURN
  463. VCA SPACE 4,10
  464. ** VCA - VALIDATE CENTRAL MEMORY ADDRESS.
  465. *
  466. * ENTRY (IR+3 - IR+4) = RELATIVE ADDRESS.
  467. * (T2) = BLOCK LENGTH.
  468. *
  469. * EXIT CONTROL POINT ABORTED IF ADDRESS OUTSIDE OF FL.
  470.  
  471.  
  472. VCA SUBR ENTRY/EXIT
  473. LDD IR+3
  474. LPN 37
  475. SHN 14
  476. ADD IR+4
  477. ADD T2
  478. SHN -6
  479. SBD FL
  480. MJN VCAX IF VALID ADDRESS
  481. ABORT ERIR * QAP - INCORRECT REQUEST.*
  482. TITLE FUNCTION PROCESSORS.
  483. TITLE FUNCTION PROCESSORS.
  484. ACT SPACE 4
  485. ** ACT - PROCESS ACCOUNTING.
  486.  
  487.  
  488. ACT EXECUTE 3BA
  489. NJN CPR IF ANOTHER PPU TO BE CALLED
  490. LJM BCAX RETURN
  491. CEC SPACE 4,10
  492. ** CHANNEL ERROR CLEANUP PROCESSOR.
  493.  
  494.  
  495. CEC EXECUTE 3BE
  496. CPR SPACE 4,10
  497. ** CPR - CALL PP ROUTINE INTO THIS PP.
  498. *
  499. * ENTRY (A) = NAME OF REQUESTED PP ROUTINE.
  500. * (IR+2, IR+3, IR+4) = SET CORRECTLY FOR PP CALL.
  501.  
  502.  
  503. CPR SHN 14 SET UP PP CALL
  504. STD IR
  505. SHN -6
  506. LMD IR+1
  507. SCN 77
  508. LMD IR+1
  509. STD IR+1
  510. LDD IA CALL PP ROUTINE
  511. CWD IR
  512. LJM PPR
  513. IIF SPACE 4
  514. ** IIF - INITIATE INPUT FILE.
  515.  
  516.  
  517. IIF BSS 0
  518. LDD BS+4 SET *CIO* FUNCTION
  519. LPN 30
  520. LMN 4
  521. STD BS+4
  522.  
  523. * SET FILE NAME TO *ZEQN*.
  524.  
  525. LDD EQ CONVERT EST ORDINAL
  526. RJM C2D
  527. STD BS+1
  528. LDD EQ
  529. SHN -6
  530. RJM C2D
  531. LMC 2LZZ&2LZ0
  532. STD BS
  533. SFA EST,EQ READ EST ENTRY
  534. ADK EQAE
  535. CRD CN
  536. LDD CN+3 EQUIPMENT LOWER ACCESS LEVEL LIMIT
  537. LPN 70
  538. SHN 3
  539. LMC 4000 ACCESS LEVEL SELECTION FLAG
  540. STM IIFA
  541. LMC 5004 SET ACCESS LEVEL FLAG AND FUNCTION
  542. STM OVL-1
  543. LDA IR+3 STORE FILE NAME IN FET
  544. CWD BS
  545. ADN 4 READ LIMIT WORD
  546. CRD CN
  547.  
  548. * ESTABLISH THE FILE.
  549.  
  550. LDN NEEQ ASSIGN TO NULL EQUIPMENT
  551. STD FS
  552. EXECUTE 0BF,OVL
  553. ZJN IIF1 IF FILE CREATED
  554.  
  555. * HANG IF LOCAL FILE LIMIT OR FILE ALREADY EXISTS
  556. * (ADVANCE EXIT FROM *0BF*).
  557.  
  558. MONITOR HNGM HANG PP
  559. LJM BCA1 EXIT TO DROP PP
  560.  
  561. IIF1 LDD FA SET FNT ADDRESS IN LIMIT WORD
  562. STD CN
  563. LDA IR+3 STORE LIMIT WORD
  564. ADN 4
  565. CWD CN
  566. AOD FS+4
  567. IIF2 LDN ZERL CLEAR REQUEST WORD
  568. CRD CM
  569. LDN INPS SET *MSAL* PARAMETER FOR INPUT FILE
  570. STD CM+2
  571. LDC ** SET ACCESS LEVEL/SELECTION FLAG
  572. IIFA EQU *-1
  573. STD CM+3
  574. MONITOR RTCM REQUEST TRACK
  575. LDD CM+4
  576. NJN IIF3 IF TRACK ASSIGNED
  577. LDD CP STORE CONTROL POINT MESSAGE
  578. ADN MS2W
  579. CWM IIFB,TR
  580. DELAY
  581. PAUSE
  582. LDD CM+1
  583. ZJN IIF2 IF NO ERROR FLAG SET
  584. LMN IDET
  585. ZJN IIF2 IF IDLEDOWN
  586. NFA FA,R STORE FST INFORMATION
  587. ADN FSTL
  588. CWD FS
  589. LJM BCAX DROP PPU
  590.  
  591. IIF3 STD FS+1
  592. LDD CM+1 SET EQUIPMENT
  593. STD FS
  594.  
  595. * STORE FILE NAME IN *BATCHIO* COMMUNICATION AREA.
  596.  
  597. LDN 0 CLEAR OPERATOR FLAGS
  598. STD BS+4
  599. LDD EQ SET EQUIPMENT
  600. STD BS+3
  601. NFA BF,R STORE BUFFER POINT WORD
  602. CWD BS
  603.  
  604. * STORE FST INFORMATION.
  605.  
  606. NFA FA,R
  607. ADN FSTL
  608. CWD FS
  609.  
  610. * ENTER HERE TO CALL *CIO*.
  611.  
  612. CIO LDC 2RCI SET PP PACKAGE NAME
  613. STD IR
  614. LDC 1RO*100-1RP*100
  615. RAD IR+1
  616. LDN ZERL
  617. CRD CM
  618. EXECUTE CIO,=
  619. LDD MA STORE REQUEST
  620. CWD IR
  621. ADN 1
  622. CWD CM
  623. MONITOR RPPM CALL *CIO*
  624. LJM BCA1 DROP PP
  625.  
  626. IIFB DATA C*TRACK LIMIT.*
  627. LPH SPACE 4
  628. ** LPH - LOAD PUNCH DATA.
  629.  
  630.  
  631. LPH EXECUTE 3BC
  632. LJM BCAX EXIT
  633. POR SPACE 4
  634. ** POR - PROCESS OPERATOR REQUEST.
  635.  
  636.  
  637. POR EXECUTE 3BD
  638. LPR SPACE 4
  639. ** LPR - LOAD PRINT DATA.
  640.  
  641.  
  642. LPR LDD BF
  643. ZJN LPR3 IF NOT *BATCHIO* CALL
  644. LDD ES CHECK EQUIPMENT
  645. LPC 200
  646. ZJN LPR2 IF NOT PFC PRINTER
  647. LPR1 EXECUTE 3BB LOAD PFC MEMORY
  648. LDN 0 CLEAR BANNER PAGE CONTROL INFORMATION
  649. LPR2 STD FP
  650. LDD F6+2 SAVE 8/12 ASCII PRINT FILE FLAG
  651. LPN 4
  652. STD FP+2
  653. RJM SLL SET LINE LIMITS
  654.  
  655. * GENERATE BANNER PAGE.
  656.  
  657. LPR3 EXECUTE 3BG
  658. LDD BF
  659. NJN LPR5 IF *BIO* CALL
  660. STD FP+2
  661. STD FP+3
  662. LDA IR+3 RETURN BANNER PAGE CONTROL INFORMATION
  663. ADN 5
  664. CWD FP
  665. LDD T1 SET FET CONTROL INFORMATION
  666. STD BS+4
  667. LPR4 LJM BCAX RETURN
  668.  
  669. LPR5 LDD T1
  670. LMC 1030
  671. ZJN LPR4 IF COMPLETE BANNER PAGE
  672. LDD CP
  673. ADN MS2W
  674. CWM LPRA,TR
  675. UJN LPR4 RETURN
  676.  
  677.  
  678. LPRA DATA C*$INCOMPLETE BANNER PAGE.*
  679. PLE SPACE 4,10
  680. ** PLE - PROCESS LIMIT EXCEEDED.
  681.  
  682.  
  683. PLE SFA QFT,FO READ QFT ENTRY
  684. ADK JSNQ
  685. CRD CM
  686. LDD CM+4 CHECK QUEUE FILE TYPE
  687. SHN -11
  688. LMN PHQT
  689. NJN PLE1 IF NOT PUNCH FILE
  690. LJM LPH PROCESS PUNCH FILE LIMIT
  691.  
  692. PLE1 LMN PRQT&PHQT
  693. ZJN TPF IF PRINT FILE
  694. LJM BCAX EXIT
  695. TPF SPACE 4,10
  696. ** TPF - TERMINATE PRINT FILE.
  697.  
  698.  
  699. TPF RJM ECB EMPTY CENTRAL BUFFER
  700. LDA CM+3 STORE MESSAGE IN BUFFER
  701. CWM TPFB,TR
  702. * CWM PFCA,TR (USER ACCESS NOT VALID)
  703. TPFA EQU *-1
  704. LDN 3 SET IN = FIRST+3
  705. RAD CM+4
  706. SHN -14
  707. RAD CM+3
  708.  
  709. * ENTERED HERE FROM *3BF*.
  710.  
  711. TPF1 LDC 1030 SET EOI
  712. STD BS+4
  713. LDD BF
  714. ZJN TPF2 IF NOT *BATCHIO* CALL
  715. LDD F6+2 SET ABORT FLAG
  716. SCN 2
  717. LMN 2
  718. STD F6+2
  719. LDA IR+3 STORE FILE PARAMETER WORD
  720. ADN FPW2
  721. CWD F6
  722. TPF2 LDA IR+3 STORE IN POINTER
  723. ADN 2
  724. CWD CM
  725. LJM BCAX RETURN
  726.  
  727. TPFB DATA C=-**LINE LIMIT EXCEEDED.**=
  728. BSSZ TPFB+3*5-*
  729. PDF SPACE 4
  730. ** PDF - PROCESS DAYFILE MESSAGES.
  731. *
  732. * EXIT IS MADE TO RETURN ADDRESS *PDFA*, WHICH MUST BE
  733. * PRESET IF RETURN IS TO CALLING ROUTINES OTHER THAN *BCA*.
  734.  
  735.  
  736. PDF LDN 3 SET COMPLETE STATUS FOR DRIVER
  737. RAD BS+4
  738.  
  739. * ENTER HERE IF EXIT NOT TO *BCA1*.
  740.  
  741. PDF1 LDA IR+3 STORE BUFFER STATUS
  742. CWD BS
  743. NFA BF,R READ BUFFER POINT WORD
  744. ADN 1
  745. CRD CM
  746. LDD CM+1 SET TABLE INDEX
  747. NJN PDF2 IF MESSAGE CODE PRESENT
  748. LJM PDF10 RETURN (*BATCHIO* RECOVERY)
  749.  
  750. * *PDF2* IS A SECONDARY ENTRY POINT FOR *PDF*.
  751. *
  752. * ENTRY (A) = DAYFILE MESSAGE CODE.
  753. * (CM - CM+4) = SECOND BUFFER POINT WORD.
  754.  
  755. PDF2 SBN CMME CHECK IF *QAP* MESSAGE CODE
  756. PJN PDF3 IF INCORRECT REQUEST
  757. ADN CMME
  758. NJN PDF4 IF LEGAL REQUEST
  759. PDF3 LDN 0 SET NO ERROR FLAG
  760. STD CM+2
  761. LDC * SET ADDRESS WHERE ERROR DETECTED
  762. STD CM+1
  763. MONITOR CHGM CONDITIONALLY HANG PP
  764. LJM PDF10 RETURN
  765.  
  766. PDF4 SBN FPRE
  767. MJN PDF5 IF OPERATOR REQUEST
  768. RJM IBE ISSUE BML AND ERROR LOG MESSAGES
  769. UJN PDF10 RETURN
  770.  
  771. PDF5 ADN FPRE
  772. SHN 1
  773. STD T1
  774. LDM TDFP+1,T1 SET MESSAGE ADDRESS
  775. STD T2
  776. LDD EQ CONVERT EST ORDINAL
  777. SHN -3
  778. RJM C2D
  779. STM 2,T2
  780. LDD EQ
  781. LPN 7
  782. SHN 6
  783. RAM 3,T2
  784. LDM TDFP,T1 SET POSTPROCESSOR ADDRESS
  785. STD T1
  786. LJM 0,T1 COMPLETE MESSAGE PROCESSING
  787.  
  788. PDF8 LDD CM+2 CONVERT CHANNEL/OPERATOR REQUEST
  789. RJM C2D
  790. STM 4,T2 STORE IN MESSAGE
  791. PDF9 LDD T2
  792. RJM DFM
  793.  
  794. * *PDFA* IS THE RETURN ADDRESS FOR *PDF*.
  795.  
  796. PDF10 LJM BCA1 EXIT
  797. PDFA EQU *-1
  798. TDFP SPACE 4,10
  799. ** TDFP - TABLE OF PROCESSORS AND MESSAGES.
  800. *
  801. *
  802. * *TDFP* IS INDEXED WITH THE DAYFILE MESSAGE CODES DEFINED
  803. * IN *COMSBIO*.
  804. * *TDFP* IS A PARTIAL TABLE OF MESSAGES CONTAINING ONLY
  805. * THOSE MESSAGES THAT ARE ISSUED BY *QAP*.
  806. *
  807. * ENTRY = 2 WORDS.
  808. * (MESSAGE TEXT IN REMOTE CODE.)
  809. *
  810. * INDEXED BY MESSAGE NUMBER * 2.
  811.  
  812.  
  813. TDFP DFMSG PDF8,(END 000,00.)
  814. DFMSG PDF8,(REP 000,00.)
  815. DFMSG PDF8,(SUP 000,00.)
  816. DFMSG PDF8,(RRN 000,00.)
  817. DFMSG PDF9,(HLD 000.)
  818. DFMSG PDF9,(CON 000.)
  819. DFMSG PDF8,(BKP 000,00.)
  820. DFMSG PDF8,(BKR 000,00.)
  821. DFMSG PDF8,(BKF 000,00.)
  822. DFMSG PDF8,(SKP 000,00.)
  823. DFMSG PDF8,(SKR 000,00.)
  824. DFMSG PDF8,(SKF 000,00.)
  825. DFMSG PDF10
  826. DFMSG PDF10
  827. DFMSG PDF10
  828. IBE SPACE 4,10
  829. ** IBE - ISSUE BML AND ERROR LOG MESSAGES.
  830. *
  831. * ENTRY (A) = INDEX INTO *TIPR*, *TISY*, *TINB*, *TMTA*.
  832. * (EQ) = EST ORDINAL.
  833. * (ES - ES+4) = EST ENTRY.
  834. * (CM - CM+4) = SECOND BUFFER POINT WORD.
  835. * (CS) = CONVERTER STATUS.
  836. * (ST) = EQUIPMENT STATUS.
  837. *
  838. * USES T0, T5, T6, T7.
  839. *
  840. * CALLS C2D, DFM, DMI.
  841. *
  842. * MACROS BLMSIDT, DBMLT.
  843.  
  844.  
  845. IBE SUBR ENTRY/EXIT
  846. STD T7 (T7) = ERROR MESSAGE INDEX MINUS *ERRF*
  847. LDM TMTA,T7 GET ERROR LOG MESSAGE ADDRESS
  848. STD T6 (T6) = ERROR LOG MESSAGE TEXT ADDRESS
  849. LDM TISY,T7 SYMPTOM CODE
  850. STM IBEA+1
  851. LDD CM+3 PP NUMBER
  852. SHN 6
  853. LMD ES+1 APPEND CHANNEL NUMBER
  854. SCN 37
  855. LMD ES+1
  856. STM IBEA+2
  857. LDD ES+4 GET EQUIPMENT NUMBER
  858. SHN 0-11
  859. SHN 6
  860. STM IBEA+3
  861. LDD ES+3 EQUIPMENT TYPE
  862. STI T6 STORE IN ERROR LOG MESSAGE TEXT
  863. RJM DMI
  864. ZJN IBEX IF EQUIPMENT NOT FOUND
  865. STM IBEA
  866. LDM TIPR,T7
  867. STD T5 SET POSTPROCESSOR ADDRESS
  868. LJM 0,T5 COMPLETE MESSAGE PROCESSING
  869.  
  870. * ACCOUNTING DATA.
  871.  
  872. IBE5 LDD ES+1 SET CHANNEL NUMBER
  873. LPN 37
  874. STM IBEA+2
  875. LJM IBE18 COMPLETE BML MESSAGE
  876.  
  877. * FUNCTION REJECT, TRANSMISSION PARITY ERROR.
  878.  
  879. IBE6 LDD CS LOAD STATUS
  880. LPN 4
  881. ZJN IBE7 IF REJECT MESSAGE
  882. AOD T7
  883. LDM TISY,T7
  884. STM IBEA+1 SYMPTOM CODE
  885. LDM TMTA,T7
  886. STD T6 RESET MESSAGE TEXT ADDRESS
  887. LDD ES+3 RESET EQUIPMENT TYPE
  888. STI T6 STORE IN ERROR LOG MESSAGE TEXT
  889. IBE7 LDD CM+4 FUNCTION CODE
  890. STM IBEC+2
  891. UJN IBE13 COMPLETE BML MESSAGE
  892.  
  893. * PRINT ERRORS.
  894.  
  895. IBE8 LDD CM+4
  896. STM IBEC+4
  897. RJM C2D CONVERT LOWER TWO DIGITS
  898. STM 4,T6
  899. LDD CM+4
  900. SHN -6
  901. RJM C2D CONVERT UPPER TWO DIGITS
  902. STM 3,T6
  903. UJN IBE12 COMPLETE BML MESSAGE
  904.  
  905. * PFC ERROR.
  906.  
  907. IBE9 LDD CM+4
  908. STM IBEC+3
  909. UJN IBE11 COMPLETE BML MESSAGE
  910.  
  911. * FUNCTION TIMEOUT, CONTROLLER HUNG BUSY.
  912.  
  913. IBE10 LDD CM+4
  914. STM IBEC+2
  915.  
  916. * FEED FAILURE, COMPARE ERROR.
  917.  
  918. IBE11 LDD ST EQUIPMENT STATUS
  919. STM IBEC+1
  920. LDD CS CONVERTER STATUS
  921. STM IBEC
  922. IBE12 UJN IBE17 COMPLETE BML MESSAGE
  923.  
  924. * PRINT ERROR LIMIT.
  925.  
  926. IBE13 LDD ST EQUIPMENT STATUS
  927. STM IBEC+1
  928. LDD CS CONVERTER STATUS
  929. STM IBEC
  930. UJN IBE16 COMPLETE BML MESSAGE
  931.  
  932. * INCOMPLETE DATA TRANSFER.
  933.  
  934. IBE14 LDD CS CONVERTER STATUS
  935. STM IBEC
  936. * UJN IBE15 COMPLETE BML MESSAGE
  937.  
  938. * CHANNEL PARITY ERROR.
  939.  
  940. IBE15 LDD CM+4 FUNCTION CODE
  941. STM IBEC+2
  942. * UJN IBE16 COMPLETE BML MESSAGE
  943.  
  944. * EQUIPMENT TURNED OFF.
  945.  
  946. IBE16 LDD CM+2 RETRY COUNT/UNRECOVERED FLAG
  947. STM IBEB+1
  948.  
  949. * CHECK IF ERROR RECOVERED.
  950.  
  951. ZJN IBE17 IF ERROR NOT RETRIED
  952. LPN 1
  953. ZJN IBE18 IF RECOVERED ERROR
  954.  
  955. * FORMAT ERROR LOG MESSAGE.
  956.  
  957. IBE17 LDD EQ CONVERT UPPER TWO DIGITS OF EST ORDINAL
  958. SHN -3
  959. RJM C2D
  960. STM 1,T6 STORE IN MESSAGE TEXT
  961. LDD EQ
  962. LPN 7
  963. SHN 6
  964. RAM 2,T6 ADD LOWER DIGIT INTO TEXT
  965.  
  966. * ISSUE ERROR LOG MESSAGE.
  967.  
  968. LDD T6
  969. ADC ERLN ERROR LOG MESSAGE
  970. RJM DFM ISSUE DAYFILE MESSAGE
  971.  
  972. * ISSUE BML MESSAGE.
  973.  
  974. IBE18 LDN ZERL SETUP FOR BML MESSAGE
  975. CRD CM
  976. LDM TINB,T7 SET BYTE COUNT FOR MESSAGE
  977. STD CM+1
  978. LDC IBEA+BMLN
  979. RJM DFM SEND MESSAGE TO BML
  980. LJM IBEX RETURN
  981. SPACE 4,10
  982. ** BML MESSAGE TABLE
  983.  
  984.  
  985. IBEA VFD 12/0,12/0,6/0,6/0,6/0,18/0 BML WORD 2
  986. IBEB VFD 12/0,6/0,6/0,12/0,12/0,12/0 BML WORD 3
  987. IBEC VFD 12/0,12/0,12/0,12/0,12/0 BML WORD 4
  988. SPACE 4,10
  989. ** DEFINE BML PROCESSORS, SYMPTOM CODES, AND LENGTHS.
  990.  
  991.  
  992. DBMLT ECEM,IBE11,/COMSDFS/BS0101,3*5,ECEA
  993. DBMLT EPEM,IBE8,/COMSDFS/LS0103,3*5,EPEA
  994. DBMLT EPLM,IBE13,/COMSDFS/LS0101,3*5,EPLA
  995. DBMLT EFFM,IBE11,/COMSDFS/BS0102,3*5,EFFA
  996. DBMLT EPFC,IBE9,/COMSDFS/LS0102,3*5,EPFA
  997. DBMLT EACT,IBE5,/COMSDFS/LS0100,3*5,ECEA
  998. DBMLT ERJM,IBE6,/COMSDFS/HS0025,3*5,ERJA
  999. DBMLT ETPE,IBE6,/COMSDFS/HS0010,3*5,ETPA
  1000. DBMLT EFTM,IBE10,/COMSDFS/HS0050,3*5,EFTA
  1001. DBMLT EITM,IBE14,/COMSDFS/HS0005,3*5,EITA
  1002. DBMLT EEOM,IBE16,/COMSDFS/HS0030,2*5,EEOA
  1003. DBMLT ECBM,IBE10,/COMSDFS/HS0044,3*5,ECBA
  1004. DBMLT ECRE,IBE15,/COMSDFS/HS0024,3*5,ECRA
  1005. SPACE 4,10
  1006. BLMSIDT
  1007. TIPR SPACE 4,10
  1008. ** TIPR - TABLE OF PROCESSING ROUTINES.
  1009.  
  1010.  
  1011. TIPR INDEX
  1012. DUP CMME-ERRF,1
  1013. CON IBEX
  1014. ORG TIPR
  1015. DTPR HERE
  1016. INDEX CMME-ERRF
  1017. TISY SPACE 4,10
  1018. ** TISY - TABLE OF SYMPTOM CODES
  1019.  
  1020.  
  1021. TISY INDEX
  1022. DTSY HERE
  1023. INDEX CMME-ERRF
  1024. TINB SPACE 4,10
  1025. ** TINB - TABLE OF NUMBER OF BML BYTES
  1026.  
  1027.  
  1028. TINB INDEX
  1029. DTNB HERE
  1030. INDEX CMME-ERRF
  1031. TMTA SPACE 4,10
  1032. ** TMTA - TABLE OF MESSAGE TEXT ADDRESSES.
  1033.  
  1034.  
  1035. TMTA INDEX
  1036. DTTA HERE
  1037. INDEX CMME-ERRF
  1038. SPACE 4,10
  1039. ** ERROR LOG MESSAGE TEXTS.
  1040.  
  1041.  
  1042. ECEA DATA C*EQ000 COMPARE ERROR.*
  1043. EPEA DATA C*EQ000 0000 PRINT ERRORS.*
  1044. EPLA DATA C*EQ000 PRINT ERROR LIMIT EXCEEDED.*
  1045. EFFA DATA C*EQ000 FEED FAILURE.*
  1046. EPFA DATA C*EQ000 PFC ERROR.*
  1047. ERJA DATA C*EQ000 INTERNAL/EXTERNAL REJECT.*
  1048. ETPA DATA C*EQ000 TRANSMISSION PARITY ERROR.*
  1049. EFTA DATA C*EQ000 FUNCTION TIMEOUT.*
  1050. EITA DATA C*EQ000 INCOMPLETE DATA TRANSFER.*
  1051. EEOA DATA C*EQ000 TURNED OFF BY SYSTEM.*
  1052. ECBA DATA C*EQ000 CONTROLLER HUNG BUSY.*
  1053. ECRA DATA C*EQ000 CHANNEL PARITY ERROR.*
  1054.  
  1055.  
  1056.  
  1057.  
  1058. DFMT HERE ASSEMBLE DAYFILE MESSAGE TABLE
  1059. TITLE COMMON DECKS AND BUFFER DEFINITIONS.
  1060. SPACE 4
  1061. ** COMMON DECKS.
  1062.  
  1063.  
  1064. *CALL COMPACS
  1065. *CALL COMPCIB
  1066. *CALL COMPCOB
  1067. *CALL COMPC2D
  1068. EJT$ EQU 0 DEFINE *COMPGFP* ACCESS TO EJT
  1069. QFT$ EQU 0 DEFINE *COMPGFP* ACCESS TO QFT
  1070. IFP$ EQU 0 GENERATE *IFP* REMOTE CODE
  1071. *CALL COMPGFP
  1072. *CALL COMPRBB
  1073. *CALL COMPWBB
  1074. SPACE 4
  1075. ** EQSB - DRIVER STATUS BLOCK BUFFER.
  1076.  
  1077.  
  1078. EQSB BSS 0
  1079. SPACE 4,10
  1080. OVL EQU EQSB+5*EDSBL+5 OVERLAY LOAD ADDRESS
  1081. ERRNG EPFW-OVL-ZBFL ENSURE SPACE FOR *0BF*
  1082. TITLE PRESET.
  1083. TOPC SPACE 4
  1084. ** TOPC - TABLE OF FUNCTION REQUEST PROCESSORS.
  1085. *
  1086. * INDEXED BY FUNCTION CODE / 10B - 40B.
  1087.  
  1088.  
  1089. TOPC INDEX
  1090. INDEX PDMF/10-40,PDF PROCESS DAYFILE MESSAGE
  1091. INDEX WTIF/10-40,IIF INITIATE INPUT WITH WRITE
  1092. INDEX WRIF/10-40,IIF INITIATE INPUT WITH WRITE EOR
  1093. INDEX WFIF/10-40,IIF INITIATE INPUT WITH WRITE EOF
  1094. INDEX CECF/10-40,CEC CHANNEL ERROR CLEANUP
  1095. INDEX PORF/10-40,POR PROCESS OPERATOR REQUEST
  1096. INDEX RQFF/10-40,CEC REQUEUE FILE
  1097. INDEX PFCF/10-40,LPR1 LOAD USER IMAGE TO 580 PFC
  1098. INDEX GBPF/10-40,LPR GENERATE BANNER PAGE
  1099. INDEX GLCF/10-40,LPH GENERATE LACE CARD
  1100. INDEX PLEF/10-40,PLE PROCESS USER LIMIT EXCEEDED
  1101. INDEX ACTF/10-40,ACT PROCESS ACCOUNTING
  1102. INDEX QAPFE/10-40
  1103. TITLE PRESET.
  1104. PRS SPACE 4
  1105. ** PRS - PRESET PROGRAM.
  1106. *
  1107. * ENTRY (IR+3 - IR+4) = FET ADDRESS.
  1108. *
  1109. * EXIT TO FUNCTION PROCESSOR.
  1110. * (FA) = FNT ADDRESS.
  1111. * (BF) = BUFFER POINT ADDRESS IF *BATCHIO* CALL.
  1112. * (BF) = 0 IF NOT *BATCHIO* CALL.
  1113. * (EQ) = EST ORDINAL (*BATCHIO* ONLY).
  1114. * (ET) = EQUIPMENT TYPE (*BATCHIO* ONLY)
  1115. * (BS+4) = REQUEST.
  1116. * (FO) = QFT ORDINAL.
  1117. * (FT - FT+1) = FIRST POINTER.
  1118. * (IN - IN+1) = IN POINTER.
  1119. * (OT - OT+1) = OUT POINTER.
  1120. * (LM - LM+1) = LIMIT POINTER.
  1121. * (ES - ES+4) = EST ENTRY. (*BATCHIO* ONLY).
  1122. * (ES) = PAGE SIZE (NON-*BATCHIO* ONLY)
  1123. * (FP - FP+4) = FILE PARAMETER WORD (FET+5).
  1124. * (F6 - F6+4) = FILE PARAMETER WORD (FET+6).
  1125.  
  1126.  
  1127. PRS BSS 0 ENTRY
  1128. LDK MMFL
  1129. CRD CM
  1130. LDD CM MACHINE ID
  1131. STM IBEB+3
  1132. LDA IR+3 READ BUFFER STATUS
  1133. CRD BS
  1134. ADN FPW2 READ FILE PARAMETERS
  1135. CRD F6
  1136. SBN FPW2-5
  1137. CRD FP
  1138. SBN 1
  1139. CRD LM-3 READ LIMIT
  1140. CRD T1
  1141. SBN 1 READ OUT
  1142. CRD OT-3
  1143. SBN 1 READ IN
  1144. CRD IN-3
  1145. SBN 1 READ FIRST
  1146. CRD CM
  1147. ADN EDSO-1+CMEN/5
  1148. CRD ES
  1149. LDD ES+CMEN-CMEN/5*5
  1150. LPN 7 SET EQUIPMENT TYPE CODE
  1151. STD ET
  1152. LDD T1+1 SET QFT ORDINAL
  1153. STD FO
  1154. LDD CM+3 SET FIRST
  1155. LPN 37
  1156. STD FT
  1157. LDD CM+4
  1158. STD FT+1
  1159. LDD FP+1 GET PAGE SIZE (NON-*BATCHIO*)
  1160. STD ES ASSUME NON-*BATCHIO* CALL
  1161. LDN 5 SET FET LENGTH
  1162. STD T2
  1163. LDD CP READ SUBSYSTEM ID
  1164. ADN JCIW
  1165. CRD CM
  1166. LDD CM+2
  1167. LMC BISI
  1168. NJN PRS1 IF NOT *BATCHIO* CALL
  1169. STM PRSA
  1170. LDN QFFL ADJUST FET LENGTH
  1171. STD T2
  1172. LDD FP SET BUFFER POINT OFFSET
  1173. STD BF
  1174. NFA BF,R READ BUFFER POINT WORD
  1175. CRD CM
  1176. LDD CM+3 SET EST ORDINAL
  1177. STD EQ
  1178. STM IBEB
  1179. SFA EST READ EST ENTRY
  1180. ADK EQDE
  1181. CRD ES
  1182. PRS1 RJM VCA VALIDATE FET ADDRESS
  1183. AOM ABTA SET VALID FET ADDRESS
  1184. RJM IFP INITIALIZE TABLE ACCESS ROUTINES
  1185. RJM CBP CHECK BUFFER PARAMETERS
  1186. LDD BS+4
  1187. SHN 21-0
  1188. MJN PRS5 IF FET NOT BUSY
  1189. SHN 1-3
  1190. SBN 40
  1191. MJN PRS5 IF INCORRECT REQUEST
  1192. STD T2
  1193. SBN QAPFE/10-40
  1194. PJN PRS2 IF INCORRECT REQUEST
  1195. LDD T1 SET FNT ADDRESS
  1196. STD FA
  1197. NJN PRS3 IF DEFINED
  1198. LDD T2
  1199. SBN CECF/10-40+1
  1200. PRS2 PJN PRS6 IF REQUEST INCORRECT WITHOUT FNT OFFSET
  1201. PRS3 UJN PRS4 VALIDATE NON-*BATCHIO* CALLER
  1202. PRSA EQU PRS3
  1203. * PSN (*BATCHIO* CALL)
  1204. LJM PRS10 JUMP TO PROCESSOR
  1205.  
  1206. PRS4 LDD T2
  1207. SBN GBPF/10-40
  1208. PRS5 MJN PRS6 IF REQUEST FOR *BATCHIO* FUNCTION
  1209. LDD FA VALIDATE FNT OFFSET
  1210. SBK FNTN+LENF
  1211. MJN PRS6 IF INCORRECT FNT POINTER
  1212. LDD CP FETCH EJT ORDINAL
  1213. ADN TFSW
  1214. CRD T7
  1215. SBN TFSW-FLSW GET NFL VALUE
  1216. CRD CM
  1217. LDD FA CHECK FNT OFFSET WITHIN NFL
  1218. SHN -6
  1219. SBD CM
  1220. MJN PRS7 IF VALID FNT POINTER
  1221. PRS6 ABORT ERIR * QAP - INCORRECT REQUEST.*
  1222.  
  1223. PRS7 SFA EJT,T7
  1224. ADN SCLE
  1225. CRD CM
  1226. LDD CM CHECK JOB ORIGIN TYPE
  1227. LPN 17
  1228. LMK SYOT
  1229. STD BF
  1230. NJN PRS6 IF NOT SYSTEM ORIGIN
  1231. STD ET
  1232. STD IR+2
  1233. LDN QFTP
  1234. CRD CM
  1235. LDD FO CHECK QFT ORDINAL
  1236. ZJN PRS6 IF ORDINAL ZERO
  1237. SBD CM+2
  1238. PJN PRS6 IF INCORRECT ORDINAL
  1239. SFA QFT,FO READ QFT ENTRY
  1240. CRD CM
  1241. LDD CM
  1242. ADD CM+1
  1243. ZJN PRS6 IF EMPTY QFT ENTRY
  1244. LDD ES
  1245. LPC 4000
  1246. ZJN PRS9 IF POSITION TO BOTTOM OF FORM AVAILABLE
  1247. LDD ES
  1248. LPC PSUL ISOLATE PAGE SIZE
  1249. NJN PRS8 IF *PS* VALUE GIVEN
  1250. NFA JPPN GET DEFAULT PAGE SIZE
  1251. CRD CM
  1252. LDD CM+2
  1253. LPN 17
  1254. SHN 14
  1255. LMD CM+3
  1256. SHN -10
  1257. LPC PSUL MASK UPPER LIMIT
  1258. PRS8 STD ES
  1259. SBN PSLL
  1260. PJN PRS10 IF WITHIN LIMITS
  1261. LDN PSLL USE LOWER LIMIT
  1262. PRS9 STD ES
  1263. PRS10 LDM TOPC,T2
  1264. STD T2
  1265. ERRNG *-EQSB-EDSBL*5
  1266. RJM RSB LOAD DRIVER STATUS BLOCK
  1267. LJM 0,T2 JUMP TO PROCESSOR
  1268.  
  1269.  
  1270. IFP HERE DUMP *IFP* REMOTE CODE
  1271. CBP SPACE 4,10
  1272. ** CBP - CHECK BUFFER PARAMETERS.
  1273. *
  1274. * ENTRY (FT - FT+1) = FIRST.
  1275. * (IN - IN+1) = IN.
  1276. * (OT - OT+1) = OUT.
  1277. * (LM - LM+1) = LIMIT.
  1278. *
  1279. * EXIT FET POINTERS VALIDATED.
  1280.  
  1281.  
  1282. CBP SUBR ENTRY/EXIT
  1283. LDD LM SET LIMIT
  1284. LPN 37
  1285. STD LM (LIMIT-1)/100 - FL
  1286. SHN 14
  1287. LMD LM+1
  1288. SBN 1
  1289. SHN -6
  1290. SBD FL
  1291. PJN CBP1 IF LIMIT .GE. FL
  1292.  
  1293. LDD OT OUT - LIMIT
  1294. LPN 37
  1295. STD OT
  1296. SBD LM
  1297. SHN 14
  1298. ADD OT+1
  1299. SBD LM+1
  1300. PJN CBP1 IF OUT .GE. LIMIT
  1301.  
  1302. LDD OT OUT - FIRST
  1303. SBD FT
  1304. SHN 14
  1305. ADD OT+1
  1306. SBD FT+1
  1307. PJN CBP2 IF OUT .GE. FIRST
  1308. CBP1 ABORT ERBA * QAP - BUFFER ARGUMENT ERROR.*
  1309.  
  1310. CBP2 LDD IN IN - LIMIT
  1311. LPN 37
  1312. STD IN
  1313. SBD LM
  1314. SHN 14
  1315. ADD IN+1
  1316. SBD LM+1
  1317. PJN CBP1 IF IN .GE. LIMIT
  1318.  
  1319. LDD IN IN - FIRST
  1320. SBD FT
  1321. SHN 14
  1322. ADD IN+1
  1323. SBD FT+1
  1324. MJN CBP1 IF IN .LT. FIRST
  1325. LJM CBPX RETURN
  1326. RSB SPACE 4,10
  1327. ** RSB - READ DRIVER STATUS BLOCK.
  1328. *
  1329. * ENTRY (IR+2) = STATUS BLOCK UPDATE FLAGS.
  1330. * (IR+3 - IR+4) = FET ADDRESS.
  1331. *
  1332. * USES CM.
  1333. *
  1334. * MACROS DELAY, LDA, PAUSE.
  1335.  
  1336.  
  1337. RSB SUBR ENTRY/EXIT
  1338. LDD IR+2
  1339. LPN 6
  1340. ZJN RSBX IF NO UPDATE REQUIRED
  1341. RSB1 LDN EDSBL
  1342. STD CM
  1343. LDA IR+3 READ STATUS BLOCK
  1344. ADN EDSO
  1345. CRM EQSB,CM
  1346. LDM EQSB+CMSB
  1347. LMD IR+2
  1348. ZJN RSBX IF DRIVER HAS NOTED INTERLOCK
  1349. DELAY
  1350. PAUSE NE
  1351. UJN RSB1 LOOP
  1352. TTL QAP/3BA - ACCOUNTING.
  1353. TITLE
  1354. QUAL ACT
  1355. IDENT 3BA,ACTX ACCOUNTING
  1356. *COMMENT QAP - ACCOUNTING.
  1357. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1358. SPACE 4
  1359. *** ENTRY CONDITIONS.
  1360. *
  1361. * FOR *BATCHIO*
  1362. * ((FT - FT+1)) = 12/ ,12/ DV ,12/ ,24/ CNT1
  1363. *
  1364. * FOR ALL OTHER CALLERS.
  1365. * ((OT - OT+1)) = 12/ ,12/ DV ,12/ ,24/ CNT2
  1366. * ((OT - OT+1)+1) = 42/ TERMINAL NAME OR EQ NUMBER ,18/
  1367. *
  1368. *
  1369. * DV DEVICE TYPE.
  1370. * 0 = LINE PRINTER.
  1371. * 1 = CARD PUNCH.
  1372. * 2 = CARD READER.
  1373. * 3 = PLOTTER.
  1374. *
  1375. * CNT1 (USER VALIDATION LIMIT) - (RECORD COUNT)
  1376. * CNT2 RECORD COUNT.
  1377. *
  1378. * (RECORD COUNT) = NUMBER OF CARDS READ, CARDS PUNCHED, LINES
  1379. * PRINTED AND PRUS PLOTTED.
  1380. *
  1381. * EXIT CONDITIONS.
  1382. *
  1383. * FOR PRINT FILES.
  1384. * 1. ACCOUNT FILE MESSAGE RETURNED TO CM BUFFER.
  1385. * 2. IN POINTER UPDATED IN FET.
  1386. *
  1387. * FOR INPUT FILES.
  1388. * 1. FNT POINTER CLEARED IN FET.
  1389. * 2. *DSP* CALLED TO QUEUE INPUT FILE.
  1390. SPACE 4
  1391. *** ACCOUNT FILE MESSAGES.
  1392. *
  1393. *
  1394. * *ABCN, CHARGENUMBER, PROJECTNUMBER.* = BEGINNING OF A CHARGE
  1395. * SEQUENCE.
  1396. *
  1397. * *ABUN, USERNAME, FAMILY.* = BEGINNING OF OUTPUT FOR
  1398. * USER *USERNAME*.
  1399. *
  1400. * *AESR, .* = NULL SRU UNITS FOR END OF JOB.
  1401. *
  1402. * *UCCR, MI,EQN, XXXXXX.XXXKCDS.* = KILO CARDS READ.
  1403. * (ISSUED BY *1AJ*)
  1404. * *UCLP, MI,EQN, XXXXXX.XXXKLNS.* = KILO LINES PRINTED.
  1405. * *UCLV, MI,EQN, XXXXXX.XXXKLNS.* = KILO LINES PRINTED.
  1406. * (USER SUPPLIED FORMAT)
  1407. * *UCPC, MI,EQN, XXXXXX.XXXKCDS.* = KILO CARDS PUNCHED.
  1408. * *UCPL, MI,EQN, XXXXXX.XXXKPLS.* = KILO UNITS PLOTTED.
  1409. *
  1410. * MI = MACHINE ID.
  1411. * EQN = LOCAL EST ORDINAL / REMOTE TERMINAL NAME.
  1412. SPACE 4
  1413. ACT SPACE 4
  1414. ** ACT - MAIN ROUTINE.
  1415.  
  1416.  
  1417. ORG OVL
  1418.  
  1419. ACT SUBR ENTRY/EXIT
  1420. LDD BF
  1421. ZJN ACT1 IF NOT *BATCHIO*
  1422. LDA FT READ ACCOUNTING INFORMATION
  1423. CRM BUF,ON
  1424. LDD EQ SET EST ORDINAL
  1425. RJM C2D
  1426. SHN 6
  1427. STM BUF+5*1+1
  1428. LDD EQ
  1429. SHN -3
  1430. RJM C2D
  1431. STM BUF+1*5
  1432. UJN ACT3 INITIALIZE ACCOUNT MESSAGE
  1433.  
  1434. * CHECK CM BUFFER.
  1435.  
  1436. ACT1 RJM COB CHECK OUTPUT BUFFER
  1437. SBN 2
  1438. PJN ACT2 IF ENOUGH DATA PRESENT
  1439. ABORT ERBA * QAP - BUFFER ARGUMENT ERROR.*
  1440.  
  1441. ACT2 LDN 2 SET NUMBER OF WORDS TO READ
  1442. STD T3
  1443. LDC BUF READ BINARY BUFFER
  1444. RJM RBB
  1445. LDN ZERL UPDATE OUT
  1446. CRD CM
  1447. LDD OT
  1448. STD CM+3
  1449. LDD OT+1
  1450. STD CM+4
  1451. LDA IR+3
  1452. ADN 3
  1453. CWD CM
  1454.  
  1455. * INITIALIZE ACCOUNT FILE MESSAGE.
  1456.  
  1457. ACT3 LDM BUF+0*5+1 SET DEVICE TYPE
  1458. SBN TQTPL
  1459. MJN ACT4 IF VALID QUEUE TYPE CODE
  1460. ABORT ERIR * QAP - INCORRECT REQUEST.*
  1461.  
  1462. ACT4 ADN TQTPL SET TABLE ADDRESS
  1463. STD FA
  1464. SHN 1
  1465. ADD FA
  1466. RAM POFA
  1467. ADN TOAU-TOAC
  1468. STM POFB
  1469. LDM TQTP,FA SET QUEUE TYPE PROCESSOR
  1470. STD T1
  1471. LDC 1030 SET *EOI*
  1472. STD BS+4
  1473. RJM 0,T1
  1474. LJM ACTX RETURN
  1475. SPACE 4,10
  1476. ** TOAC - TABLE OF ACCOUNTING CODES.
  1477.  
  1478.  
  1479. TOAC BSS 0
  1480. LOC 0
  1481. VFD 36/4LUCLP
  1482. * VFD 36/4LUCLV (USER FORMAT SUPPLIED)
  1483. VFD 36/4LUCPC
  1484. VFD 36/4LUCCR (ISSUED BY *1AJ*)
  1485. VFD 36/4LUCPL
  1486. LOC *O
  1487. TOAU SPACE 4,10
  1488. ** TOAU - TABLE OF ACCOUNTING UNITS.
  1489.  
  1490.  
  1491. TOAU BSS 0
  1492. LOC 0
  1493. VFD 36/5LKLNS.
  1494. VFD 36/5LKCDS.
  1495. VFD 36/5LKCDS. (ISSUED BY *1AJ*)
  1496. VFD 36/5LKPLS.
  1497. LOC *O
  1498. TQTP SPACE 4,10
  1499. ** TQTP - TABLE OF QUEUE TYPE PROCESSORS.
  1500.  
  1501.  
  1502. TQTP BSS 0
  1503. LOC 0
  1504. CON POF PRINT FILE PROCESSOR
  1505. CON POF PUNCH FILE PROCESSOR
  1506. CON PIF INPUT FILE PROCESSOR
  1507. CON POF PLOT FILE PROCESSOR
  1508. LOC *O
  1509. TQTPL EQU *-TQTP NUMBER OF ACCOUNT MESSAGES
  1510. TITLE ACCOUNTING SUBROUTINES.
  1511. GCM SPACE 4,15
  1512. ** GCM - GENERATE CHARGE MESSAGES.
  1513. *
  1514. * ENTRY (T5) = EQUIPMENT.
  1515. * (T6) = FIRST TRACK OF QUEUED FILE.
  1516. *
  1517. * EXIT (A) = ADDRESS OF TERMINATING MESSAGE SEGMENT.
  1518. * (T5) = ASSEMBLY BUFFER ADDRESS.
  1519. *
  1520. * USES T1, T5, T6, T7.
  1521. *
  1522. * CALLS ACS, DFM, RSS.
  1523. *
  1524. * MACROS ENDMS, SETMS.
  1525.  
  1526.  
  1527. GCM2 LDC GCMA RETURN WITH ERROR MESSAGE
  1528.  
  1529. GCM SUBR ENTRY/EXIT
  1530. SETMS IO
  1531. LDN 0 READ SYSTEM SECTOR
  1532. RJM RSS
  1533. STD T7 SAVE *RSS* REPLY
  1534. ENDMS
  1535. LDC ACTB SET ASSEMBLY BUFFER ADDRESS
  1536. STD T1
  1537. STD T5
  1538. LDN 0
  1539. STI T1
  1540. LDC =Z*ABUN, * ENTER ACCOUNTING CODE IN BUFFER
  1541. RJM ACS
  1542. LDD T7
  1543. NJN GCM2 IF SYSTEM SECTOR ERROR
  1544. LDM ACSS+3 INSURE ZERO TERMINATOR
  1545. SCN 77
  1546. STM ACSS+3
  1547. LDC ACSS SET CREATION USER NAME
  1548. STD T7
  1549. LDI T7
  1550. NJN GCM1 IF USER NAME PRESENT
  1551. LDC =Z*SYSTEMX*
  1552. STD T7
  1553. GCM1 LDD T7 ENTER USER NAME
  1554. RJM ACS
  1555. LDC =Z*, * SET SEPARATOR
  1556. RJM ACS
  1557. LDM FMSS+3 INSURE ZERO TERMINATOR
  1558. SCN 77
  1559. STM FMSS+3
  1560. LDC FMSS ENTER FAMILY NAME
  1561. RJM ACS
  1562. LDC =Z*.* ADD PERIOD
  1563. RJM ACS
  1564. LDC AJNN+ACTA ISSUE ACCOUNT FILE MESSAGE
  1565. RJM DFM
  1566. LDD T5 RESET ASSEMBLY BUFFER ADDRESS
  1567. STD T1
  1568. LDC PJSS SET ADDRESS OF PROJECT NUMBER
  1569. STD T7
  1570. LDN 0
  1571. STI T1
  1572. LDC =Z*ABCN, * ENTER ACCOUNTING CODE
  1573. RJM ACS
  1574. LDI T7 SAVE LEADING CHARACTERS OF PROJECT NUMBER
  1575. STD T6
  1576. LDN 0
  1577. STI T7
  1578. STM PJSS+2*5
  1579. LDC CHSS ENTER CHARGE NUMBER
  1580. RJM ACS
  1581. LDC =Z*, * SET SEPARATOR
  1582. RJM ACS
  1583. LDD T6 RESTORE PROJECT NUMBER
  1584. STI T7
  1585. LDD T7 ENTER PROJECT NUMBER
  1586. RJM ACS
  1587. LDC =Z*.*
  1588. LJM GCMX RETURN
  1589.  
  1590. GCMA DATA C*SYSTEM SECTOR ERROR.*
  1591. SPACE 4,10
  1592. ** POF - PROCESS OUTPUT FILE ACCOUNTING.
  1593. *
  1594. * ENTRY (FA) = EQUIPMENT TYPE.
  1595. * (FO) = QFT ORDINAL.
  1596. *
  1597. * EXIT (A) = 0.
  1598. *
  1599. * USES T1, T5, T6, T7, CM - CM+4, CN - CN+4.
  1600. *
  1601. * CALLS ACS, DFM, GCM, GRU, IBE, RAM.
  1602. *
  1603. * MACROS MONITOR, SFA.
  1604.  
  1605.  
  1606.  
  1607. POF SUBR ENTRY/EXIT
  1608. SFA QFT,FO GET JSN FOR MESSAGE
  1609. ADK JSNQ
  1610. CRM ACTA,ON
  1611. ADK ENTQ-JSNQ-1 SET MASS STORAGE PARAMETERS
  1612. CRD T5
  1613. ADN SCLQ-ENTQ GET SERVICE CLASS
  1614. CRD CM
  1615. LDD CM SET SERVICE CLASS
  1616. SHN -6
  1617. STM ACTA+4
  1618. LDM BUF+1*5+3 SET END OF TERMINAL NAME
  1619. SCN 77
  1620. STM BUF+1*5+3
  1621. LDC 2R
  1622. STM ACTA+2
  1623. STM ACTA+3
  1624. RJM GCM GENERATE CHARGE MESSAGE
  1625. RJM ACS
  1626. LDC AJNN+ACTA ISSUE ACCOUNTING MESSAGE
  1627. RJM DFM
  1628. * LDN 0
  1629. STI T5
  1630. RJM GRU GET RECORDS USED
  1631. LDD CM+3
  1632. ADD CM+4
  1633. NJN POF0 IF VALID RECORD COUNT
  1634. LDN 2 SET MINIMUM CHARGE
  1635. STD CM+4
  1636. POF0 LDD MA SET RECORD COUNT
  1637. CWD CM
  1638. CRM IBEC,ON PRESERVE BINARY RECORD COUNT
  1639. LDD T5 RESET ASSEMBLY BUFFER ADDRESS
  1640. STD T1
  1641. LDC TOAC ENTER ACCOUNTING CODE
  1642. POFA EQU *-1
  1643. RJM ACS
  1644. LDC =Z*, *
  1645. RJM ACS
  1646.  
  1647. * SET MID AND EQUIPMENT IF *BATCHIO*. SET MID AND TERMINAL
  1648. * NAME IF NOT *BATCHIO*.
  1649.  
  1650. LDC MMFL FETCH MACHINE ID
  1651. CRD CM
  1652. LDC 2R, SET TERMINATOR
  1653. STD CM+1
  1654. LDN 0 TERMINATE MESSAGE STRING
  1655. STD CM+2
  1656. LDN CM APPEND MID TO MESSAGE
  1657. RJM ACS
  1658. LDC BUF+1*5 SET TERMINAL NAME OR EQUIPMENT
  1659. RJM ACS
  1660. LDC =Z*, * SET SEPARATOR
  1661. RJM ACS
  1662. LDN 0
  1663. STD CM+1
  1664. MONITOR RDCM REQUEST DATA CONVERSION
  1665. * LDN 0
  1666. STM BUF+2*5
  1667. LDD MA READ DATA CONVERSION
  1668. CRM BUF+1*5,ON
  1669. LDC BUF+1*5 SET RECORD COUNT
  1670. RJM ACS
  1671. LDC TOAU ENTER ACCOUNTING UNITS
  1672. POFB EQU *-1
  1673. RJM ACS
  1674. POF1 AOD T1 CLEAR REMAINING PART OF BUFFER
  1675. ADC -ACTC
  1676. PJN POF2 IF END OF BUFFER
  1677. LDN 0
  1678. STI T1
  1679. UJN POF1 LOOP
  1680.  
  1681. POF2 LDC ACTA+AJNN ISSUE ACCOUNTING MESSAGE
  1682. RJM DFM
  1683. LDD FA
  1684. NJN POF4 IF NOT PRINT FILE
  1685. RJM RAM RETURN ACCOUNTING MESSAGE TO CM BUFFER
  1686. LDD MA
  1687. CRM ACTA,ON RESTORE MESSAGE HEADER
  1688. POF4 LDN 0
  1689. STI T5
  1690. LDD T5 RESET ASSEMBLY BUFFER ADDRESS
  1691. STD T1
  1692. LDC =Z*AESR, .* ISSUE NULL USAGE MESSAGE
  1693. RJM ACS
  1694. LDC AJNN+ACTA ISSUE ACCOUNTING MESSAGE
  1695. RJM DFM
  1696. LDN EACT-ERRF ISSUE BML ACCOUNTING MESSAGE
  1697. RJM IBE
  1698. * LDN 0
  1699. LJM POFX RETURN
  1700. RAM SPACE 4,10
  1701. ** RAM - RETURN ACCOUNTING MESSAGE TO CM BUFFER.
  1702. *
  1703. * ENTRY *ACTA* = FWA OF ACCOUNTING MESSAGE.
  1704. *
  1705. * EXIT ACCOUNT FILE MESSAGE RETURNED TO CM BUFFER.
  1706. * BUFFER POINTERS UPDATED IN FET.
  1707. *
  1708. * USES T1, CM - CM+4.
  1709. *
  1710. * CALLS CIB, WBB.
  1711. *
  1712. * MACROS ABORT.
  1713.  
  1714.  
  1715.  
  1716. RAM SUBR ENTRY/EXIT
  1717. RJM CIB CHECK INPUT BUFFER
  1718. ZJN RAMX IF BUFFER FULL
  1719. PJN RAM1 IF NO ERROR
  1720. ABORT ERBA * QAP - BUFFER ARGUMENT ERROR.*
  1721.  
  1722. RAM1 STD T1 SET WORD COUNT
  1723. SBN ACTD/5
  1724. MJN RAM2 IF LESS THAN MESSAGE LENGTH
  1725. LDN ACTD/5
  1726. STD T1
  1727. RAM2 LDN TIML SET TIME
  1728. CRM ACTA,ON
  1729. LDD BF
  1730. ZJN RAM4 IF NOT *BATCHIO* CALL
  1731. LDD ET
  1732. LMK LPDT
  1733. NJN RAM3 IF NOT LINE PRINTER
  1734. LDD FP+1
  1735. NJN RAM4 IF DAYFILE PRESENT
  1736. RAM3 LCN 1R -1R1
  1737. SHN 6 SET PAGE EJECT
  1738. RAM ACTA
  1739. RAM4 LDC ACTA WRITE BINARY BUFFER
  1740. RJM WBB
  1741. LDN ZERL UPDATE IN
  1742. CRD CM
  1743. LDD IN
  1744. STD CM+3
  1745. LDD IN+1
  1746. STD CM+4
  1747. LDA IR+3 WRITE IN
  1748. ADN 2
  1749. CWD CM
  1750. LJM RAMX RETURN
  1751. PIF SPACE 4,10
  1752. ** PIF - PROCESS INPUT FILE ACCOUNTING.
  1753. *
  1754. * ENTRY (BF) = BUFFER POINT ADDRESS.
  1755. * (ES - ES+4) = EST ENTRY.
  1756. *
  1757. * EXIT *DSP* PARAMETER BLOCK SET.
  1758. * (A) = *DSP*.
  1759. * FNT POINTER IN FET CLEARED.
  1760. * *UCCR* ACCOUNTING MESSAGE ISSUED BY *1AJ*.
  1761. *
  1762. * USES T1, T2, CM - CM+4.
  1763. *
  1764. * CALLS C2D, IBE, *DSP*.
  1765. *
  1766. * MACROS EXECUTE.
  1767.  
  1768.  
  1769. PIF SUBR ENTRY/EXIT
  1770. LDD BF
  1771. ZJN PIFX IF NOT *BATCHIO* CALL
  1772.  
  1773. * INITIALIZE *DSP* PARAMETER BLOCK.
  1774.  
  1775. LDA IR+3 SET FILE NAME FROM FET
  1776. CRM DSPB,ON
  1777. ADN 4-1 READ *LIMIT* WORD
  1778. CRD CM
  1779. LDC DSPB+4 CLEAR *DSP* PARAMETER BLOCK
  1780. STD T1
  1781. PIF1 LDN 0
  1782. STI T1
  1783. AOD T1
  1784. LMC DSPB+DSPBL*5
  1785. NJN PIF1 IF MORE TO CLEAR
  1786. STD CM CLEAR FNT POINTER
  1787. STD IR+2
  1788.  
  1789. * ENTER *DSP* PARAMETERS.
  1790.  
  1791. LDC 200 SET QUEUE FILE IF JOB COMMAND ERROR
  1792. STM DSPB+1*5+1
  1793. LDC 2RIN SET DISPOSITION CODE
  1794. STM DSPB+1*5+2
  1795. LDK FRAC/10000 SET ACCOUNTING FLAG
  1796. STM DSPB+1*5+3
  1797. LDK FRDC+FRCS+FRTI SET DISP., CENTRAL SITE, TID FLAGS
  1798. STM DSPB+1*5+4
  1799. LDM BUF+3 SET RECORDS USED
  1800. STM DSPB+5*5+3
  1801. STM IBEC+3
  1802. LDM BUF+4
  1803. STM DSPB+5*5+4
  1804. STM IBEC+4
  1805. LDM BUF+1*5+0 SET EQUIPMENT IDENTIFICATION
  1806. STM DSPB+6*5+0
  1807. LDM BUF+1*5+1
  1808. STM DSPB+6*5+1
  1809. LDD ES+4 SET ID FOR OUTPUT FILES
  1810. LPN 77
  1811. STM DSPB+2*5+4
  1812. LDD FP+1
  1813. ZJN PIF2 IF NO BINARY SEQUENCE/HOLLERITH ERRORS
  1814. STM DSPB+5*5+1
  1815. LDD FP+2 SET RECORD NUMBER
  1816. LPC 3777
  1817. STM DSPB+5*5
  1818. LDD FP+2 SET FORCED ABORT CODE
  1819. SHN 0-13
  1820. ADN BCIE
  1821. ERRNZ BCIE+1-HDIE CODE DEPENDS ON VALUE
  1822. STM DSPB+4*5+2
  1823. LDD HN SET BINARY SEQUENCE/HOLLERITH ERROR FLAG
  1824. RAM DSPB+1*5+1
  1825.  
  1826. * CALL *DSP* INTO THIS PP.
  1827.  
  1828. PIF2 LDN DSPBL WRITE *DSP* PARAMETER BLOCK
  1829. STD T1
  1830. ADN QAPO-1
  1831. STD T2
  1832. RJM VCA VALIDATE CENTRAL ADDRESS
  1833. LDA IR+3
  1834. CWD BS
  1835. ADN 4
  1836. CWD CM
  1837. ADN QAPO-4 STORE PARAMETER BLOCK
  1838. CWM DSPB,T1
  1839. LDN QAPO SET *DSP* PARAMETER BLOCK ADDRESS
  1840. RAD IR+4
  1841. SHN -14
  1842. RAD IR+3
  1843. LDN EACT-ERRF ISSUE BML ACCOUNTING MESSAGE
  1844. RJM IBE
  1845. EXECUTE DSP,*
  1846. LJM PIFX RETURN
  1847. GRU SPACE 4,10
  1848. ** GRU - GET RECORDS USED.
  1849. *
  1850. * ENTRY (BUF+3 - BUF+4) = UNIT RECORD COUNT.
  1851. * (FP - FP+4) = FILE PARAMETER WORD (FET+5).
  1852. * (F6 - F6+4) = FILE PARAMETER WORD (FET+6).
  1853. *
  1854. * EXIT (CM+2 - CM+4) = NUMBER OF RECORDS USED.
  1855.  
  1856.  
  1857. GRU SUBR ENTRY/EXIT
  1858. LDN ZERL
  1859. CRD CM
  1860. LDM BUF+0*5+3
  1861. STD CM+3
  1862. LDM BUF+0*5+4
  1863. STD CM+4
  1864. LDD BF
  1865. ZJN GRUX IF NOT *BATCHIO* CALL
  1866. LDD FP+3 CHECK NORMAL FORMAT IMAGE ALTERED
  1867. ZJN GRU1 IF NO USER SUPPLIED FORMS CONTROL
  1868. LDN 1RV-1RP MODIFY ACCOUNTING MESSAGE
  1869. RAM TOAC+1
  1870. GRU1 LDD F6+3 CHECK FOR UNLIMITED USER
  1871. LMC 7777
  1872. ZJN GRU3 IF UNLIMITED USER
  1873. LDD CM+3 CHECK FOR POSITIVE RECORD COUNT
  1874. SHN 21-13
  1875. PJN GRU3 IF POSITIVE RECORD COUNT
  1876.  
  1877. * CALCULATE RECORD COUNT FOR LIMITED USER WITH NEGATIVE RECORD
  1878. * COUNT.
  1879.  
  1880. LCN 0
  1881. LMD CM+3
  1882. LPC 7777
  1883. ADD F6+3
  1884. STD CM+3
  1885. LCN 0
  1886. LMD CM+4
  1887. LPC 7777
  1888. ADD F6+4
  1889. STD CM+4
  1890. SHN -14
  1891. RAD CM+3
  1892. GRU2 LJM GRUX RETURN
  1893.  
  1894. * CALCULATE RECORDS USED FOR UNLIMITED USER OR
  1895. * LIMITED USER WITH POSITIVE RECORD COUNT.
  1896.  
  1897. GRU3 LDD F6+3 CALCULATE RECORDS USED
  1898. SBD CM+3
  1899. STD CM+3
  1900. LDD F6+4
  1901. SBD CM+4
  1902. STD CM+4
  1903. PJN GRU2 IF NO UNDERFLOW, RETURN
  1904. AOD CM+4
  1905. SOD CM+3
  1906. UJN GRU2 RETURN
  1907. SPACE 4,10
  1908. ** COMMON DECKS.
  1909.  
  1910.  
  1911. *CALL COMPRSS
  1912. SPACE 4,10
  1913. USE LITERALS
  1914.  
  1915.  
  1916. OVERFLOW OVL
  1917. DSPB SPACE 4,10
  1918. ** DSPB - *DSP* PARAMETER BLOCK BUFFER.
  1919.  
  1920.  
  1921. DSPB EQU * *DSP* PARAMETER BLOCK BUFFER FWA
  1922. BUF EQU DSPB+DSPBL*5 ACCOUNT INFORMATION BUFFER
  1923. ACTA EQU BUF+3*5 JSN BUFFER
  1924. ACTB EQU ACTA+5 ACCOUNT MESSAGE BUFFER
  1925. ACTC EQU ACTB+5*4 END OF ACCOUNT MESSAGE BUFFER
  1926. ACTD EQU ACTC-ACTA LENGTH OF ACCOUNTING MESSAGE
  1927.  
  1928. ERRPL ACTB-BFMS MESSAGE HEADER OVERLAID WITH SYSTEM SECTOR
  1929. QUAL *
  1930. TTL QAP/3BB - LOAD PFC ARRAY.
  1931. TITLE
  1932. QUAL LPM
  1933. IDENT 3BB,LPMX LOAD PRINTER PFC IMAGE MEMORY
  1934. *COMMENT QAP - LOAD PRINTER PFC IMAGE MEMORY.
  1935. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1936. LPM SPACE 4,10
  1937. *** LPM - LOAD PFC IMAGE MEMORY.
  1938. SPACE 4,10
  1939. ** ENTRY CONDITIONS.
  1940. *
  1941. * (BF) = BUFFER POINT ADDRESS.
  1942. * (EQ) = EST ORDINAL.
  1943. * (BS+4) = REQUEST.
  1944. * (IR+3 - IR+4) = FET ADDRESS.
  1945. * (OT - OT+1) = OUT POINTER.
  1946. * (ES - ES+4) = EST ENTRY.
  1947. * (FP - FP+4) = FILE PARAMETER WORD (FET+5).
  1948. * (F6 - F6+4) = FILE PARAMETER WORD (FET+6).
  1949. SPACE 4,10
  1950. *CALL COMPCHI
  1951. SPACE 4,10
  1952. ** ASSEMBLY CONSTANT.
  1953.  
  1954.  
  1955. CH EQU 12 CHANNEL NUMBER
  1956. SPACE 4,10
  1957. ** MACRO DEFINITIONS.
  1958.  
  1959.  
  1960. ** TABL - DEFINE PFC OVERLAY TABLE.
  1961. *
  1962. * CALL -
  1963. * TABL A,B
  1964. *
  1965. * WHERE A IS THE SPACING CODE (SC PARAMETER) AND B IS
  1966. * THE PFC OVERLAY NAME. THE SC PARAMETER CAN
  1967. * BE ANY 6 BIT VALUE FROM 1 TO 77B. B IS A 12 BIT
  1968. * OVERLAY NAME.
  1969.  
  1970.  
  1971. TABL MACRO A,B
  1972. CON A
  1973. CON 2L_B
  1974. ENDM
  1975. SPACE 4,10
  1976. ** DPFC - DEFINE PFC CODES.
  1977. *
  1978. * CALL -
  1979. * DPFC A,B,C,D
  1980. * WHERE A,B,C AND D ARE PFC CODES FOR 6 OR
  1981. * 8 LPI. THESE CODES MAY BE ANY VALUE
  1982. * FROM ZERO (0) TO FIFTEEN (17B).
  1983.  
  1984.  
  1985. DPFC MACRO A,B,C,D
  1986. VFD 6/A,6/B
  1987. IFEQ A,17,1
  1988. SKIP
  1989. IFNE B,17,1
  1990. VFD 6/C,6/D
  1991. ENDIF
  1992. ENDM
  1993. TITLE MAIN PROGRAM.
  1994. SPACE 4
  1995. ** LPM - MAIN ROUTINE.
  1996.  
  1997.  
  1998. ORG OVL
  1999.  
  2000. LPM SUBR ENTRY/EXIT
  2001. LDK PPCP
  2002. CRD CM
  2003. LDD IA INPUT REGISTER ADDRESS
  2004. SBD CM+4 FWA OF PP COMMUNICATIONS AREA
  2005. SHN 0-3
  2006. STM ERRB PP NUMBER
  2007. LDD BS+4 CHECK REQUEST
  2008. LMC PFCF
  2009. NJN LPM1 IF NOT USER PFC LOAD
  2010. EXECUTE 3BF
  2011.  
  2012. * *3BF* DOES NOT RETURN HERE.
  2013.  
  2014. LPM1 LDD FG GET BATCHIO FLAGS
  2015. LPN 10 SHORT PAPER FLAG
  2016. SHN 6-3 ADD 100B TO SPACE CODE IF SHORT PAPER
  2017. STD T1
  2018. LDA IR+3 FETCH SPACING CODE PARAMETER
  2019. ADN 4
  2020. CRD CM
  2021. LDD CM+2
  2022. LPN 77
  2023. LPM1.1 ADD T1 SC + 100B = SHORT PAPER CODE
  2024. STD T5
  2025. LDN 0 CLEAR USER FORMS CONTROL INDICATOR
  2026. STD FP+3
  2027. STD T2 INITIALIZE TABLE POINTER
  2028. LPM2 LDD T5
  2029. LMM PFCO,T2 COMPARE ENTRY
  2030. ZJN LPM3 IF MATCH
  2031. LDN 2 ADVANCE TABLE INDEX
  2032. RAD T2
  2033. LMN PFCOL
  2034. NJN LPM2 IF NOT END OF TABLE
  2035. UJN LPM1.1 SET DEFAULT SPACING CODE
  2036.  
  2037. LPM3 LDM PFCO+1,T2 SET OVERLAY NAME
  2038. LMC 1L5
  2039. EXECUTE 5BA,=
  2040. EXECUTE 5BB,=
  2041. EXECUTE 5BC,=
  2042. EXECUTE 5BD,=
  2043. RJM EXR LOAD OVERLAY
  2044. STD T5 SET LENGTH OF 8 LPI IMAGE
  2045. RJM CON CONNECT EQUIPMENT
  2046. RJM FCP FIND 6/8 COINCIDENT POINT
  2047. LDN 17 LOAD 8 LPI IMAGE
  2048. RJM LPI
  2049. STM LL8L
  2050. LDD T5 SET START OF 6 LPI ARRAY
  2051. RAM LPIA
  2052. LDD T7 SET LENGTH OF 6 LPI ARRAY
  2053. STD T5
  2054. RJM WNB WAIT INITIALIZATION COMPLETE
  2055. LDN 16 LOAD 6 LPI IMAGE
  2056. RJM LPI
  2057. STM LL6L
  2058. RJM WNB WAIT INITIALIZATION COMPLETE
  2059. RJM RAD RELEASE AND DISCONNECT
  2060. LDD ES CHECK USER PFC IMAGE ON LAST JOB
  2061. SHN 21-6
  2062. MJN LPM4 IF USER FORMS CONTROL
  2063. LDD T3 CHECK NUMBER OF SINGLE SPACES
  2064. LMN 5
  2065. ZJN LPM5 IF ONE LINE ADVANCE TO COINCIDENT POINT
  2066. LPM4 LDD ES CLEAR USER FORMS CONTROL INDICATOR
  2067. LPC 7677
  2068. STD ES
  2069. SFA EST,EQ STORE EST ENTRY
  2070. ADK EQDE
  2071. CWD ES
  2072. NFA BF,R READ BUFFER POINT WORD
  2073. ADN 1
  2074. CRD CM
  2075. LDN ECPA SET MESSAGE *CHECK PAPER ALIGNMENT*
  2076. STD CM
  2077. NFA BF,R STORE MESSAGE CODE
  2078. ADN 1
  2079. CWD CM
  2080. LDD CP STORE *B* DISPLAY MESSAGE
  2081. ADN MS2W
  2082. CWM LPMA,TR
  2083. LDN 4 INDICATE PRINTER HOLDING TO DRIVER
  2084. RAD BS+4
  2085. LPM5 LJM LPMX EXIT
  2086.  
  2087. LPMA DATA C+$REQUEST *I* DISPLAY.+
  2088. TITLE SUBROUTINES.
  2089. CON SPACE 4,10
  2090. ** CON - CONNECT EQUIPMENT.
  2091. *
  2092. * ENTRY (ES - ES+4) = EST ENTRY.
  2093. *
  2094. * EXIT EQUIPMENT CONNECTED.
  2095. * CHANNEL RESERVED.
  2096. *
  2097. * USES FC, T1, T2.
  2098. *
  2099. * CALLS GST, IFN.
  2100. *
  2101. * MACROS RCHAN.
  2102.  
  2103.  
  2104. CON4 DCN CH+40
  2105. RJM GST GET STATUS OF 6681 AND EQUIPMENT
  2106.  
  2107. CON SUBR ENTRY/EXIT
  2108. LDC TCHS
  2109. STD T1
  2110. UJN CON2 MODIFY CHANNEL INSTRUCTIONS
  2111.  
  2112. CON1 RAI T2
  2113. AOD T1
  2114. CON2 LDI T1
  2115. STD T2
  2116. LDD ES+1
  2117. LPN 37
  2118. CHTL *
  2119. SBN CH
  2120. NJN CON1 IF MORE CHANNEL INSTRUCTIONS TO MODIFY
  2121. LDD ES+1 RESERVE CHANNEL
  2122. RCHAN
  2123. LDN 10 SELECT MODE II CONNECT
  2124. RJM IFN
  2125. LDD ES+4 OUTPUT CONNECT CODE
  2126. LPC 7000 SAVE CONNECT CODE
  2127. STD FC
  2128. OAN CH+40
  2129. LCN 0 TIME OUT CONNECT
  2130. CON3 EJM CON4,CH IF CONNECT RESPONSE RECEIVED
  2131. SBN 1
  2132. NJN CON3 IF NOT TIMED OUT
  2133. LDN EFTM *FUNCTION TIMEOUT* ERROR
  2134. * LJM ERR PROCESS ERROR
  2135. ERR SPACE 4,10
  2136. ** ERR - ERROR PROCESSOR.
  2137. *
  2138. * ENTRY (A) = ERROR CODE.
  2139. * (ES+1) = CHANNEL (RESERVED).
  2140. *
  2141. * EXIT (FET+6) SET WITH ERROR STATUS.
  2142. *
  2143. * CALLS WSB.
  2144. *
  2145. * MACROS DCHAN, NFA.
  2146.  
  2147.  
  2148. ERR STM ERRA+1 STORE ERROR CODE
  2149. IJM ERR1,CH IF CHANNEL INACTIVE
  2150. DCN CH+40
  2151. ERR1 LDD FC SET FUNCTION CODE
  2152. STM ERRA+4
  2153. NFA BF,R STORE SECOND BUFFER POINT WORD
  2154. ADN 1
  2155. CWM ERRA,ON
  2156. ERR2 LDD ES+1 RELEASE CHANNEL
  2157. DCHAN
  2158. LDA IR+3 STORE FILE PARAMETER WORD
  2159. ADN FPW2
  2160. CWD F6
  2161. RJM WSB CLEAR STATUS BLOCK INTERLOCK (IF SET)
  2162. LDC CECF CHANGE REQUEST TO *CHANNEL ERROR*
  2163. ERRC EQU *-1
  2164. * LDC CECF+4000 REQUEUE FILE ON READY DROP
  2165. STD BS+4
  2166. LJM CEC PROCESS HARDWARE ERROR / REQUEUE FILE
  2167.  
  2168. ERRA CON EOHE
  2169. CON 0 ERROR CODE
  2170. CON 0
  2171. ERRB CON 0 PP NUMBER
  2172. FCN SPACE 4,10
  2173. ** FCN - ISSUE FUNCTION TO EQUIPMENT.
  2174. *
  2175. * ENTRY (A) = FUNCTION CODE.
  2176. *
  2177. * EXIT FUNCTION COMPLETED.
  2178. * IF THE FUNCTION IS NOT ACCEPTED AND A FUNCTION
  2179. * TIMEOUT OCCURS, EXIT IS MADE TO *ERR*.
  2180. *
  2181. * USES FC, T6.
  2182. *
  2183. * CALLS ERR, GST.
  2184.  
  2185.  
  2186. FCN3 RJM GST GET 6681 AND EQUIPMENT STATUS
  2187. ZJN FCNX IF NO ERRORS RETURN
  2188. LDN ERJM REJECT/TRANSMISSION PARITY ERROR
  2189. UJN FCN2 PROCESS ERROR
  2190.  
  2191. FCN SUBR ENTRY/EXIT
  2192. FAN CH ISSUE FUNCTION
  2193. STD FC SAVE FUNCTION
  2194. LCN 0 SET TIMEOUT LIMIT
  2195. FCN1 IJM FCN3,CH IF FUNCTION ACCEPTED
  2196. SBN 1
  2197. NJN FCN1 IF NOT TIMED OUT
  2198. LDN EFTM *FUNCTION TIMEOUT*
  2199. FCN2 LJM ERR PROCESS ERROR
  2200. FCP SPACE 4,10
  2201. ** FCP - FIND 6/8 LINE COINCIDENT POINT.
  2202. *
  2203. * ENTRY (EQ) = EST ORDINAL.
  2204. * (ES - ES+4) = EST ENTRY.
  2205. *
  2206. * EXIT (T3) = SINGLE LINE SPACE INDICATOR.
  2207. * BIT 6 SET IN (ES) IF PAPER ALIGNMENT CHECK REQUIRED.
  2208. * PRINTER AT 6/8 LINE COINCIDENT POINT.
  2209. *
  2210. * CALLS FCN, GMS, WNB.
  2211. *
  2212. * MACROS SFA.
  2213.  
  2214.  
  2215. FCP SUBR ENTRY/EXIT
  2216. LDN 6 SET SINGLE SPACE LIMIT
  2217. STD T3
  2218. RJM WNB WAIT NOT BUSY
  2219. LDN 30 DESELECT AUTO EJECT
  2220. RJM FCN
  2221. RJM GMS GET MAINTENANCE STATUS
  2222. LPN 2
  2223. NJN FCP3 IF PFC ERROR
  2224. LDD FG CHECK FOR PFC SIZE CHANGE
  2225. SHN 10-3 LAST PFC BIT
  2226. LMD ES COMPARE WITH CURRENT PFC
  2227. SHN 21-10
  2228. PJN FCP0 IF PAPER SIZE HAS NOT CHANGED
  2229. LDD ES
  2230. LPC 7677 SET USER PFC FLAG
  2231. LMC 500 CHANGE LAST PFC BIT
  2232. STD ES
  2233. FCP0 LDD ES CHECK FOR USER PFC
  2234. SHN 21-6
  2235. MJN FCP2 IF USER FORMS CONTROL
  2236. LDN 61 SKIP TO CHANNEL 9
  2237. FCP1 RJM FCN
  2238. RJM WNB WAIT NOT BUSY
  2239. FCP2 LDD ST CHECK STATUS
  2240. SHN 21-13
  2241. MJP FCPX IF 6-8 LINE COINCIDENT
  2242. SOD T3
  2243. ZJN FCP4 IF SINGLE SPACE LIMIT
  2244. LDN 1 SELECT SINGLE SPACE
  2245. UJN FCP1 ISSUE FUNCTION
  2246.  
  2247. FCP3 LDD ES SET PAPER ALIGNMENT CHECK
  2248. LPC 7677
  2249. LMD HN
  2250. STD ES
  2251. LDD ST CHECK EQUIPMENT READY
  2252. LPN 1
  2253. NJN FCP2 IF NOT ERROR 3 (READY DROP)
  2254. FCP4 SFA EST,EQ STORE EST ENTRY
  2255. ADK EQDE
  2256. CWD ES
  2257. LJM LPI1 SET *PFC ERROR*
  2258. GMS SPACE 4,10
  2259. ** GMS - GET MAINTENANCE STATUS.
  2260. *
  2261. * EXIT (A) = PFC STATUS.
  2262. * (T2) = MAINTENANCE STATUS.
  2263. *
  2264. * CALLS FCN.
  2265.  
  2266.  
  2267. GMS SUBR ENTRY/EXIT
  2268. LDN 65 SELECT MAINTENANCE STATUS MODE
  2269. RJM FCN
  2270. LDD ST SAVE MAINTENANCE STATUS
  2271. STD T2
  2272. LDN 66 CLEAR MAINTENANCE STATUS MODE
  2273. RJM FCN
  2274. LDD T2 EXTRACT PFC STATUS
  2275. SHN 6+3
  2276. LPN 3
  2277. UJN GMSX RETURN
  2278. GST SPACE 4,10
  2279. ** GST - GET STATUS OF 6681 AND EQUIPMENT.
  2280. *
  2281. * EXIT (A) = BITS 0 - 2 OF 6681 STATUS.
  2282. * (CS) = 6681 STATUS.
  2283. * (ST) = EQUIPMENT STATUS.
  2284. * IF FUNCTION 65 WAS PREVIOUSLY ISSUED,
  2285. * (ST) WILL CONTAIN THE MAINTENANCE STATUS.
  2286. *
  2287. * CALLS RST.
  2288.  
  2289.  
  2290. GST SUBR ENTRY/EXIT
  2291. LDN 13 GET EQUIPMENT STATUS
  2292. RJM RST
  2293. LDN 12 GET CONVERTER STATUS
  2294. RJM RST
  2295. LDD CS CHECK CONVERTER STATUS
  2296. LPN 7
  2297. UJN GSTX RETURN
  2298. IFN SPACE 4,10
  2299. ** IFN - ISSUE FUNCTION TO CONVERTER.
  2300. *
  2301. * ENTRY (A) = FUNCTION CODE/100.
  2302. *
  2303. * EXIT (T1) = FUNCTION CODE.
  2304. * CHANNEL ACTIVE.
  2305. *
  2306. * USES T1, FC.
  2307. *
  2308. * CALLS ERR.
  2309.  
  2310.  
  2311. IFN2 ACN CH
  2312.  
  2313. IFN SUBR ENTRY/EXIT
  2314. SHN 6
  2315. FAN CH ISSUE FUNCTION
  2316. STD T1 SAVE FUNCTION CODE
  2317. LDN 6
  2318. IFN1 IJM IFN2,CH IF FUNCTION ACCEPTED
  2319. SBN 1
  2320. NJN IFN1 IF NOT TIMED OUT
  2321. LDD T1
  2322. STD FC
  2323. LDN EFTM *FUNCTION TIMEOUT* ERROR
  2324. LJM ERR PROCESS ERROR
  2325. LPI SPACE 4,10
  2326. ** LPI - LOAD PFC IMAGE.
  2327. *
  2328. * ENTRY (A) = FUNCTION CODE FOR 6/8 LPI.
  2329. * (T5) = LENGTH OF PFC IMAGE.
  2330. *
  2331. * EXIT (A) = VALUE ON RETURN FROM *SBF*.
  2332. * TO *ERR* IF ERROR.
  2333. *
  2334. * USES FC.
  2335. *
  2336. * CALLS ERR, FCN, GST, GMS, IFN, SBF.
  2337.  
  2338.  
  2339. LPI5 LDN 13 SELECT EXTENDED ARRAY MODE
  2340. RJM FCN
  2341. RJM SBF DETERMINE LINE LIMIT FOR PAGE
  2342.  
  2343. LPI SUBR ENTRY/EXIT
  2344. RJM FCN ISSUE FUNCTION
  2345. LDN 14 CLEAR EXTENDED ARRAY MODE
  2346. RJM FCN
  2347. LDN 24 SELECT ABNORMAL *EOP* INTERRUPT
  2348. RJM FCN
  2349. LDN 16 OUTPUT IMAGE ARRAY
  2350. RJM IFN
  2351. LDD T5 WORD COUNT
  2352. OAM BFMS,CH
  2353. LPIA EQU *-1
  2354. NJN LPI3 IF INCOMPLETE DATA TRANSFER
  2355. FJM *,CH
  2356. DCN CH+40
  2357. RJM GST GET 6681 AND EQUIPMENT STATUS
  2358. NJN LPI4 IF ERROR
  2359. RJM GMS GET MAINTENANCE STATUS
  2360. ZJN LPI5 IF NO ERROR
  2361.  
  2362. * ENTERED HERE FROM *FCP*.
  2363.  
  2364. LPI1 LDD T2 SET MAINTENANCE STATUS
  2365. STD FC
  2366. LDN EPFC *PFC ERROR*
  2367. LPI2 LJM ERR PROCESS ERROR
  2368.  
  2369. LPI3 STD CS STORE NUMBER OF UNTRANSFERED BYTES
  2370. LDN EITM *INCOMPLETE TRANSFER*
  2371. UJN LPI2 PROCESS ERROR
  2372.  
  2373. LPI4 LDN ERJM REJECT/TRANSMISSION PARITY ERROR
  2374. UJN LPI2 PROCESS ERROR
  2375. PCP SPACE 4,10
  2376. ** PCP - PROCESS CHANNEL PARITY.
  2377. *
  2378. * ENTRY (A) = RECOVERY FLAG.
  2379. * (T1) = FUNCTION CODE.
  2380. *
  2381. * EXIT TO *ERR2* IF UNRECOVERED ERROR.
  2382. *
  2383. * USES CM - CM+4.
  2384. *
  2385. * CALLS CEC, PDF.
  2386.  
  2387.  
  2388. PCP SUBR ENTRY/EXIT
  2389. SHN 14
  2390. LMM EQSB+CMCP FORM RETRY COUNT + RECOVERY FLAG
  2391. SHN 6
  2392. STD CM+2
  2393. LDN ECLE SET *I* DISPLAY MESSAGE CODE
  2394. STD CM
  2395. LDN ECRE SET DAYFILE MESSAGE CODE
  2396. STD CM+1
  2397. LDM ERRB SET PP NUMBER
  2398. STD CM+3
  2399. LDD T1 SET FUNCTION CODE
  2400. STD CM+4
  2401. NFA BF,R STORE SECOND BUFFER POINT WORD
  2402. ADN 1
  2403. CWD CM
  2404. LDD CM+2
  2405. LPN 1
  2406. NJN PCP1 IF UNRECOVERED ERROR
  2407. STM EQSB+CMCP SET NUMBER OF TRIES TO ZERO
  2408. LDC PCPX SET RETURN ADDRESS
  2409. STM PDFA
  2410. LJM PDF1 ISSUE ERROR MESSAGE
  2411.  
  2412. PCP1 LJM ERR2 PROCESS UNRECOVERED ERROR
  2413. RAD SPACE 4,10
  2414. ** RAD - RELEASE AND DISCONNECT.
  2415. *
  2416. * ENTRY (ES+1) = CHANNEL (RESERVED).
  2417. *
  2418. * EXIT CHANNEL RELEASED.
  2419. *
  2420. * CALLS FCN.
  2421. *
  2422. * MACROS DCHAN.
  2423.  
  2424.  
  2425. RAD SUBR ENTRY/EXIT
  2426. LDN 0 CLEAR AND DISCONNECT
  2427. RJM FCN
  2428. LDD ES+1
  2429. DCHAN
  2430. UJN RADX RETURN
  2431. RST SPACE 4,15
  2432. ** RST - READ STATUS.
  2433. *
  2434. * ENTRY (A) = 12 IF REQUESTING CONVERTER STATUS.
  2435. * = 13 IF REQUESTING EQUIPMENT STATUS.
  2436. *
  2437. * EXIT (CS) = CONVERTER STATUS IF REQUESTED.
  2438. * (ST) = EQUIPMENT STATUS IF REQUESTED.
  2439. *
  2440. * USES CM, T4.
  2441. *
  2442. * CALLS IFN, PCP.
  2443.  
  2444.  
  2445. RST2 AOM EQSB+CMCP ADVANCE RETRY COUNT
  2446. SBN CHPR
  2447. MJN RST1 IF NOT AT RETRY LIMIT
  2448. LDN 1
  2449. RST3 RJM PCP PROCESS PARITY ERROR
  2450.  
  2451. RST SUBR ENTRY/EXIT
  2452. STD CM
  2453. SBN 12 SET STATUS INDEX
  2454. STD T4
  2455. RST1 LDD CM ISSUE CONVERTER FUNCTION
  2456. RJM IFN
  2457. IAN CH+40 INPUT STATUS
  2458. DCN CH+40
  2459. ERRNZ CS+1-ST CODE DEPENDS ON VALUE
  2460. STM CS,T4
  2461. SFM RST2,CH IF CHANNEL PARITY ERROR
  2462. LDM EQSB+CMCP
  2463. ZJN RSTX IF NO PREVIOUS ERROR
  2464. LDN 0
  2465. UJN RST3 PROCESS RECOVERED PARITY ERROR
  2466. SBF SPACE 4,10
  2467. ** SBF - SEARCH PFC ARRAY FOR BOTTOM OF FORM.
  2468. *
  2469. * ENTRY (T5) = LENGTH OF PFC ARRAY.
  2470. * (LPIA) = FWA OF ARRAY.
  2471. *
  2472. * EXIT (A) = NUMBER OF LINES TO BOTTOM OF FORM.
  2473. * = 0 IF FORMAT CHANNEL 12 UNDEFINED.
  2474. *
  2475. * USES T1, T2, T4.
  2476.  
  2477.  
  2478. SBF2 LDD T4 (A) = LINE COUNT TO BOTTOM OF FORM
  2479.  
  2480. SBF SUBR ENTRY/EXIT
  2481. LDM LPIA
  2482. STD T1 SET FWA OF ARRAY
  2483. ADD T5
  2484. STD T2 SET END OF ARRAY
  2485. LDN 1
  2486. STD T4
  2487. SBF1 LDI T1 CHECK UPPER CHARACTER
  2488. SHN -6
  2489. LMN 12D
  2490. ZJN SBF2 IF BOTTOM OF FORM (FORMAT CHANNEL 12)
  2491. AOD T4
  2492. LDI T1 CHECK LOWER CHARACTER
  2493. LPN 77
  2494. LMN 12D
  2495. ZJN SBF2 IF BOTTOM OF FORM
  2496. AOD T4
  2497. AOD T1 ADVANCE ARRAY ADDRESS
  2498. LMD T2
  2499. NJN SBF1 IF NOT END OF ARRAY
  2500. * LDN 0
  2501. UJN SBFX RETURN
  2502. WNB SPACE 4,10
  2503. ** WNB - WAIT NOT BUSY.
  2504. *
  2505. * USES T6.
  2506. *
  2507. * CALLS ERR, GST.
  2508.  
  2509. WNB SUBR ENTRY/EXIT
  2510. LDN 14
  2511. STM WNBA SET COUNTER
  2512. WNB1 LDD TH
  2513. STD T6
  2514. WNB2 RJM GST GET EQUIPMENT STATUS
  2515. LDD ST CHECK STATUS
  2516. LPN 3
  2517. LMN 1
  2518. ZJN WNBX IF NOT BUSY AND READY
  2519. DELAY
  2520. SOD T6 INCREMENT COUNTER
  2521. NJN WNB2 LOOP
  2522. SOM WNBA
  2523. NJN WNB1 LOOP
  2524. LDD ST CHECK FOR READY DROP
  2525. LPN 1
  2526. LMN 1
  2527. ZJN WNB3 IF NOT READY DROP
  2528. SHN 13-0
  2529. RAM ERRC
  2530. LDN ENRD
  2531. STM ERRA
  2532. LDN ECBM
  2533. WNB3 LMN ECBM *CONTROLLER HUNG BUSY*
  2534. LJM ERR PROCESS ERROR
  2535.  
  2536. WNBA CON 14 CAUSE MINIMUM DELAY OF 750 MS
  2537. TCHS SPACE 4,10
  2538. ** TCHS - CHANNEL TABLE.
  2539. * TABLE CONTAINS THE ADDRESSES OF ALL INSTRUCTIONS WHICH
  2540. * REFERENCE THE EQUIPMENT CHANNEL.
  2541.  
  2542.  
  2543. TCHS CHTB
  2544.  
  2545.  
  2546. USE LITERALS
  2547.  
  2548. OPFC EQU *+5 LOAD ADDRESS FOR *3BF*
  2549. PFCO SPACE 4,10
  2550. ** PFCO - PFC IMAGE ARRAY OVERLAY TABLE. EACH ENTRY
  2551. * CONSIST OF TWO WORDS. THE FIRST IS THE SPACING
  2552. * CODE(SC PARAMETER) CHARACTER AND THE SECOND WORD
  2553. * IS THE OVERLAY NAME CONTAINNING THE SPECIFIED
  2554. * PFC IMAGE ARRAY.
  2555. *
  2556. * FOR PRINTERS WHICH PRINT 8 LINES PER INCH ON SHORT PAPER,
  2557. * 100B IS ADDED TO THE SPACING CODE SPECIFIED IN THE FET,
  2558. * ALLOWING THE CORRECT PFC TO BE LOADED WHILE SPECIFYING THE
  2559. * SAME SPACING CODE FOR EITHER SIZE PAPER. THUS, IF SC IS THE
  2560. * SPACING CODE FOR LONG PAPER, SC+100B IS THE SPACING CODE FOR
  2561. * SHORT PAPER.
  2562.  
  2563. PFCO TABL 0,BA
  2564. * TABL 1,BA (EQUIVALENT TO DEFAULT)
  2565. TABL 2,BB
  2566. TABL 100,BC
  2567. * TABL 101,BC (EQUIVALENT TO DEFAULT)
  2568. TABL 102,BD
  2569. PFCOL EQU *-PFCO END OF OVERLAY TABLE.
  2570. ERRPL *-BFMS
  2571. TTL QAP/3BB/5BA PFC IMAGE ARRAY TABLE.
  2572. TITLE DEFAULT 580 PFC IMAGE ARRAY.
  2573. QUAL 5BA
  2574. IDENT 5BA,PFCX 580 PFC IMAGE ARRAY
  2575. *COMMENT QAP - 580 PFC IMAGE ARRAY.
  2576. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2577. PFC SPACE 4,10
  2578. ORG BFMS-7
  2579. PFC SUBR ENTRY/EXIT
  2580. LDC TPF6L SET LENGTH OF 6 LPI ARRAY
  2581. STD T7
  2582. ADN TPF8L-TPF6L (A) = LENGTH OF 8 LPI ARRAY
  2583. UJN PFCX EXIT
  2584. TPFC SPACE 4,10
  2585. * 8 LINES PER INCH ARRAY.
  2586.  
  2587. TPFC BSS 0
  2588. TPF8 DPFC 1,6,0,0
  2589. DPFC 2,0,0,0
  2590. DPFC 3,0,0,0
  2591. DPFC 4,0,0,0
  2592. DPFC 5,0,0,0
  2593. DPFC 2,0,0,0
  2594. DPFC 3,0,0,0
  2595. DPFC 4,0,0,0
  2596. DPFC 5,0,0,0
  2597. DPFC 2,0,0,0
  2598. DPFC 3,0,0,0
  2599. DPFC 4,0,0,0
  2600. DPFC 5,0,0,0
  2601. DPFC 2,0,0,0
  2602. DPFC 3,0,0,0
  2603. DPFC 4,0,0,0
  2604. DPFC 5,0,0,0
  2605. DPFC 2,0,0,0
  2606. DPFC 3,0,0,0
  2607. DPFC 4,0,0,0
  2608. DPFC 5,0,0,0
  2609. DPFC 12D,0,0,0
  2610. DPFC 1,0,0,0
  2611. DPFC 2,0,0,0
  2612. DPFC 3,0,0,0
  2613. DPFC 4,0,0,0
  2614. DPFC 5,0,0,0
  2615. DPFC 2,0,0,0
  2616. DPFC 3,0,0,0
  2617. DPFC 4,0,0,0
  2618. DPFC 5,0,0,0
  2619. DPFC 2,0,0,0
  2620. DPFC 3,0,0,0
  2621. DPFC 4,0,0,0
  2622. DPFC 5,0,0,0
  2623. DPFC 2,0,0,0
  2624. DPFC 3,0,0,0
  2625. DPFC 4,0,0,0
  2626. DPFC 5,0,0,0
  2627. DPFC 2,0,0,0
  2628. DPFC 3,0,0,0
  2629. DPFC 4,0,0,0
  2630. DPFC 5,0,0,0
  2631. DPFC 12D,0,0,9D
  2632. DPFC 17,0
  2633. TPF8L EQU *-TPF8
  2634.  
  2635. * 6 LINES PER INCH ARRAY.
  2636.  
  2637. TPF6 DPFC 1,6,0,2
  2638. DPFC 0,0,3,0
  2639. DPFC 0,4,0,0
  2640. DPFC 5,0,0,2
  2641. DPFC 0,0,3,0
  2642. DPFC 0,4,0,0
  2643. DPFC 5,0,0,2
  2644. DPFC 0,0,3,0
  2645. DPFC 0,4,0,0
  2646. DPFC 5,0,0,2
  2647. DPFC 0,0,3,0
  2648. DPFC 0,4,0,0
  2649. DPFC 5,0,0,2
  2650. DPFC 0,0,3,0
  2651. DPFC 0,4,0,0
  2652. DPFC 5,0,0,12D
  2653. DPFC 0,0,1,0
  2654. DPFC 0,2,0,0
  2655. DPFC 3,0,0,4
  2656. DPFC 0,0,5,0
  2657. DPFC 0,2,0,0
  2658. DPFC 3,0,0,4
  2659. DPFC 0,0,5,0
  2660. DPFC 0,2,0,0
  2661. DPFC 3,0,0,4
  2662. DPFC 0,0,5,0
  2663. DPFC 0,2,0,0
  2664. DPFC 3,0,0,4
  2665. DPFC 0,0,5,0
  2666. DPFC 0,2,0,0
  2667. DPFC 3,0,0,4
  2668. DPFC 0,0,5,0
  2669. DPFC 0,12D,0,9D
  2670. DPFC 17,0
  2671. TPF6L EQU *-TPF6
  2672.  
  2673. ERRNZ TPFC-BFMS
  2674. TTL QAP/3BB/5BB PFC IMAGE ARRAY TABLE.
  2675. TITLE ALTERNATE 580 PFC IMAGE ARRAY.
  2676. QUAL 5BB
  2677. IDENT 5BB,PFCX ALTERNATE 580 PFC IMAGE ARRAY
  2678. *COMMENT QAP - ALTERNATE 580 PFC IMAGE ARRAY.
  2679. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2680. PFC SPACE 4,10
  2681. ORG BFMS-7
  2682. PFC SUBR ENTRY/EXIT
  2683. LDC TPF6L SET LENGTH OF 6 LPI ARRAY
  2684. STD T7
  2685. ADN TPF8L-TPF6L (A) = LENGTH OF 8 LPI ARRAY
  2686. UJN PFCX EXIT
  2687. TPFC SPACE 4,10
  2688. * 8 LINES PER INCH ARRAY.
  2689.  
  2690. TPFC BSS 0
  2691. TPF8 DPFC 1,6,0,0
  2692. DPFC 2,0,0,0
  2693. DPFC 3,0,0,0
  2694. DPFC 4,0,0,0
  2695. DPFC 5,0,0,0
  2696. DPFC 7,0,0,0
  2697. DPFC 8D,0,0,0
  2698. DPFC 10D,0,0,0
  2699. DPFC 11D,0,0,0
  2700. DPFC 2,0,0,0
  2701. DPFC 3,0,0,0
  2702. DPFC 4,0,0,0
  2703. DPFC 5,0,0,0
  2704. DPFC 7,0,0,0
  2705. DPFC 8D,0,0,0
  2706. DPFC 10D,0,0,0
  2707. DPFC 11D,0,0,0
  2708. DPFC 2,0,0,0
  2709. DPFC 3,0,0,0
  2710. DPFC 4,0,0,0
  2711. DPFC 5,0,0,0
  2712. DPFC 12D,0,0,0
  2713. DPFC 1,0,0,0
  2714. DPFC 2,0,0,0
  2715. DPFC 3,0,0,0
  2716. DPFC 4,0,0,0
  2717. DPFC 5,0,0,0
  2718. DPFC 7,0,0,0
  2719. DPFC 8D,0,0,0
  2720. DPFC 10D,0,0,0
  2721. DPFC 11D,0,0,0
  2722. DPFC 2,0,0,0
  2723. DPFC 3,0,0,0
  2724. DPFC 4,0,0,0
  2725. DPFC 5,0,0,0
  2726. DPFC 7,0,0,0
  2727. DPFC 8D,0,0,0
  2728. DPFC 10D,0,0,0
  2729. DPFC 11D,0,0,0
  2730. DPFC 2,0,0,0
  2731. DPFC 3,0,0,0
  2732. DPFC 4,0,0,0
  2733. DPFC 5,0,0,0
  2734. DPFC 12D,0,0,9D
  2735. DPFC 17,0
  2736. TPF8L EQU *-TPF8
  2737.  
  2738. * 6 LINES PER INCH ARRAY.
  2739.  
  2740. TPF6 DPFC 1,6,0,2
  2741. DPFC 0,0,3,0
  2742. DPFC 0,4,0,0
  2743. DPFC 5,0,0,7
  2744. DPFC 0,0,8D,0
  2745. DPFC 0,10D,0,0
  2746. DPFC 11D,0,0,2
  2747. DPFC 0,0,3,0
  2748. DPFC 0,4,0,0
  2749. DPFC 5,0,0,7
  2750. DPFC 0,0,8D,0
  2751. DPFC 0,10D,0,0
  2752. DPFC 11D,0,0,2
  2753. DPFC 0,0,3,0
  2754. DPFC 0,4,0,0
  2755. DPFC 5,0,0,12D
  2756. DPFC 0,0,1,0
  2757. DPFC 0,2,0,0
  2758. DPFC 3,0,0,4
  2759. DPFC 0,0,5,0
  2760. DPFC 0,7,0,0
  2761. DPFC 8D,0,0,10D
  2762. DPFC 0,0,11D,0
  2763. DPFC 0,2,0,0
  2764. DPFC 3,0,0,4
  2765. DPFC 0,0,5,0
  2766. DPFC 0,7,0,0
  2767. DPFC 8D,0,0,10D
  2768. DPFC 0,0,11D,0
  2769. DPFC 0,2,0,0
  2770. DPFC 3,0,0,4
  2771. DPFC 0,0,5,0
  2772. DPFC 0,12D,0,9D
  2773. DPFC 17,0
  2774. TPF6L EQU *-TPF6
  2775.  
  2776. ERRNZ TPFC-BFMS
  2777. TTL QAP/3BB/5BC PFC IMAGE ARRAY TABLE.
  2778. TITLE DEFAULT 580 PFC IMAGE ARRAY FOR SHORT PAPER.
  2779. QUAL 5BC
  2780. IDENT 5BC,PFCX 580 PFC IMAGE ARRAY FOR SHORT PAPER
  2781. *COMMENT QAP - 580 PFC IMAGE ARRAY FOR SHORT PAPER.
  2782. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2783. PFC SPACE 4,10
  2784. ORG BFMS-7
  2785. PFC SUBR ENTRY/EXIT
  2786. LDC TPF6L SET LENGTH OF 6 LPI ARRAY
  2787. STD T7
  2788. ADN TPF8L-TPF6L (A) = LENGTH OF 8 LPI ARRAY
  2789. UJN PFCX EXIT
  2790. TPFC SPACE 4,10
  2791. * 8 LINES PER INCH ARRAY.
  2792.  
  2793. TPFC BSS 0
  2794. TPF8 DPFC 1,6,0,2
  2795. DPFC 0,0,3,0
  2796. DPFC 0,4,0,0
  2797. DPFC 5,0,0,2
  2798. DPFC 0,0,3,0
  2799. DPFC 0,4,0,0
  2800. DPFC 5,0,0,2
  2801. DPFC 0,0,3,0
  2802. DPFC 0,4,0,0
  2803. DPFC 5,0,0,2
  2804. DPFC 0,0,3,0
  2805. DPFC 0,4,0,0
  2806. DPFC 5,0,0,2
  2807. DPFC 0,0,3,0
  2808. DPFC 0,4,0,0
  2809. DPFC 5,0,0,2
  2810. DPFC 0,12D,0,0
  2811. DPFC 1,0,0,2
  2812. DPFC 0,0,3,0
  2813. DPFC 0,4,0,0
  2814. DPFC 5,0,0,0
  2815. DPFC 0,0,3,0
  2816. DPFC 0,4,0,0
  2817. DPFC 5,0,0,2
  2818. DPFC 0,0,3,0
  2819. DPFC 0,4,0,0
  2820. DPFC 5,0,0,2
  2821. DPFC 0,0,3,0
  2822. DPFC 0,4,0,0
  2823. DPFC 5,0,0,2
  2824. DPFC 0,0,3,0
  2825. DPFC 0,4,0,0
  2826. DPFC 5,0,0,2
  2827. DPFC 0,12D,0,9D
  2828. DPFC 17,0
  2829. TPF8L EQU *-TPF8
  2830.  
  2831. * 6 LINES PER INCH ARRAY.
  2832.  
  2833. TPF6 DPFC 1,6,2,0
  2834. DPFC 3,0,4,0
  2835. DPFC 0,5,0,2
  2836. DPFC 0,3,0,4
  2837. DPFC 0,0,5,0
  2838. DPFC 2,0,3,0
  2839. DPFC 4,0,0,5
  2840. DPFC 0,2,0,3
  2841. DPFC 0,4,0,0
  2842. DPFC 5,0,2,0
  2843. DPFC 3,0,4,0
  2844. DPFC 0,5,0,2
  2845. DPFC 12D,0,0,1
  2846. DPFC 0,2,0,3
  2847. DPFC 0,4,0,0
  2848. DPFC 5,0,2,0
  2849. DPFC 3,0,4,0
  2850. DPFC 0,5,0,2
  2851. DPFC 0,3,0,4
  2852. DPFC 0,0,5,0
  2853. DPFC 2,0,3,0
  2854. DPFC 4,0,0,5
  2855. DPFC 0,2,0,3
  2856. DPFC 0,4,0,0
  2857. DPFC 5,0,2,12D
  2858. DPFC 0,9D,17,0
  2859. TPF6L EQU *-TPF6
  2860.  
  2861. ERRNZ TPFC-BFMS
  2862. TTL QAP/3BB/5BD PFC IMAGE ARRAY TABLE.
  2863. TITLE ALTERNATE 580 PFC IMAGE ARRAY FOR SHORT PAPER.
  2864. QUAL 5BD
  2865. IDENT 5BD,PFCX ALTERNATE 580 PFC IMAGE FOR SHORT PAPER
  2866. *COMMENT QAP - ALTERNATE 580 PFC IMAGE, SHORT PAPER
  2867. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2868. PFC SPACE 4,10
  2869. ORG BFMS-7
  2870. PFC SUBR ENTRY/EXIT
  2871. LDC TPF6L SET LENGTH OF 6 LPI ARRAY
  2872. STD T7
  2873. ADN TPF8L-TPF6L (A) = LENGTH OF 8 LPI ARRAY
  2874. UJN PFCX EXIT
  2875. TPFC SPACE 4,10
  2876. * 8 LINES PER INCH ARRAY.
  2877.  
  2878. TPFC BSS 0
  2879. TPF8 DPFC 1,6,0,2
  2880. DPFC 0,0,3,0
  2881. DPFC 0,4,0,0
  2882. DPFC 5,0,0,7
  2883. DPFC 0,0,8D,0
  2884. DPFC 0,10D,0,0
  2885. DPFC 11D,0,0,2
  2886. DPFC 0,0,3,0
  2887. DPFC 0,4,0,0
  2888. DPFC 5,0,0,7
  2889. DPFC 0,0,8D,0
  2890. DPFC 0,10D,0,0
  2891. DPFC 11D,0,0,2
  2892. DPFC 0,0,3,0
  2893. DPFC 0,4,0,0
  2894. DPFC 5,0,0,7
  2895. DPFC 0,12D,0,0
  2896. DPFC 1,0,0,2
  2897. DPFC 0,0,3,0
  2898. DPFC 0,4,0,0
  2899. DPFC 5,0,0,7
  2900. DPFC 0,0,8D,0
  2901. DPFC 0,10D,0,0
  2902. DPFC 11D,0,0,2
  2903. DPFC 0,0,3,0
  2904. DPFC 0,4,0,0
  2905. DPFC 5,0,0,7
  2906. DPFC 0,0,8D,0
  2907. DPFC 0,10D,0,0
  2908. DPFC 11D,0,0,2
  2909. DPFC 0,0,3,0
  2910. DPFC 0,4,0,0
  2911. DPFC 5,0,0,7
  2912. DPFC 0,12D,0,9D
  2913. DPFC 17,0
  2914. TPF8L EQU *-TPF8
  2915.  
  2916. * 6 LINES PER INCH ARRAY.
  2917.  
  2918. TPF6 DPFC 1,6,2,0
  2919. DPFC 3,0,4,0
  2920. DPFC 0,5,0,7
  2921. DPFC 0,8D,0,10D
  2922. DPFC 0,0,11D,0
  2923. DPFC 2,0,3,0
  2924. DPFC 4,0,0,5
  2925. DPFC 0,7,0,8D
  2926. DPFC 0,10D,0,0
  2927. DPFC 11D,0,2,0
  2928. DPFC 3,0,4,0
  2929. DPFC 0,5,0,7
  2930. DPFC 12D,0,0,1
  2931. DPFC 0,2,0,3
  2932. DPFC 0,4,0,0
  2933. DPFC 5,0,7,0
  2934. DPFC 8D,0,10D,0
  2935. DPFC 0,11D,0,2
  2936. DPFC 0,3,0,4
  2937. DPFC 0,0,5,0
  2938. DPFC 7,0,8D,0
  2939. DPFC 10D,0,0,11D
  2940. DPFC 0,2,0,3
  2941. DPFC 0,4,0,0
  2942. DPFC 5,0,7,12D
  2943. DPFC 0,9D,17,0
  2944. TPF6L EQU *-TPF6
  2945.  
  2946. ERRNZ TPFC-BFMS
  2947. TTL QAP/3BC - GENERATE LACE CARD.
  2948. TITLE
  2949. QUAL PHD
  2950. IDENT 3BC,PHDX GENERATE LACE CARD
  2951. *COMMENT QAP - GENERATE LACE CARD.
  2952. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2953. SPACE 4
  2954. *** *PHD* GENERATES A LACE CARD TO PROVIDE A READABLE FORM OF
  2955. * IDENTIFICATION AS THE FIRST CARD OF A PUNCH DECK. THE
  2956. * NAME ON THE LACE CARD WILL NORMALLY BE THE USER INDEX HASH
  2957. * FOLLOWED BY THE JSN. IN THE CASE OF AN *SYOT* FILE OR A FILE
  2958. * OWNED BY USER INDEX 0 OR 377777B, THE NAME WILL BE THE UJN.
  2959. SPACE 4
  2960. ** ENTRY CONDITIONS.
  2961. *
  2962. *
  2963. * (BS - BS+4) = FILE NAME FROM FET.
  2964. * (FT - LM+1) = FET BUFFER POINTERS.
  2965. SPACE 4
  2966. ** EXIT CONDITIONS.
  2967. *
  2968. *
  2969. * 20B WORDS OF BINARY PUNCH DATA RETURNED TO THE CM BUFFER
  2970. * STARTING AT *OUT*.
  2971. TITLE MAIN ROUTINE.
  2972. PHD SPACE 4
  2973. ** PHD - MAIN ROUTINE.
  2974.  
  2975.  
  2976. ORG OVL
  2977.  
  2978. PHD SUBR ENTRY/EXIT
  2979.  
  2980. * SET DATA FOR CARD IMAGE.
  2981.  
  2982. LDD BS+4 CHECK REQUEST
  2983. LMC PLEF
  2984. NJN PHD1 IF NOT USER LIMIT EXCEEDED
  2985. LDC 1030
  2986. STD BS+4
  2987. LJM PHD2 GENERATE PUNCH DATA
  2988.  
  2989. * GENERATE LACE CARD FROM USER INDEX HASH AND JSN.
  2990.  
  2991. PHD1 SFA QFT,FO GENERATE USER INDEX HASH
  2992. ADK JSNQ
  2993. CRD CN
  2994. ADN ENTQ-JSNQ GET DISK ADDRESS OF FILE
  2995. CRD T5
  2996. ADN SCLQ-ENTQ GET ORIGIN TYPE OF FILE
  2997. CRD CM
  2998. LDD CM
  2999. LPN 77
  3000. LMK SYOT
  3001. NJN PHD1.1 IF NOT *SYOT* FILE
  3002. AOM PHDB USE UJN FOR LACE CARD NAME
  3003. PHD1.1 LDD CN+2 SET USER INDEX FOR HASH GENERATION
  3004. LPN 77
  3005. STD T1
  3006. SHN 14
  3007. LMD CN+3
  3008. STD T2
  3009. ZJN PHD1.2 IF FILE OWNED BY USER INDEX ZERO
  3010. LMC 377777
  3011. NJN PHD1.3 IF FILE IS NOT OWNED BY USER INDEX 377777B
  3012. PHD1.2 AOM PHDB USE UJN FOR LACE CARD NAME
  3013. PHD1.3 LDD CN SET JSN IN LACE CARD IMAGE
  3014. STM PHDA+2
  3015. LDD CN+1
  3016. STM PHDA+3
  3017. RJM GBN GENERATE BANNER NAME
  3018. LDD T1 SET USER INDEX HASH IN LACE CARD IMAGE
  3019. STM PHDA
  3020. LDD T2
  3021. STM PHDA+1
  3022.  
  3023. * GENERATE LACE CARD FROM UJN (*SYOT* FILE OR FILE OWNED BY
  3024. * USER INDEX 0 OR 377777B).
  3025.  
  3026. PHDB LDN 0
  3027. * LDN (NONZERO) (FILE *SYOT* OR OWNED BY UI 0 OR 377777B)
  3028. ZJN PHD2 IF UJN NOT TO BE USED AS LACE CARD NAME
  3029. SETMS IO
  3030. LDN 0 DO NOT VERIFY FILE NAME
  3031. RJM RSS
  3032. NJN PHD2 IF ERROR IN SYSTEM SECTOR
  3033. ENDMS
  3034. LDD MA SET UJN AS LACE CARD NAME
  3035. CWM JNSS,ON
  3036. SBN 1
  3037. CRM PHDA,ON
  3038. LDM PHDA+3 ZERO FILL LACE CARD NAME
  3039. SCN 77
  3040. STM PHDA+3
  3041.  
  3042. * GENERATE PUNCH DATA.
  3043.  
  3044. PHD2 LDC BUFA SET BUFFER ADDRESS
  3045. STD T7
  3046. LDC PHDA SET BYTE ADDRESS FOR PUNCH DATA
  3047. STD T5
  3048. LDN 0 CLEAR CHARACTER INDEX
  3049. STD T6
  3050. PHD3 LDI T5 SHIFT BYTE
  3051. SHN 6
  3052. STI T5
  3053. SHN -14 LETTER INDEX = 9D * CHARACTER
  3054. STD T1
  3055. SHN 3
  3056. ADD T1
  3057. STD T1
  3058. LDN 0 CLEAR BYTE COUNT
  3059. STD T2
  3060. LDD T1 CHECK LETTER INDEX
  3061. ADC -TLTRL
  3062. MJN PHD4 IF IN TABLE
  3063. LDN 0 CLEAR INDEX
  3064. STD T1
  3065. PHD4 LDM TLTR,T1 STORE LETTER BYTE
  3066. STI T7
  3067. AOD T7 ADVANCE BUFFER
  3068. AOD T1 ADVANCE LETTER INDEX
  3069. AOD T2 ADVANCE BYTE COUNT
  3070. LMN 11
  3071. NJN PHD4 IF NOT END OF LETTER
  3072. LDC 4001 INSERT SEPARATOR BETWEEN LETTERS
  3073. STI T7
  3074. AOD T7
  3075. AOD T6 ADVANCE CHARACTER COUNT
  3076. LMN 10
  3077. ZJN PHD6 IF LACE CARD COMPLETE
  3078. LMN 10
  3079. LPN 1
  3080. NJN PHD5 IF SECOND CHARACTER IN BYTE NOT PROCESSED
  3081. AOD T5 ADVANCE BYTE
  3082. PHD5 LJM PHD3 LOOP
  3083.  
  3084. * RETURN PUNCH DATA TO CM BUFFER.
  3085.  
  3086. PHD6 RJM CIB CHECK INPUT BUFFER
  3087. ZJN PHD9 IF BUFFER FULL
  3088. PJN PHD7 IF NO ERROR
  3089. ABORT ERBA * QAP - BUFFER ARGUMENT ERROR.*
  3090.  
  3091. PHD7 STD T1 SET WORD COUNT
  3092. SBN 20
  3093. MJN PHD8 IF LESS THAN 20B WORDS
  3094. LDN 20 SET NUMBER OF WORDS TO WRITE
  3095. STD T1
  3096. PHD8 LDC BUF
  3097. RJM WBB WRITE BINARY BUFFER
  3098. LDN ZERL UPDATE IN
  3099. CRD CM
  3100. LDD IN
  3101. STD CM+3
  3102. LDD IN+1
  3103. STD CM+4
  3104. LDA IR+3 STORE *IN*
  3105. ADN 2
  3106. CWD CM
  3107. PHD9 LJM PHDX RETURN
  3108.  
  3109. PHDA DATA C* LIMIT *
  3110. TLTR SPACE 4
  3111. ** TLTR - TABLE OF LETTERS.
  3112. * EACH ENTRY IS 9D BYTES LONG.
  3113.  
  3114.  
  3115. TLTR BSS 0
  3116.  
  3117. CON 4001,4001,4001,4001,4001 (INCORRECT CHARACTERS)
  3118. CON 4001,4001,4001,4001
  3119. CON 4175,4375,4641,5441,5041 *A*
  3120. CON 5441,4641,4375,4175
  3121. CON 5775,5775,5105,5105,5105 *B*
  3122. CON 5105,5105,5775,4671
  3123. CON 4771,5775,5005,5005,5005 *C*
  3124. CON 5005,5005,5415,4411
  3125. CON 5775,5775,5005,5005,5005 *D*
  3126. CON 5005,5005,5775,4771
  3127. CON 5775,5775,5105,5105,5105 *E*
  3128. CON 5105,5105,5105,5105
  3129. CON 5775,5775,5101,5101,5101 *F*
  3130. CON 5101,5101,5101,5101
  3131. CON 4771,5775,5005,5005,5005 *G*
  3132. CON 5025,5025,5435,4435
  3133. CON 5775,5775,4101,4101,4101 *H*
  3134. CON 4101,4101,5775,5775
  3135. CON 5005,5005,5005,5775,5775 *I*
  3136. CON 5775,5005,5005,5005
  3137. CON 5011,5015,5005,5005,5775 *J*
  3138. CON 5771,5001,5001,5001
  3139. CON 5775,5775,4041,4141,4121 *K*
  3140. CON 4231,4615,5405,5001
  3141. CON 5775,5775,4005,4005,4005 *L*
  3142. CON 4005,4005,4005,4005
  3143. CON 5775,5775,4401,4201,4101 *M*
  3144. CON 4201,4401,5775,5775
  3145. CON 5775,5775,4201,4101,4041 *N*
  3146. CON 4021,4011,5775,5775
  3147. CON 4771,5775,5015,5025,5045 *O*
  3148. CON 5105,5205,5775,4771
  3149. CON 5775,5775,5101,5101,5101 *P*
  3150. CON 5101,5101,5701,4601
  3151. CON 4771,5775,5005,5025,5035 *Q*
  3152. CON 5015,5005,5775,4771
  3153. CON 5775,5775,5141,5161,5121 *R*
  3154. CON 5111,5111,5705,4605
  3155. CON 4411,5415,5605,5305,5145 *S*
  3156. CON 5065,5035,5415,4401
  3157. CON 5401,5001,5001,5775,5775 *T*
  3158. CON 5775,5001,5001,5401
  3159. CON 5771,5775,4005,4005,4005 *U*
  3160. CON 4005,4005,5775,5771
  3161. CON 5741,5761,4031,4011,4005 *V*
  3162. CON 4011,4031,5761,5741
  3163. CON 5775,5775,4015,4021,4041 *W*
  3164. CON 4021,4015,5775,5775
  3165. CON 5015,5435,4661,4341,4101 *X*
  3166. CON 4341,4661,5435,5015
  3167. CON 5001,5401,4601,4375,4175 *Y*
  3168. CON 4375,4601,5401,5001
  3169. CON 5405,5455,5075,5065,5145 *Z*
  3170. CON 5345,5645,5415,5015
  3171. CON 5775,5775,5005,5005,5005 *0*
  3172. CON 5005,5005,5775,5775
  3173. CON 4405,4405,5005,5005,5775 *1*
  3174. CON 5775,4005,4005,4005
  3175. CON 5415,5435,5065,5145,5105 *2*
  3176. CON 5205,5605,5405,4005
  3177. CON 5105,5105,5105,5105,5105 *3*
  3178. CON 5105,5105,5775,5775
  3179. CON 5741,5741,4041,4041,4041 *4*
  3180. CON 5775,5775,4041,4041
  3181. CON 5705,5705,5105,5105,5105 *5*
  3182. CON 5105,5105,5175,5071
  3183. CON 5771,5775,4045,4045,4045 *6*
  3184. CON 4045,4045,4075,4031
  3185. CON 5001,5005,5015,5031,5061 *7*
  3186. CON 5141,5301,5601,5401
  3187. CON 4671,5775,5105,5105,5105 *8*
  3188. CON 5105,5105,5775,4671
  3189. CON 4601,5701,5101,5101,5101 *9*
  3190. CON 5101,5101,5775,4775
  3191.  
  3192. TLTRL EQU *-TLTR
  3193. SPACE 4,10
  3194. * COMMON DECKS.
  3195.  
  3196.  
  3197. *CALL COMPGBN
  3198. *CALL COMPRSS
  3199. BUF SPACE 4
  3200. ** BUF - ASSEMBLY BUFFER.
  3201.  
  3202.  
  3203. BUF CON 7777
  3204. CON 4001
  3205. BUFA BSS 0
  3206.  
  3207. BUFL EQU 8D*10D 8 LETTERS AT 10D BYTES/LETTER
  3208. ERRNG EPFW-BUFA-BUFL BUFFER OVERFLOWS INTO *EPFW*
  3209. EJECT
  3210. TTL QAP/3BD - PROCESS OPERATOR REQUEST.
  3211. QUAL POR
  3212. IDENT 3BD,PORX PROCESS OPERATOR REQUEST
  3213. *COMMENT QAP - PROCESS OPERATOR REQUEST.
  3214. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3215. SPACE 4
  3216. *** *POR* PROCESSES SPECIAL OPERATOR REQUESTS THAT ARE
  3217. * CUMBERSOME FOR 1CD TO PERFORM.
  3218. SPACE 4
  3219. ** ENTRY CONDITIONS.
  3220. *
  3221. *
  3222. * (EQ) = EST ORDINAL OF PRINTER.
  3223. * (FP - FP+4) = WORD 5 OF FET.
  3224. * (BS - BS+4) = FIRST WORD OF FET.
  3225. * (FT - FT+1) = *FIRST* POINTER.
  3226. * (IN - IN+1) = *IN* POINTER.
  3227. * (OT - OT+1) = *OUT* POINTER.
  3228. * (LM - LM+1) = *LIMIT* POINTER.
  3229. SPACE 4
  3230. ** EXIT CONDITIONS.
  3231. *
  3232. *
  3233. * FET AND *CIO* REQUEST SET UP TO REPOSITION PRINT FILE.
  3234. TITLE MAIN PROGRAM.
  3235. ** POR - MAIN ROUTINE.
  3236.  
  3237.  
  3238. ORG OVL
  3239.  
  3240. POR SUBR ENTRY/EXIT
  3241. NFA BF,R READ BUFFER POINT WORD
  3242. CRD ES
  3243. ADN 1 READ REPEAT COUNT
  3244. CRD CM
  3245. LDD ES+4 SET REQUEST PARAMETER
  3246. SHN -6
  3247. NJN POR1 IF PARAMETER GIVEN
  3248. LDN 1 SET DEFAULT COUNT
  3249. POR1 STD T6
  3250. STD T4
  3251. LDD ES+4 EXTRACT REQUEST CODE
  3252. LPN 77
  3253. STD T5
  3254. LDD CM+4
  3255. SHN 6
  3256. LMN CPHP SET DRIVER CONTINUE RESPONSE
  3257. STD ES+4
  3258. LDD BS+3 CLEAR LEVEL NUMBER
  3259. SCN 77
  3260. STD BS+3
  3261. LDM TOPF,T5 PROCESS REQUEST
  3262. STD T1
  3263. LJM 0,T1
  3264. TOPF SPACE 4
  3265. ** TOPF - TABLE OF OPERATOR REQUESTS PROCESSORS.
  3266. * INDEXED BY REQUEST CODE. (DEFINED IN COMSBIO)
  3267. * ONE WORD ENTRY IN FORMAT -
  3268. *
  3269. *T 12/ ADDR
  3270. * ADDR = ADDRESS OF REQUEST PROCESSOR.
  3271.  
  3272.  
  3273. TOPF INDEX
  3274. INDEX BKPO,BKP BACKSPACE PRUS
  3275. INDEX BKRO,BKR BACKSPACE RECORDS
  3276. INDEX BKFO,BKF BACKSPACE FILES
  3277. INDEX SKPO,SKP SKIP PRUS
  3278. INDEX SKRO,SKR SKIP RECORDS
  3279. INDEX SKFO,SKF SKIP FILES
  3280. INDEX LNLP,LNL LOCATE NEXT LINE
  3281. INDEX LCBP,LCB LOAD CENTRAL BUFFER
  3282. INDEX FPRE TABLE TERMINATOR
  3283. TITLE REQUEST PROCESSORS.
  3284. BKF SPACE 4
  3285. ** BKF - BACKSPACE FILES.
  3286.  
  3287.  
  3288. BKF BSS 0
  3289. LDN 74 SET LEVEL 17
  3290. RAD BS+3
  3291. UJN BKR PROCESS SKIP
  3292. BKP SPACE 4
  3293. ** BKP - BACKSPACE PRUS.
  3294.  
  3295.  
  3296. BKP BSS 0
  3297. RJM COB CHECK OUTPUT BUFFER
  3298. SHN -6
  3299. RAD T4
  3300. LDN LNLP-CPHP SET NEXT FUNCTION
  3301. RAD ES+4
  3302. LDN 44
  3303. UJN BKR1 PROCESS *BKSPRU*
  3304. BKR SPACE 4
  3305. ** BKR - BACKSPACE RECORDS.
  3306.  
  3307.  
  3308. BKR BSS 0
  3309. LDC 640 SET *SKIPB* REQUEST
  3310. BKR1 LJM SKR1
  3311. SKF SPACE 4
  3312. ** SKF - SKIP FILES.
  3313.  
  3314.  
  3315. SKF BSS 0
  3316. LDN 74 SET LEVEL 17
  3317. RAD BS+3
  3318. LJM SKR PROCESS SKIP
  3319. SKP SPACE 4
  3320. ** SKP - SKIP PRUS.
  3321.  
  3322.  
  3323. SKP BSS 0
  3324. LDN LNLP-CPHP SET NEXT FUNCTION
  3325. RAD ES+4
  3326. RJM COB CHECK OUTPUT BUFFER
  3327. STD T3
  3328. ADN 77
  3329. SHN -6 CONVERT TO SECTOR COUNT
  3330. SBD T6
  3331. MJN SKP2 IF SKIP OUT OF BUFFER
  3332. SHN 6
  3333. SBD T3 REMOVE WORD COUNT
  3334. LMC -0
  3335. ADD OT+1
  3336. STD CM+4 FORM *OUT* POINTER
  3337. SHN -14
  3338. ADD OT
  3339. STD CM+3
  3340. SBD LM CHECK FOR WRAP AROUND
  3341. SHN 14
  3342. ADD CM+4
  3343. SBD LM+1
  3344. MJN SKP1 IF NO WRAP AROUND
  3345. ADD FT+1
  3346. STD CM+4
  3347. SHN -14 RESET *OUT* POINTER
  3348. ADD FT
  3349. STD CM+3
  3350. SKP1 LDC BCAX
  3351. UJN SKP4 SET FINAL TRANSFER AND BUFFER STATUS
  3352.  
  3353. SKP2 LMC -0 SET SKIP COUNT
  3354. STD T4
  3355. RJM ECB EMPTY BUFFER
  3356. LDD LM
  3357. SBD FT
  3358. SHN 14 FIND BUFFER SIZE
  3359. ADD LM+1
  3360. SBD FT+1
  3361. SHN -6 BUFFER SIZE IN PRUS
  3362. SBD T4
  3363. PJN SKP3 IF SKIP LESS THAN BUFFER
  3364. RAD T4 SKIP ONLY TO FULL BUFFER
  3365. SKP3 LDD T4
  3366. SHN 6
  3367. RAD CM+4 SET *OUT* TO PROPER NUMBER OF SECTORS
  3368. SHN -14
  3369. RAD CM+3
  3370. LDN LCBP-LNLP SET NEXT FUNCTION
  3371. RAD ES+4
  3372. LDC 60S12+SKR3
  3373. SKP4 STM PDFA SET FINAL TRANSFER
  3374. SHN -14 SET BUFFER STATUS
  3375. SHN 3
  3376. STD BS+4
  3377. LDA IR+3 STORE BUFFER STATUS
  3378. CWD BS
  3379. ADN 3 STORE *OUT* POINTER
  3380. CWD CM
  3381. UJN SKR2
  3382. SKR SPACE 4
  3383. ** SKR - SKIP RECORDS.
  3384.  
  3385.  
  3386. SKR BSS 0
  3387. LDC 240 SET *SKIPR* REQUEST
  3388. SKR1 STD BS+4
  3389. RJM ECB EMPTY BUFFER
  3390. LDC SKR3
  3391. STM PDFA SET EXIT FOR CIO CALL
  3392. LDD T4
  3393. SHN 6 SET SKIP COUNT IN CIO CALL
  3394. RAD IR+3
  3395. SHN -14
  3396. STD IR+2
  3397. LDA IR+3,M STORE CIO FUNCTION CODE
  3398. CWD BS
  3399. SKR2 NFA BF,R SEND DRIVER CONTINUE
  3400. CWD ES
  3401. SFA EST,EQ RESTORE EST ENTRY
  3402. ADK EQDE
  3403. CRD ES
  3404. LDD T6
  3405. STD CM+2
  3406. LDD T5
  3407. LJM PDF2 EXIT TO MESSAGE PROCESSOR WITH REQUEST
  3408.  
  3409. SKR3 LJM CIO CALL *CIO*
  3410. LCB SPACE 4,10
  3411. ** LCB - LOAD CENTRAL BUFFER.
  3412.  
  3413.  
  3414. LCB BSS 0
  3415. RJM ECB EMPTY BUFFER
  3416. LCB1 LDN LNLP-CPHP SET NEXT FUNCTION
  3417. RAD ES+4
  3418. LDC 600 SET *CIO* FUNCTION TO *READEI*
  3419. STD BS+4
  3420. LDA IR+3 STORE BUFFER STATUS
  3421. CWD BS
  3422. NFA BF,R STORE DRIVER FUNCTION
  3423. CWD ES
  3424. UJN SKR3 CALL *CIO*
  3425. LNL SPACE 4,10
  3426. ** LNL - LOCATE NEXT LINE.
  3427.  
  3428.  
  3429. LNL BSS 0
  3430. LDN 35 SET LENGTH OF LINE + 1 WORD
  3431. STD T4
  3432. RJM COB CHECK OUTPUT BUFFER
  3433. SBD T4
  3434. MJN LCB1 IF NOT 1 LINE AND 1 WORD
  3435. LDN 1 SET WORD COUNT FOR READ
  3436. STD T3
  3437. LNL1 LDN CM READ WORD FROM CENTRAL BUFFER
  3438. RJM RBB
  3439. LDD CM+4
  3440. ZJN LNL2 IF END OF LINE FOUND
  3441. SOD T4
  3442. NJN LNL1 IF NOT MAXIMUM LINE LENGTH
  3443. LNL2 LDN ZERL
  3444. CRD CM
  3445. LDD OT SETUP *OUT* POINTER
  3446. STD CM+3
  3447. LDD OT+1
  3448. STD CM+4
  3449. LDC 600 SET *CIO* FUNCTION TO *READEI*
  3450. STD BS+4
  3451. LDA IR+3 STORE *OUT* POINTER
  3452. CWD BS STORE BUFFER STATUS
  3453. ADN 3
  3454. CWD CM
  3455. NFA BF,R SEND DRIVER CONTINUE
  3456. CWD ES
  3457. LJM BCAX EXIT
  3458. TTL QAP/3BE - CHANNEL ERROR CLEANUP.
  3459. TITLE
  3460. QUAL CEC
  3461. IDENT 3BE,CECX CHANNEL ERROR CLEANUP
  3462. *COMMENT QAP - CHANNEL ERROR CLEANUP.
  3463. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3464. CEC SPACE 4
  3465. *** *CEC* CLEANS UP AFTER REPEATED CHANNEL ERRORS.
  3466. * OUTPUT FILES ARE REQUEUED. ANY TRACKS ASSIGNED TO INPUT
  3467. * FILES ARE DROPPED. THE FAULTY EQUIPMENT IS TURNED OFF.
  3468. * ERROR LOG MESSAGES ARE ISSUED.
  3469. * *CEC* ALSO REQUEUES FILES FOR RERUN REQUESTS.
  3470. CEC SPACE 4,10
  3471. ** ENTRY CONDITIONS.
  3472. *
  3473. *
  3474. * (BS+4) = *CECF* IF CHANNEL ERROR.
  3475. * = *RQFF* IF RERUN REQUEST.
  3476. * = *CECF* + 4000B IF PRINTER READY DROP.
  3477. *
  3478. * (BF) = BUFFER POINT ADDRESS.
  3479. * (EQ) = EST ORDINAL.
  3480. * (FA) = FNT ADDRESS.
  3481. * (FP - FP+4) = FILE PARAMETERS.
  3482. CEC SPACE 4,10
  3483. ** EXIT CONDITIONS.
  3484. *
  3485. *
  3486. * IF CHANNEL ERROR -
  3487. * OUTPUT FILES REQUEUED.
  3488. * INPUT FILE TRACKS DROPPED.
  3489. * EQUIPMENT TURNED OFF.
  3490. * IF RERUN REQUEST -
  3491. * OUTPUT FILE REQUEUED.
  3492. TITLE MAIN ROUTINE.
  3493. ** CEC - MAIN ROUTINE.
  3494.  
  3495.  
  3496. ORG OVL
  3497.  
  3498. CEC SUBR ENTRY/EXIT
  3499. LDD BS+4 CHECK FOR RERUN REQUEST
  3500. LMC CECF
  3501. NJN CEC0 IF NOT CONTROLLER HUNG BUSY
  3502.  
  3503. * TURN EQUIPMENT OFF.
  3504.  
  3505. LDD EQ
  3506. STD CM+1
  3507. LDN OFES SET OFF STATUS
  3508. STD CM+2
  3509. MONITOR SEQM SET EQUIPMENT PARAMETER
  3510.  
  3511. * SEND ERROR LOG MESSAGES.
  3512.  
  3513. CEC0 LDD BS+4 CHECK FOR PRINTER READY DROP
  3514. LPC 4000
  3515. RAD BS+4
  3516. SHN 0-14
  3517. ZJN CEC1 IF NOT PRINTER READY DROP
  3518. LDN CEC6-CEC2
  3519. CEC1 ADC CEC2 SET RETURN ADDRESS
  3520. STM PDFA
  3521. LJM PDF1 ISSUE ERROR LOG MESSAGE
  3522.  
  3523. CEC2 LDD BS+4 CHECK FOR RERUN REQUEST
  3524. LMC CECF
  3525. ZJN CEC3 IF CHANNEL ERROR
  3526. LJM CEC6 RERUN REQUEST
  3527.  
  3528. CEC3 LDD CP STORE CONTROL POINT MESSAGE
  3529. ADN MS2W
  3530. CWM CECA,TR
  3531. NFA BF,R READ SECOND BUFFER POINT WORD
  3532. ADN 1
  3533. CRD CM
  3534. LDN EOHE *OFF - CHECK ERRLOG*
  3535. STD CM
  3536. NFA BF,R STORE MESSAGE CODE
  3537. ADN 1
  3538. CWD CM
  3539. LDN 0 CLEAR RETRY FIELD
  3540. STD CM+2
  3541. LDN EEOM-ERRF ISSUE ERROR LOG AND BML MESSAGES
  3542. RJM IBE
  3543. LDN ZERL SELECT *EATM* AND ENTER EVENT OPTION
  3544. CRD CM
  3545. LDN ELAE ERROR LOG ALERT
  3546. STD CM+4
  3547. MONITOR EATM
  3548. LDD FA
  3549. ZJN CEC5 IF NO FNT
  3550. NFA FA,R
  3551. CRD CM
  3552. LDD CM+4 CHECK FOR INPUT FILE TYPE
  3553. SHN -6
  3554. LMN LOFT
  3555. NJN CEC6 IF NOT INPUT FILE
  3556.  
  3557. * DROP INPUT FILE.
  3558.  
  3559. CEC5 LDN 60 *UNLOAD* FILE
  3560. STD BS+4
  3561. LDA IR+3 WRITE FET+0
  3562. CWD BS
  3563. LDN 0 CLEAR UNUSED BYTE
  3564. STD IR+2
  3565. LJM CIO CALL *CIO*
  3566.  
  3567. * REQUEUE OUTPUT FILE.
  3568.  
  3569. CEC6 NFA FA,R READ FILE NAME
  3570. CRM DSPB,ON
  3571. LDC DSPB+4 CLEAR *DSP* PARAMETER BLOCK
  3572. STD T1
  3573. CEC7 LDN 0
  3574. STI T1
  3575. AOD T1
  3576. LMC DSPB+DSPBL*5
  3577. NJN CEC7 IF NOT END OF PARAMETER BLOCK
  3578. LDK FRRC/10000+FREP/10000 SET REP. COUNT, ERROR RETURN
  3579. STM DSPB+1*5+3
  3580. LDK FRPR+FRCS SET PRIORITY AND CENTRAL SITE FLAGS
  3581. STM DSPB+1*5+4
  3582. LDN 1 SET PRIORITY FLAG IN PRIORITY FIELD
  3583. STM DSPB+3*5+3
  3584. NFA BF,R FETCH REPEAT COUNT
  3585. CRD CM
  3586. LDD CM+4 SET REPEAT COUNT
  3587. SHN -6
  3588. STM DSPB+4*5+3
  3589. LDD BS+4 CHECK FOR RERUN REQUEST
  3590. LMC CECF
  3591. ZJN CEC8 IF CHANNEL ERROR
  3592. LDD CM+2 SET OPERATOR SELECTED PRIORITY
  3593. UJN CEC9 SET SELECTED PRIORITY
  3594.  
  3595. CEC8 LCN 0
  3596. CEC9 STM DSPB+3*5+4
  3597. LDD FA SET FNT ADDRESS
  3598. STM DSPB+4*5+4
  3599. LDN DSPBL WRITE *DSP* PARAMETER BLOCK
  3600. STD T1
  3601. ADN QAPO-1
  3602. STD T2
  3603. RJM VCA VALIDATE CENTRAL ADDRESS
  3604. LDA IR+3
  3605. ADN QAPO
  3606. CWM DSPB,T1
  3607. LDN QAPO SET *DSP* PARAMETER BLOCK ADDRESS
  3608. RAD IR+4
  3609. SHN -14
  3610. RAD IR+3
  3611. LDN 0 CLEAR UNUSED BYTE
  3612. STD IR+2
  3613. EXECUTE DSP,*
  3614. LJM CPR LOAD PP ROUTINE
  3615.  
  3616. CECA DATA C+$REQUEST *I* DISPLAY.+
  3617. SPACE 4,10
  3618. OVERFLOW OVL
  3619. DSPB SPACE 4,10
  3620. ** DSPB - *DSP* PARAMETER BLOCK BUFFER.
  3621.  
  3622.  
  3623. DSPB EQU * *DSP* PARAMETER BLOCK BUFFER FWA
  3624. ERRNG 7777-DSPB-DSPBL*5-1 CHECK FOR OVERFLOW
  3625. TTL QAP/3BF - RELOAD 580 PFC MEMORY.
  3626. TITLE
  3627. QUAL PFC
  3628. IDENT 3BF,PFCX RELOAD 580 PFC MEMORY
  3629. *COMMENT QAP - RELOAD 580 PFC MEMORY.
  3630. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3631. PFC SPACE 4,10
  3632. *** *PFC* LOADS A USER SUPPLIED IMAGE TO 580 PFC MEMORY.
  3633. SPACE 4,10
  3634. ** ENTRY CONDITIONS.
  3635. *
  3636. * (BF) = BUFFER POINT ADDRESS.
  3637. * (EQ) = EST ORDINAL.
  3638. * (BS+4) = REQUEST.
  3639. * (IR+3 - IR+4) = FET ADDRESS.
  3640. * (OT - OT+1) = OUT POINTER.
  3641. * (ES - ES+4) = EST ENTRY.
  3642. * (FP - FP+4) = FILE PARAMETER WORD (FET+5).
  3643. * (F6 - F6+4) = FILE PARAMETER WORD (FET+6).
  3644. SPACE 4,10
  3645. ** EXIT CONDITIONS.
  3646. *
  3647. * TO *TPF* IF USER NOT VALIDATED FOR *CBIO* PRIVILEGES.
  3648. * *BCAX* IF USER PFC IMAGE SUCCESSFULLY LOADED.
  3649. * *TPF1* IF ERROR IN USER PFC IMAGE.
  3650. TITLE MAIN ROUTINE.
  3651. ** PFC - MAIN ROUTINE.
  3652.  
  3653.  
  3654. ORG /LPM/OPFC
  3655.  
  3656. PFC SUBR ENTRY/EXIT
  3657. LDD F6+2 CHECK USER VALIDATION
  3658. LPN 1
  3659. NJN PFC1 IF USER VALIDATED FOR SPECIAL PRIVILEGES
  3660. LDC PFCA CHANGE MESSAGE
  3661. STM TPFA
  3662. LJM TPF TERMINATE PRINT FILE
  3663.  
  3664. PFC1 LDN 2 NUMBER OF USER IMAGES TO BE PROCESSED
  3665. STD NI
  3666. LDC 210 READ UP 136D BYTES TO EOL
  3667. STM RCBA
  3668. LDD ES CHECK FOR PFC PRINTER
  3669. SHN 21-7
  3670. MJN PFC2 IF PFC PRINTER
  3671. LJM SKL SKIP LINES
  3672.  
  3673. * READ USER PFC ARRAY.
  3674.  
  3675. PFC2 LDC BUF READ CODED BUFFER
  3676. STD BA
  3677. RJM RCB
  3678. RJM CAD CONVERT ASCII TO DISPLAY
  3679. LDC BFMS SET ADDRESS FOR ASSEMBLY
  3680. STD T1
  3681. STD LA
  3682. LDN 0
  3683. STI T1
  3684. AOD BA ASSEMBLE CHARACTER STRING
  3685. RJM ACS
  3686. LDM -1,BA CHECK FOR CONTINUATION LINE
  3687. LPN 77
  3688. STD T7 SAVE 6/8 LPI DESIGNATOR
  3689. LMN 1RC
  3690. NJN PFC3 IF NO CONTINUATION LINE
  3691. LDD T1 SAVE END OF ASSEMBLY
  3692. STD T5
  3693. SOD BA READ SECOND LINE
  3694. RJM RCB
  3695. RJM CAD CONVERT ASCII TO DISPLAY
  3696. LDD T5 RESTORE ASSEMBLY ADDRESS
  3697. STD T1
  3698. AOD BA APPEND SECOND LINE
  3699. RJM ACS
  3700. PFC3 LDD T7 CHECK FOR 6/8 LPI
  3701. LMN 1R6
  3702. ZJN PFC4 IF 6 LPI
  3703. LDN 17-16
  3704. PFC4 ADN 16 SET FUNCTION CODE FOR 6 LPI
  3705. STD T7
  3706. LDI T1
  3707. ZJN PFC5 IF END OF ARRAY ON BYTE BOUNDARY
  3708. AOD T1
  3709. PFC5 LDD T1 SET LENGTH OF ARRAY
  3710. SBD LA
  3711. STD T5
  3712. SBM PFCB-16,T7
  3713. MJN PFC7 IF ARRAY NOT TOO LONG
  3714. PFC6 LJM ERR PROCESS ERROR
  3715.  
  3716. * VALIDATE USER PFC ARRAY.
  3717.  
  3718. PFC7 SOD T1
  3719. LDI T1 CHECK LAST CHARACTER
  3720. LPN 77
  3721. LMN 1R
  3722. NJN PFC8 IF NO BLANK PADDING
  3723. LCN 1R CLEAR BLANK CHARACTER
  3724. RAI T1
  3725. PFC8 LDI T1 CHECK LAST BYTE
  3726. LPN 77
  3727. NJN PFC9 IF TWO CHARACTERS
  3728. LDI T1 CHECK FOR END OF ARRAY
  3729. SHN -6
  3730. PFC9 LMN 1RO
  3731. NJN PFC6 IF NOT 17B
  3732. LDI LA CHECK START OF IMAGE
  3733. SHN -6
  3734. LMN 1RA
  3735. NJN PFC6 IF NOT TOP OF FORM
  3736. RJM CPI CHECK PFC IMAGE
  3737. LDD T2 NUMBER OF OCCURENCES OF TOP OF FORM
  3738. SBN 2
  3739. NJN PFC10 IF NOT 2 PAGE IMAGE
  3740. LDD FG CHECK PAPER SIZE
  3741. LPN 10
  3742. SHN 1-3
  3743. ADD T7
  3744. STD T3
  3745. LDM PFCB-16,T3 CHECK LENGTH OF ARRAY
  3746. SBN 1
  3747. STD T3
  3748. LMD T5
  3749. NJN PFC10 IF NOT SAME LENGTH AS SYSTEM ARRAY
  3750. SOD T3 CHECK LOCATION OF SECOND PAGE TOP OF FORM
  3751. SHN -1 DIVIDE BY 2
  3752. RAD LA
  3753. LDI LA
  3754. SHN -6
  3755. LMN 1RA
  3756. ZJN PFC11 IF SAME AS STANDARD PFC IMAGE
  3757. PFC10 LDD ES SET USER FORMS CONTROL INDICATOR
  3758. LPC 7677
  3759. LMD HN
  3760. STD ES
  3761. SFA EST,EQ STORE EST ENTRY
  3762. ADK EQDE
  3763. CWD ES
  3764. PFC11 RJM /LPM/CON CONNECT EQUIPMENT
  3765. RJM /LPM/WNB WAIT NOT BUSY
  3766. LDD T7 LOAD PFC MEMORY
  3767. RJM /LPM/LPI
  3768. RJM /LPM/RAD RELEASE AND DISCONNECT
  3769. AOD FP+3 ADVANCE COUNT OF *V* LINES
  3770. RJM UFP UPDATE FILE PARAMETERS
  3771. SOD NI
  3772. NJN PFC13 IF TWO *V* LINES NOT PROCESSED
  3773. PFC12 LJM BCAX EXIT
  3774.  
  3775. PFC13 LDA OT CHECK NEXT LINE
  3776. CRD CM
  3777. LDD F6+2
  3778. LPN 4
  3779. NJN PFC17 IF 8/12 ASCII FILE
  3780. LDD CM
  3781. SHN -6
  3782. LMN 1RV
  3783. NJN PFC12 IF NOT ANOTHER *V* LINE
  3784. LDD CM CHECK FOR V(6,8 OR C)
  3785. LPN 77
  3786. LMN 1R6
  3787. NJN PFC15 IF NOT 6 LPI
  3788. PFC14 LJM PFC2 LOOP FOR NEXT *V* LINE
  3789.  
  3790. PFC15 LMN 1R8&1R6
  3791. ZJN PFC14 IF 8 LPI
  3792. LMN 1RC&1R8
  3793. ZJN PFC14 IF 8 LPI ACROSS TWO LINES
  3794. PFC16 LJM SKL SKIP LINE
  3795.  
  3796. PFC17 LDD CM
  3797. LMC 126
  3798. NJN PFC12 IF NOT ASCII *V*
  3799. LDD CM+1
  3800. SBN 66 ASCII *6*
  3801. ZJN PFC14 IF 6 LPI
  3802. SBN 70-66 ASCII *8* - ASCII *6*
  3803. ZJN PFC14 IF 8 LPI
  3804. SBN 103-70 ASCII *C* - ASCII *8*
  3805. ZJN PFC14 IF 8 LPI ACROSS TWO LINES
  3806. UJN PFC16 SKIP LINE
  3807.  
  3808. PFCA DATA C* - USER ACCESS NOT VALID.*
  3809. BSSZ PFCA+3*5-*
  3810.  
  3811. PFCB CON /5BA/TPF6L+1,/5BA/TPF8L+1,/5BC/TPF6L+1,/5BC/TPF8L+1
  3812. CAD SPACE 4,15
  3813. ** CAD - CONVERT ASCII TO DISPLAY.
  3814. *
  3815. * ENTRY (BA) = BUFFER ADDRESS.
  3816. * T8AD = FWA OF *COMT8AD.*
  3817. *
  3818. * EXIT CONVERSION IS TERMINATED BY A ZERO BYTE.
  3819. *
  3820. * USES T1, T2.
  3821. *
  3822. * CALLS T8AD.
  3823.  
  3824.  
  3825. CAD10 STI T3 STORE EOL BYTE
  3826.  
  3827. CAD SUBR ENTRY/EXIT
  3828. LDD F6+2
  3829. LPN 4
  3830. ZJN CADX IF NOT 8/12 ASCII FILE
  3831. LDD BA
  3832. STD T2 SET PP BUFFER ADDRESS
  3833. STD T3
  3834. LDI T2
  3835. ZJN CADX IF EOL
  3836. CAD1 LDI T2
  3837. CAD2 ZJN CAD10 IF END OF LINE
  3838. SBN 40
  3839. MJN CAD3 IF CHAR .LT. 40
  3840. STD T1
  3841. ADC -140+40
  3842. MJN CAD5 IF 40 .LT. CHAR .LE. 137
  3843. ZJN CAD3 IF CHAR .EQ. 140
  3844. SBN 173-140
  3845. PJN CAD3 IF CHAR .GE. 173
  3846. LDD T1
  3847. SBN 40
  3848. UJN CAD4 CONVERT CHARACTER
  3849.  
  3850. CAD3 LDN 12 CONVERT TO INCORRECT CHARACTER
  3851. CAD4 STD T1
  3852. CAD5 LDM T8AD,T1 CONVERT TO DISPLAY CODE
  3853. SHN 6 STORE UPPER CHARACTER
  3854. STI T3
  3855. AOD T2 INCREMENT OLD BYTE ADDRESS
  3856. LDI T2
  3857. NJN CAD6 IF NOT EOL
  3858. AOD T3
  3859. LDN 0
  3860. UJN CAD2 STORE EOL BYTE
  3861.  
  3862. CAD6 SBN 40
  3863. MJN CAD7 IF CHAR .LT. 40
  3864. STD T1
  3865. ADC -140+40
  3866. MJN CAD9 IF 40 .LT. CHAR .LE. 137
  3867. ZJN CAD7 IF CHAR .EQ. 140
  3868. SBN 173-140
  3869. PJN CAD7 IF CHAR .GE. 173
  3870. LDD T1
  3871. SBN 40
  3872. UJN CAD8 CONVERT CHARACTER
  3873.  
  3874. CAD7 LDN 12 CONVERT TO INCORRECT CHARACTER
  3875. CAD8 STD T1
  3876. CAD9 LDM T8AD,T1 CONVERT TO DISPLAY CODE
  3877. RAI T3 STORE LOWER CHARACTER
  3878. AOD T2 INCREMENT OLD BYTE ADDRESS
  3879. AOD T3 INCREMENT NEW BYTE ADDRESS
  3880. LJM CAD1 LOOP TO END OF LINE
  3881. TITLE SUBROUTINES.
  3882. CPI SPACE 4,10
  3883. ** CPI - CHECK PFC IMAGE.
  3884. *
  3885. * ENTRY (T1) = END OF PFC IMAGE.
  3886. * (LA) = START OF PFC IMAGE.
  3887. *
  3888. * EXIT (T2) = NUMBER OF OCCURENCES OF TOP OF FORM.
  3889. * IF ERRORS ARE DETECTED EXIT IS MADE TO *ERR*.
  3890. *
  3891. * CALLS ERR.
  3892.  
  3893.  
  3894. CPI1 LDI T1 CHECK LOWER CHARACTER
  3895. LPN 77
  3896. SBN 1RA
  3897. NJN CPI2 IF NOT *A*
  3898. AOD T2 ADVANCE CHANNEL 1 COUNT
  3899. UJN CPI3 CHECK UPPER CHARACTER
  3900.  
  3901. CPI2 SBN 1RO-1RA CHECK RANGE OF CHARACTER
  3902. MJN CPI3 IF VALID CHANNEL
  3903. SBN 1R -1RO CHECK FOR BLANK
  3904. NJN ERR IF INCORRECT CHARACTER
  3905. LCN 1R REPLACE BLANK WITH *00*
  3906. RAI T1
  3907. CPI3 LDI T1 CHECK UPPER CHARACTER
  3908. SHN -6
  3909. SBN 1RA
  3910. NJN CPI4 IF NOT *A*
  3911. AOD T2 ADVANCE CHANNEL 1 COUNT
  3912. UJN CPI5 CHECK NEXT BYTE
  3913.  
  3914. CPI4 SBN 1RO-1RA CHECK RANGE OF CHARACTER
  3915. MJN CPI5 IF VALID CHANNEL
  3916. SBN 1R -1RO CHECK FOR BLANK
  3917. NJN ERR IF INCORRECT CHARACTER
  3918. LCN 1R REPLACE BLANK WITH *00*
  3919. SHN 6
  3920. RAI T1
  3921. CPI5 SOD T1 CHECK IF ALL CHARACTERS VERIFIED
  3922. SBD LA
  3923. PJN CPI1 IF MORE CHARACTERS TO CHECK
  3924.  
  3925. CPI SUBR ENTRY/EXIT
  3926. LDN 0 CLEAR TOP OF FORMS COUNTER
  3927. STD T2
  3928. LDI T1 CHECK END OF ARRAY
  3929. LPN 77
  3930. NJN CPI3 IF LOWER CHARACTER PRESENT
  3931. UJN CPI5 SKIP END OF ARRAY CHECK
  3932. ERR SPACE 4,10
  3933. ** ERR - ERROR ROUTINE.
  3934.  
  3935.  
  3936. ERR LDA IR+3 FETCH *OUT* POINTER
  3937. ADN 3
  3938. CRD CM
  3939. LDA CM+3 READ START OF *V* LINE
  3940. CRD T1
  3941. LDD F6+2
  3942. LPN 4
  3943. NJN ERR1 IF 8/12 ASCII FILE
  3944. LDD T1 REPLACE *V* CHARACTER WITH *-*
  3945. LPN 77
  3946. LMC 2L--
  3947. UJN ERR2 STORE START OF LINE IN ERROR
  3948.  
  3949. ERR1 LDN 55 REPLACE ASCII *V* WITH ASCII *-*
  3950. ERR2 STD T1
  3951. LDA CM+3 STORE START OF LINE IN ERROR
  3952. CWD T1
  3953. LDD OT SET *IN* TO END OF LINE IN ERROR
  3954. STD CM+3
  3955. LDD OT+1
  3956. STD CM+4
  3957. LJM TPF1 TERMINATE PRINT FILE
  3958. SKL SPACE 4,10
  3959. ** SKL - SKIP LINES.
  3960. *
  3961. * CALLS CAD, RCB, UFP.
  3962.  
  3963.  
  3964. SKL LDC BUF READ CODED BUFFER
  3965. STD BA
  3966. RJM RCB
  3967. RJM CAD CONVERT ASCII TO DISPLAY CODE
  3968. LDI BA
  3969. LPN 77
  3970. LMN 1RC
  3971. NJN SKL1 IF NOT CONTINUATION LINE
  3972. LDD BA READ SECOND LINE
  3973. RJM RCB
  3974. SKL1 SOD NI DECREMENT IMAGE COUNT
  3975. ZJN SKL4 IF LIMIT REACHED
  3976. LDA OT
  3977. CRD CM
  3978. LDD F6+2
  3979. LPN 4
  3980. ZJN SKL2 IF NOT 8/12 ASCII FILE
  3981. LDD CM
  3982. LMC 126 ASCII *V*
  3983. UJN SKL3 CHECK FOR ANOTHER *V* LINE
  3984.  
  3985. SKL2 LDD CM
  3986. SHN -6
  3987. LMN 1RV
  3988. SKL3 NJN SKL4 IF NOT ANOTHER *V* LINE
  3989. LJM SKL LOOP FOR ANOTHER *V* LINE
  3990.  
  3991. SKL4 RJM UFP UPDATE FILE POINTERS
  3992. LJM PFC12 EXIT
  3993. UFP SPACE 4,10
  3994. ** UFP - UPDATE FILE POINTERS.
  3995. *
  3996. * EXIT FET POINTERS UPDATED.
  3997.  
  3998.  
  3999. UFP SUBR ENTRY/EXIT
  4000. LDN ZERL
  4001. CRD CM
  4002. LDD OT SET *OUT* POINTER
  4003. STD CM+3
  4004. LDD OT+1
  4005. STD CM+4
  4006. LDA IR+3 STORE *OUT* POINTER
  4007. ADN 3
  4008. CWD CM
  4009. ADN 5-3 WRITE FILE PARAMETER WORD
  4010. CWD FP
  4011. UJN UFPX RETURN
  4012. SPACE 4,10
  4013. ** COMMON DECKS.
  4014.  
  4015.  
  4016. *CALL COMPRCB
  4017. *CALL COMT8AD
  4018.  
  4019. BUF EQU * WORKING BUFFER
  4020. ERRPL BUF+214-BFMS LINE BUFFER OVERFLOWS ASSEMBLY BUFFER
  4021. TTL QAP/3BG - GENERATE BANNER PAGE.
  4022. TITLE
  4023. QUAL GBP
  4024. IDENT 3BG,GBPX GENERATE BANNER PAGE
  4025. *COMMENT QAP - GENERATE BANNER PAGE.
  4026. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  4027. SPACE 4,10
  4028. *** GBP - GENERATE BANNER PAGE DATA.
  4029. *
  4030. * C. A. LACEY. 76/10/15.
  4031. * R. A. JAPS 77/03/10.
  4032. * D. R. HILGREN. 79/01/15.
  4033. * P. D. HAAS. 83/03/07.
  4034. SPACE 4,10
  4035. *** *3BG* GENERATES THE BANNER PAGE FOR A JOB WHICH IS
  4036. * BEING PRINTED. THE BANNER CONSISTS OF SYSTEM INFORMATION
  4037. * AND THE JOB SEQUENCE NUMBER (JSN) IN FORMATTED CHARACTERS.
  4038. *
  4039. * *3BG* HAS THE CAPABILITY TO RETURN A PORTION OF THE
  4040. * BANNER PAGE TO THE CM BUFFER. THIS WILL ALLOW A PROGRAM
  4041. * TO GENERATE A BANNER PAGE WITH A SERIES OF *QAP* CALLS.
  4042. SPACE 4,10
  4043. *** ENTRY CONDITIONS.
  4044. *
  4045. *
  4046. * (FO) = QFT ORDINAL.
  4047. * (CI) = CONTROL INFORMATION.
  4048. * 1/S, 11/ WCNT
  4049. * S = 1, IF SYSTEM SECTOR INFORMATION NOT NEEDED.
  4050. * WCNT = NUMBER OF CM WORDS ALREADY RETURNED.
  4051. * (WC) = 8/12 ASCII PRINT FILE FLAG IF BATCHIO CALL.
  4052. * (ES - ES+4) = PRINTER EST ENTRY (*BATCHIO* CALL ONLY).
  4053. * (ES) = PAGE SIZE. (NON-*BATCHIO* CALL).
  4054. * (FT - FT+1) = FIRST POINTER.
  4055. * (IN - IN+1) = IN POINTER.
  4056. * (OT - OT+1) = OUT POINTER.
  4057. * (LM - LM+1) = LIMIT POINTER.
  4058. SPACE 4,10
  4059. *** EXIT CONDITIONS.
  4060. *
  4061. *
  4062. * (CI) = UPDATED CONTROL INFORMATION.
  4063. * (T1) = 1030 IF ALL BANNER PAGE DATA WRITTEN TO CM BUFFER.
  4064. * (T1) = 20 IF MORE BANNER PAGE DATA TO BE RETURNED.
  4065. * BANNER PAGE RETURNED TO CM BUFFER.
  4066. * *IN* POINTER UPDATED IN FET.
  4067. SPACE 4,10
  4068. ** COMMON DECKS.
  4069.  
  4070.  
  4071. *CALL COMSMLS
  4072. MACROS SPACE 4,10
  4073. ** LINE - GENERATE 60 BITS OF DISPLAY CODE WITH EOL.
  4074. *
  4075. * LINE CHARS
  4076. *
  4077. * ENTRY *CHARS* = 1 - 8 CHARACTER STRING TO FILL 60 BITS.
  4078.  
  4079.  
  4080. LINE MACRO C
  4081. .1 MICRO 1,, C COUNT CHARACTERS IN EXPRESSION
  4082. .1 MICCNT .1
  4083. .1 DECMIC .1
  4084. VFD 48/".1"L_C,12/0
  4085. LINE ENDM
  4086. SCLASS SPACE 4,15
  4087. ** SCLASS - DEFINE SERVICE CLASS TABLE.
  4088. *
  4089. * SCLASS NM,MN,DF,ST,TX
  4090. *
  4091. * ENTRY *NM* = SERVICE CLASS NAME.
  4092. * *MN* = TWO CHARACTER MNEMONIC.
  4093. * *DF* = DAYFILE MESSAGE CHARACTER.
  4094. * *ST* = SHORT TEXT FOR *QFTLIST*.
  4095. * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
  4096. *
  4097. * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
  4098. * THIS MACRO.
  4099.  
  4100.  
  4101. PURGMAC SCLASS
  4102.  
  4103. SCLASS MACRO NM,MN,DF,ST,TX
  4104. .SCL RMT
  4105. INDEX NM,(=Z*TX_.*)
  4106. .SCL RMT
  4107. SCLASS ENDM
  4108.  
  4109.  
  4110. SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
  4111. *CALL COMSSCD
  4112. SPACE 4,10
  4113. **** DIRECT CELL USAGE.
  4114.  
  4115.  
  4116. CI EQU FP CONTROL INFORMATION
  4117. BG EQU FP+1 BANNER GENERATION FLAGS
  4118. SS EQU EQ SYSTEM SECTOR INFORMATION STATUS
  4119. WC EQU FP+2 WORD COUNT
  4120. BC EQU FP+3 NUMBER OF WORDS LEFT IN CM BUFFER
  4121. LC EQU FC LINE COUNT
  4122. ****
  4123. TITLE MAIN ROUTINE.
  4124. GBP SPACE 4,10
  4125. ** GBP - MAIN ROUTINE.
  4126.  
  4127.  
  4128. ORG OVL
  4129.  
  4130. GBP SUBR ENTRY/EXIT
  4131. RJM PRS PRESET OVERLAY
  4132. RJM RID READ JOB IDENTIFICATION
  4133. LDC BUFP LWA OF BUFFER
  4134. STD T7
  4135. LDN LCN1 SET NUMBER OF LINES IN HEADER
  4136. RJM WAB
  4137. NJN GBP1 IF WRITE NOT COMPLETE
  4138. LDC 4000 SET SYSTEM SECTOR INFORMATION NOT NEEDED
  4139. GBPA EQU *-1
  4140. * LDC 0 (*SYOT* FILE OR FILE OWNED BY UI 377777)
  4141. STM GBPE
  4142.  
  4143. ** FORMAT JOB NAME.
  4144.  
  4145. GBP1 LDC BUF SET BUFFER
  4146. STD T7
  4147. LDN 0 CLEAR LINE COUNT
  4148. STD T6
  4149. GBP2 LDN 0 CLEAR SPACE COUNT
  4150. STD T2
  4151. GBP3 LDC 2R SPACE OUT LINE
  4152. STI T7
  4153. AOD T7 ADVANCE BUFFER
  4154. AOD T2 ADVANCE SPACE COUNT
  4155. LMN 3
  4156. NJN GBP3 IF NOT FINISHED SPACING
  4157. RJM STL STORE LINE
  4158. AOD T6 ADVANCE LINE COUNT
  4159. LMN LCN2
  4160. NJN GBP2 LOOP FOR 16 LINES
  4161. LDN LCN2 WRITE CENTRAL BUFFER
  4162. RJM WAB
  4163. NJN GBP5 IF WRITE NOT COMPLETE
  4164. GBP4 LDC 4000
  4165. STM GBPE
  4166. GBP5 RJM APS ADVANCE TO PAGE SEPARATION
  4167.  
  4168. * DESELECT AUTO PAGE EJECT AND (TRY TO) SELECT 8 LPI.
  4169.  
  4170. LDC BUF
  4171. STD T7
  4172. LDC BUFV TRANSFER TO OUTPUT BUFFER
  4173. GBPB EQU *-1
  4174. * LDC BUFW (ELECTRONIC VERTICAL FORMAT UNIT)
  4175. * LDC BUFY (NON-IMPACT PRINTER)
  4176. STD T1
  4177. LJM GBP6 GENERATE PAGE SEPARATION
  4178. GBPC EQU *-1
  4179. * LJM GBP7 (ELECTRONIC VERTICAL FORMAT UNIT)
  4180. * LJM GBP9 (NON-IMPACT PRINTER)
  4181.  
  4182. GBP6 LDI T1
  4183. STI T7
  4184. AOD T7
  4185. AOD T1
  4186. LMC BUFW
  4187. NJN GBP6 IF TRANSFER NOT COMPLETE
  4188.  
  4189. ** BANNER PAGE SEPARATION.
  4190.  
  4191. GBP7 LDI T1
  4192. STI T7
  4193. AOD T7
  4194. AOD T1
  4195. LDI T1
  4196. STI T7
  4197. AOD T7
  4198. LDN 57D
  4199. STD T2
  4200. GBP8 LDM BUFX-BUFW-1,T1 STORE SEPARATOR CHARACTERS
  4201. STI T7
  4202. AOD T7
  4203. SOD T2
  4204. NJN GBP8 IF LINE NOT COMPLETE
  4205. STI T7
  4206. AOD T7
  4207. AOD T1
  4208. LMC BUFX
  4209. NJN GBP7 IF NOT END OF DATA
  4210. LDN BUFY-BUFX
  4211. GBPF EQU *-1
  4212. * LDN BUFU-BUFX (ELECTRONIC VERTICAL FORMAT UNIT)
  4213. RAD T1
  4214. GBP9 LMC BUFZ
  4215. GBPG EQU *-1
  4216. * LMC BUFU (NOT LAST BANNER PAGE)
  4217. ZJN GBP9.1 IF TRANSFER COMPLETE
  4218. LDI T1
  4219. STI T7
  4220. AOD T7
  4221. AOD T1
  4222. UJN GBP9 CONTINUE TRANSFER
  4223.  
  4224. GBP9.1 LDN LCN3 WRITE BANNER PAGE SEPARATION
  4225. GBPD EQU *-1
  4226. * LDN LCN3-LCN4 (NON-IMPACT PRINTER)
  4227. RJM WAB
  4228.  
  4229. * SET EXIT CONDITIONS AND UPDATE *IN* POINTER.
  4230.  
  4231. ZJN GBP10 IF END OF BANNER PAGE ENCOUNTERED
  4232. LDC 20&1030
  4233. GBP10 LMC 1030
  4234. STD T1
  4235. LDD WC SET CONTROL INFORMATION
  4236. ADC 0
  4237. * ADC 4000 (SYSTEM SECTOR INFO NO LONGER NEEDED)
  4238. GBPE EQU *-1
  4239. STD CI
  4240. LDN ZERL UDPATE IN
  4241. CRD CM
  4242. LDD IN
  4243. STD CM+3
  4244. LDD IN+1
  4245. STD CM+4
  4246. LDA IR+3 STORE IN POINTER
  4247. ADN 2
  4248. CWD CM
  4249. LJM GBPX RETURN
  4250. TITLE SUBROUTINES.
  4251. APS SPACE 4,10
  4252. ** APS - ADVANCE TO PAGE SEPARATION.
  4253. *
  4254. * ENTRY (APSB) = NUMBER OF BLANK LINES TO WRITE.
  4255. *
  4256. * EXIT BLANK LINES WRITTEN (IF NOT *BATCHIO* CALL).
  4257. *
  4258. * USES T7.
  4259. *
  4260. * CALLS WAB.
  4261.  
  4262.  
  4263. APS SUBR ENTRY/EXIT
  4264. APSA UJN APSX IF *BATCHIO* OR SKIP TO END OF FORM WORKS
  4265. * PSN IF NON-*BATCHIO* CALL NEEDING LINES SKIP
  4266. LDN ZERL
  4267. CRM BUF,ON BLANK LINE TO ASSEMBLY BUFFER
  4268. LDC 2R0 DOUBLE SPACE
  4269. STM BUF
  4270. APS1 LDC 0
  4271. APSB EQU *-1
  4272. ZJN APSX IF NO MORE TO WRITE
  4273. SBN 2 DOUBLE SPACED LINE
  4274. PJN APS2 IF ROOM FOR DOUBLE SPACED LINE
  4275. LDC 2R SET SINGLE SPACED LINE
  4276. STM BUF
  4277. LDN 0 END OF LINES
  4278. APS2 STM APSB DECREMENT LINE COUNT
  4279. LDC BUF+5 LWA+1 OF BUFFER
  4280. STD T7
  4281. LDN 1
  4282. RJM WAB WRITE BLOCK
  4283. UJN APS1 ADVANCE AGAIN
  4284. STL SPACE 4,10
  4285. ** STL - STORE LINE.
  4286. *
  4287. * ENTRY (T7) = BUFFER ADDRESS.
  4288. * (CM - CM+4) = BANNER NAME
  4289. *
  4290. * EXIT (T7) ADVANCED.
  4291. *
  4292. * USES T1 - T5.
  4293.  
  4294.  
  4295. STL SUBR ENTRY/EXIT
  4296. LDN 0 CLEAR CHARACTER INDEX
  4297. STD T5
  4298. STL1 LDD T5 SET BYTE ADDRESS
  4299. SHN -1
  4300. ADN CM
  4301. STD T2
  4302. LDI T2 SET UPPER CHARACTER
  4303. SHN -6
  4304. STD T1
  4305. LDD T5
  4306. LPN 1
  4307. ZJN STL2 IF UPPER CHARACTER
  4308. LDI T2 SET LOWER CHARACTER
  4309. LPN 77
  4310. STD T1
  4311. STL2 LDD T1 CHECK CHARACTER
  4312. SBN 1R+
  4313. MJN STL3 IF LETTER LEGAL
  4314. LDN 0 CLEAR LETTER
  4315. STD T1
  4316. STL3 LDD T1 LETTER INDEX = CHARACTER * 20 + LINE
  4317. SHN 4
  4318. ADD T6
  4319. STD T2
  4320. LDM TBAN,T2 SET LETTER BYTE
  4321. STD T2
  4322. LDN 0 CLEAR BIT COUNT
  4323. STD T3
  4324. STL4 LDN 1R SET UPPER = SPACE
  4325. SHN 6
  4326. STI T7
  4327. LDD T2 SHIFT BYTE
  4328. SHN 1
  4329. STD T2
  4330. SHN 5
  4331. PJN STL5 IF NO LETTER
  4332. LDD T1 SET LETTER
  4333. SHN 6
  4334. STI T7
  4335. STL5 LDN 1R SET LOWER = SPACE
  4336. RAI T7
  4337. LDD T2 SHIFT BYTE
  4338. SHN 1
  4339. STD T2
  4340. SHN 5
  4341. PJN STL6 IF SPACE
  4342. LDI T7 SET LETTER
  4343. SCN 77
  4344. ADD T1
  4345. STI T7
  4346. STL6 AOD T7 ADVANCE BUFFER
  4347. AOD T3 ADVANCE BIT COUNT
  4348. LMN 6
  4349. NJN STL4 LOOP FOR 12 BITS
  4350. LDC 2R STORE 2 SPACES
  4351. STI T7
  4352. AOD T7
  4353. AOD T5 ADVANCE CHARACTER COUNT
  4354. LMN 10
  4355. ZJN STL7 IF 8 CHARACTERS STORED
  4356. LJM STL1 LOOP
  4357.  
  4358. STL7 STI T7 TERMINATE LINE (LAST BYTE OF CM WORD)
  4359. AOD T7
  4360. LJM STLX RETURN
  4361. WAB SPACE 4,20
  4362. ** WAB - WRITE ASCII BUFFER.
  4363. *
  4364. * ENTRY (A) = NUMBER OF LINES TO WRITE.
  4365. * (BUF) = ASSEMBLY BUFFER FOR BANNER PAGE.
  4366. * (LBUF) = ASSEMBLY BUFFER FOR 8/12 ASCII LINE.
  4367. * (BC) = NUMBER OF WORDS LEFT IN BUFFER.
  4368. * (WC) = CURRENT CM WORD COUNT.
  4369. * (CI) = NUMBER OF CM WORDS TO SKIP.
  4370. * (T7) = LWA+1 OF PP BUFFER.
  4371. *
  4372. * EXIT (A) = 0 IF END OF PP BUFFER ENCOUNTERED.
  4373. * (BC) = NUMBER OF WORDS LEFT IN BUFFER.
  4374. * (WC) = CURRENT WORD COUNT.
  4375. *
  4376. * USES LC, T1 - T7.
  4377. *
  4378. * CALLS DV5, WDB.
  4379.  
  4380.  
  4381. WAB8 RJM WDB WRITE DATA BUFFER
  4382.  
  4383. WAB SUBR ENTRY/EXIT
  4384. WABA UJN WAB8 WRITE DATA BUFFER
  4385. * PSN (8/12 ASCII PRINT FILE)
  4386. STD LC SAVE LINE COUNT
  4387. LDC BUF
  4388. STD T2
  4389. SBN 1
  4390. STD T1
  4391. LDC LBUF DEFINE ASSEMBLY BUFFER ADDRESS
  4392. STD T5
  4393. WAB1 LDN 5 LOCATE EOL
  4394. RAD T1
  4395. LDI T1
  4396. NJN WAB1 IF NOT EOL
  4397. AOD T1 SET START OF NEXT LINE
  4398. STD T4
  4399. WAB2 SOD T1 FIND LAST BYTE OF DATA
  4400. SBD T2
  4401. PJN WAB3 IF NOT EMPTY LINE
  4402. AOD T1
  4403. LDC 2R
  4404. STI T1
  4405. WAB3 LDI T1
  4406. ZJN WAB2 IF STILL EOL BYTE
  4407. LPN 77
  4408. NJN WAB4 IF LAST CHARACTER NOT PART OF EOL
  4409. LDN 1R
  4410. RAI T1
  4411. WAB4 AOD T1
  4412. LDD T5 SET ASSEMBLY BUFFER ADDRESS
  4413. STD T3
  4414. WAB5 LDI T2 UNPACK DATA BYTE
  4415. SHN 14
  4416. STD T6
  4417. SHN -14
  4418. STD T7
  4419. LDM TDA8,T6 CONVERT UPPER CHARACTER
  4420. STI T3
  4421. AOD T3 ADVANCE ASSEMBLY BUFFER ADDRESS
  4422. LDM TDA8,T7 CONVERT LOWER CHARACTER
  4423. STI T3
  4424. AOD T3 ADVANCE ASSEMBLY BUFFER ADDRESS
  4425. AOD T2
  4426. LMD T1
  4427. NJN WAB5 IF EOL NOT REACHED
  4428. LDD T3 SET END OF ASCII LINE
  4429. STM WABB
  4430. ADN 1
  4431. SBD T5 DETERMINE CM WORD COUNT OF LINE
  4432. RJM DV5
  4433. STD T7 SET LWA OF BUFFER FOR *WDB*
  4434. SHN 2
  4435. ADD T5
  4436. RAD T7
  4437. LDN ZERL ENSURE EOL ON CM WORD BOUNDARY
  4438. CRM *,ON
  4439. WABB EQU *-1
  4440. RJM WDB WRITE DATA BUFFER
  4441. ZJN WAB7 IF ENTIRE LINE WRITTEN
  4442. WAB6 LJM WABX RETURN
  4443.  
  4444. WAB7 SOD LC DECREMENT LINE COUNT
  4445. ZJN WAB6 IF REQUEST SATISFIED
  4446. LDD T4 RESET POINTERS TO START OF NEXT LINE
  4447. STD T2
  4448. SBN 1
  4449. STD T1
  4450. LJM WAB1 PROCESS NEXT LINE
  4451. WDB SPACE 4,20
  4452. ** WDB - WRITE BUFFER DATA.
  4453. *
  4454. * ENTRY (BC) = NUMBER OF WORDS LEFT IN BUFFER.
  4455. * (WC) = CURRENT CM WORD COUNT.
  4456. * (CI) = NUMBER OF WORDS TO SKIP.
  4457. * (T7) = LWA+1 OF PP BUFFER.
  4458. *
  4459. * EXIT (A) = 0 IF END OF PP BUFFER.
  4460. * (BC) = NUMBER OF WORDS LEFT IN BUFFER.
  4461. * (WC) = CURRENT CM WORD COUNT.
  4462. *
  4463. * USES T1, T2, T6, T7.
  4464. *
  4465. * CALLS WBB.
  4466.  
  4467.  
  4468. WDB4 AOD WC
  4469. LDN 5 ADVANCE BUFFER ADDRESS
  4470. RAD T2
  4471. SBD T7
  4472. MJN WDB1 IF NOT END OF PP BUFFER
  4473. WDB5 LDD T7
  4474.  
  4475. WDB SUBR ENTRY/EXIT
  4476. LDD BC
  4477. ZJN WDB5 IF CM BUFFER FULL
  4478. LDC BUF
  4479. WDBA EQU *-1
  4480. * LDC LBUF (8/12 ASCII PRINT FILE)
  4481. STD T2
  4482. WDB1 LDD WC
  4483. SBD CI
  4484. MJN WDB4 IF WORD TO BE SKIPPED
  4485. LDN 0
  4486. STD T1
  4487. LDD T2 SAVE FWA OF DATA TO BE WRITTEN
  4488. STD T6
  4489. WDB2 LDD BC
  4490. ZJN WDB3 IF CM BUFFER FULL
  4491. SOD BC DECREMENT WORDS REMAINING IN BUFFER
  4492. AOD WC ADVANCE WORD COUNT
  4493. AOD T1 ADVANCE NUMBER OF WORDS TO WRITE
  4494. LDN 5 ADVANCE TO NEXT WORD
  4495. RAD T2
  4496. SBD T7
  4497. MJN WDB2 IF NOT END OF BUFFER
  4498. LDN 0 SET END OF BUFFER ENCOUNTERED
  4499. STD T7
  4500. WDB3 LDD T6 WRITE BINARY BUFFER
  4501. RJM WBB
  4502. UJN WDB5 RETURN
  4503. SPACE 4,10
  4504. ** COMMON DECKS.
  4505.  
  4506.  
  4507. RND$ EQU 1 SELECT ROUNDING FOR *DV5*
  4508. *CALL COMPDV5
  4509. TLTR SPACE 4,10
  4510. ** TBAN - TABLE OF BANNER LETTERS.
  4511. *
  4512. * EACH LETTER IS DESCRIBED BY 16 DATA BYTES.
  4513. * EACH BIT CORRESPONDS TO A PRINT COLUMN. (THERE ARE 12
  4514. * COLUMNS/LETTER). IF THE BIT IS SET, STORE THE LETTER.
  4515.  
  4516.  
  4517.  
  4518. *CALL COMTBAN
  4519. TDA8 SPACE 4,10
  4520. ** TDA8 - CONVERSION TABLE.
  4521.  
  4522.  
  4523. TDA8 BSS 0
  4524. *CALL COMTDA8
  4525. SPACE 4,10
  4526. ** BUF - ASSEMBLY BUFFER.
  4527.  
  4528.  
  4529. BUFV LINE Q DESELECT AUTO PAGE EJECT
  4530. LINE T SELECT 8 LINES PER INCH
  4531.  
  4532. BUFW DATA 4H2 M SKIP TO BOTTOM OF FORM BEFORE PRINT
  4533. DATA 4H W
  4534. DATA 4H M
  4535. DATA 4H W
  4536. DATA 4H M
  4537. BUFX DATA 2HWM
  4538. CON 0
  4539. DATA 2HMW
  4540. CON 0
  4541. DATA 2HWM
  4542. CON 0
  4543. DATA 2HMW
  4544. CON 0
  4545. DATA 2HWM
  4546.  
  4547. BUFY LINE S DESELECT 8 LINES PER INCH
  4548. BUFU LINE 2 SKIP TO BOTTOM OF FORM
  4549. LINE R SELECT AUTO EJECT
  4550. BUFZ BSS 0
  4551. LCN3 EQU 12 LINE COUNT FOR PAGE SEPARATION
  4552. .LC SET BUFZ-BUFY
  4553. LCN4 EQU .LC/5 LINE COUNT FOR POSITIONING 2ND PAGE
  4554.  
  4555. BUF BSS 0
  4556. LINE Q DESELECT AUTO EJECT
  4557. BUFQ LINE 3 SKIP TO FORMAT CHANNEL 6
  4558. BUFS LINE R RESELECT AUTO PAGE EJECT
  4559. BUFT LINE 0
  4560. LINE 0
  4561. BUFA DATA 20H0
  4562. DATA 20HOPERATING SYSTEM =
  4563. BUFB DATA 10H
  4564. BUFC DATA 10H
  4565. DATA 10H"DATE"
  4566. DATA 10H PRINTED =
  4567. BUFD DATA 10H
  4568. BUFE DATA 10H
  4569. LINE
  4570. DATA 20H0
  4571. DATA 16HUJN =
  4572. BUFG DATA 10H
  4573. DATA 14H FAMILY =
  4574. BUFH DATA 10H
  4575. DATA 20H JOB ORIGIN =
  4576. BUFI DATA 20H
  4577. LINE
  4578. DATA 20H
  4579. DATA 16HCREATING JSN =
  4580. BUFJ DATA 10H
  4581. DATA 14H USER NAME =
  4582. BUFK DATA 10H
  4583. DATA 20H SERVICE CLASS =
  4584. BUFM DATA 30H
  4585. LINE
  4586. DATA 70H
  4587. BUFN DATA 20H ACCESS LEVEL =
  4588. BUFO DATA 20H
  4589. LINE
  4590. LINE 0
  4591. LINE 0
  4592. BUFP BSS 0
  4593. LCN1 EQU 13 LINE COUNT FOR HEADER INFORMATION
  4594.  
  4595. BUFL EQU 120D/2*16D CHARACTERS PER LINE * LINES
  4596.  
  4597. LBUF EQU BUF+BUFL ASSEMBLY BUFFER FOR 8/12 ASCII LINE
  4598. LBUFL EQU LBUF+120D+5 LWA OF ASSEMBLY BUFFER
  4599.  
  4600. ERRPL LBUFL-10000 BUFFER WRAPS PP MEMORY
  4601. SLC SPACE 4,10
  4602. ** ACTUAL PRINT LINE COUNTS FOR PORTIONS OF BANNER PAGE.
  4603. *
  4604. * THEIR PURPOSE IS TO DEFINE THE SIZE OF THE DIFFERENT
  4605. * SEGMENTS OF THE BANNER PAGE ACTUALLY PRINTED ON ONE PAGE.
  4606. * IF LAYOUT CHANGES THESE CONSTANTS MAY NEED ADJUSTMENT.
  4607.  
  4608.  
  4609. HDLC EQU LCN1-2+6 HEADER LINE COUNT
  4610. LCN2 EQU 20 BLOCK LETTER LINE COUNT
  4611. BLLC EQU LCN2
  4612. PSLC EQU 0 PAGE SEPARATOR NOT COUNTED FOR NOW
  4613. MPBL EQU HDLC+BLLC+PSLC MINIMUM PAGE SIZE FOR BLOCK LETTERS
  4614. TITLE SUBROUTINES THAT MAY BE OVERLAID.
  4615. BFF SPACE 4,10
  4616. ** BFF - BLANK FILL FIELD.
  4617. *
  4618. * BLANK FILL FROM SPECIFIED POINT TO START OF DATA.
  4619. *
  4620. * ENTRY (A) = BEGINNING OF BUFFER.
  4621. * (T1) = BUFFER ADDRESS TO START BLANK FILL.
  4622. *
  4623. * USES T1.
  4624.  
  4625.  
  4626. BFF2 LPN 77 CHECK LOWER CHARACTER
  4627. NJN BFFX IF NOT ZERO CHARACTER
  4628. LDN 1R
  4629. RAI T1
  4630.  
  4631. BFF SUBR ENTRY/EXIT
  4632. STM BFFA
  4633. BFF1 SOD T1 DECREMENT ADDRESS
  4634. LMC **
  4635. BFFA EQU *-1
  4636. ZJN BFFX IF BEGINNING OF BUFFER
  4637. LDI T1
  4638. NJN BFF2 IF NOT ZERO WORD
  4639. LDC 2R
  4640. STI T1
  4641. UJN BFF1 LOOP
  4642. RID SPACE 4,20
  4643. ** RID - READ IDENTIFICATION DATA.
  4644. *
  4645. * ENTRY (FO) = QFT ORDINAL.
  4646. * (SS) = SYSTEM SECTOR INFORMATION STATUS.
  4647. * (T3) = SERVICE CLASS / ORIGIN TYPE.
  4648. * (T5) = EST ORDINAL OF PRINT FILE RESIDENCE.
  4649. * (T6) = FIRST TRACK OF FILE.
  4650. * (T7) = 0.
  4651. *
  4652. * EXIT (BUFG) = *UJN* ASSOCIATED WITH PRINT FILE.
  4653. * (BUFK) = USER NAME OF JOB THAT CREATED OUTPUT.
  4654. * (CM - CM+4) = BANNER NAME.
  4655. *
  4656. * USES T1, T2, CM - CM+4.
  4657. *
  4658. * CALLS BFF, GBN, RDS.
  4659. *
  4660. * MACROS ENDMS, SETMS, SFA.
  4661.  
  4662.  
  4663. RID SUBR ENTRY/EXIT
  4664. LDD SS
  4665. SHN 21-13
  4666. MJN RID1 IF SYSTEM SECTOR READ NOT NEEDED
  4667. SETMS IO
  4668. LDC BFMS READ SYSTEM SECTOR
  4669. RJM RDS
  4670. RID1 MJP RID4 IF SYSTEM SECTOR NOT READ
  4671. ENDMS
  4672. LDN 3
  4673. STD T1
  4674. RID3 LDM ACSS,T1 MOVE CREATION USER NAME
  4675. STM BUFK,T1
  4676. LDM JNSS,T1 MOVE USER JOB NAME
  4677. STM BUFG,T1
  4678. LDM FMSS,T1 MOVE FAMILY NAME
  4679. STM BUFH,T1
  4680. SOD T1
  4681. PJN RID3 IF MORE TO MOVE
  4682. LDM BUFG+4
  4683. SCN 77
  4684. ADN 1R ADD BLANK
  4685. STM BUFG+4
  4686. LDM BUFK+3 CLEAR TRAILING INFORMATION IN FIELD
  4687. SCN 77
  4688. STM BUFK+3
  4689. LDM BUFH+3
  4690. SCN 77
  4691. STM BUFH+3
  4692. LDM CJSS SET CREATING *JSN*
  4693. STM BUFJ
  4694. LDM CJSS+1
  4695. STM BUFJ+1
  4696. RID4 LDC BUFK+4 BLANK FILL USER NAME
  4697. STD T1
  4698. SBN 5
  4699. RJM BFF
  4700. LDC BUFG+4 BLANK FILL USER JOB NAME
  4701. STD T1
  4702. SBN 5
  4703. RJM BFF
  4704. LDC BUFH+4 BLANK FILL FAMILY NAME
  4705. STD T1
  4706. SBN 5
  4707. RJM BFF
  4708. SFA QFT,FO
  4709. ADK JSNQ
  4710. CRD CM
  4711. LDD T3
  4712. LPN 77
  4713. LMK SYOT
  4714. ZJN RID6 IF *SYOT* ORIGIN
  4715. LDD CM+2 SET USER INDEX
  4716. LPN 77
  4717. STD T1
  4718. SHN 14
  4719. LMD CM+3
  4720. STD T2
  4721. ZJN RID6 IF OWNER UI IS ZERO
  4722. LMC 377777
  4723. ZJN RID6 IF OWNER UI IS 377777
  4724. LDD CM SET CREATION *JSN*
  4725. STD CM+2
  4726. LDD CM+1
  4727. STD CM+3
  4728. RJM GBN GENERATE BANNER NAME
  4729. LDD T1
  4730. STD CM
  4731. LDD T2
  4732. STD CM+1
  4733. RID5 LJM RIDX RETURN
  4734.  
  4735. RID6 LDD MA SET USER JOB NAME
  4736. CWM JNSS,ON
  4737. SBN 1
  4738. CRD CM
  4739. LDN 0
  4740. STM GBPA
  4741. STD CM+4
  4742. LDD CM+3
  4743. SCN 77
  4744. STD CM+3
  4745. UJN RID5 RETURN
  4746. SPACE 4,10
  4747. ** COMMON DECKS THAT MAY BE OVERLAID.
  4748.  
  4749.  
  4750. *CALL COMPGBN
  4751. SPACE 4,10
  4752. ERRNG BFMS-* SYSTEM SECTOR OVERLAYS CODE
  4753. PRS SPACE 4,20
  4754. ** PRS - PRESET OVERLAY.
  4755. *
  4756. * ENTRY (BF) = 0 IF NOT *BATCHIO* CALL.
  4757. *
  4758. * EXIT (T3) = SERVICE CLASS / ORIGIN TYPE.
  4759. * (T5) = EST ORDINAL OF PRINT FILE RESIDENCE.
  4760. * (T6) = FIRST TRACK OF FILE.
  4761. * (T7) = 0.
  4762. * (WC) = 0.
  4763. * (SS) = (CI).
  4764. * (BC) = NUMBER OF FREE WORDS IN CM BUFFER.
  4765. *
  4766. * IF NOT *BATCHIO* CALL,
  4767. * *BUFQ* CHANNEL 6 SKIP (*3*) CHANGED TO PAGE EJECT.
  4768. *
  4769. * IF END OF FORM SKIP NOT AVAILABLE,
  4770. * (APSB) = LINES TO SKIP TO REACH END OF FORM.
  4771. * *BUFW* END OF FORM SKIP (*2*) CHANGED TO SINGLE SPACE.
  4772. *
  4773. * USES T4, CM - CM+4.
  4774. *
  4775. * CALLS BFF, CIB, MCS.
  4776. *
  4777. * MACROS SFA.
  4778.  
  4779.  
  4780. PRS SUBR ENTRY/EXIT
  4781. LDD BF
  4782. NJN PRS1 IF *BATCHIO*
  4783. RJM PNB PRESET NON-*BATCHIO* BANNER PAGE
  4784. UJN PRS4 GO CLEAR CURRENT WORD COUNT
  4785.  
  4786. PRS1 LDN IPPL SET DEFAULT PRINT DENSITY
  4787. CRD CM
  4788. LDD CM+2
  4789. SHN -4
  4790. LPN 17
  4791. LMN PDSD
  4792. ZJN PRS1.1 IF SIX LINES PER INCH
  4793. LDM PRSA SET EIGHT LINES PER INCH
  4794. STM BUFY
  4795. PRS1.1 LDD WC
  4796. ZJN PRS2 IF NOT 8/12 ASCII PRINT FILE
  4797. LDN PSNI
  4798. STM WABA
  4799. LDC LBUF
  4800. STM WDBA
  4801. PRS2 LDD ES CHECK EQUIPMENT TYPE
  4802. SHN 21-7
  4803. PJN PRS4 IF NOT PFC PRINTER
  4804. LDN 1R -1R0 ADJUST PAGE REGISTRATION
  4805. PRS3 SHN 6
  4806. RAM BUFA
  4807. PRS4 LDN 0 CLEAR CURRENT WORD COUNT
  4808. STD WC
  4809. LDD CI SET CONTROL INFORMATION
  4810. STD SS
  4811. LPC 3777
  4812. STD CI
  4813. RJM CIB CHECK INPUT BUFFER
  4814. STD BC SAVE NUMBER OF WORDS IN BUFFER
  4815. LDN TIML GET SYSTEM TIME AND DATE
  4816. CRM BUFE,ON
  4817. ADK DTEL-TIML-1
  4818. CRM BUFD,ON
  4819. ADK SVNL-DTEL-1 READ VERSION NAME
  4820. CRM BUFB,ON
  4821. CRM BUFC,ON
  4822. LDC BUFC+5 SET BUFFER POINTER
  4823. STD T1
  4824. LDC BUFB BEGINNING OF BUFFER
  4825. RJM BFF BLANK FILL FIELD
  4826. SFA QFT,FO
  4827. ADN INSQ GET PARAMETERS FROM QFT ENTRY
  4828. CRD CM
  4829. ADN SCLQ-INSQ
  4830. CRD T3
  4831. SBN SCLQ-ENTQ
  4832. CRD T5
  4833. LDD T3 SET JOB ORIGIN NAME IN HEADER
  4834. LPN 77
  4835. STD T1
  4836. SBN MXOT
  4837. MJN PRS5 IF VALID ORIGIN TYPE
  4838. LDN SYOT DEFAULT TO SYSTEM
  4839. STD T1
  4840. PRS5 LDM TOTN,T1 SET ADDRESS
  4841. STD T1
  4842. LDC BUFI MOVE NAME TO BUFFER
  4843. RJM MCS
  4844. LDD T3 SET SERVICE CLASS NAME IN HEADER
  4845. SHN -6
  4846. STD T1
  4847. SBN MXJC
  4848. MJN PRS6 IF VALID SERVICE CLASS
  4849. LDN SYSC DEFAULT TO SYSTEM
  4850. STD T1
  4851. PRS6 LDM TSCN,T1 SET ADDRESS
  4852. STD T1
  4853. LDC BUFM MOVE NAME TO BUFFER
  4854. RJM MCS
  4855. LDD CM+3 SET ACCESS LEVEL NAME IN HEADER
  4856. SHN -3
  4857. LPN 7
  4858. STD T1
  4859. SHN 2 SET ADDRESS OF NAME
  4860. ADC TALN
  4861. RAD T1
  4862. LDN SSML CHECK SECURITY MODE
  4863. CRD CM
  4864. LDD CM
  4865. LPN 7
  4866. NJN PRS8 IF SECURE SYSTEM
  4867. LDC BUFN
  4868. STD T1
  4869. ADN BUFO-BUFN
  4870. STD T2
  4871. PRS7 LDC 2R CLEAR REFERENCE TO ACCESS LEVEL
  4872. STI T1
  4873. AOD T1
  4874. LMD T2
  4875. NJN PRS7 IF NOT END OF BUFFER
  4876. * LDN 0
  4877. UJN PRS9 CLEAR SECTOR NUMBER
  4878.  
  4879. PRS8 LDC BUFO MOVE NAME TO BUFFER
  4880. RJM MCS
  4881. LDN 0 CLEAR SECTOR NUMBER
  4882. PRS9 STD T7
  4883. LDD ET
  4884. LMK NPDT
  4885. NJN PRS10 IF NOT NON-IMPACT PRINTER
  4886. LDK BUFY-BUFV
  4887. RAM GBPB
  4888. LDK GBP9-GBP6 MODIFY MAIN ROUTINE TO SKIP SEPARATION
  4889. RAM GBPC
  4890. LCN LCN3-LCN4
  4891. RAM GBPD
  4892. PRS10 LJM PRSX RETURN
  4893.  
  4894. PRSA LINE T
  4895. PNB SPACE 4,15
  4896. ** PNB - PRESET NON-*BATCHIO* BANNER PAGE.
  4897. *
  4898. * ENTRY (ES) = 0, IF SKIP TO BOTTOM OF FORM IS SUPPORTED.
  4899. * = PAGE SIZE, IF NO SKIP TO BOTTOM OF FORM.
  4900. * (BG) = ELECTRONIC VERTICAL FORMAT UNIT, NOT FIRST
  4901. * BANNER AND NOT LAST BANNER FLAGS.
  4902. *
  4903. * EXIT BANNER PAGE ALTERATIONS COMPLETE FOR NON-*BATCHIO*
  4904. * PRINTERS WHICH DO NOT HANDLE BOTTOM OF FORM, OR HAVE
  4905. * ELECTRONIC VERTICAL FORMAT UNITS. ALTERATIONS ARE
  4906. * ALSO MADE WHEN REQUIRED FOR FORMAT CONTROL DIFFERENCES
  4907. * BETWEEN PAGES OF MULTIPLE BANNER PAGE SETS.
  4908.  
  4909.  
  4910. PNB SUBR ENTRY/EXIT
  4911. LDC 3R 1 STORE PAGE EJECT INSTEAD OF FORMAT 6
  4912. STM BUFQ
  4913. SHN 6 CLEAR SECOND SKIP TO BOTTOM OF FORM
  4914. STM BUFU
  4915. LDD ES GET PAGE SIZE
  4916. ZJN PNB1 IF NO PAGE ALTERATIONS NECESSARY
  4917. SBN MPBL SUBTRACT NUMBER OF LINES TO BE USED
  4918. STM APSB SET LINES REMAINING BEFORE SEPARATOR
  4919. LDK PSNI ENSURE LINES ARE SKIPPED
  4920. STM APSA
  4921. LDC 2R CLEAR SKIP TO BOTTOM OF FORM CODE
  4922. STM BUFW
  4923. PNB1 LDD BG
  4924. SHN 21-12
  4925. PJN PNB2 IF NOT ELECTRONIC VERTICAL FORMAT UNIT
  4926. LDK BUFW-BUFV DISABLE AUTO EJECT DESELECT, 8 LPI SELECT
  4927. RAM GBPB
  4928. LDK GBP7-GBP6
  4929. RAM GBPC
  4930. LDK BUFU-BUFY DISABLE 8 LPI DESELECT
  4931. RAM GBPF
  4932. LDC 2R
  4933. STM BUFQ ELIMINATE FIRST TOP OF FORM
  4934. STM BUFS ELIMINATE AUTO PAGE EJECT RESELECTION
  4935. STM BUFT ADJUST FOR EXTRA LINE
  4936. PNB2 LDD BG
  4937. SHN 21-11
  4938. PJN PNB3 IF FIRST BANNER PAGE
  4939. LDC 2R DROP AUTO EJECT DESELECT, ADJUST SPACING
  4940. STM BUF
  4941. STM BUFQ
  4942. STM BUFA
  4943. PNB3 LDD BG
  4944. SHN 21-10
  4945. PJN PNB4 IF LAST BANNER PAGE
  4946. LDK BUFU-BUFZ DISABLE BOTTOM OF FORM SKIP AFTER BANNER
  4947. RAM GBPG
  4948. PNB4 UJP PNBX RETURN
  4949. MCS SPACE 4,10
  4950. ** MCS - MOVE CHARACTER STRING TO BUFFER.
  4951. *
  4952. * ENTRY (A) = BUFFER ADDRESS.
  4953. * (T1) = ADDRESS OF CHARACTER STRING.
  4954. *
  4955. * USES T1, T2.
  4956.  
  4957.  
  4958. MCS1 AOD T1 ADVANCE ADDRESSES
  4959. AOD T2
  4960. MCS2 LDI T1
  4961. ZJN MCSX IF END OF STRING
  4962. STI T2
  4963. LPN 77
  4964. NJN MCS1 IF NOT END OF STRING
  4965. LDN 1R
  4966. RAI T2 BLANK FILL
  4967.  
  4968. MCS SUBR ENTRY/EXIT
  4969. STD T2
  4970. UJN MCS2 MOVE CHARACTER STRING
  4971. TALN SPACE 4,10
  4972. ** TALN - TABLE OF ACCESS LEVEL NAMES.
  4973.  
  4974.  
  4975. TALN BSS 0
  4976. DATA 8H"ALM0"
  4977. CON 0
  4978. DATA 8H"ALM1"
  4979. CON 0
  4980. DATA 8H"ALM2"
  4981. CON 0
  4982. DATA 8H"ALM3"
  4983. CON 0
  4984. DATA 8H"ALM4"
  4985. CON 0
  4986. DATA 8H"ALM5"
  4987. CON 0
  4988. DATA 8H"ALM6"
  4989. CON 0
  4990. DATA 8H"ALM7"
  4991. CON 0
  4992. TOTN SPACE 4,10
  4993. ** TOTN - TABLE OF ORIGIN TYPE NAMES.
  4994.  
  4995.  
  4996. TOTN INDEX
  4997. INDEX SYOT,(=Z*SYSTEM.*)
  4998. INDEX BCOT,(=Z*BATCH.*)
  4999. INDEX RBOT,(=Z*REMOTE.*)
  5000. INDEX IAOT,(=Z*INTERACTIVE.*)
  5001.  
  5002. INDEX MXOT
  5003. TSCN SPACE 4,10
  5004. ** TSCN - TABLE OF SERVICE CLASS NAMES.
  5005.  
  5006.  
  5007. TSCN INDEX
  5008. LIST D
  5009. .SCL HERE
  5010. LIST *
  5011.  
  5012. INDEX MXJC
  5013. SPACE 4,10
  5014. USE LITERALS
  5015. OVERFLOW OVL
  5016. SPACE 4
  5017. TTL QAP - QUEUE AUXILLARY PROCESSOR.
  5018. END