IDENT CVLCP,RBLK ABS SST ENTRY CVL ENTRY DMP= ENTRY RFL= ENTRY SSJ= SYSCOM B1 TITLE CVLCP - CVL SCP COMMUNICATIONS. *COMMENT CVLCP - *CVL* SCP COMMUNICATIONS. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** CVLCP - CVL SCP COMMUNICATIONS. * G. S. YODER. 78/08/11. SPACE 4,10 *** *CVLCP* PERFORMS VALIDATION FUNCTIONS FOR * MSS HARDWARE DIAGNOSTICS WHICH CANNOT BE PERFORMED * BY THE PPU PROGRAM *CVL*. THESE INCLUDE - * * - VALIDATE MSIDS * - TEST HARDWARE STATUS * - MOUNT CE CARTRIDGE FOR DIAGNOSTIC USE * * *CVLCP* COMMUNICATES WITH THE MSS EXECUTIVE * VIA *SCP* CALLS TO PERFORM THESE FUNCTIONS. SPACE 4,10 ** SPECIAL ENTRY POINTS. DMP= EQU 100000B SELECT NO DUMP IF CONTROL CARD CALL SSJ= EQU 0 ORG 110B SPACE 4,10 *CALL COMCMAC *CALL COMSSSD RBLK VFD 36/0,6/RBLKL-1,4/0,2/2,12/0 SCP CALL BLOCK BSSZ 2 RBLKL EQU *-RBLK TPMB EQU SPPR+1 CVL CALL PARAMETER BLOCK TITLE MAIN PROGRAM. ** CVLCP - MAIN PROGRAM. CVL SB1 1 SA1 ACTR CHECK CALL TYPE ZR X1,CVL1 IF *CVL* CALL MESSAGE (=C* ILLEGAL CONTROL CARD.*),0,R ABORT * ESTABLISH CONECTION WITH MSS EXECUTIVE. CVL1 MX0 -12 SX5 B0 CLEAR ERROR CODE BX2 X2-X2 SX6 101B SET ESTABLISH CONECTION RJ CSS CALL EXECUTIVE NZ X5,CVL6 IF EXECUTIVE NOT RUNNING * VALIDATE DEVICE ACCESS. SA3 TPMB+1 SET EST ORDINAL SA1 TPMB+6 CHECK FUNCTIONAL ATTRIBUTES BX2 -X0*X3 LX2 30 BX6 X2 SA6 CEST LX1 59-3 NG X1,CVL2 IF RETURN MST REQUEST RJ PID PROCESS MSIDS NZ X5,CVL6 IF ERROR SA1 TPMB+5 CHECK DEVICE CODE BX1 -X0*X1 SX1 X1-100B ZR X1,CVL3 IF MST REQUEST * PROCESS CSU REQUEST. SX6 502B SET CSU REQUEST CODE BX2 X2-X2 EQ CVL5 PROCESS REQUEST * PROCESS MST RETURN. CVL2 SA4 TPMB+7 READ COORDINATES SX6 506B SET MST RETURN CODE EQ CVL4 SET COORDINATES * PROCESS MST REQUEST. CVL3 SA4 TPMB+7 CHECK X/Y COORDINATES BX2 X2-X2 SX6 503B REQUEST = MST ONLY BX1 X4 LX1 59-48 PL X1,CVL5 IF COORDINATES NOT SUPPLIED SX6 504B SET CARTRIDGE MOUNT REQUEST CVL4 BX2 -X0*X4 SET COORDINATES IN REQUEST LX2 18 * CALL EXECUTIVE. CVL5 SA3 CEST BX2 X2+X3 SET EST ORDINAL IN REQUEST RJ CSS CALL EXECUTIVE NZ X5,CVL6 IF ERROR SX5 X6+ SET POSSIBLE ERROR CODE SX6 X6-30B NZ X6,CVL6 IF NOT ILLEGAL COORDINATES ERROR SX5 X5+4400B SET VALIDATION ERROR BITS * SET VALIDATION BITS AND COMPLETION STATUS. * (X5) BITS 0-5 = ERROR CODE. * (X5) BITS 8-11 = VALIDATION BITS. * (X4) = WORD FOR VALIDATION BYTE. * (A4) = WORD ADDRESS FOR VALIDATION BYTE. CVL6 MX6 4 LX5 48 BX6 X5*X6 MX2 -6 ZR X6,CVL7 IF NO VALIDATION BYTE TO SET BX6 X4+X6 SET VALIDATION BYTE SA6 A4 CVL7 SA1 TPMB SET COMPLETION STATUS LX2 6 AX5 42 BX7 -X2*X5 SX7 X7+B1 SET POSSIBLE ERROR AND COMPLETE BIT SA7 A1 * TERMINATE CONNECTION WITH EXECUTIVE. SX2 B0 SX6 102B SET TERMINATE CONNECTION RJ CSS CALL EXECUTIVE ENDRUN CEST BSSZ 1 EST ORDINAL (SHIFTED 30 BITS) TITLE SUBROUTINES. ** CSS - CALL MSS EXECUTIVE SUBSYSTEM. * * ENTRY (X2) = BITS 0-41 OF CALL BLOCK REQUEST WORD. * (X6) = MSS EXECUTIVE REQUEST TYPE AND CODE. * * EXIT (X2) = RESPONSE WORD FROM EXECUTIVE. * (X5) = ERROR CODE IF EXECUTIVE NOT RUNNING. * (X6) = RESPONSE CODE FROM EXECUTIVE. * * USES A - 1, 2, 6. * X - 1, 2, 5, 6. * * MACROS CALLSS, MESSAGE. CSS1 SX5 31B SET ERROR CSS SUBR ENTRY/EXIT LX6 5 SET CEVAL REQUEST IDENTIFIER SX6 X6+5 LX6 43 MERGE CODE AND REQUEST WORD BX6 X2+X6 SA6 RBLK+1 SA1 RBLK CLEAR COMPLETE BIT MX6 59 BX6 X6*X1 SA6 A1 MESSAGE (=C*WAIT MSS EXEC.*),1,R ISSUE WAIT MESSAGE CALLSS MFSI,RBLK,R CALL MSS EXECUTIVE MESSAGE =0,1,R CLEAR WAIT MESSAGE SA1 RBLK CHECK REPLY STATUS LX1 59-1 NG X1,CSS1 IF EXECUTIVE NOT RUNNING SA2 RBLK+2 GET RESPONSE WORD MX6 6 BX6 X2*X6 LX6 6 EQ CSSX EXIT PID SPACE 4,20 ** PID - PROCESS MSIDS. * * ENTRY (X0) = -7777B. * (X2) = EST ORDINAL (SHIFTED 30 BITS). * (X5) = 0. * * EXIT (A4) = MSID WORD ADDRESS. * (X4) = MSID WORD FROM CALL BLOCK. * (X5) = 0 IF NO ERROR. * (X5) = ERROR CODE IF ERROR. * * USES A - 4, 6. * X - 1, 2, 4, 5, 6. * * CALLS CSS. PID2 SX5 32B SET EQUIPMENT ACCESS ERROR PID SUBR ENTRY/EXIT SX6 501B SET RETURN MSIDS REQUEST RJ CSS CALL EXECUTIVE NZ X5,PIDX IF EXECUTIVE NOT RUNNING SA4 TPMB+10B READ MSID WORD FROM CALL BLOCK NZ X6,PID2 IF MSID READ ERROR BX2 -X0*X2 ISOLATE RETURNED MSIDS LX4 59-48 PL X4,PID1 IF MSIDS NOT SUPPLIED BY CALLER LX4 11-35+60-59+48 BX1 -X0*X4 ISOLATE SUPPLIED MSIDS BX1 X1-X2 ZR X1,PIDX IF MATCH ON MSIDS SX5 4404B SET MSID MATCH ERROR EQ PIDX EXIT WITH ERROR PID1 LX4 11-35+60-59+48 SET MSIDS IN CALL BLOCK BX6 X0*X4 BX6 X2+X6 LX6 35-11 SA6 A4 EQ PIDX EXIT SPACE 4 *CALL COMCSYS USE // RFL= BSS 0 END