User Tools

Site Tools


cdc:nos2.source:opl871:abc

Table of Contents

ABC

Table Of Contents

  • [00008] ABC - AUTOLOAD BUFFER CONTROLLER.
  • [00075] MACRO DEFINITIONS.
  • [00082] CHIM - REDEFINE M-TYPE CHANNEL INSTRUCTIONS.
  • [00110] CHIN - REDEFINE N-TYPE CHANNEL INSTRUCTIONS.
  • [00138] CHTB - DEFINE CHANNEL TABLE.
  • [00158] PRESET.
  • [00191] MCI - MODIFY CHANNEL INSTRUCTIONS.
  • [00220] MAIN ROUTINE.
  • [00342] CPT - CHECK FOR PREFIX TABLE.
  • [00366] OCD - OUTPUT THE CARD.
  • [00380] OFC - OUTPUT THE FIRST CARD.

Source Code

ABC.txt
  1. IDENT ABC,PRS
  2. PERIPH
  3. BASE MIXED
  4. NOLABEL I
  5. SST
  6. *COMMENT AUTOLOAD BUFFER CONTROLLER.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. TITLE ABC - AUTOLOAD BUFFER CONTROLLER.
  9. SPACE 4,10
  10. ***** ABC - AUTOLOAD BUFFER CONTROLLER.
  11. * P. D. HAAS. 73/08/21.
  12. SPACE 4,10
  13. *** *ABC* PROVIDES FOR A DEADSTART AUTOLOAD OF DISK
  14. * OR TAPE CONTROLWARE, FROM A CARD READER. WHEN THE LOAD
  15. * SEQUENCE IS COMPLETE, A *CTI* DEADSTART IS INITIATED
  16. * ON THE CHANNEL TO WHICH CONTROLWARE WAS LOADED.
  17. SPACE 4,10
  18. *** CARD DECK STRUCTURE.
  19. *
  20. *
  21. * ABC (PUNCHB BINARY)
  22. * 7/8/9 (EOR)
  23. * MTSS FIRMWARE
  24. * 7/8/9 (EOR) OR
  25. * 6/7/8/9 (EOI) BUT NOT BOTH
  26. SPACE 4,10
  27. *** DEAD START PANEL SETTING.
  28. *
  29. * CC = CARD READER CHANNEL.
  30. * E = CARD READER EQUIPMENT.
  31. * TT = TAPE/DISK CHANNEL.
  32. * U = UNIT NUMBER.
  33. *
  34. * SEE OPERATORS GUIDE FOR DESCRIPTION OF WORD 13.
  35. *
  36. *
  37. * WORD VALUE
  38. *
  39. * 0001 75CC
  40. * 0002 77CC
  41. * 0003 E000
  42. * 0004 0000
  43. * 0005 77CC
  44. * 0006 1400
  45. * 0007 74CC
  46. * 0010 71CC
  47. * 0011 7664
  48. * 0012 00TT
  49. * 0013 IFNN
  50. * 0014 026U (TAPE) OR 03UU (DISK) DEADSTART FUNCTION
  51. SPACE 4,10
  52. *** COLDSTART PROCEDURE.
  53. *
  54. * 1. SET UP DEADSTART PANEL.
  55. * 2. INSERT DECK IN CARD READER.
  56. * 3. STOP AND MASTER CLEAR TAPE CONTROLLER.
  57. * 4. HIT DEADSTART SWITCH.
  58. * 5. START CARD READER.
  59. * 6. PUSH MEMORY RELOAD.
  60. * 7. READY CARD READER.
  61. SPACE 4,10
  62. ** ASSEMBLY CONSTANTS.
  63.  
  64.  
  65. CSLA EQU 7673 *ABC* LOAD ADDRESS
  66. SPACE 4,10
  67. **** DIRECT LOCATION ASSIGNMENTS.
  68.  
  69.  
  70. ST EQU 21 - 22 CARD STATUS
  71. T8 EQU 23 SCRATCH
  72. T9 EQU 24 SCRATCH
  73. JA EQU 75 - 77 JUMP ADDRESSES
  74. ****
  75. TITLE MACRO DEFINITIONS.
  76. SPACE 4,10
  77. ** MACRO DEFINITIONS (BORROWED FROM COMPCHI).
  78. *
  79. * MODIFIED TO ALLOW LABELED REMOTE SEQUENCES.
  80.  
  81.  
  82. ** CHIM - REDEFINE M-TYPE CHANNEL INSTRUCTIONS.
  83. *
  84. *
  85. * CHIM OPC,CODE
  86. * ENTRY *OPC* = INSTRUCTION MNEMONIC.
  87. * *CODE* = OPERATION CODE.
  88.  
  89.  
  90. CHIM MACRO OPC,CODE
  91. PURGMAC OPC
  92. OPC. PPOP 7,CODE
  93. OPC MACRO M,D
  94. LOCAL A
  95. A OPC. M,0
  96. CT_D RMT
  97. CON A
  98. RMT
  99. OPC ENDM
  100. CHIM ENDM
  101.  
  102. CHIM AJM,6400
  103. CHIM IJM,6500
  104. CHIM FJM,6600
  105. CHIM EJM,6700
  106. CHIM IAM,7100
  107. CHIM OAM,7300
  108. CHIM FNC,7700
  109. CHIN SPACE 4,10
  110. ** CHIN - REDEFINE N-TYPE CHANNEL INSTRUCTIONS.
  111. *
  112. *
  113. * CHIN OPC,CODE
  114. * ENTRY *OPC* = INSTRUCTION MNEMONIC.
  115. * *CODE* = OPERATION CODE.
  116. *
  117. * NOTE BIT 2**5 SET ON ALL *DCN* INSTRUCTIONS.
  118.  
  119.  
  120. CHIN MACRO OPC,CODE
  121. PURGMAC OPC
  122. OPC. PPOP 4,CODE
  123. OPC MACRO D
  124. LOCAL A
  125. A OPC. 0
  126. CT_D RMT
  127. CON A
  128. RMT
  129. OPC ENDM
  130. CHIN ENDM
  131.  
  132. CHIN IAN,7000
  133. CHIN OAN,7200
  134. CHIN ACN,7400
  135. CHIN DCN,7540
  136. CHIN FAN,7600
  137. CHTB SPACE 4,10
  138. ** CHTB - DEFINE CHANNEL TABLE.
  139. * CHANNEL TABLE IS TERMINATED BY A ZERO WORD.
  140. *
  141. *
  142. * CHTB D
  143. * ENTRY *D* = NAME OF CHANNEL TABLE.
  144.  
  145.  
  146. CHTB MACRO D
  147. CT_D BSS 0
  148. CT_D HERE
  149. CON 0 TERMINATE TABLE
  150. CHTB ENDM
  151. SPACE 4,10
  152. ** COMMON DECKS.
  153.  
  154.  
  155. *CALL COMPMAC
  156. *CALL COMSDSL
  157. *CALL COMSPIM
  158. TITLE PRESET.
  159. PRS SPACE 4,10
  160. ORG CSLA
  161.  
  162. PRS LDC CTCH SET CHANNEL TABLE ADDRESS
  163. STD T8
  164. LDD 10 MODIFY CHANNEL INSTRUCTIONS
  165. RJM MCI
  166. IJM PRS1,CH
  167. DCN CH
  168. PRS1 FNC 1300,CH CHECK CARD READER STATUS
  169. ACN CH
  170. IAN CH
  171. DCN CH
  172. LPN 3
  173. LMN 1
  174. NJN PRS1 IF BUSY OR NOT READY
  175. FNC 1500,CH
  176. ACN CH
  177. LDN 2
  178. IAM ST,CH READ CARD STATUS
  179. LDC 120-2
  180. IAM JA,CH LOAD NEXT BLOCK
  181. PRSA EQU *-1
  182. DCN CH
  183. LDC 120-5
  184. RAM PRSA ADVANCE LOAD ADDRESS
  185. LDD ST
  186. LPN 37 CHECK STATUS
  187. LMN 7
  188. NJN PRS1 IF NOT EOR
  189. LJM ABC ENTER MAIN ROUTINE
  190. MCI SPACE 4,10
  191. ** MCI - MODIFY CHANNEL INSTRUCTIONS.
  192. *
  193. * ENTRY (A) CHANNEL NUMBER.
  194. * (T8) = CHANNEL TABLE ADDRESS.
  195. *
  196. * USES T1, T9.
  197.  
  198.  
  199. MCI1 STD T9 SET INSTRUCTION ADDRESS
  200. AOD T8
  201. LDD T1 MODIFY CHANNEL INSTRUCTION
  202. RAI T9
  203. MCI2 LDI T8
  204. NJN MCI1 IF NOT END OF CHANNEL TABLE
  205.  
  206. MCI SUBR ENTRY/EXIT
  207. LPN 37
  208. STD T1
  209. UJN MCI2 ENTER LOOP
  210. SPACE 4,10
  211. ** CHANNEL TABLE.
  212.  
  213.  
  214. CHTB CH
  215.  
  216. ERRNG 7777-*
  217. BSS 10000-*
  218. CON PRS-1
  219.  
  220. TITLE MAIN ROUTINE.
  221. ABC SPACE 4,10
  222. LOC 100-3
  223.  
  224. JA CON CPT,OFC,OCD SUBROUTINE ADDRESSES REFERENCED AT *ABCG*
  225.  
  226. ABC LDC CTCC SET CARD READER CHANNEL TABLE
  227. STD T8
  228. LDD 10 MODIFY CARD READER CHANNELS
  229. RJM MCI
  230. LDC CTDC SET CONTROLLER CHANNEL TABLE
  231. STD T8
  232. LDD 12 MODIFY CONTROLWARE LOAD CHANNELS
  233. RJM MCI
  234. LDD T1
  235. ZJN ABC3 IF AUTOLOAD TO CHANNEL 0
  236. SBN 12
  237. MJN ABC1 IF LOADING TO CHANNEL WITH PP
  238. SBN 20-12
  239. MJN ABC3 IF LOADING TO CHANNEL 12 OR 13
  240. SBN 32-20
  241. PJN ABC3 IF LOADING TO CHANNEL 32 OR 33
  242. ABC1 AOM ABCA FLAG PP MOVED
  243. AJM. ABC2,13 IF CARD READER NOT ON CHANNEL 13
  244. SOM ABCB MOVE PP TO CHANNEL 12
  245. SOM ABCC
  246. SOM ABCD
  247. SOM ABCE+2
  248. ABC2 LDN 3 MOVE PP
  249. OAM ABCE,DC
  250. ABC3 DCN DC
  251. FNC 414,DC INITIATE AUTOLOAD
  252. ACN DC
  253. ABC4 FNC 1300,CC GET CARD READER STATUS
  254. ACN CC
  255. IAN CC
  256. DCN CC
  257. LPN 3
  258. LMN 1
  259. NJN ABC4 IF NOT READY OR BUSY
  260. FNC 1500,CC
  261. ACN CC
  262. LDC 120
  263. IAM BUF,CC READ CARD
  264. DCN CC
  265. LDM BUF CHECK WORD COUNT
  266. SHN -6
  267. ZJN ABC5 IF END OF DATA
  268. STD T8 CONVERT WORDS TO BYTES
  269. SHN 2
  270. RAD T8
  271. ABCG LJM 0,JA CHECK FOR 7700 TABLE
  272. * LJM 0,JA+1 (IF 5200 TABLE IS EXPECTED)
  273. * LJM 0,JA+2 (IF READING FULL CARDS)
  274.  
  275. ABC5 LDM BUF CHECK STATUS
  276. LPN 37
  277. LMN 7
  278. ZJN ABC6 IF EOR
  279. LMN 17&7
  280. NJN * IF NOT EOI
  281. ABC6 DCN DC
  282. LDN 77
  283. SBN 1 WAIT INITIALIZATION COMPLETE
  284. NJN *-1
  285. FNC 12,DC REQUEST GENERAL STATUS
  286. ACN DC
  287. IAN DC
  288. DCN DC
  289. SHN 6
  290. MJN * IF ALERT FLAG SET
  291. FNC 0,CC RELEASE CARD READER
  292. LDN 1
  293. STD T8
  294. FNC 1700,CC CLEAR CONVERTER
  295. LDD 13 MOVE PARAMETER WORD TO PANEL IMAGE
  296. STM DSPA+13
  297. LDD 14 MOVE DEADSTART FUNCTION
  298. STM DSPA+6
  299. SHN -6
  300. LMN 3
  301. ZJN ABC7 IF DISK DEADSTART
  302. LCN 10-3 CLEAR OPPOSITE RESERVES
  303. ABC7 ADN 10 ISSUE OPERATION COMPLETE
  304. FAN DC
  305. ABCA LDN 0
  306. * LDN 1 (PP ON DEADSTART CHANNEL)
  307. ZJN ABC8 IF NO PP ON DEADSTART CHANNEL
  308. LDN 3 MOVE PP BACK TO DEADSTART CHANNEL
  309. ABCB OAM. ABCF,13
  310. * OAM. ABCF,12 (CARD READER ON CHANNEL 13)
  311. ACN DC
  312. ABCC DCN. 13
  313. * DCN. 12 (CARD READER ON CHANNEL 13)
  314. ABCD ACN. 13
  315. * ACN. 12 (CARD READER ON CHANNEL 12)
  316. LDC LDNI+2 MODIFY PANEL IMAGE TO MOVE PP
  317. STM DSPA+1
  318. LDC OAMI
  319. LMD T1
  320. STM DSPA+2
  321.  
  322. * MOVE DEADSTART PANEL IMAGE TO DIRECT CELLS.
  323.  
  324. ABC8 LDM DSPA,T8
  325. STI T8
  326. AOD T8
  327. LMN 21
  328. NJN ABC8 IF NOT END OF PANEL IMAGE
  329. STD 21
  330. ACN CC
  331. * LDN 0
  332. LJM 1 EXECUTE DEADSTART PANEL
  333.  
  334. ABCE CON 0
  335. LCN 0
  336. IAM. 0,13
  337.  
  338. ABCF CON 0
  339. LCN 0
  340. IAM 0,DC
  341. CPT SPACE 4,10
  342. ** CPT - CHECK FOR PREFIX TABLE.
  343. *
  344. * ENTRY (T8) = NUMBER OF DATA BYTES ON THE CURRENT CARD.
  345. *
  346. * EXIT (*ABCG*) IS UPDATED.
  347. * TO *OCD* IF THIS IS NEITHER A PREFIX NOR PPU TABLE.
  348. * TO *OCD2* IF IT IS A PREFIX TABLE.
  349. * TO *OFC1* IF IT IS NOT A PREFIX TABLE.
  350.  
  351.  
  352. CPT BSS 0 ENTRY
  353. AOM ABCG INCREMENT JUMP ADDRESS
  354. LDD T8
  355. SBK 17*5
  356. NJN CPT1 IF NOT A PREFIX OR PPU TABLE
  357. LDM BUF+2
  358. LMC 7700
  359. NJN OFC1 IF NOT A PREFIX TABLE
  360. LDM BUF+3
  361. SBN 16
  362. ZJN OCD2 IF IT IS A PREFIX TABLE
  363. CPT1 AOM ABCG INCREMENT THE JUMP ADDRESS
  364. * UJN OCD OUTPUT THE CARD
  365. OCD SPACE 4,10
  366. ** OCD - OUTPUT THE CARD.
  367. *
  368. * ENTRY (T8) = THE NUMBER OF DATA BYTES ON THE CURRENT CARD.
  369. *
  370. * EXIT DATA SENT TO CONTROLLER.
  371. * TO *ABC4*
  372.  
  373.  
  374. OCD BSS 0 ENTRY
  375. LDD T8
  376. OAM BUF+2,DC LOAD BUFFER CONTROLLER
  377. OCD1 NJN * IF NOT ALL DATA TRANSMITTED, HANG
  378. OCD2 LJM ABC4 READ NEXT CARD
  379. OFC SPACE 4,10
  380. ** OFC - OUTPUT THE FIRST CARD.
  381. *
  382. * ENTRY (T8) = THE NUMBER OF DATA BYTES ON THE CURRENT CARD.
  383. *
  384. * EXIT (*ABCG*) UPDATED.
  385. * DATA SENT TO CONTROLLER.
  386. * TO *OCD1*.
  387.  
  388.  
  389. OFC1 LMC 5200&7700
  390. NJN CPT1 IF NOT A PPU TABLE
  391.  
  392. OFC BSS 0 ENTRY
  393. AOM ABCG INCREMENT THE JUMP ADDRESS
  394. LCN 5 SKIP 5200 TABLE
  395. ADD T8
  396. OAM BUF+7,DC LOAD BUFFER CONTROLLER
  397. UJN OCD1 CHECK TRANSMISSION
  398. SPACE 4,10
  399. * DEADSTART PANEL IMAGE.
  400.  
  401. DSPA EQU *-1
  402.  
  403. CON 0
  404. CON 0
  405. CON 17
  406. DCN DC
  407. FNC 260,DC
  408. ACN DC
  409. IAM 7301,DC
  410. CON 0
  411. CON 310
  412. CON 0
  413. CON 0
  414. CON 0
  415. CON 0
  416. IAM. 0,12
  417.  
  418.  
  419. BUF BSS 0
  420. SPACE 4,10
  421. ** CHANNEL TABLES.
  422.  
  423.  
  424. CHTB CC
  425. CHTB DC
  426.  
  427.  
  428. END
cdc/nos2.source/opl871/abc.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator