User Tools

Site Tools


cdc:nos2.source:opl871:1mu

Table of Contents

1MU

Table Of Contents

  • [00007] 1MU - MAGNET AUXILIARY PROCESSOR.
  • [00009] MAGNET AUXILIARY PROCESSOR.
  • [00086] MACROS.
  • [00094] ENTRY - DEFINE OVERLAY ENTRY POINT.
  • [00108] FCN - DEFINE FUNCTION PROCESSOR.
  • [00124] OVERLAY - GENERATE OVERLAY CONSTANTS.
  • [00147] MAIN ROUTINES.
  • [00148] MAIN PROGRAM.
  • [00166] UDT - PROCESS UDT REQUESTS.
  • [00259] SUBROUTINES.
  • [00261] AUA - ADVANCE UDT ADDRESS.
  • [00283] CCP - CHANGE TO USER CONTROL POINT.
  • [00326] HNG - HANG PP ON SYSTEM ERROR.
  • [00335] RCP - UPDATE ACCOUNTING AND RETURN TO MAGNET CONTROL POINT.
  • [00371] UAD - SET UDT ADDRESS.
  • [00406] ROUTINES OVERLAID BY FUNCTION PROCESSORS.
  • [00408] PRS - PRESET PROGRAM.
  • [00445] CCA - CHECK CHANNEL ACCESS.
  • [00475] CES - CHECK EQUIPMENT STATUS.
  • [00578] CSJ - CHECK STAGING JOBS.
  • [00670] STM - SEND *TDAM* TO *MAGNET*.
  • [00707] UUF - UPDATE UNIT FLAGS.
  • [00812] TUAA - TABLE OF *TUAC* ADDRESSES INDEXED BY CHANNEL NUMBER.
  • [00820] TUAC - *CUAC* WORDS OF *CST* IN *CST* ORDER.
  • [00829] USTB - UNIT STATUS FLAGS ASSEMBLY BUFFER.
  • [00841] COMPLETE USER FET.
  • [00843] CUF - COMPLETE USER FET.
  • [00886] CUL - CLOSE/UNLOAD PROCESSOR.
  • [00953] CUP - CHECK USER PROCESSING ON CLOSER.
  • [01013] ABORT CIO REQUEST.
  • [01015] MAB - ISSUE MESSAGE AND ABORT REQUEST.
  • [01170] IDF - ISSUE DAYFILE MESSAGE WITH FILE NAME AND FET ADDRESS.
  • [01204] MFM - MULTI-FILE MISSING MESSAGE.
  • [01260] NWE - NO WRITE ENABLE.
  • [01277] OPM - OUTPUT MESSAGE ON OPEN PARAMETER ERROR.
  • [01307] STM - MTS/ATS STATUS ERROR DEFINTION.
  • [01362] TME - TAPE MANAGER ERROR.
  • [01379] VAE - ISSUE VSN ASSIGNMENT ERROR MESSAGE.
  • [01410] PROC - DEFINE MESSAGE PROCESSOR FOR MTS/ATS.
  • [01423] MTSM - MTS MESSAGE PROCESSOR TABLE.
  • [01446] ATSM - ATS MESSAGE PROCESSOR TABLE.
  • [01468] TACM - TABLE OF ACF RESPONSE MESSAGES FOR *AME* ERROR.
  • [01479] TNWE - TABLE OF MESSAGES FOR *NWE* ERROR.
  • [01489] TRRJ - TABLE OF MESSAGES FOR *RRJ* ERROR.
  • [01559] TSPC - TABLE OF SPECIAL PROCESSORS.
  • [01571] CHECK JOB ERROR FLAG.
  • [01573] CJE - CHECK JOB ERROR FLAG.
  • [01609] COMMON DATA AREA.
  • [01648] SUBROUTINES.
  • [01650] CCR - COMPLETE CIO REQUEST.
  • [01675] FAD - SET FET ADDRESS.
  • [01713] OVERLAID SUBROUTINES.
  • [01715] PRS - PRESET *CUF*, *MAB*, AND *CJE* FUNCTIONS.
  • [01756] PAF - PROCESS AUXILIARY FUNCTION REQUEST.
  • [01777] TAFN - TABLE OF *AFN* REQUEST FUNCTION CODES.
  • [01791] IAM - ISSUE REEL ASSIGNMENT MESSAGES.
  • [01801] IRM - ISSUE REEL RETURN MESSAGES.
  • [01812] LGA - LOG STATISTICAL ACCUMULATORS.
  • [01846] RVS - RETURN NEXT VSN.
  • [01985] USP - INITIATE UNIT SWAP.
  • [02052] CJA - CLEAR JOB ASSIGNMENT.
  • [02079] VSE - ISSUE VSN MOUNTED EVENT.
  • [02108] VME - ISSUE VSN EVENT AFTER ACS VSN MOUNT ERROR.
  • [02127] FAST ATTACH FILE ACCESS ROUTINES.
  • [02129] AFA - ISSUE *AFAM* FUNCTION.
  • [02154] IFA - INITIALIZE FAST ATTACH FILE ACCESS.
  • [02187] RRS - READ RANDOM SECTOR.
  • [02212] DAYFILE MESSAGE ROUTINES.
  • [02214] CBC - CHECK BLOCK COUNT.
  • [02246] IPT - ISSUE PRU,S TRANSFERRED TO ACCOUNT FILE.
  • [02273] IRA - ISSUE REEL ASSIGNED MESSAGE.
  • [02311] IRR - ISSUE REEL RETURNED MESSAGE.
  • [02361] ITU - ISSUE TAPE USAGE MESSAGE.
  • [02406] IVM - ISSUE VSN ASSIGNED MESSAGE TO USER DAYFILE.
  • [02472] LCE - LOG CORRECTED TAPE ERRORS.
  • [02568] TMID - TABLE OF MAGNETIC TAPE MESSAGE ID-S.
  • [02586] UTILITY SUBROUTINES.
  • [02588] IVE - ISSUE VSN EVENT.
  • [02611] ZFV - ZERO FILL VSN.

Source Code

