Table of Contents

SLL

Table Of Contents

  • [00007] SLL - SYSTEM LIBRARY LOADER.
  • [00009] SYSTEM LIBRARY LOADER.
  • [00143] MAIN PROGRAM.
  • [00145] MAIN PROGRAM.
  • [00217] TABLES.
  • [00226] TFCN - FUNCTION TABLE.
  • [00249] TSYD - TABLE OF SYSTEM DEVICES.
  • [00267] TETC - TABLE OF EMPTY TRACK CHAINS.
  • [00281] FUNCTION PROCESSORS.
  • [00357] TADN - TABLE OF DRIVER NAMES.
  • [00376] TAOT - TABLE OF OVERLAY LIST ADDRESSES.
  • [00396] TDE - TABLE OF ASSOCIATED *DE* OVERLAYS.
  • [00406] TDI - TABLE OF ASSOCIATED *DI* AND *DJ* OVERLAYS.
  • [00434] TDP - TABEL OF ASSOCIATED *DP* OVERLAYS.
  • [00447] TDX - TABLE OF ASSOCIATED *DX* OVERLAYS.
  • [01017] MASS STORAGE I/O ROUTINES.
  • [01019] WMS - WRITE MASS STORAGE.
  • [01037] SUBROUTINES.
  • [01039] ABT - ABORT JOB.
  • [01061] CFE - CLEAR LOCAL FNT ENTRY.
  • [01085] CLF - CREATE LOCAL FILE.
  • [01121] CLT - COPY LIBRARY TABLES.
  • [01197] ERT - ENTER RESIDENCY TABLE.
  • [01218] PSE - PAUSE.
  • [01237] REL - RELEASE PP.
  • [01348] RMT - RESERVE MATCHING TRACK.
  • [01459] RSF - RESTORE SYSTEM FILE.
  • [01503] SBP - SET BUFFER PARAMETERS.
  • [01557] SCD - SCAN DIRECTORY.
  • [01599] SCL - SCAN LIBRARY.
  • [01646] SPA - SET PARAMETER ADDRESS.
  • [01661] STA - SET TRT ADDRESS.
  • [01692] SNT - SET NEXT TRACK.
  • [01710] WEF - WRITE END OF FILE.
  • [01760] WTB - WRITE BUFFER.
  • [01905] WSL - WRITE SYSTEM LIBRARY.
  • [02057] INITIALIZATION ROUTINES.
  • [02059] TRES - TABLE OF RECORD RESIDENCES.
  • [02138] CSF - CLEAR SYSTEM FILE.
  • [02193] DAP - DISABLE ALTERNATE RESIDENT PP PROGRAMS.
  • [02246] PRS - PRESET PROGRAM.
  • [02476] REC - RECALL PP.
  • [02524] CRD - CHECK FOR RESIDENT DRIVER OR CONTROLWARE.
  • [02611] ECS - CHECK EXTENDED MEMORY PRESENT.
  • [02634] IDS - INITIALIZE DEAD START.
  • [02671] SSD - SET SYSTEM DEVICES.
  • [02738] VSC - VALIDATE *SLL* CALL.

Source Code

SLL.txt
  1. IDENT SLL,SLL
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. *COMMENT SLL - SYSTEM LIBRARY LOADER.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE SLL - SYSTEM LIBRARY LOADER.
  8. SPACE 4
  9. *** SLL - SYSTEM LIBRARY LOADER.
  10. * G. R. MANSFIELD. 70/12/18.
  11. * P. D. HAAS. 81/10/05.
  12. SPACE 4
  13. *** SLL PERFORMS MANAGEMENT OF THE SYSTEM LIBRARY BY
  14. * PROCESSING THE FOLLOWING OPERATIONS -
  15. *
  16. * (1) WRITING OF THE SYSTEM LIBRARY FILE.
  17. * (2) COPYING LIBRARY TABLES FROM THE CALLING PROGRAM.
  18. * (3) CONVERSION OF RANDOM ADDRESSES TO ACTUAL MASS STORAGE
  19. * ADDRESSES.
  20. *
  21. *
  22. * THIS PROGRAM MAY BE CALLED ONLY FROM SYSTEM ORIGIN
  23. * JOBS, AND IS INTENDED TO BE USED ONLY BY THE CPU PROGRAM
  24. * *SYSEDIT*. ANY OTHER USAGE IS AT THE CALLER-S OWN RISK.
  25. * IT SHOULD ALSO BE NOTED THAT WHILE SYSEDIT AND SLL HAVE BEEN
  26. * DESIGNED TO MODIFY THE RUNNING SYSTEM IN AN ACTIVE
  27. * ENVIRONMENT THEIR OPERATION AND THE EFFECTS ON THE SYSTEM
  28. * CANNOT BE PREDICTED UNLESS THE SYSTEM IS IDLE.
  29. * THEREFORE THE USER SHOULD BEWARE.............
  30. SPACE 4
  31. *** DAYFILE MESSAGES.
  32. *
  33. * * SYSTEM ACTIVITY PROHIBITS LIBRARY CHANGE.* = IN ORDER TO
  34. * PERFORM THE SYSEDIT IT IS NECCESARY TO MOVE THE JOB AT
  35. * CONTROL POINT 1. THE JOB THERE CANNOT BE MOVED HOWEVER.
  36. *
  37. * * SYSTEM LIBRARY CHANGE INCORRECT.* = CALLER DOES NOT HAVE
  38. * PERMISSION TO MODIFY THE SYSTEM.
  39. *
  40. * * CMR OVERFLOW.* = THE CENTRAL MEMORY LIBRARIES AND
  41. * DIRECTORIES GENERATED BY *SYSEDIT* WOULD NOT FIT WITHIN THE
  42. * FIRST MCMR*100B WORDS OF MEMORY.
  43. *
  44. *
  45. * MANY OF THE FOLLOWING MESSAGES ARE TO PROTECT THE USER IN
  46. * CASE OF ABNORMAL CONDITIONS. THUS, THERE MAY NOT BE ANY
  47. * DIRECT CORRECTIVE ACTION FOR THEM. THESE TYPES OF ERRORS
  48. * SHOULD NOT NORMALLY OCCUR.
  49. *
  50. * * SLL ARGUMENT ERROR.* = PARAMETER ADDRESS OR REQUEST WORD
  51. * ADDRESS IS OUT OF RANGE.
  52. *
  53. * * RANDOM ADDRESS ERROR.* = RANDOM ADDRESS NOT ON FILE.
  54. *
  55. * * INCORRECT SLL REQUEST.* = FUNCTION CODE UNDEFINED.
  56. *
  57. * * INCORRECT ROLLOUT REQUEST.* = *SLL* AND *SYSEDIT* MAY NOT
  58. * BE ROLLED OUT WHILE RUNNING.
  59. *
  60. * * SYSTEM TOO BIG FOR MASS STORAGE.* = NOT ENOUGH ROOM ON
  61. * MASS STORAGE FOR SYSTEM LIBRARY.
  62. *
  63. * * LIBRARY TABLE ERROR.* = BLANK ENTRY NOT FOUND IN LIBRARY
  64. * TABLE OR DIRECTORY WITHIN FL.
  65. *
  66. * * BUFFER CONTROL WORD ERROR.* = INCORRECT WORD COUNT PASSED
  67. * FROM CALLING ROUTINE.
  68. *
  69. * * SYSTEM DEVICE ERROR.* = SYSTEM DEVICE IS INACCESSIBLE.
  70. *
  71. * * SYSTEM DEVICE DOWN.* = SYSTEM DEVICE IS INACCESSIBLE.
  72. *
  73. * * SYSTEM FILE RESERVED.* = SYSTEM FILE IN USE - POSSIBLY BY
  74. * ANOTHER COPY OF SYSEDIT.
  75. *
  76. * * SYSTEM FILE DESTROYED.* = SYSTEM SECTOR FOR SYSTEM BAD.
  77. *
  78. * * SLL - LOCAL FILE LIMIT.* = CREATING THE FILES REQUIRED FOR
  79. * *SYSEDIT* WILL EXCEED THE USER-S LOCAL FILE LIMIT.
  80. SPACE 4,10
  81. *** CALL.
  82. *
  83. *
  84. *T 18/ *SLL*, 6/ CP, 12/ DS, 6/ AB, 18/ ST
  85. * CP CONTROL POINT
  86. * DS DEADSTART STATUS (1 = DEADSTART)
  87. * AB ABORT FLAG (1 = NO ABORT ON SYSTEM FILE BUSY)
  88. *
  89. *T STAT 12/ CODE,18/,18/ ADDR,12/ ST
  90. * CODE FUNCTION CODE
  91. * ADDR ADDRESS
  92. * ST COMPLETION STATUS
  93. SPACE 4
  94. ** ROUTINES USED.
  95. *
  96. *
  97. * 0BF - BEGIN LOCAL FILE.
  98. SPACE 4,10
  99. ** PROGRAMS CALLED.
  100. *
  101. *
  102. * 1CK - CHECKPOINT MASS STORAGE DEVICES.
  103. SPACE 4
  104. *CALL COMPMAC
  105. *CALL COMSCPS
  106. *CALL COMSDSL
  107. *CALL COMSHIO
  108. *CALL COMSMSC
  109. *CALL COMSMSP
  110. *CALL COMSMTR
  111. *CALL COMSPDT
  112. *CALL COMSPIM
  113. *CALL COMSSRT
  114. *CALL COMSSSD
  115. *CALL COMSSSJ
  116. *CALL COMSWEI
  117. *CALL COMSZOL
  118. SPACE 4
  119. **** DIRECT LOCATION ASSIGNMENTS.
  120.  
  121.  
  122. RF EQU 15 RETURN FLAG FOR *RMT*
  123. T8 EQU 16
  124. T9 EQU 17
  125. FS EQU 20 - 24 FST ENTRY (5 LOCATIONS)
  126. AB EQU FS - FS+4 ROUTINE NAME (5 LOCATIONS)
  127. SE EQU 25 SECTOR COUNT
  128. EI EQU 26 EQUIPMENT INDEX
  129. CN EQU 30 - 34 CM WORD BUFFER (5 LOCATIONS)
  130. SF EQU 35 SYSTEM FILE FST INDEX
  131. PL EQU SF+1 PP LIBRARY FILE FST INDEX
  132. AL EQU SF+2 ALTERNATE LIBRARY FILE FST INDEX
  133. FN EQU 40 - 44 FILE NAME (5 LOCATIONS)
  134. PA EQU 45 - 46 PARAMETER ADDRESS (2 LOCATIONS)
  135. SL EQU 47 SLM
  136. DS EQU IR+2 DEADSTART STATUS
  137. FA EQU 57 FST ADDRESS
  138. CW EQU 60 - 66 CLD CONTROL WORD BUFFER
  139. RI EQU 65 - 66 RANDOM INDEX (2 LOCATIONS)
  140. SN EQU 65 - 66 SECTOR NUMBER (2 LOCATIONS)
  141. LE EQU 67 LAST MASS STORAGE EQUIPMENT
  142. ****
  143. TITLE MAIN PROGRAM.
  144. SLL SPACE 4
  145. ** SLL - MAIN PROGRAM.
  146.  
  147.  
  148. ORG PPFW
  149. SLL RJM PRS PRESET PROGRAM
  150.  
  151. * WAIT FOR CONTROL WORD REQUEST.
  152.  
  153. SLL1 RJM PSE PAUSE
  154. LDD IR+3 READ CONTROL WORD
  155. SHN 6
  156. ADD RA
  157. SHN 6
  158. ADD IR+4
  159. CRD CN
  160. LDD CN CHECK FUNCTION CODE
  161. ZJN SLL1 IF NO REQUEST
  162. SBN TFCNL
  163. MJN SLL2 IF LEGAL REQUEST
  164. LJM ABT
  165.  
  166. * PROCESS FUNCTION REQUEST.
  167.  
  168. SLL2 LDD CN+2 SET PARAMETER ADDRESS
  169. LPN 37
  170. STD PA
  171. SHN 14
  172. LMD CN+3
  173. STD PA+1
  174. SHN -6
  175. SBD FL
  176. MJN SLL3 IF IN RANGE
  177. LDC =C* SLL ARGUMENT ERROR.*
  178. LJM ABT1
  179.  
  180. SLL3 LDM TFCN,CN SET FUNCTION PROCESSOR
  181. STM SLLA
  182. RJM * PROCESS FUNCTION
  183. SLLA EQU *-1
  184.  
  185. * SET FUNCTION COMPLETE.
  186.  
  187. LDN ZERL SET REQUEST COMPLETE
  188. CRD CM
  189. AOD CM+3
  190. STD CM+4
  191. LDD IR+3
  192. SHN 6
  193. ADD RA
  194. SHN 6
  195. ADD IR+4
  196. CWD CM
  197. LJM SLL1 LOOP
  198. * LJM CPS (RELEASE PP AFTER LOAD COMLETION)
  199. * LJM DPP (DROP PP FOR ERROR CONDITION)
  200. SLLB EQU *-1
  201.  
  202. CPS LDM CPSA+2,DS
  203. ZJN DPP IF NO CHECKPOINT REQUEST
  204. LDD IR+1
  205. LPN 37 SET CP NUMBER IN 1CK CALL
  206. RAM CPSA+1
  207. LDD IA
  208. CWM CPSA,ON STORE INPUT REGISTER FOR *1CK*
  209. EXECUTE 1CK,=
  210. CPS1 LJM PPR
  211.  
  212. CPSA VFD 60/0L1CK
  213.  
  214. DPP BSS 0
  215. DPPA MONITOR DPPM DROP PP
  216. UJN CPS1 EXIT TO PP RESIDENT
  217. TITLE TABLES.
  218. NSYS SPACE 4
  219. ** FNT ENTRIES FOR SYSTEM SECTOR.
  220.  
  221.  
  222.  
  223. NPPU VFD 42/0LPPULIB,6/1,6/SYFT,6/0
  224. NASF VFD 42/0LALTSYS,6/1,6/LOFT,6/0
  225. TFCN SPACE 4
  226. ** TFCN - FUNCTION TABLE.
  227. * ENTRY = 1 WORD.
  228. *
  229. *T, 12/ ADDR
  230. * ADDR ADDRESS OF FUNCTION PROGCESSOR
  231.  
  232.  
  233. TFCN EQU *-1
  234. LOC 1
  235.  
  236. CON ERD ENTER RESIDENCY DATA
  237. CON CSN CONVERT SECTOR NUMBERS
  238. CON WSF WRITE LIBRARY FILE
  239. CON WPL WRITE PPU LIBRARY
  240. CON ELD ENTER LIBRARY DIRECTORY
  241. CON EAD ENTER ALTERNATE DEVICE TABLE
  242. CON WAD WRITE ALTERNATE DEVICE
  243. CON RSE RETURN SYSTEM EST ORDINAL
  244. CON DPE DROP PP FOR ERROR CONDITION
  245.  
  246. TFCNL BSS 0
  247. LOC *O
  248. TSYD SPACE 4
  249. ** TSYD - TABLE OF SYSTEM DEVICES.
  250. * ENTRY = 1 WORD.
  251. *
  252. *T, 12/ EQ
  253. * EQ SYSTEM DEVICE EST ORDINAL
  254. *
  255. * TABLE TERMINATOR -
  256. *T, 12/ 7777
  257.  
  258.  
  259. TSYD BSS 0
  260. DUP MXSY,1 MAXIMUM NUMBER OF SYSTEM DEVICES
  261. CON -0
  262. CON -0
  263. ASDE EQU *-TSYD
  264. CON 0
  265. CON -0
  266. TETC SPACE 4
  267. ** TETC - TABLE OF EMPTY TRACK CHAINS.
  268. * ENTRY = 2 WORDS.
  269. *
  270. *T,TETC 12/ FT
  271. *T,TETCA 12/ CT
  272. * FT FIRST TRACK
  273. * CT CURRENT TRACK
  274.  
  275.  
  276. TETC BSS 0
  277. BSSZ MXSY
  278.  
  279. TETCA BSS 0
  280. BSSZ MXSY
  281. TITLE FUNCTION PROCESSORS.
  282. ERD SPACE 4
  283. *** FUNCTION 1.
  284. * ENTER RESIDENCY DATA IN LIST SPECIFIED BY *ADDR*.
  285. *
  286. * LIST FORMAT - 0 @ I < N.
  287. *T ADDR+I 42/ NAME,6/ RC,12/ TY
  288. *T ADDR+N 60/ 0
  289. * NAME RECORD NAME
  290. * RC RESIDENCE CODE
  291. * TY RECORD TYPE
  292.  
  293.  
  294. ERD6 LDN ZERL
  295. CRD CM
  296. RJM SPA
  297. CWM TRES,T1
  298. * CWM TRESB,T1 (IF NOT INDEPENDENT SHARED RMS)
  299. ERDC EQU *-1
  300. CWD CM TERMINATE LIST
  301.  
  302. ERD SUBR ENTRY/EXIT
  303. ERDA LDN TRESL-1 SET INITIAL WORD COUNT
  304. * LDN TRESL (IF CONCURRENT PPS PRESENT)
  305. STD T1
  306. LDN 0
  307. STD T5
  308. LDN 40 CM RESIDENT FLAG
  309. STD T6
  310. LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
  311. STD CM
  312. LDN PPRT PP TYPE FLAG
  313. STD T7
  314. ERRNZ LA6DI-PPRT ADJUST CODE IF VALUE CHANGES
  315. UJN ERD2 FORCE *6DI* AND OVERLAYS TO BE CM RESIDENT
  316.  
  317. ERD1 AOD CM ADVANCE EST
  318. LMD LE
  319. ZJN ERD6 IF END OF MASS STORAGE DEVICES
  320. SFA EST,CM READ EST ENTRY
  321. ADK EQDE
  322. CRD CN READ EST ENTRY
  323. LDD CN CHECK EQUIPMENT
  324. SHN 21-13
  325. PJN ERD1 IF NOT MASS STORAGE
  326. LDD CN+4 READ DRIVER NAME
  327. SHN 3
  328. ADN MDGL
  329. CRD CN
  330. LDD CN+3 SET DRIVER INDEX
  331. LPN 7
  332. ERD2 STD T2
  333. LDM TADN,T2
  334. ERD3 ZJN ERD1 IF DRIVER ALREADY ENTERED
  335. SHN 6
  336. STD T4
  337. LMN 1R6
  338. SHN 6
  339. STD T3
  340. LDN 0 SET DRIVER ENTERED
  341. STM TADN,T2
  342. LDM TAOT,T2 SET OVERLAY LIST ADDRESS
  343. STD CM+3
  344. STD CM+4
  345. ERD5 RJM ERT ENTER RESIDENCY TABLE
  346. LDI CM+3
  347. STI CM+4
  348. ZJN ERD3 IF END OF OVERLAY LIST
  349. SHN 6
  350. STD T4
  351. LMN 1R7 SET *7XX*
  352. SHN 6
  353. STD T3
  354. AOD CM+3
  355. UJN ERD5 SELECT ADDITIONAL ERROR PROCESSORS
  356. ERD SPACE 4,4
  357. ** TADN - TABLE OF DRIVER NAMES.
  358. *
  359. * ENTRY = 1 WORD.
  360. * WORD = DRIVER NAME.
  361. *
  362. * NOTE TABLES *TADN* AND *TAOT* ARE PARALLEL TABLES. ANY
  363. * CHANGES TO BE MADE SHOULD BE REFLECTED IN BOTH. ALSO,
  364. * THESE TABLES ARE SEQUENCED ACCORDINGLY TO CORRESPOND
  365. * WITH THE DRIVER INDICES FOUND IN *COMSMSP*.
  366.  
  367.  
  368. TADN INDEX
  369. INDEX LA6DI,2RDI
  370. INDEX LA6DJ,2RDJ
  371. INDEX LA6DP,2RDP
  372. INDEX LA6DE,2RDE
  373. INDEX LA6DX,2RDX
  374. INDEX LA6MX
  375. SPACE 4,10
  376. ** TAOT - TABLE OF OVERLAY LIST ADDRESSES.
  377. *
  378. * ENTRY = 1 WORD.
  379. * WORD = ADDRESS OF OVERLAY LIST TABLE.
  380. *
  381. * NOTE TABLES *TADN* AND *TAOT* ARE PARALLEL TABLES. ANY
  382. * CHANGES TO BE MADE SHOULD BE REFLECTED IN BOTH. ALSO,
  383. * THESE TABLES ARE SEQUENCED ACCORDINGLY TO CORRESPOND
  384. * WITH THE DRIVER INDICES FOUND IN *COMSMSP*.
  385.  
  386.  
  387. ORG *-LA6DI
  388. TAOT INDEX
  389. INDEX LA6DI,TDI *6DI* ASSOCIATED OVERLAYS
  390. INDEX LA6DJ,TDI *6DJ* ASSOCIATED OVERLAYS
  391. INDEX LA6DP,TDP *6DP* ASSOCIATED OVERLAYS
  392. INDEX LA6DE,TDE *6DE* ASSOCIATED OVERLAYS
  393. INDEX LA6DX,TDX *6DX* ASSOCIATED OVERLAYS
  394. INDEX LA6MX
  395. SPACE 4,4
  396. ** TDE - TABLE OF ASSOCIATED *DE* OVERLAYS.
  397. *
  398. * ENTRY = 1 WORD.
  399. * WORD = OVERLAY NAME.
  400.  
  401.  
  402. TDE BSS 0
  403. CON 2RDE
  404. CON 0
  405. ERD SPACE 4,4
  406. ** TDI - TABLE OF ASSOCIATED *DI* AND *DJ* OVERLAYS.
  407. *
  408. * *6DI* AND ITS OVERLAYS MUST ALWAYS BE FORCED CM RESIDENT
  409. * BECAUSE THEY ARE NEEDED TO READ PACK SERIAL NUMBERS, FLAW
  410. * MAPS, AND FIRMWARE IDENTS FOR ALL DISK TYPES INCLUDING
  411. * BUFFERED I/O DEVICES. IN ADDITION, DISK DRIVER *6DJ* USES
  412. * THE *6DI* OVERLAYS FOR ERROR RECOVERY.
  413. *
  414. * ENTRY = 1 WORD.
  415. * WORD = OVERLAY NAME.
  416.  
  417.  
  418. TDI BSS 0
  419. CON 2RDI
  420. CON 2RBI
  421. CON 2RCI
  422. CON 2REI
  423. CON 2RFI
  424. CON 2RGI
  425. CON 2RHI
  426. CON 2RII
  427. CON 2RJI
  428. CON 2RKI
  429. CON 2RLI
  430. CON 2RSI
  431. CON 2RWI
  432. CON 0
  433. ERD SPACE 4,4
  434. ** TDP - TABEL OF ASSOCIATED *DP* OVERLAYS.
  435. *
  436. * ENTRY = 1 WORD.
  437. * WORD = OVERLAY NAME.
  438.  
  439.  
  440. TDP BSS 0
  441. CON 2RDP
  442. CON 2RMP
  443. CON 2RRP
  444. CON 2RSP
  445. CON 0
  446. TDX SPACE 4,10
  447. ** TDX - TABLE OF ASSOCIATED *DX* OVERLAYS.
  448. *
  449. * ENTRY = 1 WORD.
  450. * WORD = OVERLAY NAME.
  451.  
  452.  
  453. TDX BSS 0
  454. CON 2RDX
  455. CON 0
  456. CSN SPACE 4,15
  457. *** FUNCTION 2.
  458. * CONVERT SECTOR NUMBERS FROM RANDOM INDEX TABLE STARTING
  459. * AT *ADDR*.
  460. *
  461. * I = 1,N,2
  462. *T ADDR+I 36/,24/ RI
  463. * RI RANDOM INDEX
  464. *
  465. * CONVERSION -
  466. *T ADDR+I 36/,12/ TK,12/ SC
  467. * TK TRACK
  468. * SC SECTOR
  469.  
  470.  
  471. CSN SUBR ENTRY/EXIT
  472. LDD CN+1
  473. SBN 3
  474. PJP ABT IF INVALID FST INDEX
  475. LDM SF,CN+1
  476. STD FA
  477. NFA FA,R READ FST
  478. CRD FS
  479. CRD T5
  480. CSN1 LDN 0 SET RANDOM INDEX
  481. STD RI+1
  482. STD RI
  483. STD T7 SET FIRST SECTOR
  484. LDD FS+1 SET FIRST TRACK
  485. STD T6
  486. LDI SL SET SECTOR LIMIT
  487. STD T3
  488. CSN2 RJM SPA READ LIST ENTRY
  489. CRD CM
  490. ADN 1
  491. CRD CN
  492. LDD CM
  493. ADD CM+1
  494. ADD CM+2
  495. ADD CM+3
  496. ADD CM+4
  497. NJN CSN3 IF NOT END OF LIST
  498. LJM CSNX RETURN
  499.  
  500. CSN3 LDD CN+3 SET SECTOR ADVANCE
  501. SBD RI
  502. MJN CSN1 IF BACKWARD
  503. STD CM
  504. LDD CN+4
  505. SBD RI+1
  506. STD CM+1
  507. PJN CSN4 IF FORWARD
  508. AOD CM+1 ADJUST CARRY
  509. SOD CM
  510. PJN CSN4 IF FORWARD
  511. LJM CSN1 RESTART
  512.  
  513. CSN4 LDD CM CHECK ADVANCE
  514. NJN CSN5 IF TRACK CHANGE
  515. LDD CM+1
  516. ADD T7 SET SECTOR
  517. SBD T3
  518. PJN CSN5 IF SECTOR LIMIT PASSED
  519. LDD CN+3 UPDATE RANDOM INDEX
  520. STD RI
  521. LDD CN+4
  522. STD RI+1
  523. LDD T6 SET TRACK
  524. STD CN+3
  525. LDD CM+1 UPDATE SECTOR NUMBER
  526. RAD T7
  527. STD CN+4
  528. RJM SPA STORE LIST ENTRY
  529. ADN 1
  530. CWD CN
  531. LDN 2 ADVANCE LIST
  532. RAD PA+1
  533. SHN -14
  534. RAD PA
  535. LJM CSN2 LOOP
  536.  
  537. * ADVANCE TRACK.
  538.  
  539. CSN5 LDD T3 ADVANCE RANDOM INDEX
  540. SBD T7
  541. RAD RI+1
  542. SHN -14
  543. RAD RI
  544. LDN 0 SECTOR = 0
  545. STD T7
  546. LDD T6 CHECK NEXT TRACK
  547. SHN 6
  548. MJN CSN6 IF NOT END OF CHAIN
  549. LDC =C* RANDOM ADDRESS ERROR.*
  550. LJM ABT1
  551.  
  552. CSN6 RJM SNT SET NEXT TRACK
  553. STD T6
  554. STD T3 SET SECTOR LIMIT
  555. SHN 6
  556. PJN CSN7 IF END OF CHAIN
  557. LDI SL SET SECTOR LIMIT
  558. STD T3
  559. CSN7 LJM CSN2 LOOP
  560. WSF SPACE 4
  561. ** FUNCTION 3.
  562. * WRITE SYSTEM FILE.
  563.  
  564.  
  565. WSF SUBR ENTRY/EXIT
  566. LDN 0 WRITE SYSTEM LIBRARY
  567. RJM WSL
  568. UJN WSFX RETURN
  569. WPL SPACE 4
  570. *** FUNCTION 4.
  571. * WRITE PPU LIBRARY FILE.
  572.  
  573.  
  574. WPL SUBR ENTRY/EXIT
  575. LDN 1 WRITE PPU LIBRARY
  576. RJM WSL
  577. LDD FS+1 SET FIRST TRACK
  578. STM RELB
  579. UJN WPLX RETURN
  580. ELD SPACE 4
  581. *** FUNCTION 5.
  582. * ENTER LIBRARY DIRECTORY.
  583.  
  584.  
  585. ELD SUBR ENTRY/EXIT
  586. LDD CN+2
  587. SHN -6 SET CHECKPOINT REQUEST
  588. STM CPSA+2
  589. LDD PA SET LIBRARY TABLE ADDRESS
  590. STD T1
  591. LDD PA+1
  592. STD T2
  593. RJM SCL SCAN RPL
  594. STM ELDC+1 SET RCL INDEX
  595. SHN -14
  596. RAM ELDC
  597. RJM SCL SCAN RCL
  598. ADD CN+1 NUMBER OF ALTERNATE SYSTEM PLD ENTRIES
  599. STM ELDG+1 SET PLD INDEX
  600. SHN -14
  601. RAM ELDG
  602. LDD T2
  603. STD T9
  604. LDD T1
  605. STD T8
  606. RJM SCD SCAN PLD
  607. STM ELDF+1 SET PST INDEX
  608. SHN -14
  609. RAM ELDF
  610. LDD T2 SET PLD LENGTH FOR PROBE TABLE
  611. SBD T9
  612. RAM ELDA+1
  613. SHN -14
  614. ADD T1
  615. SBD T8
  616. RAM ELDA
  617. RJM SCD SCAN PST
  618. STM ELDE+1 SET EPD INDEX
  619. SHN -14
  620. RAM ELDE
  621. RJM SCD SCAN EPD
  622. STM ELDD+1 SET LBD INDEX
  623. SHN -14
  624. RAM ELDD
  625. RJM SCD SCAN LBD
  626. STD T7 SET LIBRARY LENGTH
  627. SHN -14
  628. STD T6
  629. LDN SSTL CHECK IF PROBE ENABLED
  630. CRD CM
  631. ADK RPLP-SSTL FETCH RPL POINTER
  632. CRD CN
  633. LDD CM+2
  634. SHN 21-6
  635. PJN ELD0 IF PROBE ENABLED
  636. LJM ELD1 PROBE NOT ENABLED
  637.  
  638. ELD0 AOM ELDB FLAG PROBE ENABLED
  639. STM ELDH
  640. LDD CN+1 SET FWA OF PROBE TABLE
  641. ADD T7
  642. STD AB+4
  643. SHN -14
  644. ADD CN
  645. ADD T6
  646. STD AB+3
  647. ELDA LDC TPRDL*2+1 SET PROBE TABLE LENGTH
  648. SHN -1
  649. STD AB+2
  650. SHN -14
  651. STD AB+1
  652. LDC 4000 CLEAR PROBE TABLE INTERLOCK
  653. STD AB
  654. LDC BIOL READ BUFFERED I/O TABLE POINTER
  655. CRD FN
  656. LDD FN+1 READ FWA OF *IOST*
  657. SHN 14
  658. LMD FN+2
  659. ZJN ELD0.1 IF NO BUFFER I/O DEVICES
  660. ADK PUTP BUILD *IOSP* BASED ON *PUTP*
  661. CRD CM
  662. LDD AB+4 SET FWA OF *IOST*
  663. ADD AB+2
  664. STD CM+4
  665. SHN -14
  666. ADD AB+3
  667. ADD AB+1
  668. STD CM+3
  669. LDD FN+1 WRITE FWA OF *IOST*
  670. SHN 14
  671. LMD FN+2
  672. ADK IOSP
  673. CWD CM
  674. LDD CM+2 ADJUST TABLE LENGTH TO INCLUDE *IOST*
  675. RAD AB+2
  676. SHN -14
  677. ADD CM+1
  678. RAD AB+1
  679. ELD0.1 LDD AB+2 ADJUST FOR LIBRARY LENGTH
  680. RAD T7
  681. SHN -14
  682. ADD AB+1
  683. RAD T6
  684. ELD1 LDD T6 SET NEW CMR LENGTH
  685. ADD CN
  686. SHN 14
  687. ADD T7
  688. ADD CN+1
  689. ADN 77 ROUND UP
  690. SHN -6
  691. STD CW
  692. ADC -MCMR
  693. MJN ELD1.1 IF NEW CMR LENGTH VALID
  694. LDC =C* CMR OVERFLOW.*
  695. UJN ELD1.2 DISPLAY MESSAGE AND ABORT JOB
  696.  
  697. ELD1.1 LDN CMRL FETCH CMR LENGTH
  698. CRD CM
  699. LDD CM+4 CHECK FL REQUIRED
  700. SBD CW
  701. ZJN ELD2 IF NO CHANGE
  702. LDC CPAS+JCIW READ JOB CONTROL OF CP 1
  703. CRD CM
  704. LDD CM+2 CHECK SUBSYSTEM ID
  705. LMC IFSI
  706. NJN ELD2 IF JOB MOVABLE
  707. LDC =C* SYSTEM ACTIVITY PROHIBITS LIBRARY CHANGE.*
  708. ELD1.2 LJM ABT1 ABORT *SYSEDIT*
  709.  
  710. ELD2 LDN 0
  711. * LDN 1 (PROBE ENABLED)
  712. ELDB EQU ELD2
  713. ZJN ELD4 IF PROBE NOT ENABLED
  714.  
  715. * PROBE TABLE IS LEFT INTERLOCKED BY *SET* DURING
  716. * DEADSTART LOAD.
  717.  
  718. LDD DS
  719. NJN ELD4 IF DEADSTART
  720. ELD3 RJM PSE
  721. LDN 1 INTERLOCK PROBE TABLES
  722. STD CM+1
  723. STD CM+2
  724. LDD MA
  725. CWM ELDN,ON
  726. MONITOR UADM
  727. LDD CM+1
  728. NJN ELD3 IF PROBE TABLE NOT INTERLOCKED
  729. ELD4 LDN 0 CLEAR *CPUMTR* TABLES
  730. RJM ICT
  731. LDC RPLP LOCK RPL
  732. CRD CM+3
  733. LDN ZERL
  734. CRD CM
  735. ADN RPLP-ZERL STORE ZERO RPL POINTER
  736. CWD CM+3
  737. ADN PLDP-RPLP LOCK PLD
  738. CRD CM+3
  739. LDN ZERL
  740. CRD CM
  741.  
  742. * A ZERO *PLD* POINTER IS SET TO INHIBIT PROGRAM LOADS WHILE
  743. * THE *RPL* AND *PLD* ARE BEING WRITTEN BY *SLL*.
  744.  
  745. ADN PLDP-ZERL STORE ZERO PLD POINTER
  746. CWD CM+3
  747. LDN DFPP READ FWA OF DAYFILE DUMP BUFFER
  748. CRD CM
  749. LDD CM+2 INHIBIT DAYFILE DUMP
  750. SHN 14
  751. LMD CM+3
  752. CWM ELDK,ON
  753. LCN 0
  754. SBN 1
  755. NJN *-1
  756. ELD6 LDD CW SET NEW CMR SIZE
  757. STD CM+1
  758. LDC 1000 SET CMR REQUEST
  759. STD CM+2
  760. MONITOR RSTM
  761. LDD CM+1 CHECK FIELD LENGTH
  762. NJN ELD6 IF MEMORY NOT ASSIGNED
  763. RJM CLT COPY LIBRARY TABLE
  764. LDC RCLP FETCH RCL POINTER
  765. CRD CM
  766. LDD CN SET RCL ADDRESS
  767. SHN 14
  768. ADD CN+1
  769. ELDC ADC *
  770. STD CM+1
  771. SHN -14
  772. STD CM
  773. LDC RCLP STORE RCL POINTER
  774. CWD CM
  775. ADN LBDP-RCLP FETCH LBD POINTER
  776. CRD CM
  777. LDD CN SET LBD ADDRESS
  778. SHN 14
  779. ADD CN+1
  780. ELDD ADC *
  781. STD CM+3
  782. SHN -14
  783. STD CM+2
  784. LDC LBDP STORE LBD POINTER
  785. CWD CM
  786. ADN EPDP-LBDP FETCH EPD POINTER
  787. CRD CM
  788. LDD CN SET FWA OF EPD
  789. SHN 14
  790. ADD CN+1
  791. ELDE ADC *
  792. STD CM+1
  793. SHN -14
  794. STD CM
  795.  
  796. ERRNZ PSTP-EPDP POINTERS NOT IN SAME WORD
  797.  
  798. LDD CN SET FWA OF PST
  799. SHN 14
  800. ADD CN+1
  801. ELDF ADC *
  802. STD CM+3
  803. SHN -14
  804. STD CM+2
  805. LDC PSTP STORE EPD/PST POINTERS
  806. CWD CM
  807. SBN PSTP-PLDP UNLOCK LIBRARY
  808. CRD CM
  809. LDD CN
  810. SHN 14
  811. ADD CN+1
  812. ELDG ADC *
  813. STD CM+1
  814. SHN -14
  815. STD CM
  816. LDC PLDP STORE PLD POINTER
  817. CWD CM
  818. SBN PLDP-RPLP STORE RPL POINTER
  819. CWD CN
  820. LDN 1 INITIALIZE *CPUMTR* TABLES
  821. RJM ICT
  822. ELDH LDN 0
  823. * LDN 1 (PROBE ENABLED)
  824. ZJN ELD7 IF PROBE NOT ENABLED
  825. LDD MA CLEAR PROBE TABLE
  826. CWD AB
  827. CRD CM
  828. LDD CM+1 CLEAR FUNCTION CODE
  829. LPN 77
  830. STD CM+1
  831. MONITOR CSTM
  832. LDN PDTL SET PACKED DATA IN PROBE TABLE
  833. CRD CM
  834. LDD AB+3
  835. SHN 14
  836. ADD AB+4
  837. CWD CM
  838. LDC PRBP CLEAR PROBE TABLE INTERLOCK
  839. CWD AB
  840. ELD7 RJM LDB LOAD *1DD* BOOTSTRAP
  841. LDD PL CLEAR *PPULIB* FNT ENTRY
  842. RJM CFE
  843. STD PL
  844. SOM RELA CLEAR ERROR CONDITION FLAG
  845. LDC CPS SET MAIN LOOP EXIT ADDRESS
  846. RJM REL RELEASE PP
  847. LJM ELDX RETURN
  848.  
  849. ELDK ADN 77 DISABLE DAYFILE DUMP BOOTSTRAP
  850. PJN *-1
  851. LJM FTN-1 RE-RETURN FROM *DFMM*
  852.  
  853.  
  854. ELDN CON LDOS DECREMENT LOW CORE FIELD BY ONE
  855. CON PRBP WORD ADDRESS
  856. CON 59D*100B+1 BIT ADDRESS/FIELD WIDTH
  857. CON 0,0
  858. SPACE 4
  859. *** FUNCTION 6.
  860. * ASSEMBLE TABLE OF ALTERNATE SYSTEM DEVICES.
  861.  
  862.  
  863. EAD SUBR ENTRY/EXIT
  864. LDD CN+2
  865. SHN -6
  866. STD CN+2
  867. LDN NOPE INITIALIZE EST ORDINAL FOR SEARCH
  868. STD T7
  869. LDN ZERL
  870. CRD CM
  871. EAD1 SFA EST,T7
  872. ADK EQDE
  873. CRD T1 READ EST ENTRY
  874. LDD T1
  875. SHN 21-13
  876. PJN EAD3 IF NOT MASS STORAGE
  877. SHN 13-12
  878. MJN EAD3 IF SYSTEM DEVICE
  879. SHN 12-1
  880. MJN EAD3 IF DEVICE OFF OR DOWN
  881. LDD T1+4
  882. SHN 3
  883. ADN STLL
  884. CRD FS READ MST
  885. LDD FS
  886. SHN 21-0
  887. PJN EAD3 IF NOT ALTERNATE SYSTEM DEVICE
  888. LDD T1+3
  889. EAD2 STD T7+1 SET DEVICE TYPE
  890. RJM SPA WRITE TABLE ENTRY
  891. ADD CM+4
  892. CWD T7
  893. AOD CM+4 ADVANCE COUNT
  894. EAD3 AOD T7
  895. LMD LE
  896. EADA NJN EAD1 IF NOT AT LAST MASS STORAGE EQ
  897. STD T7
  898. STM EADA
  899. STD CN
  900. ZJN EAD2 TERMINATE TABLE
  901. LDD RA
  902. ADD CN+1
  903. SHN 6
  904. LMD CN+2
  905. CWD CM WRITE TABLE LENGTH
  906. LJM EADX
  907. SPACE 4
  908. *** FUNCTION 7.
  909. * WRITE FILE ON ALTERNATE SYSTEM DEVICE.
  910.  
  911.  
  912. WAD8 LDN 2 SET *ALTSYS* FST INDEX
  913. STD CN+1
  914. WADA LDC 0
  915. STD PA+1 SET LIST ADDRESS
  916. SHN -14
  917. STD PA
  918. RJM CSN CONVERT SECTOR NUMBERS
  919. LDD T5 SET EQUIPMENT
  920. STD CM+1
  921. LDD FS+1 SET FIRST TRACK OF ASR FILE
  922. STD CM+2
  923. STD T6
  924. LDN USTS UPDATE SYSTEM TABLE TRACK
  925. STD CM+3
  926. MONITOR SMDM
  927. AOD FA WRITE SYSTEM SECTOR
  928. SETMS IO,(NS,RW),WDSB
  929. RJM WSS
  930. ENDMS
  931. LDD AL CLEAR *ALTSYS* FNT ENTRY
  932. RJM CFE
  933. STD AL CLEAR FST POINTER
  934. LDM TSYD SET TRT ADDRESS
  935. RJM STA
  936.  
  937. WAD SUBR ENTRY/EXIT
  938. LDD CN+2
  939. SHN -6
  940. STD CN+2
  941. LDC NASF CREATE LOCAL FILE *ALTSYS*
  942. RJM CLF
  943. STD AL
  944. LDD CN+1
  945. SHN 6
  946. LMD CN+2
  947. STM WADA+1 SAVE LIST ADDRESS
  948. SHN -14
  949. LMC LDCI
  950. STM WADA
  951. LPN 77
  952. SHN 6
  953. ADD RA READ FIRST ENTRY IN LIST
  954. SHN 6
  955. ADM WADA+1
  956. CRD CM
  957. LDC TSYD+ASDE
  958. STM RMTA
  959. LDD CM+4 SET EST ORDINAL FROM LIST
  960. SHN -6
  961. STM TSYD+ASDE
  962. STD FS
  963. SFA EST READ EST ENTRY
  964. ADK EQDE
  965. CRD CN
  966. LDD CN+4 GET DEVICE USAGE WORD FROM MST
  967. SHN 3
  968. ADN DULL
  969. CRD CM
  970. LDD CM+3
  971. STD FS+1
  972. STD FS+2
  973. ZJN WAD5 IF NO PREVIOUS LIBRARY ON THIS DEVICE
  974. LDN FSMS
  975. WAD5 STD FS+3
  976. LDD FS SET TRT ADDRESS
  977. RJM STA
  978. NFA AL,R
  979. CWD FS
  980. WADB LDN 0
  981. ZJN WAD7 IF NO PREVIOUS ALTERNATE LIBRARY
  982. SOM WADB
  983. WAD6 LDC RTCL
  984. CRD CM READ CLOCK
  985. LDD CM
  986. SBD CW
  987. SHN 14 DETERMINE ELAPSED TIME
  988. ADD CM+1
  989. SBD CW+1
  990. SBN 6
  991. MJN WAD6 IF NOT SIX SECOND DELAY
  992. WAD7 LDN 2 WRITE ALTERNATE LIBRARY
  993. RJM WSL
  994. LJM WAD8 COMPLETE PROCESSING
  995. RSE SPACE 4,10
  996. *** FUNCTION 8.
  997. * RETURN SYSTEM EST ORDINAL.
  998.  
  999.  
  1000. RSE SUBR ENTRY/EXIT
  1001. LDN ZERL
  1002. CRD CM
  1003. LDM TSYD SET SYSTEM DEVICE
  1004. STD CM+1
  1005. RJM SPA RETURN SYSTEM DEVICE TO *SYSEDIT*
  1006. CWD CM
  1007. UJN RSEX RETURN
  1008. DPE SPACE 4,10
  1009. *** FUNCTION 9.
  1010. * DROP PP FOR ERROR CONDITION.
  1011.  
  1012.  
  1013. DPE SUBR ENTRY/EXIT
  1014. LDC DPP SET MAIN LOOP EXIT TO DROP PP
  1015. RJM REL RELEASE SYSTEM FILES
  1016. UJN DPEX RETURN
  1017. TITLE MASS STORAGE I/O ROUTINES.
  1018. WMS SPACE 4,10
  1019. ** WMS - WRITE MASS STORAGE.
  1020. *
  1021. * ENTRY (A) = BUFFER ADDRESS.
  1022. *
  1023. * EXIT (A) .GE. 0.
  1024. *
  1025. * ERROR TO *ABT1* IF WRITE ERROR.
  1026. *
  1027. * CALLS WDS.
  1028.  
  1029.  
  1030. WMS SUBR ENTRY/EXIT
  1031. RJM WDS
  1032. WMSA PJN WMSX IF NO WRITE ERROR
  1033. LDC UJNI-PJNI
  1034. RAM WMSA DISABLE MASS STORAGE ERROR PROCESSING
  1035. WMS1 LDC =C* SYSTEM DEVICE ERROR.*
  1036. UJN ABT1 ABORT THE JOB
  1037. TITLE SUBROUTINES.
  1038. ABT SPACE 4
  1039. ** ABT - ABORT JOB.
  1040.  
  1041.  
  1042. ABT LDC =C* INCORRECT SLL REQUEST.*
  1043. ABT1 STM ABTA
  1044. RJM DFM
  1045. ABT2 LDC LDNI+ABTM CHANGE DROP TO ABORT FUNCTION
  1046. STM DPPA
  1047. ERRPL ABTM-100 CODE DEPENDS ON VALUE
  1048. LDD DS
  1049. NJN ABT4 IF DEAD START LOAD
  1050. AOM RELA
  1051. ABT3 RJM REL RELEASE SYSTEM FILES
  1052. LJM DPP
  1053.  
  1054. ABT4 LDN MS2W-MS1W
  1055. STD T1
  1056. LDC DSCP*CPAS+MS1W
  1057. CWM *,T1
  1058. ABTA EQU *-1
  1059. UJN ABT4 HANG PP
  1060. CFE SPACE 4,10
  1061. ** CFE - CLEAR LOCAL FNT ENTRY.
  1062. *
  1063. * ENTRY (A) = RELATIVE ADDRESS OF FST IN NFL.
  1064. *
  1065. * EXIT (A) = 0.
  1066. *
  1067. * USES CM - CM+4.
  1068. *
  1069. * MACROS MONITOR.
  1070.  
  1071.  
  1072. CFE SUBR ENTRY/EXIT
  1073. ZJN CFEX IF NO FNT ENTRY
  1074. ADN FSTL SET RELATIVE FNT ADDRESS
  1075. STD CM+4
  1076. LDN 0
  1077. STD CM+2
  1078. STD CM+3
  1079. LDN DLFS DELETE LOCAL FNT ENTRY
  1080. STD CM+1
  1081. MONITOR PLFM
  1082. * LDN 0
  1083. UJN CFEX RETURN
  1084. CLF SPACE 4,15
  1085. ** CLF - CREATE LOCAL FILE.
  1086. *
  1087. * ENTRY (A) = ADDRESS OF FILE NAME.
  1088. *
  1089. * EXIT (A) = NFL OFFSET OF FST ENTRY.
  1090. * (FA) = NFL OFFSET OF FNT ENTRY.
  1091. * (FS) = EST ORDINAL OF FIRST SYSTEM DEVICE.
  1092. *
  1093. * USES FN - FN+4.
  1094. *
  1095. * CALLS PSE, *0BF*.
  1096. *
  1097. * MACROS EXECUTE.
  1098.  
  1099.  
  1100. CLF2 NJN CLF1 IF WAITING FOR NFL INCREASE
  1101. LDM TSYD SET EST ORDINAL
  1102. STD FS
  1103. LDD FA NFL OFFSET TO FST INFORMATION
  1104. SBN FSTL
  1105.  
  1106. CLF SUBR ENTRY/EXIT
  1107. STM CLFA
  1108. CLF1 RJM PSE PAUSE FOR STORAGE MOVE
  1109. LDD MA
  1110. CWM *,ON
  1111. CLFA EQU *-1
  1112. SBN 1 MOVE FILE NAME TO DIRECT CELLS
  1113. CRD FN
  1114. LDN NEEQ SELECT NO MASS STORAGE ASSIGNMENT
  1115. STD FS
  1116. EXECUTE 0BF,OVL
  1117. UJN CLF2 FILE NOT PREVIOUSLY DEFINED
  1118.  
  1119. CLTX EQU * HANG IF FILE PRESENT
  1120. CLT SPACE 4
  1121. ** CLT - COPY LIBRARY TABLES.
  1122. *
  1123. * ENTRY (IR+3 - IR+4) = FWA LIBRARY TABLES.
  1124. * (CN - CN+1) = FWA RPL.
  1125. * (T6 - T7) = LENGTH.
  1126. *
  1127. * USES T1 - T3.
  1128. *
  1129. * CALLS SPA.
  1130.  
  1131.  
  1132. CLT SUBR ENTRY/EXIT
  1133. RJM SPA SET READ ADDRESS
  1134. STM CLTA+1
  1135. SHN -14
  1136. LMC ADCI
  1137. STM CLTA
  1138. LDD CN+1 SET STORE ADDRESS
  1139. STM CLTB+1
  1140. LDD CN
  1141. LMC ADCI
  1142. STM CLTB
  1143. LDD HN SET FULL BLOCK WORD COUNT
  1144. STD T1
  1145. LDN 0 CLEAR BLOCK COUNTER
  1146. STD T2
  1147. LDD T6 SET BLOCK COUNT
  1148. SHN 14
  1149. LMD T7
  1150. SHN -6
  1151. STD T3
  1152. ZJN CLT2 IF NO FULL BLOCKS
  1153. CLT1 LDD T2 READ BLOCK
  1154. SHN 6
  1155. CLTA ADC * READ BLOCK
  1156. CRM BFMS,T1
  1157. LDD T2 STORE BLOCK
  1158. SHN 6
  1159. CLTB ADC *
  1160. CWM BFMS,T1
  1161. AOD T2 ADVANCE BLOCK
  1162. SBD T3
  1163. MJN CLT1 LOOP FOR ALL BLOCKS
  1164. NJN CLT3 IF SHORT BLOCK PROCESSED
  1165. CLT2 LDD T7 SET SHORT COUNT
  1166. LPN 77
  1167. STD T1
  1168. NJN CLT1 IF NOT EMPTY
  1169.  
  1170. * CLEAR REMAINDER OF 100B BLOCK OF CM.
  1171.  
  1172. CLT3 LDD CN FWA OF RPL
  1173. ADD T6 ADD LENGTH
  1174. SHN 14
  1175. LMD CN+1
  1176. ADD T7
  1177. SBN 1
  1178. STM CLTC+1 SET LWA+1 OF LIBRARY
  1179. SHN -14
  1180. LMC ADCI
  1181. STM CLTC
  1182. LDM CLTC+1
  1183. ADN 1
  1184. LPN 77
  1185. ZJN CLT5 IF NO REMAINDER TO CLEAR
  1186. LDK ZERL READ ZERO WORD
  1187. CRM BFMS,ON
  1188. LDN 0 INITIALIZE COUNTER
  1189. STD T1
  1190. CLT4 AOD T1
  1191. CLTC ADC ** LWA+1 OF LIBRARY
  1192. CWM BFMS,ON
  1193. LPN 77
  1194. NJN CLT4 IF 100B BOUNDARY NOT REACHED
  1195. CLT5 LJM CLTX RETURN
  1196. ERT SPACE 4,10
  1197. ** ERT - ENTER RESIDENCY TABLE.
  1198. *
  1199. * ENTRY (T3 - T7) - TABLE ENTRY.
  1200. * (T1) = CURRENT NUMBER OF TABLE ENTRIES.
  1201. *
  1202. * EXIT (T1) INCREMENTED BY ONE.
  1203.  
  1204.  
  1205. ERT SUBR ENTRY/EXIT
  1206. LDD T1 COMPUTE TABLE ADDRESS
  1207. SHN 2
  1208. ADD T1
  1209. ADM ERDC
  1210. STM ERTA
  1211. LDD MA WRITE ENTRY
  1212. CWD T3
  1213. CRM *,ON
  1214. ERTA EQU *-1
  1215. AOD T1
  1216. UJN ERTX EXIT
  1217. PSE SPACE 4
  1218. ** PSE - PAUSE.
  1219. *
  1220. * USES CM - CM+4.
  1221.  
  1222.  
  1223. PSE SUBR ENTRY/EXIT
  1224. PAUSE
  1225. LDD CM+1
  1226. ZJN PSE1 IF NO ERROR FLAG
  1227. LDD DS
  1228. NJN * IF DEADSTART LOAD
  1229. LJM ABT3
  1230.  
  1231. PSE1 LDD CM+2
  1232. LPN 1
  1233. ZJN PSEX IF NO ROLLOUT
  1234. LDC =C* INCORRECT ROLLOUT REQUEST.*
  1235. LJM ABT1
  1236. REL SPACE 4
  1237. ** REL - RELEASE PP.
  1238. *
  1239. * ENTRY (A) = EXIT ADDRESS FOR *SLL* MAIN LOOP.
  1240.  
  1241.  
  1242. REL7 LDN FNTP FETCH SYSTEM FNT POINTER
  1243. CRD T6
  1244.  
  1245. * RELEASE SYSTEM FILE FROM JOB.
  1246.  
  1247. LDD T6 READ SYSTEM FILE FNT
  1248. SHN 14
  1249. LMD T7
  1250. ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
  1251. CRD FN
  1252. ADN FSTG
  1253. CRD CN
  1254. LDD FS+1 REWIND FILE
  1255. STD FS+2
  1256. STD CN+1
  1257. LDN ZERL
  1258. CRD CM
  1259. SOD FN+4 CLEAR SYSTEM FILE INTERLOCK
  1260. LDD FS
  1261. STD CN
  1262. LDD T6 STORE SYSTEM FILE FNT
  1263. SHN 14
  1264. LMD T7
  1265. ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
  1266. CWD FN
  1267. ADN FSTG
  1268. CWD CN
  1269. LDN FSMS
  1270. STD FS+3
  1271. LDN 5 SET OPERATION COMPLETE
  1272. STD FS+4
  1273. NFA SF,R STORE LOCAL FILE STATUS
  1274. CWD FS
  1275. LDD AL CLEAR *ALTSYS* FNT ENTRY
  1276. RJM CFE
  1277. LDD PL CLEAR *PPULIB* FNT ENTRY
  1278. RJM CFE
  1279.  
  1280. REL SUBR ENTRY/EXIT
  1281. STM SLLB
  1282. LDD SF
  1283. ZJN RELX IF SYSTEM FILE NOT RESERVED
  1284. LCN 0
  1285. STD EI
  1286. NFA SF,R READ FST INFORMATION
  1287. CRD FS
  1288. UJN REL2 CHECK FIRST SYSTEM DEVICE
  1289.  
  1290. * RELEASE UNUSED MASS STORAGE SPACE.
  1291.  
  1292. REL1 LDM TETC,EI
  1293. ZJN REL2 IF NO EMPTY CHAIN
  1294. STD CM+2
  1295. MONITOR DTKM
  1296. * LDN 0 SET EMPTY CHAIN RELEASED
  1297. STM TETC,EI
  1298. REL2 AOD EI ADVANCE INDEX
  1299. LDM TSYD,EI SET NEXT EQUIPMENT
  1300. STD CM+1
  1301. SHN 6
  1302. PJN REL1 IF MORE SYSTEM DEVICES
  1303. LDC 501
  1304. STD T1
  1305. REL3 LDN 0 CLEAR SYSTEM SECTOR BUFFER
  1306. STM BFMS,T1
  1307. SOD T1
  1308. NJN REL3 LOOP TO START OF BUFFER
  1309. STD EI
  1310. REL4 LDM TSYD,EI SET SYSTEM EQUIPMENT
  1311. STD T5
  1312. SETMS IO,(NS,RW)
  1313. RELA LDN 1
  1314. * LDN 0 (NO ERROR CONDITION)
  1315. ZJN REL5 IF NO ERROR CONDITION
  1316. RJM RSF RESTORE SYSTEM FILE
  1317.  
  1318. * WRITE SYSTEM SECTORS.
  1319.  
  1320. REL5 LDD FS+1 SET FIRST TRACK
  1321. STD T6
  1322. LDD SF
  1323. ADN FSTL
  1324. STD FA
  1325. LDC * SET PPU LIBRARY TRACK
  1326. RELB EQU *-1
  1327. STM PLSS
  1328. RJM WSS WRITE SYSTEM SECTOR
  1329. LDM PLSS SET PPU LIBRARY FILE TRACK
  1330. STD T6
  1331. LDD MA SET FILE NAME
  1332. CWM NPPU,ON
  1333. SBN 1
  1334. CRM FNSS,ON
  1335. LDN 0 CLEAR FST ADDRESS
  1336. STD FA
  1337. STM FASS
  1338. RJM WSS WRITE SYSTEM SECTOR
  1339. ENDMS
  1340. AOD EI ADVANCE EQUIPMENT INDEX
  1341. LDM TSYD,EI
  1342. SHN 6
  1343. MJN REL6 IF END OF SYSTEM EQUIPMENTS
  1344. LJM REL4 LOOP
  1345.  
  1346. REL6 LJM REL7 RELEASE SYSTEM FILE FROM JOB
  1347. RMT SPACE 4
  1348. ** RMT - RESERVE MATCHING TRACK.
  1349. *
  1350. * ENTRY (A) = 0, TO ABORT IF TRACK UNAVAILABLE.
  1351. * = 1, TO RETURN IF TRACK UNAVAILABLE.
  1352. * (T6) = CURRENT TRACK.
  1353. *
  1354. * EXIT (A) = TRACK ASSIGNED.
  1355. * .LT. 0, IF RETURN ON TRACK UNAVAILABLE.
  1356. *
  1357. * USES T1, T2, T9, CM - CM+4.
  1358.  
  1359.  
  1360. RMT12 LDM RMTB RETURN WITH TRACK
  1361.  
  1362. RMT SUBR ENTRY/EXIT
  1363. STD RF
  1364. LCN 0 INITIALIZE EQUIPMENT INDEX
  1365. STD T1
  1366. RMT1 AOD T1 ADVANCE INDEX
  1367. RMT2 LDM TSYD,T1 SET EST ORDINAL
  1368. RMTA EQU *-1
  1369. * LDM TSYD+ASDE ALTERNATE DEVICE PROCESSING
  1370. STD CM+1
  1371. SHN 6
  1372. MJN RMT12 IF END OF TABLE
  1373. LDN 0 REQUEST ONE TRACK
  1374. STD CM+3
  1375. STD CM+4
  1376. LDD T6 RESERVE TRACK
  1377. STD CM+2
  1378. MONITOR RTCM
  1379. LDD CM+4 SET TRACK ASSIGNED
  1380. STM RMTB,T1
  1381. NJN RMT4 IF TRACK ASSIGNED
  1382. LDD RF
  1383. ZJN RMT3 IF RETURN NOT SELECTED
  1384. LCN 0 FORCE TRACK MISMATCH
  1385. STD CM+4
  1386. AOD RF SET TO EXIT ON TRACK LIMIT
  1387. LDD T1
  1388. NJN RMT5 IF NOT FIRST EQUIPMENT
  1389. LCN 1 EXIT WITH TRACK LIMIT
  1390. LJM RMTX RETURN
  1391.  
  1392. RMT3 ENDMS
  1393. LDC =C* SYSTEM TOO BIG FOR MASS STORAGE.*
  1394. LJM ABT1
  1395.  
  1396. RMT4 LDD T1
  1397. RMT5 ZJP RMT1 IF FIRST EQUIPMENT
  1398. STD T2
  1399. LDM RMTB-1,T1 COMPARE WITH PREVIOUS TRACK
  1400. SBD CM+4
  1401. ZJN RMT5 IF SAME TRACK
  1402. PJN RMT6 IF NEW TRACK LOWER
  1403. LDN 0 START WITH FIRST EQUIPMENT
  1404. STD T2
  1405. RMT6 LDM TSYD,T2 DROP TRACKS FOLLOWING LAST MATCH
  1406. STD CM+1
  1407. STD T9
  1408. LDM RMTB,T2 SET FIRST TRACK IN CHAIN
  1409. STD CM+2
  1410. LDD T6
  1411. ZJN RMT7 IF NO INITIAL TRACK
  1412. LPC 3777
  1413. STD CM+2
  1414. LDN 0 SET LAST SECTOR WRITTEN
  1415. RMT7 STD CM+3
  1416. MONITOR DTKM
  1417. STD CM+4
  1418. LDD T9 SET EST ORDINAL
  1419. STD CM+1
  1420. LDM TETCA,T2 RESERVE SAME TRACK LINKED TO EMPTY CHAIN
  1421. STD CM+2
  1422. MONITOR RTCM
  1423. LDD CM+4 SET LAST TRACK IN EMPTY CHAIN
  1424. STM TETCA,T2
  1425. LDM TETC,T2
  1426. NJN RMT8 IF EMPTY CHAIN STARTED
  1427. LDD CM+4 START EMPTY CHAIN
  1428. STM TETC,T2
  1429. RMT8 LDD T2
  1430. LMD T1
  1431. ZJN RMT11 IF LOWER TRACK PROCESSING
  1432. AOD T2 ADVANCE TABLE
  1433. LMD T1
  1434. ZJN RMT9 IF ALL LOWER EQUIPMENT PROCESSED
  1435. LJM RMT6
  1436.  
  1437. RMT9 LDM TSYD,T2 DROP TRACK FOLLOWING LAST MATCH
  1438. STD CM+1
  1439. LDM RMTB,T2
  1440. STD CM+2
  1441. LDD T6
  1442. ZJN RMT10 IF NO INITIAL TRACK
  1443. LPC 3777
  1444. STD CM+2
  1445. LDN 0 SET LAST SECTOR WRITTEN
  1446. RMT10 STD CM+3
  1447. MONITOR DTKM
  1448. STD T1 CLEAR EQUIPMENT INDEX
  1449. LDD RF
  1450. SHN 21-1
  1451. PJN RMT11 IF NOT TRACK LIMIT PROCESSING
  1452. LJM RMTX EXIT WITH TRACK LIMIT ERROR
  1453.  
  1454. RMT11 LJM RMT2 RESTART ASSIGNMENT
  1455.  
  1456.  
  1457. RMTB BSS MXSY SYSTEM DEVICE TRACKS ASSIGNED
  1458. RSF SPACE 4
  1459. ** RSF - RESTORE SYSTEM FILE.
  1460. *
  1461. * ENTRY (T5) = EQUIPMENT.
  1462. * (RSFA) = SYSTEM / PPULIB EOI TRACK.
  1463. * (RSFB) = SYSTEM / PPULIB EOI SECTOR.
  1464. *
  1465. * CALLS WEI.
  1466. *
  1467. * MACROS ENDMS, MONITOR.
  1468.  
  1469.  
  1470. RSF2 LDC 0 RESTORE PPU LIBRARY TRACK
  1471. RSFC EQU *-1
  1472. STM RELB
  1473.  
  1474. RSF SUBR ENTRY/EXIT
  1475. LCN 0 CLEAR FILE INDEX
  1476. STD CN
  1477. RSF1 AOD CN ADVANCE FILE INDEX
  1478. LMN 2
  1479. ZJN RSF2 IF BOTH FILES PROCESSED
  1480. LDM RSFA,CN SET *EOI* TRACK
  1481. ZJN RSF1 IF NO TRACK ASSIGNED
  1482. STD T6
  1483. LDM RSFB,CN SET EOI SECTOR
  1484. STD T7
  1485. LDM SF,CN SET FNT ADDRESS
  1486. ADN FSTL
  1487. STD FA
  1488. RJM WEI WRITE EOI
  1489. ENDMS
  1490. LDD T5 SET EQUIPMENT
  1491. STD CM+1
  1492. LDD T6 SET TRACK
  1493. LPC 3777
  1494. STD CM+2
  1495. LDD T7 SET SECTOR
  1496. STD CM+3
  1497. MONITOR DTKM DROP TRACKS
  1498. LJM RSF1 LOOP
  1499.  
  1500. RSFA CON 0,0
  1501. RSFB CON 0,0
  1502. SBP SPACE 4
  1503. ** SBP - SET BUFFER PARAMETERS.
  1504. *
  1505. * ENTRY (IR+3 - IR+4) = FET ADDRESS.
  1506. *
  1507. * EXIT BUFFER PARAMETERS SET IN *WTB*.
  1508. *
  1509. * USES CM - CM+4.
  1510. *
  1511. * CALLS SPA.
  1512.  
  1513.  
  1514. SBP SUBR ENTRY/EXIT
  1515. RJM SPA READ FIRST
  1516. ADN 1
  1517. CRD CM
  1518. LDD RA SET (RA) REFERENCES
  1519. STM AB1
  1520. SHN 6
  1521. STM AB2+1
  1522. STM AB3+1
  1523. STM AB5+1
  1524. SHN -14
  1525. LMC ADCI
  1526. STM AB2
  1527. STM AB3
  1528. STM AB5
  1529. LDD CM+3 FIRST + RA
  1530. LPN 37
  1531. STD CM+3
  1532. SHN 6
  1533. ADD RA
  1534. SHN 6
  1535. ADD CM+4
  1536. STM AB4+1
  1537. SHN -14
  1538. LMC LDCI
  1539. STM AB4
  1540. LDD CM+4 FIRST
  1541. STM BF2+1
  1542. LDD CM+3
  1543. LMC ADCI
  1544. STM BF2
  1545. RJM SPA READ LIMIT
  1546. ADN 4
  1547. CRD CM
  1548. LDD CM+3 -LIMIT
  1549. LPN 37
  1550. LMC ADCI+77
  1551. STM BF1
  1552. LCN 0
  1553. LMD CM+4
  1554. STM BF1+1
  1555. LJM SBPX RETURN
  1556. SCD SPACE 4
  1557. ** SCD - SCAN DIRECTORY.
  1558. *
  1559. * ENTRY (T1 - T2) = FWA.
  1560. *
  1561. * EXIT (T1 - T2) ADVANCED.
  1562. * (A) = INDEX OF (T1 - T2).
  1563. *
  1564. * USES CM - CM+4.
  1565.  
  1566.  
  1567. SCD2 LDD T1 RETURN INDEX
  1568. SBD PA
  1569. SHN 14
  1570. ADD T1+1
  1571. SBD PA+1
  1572.  
  1573. SCD SUBR ENTRY/EXIT
  1574. SCD1 LDD T1 READ ENTRY
  1575. SHN 6
  1576. ADD RA
  1577. SHN 6
  1578. ADD T2
  1579. CRD CM
  1580. AOD T2 ADVANCE ADDRESS
  1581. SHN -14
  1582. RAD T1
  1583. LDD CM CHECK ENTRY
  1584. ADD CM+1
  1585. ADD CM+2
  1586. ADD CM+3
  1587. ADD CM+4
  1588. NJN SCD1 LOOP TO BLANK ENTRY
  1589. LDD T1 CHECK ADDRESS
  1590. SHN 14
  1591. LMD T2
  1592. SBN 1
  1593. SHN -6
  1594. SBD FL
  1595. MJN SCD2 IF WITHIN FL
  1596. LDC =C* LIBRARY TABLE ERROR.*
  1597. LJM ABT1
  1598. SCL SPACE 4
  1599. ** SCL - SCAN LIBRARY.
  1600. *
  1601. * ENTRY (T1 - T2) = FWA.
  1602. *
  1603. * EXIT (T1 - T2) ADVANCED.
  1604. * (A) = INDEX OF (T1 - T2).
  1605. *
  1606. * USES CM - CM+4.
  1607.  
  1608.  
  1609. SCL SUBR ENTRY/EXIT
  1610. SCL1 LDD T1 READ ENTRY
  1611. SHN 6
  1612. ADD RA
  1613. SHN 6
  1614. ADD T2
  1615. CRD CM
  1616. LDD CM+4 ADVANCE ADDRESS
  1617. RAD T2
  1618. SHN -14
  1619. ADD CM+3
  1620. LPN 37
  1621. RAD T1
  1622. LDD CM CHECK ENTRY
  1623. ADD CM+1
  1624. ADD CM+2
  1625. ADD CM+3
  1626. ADD CM+4
  1627. NJN SCL1 LOOP TO BLANK ENTRY
  1628. AOD T2 INCLUDE BLANK ENTRY
  1629. SHN -14
  1630. RAD T1
  1631. SHN 14 CHECK ADDRESS
  1632. LMD T2
  1633. SHN -6
  1634. SBD FL
  1635. PJN SCL2 IF OUT OF FL
  1636. LDD T1 RETURN INDEX
  1637. SBD PA
  1638. SHN 14
  1639. ADD T2
  1640. SBD PA+1
  1641. LJM SCLX
  1642.  
  1643. SCL2 LDC =C* LIBRARY TABLE ERROR.*
  1644. LJM ABT1
  1645. SPA SPACE 4,10
  1646. ** SPA - SET PARAMETER ADDRESS.
  1647. *
  1648. * ENTRY (PA - PA+1) = RELATIVE ADDRESS OF PARAMETER WORD.
  1649. *
  1650. * EXIT (A) = ABSOLUTE PARAMETER ADDRESS.
  1651.  
  1652.  
  1653. SPA SUBR ENTRY/EXIT
  1654. LDD PA
  1655. SHN 6
  1656. ADD RA
  1657. SHN 6
  1658. ADD PA+1
  1659. UJN SPAX RETURN
  1660. STA SPACE 4,15
  1661. ** STA - SET TRT ADDRESS.
  1662. *
  1663. * ENTRY (A) = EST ORDINAL.
  1664. *
  1665. * EXIT (T5) = EST ORDINAL.
  1666. * (SNTA) = *ADC TRTS*.
  1667. * DRIVER LOADED.
  1668. *
  1669. * USES CM - CM+4.
  1670. *
  1671. * MACROS SETMS.
  1672.  
  1673.  
  1674. STA SUBR ENTRY/EXIT
  1675. STD T5
  1676. SETMS IO,(NS),WDSB
  1677. LDD CM+4
  1678. SHN 3 GET TRT POINTER
  1679. ADN TRLL
  1680. CRD CM
  1681. LDD CM+3
  1682. LPN 77
  1683. SHN 14
  1684. LMD CM+4
  1685. SBD TH 4S-2
  1686. STM SNTA+1
  1687. SHN -14
  1688. LMC ADCI
  1689. STM SNTA
  1690. UJN STAX RETURN
  1691. SNT SPACE 4
  1692. ** SNT - SET NEXT TRACK.
  1693. *
  1694. * ENTRY (T6) = CURRENT TRACK.
  1695. *
  1696. * EXIT (A) = NEXT TRACK.
  1697.  
  1698.  
  1699. SNT SUBR ENTRY/EXIT
  1700. LDD T6 READ TRT WORD
  1701. SHN -2
  1702. SNTA ADC TRTS
  1703. CRD CM
  1704. LDD T6 SET BYTE INDEX
  1705. LPN 3
  1706. STD T1
  1707. LDM CM,T1 RETURN WITH TRACK
  1708. UJN SNTX
  1709. WEF SPACE 4
  1710. ** WEF - WRITE END OF FILE.
  1711. *
  1712. * ENTRY (T6) = TRACK.
  1713. * (T7) = SECTOR.
  1714. *
  1715. * EXIT (T6) AND (T7) UPDATED.
  1716. *
  1717. * USES CM - CM+4.
  1718. *
  1719. * CALLS RMT, SNT, WEI, WMS.
  1720. *
  1721. * MACROS ENDMS, MONITOR.
  1722.  
  1723.  
  1724. WEF SUBR ENTRY/EXIT
  1725. LDN 0 CLEAR FIRST CONTROL BYTE
  1726. STM BFMS
  1727. LDD T7 SET NEXT SECTOR
  1728. ADN 1
  1729. STM BFMS+1
  1730. LMI SL
  1731. NJN WEF1 IF NOT END OF TRACK
  1732. RJM SNT SET NEXT TRACK
  1733. STM BFMS+1
  1734. SHN 6
  1735. MJN WEF1 IF TRACK AVAILABLE
  1736. ENDMS
  1737. * LDN 0
  1738. RJM RMT RESERVE TRACK
  1739. STM BFMS+1
  1740. WEF1 LDC BFMS+WCSF WRITE CONSECUTIVE SECTORS
  1741. RJM WMS
  1742. AOD T7 INCREMENT SECTOR
  1743. LMI SL
  1744. NJN WEF2 IF NOT NEW TRACK
  1745. STD T7 RESET TRACK AND SECTOR
  1746. LDM BFMS+1
  1747. STD T6
  1748. WEF2 RJM WEI WRITE EOI SECTOR
  1749. ENDMS
  1750. LDD T5 SET EQUIPMENT
  1751. STD CM+1
  1752. LDD T6 SET TRACK
  1753. LPC 3777
  1754. STD CM+2
  1755. LDD T7 SET SECTOR
  1756. STD CM+3
  1757. MONITOR DTKM DROP TRACKS
  1758. LJM WEFX RETURN
  1759. WTB SPACE 4
  1760. ** WTB - WRITE BUFFER.
  1761. *
  1762. * ENTRY (CN - CN+4) = OUT POINTER WORD.
  1763. * (T6) = TRACK.
  1764. * (T7) = SECTOR.
  1765. *
  1766. * EXIT (CN - CN+4) UPDATED.
  1767. * (T6) AND (T7) UPDATED.
  1768. *
  1769. * ERROR TO *ABT1* IF INVALID SECTOR WORD COUNT.
  1770. *
  1771. * USES SE, T1, T2, T8, CM - CM+4.
  1772. *
  1773. * CALLS RMT, SBP, SNT, WMS.
  1774. *
  1775. * MACROS ENDMS.
  1776.  
  1777.  
  1778. WTB SUBR ENTRY/EXIT
  1779. LDD T6
  1780. NJN WTB1 IF TRACK ASSIGNED
  1781. LDD FS+1 SET FIRST TRACK
  1782. STD T6
  1783. AOD SE
  1784. LJM WTB10 WRITE DUMMY SYSTEM SECTOR
  1785.  
  1786. WTB1 LDD RA CHECK RA
  1787. LMC * (RA)
  1788. AB1 EQU *-1
  1789. ZJN WTB2 IF NO CHANGE
  1790. RJM SBP SET BUFFER PARAMETERS
  1791. WTB2 LDD CN+3 READ CONTROL WORD
  1792. SHN 14
  1793. ADD CN+4
  1794. AB2 ADC * (RA)
  1795. CRD CM
  1796. AOD CM+4 SET WORD COUNT
  1797. LDC 101 CHECK WORD COUNT
  1798. SBD CM+4
  1799. PJN WTB3 IF LEGAL WORD COUNT
  1800. LDD RA
  1801. SHN 6
  1802. ADN 2
  1803. CWD CM
  1804. ADN 1
  1805. CWD CN
  1806. ENDMS
  1807. LDC =C* BUFFER CONTROL WORD ERROR.*
  1808. LJM ABT1
  1809.  
  1810. WTB3 LDD CN+3 CHECK OUT + WORD COUNT
  1811. SHN 14
  1812. ADD CN+4
  1813. ADD CM+4
  1814. BF1 ADC -* (-LIMIT)
  1815. MJN WTB6 IF LIMIT NOT REACHED
  1816.  
  1817. * PROCESS WRAP AROUND SECTOR.
  1818.  
  1819. STD T2 SET SECOND PART WORD COUNT
  1820. LDD CM+4 SET FIRST PART WORD COUNT
  1821. SBD T2
  1822. STD T1
  1823. ZJN WTB4 IF NO FIRST PART
  1824. LDD CN+3 READ FIRST PART
  1825. SHN 14
  1826. ADD CN+4
  1827. AB3 ADC * (RA)
  1828. CRM BFMS-3,T1
  1829. WTB4 LDD T2 CHECK SECOND PART LENGTH
  1830. ZJN WTB5 IF NO SECOND PART
  1831. LDD T1 SET PP BUFFER ADDRESS
  1832. SHN 2
  1833. ADD T1
  1834. RAM WTBA
  1835. AB4 LDC * READ SECOND PART (FIRST+RA)
  1836. CRM BFMS-3,T2
  1837. WTBA EQU *-1 (RESET)
  1838. WTB5 LDD T2 SET OUT AFTER SECOND PART
  1839. BF2 ADC * (FIRST)
  1840. STD CN+4
  1841. SHN -14
  1842. STD CN+3
  1843. UJN WTB7
  1844.  
  1845. * PROCESS NORMAL SECTOR.
  1846.  
  1847. WTB6 LDD CN+3 READ BUFFER
  1848. SHN 14
  1849. ADD CN+4
  1850. AB5 ADC * (RA)
  1851. CRM BFMS-3,CM+4
  1852.  
  1853. * ADVANCE OUT POINTER.
  1854.  
  1855. LDD CM+4
  1856. RAD CN+4
  1857. SHN -14
  1858. RAD CN+3
  1859.  
  1860. * WRITE SECTOR.
  1861.  
  1862. WTB7 LDC BFMS-3 RESET READ ADDRESS
  1863. STM WTBA
  1864. LDD T7 SET NEXT SECTOR
  1865. ADN 1
  1866. STM BFMS
  1867. LMI SL
  1868. NJN WTB10 IF NOT END OF TRACK
  1869. RJM SNT SET NEXT TRACK
  1870. STM BFMS
  1871. SHN 6
  1872. MJN WTB10 IF TRACK ASSIGNED
  1873. LDD T6
  1874. STM WTBC
  1875. ENDMS
  1876. * LDN 0
  1877. RJM RMT RESERVE TRACK
  1878. STM BFMS
  1879. STD T6 GET ADDITIONAL TRACKS
  1880. LDN 7
  1881. STD T8
  1882. WTB8 LDN 1 RESERVE TRACK CHAIN
  1883. RJM RMT
  1884. MJN WTB9 IF TRACK LIMIT
  1885. STD T6
  1886. SOD T8
  1887. NJN WTB8
  1888. WTB9 LDC * RESTORE CURRENT TRACK
  1889. WTBC EQU *-1
  1890. STD T6
  1891. WTB10 LDC WCSF+BFMS WRITE SECTOR
  1892. RJM WMS
  1893. AOD T7
  1894. LMI SL
  1895. NJN WTB11 IF NOT NEW TRACK
  1896. STD T7 RESET TRACK AND SECTOR
  1897. LDM BFMS
  1898. STD T6
  1899. WTB11 SOD SE
  1900. ZJN WTB12 IF ALL SECTORS WRITTEN
  1901. LJM WTB1 LOOP
  1902.  
  1903. WTB12 LJM WTBX RETURN
  1904. WSL SPACE 4
  1905. ** WSL - WRITE SYSTEM LIBRARY.
  1906. *
  1907. * ENTRY (A) = 0 IF WRITING SYSTEM FILE.
  1908. * = 1 IF WRITING PP LIBRARY FILE.
  1909. * = 2 IF WRITING ALTERNATE LIBRARY FILE.
  1910. * (AL) = 0 IF NOT WRITING ALTERNATE LIBARY FILE.
  1911. *
  1912. * EXIT (T6) = LAST TRACK.
  1913. * (T7) = LAST SECTOR.
  1914. * (FS - FS+4) = FST ENTRY.
  1915. *
  1916. * USES EI, FA, SE, T5, SN - SN+1, CM - CM+4, CN - CN+4.
  1917. *
  1918. * CALLS PSE, RMT, SBP, SEI, SPA, WEF, WTB.
  1919. *
  1920. * MACROS ENDMS, SETMS.
  1921.  
  1922.  
  1923. WSL11 LDN 5 SET OPERATION COMPLETE
  1924. STD FS+4
  1925. NFA FA,R STORE FST INFORMATION
  1926. ADN FSTL
  1927. CWD FS
  1928.  
  1929. WSL SUBR ENTRY/EXIT
  1930. STD EI SET FILE INDEX
  1931. LDM SF,EI READ FST ENTRY
  1932. ADN FSTL
  1933. STD FA
  1934. NFA FA,R
  1935. ADN FSTL
  1936. CRD FS
  1937.  
  1938. * INITIALIZE FILE STATUS.
  1939.  
  1940. LDD FS+1 CHECK TRACK
  1941. STD T6
  1942. NJN WSL1 IF TRACK ASSIGNED
  1943. RJM RMT
  1944. STD FS+1
  1945. UJN WSL2
  1946.  
  1947. WSL1 LDD AL
  1948. NJN WSL2 IF WRITING ALTERNATE LIBRARY
  1949. LDD FS
  1950. STD T5
  1951. RJM SEI SEARCH FOR END OF INFORMATION
  1952. LDD T6 SET NEXT TRACK
  1953. STD FS+2
  1954. STM RSFA,EI SET EOI
  1955. LDD T7 SET NEXT SECTOR
  1956. STD FS+3
  1957. STM RSFB,EI
  1958.  
  1959. * INITIALIZE FILE WRITE.
  1960.  
  1961. WSL2 RJM SBP SET BUFFER PARAMETERS
  1962. LDC WSL4 CLEAR EOF FLAG
  1963. STM WSLA
  1964. LDN 0 CLEAR SECTOR COUNT
  1965. STD SN
  1966. STD SN+1
  1967.  
  1968. * CHECK BUFFER STATUS.
  1969.  
  1970. WSL3 LJM WSL4 (EOF FLAG)
  1971. WSLA EQU *-1
  1972.  
  1973. WSL4 LDD AL
  1974. ZJN WSL5 IF NOT WRITING ALTERNATE LIBRARY
  1975. LDN ASDE
  1976. WSL5 STD EI INITIALIZE EQUIPMENT INDEX
  1977. RJM PSE
  1978. RJM SPA READ SECTOR COUNT
  1979. ADN 6
  1980. CRD CM
  1981. LDD CM+3 CHECK SECTOR COUNT
  1982. SBD SN
  1983. SHN 14
  1984. LMD CM+4
  1985. SBD SN+1
  1986. STM WSLB
  1987. SBD HN
  1988. PJN WSL6 IF ENOUGH DATA IN BUFFER
  1989. LDD CM
  1990. ZJN WSL4 IF EOR NOT SET
  1991. LDC WSL11 SET EOF
  1992. STM WSLA
  1993. WSL6 LDD CM+3 SET NEW SECTOR COUNT
  1994. STD SN
  1995. LDD CM+4
  1996. STD SN+1
  1997.  
  1998. * WRITE BUFFER.
  1999.  
  2000. WSL7 RJM SPA READ OUT
  2001. ADN 3
  2002. CRD CN
  2003. LDM TSYD,EI SET EQUIPMENT
  2004. STD T5
  2005. LDD FS+2 SET CURRENT TRACK
  2006. STD T6
  2007. LDD FS+3 SET CURRENT SECTOR
  2008. STD T7
  2009. SETMS POSITION
  2010. LDC * SET SECTOR COUNT
  2011. WSLB EQU *-1
  2012. STD SE
  2013. ZJN WSL8 IF NO SECTORS IN BUFFER
  2014. RJM WTB WRITE BUFFFER
  2015. WSL8 LDM WSLA CHECK EOF STATUS
  2016. LMC WSL4
  2017. ZJN WSL9 IF NOT SET
  2018. RJM WEF WRITE END OF FILE
  2019. WSL9 ENDMS
  2020. AOD EI ADVANCE EQUIPMENT INDEX
  2021. LDM TSYD,EI SET NEXT EQUIPMENT
  2022. STD T5
  2023. SHN 6
  2024. MJN WSL10 IF END OF EQUIPMENT
  2025. LJM WSL7 LOOP
  2026.  
  2027. WSL10 LDD T6 UPDATE CURRENT TRACK
  2028. STD FS+2
  2029. LDD T7 UPDATE CURRENT SECTOR
  2030. STD FS+3
  2031. RJM SPA STORE OUT
  2032. ADN 3
  2033. CWD CN
  2034. LJM WSL3 LOOP
  2035. SPACE 4
  2036. * COMMON DECKS.
  2037.  
  2038.  
  2039. *CALL COMPICT
  2040. *CALL COMPLDB
  2041. *CALL COMPRSS
  2042. QUAL WMS
  2043. QUAL$ EQU 1
  2044. WDS EQU WMS
  2045. *CALL COMPWEI
  2046. *CALL COMPWSS
  2047. QUAL *
  2048. WEI EQU /WMS/WEI
  2049. WSS EQU /WMS/WSS
  2050. *CALL COMPSEI
  2051. SPACE 4,10
  2052. USE LITERALS DUMP LITERALS BLOCK
  2053.  
  2054.  
  2055. WDSB BSS 0 WRITE ERROR PROCESSING BUFFER
  2056. ERRNG BFMS-WDSB-502 BUFFER OVERLAP
  2057. TITLE INITIALIZATION ROUTINES.
  2058. TRES SPACE 4
  2059. ** TRES - TABLE OF RECORD RESIDENCES.
  2060. * ENTRY = 5 WORDS.
  2061. *
  2062. *T 42/ NAME,6/ RC,12/ TY
  2063. * NAME RECORD NAME
  2064. * RC RESIDENCE CODE
  2065. * = 40 = RESIDENT IN CM.
  2066. * = 77 = RESIDENT IN *SYSTEM* FILE ONLY (NOT IN *PLD*).
  2067. * TY RECORD TYPE
  2068.  
  2069.  
  2070. TRES BSS 0
  2071. VFD 42/0L1BP,6/40,12/PPRT
  2072. VFD 42/0L1RU,6/40,12/PPRT
  2073. VFD 42/0L3RU,6/40,12/PPRT
  2074. VFD 42/0L3RV,6/40,12/PPRT
  2075. VFD 42/0L3RW,6/40,12/PPRT
  2076. VFD 42/0L3RX,6/40,12/PPRT
  2077. VFD 42/0L1FA,6/40,12/PPRT
  2078. TRESB EQU *
  2079. TRESBL EQU *-TRES
  2080. VFD 42/0L"PBK0",6/40,12/PPRT
  2081. VFD 42/0L"PBK7",6/40,12/PPRT
  2082. VFD 42/0L1DD,6/40,12/PPRT
  2083. VFD 42/0L5ME,6/40,12/PPRT
  2084. VFD 42/0L7SE,6/40,12/PPRT
  2085. VFD 42/0L7EK,6/40,12/PPRT
  2086. VFD 42/0L7EL,6/40,12/PPRT
  2087. VFD 42/0L7EM,6/40,12/PPRT
  2088. VFD 42/0L7EN,6/40,12/PPRT
  2089. VFD 42/0L7EO,6/40,12/PPRT
  2090. VFD 42/0L7EP,6/40,12/PPRT
  2091. VFD 42/0L7EQ,6/40,12/PPRT
  2092. VFD 42/0L7ER,6/40,12/PPRT
  2093. VFD 42/0L7ES,6/40,12/PPRT
  2094. VFD 42/0LLSL,6/77,12/PPRT
  2095. VFD 42/0LBCL,6/77,12/PPRT
  2096. VFD 42/0L0AV,6/40,12/PPRT
  2097. VFD 42/0L0CT,6/40,12/PPRT
  2098. VFD 42/0L0DF,6/40,12/PPRT
  2099. VFD 42/0L0QM,6/40,12/PPRT
  2100. VFD 42/0L0SD,6/40,12/PPRT
  2101. VFD 42/0L1CP,6/40,12/PPRT
  2102. VFD 42/0L1RO,6/40,12/PPRT
  2103. VFD 42/0LSFP,6/40,12/PPRT
  2104. VFD 42/0L1MA,6/40,12/PPRT
  2105. TRESJ VFD 42/0L1MB,6/77,12/PPRT
  2106. TRESA VFD 42/0L1MC,6/77,12/PPRT
  2107. VFD 42/0L1MD,6/40,12/PPRT
  2108. VFD 42/0L1MP,6/40,12/PPRT
  2109. TRESC VFD 42/0L1HP,6/77,12/PPRT
  2110. TRESD VFD 42/0L1XM,6/77,12/PPRT
  2111. VFD 42/0L2XM,6/77,12/PPRT
  2112. VFD 42/0L2XN,6/77,12/PPRT
  2113. VFD 42/0L1XY,6/77,12/PPRT
  2114. TRESK VFD 42/0LMA464,6/77,12/PURT
  2115. TRESP VFD 42/0LMB468,6/77,12/PURT
  2116. TRESF VFD 42/0L6DC,6/77,12/PPRT
  2117. VFD 42/0L6DD,6/77,12/PPRT
  2118. TRESG VFD 42/0L2EA,6/77,12/PPRT
  2119. VFD 42/0L2EB,6/77,12/PPRT
  2120. VFD 42/0L7EA,6/77,12/PPRT
  2121. TRESH VFD 42/0L1HY,6/77,12/PLRT
  2122. TRESI VFD 42/0L1XD,6/77,12/PLRT
  2123. TRESM VFD 42/0L1DA,6/77,12/PLRT
  2124. VFD 42/0L3DZ,6/77,12/PLRT
  2125. TRESN VFD 42/0LWLD,6/77,12/PLRT
  2126. VFD 42/0L5DA,6/77,12/PLRT
  2127. VFD 42/0L5SI,6/77,12/PLRT
  2128.  
  2129. * THE FOLLOWING ENTRY MUST BE THE LAST ENTRY IN THE TABLE
  2130. * SO THAT THE TABLE CAN BE EXTENDED BY PRESET IF *2SG* IS
  2131. * TO BE INITIALIZED AS CM RESIDENT.
  2132.  
  2133. VFD 42/0L2SG,6/40,12/PPRT
  2134. TRESE CON 0
  2135. .1 SET TRESE-TRES
  2136. TRESL EQU .1/5
  2137. CSF SPACE 4,15
  2138. ** CSF - CLEAR SYSTEM FILE.
  2139. *
  2140. * ENTRY (T5) = SYSTEM EQUIPMENT (LEVEL 2 ONLY).
  2141. * (T6) = FIRST TRACK OF SYSTEM FILE (LEVEL 2 ONLY).
  2142. * (FS - FS+4) = SYSTEM FILE FST ENTRY.
  2143. *
  2144. * USES SE, T1, T6, T7, CM - CM+4.
  2145. *
  2146. * CALLS RSS.
  2147. *
  2148. * MACROS ENDMS, MONITOR, NFA.
  2149.  
  2150.  
  2151. CSF SUBR ENTRY/EXIT
  2152. LDD T6
  2153. ZJN CSFX IF LEVEL 0 DEADSTART
  2154. LDC NSYS READ SYSTEM SECTOR
  2155. RJM RSS
  2156. NJN CSF1 IF ERROR
  2157. LDM PLSS SET PP LIBRARY FILE TRACK
  2158. STM CSFA
  2159. CSF1 ENDMS
  2160. * LDN 0 CLEAR EQUIPMENT INDEX
  2161. STD T1
  2162. CSF2 LDM TSYD,T1 SET EQUIPMENT
  2163. STD CM+1
  2164. LDD FS+1 SET TRACK
  2165. STD CM+2
  2166. MONITOR DTKM DROP TRACKS
  2167. LDC 0
  2168. CSFA EQU *-1
  2169. ZJN CSF3 IF PP LIBRARY FILE TRACK NOT FOUND
  2170. STD CM+2
  2171. LDM TSYD,T1 DROP TRACKS
  2172. STD CM+1
  2173. MONITOR DTKM
  2174. CSF3 AOD T1 ADVANCE EQUIPMENT INDEX
  2175. LDM TSYD,T1
  2176. SHN 6
  2177. PJN CSF2 LOOP FOR ALL EQUIPMENT
  2178. LDN FNTP
  2179. CRD T6
  2180. LDN ZERL CLEAR SYSTEM FST ENTRY
  2181. CRD FS+1
  2182. ERRNZ FS+5-SE READ DESTROYS LOCATION IN USE
  2183. LDD T6
  2184. SHN 14
  2185. LMD T7
  2186. ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
  2187. ADN FSTG
  2188. CWD FS
  2189. NFA SF,R
  2190. CWD FS
  2191. LJM CSFX RETURN
  2192. DAP SPACE 4,10
  2193. ** DAP - DISABLE ALTERNATE RESIDENT PP PROGRAMS.
  2194. *
  2195. * USES T1, T2, T3, T4, T5, CM - CM+4, CN - CN+4.
  2196.  
  2197.  
  2198. DAP SUBR ENTRY/EXIT
  2199. LDC PLDP FETCH PLD POINTER
  2200. CRD T1
  2201. LCN 0 INITIALIZE PLD INDEX
  2202. STD T3
  2203. DAP1 AOD T3 ADVANCE PLD ENTRY
  2204. LDD T1
  2205. SHN 14
  2206. LMD T2
  2207. ADD T3
  2208. CRD CM READ PLD ENTRY
  2209. LDD CM+1
  2210. ZJN DAPX IF END OF PLD
  2211. LPN 77
  2212. STD T5 SAVE EQUIPMENT
  2213. LPN 40
  2214. NJN DAP1 IF CM RESIDENT
  2215. SFA EST,T5 CHECK EST FOR SYSTEM DEVICE
  2216. ADK EQDE
  2217. CRD CN
  2218. LDD CN
  2219. SHN 21-12
  2220. MJN DAP1 IF SYSTEM DEVICE
  2221. LDN 0 INITIALIZE REPLACEMENT ENTRY INDEX
  2222. STD T4
  2223. DAP2 AOD T4 ADVANCE REPLACEMENT INDEX
  2224. LDD T1
  2225. SHN 14
  2226. LMD T2
  2227. SBD T4
  2228. CRD CN READ REPLACEMENT ENTRY
  2229. LDD CN+1
  2230. LMD CM+1
  2231. SCN 37
  2232. NJN DAP2 IF NOT CORRECT REPLACEMENT ENTRY
  2233. LDD CN
  2234. LMD CM
  2235. NJN DAP2 IF NOT CORRECT REPLACEMENT ENTRY
  2236. LDD T1 REPLACE PLD ENTRY
  2237. SHN 14
  2238. LMD T2
  2239. ADD T3
  2240. CWD CN
  2241. LJM DAP1 CONTINUE CHECKING PLD
  2242. SPACE 4,10
  2243. LIBN VFD 42/0LLIBD00,18/0
  2244. NSYS VFD 42/0LSYSTEM,6/1,6/LIFT,6/0
  2245. PRS SPACE 4,10
  2246. ** PRS - PRESET PROGRAM.
  2247.  
  2248.  
  2249. PRS9 LDD DS
  2250. ZJN PRS10 IF NOT DEADSTART
  2251. RJM CSF CLEAR SYSTEM FILE
  2252. LJM PRS15
  2253.  
  2254. * READ SYSTEM SECTOR TO LOCATE PP LIBRARY FILE.
  2255.  
  2256. PRS10 LDC NSYS READ SYSTEM SECTOR
  2257. RJM RSS
  2258. ZJN PRS11 IF NO ERROR
  2259. LDC =C* SYSTEM FILE DESTROYED.*
  2260. LJM ABT1
  2261.  
  2262. PRS11 ENDMS
  2263. LDM PLSS SET PP LIBRARY FILE TRACK
  2264. STD FS+1
  2265. STD FS+2
  2266. STM RSFC
  2267. LDN FSMS
  2268. STD FS+3
  2269. NFA PL,R STORE PP LIBRARY FST
  2270. CWD FS
  2271. LDC EPDP GET ENTRY POINT DIRECTORY ADDRESS
  2272. CRD CM
  2273. LDN 0 CLEAR PROGRAM COUNT
  2274. STD T2
  2275. UJN PRS14 ENTER LOOP
  2276.  
  2277. * DISABLE ALTERNATE CP LIBRARY.
  2278.  
  2279. PRS12 LDD CM+2 READ PST ENTRY
  2280. RAD CN+3
  2281. LPN 77
  2282. SHN 14
  2283. LMD CN+4
  2284. ADD CM+3
  2285. CRD AB
  2286. SBN 1 GET SYSTEM TRACK AND SECTOR
  2287. CRD CW
  2288. LDD AB+1 CHECK IF *ASR* RESIDENT PROGRAM
  2289. LPC 4000
  2290. ZJN PRS13 IF NOT *ASR* RESIDENT
  2291. LMD AB+1 CLEAR *ASR* FLAG
  2292. STD CW+1
  2293. LDD AB SET FL CONTROL
  2294. STD CW
  2295. LDD CN+3 UPDATE PST CONTROL WORD
  2296. LPN 77
  2297. SHN 14
  2298. LMD CN+4
  2299. ADD CM+3
  2300. CWD CW
  2301. AOD T2 ADVANCE PROGRAM COUNT
  2302. PRS13 AOD CM+1 ADVANCE EPD ADDRESS
  2303. SHN -14
  2304. PRS14 RAD CM
  2305. SHN 14
  2306. LMD CM+1
  2307. CRD CN READ ENTRY NAME
  2308. LDD CN
  2309. NJN PRS12 IF NOT END OF EPD
  2310. LDD T2
  2311. ZJN PRS15 IF NO PREVIOUS ALTERNATE LIBRARY
  2312. RJM DAP DISABLE ALTERNATE RESIDENT PP PROGRAMS
  2313. AOM WADB
  2314. LDC RTCL READ CLOCK
  2315. CRD CW
  2316.  
  2317. * SET LIBDECK RECORD NAME.
  2318.  
  2319. PRS15 LDN DSSL
  2320. CRD CM READ LIBDECK NUMBER
  2321. LDD CM+4
  2322. SHN -6
  2323. STD T0
  2324. SHN 3
  2325. LMD T0
  2326. SCN 70
  2327. RAM LIBN+2
  2328.  
  2329. * TERMINATE INITIALIZATION PROCESS.
  2330.  
  2331. PRS16 LDN ZERL SET RPL ADDRESS FOR SYSEDIT
  2332. CRD CM-3
  2333. CRD CN
  2334. ADN RPLP-ZERL
  2335. CRD CM
  2336. AOD CN+4
  2337. STD CN+3
  2338. LDD IR+3 RETURN PARAMETERS TO SYSEDIT
  2339. SHN 6
  2340. ADD RA
  2341. SHN 6
  2342. ADD IR+4
  2343. CWD CN
  2344. ADN 1
  2345. CWM LIBN,ON
  2346. CWD CM-3
  2347.  
  2348. PRS SUBR ENTRY/EXIT
  2349.  
  2350. ERRPL *-BFMS SYSTEM SECTOR BUFFER OVERLAYS CODE
  2351.  
  2352. * CLEAR SYSTEM AND PP LIBRARY FST ADDRESSES. NOTE THAT THE
  2353. * FOLLOWING CODE ALSO CLEARS FN - FN+1.
  2354.  
  2355. LDN ZERL CLEAR FST ADDRESSES
  2356. CRD SF
  2357. ERRNZ PL-SF-1 (ADJUST IF LOCATIONS CHANGE)
  2358. ERRNZ AL-SF-2 (ADJUST IF LOCATIONS CHANGE)
  2359. * LDN 0
  2360. * STD SF
  2361. * STD PL
  2362. * STD AL
  2363. ADK SLM-ZERL SET SECTOR LIMIT ADDRESS
  2364. STD SL
  2365. ADK MMFL-SLM
  2366. CRD CM
  2367. LDD CM+1
  2368. SHN 21-13
  2369. MJN PRS1 IF SHARED RMS PRESENT
  2370. LCN TRESBL/5
  2371. RAM ERDA
  2372. LDC TRESB
  2373. STM ERDC
  2374. PRS1 LDD DS
  2375. NJN PRS2 IF DEADSTART
  2376. RJM VSC VALIDATE *SLL* CALL
  2377. ZJN PRS3 IF VALID CALL
  2378. LJM ABT1 ISSUE MESSAGE AND ABORT
  2379.  
  2380. PRS2 RJM IDS INITIALIZE DEADSTART
  2381. PRS3 RJM SSD SET SYSTEM DEVICES
  2382. NFA LFCN
  2383. CRD CM GET LOCAL FILE COUNT
  2384. LDC MXLF-2-SRFE-3
  2385. SBD CM+4 CHECK LOCAL FILE LIMIT
  2386. PJN PRS4 IF SYSTEM FILES WILL NOT CAUSE FILE LIMIT
  2387. LDC PRSB * SLL - LOCAL FILE LIMIT.*
  2388. LJM ABT1 ABORT *SYSEDIT* JOB
  2389.  
  2390. * ENTER FNT ENTRIES FOR SYSTEM FILES.
  2391.  
  2392. PRS4 LDC NPPU CREATE PP LIBRARY FILE
  2393. RJM CLF
  2394. STD PL
  2395. LCN LOFT-SYFT CHANGE FILE TYPE TO *SYFT*
  2396. SHN 6
  2397. RAD FN+4
  2398. NFA FA,R STORE FNT ENTRY
  2399. CWD FN
  2400. ADN FSTL
  2401. CWD FS
  2402. LDN SSTL
  2403. CRD CM
  2404. ADK CPPL-SSTL
  2405. CRD CN GET NUMBER OF CONCURRENT PPS
  2406. LDD CN+3
  2407. LPN 77
  2408. ZJN PRS5 IF NO CONCURRENT PPS
  2409. LDN 40
  2410. STM TRESF+3 FORCE *6DC* CM RESIDENT
  2411. STM TRESF+3+5 FORCE *6DD* CM RESIDENT
  2412. STM TRESN+3+5*0 FORCE *WLD* AND OVERLAYS CM RESIDENT
  2413. STM TRESN+3+5*1
  2414. STM TRESN+3+5*2
  2415. AOM ERDA FORCE *2SG* CM RESIDENT
  2416. PRS5 LDC MMFL FETCH MMF STATUS WORD
  2417. CRD CM
  2418. LDD CM+1
  2419. SHN 21-12
  2420. PJN PRS6 IF NOT LOW SPEED PORT MMF
  2421. LDN 40 FORCE *MTE* OVERLAYS CM RESIDENT
  2422. STM TRESG+3+5*0
  2423. STM TRESG+3+5*1
  2424. STM TRESG+3+5*2
  2425. PRS6 LDC MABL CHECK FOR CY180
  2426. CRD CM
  2427. LDD CM+1
  2428. SHN 21-13
  2429. MJN PRS7 IF NOT CME MACHINE
  2430. SHN 21-6-21+13
  2431. PJN PRS7 IF 865/875
  2432. LDN 40 FORCE *1MB* CM RESIDENT
  2433. STM TRESJ+3
  2434.  
  2435. * ATTACH SYSTEM FILE TO JOB.
  2436.  
  2437. PRS7 LDC NSYS CREATE LOCAL COPY OF SYSTEM FILE
  2438. RJM CLF
  2439. STD SF
  2440. LDN FNTP READ FNT POINTER
  2441. CRD CM+3
  2442. LDD CM+3 READ SYSTEM FILE FST
  2443. SHN 14
  2444. LMD CM+4
  2445. ERRNZ SYFO SYSTEM FILE ORDINAL .NE. 0
  2446. ADN FSTG
  2447. CRD T5
  2448. LDD DS
  2449. NJN PRS8 IF DEADSTART
  2450. STD CM+1
  2451. MONITOR UTEM INTERLOCK SYSTEM FILE
  2452. LDD CM+1
  2453. NJP REC IF FILE NOT INTERLOCKED
  2454. PRS8 LDD T6 REWIND FILE FOR LOCAL FST
  2455. STD FS+1
  2456. STD FS+2
  2457. LDN 5 SET OPERATION COMPLETE
  2458. STD FS+4
  2459.  
  2460. * COMPLETE FILE INITIALIZATION.
  2461.  
  2462. LCN LOFT-LIFT CHANGE FILE TYPE TO *LIFT*
  2463. SHN 6
  2464. RAD FN+4
  2465. NFA SF,R STORE LOCAL FST INFORMATION
  2466. CWD FS
  2467. SBN FSTL STORE FNT ENTRY
  2468. CWD FN
  2469. LDM TSYD LOAD SYSTEM DEVICE DRIVER
  2470. RJM STA
  2471. LJM PRS9 CHECK DEADSTART
  2472.  
  2473.  
  2474. PRSB DATA C* SLL - LOCAL FILE LIMIT.*
  2475. REC SPACE 4,10
  2476. ** REC - RECALL PP.
  2477. *
  2478. * EXIT TO *PPR* IF NO ERROR FLAG IS SET IN THE CPA.
  2479. * TO *ABT1* IF ERROR FLAG SET IN CPA.
  2480. *
  2481. * USES SF, CM - CM+4.
  2482. *
  2483. * CALLS CFE.
  2484. *
  2485. * MACROS DELAY, MONITOR, PAUSE.
  2486.  
  2487.  
  2488. REC LDC ** CHECK IF *NO ABORT* OPTION SET
  2489. RECA EQU *-1
  2490. SCN 77
  2491. NJN REC2 IF NO ABORT SET
  2492. REC1 LDN 0 CLEAR SYSTEM FILE ASSIGNMENT
  2493. STD SF
  2494. LDC RECB
  2495. LJM ABT1 ABORT JOB
  2496.  
  2497. * PROCESS *SLL* RECALL.
  2498.  
  2499. REC2 RAD IR+3
  2500. DELAY
  2501. PAUSE
  2502. LDD CM+1 CHECK ERROR FLAGS
  2503. NJN REC1 IF ERROR FLAGS ARE SET
  2504. LDD PL RELEASE PP LIBRARY FNT ENTRY
  2505. RJM CFE
  2506. LDD SF RELEASE SYSTEM FILE FNT ENTRY
  2507. RJM CFE
  2508. LDN ZERL DEFAULT TO TIMED RECALL
  2509. CRD CM
  2510. LDD MA
  2511. CWD IR
  2512. MONITOR RECM RECALL PP
  2513. LJM PPR ENTER PP RESIDENT
  2514.  
  2515.  
  2516. RECB DATA C* SYSTEM FILE RESERVED.*
  2517. SPACE 4,10
  2518.  
  2519. CON 2 NO RETURN W/O FILE CREATION AND RETURN ON
  2520. NFL INCREASE (*0BF* CALL)
  2521. OVL BSS 0 ZERO LEVEL OVERLAY LOAD ADDRESS
  2522. ERRNG 7777-OVL-ZBFL CHECK LENGTH OF *0BF*
  2523. CRD SPACE 4,15
  2524. ** CRD - CHECK FOR RESIDENT DRIVER OR CONTROLWARE.
  2525. *
  2526. * ENTRY (CM - CM+4) = EST ENTRY.
  2527. *
  2528. * EXIT *1DA* AND *3DZ* CM RESIDENT IF *DAS* DRIVE.
  2529. * *1HP* CM RESIDENT IF 885-42 DRIVE.
  2530. * *1HY* CM RESIDENT IF 887 DRIVE.
  2531. * *1XD* CM RESIDENT IF XMD DRIVE.
  2532. * *1XM* AND *MA464* CM RESIDENT IF 895 DRIVE.
  2533. * *1XY* AND *MA464* CM RESIDENT IF CCH 895 DRIVE.
  2534. * *MB468* CM RESIDENT IF *CT* OR *AT* DRIVE.
  2535. *
  2536. * USES T0, T1.
  2537.  
  2538.  
  2539. CRD3 LDC CRDAL SET LENGTH OF TABLE
  2540. STD T1
  2541. CRD4 LCN 2 CHECK NEXT TABLE ENTRY
  2542. RAD T1
  2543. MJN CRDX IF END OF TABLE
  2544. LDM CRDA,T1 COMPARE DEVICE TYPES
  2545. LMD CM+3
  2546. NJN CRD4 IF DEVICE TYPES DO NOT MATCH
  2547. LDM CRDA+1,T1
  2548. STD T0 SET LIST ADDRESS
  2549. LDN 40
  2550. STI T0 FORCE OVERLAY CM RESIDENT
  2551. LDD T0
  2552. LMC TRESM+3
  2553. NJN CRDX IF NOT *DAS* DEVICE
  2554. LDN 40
  2555. STM TRESM+5+3 ALSO FORCE *3DZ* CM RESIDENT
  2556.  
  2557. CRD SUBR ENTRY/EXIT
  2558. LDD CM+3 CHECK DEVICE TYPE
  2559. LMC 2RDC
  2560. NJN CRD3 IF NOT 895
  2561. LDN 40
  2562. STM TRESK+3 FORCE *MA464* CONTROLWARE CM RESIDENT
  2563. LDN CM
  2564. STD T0
  2565. CRD1 AOD T0 ADVANCE TO NEXT CHANNEL BYTE
  2566. LMN CM+3
  2567. ZJN CRDX IF BOTH CHANNEL BYTES CHECKED
  2568. LDI T0
  2569. ZJN CRD1 IF NO CHANNEL PRESENT
  2570. LPN 40
  2571. ZJN CRD2 IF NON-CONCURRENT CHANNEL
  2572. STM TRESD+3*5+3 FORCE *1XY* CM RESIDENT
  2573. UJN CRD1 CHECK NEXT CHANNEL
  2574.  
  2575. CRD2 LDN 40 FORCE *1XM* AND OVERLAYS CM RESIDENT
  2576. STM TRESD+3
  2577. STM TRESD+5+3
  2578. STM TRESD+2*5+3
  2579. UJN CRD1 CHECK NEXT CHANNEL
  2580.  
  2581.  
  2582. CRDA BSS 0 DEVICES WITH RESIDENT DRIVERS/CONTROLWARE
  2583. CON 2RAT,TRESP+3 ACS CARTRIDGE TAPE
  2584. CON 2RCT,TRESP+3 CARTRIDGE TAPE
  2585. CON 2RDB,TRESC+3 885-42 DISK
  2586. CON 2RDF,TRESH+3 887 (4KB SECTOR) DISK
  2587. CON 2RDH,TRESH+3 887 (16KB SECTOR) DISK
  2588. CON 2RDN,TRESI+3 9853 DISK
  2589. CON 2REA,TRESM+3 5832 (1X SSD) DISK
  2590. CON 2REB,TRESM+3 5832 (2X SSD) DISK
  2591. CON 2REC,TRESM+3 5833 (1X SABRE) DISK
  2592. CON 2RED,TRESM+3 5833 (1XP SABRE) DISK
  2593. CON 2REE,TRESM+3 5833 (2X SABRE) DISK
  2594. CON 2REF,TRESM+3 5833 (2XP SABRE) DISK
  2595. CON 2REG,TRESM+3 5838 (1X ELITE) DISK
  2596. CON 2REH,TRESM+3 5838 (1XP ELITE) DISK
  2597. CON 2REI,TRESM+3 5838 (2X ELITE) DISK
  2598. CON 2REJ,TRESM+3 5838 (2XP ELITE) DISK
  2599. CON 2REK,TRESM+3 5838 (3XP ELITE) DISK
  2600. CON 2REL,TRESM+3 5838 (4X ELITE) DISK
  2601. CON 2REM,TRESM+3 5833 (3XP SABRE) DISK
  2602. CON 2REN,TRESM+3 5833 (4X SABRE) DISK
  2603. CON 2REO,TRESM+3 47444 (1X 3.5IN) DISK
  2604. CON 2REP,TRESM+3 47444 (1XP 3.5IN) DISK
  2605. CON 2RES,TRESM+3 47444 (2X 3.5IN) DISK
  2606. CON 2REU,TRESM+3 47444 (2XP 3.5IN) DISK
  2607. CON 2REV,TRESM+3 47444 (3XP 3.5IN) DISK
  2608. CON 2REW,TRESM+3 47444 (4X 3.5IN) DISK
  2609. CRDAL EQU *-CRDA LENGTH OF TABLE
  2610. ECS SPACE 4,10
  2611. ** ECS - CHECK EXTENDED MEMORY PRESENT.
  2612. *
  2613. * ENTRY (CM - CM+4) = EST ENTRY.
  2614. *
  2615. * EXIT (A) = BYTE 0 OF EST.
  2616. * *1MC* CM RESIDENT IF EXTENDED MEMORY PRESENT.
  2617.  
  2618.  
  2619. ECS2 LDD CM POSITION FOR SYSTEM DEVICE CHECK
  2620. SHN 21-12
  2621.  
  2622. ECS SUBR ENTRY/EXIT
  2623. LDD CM+3
  2624. LPC 3777
  2625. LMC 2RDP CHECK FOR TYPE *DP*
  2626. ECSA ZJN ECS1 IF EXTENDED MEMORY PRESENT
  2627. * UJN ECS2 (IF A CYBER 176)
  2628. LMN 2RDE&2RDP CHECK FOR TYPE *DE*
  2629. NJN ECS2 IF NOT AN EXTENDED MEMORY TYPE OF DEVICE
  2630. ECS1 LDN 40 SET *1MC* CM RESIDENT
  2631. STM TRESA+3
  2632. UJN ECS2 RETURN
  2633. IDS SPACE 4,10
  2634. ** IDS - INITIALIZE DEAD START.
  2635.  
  2636.  
  2637. IDS SUBR ENTRY/EXIT
  2638. LDN DSSL
  2639. CRD CM
  2640. LDD CM+4 CHECK DEADSTART FLAG
  2641. LPN 4
  2642. SHN -2
  2643. STD DS
  2644. NJN IDS1 IF DEADSTART INTERLOCK SET
  2645. LJM ABT ISSUE MESSAGE AND ABORT
  2646.  
  2647. IDS1 PAUSE NE
  2648. LDD IR+3 READ *REC* INPUT REGISTER
  2649. CRD CM
  2650. LDD CM+3 CHECK RECOVERY COMPLETE FLAG
  2651. LMC 7776
  2652. NJN IDS1 IF NOT SET
  2653.  
  2654. IDS2 PAUSE
  2655. LDD CM CHECK CPU STATUS
  2656. SHN -11
  2657. ZJN IDS2 IF CPU NOT ACTIVE
  2658. LDD RA READ (RA+3)
  2659. SHN 6
  2660. ADN 3
  2661. CRD CM
  2662. LDD CM+3 SET CONTROL WORD ADDRESS
  2663. LPN 37
  2664. STD IR+3
  2665. SHN 14
  2666. LMD CM+4
  2667. STD IR+4
  2668. ZJN IDS2 IF NOT SET
  2669. LJM IDSX RETURN
  2670. SSD SPACE 4,10
  2671. ** SSD - SET SYSTEM DEVICES.
  2672. *
  2673. * EXIT (TSYD) PREPARED.
  2674. * (LE) = LAST MASS STORAGE EST ORDINAL + 1.
  2675. *
  2676. * ERROR TO *ABT* IF SYSTEM DEVICE DOWN.
  2677. *
  2678. * USES EI, LE, T5, CM - CM+4, CN - CN+4.
  2679. *
  2680. * CALLS CBD, ECS.
  2681. *
  2682. * MACROS SFA.
  2683.  
  2684.  
  2685. SSD SUBR ENTRY/EXIT
  2686. LDN ESTP READ EST POINTER
  2687. CRD CN
  2688. ADK MABL-ESTP READ MAINFRAME TYPE
  2689. CRD CM
  2690. LDD CN+2 SET END OF EST
  2691. STM SSDB+1
  2692. LDD CN+3 SET END OF MASS STORAGE EQUIPMENTS
  2693. STD LE
  2694. LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
  2695. STD T5
  2696. LDN 0
  2697. STD EI CLEAR TABLE INDEX
  2698. LDD CM+1 CHECK MAINFRAME TYPE
  2699. SHN -11
  2700. LMN 7
  2701. NJN SSD1 IF NOT CYBER 176
  2702. LDC *
  2703. ORG *-1
  2704. LOC ECSA
  2705. UJN ECS2 DISABLE CM RESIDENCY OF *1MC* ON C176
  2706. LOC *O
  2707. STM ECSA
  2708. SSD1 AOD T5 READ NEXT EST ENTRY
  2709. SSDB LMC * (LAST EST ORDINAL+1)
  2710. ZJN SSDX IF END OF EST
  2711. SFA EST,T5 READ EST ENTRY
  2712. ADK EQDE
  2713. CRD CM
  2714. RJM CRD CHECK FOR RESIDENT DRIVER OR CONTROLWARE
  2715. LDD CM CHECK EQUIPMENT
  2716. SHN 21-13
  2717. PJN SSD1 IF NOT MASS STORAGE
  2718. RJM ECS CHECK FOR EXTENDED MEMORY
  2719. PJN SSD1 IF NOT SYSTEM DEVICE
  2720. LDD CM
  2721. LPN 3 CHECK DEVICE STATE
  2722. LMN 3
  2723. NJN SSD2 IF NOT DOWN
  2724. LDC SSDA
  2725. LJM ABT1 ABORT JOB
  2726.  
  2727. SSD2 LDD EI CHECK IF SYSTEM DEVICE TABLE FULL
  2728. LMN MXSY
  2729. ZJN SSD3 IF MAXIMUM SYSTEM DEVICES ALREADY DEFINED
  2730. LDD T5 ENTER EST ORDINAL IN TABLE
  2731. STM TSYD,EI
  2732. AOD EI ADVANCE TABLE INDEX
  2733. SSD3 LJM SSD1 CHECK NEXT EST ENTRY
  2734.  
  2735.  
  2736. SSDA DATA C* SYSTEM DEVICE DOWN.*
  2737. VSC SPACE 4,15
  2738. ** VSC - VALIDATE *SLL* CALL.
  2739. *
  2740. * ENTRY (IR+3 - IR+4) = REQUEST WORD ADDRESS.
  2741. *
  2742. * EXIT (A) = 0 IF VALID *SLL* CALL.
  2743. * = ADDRESS OF ERROR MESSAGE.
  2744. *
  2745. * ERROR TO *ABT* IF NOT *SSJ=* CALLER.
  2746. *
  2747. * USES IR+3, CM - CM+4, CN - CN+4.
  2748. *
  2749. * CALLS CUA.
  2750.  
  2751.  
  2752. VSC SUBR ENTRY/EXIT
  2753. LDD CP READ SPECIAL ENTRY POINTS
  2754. ADK SEPW
  2755. CRD CM
  2756. ADK JSCW-SEPW READ JOB SECURITY WORD
  2757. CRD CN
  2758. LDD CM
  2759. SHN 21-2
  2760. MJN VSC1 IF CALLED BY *SSJ=* JOB
  2761. LJM ABT * INCORRECT SLL REQUEST.*
  2762.  
  2763. VSC1 RJM CUA CHECK USER ACCESS
  2764. NJN VSC2 IF ACCESS NOT ALLOWED
  2765. LDK SSML CHECK SECURITY MODE
  2766. CRD CM
  2767. LDD CM
  2768. LPN 7
  2769. ZJN VSC4 IF UNSECURED SYSTEM
  2770. LDD CN
  2771. SHN 21-13
  2772. MJN VSC4 IF SECURITY ADMINISTRATOR
  2773. VSC2 LDC VSCA
  2774. VSC3 UJN VSCX RETURN
  2775.  
  2776. VSC4 LDD IR+3 CHECK REQUEST WORD ADDRESS
  2777. STM RECA
  2778. LPN 37
  2779. STD IR+3
  2780. SHN 14
  2781. LMD IR+4
  2782. SHN -6
  2783. SBD FL
  2784. MJN VSC5 IF ADDRESS WITHIN FL
  2785. LDC =C* SLL ARGUMENT ERROR.*
  2786. UJN VSC3 RETURN
  2787.  
  2788. VSC5 LDN 0 VALID *SLL* CALL
  2789. UJN VSC3 RETURN
  2790.  
  2791.  
  2792. VSCA DATA C* SYSTEM LIBRARY CHANGE INCORRECT.*
  2793. SPACE 4,10
  2794. ** COMMON DECKS.
  2795.  
  2796.  
  2797. SSJ$ EQU 1 DEFINE SSJ CHECKING IN *COMPCUA*
  2798. *CALL COMPCUA
  2799. SPACE 4
  2800. END