Table of Contents

DIO

Table Of Contents

  • [00005] DIO - DEADSTART I/O PROCESSOR.
  • [00041] DIRECT LOCATION ASSIGNMENTS.
  • [00082] MACRO DEFINITIONS.
  • [00084] JMP - THREADED JUMP.
  • [00102] PRESET.
  • [00142] LRO - LOAD RECOVERY OVERLAY.
  • [00159] MAIN ROUTINE.
  • [00170] TFPA - TABLE OF FUNCTION PROCESSORS.
  • [00184] FUNCTION PROCESSORS.
  • [00186] DPP - DROP PP.
  • [00201] IPP - IDLE PP UNTIL (IR+4) .NE. 0.
  • [00223] IPR - INITIALIZE PP RESIDENT.
  • [00236] LNO - LOAD NEXT OVERLAY.
  • [00245] LPR - LOAD PP RESIDENT.
  • [00258] LSL - LOAD SYSTEM LIBRARY.
  • [00300] LTD - LOAD SELECTED TEXT DECK.
  • [00318] RTB - READ TAPE BLOCK.
  • [00335] SUBROUTINES.
  • [00337] CBN - CHECK BLOCK NUMBER.
  • [00381] CDD - CONNECT DEADSTART DISK.
  • [00398] CRI - CHECK PP RESIDENT INITIALIZED.
  • [00409] CSR - CHECK OR SKIP CURRENT RECORD.
  • [00433] DSM - DISPLAY STATUS MESSAGE.
  • [00454] RNR - READ NEXT RECORD.
  • [00473] RST - READ SYSTEM TAPE.
  • [00504] WCB - WRITE CENTRAL BUFFER.
  • [00573] SRP - SET READ PARAMETERS.
  • [00648] WOC - WAIT OUTPUT REGISTER CLEAR.
  • [00663] WOG - WAIT FOR OPERATOR GO.
  • [00700] DISK/TAPE ROUTINES.
  • [00702] BKS - BACKSPACE DEADSTART MEDIUM.
  • [00745] GDS - GET DISK STATUS.
  • [00757] GTS - GET TAPE STATUS.
  • [00793] ITM - INITIATE TAPE MOTION.
  • [00811] POS - POSITION MASS STORAGE.
  • [00846] RDR - READ DISK RECORD.
  • [00880] RDT - REWIND DEADSTART TAPE.
  • [00894] RNS - READ NEXT SECTOR.
  • [00968] RTR - READ TAPE RECORD.
  • [01000] RTU - RELEASE TAPE UNIT.
  • [01019] BUFFER RESIDENT PRESET.
  • [01021] BRP - BUFFER RESIDENT PRESET.
  • [01060] BUFFER RESIDENT PRESET SUBROUTINES.
  • [01062] CAU - CHECK ATS UNIT.
  • [01100] MCI - MODIFY CHANNEL INSTRUCTIONS.
  • [01121] PSD - PRESET DRIVERS.

Source Code

