Seq # *Modification Id* Act
----------------------------+
00001 M00S00001.cvlcp +++| IDENT CVLCP,RBLK
00002 M00S00002.cvlcp +++| ABS
00003 M00S00003.cvlcp +++| SST
00004 M00S00004.cvlcp +++| ENTRY CVL
00005 M00S00005.cvlcp +++| ENTRY DMP=
00006 M00S00006.cvlcp +++| ENTRY RFL=
00007 M00S00007.cvlcp +++| ENTRY SSJ=
00008 M00S00008.cvlcp +++| SYSCOM B1
00009 M00S00009.cvlcp +++| TITLE CVLCP - CVL SCP COMMUNICATIONS.
00010 M00S00010.cvlcp +++|*COMMENT CVLCP - *CVL* SCP COMMUNICATIONS.
Line S00011 Modification History |
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00011 M01S00011.281l803 ---| COMMENT COPYRIGHT CONTROL DATA CORP. 1978.
Line S00001 Modification History |
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00012 M01S00001.281l803 +++| COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00013 M00S00012.cvlcp +++| SPACE 4,10
00014 M00S00013.cvlcp +++|*** CVLCP - CVL SCP COMMUNICATIONS.
00015 M00S00014.cvlcp +++|* G. S. YODER. 78/08/11.
00016 M00S00015.cvlcp +++| SPACE 4,10
00017 M00S00016.cvlcp +++|*** *CVLCP* PERFORMS VALIDATION FUNCTIONS FOR
00018 M00S00017.cvlcp +++|* MSS HARDWARE DIAGNOSTICS WHICH CANNOT BE PERFORMED
00019 M00S00018.cvlcp +++|* BY THE PPU PROGRAM *CVL*. THESE INCLUDE -
00020 M00S00019.cvlcp +++|*
00021 M00S00020.cvlcp +++|* - VALIDATE MSIDS
00022 M00S00021.cvlcp +++|* - TEST HARDWARE STATUS
00023 M00S00022.cvlcp +++|* - MOUNT CE CARTRIDGE FOR DIAGNOSTIC USE
00024 M00S00023.cvlcp +++|*
00025 M00S00024.cvlcp +++|* *CVLCP* COMMUNICATES WITH THE MSS EXECUTIVE
00026 M00S00025.cvlcp +++|* VIA *SCP* CALLS TO PERFORM THESE FUNCTIONS.
00027 M00S00026.cvlcp +++| SPACE 4,10
00028 M00S00027.cvlcp +++|** SPECIAL ENTRY POINTS.
00029 M00S00028.cvlcp +++|
00030 M00S00029.cvlcp +++|
00031 M00S00030.cvlcp +++| DMP= EQU 100000B SELECT NO DUMP IF CONTROL CARD CALL
00032 M00S00031.cvlcp +++| SSJ= EQU 0
00033 M00S00032.cvlcp +++|
00034 M00S00033.cvlcp +++|
00035 M00S00034.cvlcp +++| ORG 110B
00036 M00S00035.cvlcp +++| SPACE 4,10
00037 M00S00036.cvlcp +++|*CALL COMCMAC
00038 M00S00037.cvlcp +++|*CALL COMSSSD
00039 M00S00038.cvlcp +++|
00040 M00S00039.cvlcp +++|
00041 M00S00040.cvlcp +++| RBLK VFD 36/0,6/RBLKL-1,4/0,2/2,12/0 SCP CALL BLOCK
00042 M00S00041.cvlcp +++| BSSZ 2
00043 M00S00042.cvlcp +++| RBLKL EQU *-RBLK
00044 M00S00043.cvlcp +++|
00045 M00S00044.cvlcp +++| TPMB EQU SPPR+1 CVL CALL PARAMETER BLOCK
00046 M00S00045.cvlcp +++| TITLE MAIN PROGRAM.
00047 M00S00046.cvlcp +++|** CVLCP - MAIN PROGRAM.
00048 M00S00047.cvlcp +++|
00049 M00S00048.cvlcp +++|
00050 M00S00049.cvlcp +++| CVL SB1 1
00051 M00S00050.cvlcp +++| SA1 ACTR CHECK CALL TYPE
00052 M00S00051.cvlcp +++| ZR X1,CVL1 IF *CVL* CALL
00053 M00S00052.cvlcp +++| MESSAGE (=C* ILLEGAL CONTROL CARD.*),0,R
00054 M00S00053.cvlcp +++| ABORT
00055 M00S00054.cvlcp +++|
00056 M00S00055.cvlcp +++|* ESTABLISH CONECTION WITH MSS EXECUTIVE.
00057 M00S00056.cvlcp +++|
00058 M00S00057.cvlcp +++| CVL1 MX0 -12
00059 M00S00058.cvlcp +++| SX5 B0 CLEAR ERROR CODE
00060 M00S00059.cvlcp +++| BX2 X2-X2
00061 M00S00060.cvlcp +++| SX6 101B SET ESTABLISH CONECTION
00062 M00S00061.cvlcp +++| RJ CSS CALL EXECUTIVE
00063 M00S00062.cvlcp +++| NZ X5,CVL6 IF EXECUTIVE NOT RUNNING
00064 M00S00063.cvlcp +++|
00065 M00S00064.cvlcp +++|* VALIDATE DEVICE ACCESS.
00066 M00S00065.cvlcp +++|
00067 M00S00066.cvlcp +++| SA3 TPMB+1 SET EST ORDINAL
00068 M00S00067.cvlcp +++| SA1 TPMB+6 CHECK FUNCTIONAL ATTRIBUTES
00069 M00S00068.cvlcp +++| BX2 -X0*X3
00070 M00S00069.cvlcp +++| LX2 30
00071 M00S00070.cvlcp +++| BX6 X2
00072 M00S00071.cvlcp +++| SA6 CEST
00073 M00S00072.cvlcp +++| LX1 59-3
00074 M00S00073.cvlcp +++| NG X1,CVL2 IF RETURN MST REQUEST
00075 M00S00074.cvlcp +++| RJ PID PROCESS MSIDS
00076 M00S00075.cvlcp +++| NZ X5,CVL6 IF ERROR
00077 M00S00076.cvlcp +++| SA1 TPMB+5 CHECK DEVICE CODE
00078 M00S00077.cvlcp +++| BX1 -X0*X1
00079 M00S00078.cvlcp +++| SX1 X1-100B
00080 M00S00079.cvlcp +++| ZR X1,CVL3 IF MST REQUEST
00081 M00S00080.cvlcp +++|
00082 M00S00081.cvlcp +++|* PROCESS CSU REQUEST.
00083 M00S00082.cvlcp +++|
00084 M00S00083.cvlcp +++| SX6 502B SET CSU REQUEST CODE
00085 M00S00084.cvlcp +++| BX2 X2-X2
00086 M00S00085.cvlcp +++| EQ CVL5 PROCESS REQUEST
00087 M00S00086.cvlcp +++|
00088 M00S00087.cvlcp +++|* PROCESS MST RETURN.
00089 M00S00088.cvlcp +++|
00090 M00S00089.cvlcp +++| CVL2 SA4 TPMB+7 READ COORDINATES
00091 M00S00090.cvlcp +++| SX6 506B SET MST RETURN CODE
00092 M00S00091.cvlcp +++| EQ CVL4 SET COORDINATES
00093 M00S00092.cvlcp +++|
00094 M00S00093.cvlcp +++|* PROCESS MST REQUEST.
00095 M00S00094.cvlcp +++|
00096 M00S00095.cvlcp +++| CVL3 SA4 TPMB+7 CHECK X/Y COORDINATES
00097 M00S00096.cvlcp +++| BX2 X2-X2
00098 M00S00097.cvlcp +++| SX6 503B REQUEST = MST ONLY
00099 M00S00098.cvlcp +++| BX1 X4
00100 M00S00099.cvlcp +++| LX1 59-48
00101 M00S00100.cvlcp +++| PL X1,CVL5 IF COORDINATES NOT SUPPLIED
00102 M00S00101.cvlcp +++| SX6 504B SET CARTRIDGE MOUNT REQUEST
00103 M00S00102.cvlcp +++| CVL4 BX2 -X0*X4 SET COORDINATES IN REQUEST
00104 M00S00103.cvlcp +++| LX2 18
00105 M00S00104.cvlcp +++|
00106 M00S00105.cvlcp +++|* CALL EXECUTIVE.
00107 M00S00106.cvlcp +++|
00108 M00S00107.cvlcp +++| CVL5 SA3 CEST
00109 M00S00108.cvlcp +++| BX2 X2+X3 SET EST ORDINAL IN REQUEST
00110 M00S00109.cvlcp +++| RJ CSS CALL EXECUTIVE
00111 M00S00110.cvlcp +++| NZ X5,CVL6 IF ERROR
00112 M00S00111.cvlcp +++| SX5 X6+ SET POSSIBLE ERROR CODE
00113 M00S00112.cvlcp +++| SX6 X6-30B
00114 M00S00113.cvlcp +++| NZ X6,CVL6 IF NOT ILLEGAL COORDINATES ERROR
00115 M00S00114.cvlcp +++| SX5 X5+4400B SET VALIDATION ERROR BITS
00116 M00S00115.cvlcp +++|
00117 M00S00116.cvlcp +++|* SET VALIDATION BITS AND COMPLETION STATUS.
00118 M00S00117.cvlcp +++|* (X5) BITS 0-5 = ERROR CODE.
00119 M00S00118.cvlcp +++|* (X5) BITS 8-11 = VALIDATION BITS.
00120 M00S00119.cvlcp +++|* (X4) = WORD FOR VALIDATION BYTE.
00121 M00S00120.cvlcp +++|* (A4) = WORD ADDRESS FOR VALIDATION BYTE.
00122 M00S00121.cvlcp +++|
00123 M00S00122.cvlcp +++| CVL6 MX6 4
00124 M00S00123.cvlcp +++| LX5 48
00125 M00S00124.cvlcp +++| BX6 X5*X6
00126 M00S00125.cvlcp +++| MX2 -6
00127 M00S00126.cvlcp +++| ZR X6,CVL7 IF NO VALIDATION BYTE TO SET
00128 M00S00127.cvlcp +++| BX6 X4+X6 SET VALIDATION BYTE
00129 M00S00128.cvlcp +++| SA6 A4
00130 M00S00129.cvlcp +++| CVL7 SA1 TPMB SET COMPLETION STATUS
00131 M00S00130.cvlcp +++| LX2 6
00132 M00S00131.cvlcp +++| AX5 42
00133 M00S00132.cvlcp +++| BX7 -X2*X5
00134 M00S00133.cvlcp +++| SX7 X7+B1 SET POSSIBLE ERROR AND COMPLETE BIT
00135 M00S00134.cvlcp +++| SA7 A1
00136 M00S00135.cvlcp +++|
00137 M00S00136.cvlcp +++|* TERMINATE CONNECTION WITH EXECUTIVE.
00138 M00S00137.cvlcp +++|
00139 M00S00138.cvlcp +++| SX2 B0
00140 M00S00139.cvlcp +++| SX6 102B SET TERMINATE CONNECTION
00141 M00S00140.cvlcp +++| RJ CSS CALL EXECUTIVE
00142 M00S00141.cvlcp +++| ENDRUN
00143 M00S00142.cvlcp +++|
00144 M00S00143.cvlcp +++| CEST BSSZ 1 EST ORDINAL (SHIFTED 30 BITS)
00145 M00S00144.cvlcp +++| TITLE SUBROUTINES.
00146 M00S00145.cvlcp +++|** CSS - CALL MSS EXECUTIVE SUBSYSTEM.
00147 M00S00146.cvlcp +++|*
00148 M00S00147.cvlcp +++|* ENTRY (X2) = BITS 0-41 OF CALL BLOCK REQUEST WORD.
00149 M00S00148.cvlcp +++|* (X6) = MSS EXECUTIVE REQUEST TYPE AND CODE.
00150 M00S00149.cvlcp +++|*
00151 M00S00150.cvlcp +++|* EXIT (X2) = RESPONSE WORD FROM EXECUTIVE.
00152 M00S00151.cvlcp +++|* (X5) = ERROR CODE IF EXECUTIVE NOT RUNNING.
00153 M00S00152.cvlcp +++|* (X6) = RESPONSE CODE FROM EXECUTIVE.
00154 M00S00153.cvlcp +++|*
00155 M00S00154.cvlcp +++|* USES A - 1, 2, 6.
00156 M00S00155.cvlcp +++|* X - 1, 2, 5, 6.
00157 M00S00156.cvlcp +++|*
00158 M00S00157.cvlcp +++|* MACROS CALLSS, MESSAGE.
00159 M00S00158.cvlcp +++|
00160 M00S00159.cvlcp +++|
00161 M00S00160.cvlcp +++| CSS1 SX5 31B SET ERROR
00162 M00S00161.cvlcp +++|
00163 M00S00162.cvlcp +++| CSS SUBR ENTRY/EXIT
00164 M00S00163.cvlcp +++| LX6 5 SET CEVAL REQUEST IDENTIFIER
00165 M00S00164.cvlcp +++| SX6 X6+5
00166 M00S00165.cvlcp +++| LX6 43 MERGE CODE AND REQUEST WORD
00167 M00S00166.cvlcp +++| BX6 X2+X6
00168 M00S00167.cvlcp +++| SA6 RBLK+1
00169 M00S00168.cvlcp +++| SA1 RBLK CLEAR COMPLETE BIT
00170 M00S00169.cvlcp +++| MX6 59
00171 M00S00170.cvlcp +++| BX6 X6*X1
00172 M00S00171.cvlcp +++| SA6 A1
00173 M00S00172.cvlcp +++| MESSAGE (=C*WAIT MSS EXEC.*),1,R ISSUE WAIT MESSAGE
00174 M00S00173.cvlcp +++| CALLSS MFSI,RBLK,R CALL MSS EXECUTIVE
00175 M00S00174.cvlcp +++| MESSAGE =0,1,R CLEAR WAIT MESSAGE
00176 M00S00175.cvlcp +++| SA1 RBLK CHECK REPLY STATUS
00177 M00S00176.cvlcp +++| LX1 59-1
00178 M00S00177.cvlcp +++| NG X1,CSS1 IF EXECUTIVE NOT RUNNING
00179 M00S00178.cvlcp +++| SA2 RBLK+2 GET RESPONSE WORD
00180 M00S00179.cvlcp +++| MX6 6
00181 M00S00180.cvlcp +++| BX6 X2*X6
00182 M00S00181.cvlcp +++| LX6 6
00183 M00S00182.cvlcp +++| EQ CSSX EXIT
00184 M00S00183.cvlcp +++| PID SPACE 4,20
00185 M00S00184.cvlcp +++|** PID - PROCESS MSIDS.
00186 M00S00185.cvlcp +++|*
00187 M00S00186.cvlcp +++|* ENTRY (X0) = -7777B.
00188 M00S00187.cvlcp +++|* (X2) = EST ORDINAL (SHIFTED 30 BITS).
00189 M00S00188.cvlcp +++|* (X5) = 0.
00190 M00S00189.cvlcp +++|*
00191 M00S00190.cvlcp +++|* EXIT (A4) = MSID WORD ADDRESS.
00192 M00S00191.cvlcp +++|* (X4) = MSID WORD FROM CALL BLOCK.
00193 M00S00192.cvlcp +++|* (X5) = 0 IF NO ERROR.
00194 M00S00193.cvlcp +++|* (X5) = ERROR CODE IF ERROR.
00195 M00S00194.cvlcp +++|*
00196 M00S00195.cvlcp +++|* USES A - 4, 6.
00197 M00S00196.cvlcp +++|* X - 1, 2, 4, 5, 6.
00198 M00S00197.cvlcp +++|*
00199 M00S00198.cvlcp +++|* CALLS CSS.
00200 M00S00199.cvlcp +++|
00201 M00S00200.cvlcp +++|
00202 M00S00201.cvlcp +++| PID2 SX5 32B SET EQUIPMENT ACCESS ERROR
00203 M00S00202.cvlcp +++|
00204 M00S00203.cvlcp +++| PID SUBR ENTRY/EXIT
00205 M00S00204.cvlcp +++| SX6 501B SET RETURN MSIDS REQUEST
00206 M00S00205.cvlcp +++| RJ CSS CALL EXECUTIVE
00207 M00S00206.cvlcp +++| NZ X5,PIDX IF EXECUTIVE NOT RUNNING
00208 M00S00207.cvlcp +++| SA4 TPMB+10B READ MSID WORD FROM CALL BLOCK
00209 M00S00208.cvlcp +++| NZ X6,PID2 IF MSID READ ERROR
00210 M00S00209.cvlcp +++| BX2 -X0*X2 ISOLATE RETURNED MSIDS
00211 M00S00210.cvlcp +++| LX4 59-48
00212 M00S00211.cvlcp +++| PL X4,PID1 IF MSIDS NOT SUPPLIED BY CALLER
00213 M00S00212.cvlcp +++| LX4 11-35+60-59+48
00214 M00S00213.cvlcp +++| BX1 -X0*X4 ISOLATE SUPPLIED MSIDS
00215 M00S00214.cvlcp +++| BX1 X1-X2
00216 M00S00215.cvlcp +++| ZR X1,PIDX IF MATCH ON MSIDS
00217 M00S00216.cvlcp +++| SX5 4404B SET MSID MATCH ERROR
00218 M00S00217.cvlcp +++| EQ PIDX EXIT WITH ERROR
00219 M00S00218.cvlcp +++|
00220 M00S00219.cvlcp +++| PID1 LX4 11-35+60-59+48 SET MSIDS IN CALL BLOCK
00221 M00S00220.cvlcp +++| BX6 X0*X4
00222 M00S00221.cvlcp +++| BX6 X2+X6
00223 M00S00222.cvlcp +++| LX6 35-11
00224 M00S00223.cvlcp +++| SA6 A4
00225 M00S00224.cvlcp +++| EQ PIDX EXIT
00226 M00S00225.cvlcp +++| SPACE 4
00227 M00S00226.cvlcp +++|*CALL COMCSYS
00228 M00S00227.cvlcp +++|
00229 M00S00228.cvlcp +++|
00230 M00S00229.cvlcp +++| USE //
00231 M00S00230.cvlcp +++| RFL= BSS 0
00232 M00S00231.cvlcp +++|
00233 M00S00232.cvlcp +++|
00234 M00S00233.cvlcp +++| END