Table of Contents

IMS

Table Of Contents

  • [00007] IMS - INITIALIZE MASS STORAGE.
  • [00009] INITIALIZE MASS STORAGE.
  • [00255] MACRO DEFINITIONS.
  • [00257] ENTRY - DEFINE OVERLAY ENTRY POINT.
  • [00275] FCN - DEFINE FUNCTION PROCESSOR.
  • [00293] OVERLAY - DEFINE SECONDARY OVERLAY(S).
  • [00336] MAIN PROGRAM.
  • [00338] MAIN PROGRAM.
  • [00352] RESIDENT SUBROUTINES.
  • [00354] CLI - CLEAR INTERLOCKS.
  • [00372] RDS - READ SECTOR.
  • [00396] WDS - WRITE SECTOR.
  • [00424] ABT - ABORT OPERATION.
  • [00452] MSI - ISSUE *MSI* REQUEST.
  • [00478] CKC - CALL *1CK* TO PROCESS CHECKPOINT.
  • [00504] CAT - CALCULATE ADDRESS OF TRT.
  • [00522] CDE - COMPARE DAT ENTRY.
  • [00544] CQF - CHECK FOR QUEUED FILES.
  • [00605] CST - CHECK SPECIAL TRACKS.
  • [00656] CTB - CHECK TRACK BITS.
  • [00693] FBT - FLAW BLOCK OF TRACKS IN TRT.
  • [00736] GDS - GET DAT SECTOR.
  • [00791] GLA - GET LOCAL AREA SECTOR.
  • [00819] IMG - ISSUE *READING* MESSAGE.
  • [00844] IPF - INITIALIZE PACK FLAWS.
  • [00899] LDA - LOAD CM ADDRESS.
  • [00915] RCS - RESERVE *CTI* SPACE.
  • [01062] SDL - SET DIT LOCATION.
  • [01091] SDT - SEARCH DAT TABLES.
  • [01159] SLI - SET LOCAL UTILITY INTERLOCK.
  • [01177] SME - SET MASS STORAGE EQUIPMENT.
  • [01231] TSME - TABLE OF MESSAGES REQUIRING EQUIPMENT MNEMONICS AND
  • [01252] STB - SET TRACK BIT.
  • [01276] STI - SET TRACK INTERLOCK.
  • [01310] STM - SET TRACK NUMBER IN MESSAGE.
  • [01334] TED - TRANSFER DAT ENVIRONMENT DATA.
  • [01365] TRT - UPDATE TRT.
  • [01387] UDA - UPDATE DAT ENTRY.
  • [01455] UEC - UPDATE EXTENDED MEMORY MST DATA.
  • [01555] RESIDENT PROCESSORS.
  • [01645] DFT - DROP AND FLAW TRACK.
  • [01691] IAM - ISSUE ACCOUNTING MESSAGE.
  • [01776] RCC - RESERVE CATALOG CHAIN.
  • [01836] RPC - RELEASE PERMANENT FILE CHAINS.
  • [01899] RPT - RESERVE PRESERVED FILE TRACK.
  • [01963] SMD - SET MASS STORAGE DEVICE.
  • [02065] PRESET.
  • [02067] PRS - PRESET PROGRAM.
  • [02178] TFCN - FUNCTION PROCESSOR TABLE.
  • [02374] CCS - CHECK CHANNEL STATUS.
  • [02404] CTR - CLEAR TRT AND MST.
  • [02487] GAS - GET ALTERNATE LABEL SECTOR.
  • [02711] PLA - PROCESS LOCAL AREAS.
  • [02764] RFS - REFORMAT SECTOR.
  • [02814] RRS - REREAD SYSTEM SECTOR IF TRACK INTERLOCK NOT SET.
  • [03058] CRI - CHECK RECOVERY INTERLOCK.
  • [03087] RCL - RECALL *IMS*.
  • [03124] INT - INITIALIZE OVERLAY.

Source Code

