Trailing-Edge
-
PDP-10 Archives
-
BB-M080V-SM_1990
-
monitor-sources/mscpar.mac
There are 25 other files named mscpar.mac in the archive. Click here to see a list.
; UPD ID= 8555, RIP:<7.MONITOR>MSCPAR.MAC.2, 11-Feb-88 11:03:24 by GSCOTT
;TCO 7.1218 - Update copyright date.
; 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
; COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1976, 1988.
; ALL RIGHTS RESERVED.
;
; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
; COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
; OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
; TRANSFERRED.
;
; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
; AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
; CORPORATION.
;
; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
UNIVERSAL MSCPAR - UNIVERSAL FOR MSCP DRIVERS AND SERVERS
SUBTTL T.MOSER 17-MAR-83
SEARCH SCAPAR,PHYPAR,MONSYM,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 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
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==<CHNCOD*MAXCNT>+<KONCOD*MAXKNT>+MAXUNT+1 ;MAX UNIT NUMBER
END