1
0
mirror of https://github.com/PDP-10/stacken.git synced 2026-02-28 17:09:15 +00:00
Files
Lars Brinkhoff 6e18f5ebef Extract files from tape images.
Some tapes could not be extracted.
2021-01-29 10:47:33 +01:00

641 lines
26 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
;BLKK:MSCPAR.MAC[30,5653,CPYRIT], 8-Feb-1988:20:49:19, Edit by SPIDER
;Update copyright notice.
;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,1988.
;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==<CHNCOD*MAXCNT>+<KONCOD*MAXKNT>+MAXUNT+1 ;MAX UNIT NUMBER
END