1MU.txt
  1. IDENT 1MU,IMU
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. *COMMENT 1MU - MAGNET AUXILIARY PROCESSOR.
  6. COMMENT COPYRIGHT CONTROL SYSTEMS INC. 1993.
  7. TITLE 1MU - MAGNET AUXILIARY PROCESSOR.
  8. SPACE 4
  9. *** 1MU - MAGNET AUXILIARY PROCESSOR.
  10. * G. S. YODER. 93/09/23.
  11. SPACE 4
  12. *** *1MU* PERFORMS FUNCTIONS FOR MAGNET THAT DO NOT REQUIRE
  13. * HARDWARE ACCESS TO TAPE UNITS.
  14. SPACE 4
  15. *** CALL.
  16. *
  17. *
  18. *T RA+1 18/ *1MU*,1/0,5/ CP,36/ 0
  19. SPACE 4
  20. ** ASSEMBLY CONSTANTS.
  21.  
  22.  
  23. QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS
  24. SPACE 4
  25. ** COMMON DECKS.
  26.  
  27.  
  28. *CALL COMPMAC
  29. QUAL ATF
  30. *CALL COMSATF
  31. QUAL *
  32. *CALL COMSCPS
  33. QUAL DFS
  34. QUAL$S EQU 1 DO NOT QUALIFY *COMSDFS*
  35. *CALL COMSDFS
  36. QUAL *
  37. *CALL COMSEJT
  38. *CALL COMSEVT
  39. *CALL COMSMSP
  40. LIST X
  41. QUAL MTX
  42. *CALL COMSMTX
  43. QUAL *
  44. LIST *
  45. *CALL COMSPFM
  46. *CALL COMSPIM
  47. QUAL RSX
  48. *CALL COMSRSX
  49. QUAL *
  50. *CALL COMSSSD
  51. *CALL COMSSRU
  52. *CALL COMSZOL
  53. SPACE 4
  54. ** DIRECT LOCATION ASSIGNMENTS.
  55.  
  56.  
  57. T8 EQU 16 TEMPORARY
  58. T9 EQU 17 TEMPORARY
  59. CN EQU 20 - 24 CENTRAL MEMORY BUFFER
  60. ED EQU 25 EQUIPMENT DESCRIPTION
  61. HP EQU 26 HARDWARE PARAMETERS
  62. EO EQU 27 EST ORDINAL
  63. ES EQU 30 EXTENDED STATUS
  64. DS EQU 31 DEVICE STATUS
  65. EI EQU 32 ERROR ITERATIONS
  66. WP EQU 33 BID WINDOW POINTER (MTS/ATS)
  67. BL EQU 34 - 35 BLOCK COUNT
  68. UP EQU 36 USER OPTIONS, FLAGS
  69. LG EQU 37 - 40 LENGTH OF LAST GOOD RECORD
  70. EP EQU 41 - 42 ERROR PARAMETERS
  71. EC EQU 43 ERROR CODE
  72. LT EQU 44 LABEL TYPE, DEVICE TYPE, REQUESTED DENSITY
  73. SP EQU 45 SOFTWARE OPTIONS
  74. FM EQU 46 TAPE FORMAT AND NOISE BYTE DEFINITION
  75. WC EQU 47 CM WORDS PER PRU
  76. OV EQU 50 CHUNK COUNT - LONG BLOCKS
  77. FO EQU 51 FAST ATTACH FILE FNT ORDINAL
  78. AM EQU 52 FAST ATTACH FILE ACCESS MODE
  79. RI EQU 53 - 54 RANDOM INDEX
  80. FA EQU 57 LOCAL FNT ADDRESS
  81. RS EQU 60 RETURN STATUS
  82. FN EQU 61 FUNCTION NUMBER
  83. MD EQU 62 DRIVER MODE FUNCTION
  84. PA EQU 63 PARAMETER
  85. PB EQU 64 PARAMETER
  86. TITLE MACROS.
  87. ** OVERLAY CONTROL DEFINITIONS.
  88. NOREF .I
  89. NOREF .N
  90. .I SET /MTX/MDFN*2
  91. .N SET 0
  92. OVLB MICRO 1,, 3M BASE OVERLAY NAME
  93. ENTRY SPACE 4,10
  94. ** ENTRY - DEFINE OVERLAY ENTRY POINT.
  95. *
  96. *
  97. * ENTRY NAME
  98.  
  99.  
  100. PURGMAC ENTRY
  101.  
  102. ENTRY MACRO NAME
  103. QUAL
  104. NAME EQU *+1R".M"*10000
  105. QUAL ".O"
  106. ENDM
  107. FCN SPACE 4,10
  108. ** FCN - DEFINE FUNCTION PROCESSOR.
  109. *
  110. *
  111. * FCN NAME,FUN
  112. *
  113. * ENTRY *NAME* = NAME OF FUNCTION PROCESSOR.
  114. * *FUN* = *COMSMTX* FUNCTION CODE.
  115.  
  116.  
  117. FCN MACRO A,B
  118. LOC .I/2
  119. ERRNZ .I/2-B ERROR IN FUNCTION PROCESSOR DEFINITION
  120. CON A/10000,A-A/10000*10000
  121. .I SET .I+2
  122. ENDM
  123. OVERLAY SPACE 4
  124. ** OVERLAY - GENERATE OVERLAY CONSTANTS.
  125. *
  126. *
  127. * OVERLAY (TEXT)
  128.  
  129.  
  130. PURGMAC OVERLAY
  131.  
  132. OVERLAY MACRO TEXT
  133. QUAL
  134. .N SET .N+1
  135. .M MICRO .N,1, 56789
  136. .O MICRO 1,3, "OVLB"".M"
  137. QUAL ".O"
  138. TTL 1MU/".O" - TEXT
  139. TITLE
  140. IDENT ".O",OVL TEXT
  141. *COMMENT 1MU - TEXT
  142. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1993.
  143. ORG OVL
  144. LJM *
  145. UJN *-2
  146. ENDM
  147. TITLE MAIN ROUTINES.
  148. ** 1MU - MAIN PROGRAM.
  149.  
  150.  
  151. ORG PPFW
  152.  
  153. IMU RJM PRS PRESET
  154. RJM UUF UPDATE UNIT FLAGS
  155. RJM CSJ CHECK STAGING JOBS
  156. RJM UDT PROCESS UDT REQUESTS
  157. LDN ZERL
  158. CRD CM
  159. LDD RA CLEAR *1MU* ACTIVE
  160. SHN 6
  161. ADK /MTX/APS
  162. CWD CM
  163. MONITOR DPPM DROP PP
  164. LJM PPR RETURN TO PP RESIDENT
  165. UDT SPACE 4,10
  166. ** UDT - PROCESS UDT REQUESTS.
  167. *
  168. * ENTRY (UDTA) = ADDRESS OF FIRST UDT ENTRY.
  169. *
  170. * EXIT (UDTA) = ADDRESS OF FIRST UDT ENTRY.
  171. *
  172. * CALLS AUA, UAD.
  173.  
  174.  
  175.  
  176. UDT SUBR ENTRY/EXIT
  177. UJN UDT6 CHECK FIRST UNIT
  178.  
  179. * NORMAL COMPLETION EXIT.
  180.  
  181. UDT1 LDN /MTX/NCP SET NORMAL COMPLETION
  182. UJN UDT4 SET COMPLETION STATUS
  183.  
  184. * REQUEUE ON JOB ROLLED OUT EXIT.
  185.  
  186. UDT2 LDN /MTX/RJB SET REQUEUE ON JOB ROLLED OUT
  187. UJN UDT4 SET COMPLETION STATUS
  188.  
  189. * ERROR RETURN EXIT.
  190.  
  191. UDT3 LDN /MTX/ERR SET ERROR STATUS
  192.  
  193. * SET REQUEST STATUS EXIT.
  194.  
  195. UDT4 STD RS SET REQUEST STATUS
  196.  
  197. * UPDATE UDT.
  198.  
  199. LDN 0 DO NOT COMPLETE FET
  200. RJM RCP RETURN TO MAGNET CP
  201. RJM UAD
  202. ADK /MTX/UST2 UPDATE UDT PARAMETERS
  203. CWM EI,TR
  204. CWM DNCV,ON
  205. ADK /MTX/UXRQ-/MTX/UST5-1 SET RESPONSE STATUS
  206. CWD RS
  207.  
  208. * CHECK NEXT UNIT.
  209.  
  210. UDT5 RJM AUA ADVANCE UDT ADDRESS
  211. ZJN UDTX IF END OF UNITS
  212. UDT6 RJM UAD
  213. ADK /MTX/UXRQ GET REQUEST
  214. CRD RS
  215. LDD RS
  216. NJN UDT5 IF REQUEST IN PROGRESS OR COMPLETE
  217. LDD FN
  218. LPN 77
  219. SBN /MTX/MDFN
  220. MJN UDT5 IF NO REQUEST OR *1MT* REQUEST
  221. SHN 1 SET *TFCN* INDEX
  222. STD CN
  223. SBN /MTX/MFUN*2-/MTX/MDFN*2
  224. PJN UDT5 IF NOT *1MU* REQUEST
  225.  
  226. * PROCESS REQUEST.
  227.  
  228. LDN /MTX/RIP SET REQUEST IN PROGRESS FOR RECOVERY
  229. STD RS
  230. RJM UAD
  231. ADK /MTX/UXRQ UPDATE REQUEST STATUS
  232. CWD RS
  233. ADK /MTX/UST1-/MTX/UXRQ SET UDT CELLS
  234. CRM ED,TR
  235. CRD LT
  236. ADK /MTX/UST5-/MTX/UST4
  237. CRM DNCV,ON
  238. LDM TFCN,CN SET OVERLAY NAME
  239. ADC 2L"OVLB"
  240. RJM EXR LOAD OVERLAY
  241. LDM TFCN+1,CN SET ENTRY ADDRESS
  242. STD T1
  243. LJM 0,T1 PROCESS REQUEST
  244.  
  245.  
  246. TFCN BSS 0
  247.  
  248. FCN CUF,/MTX/CUF COMPLETE USER FET
  249. FCN MAB,/MTX/MAB ISSUE MESSAGE AND ABORT REQUEST
  250. FCN CJE,/MTX/CJE CHECK JOB ERROR FLAG
  251. FCN PAF,/MTX/AFN AUXILIARY PROCESSOR FUNCTION
  252.  
  253. LOC *O
  254.  
  255. NCPX EQU UDT1 NORMAL COMPLETION EXIT
  256. RJBX EQU UDT2 REQUEUE ON JOB ROLLED OUT EXIT
  257. ERRX EQU UDT3 ERROR RETURN EXIT
  258. SRSX EQU UDT4 SET REQUEST STATUS EXIT
  259. TITLE SUBROUTINES.
  260. AUA SPACE 4,10
  261. ** AUA - ADVANCE UDT ADDRESS.
  262. *
  263. * ENTRY (UDTA) = CURRENT UDT ADDRESS.
  264. *
  265. * EXIT (A) .NE. 0 IF NOT LAST UDT ON ENTRY.
  266. * (A) = 0 IF LAST UDT ON ENTRY.
  267. * (UDTA) = NEXT UDT ADDRESS IF NOT LAST UDT ON ENTRY.
  268. * (UDTA) = FIRST UDT ADDRESS IF LAST UDT ON ENTRY.
  269.  
  270.  
  271. AUA SUBR ENTRY/EXIT
  272. LDK /MTX/UNITL
  273. RAM UDTA
  274. LMC 0
  275. AUAA EQU *-1 (UDT LWA+1)
  276. NJN AUAX IF NOT END OF UDT
  277. LDC 0 SET TO FIRST ENTRY
  278. AUAB EQU *-1 (UDT FWA)
  279. STM UDTA
  280. LDN 0 SET END OF UDT
  281. UJN AUAX RETURN
  282. CCP SPACE 4,10
  283. ** CCP - CHANGE TO USER CONTROL POINT.
  284. *
  285. * EXIT (A) = 0 IF CHANGE MADE.
  286. * (A) .NE. 0 IF CHANGE NOT MADE.
  287. *
  288. * USES CM - CM+4, CN - CN+4, T1 - T1+4.
  289. *
  290. * CALLS UAD.
  291. *
  292. * MACROS MONITOR.
  293.  
  294.  
  295. CCP SUBR ENTRY/EXIT
  296. RJM UAD
  297. ADK /MTX/UVRI GET EJT ORDINAL
  298. CRD CN
  299. SFA EJT,CN
  300. ADK JSNE
  301. CRD CM GET JOB STATUS
  302. ADK SCHE-JSNE
  303. CRD T1 GET CP NUMBER
  304. LDD CM+4
  305. LPC 176
  306. LMN EXJS*2
  307. NJN CCPX IF JOB ROLLED OUT OR INTERLOCKED
  308. LDD T1+3 SET CP NUMBER
  309. ADK RCMS+ALCS SET MOVE REJECT AND ALTERNATE CP
  310. STD CM+1
  311. MONITOR CCAM SET ACCESS TO USER CP
  312. LDD CM+1
  313. NJN CCPX IF CHANGE NOT MADE
  314. AOM RCPB SET USER CP FLAG
  315. LDD CP
  316. ADK TFSW VERIFY JOB EJT ORDINAL
  317. CRD CM
  318. LDD CM
  319. LMD CN
  320. ZJN CCP1 IF CORRECT JOB
  321. LDN 0
  322. RJM RCP RETURN TO MAGNET CP
  323. LDN 1 SET CHANGE NOT MADE
  324. CCP1 LJM CCPX RETURN
  325. HNG SPACE 4,10
  326. ** HNG - HANG PP ON SYSTEM ERROR.
  327. *
  328. * MACROS MONITOR.
  329.  
  330.  
  331. HNG SUBR ENTRY
  332. HNG1 MONITOR HNGM HANG PP
  333. UJN HNG1 HANG PP
  334. RCP SPACE 4,15
  335. ** RCP - UPDATE ACCOUNTING AND RETURN TO MAGNET CONTROL POINT.
  336. *
  337. * ENTRY (A) = FET COMPLETION STATUS IF .NE. 0.
  338. * (A) = 0 IF NOT TO COMPLETE FET.
  339. * (RCPA) = SRU INCREMENT.
  340. * (RCPC) = BLOCKS SKIPPED COUNT.
  341. *
  342. * EXIT (RCPA) = 0.
  343. * (RCPC) = 0.
  344. *
  345. * USES CM+1 - CM+4.
  346. *
  347. * MACROS MONITOR.
  348.  
  349.  
  350. RCP SUBR ENTRY/EXIT
  351. STD CM+4 SET FET COMPLETION STATUS
  352. SHN -14
  353. LMC 0 SET SRU INCREMENT
  354. RCPA EQU *-1 (SRU INCREMENT)
  355. STD CM+3
  356. RCPB LDN 0
  357. * LDN 1 (ASSIGNED TO USER CP)
  358. ZJN RCPX IF NOT AT USER CP
  359. LDM UDTA SET UDT ADDRESS
  360. STD CM+1
  361. LDC 0 SET BLOCKS SKIPPED
  362. RCPC EQU *-1 (BLOCKS SKIPPED)
  363. STD CM+2
  364. MONITOR TIOM CHANGE TO MAGNET CP
  365. * LDN 0
  366. STM RCPA CLEAR SRU INCREMENT
  367. STM RCPC CLEAR BLOCKS SKIPPED
  368. SOM RCPB CLEAR USER CP FLAG
  369. UJN RCPX RETURN
  370. UAD SPACE 4,10
  371. ** UAD - SET UDT ADDRESS.
  372. *
  373. * ENTRY (UDTA) = UDT RELATIVE ADDRESS.
  374. *
  375. * EXIT (A) = UDT ABSOLUTE ADDRESS.
  376.  
  377.  
  378. UAD SUBR ENTRY/EXIT
  379. LDD RA
  380. SHN 6
  381. ADC 0 SET UDT ADDRESS
  382. UDTA EQU *-1 (UDT ADDRESS)
  383. UJN UADX RETURN
  384. SPACE 4,10
  385. ** COMMON DECKS.
  386.  
  387.  
  388. EJT$ EQU 1 ASEMBLE EJT PROCESSOR
  389. FNT$ EQU 1 ASSEMBLE SYSTEM FNT PROCESSOR
  390. IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION CODE
  391. *CALL COMPGFP
  392. SPACE 4,10
  393. ** UDT DATA.
  394.  
  395.  
  396. * *UST5*.
  397.  
  398. DNCV BSS 1 DENSITY AND CONVERSION MODE
  399. ERSC BSS 1 ERROR SUB-CODE
  400. BSS 3 RESERVED
  401.  
  402.  
  403. USE OVERLAY
  404.  
  405. OVL EQU *+10 OVERLAY ORIGIN ADDRESS
  406. TITLE ROUTINES OVERLAID BY FUNCTION PROCESSORS.
  407. PRS SPACE 4,10
  408. ** PRS - PRESET PROGRAM.
  409. *
  410. * EXIT TO *PPR* IF NOT CALLED BY MAGNET.
  411. * (UDTA) = FIRST UDT ADDRESS.
  412. *
  413. * CALLS IFP.
  414. *
  415. * MACROS MONITOR.
  416.  
  417.  
  418. PRS SUBR ENTRY/EXIT
  419. LDD CP
  420. ADK JCIW
  421. CRD CM
  422. LDD CM+2
  423. LMC MTSI
  424. ZJN PRS1 IF CALLED BY MAGNET
  425. LDC PRSA * 1MU INCORRECT CALL.*
  426. RJM DFM
  427. MONITOR ABTM
  428. LJM PPR EXIT TO PPR
  429.  
  430. PRS1 RJM IFP INITIALIZE FILE PROCESSORS
  431. LDD RA
  432. SHN 6
  433. ADK /MTX/UBUF GET UDT POINTERS
  434. CRD CM
  435. LDD CM+4 SET UDT FWA
  436. STM AUAB
  437. STM UDTA
  438. LDD CM+2 SET UDT LWA+1
  439. STM AUAA
  440. LJM PRSX RETURN
  441.  
  442.  
  443. PRSA DATA C* 1MU INCORRECT CALL.*
  444. CCA SPACE 4,15
  445. ** CCA - CHECK CHANNEL ACCESS.
  446. *
  447. * ENTRY (A) = CHANNEL BYTE FROM EST ENTRY.
  448. * (T8) = UNIT FLAG MASK.
  449. * (T9) = UNIT FLAG BYTE INDEX.
  450. * (CN - CN+4) = EST ENTRY *EQAE* WORD.
  451. *
  452. * EXIT UNIT FLAG SET IN *TUAC* IF UNIT ACCESSIBLE ON CHANNEL.
  453. * (CM+3) = 0 IF UNIT ACCESSIBLE ON CHANNEL.
  454. * (CN - CN+4) = EST ENTRY *EQAE* WORD.
  455. *
  456. * USES CM+3, T1.
  457.  
  458.  
  459. CCA SUBR ENTRY/EXIT
  460. STD T1 SAVE CHANNEL BYTE
  461. SHN -11
  462. LMN 4
  463. NJN CCAX IF NO CHANNEL ACCESS
  464. STD CM+3 INDICATE UNIT ACCESSIBLE
  465. LDD T1 SET CHANNEL NUMBER
  466. LPN 37
  467. STD T1
  468. LDM TUAA,T1 GET *TUAC* ADDRESS
  469. ADD T9 SET BYTE ADDRESS
  470. STD T1
  471. LDD T8 SET UNIT FLAG IN *TUAC*
  472. RAI T1
  473. UJN CCAX RETURN
  474. CES SPACE 4,20
  475. ** CES - CHECK EQUIPMENT STATUS.
  476. *
  477. * ENTRY (T8) = UNIT FLAG MASK.
  478. * (T9) = UNIT FLAG BYTE INDEX.
  479. * (UDTA) = UDT ADDRESS.
  480. *
  481. * EXIT UNIT FLAG SET IN *TUAC* ENTRIES FOR CHANNELS WITH
  482. * ACCESS TO UNIT.
  483. * UNIT FLAG SET IN *ACCM* IF UNIT ACCESSIBLE ON CHANNEL.
  484. * UNIT FLAG SET IN *ASGM* IF UNIT AVAILABLE FOR
  485. * ASSIGNMENT.
  486. * UNIT FLAG SET IN *JBRO* IF JOB ROLLED OUT.
  487. *
  488. * USES CM - CM+4, CN - CN+4.
  489. *
  490. * CALLS CCA, UAD.
  491. *
  492. * MACROS MONITOR, SFA.
  493.  
  494.  
  495. CES SUBR ENTRY/EXIT
  496.  
  497. * GET UDT AND EST INFORMATION.
  498.  
  499. RJM UAD
  500. ADK /MTX/UXRQ GET PP REQUEST
  501. CRD RS
  502. ADK /MTX/UST1-/MTX/UXRQ GET EST ORDINAL
  503. CRD ED
  504. ADK /MTX/UVRI-/MTX/UST1 GET ASSIGNED EJT ORDINAL
  505. CRD CN
  506. SFA EST,EO
  507. ADK EQDE GET CHANNEL STATUS
  508. CRD CM
  509.  
  510. * CHECK UNIT ACCESSIBILITY.
  511.  
  512. LDD CM
  513. LPN 3
  514. LMN DWES
  515. ZJN CES3 IF UNIT *DOWN*
  516. LDD CM+1
  517. RJM CCA CHECK PRIMARY CHANNEL ACCESS
  518. LDD HP
  519. SHN 21-7
  520. PJN CES1 IF NOT CTS UNIT
  521. LDD CM+3
  522. ZJN CES2 IF UNIT ACCESSIBLE ON PRIMARY CHANNEL
  523. CES1 LDD CM+2
  524. RJM CCA CHECK SECONDARY CHANNEL ACCESS
  525. LDD CM+3
  526. CES2 ZJN CES5 IF UNIT ACCESSIBLE
  527. CES3 LDD RS
  528. NJN CES4 IF REQUEST IN PROGRESS OR COMPLETE
  529. LDD FN
  530. LPN 77
  531. ZJN CES4 IF NO REQUEST
  532. SBN /MTX/MDFN
  533. PJN CES4 IF NOT *1MT* REQUEST
  534.  
  535. * REQUEUE *1MT* REQUEST ON INACCESSIBLE UNIT.
  536.  
  537. LDM UDTA SET UDT ADDRESS
  538. STD CM+1
  539. LDN 0 DO NOT CHECK UNIT BUSY
  540. STD CM+2
  541. MONITOR TDRM SET REQUEST IN PROGRESS
  542. LDD CM+4
  543. ZJN CES6 IF REQUEST NOT INTERLOCKED
  544. RJM UAD
  545. ADK /MTX/UXRQ GET REQUEST
  546. CRD RS
  547. LDK /MTX/RAC SET REQUEUE ON INACCESSIBLE UNIT
  548. STD RS
  549. RJM UAD
  550. ADK /MTX/UXRQ REQUEUE REQUEST
  551. CWD RS
  552. CES4 UJN CES6 UPDATE JOB STATUS
  553.  
  554. * SET UNIT ACCESSIBLE.
  555.  
  556. CES5 LDD T8 SET UNIT ACCESSIBLE
  557. RAM ACCM,T9
  558. LDD CM
  559. LPN 3
  560. LMK ONES
  561. NJN CES6 IF UNIT NOT *ON*
  562. LDD T8 SET UNIT ASSIGNABLE
  563. RAM ASGM,T9
  564.  
  565. * CHECK JOB STATUS.
  566.  
  567. CES6 SFA EJT,CN GET JOB STATUS FROM EJT
  568. ADK JSNE
  569. CRD CM
  570. LDD CM+4
  571. LPN 77
  572. LMN EXJS*2
  573. ZJN CES7 IF JOB EXECUTING OR UNIT NOT ASSIGNED
  574. LDD T8 SET JOB ROLLED OUT
  575. RAM JROM,T9
  576. CES7 LJM CESX RETURN
  577. CSJ SPACE 4,15
  578. ** CSJ - CHECK STAGING JOBS.
  579. *
  580. * USES CM - CM+4, CN - CN+4, T0 - T7.
  581. *
  582. * CALLS STM.
  583.  
  584.  
  585. CSJ SUBR ENTRY/EXIT
  586. LDD RA READ STAGE POINTER WORD
  587. SHN 6
  588. ADN /MTX/TAJP
  589. CRD T3
  590. LDD T3 CHECK FOR ENTRIES
  591. STD T5 (T5) = ENTRIES LEFT, (T6-T7) = FWA TABLE
  592.  
  593. * PROCESS NEXT ACTIVE STAGE JOB TABLE ENTRY.
  594.  
  595. CSJ1 SOD T5 DECREMENT COUNT
  596. MJN CSJX IF PROCESSED ALL ENTRIES
  597. LDD T6
  598. SHN 6
  599. ADD RA
  600. SHN 6
  601. ADD T7
  602. ADD T5
  603. CRD CN READ ACTIVE STAGE JOB TABLE ENTRY
  604. LDD CN
  605. ZJN CSJ1 IF NO ENTRY PRESENT
  606.  
  607. * SEARCH INPUT QUEUE FOR JOB.
  608.  
  609. LDK QFTP SEARCH INPUT QUEUE FOR JOB
  610. CRD T0 READ TABLE POINTER
  611. CSJ2 SOD T2 DECREMENT OFFSET
  612. MJN CSJ4 IF ALL ENTRIES CHECKED
  613. LDN QFTE ADVANCE QFT ADDRESS
  614. RAD T1
  615. SHN -14
  616. RAD T0
  617. SHN 14
  618. LMD T1
  619. ADK JSNQ
  620. CRD CM READ JSN AND QUEUE TYPE
  621. LDD CM+4
  622. SHN -11
  623. LMK INQT
  624. NJN CSJ2 IF NOT INPUT QUEUE FILE
  625. LDD CM
  626. LMD CN
  627. NJN CSJ2 IF NO MATCH
  628. LDD CM+1
  629. LMD CN+1
  630. NJN CSJ2 IF NO MATCH
  631. CSJ3 UJN CSJ1 JOB FOUND IN INPUT QUEUE
  632.  
  633. * SEARCH EJT FOR JOB.
  634.  
  635. CSJ4 LDK EJTP SEARCH EJT FOR JOB
  636. CRD T0 READ TABLE POINTER
  637. CSJ5 SOD T2 DECREMENT OFFSET
  638. MJN CSJ6 IF ALL ENTRIES CHECKED
  639. LDN EJTE ADVANCE EJT ADDRESS
  640. RAD T1
  641. SHN -14
  642. RAD T0
  643. SHN 14
  644. LMD T1
  645. ADK JSNE
  646. CRD CM READ JSN
  647. LDD CM
  648. LMD CN
  649. NJN CSJ5 IF NO MATCH
  650. LDD CM+1
  651. LMD CN+1
  652. NJN CSJ5 IF NO MATCH
  653. UJN CSJ3 ENTRY FOUND IN EJT
  654.  
  655. * JOB MISSING, INFORM MAGNET.
  656.  
  657. CSJ6 LDD CN SET JSN
  658. STD CM+1
  659. LDD CN+1
  660. STD CM+2
  661. LDN /MTX/TJE SET TERMINATE JOB TABLE ENTRY
  662. STD CM
  663. LDN 0
  664. STD CM+3
  665. LDN 1
  666. STD CM+4
  667. RJM STM SEND *TDAM* TO MAGNET
  668. LJM CSJX RETURN
  669. STM SPACE 4,15
  670. ** STM - SEND *TDAM* TO *MAGNET*.
  671. *
  672. * ENTRY (CM - CM+4) = *MAGNET* REQUEST WORD.
  673. *
  674. * EXIT (A) = 0, IF REQUEST COMPLETED.
  675. * (A) .NE. 0, IF *TDAM* WRITE REJECT.
  676. * TO *PNR5* IF ERROR FLAG DETECTED.
  677. *
  678. * USES CM+1 - CM+4.
  679. *
  680. * MACROS DELAY, MONITOR, PAUSE.
  681.  
  682.  
  683. STM SUBR ENTRY/EXIT
  684. LDD MA WRITE REQUEST TO MESSAGE BUFFER
  685. CWD CM
  686. STM1 LDN 1 SET WRITE FUNCTION
  687. STD CM+1
  688. LDC MTSI SET *MAGNET* SUBSYSTEM IDENTIFICATION
  689. STD CM+2
  690. LDD HN SET WORD COUNT
  691. STD CM+3
  692. LDK /MTX/RCAL SET ADDRESS OF *RESEX* REQUEST BUFFER
  693. STD CM+4
  694. MONITOR TDAM
  695. LDD CM+1
  696. ZJN STMX IF NO ERROR
  697. SBN 4
  698. ZJN STMX IF *MAGNET* NOT ACTIVE (IGNORE)
  699. ADN -1+4
  700. NJN STMX IF ERROR OTHER THAN STORAGE MOVE (IGNORE)
  701. DELAY
  702. PAUSE
  703. LDD CM+1
  704. ZJN STM1 IF ERROR FLAG NOT SET
  705. LJM STMX RETURN
  706. UUF SPACE 4,15
  707. ** UUF - UPDATE UNIT FLAGS.
  708. *
  709. * ENTRY (UDTA) = FIRST UDT ADDRESS.
  710. *
  711. * EXIT UNIT STATUS FLAGS RETURNED TO MAGNET.
  712. * CHECK UNIT ACTIVITY FLAG SET IF CHANGE IN UNIT STATUS.
  713. * REQUEST REQUEUED ON INACCESSIBLE UNITS WITH *1MT*
  714. * REQUESTS.
  715. * (UDTA) = FIRST UDT ADDRESS.
  716. *
  717. * USES T1, T2, T3, T8, T9, CM - CM+4.
  718. *
  719. * CALLS AUA, CES.
  720.  
  721.  
  722. UUF SUBR ENTRY/EXIT
  723.  
  724. * INITIALIZE *TUAA* TABLE AND UNIT MASK.
  725.  
  726. LDK /MTX/CST INITIALIZE CST ADDRESS
  727. STD T1
  728. LDK TUAC INITIALIZE *TUAC* ADDRESS
  729. STD T2
  730. UUF1 LDD RA SET CST ADDRESS
  731. SHN 6
  732. ADD T1
  733. ADK /MTX/CPST READ CHANNEL NUMBER
  734. CRD CM
  735. LDD CM+4
  736. ZJN UUF2 IF END OF CHANNELS
  737. LDD CM+3 SET CHANNEL NUMBER
  738. LPN 37 SET CHANNEL NUMBER
  739. STD T3
  740. LDD T2 SET *TUAC* ADDRESS
  741. STM TUAA,T3
  742. LDN /MTX/CSTE ADVANCE CST ADDRESS
  743. RAD T1
  744. LDN 5 ADVANCE *TUAC* ADDRESS
  745. RAD T2
  746. UJN UUF1 CHECK NEXT CST ENTRY
  747.  
  748. UUF2 STD T9 INITIALIZE UNIT FLAG BYTE INDEX
  749. LDC 4000 INITIALIZE UNIT FLAG MASK
  750. STD T8
  751.  
  752. * CHECK UNIT.
  753.  
  754. UUF3 RJM CES CHECK EQUIPMENT STATUS
  755. RJM AUA ADVANCE UDT ADDRESS
  756. ZJN UUF5 IF ALL UNITS CHECKED
  757. LDD T8 ADVANCE UNIT MASK
  758. SHN -1
  759. NJN UUF4 IF NOT END OF BYTE
  760. AOD T9 ADVANCE BYTE INDEX
  761. LDC 4000 RESET MASK FOR NEW BYTE
  762. UUF4 STD T8
  763. UJN UUF3 CHECK NEXT UNIT
  764.  
  765. * RETURN UNIT FLAGS TO MAGNET.
  766.  
  767. UUF5 LDK /MTX/CST+/MTX/CUAC INITIALIZE *CUAC* ADDRESS
  768. STD T1
  769. UUF6 LDD RA SET *CUAC* ADDRESS
  770. SHN 6
  771. ADD T1
  772. CWM TUAC,ON UPDATE ACCESS FLAGS
  773. UUFA EQU *-1 (*TUAC* ADDRESS)
  774. LDN 5 ADVANCE *TUAC* ADDRESS
  775. RAM UUFA
  776. LDK /MTX/CSTE ADVANCE *CUAC* ADDRESS
  777. RAD T1
  778. LMC /MTX/CST+/MTX/MCHAN*/MTX/CSTE+/MTX/CUAC
  779. NJN UUF6 IF MORE CHANNELS TO PROCESS
  780. LDD RA
  781. SHN 6
  782. ADK /MTX/ACCU
  783. CRD CM GET PREVIOUS ACCESSIBLE UNITS
  784. CWM ACCM,ON UPDATE ACCESSIBLE UNITS
  785. ADK /MTX/ASGU-/MTX/ACCU-1
  786. CRD CN GET PREVIOUS ASSIGNABLE UNITS
  787. CWM ASGM,ON UPDATE ASSIGNABLE UNITS
  788. ADK /MTX/JBRO-/MTX/ASGU-1
  789. CWM JROM,ON UPDATE JOB STATUS FLAGS
  790. LDD CM
  791. LMM ACCM
  792. NJN UUF7 IF CHANGE IN UNIT STATUS
  793. LDD CM+1
  794. LMM ACCM+1
  795. NJN UUF7 IF CHANGE IN UNIT STATUS
  796. LDD CN
  797. LMM ASGM
  798. NJN UUF7 IF CHANGE IN UNIT STATUS
  799. LDD CN+1
  800. LMM ASGM+1
  801. ZJN UUF8 IF NO CHANGE IN UNIT STATUS
  802. UUF7 LDN ZERL
  803. CRD CM
  804. LDC 4000
  805. STD CM
  806. LDD RA
  807. SHN 6
  808. ADK /MTX/CUAF SET CHECK UNIT ACTIVITY FLAG
  809. CWD CM
  810. UUF8 LJM UUFX RETURN
  811. TUAA SPACE 4,10
  812. ** TUAA - TABLE OF *TUAC* ADDRESSES INDEXED BY CHANNEL NUMBER.
  813. *
  814. *T, 12/ TADD
  815. *
  816. * TADD = ADDRESS OF *TUAC* ENTRY FOR CHANNEL.
  817.  
  818. TUAA BSSZ 40
  819. TUAC SPACE 4,10
  820. ** TUAC - *CUAC* WORDS OF *CST* IN *CST* ORDER.
  821. *
  822. *T, 16/ UNITA,44/ 0
  823. *
  824. * UNITA = MASK OF UNITS ACCESIBLE ON CHANNEL
  825.  
  826.  
  827. TUAC BSSZ /MTX/MCHAN*5
  828. USTB SPACE 4,10
  829. ** USTB - UNIT STATUS FLAGS ASSEMBLY BUFFER.
  830. *
  831. * BUFFER FOR MAGNET CELLS *ACCU*, *ASGU*, AND *JBRO*.
  832.  
  833. USTB BSSZ 3*5
  834. ACCM EQU USTB *ACCU*
  835. ASGM EQU USTB+5 *ASGU*
  836. JROM EQU USTB+2*5 *JBRO*
  837.  
  838.  
  839. IFP HERE CODE TO INITIALIZE SYSTEM FNT PROCESSOR
  840. OVERLAY (CIO OPERATIONS.)
  841. TITLE COMPLETE USER FET.
  842. CUF SPACE 4,10
  843. ** CUF - COMPLETE USER FET.
  844. * COMPLETES THE FET AND HANDLES SPECIAL REQUIREMENTS
  845. * FOR CLOSE CODES.
  846. *
  847. *T 12/ 0,12/ CUF,18/,18/ RETURN CODE
  848. *
  849. * CALLS CCR, CUL, CUP, PRS.
  850.  
  851.  
  852. ENTRY CUF
  853. RJM PRS PRESET
  854. LCN 1 SEARCH FOR SPECIAL PROCESSOR
  855. STD T1
  856. CUF1 LDN 2
  857. RAD T1
  858. LDM CUFB,T1
  859. ZJN CUF2 IF END OF TABLE
  860. LMM ECIO COMPARE WITH I/O REQUEST
  861. LPC 774
  862. NJN CUF1 IF NO MATCH
  863. LDM CUFB+1,T1 EXECUTE SPECIAL PROCESSOR
  864. STM CUFA
  865. RJM *
  866. CUFA EQU *-1
  867. CUF2 LDD PA COMPLETE FET
  868. LPN 77
  869. SHN 14
  870. LMD PB
  871. SCN 3 INSURE COMPLETE BIT SET
  872. ADN 1
  873. RJM CCR COMPLETE CIO REQUEST
  874. LJM NCPX EXIT
  875.  
  876.  
  877. CUFB BSS 0 TABLE OF CIO CODES NEEDING SPECIAL CARE
  878. CON 170,CUL CLOSE/UNLOAD
  879. CON 174,CUL CLOSE/UNLOAD
  880. CON 330,CUP CLOSER
  881. CON 350,CUP CLOSER
  882. CON 370,CUP CLOSER/UNLOAD
  883. CON 374,CUL CLOSER/RETURN
  884. CON 0 END OF TABLE
  885. CUL SPACE 4,10
  886. ** CUL - CLOSE/UNLOAD PROCESSOR.
  887. *
  888. * EXIT TO *RET1*.
  889. *
  890. * USES FA, CM - CM+4, CN - CN+4.
  891. *
  892. * CALLS CCR, FAD, HNG, *0DF*.
  893. *
  894. * MACROS EXECUTE.
  895.  
  896.  
  897. CUL3 RJM HNG HANG
  898.  
  899. CUL SUBR ENTRY/EXIT
  900. LDM FNTA SET FNT ADDRESS
  901. STD FA
  902. NFA FA,R
  903. ADK FSTL
  904. CRD CN GET TAPE FILE FST
  905. LDD CN
  906. LMD EO
  907. NJN CUL3 IF EST ORDINAL NOT CORRECT
  908. LDM ECIO SET RETURN/UNLOAD FLAG FOR *0DF*
  909. SHN -2
  910. LPN 1
  911. LMN 1
  912. STM B0DF-1
  913. EXECUTE 0DF,B0DF DROP FILE
  914. SHN -14
  915. STD T1 SAVE *0DF* STATUS
  916. LDN 0 SET STATUS WORD
  917. RJM FAD SET FET ADDRESS
  918. ZJN CUL2 IF FET STATUS NOT IN FL
  919. CRD CM READ FET STATUS
  920. LDD PA
  921. LPN 77
  922. SHN 14
  923. LMD PB
  924. SCN 3
  925. ZJN CUL1 IF SET COMPLETE BIT ONLY
  926. LMD CM+4 SET COMPLETION STATUS
  927. SCN 2
  928. LMD CM+4
  929. STD CM+4
  930. SHN -14
  931. LMD CM+3
  932. LPN 77
  933. LMD CM+3
  934. STD CM+3
  935. CUL1 LDD CM+4 SET COMPLETE BIT
  936. SCN 1
  937. LMN 1
  938. STD CM+4
  939. LDN 0 SET STATUS WORD
  940. RJM FAD SET FET ADDRESS
  941. CWD CM UPDATE FET STATUS
  942. LDN 0
  943. CUL2 RJM CCR UPDATE BLOCK COUNT AND RETURN TO MAGNET CP
  944. LDN ZERL
  945. CRD CM
  946. LDK /MTX/RTF SET RETURN FILE REQUEST
  947. STD CM
  948. RJM UAD
  949. ADK /MTX/UFRQ
  950. CWD CM
  951. LJM NCPX EXIT
  952. CUP SPACE 4,10
  953. ** CUP - CHECK USER PROCESSING ON CLOSER.
  954. *
  955. * EXIT (PA - PB) = UPDATED IF NEEDED.
  956. *
  957. * USES CM - CM+4.
  958. *
  959. * CALLS FAD.
  960.  
  961.  
  962. CUP SUBR ENTRY/EXIT
  963. LDM FETO
  964. SHN 21-11
  965. PJN CUP1 IF UP NOT SELECTED
  966. LDD PA CHECK ERROR CODE
  967. LPN 3
  968. SHN 14
  969. ADD PB
  970. SHN -12
  971. NJN CUPX IF ERROR
  972. LDM ECIO SET TO RETURN END OF REEL
  973. LPC 774
  974. LMC 2001
  975. STD PB
  976. UJN CUPX RETURN
  977.  
  978. CUP1 LDD LT
  979. SHN 21-12
  980. PJN CUPX IF NOT LABELED
  981. LDM FETO
  982. SHN 21-5
  983. MJN CUPX IF EXTENDED LABELS
  984. LDM FETL
  985. SHN -6 FET LENGTH - 5
  986. SBN 10
  987. MJN CUPX IF FET NOT LONG ENOUGH FOR LABEL PORTION
  988. LDN 14 SET WORD TO READ
  989. RJM FAD SET FET ADDRESS
  990. ZJN CUP3 IF ADDRESS NOT IN FL
  991. CRD CM READ FET + 14
  992. AOD CM+4
  993. LPN 77
  994. LMN 1R9+1
  995. NJN CUP2 IF NO OVERFLOW
  996. LDN 100-1R9-1+1R0
  997. RAD CM+4
  998. SHN -6
  999. LMN 1R9+1
  1000. NJN CUP2 IF NO OVERFLOW
  1001. LDC -1R9*100-100+1R0*100
  1002. RAD CM+4
  1003. AOD CM+3
  1004. LPN 77
  1005. LMN 1R9+1
  1006. NJN CUP2 IF NO OVERFLOW
  1007. LDN 100-1R9-1+1R0
  1008. RAD CM+3
  1009. CUP2 LDN 14 SET WORD TO WRITE
  1010. RJM FAD SET FET ADDRESS
  1011. CWD CM UPDATE REEL NUMBER IN FET
  1012. CUP3 LJM CUPX RETURN
  1013. TITLE ABORT CIO REQUEST.
  1014. MAB SPACE 4,25
  1015. ** MAB - ISSUE MESSAGE AND ABORT REQUEST.
  1016. *
  1017. *
  1018. *T UXRQ 12/ 1,12/ MAB,12/,12/ PA,12/ PB
  1019. *
  1020. * PB = *COMSMTX* ERROR CODE IF .NE. 0.
  1021. * PB = 0 IF TO USE ERROR CODE IN UDT.
  1022. * PA = *COMSMTX* ERROR SUB-CODE IF *PB* IS ERROR CODE.
  1023. *
  1024. *T, EXIT 12/ 2,12/ MAB,12/,12/ PA,12/ PB
  1025. *
  1026. * PB = *COMSMTX* ERROR CODE USED IN ABORT PROCESSING.
  1027. * PA = ERROR SUB-CODE.
  1028. *
  1029. * CALLS CCR, C2D, DFM, FAD, HNG, MFM, NWE, OPM, PRS, STM, TME,
  1030. * UAD, VAE.
  1031. *
  1032. * MACROS MONITOR.
  1033.  
  1034.  
  1035. ENTRY MAB
  1036. RJM PRS PRESET
  1037. LDD PB
  1038. NJN MAB1 IF ERROR CODE SPECIFIED IN CALL
  1039. LDM ERSC SET SUB-CODE
  1040. STD PA
  1041. LDD EC SET ERROR CODE
  1042. ZJN MAB3 IF NO ERROR CODE
  1043. STD PB
  1044. MAB1 SBN /MTX/MERC
  1045. MJN MAB4 IF VALID ERROR CODE
  1046. MAB3 RJM HNG HANG
  1047.  
  1048. MAB4 LDN 0 SET STATUS WORD
  1049. RJM FAD CHECK FET ADDRESS
  1050. NJN MAB5 IF FET WITHIN FL
  1051. LDN ZERL
  1052. MAB5 CRD CN
  1053. LDD CN+3 TERMINATE FILE NAME FOR MESSAGE ASSEMBLY
  1054. SCN 77
  1055. STD CN+3
  1056. LDM TUEM,PB SET MESSAGE ADDRESS
  1057. NJN MAB6 IF DEFINED
  1058. LDD PB
  1059. RJM C2D
  1060. STM TERR+6
  1061. LDC TERR SET HARDWARE ERROR MESSAGE
  1062. MAB6 RJM IDF ISSUE MESSAGE
  1063. LDM TSPC,PB
  1064. ZJN MAB7 IF NO SPECIAL PROCESSOR
  1065. STD T1
  1066. RJM 0,T1
  1067. MAB7 LDD BL
  1068. NJN MAB8 IF NOT FIRST BLOCK
  1069. LDD BL+1
  1070. SBN 2 0 OR 1 CONSIDERED FIRST BLOCK
  1071. PJN MAB8 IF NOT FIRST BLOCK
  1072. LDM TAME,EC
  1073. ZJN MAB8 IF NO SPECIAL MESSAGE
  1074. RJM DFM
  1075. MAB8 LDD PB
  1076. LMN /MTX/ERM
  1077. NJN MAB9 IF NOT END OF REEL MESSAGE
  1078. LJM NCPX EXIT
  1079.  
  1080. MAB9 LDN 0 CLEAR ERROR PARAMETERS
  1081. STD EP
  1082. STD EI
  1083. LDD HP
  1084. SHN 21-7
  1085. MJN MAB10 IF CTS UNIT
  1086. LDN 0
  1087. STD EP+1
  1088. MAB10 LDD PB
  1089. SBN /MTX/MFAT
  1090. MJN MAB11 IF FATAL USER ERROR
  1091. SBN /MTX/EFT-/MTX/MFAT
  1092. ZJN MAB12 IF ERROR FLAG TERMINATION
  1093. LDD SP
  1094. SHN 21-0
  1095. MJN MAB11 IF IGNORE EP SET
  1096. LDM FETO
  1097. SHN 21-10
  1098. MJN MAB12 IF ERROR PROCESSING SET
  1099. LDD SP
  1100. SHN 21-1
  1101. PJN MAB11 IF NOT ACCEPT DATA WITHOUT EP SET
  1102. LDN 1 SET TO NOT RETURN ERROR CODE
  1103. STM MABA
  1104. UJN MAB12 DO NOT SET ERROR FLAG
  1105.  
  1106. MAB11 LDN PPET SET ERROR FLAG
  1107. STD CM+1
  1108. MONITOR CEFM
  1109. MAB12 LDM ECIO CHECK EXTERNAL CIO CODE
  1110. LPC 774
  1111. LMC 200
  1112. NJN MAB13 IF NOT CONTROL WORD READ
  1113. LDM MABA
  1114. LMN 1
  1115. ZJN MAB13 IF NOT RETURN ERROR CODE
  1116. LDM LVLN PRESERVE LEVEL NUMBER
  1117. SHN -6
  1118. LPN 74
  1119. RAM MABA-1
  1120. MAB13 LDM ECIO GET EXTERNAL CIO CODE
  1121. LPC 774
  1122. LMC 4001
  1123. MABA EQU *-1 (FET COMPLETION STATUS)
  1124. RJM CCR SET FET COMPLETE AND RETURN TO MAGNET CP
  1125.  
  1126. * CHECK FOR ERROR DURING *POSMF* REQUEST OR REEL SWAP.
  1127.  
  1128. LDM ECIO
  1129. LPC 774
  1130. LMC 110
  1131. NJN MAB14 IF NOT *POSMF* REQUEST
  1132. LDD UP SET END OF SET STATUS
  1133. LPC 7677
  1134. LMD HN
  1135. STD UP
  1136. MAB14 RJM UAD
  1137. ADK /MTX/UVRI
  1138. CRD CN
  1139. ADK /MTX/UFSN-/MTX/UVRI
  1140. CRD CM
  1141. LDD CN+4
  1142. LPN 26
  1143. LMN 20
  1144. ZJN MAB15 IF REEL ASSIGNED AND NOT END OF REEL
  1145. LDD UP
  1146. SCN 40
  1147. LMN 40 SET FILE POSITION INDETERMINATE
  1148. STD UP
  1149. MAB15 LDD CN+4
  1150. LPN 6
  1151. ZJN MAB17 IF NOT END OF REEL PROCESSING
  1152. SHN 21-1
  1153. MJN MAB16 IF NEXT VSN RETURNED
  1154. SOD CN+3 DECREMENT REEL NUMBER
  1155. UJN MAB17 CLEAR FLAGS
  1156.  
  1157. MAB16 AOD CM+4 INCREMENT SECTION NUMBER
  1158. SHN -14
  1159. RAD CM+3
  1160. MAB17 LDD CN+4
  1161. SCN 17 CLEAR DISPLAY AND END OF REEL FLAGS
  1162. STD CN+4
  1163. RJM UAD
  1164. ADK /MTX/UVRI
  1165. CWD CN
  1166. ADK /MTX/UFSN-/MTX/UVRI
  1167. CWD CM
  1168. LJM NCPX EXIT
  1169. IDF SPACE 4,10
  1170. ** IDF - ISSUE DAYFILE MESSAGE WITH FILE NAME AND FET ADDRESS.
  1171. *
  1172. * ENTRY (A) = ADDRESS OF MESSAGE.
  1173. * (CN - CN+3) = FILE NAME.
  1174. *
  1175. * EXIT MESSAGE ISSUED TO DAYFILE.
  1176. *
  1177. * USES T1, T2.
  1178. *
  1179. * CALLS ACS, ANS, DFM.
  1180.  
  1181.  
  1182. IDF SUBR ENTRY/EXIT
  1183. STD T2 SAVE MESSAGE ADDRESS
  1184. LDC BFMS SET ASSEMBLY ADDRESS
  1185. STD T1
  1186. LDN 0 INITIALIZE MESSAGE ASSEMBLY
  1187. STI T1
  1188. LDD T2
  1189. RJM ACS ASSEMBLE MESSAGE TEXT
  1190. LDN CN
  1191. RJM ACS ASSEMBLE FILE NAME
  1192. LDC =Z* AT *
  1193. RJM ACS ASSEMBLE * AT *
  1194. LDM FETA SET FET ADDRESS
  1195. SHN 6
  1196. ADM FETA+1
  1197. RJM ANS ASSEMBLE FET ADDRESS
  1198. LDC =Z*.*
  1199. RJM ACS ASSEMBLE MESSAGE TERMINATOR
  1200. LDC BFMS ISSUE MESSAGE TO DAYFILE
  1201. RJM DFM
  1202. LJM IDFX RETURN
  1203. MFM SPACE 4,10
  1204. ** MFM - MULTI-FILE MISSING MESSAGE.
  1205. *
  1206. * ENTRY (LG) = REQUESTED FILE SECTION NUMBER.
  1207. * (LG+1) = HIGHEST EXISTING FILE SECTION NUMBER.
  1208. *
  1209. * EXIT (LG - LG+1) = 0.
  1210. *
  1211. * USES CM - CM+4.
  1212. *
  1213. * CALLS C2D, DFM.
  1214.  
  1215.  
  1216. MFM1 LDC MFMD SET FILE IDENTIFIER NOT FOUND
  1217. STM MFMA
  1218. MFM2 LDC MFMC * FOUND SECTION NNNN.*
  1219. * LDC MFMD * FILE IDENTIFIER NOT FOUND.*
  1220. MFMA EQU *-1
  1221. RJM DFM
  1222. MFM3 LDN 2 SET END OF SET ERROR STATUS
  1223. RAM MABA-1
  1224. LDC 1001
  1225. STM MABA
  1226.  
  1227. MFM SUBR ENTRY/EXIT
  1228. LDD PB CHECK ERROR MESSAGE
  1229. LMN /MTX/IOS
  1230. ZJN MFM3 IF INCORRECT OPERATION AT END OF SET
  1231. LDD LG
  1232. ADD LG+1
  1233. ZJP MFM1 IF FILE IDENTIFIER NOT FOUND
  1234. LDD LG CONVERT REQUESTED FILE SECTION NUMBER
  1235. SHN -6
  1236. RJM C2D
  1237. STM MFMB+12
  1238. LDD LG
  1239. RJM C2D
  1240. STM MFMB+13
  1241. LDD LG+1 CONVERT FOUND FILE SECTION NUMBER
  1242. SHN -6
  1243. RJM C2D
  1244. STM MFMC+10
  1245. LDD LG+1
  1246. RJM C2D
  1247. STM MFMC+11
  1248. LDC MFMB * REQUESTED SECTION NNNN.*
  1249. RJM DFM
  1250. LDN 0 CLEAR PARAMETERS
  1251. STD LG
  1252. STD LG+1
  1253. LJM MFM2 ISSUE NEXT MESSAGE
  1254.  
  1255.  
  1256. MFMB DATA C* REQUESTED SECTION 0000.*
  1257. MFMC DATA C* FOUND SECTION 0000.*
  1258. MFMD DATA C* FILE IDENTIFIER NOT FOUND.*
  1259. NWE SPACE 4,10
  1260. ** NWE - NO WRITE ENABLE.
  1261. *
  1262. * CALLS DFM, HNG.
  1263.  
  1264.  
  1265. NWE1 RJM HNG HANG
  1266.  
  1267. NWE SUBR ENTRY/EXIT
  1268. LDD PA
  1269. ZJN NWE1 IF NO SUB-CODE
  1270. SBN /MTX/MWSC
  1271. PJN NWE1 IF NOT VALID SUB-CODE
  1272. LDM TNWE,PA
  1273. ZJN NWEX IF NO ADDITIONAL MESSAGE
  1274. RJM DFM
  1275. UJN NWEX
  1276. OPM SPACE 4,10
  1277. ** OPM - OUTPUT MESSAGE ON OPEN PARAMETER ERROR.
  1278. *
  1279. * ENTRY (EP) = CHARACTER POSITION OF FIELD IN ERROR.
  1280. *
  1281. * USES CM - CM+4.
  1282. *
  1283. * CALLS DFM.
  1284. *
  1285. * MACROS MONITOR.
  1286.  
  1287.  
  1288. OPM SUBR ENTRY/EXIT
  1289. LDN ZERL CONVERT DATA
  1290. CRD CM
  1291. LDD EP
  1292. STD CM+4
  1293. LDD MA
  1294. CWD CM
  1295. MONITOR RDCM
  1296. LDD MA
  1297. CRD CM
  1298. LDD CM+4
  1299. STM OPMA+12
  1300. LDC OPMA * FIELD BEGINNING AT NN NO COMPARE.*
  1301. RJM DFM
  1302. UJN OPMX RETURN
  1303.  
  1304.  
  1305. OPMA DATA C* FIELD BEGINNING AT 00 NO COMPARE.*
  1306. STM SPACE 4,30
  1307. ** STM - MTS/ATS STATUS ERROR DEFINTION.
  1308. * GIVES ADDITIONAL DESCRIPTION OF STATUS ERROR MESSAGE.
  1309. *
  1310. * ISSUES ONE OF THE FOLLOWING MESSAGES FOR MTS.
  1311. *
  1312. * UNIT HAS MOTION PROBLEMS. (SEVERE START ERROR)
  1313. * SINGLE FRAME ERROR(S).
  1314. * LRC ERROR(S).
  1315. * CRC ERROR(S).
  1316. * POSTAMBLE ERROR.
  1317. * MULTI-TRACK PHASE ERROR.
  1318. * INCORRECT CHARACTER.
  1319. * PARITY ERROR.
  1320. *
  1321. * ISSUES ONE OF THE FOLLOWING MESSAGES FOR ATS.
  1322. *
  1323. * UNIT PROBLEMS. (UNIT CHECK)
  1324. * SINGLE FRAME ERROR.
  1325. * CRC ERROR.
  1326. * INCORRECT CHARACTER.
  1327. * PARITY ERROR.
  1328. *
  1329. * USES T1, T3.
  1330. *
  1331. * CALLS DFM.
  1332.  
  1333.  
  1334. STM SUBR ENTRY/EXIT
  1335. LDD HP
  1336. SHN 21-7
  1337. MJN STMX IF CTS
  1338. SHN 7-21
  1339. LPN 20
  1340. ZJN STM1 IF MTS CONTROLLER
  1341. LDN ATSM-MTSM
  1342. STM1 ADC MTSM-2 SET ADDRESS OF MESSAGE TABLE
  1343. STD T3
  1344. STM2 LDN 2 INCREMENT TO NEXT ENTRY
  1345. RAD T3
  1346. LDI T3
  1347. ZJN STM3 IF END OF TABLE
  1348. SHN 14 POSITION INDEX INTO DETAILED STATUS
  1349. STD T1
  1350. SHN 6 SET CORRECT SHIFT
  1351. LPN 77
  1352. LMC SHNI
  1353. STM STMA
  1354. LDM DSTS,T1 CHECK BIT
  1355. STMA SHN 0
  1356. PJN STM2 IF BIT NOT SET IN STATUS BYTE
  1357. STM3 AOD T3 GET MESSAGE ADDRESS
  1358. LDI T3
  1359. RJM DFM ISSUE MESSAGE
  1360. LJM STMX RETURN
  1361. TME SPACE 4,10
  1362. ** TME - TAPE MANAGER ERROR.
  1363. *
  1364. * EXIT END OF SET STATUS SET.
  1365. * *TFM* ERROR MESSAGE ISSUED.
  1366. *
  1367. * CALLS DFM.
  1368.  
  1369.  
  1370. TME SUBR ENTRY/EXIT
  1371. LDD UP SET END OF SET FLAG
  1372. LPC 7677
  1373. LMD HN
  1374. STD UP
  1375. LDC TMMS
  1376. RJM DFM ISSUE MESSAGE
  1377. UJN TMEX RETURN
  1378. VAE SPACE 4,10
  1379. ** VAE - ISSUE VSN ASSIGNMENT ERROR MESSAGE.
  1380. *
  1381. * USES T1, T3.
  1382. *
  1383. * CALLS ACS, DFM.
  1384.  
  1385.  
  1386. VAE SUBR ENTRY/EXIT
  1387. LDD PB
  1388. LMN /MTX/AME
  1389. ZJN VAE1 IF ACS MOUNT ERROR
  1390. LDC TRRJ&TACM
  1391. VAE1 LMC TACM SET MESSAGE TEXT ADDRESS
  1392. ADD PA
  1393. STD T3
  1394. LDI T3
  1395. ZJN VAEX IF NO MESSAGE
  1396. LDC BFMS SET ASSEMBLY ADDRESS
  1397. STD T1
  1398. LDN 0 INITIALIZE ASSEMBLY BUFFER
  1399. STI T1
  1400. LDC =Z* VSN *
  1401. RJM ACS ASSEMBLE PREFIX
  1402. LDC EVSN
  1403. RJM ACS ASSEMBLE VSN
  1404. LDI T3 SET MESSAGE TEXT ADDRESS
  1405. RJM ACS ASSEMBLE MESSAGE TEXT
  1406. LDC BFMS
  1407. RJM DFM ISSUE MESSAGE
  1408. LJM VAEX RETURN
  1409. PROC SPACE 4,10
  1410. ** PROC - DEFINE MESSAGE PROCESSOR FOR MTS/ATS.
  1411. *
  1412. * PROC INDEX,BIT,ADDR
  1413. *
  1414. * *INDEX* = INDEX INTO MTS/ATS DETAILED STATUS.
  1415. * *BIT* = BIT TO CHECK IN STATUS BYTE.
  1416. * *ADDR* = ADDRESS OF MESSAGE TO ISSUE IF BIT SET.
  1417.  
  1418.  
  1419. PROC MACRO IN,BIT,AD
  1420. CON IN*100+21-BIT,AD
  1421. ENDM
  1422. MTSM SPACE 4,10
  1423. ** MTSM - MTS MESSAGE PROCESSOR TABLE.
  1424. * ENTRY = 2 WORDS.
  1425. *
  1426. *T, 6/INDEX,6/SHIFT,12/ADDR
  1427. *
  1428. * INDEX INDEX INTO MTS/ATS DETAILED STATUS.
  1429. * SHIFT CORRECT SHIFT TO TEST DESIRED BIT.
  1430. * ADDR ADDRESS OF MESSAGE TO ISSUE IF BIT SET.
  1431.  
  1432.  
  1433. MTSM BSS 0
  1434. LOC 0
  1435. PROC 1,13,(=C* UNIT HAS MOTION PROBLEMS.*)
  1436. PROC 1,10,(=C* SINGLE FRAME ERROR.*)
  1437. PROC 1,7,(=C* LRC ERROR.*)
  1438. PROC 1,4,(=C* CRC ERROR.*)
  1439. PROC 1,0,(=C* POSTAMBLE ERROR.*)
  1440. PROC 3,11,(=C* MULTI-TRACK PHASE ERROR.*)
  1441. PROC 0,11,(=C* PARITY ERROR.*)
  1442. PROC 2,5,(=C* INCORRECT CHARACTER.*)
  1443. CON 0,=C* PARITY ERROR.* END OF TABLE
  1444. LOC *O
  1445. ATSM SPACE 4,10
  1446. ** ATSM - ATS MESSAGE PROCESSOR TABLE.
  1447. * ENTRY = 2 WORDS.
  1448. *
  1449. *T, 6/INDEX,6/SHIFT,12/ADDR
  1450. *
  1451. * INDEX INDEX INTO MTS/ATS DETAILED STATUS.
  1452. * SHIFT CORRECT SHIFT TO TEST DESIRED BIT.
  1453. * ADDR ADDRESS OF MESSAGE TO ISSUE IF BIT SET.
  1454.  
  1455.  
  1456. ATSM BSS 0
  1457. LOC 0
  1458. PROC 0,12,(=C* UNIT PROBLEMS.*)
  1459. PROC 2,7,(=C* CRC ERROR.*)
  1460. PROC 2,10,(=C* CRC ERROR.*)
  1461. PROC 2,11,(=C* CRC ERROR.*)
  1462. PROC 2,6,(=C* SINGLE FRAME ERROR.*)
  1463. PROC 2,2,(=C* INCORRECT CHARACTER.*)
  1464. PROC 0,11,(=C* PARITY ERROR.*)
  1465. CON 0,=C* PARITY ERROR.* END OF TABLE
  1466. LOC *O
  1467. TACM SPACE 4,10
  1468. ** TACM - TABLE OF ACF RESPONSE MESSAGES FOR *AME* ERROR.
  1469. *
  1470. * INDEXED BY *COMSATF* RESPONSE CODE.
  1471.  
  1472.  
  1473. TACM INDEX
  1474. INDEX /ATF/NSA,(=Z* NOT IN REQUESTED ACS.*)
  1475. INDEX /ATF/URL,(=Z* UNREADABLE OPTICAL LABEL.*)
  1476. INDEX /ATF/VNL,(=Z* NOT IN ACS LIBRARY.*)
  1477. INDEX /ATF/MXFE
  1478. TNWE SPACE 4,10
  1479. ** TNWE - TABLE OF MESSAGES FOR *NWE* ERROR.
  1480. *
  1481. * INDEXED BY *NWE* SUB ERROR CODE.
  1482.  
  1483.  
  1484. TNWE INDEX
  1485. INDEX /MTX/WTB,(=C* 200 BPI WRITE INCORRECT.*)
  1486. INDEX /MTX/LNE,(=C* LABEL NOT EXPIRED.*)
  1487. INDEX /MTX/MWSC
  1488. TRRJ SPACE 4,10
  1489. ** TRRJ - TABLE OF MESSAGES FOR *RRJ* ERROR.
  1490. *
  1491. * INDEXED BY *RRJ* SUB ERROR CODE.
  1492.  
  1493.  
  1494. TRRJ INDEX
  1495. INDEX /MTX/WRD,(=Z* NOT WRITE ENABLED.*)
  1496. INDEX /MTX/NLB,(=Z* NOT LABELED.*)
  1497. INDEX /MTX/CAD,(=Z* CANNOT ACCESS FILE DATA.*)
  1498. INDEX /MTX/WVS,(=Z* INTERNAL VSN MISMATCH.*)
  1499. INDEX /MTX/MRSC
  1500. TUEM SPACE 4,10
  1501. **** TUEM - TABLE OF USER ERROR MESSAGES.
  1502. * ALL USER ERRORS ARE FATAL UNLESS THEY ARE ALSO CONTAINED
  1503. * IN THE FOLLOWING TABLE.
  1504.  
  1505.  
  1506. TUEM INDEX
  1507. INDEX /MTX/BEI,(=Z* BOT/EOT ENCOUNTERED, *)
  1508. INDEX /MTX/ERM,(=Z* END OF TAPE, *)
  1509. INDEX /MTX/BTA,(=Z* BLANK TAPE, *)
  1510. INDEX /MTX/NWE,(=Z* NO WRITE ENABLE, *)
  1511. INDEX /MTX/BCW,(=Z* BUFFER CONTROL WORD ERROR, *)
  1512. INDEX /MTX/RAF,(=Z* READ AFTER WRITE, *)
  1513. INDEX /MTX/IOS,(=Z* END OF SET INCORRECT REQUEST, *)
  1514. INDEX /MTX/BAE,(=Z* BUFFER ARGUMENT ERROR, *)
  1515. INDEX /MTX/SCI,(=Z* CODED I/O NOT SUPPORTED, *)
  1516. INDEX /MTX/TPE,(=Z* JOB ABORTED BY TAPE MANAGER, *)
  1517. INDEX /MTX/AME,(=Z* ACS MOUNT ERROR, *)
  1518. INDEX /MTX/RRJ,(=Z* REEL ASSIGNMENT REJECTED, *)
  1519. INDEX /MTX/LAM,(=Z* LABEL MISSING, *)
  1520. INDEX /MTX/LCE,(=Z* LABEL CONTENT ERROR, *)
  1521. INDEX /MTX/LBE,(=Z* TRAILER BLOCK COUNT ERROR, *)
  1522. INDEX /MTX/LPE,(=Z* LABEL PARAMETER ERROR ON OPEN, *)
  1523. INDEX /MTX/LIT,(=Z* INCORRECT LABEL TYPE, *)
  1524. INDEX /MTX/IXL,(=Z* XL BUFFER/FET PARAMETER ERROR, *)
  1525. INDEX /MTX/MFM,(=Z* MULTI-FILE NOT FOUND, *)
  1526. INDEX /MTX/EFT,(=Z* ERROR FLAG TERMINATION, *)
  1527. INDEX /MTX/SYE,(=Z* SYSTEM ERROR, *)
  1528. INDEX /MTX/FPI,(=Z* FILE POSITION INDETERMINATE, *)
  1529. INDEX /MTX/OPA,(=Z* WRONG PARITY, *)
  1530. INDEX /MTX/BTL,(=Z* BLOCK TOO LARGE, *)
  1531. INDEX /MTX/BNE,(=Z* BLOCK SEQUENCE ERROR, *)
  1532. INDEX /MTX/STE,(=Z* STATUS ERROR, *)
  1533. INDEX /MTX/CMF,(=Z* CHANNEL MALFUNCTION, *)
  1534. INDEX /MTX/RDR,(=Z* READY DROP, *)
  1535. INDEX /MTX/FRJ,(=Z* FUNCTION REJECT, *)
  1536. INDEX /MTX/WEO,(=Z* UNIT HUNG UP ON EOP OR BUSY, *)
  1537. INDEX /MTX/CRJ,(=Z* CONNECT REJECT, *)
  1538. INDEX /MTX/ERA,(=Z* ERASE LIMIT, *)
  1539. INDEX /MTX/PLO,(=Z* POSITION LOST, *)
  1540. INDEX /MTX/RCE,(=Z* REPOSITION CORRECTED ERROR, *)
  1541. INDEX /MTX/MWT,(=Z* MARGINALLY WRITTEN TAPE, *)
  1542. INDEX /MTX/WVF,(=Z* WRITE VERIFY FAILURE, *)
  1543. INDEX /MTX/TME,(=Z* WRITE TAPE MARK FAILURE, *)
  1544. INDEX /MTX/TCF,(=Z* TAPE CLEANER FAULT, *)
  1545. INDEX /MTX/BFR,(=Z* READ ID BURST FAILURE, *)
  1546. INDEX /MTX/BFW,(=Z* WRITE ID BURST FAILURE, *)
  1547. INDEX /MTX/MERC
  1548.  
  1549. TERR DATA Z* ERROR CODE 00,*
  1550.  
  1551. * TAME - TABLE OF ADDITIONAL MESSAGES TO BE ISSUED IF ERROR
  1552. * OCCURS ON THE FIRST BLOCK OF THE TAPE.
  1553.  
  1554. TAME INDEX
  1555. INDEX /MTX/BTL,(=C* TAPE FORMAT PROBABLY WRONG.*)
  1556. INDEX /MTX/BNE,(=C* TAPE FORMAT PROBABLY WRONG.*)
  1557. INDEX /MTX/MERC
  1558. TSPC SPACE 4,10
  1559. ** TSPC - TABLE OF SPECIAL PROCESSORS.
  1560.  
  1561. TSPC INDEX
  1562. INDEX /MTX/NWE,NWE
  1563. INDEX /MTX/IOS,MFM
  1564. INDEX /MTX/TPE,TME
  1565. INDEX /MTX/AME,VAE
  1566. INDEX /MTX/RRJ,VAE
  1567. INDEX /MTX/LPE,OPM
  1568. INDEX /MTX/MFM,MFM
  1569. INDEX /MTX/STE,STM
  1570. INDEX /MTX/MERC
  1571. TITLE CHECK JOB ERROR FLAG.
  1572. CJE SPACE 4,15
  1573. ** CJE - CHECK JOB ERROR FLAG.
  1574. *
  1575. *
  1576. *T UXRQ 12/ 1,12/ CJE,12/,12/ PA,12/ PB
  1577. *
  1578. * PA = 0.
  1579. * PB = 0.
  1580. *
  1581. *T, EXIT 12/ 2,12/ CJE,12/,12/ PA,12/ PB
  1582. *
  1583. * PA = 0.
  1584. * PB = 0 IF NOT TO ABORT *CIO* REQUEST.
  1585. * PB .NE. 0 IF TO ABORT *CIO* REQUEST.
  1586. *
  1587. * CALLS CCR, PRS.
  1588.  
  1589.  
  1590. ENTRY CJE
  1591. RJM PRS PRESET
  1592. LDD CP READ ERROR FLAG
  1593. ADN STSW
  1594. CRD CM
  1595. LDD CM+1
  1596. LMN ODET
  1597. ZJN CJE1 IF OPERATOR DROP
  1598. LMN TAET&ODET
  1599. ZJN CJE1 IF USER BREAK TWO
  1600. LMN FSET&TAET
  1601. ZJN CJE1 IF FORCED ERROR
  1602. LMN FSET
  1603. SBN SPET
  1604. MJN CJE2 IF NOT SPECIAL PROCESSING ERROR
  1605. CJE1 AOD PB SET TO ABORT REQUEST
  1606. CJE2 LDN 0 DO NOT COMPLETE FET
  1607. RJM CCR COMPLETE REQUEST
  1608. LJM NCPX EXIT
  1609. TITLE COMMON DATA AREA.
  1610. SPACE 4,10
  1611. ** UDT DATA.
  1612.  
  1613.  
  1614. * *UFRQ*.
  1615.  
  1616. FREQ BSS 1 FILE REQUEST
  1617. FRST BSS 1 FILE REQUEST STATUS
  1618. BSS 2 RESERVED
  1619. FNTA BSS 1 LOCAL FNT ADDRESS
  1620.  
  1621. * *UCIA*.
  1622.  
  1623. ICIO BSS 1 INTERNAL CIO CODE
  1624. FETL BSS 1 FET LENGTH - 5 AND SKIP COUNT
  1625. SKPC BSS 1 SKIP COUNT
  1626. FETA BSS 2 FET ADDRESS
  1627.  
  1628. * *UCIB*.
  1629.  
  1630. ECIO BSS 1 EXTERNAL *CIO* CODE
  1631. FETO BSS 1 FET OPTIONS
  1632. LVLN BSS 1 LEVEL NUMBER / MLRS
  1633. MLRS BSS 2 MLRS
  1634.  
  1635. * *UDS1* - *UDS3*.
  1636.  
  1637. DSTS BSS 3*5 DETAILED STATUS
  1638.  
  1639. * *UESN*.
  1640.  
  1641. EVSN BSS 5 EXTERNAL VSN, FLAGS
  1642.  
  1643. * *UMSG* AND MESAGE TERMINATOR.
  1644.  
  1645. TMMS BSSZ 4*5 TAPE MANAGER MESSAGE
  1646. BSSZ 1 TERMINATOR
  1647. SPACE 4,10
  1648. TITLE SUBROUTINES.
  1649. CCR SPACE 4,15
  1650. ** CCR - COMPLETE CIO REQUEST.
  1651. *
  1652. * ENTRY (A) = FET COMPLETION CODE IF .NE. 0.
  1653. * (A) = 0 IF NOT TO COMPLETE FET.
  1654. *
  1655. * EXIT PP ASSIGNED TO MAGNET CONTROL POINT.
  1656. * BLOCKS SKIPPED COUNT CLEARED IN UDT.
  1657. *
  1658. * USES CM - CM+4.
  1659. *
  1660. * CALLS RCP, UAD.
  1661.  
  1662.  
  1663. CCR SUBR ENTRY/EXIT
  1664. RJM RCP COMPLETE FET AND RETURN TO MAGNET CP
  1665. RJM UAD
  1666. ADK /MTX/UBLC GET BLOCKS SKIPPED
  1667. CRD CM
  1668. LDN 0 CLEAR BLOCKS SKIPPED
  1669. STD CM+4
  1670. RJM UAD
  1671. ADK /MTX/UBLC UPDATE UDT
  1672. CWD CM
  1673. UJN CCRX RETURN
  1674. FAD SPACE 4,10
  1675. ** FAD - SET FET ADDRESS.
  1676. *
  1677. * ENTRY (A) = OFFSET OF WORD IN FET.
  1678. *
  1679. * EXIT (A) = ADDRESS + RA IF FET ADDRESS IN FL.
  1680. * (A) = 0 IF FET ADDRESS NOT IN FL.
  1681.  
  1682.  
  1683. FAD1 LDN 0 SET ADDRESS ERROR
  1684.  
  1685. FAD SUBR ENTRY/EXIT
  1686. STD T0 SAVE WORD OFFSET
  1687. LDM FETA
  1688. SHN 14
  1689. ADM FETA+1
  1690. ADD T0
  1691. SHN 14
  1692. SBD FL
  1693. SHN 6
  1694. PJN FAD1 IF ADDRESS NOT IN FL
  1695. SHN 14
  1696. ADD FL
  1697. ADD RA
  1698. SHN 6
  1699. UJN FADX RETURN
  1700. SPACE 4,10
  1701. ** COMMON DECKS.
  1702.  
  1703.  
  1704. *CALL COMPACS
  1705. *CALL COMPANS
  1706. *CALL COMPC2D
  1707. SPACE 4,10
  1708. ** *0DF* BUFFER.
  1709.  
  1710.  
  1711. B0DF EQU *+1 *0DF* OVERLAY BUFFER
  1712. ERRNG BFMS-B0DF-ZDFL CHECK LENGTH OF *0DF*
  1713. TITLE OVERLAID SUBROUTINES.
  1714. PRS SPACE 4,10
  1715. ** PRS - PRESET *CUF*, *MAB*, AND *CJE* FUNCTIONS.
  1716. *
  1717. * EXIT PP ASSIGNED TO USER CONTROL POINT.
  1718. *
  1719. * CALLS CCP, UAD.
  1720.  
  1721.  
  1722. PRS SUBR ENTRY/EXIT
  1723. RJM UAD
  1724. ADK /MTX/UFRQ GET CIO PARAMETERS
  1725. CRM FREQ,TR
  1726. ADK /MTX/UDS1-/MTX/UFRQ-3 GET DETAILED STATUS
  1727. CRM DSTS,TR
  1728. ADK /MTX/UBLC-/MTX/UDS1-3 GET BLOCK ACCUMULATOR
  1729. CRD CM
  1730. ADK /MTX/UMSG-/MTX/UBLC GET TAPE MANAGER MESSAGE
  1731. CRM TMMS,TR
  1732. CRM TMMS+5*3,ON
  1733. ADK /MTX/UESN-/MTX/UMSG-4 GET EXTERNAL VSN
  1734. CRM EVSN,ON
  1735. LDN 0 TERMINATE VSN FOR MESSAGE ASSEMBLY
  1736. STM EVSN+3
  1737. LDD CM+4 SAVE BLOCKS SKIPPED
  1738. STD T8
  1739. RJM CCP CHANGE TO USER CP
  1740. ZJN PRS2 IF CHANGE MADE
  1741. LDD FN
  1742. LMN /MTX/CJE
  1743. NJN PRS1 IF NOT CHECK JOB ABORT
  1744. LJM NCPX RETURN NORMAL COMPLETION STATUS
  1745.  
  1746. PRS1 LJM RJBX SET RECALL ON JOB ROLLED OUT
  1747.  
  1748. PRS2 LDD T8
  1749. ZJN PRS3 IF NO BLOCKS SKIPPED
  1750. STM RCPC SET BLOCKS SKIPPED
  1751. LDC ITPO*100 SET SRU INCREMENT
  1752. STM RCPA
  1753. PRS3 LJM PRSX RETURN
  1754. OVERLAY (PROCESS AUXILIARY FUNCTION.)
  1755. PAF SPACE 4,10
  1756. ** PAF - PROCESS AUXILIARY FUNCTION REQUEST.
  1757. *
  1758. * REQUEST FORMAT -
  1759. *
  1760. * 12/ 0,12/ *AFN*,12/ 0,12/ PM,12/ FC
  1761. *
  1762. * PM OPTIONAL PARAMETER.
  1763. * FC FUNCTION CODE.
  1764. *
  1765. * CALLS CJA, HNG, IAM, IRM, LGA, RVS, USP, VME, VSE.
  1766.  
  1767.  
  1768. ENTRY PAF ENTRY
  1769. LDD PB
  1770. SBN /MTX/AFMX
  1771. MJN PAF1 IF VALID FUNCTION CODE
  1772. RJM HNG HANG PP
  1773. PAF1 LDM TAFN,PB
  1774. STD T1
  1775. LJM 0,T1 PROCESS FUNCTION
  1776. TAFN SPACE 4,10
  1777. ** TAFN - TABLE OF *AFN* REQUEST FUNCTION CODES.
  1778.  
  1779.  
  1780. TAFN INDEX
  1781. INDEX /MTX/AFRA,IAM ISSUE REEL ASSIGNMENT MESSAGES
  1782. INDEX /MTX/AFRR,IRM ISSUE REEL RETURN MESSAGES
  1783. INDEX /MTX/AFLA,LGA LOG STATISTICAL ACCUMULATORS
  1784. INDEX /MTX/AFNV,RVS RETURN NEXT VSN
  1785. INDEX /MTX/AFUS,USP INITIATE UNIT SWAP
  1786. INDEX /MTX/AFCJ,CJA CLEAR JOB ASSIGNMENT
  1787. INDEX /MTX/AFVE,VSE ISSUE VSN MOUNTED EVENT
  1788. INDEX /MTX/AFME,VME ISSUE VSN EVENT AFTER ACS MOUNT ERROR
  1789. INDEX /MTX/AFMX TERMINATE TABLE
  1790. IAM SPACE 4,10
  1791. ** IAM - ISSUE REEL ASSIGNMENT MESSAGES.
  1792. *
  1793. * CALLS IRA, IVM.
  1794.  
  1795.  
  1796. IAM BSS 0 ENTRY
  1797. RJM IVM ISSUE NEXT VSN ASSIGNED MESSAGE
  1798. RJM IRA ISSUE REEL ASSIGNED MESSAGE
  1799. LJM NCPX EXIT
  1800. IRM SPACE 4,10
  1801. ** IRM - ISSUE REEL RETURN MESSAGES.
  1802. *
  1803. * CALLS IPT, IRR, LCE.
  1804.  
  1805.  
  1806. IRM BSS 0 ENTRY
  1807. RJM LCE LOG CORRECTED ERRORS
  1808. RJM IPT ISSUE PRU-S TRANSFERRED MESSAGE
  1809. RJM IRR ISSUE REEL RETURNED MESSAGE
  1810. LJM NCPX EXIT
  1811. LGA SPACE 4,10
  1812. ** LGA - LOG STATISTICAL ACCUMULATORS.
  1813. *
  1814. * CALLS IPT, LCE, UAD.
  1815.  
  1816.  
  1817. LGA BSS 0 ENTRY
  1818. RJM UAD
  1819. ADK /MTX/UERC GET CORRECTED ERROR ACCUMULATORS
  1820. CRD CM
  1821. LDD CM
  1822. SHN -3
  1823. NJN LGA1 IF THRESHOLD REACHED
  1824. LDD CM+1
  1825. LPN 77
  1826. NJN LGA1 IF THRESHOLD REACHED
  1827. LDD CM+2
  1828. SHN -11
  1829. NJN LGA1 IF THRESHOLD REACHED
  1830. LDD CM+3
  1831. NJN LGA1 IF THRESHOLD REACHED
  1832. LDD CM+4
  1833. SHN -11
  1834. ZJN LGA2 IF THRESHOLD NOT REACHED
  1835. LGA1 RJM LCE LOG CORRECTED ERRORS
  1836. RJM UAD
  1837. ADK /MTX/UBLC GET BLOCKS TRANSFERRED ACCUMULATORS
  1838. CRD CM
  1839. LDD CM
  1840. NJN LGA2 IF THRESHOLD REACHED
  1841. LDD CM+2
  1842. ZJN LGA3 IF THRESHOLD NOT REACHED
  1843. LGA2 RJM IPT ISSUE PRU-S TRANSFERRED MESSAGES
  1844. LGA3 LJM NCPX EXIT
  1845. RVS SPACE 4,10
  1846. ** RVS - RETURN NEXT VSN.
  1847. *
  1848. * CALLS AFA, IFA, RRS, UAD.
  1849. *
  1850. * MACROS ENDMS.
  1851.  
  1852.  
  1853. RVS BSS 0 ENTRY
  1854.  
  1855. * SET VSN FILE ACCESS AND READ ENTRY.
  1856.  
  1857. RJM UAD
  1858. ADK /MTX/UVRI
  1859. CRD CN
  1860. LDD CN+1 SET VSN FILE RANDOM ADDRESS
  1861. LPN 77
  1862. STD RI
  1863. LDD CN+2
  1864. STD RI+1
  1865. ADD RI
  1866. ZJN RVS4 IF NO RANDOM ADDRESS PRESENT
  1867. LDN RVFO SET VSN FILE ORDINAL
  1868. STD FO
  1869. LDN 2 PRESET ERROR STATUS
  1870. STD T9
  1871. LDN PTRM SET READ READ ALLOW MODIFY ACCESS
  1872. STD AM
  1873. RJM IFA INITIALIZE VSN FILE ACCESS
  1874. NJN RVS3 IF ERROR
  1875. RJM RRS READ VSN FILE SECTOR
  1876. ZJN RVS1 IF RANDOM ADDRESS ERROR OR NOT FULL SECTOR
  1877. SHN -21
  1878. STD T9 SET READ ERROR STATUS
  1879. NJN RVS2 IF READ ERROR
  1880. RVS1 ENDMS
  1881. RVS2 LDN RFAS RETURN VSN FILE
  1882. RJM AFA
  1883. RVS3 SOD T9
  1884. MJN RVS5 IF NO ERROR
  1885. NJN RVS4 IF NOT READ ERROR
  1886. LDM RDCT
  1887. SHN 21-12
  1888. MJN RVS4 IF NOT RECOVERABLE ERROR
  1889. LDN /MTX/RDL REQUEUE ON TIME DELAY
  1890. LJM SRSX SET REQUEST STATUS
  1891.  
  1892. * RETURN SYSTEM ERROR.
  1893.  
  1894. RVS4 LDK /MTX/SYE SET SYSTEM ERROR
  1895. STD EC
  1896. LJM ERRX RETURN ERROR
  1897.  
  1898. * SET ENTRY OFFSET.
  1899.  
  1900. RVS5 RJM UAD GET VSN REQUEST
  1901. ADK /MTX/UESN
  1902. CRD CM
  1903. ADK /MTX/UISN-/MTX/UESN
  1904. CRD T1
  1905. LDD CN VERIFY JOB EJT ORDINAL
  1906. LMM BFMS+2+5*/RSX/VDFI
  1907. NJN RVS4 IF INCORRECT EJT ORDINAL
  1908. LDD CN+3 SET ENTRY ORDINAL
  1909. STD T6
  1910. LDM BFMS+2+5*/RSX/VRLC+4
  1911. LPN 77 REEL COUNT
  1912. SBN 1
  1913. SBD T6
  1914. MJP RVS7 IF NO ENTRY FOR REEL
  1915. LDM BFMS+2+5*/RSX/VRLC+4
  1916. LPC 100
  1917. ZJN RVS6 IF NOT EQUIVALENCED VSN-S
  1918. LDD T6 ADJUST ORDINAL FOR EQUIVALENCED VSN-S
  1919. RVS6 RAD T6
  1920. SHN 2 SET VSN BUFFER OFFSET
  1921. RAD T6
  1922.  
  1923. * SET VSN-S FROM VSN FILE.
  1924.  
  1925. LDM BFMS+2+5*/RSX/VVSN,T6 SET EXTERNAL AND INTERNAL VSN
  1926. STD CM
  1927. STD T1
  1928. LDM BFMS+2+5*/RSX/VVSN+1,T6
  1929. STD CM+1
  1930. STD T1+1
  1931. LDM BFMS+2+5*/RSX/VVSN+2,T6
  1932. STD CM+2
  1933. STD T1+2
  1934. LDM BFMS+2+5*/RSX/VRLC+4
  1935. SHN 21-6
  1936. PJN RVS9 IF NOT EQUIVALENCED VSN-S
  1937. LDM BFMS+2+5*/RSX/VVSN+5,T6 SET INTERNAL VSN
  1938. STD T1
  1939. LDM BFMS+2+5*/RSX/VVSN+6,T6
  1940. STD T1+1
  1941. LDM BFMS+2+5*/RSX/VVSN+7,T6
  1942. STD T1+2
  1943. UJN RVS9 UPDATE UDT
  1944.  
  1945. * CHECK VSN RETURNED FROM *EOV2* LABEL.
  1946.  
  1947. RVS7 LDD CN+4
  1948. LPN 10
  1949. NJN RVS8 IF VSN RETURNED FROM *EOV2* LABEL
  1950. STD T1 CLEAR INTERNAL VSN
  1951. STD T1+1
  1952. STD T1+2
  1953. RVS8 LDD T1 SET EXTERNAL VSN TO INTERNAL VSN
  1954. STD CM
  1955. LDD T1+1
  1956. STD CM+1
  1957. LDD T1+2
  1958. STD CM+2
  1959.  
  1960. * UPDATE UDT.
  1961.  
  1962. RVS9 LDD CM+4 CLEAR SCRATCH VSN FLAG
  1963. SCN 40
  1964. STD CM+4
  1965. LDD CM CHECK FOR SCRATCH VSN
  1966. LMC 2R
  1967. NJN RVS10 IF NOT SCRATCH VSN
  1968. LMD CM
  1969. LMD CM+1
  1970. NJN RVS10 IF NOT SCRATCH VSN
  1971. LMD CM+1
  1972. LMD CM+2
  1973. NJN RVS10 IF NOT SCRATCH VSN
  1974. LDN 40 SET SCRATCH VSN
  1975. RAD CM+4
  1976. RVS10 RJM UAD
  1977. ADK /MTX/UVRI WRITE VSN FLAGS
  1978. CWD CN
  1979. ADK /MTX/UESN-/MTX/UVRI WRITE EXTERNAL VSN
  1980. CWD CM
  1981. ADK /MTX/UISN-/MTX/UESN WRITE INTERNAL VSN
  1982. CWD T1
  1983. LJM NCPX EXIT
  1984. USP SPACE 4,10
  1985. ** USP - INITIATE UNIT SWAP.
  1986. *
  1987. * ENTRY (PA) = NEW UDT ADDRESS.
  1988. *
  1989. * EXIT (PA) = NEW UDT ADDRESS.
  1990. *
  1991. * CALLS CCP, HNG, UAD.
  1992. *
  1993. * MACROS MONITOR, NFA.
  1994.  
  1995.  
  1996. USP BSS 0 ENTRY
  1997. RJM UAD GET TAPE FILE FNT ADDRESS
  1998. ADK /MTX/UFRQ
  1999. CRD CM
  2000. LDD CM+4 SET FNT ADDRESS
  2001. STD FA
  2002. LDD RA SET NEW UDT ADDRESS
  2003. SHN 6
  2004. ADD PA
  2005. ADK /MTX/UST1 GET NEW EST ORDINAL
  2006. CRD CM
  2007. ADK /MTX/UVRI-/MTX/UST1 GET UNIT SWAP FLAG
  2008. CRD CN
  2009. LDD CM+2 SAVE NEW EST ORDINAL
  2010. STD T8
  2011. LDD CN+1
  2012. SHN 21-13
  2013. MJN USP1 IF UNIT SELECTED FOR UNIT SWAP
  2014. RJM HNG HANG - NO RETURN
  2015.  
  2016. USP1 RJM CCP CHANGE TO USER CP
  2017. NJN USP2 IF CHANGE NOT MADE
  2018. LDD T8 SET NEW EST ORDINAL
  2019. STD CM+1
  2020. LDN REQS SET REQUEST ACTIVE EQUIPMENT
  2021. STD CM+2
  2022. MONITOR REQM REQUEST NEW EQUIPMENT
  2023. LDD CM+1
  2024. NJN USP3 IF EQUIPMENT ASSIGNED
  2025. USP2 LDN /MTX/BEI SET UNIT SWAP FAILURE
  2026. STD EC
  2027. LJM ERRX RETURN ERROR STATUS
  2028.  
  2029. USP3 NFA FA,R SET FNT ADDRESS
  2030. ADK FSTL GET FST ENTRY
  2031. CRD CM
  2032. LDD CM
  2033. LMD EO
  2034. NJN USP4 IF INCORRECT EST ORDINAL
  2035. LDD CM+4
  2036. SHN 21-0
  2037. PJN USP5 IF FILE BUSY
  2038. USP4 RJM HNG HANG - NO RETURN
  2039.  
  2040. USP5 LDD T8 SET NEW EST ORDINAL
  2041. STD CM
  2042. LDD PA SET NEW UDT ADDRESS
  2043. STD CM+1
  2044. NFA FA,R UPDATE FST ENTRY
  2045. ADK FSTL
  2046. CWD CM
  2047. LDD EO SET OLD EST ORDINAL
  2048. STD CM+1
  2049. MONITOR DEQM DROP OLD EQUIPMENT
  2050. LJM NCPX EXIT
  2051. CJA SPACE 4,10
  2052. ** CJA - CLEAR JOB ASSIGNMENT.
  2053. *
  2054. * CALLS CCP, RCP, UAD.
  2055. *
  2056. * MACROS MONITOR.
  2057.  
  2058.  
  2059. CJA BSS 0 ENTRY
  2060. RJM CCP CHANGE TO USER CP
  2061. NJP RJBX IF CHANGE NOT MADE
  2062. LDD EO SET EST ORDINAL
  2063. STD CM+1
  2064. MONITOR DEQM DROP TAPE EQUIPMENT
  2065. LDN 1 SET TO DECREMENT TAPE ACTIVITY
  2066. RJM RCP RETURN TO MAGNET CP
  2067. LDN ZERL
  2068. CRD CM
  2069. RJM UAD
  2070. ADK /MTX/UVRI CLEAR JOB ASSIGNMENT IN UDT
  2071. CWD CM
  2072. LDC OVRE ISSUE OVERCOMMITMENT EVENT
  2073. STD CM+4
  2074. SHN -14
  2075. STD CM+3
  2076. MONITOR EATM
  2077. LJM NCPX EXIT
  2078. VSE SPACE 4,10
  2079. ** VSE - ISSUE VSN MOUNTED EVENT.
  2080. *
  2081. * EXIT VSN EVENT ISSUED.
  2082. *
  2083. * USES CN - CN+4.
  2084. *
  2085. * CALLS IVE, UAD.
  2086.  
  2087.  
  2088. VSE BSS 0 ENTRY
  2089. RJM UAD
  2090. ADN /MTX/UMST GET ACS VSN
  2091. CRD CN
  2092. LDD ED
  2093. SHN 21-1
  2094. MJN VSE1 IF ACS UNIT
  2095. RJM UAD
  2096. ADK /MTX/UVSN GET INTERNAL VSN
  2097. CRD CN
  2098. LDD CN+3
  2099. SHN 21-12
  2100. PJN VSE1 IF NOT SCRATCH TAPE
  2101. LDC 2R SET SCRATCH VSN
  2102. STD CN
  2103. STD CN+1
  2104. STD CN+2
  2105. VSE1 RJM IVE ISSUE VSN EVENT
  2106. LJM NCPX EXIT
  2107. VME SPACE 4,10
  2108. ** VME - ISSUE VSN EVENT AFTER ACS VSN MOUNT ERROR.
  2109. *
  2110. * ENTRY (PA) = MOUNT ERROR TABLE ORDINAL.
  2111. *
  2112. * EXIT VSN EVENT ISSUED.
  2113. *
  2114. * USES CN - CN+4.
  2115. *
  2116. * CALLS IVE.
  2117.  
  2118.  
  2119. VME BSS 0 ENTRY
  2120. LDD RA
  2121. SHN 6
  2122. ADK /MTX/VET
  2123. ADD PA SET ADDRESS OF VSN WITH MOUNT ERROR
  2124. CRD CN
  2125. RJM IVE ISSUE VSN EVENT
  2126. LJM NCPX EXIT
  2127. TITLE FAST ATTACH FILE ACCESS ROUTINES.
  2128. AFA SPACE 4,15
  2129. ** AFA - ISSUE *AFAM* FUNCTION.
  2130. *
  2131. * ENTRY (A) = *AFAS* IF TO ATTACH FILE.
  2132. * (A) = *RFAS* IF TO RETURN FILE.
  2133. * (FO) = GLOBAL FNT ORDINAL.
  2134. * (FA) = ACCESS MODE.
  2135. *
  2136. * EXIT (CM+1 - CM+4) = *AFAM* FUNCTION EXIT PARAMETERS.
  2137. *
  2138. * USES CM+1 - CM+4.
  2139. *
  2140. * MACROS MONITOR.
  2141.  
  2142.  
  2143. AFA SUBR ENTRY/EXIT
  2144. STD CM+3 SET SUBFUNCTION
  2145. LDD FO SET FNT ORDINAL
  2146. STD CM+4
  2147. LDD AM SET ACCESS MODE
  2148. STD CM+2
  2149. LDN 0 SET LOCAL FAST ATTACH FILE
  2150. STD CM+1
  2151. MONITOR AFAM ATTACH OR RETURN FILE
  2152. UJN AFAX RETURN
  2153. IFA SPACE 4,15
  2154. ** IFA - INITIALIZE FAST ATTACH FILE ACCESS.
  2155. *
  2156. * ENTRY (FO) = GLOBAL FNT ORDINAL.
  2157. * (AM) = ACCESS MODE.
  2158. *
  2159. * EXIT (A) = 0 IF FILE ATTACHED.
  2160. * (A) .NE. 0 IF FILE NOT ATTACHED.
  2161. * MASS STORAGE DRIVER LOADED AND PRESET.
  2162. *
  2163. * USES T5 - T7, CM - CM+1.
  2164. *
  2165. * CALLS AFA.
  2166. *
  2167. * MACROS DELAY, PAUSE, SETMS, SFA.
  2168.  
  2169.  
  2170. IFA2 SFA FNT,FO
  2171. ADN FSTG GET FILE POINTERS
  2172. CRD T5
  2173. SETMS IO,RW
  2174. LDN 0 SET NO ERROR
  2175.  
  2176. IFA SUBR ENTRY/EXIT
  2177. IFA1 LDN AFAS ATTACH FILE
  2178. RJM AFA
  2179. LDD CM+1
  2180. ZJN IFA2 IF FILE ATTACHED
  2181. PAUSE
  2182. DELAY
  2183. LDD CM+1
  2184. ZJN IFA1 IF ERROR FLAG NOT SET
  2185. UJN IFAX RETURN WITH ERROR STATUS
  2186. RRS SPACE 4,15
  2187. ** RRS - READ RANDOM SECTOR.
  2188. *
  2189. * ENTRY (RI - RI+1) = RANDOM ADDRESS.
  2190. *
  2191. * EXIT (A) .GT. 0 IF FULL SECTOR READ.
  2192. * (A) = 0 IF RANDOM ADDRESS ERROR OR NOT FULL SECTOR.
  2193. * (A) .LT. 0 IF READ ERROR.
  2194. * (T6) = TRACK IF NO ERROR.
  2195. * (T7) = SECTOR IF NO ERROR.
  2196. * SECTOR READ TO *BFMS* IF NO ERROR.
  2197. *
  2198. * CALLS CRA, RDS.
  2199.  
  2200.  
  2201. RRS1 LDN 0 SET ERROR
  2202.  
  2203. RRS SUBR ENTRY/EXIT
  2204. RJM CRA CONVERT RANDOM ADDRESS
  2205. MJN RRS1 IF INCORRECT RANDOM ADDRESS
  2206. LDC BFMS SET BUFFER ADDRESS
  2207. RJM RDS READ SECTOR
  2208. MJN RRSX IF READ ERROR
  2209. LDM BFMS+1 CHECK IF FULL SECTOR
  2210. SHN -6
  2211. UJN RRSX RETURN WITH STATUS
  2212. TITLE DAYFILE MESSAGE ROUTINES.
  2213. CBC SPACE 4,10
  2214. ** CBC - CHECK BLOCK COUNT.
  2215. *
  2216. * ENTRY (T3 - T4) = BLOCKS TRANSFERRED COUNT.
  2217. *
  2218. * EXIT BLOCK COUNT MESSAGE ISSUED TO ACCOUNT FILE AND ERROR
  2219. * LOG IF NON-ZERO BLOCK COUNT.
  2220. *
  2221. * CALLS C2D, ITU.
  2222.  
  2223.  
  2224. CBC SUBR ENTRY/EXIT
  2225. LDD T3
  2226. ADD T4
  2227. ZJN CBCX IF NO BLOCKS TRANSFERRED
  2228. LDD T4
  2229. RJM C2D CONVERT BLOCK COUNT
  2230. STM IPTB+11
  2231. LDD T4
  2232. SHN -6
  2233. RJM C2D CONVERT BLOCK COUNT
  2234. STM IPTB+10
  2235. LDD T3
  2236. RJM C2D CONVERT BLOCK COUNT
  2237. STM IPTB+7
  2238. LDD T3
  2239. SHN -6
  2240. RJM C2D CONVERT BLOCK COUNT
  2241. STM IPTB+6
  2242. LDC IPTA SET MESSAGE ADDRESS
  2243. RJM ITU ISSUE MESSAGE
  2244. UJN CBCX RETURN
  2245. IPT SPACE 4,10
  2246. ** IPT - ISSUE PRU,S TRANSFERRED TO ACCOUNT FILE.
  2247. *
  2248. * USES T1 - T7, CM - CM+4.
  2249. *
  2250. * CALLS CBC, UAD.
  2251.  
  2252.  
  2253. IPT SUBR ENTRY/EXIT
  2254. RJM UAD GET BLOCKS READ
  2255. ADK /MTX/UBLC
  2256. CRD T3
  2257. RJM CBC CHECK BLOCK COUNT
  2258. LDN ZERL
  2259. CRD CM
  2260. RJM UAD GET BLOCKS WRITTEN
  2261. ADK /MTX/UBLC
  2262. CRD T1
  2263. CWD CM CLEAR BLOCK ACCUMULATORS
  2264. LDC 2RW. SET *W.* IN MESSAGE
  2265. STM IPTB+13
  2266. RJM CBC CHECK BLOCK COUNT
  2267. UJN IPTX RETURN
  2268.  
  2269.  
  2270. IPTA VFD 60/-0 JOB SEQUENCE NUMBER AND SERVICE CLASS
  2271. IPTB DATA C*SCMT, 000, 00000000, R.*
  2272. IRA SPACE 4,10
  2273. ** IRA - ISSUE REEL ASSIGNED MESSAGE.
  2274. *
  2275. * CALLS ITU, UAD.
  2276. *
  2277. * USES CM - CM+4.
  2278.  
  2279.  
  2280. IRA SUBR ENTRY/EXIT
  2281. RJM UAD STORE VSN
  2282. ADN /MTX/UVSN
  2283. CRD CM
  2284. LDD CM+3
  2285. SHN 21-2
  2286. MJN IRA1 IF DEFAULT LABEL
  2287. LDD CM
  2288. ADD CM+1
  2289. ADD CM+2
  2290. ZJN IRA1 IF NO VSN
  2291. LDD CM SET VSN
  2292. STM IRAB+6
  2293. LDD CM+1
  2294. STM IRAB+7
  2295. LDD CM+2
  2296. STM IRAB+10
  2297. UJN IRA2 ISSUE MESSAGE
  2298.  
  2299. IRA1 LDC 2R. ALTER MESSAGE FOR INDICATING NO VSN
  2300. STM IRAB+5
  2301. LDN 0
  2302. STM IRAB+6
  2303. IRA2 LDC IRAA SET MESSAGE ADDRESS
  2304. RJM ITU ISSUE MESSAGE
  2305. LJM IRAX RETURN
  2306.  
  2307.  
  2308. IRAA VFD 60/-0 JOB SEQUENCE NUMBER AND SERVICE CLASS
  2309. IRAB DATA C*AMAS, 000, .*
  2310. IRR SPACE 4,10
  2311. ** IRR - ISSUE REEL RETURNED MESSAGE.
  2312. *
  2313. * USES CM - CM+4.
  2314. *
  2315. * CALLS ITU.
  2316. *
  2317. * MACROS SFA.
  2318.  
  2319.  
  2320. IRR SUBR ENTRY/EXIT
  2321. LDD HP
  2322. SHN 21-7
  2323. PJN IRR1 IF NOT CTS
  2324. LDC 2R56
  2325. STM IRRB+6
  2326. LDC 2R82 CHANGE TYPE TO *5682*
  2327. STM IRRB+7
  2328. LDC 2R.
  2329. STM IRRB+10
  2330. UJN IRR4 ISSUE MESSAGE
  2331.  
  2332. IRR1 SHN 21-10-21+7
  2333. PJN IRR2 IF NOT 639 TAPE UNIT
  2334. LDC 2R63
  2335. STM IRRB+6
  2336. LDC 2R9.
  2337. STM IRRB+7
  2338. UJN IRR4 ISSUE MESSAGE
  2339.  
  2340. IRR2 SHN 21-5+10-21
  2341. MJN IRR4 IF MTS TAPE UNIT
  2342. SFA EST,EO CHECK FOR CMTS
  2343. ADK EQDE
  2344. CRD CM
  2345. LDD CM
  2346. LPN 4
  2347. ZJN IRR3 IF NOT CMTS
  2348. LDC 2R8. CHANGE TYPE TO *698*
  2349. STM IRRB+7
  2350. LDN 2
  2351. RAM IRRB+6
  2352. IRR3 AOM IRRB+6 CHANGE TYPE TO *67X* (OR *698*)
  2353. IRR4 LDC IRRA SET MESSAGE ADDRESS
  2354. RJM ITU ISSUE MESSAGE
  2355. LJM IRRX RETURN
  2356.  
  2357.  
  2358. IRRA VFD 60/-0 JOB SEQUENCE NUMBER AND SERVICE CLASS
  2359. IRRB DATA C*AMRT, 000, 66X. *
  2360. ITU SPACE 4,15
  2361. ** ITU - ISSUE TAPE USAGE MESSAGE.
  2362. *
  2363. * ENTRY (A) = ADDRESS OF MESSAGE.
  2364. *
  2365. * EXIT MESSAGE ISSUED TO ACCOUNT DAYFILE AND ERROR LOG.
  2366. *
  2367. * USES T3, CM - CM+4, CN - CN+4.
  2368. *
  2369. * CALLS DFM, UAD.
  2370. *
  2371. * MACROS SFA.
  2372.  
  2373.  
  2374. ITU SUBR ENTRY/EXIT
  2375. STD T3 SAVE MESSAGE ADDRESS
  2376. RJM UAD
  2377. ADK /MTX/UVRI GET EJT ORDINAL
  2378. CRD CM
  2379. SFA EJT,CM SET EJT ADDRESS
  2380. ADK JSNE GET JSN
  2381. CRD CM
  2382. ADK SCLE-JSNE GET SERVICE CLASS
  2383. CRD CN
  2384. LDD CM SET JSN
  2385. STI T3
  2386. LDD CM+1
  2387. STM 1,T3
  2388. LDD CN SET SERVICE CLASS
  2389. SHN -6
  2390. STM 4,T3
  2391. LDD EO
  2392. RJM C2D CONVERT LOWER TWO DIGITS OF EST ORDINAL
  2393. STM 11,T3 SET EST ORDINAL
  2394. LDD EO
  2395. SHN -6
  2396. ADC 2R 0
  2397. STM 10,T3 SET EST ORDINAL UPPER DIGIT
  2398. LDD T3 SET MESSAGE ADDRESS AND OPTION
  2399. ADC AJNN
  2400. RJM DFM ISSUE MESSAGE TO ACCOUNT FILE
  2401. LDD T3 SET MESSAGE ADDRESS AND OPTION
  2402. ADC EJNN
  2403. RJM DFM ISSUE MESSAGE TO ERROR LOG
  2404. LJM ITUX RETURN
  2405. IVM SPACE 4,10
  2406. ** IVM - ISSUE VSN ASSIGNED MESSAGE TO USER DAYFILE.
  2407. *
  2408. * EXIT NEXT VSN MESSAGE ISSUED TO USER DAYFILE.
  2409. * TO REQUEUE REQUEST IF CP CHANGE NOT MADE.
  2410. *
  2411. * USES CM - CM+4.
  2412. *
  2413. * CALLS ACS, CCP, C2D, DFM, RCP, UAD, ZFV.
  2414.  
  2415.  
  2416. IVM SUBR ENTRY/EXIT
  2417. RJM UAD
  2418. ADK /MTX/UFRQ READ FILE REQUEST
  2419. CRD CM
  2420. ADK /MTX/UESN-/MTX/UFRQ READ VSN
  2421. CRM IVMA,ON
  2422. LDD CM+4 SET FNT ADDRESS
  2423. STD FA
  2424. RJM CCP CHANGE TO USER CONTROL POINT
  2425. NJP RJBX IF CHANGE NOT MADE
  2426. SFA EST,EO SET EST ADDRESS
  2427. ADK EQDE
  2428. CRD T5 GET EQUIPMENT MNEMONIC
  2429. LDD EO
  2430. SHN -3
  2431. RJM C2D CONVERT UPPER TWO DIGITS OF EST ORDINAL
  2432. STD CM+1
  2433. LDD EO
  2434. LPN 7 CONVERT LOWER DIGIT OF EST ORDINAL
  2435. ADN 1R0
  2436. SHN 6
  2437. STD CM+2
  2438. LDN 0
  2439. STD CM+3
  2440. NFA FA,R
  2441. ADK FNTL GET FILE NAME
  2442. CRD CN
  2443. LDD CN+3 TERMINATE FILE NAME
  2444. SCN 77
  2445. STD CN+3
  2446. LDC IVMA SET VSN ADDRESS
  2447. RJM ZFV ZERO FILL VSN
  2448. LDC BFMS SET ASSEMBLY ADDRESS
  2449. STD T1
  2450. LDC 1R *100 INITIALIZE MESSAGE ASSEMBLY
  2451. STI T1
  2452. LDN CM ASSEMBLE MNEMONIC AND EST ORDINAL
  2453. RJM ACS
  2454. LDC =Z* ASSIGNED TO *
  2455. RJM ACS
  2456. LDN CN ASSEMBLE FILE NAME
  2457. RJM ACS
  2458. LDC =Z*, VSN=*
  2459. RJM ACS
  2460. LDC IVMA ASSEMBLE VSN
  2461. RJM ACS
  2462. LDC =Z*.*
  2463. RJM ACS TERMINATE MESSAGE
  2464. LDC BFMS
  2465. RJM DFM ISSUE MESSAGE
  2466. RJM RCP RETURN TO MAGNET CONTROL POINT
  2467. LJM IVMX EXIT
  2468.  
  2469.  
  2470. IVMA BSSZ 5 VSN FROM UDT
  2471. LCE SPACE 4,15
  2472. ** LCE - LOG CORRECTED TAPE ERRORS.
  2473. *
  2474. * EXIT CORRECTED ERRORS MESSSAGE ISSUED TO MAINTENANCE LOG IF
  2475. * NON-ZERO ERROR COUNT.
  2476. * CORRECTED ERROR COUNTS CLEARED.
  2477. *
  2478. * USES CM - CM+4, T1 - T5.
  2479. *
  2480. * CALLS DFM.
  2481. *
  2482. * MACROS SFA.
  2483.  
  2484.  
  2485. LCE SUBR ENTRY/EXIT
  2486. LDN ZERL
  2487. CRD T1
  2488. RJM UAD
  2489. ADC /MTX/UERC GET ERROR COUNTS
  2490. CRD CM
  2491. CRM CEMS+3*5,ON SET COUNTS IN MESSAGE
  2492. SBN 1
  2493. CWD T1 CLEAR ERROR COUNTS
  2494. ADK /MTX/UVSN-/MTX/UERC SET VSN IN MESSAGE
  2495. CRM CEMS+2*5,ON
  2496. LDD CM
  2497. ADD CM+1
  2498. ADD CM+2
  2499. ADD CM+3
  2500. ADD CM+4
  2501. ZJN LCEX IF NO RECOVERED ERRORS
  2502. LDN 0 CLEAR UNUSED FIELDS
  2503. STM CEMS+2*5+3
  2504. STM CEMS+2*5+4
  2505. SFA EST,EO GET EST INFORMATION
  2506. ADK EQDE
  2507. CRD CM
  2508. LDD HP
  2509. SHN 21-7
  2510. PJN LCE1 IF NOT CTS UNIT
  2511. LDD CM+3
  2512. SHN -7
  2513. ADN /DFS/TM0046
  2514. UJN LCE5 SAVE MESSAGE ID
  2515.  
  2516. LCE1 LDD CM
  2517. LPN 14
  2518. ZJN LCE2 IF NOT CMTS OR ISMT
  2519. SHN -3
  2520. UJN LCE3 STORE *TMID* TABLE INDEX
  2521.  
  2522. LCE2 LDD CM
  2523. SHN -6
  2524. LPN 7
  2525. LCE3 STD T1 STORE *TMID* TABLE INDEX
  2526. RAD T1
  2527. LDD HP CHECK IF 7 TRACK
  2528. SHN 21-0
  2529. PJN LCE4 IF 7 TRACK
  2530. AOD T1 INCREMENT INDEX TO 9 TRACK
  2531. LCE4 LDM TMID,T1 SET MESSAGE ID
  2532. LCE5 STM CEMS
  2533. LDD HN SET SYMPTOM CODE
  2534. STM CEMS+1
  2535. LDD CM+4 SET EQUIPMENT AND UNIT NUMBER
  2536. LPC 7017
  2537. STM CEMS+3
  2538. LDD EO SET EST ORDINAL
  2539. STM CEMS+1*5
  2540. LDN 4*5 SET MESSAGE LENGTH
  2541. STD CM+1
  2542. LDC CEMS+BMLN
  2543. RJM DFM LOG MESSAGE
  2544. LJM LCEX RETURN
  2545. SPACE 4,15
  2546. ** CORRECTED ERRORS MESSAGE.
  2547. *
  2548. *T CEMS 12/MSGID,12/SYM,6/PP,6/CH,3/EQ,5/0,4/UN,12/0
  2549. *T, 12/EST,48/0
  2550. *T, 36/ VOLUME SERIAL NUMBER,12/0,12/REEL NUMBER
  2551. *T, 18/LATE DATA ERRORS,18/WRITE ERRORS,6/0,18/READ ERRORS
  2552. *
  2553. * MSGID MESSAGE IDENTIFICATION (DEVICE TYPE).
  2554. * SYM SYMPTOM CODE.
  2555. * PP PP NUMBER.
  2556. * CH CHANNEL.
  2557. * EQ EQUIPMENT NUMBER.
  2558. * UN UNIT NUMBER.
  2559. *
  2560. * EST EST ORDINAL.
  2561.  
  2562.  
  2563. CEMS VFD 12/0,12/0,6/0,6/0,6/0,6/0,12/0
  2564. VFD 12/0,48/0
  2565. VFD 36/0,12/0,12/0
  2566. VFD 18/0,18/0,6/0,18/0
  2567. SPACE 4,10
  2568. ** TMID - TABLE OF MAGNETIC TAPE MESSAGE ID-S.
  2569. *
  2570. *T 12/ DEVICE MESSAGE ID
  2571. *
  2572. * NOTE - CODE DEPENDS ON ORDER OF TABLE.
  2573.  
  2574. TMID CON 0
  2575. CON /DFS/TM0053 CMTS/698
  2576. CON 0
  2577. CON /DFS/TM0057 ISMT/639
  2578. CON /DFS/TM0044 ATS/677
  2579. CON /DFS/TM0054 ATS/679
  2580. CON /DFS/TM0045 FSC/7 TRACK
  2581. CON /DFS/TM0056 FSC/9 TRACK
  2582. CON /DFS/TM0042 MTS/667
  2583. CON /DFS/TM0052 MTS/669
  2584. * CON /DFS/TM0046 AT (TABLE NOT USED
  2585. CON /DFS/TM0047 CT (TABLE NOT USED)
  2586. TITLE UTILITY SUBROUTINES.
  2587. IVE SPACE 4,10
  2588. ** IVE - ISSUE VSN EVENT.
  2589. *
  2590. * ENTRY (CN - CN+2) = VSN.
  2591. *
  2592. * EXIT VSN EVENT ISSUED.
  2593. *
  2594. * USES CM+1, CM+3 - CM+4.
  2595. *
  2596. * MACROS MONITOR.
  2597.  
  2598.  
  2599. IVE SUBR ENTRY/EXIT
  2600. LDN EEVS SET ENTER EVENT
  2601. STD CM+1
  2602. LDN VSNE/10000 SET VSN EVENT
  2603. STD CM+3
  2604. LDD CN
  2605. ADD CN+1
  2606. ADD CN+2
  2607. STD CM+4
  2608. MONITOR EATM ISSUE VSN EVENT
  2609. UJN IVEX RETURN
  2610. ZFV SPACE 4,10
  2611. ** ZFV - ZERO FILL VSN.
  2612. *
  2613. * ENTRY (A) = ADDRESS OF VSN.
  2614. *
  2615. * EXIT TRAILING BLANKS REMOVED FROM VSN.
  2616. * VSN TERMINATED WITH ZERO BYTE.
  2617. *
  2618. * USES T1, T2.
  2619.  
  2620.  
  2621. ZFV SUBR ENTRY/EXIT
  2622. STD T1 SET VSN ADDRESS
  2623. ADN 3
  2624. STD T2
  2625. LDN 0 TERMINATE VSN
  2626. ZFV1 STI T2
  2627. SOD T2
  2628. SBD T1
  2629. MJN ZFVX IF CHECK COMPLETE
  2630. LDI T2
  2631. LMC 2R
  2632. ZJN ZFV1 IF TWO BLANKS
  2633. LPN 77
  2634. NJN ZFVX IF NOT TRAILING BLANK
  2635. LDI T2
  2636. SCN 77
  2637. STI T2
  2638. UJN ZFVX RETURN
  2639. SPACE 4,10
  2640. ** COMMON DECKS.
  2641.  
  2642.  
  2643. *CALL COMPACS
  2644. *CALL COMPCRA
  2645. *CALL COMPC2D
  2646.  
  2647.  
  2648. END
cdc/nos2.source/opl871/1mu.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator