CDC Community

๐Ÿ”น Historical Conservation ๐Ÿ”น

User Tools

Site Tools


plato.source:plaopl:ddpt

Table of Contents

DDPT

Table Of Contents

  • [00006] DDPT โ€“ CPU BABYSITTER FOR DDP EXERCISER
  • [00098] MASTOR INTERFACE ROUTINES
  • [00178] SYSTEM INTERFACE ROUTINES
  • [00288] PROCESS ARGUMENTS
  • [00340] STORAGE DEFINITIONS
  • [00396] DDP EXERCISER
  • [00440] MAIN PROCESSING LOOPS
  • [00527] CHECK โ€“ CHECK EM ADDRESSES VALID
  • [00631] GETPATT โ€“ PREPARE NEXT PATTERN
  • [00722] DESTROY โ€“ DESTROY PATTERNS IN PP MEMORY
  • [00743] VERIFY โ€“ CHECK DATA READ BACK CORRECTLY
  • [00793] PAUSE โ€“ CHECK FOR STORAGE MOVE OR CP ERROR
  • [00856] DROP PPU
  • [00896] RSVDDP โ€“ RESERVE DDP PORT
  • [00938] RELDDP โ€“ RELEASE DDP PORT RESERVATION
  • [00960] READECS โ€“ READ EM VIA DDP
  • [01040] WRITECS โ€“ WRITE EM VIA DDP
  • [01115] WAITREC โ€“ WAIT FOR AUTO-RECALL
  • [01154] LIMITS โ€“ ERROR LIMIT CHECKS
  • [01175] ROUTINES TO FORMAT DAYFILE MESSAGES
  • [01495] STORAGE DEFINITIONS
  • [01555] INITIALIZATIONS

Source Code

