Table of Contents

1CL

Table Of Contents

  • [00008] 1CL - CPP FIRMWARE LOADER.
  • [00010] CPP FIRMWARE LOADER.
  • [00066] OPMESS - SEND OPERATOR MESSAGE.
  • [00104] MAIN PROGRAM.
  • [00106] MAIN PROGRAM.
  • [00112] ALC - AUTOLOAD CONTROLLER.
  • [00162] FCN - ISSUE FUNCTION TO CONTROLLER.
  • [00198] MCI - MODIFY CHANNEL INSTRUCTIONS.
  • [00222] OFR - OUTPUT FIRMWARE RECORD.
  • [00269] STS - STATUS CONTROLLER.
  • [00289] WOG - WAIT FOR OPERATOR *GO.*.
  • [00341] PRS - PRESET PROGRAM.

Source Code

1CL.txt
  1. IDENT 1CL,ALC
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. SYSCOM
  6. *COMMENT 1CL - CPP FIRMWARE LOADER.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. TITLE 1CL - CPP FIRMWARE LOADER.
  9. SPACE 4
  10. *** 1CL - CPP FIRMWARE LOADER.
  11. *
  12. * S. L. BETH. 86/07/25.
  13. SPACE 4
  14. *** 1CL IS LOADED INTO A CPP BY *BCL* TO LOAD FIRMWARE TO
  15. * CPP CONTROLLERS. 1CL THEN LOADS THE FIRMWARE FROM THE CM
  16. * BUFFER THAT *BCL* HAS SET UP.
  17. SPACE 4
  18. *** CALL.
  19. *
  20. *
  21. *T IR 18/ *1CL*,1/,5/ CP,36/
  22. *T MB 12/ CH,12/ RL,12/ DSTO,24/ CMA
  23. *
  24. * CH CHANNEL TO AUTOLOAD.
  25. * RL FIRMWARE RECORD LENGTH.
  26. * DSTO DEADSTART OPTIONS.
  27. * CMA CM ADDRESS OF FIRMWARE RECORD.
  28. *
  29. * MB = 12/7777,48/0 WHEN LOAD COMPLETE.
  30. SPACE 4
  31. *** OPERATOR MESSAGES.
  32. *
  33. * LINE 2 OF DEADSTART CONTROL POINT -
  34. *
  35. * *TO CONTROLLER.* = THE FIRMWARE RECORD LISTED IN THE LINE 1
  36. * MESSAGE AT THE DEADSTART CONTROL POINT IS BEING AUTOLOADED TO
  37. * THE CHANNEL AND EQUIPMENT TYPE LISTED IN THE LINE 1 MESSAGE.
  38. * IF THE DEADSTART STOPS WITH THIS MESSAGE AND THE LINE 1
  39. * MESSAGE LISTED ABOVE DISPLAYED, A CONTROLLER OR CHANNEL
  40. * MALFUNCTION OR INCORRECT EQPDECK EQUIPMENT DEFINITION HAS
  41. * CAUSED THE AUTOLOAD PROGRAM TO HANG.
  42. *
  43. * *AUTOLOAD FAILURE, STXXXX.* = FOLLOWING THE AUTOLOADING OF
  44. * THE RECORD LISTED IN THE LINE 1 MESSAGE AT THE DEADSTART
  45. * CONTROL POINT TO THE CHANNEL AND EQUIPMENT TYPE LISTED IN THE
  46. * LINE 1 MESSAGE, CONTROLLER STATUS (STXXXX) INDICATED THAT A
  47. * CHANNEL PARITY ERROR OR FIRMWARE CHECKSUM ERROR OCCURED FOR
  48. * THE AUTOLOAD. A STATUS OF *ST0000* INDICATES THAT THE
  49. * CHANNEL WAS DISCONNECTED WITHOUT STATUS BEING SENT. WHEN
  50. * THIS MESSAGE IS DISPLAYED, DEADSTART STOPS UNTIL THE *GO*
  51. * COMMAND IS ENTERED BY THE OPERATOR. WHEN THE *GO*
  52. * COMMAND IS ENTERED, THE AUTOLOAD IS RETRIED. IF SEVERAL
  53. * RETRIES CONTINUE TO PRODUCE THIS MESSAGE AND THE LINE 1
  54. * MESSAGE LISTED ABOVE, A SOLID HARDWARE FAILURE OR BAD
  55. * FIRMWARE RECORD ON THE DEADSTART TAPE IS INDICATED.
  56. *
  57. * * FUNCTION XXXX TIMEOUT.* = FUNCTION XXXX WAS NOT
  58. * ACCEPTED BY THE CONTROLLER, NOTIFY THE SITE CE.
  59. SPACE 4
  60. *CALL COMPMAC
  61. *CALL COMSDSL
  62. *CALL COMSPIM
  63. *CALL COMPCHM
  64.  
  65. OPMESS SPACE 4,10
  66. ** OPMESS - SEND OPERATOR MESSAGE.
  67. *
  68. * OPMESS MADD,LINE
  69. *
  70. * MADD = ADDRESS OF MESSAGE.
  71. * LINE = 1 FOR A LINE ONE MESSAGE.
  72. * = 2 FOR A LINE TWO MESSAGE.
  73.  
  74.  
  75. OPMESS MACRO MADD,LINE
  76. LDC 200*DSCP+MS_LINE_W
  77. CWM MADD,TR
  78. ENDM
  79. SPACE 4
  80. **** DIRECT LOCATION ASSIGNMENTS.
  81.  
  82.  
  83. CN EQU 20 - 24 CM WORD BUFFER (5 LOCATIONS)
  84. FN EQU 30 - 34 CM WORD BUFFER (5 LOCATIONS)
  85. NC EQU 35 NUMBER OF CONTROL POINTS
  86. TP EQU 43 TEMP
  87. RL EQU 44 RECORD LENGTH
  88. DS EQU 45 DEADSTART OPTIONS
  89. CA EQU 46 - 47 CURRENT CENTRAL ADDRESS (2 LOCATIONS)
  90. ****
  91. SPACE 4
  92. * ASSEMBLY CONSTANTS.
  93.  
  94.  
  95. BUF EQU TPBA TAPE BLOCK BUFFER
  96. FWBF EQU BUF FIRMWARE BUFFER
  97. FWBFL EQU 1000 FIRMWARE BUFFER LENGTH (CM WORDS)
  98. FCCN EQU 0 CONNECT FUNCTION
  99. FCOC EQU 10 OPERATION COMPLETE FUNCTION CODE
  100. FCGR EQU 11 GRENADE FUNCTION CODE
  101. FCGS EQU 12 GENERAL STATUS FUNCTION CODE
  102. FCLC EQU 71 LOAD CONTROL MODULE CONTROLWARE FROM PP
  103. FCAL EQU 414 AUTOLOAD FUNCTION CODE
  104. TITLE MAIN PROGRAM.
  105. 1CL SPACE 4
  106. ** 1CL - MAIN PROGRAM.
  107.  
  108.  
  109. ORG PPFW
  110.  
  111. ALC SPACE 4,20
  112. ** ALC - AUTOLOAD CONTROLLER.
  113. *
  114. * EXIT CONTROLLER AUTOLOADED WITH FIRMWARE.
  115. * CONTROLLER GRENADED IF DEADSTART OPTION SPECIFIED.
  116. * WAITS FOR OPERATOR GO IF AN AUTOLOAD FAILURE OCCURS.
  117. *
  118. * CALLS C2D, FCN, MCI, OFR, PRS, STS, WOG.
  119. *
  120. * MACROS DCHAN, OPMESS, RCHAN.
  121.  
  122.  
  123. ALC RJM PRS PRESET PROGRAM
  124. RJM MCI MODIFY CHANNEL INSTRUCTIONS
  125. LDD T4 RESERVE CHANNEL
  126. RCHAN
  127. DCN CH INSURE CORRECT CHANNEL STATE
  128. ALC1 OPMESS MSGA,2
  129. LDC 1S15 MASTER CLEAR THE CHANNEL ADAPTOR
  130. RJM FCN
  131. LDC FCAL ISSUE AUTOLOAD FUNCTION
  132. RJM FCN
  133. RJM OFR LOAD CONTROLWARE
  134. RJM STS
  135. ZJN ALC2 IF AUTOLOAD SUCCESSFUL
  136. SHN -6 PUT STATUS IN MESSAGE
  137. RJM C2D
  138. STM MSGB+12
  139. LDD FN
  140. RJM C2D
  141. STM MSGB+13
  142. LDC MSGB DISPLAY AUTOLOAD FAILURE MESSAGE
  143. RJM WOG
  144. UJN ALC1 RETRY AUTOLOAD
  145.  
  146. ALC2 LDD DS CHECK DEADSTART OPTIONS
  147. LPN 1
  148. ZJN ALC3 IF *GRENADE* NOT SPECIFIED
  149. LDN FCGR ISSUE GRENADE FUNCTION
  150. RJM FCN
  151. ALC3 LDN FCOC ISSUE OPERATION COMPLETE
  152. RJM FCN
  153. LDD T4 RELEASE CHANNEL
  154. DCHAN
  155. LCN 0 SET LOAD COMPLETE
  156. STD CM
  157. LDD MA
  158. CWD CM
  159. MONITOR DPPM
  160. LJM PPR EXIT
  161. FCN SPACE 4,15
  162. ** FCN - ISSUE FUNCTION TO CONTROLLER.
  163. *
  164. * ENTRY (A) = FUNCTION CODE.
  165. *
  166. * EXIT (A) = 0 IF GENERAL STATUS FUNCTION TIMED OUT.
  167. *
  168. * USES FN.
  169. *
  170. * CALLS C2D.
  171. *
  172. * MACROS OPMESS.
  173.  
  174.  
  175. FCN SUBR ENTRY/EXIT
  176. STD FN
  177. FCN1 FAN CH
  178. FCN2 IJM FCNX,CH IF FUNCTION ACCEPTED
  179. ADD ON
  180. NJN FCN2 IF TIMEOUT NOT SATISFIED
  181. DCN CH
  182. LDD FN CHECK FUNCTION
  183. LMN FCGS
  184. ZJN FCNX IF GENERAL STATUS REQUEST
  185. SHN -6
  186. RJM C2D
  187. STM FCNB
  188. LDD FN CONVERT FUNCTION FOR MESSAGE
  189. RJM C2D
  190. STM FCNB+1
  191. OPMESS FCNA,2 DISPLAY TIMEOUT MESSAGE
  192. LDD FN
  193. UJN FCN1 RETRY
  194.  
  195. FCNA DATA 10H FUNCTION
  196. FCNB DATA C*0000 TIMEOUT.*
  197. MCI SPACE 4,10
  198. ** MCI - MODIFY CHANNEL INSTRUCTIONS.
  199. *
  200. * ENTRY (T4) = CHANNEL NUMBER.
  201. *
  202. * USES T1, T2, T3.
  203.  
  204.  
  205. MCI1 STD T2 SET INSTRUCTION ADDRESS
  206. LDI T2
  207. SCN 37
  208. LMD T3 MODIFY INSTRUCTION
  209. STI T2
  210. AOD T1 ADVANCE LIST ADDRESS
  211. MCI2 LDI T1
  212. NJN MCI1 IF NOT END OF LIST
  213.  
  214. MCI SUBR ENTRY/EXIT
  215. LDD T4
  216. LPN 37 REMOVE CONCURRENT FLAG
  217. STD T3
  218. LDC CTCH SET CHANNEL TABLE ADDRESS
  219. STD T1
  220. UJN MCI2 ENTER LOOP
  221. OFR SPACE 4,20
  222. ** OFR - OUTPUT FIRMWARE RECORD.
  223. *
  224. * ENTRY (CA - CA+1) = CENTRAL MEMORY ADDRESS OF FIRMWARE
  225. * RECORD.
  226. * (RL) = WORD COUNT OF FIRMWARE RECORD.
  227. * CONTROLLER FUNCTIONED FOR AUTOLOAD.
  228. *
  229. * EXIT FIRMWARE RECORD TRANSFERRED FROM CENTRAL MEMORY TO
  230. * CONTROLLER.
  231. * CHANNEL INACTIVE.
  232. *
  233. * USES T1, T2, T5, T6.
  234.  
  235.  
  236. OFR3 FJM *,CH WAIT FOR LAST WORD ACCEPT
  237. DCN CH
  238.  
  239. OFR SUBR ENTRY/EXIT
  240. LDD CA SET CENTRAL MEMORY ADDRESS OF RECORD
  241. STD T5
  242. LDD CA+1
  243. STD T6
  244. OFRA ACN CH PREPARE CHANNEL FOR OUTPUT
  245. * PSN (IF 819 DRIVER LOAD)
  246. LDD RL RECORD WORD COUNT
  247. OFR1 ZJN OFR3 IF END OF RECORD
  248. STD T2 SAVE REMAINING WORD COUNT
  249. STD T1 SET BLOCK WORD COUNT
  250. ADC -FWBFL-1
  251. MJN OFR2 IF REMAINING DATA FITS IN BUFFER
  252. LDC FWBFL SET BLOCK COUNT TO BUFFER SIZE
  253. STD T1
  254. OFR2 LDD T5 SET CENTRAL BUFFER ADDRESS
  255. SHN 14
  256. LMD T6
  257. CRM FWBF,T1 READ BLOCK FROM CENTRAL MEMORY
  258. STD T6 SAVE NEXT CENTRAL MEMORY BUFFER ADDRESS
  259. SHN -14
  260. STD T5
  261. LDD T1 OUTPUT BLOCK TO CONTROLLER
  262. SHN 2
  263. ADD T1
  264. OAM FWBF,CH
  265. LDD T2 DECREMENT REMAINING RECORD WORD COUNT
  266. SBD T1
  267. UJN OFR1 PROCESS NEXT BLOCK
  268. STS SPACE 4,10
  269. ** STS - STATUS CONTROLLER.
  270. *
  271. * EXIT (A) = (FN) = GENERAL STATUS.
  272. * (A) = 775777 IF INCOMPLETE STATUS.
  273. * (FN) = 5777 IF INCOMPLETE STATUS.
  274. *
  275. * CALLS FCN.
  276.  
  277.  
  278. STS SUBR ENTRY/EXIT
  279. LDN FCGS
  280. RJM FCN
  281. ZJN STS1 IF FUNCTION TIMED OUT
  282. ACN CH
  283. STS1 LDC -2000 ERROR STATUS
  284. STSA IAN CH
  285. * IAN CH+40 INPUT STATUS
  286. STD FN
  287. UJN STSX RETURN
  288. WOG SPACE 4,10
  289. ** WOG - WAIT FOR OPERATOR *GO.*.
  290. *
  291. * ENTRY (A) = ADDRESS OF MESSAGE TO BE WRITTEN TO MS2W.
  292. *
  293. * EXIT (A) = 0.
  294. * OPERATOR ENTERED *GO.* COMMAND.
  295. *
  296. * USES T1, CM - CM+4.
  297. *
  298. * MACROS PAUSE.
  299.  
  300.  
  301. WOG SUBR ENTRY/EXIT
  302. STM WOGA SET MESSAGE ADDRESS
  303. LDD NC
  304. SHN 7 READ SENSE SWITCH WORD
  305. ADN SNSW
  306. STD T1 SAVE ADDRESS
  307. CRD CM
  308. LDD CM+3 SET PAUSE BIT
  309. SCN 1
  310. LMN 1
  311. STD CM+3
  312. LDD T1
  313. CWD CM
  314. ADN MS2W-SNSW WRITE MESSAGE TO MS2W
  315. CWM *,TR
  316. WOGA EQU *-1 MESSAGE ADDRESS
  317. WOG1 PAUSE NE
  318. LDD T1 CHECK PAUSE BIT
  319. CRD CM
  320. LDD CM+3
  321. LPN 1
  322. ZJN WOGX IF PAUSE BIT CLEAR
  323. UJN WOG1 LOOP
  324. SPACE 4,10
  325. ** CONSOLE MESSAGES.
  326.  
  327.  
  328. MSGA DATA C*TO CONTROLLER.*
  329. MSGB DATA C*AUTOLOAD FAILURE, ST0000.*
  330. SPACE 4,10
  331. ** COMMON DECKS.
  332.  
  333.  
  334. *CALL COMPC2D
  335. TCHS SPACE 4,10
  336. ** CHANNEL TABLE.
  337.  
  338.  
  339. CHTB CH
  340. PRS SPACE 4,10
  341. ** PRS - PRESET PROGRAM.
  342. *
  343. * EXIT (NC) = NUMBER OF CONTROL POINTS.
  344. * (RL) = FIRMWARE RECORD LENGTH.
  345. * (DS) = DEADSTART OPTIONS.
  346. * (T4) = CHANNEL.
  347. * (CA - CA+1) = CMA OF FIRMWARE RECORD.
  348. *
  349. * USES DS, NC, RL, TP, T4, CA - CA+1.
  350.  
  351.  
  352. PRS SUBR ENTRY/EXIT
  353. LDD MA READ LOAD PARAMETERS
  354. CRD TP
  355. LDD TP SET CHANNEL
  356. STD T4
  357. LDK NCPL SET NUMBER OF CONTROL POINTS
  358. CRD CM
  359. LDD CM+1
  360. STD NC
  361. UJN PRSX RETURN
  362. END