IMS.txt
  1. IDENT IMS,/IMS/IMS
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. *COMMENT IMS - INITIALIZE MASS STORAGE.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE IMS - INITIALIZE MASS STORAGE.
  8. SPACE 4
  9. *** IMS - INITIALIZE MASS STORAGE.
  10. * S. L. BETH 73/01/31.
  11. * T. H. MACFARLAND. 74/04/25.
  12. * P. D. HAAS. 87/03/31.
  13. SPACE 4
  14. *** IMS MAY BE CALLED TO DO THE FOLLOWING
  15. *
  16. *
  17. * FUNCTION 1 INITIALIZE PERMANENT FILES.
  18. * RELEASES ALL PF TRACKS AND REALOCATES
  19. * THE CATALOG, PERMITS AND DATA TRACKS.
  20. *
  21. * FUNCTION 2 EDIT DIRECT ACCESS FILES.
  22. * RELEASES DIRECT ACCESS FILES WHICH
  23. * HAVE CATALOGS ON THE SPECIFIED DEVICE.
  24. *
  25. * FUNCTION 3 SET/CLEAR FLAWS ON THE EQUIPMENT.
  26. * PROCESS FLAW LIST AND ENTER IN TRT.
  27. *
  28. * FUNCTION 4 CHECK SHARED DEVICE STATUS.
  29. * CHECK IF SHARED DEVICE IS UNLOADED
  30. * IN OTHER MACHINES.
  31. *
  32. * FUNCTION 5 INITIALIZE LOCAL AREAS.
  33. * RELEASE SPACE WHICH IS PRESERVED BY
  34. * INACTIVE LOCAL AREAS.
  35. *
  36. * FUNCTION 6 ALTER MST DATA.
  37. * ENTER NEW DEVICE CHARACTERISTICS IN MST.
  38. *
  39. * FUNCTION 7 CLEAR INITIALIZE REQUESTS.
  40. * CLEARS ALL INITIALIZE REQUESTS ON
  41. * THE SPECIFIED DEVICE.
  42. *
  43. * FUNCTION 10 INITIALIZE INACTIVE DAYFILES.
  44. * RELEASE SPACE ON SPECIFIED INACTIVE
  45. * DAYFILE.
  46. *
  47. * FUNCTION 11 CLEAR CMS INTERLOCK.
  48. * CLEAR DATI INTERLOCK AND BYTE 2 OF MMFL.
  49. *
  50. * FUNCTION 12 SET/CLEAR DEVICE INTERLOCK ON AN
  51. * INDEPENDENT SHARED DEVICE.
  52. *
  53. * (THE CALLING JOB MUST HAVE SYSTEM PERMISSION)
  54. *
  55. *** CALL FORMATS
  56. *
  57. *
  58. * INITIALIZE 18/IMS,6/20,18/100,18/EQ
  59. *
  60. * EDIT DA FILES 18/IMS,6/20,18/200,18/PARAM
  61. *
  62. * PARAM 12/MASK,12/EQ,36/0
  63. *
  64. * SET FLAWS 18/IMS,6/20,18/300,18/PARAM
  65. *
  66. * PARAM 12/TYPE,12/0,12/EQ,12/0,12/LOGICAL TRACK
  67. *
  68. * TYPE 0 = END TABLE
  69. * 1 = SET FLAW
  70. * 2 = CLEAR FLAW
  71. *
  72. * CHECK STATUS 18/IMS,6/20,18/400,18/ADDRESS
  73. *
  74. * ADDRESS 12/EQ,48/0
  75. *
  76. * INITIALIZE LOCAL 18/IMS,6/20,18/500,18/EQUIPMENT
  77. *
  78. * UPDATE MST 18/IMS,6/20,18/600,18/LIST
  79. *
  80. * CLEAR INI REQ 18/IMS,6/20,18/700,18/EQ
  81. *
  82. ** INITIALIZE DAYFILES 18/IMS,6/20,18/100N,18/EQ
  83. *
  84. * N = 0 INITIALIZE SYSTEM DAYFILE.
  85. * = 1 INITIALIZE ACCOUNT FILE.
  86. * = 2 INITIALIZE ERRLOG FILE.
  87. * = 3 INITIALIZE MAINTENANCE LOG FILE.
  88. *
  89. * CLEAR INTERLOCK 18/IMS,6/20,18/1100,18/0
  90. *
  91. * INTERLOCK DEVICE 18/IMS,6/20,18/1200,18/ADDRESS
  92. * ADDRESS 12/EQ,47/0,1/F
  93. SPACE 4
  94. *** ENTRY CONDITIONS.
  95. *
  96. * (IR+2) = FUNCTION CODE.
  97. * (IR+3) = PARAMETER ADDRESS IF REQUIRED
  98. * (IR+4) = PARAMETER ADDRESS IF REQUIRED
  99. SPACE 4
  100. *** DAYFILE MESSAGES.
  101. *
  102. * * EQXXX, FILE ACTIVE - FILENAME.*
  103. *
  104. * * EQXXX, FILE BUSY - FILENAME.*
  105. *
  106. * * EQXXX, FLAWING INCOMPLETE.*
  107. *
  108. * * EQXXX, INITIALIZED - FILENAME.*
  109. *
  110. * * EQXXX, LABEL READ ERROR.*
  111. *
  112. * * EQXXX, LOCAL AREAS INITIALIZED.*
  113. *
  114. * * EQXXX, LOCAL AREA SECTOR RESET.*
  115. *
  116. * * EQXXX, NO INACTIVE DAYFILES FOUND.*
  117. *
  118. * * EQXXX, PF INITIALIZE COMPLETE.*
  119. *
  120. * * EQXXX, PROTECTED QUEUES IGNORED.*
  121. *
  122. * * EQXXX, TKYYYY - TRACK FLAWED BY IMS.
  123. *
  124. * * EQXXX, YY FLAWS NOT PROCESSED. (WITH LIST).*
  125. *
  126. * * EQXXX, YY TRACKS FLAWED.*
  127. *
  128. * * ERROR ON LINK DEVICE.*
  129. *
  130. * * INCORRECT IMS REQUEST.*
  131. *
  132. * * IMS ABORTED.*
  133. *
  134. * * LABEL TRACK CONFLICT.*
  135. SPACE 4
  136. *** ACCOUNT FILE MESSAGES.
  137. *
  138. * *ADDI, XXX, FFFFFFF, DD.* = EST ORDINAL XXX WITH FAMILY NAME
  139. * FFFFFFF AND DEVICE NUMBER DD HAS BEEN INITIALIZED.
  140. *
  141. * *ADPI, XXX, PPPPPPP, UUUUUUU.* = EST ORDINAL XXX WITH PACKNAME
  142. * PPPPPPP HAS BEEN INITIALIZED. IF PRESENT, UUUUUUU INDICATES
  143. * THAT THE PACK IS A PRIVATE PACK BELONGING TO THAT USER.
  144. SPACE 4
  145. *** ERRLOG MESSAGES.
  146. *
  147. * * EQXXX, LOCAL AREA SECTOR ERROR.*
  148. *
  149. * * EQXXX, TKYYYY, SYSTEM SECTOR ERROR.*
  150. *
  151. * * EQXXX, TKYYYY - TRACK FLAWED BY IMS.
  152. *
  153. * * EQXXX, TKYYYY - VERIFICATION ERRORS.
  154. *
  155. * * EQXXX, YY TRACKS FLAWED.*
  156. *
  157. * * EQXXX, YY FLAWS NOT PROCESSED. (WITH LIST).*
  158. *
  159. * * IMS ABORTED.*
  160. SPACE 4
  161. *** CONTROL POINT MESSAGES.
  162. * * EQXXX, BUSY ON MID YY.* = SHARED EST ORDINAL XXX IS NOT
  163. * UNLOADED ON MAINFRAME WITH MACHINE ID YY.
  164. *
  165. * * EQXXX, INTERLOCKED BY MID YY.* = INDEPENDENT SHARED EST
  166. * ORDINAL XXX IS INTERLOCKED FOR INITIALIZATION BY THE MAINFRAME
  167. * WITH MACHINE ID YY.
  168. *
  169. * *MSI ABORT.* = *MSI* ABORTED. IF THIS OCCURRED DURING THE
  170. * DEADSTART SEQUENCING JOB, JOB SCHEDULING WILL REMAIN DISABLED.
  171. *
  172. * *READING TRACK-XXXX* = *IMS* IS READING THE SPECIFIED TRACK.
  173. *
  174. * *WAITING - RECOVERY INTERLOCK.* = *IMS* IS WAITING FOR THE
  175. * DAT INTERLOCK TO BECOME FREE, TO ENSURE THAT *CMS* IS NOT
  176. * IN ANY OTHER MACHINE IN THE MMF COMPLEX.
  177. SPACE 4
  178. ** ROUTINES USED.
  179. *
  180. * 0PI - PRESET DRIVER TO READ/WRITE DEADSTART SECTOR.
  181. * 0TI - SET TRACK FLAWS IN TRT.
  182. * 1CK - CHECKPOINT DEVICE.
  183. SPACE 4
  184. *CALL COMPMAC
  185. *CALL COMSCPS
  186. *CALL COMSDSL
  187. QUAL EVENT
  188. *CALL COMSEVT
  189. QUAL *
  190. *CALL COMSHIO
  191. *CALL COMSIOQ
  192. *CALL COMSLSD
  193. *CALL COMSMMF
  194. *CALL COMSMSC
  195. *CALL COMSMSI
  196. *CALL COMSMSP
  197. *CALL COMSMST
  198. *CALL COMSPFM
  199. *CALL COMSPIM
  200. *CALL COMSSSD
  201. *CALL COMSWEI
  202. SPACE 4
  203. **** DIRECT LOCATION ASSIGNMENTS.
  204.  
  205.  
  206. T9 EQU 17 SCRATCH CELL
  207. CN EQU 20 - 24 CM WORD BUFFER (5 LOCATIONS)
  208. TI EQU 25 TEMP INDEX
  209. LD EQU 26 EST ORDINAL OF LINK DEVICE
  210. MI EQU 27 MACHINE INDEX
  211. ES EQU 30 - 34 EST ENTRY (5 LOCATIONS)
  212. LT EQU 35 LABEL TRACK
  213. TA EQU 36 TEMP COUNTER
  214. TL EQU 37 TRT LENGTH
  215. FN EQU 40 - 44 CM WORD BUFFER (5 WORDS).
  216. DI EQU 45 DAT INDEX
  217. BY EQU 46 BYTE COUNT
  218. DE EQU 47 DAT ENTRY COUNT
  219. AI EQU 57 ALGORITHM INDEX
  220. WB EQU 60 - 64 CM WORD BUFFER (5 LOCATIONS)
  221. PF EQU 65 PRESERVED FILE TRACK INTERLOCK STATUS
  222. CA EQU 66 - 67 CENTRAL BUFFER (2 LOCATIONS)
  223. ****
  224. SPACE 4,10
  225. * ASSEMBLY CONSTANTS.
  226.  
  227.  
  228. BUF EQU BFMS-502 ALTERNATE SECTOR BUFFER
  229. FPPA EQU BUF+5 FLAW PROCESSOR PARAMETER ADDRESS
  230. FPLA EQU FPPA+1 FLAW PROCESSOR LOAD ADDRESS
  231. VERC EQU 2 VERIFICATION ERROR RETRY COUNT
  232. SPACE 4
  233. * EQUATES FOR FUNCTION 6 PARAMETER BUFFER
  234.  
  235.  
  236. PMES EQU 5*0 EST ENTRY
  237. PMPF EQU 5*1 PFGL WORD OF MST
  238. PMPU EQU 5*2 PUGL WORD OF MST
  239. PMMD EQU 5*3 MDGL WORD OF MST
  240. PMNC EQU 5*4+0 NUMBER OF CATALOG TRACKS
  241. PMEQ EQU 5*4+1 EST ORDINAL
  242. PMAI EQU 5*4+2 ALGORITHM INDEX
  243. PMCI EQU 5*4+3 CLEAR IN USE AS CHAINED DEVICE
  244. PMNE EQU 5*4+4 NEXT EST ORDINAL IN CHAIN
  245. PMAL EQU 5*5 EQUIPMENT ALLOCATION *DDLL*
  246. PMRP EQU 5*6 REPLY WORD
  247. PMMSL EQU 7 LENGTH OF PARAMETER BLOCK
  248. SPACE 4
  249. * FUNCTION EQUATES FOR SUBROUTINE *UEC*.
  250.  
  251.  
  252. UPGA EQU 1 UPDATE GLOBAL AREA
  253. UPDA EQU 2 UPDATE DAT INFORMATION
  254. RDDA EQU 4 READ DAT INFORMATION
  255. TITLE MACRO DEFINITIONS.
  256. ENTRY SPACE 4,10
  257. ** ENTRY - DEFINE OVERLAY ENTRY POINT.
  258. *
  259. * NAME ENTRY
  260. * NAME = NAME OF ENTRY ADDRESS.
  261.  
  262.  
  263. PURGMAC ENTRY
  264.  
  265. MACRO ENTRY,NAME
  266. MACREF ENTRY
  267. QUAL
  268. IF MIC,.M
  269. NAME EQU *+1R".M"*10000B
  270. ELSE 1
  271. NAME EQU *
  272. QUAL *
  273. ENDM
  274. FCN SPACE 4,10
  275. ** FCN - DEFINE FUNCTION PROCESSOR.
  276. *
  277. *TBLN FCN
  278. * FCN CODE,NAME
  279. *
  280. * ENTRY *TBLN* = TABLE NAME (FIRST ENTRY ONLY).
  281. * *CODE* = FUNCTION CODE.
  282. * *NAME* = FUNCTION PROCESSING ROUTINE NAME.
  283.  
  284.  
  285. MACRO FCN,T,C,N
  286. IFC EQ,*N**
  287. T INDEX C*2
  288. ELSE 2
  289. INDEX C*2,N-N/10000B*10000B
  290. CON N/10000B
  291. ENDM
  292. OVERLAY SPACE 4,10
  293. ** OVERLAY - DEFINE SECONDARY OVERLAY(S).
  294. *
  295. * OVERLAY (TEXT),PRS
  296. * ENTRY *TEXT* = TEXT OF SUBTITLE.
  297. * *PRS* = NAME OF OPTIONAL PRESET ROUTINE.
  298.  
  299.  
  300. .N SET 0
  301. OVLB MICRO 1,, 4D OVERLAY NAME
  302.  
  303.  
  304. PURGMAC OVERLAY
  305.  
  306. OVERLAY MACRO TEXT,PRS
  307. MACREF OVERLAY
  308. QUAL
  309. .N SET .N+1
  310. .M MICRO .N,1, 0123456789
  311. .O MICRO 1,3, "OVLB"".M"
  312. QUAL IMS
  313. TTL IMS/".O" - TEXT
  314. TITLE
  315. IDENT ".O",OVLA TEXT
  316. *COMMENT IMS - TEXT
  317. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  318. ORG OVLA
  319. OV".M"_X LJM * ENTRY/EXIT
  320. IFC NE,*PRS**,1
  321. RJM PRS
  322. UJN OV".M"_X OVERLAY EXIT ADDRESS
  323. ENDM
  324. TBLM SPACE 4,10
  325. ** TBLM = GENERATE TABLE OF ALTERNATE LABEL SECTORS.
  326. *
  327. * TBLM EQ
  328. * EQ = MASS STORAGE EQUIPMENT MNEMONIC.
  329.  
  330.  
  331. PURGMAC TBLM
  332.  
  333. TBLM MACRO EQ
  334. CON 2R_EQ,LC_EQ
  335. ENDM
  336. TITLE MAIN PROGRAM.
  337. IMS SPACE 4,10
  338. ** IMS - MAIN PROGRAM.
  339.  
  340.  
  341. QUAL IMS
  342. ORG PPFW
  343.  
  344. IMS RJM PRS PRESET PROGRAM
  345. LDM TFCN+1,T2
  346. ZJN IMS1 IF PROCESSOR RESIDENT
  347. LMC 2L"OVLB"
  348. RJM EXR LOAD OVERLAY
  349.  
  350. IMS1 LJM * PROCESS FUNCTION
  351. IMSA EQU *-1
  352. TITLE RESIDENT SUBROUTINES.
  353. CLI SPACE 4,10
  354. ** CLI - CLEAR INTERLOCKS.
  355. *
  356. * EXIT (A) = 0.
  357. *
  358. * USES T5.
  359. *
  360. * MACROS CMSTF.
  361.  
  362.  
  363. CLI SUBR ENTRY/EXIT
  364. LDC 0
  365. CLIA EQU *-1
  366. ZJN CLIX IF INTERLOCK NOT SET
  367. STD T5
  368. CMSTF LUAI CLEAR LOCAL UTILITY INTERLOCK
  369. * LDN 0
  370. UJN CLIX RETURN
  371. RDS SPACE 4,10
  372. ** RDS - READ SECTOR.
  373. *
  374. * ENTRY (A) = BUFFER ADDRESS.
  375. * (T5 - T7) = MASS STORAGE DRIVER PARAMETERS.
  376. *
  377. * EXIT (A) .LT. 0 IF MEDIA ERROR.
  378. *
  379. * ERROR TO *ABT1* IF NON-MEDIA ERROR.
  380. *
  381. * CALLS RDS.
  382.  
  383.  
  384. RDS1 LDC 1S17 RETURN WITH ERROR STATUS
  385. RDSA EQU *-1
  386.  
  387. RDS SUBR ENTRY/EXIT
  388. RJM //RDS
  389. PJN RDSX IF NO ERROR
  390. STM RDSA
  391. LPN 77
  392. LMN PARE
  393. ZJN RDS1 IF MEDIA ERROR
  394. UJN ABT2 ABORT
  395. WDS SPACE 4,15
  396. ** WDS - WRITE SECTOR.
  397. *
  398. * ENTRY (A) = BUFFER ADDRESS.
  399. * (T5 - T7) = MASS STORAGE DRIVER PARAMETERS.
  400. *
  401. * EXIT (A) .LT. 0 IF MEDIA ERROR.
  402. * IF RECOVERED ERROR ON PREVIOUS SECTOR.
  403. *
  404. * ERROR TO *ABT1* IF NON-MEDIA ERROR.
  405. *
  406. * CALLS WDS.
  407.  
  408.  
  409. WDS1 LDC 1S17 RETURN WITH ERROR STATUS
  410. WDSA EQU *-1
  411.  
  412. WDS SUBR ENTRY/EXIT
  413. RJM //WDS
  414. PJN WDSX IF NO ERROR
  415. STM WDSA
  416. SHN 21-11
  417. MJN WDS1 IF ERROR ON PREVIOUS SECTOR RECOVERED
  418. SHN 12
  419. LPN 77
  420. LMN PARE
  421. ZJN WDS1 IF MEDIA ERROR
  422. * UJN ABT2 ABORT
  423. ABT SPACE 4,10
  424. ** ABT - ABORT OPERATION.
  425. *
  426. * ENTRY (A) = ERROR MESSAGE ADDRESS.
  427. *
  428. * CALLS CLI, DFM.
  429. *
  430. * MACROS MONITOR.
  431.  
  432.  
  433. ABT2 CON 0 PASS INSTRUCTION
  434. ABTB EQU ABT2
  435. * UJN ABT1 (DEADSTART SEQUENCING JOB)
  436.  
  437. ABT3 LDC MESM * IMS ABORTED.*
  438.  
  439. ABT LMC ERLN ISSUE MESSAGE TO ERRLOG
  440. RJM DFM
  441. RJM CLI CLEAR INTERLOCKS
  442. MONITOR ABTM
  443. ABTA LJM PPR EXIT TO PP RESIDENT
  444. * LJM * (DEADSTART SEQUENCING)
  445.  
  446. ABT1 LDD ES CHECK DEVICE TYPE
  447. SHN 21-10
  448. PJN ABT3 IF NON-REMOVABLE
  449. LDN PCLR
  450. * UJN MSI CLEAR INITIALIZE REQUEST
  451. MSI SPACE 4,15
  452. ** MSI - ISSUE *MSI* REQUEST.
  453. *
  454. * ENTRY (A) = REQUEST CODE.
  455. *
  456. * EXIT TO DPP.
  457. *
  458. * USES CM - CM+5.
  459.  
  460.  
  461. MSI STD CM+5 SET FUNCTION CODE
  462. LDN ZERL
  463. CRD CM
  464. LDD RA STORE *MSI* REQUEST
  465. SHN 6
  466. ADN PREQ
  467. CWD CM+1
  468. UJN DPP DROP
  469.  
  470.  
  471. DPP2 RJM IPF INITIALIZE PACK FLAWS
  472. DPP1 SMSTF LCKP SET EQUIPMENT CHECKPOINT
  473.  
  474. DPP RJM CLI CLEAR INTERLOCKS
  475. MONITOR DPPM
  476. LJM PPR EXIT TO PP RESIDENT
  477. CKC SPACE 4,10
  478. ** CKC - CALL *1CK* TO PROCESS CHECKPOINT.
  479. *
  480. * ENTRY (A) = *1CK* FUNCTION CODE.
  481. * (T5) = EST ORDINAL TO CHECKPOINT.
  482. *
  483. * EXIT TO *1CK*.
  484. *
  485. * CALLS CLI.
  486. *
  487. * MACROS EXECUTE.
  488.  
  489.  
  490. CKC STM CKCA+2
  491. RJM CLI CLEAR INTERLOCKS
  492. LDD CP
  493. SHN -7 SET CONTROL POINT
  494. RAM CKCA+1
  495. LDD IA SET UP CALL TO 1CK
  496. CWM CKCA,ON
  497. EXECUTE 1CK,=
  498. LJM PPR RETURN TO PP RESIDENT
  499.  
  500.  
  501. CKCA VFD 18/3L1CK,6/40,36/0
  502. EQNO EQU CKCA+3
  503. CAT SPACE 4,10
  504. ** CAT - CALCULATE ADDRESS OF TRT.
  505. *
  506. * ENTRY (A) = ADDRESS OF *TRLL* IN MST.
  507. *
  508. * EXIT (A) = ADDRESS OF TRT.
  509. *
  510. * USES CM - CM+4.
  511.  
  512.  
  513. CAT SUBR ENTRY/EXIT
  514. CRD CM GET FWA OF TRT
  515. LDD CM+3
  516. LPN 77
  517. SHN 14
  518. LMD CM+4
  519. UJN CATX RETURN
  520. CCS SPACE 4,10
  521. CDE SPACE 4,10
  522. ** CDE - COMPARE DAT ENTRY.
  523. *
  524. * ENTRY (T2) = INDEX TO DAT SECTOR.
  525. * (FN - FN+4) = CURRENT DEVICE DESCRIPTION.
  526. *
  527. * EXIT (A) = 0 IF DUPLICATE ENTRY.
  528.  
  529.  
  530. CDE SUBR ENTRY/EXIT
  531. LDD FN COMPARE ENTRY
  532. LMM BFMS+2,T2
  533. NJN CDEX IF NOT DUPLICATE
  534. LDD FN+1
  535. LMM BFMS+2+1,T2
  536. NJN CDEX IF NOT DUPLICATE
  537. LDD FN+2
  538. LMM BFMS+2+2,T2
  539. NJN CDEX IF NOT DUPLICATE
  540. LDD FN+3
  541. LMM BFMS+2+3,T2
  542. UJN CDEX RETURN
  543. CQF SPACE 4,20
  544. ** CQF - CHECK FOR QUEUED FILES.
  545. *
  546. * ENTRY (T5) = EQUIPMENT.
  547. * (CN - CN+4) = TRT WORD.
  548. * (TL) = TRT ORDINAL.
  549. * (BY) = TRT BYTE NUMBER.
  550. * DRIVER LOADED.
  551. *
  552. * EXIT (A) = 0 IF QUEUED FILE, DAYFILE, MRT, DAT OR
  553. * USER EXTENDED MEMORY TRACK.
  554. * (T6) = TRACK NUMBER.
  555. *
  556. * USES T1, T3, T6.
  557. *
  558. * CALLS CST, IMG, RSS, STM.
  559. *
  560. * MACROS ENDMS.
  561.  
  562.  
  563. CQF5 LDN 1 SET NOT QUEUED FILE
  564.  
  565. CQF SUBR ENTRY/EXIT
  566. LDD TL WORD COUNT
  567. SHN 2
  568. LMD BY BYTE COUNT
  569. LMC 4000
  570. STD T6
  571. RJM IMG ISSUE READING TRACK MESSAGE
  572. RJM CST CHECK FOR SPECIAL TRACKS
  573. ZJN CQF5 IF INDIRECT CHAIN OR PERMIT CHAIN
  574. MJN CQF2 IF IQFT TRACK OR DAT TRACK
  575. LDN 0
  576. RJM RSS READ SYSTEM SECTOR
  577. NJN CQF4 IF ERROR IN SYSTEM SECTOR
  578. ENDMS
  579. LDM FNSS+4
  580. SHN -6
  581. STD T1 FILE TYPE
  582. LMN LIFT CHECK FOR DAYFILES OR MRT
  583. ZJN CQF2 IF DAYFILE TRACK
  584. LDN RDATL
  585. STD T3 MAXIMUM TYPES
  586. CQF1 SOD T3
  587. MJN CQF3 IF NOT QUEUED FILE
  588. LDM RDAT,T3
  589. LMD T1
  590. NJN CQF1 IF NOT QUEUED
  591. AOM CQFA
  592. CQF2 LDN 0 INDICATE QUEUED FILE, DAYFILE, MRT, OR ECS
  593. CQF3 LJM CQFX RETURN
  594.  
  595. CQF4 LDC MESN ISSUE SYSTEM SECTOR ERROR MESSAGE
  596. RJM STM
  597. UJN CQF2 RETURN
  598.  
  599.  
  600. CQFA CON 0 QUEUE FILE COUNT
  601.  
  602.  
  603. FILEREC GENERATE PROTECTED TYPE TABLE (RDAT)
  604. CST SPACE 4,10
  605. ** CST - CHECK SPECIAL TRACKS.
  606. *
  607. * ENTRY (T6) = TRACK.
  608. * (ES - ES+4) = EST ENTRY.
  609. * (LD) = LINK DEVICE EST ORDINAL.
  610. *
  611. * EXIT (A) = 0 IF MATCH ON SPECIAL PF TRACKS.
  612. * (A) .LT. 0 IF *IQFT*, DAT OR EXTENDED MEMORY TRACK.
  613.  
  614.  
  615. CST SUBR ENTRY/EXIT
  616. LDD ES+4 CHECK FOR PRESET NEEDED
  617. LMC 7777
  618. CSTB EQU *-1
  619. ZJN CST1 IF NO PRESET NEEDED
  620. LDD ES+4
  621. STM CSTB
  622. SHN 3
  623. ADN ACGL
  624. CRM CSTA+4,ON
  625. ADN ALGL-ACGL-1
  626. CRM CSTA,ON
  627. CST1 LDD T6 CHECK FOR IAF TRACK
  628. LMM CSTA
  629. ZJN CSTX IF IAF TRACK
  630. LDD T6
  631. LMM CSTA+1
  632. ZJN CSTX IF LABEL TRACK
  633. LDD T6
  634. LMM CSTA+2
  635. ZJN CSTX IF PERMITS TRACK
  636. LDD T6
  637. LMM CSTA+4+3
  638. ZJN CST3 IF MATCH ON IQFT FILE
  639. LDD T6 CHECK FOR USER EXTENDED MEMORY TRACKS
  640. LMM CSTA+4+1
  641. ZJN CST3 IF USER EXTENDED MEMORY CHAIN
  642. LDD T6 CHECK FOR DAT TRACK
  643. LMM CSTA+4
  644. NJN CST2 IF NO MATCH ON DAT TRACK
  645. LDD LD CHECK FOR LINK DEVICE
  646. ZJN CST2 IF NO LINK DEVICE
  647. LMD T5
  648. ZJN CST3 IF DAT TRACK
  649. CST2 LDN 2 INDICATE SPECIAL TRACKS NOT FOUND
  650. CST3 SBN 1 INDICATE *IQFT*, DAT OR ECS TRACK FOUND
  651. LJM CSTX RETURN
  652.  
  653.  
  654. CSTA BSSZ 5+4
  655. CTB SPACE 4,15
  656. ** CTB - CHECK TRACK BITS.
  657. *
  658. * ENTRY (A) = TRACK NUMBER.
  659. * (ES+4) = MST POINTER.
  660. *
  661. * EXIT (A) = (CM+4) = RESERVATION FLAG IN BIT 3.
  662. * = PRESERVED FILE FLAG IN BIT 13.
  663. * (T1) = TRT WORD INDEX.
  664. * (T2) = TRT WORD NUMBER.
  665. * (T6) = TRACK NUMBER.
  666. *
  667. * USES CM - CM+4.
  668. *
  669. * CALLS CAT.
  670.  
  671.  
  672. CTB SUBR ENTRY/EXIT
  673. STD T6
  674. LPC 3777 SET TRT WORD NUMBER
  675. SHN 21-1
  676. STD T2
  677. SHN 1-21 SET TRT WORD INDEX
  678. STD T1
  679. LMC SHNI+0
  680. STM CTBA
  681. LDD ES+4 READ TRT WORD
  682. SHN 3
  683. ADN TRLL
  684. RJM CAT CALCULATE FWA OF TRT
  685. ADD T2
  686. CRD CM
  687. LDD CM+4 SET TRACK BITS
  688. CTBA SHN 0
  689. LPC 4010
  690. STD CM+4
  691. UJN CTBX RETURN
  692. FBT SPACE 4,10
  693. ** FBT - FLAW BLOCK OF TRACKS IN TRT.
  694. *
  695. * ENTRY (T3) = STARTING TRACK NUMBER (TRACK BIT NOT SET).
  696. * (TL) = ENDING TRACK NUMBER + 1 (TRACK BIT NOT SET).
  697. * (T5) = EST ORDINAL.
  698. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  699. *
  700. * EXIT (A) = 0 IF TRACK FLAWED.
  701. *
  702. * USES T1, CM - CM+4.
  703. *
  704. * CALLS CAT.
  705. *
  706. * MACROS MONITOR.
  707.  
  708.  
  709. FBT SUBR ENTRY/EXIT
  710. FBT1 LDD T3 UNPACK TRACK
  711. SHN 21-1 SET TRT WORD INDEX
  712. STD T0
  713. SHN 1-21 SET BYTE INDEX
  714. STD T1
  715. LDD ES+4 READ TRT WORD
  716. SHN 3
  717. ADN TRLL
  718. RJM CAT CALCULATE FWA OF TRT
  719. ADD T0
  720. CRD CM
  721. LDM CM,T1 CHECK TRACK
  722. LMC 3777
  723. ZJN FBT2 IF TRACK ALREADY FLAWED
  724. LDD T5 FLAW TRACK IN TRT
  725. STD CM+1
  726. LDD T3
  727. STD CM+2
  728. LDN STFS
  729. STD CM+3
  730. MONITOR STBM
  731. FBT2 AOD T3 ADVANCE TRACK NUMBER
  732. LMD TL
  733. NJN FBT1 IF NOT END OF TRACKS TO FLAW
  734. UJN FBTX RETURN
  735. GDS SPACE 4,15
  736. ** GDS - GET DAT SECTOR.
  737. *
  738. * ENTRY (ES - ES+4) = EST ENTRY.
  739. * (LD) = LINK DEVICE EST ORDINAL.
  740. *
  741. * EXIT DAT SECTOR AT BFMS.
  742. * (TI) = INDEX TO DAT ENTRY.
  743. * (A) = 0 IF DEVICE NOT DEFINED IN DAT.
  744. *
  745. * USES TI, T5 - T7, CM - CM+4, FN - FN+4.
  746. *
  747. * CALLS ABT, RDS.
  748. *
  749. * MACROS ENDMS, SETMS.
  750.  
  751.  
  752. GDS SUBR ENTRY/EXIT
  753. LDD LD SET EQUIPMENT
  754. STD T5
  755. SETMS IO
  756. LDD CM+4 GET DAT POINTERS
  757. SHN 3
  758. ADN ALGL
  759. CRD CM
  760. LDD ES+4 READ DAT INDEX
  761. SHN 3
  762. ADN MDGL
  763. CRD FN
  764. LDD CM+4 SET DAT TRACK
  765. STD T6
  766. LDM EQNO
  767. LMD LD
  768. ZJN GDS1 IF LINK DEVICE
  769. LDD FN SET DAT SECTOR
  770. LPC 377
  771. ZJN GDSX IF NO DAT INDEX
  772. SHN 21-4
  773. GDS1 STD T7
  774. SHN -14 SET DAT SECTOR INDEX
  775. STD TI
  776. SHN 2
  777. RAD TI INDEX*5
  778. LDC BFMS READ SECTOR
  779. RJM RDS
  780. PJN GDS3 IF NO ERRORS
  781. GDS2 LDC GDSA
  782. LJM ABT ABORT *IMS*
  783.  
  784. GDS3 ENDMS
  785. LDN 1
  786. LJM GDSX RETURN
  787.  
  788.  
  789. GDSA DATA C* ERROR ON LINK DEVICE.*
  790. GLA SPACE 4,15
  791. ** GLA - GET LOCAL AREA SECTOR.
  792. *
  793. * ENTRY (IR+4) = EST ORDINAL.
  794. *
  795. * EXIT (A) = RETURN FROM *COMPRLA*.
  796. * LOCAL UTILITY INTERLOCK SET.
  797. *
  798. * EREXIT TO *ABT* IF READ ERRORS.
  799. *
  800. * CALLS RLA, SLI, SME.
  801.  
  802.  
  803. GLA1 STM BFMS+1 CLEAR SECTOR WORD COUNT
  804.  
  805. GLA SUBR ENTRY/EXIT
  806. LDD IR+4 SET MASS STORAGE EQUIPMENT
  807. RJM SME
  808. RJM SLI SET LOCAL UTILITY INTERLOCK
  809. RJM RLA READ SECTOR OF LOCAL AREAS
  810. PJN GLAX IF NO READ ERRORS
  811. LDM BFMS
  812. ZJN GLA1 IF SECTOR NOT REFORMATTED
  813. LDC GLAA * EQXXX, LOCAL AREA SECTOR ERROR.*
  814. LJM ABT ABORT
  815.  
  816.  
  817. GLAA DATA C* EQXXX, LOCAL AREA SECTOR ERROR.*
  818. IMG SPACE 4,10
  819. ** IMG - ISSUE *READING* MESSAGE.
  820. *
  821. * ENTRY (T6) = TRACK NUMBER TO ISSUE.
  822. *
  823. * EXIT MESSAGE WRITTEN TO *MS2W*.
  824. *
  825. * CALLS C2D.
  826.  
  827.  
  828. IMG SUBR
  829. LDD T6
  830. RJM C2D CONVERT LOWER
  831. STM IMGA+10
  832. LDD T6
  833. SHN -6
  834. RJM C2D CONVERT UPPER
  835. STM IMGA+7
  836. LDD CP STORE CONTROL POINT MESSAGE
  837. ADN MS2W
  838. CWM IMGA,TR
  839. UJN IMGX RETURN
  840.  
  841.  
  842. IMGA DATA C*READING TRACK-XXXX*
  843. IPF SPACE 4,10
  844. ** IPF - INITIALIZE PACK FLAWS.
  845. *
  846. * ENTRY (T5) = EST ORDINAL.
  847. * (ES - ES+4) = EST ENTRY.
  848. *
  849. * USES AI, T2, CM - CM+4, FN - FN+4.
  850. *
  851. * CALLS DFM, EXR, RCS, SDR, *0TI*, *0TJ*.
  852. *
  853. * MACROS EXECUTE.
  854.  
  855.  
  856. IPF3 LDD ES+4
  857. SHN 3
  858. ADN DDLL
  859. CRD CM
  860. LDD CM SET NUMBER OF UNITS
  861. LPN 7
  862. STD T2
  863. LDN PRFM SET TRACK FLAW REQUEST
  864. RJM SDR
  865.  
  866. IPF SUBR ENTRY/EXIT
  867. IPFA LDN 0
  868. NJN IPFX IF PACK FLAWS ALREADY PROCESSED
  869. LDD ES
  870. SHN 21-7
  871. PJN IPFX IF NOT AN LDAM DEVICE
  872. AOM IPFA
  873. LDD ES+1 CHECK CONCURRENT CHANNEL FLAGS
  874. SHN 21-5
  875. PJN IPF1 IF NOT A CONCURRENT CHANNEL
  876. LDD ES+2
  877. ZJN IPF3 IF SECOND CHANNEL NOT DEFINED
  878. SHN 21-5
  879. MJN IPF3 IF BOTH CHANNELS CONCURRENT
  880. IPF1 LDD ES+4 FETCH THE ALGORITHM INDEX
  881. SHN 3
  882. ADN DILL
  883. CRD FN
  884. LDD T5 SET EQUIPMENT PARAMETER
  885. STM FPPA
  886.  
  887. * EXECUTE FLAW PROCESSOR.
  888.  
  889. LDD FN+4 SET ALGORITHM INDEX
  890. LPN 77
  891. STD AI
  892. EXECUTE 0TI,FPLA EXECUTE FLAW PROCESSOR
  893. ZJN IPF2 IF FLAWING COMPLETE
  894. LDC MESL * EQXXX, FLAWING INCOMPLETE.*
  895. RJM DFM
  896. IPF2 RJM RCS RESERVE *CTI* SPACE
  897. LJM IPFX RETURN
  898. LDA SPACE 4,10
  899. ** LDA - LOAD CM ADDRESS.
  900. *
  901. * ENTRY (IR+3 - IR+4) = RELATIVE ADDRESS.
  902. *
  903. * EXIT (A) = ABSOLUTE ADDRESS.
  904.  
  905.  
  906. LDA SUBR ENTRY/EXIT
  907. LDD IR+3
  908. LPN 77
  909. SHN 6
  910. ADD RA
  911. SHN 6
  912. ADD IR+4
  913. UJN LDAX RETURN
  914. RCS SPACE 4,15
  915. ** RCS - RESERVE *CTI* SPACE.
  916. *
  917. * ENTRY (T5) = EST ORDINAL.
  918. * (AI) = ALGORITHM INDEX
  919. * (ES - ES+4) = EST ENTRY.
  920. *
  921. * EXIT *CTI* SPACE FLAWED IN TRT.
  922. *
  923. * USES FL, TL, T3, T9, CM - CM+4, FN - FN+4.
  924. *
  925. * CALLS CTB, FBT, RDS, WDS, *0PI*.
  926. *
  927. * MACROS CMSTF, ENDMS, EXECUTE, MONITOR, SMSTF.
  928.  
  929.  
  930. RCS SUBR ENTRY/EXIT
  931. LDD T5 SET PARAMETER WORD
  932. LMC 4000
  933. STM FPPA
  934. EXECUTE 0PI,FPLA READ DEADSTART SECTOR
  935. NJN RCS0 IF NOT A VALID DEADSTART SECTOR
  936. STM RCSA PRESET FOR *CTI* PRESENT
  937. ENDMS
  938. LDM BFMS+MSLP
  939. NJN RCS1 IF *MSL* INSTALLED
  940. LDM BFMS+CDAP
  941. NJN RCS1 IF COMMON DISK AREA INSTALLED
  942. LDM BFMS+CTIP
  943. NJN RCS1 IF *CTI* INSTALLED
  944. RCS0 LDD AI
  945. LMN AIDR
  946. NJN RCSX IF NOT CDSS II
  947. LDC 840D FIRST CYLINDER OF AREA TO BE FLAWED
  948. STM RCSA INDICATE *CTI* NOT PRESENT
  949. RCS1 SHN 1 CONVERT CYLINDER TO LOGICAL TRACK
  950. STD T3
  951. LDD ES+4 GET DEVICE LENGTH FROM MST
  952. SHN 3
  953. ADK TDGL
  954. CRD TL
  955. ERRNZ TL+1-FN READ DESTROYS DIRECT CELLS
  956.  
  957. ADN ACGL-TDGL FETCH DEADSTART FILE STATUS
  958. CRD FN
  959. LDD AI
  960. LMN AIDA
  961. NJN RCS2 IF NOT 33502
  962. LDD T3 COMPLETE CYLINDER TO TRACK CONVERSION
  963. SHN -1
  964. ADC NTDA/2
  965. STD T3
  966. UJN RCS4 FLAW TRACKS
  967.  
  968. RCS2 LMN AIDI&AIDA
  969. ZJN RCS3 IF 7X54/844-21
  970. LMN AIDK&AIDI
  971. ZJN RCS3 IF 7154/844-21
  972. LMN AIDX&AIDK
  973. ZJN RCS3 IF FSC 3330-1
  974. LMN AIDR&AIDX
  975. NJN RCS4 IF NOT CDSS II
  976. LDD T3 INITIALIZE TRACK CALCULATION
  977. STD T9
  978. LDN 0
  979. STD T3
  980. LDC 1062 SET FLAW LIMIT FOR CDSS II
  981. STD TL
  982. RCS2.1 LCN 3 FOR THIS PURPOSE, TRACK = CYLINDER*2/3
  983. RAD T9
  984. MJN RCS5 IF CONVERSION COMPLETE
  985. AOD T3 INCREMENT TRACK NUMBER
  986. UJN RCS2.1 CONTINUE DIVISION
  987.  
  988. RCS3 LDD T3 COMPLETE CYLINDER CONVERSION
  989. RAD T3
  990. RCS4 LDD T3
  991. SBD TL
  992. PJN RCS7 IF *CTI* BEYOND LOGICAL END OF DEVICE
  993. RCS5 RJM FBT FLAW BLOCK OF TRACKS
  994. RCS7 LDC ** ZERO IF *CTI* PRESENT
  995. RCSA EQU *-1
  996. NJP RCS9 IF *CTI* NOT PRESENT
  997. SMSTF GCTI SET *CTI* PRESENT FLAG
  998. LDD IR+2 CHECK FOR FLAW FUNCTION
  999. LMN 3
  1000. ZJN RCS8 IF X.FLAW REQUEST
  1001. CMSTF GDSF
  1002. LDN ZERL CLEAR DEADSTART FILE INDICATOR
  1003. CRM BFMS+OSBP,ON
  1004. LDC BFMS+WLSF REWRITE DEADSTART SECTOR
  1005. RJM WDS
  1006. LDD FN
  1007. LPC MGDSF
  1008. ZJN RCS8 IF NO DEADSTART FILE
  1009. LDM BFMS+OSBP+5
  1010. RJM CTB
  1011. ZJN RCS8 IF TRACK CHAIN RELEASED
  1012. LDD T5
  1013. STD CM+1
  1014. LDD T6 DROP TRACK CHAIN
  1015. STD CM+2
  1016. MONITOR DTKM
  1017. RCS8 ENDMS RELEASE CHANNEL
  1018. RCS9 LJM RCSX RETURN
  1019. RDT SPACE 4,10
  1020. *** RDT - READ DIT TO BUFFER.
  1021. *
  1022. * ENTRY (A) = BUFFER ADDRESS.
  1023. * (T5) = EST ORDINAL OF DEVICE.
  1024. * (ES - ES+4) = EST ENTRY.
  1025. *
  1026. * ERROR TO *ABT2* IF ERROR READING LABEL (DIT) SECTOR.
  1027. *
  1028. * USES T1, T6, T7, CM - CM+4.
  1029. *
  1030. * CALLS RDS, SDL.
  1031. *
  1032. * MACROS ENDMS, MONITOR, SETMS.
  1033.  
  1034.  
  1035. RDT SUBR ENTRY/EXIT
  1036. STM RDTB SAVE BUFFER ADDRESS
  1037. LDD ES+4 SET LABEL TRACK
  1038. SHN 3
  1039. ADN ALGL
  1040. CRD CM
  1041. LDD CM+1
  1042. STD T6
  1043. LDN 0
  1044. STD T7
  1045. SETMS IO,(DF,NS)
  1046. LDC BFMS READ LABEL
  1047. RJM RDS
  1048. PJN RDT1 IF NO ERROR
  1049. * LDC MESM
  1050. LJM ABT2 ABORT
  1051.  
  1052. RDT1 ENDMS
  1053. LDN MISD
  1054. STD T1
  1055. RJM SDL
  1056. CWM DISS,T1
  1057. SBN MISD
  1058. CRM **,T1 READ DIT TO BUFFER
  1059. RDTB EQU *-1
  1060. LJM RDTX RETURN
  1061. SDL SPACE 4,10
  1062. ** SDL - SET DIT LOCATION.
  1063. *
  1064. * ENTRY (ES - ES+4) = EST ENTRY.
  1065. *
  1066. * EXIT (A) = DIT ADDRESS.
  1067. *
  1068. * USES T2, T3, CM - CM+4.
  1069. *
  1070. * CALLS CAT.
  1071.  
  1072.  
  1073. SDL SUBR ENTRY/EXIT
  1074. LDD ES+4
  1075. SHN 3
  1076. ADK TDGL
  1077. CRD CM
  1078. LDD CM+2 SET MRT LENGTH
  1079. STD T2
  1080. ADN 7
  1081. SHN -3
  1082. STD T3
  1083. LDD ES+4
  1084. SHN 3
  1085. ADN TRLL
  1086. RJM CAT CALCULATE FWA OF TRT
  1087. ADD T2 ADD TRT LENGTH
  1088. ADD T3 ADD MRT LENGTH
  1089. UJN SDLX RETURN
  1090. SDT SPACE 4,10
  1091. ** SDT - SEARCH DAT TABLES.
  1092. *
  1093. * ENTRY DAT INTERLOCK SET.
  1094. * (ES - ES+4) = EST ENTRY.
  1095. * (CN - CN+4) = SDGL WORD.
  1096. * (LD) = LINK DEVICE.
  1097. * (DI) = DAT INDEX.
  1098. * (DE) = DAT ENTRY COUNT.
  1099. *
  1100. * EXIT (A) = 0 IF DUPLICATE ENTRY.
  1101. *
  1102. * USES T1 - T7, CM - CM+4, FN - FN+4, DC.
  1103. *
  1104. * CALLS CDE, RDS.
  1105. *
  1106. * MACROS ENDMS, SETMS.
  1107.  
  1108.  
  1109. SDT SUBR ENTRY/EXIT
  1110. LDD ES+4 READ DEVICE DESCRIPTION
  1111. SHN 3
  1112. ADN PFGL
  1113. CRD FN
  1114. LDD FN+4 CHECK IF 1 OF N
  1115. LPN 70
  1116. NJN SDTX IF NOT 1 OF N
  1117. STD T7
  1118. LDD LD SET LINK DEVICE
  1119. STD T5
  1120. SETMS IO
  1121. LDD CM+4 GET DAT POINTER
  1122. SHN 3
  1123. ADN ALGL
  1124. CRD CM
  1125. LDD CM+4 SET DAT TRACK
  1126. STD T6
  1127. SDT1 LDC BFMS READ DAT SECTOR
  1128. RJM RDS
  1129. MJN SDT6 IF READ ERROR
  1130. ENDMS
  1131. * LDN 0
  1132. STD T1
  1133. STD T2
  1134. SDT3 RJM CDE COMPARE ENTRIES
  1135. ZJN SDT7 IF DUPLICATE ENTRY
  1136. SDT4 AOM SDTA BUMP DAT INDEX
  1137. LDN 5*2 BUMP SEARCH INDEX
  1138. RAD T2
  1139. SOD DE DECREMENT ENTRY COUNT
  1140. ZJN SDT8 IF END OF ENTRIES
  1141. LDN 2 BUMP WORD COUNT
  1142. RAD T1
  1143. LMD HN
  1144. NJN SDT3 IF NOT END OF SECTOR
  1145. AOD T7 BUMP SECTOR COUNT
  1146. UJN SDT1 PROCESS NEXT SECTOR
  1147.  
  1148. SDT6 LJM GDS2 ABORT
  1149.  
  1150. SDT7 LDD DI CHECK IF THIS DEVICE
  1151. LMC **
  1152. SDTA EQU *-1
  1153. ZJN SDT4 IF THIS DEVICE
  1154. AOM BUF+PMRP+4 FLAG DUPLICATE *DAT* ENTRY
  1155. LDN 1
  1156. SDT8 LMN 1
  1157. LJM SDTX RETURN
  1158. SLI SPACE 4,10
  1159. ** SLI - SET LOCAL UTILITY INTERLOCK.
  1160. *
  1161. * ENTRY (T5) = EST ORDINAL.
  1162. *
  1163. * ERROR TO *ABT2* IF INTERLOCK NOT SET.
  1164. *
  1165. * CALLS SDI.
  1166.  
  1167.  
  1168. SLI1 LDD T5 SET INTERLOCK HELD
  1169. STM CLIA
  1170.  
  1171. SLI SUBR ENTRY/EXIT
  1172. RJM SDI SET INTERLOCK
  1173. NJN SLI1 IF INTERLOCK SET
  1174. * LDC MESM
  1175. LJM ABT2 ABORT
  1176. SME SPACE 4,10
  1177. ** SME - SET MASS STORAGE EQUIPMENT.
  1178. *
  1179. * ENTRY (A) = EST ORDINAL.
  1180. *
  1181. * EXIT (T5) = EST ORDINAL.
  1182. * (ES - ES+4) = EST ENTRY.
  1183. * EQUIPMENT MNEMONIC AND NUMBER SET IN MESSAGES.
  1184. *
  1185. * USES T0, T1, T2, T3, T4, T5, ES - ES+4.
  1186. *
  1187. * CALLS C2D.
  1188. *
  1189. * MACROS SFA.
  1190.  
  1191.  
  1192. SME SUBR ENTRY/EXIT
  1193. STD T5
  1194. STM EQNO
  1195. SFA EST READ EST ENTRY
  1196. ADK EQDE
  1197. CRD ES
  1198.  
  1199. * SET (T0 - T2) = * EQXXX*, WHERE EQ = EQUIPMENT MNEMONIC AND
  1200. * XXX = EST ORDINAL.
  1201.  
  1202. LDD T5 CONVERT UPPER DIGIT OF EST ORDINAL
  1203. SHN -6
  1204. ADN 1R0
  1205. STD T1
  1206. LDD T5 CONVERT LOWER TWO DIGITS OF EST ORDINAL
  1207. RJM C2D
  1208. STD T2
  1209. LDD ES+3 PROCESS DEVICE MNEMONIC
  1210. LMC 1L
  1211. SHN 14
  1212. STD T0
  1213. SHN -6
  1214. SCN 77
  1215. RAD T1
  1216. LDN TSMEL INITIALIZE MESSAGE MODIFICATION LOOP
  1217. STD T3
  1218. SME1 SOD T3 DECREMENT MESSAGE INDEX
  1219. MJN SMEX IF ALL MESSAGES MODIFIED
  1220. LDM TSME,T3 SET MESSAGE ADDRESS
  1221. STD T4
  1222. LDD T0 TRANSFER * EQXXX* INTO DESTINATION BUFFER
  1223. STI T4
  1224. LDD T1
  1225. STM 1,T4
  1226. LDD T2
  1227. STM 2,T4
  1228. UJN SME1 LOOP FOR NEXT MESSAGE
  1229.  
  1230.  
  1231. ** TSME - TABLE OF MESSAGES REQUIRING EQUIPMENT MNEMONICS AND
  1232. * EST ORDINALS.
  1233.  
  1234. TSME BSS 0
  1235. CON GLAA
  1236. CON MESA
  1237. CON MESB
  1238. CON MESC
  1239. CON MESD
  1240. CON MESE
  1241. CON MESG
  1242. CON MESH
  1243. CON MESI
  1244. CON MESJ
  1245. CON MESK
  1246. CON MESL
  1247. CON MESN
  1248. CON MESO
  1249. CON MESP
  1250. TSMEL EQU *-TSME
  1251. STB SPACE 4,15
  1252. ** STB - SET TRACK BIT.
  1253. *
  1254. * ENTRY (A) = *STBM* SUBFUNCTION CODE.
  1255. * (T5) = EST ORDINAL.
  1256. * (T6) = TRACK NUMBER.
  1257. *
  1258. * EXIT (A) = MONITOR RESPONSE.
  1259. *
  1260. * USES CM - CM+4.
  1261. *
  1262. * MACROS MONITOR.
  1263.  
  1264.  
  1265. STB SUBR ENTRY/EXIT
  1266. STD CM+3 SET SUBFUNCTION CODE
  1267. LDD T6 SET TRACK
  1268. STD CM+2
  1269. LDD T5 SET EST ORDINAL
  1270. LMC 1S10
  1271. STD CM+1
  1272. MONITOR STBM ISSUE REQUEST
  1273. LDD CM+1
  1274. UJN STBX RETURN
  1275. STI SPACE 4,15
  1276. ** STI - SET TRACK INTERLOCK.
  1277. *
  1278. * ENTRY (T5) = EST ORDINAL.
  1279. * (T6) = TRACK.
  1280. *
  1281. * EXIT (A) = 0 IF TRACK INTERLOCKED.
  1282. * = (T6) IF TRACK NOT RESERVED.
  1283. * (PF) = (T6) IF TRACK INTERLOCKED.
  1284. *
  1285. * ERROR TO *ABT3* IF *ORET* ERROR FLAG DETECTED.
  1286. *
  1287. * CALLS STB.
  1288. *
  1289. * MACROS DELAY, PAUSE.
  1290.  
  1291.  
  1292. STI2 LDD T6 FLAG TRACK INTERLOCKED
  1293. STD PF
  1294. STI3 LMD T6 RETURN INTERLOCK STATUS
  1295.  
  1296. STI SUBR ENTRY/EXIT
  1297. STI1 LDN STIS ATTEMPT TRACK INTERLOCK
  1298. RJM STB
  1299. ZJN STI2 IF INTERLOCK SET
  1300. LMN 2
  1301. ZJN STI3 IF TRACK NOT RESERVED
  1302. DELAY 250D*10
  1303. PAUSE
  1304. LDD CM+1 CHECK ERROR FLAG
  1305. LMN ORET
  1306. NJN STI1 IF NOT OPERATOR OVERRIDE
  1307. * LDC MESM
  1308. LJM ABT3 ABORT
  1309. STM SPACE 4,10
  1310. ** STM - SET TRACK NUMBER IN MESSAGE.
  1311. *
  1312. * ENTRY (A) = MESSAGE ADDRESS.
  1313. * (T6) = TRACK NUMBER.
  1314. *
  1315. * EXIT (T9) = MESSAGE ADDRESS.
  1316. *
  1317. * CALLS C2D, DFM.
  1318.  
  1319.  
  1320. STM SUBR ENTRY/EXIT
  1321. STD T9
  1322. LDD T6 CONVERT TRACK NUMBER
  1323. SHN -6
  1324. RJM C2D
  1325. STM 5,T9 SET CONVERSION IN MESSAGE
  1326. LDD T6
  1327. RJM C2D
  1328. STM 6,T9
  1329. LDC ERLN ISSUE MESSAGE TO ERRLOG
  1330. LMD T9
  1331. RJM DFM
  1332. UJN STMX RETURN
  1333. TED SPACE 4,10
  1334. ** TED - TRANSFER DAT ENVIRONMENT DATA.
  1335. *
  1336. * ENTRY (A) = ECSM FUNCTION.
  1337. * (T6 - T7) = LINK DEVICE ADDRESS.
  1338. *
  1339. * EXIT (A) = ECSM FUNCTION REPLY.
  1340. *
  1341. * USES CM - CM+4, BY.
  1342. *
  1343. * CALLS CEA.
  1344. *
  1345. * MACROS MONITOR.
  1346.  
  1347.  
  1348. TED SUBR ENTRY/EXIT
  1349. SHN 11
  1350. STD BY
  1351. RJM CEA CONVERT EXTENDED MEMORY ADDRESS
  1352. LDN DAET SET DAT ENTRY
  1353. RAD CM+4
  1354. SHN -14
  1355. LMD BY MERGE FUNCTION
  1356. RAD CM+3
  1357. LDN 0 SET WORD COUNT TO 1
  1358. STD CM+1
  1359. LDD MA SET CM ADDRESS
  1360. STD CM+2
  1361. MONITOR ECSM
  1362. LDD CM+1
  1363. UJN TEDX RETURN
  1364. TRT SPACE 4,10
  1365. ** TRT - UPDATE TRT.
  1366. *
  1367. * ENTRY (ES - ES+4) = EST ENTRY.
  1368. * (T5) = EQUIPMENT.
  1369. *
  1370. * EXIT TRT UPDATED IF DEVICE IS SHARED.
  1371. *
  1372. * USES CM - CM+4.
  1373. *
  1374. * CALLS STB.
  1375. *
  1376. * MACROS MONITOR.
  1377.  
  1378.  
  1379. TRT SUBR ENTRY/EXIT
  1380. LDD ES CHECK IF SHARED
  1381. SHN 21-11
  1382. PJN TRTX IF DEVICE NOT SHARED
  1383. LDN UTRS ENSURE TRT CURRENT
  1384. RJM STB
  1385. UJN TRTX RETURN
  1386. UDA SPACE 4,15
  1387. ** UDA - UPDATE DAT ENTRY.
  1388. *
  1389. * ENTRY (TA) = EXTENDED MEMORY ACCESS OPTIONS.
  1390. * (DI) = DAT INDEX.
  1391. * (CN - CN+4) = *SDGL* WORD OF MST.
  1392. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  1393. *
  1394. * USES T1, T2, T5, CM - CM+4, CN - CN+4.
  1395. *
  1396. * CALLS GDS, SDT, WDS.
  1397. *
  1398. * MACROS ENDMS, SETMS.
  1399.  
  1400.  
  1401. UDA5 LDM EQNO RESET EST ORDINAL
  1402. STD T5
  1403.  
  1404. UDA SUBR ENTRY/EXIT
  1405. LDD TA CHECK REQUEST
  1406. LPN RDDA
  1407. NJN UDA1 IF READ DAT ONLY
  1408. RJM SDT SEARCH DAT TABLES
  1409. ZJN UDA5 IF DUPLICATE ENTRY
  1410. UDA1 RJM GDS GET DAT SECTOR
  1411. ZJN UDA5 IF NO DAT ENTRY OR LINK DEVICE
  1412. LDD TI
  1413. ADC BFMS+2
  1414. STM UDAB
  1415. STD TI
  1416. ADN 11
  1417. STD T2
  1418. LDI T2 SET ACCESS STATUS IN CHECKPOINT REQUEST
  1419. LPC 0
  1420. UDAA EQU *-1
  1421. STM CKCA+4
  1422. SETMS IO,RW
  1423. LDD TA RECHECK REQUEST
  1424. LPN RDDA
  1425. NJN UDA4 IF NOT DAT UPDATE
  1426. LDD ES+4
  1427. SHN 3
  1428. ADN PFGL READ DAT INFORMATION
  1429. CRD CM
  1430. LDN 3
  1431. STD T2
  1432. UDA2 LDM CM,T2 COPY DATA TO DAT SECTOR
  1433. STM **,T2
  1434. UDAB EQU *-1
  1435. SOD T2
  1436. PJN UDA2 IF NOT END OF DATA
  1437. LDD CM+4
  1438. LPN 70
  1439. ZJN UDA3 IF PACK IS 1 OF N
  1440. LDN 0
  1441. STI TI CLEAR DAT ENTRY
  1442. STD CN
  1443. STD CN+1 CLEAR EXTENDED MEMORY ADDRESS
  1444. LDD ES+4
  1445. SHN 3
  1446. ADN SDGL UPDATE THE MST
  1447. CWD CN
  1448. LDD DI
  1449. ZJN UDA4 IF DAT INDEX NOT SET
  1450. UDA3 LDC BFMS+WLSF
  1451. RJM WDS REWRITE DAT SECTOR
  1452. UDA4 ENDMS
  1453. LJM UDA5 RETURN
  1454. UEC SPACE 4,15
  1455. ** UEC - UPDATE EXTENDED MEMORY MST DATA.
  1456. *
  1457. * ENTRY (A) = UPDATE OPTIONS.
  1458. * (LD) = LINK DEVICE EST ORDINAL.
  1459. * (MI) = MACHINE INDEX.
  1460. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  1461. *
  1462. * ERROR TO *GDS2* IF ERROR ON LINK DEVICE.
  1463. *
  1464. * USES TA, CM - CM+4, CN - CN+4.
  1465. *
  1466. * CALLS UDA.
  1467. *
  1468. * MACROS MONITOR.
  1469.  
  1470.  
  1471. UEC SUBR ENTRY/EXIT
  1472. STD TA
  1473. LDD LD
  1474. ZJN UECX IF NOT MMF MODE
  1475. LDD ES+4
  1476. SHN 3
  1477. ADN SDGL FETCH MST ADDRESS INFORMATION
  1478. CRD CN
  1479. LDD TA
  1480. LPN RDDA+UPDA
  1481. ZJN UEC1 IF NOT DAT ACCESS
  1482. RJM UDA
  1483.  
  1484. * UPDATE GLOBAL AREA.
  1485.  
  1486. UEC1 LDD CN CHECK EXTENDED MEMORY ADDRESS
  1487. ADD CN+1
  1488. ZJN UECX IF MST/TRT NOT EXTENDED MEMORY RESIDENT
  1489. LDD TA
  1490. LPN UPGA
  1491. UEC2 ZJN UECX IF NOT GLOBAL AREA UPDATE
  1492. LDD CN+1
  1493. ADN ALGL
  1494. STD CM+4 FORM EXTENDED MEMORY ADDRESS
  1495. SHN -14
  1496. ADD CN
  1497. LMC WECS*1000 MERGE SUBFUNCTION
  1498. STD CM+3
  1499. LDD ES+4 COMPUTE CM ADDRESS
  1500. SHN 3
  1501. ADN ALGL
  1502. STD CM+2
  1503. SHN -14
  1504. LMC 300 MERGE WORD COUNT
  1505. STD CM+1
  1506. MONITOR ECSM
  1507. LDD CM+1
  1508. ZJN UEC2 IF NO ERRORS
  1509. LJM GDS2 ABORT
  1510. SPACE 4
  1511. * COMMON DECKS.
  1512.  
  1513.  
  1514. QUAL$ EQU 1
  1515. *CALL COMPRLA
  1516. *CALL COMPRSS
  1517. WCS$ EQU 1 CONSECUTIVE SECTORS AFTER SYSTEM SECTOR
  1518. *CALL COMPWSS
  1519.  
  1520. QUAL
  1521. *CALL COMPCEA
  1522. *CALL COMPC2D
  1523. *CALL COMPIFR
  1524. *CALL COMPSDI
  1525. *CALL COMPSDR
  1526. STI EQU /IMS/STI
  1527. *CALL COMPTGB
  1528. *CALL COMPTLB
  1529.  
  1530. QUAL IMS
  1531. SPACE 4,10
  1532. ** DAYFILE MESSAGES.
  1533.  
  1534.  
  1535. MESA DATA C* EQXXX, YY TRACKS FLAWED.*
  1536. MESB DATA C* EQXXX, YY FLAWS NOT PROCESSED.*
  1537. MESBL EQU * FLAW MESSAGE BUFFER
  1538. MESC DATA C* EQXXX, LOCAL AREAS INITIALIZED.*
  1539. MESD DATA C* EQXXX, LOCAL AREA SECTOR RESET.*
  1540. MESE DATA C* EQXXX, PF INITIALIZE COMPLETE.*
  1541. MESF DATA C* LABEL TRACK CONFLICT.*
  1542. MESG DATA C* EQXXX, NO INACTIVE DAYFILES FOUND.*
  1543. MENM EQU 13 FILENAME OFFSET FOR MESSAGES
  1544. MESH DATA C* EQXXX, INITIALIZED - . *
  1545. MESI DATA C* EQXXX, FILE ACTIVE - . *
  1546. MESJ DATA C* EQXXX, FILE BUSY - . *
  1547. MESK DATA C* EQXXX, PROTECTED QUEUES IGNORED.*
  1548. MESL DATA C* EQXXX, FLAWING INCOMPLETE.*
  1549. MESM DATA C* IMS ABORTED.*
  1550. MESN DATA C* EQXXX, TKYYYY, SYSTEM SECTOR ERROR.*
  1551. MESO DATA C* EQXXX, TKYYYY - TRACK FLAWED BY IMS.*
  1552. MESP DATA C* EQXXX, TKYYYY - VERIFICATION ERRORS.*
  1553. SPACE 4,10
  1554. OVLA EQU *+5 OVERLAY LOAD ADDRESS
  1555. TITLE RESIDENT PROCESSORS.
  1556. IND SPACE 4,10
  1557. *** FUNCTION *INDF* - INITIALIZE MASS STORAGE DEVICE.
  1558. *
  1559. * ENTRY (IR+4) = EST ORDINAL.
  1560.  
  1561.  
  1562. IND ENTRY
  1563. LDD IR+4 SET DEVICE PARAMETERS
  1564. RJM SMD
  1565. LDD WB CHECK INITIALIZE OPTIONS
  1566. SHN 21-LIAL+LIAL/12D*12D
  1567. MJN IND1 IF DEADSTART INITIALIZE
  1568. RJM TRT UPDATE TRT
  1569. RJM RPC RELEASE PERMANENT FILE CHAINS
  1570. RJM IPF INITIALIZE PACK FLAWS
  1571. IND1 LDD ES+4
  1572. SHN 3
  1573. ADN ALGL READ DEVICE ALLOCATION WORD FROM MST
  1574. CRD CN
  1575. ADN PUGL-ALGL GET DEVICE MASKS
  1576. CRD FN
  1577. ADN MDGL-PUGL GET DRIVER WORD
  1578. CRD CM
  1579. ADN STLL-MDGL UPDATE DEVICE STATUS
  1580. CWD WB
  1581. LDN 0 CLEAR ID DATA TRACK
  1582. STD CN
  1583. LDD CM
  1584. SHN 21-12
  1585. MJN IND2 IF AUXILIARY DEVICE
  1586. LDD FN+4
  1587. LPC 377
  1588. NJN IND2 IF MASTER DEVICE
  1589. * LDN 0
  1590. LJM IND5 PROCESS NON-MASTER DEVICE
  1591.  
  1592. IND2 LDD FN+3 SET CONTIGUOUS CATALOG TRACKS
  1593. SCN 60
  1594. LMN 40
  1595. STD FN+3
  1596. LDD FN
  1597. ZJN IND3 IF NOT PRIVATE DEVICE
  1598. LDN 1 SET CATALOG COUNT TO 1
  1599. STD CN+3
  1600. IND3 LDD CN+3 SET NUMBER OF CATALOG TRACKS
  1601. ADN 1
  1602. STD CA RESERVE CATALOG CHAIN
  1603. RJM RCC
  1604. ZJN IND4 IF ALL TRACKS NOT ASSIGNED
  1605. LDC NDAT RESERVE DATA TRACK
  1606. RJM RPT
  1607. ZJN IND4 IF TRACK NOT ASSIGNED
  1608. STD CN
  1609. LDC NPER RESERVE PERMITS TRACK
  1610. RJM RPT
  1611. NJN IND5 IF TRACK ASSIGNED
  1612. IND4 LDN PTKL
  1613. LJM MSI PASS ERROR TO *MSI*
  1614.  
  1615. IND5 STD CN+2 SET PERMIT TRACK
  1616. LDD ES+4
  1617. SHN 3
  1618. ADN ALGL UPDATE DEVICE LAYOUT WORD
  1619. CWD CN
  1620. ADN PUGL-ALGL UPDATE CATALOG CHAIN STATUS
  1621. CWD FN
  1622. LDN 0 CLEAR ERROR STATUS
  1623. RJM SES
  1624. CMSTF GDEI CLEAR ERROR IDLE STATUS
  1625. CMSTF GCTO CLEAR CATALOG TRACK OVERFLOW
  1626. LDM CQFA
  1627. ZJN IND7 IF NO QUEUES IGNORED
  1628. LDC MESK * EQXXX, PROTECTED QUEUES IGNORED.*
  1629. RJM DFM
  1630. IND7 LDC MESE * EQXXX, PF INITIALIZE COMPLETE.*
  1631. RJM DFM
  1632. LDN RDDA+UPGA READ DAT / UPDATE GLOBAL MST
  1633. RJM UEC
  1634. RJM IAM PROCESS ACCOUNTING MESSAGE
  1635. LDN 5
  1636. LJM CKC SET CHECKPOINT REQUEST
  1637. SPACE 4,10
  1638. ** SYSTEM SECTOR FILE NAMES.
  1639.  
  1640.  
  1641. NDAT VFD 42/0LDATA,6/1,6/SYFT,6/0
  1642. NLAB VFD 42/0LLABEL,6/1,6/SYFT,6/0
  1643. NPER VFD 42/0LPERMIT,6/1,6/SYFT,6/0
  1644. DFT SPACE 4,20
  1645. ** DFT - DROP AND FLAW TRACK.
  1646. *
  1647. * ENTRY (A) = 1/0,11/FT. ALL TRACKS AFTER *FT* ARE DROPPED
  1648. * AND THE EOI IS SET IN SECTOR ZERO OF *FT*.
  1649. * = 1/1,11/FT. ALL TRACKS FROM *FT* TO END OF
  1650. * CHAIN ARE DROPPED.
  1651. * (T5) = EST ORDINAL.
  1652. * (T6) = TRACK ON WHICH ERROR OCCURED.
  1653. * (TA) = VERIFICATION ERROR RETRY COUNT.
  1654. *
  1655. * EXIT (A) = 0 IF TRACK CHAIN DROPPED.
  1656. *
  1657. * ERROR TO *ABT2* IF RETRY COUNT EXHAUSTED.
  1658. *
  1659. * USES CM - CM+4.
  1660. *
  1661. * CALLS DFM, SES, STM.
  1662. *
  1663. * MACROS MONITOR.
  1664.  
  1665.  
  1666. DFT1 STD CM+3 CLEAR SECTOR NUMBER FIELD
  1667. LDD T5
  1668. STD CM+1 DROP CURRENT TRACK
  1669. MONITOR DTKM
  1670. LDC MESO ISSUE TRACK FLAWED MESSAGE TO ERRLOG
  1671. RJM STM
  1672. LDD T9 ISSUE SAME MESSAGE TO SYSTEM DAYFILE
  1673. RJM DFM
  1674. * LDN 0
  1675.  
  1676. DFT SUBR ENTRY/EXIT
  1677. STD CM+2 SET FIRST TRACK TO DROP
  1678. LDM RDCT
  1679. LPN 77 CHECK MASS STORAGE ERROR TYPE
  1680. LMN PARE
  1681. ZJN DFT1 IF MEDIA PROBLEM
  1682. LDC MESP
  1683. RJM STM ISSUE VERIFICATION ERROR MESSAGE
  1684. SOD TA
  1685. NJN DFTX IF VERIFICATION RETRY IN ORDER
  1686. LDN STVE
  1687. RJM SES SET *VE* ERROR STATUS IN MST
  1688. * LDC MESM
  1689. LJM ABT2 ABORT - MAINTENANCE REQUIRED
  1690. IAM SPACE 4,15
  1691. ** IAM - ISSUE ACCOUNTING MESSAGE.
  1692. *
  1693. * ENTRY (T5) = EST ORDINAL.
  1694. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  1695. *
  1696. * EXIT MESSAGE ISSUED TO ACCOUNTING DAYFILE.
  1697. * EVENT SET FOR AUXILIARY DEVICE.
  1698. *
  1699. * USES T1, CM - CM+4, CN - CN+4.
  1700. *
  1701. * CALLS ACS, C2D, DFM.
  1702. *
  1703. * MACROS MONITOR.
  1704.  
  1705.  
  1706. IAM SUBR ENTRY/EXIT
  1707. LDC IAMB SET ADDRESS OF ASSEMBLY BUFFER
  1708. STD T1
  1709. LDD T5 CONVERT UPPER TWO DIGITS OF EST ORDINAL
  1710. SHN -3
  1711. RJM C2D
  1712. STD CM
  1713. LDD T5 CONVERT LOWER DIGIT OF EST ORDINAL
  1714. LPN 7
  1715. ADN 1R0
  1716. SHN 6
  1717. STD CM+1
  1718. LDN CM ADD EST ORDINAL TO MESSAGE
  1719. RJM ACS
  1720. LDC =C*, * ADD SEPARATOR TO MESSAGE
  1721. RJM ACS
  1722. LDD ES+4 GET DEVICE DESCRIPTION
  1723. SHN 3
  1724. ADN PFGL
  1725. CRD CM
  1726. ADN PUGL-PFGL READ USER NAME
  1727. CRD CN
  1728. LDD CM+3 EXTRACT DEVICE NUMBER
  1729. LPN 77
  1730. NJN IAM1 IF NOT AUXILIARY DEVICE
  1731. LDD CM+3
  1732. ADD CM+2 BUILD PACKNAME EVENT HASH
  1733. ADD CM+1
  1734. ADD CM SAVE PACKNAME HASH
  1735. STD CN+4
  1736. UJN IAM2 FORMAT MESSAGE
  1737.  
  1738. IAM1 RJM C2D CONVERT TO DISPLAY CODE
  1739. STD CN
  1740. LDC 2RDI CHANGE MESSAGE PREFIX TO *ADDI*
  1741. STM IAMA+1
  1742. LDD CM+3 SET END OF FAMILY NAME
  1743. SCN 77
  1744. STD CM+3
  1745. IAM2 LDN CM ADD FAMILY/PACKNAME TO MESSAGE
  1746. RJM ACS
  1747. LDD CN
  1748. ZJN IAM3 IF NO USER/DEVICE NUMBER
  1749. LDC =C*, *
  1750. RJM ACS
  1751. LDD CN+3 SET END OF USER NAME
  1752. SCN 77
  1753. STD CN+3
  1754. LDN CN ADD USER/DEVICE NUMBER TO MESSAGE
  1755. RJM ACS
  1756. IAM3 LDC =C*.* SET MESSAGE TERMINATOR
  1757. RJM ACS
  1758. LDC IAMA+ACFN ISSUE MESSAGE TO ACCOUNT FILE
  1759. RJM DFM
  1760. LDM IAMA+1 ISSUE EVENT
  1761. LMC 2RPI
  1762. NJN IAM4 IF NOT AUXILIARY DEVICE
  1763. LDN ZERL
  1764. CRD CM
  1765. LDN /EVENT/VSNE/10000 SET EVENT
  1766. STD CM+3
  1767. LDD CN+4 SET PACKNAME HASH
  1768. STD CM+4
  1769. MONITOR EATM
  1770. IAM4 LJM IAMX RETURN
  1771.  
  1772.  
  1773. IAMA DATA 6HADPI,
  1774. IAMB BSSZ 15 ASSEMBLY BUFFER
  1775. RCC SPACE 4,20
  1776. ** RCC - RESERVE CATALOG CHAIN.
  1777. *
  1778. * ENTRY (CA) = CATALOG COUNT.
  1779. * (LT) = LABEL TRACK.
  1780. * (T5) = EST ORDINAL (DRIVER PRESET).
  1781. * (CN - CN+4) = DEVICE LAYOUT WORD OF MST
  1782. * (FN - FN+4) = PUGL WORD OF THE MST.
  1783. *
  1784. * EXIT (A) = 0 IF TRACKS NOT AVAILABLE.
  1785. * = .LT. 0 IF ALL CATALOG TRACKS RESERVED.
  1786. * (FN+3) = CONTIGUOUS TRACKS FLAG CLEARED IF NECESSARY.
  1787. *
  1788. * USES TA, T2, T6, T7, CA - CA+1, CM - CM+4.
  1789. *
  1790. * CALLS DFT, WVE.
  1791. *
  1792. * MACROS MONITOR.
  1793.  
  1794.  
  1795. RCC SUBR ENTRY/EXIT
  1796. LDD LT
  1797. STD T6 FIRST TRACK = LABEL TRACK
  1798. RCC1 SOD CA
  1799. MJN RCCX IF ALL CATALOG TRACKS RESERVED
  1800. LDN ZERL
  1801. CRD CM
  1802. LDD T5 SET EQUIPMENT
  1803. STD CM+1
  1804. LDD T6 SET CURRENT TRACK
  1805. STD CM+2
  1806. STD CA+1
  1807. MONITOR RTCM RESERVE TRACK
  1808. * LDN 0
  1809. STD T7 SET SECTOR
  1810. LDD CM+4
  1811. ZJN RCCX IF TRACK NOT ASSIGNED
  1812. SBN 1
  1813. SBD T6
  1814. ZJN RCC2 IF CONSECUTIVE
  1815. RAD T6
  1816. LDD FN+3 CLEAR CONTIGUOUS CATALOG TRACKS
  1817. SCN 40
  1818. STD FN+3
  1819. RCC2 AOD T6 SET NEXT TRACK
  1820. LDN VERC
  1821. STD TA
  1822. RCC3 LDD LT SET FIRST TRACK OF CHAIN
  1823. STD T2
  1824. LDC BFMS WRITE AND VERIFY WITH EOI SECTORS
  1825. RJM WVE
  1826. ZJN RCC4 IF WRITE AND VERIFY GOOD
  1827. LDD CA+1
  1828. LPC 3777 DROP AND FLAW TRACK
  1829. RJM DFT
  1830. NJN RCC3 IF RETRY DUE TO VERIFICATION ERRORS
  1831. AOD CA
  1832. LDD CA+1 RESTORE CURRENT TRACK
  1833. STD T6
  1834. RCC4 LJM RCC1 ALLOCATE NEXT CATALOG TRACK
  1835. RPC SPACE 4,15
  1836. ** RPC - RELEASE PERMANENT FILE CHAINS.
  1837. *
  1838. * ENTRY (T5) = EST ORDINAL.
  1839. * (LT) = LABEL TRACK.
  1840. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  1841. * (WB - WB+4) = *STLL* WORD OF MST.
  1842. *
  1843. * USES BY, TL, T5, T6, CM - CM+4, CN - CN+4.
  1844. *
  1845. * USES CAT, CQF.
  1846. *
  1847. * MACROS MONITOR, SETMS.
  1848.  
  1849.  
  1850. RPC5 LDN 0 CLEAR USER COUNT
  1851. STD WB+3
  1852. LDD CP CLEAR MESSAGE AT CP
  1853. ADN MS2W
  1854. CWD WB+3
  1855.  
  1856. RPC SUBR ENTRY/EXIT
  1857. LDD ES+4
  1858. SHN 3
  1859. ADK TDGL
  1860. CRD CN
  1861. ADN TRLL-TDGL
  1862. RJM CAT CALCULATE FWA OF TRT
  1863. STM RPCA+1
  1864. SHN -14
  1865. RAM RPCA
  1866. LDD CN+2 SET TRT LENGTH
  1867. STD TL
  1868. SETMS IO,(DF,NS)
  1869. LDN 0
  1870. RPC1 STD BY CLEAR BYTE COUNT
  1871. SOD TL
  1872. MJN RPC5 IF END OF TRT
  1873.  
  1874. RPCA ADC *
  1875. CRD CN READ TRT WORD
  1876. RPC2 LDD CN+4
  1877. LPC 7400 EXTRACT PRESERVED FILE FLAGS
  1878. SHN 1
  1879. STD CN+4
  1880. ZJN RPC1 IF NONE SET
  1881. SHN 5
  1882. PJN RPC4 IF NOT PRESERVED FILE CHAIN
  1883. RJM CQF CHECK FOR QUEUED FILES
  1884. ZJN RPC4 IF QUEUE, DAYFILE, MRT OR DAT TRACK
  1885. LDD T5
  1886. STD CM+1 SET EST ORDINAL
  1887. LDD T6
  1888. STD CM+2 TRACK NUMBER
  1889. LMD LT
  1890. NJN RPC3 IF NOT LABEL TRACK
  1891. STD CM+3
  1892. LDD LT DROP ALL TRACKS AFTER LABEL TRACK
  1893. LPC 3777
  1894. STD CM+2
  1895. RPC3 MONITOR DTKM
  1896. RPC4 AOD BY ADVANCE BYTE COUNT
  1897. UJN RPC2 LOOP FOR ALL BYTES
  1898. RPT SPACE 4,15
  1899. ** RPT - RESERVE PRESERVED FILE TRACK.
  1900. *
  1901. * ENTRY (A) = ADDRESS OF SYSTEM SECTOR NAME.
  1902. *
  1903. * EXIT (A) = TRACK RESERVED.
  1904. *
  1905. * USES TA, T1, T2, T6, CM - CM+4.
  1906. *
  1907. * CALLS DFT, STB, WSS, WVE.
  1908. *
  1909. * MACROS ENDMS, MONITOR, SETMS.
  1910.  
  1911.  
  1912. RPT SUBR ENTRY/EXIT
  1913. STM RPTA
  1914. RPT1 LDC 500 PRESET INDEX
  1915. STD T1
  1916. RPT2 LDN 0 CLEAR SYSTEM SECTOR
  1917. STM BFMS+1,T1
  1918. SOD T1
  1919. NJN RPT2 IF NOT END OF SECTOR
  1920. LDD MA
  1921. CWM *,ON
  1922. RPTA EQU *-1
  1923. SBN 1 MOVE SYSTEM SECTOR NAME TO BUFFER
  1924. CRM FNSS,ON
  1925. LDN ZERL REQUEST TRACK
  1926. CRD CM
  1927. LDD T5 SET EST ORDINAL IN REQUEST
  1928. STD CM+1
  1929. MONITOR RTCM
  1930. LDD CM+4 SET TRACK
  1931. STD T6
  1932. ZJN RPTX IF TRACK NOT ASSIGNED
  1933. SETMS IO,NS
  1934. RJM WSS WRITE SYSTEM SECTOR
  1935. MJN RPT4 IF PARITY ERROR
  1936. LDN VERC
  1937. STD TA
  1938. RPT3 LDD T6 SET FIRST TRACK
  1939. STD T2
  1940. LDC BFMS WRITE AND VERIFY WITH EOI SECTORS
  1941. RJM WVE
  1942. NJN RPT4 IF WRITE / VERIFY ERRORS
  1943. LDD T5
  1944. STD CM+1 SET EST ORDINAL
  1945. LDD T6
  1946. LPC 3777 SET TRACK
  1947. STD CM+2
  1948. LDN FSMS SET SECTOR
  1949. STD CM+3
  1950. MONITOR DTKM SET EOI IN TRT
  1951. LDN SPFS
  1952. RJM STB SET FILE PRESERVED
  1953. LDD T6
  1954. LJM RPTX RETURN
  1955.  
  1956. * PROCESS BAD TRACK.
  1957.  
  1958. RPT4 LDD T6 DROP AND FLAW TRACK
  1959. RJM DFT
  1960. NJN RPT3 IF RETRY DUE TO VERIFICATION ERRORS
  1961. LJM RPT1 RESERVE ANOTHER TRACK
  1962. SMD SPACE 4,15
  1963. ** SMD - SET MASS STORAGE DEVICE.
  1964. *
  1965. * ENTRY (A) = EST ORDINAL.
  1966. *
  1967. * EXIT (T5) = EST ORDINAL.
  1968. * (LT) = LABEL TRACK.
  1969. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  1970. * (WB - WB+4) = *STLL* WORD OF MST.
  1971. *
  1972. * USES CM - CM+4, CN - CN+4, FN - FN+4.
  1973. *
  1974. * CALLS ABT, CAT, IPF, RPT, SLI, SME, WDS, WSS.
  1975. *
  1976. * MACROS ENDMS, MONITOR, SETMS.
  1977.  
  1978.  
  1979. SMD SUBR ENTRY/EXIT
  1980. RJM SME SET MASS STORAGE EQUIPMENT
  1981. RJM SLI SET LOCAL UTILITY INTERLOCK
  1982. LDD ES+4
  1983. SHN 3
  1984. ADN ALGL
  1985. CRD CN
  1986. ADN MDGL-ALGL
  1987. CRD FN
  1988. ADN STLL-MDGL READ MST STATUS WORD
  1989. CRD WB
  1990. LDD FN SET DAT INDEX
  1991. LPC 377
  1992. STD DI
  1993. LDD CN+1 CHECK LABEL TRACK
  1994. STD LT
  1995. NJN SMDX IF DEFINED
  1996. RJM IPF INITIALIZE PACK FLAWS
  1997. LDC NLAB
  1998. RJM RPT RESERVE LABEL TRACK
  1999. STD CN+1
  2000. STD LT SAVE LABEL TRACK
  2001. LDD ES+4
  2002. SHN 3
  2003. ADN ALGL
  2004. CWD CN UPDATE MST
  2005. LDD LT
  2006. ZJN SMD4 IF LABEL TRACK NOT ASSIGNED
  2007. LMC 4000
  2008. ZJN SMD3 IF LABEL ON TRACK ZERO
  2009. LDN ZERL
  2010. CRD CN
  2011. SETMS IO,(DF,NS,SM)
  2012. SMD1 LDD ES+4
  2013. SHN 3
  2014. ADN TRLL
  2015. RJM CAT CALCULATE FWA OF TRT
  2016. ADD CN+1
  2017. CRD FN
  2018. SMD2 LDM FN,CN CHECK TRACK BYTE
  2019. LMC 3777
  2020. ZJN SMD5 IF TRACK FLAWED
  2021. LDD CN+2
  2022. LMD LT
  2023. LPN 77
  2024. NJN SMD4 IF NOT LABEL TRACK
  2025. SMD3 LJM SMDX RETURN
  2026.  
  2027. SMD4 LDC MESF
  2028. LJM ABT ABORT OPERATION
  2029.  
  2030. * FLAG FLAWED TRACK IN SYSTEM SECTOR.
  2031.  
  2032. SMD5 LDD CN+2 SET TRACK NUMBER
  2033. LMC 4000
  2034. STD T6
  2035. LDC 3777 FLAWED TRACK INDICATOR
  2036. STM FNSS
  2037. RJM WSS WRITE SYSTEM SECTOR
  2038. SMD6 LDC BFMS+WCSF
  2039. RJM WDS WRITE FLAW DATA TO ALL SECTORS
  2040. AOD T7
  2041. SBM SLM
  2042. NJN SMD6 IF NOT END OF TRACK
  2043. ENDMS
  2044. AOD CN+2 BUMP TRACK COUNT
  2045. AOD CN BUMP BYTE COUNT
  2046. LMN 4
  2047. ZJN SMD7 IF END OF TRT WORD
  2048. LJM SMD2 PROCESS NEXT TRACK
  2049.  
  2050. SMD7 STD CN
  2051. AOD CN+1 BUMP WORD INDEX
  2052. LJM SMD1 GET NEXT TRT WORD
  2053. SPACE 4,10
  2054. * COMMON DECKS.
  2055.  
  2056.  
  2057. *CALL COMPACS
  2058. *CALL COMPSES
  2059. LIST X
  2060. *CALL COMPWVE
  2061. LIST *
  2062. SPACE 4,10
  2063. USE LITERALS
  2064. OVERFLOW OVLA,BUF
  2065. TITLE PRESET.
  2066. PRS SPACE 4,10
  2067. ** PRS - PRESET PROGRAM.
  2068. *
  2069. * EXIT (PF) = 0.
  2070. * (LD) = MMF LINK DEVICE.
  2071. * (MI) = MACHINE INDEX.
  2072. * (DE) = DAT ENTRY COUNT.
  2073. * (T2) = FUNCTION TABLE INDEX.
  2074. * (CA - CA+1) = 0.
  2075. * (CN - CN+4) = *MMFL* WORD.
  2076.  
  2077.  
  2078. PRS SUBR ENTRY/EXIT
  2079. LDD CP
  2080. ADN STSW FETCH CP ERROR STATUS
  2081. CRD CM
  2082. LDD CM+1
  2083. NJP ABT3 IF ERROR FLAG SET
  2084. * LDN 0
  2085. STD CA CLEAR DIRECT CELLS
  2086. STD CA+1
  2087. STD PF
  2088.  
  2089. * SET LINK DEVICE PARAMETERS.
  2090.  
  2091. LDC MMFL
  2092. CRD CN
  2093. LDD CN+1 SET LINK EQUIPMENT
  2094. LPC 777
  2095. STD LD
  2096. LDD CN+4 SET MACHINE INDEX
  2097. STD MI
  2098. LDD CN+3 SET MACHINE MASK
  2099. STM UDAA
  2100. LDD IR+2 CHECK REQUEST
  2101. LMN MMSF
  2102. NJN PRS2 IF NOT TO MODIFY MST-S
  2103. LDD LD
  2104. ZJN PRS2 IF NOT MMF ENVIRONMENT
  2105. SFA EST
  2106. ADK EQDE FETCH LINK DEVICE EST ENTRY
  2107. CRD CM
  2108. LDD CM+4 GET LABEL TRACK
  2109. SHN 3
  2110. ADN ALGL
  2111. CRD CM
  2112. LDD CM+1 SAVE LINK DEVICE LABEL TRACK
  2113. STD T6
  2114. LDN ETLT
  2115. STD T7
  2116. LDN RECS GET DAT ENTRY COUNT
  2117. RJM TED
  2118. ZJN PRS1 IF NO ERRORS
  2119. LJM GDS2 ABORT
  2120.  
  2121. PRS1 LDD MA
  2122. CRD CM
  2123. LDD CM+4 SET DAT ENTRY COUNT
  2124. SHN -1
  2125. STD DE
  2126.  
  2127. * CHECK ORIGIN TYPE.
  2128.  
  2129. PRS2 LDD CP FETCH EJT ORDINAL
  2130. ADN TFSW
  2131. CRD CM
  2132. SBN TFSW-JCIW GET SUBSYSTEM ID
  2133. CRD WB
  2134. SFA EJT,CM READ EJT
  2135. ADN SCLE
  2136. CRD CM
  2137. LDD CM CHECK ORIGIN TYPE
  2138. LPN 17
  2139. LMK SYOT
  2140. NJN PRS4 IF NOT SYSTEM ORIGIN
  2141.  
  2142. * SET ABORT CONDITIONS.
  2143.  
  2144. LDD WB+2 CHECK SUBSYSTEM ID
  2145. LMC DSSI
  2146. NJN PRS3 IF NOT DEADSTART SEQUENCING JOB
  2147. LDC *
  2148. ORG *-1
  2149. LOC ABTB
  2150. UJN ABT1 CHECK DEVICE TYPE
  2151. LOC *O
  2152. STM ABTB SET DEADSTART SEQUENCING PATH
  2153. LDC ABTA
  2154. STM ABTA+1 FORCE PP HANG
  2155.  
  2156. * PROCESS FUNCTION.
  2157.  
  2158. PRS3 LDD IR+2
  2159. SHN 1 SET FUNCTION TABLE INDEX
  2160. STD T2
  2161. ERRNZ TFCNS-2 CODE DEPENDS ON VALUE
  2162. SBN TFCNL
  2163. PJN PRS4 IF INCORRECT REQUEST
  2164. LDM TFCN,T2
  2165. STM IMSA
  2166. LJM PRSX RETURN
  2167.  
  2168. PRS4 LDC PRSB * INCORRECT IMS REQUEST.*
  2169. RJM DFM
  2170. LJM DPP DROP PP
  2171. SPACE 4,10
  2172. EJT$ EQU 0 DEFINE *COMPGFP* ACCESS TO EJT
  2173. *CALL COMPGFP
  2174.  
  2175.  
  2176. PRSB DATA C* INCORRECT IMS REQUEST.*
  2177. TFCN SPACE 4
  2178. ** TFCN - FUNCTION PROCESSOR TABLE.
  2179. * ENTRY = 2 BYTES.
  2180. * INDEXED BY FUNCTION NUMBER * 2.
  2181. *
  2182. *T, 12/ ADDR, 12/ OVLN
  2183. * ADDR ADDRESS OF FUNCTION PROCESSOR.
  2184. * OVLN LAST CHARACTER OF OVERLAY NAME.
  2185.  
  2186.  
  2187. TFCN FCN
  2188. FCN 0,PRS4 INCORRECT REQUEST
  2189. TFCNS EQU *O-TFCN
  2190. FCN INDF,IND INITIALIZE DEVICE
  2191. FCN EDTF,EDT EDIT DIRECT ACCESS FILES
  2192. FCN SFLF,SFL SET / CLEAR FLAWS
  2193. FCN CSDF,CSD CHECK SHARED DEVICE STATUS
  2194. FCN ILAF,ILA INITIALIZE LOCAL AREAS
  2195. FCN MMSF,MMS MODIFY MST-S
  2196. FCN CINF,CIN CLEAR INITIALIZE REQUESTS
  2197. FCN IDFF,IDF INITIALIZE DAYFILES
  2198. FCN CITF,CIT CLEAR *CMS* INTERLOCK
  2199. FCN ISDF,ISD INTERLOCK ISD-S
  2200. FCN IFMXF
  2201. TFCNL EQU *-TFCN LENGTH OF TABLE
  2202. SPACE 4,10
  2203. OVERFLOW
  2204. OVERLAY (MODIFY MASS STORAGE TABLES.)
  2205. MMS SPACE 4,20
  2206. *** FUNCTION *MMSF* - MODIFY MASS STORAGE TABLES.
  2207. *
  2208. * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) OF PARAMETERS.
  2209. *
  2210. *T, ADDR 60/ EST ENTRY
  2211. *T, 60/ PFGL WORD OF MST
  2212. *T, 60/ PUGL WORD OF MST
  2213. *T, 60/ MDGL WORD OF MST
  2214. *T, 12/ NC, 12/ EQ, 12/ AI, 12/ CI, 12/ NE
  2215. *T, 12/ NP, 48/ UNIT LIST (*LDAM* DEVICES)
  2216. *T, 60/ REPLY WORD
  2217. * NC = NUMBER OF CATALOG TRACKS.
  2218. * EQ = EST ORDINAL.
  2219. * AI = *LDAM* ALGORITHM INDEX.
  2220. * CI = CLEAR IN USE AS CHAINED DEVICE.
  2221. * NE = NEXT EQUIPMENT IN CHAIN.
  2222.  
  2223.  
  2224. MMS ENTRY
  2225. LDN PMMSL READ PARAMETER BLOCK
  2226. STD TI
  2227. RJM LDA READ EST ENTRY
  2228. CRD ES
  2229. CRM BUF,TI
  2230. LDM BUF+PMEQ SET EST ORDINAL
  2231. STD T5
  2232. STM EQNO
  2233. LDD LD
  2234. ZJN MMS1 IF NOT MMF ENVIRONMENT
  2235. LMD T5
  2236. NJN MMS1 IF NOT LINK DEVICE
  2237. LDD ES+4
  2238. SHN 3
  2239. ADN PFGL RETAIN ORIGINAL PF DESCRIPTION
  2240. CRM BUF+PMPF,TR
  2241. MMS1 RJM SLI SET LOCAL UTILITY INTERLOCK
  2242. LDD ES
  2243. SHN 21-10
  2244. PJN MMS2 IF NOT REMOVABLE
  2245. LDD ES+4 CHECK INITIALIZE OPTION
  2246. SHN 3
  2247. ADN STLL
  2248. CRD CM
  2249. LDD CM
  2250. SHN 21-LIAL+LIAL/12D*12D
  2251. MJN MMS2 IF DEADSTART INITIALIZE
  2252. RJM CTR CLEAR TRT
  2253.  
  2254. * PROCESS CATALOG TRACK COUNT.
  2255.  
  2256. MMS2 LDD ES+4
  2257. SHN 3
  2258. ADN ALGL
  2259. CRD CM
  2260. LDM BUF+PMNC
  2261. STD CM+3
  2262. LDD ES+4 UPDATE MST WORDS
  2263. SHN 3
  2264. ADN ALGL
  2265. CWD CM
  2266. ADN PFGL-ALGL STORE *PFGL* AND *PUGL*
  2267. CWM BUF+PMPF,TR
  2268. ADN DILL-PFGL-3
  2269. CRD CN
  2270. LDD CN+4 CLEAR ALGORITHM INDEX
  2271. SCN 77
  2272. STD CN+4
  2273. LDM BUF+PMMD SET DAT INDEX
  2274. LPC 377
  2275. STD DI
  2276. LDM BUF+PMAI
  2277. ZJN MMS4 IF NOT CHANGING ALGORITHM INDEX
  2278. RAD CN+4
  2279. LDD ES+4 UPDATE MST
  2280. SHN 3
  2281. ADN DILL
  2282. CWD CN
  2283. LDD ES+3 SET NEW MNEMONIC
  2284. STD CM+3
  2285. LDN SMNS SET MNEMONIC SUBFUNCTION
  2286. STD CM+2
  2287. LDD T5 SET EST ORDINAL
  2288. STD CM+1
  2289. MONITOR SEQM CHANGE EQUIPMENT MNEMONIC
  2290. LDD CN+4
  2291. LPN 77 EXTRACT ALGORITHM INDEX
  2292. SBN AIHT+1
  2293. SHN 0-21 CALCULATE *SCSM* SUBFUNCTION
  2294. ADN DAPS
  2295. ERRNZ DAPS+1-EAPS CODE DEPENDS ON VALUE
  2296. STD CM+3
  2297. SBN DAPS
  2298. SHN 3 APPEND CHANNEL PRESENT STATUS
  2299. LMN 11
  2300. RJM CCS
  2301. ZJN MMS4 IF NO ACCESS PATH CHANGE
  2302. * LDD T5
  2303. * STD CM+1
  2304. MONITOR SCSM SET CHANNELS FOR ACCESS
  2305.  
  2306. * PROCESS REMOVABLE DEVICE.
  2307.  
  2308. MMS4 LDD ES
  2309. SHN 21-10
  2310. PJN MMS6 IF NOT REMOVABLE
  2311. LDM BUF+PMCI
  2312. ZJN MMS5 IF SETTING DEVICE IN USE
  2313. LCN 0
  2314. MMS5 LMN LDIU SET/CLEAR DEVICE IN USE
  2315. RJM TLB
  2316. MMS6 LDN UPGA+UPDA
  2317. RJM UEC UPDATE EXTENDED MEMORY DATA
  2318.  
  2319. * UPDATE MST.
  2320.  
  2321. LDD ES+4
  2322. SHN 3
  2323. ADN DULL GET DEVICE USAGE WORD
  2324. CRD CN
  2325. ADN STLL-DULL GET STATUS WORD
  2326. CRD CM
  2327. ADN DDLL-STLL STORE UNIT LIST
  2328. CWM BUF+PMAL,ON
  2329. LDD CM+4 SET NEXT EST ORDINAL IN CHAIN
  2330. LPN 7
  2331. SHN 22-3
  2332. ADM BUF+PMNE
  2333. SHN 3
  2334. STD CM+4
  2335. RJM GAS SET ALTERNATE LABEL SECTOR
  2336. STD CN
  2337. LDD ES+4
  2338. SHN 3
  2339. ADN STLL UPDATE DEVICE STATUS
  2340. CWD CM
  2341. SBN STLL-DULL STORE ALTERNATE LABEL SECTOR IN MST
  2342. CWD CN
  2343. LDD ES
  2344. SHN 21-4
  2345. PJN MMS9 IF NOT INDEPENDENT SHARED DEVICE
  2346. LDD CM+1
  2347. LPN 77
  2348. LMN STLE
  2349. ZJN MMS7 IF LABEL ERROR ON DEVICE
  2350. LDD CM
  2351. LPN MLPTU
  2352. ZJN MMS9 IF *LPTU* INTERLOCK NOT SET
  2353. MMS7 LDN ZERL
  2354. CRD CN
  2355. LDN 0
  2356. STD T1
  2357. LDC MMFL
  2358. CRD CM
  2359. LDD CM SET MACHINE ID IN DIT
  2360. STD CN+4
  2361. MMS8 RJM SDL
  2362. ADD T1 ADD OFFSET
  2363. CWD CN
  2364. LDN 0 CLEAR REMAINDER OF DIT
  2365. STD CN+4
  2366. AOD T1
  2367. LMN MISD
  2368. NJN MMS8 IF NOT END OF DIT
  2369. MMS9 RJM LDA
  2370. ADN PMRP/5 REWRITE REPLY WORD
  2371. CWM BUF+PMRP,ON
  2372. LJM DPP EXIT
  2373. CCS SPACE 4,10
  2374. ** CCS - CHECK CHANNEL STATUS.
  2375. *
  2376. * ENTRY (A) = REQUESTED STATUS.
  2377. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  2378. *
  2379. * EXIT (A) = (CM+2).
  2380. * = 0 IF REQUESTED STATUS NOT PRESENT.
  2381. * = CHANNEL DESCRIPTOR IF STATUS FOUND.
  2382. *
  2383. * USES T2.
  2384.  
  2385.  
  2386. CCS2 LDI CM+3 SET CHANNEL DESCRIPTOR
  2387. CCS3 STD CM+2
  2388.  
  2389. CCS SUBR ENTRY/EXIT
  2390. STD T2
  2391. LDN ES+1 INITIALIZE FOR SCAN
  2392. STD CM+3
  2393. CCS1 LDI CM+3 CHECK CHANNEL
  2394. SHN 0-10
  2395. SCN 6 REMOVE STATE FIELD
  2396. LMD T2
  2397. ZJN CCS2 IF REQUESTED STATUS PRESENT
  2398. AOD CM+3
  2399. LMN ES+3
  2400. NJN CCS1 IF ANOTHER CHANNEL TO CHECK
  2401. * LDN 0
  2402. UJN CCS3 RETURN
  2403. CTR SPACE 4,15
  2404. ** CTR - CLEAR TRT AND MST.
  2405. *
  2406. * ENTRY (T5) = EST ORDINAL (REMOVABLE DEVICE).
  2407. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  2408. *
  2409. * EXIT MST UPDATED.
  2410. * TRT CLEARED.
  2411. *
  2412. * USES T6, CM - CM+4, CN - CN+4, WB - WB+4.
  2413. *
  2414. * CALLS CAT, STB.
  2415. *
  2416. * MACROS MONITOR.
  2417.  
  2418.  
  2419. CTR SUBR ENTRY/EXIT
  2420. LDD ES
  2421. SHN 21-4
  2422. PJN CTR1 IF NOT INDEPENDENT SHARED DEVICE
  2423. LDN PSNI
  2424. STM CTRA
  2425. CTR1 LDN SDIS SET DEVICE INTERLOCK
  2426. RJM STB
  2427. LDN ZERL
  2428. CRD CM
  2429. LDD ES+4
  2430. SHN 3
  2431. ADK TDGL
  2432. CRD CN
  2433. ADN ACGL-TDGL CLEAR DEVICE ACTIVITY WORD
  2434. CWD CM
  2435. ADN ALGL-ACGL CLEAR ALLOCATION WORD
  2436. CWD CM
  2437. ADN STLL-ALGL READ STATUS WORD
  2438. CRD WB
  2439. ADN TRLL-STLL
  2440. RJM CAT CALCULATE FWA OF TRT
  2441. STD CM+4
  2442. SHN -14
  2443. STD CM+3
  2444. LDD CN+2 SET TRT LENGTH
  2445. STD CM+2
  2446. SHN 2
  2447. STD CN+4 TRACK COUNT
  2448. LDC 4000
  2449. STD CN+3
  2450. CTRA UJN CTR2 CLEAR TRT/MRT/DIT
  2451. * PSN (INDEPENDENT SHARED DEVICE)
  2452. LDD CN+2
  2453. ADN 7
  2454. SHN -3 SET MRT LENGTH
  2455. ADN MISD
  2456. RAD CM+2 CLEAR TRT
  2457. CTR2 LDN 0
  2458. STD CM+1
  2459. MONITOR CSTM
  2460. * LDN 0 CLEAR USER COUNTS
  2461. STD WB+3
  2462. STD WB+1 CLEAR ERROR STATUS
  2463. LDD ES
  2464. SHN 21-6
  2465. PJN CTR3 IF DEVICE AVAILABLE
  2466. LDN MLPTU
  2467. STD WB CLEAR STATUS FLAGS
  2468. CTR3 LDD ES+4
  2469. SHN 3
  2470. ADK TDGL
  2471. CWD CN
  2472. ADN STLL-TDGL STORE STATUS WORD
  2473. CWD WB
  2474. LDN CDIS CLEAR DEVICE INTERLOCK
  2475. RJM STB
  2476. LDD CN FLAW ODD TRACKS OFF END OF TRT
  2477. STD T6
  2478. CTR4 LPN 3
  2479. NJN CTR5 IF ODD TRACK COUNT
  2480. LJM CTRX RETURN
  2481.  
  2482. CTR5 LDN STFS SET TRACK FLAWED
  2483. RJM STB
  2484. AOD T6
  2485. UJN CTR4 CHECK NEXT TRACK
  2486. GAS SPACE 4,10
  2487. ** GAS - GET ALTERNATE LABEL SECTOR.
  2488. *
  2489. * ENTRY (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  2490. *
  2491. * EXIT (A) = ALTERNATE LABEL SECTOR.
  2492. *
  2493. * USES T1.
  2494.  
  2495.  
  2496. GAS1 LDN 2 ADVANCE TABLE ADDRESS
  2497. RAD T1
  2498. GAS2 LDI T1
  2499. ZJN GASX IF END OF TABLE
  2500. LMD ES+3
  2501. NJN GAS1 IF NOT MATCHING DEVICE MNEMONIC
  2502. LDM 1,T1
  2503.  
  2504. GAS SUBR ENTRY/EXIT
  2505. LDC TALS
  2506. STD T1
  2507. UJN GAS2 ENTER SEARCH LOOP
  2508.  
  2509.  
  2510. TALS BSS 0
  2511. LIST G
  2512. TBL "MSEQ"
  2513. LIST *
  2514. PURGMAC TBLM
  2515. CON 0 END OF TABLE
  2516. SPACE 4,10
  2517. OVERFLOW OVLA,BUF
  2518. OVERLAY (EDIT TRT / INITIALIZE LOCAL AREAS.)
  2519. EDT SPACE 4,10
  2520. *** FUNCTION *EDTF* - EDIT DEVICE TRT.
  2521. *
  2522. * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) 0F PARAMETERS.
  2523. *
  2524. *T, ADDR 12/ MASK, 12/ ESTO, 36/ 0
  2525.  
  2526.  
  2527. EDT ENTRY
  2528. RJM LDA READ PARAMETER WORD
  2529. CRD CN
  2530. LDC BUF-1 INITIALIZE BUFFER INDEX
  2531. STD TI
  2532. EDT1 AOD TI ADVANCE BUFFER INDEX
  2533. LDD CN
  2534. LPC 1 UNPACK MASK BITS
  2535. EDTA EQU *-1
  2536. STI TI SET IN MASK TABLE
  2537. LDM EDTA
  2538. RAM EDTA SHIFT BIT
  2539. SHN -10
  2540. ZJN EDT1 IF NOT END OF MASK
  2541.  
  2542. * SET UP TRT SEARCH FOR SELECTED FILES.
  2543.  
  2544. LDD CN+1 SET MASS STORAGE EQUIPMENT
  2545. RJM SME
  2546. RJM TRT UPDATE TRT
  2547. LDD ES+4
  2548. SHN 3
  2549. ADK TDGL GET TRACK COUNT FROM MST
  2550. CRD CN
  2551. SETMS IO,(DF,NS,RW)
  2552. LDD CN SET NUMBER OF TRACKS
  2553. STD CN+2
  2554. UJN EDT5 ENTER LOOP
  2555.  
  2556. EDT2 LDC MESN ISSUE SYSTEM SECTOR ERROR MESSAGE
  2557. RJM STM
  2558.  
  2559. EDT3 LDD PF
  2560. ZJN EDT5 IF TRACK NOT INTERLOCKED
  2561. LDN CTIS
  2562. RJM STB CLEAR TRACK INTERLOCK
  2563. * LDN 0
  2564. EDT4 STD PF CLEAR TRACK INTERLOCKED STATUS
  2565.  
  2566. * SCAN TRT FOR PRESERVED FILES.
  2567.  
  2568. EDT5 SOD CN+2
  2569. PJN EDT7 IF NOT END OF TRACKS
  2570. EDT6 LJM DPP1 SET CHECKPOINT AND DROP
  2571.  
  2572. EDT7 LMC 4000 SET TRACK BIT
  2573. RJM CTB CHECK TRACK IN TRT
  2574. SHN -4
  2575. ZJN EDT5 IF PRESERVED FILE BIT NOT SET
  2576. RJM CST CHECK SPECIAL TRACKS
  2577. ZJN EDT5 IF SPECIAL PF TRACK
  2578. MJN EDT5 IF DAT OR IQFT TRACK
  2579. LDN 0 READ SYSTEM SECTOR
  2580. RJM RSS
  2581. NJN EDT2 IF SYSTEM SECTOR ERROR
  2582. LDM FNSS+4
  2583. SHN -6
  2584. LMN PMFT
  2585. ZJN EDT9 IF DIRECT ACCESS FILE
  2586. LMN FAFT&PMFT
  2587. NJP EDT10 IF NOT FAST ATTACH FILE
  2588. EDT9 LDM CTSS+FCUI+1
  2589. LPN 7 SET USER INDEX
  2590. STD TI
  2591. LDM BUF,TI
  2592. ZJN EDT10 IF MASK DOES NOT MATCH
  2593. RJM RRS
  2594.  
  2595. * IF FILE HAS ACTIVE USERS, SET *PURGE* BIT IN SYSTEM SECTOR.
  2596.  
  2597. LDM CASS CHECK FOR ACTIVE USERS
  2598. LPN 32
  2599. ADM UCSS+1
  2600. ADM UCSS+2
  2601. ADM UCSS+3
  2602. ADM UCSS+4
  2603. ADM FISS
  2604. ZJN EDT11 IF NO USERS
  2605. LDM CASS
  2606. SCN 40
  2607. LMN 40 SET PURGE BIT
  2608. STM CASS
  2609. RJM WSS UPDATE SYSTEM SECTOR
  2610. EDT10 ENDMS
  2611. LJM EDT3 PROCESS NEXT TRACK
  2612.  
  2613. * FILES WHICH MATCH WITH THE MASK BELONG TO MASTER DEVICE
  2614. * WHICH HAS BEEN INITIALIZED AND MUST BE DROPPED.
  2615.  
  2616. EDT11 ENDMS
  2617. LDD T5 RELEASE TRACKS
  2618. STD CM+1
  2619. LDD T6
  2620. STD CM+2
  2621. MONITOR DTKM
  2622. * LDN 0
  2623. LJM EDT4 CLEAR TRACK INTERLOCKED STATUS
  2624. ILA SPACE 4,10
  2625. *** FUNCTION *ILAF* - INITIALIZE INACTIVE LOCAL AREAS.
  2626. *
  2627. * ENTRY (IR+4) = EST ORDINAL.
  2628.  
  2629.  
  2630. ILA ENTRY
  2631. LDC MMFL GET MACHINE ID CODE
  2632. CRM BUF,ON
  2633. LDD LD SET LINK EQUIPMENT
  2634. STD T5
  2635. ZJN ILA2 IF NOT MMF ENVIRONMENT
  2636. LDN 5*MXMF
  2637. STM PLAA
  2638. SETMS IO
  2639. LDD CM+4 GET LINK DEVICE LABEL TRACK
  2640. SHN 3
  2641. ADN ALGL
  2642. CRD CM
  2643. LDD CM+1
  2644. STD T6
  2645. LDN ETLT SET SECTOR ADDRESS
  2646. STD T7
  2647. LDC BUF-2 READ MACHINE ID CODES
  2648. RJM RDS
  2649. PJN ILA1 IF NO READ ERRORS
  2650. LJM GDS2 ABORT
  2651.  
  2652. ILA1 ENDMS RELEASE CHANNEL
  2653.  
  2654. * GET LOCAL AREA SECTOR.
  2655.  
  2656. ILA2 LDD IR+4 SET MASS STORAGE EQUIPMENT
  2657. RJM SME
  2658. LDD ES CHECK DEVICE USAGE
  2659. SHN 21-4
  2660. PJN ILA3 IF NOT INDEPENDENT SHARED DEVICE
  2661. LDC BUF-4 READ DIT TO BUFFER
  2662. RJM RDT
  2663. LDC MISD*5 SET TABLE LENGTH
  2664. STM PLAA
  2665. ILA3 LDD ES+4
  2666. SHN 3
  2667. ADN STLL GET STATUS WORD FROM MST
  2668. CRD CM
  2669. LDD CM+1 CHECK ERROR FIELD
  2670. LPN 77
  2671. LMN STLE
  2672. ZJN ILA4 IF LABEL ERROR
  2673. RJM GLA GET LOCAL AREA SECTOR
  2674. ZJN ILA4 IF NO SLA OR THIS MACHINE NOT PRESENT
  2675. LDN 0
  2676. STD TI CLEAR INDEX LOCATIONS
  2677. STD TA
  2678.  
  2679. * INITIALIZE INACTIVE LOCAL AREAS.
  2680.  
  2681. LDM BFMS+1 CHECK SECTOR WORD COUNT
  2682. ZJN ILA4 IF EMPTY SECTOR
  2683. ADC -101
  2684. MJN ILA5 IF LEGAL WORD COUNT
  2685. ILA4 CMSTF GLAP CLEAR SECTOR OF LOCAL AREAS FLAG
  2686. LDC MESD * EQXXX, LOCAL AREA SECTOR RESET.*
  2687. UJN ILA7 COMPLETE PROCESSING
  2688.  
  2689. ILA5 RJM PLA PROCESS LOCAL AREA
  2690. LDN 2*5
  2691. RAD TI ADVANCE SLA INDEX
  2692. LDN 2
  2693. RAD TA ADVANCE SECTOR INDEX
  2694. SBM BFMS+1
  2695. MJN ILA5 IF NOT END OF SECTOR DATA
  2696.  
  2697. * REFORMAT SECTOR AND UPDATE DEVICE.
  2698.  
  2699. RJM RFS REFORMAT SECTOR
  2700. ZJN ILA6 IF EMPTY SECTOR
  2701. SETMS IO,(DF,NS,RW)
  2702. LDC BFMS+WLSF REWRITE SECTOR
  2703. RJM WDS
  2704. ENDMS
  2705. ILA6 LDC MESC * EQXXX, LOCAL AREAS INITIALIZED.*
  2706. ILA7 RJM DFM
  2707. SMSTF LCKP SET EQUIPMENT CHECKPOINT
  2708. LDN 2
  2709. LJM CKC SET CHECKPOINT REQUEST
  2710. PLA SPACE 4,10
  2711. ** PLA - PROCESS LOCAL AREAS.
  2712. *
  2713. * ENTRY (TI) = INDEX TO LOCAL AREA.
  2714. * (BUF) = LIST OF ACTIVE MACHINE ID CODES.
  2715. *
  2716. * EXIT TRACKS DROPPED FOR INACTIVE AREAS.
  2717. *
  2718. * USES T1, T2, CM - CM+4.
  2719. *
  2720. * MACROS MONITOR.
  2721.  
  2722.  
  2723. PLA SUBR ENTRY/EXIT
  2724. LDN 0
  2725. STD T2
  2726. PLA1 LDM BUF,T2 COMPARE ID CODES
  2727. LMM BFMS+2,TI
  2728. ZJN PLAX IF ACTIVE AREA
  2729. LDN 5
  2730. RAD T2 ADVANCE INDEX
  2731. LMC 5
  2732. PLAA EQU *-1
  2733. * LMC 5*MXMF (MMF ENVIRONMENT)
  2734. NJN PLA1 IF NOT END OF ID CODES
  2735.  
  2736. * DROP INACTIVE DAYFILE TRACKS.
  2737.  
  2738. LDN 5 SET DAYFILE INDEX
  2739. STD T2
  2740. LDC BFMS+2
  2741. ADD TI
  2742. STM PLAB SET LOCAL AREA ADDRESS
  2743. STM PLAC
  2744. STD T1
  2745. PLA2 LDM **,T2 CHECK FOR DAYFILE TRACK
  2746. PLAB EQU *-1
  2747. ZJN PLA3 IF TRACK NOT RESERVED
  2748. STD CM+2
  2749. LDD T5 SET EQUIPMENT
  2750. STD CM+1
  2751. MONITOR DTKM
  2752. PLA3 AOD T2 BUMP INDEX
  2753. LMN EXDF+5
  2754. NJN PLA2 IF NOT END OF DAYFILES
  2755. STD T2
  2756. PLA4 LDN 0 CLEAR LOCAL AREA
  2757. STM **,T2
  2758. PLAC EQU *-1
  2759. AOD T2
  2760. LMN 2*5
  2761. NJN PLA4 IF NOT END OF CLEAR
  2762. LJM PLAX RETURN
  2763. RFS SPACE 4,10
  2764. ** RFS - REFORMAT SECTOR.
  2765. *
  2766. * ENTRY (BFMS) = REMAINING LOCAL AREAS.
  2767. *
  2768. * EXIT (A) = 0 IF SECTOR EMPTY.
  2769. *
  2770. * USES T1 - T3, TI.
  2771. *
  2772. * MACROS CMSTF.
  2773.  
  2774.  
  2775. RFS SUBR ENTRY/EXIT
  2776. LDN 0
  2777. STD T1 CLEAR INDICES
  2778. STD T2
  2779. STD TI CLEAR SECTOR WORD COUNT
  2780. STD T3
  2781. RFS1 LDM BFMS+2,T2
  2782. ZJN RFS4 IF EMPTY LOCAL AREA
  2783. LDD T2
  2784. LMD T3
  2785. ZJN RFS3 IF LOCAL AREA SECTOR MOVE NOT REQUIRED
  2786. RFS2 LDM BFMS+2,T2
  2787. STM BFMS+2,T3 MOVE DATA
  2788. AOD T3
  2789. LDN 0 CLEAR ENTRY
  2790. STM BFMS+2,T2
  2791. AOD T2 ADVANCE INDICES
  2792. AOD T1
  2793. LMN 2*5
  2794. NJN RFS2 IF NOT END OF MOVE
  2795. STD T1
  2796. RFS3 LDN 2 ADVANCE SECTOR WORD COUNT
  2797. RAD TI
  2798. UJN RFS5 CONTINUE REFORMAT
  2799.  
  2800. RFS4 LDN 2*5 ADVANCE SEARCH INDEX
  2801. RAD T2
  2802. RFS5 LCN 2 DECREMENT WORD COUNT
  2803. RAM BFMS+1
  2804. NJN RFS1 IF NOT END OF SECTOR
  2805. LDD TI SET SECTOR WORD COUNT
  2806. STM BFMS+1
  2807. NJN RFS6 IF NOT EMPTY SECTOR
  2808.  
  2809. * CLEAR LOCAL AREA SECTOR BIT.
  2810.  
  2811. CMSTF GLAP
  2812. RFS6 LJM RFSX RETURN
  2813. RRS SPACE 4,15
  2814. ** RRS - REREAD SYSTEM SECTOR IF TRACK INTERLOCK NOT SET.
  2815. *
  2816. * ENTRY (PF) = TRACK INTERLOCK STATUS.
  2817. *
  2818. * EXIT TO CALLER IF TRACK INTERLOCKED ON ENTRY.
  2819. *
  2820. * EXIT (A) = (T6) IF TRACK NO LONGER RESERVED.
  2821. * = RESPONSE FROM *RSS*.
  2822. * TO PREVIOUS *RSS* CALLER.
  2823. *
  2824. * CALLS RSS, STI.
  2825. *
  2826. * MACROS ENDMS.
  2827.  
  2828.  
  2829. RRS SUBR ENTRY/EXIT
  2830. LDD PF
  2831. NJN RRSX IF FIRST TRACK INTERLOCKED
  2832. ENDMS
  2833. LDM RSS CHANGE RETURN TO LAST *RSS* CALLER
  2834. STM RRS
  2835. RJM STI SET TRACK INTERLOCK
  2836. NJN RRSX IF TRACK NO LONGER RESERVED
  2837. * LDN 0 REREAD SYSTEM SECTOR
  2838. RJM RSS
  2839. UJN RRSX RETURN
  2840. SPACE 4,10
  2841. OVERFLOW OVLA,BUF
  2842. OVERLAY (SHARED MASS STORAGE FUNCTIONS.),INT
  2843. CSD SPACE 4,15
  2844. *** FUNCTION *CSDF* - CHECK SHARED DEVICE STATUS.
  2845. *
  2846. * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) OF PARAMETERS.
  2847. * (T5) = EST ORDINAL.
  2848. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  2849. * (WB - WB+4) = PARAMETER WORD AT ADDR.
  2850. *
  2851. *T, ADDR 12/ ESTO, 48/ 0
  2852. *
  2853. * EXIT WHEN DEVICE UNLOADED ON OTHER MACHINES -
  2854. *
  2855. *T, ADDR 12/ 7777, 48/ 0
  2856.  
  2857.  
  2858. CSD ENTRY
  2859. LDD LD
  2860. ZJP CSD7 IF INDEPENDENT SHARED DEVICE
  2861. RJM CRI CHECK RECOVERY INTERLOCK
  2862. RJM GDS GET DAT TRACK
  2863. ZJN CSD2 IF NOT DEFINED IN DAT
  2864. LDM BFMS+2+4,TI GET MST SECTOR
  2865. STD T6
  2866. LDN 0 SET SECTOR
  2867. STD T7
  2868. LDM BFMS+2+5+4,TI GET DAT STATUS
  2869. STD WB
  2870. SETMS IO,(DF,NS)
  2871. LDC BFMS READ MST FROM LINK DEVICE
  2872. RJM RDS
  2873. MJP GDS2 IF READ ERROR
  2874. ENDMS
  2875. STD T2 INITIALIZE MACHINE INDEX
  2876.  
  2877. * CHECK UNLOAD STATUS IN OTHER MACHINES.
  2878.  
  2879. LDC BFMS+2+STLL*5
  2880. STD TI
  2881. CSD1 AOD T2 INCREMENT DEVICE INDEX
  2882. LMN MXMF+1
  2883. CSD2 ZJN CSD5 IF END OF LOCAL AREAS
  2884. LDI TI
  2885. LPN MLDUL
  2886. NJN CSD4 IF UNLOADED
  2887. LDD T2
  2888. LMD MI
  2889. ZJN CSD3 IF THIS MACHINE
  2890. LDD WB
  2891. CSDA SHN 21-0
  2892. MJN CSD6 IF DEVICE ACTIVE ON ANOTHER MACHINE
  2893. UJN CSD4 ADVANCE SEARCH
  2894.  
  2895. CSD3 LDI TI CHECK THIS MACHINE STATUS
  2896. SHN 21-LIAL+LIAL/12D*12D
  2897. MJN CSD4 IF DEADSTART INITIALIZE
  2898. LDM 1,TI
  2899. LPN 77 CHECK ERROR CONDITION
  2900. LMN STLE
  2901. ZJN CSD4 IF LABEL ERROR
  2902. LDM 3,TI
  2903. NJN CSD6 IF ACTIVE USERS ON DEVICE
  2904. CSD4 LDN LLLL*5
  2905. RAD TI ADVANCE SEARCH INDEX
  2906. SOM CSDA
  2907. UJN CSD1 LOOP
  2908.  
  2909. CSD5 LCN 0
  2910. STD WB
  2911. RJM LDA SET ADDRESS OF PARAMETER BLOCK
  2912. CWD WB
  2913. LJM DPP EXIT
  2914.  
  2915. CSD6 LDM 2,TI SET MACHINE ID IN MESSAGE
  2916. STM CSDD
  2917. LDC CSDC SET MESSAGE ADDRESS
  2918. LJM RCL RECALL *IMS*
  2919.  
  2920. CSD7 LDD ES+4 CHECK ERROR STATUS
  2921. SHN 3
  2922. ADN STLL
  2923. CRD CM
  2924. LDD CM+1
  2925. LPN 77
  2926. LMN STLE
  2927. ZJN CSD5 IF LABEL ERROR
  2928. LDD CM
  2929. SHN 21-LIAL+LIAL/12D*12D
  2930. MJN CSD10 IF DEADSTART INITIALIZE
  2931. LDC BFMS READ DIT TO BUFFER
  2932. RJM RDT
  2933. LDC MMFL GET MACHINE ID
  2934. CRD T7
  2935. LDC BFMS+2 SET SEARCH INDEX
  2936. STD TI
  2937. CSD8 LDM 2,TI
  2938. ZJN CSD9 IF SLOT NOT ASSIGNED
  2939. LDM 1,TI
  2940. LPN 2
  2941. NJN CSD9 IF NON-REMOVABLE DEVICE UNLOADED
  2942. LDM 2,TI
  2943. LMD T7
  2944. NJN CSD11 IF NOT THIS MACHINE
  2945. CSD9 LDN 5
  2946. RAD TI
  2947. LMC BFMS+2+5*MISD
  2948. NJN CSD8 IF NOT END OF SEARCH
  2949. CSD10 LJM CSD5 SET RESPONSE
  2950.  
  2951. CSD11 LJM CSD6 SET BUSY RESPONSE
  2952.  
  2953. CSDC DATA H* EQXXX, BUSY ON MID *
  2954. CSDD DATA C*XX.*
  2955. ISD SPACE 4,15
  2956. *** FUNCTION *ISDF* - INTERLOCK INDEPENDENT SHARED DEVICE.
  2957. *
  2958. * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) OF PARAMETERS.
  2959. * (T5) = EST ORDINAL.
  2960. * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
  2961. * (WB - WB+4) = PARAMETER WORD AT ADDR.
  2962. *
  2963. *T, ADDR 12/ ESTO, 47/ 0, 1/ F
  2964. * F = 0 TO CLEAR INTERLOCK.
  2965. * = 1 TO SET INTERLOCK.
  2966. *
  2967. * EXIT
  2968. *
  2969. *T, ADDR 12/ 7777, 48/ 0
  2970.  
  2971.  
  2972. ISD11 LDC ISDD ISSUE MESSAGE TO DAYFILE
  2973. RJM DFM
  2974. LJM DPP EXIT
  2975.  
  2976. ISD ENTRY
  2977. LDD ES+4 FETCH LABEL TRACK WORD FROM MST
  2978. SHN 3
  2979. ADN ALGL
  2980. CRD CN
  2981. LDC MMFL GET MACHINE ID
  2982. CRD FN
  2983. LDD CN+1 SET LABEL TRACK
  2984. STD T6
  2985. LDN 0
  2986. STD T7
  2987. SETMS IO,(DE,DF,NS,RW)
  2988. LDC BFMS READ LABEL SECTOR
  2989. RJM RDS
  2990. MJN ISD11 IF READ ERROR
  2991. LDC DISS
  2992. STD TI
  2993. ISD1 LDM 3,TI CHECK INITIALIZE INTERLOCK
  2994. LPN 1
  2995. ZJN ISD2 IF INTERLOCK NOT SET
  2996. LJM ISD7 PROCESS INTERLOCK SET
  2997.  
  2998. ISD2 LDM 4,TI
  2999. LMD FN
  3000. NJN ISD3 IF NOT THIS MACHINE
  3001. LDD TI SAVE ADDRESS FOR THIS MACHINE
  3002. ADN 3
  3003. STM ISDA
  3004. ISD3 LDN 5 INCREMENT ADDRESS
  3005. RAD TI
  3006. LMC DISS+5*MISD
  3007. NJN ISD1 IF NOT END OF SEARCH
  3008. LDD WB+4 CHECK FUNCTION
  3009. ZJN ISD5 IF CLEARING INTERLOCK
  3010. AOM ** SET INTERLOCK
  3011. ISDA EQU *-1
  3012. ISD4 RJM CDC COMPUTE LABEL CHECKSUM
  3013. STM CKSS
  3014. LDC BFMS+WLSF REWRITE LABEL SECTOR
  3015. RJM WDS
  3016. ISD5 ENDMS
  3017. LCN 0 SET RESPONSE
  3018. STD WB
  3019. RJM LDA
  3020. CWD WB
  3021. LDD WB+4
  3022. ZJN ISD6 IF CLEARING INTERLOCK
  3023. SMSTF LPTU SET TRT IN CM FLAG
  3024. ISD6 LJM DPP EXIT
  3025.  
  3026. ISD7 LDM 4,TI
  3027. LMD FN
  3028. NJN ISD8 IF NOT THIS MACHINE
  3029. LDD WB+4
  3030. NJN ISD5 IF SETTING THE INTERLOCK
  3031. SOM 3,TI
  3032. UJP ISD4 REWRITE SECTOR
  3033.  
  3034. ISD8 LDD ES+4 FETCH MST ERROR STATUS
  3035. SHN 3
  3036. ADN STLL
  3037. CRD CM
  3038. LDD CM+1 CHECK ERROR STATUS
  3039. LPN 77
  3040. LMN STLE
  3041. ZJN ISD9 IF LABEL ERROR
  3042. LDD CM
  3043. SHN 21-LIAL+LIAL/12D*12D
  3044. PJN ISD10 IF NOT DEADSTART INITIALIZE
  3045. ISD9 LJM ISD5 SET INTERLOCK COMPLETE
  3046.  
  3047. ISD10 LDM 4,TI SET MACHINE ID IN MESSAGE
  3048. STM ISDC
  3049. ENDMS
  3050. LDC ISDB DISPLAY MESSAGE
  3051. LJM RCL RECALL *IMS*
  3052.  
  3053.  
  3054. ISDB DATA H* EQXXX, INTERLOCKED BY MID *
  3055. ISDC DATA C*XX.*
  3056. ISDD DATA C* EQXXX, LABEL READ ERROR.*
  3057. CRI TITLE SUBROUTINES.
  3058. ** CRI - CHECK RECOVERY INTERLOCK.
  3059. *
  3060. * EXIT TO *RCL* IF INTERLOCK NOT SET.
  3061. *
  3062. * USES CN - CN+4.
  3063. *
  3064. * CALLS IFR, RCL.
  3065.  
  3066.  
  3067. CRI1 LDC 4000 SET INTERLOCK FLAG
  3068. RAD CN+2
  3069. LDC MMFL STORE DAT INTERLOCK STATUS
  3070. CWD CN
  3071. CRI2 AOM RCLB FLAG DAT INTERLOCK SET
  3072.  
  3073. CRI SUBR ENTRY/EXIT
  3074. LDC MMFL
  3075. CRD CN
  3076. LDD CN+2 CHECK DAT INTERLOCKED
  3077. SHN 21-13
  3078. MJN CRI2 IF INTERLOCKED BY THIS MACHINE
  3079. LDN DATI GET DAT INTERLOCK
  3080. RJM IFR
  3081. ZJN CRI1 IF INTERLOCK SET
  3082. LDC CRIA RECALL WAITING FOR INTERLOCK
  3083. UJN RCL RECALL *IMS*
  3084.  
  3085. CRIA DATA C*$WAITING - RECOVERY INTERLOCK.*
  3086. RCL SPACE 4,10
  3087. ** RCL - RECALL *IMS*.
  3088. *
  3089. * ENTRY (A) = MESSAGE ADDRESS.
  3090. * (IR - IR+4) = *IMS* CALL.
  3091.  
  3092.  
  3093. RCL STM RCLA WRITE MESSAGE TO CP
  3094. LDD CP
  3095. ADN MS2W
  3096. CWM **,TR
  3097. RCLA EQU *-1
  3098. RCLB LDN 0
  3099. * LDN 1 (DAT INTERLOCK SET)
  3100. ZJN RCL1 IF DAT NOT INTERLOCKED
  3101. LCN DATI
  3102. RJM IFR
  3103. LDC MMFL CLEAR DAT INTERLOCK FLAG
  3104. CRD CM
  3105. LDC 4000
  3106. RAD CM+2
  3107. LDC MMFL
  3108. CWD CM
  3109. RCL1 LDN ZERL
  3110. CRD CM
  3111. LDD MA RECALL REQUEST
  3112. CWM IR,ON
  3113. CWD CM
  3114. MONITOR RECM
  3115. LJM PPR EXIT
  3116. SPACE 4,10
  3117. ** COMMON DECKS.
  3118.  
  3119.  
  3120. *CALL COMPCLC
  3121. SPACE 4
  3122. OVERFLOW OVLA,BFMS
  3123. INT SPACE 4,10
  3124. ** INT - INITIALIZE OVERLAY.
  3125. *
  3126. * ENTRY (IR - IR+4) = *IMS* CALL.
  3127. *
  3128. * EXIT (ES - RS+4) = EST ENTRY.
  3129. * (WB - WB+4) = PARAMETER WORD FOR *IMS* CALL.
  3130. * (T5) = EST ORDINAL FROM THE PARAMETER WORD.
  3131. *
  3132. * CALLS C2D, LDA.
  3133. *
  3134. * MACROS SFA.
  3135.  
  3136.  
  3137. INT SUBR ENTRY/EXIT
  3138. RJM LDA READ PARAMETER WORD
  3139. CRD WB
  3140. SFA EST,WB GET EST ENTRY
  3141. ADK EQDE
  3142. CRD ES
  3143. LDD WB SET EST ORDINAL
  3144. STD T5
  3145. STM EQNO
  3146. RJM C2D
  3147. STM CSDC+2
  3148. STM ISDB+2
  3149. STM ISDD+2
  3150. LDD WB
  3151. SHN -6
  3152. ADC 2RQ0
  3153. STM CSDC+1
  3154. STM ISDB+1
  3155. STM ISDD+1
  3156. UJP INTX RETURN
  3157. OVERLAY (MISCELLANEOUS FUNCTIONS.)
  3158. SFL SPACE 4,10
  3159. *** FUNCTION *SFLF* - SET FLAWS.
  3160. *
  3161. * ENTRY (IR+3 - IR+4) = ADDRESS (ADDR) OF PARAMETERS.
  3162. *
  3163. *T, ADDR 12/ TYPE, 12/ 0, 12/ ESTO, 12/ 0, 12/ TRACK
  3164. *
  3165. * TYPE 0 = END OF TABLE.
  3166. * 1 = SET FLAW.
  3167. * 2 = CLEAR FLAW.
  3168.  
  3169.  
  3170. SFL ENTRY
  3171. LDN PNFE PARAMETER BLOCK WORD COUNT
  3172. STD TI
  3173. RJM LDA READ FLAW LIST
  3174. CRM BUF,TI
  3175. LDN 0 SET END OF BUFFER
  3176. STM BUF+PNFE*5
  3177. LDM BUF+2 SET MASS STORAGE EQUIPMENT
  3178. RJM SME
  3179. LDD ES+4
  3180. SHN 3
  3181. ADK TDGL FETCH TRT LENGTH FROM MST
  3182. CRD CN
  3183. RJM TRT UPDATE TRT
  3184. LDN 0
  3185. STD CA CLEAR FLAW REQUESTS PROCESSED
  3186. STD T4
  3187. STD CA+1 CLEAR FLAWS NOT PROCESSED
  3188. STD TI
  3189. LDC MESBL-1 SET MESSAGE BUFFER ADDRESS FOR FLAWS
  3190. STD TA
  3191. LDN 5+1 NUMBER OF TRACKS + 1 PRINTED PER LINE
  3192. STD T3
  3193. UJN SFL4 ENTER LOOP
  3194.  
  3195. * ENTER FLAW NOT PROCESSED IN MESSAGE.
  3196.  
  3197. SFL1 SOD T3
  3198. NJN SFL2 IF NOT YET A FULL LINE
  3199. STI TA COMPLETE PREVIOUS LINE
  3200. AOD T4 INCREMENT LINE COUNT
  3201. LDN 5 NUMBER OF TRACKS PRINTED PER LINE
  3202. STD T3
  3203. SFL2 AOD CA+1 COUNT FLAWS NOT PROCESSED
  3204. AOD TA
  3205. LDD T6 PLACE TRACK IN MESSAGE
  3206. SHN -6
  3207. RJM C2D
  3208. STI TA
  3209. AOD TA
  3210. LDD T6
  3211. RJM C2D
  3212. STI TA
  3213. AOD TA
  3214. LDC 2R,
  3215. STI TA
  3216.  
  3217. * INCREMENT TO NEXT FLAW REQUEST.
  3218.  
  3219. SFL3 AOD CA INCREMENT REQUEST COUNTER
  3220. LDN 5
  3221. RAD TI ADVANCE TO NEXT REQUEST
  3222.  
  3223. * CHECK FLAW REQUEST.
  3224.  
  3225. SFL4 LDM BUF+4,TI CHECK TRACK BIT
  3226. RJM CTB
  3227. LDM BUF,TI
  3228. ZJN SFL9 IF END OF LIST
  3229. LDD T2
  3230. SBD CN+2
  3231. PJN SFL8 IF OUT OF TRT
  3232. LDM CM,T1 CHECK LINKAGE BYTE
  3233. LMC 3777
  3234. NJN SFL7 IF TRACK NOT PREVIOUSLY FLAWED
  3235. LDM BUF,TI CHECK REQUEST TYPE
  3236. SBN 1
  3237. SFL5 ZJN SFL3 IF SET REQUEST
  3238. LDN CTFS&STFS
  3239. SFL6 LMK STFS SET FLAW REQUEST
  3240. RJM STB
  3241. ZJN SFL5 IF NO REJECT
  3242. UJN SFL8 SET FLAW NOT PROCESSED
  3243.  
  3244. SFL7 LDM BUF,TI
  3245. LMN 2
  3246. ZJN SFL5 IF CLEAR REQUEST
  3247. LDD CM+4
  3248. ZJN SFL6 IF TRACK NOT RESERVED
  3249. SFL8 LJM SFL1 SET FLAW NOT PROCESSED
  3250.  
  3251. SFL9 LDD CA COMPUTE FLAWS PROCESSED
  3252. SBD CA+1
  3253. RJM C2D CONVERT TO DISPLAY CODE
  3254. STM MESA+4
  3255. LDC MESA * EQXXX, YY TRACKS FLAWED.*
  3256. RJM DFM
  3257. LDC ERLN+MESA ISSUE MESSAGE TO ERRLOG
  3258. RJM DFM
  3259. LDD CA+1
  3260. ZJN SFL11 IF ALL FLAWS PROCESSED
  3261. RJM C2D
  3262. STM MESB+4 INSERT COUNT IN MESSAGE
  3263. LDC MESB
  3264. RJM DFM * EQXXX, YY FLAWS NOT PROCESSED.*
  3265. LDC ERLN+MESB
  3266. RJM DFM
  3267. LDN 0
  3268. STI TA COMPLETE LAST PARTIAL LINE
  3269. LDC MESBL-3*5
  3270. STD T3
  3271. SFL10 LDN 3*5 ADVANCE TO NEXT LINE
  3272. RAD T3
  3273. RJM DFM ISSUE A BUFFER OF FLAWS MESSAGE
  3274. LDD T3
  3275. LMC ERLN ISSUE MESSAGE TO ERRLOG
  3276. RJM DFM
  3277. SOD T4
  3278. PJN SFL10 IF MORE BUFFERS TO ISSUE
  3279. SFL11 LJM DPP2 INITIALIZE PACK FLAWS
  3280. IDF SPACE 4,15
  3281. *** FUNCTION *IDFF* - INITIALIZE INACTIVE DAYFILES.
  3282. *
  3283. * ENTRY (IR+3) = 6/ N, 6/ 0
  3284. * (IR+4) = EST ORDINAL.
  3285. *
  3286. * N = 0 TO INITIALIZE SYSTEM DAYFILE.
  3287. * = 1 TO INITIALIZE ACCOUNT FILE.
  3288. * = 2 TO INITIALIZE ERRLOG FILE.
  3289. * = 3 TO INITIALIZE MAINTENANCE LOG FILE.
  3290. *
  3291. * EXIT INACTIVE DAYFILE TRACK CHAINS RELEASED.
  3292.  
  3293.  
  3294. IDF ENTRY
  3295. RJM GLA GET LOCAL AREA SECTOR
  3296. ZJN IDF1 IF NO DAYFILES ON DEVICE
  3297. STM IDFA
  3298. LDD IR+3 PICKUP FILE POINTER
  3299. SHN -6
  3300. STD TI
  3301. ADN 1 SET POINTER FOR CHECKPOINT REQUEST
  3302. STM CKCA+4
  3303. LDM IDFA,TI
  3304. IDFA EQU *-1
  3305. NJN IDF2 IF FILE ON THIS EQUIPMENT
  3306. IDF1 LDC MESG * EQXXX, NO INACTIVE DAYFILES FOUND.*
  3307. LJM IDF8 CLEAR INTERLOCK AND EXIT
  3308.  
  3309. * SET DAYFILE EQUIPMENTS FOR ACTIVE FILES.
  3310.  
  3311. IDF2 STD T6 SET FIRST TRACK
  3312. LDN DFPP
  3313. CRD FN DAYFILE POINTER (FN)
  3314. LDD TI
  3315. SHN 1
  3316. ADD TI
  3317. SHN 6
  3318. ADD FN SET FWA OF DAYFILE POINTERS
  3319. SHN 14
  3320. ADD FN+1
  3321. ADN 2
  3322. CRD CN READ DAYFILE FST
  3323. LDD CN
  3324. LPN 77
  3325. LMD T5
  3326. NJN IDF4 IF NOT ACTIVE DAYFILE
  3327. LDC MESI * EQXXX, FILE ACTIVE - (NAME)*
  3328. UJN IDF7 CLEAR INTERLOCK AND ISSUE MESSAGE
  3329.  
  3330. IDF4 RJM DTS CHECK IF INTERLOCKED
  3331. PJN IDF5 IF FILE FREE
  3332. LDC MESJ * EQXXX, FILE BUSY - (NAME)*
  3333. UJN IDF7 CLEAR INTERLOCK AND ISSUE MESSAGE
  3334.  
  3335. * RELEASE FILE FROM SYSTEM.
  3336.  
  3337. IDF5 RJM STI INTERLOCK FILE
  3338. LMD T6
  3339. ZJN IDF6 IF TRACK NOT RESERVED
  3340. STD CM+2
  3341. LDD T5 RELEASE FILE
  3342. STD CM+1
  3343. MONITOR DTKM
  3344. * LDN 0 INDICATE LOCAL AREA UPDATE
  3345. IDF6 STM IDFD
  3346. UJN IDF10 ISSUE MESSAGES
  3347.  
  3348. IDF7 STD CM SET MESSAGE ADDRESS
  3349. ADN MENM
  3350. STM IDFC SET FILE TYPE ADDRESS
  3351. LDM DFTY,TI
  3352. STM IDFB SET FILE NAME
  3353. LDD MA
  3354. CWM **,ON
  3355. IDFB EQU *-1 FILE NAME ADDRESS
  3356. SBN 1
  3357. CRM **,ON READ FILE NAME INTO MESSAGE
  3358. IDFC EQU *-1
  3359. LDD CM ISSUE DAYFILE MESSAGE
  3360. ADC NMSN
  3361. IDF8 RJM DFM
  3362. LDC * CHECK FOR LOCAL AREA UPDATE
  3363. IDFD EQU *-1
  3364. ZJN IDF9 IF LOCAL AREA UPDATE REQUIRED
  3365. LJM DPP DROP PP
  3366.  
  3367. IDF9 LDN 4
  3368. LJM CKC CHECKPOINT LOCAL AREA
  3369.  
  3370. * ISSUE NORMAL COMPLETION MESSAGES.
  3371.  
  3372. IDF10 LDM DFTY,TI SET FILE NAME ADDRESS
  3373. STM IDFE
  3374. LDD MA MOVE FILE NAME TO MESSAGE
  3375. CWM **,ON
  3376. IDFE EQU *-1 (FILE NAME ADDRESS)
  3377. SBN 1
  3378. CRM MESH+MENM,ON
  3379. LDC MESH+NMSN ISSUE DAYFILES ONLY MESSAGE
  3380. UJN IDF8
  3381.  
  3382.  
  3383. * DAYFILE NAME POINTERS.
  3384.  
  3385. DFTY CON DFDF
  3386. CON DFAF
  3387. CON DFEL
  3388. CON DFML
  3389.  
  3390. * DAYFILE NAMES.
  3391.  
  3392. DFDF DATA 10HDAYFILE.
  3393. DFAF DATA 10HACCOUNT.
  3394. DFEL DATA 10HERRLOG.
  3395. DFML DATA 10HMAINLOG.
  3396. CIN SPACE 4,10
  3397. *** FUNCTION *CINF* - CLEAR INITIALIZE REQUEST.
  3398. *
  3399. * ENTRY (IR+4) = EST ORDINAL.
  3400.  
  3401.  
  3402. CIN ENTRY
  3403. LDD IR+4
  3404. STD T5
  3405. SFA EST READ EST ENTRY
  3406. ADK EQDE
  3407. CRD ES
  3408. LDD ES+4 GET MST STATUS WORD
  3409. SHN 3
  3410. ADN STLL
  3411. CRD WB
  3412. LDD WB CLEAR INITIALIZE FLAGS
  3413. STD T1
  3414. LPN MLCKP+MRASD+MLUNL+MLDUL
  3415. STD WB
  3416. LDD WB+1
  3417. LPN 77
  3418. STD WB+1
  3419. CIN1 LDD ES+4 STORE DEVICE STATUS WORD
  3420. SHN 3
  3421. ADN STLL
  3422. CWD WB
  3423. CMSTF LIAL FORCE MST UPDATE ON LINK DEVICE
  3424. LDD T1
  3425. LPC MLIAL+MLIHD+MLIFD+MLIPF
  3426. ZJN CIT3 IF NOT PF/FULL INITIALIZE
  3427. SOD CN+2
  3428. MJN CIT3 IF NOT MMF ENVIRONMENT
  3429. LPN 77
  3430. NJN CIT2 IF NOT LAST INITIALIZE REQUEST
  3431. * UJN CIT
  3432. CIT SPACE 4,10
  3433. *** FUNCTION *CITF* - CLEAR *CMS* INTERLOCK.
  3434. *
  3435. * ENTRY (IR+4) = *MSI* ABORT FLAG.
  3436.  
  3437.  
  3438. CIT ENTRY
  3439. LDD IR+4
  3440. NJN CIT4 IF *MSI* ABORT
  3441. CIT1 LDD CN+2 CHECK DAT INTERLOCKED
  3442. SHN 0-13
  3443. ZJN CIT3 IF INTERLOCK NOT SET
  3444. LCN DATI CLEAR DATI INTERLOCK
  3445. RJM IFR
  3446. STD CN+2 CLEAR INITIALIZE COUNT
  3447. CIT2 LDC MMFL
  3448. CWD CN
  3449. CIT3 LJM DPP DROP PP
  3450.  
  3451. CIT4 LDM ABTB
  3452. NJN CIT5 IF NOT DEADSTART SEQUENCING
  3453. LDD MA STORE *UADM* PARAMETERS
  3454. CWM CITA,ON
  3455. LDN 1 SET WORD COUNT / NO DROP PP
  3456. STD CM+1
  3457. STD CM+2 DISABLE JOB SCHEDULER
  3458. MONITOR UADM
  3459. CIT5 LDN NCPL READ NUMBER OF CONTROL POINTS
  3460. CRD CM
  3461. AOD CM+1 SET SYSTEM CONTROL POINT
  3462. SHN 7
  3463. ADN MS2W STORE CONTROL POINT MESSAGE
  3464. CWM CITB,TR
  3465. LJM CIT1 CHECK DAT INTERLOCKED
  3466.  
  3467.  
  3468. CITA CON LIOS INCREMENT BY ONE
  3469. CON INWL WORD ADDRESS
  3470. CON 13DS6+1 BIT POSITION + FIELD WIDTH
  3471. CON 0,0
  3472.  
  3473. CITB DATA C*MSI ABORT.*
  3474. SPACE 4,10
  3475. * COMMON DECKS.
  3476.  
  3477.  
  3478. *CALL COMPDTS
  3479. SPACE 4,10
  3480. OVERFLOW OVLA,BUF
  3481. SPACE 4
  3482. TTL IMS - INITIALIZE MASS STORAGE.
  3483. END