Table of Contents

0CT

Table Of Contents

  • [00007] 0CT - LOAD CTS/CCC CONTROLWARE
  • [00009] LOAD CTS/CCC CONTROLWARE.
  • [00059] MAIN PROGRAM.
  • [00061] LCC - MAIN ROUTINE.
  • [00162] ICF - ISSUE CCC/CTS FUNCTION.
  • [00185] MCI - MODIFY CHANNEL INSTRUCTIONS.

Source Code

0CT.txt
  1. IDENT 0CT,/REL/LCCX
  2. PERIPH J
  3. BASE MIXED
  4. SST
  5. *COMMENT 0CT - LOAD CTS/CCC CONTROLWARE.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE 0CT - LOAD CTS/CCC CONTROLWARE
  8. SPACE 4,10
  9. *** 0CT - LOAD CTS/CCC CONTROLWARE.
  10. *
  11. * P. C. SMITH. 92/04/21.
  12. SPACE 4,10
  13. *** *0CT* IS A LOCATION FREE ROUTINE CALLED BY *1MT*
  14. * TO LOAD CTS/CCC CONTROLWARE ON *MAGNET* INTITIATION, AND
  15. * DURING TAPE ERROR RECOVERY.
  16. SPACE 4,10
  17. *** ENTRY CONDITIONS.
  18. *
  19. * (CN) = CHANNEL NUMBER.
  20. * (CN+1) = ADDRESS OF 100B CM WORD BUFFER.
  21. *
  22. *
  23. * USES CM - CM+4, CN - CN+4, T1 - T1+4.
  24. SPACE 4,10
  25. *** EXIT CONDITIONS.
  26. *
  27. * (CN) = 0 IF NO ERROR.
  28. * (CN) = ERROR CODE IF ERROR.
  29. * (CN) = 7777 IF MICROCODE NOT FOUND.
  30. * (CN+1) = LAST FUNCTION ISSUED TO CCC.
  31. * (CN+2) = MICROCODE REVISION.
  32. SPACE 4,10
  33. **** DIRECT LOCATION ASSIGNMENTS.
  34.  
  35.  
  36. DS EQU 24 DEVICE STATUS
  37. CN EQU 62 - 66 CM BUFFER
  38. SPACE 4,10
  39. * ASSEMBLY CONSTANTS.
  40.  
  41.  
  42. CH EQU 13 CHANNEL NUMBER
  43. F0012 EQU 0012 GENERAL STATUS FUNCTION
  44. F0414 EQU 0414 AUTOLOAD FUNCTION
  45.  
  46. ****
  47. SPACE 4,10
  48. ** COMMON DECKS.
  49.  
  50.  
  51. *CALL COMPMAC
  52. QUAL MTX
  53. *CALL COMSMTX
  54. QUAL *
  55. *CALL COMSZOL
  56. REL$ SET 1 DEFINE FULL RELOCATION
  57. *CALL COMPRLI
  58. *CALL COMPCHM
  59. TITLE MAIN PROGRAM.
  60. LCC SPACE 4,10
  61. ** LCC - MAIN ROUTINE.
  62.  
  63.  
  64. LCC SUBR ENTRY/EXIT
  65. REL$ EQU 1 SET FULL RELOCATION
  66. RJM. REL,LA RELOCATE ADDRESSES
  67. RJM MCI MODIFY CHANNEL INSTRUCTIONS
  68. LDD CN+1 SET CONTROLWARE BUFFER ADDRESS
  69. STM LCCA
  70. STM LCCB
  71. LCC1 DELAY
  72. LDK PLDP CHECK PERIPHERAL DIRECTORY POINTER
  73. CRD CM
  74. LDD CM
  75. ADD CM+1
  76. ZJN LCC1 IF SYSEDIT IN PROGRESS
  77.  
  78. * FIND CCC MICROCODE.
  79.  
  80. LDN ZERL
  81. CRD CM
  82. LDD MA PUT CONTROLWARE ID IN MESSAGE BUFFER
  83. CWM LCCE,ON
  84. MONITOR SCDM SEARCH CENTRAL DIRECTORY
  85. LDD CM+3
  86. SHN 14
  87. LMD CM+4
  88. CRD CM READ *PST* ENTRY
  89. LDD CM+1
  90. SHN 21-12
  91. PJP LCC5 IF NOT CM RESIDENT
  92. LDD CM+3 GET ADDRESS OF *RCL* ENTRY
  93. SHN 14
  94. LMD CM+4
  95. ADN 1
  96. CRD CN READ 5200 RECORD HEADER
  97. ADN 6
  98. CRD T1
  99. SBN 5 SET FWA OF 5200 RECORD DATA
  100. STD CM+4
  101. SHN -14
  102. STD CM+3
  103. LCN 1 ADJUST WORD COUNT FOR HEADER
  104. RAD CN+4
  105. LDD T3
  106. STD CN+2 SAVE MICROCODE REVISION
  107.  
  108. * LOAD CCC MICROCODE.
  109.  
  110. LDC F0414 AUTOLOAD FUNCTION
  111. RJM ICF ISSUE CTS FUNCTION
  112. NJP LCC6 IF FUNCTION TIMEOUT
  113. ACN CH
  114. LDD CN+4
  115. LCC2 SBD HN
  116. MJN LCC3 IF LESS THAN 100B WORDS LEFT
  117. LDN 0
  118. LCC3 ADD HN
  119. STD T1
  120. LDD CM+3
  121. SHN 14
  122. LMD CM+4
  123. CRM. **,T1 READ FROM CM
  124. LCCA EQU *-1 (ADDRESS OF CONTROLWARE BUFFER)
  125. STD CM+4 UPDATE CM ADDRESS
  126. SHN -14
  127. STD CM+3
  128. LDD T1 SET BYTES TO TRANSFER
  129. SHN 2
  130. ADD T1
  131. OAM **,CH LOAD BLOCK OF CONTROLWARE TO CCC
  132. LCCB EQU *-1 (ADDRESS OF CONTROLWARE BUFFER)
  133. FJM *,CH IF TRANSFER NOT COMPLETE
  134. LCCC EQU *-1 (ADDRESS TO BE RELOCATED)
  135. NJN LCC4 IF INCOMPLETE TRANSFER
  136. LDD CN+4
  137. SBD T1
  138. STD CN+4
  139. NJN LCC2 IF MORE WORDS TO TRANSFER
  140. LDN F0012 GENERAL STATUS FUNCTION
  141. RJM ICF ISSUE FUNCTION
  142. NJN LCC6 IF FUNCTION TIMEOUT
  143. ACN CH
  144. LDN 1
  145. IAM DS,CH INPUT GENERAL STATUS
  146. NJN LCC4 IF WORD NOT RECEIVED
  147. SFM LCC4,CH IF ERROR FLAG SET
  148. LCCD EQU *-1 (ADDRESS TO BE RELOCATED)
  149. LDD DS
  150. SHN 0-13
  151. ZJN LCC6 IF NO ERROR
  152. LCC4 LDN /MTX/CMF CHANNEL MALFUNCTION
  153. UJN LCC6 SAVE ERROR CODE
  154.  
  155. LCC5 LCN 0 INDICATE MICROCODE NOT FOUND
  156. LCC6 STD CN
  157. LJM LCCX RETURN
  158.  
  159.  
  160. LCCE VFD 30/0LMB468,30/0
  161. ICF SPACE 4,10
  162. ** ICF - ISSUE CCC/CTS FUNCTION.
  163. *
  164. * ENTRY (A) = FUNCTION.
  165. *
  166. * EXIT (A) = 0 IF NO ERROR.
  167. * (A) = ERROR CODE IF ERROR.
  168. * (CN+1) = FUNCTION THAT WAS ISSUED.
  169.  
  170.  
  171. ICF2 LDN 0
  172.  
  173. ICF SUBR ENTRY/EXIT
  174. DCN CH ENSURE CHANNEL IS INACTIVE
  175. STD CN+1 SAVE FUNCTION
  176. FAN CH ISSUE THE FUNCTION
  177. LCN 0
  178. ICF1 IJM ICF2,CH IF FUNCTION REPLY RECEIVED
  179. ICFA EQU *-1 (ADDRESS TO BE RELOCATED)
  180. SBN 1
  181. NJN ICF1 IF TIMEOUT NOT EXPIRED
  182. LDN /MTX/FRJ FUNCTION REJECT
  183. UJN ICFX RETURN
  184. MCI SPACE 4,10
  185. ** MCI - MODIFY CHANNEL INSTRUCTIONS.
  186. *
  187. * ENTRY (CN) = CHANNEL NUMBER.
  188. * (LA) = LOAD ADDRESS.
  189. *
  190. * USES T3.
  191.  
  192.  
  193. MCI SUBR ENTRY/EXIT
  194. LDC. MCIA
  195. STD T3 ADDRESS OF CHANNEL TABLE
  196. MCI1 LDI T3 GET ADDRESS OF CHANNEL INSTRUCTION
  197. ZJN MCIX IF END OF CHANNEL TABLE
  198. ADD LA RELOCATE ADDRESS
  199. STD T0
  200. LDI T0
  201. SCN 37
  202. LMD CN SET CHANNEL NUMBER
  203. STI T0
  204. AOD T3
  205. UJN MCI1 CONTINUE MODIFYING CHANNEL INSTRUCTIONS
  206.  
  207. LIST G
  208.  
  209. MCIA CHTB CH CHANNEL TABLE
  210. SPACE 4,10
  211. * ASSEMBLE RELOCATION CODE.
  212. *
  213. * NOTE - DUE TO THE INTERACTION OF COMMON DECKS *COMPRLI* AND
  214. * *COMPCHM*, THE ADDRESS OF ANY INSTRUCTION WHICH
  215. * SPECIFIES BOTH A CHANNEL NUMBER AND A RELOCATABLE
  216. * ADDRESS MUST BE MANUALLY ADDED TO THE FOLLOWING TABLE.
  217.  
  218.  
  219. HERE
  220. CON LCCC
  221. CON LCCD
  222. CON ICFA
  223. CON 0
  224. SPACE 4,10
  225. * CHECK FOR OVERFLOW.
  226.  
  227.  
  228. ERRPL *-ZCTL *0CT* OVERFLOWS CALLING PROGRAM
  229.  
  230. END