User Tools

Site Tools


cdc:nos2.source:opl871:ds1

Table of Contents

DS1

Table Of Contents

  • [00007] DS1 - 6612/DD60 DISPLAY ALIGNMENT TEST.
  • [00009] 6612/DD60 DISPLAY ALIGNMENT TEST.
  • [00054] DSM - MAIN PROGRAM.
  • [00072] KBI - KEYBOARD INPUT AND INTERPRETATION.
  • [00149] EEB - ERASE ENTRY BUFFER.
  • [00164] CTL - CONTROL ROUTINE.
  • [00318] TRA - TEST ROUTINE *A*.
  • [00371] TRC - TEST ROUTINE *C*.
  • [00417] TRD - TEST ROUTINE *D*.
  • [00453] TRI - TEST ROUTINE *I*.
  • [00485] TRS - TEST ROUTINE *S*.
  • [00511] TRX - TEST ROUTINE *X*.
  • [00553] TRZ - TEST ROUTINE *Z*.
  • [00646] DSS - DISPLAY SYSTEM STATUS.
  • [00658] FCN - FUNCTION CONSOLE FOR TUBE AND SIZE.
  • [00674] TCR - SELECT TUBE, CHARACTER, SIZE.
  • [00728] MDC - MODIFY CHANNEL INSTRUCTIONS.
  • [00765] TCHS - TABLE OF CHANNEL INSTRUCTIONS.
  • [00782] ATR - ADVANCE TEST ROUTINE.
  • [00809] DRP - DROP DISPLAY.
  • [00820] STR - SELECT TEST ROUTINE.
  • [00889] TTC - TOGGLE TEST AND CONTROL.
  • [00909] PRS - PRESET PROGRAM.

Source Code