DDPT.txt
  1. DDPT
  2. * /--- FILE TYPE = E
  3. * /--- BLOCK DDPT 00 000 82/07/15 11.34
  4.  
  5. IDENT DDPT,111B,DDPT
  6. TITLE DDPT -- CPU BABYSITTER FOR DDP EXERCISER
  7. ABS
  8. SST
  9. SYSCOM
  10.  
  11. *
  12. * * THIS IS AN ON-LINE DIAGNOSTIC PROGRAM INTENDED TO
  13. * * TEST A DDP PORT CONCURRENTLY WITH NORMAL PLATO
  14. * * OPERATIONS.
  15. * *
  16. * * THE FOLLOWING CONTROL CARD OPTIONS ARE AVAILABLE
  17. * * WITH DDPT. ALL ARGUMENTS ARE ASSUMED TO BE IN
  18. * * OCTAL UNLESS SPECIFIED WITH A *D* POST-RADIX.
  19. * *
  20. * * CH= DDP CHANNEL NUMBER; IF NOT SPECIFIED
  21. * * THE PP PROGRAM WILL LOOK FOR EQUIPMENT
  22. * * OF TYPE *D1*
  23. * * MN= MINIMUM EM TRANSFER LENGTH
  24. * * MX= MAXIMUM EM TRANSFER LENGTH
  25. * * FL= FLX/1000B TO REQUEST FROM MASTOR;
  26. * * DOES NOT APPLY IF THE JOB ALREADY
  27. * * HAS EM
  28. * * EL= ERROR LIMIT; 0 = NO LIMIT
  29. * * N= NUMBER OF TIMES THROUGH MAIN PP LOOP;
  30. * * 0 = RUN UNTIL DROPPED
  31. * * FW= RELATIVE EM FWA
  32. * *
  33. * * THE DEFAULT OPTIONS ARE EQUIVALENT TO THE
  34. * * FOLLOWING --
  35. * *
  36. * * DDPT(MN=1,MX=100D,FL=1,EL=100D,N=1,FW=0)
  37. * *
  38. * * THE ALGORITHM FOR TESTING THE DDP IS --
  39. * *
  40. * * 1. FORMAT A PATTERN *MN* (MINIMUM TRANSFER
  41. * * LENGTH) WORDS LONG IN PP MEMORY. THE
  42. * * PATTERNS THEMSELVES RESIDE IN CM AND
  43. * * ARE SHIFTED LEFT 1 BIT AND WRITTEN BACK
  44. * * TO CM AFTER EACH USE.
  45. * * 2. WRITE THE PATTERNS TO EM AT THE
  46. * * RELATIVE EM FWA.
  47. * * 3. DESTROY THE PATTERN IN PP MEMORY.
  48. * * 4. READ THE PATTERNS BACK INTO PP MEMORY.
  49. * * 5. VERIFY THAT WHAT WAS READ BACK WAS
  50. * * CORRECT.
  51. * * 6. REPEAT STEPS 1-5 WITH EACH REMAINING
  52. * * PATTERN.
  53. * * 7. REPEAT STEPS 1-6 FOR EACH OF THE 60
  54. * * POSSIBLE SHIFTS.
  55. * * 8. INCREMENT THE TRANSFER LENGTH AND, IF
  56. * * LESS THAN OR EQUAL TO *MX* (MAXIMUM
  57. * * TRANSFER LENGTH) WORDS LONG AND THE LWA
  58. * * OF THE TRANSFER IS STILL WITHIN FLX,
  59. * * REPEAT STEPS 1-7. IF NOT, ONE PASS
  60. * * THROUGH THE MAIN PP LOOP IS COMPLETE.
  61. * * 9. INCREMENT THE FWA (IF NOW BEYOND FLX,
  62. * * RESET FWA TO 0) AND REPEAT STEPS 1-8
  63. * * UNTIL THE MAIN PP LOOP HAS BEEN
  64. * * EXECUTED *N* TIMES.
  65. *
  66. * /--- BLOCK DDPT 00 000 82/07/14 16.05
  67.  
  68. PURGMAC CALL
  69. CALL MACRO NAME,N1,N2,N3,N4,N5,N6
  70. NN DECMIC 0
  71. ECHO 5,P1=(N1,N2,N3,N4,N5,N6),P2=(1,2,3,4,5,6)
  72. IFC EQ,*P1**,1
  73. STOPDUP
  74. IFC NE,*P1**,2
  75. SB_P2 P1
  76. NN DECMIC P2
  77. RJ _NAME_
  78. BSS 0
  79. ENDM
  80. SPACE 4,10
  81. *CALL AIDTEXT
  82. SPACE 4,10
  83. ORG 111B
  84.  
  85. *
  86. * * OBTAIN EM, SET CPU AND QUEUE PRIORITIES,
  87. * * AND CALL UP PP/DDP
  88. *
  89.  
  90. DDPT CALL S=CM SET RUNNING CM FIELD LENGTH
  91. CALL ARGS PROCESS CONTROL CARD ARGUMENTS
  92. CALL M=ECS GET EM FROM MASTOR
  93. CALL S=PRI,100B SET CPU AND QUEUE PRIORITIES
  94. CALL S=DDP CALL UP DDP TEST PROGRAM
  95. CALL S=END END PROGRAM
  96. * /--- BLOCK MASTOR 00 000 82/07/15 11.44
  97.  
  98. TITLE MASTOR INTERFACE ROUTINES
  99.  
  100. *CALL PLASMRC
  101.  
  102. *
  103. * * REQUEST EM FROM MASTOR
  104. *
  105.  
  106. M=ECS EQ *
  107.  
  108. CALL S=ECS DETERMINE EM FL
  109. NZ X1,M=ECS --- IF ALREADY HAVE EM
  110.  
  111. SX6 200 INITIALIZE TIMEOUT COUNTER
  112. SA6 COUNT
  113.  
  114. M=ECS1 CALL M=ZERO ZERO MASTOR REQUEST AREA
  115. SX6 MS.ECS EM REQUEST CODE
  116. LX6 48
  117. SA6 MASREQ
  118. SA1 ECSFL FLX/1000B DESIRED
  119. LX1 9 SHIFT TO POSITION
  120. BX6 X1
  121. SA6 MASREQ+1
  122. CALL S=MAS
  123. CALL M=STATUS GET MASTOR REQUEST STATUS
  124. ZR X1,M=ECS --- IF SUCCESSFUL
  125. SX1 X1-1
  126. ZR X1,MREQERR --- IF IMPROPER MASTOR REQUEST
  127. SA1 COUNT
  128. SX6 X1-1
  129. ZR X6,NOECS --- IF EM REQUEST TIMEOUT
  130. SA6 COUNT
  131. EQ M=ECS1
  132.  
  133. *
  134. * * ZERO MASTOR REQUEST AREA
  135. *
  136.  
  137. M=ZERO EQ *
  138. SX6 0
  139. SB2 MS.MDIM
  140.  
  141. M=ZERO1 SB2 B2-1
  142. SA6 MASREQ+B2
  143. ZR B2,M=ZERO
  144. EQ M=ZERO1
  145.  
  146. *
  147. * * PLACE STATUS OF MASTOR REQUEST IN X1
  148. *
  149.  
  150. M=STATUS EQ *
  151. SA1 MASREQ
  152. MX0 -11
  153. AX1 12
  154. BX1 -X0*X1
  155. EQ M=STATUS
  156.  
  157. *
  158. * * MASTOR REQUEST ERRORS
  159. *
  160.  
  161. MREQERR CALL S=MSG,REQMSG
  162. CALL S=ABORT
  163.  
  164. NOECS CALL S=MSG,ECSMSG
  165. CALL S=ABORT
  166.  
  167. *
  168. * * STORAGE AREAS FOR MASTOR ROUTINES
  169. *
  170.  
  171. MASREQ BSSZ MS.MDIM
  172. COUNT BSS 1
  173.  
  174. REQMSG DIS ,* IMPROPER REQUEST.*
  175. ECSMSG DIS ,* NO EM AVAILABLE.*
  176. * /--- BLOCK SYSTEM 00 000 82/07/14 16.08
  177.  
  178. TITLE SYSTEM INTERFACE ROUTINES
  179.  
  180. *CALL COMCMAC
  181. *CALL COMCSYS
  182. *CALL COMCCPM
  183. *CALL COMCARG
  184. *CALL COMCDXB
  185.  
  186. *
  187. * * SET RUNNING CM FIELD LENGTH
  188. *
  189.  
  190. S=CM EQ *
  191. SA1 LWPR
  192. SX1 X1+100B
  193. MX0 -6
  194. BX6 X0*X1
  195. LX6 30
  196. SA6 CMFL SET CM FIELD LENGTH
  197. MEMORY CM,CMFL,R
  198. EQ S=CM
  199.  
  200. CMFL BSS 1
  201.  
  202. *
  203. * * DETERMINE EM FL
  204. *
  205.  
  206. S=ECS EQ *
  207. MEMORY ECS,ECSWORD,R
  208. SA1 ECSWORD
  209. AX1 30 X1 = EM FL
  210. EQ S=ECS
  211.  
  212. ECSWORD BSSZ 1 30/0,30/0 = DETERMINE FL
  213.  
  214. *
  215. * * SET PRIORITIES
  216. *
  217.  
  218. S=PRI EQ *
  219. .NOSV2 IFLT OSLEV,562D IF NOS V1
  220. SETQP B1
  221. .NOSV2 ENDIF
  222. SETPR 1B
  223. EQ S=PRI
  224.  
  225. *
  226. * * CALL UP PP/MAS
  227. *
  228.  
  229. S=MAS EQ *
  230. SYSTEM MAS,R,MASREQ
  231. RECALL MASREQ
  232. EQ S=MAS
  233.  
  234. *
  235. * * CALL UP PP/DDP
  236. *
  237.  
  238. S=DDP EQ *
  239. SA1 CHANNEL X1 = CHANNEL NUMBER
  240. LX1 48
  241. SX2 NPATT X2 = NUMBER OF PATTERNS
  242. LX2 36
  243. BX6 X1+X2
  244. SA1 MINIMUM X1 = MINIMUM TRANSFER LENGTH
  245. LX1 24
  246. BX6 X1+X6
  247. SA1 MAXIMUM X1 = MAXIMUM TRANSFER LENGTH
  248. LX1 12
  249. BX6 X1+X6
  250. SA1 CYCLES X1 = TIMES THRU MAIN PP LOOP
  251. BX6 X1+X6
  252. SA6 PATTERNS
  253. SA1 ERRLIM X1 = ERROR LIMIT
  254. LX1 48
  255. SA2 ECSFWA X2 = STARTING EM FWA
  256. LX2 24
  257. BX6 X1+X2
  258. SA6 PATTERNS+1
  259. SYSTEM DDP,R,PATTERNS
  260. RECALL (PATTERNS+1)
  261. EQ S=DDP
  262.  
  263. *
  264. * * ISSUE DAYFILE MESSAGE
  265. *
  266.  
  267. S=MSG EQ *
  268. MESSAGE B1,0,R B1 = ADDR OF MESSAGE
  269. EQ S=MSG
  270.  
  271. *
  272. * * ABORT JOB
  273. *
  274.  
  275. S=ABORT EQ *
  276. ABORT
  277. EQ *
  278.  
  279. *
  280. * * END JOB
  281. *
  282.  
  283. S=END EQ *
  284. ENDRUN
  285. EQ *
  286. * /--- BLOCK ARGS 00 000 82/07/14 16.08
  287.  
  288. TITLE PROCESS ARGUMENTS
  289.  
  290. *
  291. * * PROCESS CONTROL CARD ARGUMENTS AND CONVERT
  292. * * DISPLAY CODE VALUES TO BINARY
  293. *
  294.  
  295. ARGS EQ *
  296.  
  297. SA1 ACTR X1 = NUMBER OF ARGUMENTS
  298. SB4 X1 B4 = NUMBER OF ARGUMENTS
  299. SB1 1 B1 = 1
  300. SA4 ARGR X4 = 1ST ARG, A4 = ADDR THEREOF
  301. SB5 ARGTAB B5 = ADDR OF ARGUMENT TABLE
  302. CALL ARG
  303. NZ X1,ARGERR --- IF ERROR IN ARGUMENTS
  304.  
  305. SB6 NARGS B6 = NO. OF WORDS TO CONVERT
  306. SB7 0 OCTAL BASE ASSUMED
  307. SA5 CHANNEL-1 PRESET A5
  308.  
  309. ARGS2 SA5 A5+B1
  310. CALL DXB CONVERT DISPLAY CODE TO BINARY
  311. NZ X4,ARGERR --- IF BAD DATA
  312. SA6 A5 STORE RESULT
  313. SB6 B6-B1 DECREMENT COUNTER
  314. ZR B6,ARGS3 --- IF DONE
  315. MX0 -12
  316. BX0 X0*X6 LIMIT TO 12 BITS
  317. NZ X0,ARGERR --- IF GREATER THAN 12 BITS
  318. EQ ARGS2
  319.  
  320. ARGS3 MX0 -24
  321. BX0 X0*X6 LIMIT EM FWA TO 24 BITS
  322. NZ X0,ARGERR --- IF GREATER THAN 24 BITS
  323.  
  324. SA1 ARGTAB X1 = *CH* KEYWORD ENTRY
  325. MX0 12
  326. BX1 X0*X1
  327. BX1 X0-X1 X1 = 0 IF CHANNEL SPECIFIED
  328. NZ X1,ARGS --- IF NOT SPECIFIED
  329. SA1 CHANNEL
  330. SX6 X1+1
  331. SA6 A1 STORE CHANNEL+1 IF SPECIFIED
  332. EQ ARGS
  333.  
  334. ARGERR CALL S=MSG,ARGMSG
  335. CALL S=ABORT
  336.  
  337. ARGMSG DIS ,* ARGUMENT ERROR.*
  338. * /--- BLOCK STORAGE 00 000 82/07/14 16.09
  339.  
  340. TITLE STORAGE DEFINITIONS
  341.  
  342. *
  343. * * PARAMETERS
  344. * *
  345. * * *ECSFWA* MUST BE LAST IN THIS LIST
  346. *
  347.  
  348. CHANNEL VFD 60/1L0 DDP CHANNEL
  349. MINIMUM VFD 60/1L1 MINIMUM TRANSFER LENGTH
  350. MAXIMUM VFD 60/3L100 MAXIMUM TRANSFER LENGTH
  351. CYCLES VFD 60/1L1 TIMES THROUGH MAIN PP LOOP
  352. ECSFL VFD 60/1L1 EM/1000B TO REQUEST
  353. ERRLIM VFD 60/3L100 ERROR LIMIT
  354. ECSFWA VFD 60/1L0 STARTING RELATIVE EM FWA
  355.  
  356. *
  357. * * TABLE OF CONTROL CARD ARGUMENTS -- SEE OPL DECK
  358. * * COMCARG FOR FORMAT AND DOCUMENTATION
  359. * *
  360. * * THE *CH* KEYWORD MUST BE FIRST IN THE TABLE
  361. *
  362.  
  363. ARGTAB VFD 12/2LCH,18/CHANNEL,12/4000B,18/CHANNEL
  364. VFD 12/2LMN,18/MINIMUM,12/4000B,18/MINIMUM
  365. VFD 12/2LMX,18/MAXIMUM,12/4000B,18/MAXIMUM
  366. VFD 12/1LN,18/CYCLES,12/4000B,18/CYCLES
  367. VFD 12/2LFL,18/ECSFL,12/4000B,18/ECSFL
  368. VFD 12/2LEL,18/ERRLIM,12/4000B,18/ERRLIM
  369. VFD 12/2LFW,18/ECSFWA,12/4000B,18/ECSFWA
  370.  
  371. ARGEND DATA 0 MARK END OF TABLE
  372.  
  373. NARGS EQU ARGEND-ARGTAB
  374.  
  375. *
  376. * * PATTERNS TO TEST DDP AND EM WITH
  377. *
  378.  
  379. PATTERNS BSS 2
  380.  
  381. VFD 60/0
  382. VFD 60/-1
  383. VFD 60/1
  384. VFD 60/-1
  385. VFD 60/52525252525252525252B
  386. VFD 60/70707070707070707070B
  387. VFD 60/47474747474747474747B
  388.  
  389. NPATT EQU *-PATTERNS-2
  390. * /--- BLOCK END 00 000 80/01/09 02.28
  391.  
  392. END
  393. * /--- BLOCK DDP 00 000 82/07/20 09.17
  394.  
  395. IDENT DDP,DDP
  396. TITLE DDP EXERCISER
  397. PERIPH
  398. SST
  399.  
  400. *
  401. * * PP CALL FORMAT
  402. * *
  403. * * SYSTEM DDP,PATTERN,R
  404. * *
  405. * * PATTERN = CM ADDRESS OF PATTERN AREA (2 WORDS
  406. * * OF PARAMETERS + ONE WORD PER PATTERN)
  407. * *
  408. * * PARAMETERS FORMAT
  409. * *
  410. * * 12/DDP CHANNEL+1 (0 = DEFAULT TO FIRST *D1*
  411. * * CHANNEL IN EST)
  412. * * 12/NUMBER OF PATTERNS
  413. * * 12/MINIMUM TRANSFER LENGTH
  414. * * 12/MAXIMUM TRANSFER LENGTH
  415. * * 12/NUMBER OF MAIN LOOP ITERATIONS (0 = RUN TILL
  416. * * DROPPED)
  417. * *
  418. * * 12/ERROR LIMIT (0 = NO LIMIT)
  419. * * 24/RELATIVE EM FWA
  420. * * 12/0 (UNUSED)
  421. * * 12/COMPLETION BIT
  422. *
  423.  
  424. *CALL COMPMAC
  425. *CALL COMSSSD
  426. *CALL AIDTEXT
  427. *CALL PTEXT
  428. *CALL PLAPRJM
  429. *CALL PLASRWX
  430. SPACE 4,10
  431.  
  432. * ECS/ESM MODE WORD / BIT
  433.  
  434. .1 SET ESMP/12D
  435. ESMW EQU 4-.1 BYTE IN *CPUL*
  436. ESMB EQU ESMP-12D*.1 BIT IN THAT BYTE
  437. SPACE 4,10
  438. * /--- BLOCK MAIN 00 000 82/07/14 16.10
  439.  
  440. TITLE MAIN PROCESSING LOOPS
  441.  
  442. ORG PPFW
  443.  
  444. *
  445. * * PERFORM VARIOUS INITIALIZATIONS
  446. *
  447.  
  448. DDP CALL INITIAL
  449. UJN DDP1B
  450.  
  451. *
  452. * * OUTER LOOP -- INCREMENT FWA FOR EM TRANSFER
  453. *
  454.  
  455. DDP1 LDM CYCLES (A) = NUMBER OF LOOPS TO GO
  456. ZJN DDP1A --- IF NO LIMIT
  457. SOM CYCLES
  458. ZJR DROP --- DROP IF LIMIT REACHED
  459.  
  460. DDP1A AOM ECSFWA+1 INCREMENT FWA
  461. SHN -12 POSITION CARRY-OVER BIT
  462. RAM ECSFWA
  463.  
  464. DDP1B LDM MINTL
  465. STM TLCM RESET TRANSFER LENGTH
  466.  
  467. *
  468. * * MIDDLE LOOP -- INCREMENT TRANSFER LENGTH
  469. *
  470.  
  471. DDP2 AOM TLCM INCREMENT TRANSFER LENGTH
  472. SHN 2 MULTIPLY BY 4
  473. ADM TLCM (A) = (TLCM) * 5
  474. STM TLPP STORE TRANSFER LENGTH IN PP WDS
  475.  
  476. LDN 0
  477. STM CPATT ZERO CURRENT PATTERN NUMBER
  478. LDN 60
  479. STM SHIFT INITIALIZE SHIFT COUNT
  480.  
  481. *
  482. * * INNER LOOP -- GO THROUGH THE PATTERNS
  483. *
  484.  
  485. DDP3 CALL PAUSE PAUSE / DROP IF NECESSARY
  486.  
  487. CALL CHECK SEE IF ADDRESSES VALID
  488. MJP DDP5 --- IF TRANSFER LWA ILLEGAL
  489. NJP DDP6 --- IF TRANSFER FWA ILLEGAL
  490.  
  491. CALL GETPATT PREPARE NEXT PATTERN
  492. NJP DDP2 --- IF OUT OF PATTERNS
  493.  
  494. CALL RSVDDP RESERVE DDP PORT
  495. CALL WRITECS WRITE PATTERNS TO EM VIA DDP
  496. NJN DDP4 --- IF ERROR
  497. CALL RELDDP RELEASE DDP PORT
  498.  
  499. CALL DESTROY DESTROY PATTERNS IN PP BUFFER
  500.  
  501. CALL RSVDDP RESERVE DDP PORT
  502. CALL READECS READ PATTERNS BACK VIA DDP
  503. NJN DDP4 --- IF ERROR
  504. CALL RELDDP RELEASE DDP PORT
  505.  
  506. CALL VERIFY VERIFY READ CORRECTLY
  507. UJP DDP3
  508.  
  509. DDP4 CALL RELDDP RELEASE DDP PORT
  510. UJP DDP3
  511.  
  512. DDP5 LDM TLCM (A) = TRANSFER LENGTH
  513. SBM MINTL
  514. NJP DDP1 --- IF SHOULD INCREMENT FWA
  515.  
  516. DDP6 LDM ECSFWA+1
  517. NJN DDP7 --- IF NOT ZERO
  518. LDM ECSFWA
  519. ZJR DROP DROP PPU IF FWA = 0 = OOR
  520.  
  521. DDP7 LDN 0 RESET FWA
  522. STM ECSFWA
  523. STM ECSFWA+1
  524. UJP DDP1B
  525. * /--- BLOCK CHECK 00 000 84/11/14 14.53
  526.  
  527. TITLE CHECK -- CHECK EM ADDRESSES VALID
  528.  
  529. *
  530. * * SEE IF PARAMETERS FOR EM TRANSFER ARE VALID
  531. * *
  532. * * ON ENTRY, (ECSFWA) = REL FWA OF TRANSFER
  533. * * (TLCM) = CM WORDS TO TRANSFER
  534. * *
  535. * * ON EXIT, (A) = NEG. = ILLEGAL TRANSFER LWA
  536. * * 0 = OK
  537. * * 1 = ILLEGAL TRANSFER FWA
  538. * * (ECSABS) = ABS FWA OF TRANSFER
  539. * *
  540. * * USES T1 - T2, CM - CM+4
  541. * *
  542. * * CALLS WAITREC
  543. *
  544.  
  545. CHECK1 LDN 1 (A) = 1 = BAD FWA
  546.  
  547. CHECK SUBR
  548.  
  549. CALL WAITREC
  550.  
  551. LDD CP (A) = ADDR OF CP AREA
  552. ADN 5 OFFSET TO FLX IN XJ PACKAGE
  553. CRD CM
  554. LDD CM
  555. LPC 777B
  556. STD CM (CM, CM+1) = FLX
  557.  
  558. LDM ESM CHECK IF IN ESM MODE
  559. ZJN CHK0 IF IN ECS MODE
  560. LDD CM+1 CONVERT ESM FLX TO REAL FLX
  561. SHN 6
  562. STD CM+1
  563. LPC 770000B
  564. LMD CM
  565. SHN 6
  566. STD CM
  567.  
  568. CHK0 LDM ECSFWA+1
  569. ADN 1
  570. STD T2
  571. SHN -12
  572. ADM ECSFWA
  573. STD T1 (T1, T2) = EM FWA + 1
  574.  
  575. LDD CM
  576. SBD T1
  577. MJP CHECK1 --- IF BAD FWA FOR EM TRANSFER
  578. NJN CHK1 --- IF FWA OK
  579. LDD CM+1
  580. SBD T2
  581. MJP CHECK1 --- IF BAD FWA FOR EM TRANSFER
  582. * /--- BLOCK CHECK 00 000 84/11/14 14.53
  583.  
  584. CHK1 LDM TLCM (A) = CM WORDS TO TRANSFER
  585. SBN 1
  586. RAD T2
  587. SHN -12
  588. RAD T1 (T1, T2) = LWA + 1 OF TRANSFER
  589.  
  590. LDD CM
  591. SBD T1
  592. MJP CHECKX --- IF TRANSFER TOO LONG
  593. NJN CHK2
  594. LDD CM+1
  595. SBD T2
  596. MJP CHECKX --- IF TRANSFER TOO LONG
  597.  
  598. CHK2 LDM MTLCM
  599. SBM TLCM SEE IF TOO LONG FOR PP BUFFER
  600. MJP CHECKX --- IF BAD LWA
  601.  
  602. LDD CP (A) = ADDR OF CP AREA
  603. ADN 4 OFFSET TO RAX IN XJ PACKAGE
  604. CRD CM
  605. LDD CM
  606. LPC 777B
  607. STD CM (CM, CM+1) = RAX
  608.  
  609. LDM ESM CHECK IF IN ESM MODE
  610. ZJN CHK2.1 IF IN ECS MODE
  611. LDD CM+1 CONVERT ESM RAX TO ABS. ADDR.
  612. SHN 6
  613. STD CM+1
  614. LPC 770000B
  615. LMD CM
  616. SHN 6
  617. STD CM
  618.  
  619. CHK2.1 LDM ECSFWA+1 CONVERT FWA TO ABSOLUTE
  620. ADD CM+1
  621. STM ECSABS+1
  622. SHN -12
  623. ADM ECSFWA
  624. ADD CM
  625. STM ECSABS
  626.  
  627. LDN 0 (A) = 0 = ALL OK
  628. LJM CHECKX
  629. * /--- BLOCK PATTERN 00 000 82/07/14 16.11
  630.  
  631. TITLE GETPATT -- PREPARE NEXT PATTERN
  632.  
  633. *
  634. * * INCREMENT PATTERN NUMBER AND FORMAT BUFFER
  635. * * FOR EM WRITE
  636. * *
  637. * * DROPS PP IF CM ADDRESS OF PATTERN IS BAD
  638. * *
  639. * * ON EXIT, (A) = 0 = ALL OK
  640. * * 1 = NO MORE PATTERNS
  641. * *
  642. * * USES T1 - T2
  643. * *
  644. * * CALLS ABS
  645. *
  646.  
  647. NOPATT SOM SHIFT DECREMENT SHIFT COUNT
  648. ZJN NOPATT2 --- IF 60 SHIFTS DONE
  649. LDN 0
  650. STM CPATT RESET PATTERN NUMBER
  651. UJN GETP0
  652.  
  653. NOPATT2 LDN 1 (A) = 1 = NO MORE PATTERNS
  654.  
  655. GETPATT SUBR
  656. LDM CPATT (A) = CURRENT PATTERN NUMBER
  657. SBM NPATT CHECK IF FINISHED
  658. PJN NOPATT --- IF LAST PATTERN
  659.  
  660. GETP0 AOM CPATT INCREMENT PATTERN NUMBER
  661. LDM APATT
  662. SHN 12
  663. ADM APATT+1
  664. ADN 1
  665. ADM CPATT (A) = CM ADDR OF NEXT PATTERN
  666. CALL ABS CONVERT TO ABSOLUTE ADDR
  667. ZJR DROP --- IF BAD ADDR
  668. CRM PATTERN,ON READ PATTERN TO PP MEMORY
  669.  
  670. LDN 5
  671. STD T1 OUTER LOOP COUNTER
  672.  
  673. GETP1 SOD T1 (A) = COUNTER
  674. MJN GETP3 --- IF DONE
  675. LDM TLPP (A) = TRANSFER LTH IN PP WORDS
  676. STD T2 INNER LOOP COUNTER
  677. LDC ECSBUF-5
  678. ADD T1
  679. STM GETP2+3 MODIFY NEXT STM INSTRUCTION
  680.  
  681. GETP2 LDM PATTERN,T1
  682. STM *,T2 PROPOGATE PATTERN
  683. LDD T2
  684. SBN 5
  685. STD T2 UPDATE INNER LOOP COUNTER
  686. NJN GETP2 --- IF NOT YET DONE
  687. UJN GETP1
  688.  
  689. GETP3 LDN 4 SHIFT PATTERN LEFT BY 1 BIT
  690. STD T1
  691. LDN 0
  692. GETP4 LMM PATTERN,T1
  693. SHN 1
  694. STM CM,T1
  695. SHN -12
  696. STD T2
  697. SOD T1
  698. MJN GETP5
  699. LDD T2
  700. SHN 17
  701. UJN GETP4
  702.  
  703. GETP5 LDD T2
  704. LMD CM+4
  705. STD CM+4
  706.  
  707. LDM APATT WRITE BACK TO CENTRAL MEMORY
  708. SHN 12
  709. ADM APATT+1
  710. ADN 1
  711. ADM CPATT (A) = ADDR OF PATTERN
  712. CALL ABS
  713. ZJR DROP --- IF BAD ADDRESS
  714. CWD CM
  715.  
  716. LDN 0 (A) = 0 = ALL OK
  717. LJM GETPATTX
  718.  
  719. *CALL PLAPABS
  720. * /--- BLOCK DESTROY 00 000 82/07/14 16.11
  721.  
  722. TITLE DESTROY -- DESTROY PATTERNS IN PP MEMORY
  723.  
  724. *
  725. * * ALTER PATTERNS IN PP MEMORY SO THAT
  726. * * IF VERIFY IS GOOD IT MUST BE BECAUSE
  727. * * PATTERN WAS READ FROM EM CORRECTLY
  728. * *
  729. * * USES T1
  730. *
  731.  
  732. DESTROY SUBR
  733.  
  734. LDM TLPP (A) = TRANSFER LTH IN PP WDS
  735. STD T1 (T1) = LOOP COUNTER
  736.  
  737. DEST1 SOD T1 DECREMENT COUNTER
  738. MJN DESTROYX --- IF FINISHED
  739. SOM ECSBUF,T1 SUBTRACT 1 FROM PATTERN WORD
  740. UJN DEST1
  741. * /--- BLOCK VERIFY 00 000 82/07/14 16.11
  742.  
  743. TITLE VERIFY -- CHECK DATA READ BACK CORRECTLY
  744.  
  745. *
  746. * * VERIFY THAT DATA WAS READ BACK FROM EM CORRECTLY
  747. * *
  748. * * DAYFILE MESSAGE WILL BE ISSUED IN CASE OF VERIFY
  749. * * ERROR
  750. * *
  751. * * USES T1 - T2
  752. * *
  753. * * CALLS VERERR
  754. *
  755.  
  756. VERIFY SUBR
  757.  
  758. LDM TLCM
  759. STD T1 INITIALIZE OUTER LOOP COUNTER
  760. LDC ECSBUF
  761. STM VERIFY2+1 SET TO FIRST WORD IN BUFFER
  762.  
  763. VERIFY1 LDN 4
  764. STD T2 INITIALIZE INNER LOOP COUNTER
  765. VERIFY2 LDM *,T2 (A) = DATA FROM EM
  766. LMM PATTERN,T2 SEE IF SAME AS PATTERN
  767. NJN VERIFY3 --- IF VERIFY ERROR
  768. SOD T2 DECREMENT COUNTER
  769. PJN VERIFY2 --- IF MORE IN CURRENT WORD
  770. SOD T1 DECREMENT COUNTER
  771. ZJN VERIFYX --- IF ALL WORDS VERIFIED
  772. LDN 5
  773. RAM VERIFY2+1 ADVANCE TO NEXT WORD
  774. UJN VERIFY1
  775.  
  776. VERIFY3 LDM TLCM
  777. SBD T1 (A) = OFFSET TO VERIFY ERROR
  778. STM OFFSET
  779.  
  780. LDM VERIFY2+1 (A) = ADDR OF BAD DATA
  781. STM VERIFY4+1
  782. LDN 4 INITIALIZE COUNTER
  783. STD T1
  784.  
  785. VERIFY4 LDM *,T1 (A) = NEXT 12 BITS OF BAD WORD
  786. STM BADDATA,T1 STORE BAD WORD IN *BADDATA*
  787. SOD T1
  788. PJN VERIFY4
  789. CALL VERERR ISSUE VERIFY ERROR DAYFILE MSG
  790. LJM VERIFYX
  791. * /--- BLOCK PAUSE 00 000 82/07/14 13.28
  792.  
  793. TITLE PAUSE -- CHECK FOR STORAGE MOVE OR CP ERROR
  794.  
  795. *
  796. * * CHECK FOR STORAGE MOVE, CONTROL POINT ERROR
  797. * * OR ROLLOUT REQUEST
  798. * *
  799. * * DROPS PP IF ERROR FLAG SET OR ROLLOUT REQUESTED
  800. * *
  801. * * USES CM - CM+4
  802. * *
  803. * * CALLS PRL
  804. *
  805.  
  806. PAUSE SUBR
  807.  
  808. LDD CP
  809. ADN STSW (A) = ADDR. OF CP STATUS WORD
  810. CRD CM READ CP STATUS
  811. LDD CM+1 (A) = ERROR FLAG
  812. NJR DROP --- DROP PP IF CPU ERROR
  813.  
  814. LDD CP
  815. .NOSV2 IFGE OSLEV,562D NOS V2
  816. ADN STSW GET ROLLOUT INFO
  817. .NOSV2 ELSE NOS V1
  818. ADN JCIW (A) = ADDR. OF ROLLOUT INFO
  819. .NOSV2 ENDIF
  820. CRD CM READ ROLLOUT INFO
  821. LDD CM+2 (A) = ROLLOUT INFO
  822. LPN 1 CHECK IF ROLLOUT REQUESTED
  823. NJR ROLLOUT --- IF ROLLOUT REQUESTED
  824.  
  825. CALL PAUSE1
  826. UJN PAUSEX
  827.  
  828. PAUSE1 SUBR
  829. LDN CMCL
  830. CRD CM READ MEMORY CONTROL WORD
  831. LDD CP
  832. SBD CM CHECK IF THIS CONTROL POINT
  833. NJP PAUSE1X --- IF NOT FOR THIS CP
  834. PAUSE ST PAUSE FOR STORAGE MOVE
  835. UJN PAUSE1X
  836.  
  837. ROLLOUT SUBR
  838. .NOSV2 IFGE OSLEV,562D NOS V2
  839. LDD CP GET SUBSYSTEM ID
  840. ADN JCIW
  841. CRD CM
  842. LDD IRSI-1 (A) = MAXIMUM ROLLABLE ID VALUE
  843. SBD CM+2 SUBTRACT ACTUAL SSID
  844. .NOSV2 ELSE NOS V1
  845. LDC MXPS (A) = 7760B
  846. SBD CM+1 (A) < 0 IF ROLLOUT NOT ALLOWED
  847. .NOSV2 ENDIF
  848. MJP ROLLOUTX --- IF NO ROLLOUT
  849. CALL DFM,ROLLMSG
  850. RJM DROP
  851.  
  852. ROLLMSG DIS ,* ROLLOUT REQUESTED.*
  853. * /--- BLOCK DROP 00 000 82/07/15 13.42
  854.  
  855.  
  856. TITLE DROP PPU
  857. *
  858. * * MARK TESTING FINISHED AND DROP PPU
  859. * *
  860. * * USES T1, CM - CM+4
  861. * *
  862. * * CALLS DFM, ABS, RELDDP
  863. *
  864.  
  865. DROP SUBR
  866.  
  867. LDM APATT (A) = TOP 6 BITS OF ADDRESS
  868. SHN 12
  869. ADM APATT+1 (A) = ADDR OF PATTERNS
  870. ZJN DROP2 --- IF NO ADDRESS
  871. ADN 1
  872. CALL ABS
  873. ZJN DROP3 --- IF BAD ADDRESS
  874. CRD CM READ 1ST PATTERN WORD
  875. LDN 1
  876. STD CM+4 SET COMPLETION BIT
  877. LDM APATT (A) = TOP 6 BITS OF ADDRESS
  878. SHN 12
  879. ADM APATT+1 (A) = ADDR OF PATTERNS
  880. ZJN DROP2 --- IF NO ADDRESS
  881. ADN 1
  882. CALL ABS
  883. ZJN DROP3 --- IF BAD ADDRESS
  884. CWD CM REWRITE WORD
  885.  
  886. DROP2 CALL RELDDP MAKE SURE DDP RELEASED
  887. MONITOR DPPM DROP PPU
  888. UJP PPR
  889.  
  890. DROP3 CALL DFM,DROPMSG2
  891. UJP DROP2
  892.  
  893. DROPMSG2 DIS ,* BAD ADDRESS.*
  894. * /--- BLOCK RESV DDP 00 000 82/07/19 11.50
  895.  
  896. TITLE RSVDDP -- RESERVE DDP PORT
  897.  
  898. *
  899. * * RESERVE DDP PORT CHANNEL
  900. * *
  901. * * USES CM - CM+4
  902. * *
  903. * * CALLS FTN, PAUSE1
  904. *
  905.  
  906. RSVDDP SUBR
  907. LDM RDDP CHECK IF DDP RESERVED
  908. NJN RSVDDPX
  909.  
  910. RVD110 LDN ZERL PRE-CLEAR ARGUMENTS
  911. CRD CM
  912. LDM CHANNEL
  913. STD CM+1
  914. MONITOR CCHM
  915. LDD CM+2
  916. NJN RVD114 IF RESERVED
  917. CALL PAUSE
  918. UJN RVD110 TRY AGAIN
  919.  
  920. RVD114 AOM RDDP MARK DDP RESERVED
  921.  
  922. RVD120 IJM RVD122,C=DDP
  923. DCN C=DDP,40B INSURE CHANNEL INACTIVE
  924.  
  925. RVD122 FNC 5010B,C=DDP MASTER-CLEAR PORT
  926. WAIT EMPTY,C=DDP,RVD123
  927. RVD123 WAIT INACTIVE,C=DDP,RVD124
  928.  
  929. RVD124 IJM RVD125,C=DDP
  930. DCN C=DDP,40B INSURE CHANNEL INACTIVE
  931.  
  932. RVD125 PSN
  933. * UJN 3 IF ECS MODE
  934. FNC 5404B,C=DDP SELECT ESM MODE
  935. LJM RSVDDPX
  936. * /--- BLOCK REL DDP 00 000 82/07/14 13.30
  937.  
  938. TITLE RELDDP -- RELEASE DDP PORT RESERVATION
  939.  
  940. *
  941. * * RELEASE DDP PORT CHANNEL RESERVATION
  942. * *
  943. * * USES CM - CM+4
  944. * *
  945. * * CALLS DCH
  946. *
  947.  
  948. RELDDP SUBR
  949. LDM RDDP CHECK IF DDP RESERVED
  950. ZJN RELDDPX
  951. LDN ZERL PRE-CLEAR ARGUMENTS
  952. CRD CM
  953. LDM CHANNEL
  954. DCHAN RELEASE DDP CHANNEL
  955. LDN 0
  956. STM RDDP MARK DDP NO LONGER RESERVED
  957. LJM RELDDPX
  958. * /--- BLOCK READ ECS 00 000 82/07/19 15.25
  959.  
  960. TITLE READECS -- READ EM VIA DDP
  961.  
  962. *
  963. * * ON ENTRY, (ECSABS) = UPPER 12 BITS OF EM ADDRESS
  964. * * (ECSABS+1) = LOWER 12 BITS OF EM ADDR
  965. * * (TLPP) = TRANSFER LENGTH IN PP WORDS
  966. * *
  967. * * ON EXIT, (A) = 0 = ALL OK
  968. * * 1 = EM ERROR
  969. * *
  970. * * CALLS UNKNERR, PARERR, RDABERR, CHANERR
  971. *
  972.  
  973. READECS SUBR
  974. IJM RCS10,C=DDP
  975. DCN C=DDP,40B
  976.  
  977. RCS10 FNC 5001B,C=DDP 5001B = READ EM
  978. WAIT INACTIVE,C=DDP,RCSE1
  979. ACN C=DDP,40B
  980. FJM RCSE2,C=DDP
  981. LDN 2
  982. OAM ECSABS,C=DDP OUTPUT 2 WORD EM ADDRESS
  983. WAIT FULL,C=DDP,RCSE3
  984.  
  985. LDM TLPP NUMBER OF WORDS TO READ
  986. IAM ECSBUF,C=DDP READ TO PPU MEMORY
  987. NJP RCSE4 --- IF ERROR
  988.  
  989. RCS20 IJM RCSE5,C=DDP WAIT CHANNEL ACTIVE + FULL
  990. EJM RCS20,C=DDP
  991. DCN C=DDP,40B
  992. LDN 0 MARK NO ERROR OCCURRED
  993. LJM READECSX
  994. *
  995. RCSE1 LDN 0 SET ERROR CODE
  996. UJN RCSERR
  997. RCSE2 LDN 1
  998. UJN RCSERR
  999. RCSE3 LDN 2
  1000. UJN RCSERR
  1001. RCSE4 LDN 3
  1002. UJN RCSERR
  1003. RCSE5 LDN 4
  1004.  
  1005. RCSERR ADC 2RR1 SET CHARACTER STRING FOR ERROR
  1006. CALL CHANERR
  1007. *
  1008. FNC 5004B,C=DDP GET PORT STATUS WORD
  1009. WAIT INACTIVE,C=DDP,RCSE1
  1010. ACN C=DDP,40B
  1011. WAIT FULL,C=DDP,RCSE3
  1012. IAN C=DDP,40B
  1013. DCN C=DDP,40B
  1014. LPN 5
  1015. NJN RCS32 --- IF ABORT OR PARITY ERROR
  1016. CALL UNKNERR ISSUE UNKNOWN ERROR MESSAGE
  1017. UJN RCS40
  1018.  
  1019. RCS32 LPN 1
  1020. NJN RCS34 --- IF ABORT
  1021. CALL PARERR ISSUE PARITY ERROR MESSAGE
  1022. UJN RCS40
  1023.  
  1024. RCS34 CALL RDABERR --- ISSUE ABORT MESSAGE
  1025.  
  1026. RCS40 FNC 5010B,C=DDP 5010B = MASTER CLEAR PORT
  1027. WAIT EMPTY,C=DDP,RCS41
  1028. RCS41 WAIT INACTIVE,C=DDP,RCS90
  1029.  
  1030. RCS90 IJM RCS95,C=DDP CHECK IF CHANNEL INACTIVE
  1031. DCN C=DDP DISCONNECT DDP CHANNEL
  1032.  
  1033. RCS95 PSN
  1034. * UJN 3 IF ECS MODE
  1035. FNC 5404B,C=DDP SELECT ESM MODE
  1036. LDN 1 MARK ERROR OCCURRED
  1037. LJM READECSX
  1038. * /--- BLOCK WRITE ECS 00 000 82/07/19 15.43
  1039.  
  1040. TITLE WRITECS -- WRITE EM VIA DDP
  1041.  
  1042. *
  1043. * * ON ENTRY, (ECSABS) = UPPER 12 BITS OF EM ADDRESS
  1044. * * (ECSABS+1) = LOWER 12 BITS OF EM ADDR
  1045. * * (TLPP) = TRANSFER LENGTH IN PP WORDS
  1046. * *
  1047. * * ON EXIT, (A) = 0 = ALL OK
  1048. * * 1 = EM ERROR
  1049. * *
  1050. * * CALLS WRABERR, CHANERR
  1051. *
  1052.  
  1053. WRITECS SUBR
  1054. IJM WCS10,C=DDP
  1055. DCN C=DDP,40B
  1056.  
  1057. WCS10 FNC 5002B,C=DDP 5002B = WRITE EM
  1058. WAIT INACTIVE,C=DDP,WCSE1
  1059. ACN C=DDP,40B
  1060. LDN 2
  1061. OAM ECSABS,C=DDP OUTPUT 2 WORD EM ADDRESS
  1062.  
  1063. LDM TLPP NUMBER OF WORDS TO WRITE
  1064. OAM ECSBUF,C=DDP WRITE FROM PPU MEMORY
  1065. NJP WCSE2 EXIT IF ERROR
  1066. DCN C=DDP,40B
  1067.  
  1068. WCS30 FNC 5004B,C=DDP 5004B = SELECT STATUS
  1069. WAIT INACTIVE,C=DDP,WCSE3
  1070. ACN C=DDP,40B RE-ACTIVATE DDP CHANNEL
  1071. WAIT FULL,C=DDP,WCSE4
  1072. IAN C=DDP,40B INPUT STATUS WORD
  1073. DCN C=DDP,40B
  1074. LPN 11B MASK WRITE/ABORT BITS
  1075. NJP WCS50 JUMP IF ERROR OR INCOMPLETE
  1076. IJM WCS40,C=DDP EXIT (A=0)
  1077. DCN C=DDP,40B
  1078. WCS40 LJM WRITECSX EXIT (A=0)
  1079.  
  1080. WCS50 LPN 10B
  1081. NJP WCS30 LOOP IF WRITE NOT COMPLETE
  1082. CALL WRABERR ISSUE WRITE ABORT MESSAGE
  1083. UJN WCSE5
  1084.  
  1085. WCSE1 LDN 0 SET ERROR CODE
  1086. UJN WCSERR
  1087. WCSE2 LDN 1
  1088. UJN WCSERR
  1089. WCSE3 LDN 2
  1090. UJN WCSERR
  1091. WCSE4 LDN 3
  1092. UJN WCSERR
  1093. WCSE5 LDN 4
  1094.  
  1095. WCSERR ADC 2RW1 SET CHARACTER STRING FOR ERROR
  1096. CALL CHANERR
  1097.  
  1098. IJM WCS54,C=DDP
  1099. DCN C=DDP,40B
  1100.  
  1101. WCS54 FNC 5010B,C=DDP 5010B = MASTER CLEAR PORT
  1102. WAIT EMPTY,C=DDP,WCS55
  1103. WCS55 WAIT INACTIVE,C=DDP,WCS90
  1104.  
  1105. WCS90 IJM WCS95,C=DDP CHECK IF CHANNEL INACTIVE
  1106. DCN C=DDP,40B DISCONNECT DDP CHANNEL
  1107.  
  1108. WCS95 PSN
  1109. * UJN 3
  1110. FNC 5404B,C=DDP SELECT ESM MODE
  1111. LDN 1 MARK ERROR OCCURRED
  1112. LJM WRITECSX
  1113. * /--- BLOCK WAITREC 00 000 82/07/14 16.36
  1114.  
  1115. TITLE WAITREC -- WAIT FOR AUTO-RECALL
  1116.  
  1117. *
  1118. * * WAIT UNTIL CPU PROGRAM IS IN RECALL
  1119. * *
  1120. * * USES CM - CM+4
  1121. *
  1122.  
  1123. WAITREC SUBR
  1124.  
  1125. LDC 100 INITIALIZE TIMEOUT COUNTER
  1126. STM WAITCNT
  1127.  
  1128. WAIT1 LDD CP
  1129. ADN STSW
  1130. CRD CM
  1131. LDD CM
  1132. .NOSV2 IFGE OSLEV,562D NOS V2
  1133. SHN -11B CHECK FOR *I* STATUS (6)
  1134. LMN 6
  1135. ZJP WAITRECX IF IN *I* STATUS
  1136. .NOSV2 ELSE NOS V1
  1137. LPC 1000B
  1138. NJN WAITRECX --- IF IN RECALL
  1139. .NOSV2 ENDIF
  1140. SOM WAITCNT
  1141. ZJN WAIT2
  1142. CALL PAUSE
  1143. DELAY 100
  1144. UJP WAIT1
  1145.  
  1146. WAIT2 CALL DFM,WAITMSG
  1147. RJM DROP
  1148.  
  1149. WAITMSG DIS ,* (DDP) RECALL TIMEOUT.*
  1150.  
  1151. *CALL PLAPDNM
  1152. * /--- BLOCK LIMITS 00 000 82/07/14 13.33
  1153.  
  1154. TITLE LIMITS -- ERROR LIMIT CHECKS
  1155.  
  1156. *
  1157. * * CHECK ERROR LIMIT AND DROP IF REACHED
  1158. * *
  1159. * * CALLS DFM
  1160. *
  1161.  
  1162. LIMITS SUBR
  1163.  
  1164. LDM ERRLIM
  1165. ZJN LIMITSX --- IF NO ERROR LIMIT
  1166.  
  1167. SOM ERRLIM SUBTRACT 1 FOR CURRENT ERROR
  1168. NJN LIMITSX --- IF LIMIT NOT REACHED
  1169. CALL DFM,LIMMSG
  1170. RJM DROP
  1171.  
  1172. LIMMSG DIS ,* ERROR LIMIT REACHED.*
  1173. * /--- BLOCK MESSAGES 00 000 82/07/20 09.20
  1174.  
  1175. TITLE ROUTINES TO FORMAT DAYFILE MESSAGES
  1176.  
  1177. *
  1178. * * ++++ (DDP) EM VERIFY ERROR +++
  1179. * * +
  1180. * * + CHANNEL XX
  1181. * * + ABS FWA XXXXXXXX
  1182. * * + LENGTH XXXX
  1183. * * + OFFSET XXXX
  1184. * * + PATTERN XXXXXXXXXXXXXXXXXXXX
  1185. * * + READ AS XXXXXXXXXXXXXXXXXXXX
  1186. * * +
  1187. * * ++++++++++++++++++++++++++++++
  1188. *
  1189.  
  1190. VERERR SUBR
  1191. CALL DFM,MSG1A
  1192. CALL DFM,MSG2
  1193. CALL X.MSG3
  1194. CALL X.MSG4
  1195. CALL X.MSG5
  1196. CALL X.MSG5A
  1197. CALL X.MSG6
  1198. CALL X.MSG7
  1199. CALL MSGSUB2
  1200. UJN VERERRX
  1201.  
  1202. *
  1203. * * ++++ (DDP) EM PARITY ERROR +++
  1204. * * +
  1205. * * + CHANNEL XX
  1206. * * + ABS FWA XXXXXXXX
  1207. * * + LENGTH XXXX
  1208. * * + PATTERN XXXXXXXXXXXXXXXXXXXX
  1209. * * +
  1210. * * ++++++++++++++++++++++++++++++
  1211. *
  1212.  
  1213. PARERR SUBR
  1214. CALL DFM,MSG1B
  1215. CALL MSGSUB
  1216. UJN PARERRX
  1217.  
  1218. *
  1219. * * ++++ (DDP) EM READ ABORT +++++
  1220. * * +
  1221. * * + CHANNEL XX
  1222. * * + ABS FWA XXXXXXXX
  1223. * * + LENGTH XXXX
  1224. * * + PATTERN XXXXXXXXXXXXXXXXXXXX
  1225. * * +
  1226. * * ++++++++++++++++++++++++++++++
  1227. *
  1228.  
  1229. RDABERR SUBR
  1230. CALL DFM,MSG1C
  1231. CALL MSGSUB
  1232. UJN RDABERRX
  1233.  
  1234. *
  1235. * * ++++ (DDP) EM WRITE ABORT ++++
  1236. * * +
  1237. * * + CHANNEL XX
  1238. * * + ABS FWA XXXXXXXX
  1239. * * + LENGTH XXXX
  1240. * * + PATTERN XXXXXXXXXXXXXXXXXXXX
  1241. * * +
  1242. * * ++++++++++++++++++++++++++++++
  1243. *
  1244.  
  1245. WRABERR SUBR
  1246. CALL DFM,MSG1D
  1247. CALL MSGSUB
  1248. UJN WRABERRX
  1249.  
  1250. *
  1251. * * DDP CHAN ERR C=XX E=XX
  1252. *
  1253.  
  1254. CHANERR SUBR
  1255. STM MSG1E+12
  1256. LDM CHANNEL (A) = CHANNEL NUMBER
  1257. CALL C2D CONVERT CHANNEL TO DISPLAY CODE
  1258. STM MSG1E+9
  1259. CALL DFM,MSG1E
  1260. UJN CHANERRX
  1261.  
  1262. *
  1263. * * ++++ (DDP) UNKNOWN ERROR +++++
  1264. * * +
  1265. * * + CHANNEL XX
  1266. * * +
  1267. * * ++++++++++++++++++++++++++++++
  1268.  
  1269. UNKNERR SUBR
  1270. CALL DFM,MSG1F
  1271. CALL DFM,MSG2
  1272. CALL X.MSG3
  1273. CALL MSGSUB2
  1274. LJM UNKNERRX
  1275. * /--- BLOCK MESSAGES 00 000 82/07/14 13.36
  1276.  
  1277. *
  1278. * * COMBINATIONS OF LINES FOR DAYFILE MESSAGES
  1279. *
  1280.  
  1281. MSGSUB SUBR
  1282. CALL MSGSUB1
  1283. CALL MSGSUB2
  1284. UJN MSGSUBX
  1285.  
  1286. MSGSUB1 SUBR
  1287. CALL DFM,MSG2
  1288. CALL X.MSG3
  1289. CALL X.MSG4
  1290. CALL X.MSG5
  1291. CALL X.MSG6
  1292. UJN MSGSUB1X
  1293.  
  1294. MSGSUB2 SUBR
  1295. CALL DFM,MSG2
  1296. CALL DFM,MSG8
  1297. CALL LIMITS DECREMENT ERROR LIMIT COUNT
  1298. UJN MSGSUB2X
  1299. * /--- BLOCK MESSAGES 00 000 82/07/14 16.17
  1300.  
  1301. *
  1302. * * OUTPUT CHANNEL NUMBER TO DAYFILE
  1303. * *
  1304. * * CALLS C2D, DFM
  1305. *
  1306.  
  1307. X.MSG3 SUBR
  1308. LDM CHANNEL (A) = CHANNEL NUMBER
  1309. CALL C2D CONVERT CHANNEL TO DISPLAY CODE
  1310. STM MSG3+5
  1311. CALL DFM,MSG3
  1312. UJN X.MSG3X
  1313.  
  1314. *
  1315. * * OUTPUT ABSOLUTE FWA OF EM TRANSFER TO DAYFILE
  1316. * *
  1317. * * USES T3
  1318. * *
  1319. * * CALLS C8D, DFM
  1320. *
  1321.  
  1322. X.MSG4 SUBR
  1323. LDC MSG4+5
  1324. STD T3 (T3) = WHERE TO PUT FWA
  1325. LDC ECSABS
  1326. CALL C8D
  1327. CALL DFM,MSG4
  1328. UJN X.MSG4X
  1329.  
  1330. *
  1331. * * OUTPUT LENGTH OF EM TRANSFER TO DAYFILE
  1332. * *
  1333. * * USES T1
  1334. * *
  1335. * * CALLS C4D, DFM
  1336. *
  1337.  
  1338. X.MSG5 SUBR
  1339. LDC MSG5+5 ADDR FOR DISPLAY CODE RESULT
  1340. STD T1
  1341. LDM TLCM (A) = TRANSFER LENGTH
  1342. CALL C4D
  1343. CALL DFM,MSG5
  1344. UJN X.MSG5X
  1345.  
  1346. *
  1347. * * OUTPUT OFFSET TO VERIFY ERROR TO DAYFILE
  1348. * *
  1349. * * USES T1
  1350. * *
  1351. * * CALLS C4D, DFM
  1352. *
  1353.  
  1354. X.MSG5A SUBR
  1355. LDC MSG5A+5 ADDR FOR DISPLAY CODE RESULT
  1356. STD T1
  1357. LDM OFFSET (A) = TRANSFER LENGTH
  1358. CALL C4D
  1359. CALL DFM,MSG5A
  1360. UJN X.MSG5AX
  1361.  
  1362. *
  1363. * * OUTPUT PATTERN TO DAYFILE
  1364. * *
  1365. * * USES T5
  1366. * *
  1367. * * CALLS C20D, DFM
  1368. *
  1369.  
  1370. X.MSG6 SUBR
  1371. LDC MSG6+5
  1372. STD T5 (T5) = ADDR FOR DISPLAY CODE
  1373. LDC PATTERN
  1374. CALL C20D
  1375. CALL DFM,MSG6
  1376. UJN X.MSG6X
  1377.  
  1378. *
  1379. * * OUTPUT INCORRECTLY READ DATA TO DAYFILE
  1380. * *
  1381. * * USES T5
  1382. * *
  1383. * * CALLS C20D, DFM
  1384. *
  1385.  
  1386. X.MSG7 SUBR
  1387. LDC MSG7+5
  1388. STD T5 (T5) = ADDR FOR DISPLAY CODE
  1389. LDC BADDATA
  1390. CALL C20D
  1391. CALL DFM,MSG7
  1392. LJM X.MSG7X
  1393. * /--- BLOCK MESSAGES 00 000 82/07/14 13.38
  1394.  
  1395. *
  1396. * * C2D - CONVERT 2 OCTAL DIGITS TO DISPLAY CODE
  1397. * *
  1398. * * ON ENTRY, (A) = NUMBER TO CONVERT
  1399. * * (A) = RESULT IN DISPLAY CODE
  1400. * *
  1401. * * USES T0
  1402. *
  1403.  
  1404. C2D SUBR
  1405. LPN 77B
  1406. STD T0
  1407. SHN 3
  1408. LMD T0
  1409. SCN 70B
  1410. ADC 2R00
  1411. UJN C2DX
  1412.  
  1413. *
  1414. * * C4D - CONVERT 4 OCTAL DIGITS TO DISPLAY CODE
  1415. * *
  1416. * * ON ENTRY, (A) = NUMBER TO CONVERT
  1417. * * (T1) = ADDRESS OF RESULT
  1418. * *
  1419. * * USES T1 - T2
  1420. * *
  1421. * * CALLS C2D
  1422. *
  1423.  
  1424. C4D SUBR
  1425. STD T2 SAVE NUMBER TO CONVERT
  1426. SHN -6 RIGHT JUSTIFY 1ST 2 DIGITS
  1427. CALL C2D (A) = 1ST 2 DIGITS DISPLAY CODE
  1428. STI T1 ((T1)) = 1ST 2 DIGITS
  1429. AOD T1 INCREMENT ADDRESS
  1430. LDD T2 RETRIEVE ORIGINAL NUMBER
  1431. CALL C2D CONVERT LAST 2 DIGITS
  1432. STI T1 ((T1)) = LAST 2 DIGITS
  1433. UJN C4DX
  1434. * /--- BLOCK MESSAGES 00 000 82/07/14 13.39
  1435.  
  1436. *
  1437. * * CONVERT 8 OCTAL DIGITS TO DISPLAY CODE
  1438. * *
  1439. * * ON ENTRY, (A) = ADDRESS OF NUMBER TO CONVERT
  1440. * * (T3) = ADDRESS OF RESULT
  1441. * *
  1442. * * USES T3 - T4
  1443. * *
  1444. * * CALLS C4D
  1445. *
  1446.  
  1447. C8D SUBR
  1448. STD T4 SAVE ADDRESS OF ORIGINAL NUMBER
  1449. LDD T3
  1450. STD T1 (T1) = WHERE TO PUT DIGITS 1-4
  1451. LDI T4 (A) = 1ST 4 DIGITS TO CONVERT
  1452. CALL C4D
  1453. LDN 2
  1454. ADD T3
  1455. STD T1 (T1) = WHERE TO PUT DIGITS 5-8
  1456. AOD T4
  1457. LDI T4 (A) = LAST 4 DIGITS TO CONVERT
  1458. CALL C4D
  1459. UJN C8DX
  1460.  
  1461. *
  1462. * * C20D - CONVERT 20 OCTAL DIGITS TO DISPLAY CODE
  1463. * *
  1464. * * ON ENTRY, (A) = ADDRESS OF NUMBER TO CONVERT
  1465. * * (T5) = ADDRESS OF RESULT
  1466. * *
  1467. * * USES T5 - T6
  1468. * *
  1469. * * CALLS C4D, C8D
  1470. *
  1471.  
  1472. C20D SUBR
  1473. STD T6 SAVE ADDRESS OF ORIGINAL NUMBER
  1474. LDD T5
  1475. STD T3 (T3) = WHERE TO PUT RESULT
  1476. LDD T6 (A) = ADDRESS OF NUMBER
  1477. CALL C8D CONVERT 1ST 8 DIGITS
  1478. LDN 4
  1479. RAD T5
  1480. STD T3 (T3) = ADDR FOR NEXT 8 DIGITS
  1481. LDN 2
  1482. RAD T6 (A) = ADDRESS OF NEXT DIGITS
  1483. CALL C8D CONVERT NEXT 8 DIGITS
  1484. LDN 4
  1485. ADD T5
  1486. STD T1 (T1) = ADDR FOR LAST 4 DIGITS
  1487. LDN 2
  1488. RAD T6
  1489. LDI T6 (A) = LAST 4 DIGITS TO CONVERT
  1490. CALL C4D CONVERT LAST 4 DIGITS
  1491. UJN C20DX
  1492.  
  1493. * /--- BLOCK STORAGE 00 000 82/07/19 15.07
  1494.  
  1495. TITLE STORAGE DEFINITIONS
  1496.  
  1497. *
  1498. * * STORAGE DEFINITIONS
  1499. *
  1500.  
  1501. APATT BSSZ 2 REL ADDR OF CM PATTERN AREA
  1502. CPATT BSSZ 1 CURRENT PATTERN NUMBER
  1503. NPATT BSS 1 TOTAL PATTERNS
  1504. PATTERN BSS 5 CURRENT PATTERN
  1505. BADDATA BSS 5 FOR DATA THAT WON'7T VERIFY
  1506. ECSFWA BSS 2 FWA FOR CURRENT TRANSFER
  1507. ECSABS BSS 2 ABS FWA FOR CURRENT TRANSFER
  1508. TLCM BSS 1 TRANSFER LENGTH IN CM WORDS
  1509. TLPP BSS 1 TRANSFER LENGTH IN PP WORDS
  1510. RDDP BSSZ 1 DDP RESERVATION FLAG
  1511. CHANNEL BSS 1 DDP CHANNEL NUMBER
  1512. WAITCNT BSS 1 RECALL TIMEOUT COUNTER
  1513. OFFSET BSS 1 OFFSET TO WORD WITH ERROR
  1514. SHIFT VFD 12/60 SHIFT COUNT
  1515. MINTL BSS 1 MINIMUM TRANSFER LENGTH
  1516. CYCLES BSS 1 MAIN LOOP ITERATIONS
  1517. ERRLIM BSS 1 ERROR LIMIT
  1518. ESM DATA 0 0 IF ECS MODE, 1 IF ESM MODE
  1519.  
  1520. *
  1521. * * VARIOUS MESSAGES
  1522. *
  1523.  
  1524. MSG1A DIS ,*++++ (DDP) EM VERIFY ERROR +++*
  1525. MSG1B DIS ,*++++ (DDP) EM PARITY ERROR +++*
  1526. MSG1C DIS ,*++++ (DDP) EM READ ABORT +++++*
  1527. MSG1D DIS ,*++++ (DDP) EM WRITE ABORT ++++*
  1528. MSG1E DIS ,* DDP CHAN ERR C=XX E=XX*
  1529. MSG1F DIS ,*++++ (DDP) UNKNOWN ERROR +++++*
  1530. MSG2 DIS ,*+*
  1531. MSG3 DIS ,*+ CHANNEL 99*
  1532. MSG4 DIS ,*+ ABS FWA 99999999*
  1533. MSG5 DIS ,*+ LENGTH 9999*
  1534. MSG5A DIS ,*+ OFFSET 9999*
  1535. MSG6 DIS ,*+ PATTERN 99999999999999999999*
  1536. MSG7 DIS ,*+ READ AS 99999999999999999999*
  1537. MSG8 DIS ,*++++++++++++++++++++++++++++++*
  1538.  
  1539. *
  1540. * * THE FOLLOWING MUST IMMEDIATELY PRECEDE THE
  1541. * * INITIALIZATION ROUTINE, WHICH WILL BE
  1542. * * OVERWRITTEN BY THE EM TRANSFERS
  1543. *
  1544.  
  1545. ECSBUF EQU *+1 BUFFER FOR EM TRANSFERS
  1546.  
  1547. MTLT1 EQU 7000B-ECSBUF
  1548. MTLT2 EQU MTLT1/5
  1549.  
  1550. ERRNG MTLT2-100B
  1551.  
  1552. MTLCM VFD 12/MTLT2 MAX EM TRANSFER IN CM WORDS
  1553. * /--- BLOCK INITIAL 00 000 82/07/14 16.20
  1554.  
  1555. TITLE INITIALIZATIONS
  1556.  
  1557. *
  1558. * * VARIOUS INITIALIZATIONS
  1559. * *
  1560. * * MUST BE AT END OF PP PROGRAM -- WILL LATER
  1561. * * BE OVERWRITTEN BY EM TRANSFERS
  1562. * *
  1563. * * MAY DROP PP DUE TO ILLEGAL AND/OR INCONSISTANT
  1564. * * PARAMETERS OR BAD ADDRESSES
  1565. * *
  1566. * * USES T1, T2, CM - CM+4
  1567. * *
  1568. * * CALLS WAITREC, ABS, EQN, PLN, DFM
  1569. *
  1570.  
  1571. INITIAL SUBR
  1572.  
  1573. CALL WAITREC
  1574.  
  1575. *
  1576. * * CHECK IF SYSTEM ORIGIN JOB
  1577. *
  1578.  
  1579. LDD CP (A) = ADDR OF CP AREA
  1580. .NOSV2 IFGE OSLEV,562D NOS V2
  1581. ADN JOTW READ JOB ORIGIN TYPE WORD
  1582. CRD CM
  1583. LDD CM+3 (A) = JOB ORIGIN CODE
  1584. .NOSV2 ELSE NOS V1
  1585. ADN JNMW
  1586. CRD CM
  1587. LDD CM+3
  1588. LPN 77B (A) = JOB ORIGIN
  1589. .NOSV2 ENDIF
  1590. LMN SYOT
  1591. NJP CALLERR0 --- IF NOT SYSTEM ORIGIN
  1592.  
  1593. *
  1594. * * CHECK IF JOB HAS EM
  1595. *
  1596.  
  1597. LDD CP (A) = ADDR OF CP AREA
  1598. ADN 5 ADD OFFSET TO FLX IN XJ PACKAGE
  1599. CRD CM
  1600. LDD CM+1
  1601. NJN INIT0 --- JOB HAS EM
  1602. LDD CM
  1603. LPC 777B
  1604. ZJP CALLERR1 --- ERROR IF NO EM
  1605.  
  1606. *
  1607. * * SAVE FLX TEMPORARILY IN *ECSABS*
  1608. *
  1609.  
  1610. INIT0 LDD CM+1 (A) = LOWER HALF
  1611. STM ECSABS+1
  1612. LDD CM (A) = UPPER HALF
  1613. LPC 777B LIMIT TO BOTTOM 9 BITS
  1614. STM ECSABS
  1615.  
  1616. *
  1617. * * CHECK IF RUNNING IN ESM MODE.
  1618. *
  1619.  
  1620. .NOSV2 IFGE OSLEV,578D IF NOS V2
  1621. LDK CFGL (A) = WORD WITH EM MODE
  1622. .NOSV2 ELSE IF NOS V1
  1623. LDN CPUL
  1624. .NOSV2 ENDIF
  1625. CRD T1
  1626. LDD T1+ESMW
  1627. SHN 17-ESMB
  1628. PJN INIT0.1 IF ECS MODE
  1629. AOM ESM SET ESM MODE FLAG
  1630.  
  1631. *
  1632. * * ADJUST FLX IN (ECSABS) FOR ESM MODE.
  1633. *
  1634.  
  1635. LDM ECSABS+1
  1636. SHN 6
  1637. STM ECSABS+1
  1638. LPC 770000B
  1639. LMM ECSABS
  1640. SHN 6
  1641. STM ECSABS
  1642.  
  1643. * /--- BLOCK INITIAL 00 000 83/08/21 19.36
  1644.  
  1645. *
  1646. * * GET ADDRESS OF PATTERNS
  1647. *
  1648.  
  1649. INIT0.1 LDD IR+3
  1650. LPN 37B (A) = TOP 6 BITS OF ADDRESS
  1651. SHN 12
  1652. ADD IR+4 (A) = ADDR OF PATTERNS
  1653. STM APATT+1 STORE BOTTOM 12 BITS
  1654. SHN -12
  1655. STM APATT STORE TOP 6 BITS
  1656. SHN 12
  1657. ADM APATT+1
  1658. CALL ABS CONVERT TO ABS ADDR
  1659. ZJP CALLERR2 --- IF BAD ADDR
  1660. CRD CM READ NUMBER OF PATTERNS
  1661. LDM APATT
  1662. SHN 12
  1663. ADM APATT+1
  1664. ADN 1
  1665. ADD CM+1 (A) = ADDR OF LAST PATTERN
  1666. CALL ABS CONVERT TO ABS ADDR
  1667. ZJP CALLERR3 --- IF BAD ADDR
  1668. LDD CM+1 (A) = NUMBER OF PATTERNS
  1669. ZJP CALLERR4 --- IF ZERO PATTERNS
  1670. STM NPATT
  1671. * /--- BLOCK INITIAL 00 000 84/11/14 14.54
  1672.  
  1673. *
  1674. * * SET MINIMUM AND MAXIMUM TRANSFER LENGTHS
  1675. *
  1676.  
  1677. LDD CM+2 (A) = MINIMUM TRANSFER LENGTH
  1678. ZJN INIT1 --- MAKE 0 LIKE 1
  1679. SBN 1
  1680. INIT1 STM MINTL
  1681.  
  1682. LDD CM+3 (A) = MAXIMUM TRANSFER LENGTH
  1683. ZJN INIT2 --- 0 = LARGEST POSSIBLE
  1684. LDM MTLCM (A) = ABSOLUTE MAXIMUM
  1685. SBD CM+3 CHECK IF TOO LARGE
  1686. MJP CALLERR5 --- IF MAXIMUM TOO LARGE
  1687. LDD CM+3
  1688. STM MTLCM
  1689.  
  1690. INIT2 LDM MTLCM
  1691. SBM MINTL CHECK MAXIMUM >= MINIMUM
  1692. MJP CALLERR6 --- IF MINIMUM > MAXIMUM
  1693.  
  1694. *
  1695. * * GET NUMBER OF MAIN LOOP ITERATIONS (0 = RUN
  1696. * * UNTIL DROPPED)
  1697. *
  1698.  
  1699. LDD CM+4
  1700. STM CYCLES
  1701.  
  1702. *
  1703. * * GET DDP CHANNEL NUMBER
  1704. *
  1705.  
  1706. SOD CM (A) = CHANNEL NUMBER OR -1
  1707. PJN INIT4 IF CHANNEL SPECIFIED
  1708. LDC 2RD1 (A) = DDP EQUIPMENT NAME
  1709. CALL EQN
  1710. MJP CALLERR7 --- IF NO DDP FOUND
  1711. LDD CM
  1712. INIT4 STM CHANNEL STORE CHANNEL NUMBER
  1713.  
  1714. LDN 13B
  1715. SBM CHANNEL
  1716. PJP INIT5 --- VALID CHANNEL NUMBER
  1717. LDN 17B
  1718. SBM CHANNEL
  1719. PJP CALLERR8 --- BAD CHANNEL NUMBER
  1720. LDN PPUL
  1721. CRD CM (CM+2) = NUMBER OF PPUS
  1722. LDN 10
  1723. SBD CM+2
  1724. PJP CALLERR8 --- IF <= 10 PPUS
  1725. LDN 33B
  1726. SBM CHANNEL
  1727. MJP CALLERR8 --- BAD CHANNEL NUMBER
  1728.  
  1729. INIT5 LDM CHANNEL
  1730. PLANT CHANNEL,C=DDP
  1731. * /--- BLOCK INITIAL 00 000 82/07/19 15.44
  1732.  
  1733. *
  1734. * * GET 2ND WORD OF PARAMETERS
  1735. *
  1736.  
  1737. LDM APATT
  1738. SHN 12
  1739. ADM APATT+1
  1740. ADN 1
  1741. CALL ABS
  1742. ZJR DROP
  1743. CRD CM (CM - CM+4) = 2ND PARAMS WORD
  1744.  
  1745. *
  1746. * * SET ERROR LIMIT (0 = NO LIMIT)
  1747. *
  1748.  
  1749. LDD CM
  1750. STM ERRLIM
  1751.  
  1752. *
  1753. * * GET RELATIVE STARTING EM FWA
  1754. *
  1755.  
  1756. LDD CM+1 (A) = UPPER HALF
  1757. STM ECSFWA
  1758. LDD CM+2 (A) = LOWER HALF
  1759. STM ECSFWA+1
  1760.  
  1761. ADN 1
  1762. STD T2
  1763. SHN -12
  1764. ADD CM+1
  1765. STD T1 (T1, T2) = EM FWA + 1
  1766.  
  1767. LDM ECSABS CHECK FWA IN RANGE
  1768. SBD T1
  1769. MJP CALLERR9 --- EM FWA TOO LARGE
  1770. NJN INIT6
  1771. LDM ECSABS+1
  1772. SBD T2
  1773. MJP CALLERR9 --- EM FWA TOO LARGE
  1774.  
  1775. INIT6 LDM ESM CHECK IF IN ESM MODE
  1776. NJP INITIALX IF ESM MODE
  1777. LDM INITA MODIFY CODE FOR ECS MODE
  1778. STM RVD125
  1779. STM RCS95
  1780. STM WCS95
  1781. LJM INITIALX
  1782.  
  1783. INITA UJN 3 MODIFIER FOR ECS MODE
  1784. * /--- BLOCK INITIAL 00 000 82/07/14 16.22
  1785.  
  1786. *
  1787. * * INITIALIZATION ERRORS
  1788. *
  1789.  
  1790. CALLERR0 CALL DFM,CALLMSG0
  1791. RJM DROP
  1792. CALLERR1 CALL DFM,CALLMSG1
  1793. RJM DROP
  1794. CALLERR2 CALL DFM,CALLMSG2
  1795. RJM DROP
  1796. CALLERR3 CALL DFM,CALLMSG3
  1797. RJM DROP
  1798. CALLERR4 CALL DFM,CALLMSG4
  1799. RJM DROP
  1800. CALLERR5 CALL DFM,CALLMSG5
  1801. RJM DROP
  1802. CALLERR6 CALL DFM,CALLMSG6
  1803. RJM DROP
  1804. CALLERR7 CALL DFM,CALLMSG7
  1805. RJM DROP
  1806. CALLERR8 CALL DFM,CALLMSG8
  1807. RJM DROP
  1808. CALLERR9 CALL DFM,CALLMSG9
  1809. RJM DROP
  1810.  
  1811. CALLMSG0 DIS ,* NOT SYOT JOB.*
  1812. CALLMSG1 DIS ,* JOB HAS NO EM.*
  1813. CALLMSG2 DIS ,* BAD PATTERN ADDRESS.*
  1814. CALLMSG3 DIS ,* LAST PATTERN ADDR OOR.*
  1815. CALLMSG4 DIS ,* ZERO PATTERNS.*
  1816. CALLMSG5 DIS ,* MAX TRANSFER TOO LARGE.*
  1817. CALLMSG6 DIS ,* MAX TRANSFER LT MIN.*
  1818. CALLMSG7 DIS ,* NO EQUIPMENT.*
  1819. CALLMSG8 DIS ,* BAD CHANNEL.*
  1820. CALLMSG9 DIS ,* RELATIVE FWA OOR.*
  1821.  
  1822. *CALL PLAPEQN
  1823. *CALL PLAPPLN
  1824.  
  1825. C=DDP TABLE CHANNEL
  1826. * /--- BLOCK END 00 000 80/01/09 00.27
  1827.  
  1828.  
  1829. ERRPL *-7000B
  1830. END
plato.source/plaopl/ddpt.txt ยท Last modified: 2021/02/06 16:22 by 127.0.0.1