Table of Contents

1IS

Table Of Contents

  • [00006] 1IS - INSTALL DEADSTART FILE.
  • [00107] MACRO DEFINITIONS.
  • [00109] ERROR - ERROR MACRO.
  • [00122] MAIN PROGRAM.
  • [00124] MAIN PROGRAM.
  • [00151] ERROR PROCESSOR / MESSAGES.
  • [00153] ABT - ERROR PROCESSOR.
  • [00182] FUNCTION PROCESSORS.
  • [00184] VIF - VALIDATE INSTALL FILE (FUNCTION 1).
  • [00230] FUNCTION PROCESSORS.
  • [00232] IDF - INITIALIZE DEADSTART FILE (FUNCTION 2).
  • [00360] FUNCTION PROCESSORS.
  • [00362] CFI - COMPLETE SDF INSTALLATION (FUNCTION 3).
  • [00510] FUNCTION PROCESSORS.
  • [00512] PME - PROCESS MASS STORAGE ERROR (FUNCTION 4).
  • [00543] SUBROUTINES.
  • [00545] CDF - CREATE DEADSTART FILE.
  • [00609] CFE - CLEAR FNT/FST ENTRY.
  • [00643] CGI - CLEAR GLOBAL INTERLOCK.
  • [00671] DTC - DETERMINE TRACK COUNT.
  • [00692] RCL - RECALL PP.
  • [00714] RDD - READ DEADSTART SECTOR.
  • [00751] SGI - SET GLOBAL INTERLOCK.
  • [00807] WMS - WRITE MASS STORAGE.
  • [00866] CRQ - CHECK REQUEST.

Source Code