DS1.txt
  1. IDENT DS1,DSM
  2. PERIPH
  3. BASE MIXED
  4. SST RDS
  5. *COMMENT DS1 - 6612/DD60 DISPLAY ALIGNMENT TEST.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE DS1 - 6612/DD60 DISPLAY ALIGNMENT TEST.
  8. SPACE 4
  9. *** DS1 - 6612/DD60 DISPLAY ALIGNMENT TEST.
  10. * E. W. HOBBS. 69/01/23.
  11. SPACE 4
  12. ** COMMON DECKS.
  13.  
  14.  
  15. *CALL COMDMAC
  16. *CALL COMPMAC
  17. *CALL COMSCPS
  18. SPACE 4
  19. **** DIRECT LOCATION ASSIGNMENTS.
  20.  
  21. NC EQU 15 NUMBER OF CP-S (FOR *COMDSYS*)
  22. XC EQU 16 X - COORDINATE
  23. YC EQU 17 Y - COORDINATE
  24. * *** NOTE *** KX, KY, KB MUST BE KEPT IN SEQUENCE
  25. KX EQU 26 KEYBOARD BUFFER X-COORDINATE
  26. KY EQU 27 KEYBOARD BUFFER Y-COORDINATE
  27. KB EQU 30 - 34 KEYBOARD BUFFER (5 LOC)
  28. KI EQU 35 KEYBOARD INDEX
  29. PA EQU 36 PROGRAM ADDRESS
  30. PI EQU 37 PROGRAM INDEX
  31. TS EQU 40 TUBE SWITCH
  32. TB1 EQU 41 TUBE 1 SELECTION
  33. TB2 EQU 42 TUBE 2 SELECTION
  34. PM EQU 43 TEST SELECTION MNEMONIC
  35. SZ EQU 44 SIZE CODE
  36. TB EQU 45 TUBE SELECTION
  37. CR EQU 46 CHARACTER SELECTION
  38. SIZ EQU 47 SIZE SELECTION
  39.  
  40. EQ EQU 60 EST ORDINAL
  41. AF EQU 61 *ALL TESTS* FLAG
  42.  
  43.  
  44. ** ASSEMBLY CONSTANTS.
  45.  
  46. NAME MICRO 1,, DS1
  47. CH EQU CHDS DISPLAY CHANNEL
  48. DSCT EQU 0 DISPLAY CYCLE (MS.)
  49.  
  50. ****
  51. DSM TITLE DS1 - MAIN ROUTINE
  52. ORG PPFW
  53.  
  54. ** DSM - MAIN PROGRAM.
  55.  
  56.  
  57. DSM RJM PRS PRESET
  58. DSM1 RJM KBI INPUT FROM KEYBOARD
  59. RJM 0,PA DISPLAY
  60. LDD TS TOGGLE TUBE SWITCH
  61. LMN 1
  62. STD TS
  63. RJM 0,PA
  64. RJM PSS PAUSE FOR SYSTEM
  65. UJN DSM1 LOOP
  66. KBI TITLE KEYBOARD INPUT ROUTINES.
  67. ** COMMON DECKS.
  68.  
  69.  
  70. *CALL COMPCHI
  71. KBI SPACE 4,10
  72. ** KBI - KEYBOARD INPUT AND INTERPRETATION.
  73. *
  74. * USES KB, KI, T1.
  75. *
  76. * CALLS ATR, DRP, EEB, HDC, HOL, TTC.
  77.  
  78.  
  79. KBI SUBR ENTRY/EXIT
  80. LDD CP
  81. ADN STSW
  82. CRD CM
  83. LDD CM+2
  84. LPN 1
  85. ZJN KBI0.0 IF NO ROLLOUT FLAG
  86. LJM DRP DROP DISPLAY
  87. KBI0.0 BSS 0
  88. FNC 7020,CH SELECT KEYBOARD INPUT
  89. ACN CH
  90. IAN CH
  91. DCN CH
  92. ZJN KBI0.1 IF NO INPUT
  93. LMC 0
  94. KBIA EQU *-1
  95. ZJN KBIX IF SAME INPUT
  96. LMM KBIA STORE NEW INPUT
  97. KBI0.1 STM KBIA
  98. ZJN KBIX RETURN IF NO INPUT
  99.  
  100. STD T1 SAVE INPUT
  101. LMN 1R*
  102. NJN KBI1 IF NOT +*+
  103. RJM HDC HOLD DISPLAY CHANNEL
  104. UJN KBIX RETURN
  105.  
  106. KBI1 LMN 1R$&1R*
  107. NJN KBI2 IF NOT *LEFT BLANK*
  108. RJM EEB ERASE ENTRY BUFFER
  109. LJM KBIX RETURN
  110.  
  111. KBI2 LMN 1R &1R$
  112. NJN KBI3 IF NOT *RIGHT BLANK*
  113. LJM DRP DROP DISPLAY
  114.  
  115. KBI3 LMN 1R.&1R
  116. NJN KBI4 IF NOT *.*
  117. RJM DDS DROP DISPLAY
  118. RJM RDS REQUEST DISPLAY
  119. RJM MDC MODIFY CHANNEL INSTRUCTIONS
  120. UJN KBI6 RETURN
  121.  
  122. KBI4 LMN 60&1R.
  123. NJN KBI5 IF NOT *CR*
  124. RJM TTC TOGGLE BETWEEN TEST AND CONTROL
  125. UJN KBI6 RETURN
  126.  
  127. KBI5 LMN 61&60
  128. NJN KBI7 IF NOT *BACKSPACE*
  129. LDD KI
  130. ZJN KBI6 RETURN IF FIRST ENTRY
  131. SOD KI DECREMENT KEYBOARD INDEX
  132. LDN 0 CLEAR PREVIOUS ENTRY
  133. STM KB,KI
  134. KBI6 LJM KBIX RETURN
  135.  
  136. KBI7 LMN 62&61
  137. NJN KBI8 IF NOT *SPACE*
  138. RJM ATR ADVANCE TEST ROUTINE
  139. UJN KBI6 RETURN
  140.  
  141. KBI8 LDD KI CHECK BUFFER INDEX
  142. LMN 4
  143. ZJN KBI6 RETURN IF BUFFER FULL
  144. LDD T1 STORE CHARACTER
  145. STM KB,KI
  146. AOD KI ADVANCE INDEX
  147. UJN KBI6 RETURN
  148. EEB SPACE 4
  149. ** EEB - ERASE ENTRY BUFFER.
  150. *
  151. * USES KB, KI.
  152.  
  153.  
  154. EEB SUBR ENTRY/EXIT
  155. EEB1 LDN 0 CLEAR ENTRY
  156. STM KB,KI
  157. SOD KI DECREMENT INDEX
  158. PJN EEB1 LOOP
  159. LDN 0
  160. STD KB
  161. STD KI RESET INDEX TO 0
  162. UJN EEBX RETURN
  163. CTL TITLE CONTROL ROUTINES
  164. ** CTL - CONTROL ROUTINE.
  165. *
  166. * USES T3, T4, T5.
  167. *
  168. * CALLS C6D, EEB.
  169.  
  170.  
  171. CTL SUBR ENTRY/EXIT
  172. RJM DSS DISPLAY SYSTEM STATUS
  173. FNC 7000,CH SELECT LEFT SCREEN, 64 CHARACTERS/LINE
  174. ACN CH
  175. LDC CTLAL DISPLAY LEFT SCREEN INSTRUCTIONS
  176. OAM CTLA,CH
  177. DCN CH
  178. LDN 10 DELAY
  179. SBN 1
  180. NJN *-1
  181. FNC 7001,CH SELECT LEFT SCREEN, 32 CHARACTERS/LINE
  182. ACN CH
  183. LDN CTLBL DISPLAY LEFT SCREEN HEADERS
  184. OAM CTLB,CH
  185. DCN CH
  186. LDN 10 DELAY
  187. SBN 1
  188. NJN *-1
  189. FNC 7100,CH SELECT RIGHT SCREEN, 64 CHARACTERS/LINE
  190. ACN CH
  191. LDN CTLCL DISPLAY RIGHT SCREEN HEADER
  192. OAM CTLC,CH
  193. DCN CH
  194. LDN 10 DELAY
  195. SBN 1
  196. NJN *-1
  197. FNC 7101,CH SELECT RIGHT SCREEN, 32 CHARACTERS/LINE
  198. ACN CH
  199. LDN CTLDL DISPLAY RIGHT SCREEN INSTRUCTIONS
  200. OAM CTLD,CH
  201. DCN CH
  202. LDN 10 DELAY
  203. SBN 1
  204. NJN *-1
  205. FNC 7102,CH SELECT RIGHT SCREEN, 16 CHARACTERS/LINE
  206. ACN CH
  207. LDN 6 DISPLAY KEYBOARD BUFFER
  208. OAM KX,CH
  209. DCN CH
  210. LJM CTLX RETURN
  211.  
  212. CTLA BSS 0
  213. DATA 6000
  214. DATA 7660
  215. DATA H*TEST - SELECT FROM LIBRARY LIST.*
  216. DATA 6000
  217. DATA 7640
  218. DATA H*TUBE - L = LEFT*
  219. DATA 6070
  220. DATA 7630
  221. DATA H*R = RIGHT*
  222. DATA 6070
  223. DATA 7620
  224. DATA H*B = BOTH*
  225. DATA 6000
  226. DATA 7600
  227. DATA H*CHAR - CHARACTER DESIRED FOR DISPLAY*
  228. DATA 6000
  229. DATA 7560
  230. DATA H*SIZE - S = 64 CHARACTERS/LINE*
  231. DATA 6070
  232. DATA 7544
  233. DATA H*M = 32 CHARACTERS/LINE*
  234. DATA 6070
  235. DATA 7530
  236. DATA H*L = 16 CHARACTERS/LINE*
  237. DATA 6000
  238. DATA 7410
  239. DATA H*A = FULL ALPHABET. SELECT TUBE, SIZE.*
  240. DATA 6000
  241. DATA 7374
  242. DATA H*C = FULL SCREEN, ONE CHARACTER. SELECT TUBE, SIZE.*
  243. DATA 6000
  244. DATA 7360
  245. DATA H*D = 32 X 32 DOT RASTER. SELECT TUBE.*
  246. DATA 6000
  247. DATA 7344
  248. DATA H*I = 15 CHARACTERS EACH SIZE. SELECT TUBE.*
  249. DATA 6000
  250. DATA 7330
  251. DATA H*L = DISPLAY ALL TESTS. SELECT TUBE, CHAR, SIZE.*
  252. DATA 6000
  253. DATA 7314
  254. DATA H*S = SINGLE CHARACTER, CENTERED. SELECT TUBE, CHAR, *
  255. DATA H*SIZE.*
  256. DATA 6000
  257. DATA 7300
  258. DATA H*X = CROSSED DIAGONAL LINES. SELECT TUBE.*
  259. DATA 6000
  260. DATA 7264
  261. DATA H*Z = DOT/CHAR CENTERING COMPARISON. SELECT TUBE, SIZE*
  262. DATA 6000
  263. DATA 7154
  264. DATA H*CR - TOGGLE BETWEEN CONTROL AND TEST.*
  265. DATA 6000
  266. DATA 7140
  267. DATA H*BKSP - CORRECT TYPING ERROR.*
  268. DATA 6000
  269. DATA 7124
  270. DATA H*LEFT BLANK - ERASE ALL TYPED ENTRIES.*
  271. DATA 6000
  272. DATA 7110
  273. DATA H*RIGHT BLANK - DROP PROGRAM.*
  274. DATA 6000
  275. DATA 7060
  276. DATA H+* - HOLD DISPLAY CHANNEL.+
  277. DATA 6000
  278. DATA 7044
  279. DATA H*. - DROP DISPLAY AND WAIT FOR REASSIGNMENT.*
  280. DATA 6000
  281. DATA 7030
  282. DATA H*SPACE BAR - L TEST, STEP TO NEXT TEST.*
  283. DATA 6140
  284. DATA 7014
  285. DATA H*ALL OTHERS, TOGGLE BETWEEN CONTROL AND TEST.*
  286. CTLAL EQU *-CTLA
  287.  
  288. CTLB BSS 0
  289. DATA 6100
  290. DATA 7720
  291. DATA H*TEST CODE DEFINITIONS*
  292. DATA 6200
  293. DATA 7450
  294. DATA H*LIBRARY DEFINITIONS*
  295. DATA 6240
  296. DATA 7204
  297. DATA H*CONTROL*
  298. CTLBL EQU *-CTLB
  299.  
  300. CTLC BSS 0
  301. DATA 6220
  302. DATA 7400
  303. DATA H*TEST TUBE CHAR SIZE*
  304. CTLCL EQU *-CTLC
  305.  
  306. CTLD BSS 0
  307. DATA 6100
  308. DATA 7600
  309. DATA H*DISPLAY ALIGNMENT ROUTINES*
  310. DATA 6100
  311. DATA 7200
  312. DATA H*SELECT FROM LIBRARY LIST*
  313. DATA 6120
  314. DATA 7100
  315. DATA H*(A,C,D,I,L,S,X, OR Z)*
  316. CTLDL EQU *-CTLD
  317. TRA TITLE TEST ROUTINES
  318. ** TRA - TEST ROUTINE *A*.
  319. * FULL ALPHABET.
  320. *
  321. * CALLS FCN, TCR.
  322.  
  323.  
  324. TRA SUBR ENTRY/EXIT
  325. RJM TCR SELECT TUBE, CHARACTER, SIZE
  326. RJM FCN FUNCTION CONSOLE
  327. ACN CH
  328. LDD SZ
  329. NJN TRA1 IF NOT *SMALL*
  330. LDN TRAAL
  331. OAM TRAA,CH
  332. UJN TRA3
  333. TRA1 SBN 1
  334. NJN TRA2 IF NOT *MEDIUM*
  335. LDN TRABL
  336. OAM TRAB,CH
  337. UJN TRA3
  338. TRA2 LDN TRACL
  339. OAM TRAC,CH
  340. TRA3 BSS 0
  341. DCN CH
  342. UJN TRAX RETURN
  343.  
  344. TRAA BSS 0
  345. DATA 6000
  346. DATA 7400
  347. DATA H$ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-*/()=,.$
  348. TRAAL EQU *-TRAA
  349.  
  350. TRAB BSS 0
  351. DATA 6000
  352. DATA 7420
  353. DATA H$ABCDEFGHIJKLMNOPQRSTUVWXYZ$
  354. DATA 6000
  355. DATA 7360
  356. DATA H$A0123456789+-*/()=,.A$
  357. TRABL EQU *-TRAB
  358.  
  359. TRAC BSS 0
  360. DATA 6000
  361. DATA 7500
  362. DATA H$ABCDEFGHIJKLMNO$
  363. DATA 6000
  364. DATA 7400
  365. DATA H$PQRSTUVWXYZ01234$
  366. DATA 6000
  367. DATA 7300
  368. DATA H$A56789+-*/()=,.A$
  369. TRACL EQU *-TRAC
  370. TRC SPACE 4
  371. ** TRC - TEST ROUTINE *C*.
  372. * FULL SCREEN, ONE CHARACTER.
  373. *
  374. * USES SZ, T4 - T7.
  375. *
  376. * CALLS FCN, TCR.
  377.  
  378.  
  379. TRC SUBR ENTRY/EXIT
  380. RJM TCR SELECT TUBE, CHARACTER, SIZE.
  381. LDD CR
  382. LPN 77
  383. STD CR
  384. SHN 6
  385. RAD CR
  386. RJM FCN FUNCTION CONSOLE
  387. ACN CH
  388. LDM TRCA,SZ SET LINE ADVANCE
  389. STD T6
  390. LDC 6000 SET X-COORDINATE
  391. STD T5
  392. LDC 7000 SET INITIAL Y-COORDINATE
  393. STD T4
  394. TRC1 LDM TRCB,SZ SET BYTES/LINE
  395. STD T7
  396. LDN 2 OUTPUT COORDINATES
  397. OAM T4,CH
  398. TRC2 LDD CR DISPLAY 2 CHARACTERS
  399. OAN CH
  400. SOD T7 DECREMENT BYTE COUNT
  401. NJN TRC2 LOOP TO END OF LINE
  402. LDD T6 ADVANCE Y-COORDINATE
  403. RAD T4
  404. LDD T4
  405. NJN TRC1 LOOP TO TOP OF SCREEN
  406. DCN CH
  407. LJM TRCX RETURN
  408.  
  409. TRCA BSS 0
  410. DATA 10
  411. DATA 20
  412. TRCB BSS 0
  413. DATA 40
  414. DATA 20
  415. DATA 10
  416. TRD SPACE 4
  417. ** TRD - TEST ROUTINE *D*.
  418. * 32 X 32 DOT RASTER.
  419. *
  420. * USES T4, T5.
  421. *
  422. * CALLS FCN, TCR.
  423.  
  424.  
  425. TRD SUBR ENTRY/EXIT
  426. RJM TCR SELECT TUBE
  427. RJM FCN FUNCTION CONSOLE
  428. LDD TS CHECK TUBE SWITCH
  429. ZJN TRD1 IF NOT TUBE 1
  430. LDD TB1 SET TUBE 1
  431. UJN TRD2
  432. TRD1 LDD TB2 SET TUBE 2
  433. TRD2 ADC 7010 FUNCTION DOT MODE
  434. FAN CH
  435. LDC 7000 SET Y - COORDINATE
  436. STD T4
  437. ACN CH
  438. TRD3 LDC 6000 SET X-COORDINATE
  439. STD T5
  440. TRD4 LDN 2 OUTPUT COORDINATES
  441. OAM T4,CH
  442. LDN 20 ADVANCE X-COORDINATE
  443. RAD T5
  444. LMC 7000
  445. NJN TRD4 LOOP TO END OF LINE
  446. LDN 20 ADVANCE Y-COORDINATE
  447. RAD T4
  448. LDD T4
  449. NJN TRD3 IF NOT BOTTOM OF SCREEN
  450. DCN CH
  451. LJM TRDX RETURN
  452. TRI SPACE 4
  453. ** TRI - TEST ROUTINE *I*.
  454. * 15 CHARACTERS EACH SIZE.
  455. *
  456. * USES SZ.
  457. *
  458. * CALLS FCN, TCR.
  459.  
  460.  
  461. TRI SUBR ENTRY/EXIT
  462. RJM TCR SELECT TUBE
  463. LDC 7200 INITIALIZE Y-COORDINATE
  464. STM TRIA+1
  465. LDN 0 SET *SMALL* SIZE
  466. STD SZ
  467. TRI1 RJM FCN FUNCTION CONSOLE
  468. ACN CH
  469. LDN TRIAL DISPLAY LINE
  470. OAM TRIA,CH
  471. DCN CH
  472. LDC 200 ADVANCE Y-COORDINATE
  473. RAM TRIA+1
  474. AOD SZ ADVANCE SIZE
  475. LMN 3
  476. NJN TRI1 IF NOT FINISHED
  477. UJN TRIX RETURN
  478.  
  479. TRIA BSS 0
  480. DATA 6000
  481. DATA 7200
  482. DATA H*INTENSITY ADJUST*
  483. TRIAL EQU *-TRIA
  484. TRS SPACE 4
  485. ** TRS - TEST ROUTINE *S*.
  486. * SINGLE CHARACTER, CENTERED.
  487. *
  488. * CALLS FCN, TCR.
  489.  
  490.  
  491. TRS SUBR ENTRY/EXIT
  492. RJM TCR SELECT TUBE, CHARACTER, SIZE
  493. RJM FCN FUNCTION CONSOLE
  494. LDD CR
  495. NJN TRS1
  496. LDN 1R*
  497. TRS1 SHN 6
  498. STM TRSA+2
  499. LDN TRSAL DISPLAY CHARACTER
  500. ACN CH
  501. OAM TRSA,CH
  502. DCN CH
  503. UJN TRSX RETURN
  504.  
  505. TRSA BSS 0
  506. DATA 6400
  507. DATA 7400
  508. DATA 1L*
  509. TRSAL EQU *-TRSA
  510. TRX SPACE 4
  511. ** TRX - TEST ROUTINE *X*.
  512. * CROSSED DIAGONAL LINES.
  513. *
  514. * USES T4, T5.
  515. *
  516. * CALLS FCN, TCR.
  517.  
  518.  
  519. TRX SUBR ENTRY/EXIT
  520. RJM TCR SELECT TUBE
  521. RJM FCN FUNCTION CONSOLE
  522. LDD TS CHECK TUBE SWITCH
  523. ZJN TRX1 IF NOT TUBE 1
  524. LDD TB1 SET TUBE 1
  525. UJN TRX2
  526. TRX1 LDD TB2 SET TUBE 2
  527. TRX2 ADC 7010 FUNCTION DOT MODE
  528. FAN CH
  529. LDC 7000 BOTTOM LEFT TO TOP RIGHT
  530. STD T5
  531. LDC 6000
  532. STD T4
  533. ACN CH
  534. TRX3 LDN 2 OUTPUT COORDINATES
  535. OAM T4,CH
  536. AOD T4
  537. AOD T5
  538. LDD T5
  539. NJN TRX3 LOOP
  540. LCN 0 TOP LEFT TO BOTTOM RIGHT
  541. STD T5
  542. LDC 6000
  543. STD T4
  544. TRX4 LDN 2 OUTPUT COORDINATES
  545. OAM T4,CH
  546. AOD T4
  547. SOD T5
  548. LMC 6777
  549. NJN TRX4 LOOP
  550. DCN CH
  551. LJM TRXX RETURN
  552. TRZ SPACE 4
  553. ** TRZ - TEST ROUTINE *Z*.
  554. * DOT/CHARACTER MODE POSITIONING COMPARISON.
  555. *
  556. * USES T4 - T7.
  557. *
  558. * CALLS FCN, TCR.
  559.  
  560.  
  561. TRZ SUBR ENTRY/EXIT
  562. RJM TCR SELECT TUBE
  563. RJM FCN FUNCTION CONSOLE
  564. LDD TS CHECK TUBE SWITCH
  565. ZJN TRZ1 IF NOT TUBE 1
  566. LDD TB1 SET TUBE 1
  567. UJN TRZ2
  568. TRZ1 LDD TB2 SET TUBE 2
  569. TRZ2 ADC 7000 SET CHARACTER MODE FUNCTION
  570. STM TRZA
  571. ADN 7010-7000 SELECT DOT MODE
  572. FAN CH
  573. ACN CH
  574.  
  575. * DISPLAY CROSS.
  576.  
  577. LDC 6540 SET HORIZONTAL LINE X-COORDINATES
  578. STD T4
  579. LDC 6240
  580. STD T6
  581. LDC 7400 SET Y-COORDINATE
  582. STD T5
  583. TRZ3 LDN 2 DISPLAY DOT
  584. OAM T4,CH
  585. SOD T4 DECREMENT X-COORDINATE
  586. LMD T6
  587. NJN TRZ3 LOOP TO END OF LINE
  588. LDC 7240 SET VERTICAL LINE Y-COORDINATES
  589. STD T6
  590. LDC 7540
  591. STD T5
  592. LDC 6400 SET X-COORDINATE
  593. STD T4
  594. TRZ4 LDN 2 DISPLAY DOT
  595. OAM T4,CH
  596. SOD T5 DECREMENT Y-COORDINATE
  597. LMD T6
  598. NJN TRZ4 LOOP TO END OF LINE
  599. DCN CH
  600.  
  601. * DISPLAY *X* AND *O*.
  602.  
  603. LDC 7000 SELECT CHARACTER MODE
  604. TRZA EQU *-1
  605. ADN 2 16 CHARACTERS/LINE
  606. FAN CH
  607. ACN CH
  608. LDN TRZBL
  609. OAM TRZB,CH
  610. DCN CH
  611.  
  612. * DISPLAY EXPLANATION.
  613.  
  614. LDM TRZA SELECT CHARACTER MODE, 64 CHAR./LINE
  615. FAN CH
  616. LDC TRZCL
  617. ACN CH
  618. OAM TRZC,CH
  619. DCN CH
  620. LJM TRZX RETURN
  621.  
  622. TRZB BSS 0
  623. DATA 7400
  624. DATA 6400
  625. DATA 2RO
  626. DATA 7360
  627. DATA 6360
  628. DATA 2RX
  629. TRZBL EQU *-TRZB
  630.  
  631. TRZC BSS 0
  632. DATA 7700
  633. DATA 6000
  634. DATA H*IF O IS CENTERED ON CROSS, CHARACTERS ARE CENTERED*
  635. DATA 7640
  636. DATA 6000
  637. DATA H*ON COORDINATES.*
  638. DATA 7140
  639. DATA 6000
  640. DATA H*IF X IS CENTERED ON CROSS, CHARACTERS HAVE LOWER*
  641. DATA 7100
  642. DATA 6000
  643. DATA H*LEFT CORNERS ON COORDINATES.*
  644. TRZCL EQU *-TRZC
  645. DSS TITLE DISPLAY SUBROUTINES
  646. ** DSS - DISPLAY SYSTEM STATUS.
  647. *
  648. * CALLS SYS.
  649.  
  650.  
  651. DSS SUBR ENTRY/EXIT
  652. LDC 6000 SET X - COORDINATE
  653. STD XC
  654. RJM SYS
  655. DCN CH+40
  656. UJN DSSX RETURN
  657. FCN SPACE 4
  658. ** FCN - FUNCTION CONSOLE FOR TUBE AND SIZE.
  659. *
  660. * USES TS.
  661.  
  662.  
  663. FCN SUBR ENTRY/EXIT
  664. LDD TS CHECK TUBE SWITCH
  665. ZJN FCN1 IF NOT TUBE 1
  666. LDD TB1 SET TUBE 1
  667. UJN FCN2
  668. FCN1 LDD TB2 SET TUBE 2
  669. FCN2 ADD SZ FORM FUNCTION CODE
  670. ADC 7000
  671. FAN CH SELECT TUBE AND SIZE
  672. UJN FCNX RETURN
  673. TCR SPACE 4
  674. ** TCR - SELECT TUBE, CHARACTER, SIZE.
  675. *
  676. * USES CR, SIZ, SZ, TB, TB1, TB2, TS.
  677.  
  678.  
  679. TCR SUBR ENTRY/EXIT
  680.  
  681. * SELECT TUBE.
  682.  
  683. LDN 0 PRESET TUBE 1 = TUBE 2 = *LEFT*
  684. STD TB1
  685. STD TB2
  686. LDD TB CHECK TUBE SELECTION
  687. SBN 1RB
  688. NJN TCR1 IF NOT *B*
  689. LDD HN SET *BOTH*
  690. UJN TCR2
  691. TCR1 SBN 1RR-1RB
  692. NJN TCR3 IF NOT *R* (ASSUME *L*)
  693. LDD HN SET *RIGHT*
  694. STD TB2
  695. TCR2 STD TB1
  696.  
  697. * SELECT SIZE.
  698.  
  699. TCR3 LDN 2 PRESET *LARGE*
  700. STD SZ
  701. LDD SIZ CHECK SELECTION
  702. ZJN TCR6 IF NO SELECTION
  703. SBN 1RM
  704. NJN TCR4 IF NOT *M*
  705. LDN 1 SET *MEDIUM*
  706. UJN TCR5
  707. TCR4 SBN 1RS-1RM
  708. NJN TCR6 IF NOT *S*
  709. LDN 0 SET *SMALL*
  710. TCR5 STD SZ
  711.  
  712. * SELECT CHARACTER.
  713.  
  714. TCR6 LDD CR
  715. LPN 77
  716. STD CR
  717. ZJN TCR7 IF NO SELECTION
  718. SBN 1R$
  719. ZJN TCR7 IF *$*
  720. SBN 1R -1R$
  721. ZJN TCR7 IF *BLANK*
  722. SBN 1R.-1R +1
  723. MJN TCR8 IF LEGAL DISPLAY CODE
  724. TCR7 LDN 1RA SET *A*
  725. STD CR
  726. TCR8 LJM TCRX RETURN
  727. MDC SPACE 4
  728. ** MDC - MODIFY CHANNEL INSTRUCTIONS.
  729. *
  730. * USES T1, T2, T3.
  731.  
  732.  
  733. MDC SUBR ENTRY/EXIT
  734. LDM /COMDDSP/DDSB CHECK ASSIGNED CHANNEL
  735. STD T3
  736. CHTE *
  737. LMN CH
  738. ZJN MDCX IF CHANNELS MODIFIED
  739. LDC TCHS MODIFY CHANNELS
  740. STD T1
  741. MDC1 LDI T1
  742. ZJN MDC2 IF CHANNEL TABLE MODIFICATION COMPLETE
  743. STD T2
  744. LDI T2
  745. SCN 77
  746. ADD T3
  747. STI T2
  748. AOD T1 ADVANCE ADDRESS
  749. UJN MDC1 LOOP TO END OF TABLE
  750. MDC2 LDC MDCA SET 1ST ADDRESS FOR BLIND MODIFICATION
  751. STD T1
  752. MDC3 AOD T1 ADVANCE ADDRESS
  753. LMC MDCB
  754. ZJN MDCX RETURN IF COMPLETE
  755. LDI T1 CHECK WORD
  756. LPC 7077
  757. LMC 7000+CH
  758. NJN MDC3 IF NOT 7XCH
  759. LDI T1 MODIFY INSTRUCTION
  760. SCN 77
  761. ADD T3
  762. STI T1
  763. UJN MDC3 LOOP
  764. TCHS SPACE 4
  765. ** TCHS - TABLE OF CHANNEL INSTRUCTIONS.
  766.  
  767. TCHS CHTB
  768.  
  769.  
  770. RSTC RESTORE CHANNEL INSTRUCTIONS
  771. COMMON SPACE 4,10
  772. ** COMMON DECKS.
  773.  
  774.  
  775. MDCA BSS 0 FIRST ADDRESS FOR BLIND CHANNEL MOD
  776.  
  777. *CALL COMDSYS
  778. *CALL COMDDSP
  779.  
  780. MDCB BSS 0 LIMIT ADDRESS FOR BLIND CHANNEL MOD
  781. ATR TITLE UTILITY SUBROUTINES
  782. ** ATR - ADVANCE TEST ROUTINE.
  783. *
  784. * USES PI, PA.
  785. *
  786. * CALLS TTC.
  787.  
  788.  
  789. ATR SUBR ENTRY/EXIT
  790. LDD KB CHECK KEYBOARD
  791. ZJN ATR1 IF NO ENTRY
  792. RJM STR SELECT TEST ROUTINE
  793. UJN ATRX RETURN
  794. ATR1 LDD AF
  795. NJN ATR2 IF *ALL TESTS*
  796. LDD PA TOGGLE ADDRESS
  797. LMC CTL
  798. LMM TTRA,PI
  799. STD PA
  800. UJN ATRX RETURN
  801. ATR2 AOD PI ADVANCE TEST
  802. ATR3 LDM TTRA,PI
  803. NJN ATR4 IF NOT END OF TABLE
  804. STD PI RESET PROGRAM INDEX
  805. UJN ATR3
  806. ATR4 STD PA
  807. UJN ATRX RETURN
  808. DRP SPACE 4
  809. ** DRP - DROP DISPLAY.
  810. *
  811. * ENTRY VIA *LJM*.
  812. *
  813. * CALLS DDS, FTN, PPR.
  814.  
  815.  
  816. DRP RJM DDS DROP DISPLAY
  817. DPP MONITOR DPPM DROP PP
  818. LJM PPR EXIT TO PP RESIDENT
  819. STR SPACE 4
  820. ** STR - SELECT TEST ROUTINE.
  821. *
  822. * USES CR, SZ, TB, T1.
  823. *
  824. * CALLS EEB.
  825.  
  826.  
  827. STR SUBR ENTRY/EXIT
  828. LDN 0
  829. STD T1 PRESET INDEX
  830. STD AF CLEAR *ALL TESTS* FLAG
  831. LDD KB CHECK TEST SELECTION
  832. LMN 1RL
  833. NJN STR1 IF NOT *L*
  834. LDN 1 SET *ALL TESTS* FLAG
  835. STD AF
  836. UJN STR3
  837. STR1 LDM TTRM,T1
  838. NJN STR2 IF NOT END OF TABLE
  839. STD PI
  840. LDC CTL SELECT CONTROL PROGRAM
  841. STD PA
  842. RJM EEB ERASE ENTRY BUFFER
  843. LDM TTRM,PI SET FIRST TEST MNEMONIC IN *PM*
  844. STD PM
  845. UJN STRX RETURN
  846. STR2 LMD KB
  847. ZJN STR3 IF TEST FOUND
  848. AOD T1 ADVANCE INDEX
  849. UJN STR1 LOOP
  850. STR3 LDM TTRA,T1 SET PROGRAM ADDRESS
  851. STD PA
  852. LDD T1 SET PROGRAM INDEX
  853. STD PI
  854. LDD KB SET PROGRAM MNEMONIC
  855. STD PM
  856. LDD KB+1 SET TUBE
  857. STD TB
  858. LDD KB+2 SET CHARACTER
  859. STD CR
  860. LDD KB+3 SET SIZE
  861. STD SIZ
  862. RJM EEB ERASE ENTRY BUFFER
  863. LJM STRX RETURN
  864.  
  865. * TTRM - TABLE OF TEST MNEMONICS.
  866.  
  867. TTRM BSS 0
  868. DATA 1RA
  869. DATA 1RC
  870. DATA 1RD
  871. DATA 1RI
  872. DATA 1RS
  873. DATA 1RX
  874. DATA 1RZ
  875. DATA 0
  876.  
  877. * TTRA - TABLE OF TEST ADDRESSES.
  878.  
  879. TTRA BSS 0
  880. CON TRA
  881. CON TRC
  882. CON TRD
  883. CON TRI
  884. CON TRS
  885. CON TRX
  886. CON TRZ
  887. DATA 0
  888. TTC SPACE 4
  889. ** TTC - TOGGLE TEST AND CONTROL.
  890. *
  891. * USES PA, PI.
  892. *
  893. * CALLS STR.
  894.  
  895.  
  896. TTC SUBR ENTRY/EXIT
  897. LDD KB CHECK KEYBOARD
  898. ZJN TTC1 IF NO ENTRY
  899. RJM STR SELECT TEST ROUTINE
  900. UJN TTCX RETURN
  901. TTC1 LDD PA TOGGLE ADDRESS
  902. LMC CTL
  903. LMM TTRA,PI
  904. STD PA
  905. UJN TTCX RETURN
  906. SPACE 4,10
  907. DIS HERE *COMDSYS* *DISPLA* EXPANSION
  908. PRS TITLE PRESET PROGRAM
  909. ** PRS - PRESET PROGRAM.
  910. *
  911. * EXIT (NC) = NUMBER OF CP-S.
  912.  
  913.  
  914. PRS SUBR ENTRY/EXIT
  915. CATD CHECK ACCESS TO DISPLAY CONSOLE
  916. LDD CM
  917. NJN CAT1 IF ENGINEERING MODE NOT ENABLED
  918. PRS1 PAUSE
  919. LDD FL
  920. ZJN PRS3 IF FL = 0
  921. LDD CM+1
  922. ZJN PRS2 IF ERROR FLAG NOT SET
  923. LJM DPP DROP PP
  924.  
  925. PRS2 STD CM+2 SET CM REQUEST
  926. MONITOR RSTM REQUEST 0 FL
  927. UJN PRS1
  928.  
  929. PRS3 RJM RDS REQUEST DISPLAY
  930. RJM MDC MODIFY CHANNEL INSTRUCTIONS
  931. STD TS PRESET TUBE SWITCH
  932. STD KI SET KEYBOARD INDEX
  933. STD AF CLEAR *ALL TESTS* FLAG
  934. STD PI SET PROGRAM INDEX
  935. CRD KB CLEAR KEYBOARD BUFFER
  936. LDN 1RA SET PROGRAM MNEMONIC *A*
  937. STD PM
  938. LDC CTL PRESET PROGRAM ADDRESS = *CONTROL*
  939. STD PA
  940. LDD HN PRESET *RIGHT* TUBE
  941. STD TB1
  942. STD TB2
  943. LDN 1RB
  944. STD TB
  945. LDN 2 PRESET *LARGE* SIZE
  946. STD SZ
  947. LDN 1RL
  948. STD SIZ
  949. LDN 1RA PRESET CHARACTER = *A*
  950. STD CR
  951. LDC 6200 SET KEYBOARD BUFFER DISPLAY COORDINATES
  952. STD KX
  953. LDC 7340
  954. STD KY
  955. LDN NCPL SAVE NUMBER OF CP-S
  956. CRD CM
  957. AOD CM+1
  958. STD NC
  959. LJM PRSX RETURN
  960. SPACE 4
  961. ** COMMON DECKS.
  962.  
  963.  
  964. *CALL COMPCUA
  965. SPACE 4
  966. END
cdc/nos2.source/opl871/ds1.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator