;DSKT:MSCPAR.MAC[30,5653,CPYRIT] 6-Sep-1985:20:26:26, Edit by SPIDER ;Update copyright notice. ; UPD ID= 2124, SNARK:<6.1.MONITOR>MSCPAR.MAC.19, 5-Jun-85 09:58:38 by MCCOLLUM ;TCO 6.1.1406 - Update copyright notice. ; UPD ID= 1479, SNARK:<6.1.MONITOR>MSCPAR.MAC.18, 5-Feb-85 14:49:43 by TBOYLE ;Add some comments before messages and end messages. ; UPD ID= 5049, SNARK:<6.MONITOR>MSCPAR.MAC.17, 31-Oct-84 17:54:33 by MOSER ;ONCE MORE FIX SERVER UNIT NUMBER ; UPD ID= 4953, SNARK:<6.MONITOR>MSCPAR.MAC.16, 18-Oct-84 14:39:21 by MOSER ;CHANGE SERVER UNIT NUMBER CALCULATION CONSTANTS ; UPD ID= 4816, SNARK:<6.MONITOR>MSCPAR.MAC.15, 17-Sep-84 10:14:02 by PURRETTA ;Update copyright notice ; UPD ID= 4187, SNARK:<6.MONITOR>MSCPAR.MAC.14, 8-May-84 16:40:14 by MCLEAN ;ADD EF% DEFINITIONS ; UPD ID= 4157, SNARK:<6.MONITOR>MSCPAR.MAC.13, 30-Apr-84 21:21:47 by MCLEAN ;ADD ST.EOT ; UPD ID= 4099, SNARK:<6.MONITOR>MSCPAR.MAC.12, 18-Apr-84 19:35:32 by MCLEAN ;OPCODE FOR OP.WTM WAS WRONG AND ADD SOME MD.'S THAT WERE MISSING ; UPD ID= 3967, SNARK:<6.MONITOR>MSCPAR.MAC.11, 23-Mar-84 22:05:35 by MCLEAN ;ADD OP%AVL ; UPD ID= 3460, SNARK:<6.MONITOR>MSCPAR.MAC.10, 16-Jan-84 11:12:38 by MOSER ;ADD UNIT NUMBER STUFF ; UPD ID= 3337, SNARK:<6.MONITOR>MSCPAR.MAC.9, 16-Dec-83 20:57:18 by MCLEAN ;MOVE CODE BACK TO PHYMSC WHERE IT BELONGS ; UPD ID= 3174, SNARK:<6.MONITOR>MSCPAR.MAC.8, 16-Nov-83 19:35:59 by MCLEAN ;FIX DEFINITION OF SB%NVM ; UPD ID= 3157, SNARK:<6.MONITOR>MSCPAR.MAC.7, 15-Nov-83 14:51:55 by MOSER ;TCO 6.1562 - MSCP SERVER MERGE ; UPD ID= 3073, SNARK:<6.MONITOR>MSCPAR.MAC.6, 25-Oct-83 13:04:51 by GRANT ;Move CHCNT and CHADR to PHYPAR ; UPD ID= 2636, SNARK:<6.MONITOR>MSCPAR.MAC.5, 26-Jun-83 10:35:34 by MCLEAN ;TCO 6.1706 ADD DEFINITIONS NECESSARY FOR BAT BLOCK LOGIC. ; UPD ID= 2616, SNARK:<6.MONITOR>MSCPAR.MAC.4, 21-Jun-83 15:00:19 by MCLEAN ;STILL WORKING ON POINTER ADDRESSES ; UPD ID= 2589, SNARK:<6.MONITOR>MSCPAR.MAC.3, 18-Jun-83 23:00:38 by MCLEAN ;ADD OP%SCC ; UPD ID= 2588, SNARK:<6.MONITOR>MSCPAR.MAC.2, 18-Jun-83 09:35:36 by MCLEAN ;TCO 6.1690 CHANGE THE BYTE POINTER FOR THE CORRECT END PACKET STATUS POSITION ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED ;OR COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE. ; ;COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1976, 1986. ;ALL RIGHTS RESERVED. UNIVERSAL MSCPAR - UNIVERSAL FOR MSCP DRIVERS AND SERVERS SUBTTL T.MOSER 10-SEP-85 SEARCH SCAPRM,MACSYM SALL SUBTTL MSCP MESSAGE FORMATS REPEAT 0,< GENERIC CONTROL MESSAGE +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | UNIT NUMBER | +---------------+-------+-------+ | MODIFIERS | RSVD | OPCODE| +---------------+-------+-------+ | | / PARAMETERS / / / | | +-------------------------------+ GENERIC TRANSFER COMMAND +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | UNIT NUMBER | +---------------+-------+-------+ | MODIFIERS | RSVD | OPCODE| +---------------+-------+-------+ | BYTE COUNT | +-------------------------------+ | | +--- BUFFER ---+ | | +--- DESCRIPTOR ---+ | | +-------------------------------+ | LOGICAL BLOCK NUMBER | +-------------------------------+ GENERIC DISK END MESSAGE PACKET +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | UNIT NUMBER | +---------------+-------+-------+ | STATUS | FLAGS |ENDCODE| +---------------+-------+-------+ | BYTE COUNT | +-------------------------------+ | | +--- ---+ | UNDEFINED | +--- ---+ | | +-------------------------------+ | FIRST BAD BLOCK | +-------------------------------+ GENERIC TAPE END PACKET +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | UNIT NUMBER | +---------------+-------+-------+ | STATUS | FLAGS |ENDCODE| +---------------+-------+-------+ | BYTE COUNT (HOST TRANSFER) | +-------------------------------+ | | +---- ----+ | RESERVED | +---- ----+ | | +-------------------------------+ | POSITION (OBJECT COUNT) | +-------------------------------+ | BYTE COUNT (TAPE RECORD) | +-------------------------------+ GENERIC ERROR LOG PACKET +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ |SEQUENCE NUMBER| UNIT NUMBER | +---------------+-------+-------+ | EVENT CODE | FLAGS | FORMAT| +---------------+-------+-------+ | | +--- CONTROLLER IDENTIFIER ---+ | | +---------------+-------+-------+ |MULTI-UNIT CODE|CHVRSN | CSVRSN| +---------------+-------+-------+ | | +--- UNIT IDENTIFIER ---+ | | +---------------+-------+-------+ | FMT DEPENDENT |UHVRSN | USVRSN| +---------------+-------+-------+ | VOLUME SERIAL NUMBER | +-------------------------------+ | | / FORMAT DEPENDENT / / INFORMATION / | | +-------------------------------+ SET CONTROLLER CHARACTERISTICS +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | RESERVED | +---------------+-------+-------+ | MODIFIERS | RSVD | OPCODE| +---------------+-------+-------+ | CNTRLR. FLAGS | MSCP VERSION | +---------------+---------------+ | RESERVED | HOST TIMEOUT | +---------------+---------------+ | QUAD-WORD | +--- ---+ | TIME AND DATE | +-------------------------------+ |CONTROLLER DEPENDENT PARAMETERS| +-------------------------------+ SET CONTROLLER CHARACTERISTICS END PACKET +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | RESERVED | +---------------+-------+-------+ | STATUS | FLAGS |ENDCODE| +---------------+-------+-------+ | CNTRLR. FLAGS | MSCP VERSION | +---------------+---------------+ | RESERVED |CNTRLR. TIMEOUT| +---------------+---------------+ | | +--- CONTROLLER IDENTIFIER ---+ | | +---------------+---------------+ GET UNIT STATUS COMMAND +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | UNIT NUMBER | +---------------+-------+-------+ | MODIFIERS | RSVD | OPCODE| +-------------------------------+ GET UNIT STATUS END PACKET +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | UNIT NUMBER | +---------------+-------+-------+ | STATUS | FLAGS |ENDCODE| +---------------+-------+-------+ | UNIT FLAGS |MULTI-UNIT CODE| +---------------+---------------+ | RESERVED | +-------------------------------+ | | +--- UNIT IDENTIFIER ---+ | | +-------------------------------+ | MEDIA TYPE IDENTIFIER | +---------------+---------------+ | SHADOW STATUS | SHADOW UNIT | +---------------+---------------+ | GROUP SIZE | TRACK SIZE | +-------+-------+---------------+ |UHVRSN | USVRSN| CYLINDER SIZE | +-------+-------+---------------+ |COPIES | RBNS | RCT SIZE | +-------+-------+---------------+ ONLINE COMMAND +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | UNIT NUMBER | +---------------+-------+-------+ | MODIFIERS | RSVD | OPCODE| +---------------+-------+-------+ | UNIT FLAGS | RESERVED | +---------------+---------------+ | RESERVED | +-------------------------------+ | | +--- RESERVED ---+ | | +-------------------------------+ | DEVICE DEPENDENT PARAMETERS | +---------------+---------------+ | COPY SPEED | SHADOW UNIT | +---------------+---------------+ ONLINE COMMAND END PACKET +-------------------------------+ | COMMAND REFERENCE NUMBER | +---------------+---------------+ | RESERVED | UNIT NUMBER | +---------------+-------+-------+ | STATUS | FLAGS |ENDCODE| +---------------+-------+-------+ | UNIT FLAGS |MULTI-UNIT CODE| +---------------+---------------+ | RESERVED | +-------------------------------+ | | +--- UNIT IDENTIFIER ---+ | | +-------------------------------+ | MEDIA TYPE IDENTIFIER | +---------------+---------------+ | SHADOW STATUS | SHADOW UNIT | +---------------+---------------+ | UNIT SIZE | +-------------------------------+ | VOLUME SERIAL NUMBER | +-------------------------------+ > SUBTTL MSCP BYTE POINTERS DEFSTR PKYEST,P.STS,PKPEST,PKSEST ;END-PACKET STATUS DEFSTR PKYQSB,P.STS,PKPESB,PKSESB ;END-PACKET STATUS SUB-CODE DEFSTR PKYECD,P.STS,PKPECD,PKSECD ;END-CODE SUBTTL COMMAND MESSAGE OFFSETS ; (COMMENT) * => NOT RIGHT ADJUSTED ; (COMMENT) # => MULTI-BYTE NUMBER. HAVE TO READ/STORE BACKWARDS FOR HSC-50 ; "." IS A SYMBOL WHICH IS POSITIONED IN THE FULL WORD OR AN OFFSET IN -10 WORDS ; "%" IS THE SAME SYMBOL RIGHT ADJUSTED OR A LENGTH IN 8-BIT BYTES ; GENERIC CONTROL MESSAGE P.CRF==.MHUDA+<0>/4 ;COMMAND REFERENCE NUMBER (4 BYTES) P.UNIT==.MHUDA+<4>/4 ;#UNIT NUMBER (2 BYTES) P.OPCD==.MHUDA+<10>/4 ;OPCODE (1 BYTE) P%OPCD==10+4 ;LENGTH, INCLUDING OPCODE ; GENERIC TRANSFER COMMAND P.MOD==.MHUDA+<12>/4 ;*MODIFIERS (2 BYTES) P.BCNT==.MHUDA+<14>/4 ;#BYTE COUNT (4 BYTES) P.BUFF==.MHUDA+<20>/4 ;BUFFER DESCRIPTOR (12 BYTES) P.LBN==.MHUDA+<34>/4 ;#LOGICAL BLOCK NUMBER (4 BYTES) P%LBN==34+4 ; GET COMMAND STATUS OFFSET P.OTRF==.MHUDA+<14>/4 ;OUTSTANDING REFERENCE NUMBER (4 BYTES) P%OTRF==20 P.CMST==.MHUDA+<20>/4 ;COMMAND STATUS P%CMST==24 ; ONLINE COMMAND MESSAGE OFFSETS P.UNFL==.MHUDA+<16>/4 ;*UNIT FLAGS (2 BYTES) P.DVPM==.MHUDA+<34>/4 ;DEVICE DEPENDENT PARAMETERS (4 BYTES) P.ELGF==.MHUDA+<34>/4 ;ERROR LOG FLAGS (4 BYTES) P.SHUN==.MHUDA+<40>/4 ;SHADOW UNIT (2 BYTES) P%SHUN==44 ; SET UNIT CHARACTERISTICS COMMAND MESSAGE P.FORM==.MHUDA+<40>/4 ;FORMAT (2 BYTES) P.CPSP==.MHUDA+<42>/4 ;*COPY SPEED (2 BYTES) P.SPED==.MHUDA+<42>/4 ;*SPEED (2 BYTES) P.MXWR==.MHUDA+<44>/4 ;MAXIMUM WRITE RECORD SIZE P.NREC==.MHUDA+<50>/4 ;NOISE RECORD P%NREC==44 ;THIS SIZE IS WRONG***** BUT HSC WILL CRASH IF IT GETS LARGER*** ; GET UNIT STATUS COMMAND OFFSETS P.FMEN==.MHUDA+<44>/4 ;FORMAT MENU (2 BYTES) ; REPLACE COMMAND MESSAGE OFFSET P.RBN==.MHUDA+<14>/4 ;#REPLACEMENT BLOCK NUMBER (4 BYTES) ; REPOSITION COMMAND OFFSETS P.TMGC==.MHUDA+<14>/4 ;RECORD/OBJECT COUNT (4 BYTES) P.RECC==.MHUDA+<20>/4 ;TAPE MARK COUNT (4 BYTES) ; SET CONTROLLER CHARACTERISTICS COMMAND OFFSETS P.VRSN==.MHUDA+<14>/4 ;MSCP VERSION (2 BYTES) P.CNTF==.MHUDA+<16>/4 ;*CONTROLLER FLAGS (2 BYTES) P.HTMO==.MHUDA+<20>/4 ;#HOST TIMEOUT (2 BYTES) P.TIME==.MHUDA+<24>/4 ;#QUAD-WORD TIME AND DATE (8 BYTES) P.CDPR==.MHUDA+<34>/4 P%CDPR==40 ;LENGTH ;END, ATTENTION MESSAGE OFFSETS ; GENERIC DISK END MESSAGE P.CRF==.MHUDA+<0>/4 ;COMMAND REFERENCE NUMBER (4 BYTES) P.UNIT==.MHUDA+<4>/4 ;#UNIT NUMBER (2 BYTES) P.OPCD==.MHUDA+<10>/4 ;OPCODE (ALSO CALLED ENDCODE (1 BYTE) P.FLGS==.MHUDA+<11>/4 ;*END MESSAGE FLAGS (1 BYTE) PKSFCD==^D8 ;END MESSAGE FLAGS SIZE PKPFCD==^D23 ;END MESSAGE FLAGS POSITION P.STS==.MHUDA+<12>/4 ;*STATUS (2 BYTES) PKSEST==5 PKPEST==^D15 PKSESB==^D11 PKPESB==^D10 ;STATUS SUB-CODE PKSECD==^D8 PKPECD==^D31 ;END CODE P%STS==16 ;LENGTH P.BCNT==.MHUDA+<14>/4 ;#BYTE COUNT (4 BYTES) P.FBBK==.MHUDA+<34>/4 ;#FIRST BAD BLOCK (4 BYTES) P%FBBK==40 ; GET COMMAND STATUS END MESSAGE P.OTRF==.MHUDA+<14>/4 ;OUTSTANDING REFERENCE NUMBER (4 BYTES) P.CMST==.MHUDA+<20>/4 ;COMMAND STATUS (2 BYTES) ; GET UNIT STATUS END MESSAGE P.MLUN==.MHUDA+<14>/4 ;MULTI-UNIT CODE (2 BYTES) P.UNFL==.MHUDA+<16>/4 ;*UNIT FLAGS (2 BYTES) P.UNTI==.MHUDA+<24>/4 ;UNIT IDENTIFER (8 BYTES) P.MEDI==.MHUDA+<34>/4 ;MEDIA TYPE IDENTIFIER (4 BYTES) P.SHUN==.MHUDA+<40>/4 ;SHADOW UNIT (2 BYTES) P.SHST==.MHUDA+<42>/4 ;*SHADOW STATUS (2 BYTES) P.TRCK==.MHUDA+<44>/4 ;#TRACK SIZE (2 BYTES) P.GRP==.MHUDA+<46>/4 ;#*GROUP SIZE (2 BYTES) P.CYL==.MHUDA+<50>/4 ;#CYLINDER SIZE (2 BYTES) P.RCTS==.MHUDA+<54>/4 ;#RCT TABLE SIZE (2 BYTES) P.RBNS==.MHUDA+<56>/4 ;*RBNS / TRACK (1 BYTE) P.RCTC==.MHUDA+<57>/4 ;*RCT COPIES (1 BYTE) P%RCTC==60 ; ONLINE COMMAND END MESSAGE P.MLUN==.MHUDA+<14>/4 ;MULTI-UNIT CODE (2 BYTES) P.UNFL==.MHUDA+<16>/4 ;*UNIT FLAGS (2 BYTES) P.UNTI==.MHUDA+<24>/4 ;UNIT IDENTIFER (8 BYTES) P.MEDI==.MHUDA+<34>/4 ;MEDIA TYPE IDENTIFIER (4 BYTES) P.SHUN==.MHUDA+<40>/4 ;SHADOW UNIT (2 BYTES) P.SHST==.MHUDA+<42>/4 ;*SHADOW STATUS (2 BYTES) P.UNSZ==.MHUDA+<44>/4 ;#UNIT SIZE (4 BYTES) P.VSER==.MHUDA+<50>/4 ;VOLUME SERIAL NUMBER (4 BYTES) P%VSER==60 ; SET CONTROLLER CHARACTERISTICS COMMAND END MESSAGE P.VRSN==.MHUDA+<14>/4 ;MSCP VERSION (2 BYTES) P.CNTF==.MHUDA+<16>/4 ;*CONTROLLER FLAGS (2 BYTES) P.CTMO==.MHUDA+<20>/4 ;#CONTROLLER TIMEOUT (2 BYTES) P.CNTI==.MHUDA+<24>/4 ;CONTROLLER ID (8 BYTES) P%CNTI==30 ;READ END PACKET OFFSETS P.POS==.MHUDA+<24>/4 ;OBJECT COUNT P.TRBC==.MHUDA+<20>/4 ;TAPE RECORD BYTE COUNT ;REPOSITION END PACKET OFFSETS P.RCSK==.MHUDA+<14>/4 ;RECORDS SKIPPED P.TMSK==.MHUDA+<20>/4 ;TAPE MARKS SKIPPED ;CONTROL MESSAGE OPCODES OP.ABO==1B31 ;ABORT COMMAND OP%ABO==1 OP.ACC==20B31 ;ACCESS COMMAND OP.AVL==10B31 ;AVAILABLE COMMAND OP%AVL==10 OP.CCD==21B31 ;COMPARE CONTROLLER DATA COMMAND OP.CMP==40B31 ;COMPARE HOST DATA COMMAND OP.DAP==13B31 ;DETERMINE ACCESS PATHS COMMAND OP.ERG==26B31 ;ERASE GAP COMMAND OP.ERS==22B31 ;ERASE COMMAND OP.FLU==23B31 ;FLUSH COMMAND OP.GCS==2B31 ;GET COMMAND STATUS COMMAND OP%GCS==2 OP.GUS==3B31 ;GET UNIT STATUS COMMAND OP%GUS==3 OP.ONL==11B31 ;ONLINE COMMAND OP%ONL==11 OP.RD==41B31 ;READ COMMAND OP.REP==45B31 ;REPOSITION COMMAND OP.RPL==24B31 ;REPLACE COMMAND OP.SCC==4B31 ;SET CONTROLLER CHARACTERISTICS COMMAND OP%SCC==4 OP.SUC==12B31 ;SET UNIT CHARACTERISTICS COMMAND OP%SUC==12 OP.WR==42B31 ;WRITE COMMAND OP.WTM==44B31 ;WRITE TAPE MARK COMMAND OP.END==200B31 ;END MESSAGE FLAG OP%END==200 OP.SEX==7B31 ;SERIOUS EXCEPTION END MSG OP.AVA==100B31 ;AVAILABLE ATTENTION MESSAGE OP%AVA==100 OP.DUP==101B31 ;DUPLICATE UNIT NUMBER ATTENTION MESSAGE OP.ACP==102B31 ;ACCESS PATH ATTENTION MESSAGE ;COMMAND MODIFIERS MD.CSE==20000B15 ;CLEAR SERIOUS EXCEPTION MD.CMP==40000B15 ;COMPARE MD.EXP==100000B15 ;EXPRESS REQUEST MD.ERR==10000B15 ;FORCE ERROR MD.SCH==4000B15 ;SUPPRESS CACHING (HIGH SPEED MD.SCL==2000B15 ;SUPPRESS CACHING (LOW SPEED MD.SEC==1000B15 ;SUPPRESS ERROR CORRECTION MD.SER==400B15 ;SUPPRESS ERROR RECOVERY MD.SSH==200B15 ;SUPPRESS SHADOWING MD.DLE==200B15 ;DETECT LEOT MD.WBN==100B15 ;WRITE-BACK (NON-VOLATILE MD.IMM==100B15 ;IMMEDIATE COMPLETION MD.WBV==40B15 ;WRITE-BACK (VOLATILE MD.EXC==40B15 ;EXCLUSIVE ACCESS MD.SEQ==20B15 ;WRITE SHADOW SET ONE UNIT AT A TIME MD.ALL==2B15 ;ALL CLASS DRIVERS MD.SPD==1B15 ;SPIN-DOWN MD.FEU==1B15 ;FLUSH ENTIRE UNIT MD.VOL==2B15 ;VOLATILE ONLY MD.NXU==1B15 ;NEXT UNIT MD.RIP==1B15 ;ALLOW SELF DESTRUCTION MD.IMF==2B15 ;IGNORE MEDIA FORMAT ERROR MD.CWB==10B15 ;CLEAR WRITE-BACK DATA LOST MD.SWP==4B15 ;ENABLE SET WRITE PROTECT MD.SHD==20B15 ;SHADOW UNIT SPECIFIED MD.PRI==1B15 ;PRIMARY REPLACEMENT BLOCK MD.RWD==2B15 ;REWIND MD.OBJ==4B15 ;OBJECT COUNT MD.REV==10B15 ;REVERSE MD.UNL==20B15 ;UNLOAD ;END MESSAGE FLAGS EF.BBR==200B7 ;BAD BLOCK REPORTED EF%BBR==200 ;BAD BLOCK REPORTED EF.BBU==100B7 ;BAD BLOCK UNREPORTED EF%BBU==100 ;BAT BLOCK UNREPORTED EF.LOG==40B7 ;ERROR LOG GENERATED EF%LOG==40 ;ERROR LOG REQUESTED EF.SEX==20B7 ;SERIOUS EXCEPTION EF%SEX==20 ;SERIOUS EXCEPTION EF.EOT==10B7 ;END OF TAPE EF%EOT==10 ;END OF TAPE ;STATUS AND EVENT CODES ST.MSK==37B15 ;STATUS / EVENT CODE MASK ST%MSK==37 ST.SUB==40B15 ;SUB-CODE MULTIPLIER ST.ONL==400B15 ;ALREADY ONLINE ST.EOT==2000B15 ;END OF TAPE ST%EOT==40 ;END OF TAPE ST%ONL==10 ST.SUC==0B15 ;SUCCESS ST.CMD==1B15 ;INVALID COMMAND ST%CMD==1 ;INVALID COMMAND ST.ABO==2B15 ;COMMAND ABORTED ST.OFL==3B15 ;UNIT-OFFLINE ST%OFL==3 ST.AVL==4B15 ;UNIT-AVAILABLE ST%AVL==4 ST.MFE==5B15 ;MEDIA FORMAT ERROR ST%MFE==5 ST.WPR==6B15 ;WRITE PROTECTED ST%WPR==6 ST.CMP==7B15 ;COMPARE ERROR ST.DAT==10B15 ;DATA ERROR ST%DAT==10 ST.HST==11B15 ;HOST BUFFER ACCESS ERROR ST.CNT==12B15 ;CONTROLLER ERROR ST.DRV==13B15 ;DRIVE ERROR ST.FMT==14B15 ;FORMATTER ERROR ST.BOT==15B15 ;BOT ENCOUNTERED ST%BOT==15 ST.TM==16B15 ;TAPE MARK ENCOUNTERED ST%TM==16 ST.RDT==20B15 ;RECORD DATA TRUNCATED ST%RDT==20 ST.POL==21B15 ;POSITION LOST ST.DIA==37B15 ;MESSAGE FROM AN INTERNAL DIAGNOSTIC SB.NVM==20B10 ;NO VOLUME MOUNTED SB%NVM==1 ;CONTROLLER FLAGS CF.ATN==200B15 ;ENABLE ATTENTION MESSAGES CF.MSC==100B15 ;ENABLE MISCELLANEOUS ERROR LOG MESSAGES CF.OTH==40B15 ;ENABLE OTHER HOST'S ERROR LOG MESSAGES CF.THS==20B15 ;ENABLE THIS HOST'S ERROR LOG MESSAGES CF.RPL==100000B15 ;CONTROLLER INITIATED BAD BLOCK RPLCMNT CF.MLH==4B15 ;MULTI-HOST CF.SHD==2B15 ;SHADOWING CF.576==1B15 ;576 BYTE SECTORS ;UNIT FLAGS UF.CMR==1B15 ;COMPARE READS UF.CMW==2B15 ;COMPARE WRITES UF.SWP==4B15 ;SOFTWARE WRITE PROTECT UF.HWP==10B15 ;HARDWARE WRITE PROTECT UF.VSU==20B15 ;VARIABLE SPEED UNIT UF.VSS==40B15 ;VARIABLE SPEED MODE SUPPRESS UF.RPL==100000B15 ;CONTROLLER INITIATED BAD BLOCK RPLCMNT UF.INA==40000B15 ;INACTIVE SHADOW SET UNIT UF.RMV==200B15 ;REMOVABLE MEDIA UF.SCH==4000B15 ;SUPPRESS CACHING (HIGH SPEED UF.SCL==2000B15 ;SUPPRESS CACHING (LOW SPEED UF.WBN==100B15 ;WRITE-BACK (NON-VOLATILE UF.WPH==20000B15 ;WRITE PROTECT (HARDWARE UF.WPS==10000B15 ;WRITE PROTECT (SOFTWARE OR VOLUME UF.576==4B15 ;576 BYTE SECTORS ;TAPE FORMATS FM.800==1B31 ;NRZI (800 BPI) FM.PE==2B31 ;PHASE ENCODED (1600 BPI) FM.GCR==4B31 ;GROUP CODED RECORDING (6250 BPI) ;ERROR LOG MESSAGE OFFSETS L.CRF==.MHUDA+<0>/4 ;COMMAND REFERENCE NUMBER (4 BYTES) L.UNIT==.MHUDA+<4>/4 ;UNIT NUMBER (2 BYTES) L.SEQ==.MHUDA+<6>/4 ;*SEQUENCE NUMBER (2 BYTES) L.FMT==.MHUDA+<10>/4 ;FORMAT (1 BYTE) L.FLGS==.MHUDA+<11>/4 ;*ERROR LOG MESSAGE FLAGS (1 BYTE) L.EVNT==.MHUDA+<12>/4 ;*EVENT CODE (2 BYTES) L.CNTI==.MHUDA+<14>/4 ;CONTROLLER ID (8 BYTES) L.CSVR==.MHUDA+<24>/4 ;CONTROLLER SOFTWARE VERSION (1 BYTE) L.CHVR==.MHUDA+<25>/4 ;*CONTROLLER HARDWARE VERSION (1 BYTE) L.MLUN==.MHUDA+<26>/4 ;*MULTI-UNIT CODE (2 BYTES) L.UNTI==.MHUDA+<30>/4 ;UNIT ID (8 BYTES) L.USVR==.MHUDA+<40>/4 ;UNIT SOFTWARE VERSION (1 BYTE) L.UHVR==.MHUDA+<41>/4 ;*UNIT HARDWARE VERSION (1 BYTE) L.VSER==.MHUDA+<44>/4 ;VOLUME SERIAL NUMBER (4 BYTES) L.BADR==.MHUDA+<30>/4 ;BUS ADDRESS (4 BYTES) L.GRP==.MHUDA+<42>/4 ;*GROUP (2 BYTES) L.VSER==.MHUDA+<44>/4 ;VOLUME SERIAL NUMBER (4 BYTES) L.CYL==.MHUDA+<50>/4 ;CYLINDER (4 BYTES) L.TRCK==.MHUDA+<54>/4 ;TRACK (2 BYTES) L.SCTR==.MHUDA+<56>/4 ;*SECTOR (2 BYTES) L.LBN==.MHUDA+<60>/4 ;LOGICAL BLOCK NUMBER (4 BYTES) L.LVL==.MHUDA+<64>/4 ;LEVEL (1 BYTE) L.RTRY==.MHUDA+<65>/4 ;*RETRY (1 BYTE) L.GRP==.MHUDA+<42>/4 ;*GROUP (2 BYTES) L.VSER==.MHUDA+<44>/4 ;VOLUME SERIAL NUMBER (4 BYTES) L.CYL==.MHUDA+<50>/4 ;CYLINDER (4 BYTES) L.SDI==.MHUDA+<54>/4 ;SDI INFORMATION (12 BYTES) L.SCYL==.MHUDA+<42>/4 ;*CYLINDER (2 BYTES) L.VSER==.MHUDA+<44>/4 ;VOLUME SERIAL NUMBER (4 BYTES) ;ERROR LOG MESSAGE FORMAT CODES FM.CNT==0 ;CONTROLLER ERRORS FM.BAD==1 ;HOST MEMORY ACCESS ERRORS WITH BUS ADDR FM.DSK==2 ;DISK TRANSFER ERRORS FM.SDI==3 ;SDI ERRORS FM.SDE==4 ;SMALL DISK ERRORS ;ERROR LOG MESSAGE FLAGS LF.SUC==200 ;OPERATION SUCCESSFUL LF.CON==100 ;OPERATION CONTINUING LF.SNR==1 ;SEQUENCE NUMBER RESET SUBTTL RECALL REASON CODES ;CODES FOR INDEXING INTO DRIVER DISPATCH TABLE TO DISPATCH TO ;THE RECALL ROUTINE AFTER CALLING A MSCCOM ROUTINE. IFN FTOPS10,< ;TOPS-10 ONLY .RRSCC==1 ;RETURN FROM SET CONTROLLER CHARACTERISTICS .RRGNU==2 ;RETURN FROM GET NEXT UNIT .RRONL==3 ;RETURN FROM ONLINE COMMAND .RROON==4 ;RETURN FROM ONCE BIND ONLINE COMMAND .RRAON==5 ;RETURN FROM UNSOLICITED UNIT AVAILABLE ONLINE .RRGCS==6 ;RETURN FROM GET COMMAND STATUS .RRGUS==7 ;RETURN FROM GET UNIT STATUS .RRAVA==10 ;UNSOLICITED UNIT AVAILABLE .RRXFR==11 ;TRANSFER COMPLETE .RRCUS==12 ;RETURN FROM CHECK UNIT STATUS COMMAND >; END IFN FTOPS10 SUBTTL BITS IN MSCFLG ;FLAGS ARE DEFINED HERE IN TOPS-10 AS MORE THAN ONE MODULE WANTS ;THE DEFINITIONS (MSCCOM, RAXKON, AND TCIKON TO BE EXACT). THESE ;SHOULD STILL MATCH THOSE DEFINED IN PHYMSC. IFN FTOPS10,< ;TOPS-10 ONLY DT.TAP==1B0 ;CONTROLLER IS A TAPE DRIVER (MUST BE SIGN BIT) DT.GAW==1B1 ;NODE HAS GONE AWAY (CONNECTION BROKEN) DT.GCS==1B2 ;A GCS COMMAND IS OUTSTANDING DT.IDC==1B3 ;WE'VE INITIATED A DISCONNECT DT.IRC==1B4 ;WE'VE INITIATED A RECONNECT DT.DIS==1B5 ;THEY INITIATED A DISCONNECT DT.DI1==1B6 ;ALREADY TRIED DISCONNECT ONCE DT.NXU==1B7 ;FIRST PASS NEXT UNIT TEST DT.KL==1B8 ;REMOTE IS A KL DT.USE==1B9 ;THIS CTI SLOT IS IN USE DT.KEP==DT.KL!DT.DI1!DT.USE ;BITS TO KEEP AROUND ON RESET >; END IFN FTOPS10 SUBTTL MISCELLANEOUS MAXUNT==20-1 ;MAXIMUM MASSBUS UNIT NUMBER ALLOWED MAXKNT==<20-1>+1 ;MAXIMUM MASSBUS KONT NUMBER (RANGE -1:15) MAXCNT==3 ;MAXIMUM MASSBUS CHANNEL NUMBER IF CI (SERVER) KONCOD==MAXUNT+1 ;KONTROLLER ENCODER FOR MSCP UNIT NUMBER CHNCOD==KONCOD*MAXKNT+MAXUNT+1 ;CHANNEL ENCODER FOR MSCP UNIT NUMBER MAXUNN==++MAXUNT+1 ;MAX UNIT NUMBER END