1IS.txt
  1. IDENT 1IS,IOS
  2. PERIPH
  3. BASE M
  4. SST
  5. SYSCOM
  6. TITLE 1IS - INSTALL DEADSTART FILE.
  7. *COMMENT 1IS - INSTALL DEADSTART FILE.
  8. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9. SPACE 4,10
  10. ***** 1IS - INSTALL DEADSTART FILE.
  11. *
  12. * P. D. HAAS. 78/03/16.
  13. * D. R. HILGREN. 78/08/01.
  14. SPACE 4,10
  15. *** *1IS* WORKS IN CONJUNCTION WITH THE CP ROUTINE
  16. * *INSTALL* TO INSTALL THE RUNNING SYSTEM OR USER
  17. * SPECIFIED DEADSTART FILE ON A RMS DEADSTART DEVICE.
  18. SPACE 4,10
  19. *** CALL.
  20. *
  21. *T 18/ *1IS* ,6/0,12/ CODE ,12/ SFA ,12/ IFA
  22. *
  23. * CODE = FUNCTION CODE.
  24. * SFA = SDF FET FWA (IF PRESENT).
  25. * IFA = INSTALL FILE FET FWA (IF PRESENT).
  26. *
  27. *
  28. * FOR FUNCTION CODE *IDF*,
  29. *T,FET+5 48/0,12/ EQ
  30. *
  31. * EQ = EST ORDINAL SPECIFIED ON *INSTALL*.
  32. *
  33. *
  34. * FOR FUNCTION CODE *CFI*,
  35. *T,FET+5 24/ R1 ,12/0,24/ R2
  36. *
  37. * R1 = RANDOM SECTOR ADDRESS OF *OSB*.
  38. * R2 = RELATIVE SECTOR ADDRESS OF EOI.
  39. SPACE 4,10
  40. *** DAYFILE MESSAGES.
  41. *
  42. * * ASSIGNED FILE CONFLICT - SDF.* - A LOCAL FILE NAMED *SDF*
  43. * IS ASSIGNED AT THE CONTROL POINT. *SDF* IS A RESERVED FILE
  44. * NAME.
  45. *
  46. * * INCORRECT SDF DEVICE.* - THE EQUIPMENT SELECTED TO RECEIVE
  47. * A DEADSTART FILE DOES NOT MEET THE REQUIREMENTS OF AN *RMS*
  48. * DEADSTART DEVICE.
  49. *
  50. * * INSTALL FILE NOT FOUND.* - THE FILE TO BE INSTALLED AS A
  51. * DEADSTART FILE WAS NOT FOUND (NOT ASSIGNED TO THE JOB CONTROL
  52. * POINT).
  53. *
  54. * * INSTALL FILE NOT MASS STORAGE.* - THE FILE TO BE INSTALLED
  55. * AS A DEADSTART FILE DOES NOT RESIDE ON MASS STORAGE.
  56. *
  57. * * MS ERROR ON DEADSTART FILE.* - A MASS STORAGE ERROR WAS
  58. * ENCOUNTERED WHILE WRITING THE DEADSTART FILE, OR READING
  59. * THE DEADSTART SECTOR.
  60. *
  61. * * TRACK LIMIT ON SDF DEVICE.* - THE DEVICE SELECTED TO BECOME
  62. * AN *RMS* DEADSTART DEVICE DOES NOT HAVE ENOUGH SPACE TO
  63. * ACCOMMODATE THE DEADSTART FILE.
  64. *
  65. * * 1IS - INCORRECT REQUEST.* - 1IS WAS CALLED WITH AN
  66. * INCORRECT FUNCTION REQUEST.
  67. *
  68. * * INSTALL ABORTED.* - OPERATOR ACTION ABORTED JOB.
  69. SPACE 4,10
  70. *** OPERATOR MESSAGES.
  71. *
  72. * *WAITING - GLOBAL INTERLOCK.* - GLOBAL INTERLOCK IS NOT
  73. * AVAILABLE FOR DEADSTART FILE INSTALLATION. *1IS* ISSUES
  74. * MESSAGE AND GOES ON RECALL.
  75. SPACE 4,10
  76. ** ROUTINES USED.
  77. *
  78. * 0BF - BEGIN FILE.
  79. * 0PI - PRESET DRIVER TO READ/WRITE DEADSTART SECTOR.
  80. SPACE 4,10
  81. *CALL COMPMAC
  82. *CALL COMSCPS
  83. *CALL COMSDSL
  84. *CALL COMSLFD
  85. *CALL COMSMSP
  86. *CALL COMSMST
  87. *CALL COMSPIM
  88. *CALL COMSPRD
  89. *CALL COMSSSJ
  90. *CALL COMSWEI
  91. SPACE 4,10
  92. **** DIRECT LOCATION ASSIGNMENTS.
  93.  
  94.  
  95. FS EQU 20 - 24 FST ENTRY (5 LOCATIONS)
  96. RI EQU 25 - 26 RANDOM INDEX (2 LOCATIONS)
  97. MS EQU 27 MST POINTER
  98. CN EQU 30 - 34 CM WORD BUFFER (5 LOCATIONS)
  99. TC EQU 35 TRACK COUNT
  100. CT EQU 36 CURRENT TRACK
  101. FN EQU 40 - 44 FNT ENTRY (5 LOCATIONS)
  102. EQ EQU 45 EST ORDINAL
  103. PA EQU 46 PROCESSOR ADDRESS
  104. FA EQU 57 FST ADDRESS
  105. WB EQU 63 - 67 CM WORD BUFFER (5 LOCATIONS)
  106. ****
  107. TITLE MACRO DEFINITIONS.
  108. SPACE 4,10
  109. ** ERROR - ERROR MACRO.
  110. *
  111. * ERROR A
  112. *
  113. * *A* = ADDRESS OF ERROR MESSAGE.
  114.  
  115.  
  116. PURGMAC ERROR
  117.  
  118. ERROR MACRO A
  119. LDC A
  120. RJM ABT
  121. ENDM
  122. TITLE MAIN PROGRAM.
  123. IOS SPACE 4,10
  124. ** 1IS - MAIN PROGRAM.
  125.  
  126.  
  127. ORG PPFW
  128.  
  129. IOS RJM CRQ CHECK REQUEST
  130. LDM TFCN-1,IR+2 SET PROCESSOR ADDRESS
  131. STD PA
  132. RJM 0,PA EXECUTE PROCESSOR
  133. LDN 1 SET REQUEST COMPLETE
  134. STD IR+4
  135. LDD RA STORE REQUEST COMPLETE
  136. SHN 6
  137. ADN ARGR
  138. CWD IR
  139. MONITOR DPPM DROP PP
  140. LJM PPR EXIT TO PP RESIDENT
  141. SPACE 4,10
  142. TFCN BSS 0 TABLE OF FUNCTION REQUESTS
  143. LOC 1
  144. CON VIF VALIDATE INSTALL FILE
  145. CON IDF INITIALIZE DEADSTART FILE
  146. CON CFI COMPLETE SDF INSTALLATION
  147. CON PME PROCESS MASS STORAGE ERROR
  148.  
  149. TFCNL BSS 0 TABLE LENGTH
  150. LOC *O
  151. TITLE ERROR PROCESSOR / MESSAGES.
  152. ABT SPACE 4,10
  153. ** ABT - ERROR PROCESSOR.
  154. *
  155. * ENTRY (A) = ADDRESS OF ERROR MESSAGE.
  156. *
  157. * EXIT TO *PPR*.
  158. * ERROR MESSAGE ISSUED.
  159. * CONTROL POINT ABORTED.
  160. *
  161. * CALLS DFM.
  162. *
  163. * MACROS MONITOR.
  164.  
  165.  
  166. ABT CON 0 ENTRY
  167. RJM DFM ISSUE MESSAGE
  168. MONITOR ABTM ABORT CONTROL POINT
  169. LJM PPR EXIT TO PP RESIDENT
  170. SPACE 4,10
  171. * ERROR MESSAGES.
  172.  
  173.  
  174. EILR DATA C* 1IS - INCORRECT REQUEST.*
  175. EISD DATA C* INCORRECT SDF DEVICE.*
  176. EAFC DATA C* ASSIGNED FILE CONFLICT - SDF.*
  177. EFNF DATA C* INSTALL FILE NOT FOUND.*
  178. EFNM DATA C* INSTALL FILE NOT MASS STORAGE.*
  179. EMSE DATA C* MS ERROR ON DEADSTART FILE.*
  180. ETKL DATA C* TRACK LIMIT ON SDF DEVICE.*
  181. EABT DATA C* INSTALL ABORTED.*
  182. TITLE FUNCTION PROCESSORS.
  183. VIF SPACE 4,10
  184. ** VIF - VALIDATE INSTALL FILE (FUNCTION 1).
  185.  
  186.  
  187. VIF SUBR ENTRY/EXIT
  188. LDD RA GET INSTALL FILE NAME FROM FET
  189. SHN 6
  190. ADD IR+4
  191. CRD FN
  192. ADN 4 READ LIMIT WORD
  193. CRD CN
  194. RJM SAF SEARCH FOR ASSIGNED FILE
  195. NJN VIF1 IF INSTALL FILE FOUND
  196. ERROR EFNF * INSTALL FILE NOT FOUND.*
  197.  
  198. VIF1 STD CN SET FNT ADDRESS IN LIMIT WORD
  199. NFA CN,R READ INSTALL FILE FST INFORMATION
  200. ADN FSTL
  201. CRD FS
  202. CRD T5
  203. SFA EST,T5 READ EST ENTRY
  204. ADK EQDE
  205. CRD CM
  206. LDD CM
  207. SHN 21-13
  208. MJN VIF3 IF INSTALL FILE ON MASS STORAGE
  209. VIF2 ERROR EFNM * INSTALL FILE NOT MASS STORAGE.*
  210.  
  211. VIF3 RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS
  212. LDD FS+2
  213. ZJN VIF2 IF NO TRACK ASSIGNED
  214. RJM SEI FIND EOI ON INSTALL FILE
  215. LDD T6 SET EOI POSITION IN FST
  216. STD FS+2
  217. LDD T7
  218. STD FS+3
  219. LDN 1
  220. STD FS+4
  221. NFA CN,R STORE INSTALL FILE FST INFORMATION
  222. ADN FSTL
  223. CWD FS
  224. LDD RA STORE LIMIT WORD
  225. SHN 6
  226. ADD IR+4
  227. ADN 4
  228. CWD CN
  229. LJM VIFX RETURN
  230. TITLE FUNCTION PROCESSORS.
  231. IDF SPACE 4,10
  232. ** IDF - INITIALIZE DEADSTART FILE (FUNCTION 2).
  233.  
  234.  
  235. IDF SUBR ENTRY/EXIT
  236. LDD RA GET SDF FILE NAME FROM FET
  237. SHN 6
  238. ADD IR+3
  239. CRD FN
  240. ADN 4 READ LIMIT WORD
  241. CRD CN
  242. ADN 5-4 READ FET PARAMETER WORD
  243. CRD WB
  244. RJM SAF SEARCH FOR ASSIGNED FILE
  245. ZJN IDF2 IF FILE NOT FOUND
  246. NFA FA,R READ FST INFORMATION
  247. CRD CM
  248. ADN FSTL
  249. CRD FS
  250. LDD CM+4
  251. LPN 77
  252. LMN SSST
  253. ZJN IDF1 IF CREATED BY *1IS* REQUEST
  254. ERROR EAFC * ASSIGNED FILE CONFLICT - SDF.*
  255.  
  256. IDF1 LDD FS SET EST ORDINAL
  257. STD EQ
  258. UJN IDF3 CREATED BY DEADSTART REQUEST
  259.  
  260. IDF2 LDD WB+4 CREATE DEADSTART FILE FNT
  261. RJM CDF
  262. LDD EQ SET EST ORDINAL
  263. IDF3 STD T5
  264. LDD FA SET FNT ADDRESS IN LIMIT WORD
  265. STD CN
  266. LDD RA STORE LIMIT WORD
  267. SHN 6
  268. ADD IR+3
  269. ADN 4
  270. CWD CN
  271. RJM SGI SET GLOBAL INTERLOCK
  272. ZJN IDF4 IF INTERLOCK SET
  273. LJM RCL RECALL PP
  274.  
  275. IDF4 LDD CN CHECK PRESENSE OF SDF
  276. LPC MGDSF
  277. ZJN IDF5 IF NO SDF ON DEVICE
  278. LDN 0 READ DEADSTART SECTOR
  279. RJM RDD
  280. LDN ZERL CLEAR SDF INDICATORS
  281. CRM BFMS+OSBP,ON
  282. LDC BFMS+WLSF REWRITE DEADSTART SECTOR
  283. RJM WMS
  284. ENDMS RELEASE CHANNEL
  285. CMSTF GDSF
  286. LDM BFMS+OSBP+5 EXTRACT FIRST TRACK OF SDF
  287. STD CM+2
  288. SHN 0-13
  289. ZJN IDF5 IF GARBAGE IN DEADSTART SECTOR
  290. LDD T5
  291. LMC 4000 SET CHECKPOINT REQUEST
  292. STD CM+1
  293. MONITOR DTKM RELEASE SDF TRACK CHAIN
  294. IDF5 RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS
  295. LDD RA GET NEW DEADSTART FILE LENGTH
  296. SHN 6
  297. ADD IR+4 READ INSTALL FET PARAMETER WORD
  298. ADN 5
  299. CRD CN
  300. RJM DTC DETERMINE TRACK COUNT
  301. LDN ZERL REQUEST TRACK CHAIN FOR DEADSTART FILE
  302. CRD CM
  303. LDD T5
  304. STD CM+1
  305. LCN 1 SELECT RESERVE ALL TRACKS
  306. STD CM+4
  307. SHN -14
  308. STD CM+3
  309. MONITOR RTCM
  310. LDD CM+4 SET FIRST TRACK
  311. STD T6
  312. STD CT
  313. STD T4
  314. ZJN IDF6 IF NO TRACKS AVAILABLE
  315. RJM SEI COUNT TRACKS IN CHAIN
  316. STD T3 SAVE TRACK COUNT
  317. SBD TC
  318. PJN IDF7 IF ENOUGH TRACKS IN CHAIN
  319. LDD T5 DROP TRACK CHAIN
  320. STD CM+1
  321. LDD CT
  322. STD CM+2
  323. MONITOR DTKM
  324. IDF6 RJM CFE CLEAR FNT/FST ENTRY
  325. RJM CGI CLEAR GLOBAL INTERLOCK
  326. ERROR ETKL * TRACK LIMIT ON SDF DEVICE.*
  327.  
  328. IDF7 ZJN IDF9 IF EXACTLY ENOUGH TRACKS
  329. IDF8 LDD T4 SAVE CURRENT TRACK
  330. STD T6
  331. RJM SNT SET NEXT TRACK
  332. STD T4
  333. SOD T3 DECREMENT TRACK COUNT
  334. LMD TC
  335. NJN IDF8 IF NOT AT REQUIRED TRACK COUNT
  336.  
  337. * DELINK FIRST PART OF TRACK CHAIN.
  338.  
  339. STD CM+3
  340. LDD CT SET FIRST TRACK
  341. STD CM+2
  342. LDD T6 SET LAST TRACK TO BE DROPPED
  343. STD CM+4
  344. LDD T5
  345. STD CM+1
  346. MONITOR DLKM DELINK FRONT OF TRACK CHAIN
  347. IDF9 LDD T4 SET FIRST TRACK IN FST
  348. STD FS+1
  349. STD FS+2 SET CURRENT TRACK
  350. LDN FSMS SET FIRST SECTOR
  351. STD FS+3
  352. LDN 1
  353. STD FS+4
  354. LDD EQ SET EST ORDINAL
  355. STD FS
  356. NFA FA,R STORE FST INFORMATION
  357. ADN FSTL
  358. CWD FS
  359. LJM IDFX RETURN
  360. TITLE FUNCTION PROCESSORS.
  361. CFI SPACE 4,10
  362. ** CFI - COMPLETE SDF INSTALLATION (FUNCTION 3).
  363.  
  364.  
  365. CFI SUBR ENTRY/EXIT
  366. LDD RA READ SDF LIMIT WORD
  367. SHN 6
  368. ADD IR+3
  369. ADN 4
  370. CRD CM
  371. SBD IR+3 READ INSTALL FILE PARAMETER WORD
  372. ADN 5-4
  373. ADD IR+4
  374. CRD RI (RI - RI+1) = RANDOM ADDRESS OF *OSB*
  375. LDD CM SET SDF FNT ADDRESS
  376. STD FA
  377. NFA CM,R READ FNT ENTRY
  378. CRD FN
  379. ADN FSTL
  380. CRD FS
  381. LCN LOFT-LIFT CHANGE FILE TYPE FOR SYSTEM SECTOR
  382. SHN 6
  383. RAD FN+4
  384. LDC BFMS+502-FTSS-1
  385. STD T2
  386. CFI1 LDN 0 CLEAR SYSTEM SECTOR BUFFER
  387. STM FTSS+1,T2
  388. SOD T2
  389. NJN CFI1 LOOP TO START OF BUFFER
  390. LDD FS SET EST ORDINAL
  391. STD T5
  392. STD CM+1
  393. SFA EST READ EST ENTRY
  394. ADK EQDE
  395. CRD WB
  396. LDD FS+1 SET FIRST TRACK
  397. STD CM+2
  398. LDN SPFS PRESERVE SDF TRACK CHAIN
  399. STD CM+3
  400. MONITOR STBM
  401. RJM IRA INITIALIZE RANDOM ACCESS PROCESSORS
  402. NFA FA,R STORE FNT ENTRY WITH FILE TYPE *LIFT*
  403. CWD FN
  404. SETMS IO,RW
  405. LDD FS+2 SET EOI TRACK
  406. STD T6
  407. LDD FS+3 SET EOI SECTOR
  408. STD T7
  409. RJM WEI WRITE EOI
  410. SETMS POSITION
  411. LDD FS+1 SET FIRST TRACK
  412. STD T6
  413. RJM WSS WRITE SYSTEM SECTOR
  414. ENDMS RELEASE CHANNEL
  415. LDD T5 SET EOI IN TRT
  416. STD CM+1
  417. LDD FS+2
  418. LPC 3777
  419. STD CM+2
  420. LDD FS+3
  421. STD CM+3
  422. MONITOR DTKM
  423. LDD WB+4 GET ALGORITHM INDEX FROM MST
  424. SHN 3
  425. ADN DILL
  426. CRD WB
  427. ADN DDLL-DILL GET UNIT NUMBER
  428. CRD FN
  429. LDD WB+4 SET ALGORITHM INDEX IN PARAMETER BLOCK
  430. LPN 77
  431. LMD HN ADD SEEK FUNCTION (1 TO 1 INTERLACE)
  432. STD CN+3
  433. LPN 77
  434. SBN AIHT+1
  435. PJN CFI2 IF FULL TRACK DEVICE
  436. LDD HN CHANGE SEEK FUNCTION (2 TO 1 INTERLACE)
  437. RAD CN+3
  438. CFI2 RJM CRA CONVERT RANDOM ADDRESS OF *OSB*
  439. LDD FN+4 SET UNIT NUMBER IN MONITOR REQUEST
  440. LPN 77
  441. STD T3
  442. LDD T6 SET TRACK CONTAINING *OSB*
  443. STD CN+4
  444. LDD MA CONVERT LOGICAL TO PHYSICAL ADDRESS
  445. CWD T4
  446. MONITOR LDAM
  447. LDD MA READ PHYSICAL ADDRESS
  448. ADN 1
  449. CRD CN-2
  450. LDD CN+3
  451. LPN 77
  452. LMN AIDC
  453. NJN CFI3 IF NOT 895 DEVICE
  454. LDC 2000 SET 895 DEADSTART READ FLAG
  455. RAD CN+1
  456. AOM CFIA ADVANCE SHIFTS IF 895
  457. STM CFIB
  458. CFI3 AOD T7 SET ADDRESS OF *DIO*
  459. LMM SLM
  460. NJN CFI4 IF NOT TRACK SWITCH
  461. STD T7
  462. RJM SNT SET NEXT TRACK
  463. STD T6
  464. CFI4 LDD MA CONVERT LOGICAL TO PHYSICAL ADDRESS
  465. CWD T4
  466. MONITOR LDAM
  467. * LDN 0
  468. STD T7
  469. LDD MA READ PHYSICAL ADDRESS
  470. ADN 1
  471. CRD CM
  472. LDD CM+2 SET CYLINDER
  473. STD WB+1
  474. LDD CM+3 PACK TRACK AND SECTOR
  475. CFIA SHN 6
  476. * SHN 7 (IF 895)
  477. LMD CM+4
  478. STD WB+2
  479. RJM SNT SET NEXT TRACK
  480. STD T6
  481. LDD MA CONVERT ADDRESS OF NEXT TRACK SWITCH
  482. CWD T4
  483. MONITOR LDAM
  484. LDD MA READ PHYSICAL ADDRESS
  485. ADN 1
  486. CRD CM
  487. LDD CM+2 SET CYLINDER
  488. STD WB+3
  489. LDD CM+3 PACK TRACK AND SECTOR
  490. CFIB SHN 6
  491. * SHN 7 (IF 895)
  492. LMD CM+4
  493. STD WB+4
  494. LDD FS+1 READ DEADSTART SECTOR
  495. STD WB
  496. RJM RDD
  497. LDD MA MOVE SDF PARAMETERS TO DEADSTART SECTOR
  498. CWD CN
  499. CRM BFMS+OSBP,ON
  500. CWD WB
  501. CRM BFMS+OSBP+5,ON
  502. LDC BFMS+WLSF REWRITE DEADSTART SECTOR
  503. RJM WMS
  504. ENDMS RELEASE CHANNEL
  505. RJM CFE CLEAR FNT/FST ENTRY
  506. SMSTF GDSF SET DEADSTART FILE PRESENT IN MST
  507. SMSTF LCKP SET CHECKPOINT REQUEST
  508. RJM CGI CLEAR GLOBAL INTERLOCK
  509. LJM CFIX RETURN
  510. TITLE FUNCTION PROCESSORS.
  511. PME SPACE 4,10
  512. ** PME - PROCESS MASS STORAGE ERROR (FUNCTION 4).
  513.  
  514.  
  515. PME SUBR ENTRY/EXIT
  516. LDD RA
  517. SHN 6
  518. CRD WB
  519. ADD IR+3 GET SDF LIMIT WORD
  520. ADN 4
  521. CRD CN
  522. LDD CN SET FNT ADDRESS
  523. STD FA
  524. ZJN PME1 IF NO FNT ENTRY
  525. NFA CN,R READ FST INFORMATION
  526. ADN FSTL
  527. CRD FS
  528. RJM CFE CLEAR FNT/FST ENTRY
  529. LDD FS SET EST ORDINAL
  530. STD T5
  531. STD CM+1
  532. LDD FS+1 SET FIRST TRACK
  533. ZJN PME1 IF TRACK CHAIN NOT ASSIGNED
  534. STD CM+2
  535. MONITOR DTKM DROP TRACK CHAIN
  536. RJM CGI CLEAR GLOBAL INTERLOCK
  537. PME1 LDD WB+2 CHECK ERROR CONDITION
  538. LPN 77
  539. NJN PME2 IF NOT MASS STORAGE ERROR
  540. ERROR EMSE * MS ERROR ON DEADSTART FILE.*
  541.  
  542. PME2 ERROR EABT * INSTALL ABORTED.*
  543. TITLE SUBROUTINES.
  544. CDF SPACE 4,15
  545. ** CDF - CREATE DEADSTART FILE.
  546. *
  547. * ENTRY (A) = EST ORDINAL OF RMS DEADSTART DEVICE.
  548. * (FN - FN+3) = FILE NAME.
  549. *
  550. * EXIT (EQ) = EST ORDINAL.
  551. * (FA) = FNT ADDRESS.
  552. *
  553. * USES FS, T7, CM - CM+4.
  554. *
  555. * CALLS *0BF*.
  556. *
  557. * MACROS ERROR, EXECUTE, NFA.
  558.  
  559.  
  560. CDF SUBR ENTRY/EXIT
  561. STD EQ SAVE EST ORDINAL
  562. LDN ESTP CHECK EST ORDINAL
  563. CRD CM
  564. LDD EQ
  565. SBD CM+3
  566. PJN CDF1 IF INCORRECT EQUIPMENT SPECIFIED
  567. SFA EST,EQ
  568. ADK EQDE
  569. CRD CM READ EST ENTRY
  570. LDD CM CHECK EQUIPMENT STATUS
  571. LPC 4312
  572. LMC 4210
  573. NJN CDF1 IF NOT ON/AVAILABLE/LDAM/MS DEVICE
  574. LDD CM+1
  575. SHN 21-5
  576. PJN CDF2 IF NOT A CONCURRENT CHANNEL
  577. LDD CM+2
  578. ZJN CDF1 IF SINGLE ACCESS
  579. SHN 21-5
  580. PJN CDF2 IF BOTH CHANNELS ARE NOT CONCURRENT
  581. CDF1 ERROR EISD * INCORRECT SDF DEVICE.*
  582.  
  583. CDF2 LDD CM+3 CHECK DEVICE TYPE
  584. LMC 2RDB
  585. ZJN CDF1 IF *DB* DEVICE
  586. LDD CM+4 READ MST
  587. SHN 3
  588. ADN ACGL
  589. CRD T7
  590. ADN PFGL-ACGL
  591. CRD CM
  592. LDD T7 CHECK CTI PACKAGE PRESENT
  593. LPC MGCTI
  594. ZJN CDF1 IF CTI PACKAGE NOT INSTALLED
  595. LDD CM+4 CHECK DEVICE STATUS
  596. LPN 77
  597. NJN CDF1 IF MULTI-UNIT DEVICE
  598. STM OVL-1 SELECT NO RETURN WITHOUT FILE CREATED
  599. LDN NEEQ SET NO MS ALLOCATION
  600. STD FS
  601. EXECUTE 0BF,OVL CREATE FNT/FST ENTRY
  602. LDD EQ
  603. STD FS
  604. NFA FA,R STORE FST INFORMATION
  605. ADN FSTL
  606. CWD FS
  607. LJM CDFX RETURN
  608. CFE SPACE 4,10
  609. ** CFE - CLEAR FNT/FST ENTRY.
  610. *
  611. * ENTRY (FA) = FNT ADDRESS.
  612. *
  613. * EXIT (CM - CM+4) = 0.
  614. * FET FNT ADDRESS CLEARED.
  615. *
  616. * MACROS MONITOR.
  617.  
  618.  
  619. CFE SUBR ENTRY/EXIT
  620. LDN ZERL
  621. CRD CM
  622. LDD FA SET RELATIVE FNT ADDRESS
  623. STD CM+4
  624. LDN DLFS DELETE LOCAL FNT ENTRY
  625. STD CM+1
  626. MONITOR PLFM
  627. LDD RA CLEAR FNT ADDRESS IN FET
  628. SHN 6
  629. ADD IR+3
  630. ADN 4
  631. CRD CM
  632. LDN 0
  633. STD CM
  634. LDD RA
  635. SHN 6
  636. ADD IR+3
  637. ADN 4
  638. CWD CM
  639. LDN ZERL
  640. CRD CM
  641. UJN CFEX RETURN
  642. CGI SPACE 4,10
  643. ** CGI - CLEAR GLOBAL INTERLOCK.
  644. *
  645. * ENTRY (T5) = EST ORDINAL.
  646. *
  647. * EXIT INTERLOCK CLEARED.
  648. * ACTIVE USER COUNT DECREMENTED.
  649. *
  650. * USES CM - CM+4.
  651. *
  652. * MACROS MONITOR.
  653.  
  654.  
  655. CGI SUBR ENTRY/EXIT
  656. LDD T5
  657. STD CM+1
  658. LDN CIIS CLEAR INSTALL INTERLOCK
  659. STD CM+3
  660. MONITOR STBM
  661. LDC 0
  662. CGIA EQU *-1
  663. NJN CGIX IF USER COUNT NOT INCREMENTED
  664. LDD T5
  665. STD CM+1
  666. LDN DUCS DECREMENT ACTIVE USER COUNT
  667. STD CM+3
  668. MONITOR SMDM
  669. UJN CGIX RETURN
  670. DTC SPACE 4,10
  671. ** DTC - DETERMINE TRACK COUNT.
  672. *
  673. * ENTRY (SLM) = SECTOR LIMIT.
  674. * (CN+3 - CN+4) = FILE LENGTH IN SECTORS.
  675. *
  676. * EXIT (TC) = TRACK COUNT.
  677.  
  678.  
  679. DTC SUBR ENTRY/EXIT
  680. LDN 0 INITIALIZE COUNTER
  681. STD TC
  682. DTC1 AOD TC ADVANCE TRACK COUNT
  683. LDD CN+4 DECREMENT SECTOR COUNT
  684. SBM SLM
  685. STD CN+4
  686. PJN DTC1 IF NO UNDERFLOW
  687. AOD CN+4
  688. SOD CN+3
  689. PJN DTC1 IF COUNT NOT COMPLETE
  690. UJN DTCX RETURN
  691. RCL SPACE 4,10
  692. ** RCL - RECALL PP.
  693. *
  694. * EXIT TO *PPR*.
  695. *
  696. * USES CM - CM+4.
  697. *
  698. * MACROS MONITOR.
  699.  
  700.  
  701. RCL BSS 0
  702. LDD CP STORE CONTROL POINT MESSAGE
  703. ADN MS2W
  704. CWM RCLA,TR
  705. LDN ZERL
  706. CRD CM
  707. LDD MA STORE PP RECALL REQUEST
  708. CWD IR
  709. MONITOR RECM
  710. LJM PPR EXIT TO PP RESIDENT
  711.  
  712. RCLA DATA C*$WAITING - GLOBAL INTERLOCK.*
  713. RDD SPACE 4,10
  714. ** RDD - READ DEADSTART SECTOR.
  715. *
  716. * ENTRY (A) = FIRST TRACK OF SDF.
  717. * (T5) = EST ORDINAL.
  718. * (FA) = FST ADDRESS.
  719. *
  720. * EXIT (T4) = CHANNEL (RESERVED).
  721. * (T6) = LOGICAL TRACK OF DEADSTART SECTOR.
  722. * (T7) = LOGICAL SECTOR OF DEADSTART SECTOR.
  723. * (CT) = FIRST TRACK OF SDF.
  724. * (BFMS) = DEADSTART SECTOR.
  725. *
  726. * USES CM - CM+4.
  727. *
  728. * CALLS CFE, CGI, *0PI*.
  729. *
  730. * MACROS ERROR, EXECUTE, MONITOR.
  731.  
  732.  
  733. RDD SUBR ENTRY/EXIT
  734. STD CT
  735. LDD T5 SET EST ORDINAL FOR *0PI*
  736. LMC 4000 OPTION TO READ DEADSTART SECTOR
  737. STM OVL-1
  738. EXECUTE 0PI,OVL
  739. ZJN RDDX IF A VALID DEADSTART SECTOR FOUND
  740. RDD1 RJM CFE CLEAR FNT ENTRY
  741. LDD CT
  742. ZJN RDD2 IF NO TRACK CHAIN ASSIGNED
  743. STD CM+2
  744. LDD T5
  745. LMC 4000 SET CHECKPOINT REQUEST
  746. STD CM+1
  747. MONITOR DTKM RELEASE SDF TRACK CHAIN
  748. RDD2 RJM CGI CLEAR GLOBAL INTERLOCK
  749. ERROR EMSE * MS ERROR ON DEADSTART FILE.*
  750. SGI SPACE 4,10
  751. ** SGI - SET GLOBAL INTERLOCK.
  752. *
  753. * ENTRY (T5) = EST ORDINAL.
  754. *
  755. * EXIT (A) = 0 IF INTERLOCK SET.
  756. * (MP) = MST POINTER.
  757. * (CN - CN+4) = ACGL WORD OF MST.
  758. *
  759. * USES CM - CM+4, WB - WB+4.
  760. *
  761. * CALLS CGI.
  762. *
  763. * MACROS MONITOR.
  764.  
  765.  
  766. SGI SUBR ENTRY/EXIT
  767. LDD T5 READ EST ENTRY
  768. STD CM+1
  769. SFA EST
  770. ADK EQDE
  771. CRD WB
  772. LDD WB+4 SET MST POINTER
  773. STD MS
  774. SHN 3 READ MST STATUS WORD
  775. ADN STLL
  776. CRD WB
  777. LDD WB CHECK DEVICE STATUS
  778. LPN MLUNL
  779. NJN SGIX IF UNLOAD REQUESTED
  780. LDN SIIS SET INSTALL INTERLOCK
  781. STD CM+3
  782. MONITOR STBM
  783. LDD CM+1
  784. LPC 200
  785. NJN SGIX IF OS INSTALLATION IN PROGRESS
  786. LDD T5
  787. STD CM+1
  788. LDN IUCS
  789. STD CM+3
  790. MONITOR SMDM
  791. LDD CM+1
  792. STM CGIA
  793. NJN SGI1 IF USER COUNT NOT INCREMENTED
  794. LDD MS
  795. SHN 3
  796. ADN STLL
  797. CRD WB
  798. SBN STLL-ACGL FETCH DEADSTART FILE STATUS
  799. CRD CN
  800. LDD WB CHECK FOR UNLOAD NOW REQUESTED
  801. LPN MLUNL
  802. ZJN SGI2 IF NOT LOCAL UNLOAD REQUEST
  803. SGI1 RJM CGI
  804. LDN 1
  805. SGI2 LJM SGIX RETURN
  806. WMS SPACE 4,15
  807. ** WMS - WRITE MASS STORAGE.
  808. *
  809. * ENTRY (A) = BUFFER ADDRESS.
  810. * (CT) = FIRST TRACK OF SDF.
  811. * (T5 - T7) = MASS STORAGE PARAMETERS.
  812. * DRIVER PRESET.
  813. *
  814. * ERROR TO *RDD1* IF MASS STORAGE ERROR.
  815. *
  816. * USES T3, CM - CM+4.
  817. *
  818. * CALLS WDS.
  819. *
  820. * MACROS PAUSE.
  821.  
  822.  
  823. WMS3 LDD CP FETCH CONTROL POINT STATUS WORD
  824. ADN STSW
  825. CRD CM
  826. LDD CM+1 CHECK ERROR FLAG
  827. LMN ORET
  828. ZJN WMS2 IF OPERATOR OVERRIDE
  829. LDD T3
  830. LMK WLSF RETRY WRITE
  831. RJM WDS
  832. MJN WMS1 IF WRITE ERRORS
  833.  
  834. WMS SUBR ENTRY/EXIT
  835. STD T3
  836. RJM WDS
  837. PJN WMSX IF WRITE COMPLETED
  838. WMS1 LPN 77 CHECK MASS STORAGE ERROR CODE
  839. LMN NRDE
  840. ZJN WMS3 IF NOT READY
  841. WMS2 LJM RDD1 ABORT
  842. SPACE 4,10
  843. ** COMMON DECKS.
  844.  
  845.  
  846. *CALL COMPSAF
  847. *CALL COMPTGB
  848. *CALL COMPTLB
  849. QUAL WMS
  850. QUAL$ EQU 1
  851. WDS EQU WMS
  852. *CALL COMPWEI
  853. *CALL COMPWSS
  854. QUAL *
  855. WEI EQU /WMS/WEI
  856. WSS EQU /WMS/WSS
  857. IRA$ EQU 1 RANDOM ACCESS PROCESSORS INITIALIZED
  858. *CALL COMPCRA
  859. *CALL COMPSEI
  860. *CALL COMPSNT
  861. *CALL COMPIRA
  862. SPACE 4,10
  863. OVL EQU *+1 LOAD ADDRESS FOR ZERO LEVEL OVERLAYS
  864. ERRPL OVL-BFMS OVERFLOW INTO SYSTEM SECTOR BUFFER
  865. CRQ SPACE 4,10
  866. ** CRQ - CHECK REQUEST.
  867. *
  868. * ENTRY (IR+2) = FUNCTION REQUEST.
  869. *
  870. * USES CN - CN+4, FS - FS+4.
  871. *
  872. * MACROS ERROR.
  873.  
  874.  
  875. CRQ SUBR ENTRY/EXIT
  876. LDD IR+2
  877. ZJN CRQ1 IF INCORRECT FUNCTION CODE
  878. SBN TFCNL
  879. PJN CRQ1 IF INCORRECT FUNCTION CODE
  880. LDD CP CHECK CP PARAMETERS
  881. ADK SEPW
  882. CRD CN
  883. ADK JSCW-SEPW READ SECURITY WORD
  884. CRD FS
  885. LDD CN CHECK CALLING ROUTINE
  886. LPN 4
  887. ZJN CRQ1 IF NOT CALLED BY SPECIAL SYSTEM JOB
  888. LDD CN+3
  889. LPN 37
  890. ADD CN+4
  891. ZJN CRQ1 IF NO SSJ PARAMETER BLOCK
  892. LDK SSML READ SYSTEM SECURITY STATUS
  893. CRD CN
  894. LDD CN
  895. LPN 7
  896. ZJN CRQX IF UNSECURED SYSTEM
  897. LDD FS
  898. SHN 21-13
  899. MJN CRQX IF SECURITY ADMINISTRATOR
  900. CRQ1 ERROR EILR * 1IS - INCORRECT REQUEST.*
  901.  
  902. END