DIO.txt
  1. IDENT DIO,0
  2. PERIPH
  3. BASE M
  4. SST
  5. TITLE DIO - DEADSTART I/O PROCESSOR.
  6. *COMMENT DIO - DEADSTART I/O PROCESSOR.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. DIO SPACE 4,10
  9. ***** DIO - DEADSTART I/O PROCESSOR.
  10. *
  11. * P. D. HAAS. 78/08/04.
  12. DIO SPACE 4,10
  13. *** *DIO* IS THE CENTRALIZED MEANS OF READING DATA FROM
  14. * THE DEADSTART MEDIUM, BE IT TAPE OR DISK. THIS ALLOWS THE
  15. * OTHER DEADSTART TIME ROUTINES TO REMAIN MORE OR LESS
  16. * UNAWARE OF THE MEDIUM BEING READ. TO THIS END, 10B DISK
  17. * SECTORS WILL BE ASSEMBLED, IF DEADSTART IS FROM RMS, INTO
  18. * A FACSIMILE OF A TAPE PRU. COMMANDS ARE ISSUED TO *DIO*
  19. * VIA AN INTERCOMMUNICATIONS CHANNEL, ACCORDING TO A
  20. * PROTOCOL RESEMBLING THAT OF A 3000 TYPE TAPE CONTROLLER
  21. * AND A 6681. *DIO* IN THE DISPLAY CHANNEL PP FUNCTIONS AS
  22. * THE 6681, READING DATA FROM AN EXTERNAL EQUIPMENT, AND
  23. * RETURNING SAME TO THE REQUESTING PP.
  24. DIO SPACE 4,10
  25. *** OPERATOR MESSAGES.
  26. *
  27. * REFER TO OPERATORS GUIDE FOR INFORMATION AS TO CAUSE
  28. * OF ERROR AND RECOMMENDED CORRECTIVE ACTION.
  29. *
  30. * *SYSTEM TAPE PARITY ERROR.*
  31. *
  32. * *BLOCK SEQUENCE ERROR.*
  33. *
  34. * *CHXX, UNYY - SZZZZ.*
  35. DIO SPACE 4,10
  36. *CALL COMPMAC
  37. *CALL COMPCHM
  38. *CALL COMSDSL
  39. *CALL COMSMSP
  40. *CALL COMSPIM
  41. TITLE DIRECT LOCATION ASSIGNMENTS.
  42. DIO SPACE 4,10
  43. **** DIRECT LOCATION ASSIGNMENTS.
  44.  
  45.  
  46. ORG 0
  47. CON PRS-1 TRANSFER ADDRESS - 1
  48. BSS 16-*
  49. L1 BSS 1 SCRATCH
  50. L2 BSS 1 SCRATCH
  51. DT CON 0 895 DEADSTART READ FLAG
  52. ERRNZ DT-MP DIRECT CELL LOCATION MUST MATCH IN *OSB*
  53. UN BSS 4 PHYSICAL DISK ADDRESS
  54. BF CON 0 TAPE BACKSPACE FUNCTION
  55. RF CON 0 TAPE READ FUNCTION
  56. SF CON 0 TAPE STATUS FUNCTION
  57. LT BSS 1 LOGICAL TRACK FOR BACKSPACE
  58. LS BSS 1 LOGICAL SECTOR FOR BACKSPACE
  59. DM BSS 1 DEADSTART MEDIUM
  60. ST BSS 1 GENERAL STATUS
  61. RC BSS 1 ERROR RETRY COUNT
  62. WC BSS 1 WORD COUNT
  63. DH BSS 1 DEADSTART CHANNEL
  64. IH BSS 1 INTERCOMMUNICATIONS CHANNEL
  65. ZR CON 0 ZERO BYTE
  66. TM CON 0 TAPE MOTION FLAG
  67. CN BSS 5 CM WORD BUFFER
  68.  
  69. ERRPL *-IR OVERFLOW CELLS DESTROYED BY RESIDENT
  70.  
  71. BSS 100-*
  72. DN EQU 57 DECK NUMBER
  73. DP EQU 60 - 64 CM WORD BUFFER (5 LOCATIONS)
  74. BL EQU 65 PP BUFFER LIMIT
  75. BC EQU 66 - 67 BLOCK COUNT (2 LOCATIONS)
  76. ****
  77.  
  78. * IN ORDER TO AVOID CONFLICTS BETWEEN *COMSMSP* AND THE
  79. * *CHTB* MACRO, *DC* IS CHANGED TO *DS*.
  80.  
  81. DS EQU DC DEADSTART CHANNEL
  82. TITLE MACRO DEFINITIONS.
  83. SPACE 4,10
  84. ** JMP - THREADED JUMP.
  85. *
  86. *
  87. * JMP ADDR
  88. * ENTRY *ADDR* = JUMP ADDRESS.
  89.  
  90.  
  91. JMP MACRO ADDR
  92. IF -DEF,.ADDR,2
  93. NOREF .ADDR
  94. .ADDR MAX ADDR,*-40
  95. IFGT .ADDR,*-40
  96. UJN .ADDR
  97. .ADDR SET *-1
  98. ELSE 2
  99. .ADDR SET *
  100. LJM ADDR
  101. JMP ENDM
  102. TITLE PRESET.
  103. PRS SPACE 4,10
  104. ORG MSFW
  105.  
  106. PRS BSS 0 ENTRY
  107. RJM BRP EXECUTE BUFFER RESIDENT PORTION OF PRESET
  108.  
  109. * SEARCH FOR *SET* AND TRANSMIT TO PP0.
  110.  
  111. PRS2 RJM RNR READ NEXT RECORD
  112. LDM BUF+5*1+1 CHECK NAME IN *PRFX* TABLE
  113. SHN 6
  114. LMM BUF+5*1+0
  115. LMC 3RTSE
  116. NJN PRS2 IF NOT *SET*
  117. LDD DH PASS CHANNEL DEFINITIONS TO *SET*
  118. STM BUF+5*20+T4
  119. LDD IH
  120. STM BUF+5*20+T5
  121. LDD DN PASS CONSOLE STATUS TO *SET*
  122. STM BUF+5*20+T2
  123. LCN 20 TRANSMIT *SET* TO PP0
  124. RAD WC
  125. SHN 2
  126. ADD WC
  127. OAM. BUF+5*20,CH
  128. LDD WC
  129. LMC MXRL/5
  130. NJN PRS3 IF *SET* DOES NOT EXCEED ONE TAPE PRU
  131. RJM RNR READ REMAINDER OF *SET*
  132. LDD WC
  133. ZJN PRS3 IF ZERO LENGTH PRU
  134. SHN 2
  135. ADD WC
  136. OAM. BUF,CH TRANSMIT REMAINDER OF *SET*
  137. PRS3 FJM. *,CH WAIT OUTPUT COMPLETE
  138. DCN. CH
  139. RJM RNR READ NEXT RECORD
  140. LJM DIO ENTER IDLE LOOP
  141. LRO SPACE 4,10
  142. ** LRO - LOAD RECOVERY OVERLAY.
  143.  
  144.  
  145. LRO BSS 0
  146. * LDC LRO CHECK NEXT RECORD
  147. LRO1 RJM CSR
  148. NJN LRO1 IF NOT OVERLAY
  149. LDM BUF+5*1+1
  150. SHN 6
  151. LMM BUF+5*1+0
  152. LMC 3RMRC
  153. NJN LRO1 IF NOT *RCM*
  154. DCN PC INDICATE FUNCTION COMPLETE
  155. LJM DIO RETURN
  156. SPACE 4,10
  157. ERRZR PC-12 ILLEGAL CHANNEL DEFINITION
  158. ERRPL *-PPFW PRESET OVERFLOWS DRIVER AREA
  159. TITLE MAIN ROUTINE.
  160. ORG PPFW
  161.  
  162. DIO IAN PC INPUT REQUEST
  163. STD L1
  164. SBN MXDF
  165. PJN * IF ILLEGAL FUNCTION
  166. LDM TFPA,L1
  167. STD L2
  168. LJM 0,L2 PROCESS FUNCTION
  169. TFPA SPACE 4,10
  170. ** TFPA - TABLE OF FUNCTION PROCESSORS.
  171.  
  172.  
  173. TFPA INDEX
  174. INDEX DPPF,DPP DROP PP
  175. INDEX LPRF,LPR LOAD PP RESIDENT
  176. INDEX IPRF,IPR INITIALIZE PP RESIDENT
  177. INDEX RTBF,RTB READ TAPE BLOCK
  178. INDEX IPPF,IPP IDLE PP
  179. INDEX LSLF,LSL LOAD SYSTEM LIBRARY
  180. INDEX LNOF,LNO LOAD NEXT OVERLAY
  181. INDEX LTDF,LTD LOAD SELECTED TEXT DECK
  182. INDEX LROF,LRO LOAD RECOVERY OVERLAY
  183. INDEX MXDF
  184. TITLE FUNCTION PROCESSORS.
  185. DPP SPACE 4,10
  186. ** DPP - DROP PP.
  187.  
  188.  
  189. DPP BSS 0
  190. RJM RDT REWIND DEADSTART TAPE
  191. RJM RTU RELEASE TAPE UNIT
  192. RJM CRI CHECK RESIDENT INITIALIZED
  193. RJM WOC WAIT OUTPUT REGISTER CLEAR
  194. LDD DH RELEASE DEADSTART CHANNEL
  195. DCHAN
  196. DPPA DCN PC INDICATE FUNCTION ACCEPT
  197. * PSN (SYSTEM LIBRARY LOAD)
  198. MONITOR DPPM DROP PP
  199. LJM PPR EXIT TO PP RESIDENT
  200. IPP SPACE 4,10
  201. ** IPP - IDLE PP UNTIL (IR+4) .NE. 0.
  202.  
  203.  
  204. IPP BSS 0
  205. LDD IA CLEAR (IR+4)
  206. CRD IR
  207. RJM CRI CHECK RESIDENT INITIALIZED
  208. STD IR+4
  209. LDD IA
  210. CWD IR
  211. LDD DH RELEASE DEADSTART CHANNEL
  212. DCHAN
  213. DCN PC INDICATE FUNCTION ACCEPT
  214. IPP1 DELAY WAIT AWHILE
  215. LDD IA CHECK (IR+4)
  216. CRD IR
  217. LDD IR+4
  218. ZJN IPP1 IF IDLE NOT CLEARED
  219. LDD DH RESERVE DEADSTART CHANNEL
  220. RCHAN
  221. JMP DIO RETURN
  222. IPR SPACE 4,10
  223. ** IPR - INITIALIZE PP RESIDENT.
  224.  
  225.  
  226. IPR BSS 0
  227. DCN PC INDICATE FUNCTION ACCEPT
  228. LDN 1 SET NO PP DROP
  229. STD T1
  230. RJM MSFW+1 INITIALIZE RESIDENT
  231. SOM CRIA SET RESIDENT INITIALIZED
  232. LDD DH RESERVE DEADSTART CHANNEL
  233. RCHAN
  234. JMP DIO RETURN
  235. LNO SPACE 4,10
  236. ** LNO - LOAD NEXT OVERLAY.
  237.  
  238.  
  239. LNO BSS 0
  240. LDN 0 CHECK CURRENT RECORD
  241. LNO1 RJM CSR
  242. NJN LNO1 IF NOT OVERLAY
  243. LJM RTB TRANSMIT TAPE BLOCK
  244. LPR SPACE 4,10
  245. ** LPR - LOAD PP RESIDENT.
  246.  
  247.  
  248. LPR BSS 0
  249. DCN PC INDICATE FUNCTION ACCEPT
  250. LDN IR SKIP DIRECT LOCATIONS BELOW *IR*
  251. ACN PC
  252. IAM IR,PC
  253. LDC PPFW-IR INPUT PP RESIDENT
  254. IAM IR,PC
  255. DCN PC
  256. JMP DIO RETURN
  257. LSL SPACE 4,10
  258. ** LSL - LOAD SYSTEM LIBRARY.
  259.  
  260.  
  261. LSL BSS 0
  262. RJM RDT REWIND DEADSTART TAPE
  263. RJM CRI CHECK RESIDENT INITIALIZED
  264. STD BC+1 CLEAR BLOCK COUNT
  265. STD BC
  266. LDN DSCP MOVE TO DEADSTART CONTROL POINT
  267. STD CM+1
  268. MONITOR CCAM
  269. DCN PC INDICATE FUNCTION ACCEPT
  270. STM DPPA
  271. LSL2 LDD RA READ (RA+2)
  272. SHN 6
  273. ADN 2
  274. CRD CM
  275. LDD CM+4 SET FET ADDRESS
  276. STD IR+4
  277. ZJN LSL2 IF NOT YET DEFINED
  278. LDM BKSC ENABLE TAPE PARITY ERROR REPORTING
  279. STM BKSA
  280. LSL3 RJM GTS GET TAPE STATUS
  281. LPN 3
  282. LMN 1
  283. NJN LSL3 IF REWIND NOT COMPLETE
  284.  
  285. * READ SYSTEM TAPE.
  286.  
  287. RJM RST READ SYSTEM TAPE
  288. LDD RA
  289. SHN 6
  290. ADD IR+4
  291. CRD CM
  292. LDN 33 SET EOF STATUS
  293. STD CM+4
  294. LDD RA STORE EOF STATUS
  295. SHN 6
  296. ADD IR+4
  297. CWD CM
  298. LJM DPP DROP PP
  299. LTD SPACE 4,10
  300. ** LTD - LOAD SELECTED TEXT DECK.
  301.  
  302.  
  303. LTD BSS 0
  304. IAN PC
  305. RJM C2D CONVERT DECK NUMBER
  306. STD DN
  307. LDN 0
  308. UJN LTD2 CHECK CURRENT RECORD
  309.  
  310. LTD1 LDM BUF+2 CHECK TEXT DECK NUMBER
  311. LMD DN
  312. ZJN RTB IF REQUESTED DECK FOUND
  313. LTD2 RJM CSR
  314. NJN LTD1 IF NOT BINARY RECORD
  315. STD WC
  316. * UJN RTB INDICATE DECK NOT FOUND
  317. RTB SPACE 4,10
  318. ** RTB - READ TAPE BLOCK.
  319.  
  320.  
  321. RTB BSS 0
  322. DCN PC INDICATE FUNCTION ACCEPT
  323. IJM *,PC IF CALLER NOT READY
  324. LDD WC OUTPUT RECORD LENGTH
  325. OAN PC
  326. ZJN RTB1 IF ZERO LENGTH RECORD
  327. SHN 2 CONVERT TO BYTE COUNT
  328. ADD WC
  329. FJM *,PC WAIT CHANNEL EMPTY
  330. OAM BUF,PC TRANSMIT RECORD
  331. RTB1 FJM *,PC WAIT TRANSMISSION COMPLETE
  332. DCN PC
  333. RJM RNR READ NEXT RECORD
  334. JMP DIO RETURN
  335. TITLE SUBROUTINES.
  336. CBN SPACE 4,10
  337. ** CBN - CHECK BLOCK NUMBER.
  338. *
  339. * ENTRY (WC) = WORD COUNT OF BLOCK.
  340. * (BC - BC+1) = EXPECTED BLOCK NUMBER OF BLOCK.
  341. *
  342. * EXIT BLOCK COUNT INCREMENTED.
  343. * MESSAGE ISSUED IF BLOCK SEQUENCE ERROR.
  344. *
  345. * USES BL.
  346. *
  347. * CALLS WOG.
  348.  
  349.  
  350. CBN2 AOD BC+1 ADVANCE BLOCK COUNT
  351. SHN -14
  352. RAD BC
  353.  
  354. CBN SUBR ENTRY/EXIT
  355. LDD WC SET BLOCK LENGTH IN CONTROL WORD
  356. SHN 2
  357. ADD WC
  358. STM BUF-1
  359. CBNA ADC BUF SET PP BUFFER LIMIT
  360. * UJN CBNX (BLOCK CHECKING DISABLED)
  361. STD BL
  362. LDM 2,BL CHECK BLOCK NUMBER
  363. LMD BC+1
  364. NJN CBN1 IF NOT CORRECT BLOCK
  365. LDM 1,BL
  366. LMD BC
  367. ZJN CBN2 IF CORRECT BLOCK
  368. CBN1 LDC CBNB *BLOCK SEQUENCE ERROR*
  369. RJM WOG ISSUE MESSAGE AND WAIT OPERATOR GO
  370. LDM CBNC DISABLE FURTHER BLOCK CHECKING
  371. STM CBNA
  372. UJN CBNX EXIT
  373.  
  374. CBNB DATA C*BLOCK SEQUENCE ERROR.*
  375.  
  376. CBNC BSS 0
  377. LOC CBNA
  378. UJN CBNX
  379. LOC *O
  380. CDD SPACE 4,10
  381. ** CDD - CONNECT DEADSTART DISK.
  382. *
  383. * USES ST.
  384. *
  385. * CALLS DSM, GDS, POS.
  386.  
  387.  
  388. CDD2 RJM POS POSITION DISK
  389.  
  390. CDD SUBR ENTRY/EXIT
  391. CDD1 RJM GDS GET DISK STATUS (CONNECT)
  392. LPC 2000
  393. ZJN CDD2 IF COUPLER NOT RESERVED
  394. STD ST
  395. RJM DSM DISPLAY STATUS MESSAGE
  396. UJN CDD1 LOOP
  397. CRI SPACE 4,10
  398. ** CRI - CHECK PP RESIDENT INITIALIZED.
  399. *
  400. * EXIT (A) = 0.
  401.  
  402.  
  403. CRI SUBR ENTRY/EXIT
  404. CRIA LDN 1
  405. * LDN 0 (PP RESIDENT INITIALIZED)
  406. ZJN CRIX IF RESIDENT INITIALIZED
  407. UJN * HANG PP
  408. CSR SPACE 4,10
  409. ** CSR - CHECK OR SKIP CURRENT RECORD.
  410. *
  411. * ENTRY (A) = 0 TO CHECK RECORD.
  412. * .NE. 0 TO SKIP RECORD.
  413. *
  414. * EXIT (A) = 0 IF BINARY RECORD (OVERLAY)
  415. *
  416. * USES T4.
  417. *
  418. * CALLS RNR.
  419.  
  420.  
  421. CSR SUBR ENTRY/EXIT
  422. ZJN CSR2 IF CHECKING CURRENT RECORD
  423. CSR1 LDD WC
  424. LMC TPLN/5 SET EOR STATUS
  425. STD T4
  426. RJM RNR READ NEXT BLOCK
  427. LDD T4
  428. ZJN CSR1 IF NOT NEXT RECORD
  429. CSR2 LDM BUF
  430. LMC 7700
  431. UJN CSRX RETURN
  432. DSM SPACE 4,10
  433. ** DSM - DISPLAY STATUS MESSAGE.
  434. *
  435. * ENTRY (ST) = GENERAL STATUS.
  436. *
  437. * CALLS C2D.
  438.  
  439.  
  440. DSM SUBR ENTRY/EXIT
  441. LDD ST CONVERT STATUS
  442. RJM C2D
  443. STM DSMA+10 SET IN MESSAGE
  444. LDD ST
  445. SHN -6
  446. RJM C2D
  447. STM DSMA+7
  448. LDC DSCP*CPAS+MS2W STORE MESSAGE
  449. CWM DSMA,TR
  450. UJN DSMX RETURN
  451.  
  452. DSMA DATA C*CHXX, UNYY - SZZZZ.*
  453. RNR SPACE 4,10
  454. ** RNR - READ NEXT RECORD.
  455. *
  456. * EXIT (BUF) = NEXT RECORD ON DEADSTART FILE.
  457. *
  458. * USES RC.
  459. *
  460. * CALLS RDR, RTR.
  461.  
  462.  
  463. RNR SUBR ENTRY/EXIT
  464. LDN 10 SET RETRY COUNT
  465. STD RC
  466. RJM RDR READ DISK RECORD
  467. RNRA EQU *-1
  468. * RJM RTR (TAPE DEADSTART)
  469. LDC DSCP*200+MS2W
  470. CWD ZR
  471. UJN RNRX RETURN
  472. RST SPACE 4,10
  473. ** RST - READ SYSTEM TAPE.
  474. *
  475. * USES WC, T1, T2, CM - CM+4, CN - CN+4, DP - DP+4.
  476. *
  477. * CALLS CBN, ITM, RNR, SBP, WOC.
  478.  
  479.  
  480. RST SUBR ENTRY/EXIT
  481. RJM SRP SET READ PARAMETERS
  482. RST1 RJM WOC WAIT OUTPUT REGISTER CLEAR
  483. PAUSE NE
  484. LDD RA READ OUT
  485. SHN 6
  486. ADD IR+4
  487. ADN 3
  488. CRD CN
  489. RST2 LDD CN+3 LENGTH = OUT - IN+1
  490. SBD DP+3
  491. SHN 14
  492. ADD CN+4
  493. SBD DP+4
  494. SBN 1
  495. PJN RST3 IF IN+1 .GE OUT
  496. .BSA ADC ** (LIMIT - FIRST)
  497. RST3 ADC -1002
  498. MJN RST1 IF NO ROOM FOR ANOTHER BLOCK
  499. RSTA RJM ITM INITIATE TAPE MOTION FOR NEXT READ
  500. * UJN *+2 (READ AHEAD DISABLED)
  501. LDN 2 INCLUDE CONTROL WORDS IN WORD COUNT
  502. RAD WC
  503. WCB SPACE 4,10
  504. ** WCB - WRITE CENTRAL BUFFER.
  505.  
  506.  
  507. WCB LDD DP+3 CHECK IN + WORD COUNT
  508. SHN 14
  509. ADD DP+4
  510. ADD WC
  511. .LMA ADC -** (-LIMIT)
  512. STD T2 SET SECOND PART WORD COUNT
  513. LMC -0
  514. PJN WCB3 IF LIMIT NOT REACHED
  515.  
  516. * PROCESS WRAP AROUND BLOCK.
  517.  
  518. ADD WC SET FIRST PART WORD COUNT
  519. STD T1
  520. ZJN WCB1 IF NO FIRST PART
  521. LDD DP+3 STORE FIRST PART
  522. SHN 6
  523. ADD RA
  524. SHN 6
  525. ADD DP+4
  526. CWM BUF-5,T1
  527. WCB1 LDD T2 CHECK SECOND PART LENGTH
  528. ZJN WCB2 IF NO SECOND PART
  529. LDD T1 SET PP BUFFER ADDRESS
  530. SHN 2
  531. ADD T1
  532. RAM WCBA
  533. LDD RA STORE SECOND PART
  534. SHN 6
  535. .FTA ADC ** STORE SECOND PART (FIRST)
  536. CWM BUF-5,T2
  537. WCBA EQU *-1 (RESET)
  538. WCB2 LDD T2 SET IN AFTER SECOND PART
  539. .FTB ADC ** (FIRST)
  540. STD DP+4
  541. SHN -14
  542. STD DP+3
  543. UJN WCB4
  544.  
  545. * PROCESS NORMAL BLOCK.
  546.  
  547. WCB3 LDD DP+3 STORE BLOCK
  548. SHN 6
  549. ADD RA
  550. SHN 6
  551. ADD DP+4
  552. CWM BUF-5,WC
  553. LDC BUF-5 RESET (WCBA)
  554. STM WCBA
  555. LDD WC ADVANCE IN
  556. RAD DP+4
  557. SHN -14
  558. RAD DP+3
  559. WCB4 LDD RA STORE IN
  560. SHN 6
  561. .INA ADC ** (ADDRESS OF IN)
  562. CWD DP
  563. ADN 1 READ OUT
  564. CRD CN
  565. LDN DRCM RECALL CPU
  566. STD CM
  567. LDD OA
  568. CWD CM
  569. RJM RNR READ NEXT RECORD
  570. RJM CBN CHECK BLOCK NUMBER
  571. LJM RST2 LOOP
  572. SRP SPACE 4,10
  573. ** SRP - SET READ PARAMETERS.
  574. *
  575. * EXIT (DP - DP+4) = IN POINTER.
  576. * PARAMETERS INITIALIZED.
  577. * FIRST TAPE BLOCK READ.
  578. *
  579. * USES CM - CM+5, CN - CN+4, T1 - T1+4.
  580. *
  581. * CALLS CBN, RNR.
  582. *
  583. * MACROS PAUSE.
  584.  
  585.  
  586. SRP SUBR ENTRY/EXIT
  587. SRP1 PAUSE NE
  588. LDD RA READ FILE STATUS
  589. SHN 6
  590. ADD IR+4
  591. CRD CM+1
  592. ADN 1 READ FIRST
  593. CRD T1
  594. ADN 1 READ IN
  595. CRD DP
  596. ADN 1 READ OUT
  597. CRD CN
  598. ADN 1 READ LIMIT
  599. CRD CM
  600. LDD CM+5
  601. NJN SRP1 IF *SYSEDIT* NOT READY
  602. LDD T1+3
  603. LPN 37
  604. STD T1+3
  605.  
  606. LDD CM+3 LIMIT - FIRST
  607. SBD T1+3
  608. SHN 14
  609. ADD CM+4
  610. SBD T1+4
  611. STM .BSA+1
  612. SHN -14
  613. LMC ADCI
  614. STM .BSA
  615.  
  616. LDC ADCI+77 -LIMIT
  617. LMD CM+3
  618. STM .LMA
  619. LCN 0
  620. LMD CM+4
  621. STM .LMA+1
  622.  
  623. LDD T1+3 FIRST
  624. LMC ADCI
  625. STM .FTA
  626. STM .FTB
  627. LDD T1+4
  628. STM .FTA+1
  629. STM .FTB+1
  630.  
  631. LDD IR+3 ADDRESS OF IN
  632. SHN 14
  633. ADD IR+4
  634. ADN 2
  635. STM .INA+1
  636. SHN -14
  637. LMC ADCI
  638. STM .INA
  639.  
  640. LDN ZERL CLEAR CONTROL WORD
  641. CRM BUF-5,ON
  642. LDD TH SET PRU SIZE IN CONTROL WORD
  643. STM BUF-4
  644. RJM RNR READ NEXT RECORD
  645. RJM CBN CHECK BLOCK NUMBER
  646. LJM SRPX RETURN
  647. WOC SPACE 4,10
  648. ** WOC - WAIT OUTPUT REGISTER CLEAR.
  649. *
  650. * USES CM - CM+4.
  651.  
  652.  
  653. WOC SUBR ENTRY/EXIT
  654. WOC1 LDD OA READ OUTPUT REGISTER
  655. CRD CM
  656. LDD CM
  657. ZJN WOCX RETURN IF CLEAR
  658. LDN 77 DELAY
  659. SBN 1
  660. NJN *-1
  661. UJN WOC1 LOOP
  662. WOG SPACE 4,10
  663. ** WOG - WAIT FOR OPERATOR GO.
  664. *
  665. * ENTRY (A) = ADDRESS OF MESSAGE.
  666. *
  667. * EXIT (A) = 0.
  668. * OPERATOR ENTERED *GO,.* OR *GO,SYS.*.
  669. *
  670. * USES T3, CM - CM+4.
  671. *
  672. * MACROS PAUSE.
  673.  
  674.  
  675. WOG SUBR ENTRY/EXIT
  676. STM WOGA SET MESSAGE ADDRESS
  677. LDN NCPL
  678. CRD CM
  679. AOD CM+1 READ SENSE SWITCH WORD AT SYSTEM CP
  680. SHN 7
  681. ADN SNSW
  682. STD T3
  683. CRD CM
  684. LDD CM+3 SET PAUSE BIT
  685. SCN 1
  686. LMN 1
  687. STD CM+3
  688. LDC DSCP*200+MS2W STORE MESSAGE
  689. CWM *,TR
  690. WOGA EQU *-1 MESSAGE ADDRESS
  691. LDD T3 STORE PAUSE FLAG
  692. CWD CM
  693. WOG1 PAUSE NE
  694. LDD T3 CHECK PAUSE BIT
  695. CRD CM
  696. LDD CM+3
  697. LPN 1
  698. ZJN WOGX IF PAUSE BIT CLEAR
  699. UJN WOG1 LOOP
  700. TITLE DISK/TAPE ROUTINES.
  701. BKS SPACE 4,10
  702. ** BKS - BACKSPACE DEADSTART MEDIUM.
  703. *
  704. * ENTRY (RC) = RETRY COUNT.
  705. *
  706. * EXIT (RC) DECREMENTED.
  707. *
  708. * CALLS DSM, GTS, POS, WOG.
  709.  
  710.  
  711. BKS4 LDD LT RESET DISK ADDRESS
  712. STD T6
  713. LDD LS
  714. STD T7
  715. RJM POS POSITION MASS STORAGE
  716.  
  717. BKS SUBR ENTRY/EXIT
  718. RJM DSM DISPLAY STATUS MESSAGE
  719. SOD RC DECREMENT RETRY COUNT
  720. BKSA ZJN * IF RETRY COUNT EXHAUSTED
  721. * ZJN BKS3 (TAPE ERROR LOADING SYSTEM FILE)
  722. LDD DM
  723. NJN BKS4 IF DISK DEADSTART
  724. BKS1 RJM GTS GET TAPE STATUS
  725. LPN 2
  726. NJN BKS1 IF UNIT BUSY
  727. LDD BF BACKSPACE TAPE
  728. FAN DS
  729. BKS2 RJM GTS GET TAPE STATUS
  730. LPN 2
  731. NJN BKS2 IF BACKSPACE NOT COMPLETE
  732. UJN BKSX RETURN
  733.  
  734. BKS3 LDC BKSB *SYSTEM TAPE PARITY ERROR.*
  735. RJM WOG WAIT FOR OPERATOR *GO.*
  736. LJM RTRX EXIT TAPE READ ROUTINE
  737.  
  738. BKSB DATA C*SYSTEM TAPE PARITY ERROR.*
  739.  
  740. BKSC BSS 0
  741. LOC BKSA
  742. ZJN BKS3 IF TAPE ERROR LOADING SYSTEM FILE
  743. LOC *O
  744. GDS SPACE 4,10
  745. ** GDS - GET DISK STATUS.
  746. *
  747. * EXIT (A) = (ST) = GENERAL STATUS.
  748.  
  749.  
  750. GDS SUBR ENTRY/EXIT
  751. FNC 12,DS GET GENERAL STATUS
  752. ACN DS
  753. IAN DS
  754. STD ST
  755. UJN GDSX RETURN
  756. GTS SPACE 4,10
  757. ** GTS - GET TAPE STATUS.
  758. *
  759. * EXIT (A) = (ST) = GENERAL STATUS.
  760.  
  761.  
  762. GTS1 LDN 70
  763. GTS2 FJM GTS4,DS IF STATUS READY
  764. SBN 1
  765. NJN GTS2 WAIT STATUS READY
  766. DCN DS
  767. GTS3 LDD SF REQUEST GENERAL STATUS
  768. FAN DS
  769. ACN DS
  770. EJM GTS1,DS IF CHANNEL EMPTY
  771. GTS4 IAN DS
  772. DCN DS
  773. STD ST SET GENERAL STATUS
  774. SHN 0-13
  775. ZJN GTS5 IF ALERT FLAG NOT SET
  776. FNC 112,DS GET DETAILED STATUS
  777. GTSA EQU *-1
  778. ACN DS
  779. IAN DS
  780. DCN DS
  781. LPC 7077
  782. GTSB EQU *-1
  783. * LPC 7777 (ATS TAPE SYSTEM)
  784. NJN GTS5 IF NOT ONLY WARNING
  785. LDD ST CLEAR ALERT FLAG
  786. LPN 77
  787. STD ST
  788. GTS5 LDD ST
  789.  
  790. GTS SUBR ENTRY/EXIT
  791. UJN GTS3 GET GENERAL STATUS
  792. ITM SPACE 4,10
  793. ** ITM - INITIATE TAPE MOTION.
  794. *
  795. * ENTRY (TM) = 5005 IF TAPE MOTION INITIATED.
  796. *
  797. * EXIT (A) = (TM) = 5005.
  798. * CHANNEL ACTIVE.
  799.  
  800.  
  801. ITM SUBR ENTRY/EXIT
  802. LDD TM
  803. NJN ITMX IF TAPE MOTION ALREADY INITIATED
  804. LDD RF ISSUE READ FUNCTION
  805. FAN DS
  806. LDC TPLN+5 SET TAPE MOTION FLAG
  807. STD TM
  808. ACN DS
  809. UJN ITMX RETURN
  810. POS SPACE 4,10
  811. ** POS - POSITION MASS STORAGE.
  812. *
  813. * ENTRY (T6) = LOGICAL TRACK.
  814. * (T7) = LOGICAL SECTOR.
  815. * (UN) = UNIT NUMBER.
  816. * (POSA) = SEEK FUNCTION.
  817. *
  818. * USES T2.
  819. *
  820. * CALLS DSM, GDS, LDA.
  821.  
  822.  
  823. POS SUBR ENTRY/EXIT
  824. LDN 0
  825. STD T2
  826. RJM LDA CONVERT DISK ADDRESS
  827. LDD DT SET 895 DEADSTART READ FLAG
  828. RAD UN+2
  829. POS1 SOD T2
  830. ZJN POS2 IF BUSY COUNT EXHAUSTED
  831. FNC 2,DS SEEK FUNCTION
  832. POSA EQU *-1
  833. * FNC 1,DS (1 TO 1 INTERLACE)
  834. ACN DS
  835. LDN 4 OUTPUT SEEK PARAMETERS
  836. OAM UN,DS
  837. FJM *,DS IF CHANNEL FULL
  838. DCN DS
  839. RJM GDS GET DISK STATUS
  840. ZJN POSX IF POSITIONING COMPLETE
  841. LPN 2
  842. NJN POS1 IF BUSY
  843. POS2 RJM DSM DISPLAY STATUS MESSAGE
  844. UJN POS1 LOOP
  845. RDR SPACE 4,10
  846. ** RDR - READ DISK RECORD.
  847. *
  848. * ENTRY (T6) = CURRENT LOGICAL TRACK.
  849. * (T7) = CURRENT LOGICAL SECTOR.
  850. *
  851. * EXIT (A) = 0 IF ERROR.
  852. * (LT) = (T6) ON ENTRY.
  853. * (LS) = (T7) ON ENTRY.
  854. * (WC) = CM WORD COUNT OF RECORD.
  855. *
  856. * CALLS CDD, RNS.
  857.  
  858.  
  859. RDR SUBR ENTRY/EXIT
  860. RJM CDD CONNECT
  861. RDR1 LDN 0 CLEAR WORD COUNT
  862. STD WC
  863. LDD T6 SAVE CURRENT DISK ADDRESS
  864. STD LT
  865. LDD T7
  866. STD LS
  867. RDR2 LDD WC READ NEXT SECTOR
  868. RJM RNS
  869. MJN RDR1 IF DISK ERROR
  870. RAD WC
  871. LMC TPLN/5
  872. ZJN RDR3 IF TAPE PRU ASSEMBLED
  873. LDD T2 CHECK SECTOR WORD COUNT
  874. SHN -6
  875. NJN RDR2 IF NOT EOR
  876. RDR3 FNC 10,DS RELEASE CONTROLLER / DRIVE
  877. AJM *,DS IF FUNCTION NOT COMPLETE
  878. UJN RDRX RETURN
  879. RDT SPACE 4,10
  880. ** RDT - REWIND DEADSTART TAPE.
  881.  
  882.  
  883. RDT SUBR ENTRY/EXIT
  884. LDD DM
  885. NJN RDTX IF DISK DEADSTART
  886. RDT1 RJM GTS GET TAPE STATUS
  887. LPN 2
  888. NJN RDT1 IF UNIT BUSY
  889. LDD SF
  890. SBN 12-10 REWIND TAPE
  891. FAN DS
  892. UJN RDTX RETURN
  893. RNS SPACE 4,10
  894. ** RNS - READ NEXT SECTOR.
  895. *
  896. * ENTRY (A) = BIAS FOR BUFFER ADDRESS.
  897. *
  898. * EXIT (A) = (T2) = SECTOR WORD COUNT.
  899. * (T6) = LOGICAL TRACK FOR NEXT READ.
  900. * (T7) = LOGICAL SECTOR FOR NEXT READ.
  901. *
  902. * EREXIT (A) .LT. 0.
  903. * DISK BACKSPACED.
  904. *
  905. * USES T3, L1, L2.
  906. *
  907. * CALLS BKS, GDS, POS.
  908.  
  909.  
  910. RNS2.1 LDN 0 ZERO IF *DR* DEADSTART DEVICE
  911. RNSB EQU *-1
  912. NJN RNS2.2 IF NOT *DR* DEADSTART DEVICE
  913. LDD T7
  914. LMC 1200
  915. ZJN RNS3.1 IF POSSIBLE CYLINDER SWITCH
  916. LMC 1200&2400
  917. ZJN RNS3.1 IF POSSIBLE CYLINDER SWITCH
  918. RNS2.2 UJN RNS4 RESTORE LINKAGE CELLS AND RETURN
  919.  
  920. RNS3 AOD T7 ADVANCE LOGICAL SECTOR
  921. LMI T3
  922. ZJN RNS2.1 IF MATCHING SECTOR LINKAGE
  923. LDI T3 SET NEXT TRACK
  924. SHN 21-13
  925. PJN * IF NOT TRACK SWITCH
  926. SHN 13-21
  927. STD T6
  928. LDN 0 SET FIRST SECTOR
  929. STD T7
  930. RNS3.1 RJM POS POSITION MASS STORAGE
  931. RNS4 LDD L1 RESTORE CELLS OVERLAID BY LINKAGE
  932. STI T3
  933. AOD T3
  934. LDI T3
  935. STD T2
  936. LDD L2
  937. STI T3
  938. LDD T2
  939.  
  940. RNS SUBR ENTRY/EXIT
  941. STD T3 CALCULATE BUFFER ADDRESS
  942. SHN 2
  943. ADC BUF-2
  944. RAD T3
  945. STM RNSA
  946. LDI T3 SAVE LOCATIONS OVERLAID BY LINKAGE
  947. STD L1
  948. LDM 1,T3
  949. STD L2
  950. FNC 4,DS READ DISK SECTOR
  951. RNS1 LDC DSLN+2
  952. ACN DS
  953. IAM BUF,DS
  954. RNSA EQU *-1
  955. RJM GDS GET DISK STATUS
  956. ZJP RNS3 IF NO ERRORS
  957. SHN 21-13
  958. PJN RNS2 IF NOT ABNORMAL TERMINATION
  959. SHN 21-10-21+13
  960. PJN RNS2 IF NOT TO ISSUE CONTINUE
  961. FNC 14,DS ISSUE CONTINUE FUNCTION
  962. UJN RNS1 CONTINUE
  963.  
  964. RNS2 RJM BKS BACKSPACE DISK
  965. LCN 0
  966. LJM RNSX RETURN
  967. RTR SPACE 4,10
  968. ** RTR - READ TAPE RECORD.
  969. *
  970. * EXIT (WC) = CM WORD COUNT FOR RECORD.
  971. * (TM) = 0.
  972. * TO *RSTX* WHEN EOF ENCOUNTERED.
  973. *
  974. * CALLS BKS, DV5, GTS, ITM.
  975.  
  976.  
  977. RTR SUBR ENTRY/EXIT
  978. RTR1 RJM ITM INITIATE TAPE MOTION
  979. STD WC
  980. IAM BUF,DS INPUT TAPE RECORD
  981. LMC -0
  982. ADD WC
  983. SBN 3
  984. PJN RTR2 IF NOT NOISE
  985. LDN 0
  986. RTR2 RJM DV5 DIVIDE BY FIVE
  987. STD WC
  988. RTR3 RJM GTS GET TAPE STATUS
  989. LPN 20
  990. NJN RTR4 IF EOF
  991. STD TM
  992. LDD ST
  993. LPC 4010
  994. ZJN RTRX IF NO ERRORS
  995. RJM BKS BACKSPACE TAPE
  996. UJN RTR1 RETRY
  997.  
  998. RTR4 LJM RSTX EXIT SYSTEM TAPE LOAD
  999. RTU SPACE 4,10
  1000. ** RTU - RELEASE TAPE UNIT.
  1001.  
  1002.  
  1003. RTU SUBR ENTRY/EXIT
  1004. LDD DM
  1005. NJN RTUX IF DISK DEADSTART
  1006. LDD SF
  1007. SBN 12-1
  1008. RTU1 FAN DS RELEASE UNIT RESERVE
  1009. UJN RTUX RETURN
  1010. SPACE 4,10
  1011. ** COMMON DECKS.
  1012.  
  1013.  
  1014. *CALL COMPC2D
  1015. *CALL COMPDV5
  1016. LIST X
  1017. *CALL COMPLDA
  1018. LIST *
  1019. TITLE BUFFER RESIDENT PRESET.
  1020. BRP SPACE 4,10
  1021. ** BRP - BUFFER RESIDENT PRESET.
  1022. *
  1023. * EXIT CHANNEL INSTRUCTIONS MODIFIED.
  1024. * DRIVERS PRESET.
  1025. * CONSTANT 3 (TR) DEFINED.
  1026. *
  1027. * USES DH, DM, DN, IH, T4, T6, T7.
  1028. *
  1029. * CALLS C2D, MCI, PSD.
  1030.  
  1031.  
  1032. BRP SUBR ENTRY/EXIT
  1033. LDM MXRL+CM SET DEADSTART CHANNEL
  1034. STD T4
  1035. STD DH
  1036. RJM C2D CONVERT FOR STATUS MESSAGE
  1037. STM DSMA+1
  1038. LDM MXRL+LA PRESERVE DISPLAY CONSOLE STATUS
  1039. STD DN
  1040. LDC CTDS MODIFY CHANNEL INSTRUCTIONS
  1041. RJM MCI
  1042. LDN PC CHECK DEADSTART CHANNEL
  1043. STD IH
  1044. LMD DH
  1045. NJN BRP1 IF NOT PP COMMUNICATIONS CHANNEL
  1046. LDN 12 SET INTERCOMMUNICATIONS CHANNEL
  1047. STD IH
  1048. STD T4
  1049. LDC CTPC MODIFY PP INTERCOMMUNICATION CHANNELS
  1050. RJM MCI
  1051. BRP1 LDM MXRL+T7 DISK SECTOR / DEADSTART FUNCTION
  1052. STD T7
  1053. LDM MXRL+T6 TRACK / TAPE STATUS
  1054. STD T6
  1055. STD DM
  1056. RJM PSD PRESET DRIVERS
  1057. LDN 3 DEFINE CONSTANT 3
  1058. STD TR
  1059. UJP BRPX RETURN
  1060. TITLE BUFFER RESIDENT PRESET SUBROUTINES.
  1061. CAU SPACE 4,10
  1062. ** CAU - CHECK ATS UNIT.
  1063. *
  1064. * ENTRY (T7) = WORD 6 OF DEADSTART PANEL.
  1065. *
  1066. * EXIT TAPE READ LOOP MODIFIED FOR 200 OR 150 IPS 6250
  1067. * DENSITY AT 2X PPU SPEED OR ANY 6250 DENSITY AT 1X PPU
  1068. * SPEED.
  1069. *
  1070. * USES T1.
  1071.  
  1072.  
  1073. CAU2 SBN 2
  1074. PJN CAUX IF PP SPEED .GE. 4X
  1075. LDD T1
  1076. LPN 7
  1077. LMN 5
  1078. ZJN CAU1 IF 200 IPS UNIT
  1079. LMN 6&5
  1080. ZJN CAU1 IF 150 IPS UNIT
  1081.  
  1082. CAU SUBR ENTRY/EXIT
  1083. LDD T7 GET EQUIPMENT (CONTROLLER) NUMBER
  1084. LPC 7000
  1085. ADC 212 ADD UNIT STATUS FUNCTION
  1086. FAN DS
  1087. ACN DS
  1088. IAN DS
  1089. DCN DS
  1090. STD T1
  1091. LPN 30 CHECK UNIT STATUS
  1092. LMN 30
  1093. NJN CAUX IF DENSITY NOT 6250 CPI
  1094. LDM MXRL+T3
  1095. NJN CAU2 IF PP SPEED .GT. 1X
  1096. CAU1 LDC UJNI+2 DISABLE INITIATE TAPE MOTION
  1097. STM RSTA
  1098. UJN CAUX RETURN
  1099. MCI SPACE 4,10
  1100. ** MCI - MODIFY CHANNEL INSTRUCTIONS.
  1101. *
  1102. * ENTRY (A) = ADDRESS OF INSTRUCTION LIST.
  1103. * (T4) = CHANNEL NUMBER.
  1104. *
  1105. * USES T1, T2.
  1106.  
  1107.  
  1108. MCI1 STD T2 SET INSTRUCTION ADDRESS
  1109. LDI T2 MODIFY INSTRUCTION
  1110. SCN 37
  1111. LMD T4
  1112. STI T2
  1113. AOD T1 ADVANCE LIST ADDRESS
  1114. MCI2 LDI T1
  1115. NJN MCI1 IF NOT END OF LIST
  1116.  
  1117. MCI SUBR ENTRY/EXIT
  1118. STD T1 SET LIST ADDRESS
  1119. UJN MCI2 ENTER LOOP
  1120. PSD SPACE 4,10
  1121. ** PSD - PRESET DRIVERS.
  1122. *
  1123. * ENTRY (A) = 0 IF TAPE DEADSTART.
  1124. * (T6) = TRACK / TAPE STATUS.
  1125. * (T7) = DISK SECTOR / DEADSTART FUNCTION.
  1126. *
  1127. * EXIT (UN) = UNIT NUMBER (DISK DEADSTART).
  1128. * (BF) = BACKSPACE FUNCTION (TAPE DEADSTART).
  1129. * (RF) = READ FUNCTION (TAPE DEADSTART).
  1130. * (SF) = STATUS FUNCTION (TAPE DEADSTART).
  1131. *
  1132. * CALLS CAU, C2D, PDA.
  1133.  
  1134.  
  1135. PSD3 LDM MXRL+T5 SET SEEK FUNCTION
  1136. SHN 14
  1137. STM POSA
  1138. SHN -14 POSITION ALGORITHM INDEX
  1139. LPN 77
  1140. LMN AIDR
  1141. RAM RNSB ZERO FOR CDSS II DEADSTART DEVICE
  1142. LMN AIDR
  1143. LPN 77
  1144. RJM PDA PRESET DISK ADDRESS CONVERSION
  1145. LDM MXRL+DT GET 895 DEADSTART READ FLAG
  1146. STD DT
  1147. LDM MXRL+T4 SET UNIT NUMBER
  1148. PSD4 STD UN
  1149. RJM C2D CONVERT FOR STATUS MESSAGE
  1150. STM DSMA+4
  1151.  
  1152. PSD SUBR ENTRY/EXIT
  1153. NJN PSD3 IF DISK DEADSTART
  1154. LDC RTR SET TAPE DRIVER ADDRESS
  1155. STM RNRA
  1156. LDD T7
  1157. SHN -6
  1158. LPN 7
  1159. LMN 1
  1160. NJN PSD1 IF NOT ATS TAPE SYSTEM
  1161. LCN 0 SET DETAIL STATUS MASK
  1162. STM GTSB
  1163. RJM CAU CHECK ATS UNIT
  1164. PSD1 LDD T7 EXTRACT EQUIPMENT (CONTROLLER) NUMBER
  1165. LPC 7000
  1166. ADN 12 SET GENERAL STATUS FUNCTION
  1167. STD SF
  1168. ADN 40-12 SET READ FUNCTION
  1169. STD RF
  1170. ADN 112-40 SET DETAILED STATUS FUNCTION
  1171. STM GTSA
  1172. ADN 113-112 SET BACKSPACE FUNCTION
  1173. STD BF
  1174. PSD2 LDD T7 EXTRACT UNIT NUMBER
  1175. LPN 17
  1176. LJM PSD4 CONVERT FOR STATUS MESSAGE
  1177.  
  1178. LIST G
  1179. PDA HERE
  1180. LIST *
  1181. SPACE 4,10
  1182. ** CHANNEL TABLES.
  1183.  
  1184.  
  1185. CHTB PC
  1186. CHTB DS
  1187. SPACE 4,10
  1188. ERRNG 7777-* PRESET OVERFLOWS PP MEMORY
  1189. SPACE 4,10
  1190. ** BUFFER.
  1191.  
  1192.  
  1193. BUF EQU BRPX+5
  1194. SPACE 4,10
  1195. ERRNG 10000-BUF-TPLN-5 BUFFER OVERFLOWS PP MEMORY
  1196. ERRNG MXRL-*-5 *DIO* OVERFLOWS ONE TAPE PRU
  1197.  
  1198. END