Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/drivers/dmcdat.lst
There are no other files named dmcdat.lst in the archive.
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page   1
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (1)

;	  0001	! [Beginning of DMCDAT]
;	  0002	!
;	  0003	!
;	  0004	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0005	!                    DIGITAL EQUIPMENT CORPORATION
;	  0006	!                        Maynard, Massachusetts
;	  0007	!
;	  0008	!     This software is furnished under a license and may  be  used
;	  0009	!     and copied only in accordance with the terms of such license
;	  0010	!     and with the inclusion of the above copyright notice.   This
;	  0011	!     software  or any other copies thereof may not be provided or
;	  0012	!     otherwise made available to any other person.  No  title  to
;	  0013	!     and ownership of the software is hereby transferred.
;	  0014	!
;	  0015	!     The information  in  this  software  is  subject  to  change
;	  0016	!     without  notice  and should not be construed as a commitment
;	  0017	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0018	!
;	  0019	!     DIGITAL assumes no responsibility for the use or reliability
;	  0020	!     of  its  software  on  equipment  which  is  not supplied by
;	  0021	!     DIGITAL.
;	  0022	!
;	  0023	
;	  0024	!++
;	  0025	!
;	  0026	! FACILITY: MCB DMC Driver
;	  0027	!
;	  0028	! ABSTRACT:
;	  0029	!
;	  0030	!	This contains the data structure definitions for the DMC DLC.
;	  0031	!
;	  0032	! ENVIRONMENT: MCB V3.0
;	  0033	!
;	  0034	! AUTHOR: Alan D. Peckham	CREATION DATE: 30-Oct-80
;	  0035	!
;	  0036	! MODIFIED BY:
;	  0037	!
;	  0038	!	Alan D. Peckham, 30-Oct-80: Version 1
;	  0039	! 01	- Rewrite from MACRO-11 to BLISS.
;	  0040	! 04	- Map the data base.
;	  0041	!	  Add Network management parameters and counters.
;	  0042	! 05	- Add interrupt vector/priority.
;	  0043	! 06	- Extend event logging buffer.
;	  0044	! 07	- Add network management constants.
;	  0045	! 08	- Add controller loopback flag.
;	  0046	! 09	- Modify DD_CLEARED to allow DD_HALTED to be zero.
;	  0047	! 10	- Add hardware error counters.
;	  0048	! 11	- Add conflicting vector counter.
;	  0049	! 12	- Maintain new system specific line counters (2500,2501,2502).
;	  0050	! 13	- Add protocol up bit.
;	  0051	! 14	- Add CIRCUIT COST for Transport.
;	  0052	! 15	- Add seconds-since-last-zeroed support.
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page   2
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (1)

;	  0053	!--
;	  0054	
;	  0055	%if not %declared (XPO$K_VERSION) %then library 'XPORT'; %fi
;	  0056	
;	  0057	%if not %declared (MCB$K_VERSION) %then library 'MCBLIB'; %fi
;	  0058	
;	  0059	library 'NMXLIB';
;	  0060	
;	  0061	$SHOW (FIELDS) $SHOW (LITERALS)
;	  0062	
;	  0063	!
;	  0064	! Status Codes:
;	  0065	!
;	  0066	
;	  0067	literal
;	  0068	    DMC$_EVT = STS$VALUE (CODE = 0, SEVERITY = STS$K_INFO),
;	  0069	    DMC$_PWF = STS$VALUE (CODE = 1, SEVERITY = STS$K_SEVERE),
;	  0070	    DMC$_MTL = STS$VALUE (CODE = 2, SEVERITY = STS$K_SEVERE),
;	  0071	    DMC$_QUE = STS$VALUE (CODE = 3, SEVERITY = STS$K_SEVERE),
;	  0072	    DMC$_LOG = STS$VALUE (CODE = 4, SEVERITY = STS$K_INFO);
;	  0073	
;	  0074	!
;	  0075	! Parameter construction
;	  0076	!
;	  0077	
;	  0078	macro
;	  0079	    PARAMETER_DEVICE = LP1000 %,
;	  0080	    PARAMETER_DEVICE_REGISTERS = PLL0 %,
;	  0081	    PARAMETER_CIRCUIT_COUNTERS = CKCTRS %,
;	  0082	    PARAMETER_LINE_COUNTERS = LNCTRS %;
;	  0083	
;	  0084	!
;	  0085	!
;	  0086	!
;	  0087	
;	  0088	literal
;	  0089	    DMC_K_LINE_PROVIDER = 0^1,
;	  0090	    DMC_K_LINE_OWNER = 1^1,
;	  0091	    DMC_K_CIRCUIT_PROVIDER = 2^1,
;	  0092	    DMC_K_NMID_HIGH = 2^1;
;	  0093	
;	  0094	!
;	  0095	! Data base creation items
;	  0096	!
;	  0097	
;	  0098	macro
;	M 0099	    $ALIGN_SIGN =
;	M 0100		%assign ($xpo$fill_index, $xpo$fill_index + 1)
;	M 0101		%assign ($xpo$fill_temp, 7 - ($xpo$bit_index mod 8))
;	  0102		%name (XPOfill, %number ($xpo$fill_index)) = [$BITS ($xpo$fill_temp)], %,
;	M 0103	    $SIGN_BIT =
;	  0104		$XPO$FIELD (1, 1, 0) %;
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page   3
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (1)

;	  0105	
;	  0106	compiletime
;	  0107	    $xpo$fill_index = 0,
;	  0108	    $xpo$fill_temp = 0;
;	  0109	
;	  0110	$FIELD
;	  0111	    !
;	  0112	    ! List head definition
;	  0113	    !
;	L 0114	    LIST_FIRST = [$ADDRESS],
; %PRINT:				  [0,0,16,0]   (+%O'0')
;	L 0115	    LIST_LAST = [$ADDRESS];
; %PRINT:				  [1,0,16,0]   (+%O'2')
;	  0116	
;	  0117	compiletime
;	L 0118	    $dmc$length = $FIELD_SET_SIZE;
; %PRINT:				  2 fullwords
;	  0119	
;	  0120	macro
;	M 0121	    $LIST_HEAD =
;	  0122		$SUB_BLOCK (%expand %number ($dmc$length)) %;
;	  0123	
;	  0124	$FIELD
;	  0125	    !
;	  0126	    ! Physical 18 bit address
;	  0127	    !
;	L 0128	    PHYSICAL_HIGH = [$BITS (16)],
; %PRINT:				  [0,0,16,0]   (+%O'0')
;	L 0129	    PHYSICAL_LOW = [$BITS (16)];
; %PRINT:				  [1,0,16,0]   (+%O'2')
;	  0130	
;	L 0131	%assign ($dmc$length, $FIELD_SET_SIZE)
; %PRINT:				  2 fullwords
;	  0132	
;	  0133	macro
;	M 0134	    $BIAS =
;	  0135		$SHORT_INTEGER %,
;	M 0136	    $PHYSICAL_ADDRESS =
;	  0137		$SUB_BLOCK (%expand %number ($dmc$length)) %,
;	M 0138	    $SYNCH_BLOCK =
;	  0139		$SUB_BLOCK (3) %;
;	  0140	
;	  0141	undeclare
;	  0142	    $dmc$length;
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page   4
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (2)

;	  0143	!
;	  0144	! DMC11 hardware register definitions
;	  0145	!
;	  0146	
;	  0147	field
;	  0148	    DMC_FIELDS =
;	  0149		set
;	  0150		SEL0 = [0, 0, 16, 1],
;	  0151		BSEL0 = [0, 0, 8, 1],
;	  0152		BSEL1 = [0, 8, 8, 1],
;	  0153		    TYPEI = [0, 0, 3, 0],	! Input request type
;	  0154		    RQI = [0, 5, 1, 0],		! REQUEST FOR INPUT TRANSFER
;	  0155		    IEI = [0, 6, 1, 0],		! RDYI INTERRUPT ENABLE
;	  0156		    RDYI = [0, 7, 1, 1],	! READY FOR INPUT TRANSFER
;	  0157		    LU_LOOP = [0, 11, 1, 0],	! Line unit loopback
;	  0158		    MC = [0, 14, 1, 0],		! MASTER CLEAR
;	  0159		    RUN = [0, 15, 1, 1],	! MICROPROCESSOR RUN BIT (KMC ONLY)
;	  0160		SEL2 = [1, 0, 16, 1],
;	  0161		BSEL2 = [1, 0, 8, 1],
;	  0162		BSEL3 = [1, 8, 8, 1],
;	  0163		    TYPEO = [0, 0, 3, 0],	! Output request type
;	  0164		    IEO = [0, 6, 1, 0],		! RDYO INTERRUPT ENABLE
;	  0165		    RDYO = [0, 7, 1, 1],	! READY FOR OUTPUT TRANSFER
;	  0166		SEL4 = [2, 0, 16, 1],
;	  0167		SEL6 = [3, 0, 16, 1],
;	  0168	
;	  0169	! BA/CC
;	  0170	
;	  0171		    BA_LOW = [0, 0, 16, 0],
;	  0172		    CC = [0, 0, 14, 0],
;	  0173		    BA_HIGH = [0, 14, 2, 0],
;	  0174	
;	  0175	! BASE I
;	  0176	
;	  0177		    B_LOW = [0, 0, 16, 0],
;	  0178		    RESUME = [0, 13, 1, 0],
;	  0179		    B_HIGH = [0, 14, 2, 0],
;	  0180	! CNTL I
;	  0181	
;	  0182		    MAINT = [0, 8, 1, 0],	! MOP MAINTAINANCE MODE BIT
;	  0183		    HD = [0, 10, 1, 0],		! HALF DUPLEX FLAG
;	  0184		    SEC = [0, 11, 1, 0],	! SECONDARY STATION BIT
;	  0185	
;	  0186	! CNTL O
;	  0187	
;	  0188		    DATA_CK = [0, 0, 1, 0],	! Data check
;	  0189		    TIME_OUT = [0, 1, 1, 0],	! Timeout
;	  0190		    O_RUN = [0, 2, 1, 0],	! Overrun error
;	  0191		    MNT_RCVD = [0, 3, 1, 0],	! DDCMP maintenance received
;	  0192		    DATA_LOST = [0, 4, 1, 0],	! Lost data
;	  0193		    DISC = [0, 6, 1, 0],	! Disconnect
;	  0194		    STR_RCVD = [0, 7, 1, 1],	! DDCMP START received
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page   5
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (2)

;	  0195		    NXM = [0, 8, 1, 0],		! Non-existent memory
;	  0196		    PROC_ERR = [0, 9, 1, 0]	! Procedure error
;	  0197		tes;
;	  0198	
;	  0199	literal
;	  0200	    BA_CC_I = 0,		! Buffer Address/Character Count In
;	  0201	    BA_CC_O = 0,		! Buffer Address/Character Count Out
;	  0202	    HALT = 2,			! Halt device
;	  0203	    BASE_I = 3,			! Base In
;	  0204	    CNTL_I = 1,			! Control In
;	  0205	    CNTL_O = 1,			! Control Out
;	  0206	    RCV = 4,			! Reception I/O
;	  0207	    XMT = 0;			! Transmission I/O
;	  0208	
;	  0209	field
;	  0210	    BASE_FIELDS =
;	  0211		set
;	  0212		BASE_COUNTER_BEGIN = [1, 0, 0, 0],
;	  0213		BASE_NAKS_RCV_NO_BUF = [1, 8, 8, 0],
;	  0214		BASE_NAKS_RCV_HDR_BCC = [2, 0, 8, 0],
;	  0215		BASE_NAKS_RCV_DAT_BCC = [2, 8, 8, 0],
;	  0216		BASE_NAKS_SND_NO_BUF = [3, 0, 8, 0],
;	  0217		BASE_NAKS_SND_HDR_BCC = [3, 8, 8, 0],
;	  0218		BASE_NAKS_SND_DAT_BCC = [4, 0, 8, 0],
;	  0219		BASE_REPS_SND = [4, 8, 8, 0],
;	  0220		BASE_REPS_RCV = [5, 0, 8, 0],
;	  0221	
;	  0222		! DMR only
;	  0223	
;	  0224		BASE_NAKS_RCV_REP = [5, 8, 8, 0],
;	  0225		BASE_NAKS_RCV_RCV_OVRN = [6, 0, 8, 0],
;	  0226		BASE_NAKS_RCV_HDR_FMT = [6, 8, 8, 0],
;	  0227		BASE_NAKS_RCV_TOO_LONG = [7, 0, 8, 0],
;	  0228		BASE_NAKS_SND_RCV_REP = [7, 8, 8, 0],
;	  0229		BASE_NAKS_SND_RCV_OVRN = [8, 0, 8, 0],
;	  0230		BASE_NAKS_SND_HDR_FMT = [8, 8, 8, 0],
;	  0231		BASE_XMT_UNDR = [9, 0, 8, 0],
;	  0232		BASE_CALL_FAIL = [9, 8, 8, 0],
;	  0233		BASE_CTS_FAIL = [10, 0, 8, 0],
;	  0234		BASE_CAR_FAIL = [10, 8, 8, 0],
;	  0235		BASE_RCVR_INACTIVE = [11, 0, 8, 0],
;	  0236		BASE_STRM_TIMEOUT = [11, 8, 8, 0],
;	  0237		BASE_BYTES_TRANSMITTED = [12, 0, 0 %(32)%, 0],
;	  0238		BASE_BYTES_RECEIVED = [14, 0, 0 %(32)%, 0],
;	  0239		BASE_INCOMPLETE_SEL = [16, 0, 8, 0],
;	  0240		BASE_NO_REPLY_TO_SEL = [16, 8, 8, 0],
;	  0241		BASE_COUNTER_END = [17, 0, 0, 0]
;	  0242		tes;
;	  0243	
;	  0244	literal
;	  0245	    BASE_COUNTER_LENGTH = 17 - 1,
;	  0246	    BASE_LENGTH = 128;
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page   6
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (2)

;	  0247	
;	  0248	macro
;	M 0249	    $DMC_BITS_CLEAR (REG, FLD) =
;	M 0250		begin
;	M 0251		bind $DMC$CSR = REG : block field (DMC_FIELDS) volatile;
;	M 0252		(.$DMC$CSR [FLD] and $DMC$BIT_MASK [%remaining]) eql 0
;	  0253		end %,
;	M 0254	    $DMC_CLEAR_BITS (REG, FLD) =
;	M 0255		begin
;	M 0256		bind $DMC$CSR = REG : block field (DMC_FIELDS);
;	M 0257		$DMC$CSR [FLD] = .$DMC$CSR [FLD] and not $DMC$BIT_MASK [%remaining]
;	  0258		end %,
;	M 0259	    $DMC_READ (REG, FLD) =
;	M 0260		begin
;	M 0261		bind $DMC$CSR = REG : block field (DMC_FIELDS);
;	M 0262		.$DMC$CSR [$DMC$BYTE (FLD)]
;	  0263		end %,
;	M 0264	    $DMC_SET_BITS (REG, FLD) =
;	M 0265		begin
;	M 0266		bind $DMC$CSR = REG : block field (DMC_FIELDS);
;	M 0267		$DMC$CSR [FLD] = .$DMC$CSR [FLD] or $DMC$BIT_MASK [%remaining]
;	  0268		end %,
;	M 0269	    $DMC_WRITE (REG, FLD, VALUE) =
;	M 0270		begin
;	M 0271		bind $DMC$CSR = REG : block field (DMC_FIELDS);
;	M 0272		$DMC$CSR [$DMC$BYTE (FLD)] = VALUE;
;	  0273		end %,
;	M 0274	    $DMC$BIT_MASK [FLD] =
;	  0275		(1^%fieldexpand (FLD, 2) - 1)^%fieldexpand (FLD, 1) %,
;	M 0276	    $DMC$BYTE (FLD) =
;	  0277		%fieldexpand (FLD, 0), %fieldexpand (FLD, 1), %fieldexpand (FLD, 2), 0 %;
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page   7
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (3)

;	  0278	!
;	  0279	! DMC driver data base
;	  0280	!
;	  0281	
;	  0282	macro
;	M 0283	    GET_DMC_DATA_BASE (NAME) =
;	M 0284		%if %declared (NAME)
;	M 0285		%then map NAME : ref
;	M 0286		%else external MCB$GAW_PROCESS_DATA_BASE : vector [2];
;	M 0287		      bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] :
;	  0288		%fi block field (D_FIELDS); %;
;	  0289	
;	  0290	$FIELD
;	  0291	    D_FIELDS =
;	  0292		set
;	L 0293		D_TIM = [$TINY_INTEGER],	! One second timer
; %PRINT:				  [0,0,8,1]   (+%O'0')
;	L 0294		DF_NOTIFY_OFF = [$BIT],		!  Send OFF state to circuit owner
; %PRINT:				  [0,8,1,0]   (+%O'1')
;	L 0295		DF_NOTIFY_STATE = [$BIT],	!  Send state to circuit owner
; %PRINT:				  [0,9,1,0]   (+%O'1')
;	L 0296		DF_NXM = [$BIT],		!  NXM occurred
; %PRINT:				  [0,10,1,0]   (+%O'1')
;	L 0297		DF_WAITING_FOR_RDYI = [$BIT],	!  Looking for RDI late
; %PRINT:				  [0,11,1,0]   (+%O'1')
;	L 0298		DF_FLUSHING_DMC = [$BIT],	!  Halting (procedure error expected)
; %PRINT:				  [0,12,1,0]   (+%O'1')
;	L 0299		DF_SYNCHRONIZING = [$BIT],	!  SYNCH is in progress.
; %PRINT:				  [0,13,1,0]   (+%O'1')
;	L 0300		DF_SERVICING_DMC = [$BIT],	!  The DMC is being polled for requests
; %PRINT:				  [0,14,1,0]   (+%O'1')
;	L 0301		DF_WAITING_FOR_RECEIVE = [$BIT],!  Maintenance service timer is active
; %PRINT:				  [0,15,1,0]   (+%O'1')
;	  0302		    $ALIGN (FULLWORD)
;	L 0303		D_REGISTER = [$ADDRESS],	! Address of DMC SEL0 register
; %PRINT:				  [1,0,16,0]   (+%O'2')
;	L 0304		D_VECTOR = [$ADDRESS],		! Interrupt vector address
; %PRINT:				  [2,0,16,0]   (+%O'4')
;	L 0305		D_PRIORITY = [$TINY_INTEGER],	! Interrupt priority
; %PRINT:				  [3,0,8,1]   (+%O'6')
;	L 0306		D_NMX_PIX = [$BYTE],		! Process index for NMX
; %PRINT:				  [3,8,8,0]   (+%O'7')
;	L 0307		D_SYNCH_BLOCK = [$ADDRESS],	! SYNCH block.
; %PRINT:				  [4,0,16,0]   (+%O'10')
;	L 0308		D_INPUT_DATA = [$SUB_BLOCK (4)], ! DMC input transfer buffer.
; %PRINT:				  [5,0,0,0]   (+%O'12')
;	  0309		    $OVERLAY ($SUB_FIELD (D_INPUT_DATA, BSEL0))
;	L 0310		D_INPUT_COMMAND = [$BYTE],	! DMC input command buffer
; %PRINT:				  [5,0,8,0]   (+%O'12')
;	  0311		    $CONTINUE
;	L 0312		D_OUTPUT_DATA = [$SUB_BLOCK (4)], ! DMC output transfer buffer.
; %PRINT:				  [9,0,0,0]   (+%O'22')
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page   8
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (3)

;	L 0313		D_CONTROL_FLAGS = [$TINY_INTEGER], ! Control flags (priority ordered):
; %PRINT:				  [13,0,8,1]   (+%O'32')
;	  0314		    $OVERLAY (D_CONTROL_FLAGS)
;	L 0315		DC_HALT = [$BIT],		!  Halt the protocol
; %PRINT:				  [13,0,1,0]   (+%O'32')
;	L 0316		DC_MASTER_CLEAR = [$BIT],	!  Master clear the DMC
; %PRINT:				  [13,1,1,0]   (+%O'32')
;	L 0317		DC_ZERO_CIRCUIT_COUNTERS = [$BIT],!Zero the circuit counters
; %PRINT:				  [13,2,1,0]   (+%O'32')
;	L 0318		DC_ZERO_LINE_COUNTERS = [$BIT],	!  Zero the line counters
; %PRINT:				  [13,3,1,0]   (+%O'32')
;	L 0319		DC_BASE_IN = [$BIT],		!  Assign the base table
; %PRINT:				  [13,4,1,0]   (+%O'32')
;	L 0320		DC_CONTROL_IN = [$BIT],		!  Do a control in
; %PRINT:				  [13,5,1,0]   (+%O'32')
;	L 0321		DC_SET_REQUESTED_STATE = [$BIT],!  Set requested state
; %PRINT:				  [13,6,1,0]   (+%O'32')
;	L 0322		DC_CONTINUE_CONTROL = [$BIT],	!  Continue control function
; %PRINT:				  [13,7,1,0]   (+%O'32')
;	  0323		    $CONTINUE
;	L 0324		DF_HALF_DUPLEX = [$BIT],	!  Line half duplex
; %PRINT:				  [13,8,1,0]   (+%O'33')
;	L 0325		DF_1_SEC = [$BIT],		!  One second retransmit timer
; %PRINT:				  [13,9,1,0]   (+%O'33')
;	L 0326		DF_CONTROLLER_LOOPBACK = [$BIT],!  DMC is in controller loopback
; %PRINT:				  [13,10,1,0]   (+%O'33')
;	L 0327		DF_DMR_LINE = [$BIT],		!  Line is a DMR line
; %PRINT:				  [13,11,1,0]   (+%O'33')
;	L 0328		DF_DMR = [$BIT],		!  Device is a DMR
; %PRINT:				  [13,12,1,0]   (+%O'33')
;	L 0329		DF_PROTOCOL_UP = [$BIT],	!  Successful transmit or receive
; %PRINT:				  [13,13,1,0]   (+%O'33')
;	L 0330		DF_CTL = [$BIT],		!  Control function blocked
; %PRINT:				  [13,14,1,0]   (+%O'33')
;	L 0331		    $ALIGN_SIGN
; %PRINT:				  [13,15,0,0]   (+%O'33')
;	L 0332		DF_ACTIVE = [$SIGN_BIT],	!  Line is active
; %PRINT:				  [13,15,1,1]   (+%O'33')
;	L 0333		D_PROTOCOL_STATE = [$TINY_INTEGER], ! Protocol state
; %PRINT:				  [14,0,8,1]   (+%O'34')
;	L 0334		D_REQUESTED_STATE = [$TINY_INTEGER], ! Requested protocol state
; %PRINT:				  [14,8,8,1]   (+%O'35')
;	L 0335		D_REPORTED_STATE = [$TINY_INTEGER], ! Reported circuit state
; %PRINT:				  [15,0,8,1]   (+%O'36')
;	L 0336		D_LINE_STATE = [$TINY_INTEGER],	! Network Management line state
; %PRINT:				  [15,8,8,1]   (+%O'37')
;	L 0337		D_DEVICE_STATE = [$TINY_INTEGER], ! DMC device state
; %PRINT:				  [16,0,8,1]   (+%O'40')
;	L 0338		D_TRANSMIT_TIMEOUT = [$TINY_INTEGER], ! Transmitter timeout value
; %PRINT:				  [16,8,8,1]   (+%O'41')
;	  0339		    $ALIGN (FULLWORD)
;	L 0340		D_OWNER_HANDLE = [$SHORT_INTEGER],
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page   9
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (3)

; %PRINT:				  [17,0,16,1]   (+%O'42')
;	L 0341		D_ASSIGNABLE_RECEIVE_CCBS = [$LIST_HEAD],
; %PRINT:				  [18,0,0,0]   (+%O'44')
;	L 0342		D_ASSIGNED_RECEIVE_CCBS = [$LIST_HEAD],
; %PRINT:				  [20,0,0,0]   (+%O'50')
;	L 0343		D_ASSIGNABLE_TRANSMIT_CCBS = [$LIST_HEAD],
; %PRINT:				  [22,0,0,0]   (+%O'54')
;	L 0344		D_ASSIGNED_TRANSMIT_CCBS = [$LIST_HEAD],
; %PRINT:				  [24,0,0,0]   (+%O'60')
;	L 0345		D_TRANSMIT_BUFFER_SIZE = [$SHORT_INTEGER], ! Size of transmit buffer
; %PRINT:				  [26,0,16,1]   (+%O'64')
;	L 0346		D_NEXT_TRANSMIT_BUFFER = [$ADDRESS], ! Address of next transmit buffer to assign
; %PRINT:				  [27,0,16,0]   (+%O'66')
;	L 0347		D_HIGHEST_TRANSMIT_BUFFER = [$ADDRESS], ! Address of end of transmit buffer area
; %PRINT:				  [28,0,16,0]   (+%O'70')
;	L 0348		D_PENDING_CONTROLS = [$LIST_HEAD], ! Pending control functions
; %PRINT:				  [29,0,0,0]   (+%O'72')
;	L 0349		D_SERVICE_TIMER = [$INTEGER],	! Line service timer
; %PRINT:				  [31,0,16,1]   (+%O'76')
;	L 0350		D_CIRCUIT_ENTITY = [$INTEGER],	! Circuit logging entity identification
; %PRINT:				  [32,0,16,1]   (+%O'100')
;	L 0351		D_LINE_ENTITY = [$INTEGER],	! Line logging entity identification
; %PRINT:				  [33,0,16,1]   (+%O'102')
;	L 0352		D_TRANSIENT_ERROR = [$SHORT_INTEGER], ! Unreported transient error.
; %PRINT:				  [34,0,16,1]   (+%O'104')
;	L 0353		D_PERSISTENT_ERROR = [$SHORT_INTEGER], ! Unreported persistent error.
; %PRINT:				  [35,0,16,1]   (+%O'106')
;	L 0354		D_ACTIVE_BUFFERS = [$SHORT_INTEGER],	! Receive buffers at user and
; %PRINT:				  [36,0,16,1]   (+%O'110')
;	  0355							! transmit buffers from user.
;	L 0356		D_CIRCUIT_COST = [$SHORT_INTEGER], ! ** FOR TRANSPORT **
; %PRINT:				  [37,0,16,1]   (+%O'112')
;	L 0357		D_ASSIGNABLE_RECEIVE_COUNT = [$BYTE],
; %PRINT:				  [38,0,8,0]   (+%O'114')
;	L 0358		D_ASSIGNABLE_TRANSMIT_COUNT = [$BYTE],
; %PRINT:				  [38,8,8,0]   (+%O'115')
;	L 0359		D_ASSIGNED_RECEIVE_COUNT = [$BYTE],
; %PRINT:				  [39,0,8,0]   (+%O'116')
;	L 0360		D_ASSIGNED_TRANSMIT_COUNT = [$BYTE],
; %PRINT:				  [39,8,8,0]   (+%O'117')
;	L 0361		D_MAXIMUM_RECEIVE_COUNT = [$BYTE],
; %PRINT:				  [40,0,8,0]   (+%O'120')
;	L 0362		D_MAXIMUM_TRANSMIT_COUNT = [$BYTE],
; %PRINT:				  [40,8,8,0]   (+%O'121')
;	  0363		    $ALIGN (FULLWORD)
;	L 0364		D_BYTES_TRANSMITTED = [$COUNTER (32)],	! Number of data bytes transmitted
; %PRINT:				  [41,0,0,1]   (+%O'122')
;	L 0365		D_BYTES_RECEIVED = [$COUNTER (32)],	! Number of data bytes received
; %PRINT:				  [43,0,0,1]   (+%O'126')
;	L 0366		D_BLOCKS_TRANSMITTED = [$COUNTER (32)],	! Number of data blocks transmitted
; %PRINT:				  [45,0,0,1]   (+%O'132')
;	L 0367		D_BLOCKS_RECEIVED = [$COUNTER (32)],	! Number of data blocks received
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page  10
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (3)

; %PRINT:				  [47,0,0,1]   (+%O'136')
;	L 0368		DB_TIME_LINE_ZEROED = [$TIME],		! Time line counters zeroed
; %PRINT:				  [49,0,0,1]   (+%O'142')
;	  0369		    $ALIGN (FULLWORD)
;	L 0370		D_CONFIGURATION_ERRORS = [$COUNTER (8)],
; %PRINT:				  [51,0,8,1]   (+%O'146')
;	L 0371		D_INVALID_CONTROLLER_REGISTER = [$COUNTER (1)],
; %PRINT:				  [51,8,1,0]   (+%O'147')
;	L 0372		D_NXM_CONTROLLER_REGISTER = [$COUNTER (1)],
; %PRINT:				  [51,9,1,0]   (+%O'147')
;	L 0373		D_INVALID_UNIT_REGISTER = [$COUNTER (1)],
; %PRINT:				  [51,10,1,0]   (+%O'147')
;	L 0374		D_NXM_UNIT_REGISTER = [$COUNTER (1)],
; %PRINT:				  [51,11,1,0]   (+%O'147')
;	L 0375		D_INVALID_VECTOR = [$COUNTER (1)],
; %PRINT:				  [51,12,1,0]   (+%O'147')
;	L 0376		D_CONFLICTING_VECTOR = [$COUNTER (1)],
; %PRINT:				  [51,13,1,0]   (+%O'147')
;	L 0377		D_INVALID_PRIORITY = [$COUNTER (1)],
; %PRINT:				  [51,14,1,0]   (+%O'147')
;	  0378		    $ALIGN (FULLWORD)
;	L 0379		D_DEVICE_SERVICE_ERRORS = [$COUNTER (8)],
; %PRINT:				  [52,0,8,1]   (+%O'150')
;	L 0380		D_LOST_INTERRUPT = [$COUNTER (1)],
; %PRINT:				  [52,8,1,0]   (+%O'151')
;	L 0381		D_LOST_RDYI = [$COUNTER (1)],
; %PRINT:				  [52,9,1,0]   (+%O'151')
;	L 0382		D_LOST_HALT = [$COUNTER (1)],
; %PRINT:				  [52,10,1,0]   (+%O'151')
;	L 0383		D_LOST_TRANSMIT = [$COUNTER (1)],
; %PRINT:				  [52,11,1,0]   (+%O'151')
;	L 0384		D_LOST_DOORBELL = [$COUNTER (1)],
; %PRINT:				  [52,12,1,0]   (+%O'151')
;	  0385		    $ALIGN (FULLWORD)
;	L 0386		D_FATAL_DEVICE_ERRORS = [$COUNTER (8)],
; %PRINT:				  [53,0,8,1]   (+%O'152')
;	L 0387		D_INVALID_REGISTER_CONTENTS = [$COUNTER (1)],
; %PRINT:				  [53,8,1,0]   (+%O'153')
;	L 0388		D_RECEIVE_BA_MISMATCH = [$COUNTER (1)],
; %PRINT:				  [53,9,1,0]   (+%O'153')
;	L 0389		D_TRANSMIT_BA_MISMATCH = [$COUNTER (1)],
; %PRINT:				  [53,10,1,0]   (+%O'153')
;	L 0390		D_NXM_TO_DEVICE = [$COUNTER (1)],
; %PRINT:				  [53,11,1,0]   (+%O'153')
;	L 0391		D_MICROCODE_ERROR = [$COUNTER (1)],
; %PRINT:				  [53,12,1,0]   (+%O'153')
;	L 0392		D_COMPLETION_QUEUE_OVERRUN = [$COUNTER (1)],
; %PRINT:				  [53,13,1,0]   (+%O'153')
;	L 0393		D_DOORBELL_STUCK = [$COUNTER (1)],
; %PRINT:				  [53,14,1,0]   (+%O'153')
;	L 0394		D_PROCEDURE_ERROR = [$COUNTER (1)],
; %PRINT:				  [53,15,1,0]   (+%O'153')
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page  11
								30-Dec-1982 02:37:13	NETPKG:<DRIVERS>DMCDAT.R16.10 (3)

;	  0395		    $ALIGN (FULLWORD)
;	L 0396		D_LNTB = [$SUB_BLOCK (BASE_LENGTH)], ! DMC base table.
; %PRINT:				  [54,0,0,0]   (+%O'154')
;	L 0397		D_CPTB = [$SUB_BLOCK (%fieldexpand (BASE_COUNTER_END, 0))],
; %PRINT:				  [182,0,0,0]   (+%O'554')
;	L 0398		D_BUF = [$SUB_BLOCK (0)],	! Transmit buffer area.
; %PRINT:				  [199,0,0,0]   (+%O'616')
;	  0399	
;	  0400		    $OVERLAY (D_BUF)		! Initialization data.
;	L 0401		DI_HD = [$BIT]			!  Half duplex line
; %PRINT:				  [199,0,1,0]   (+%O'616')
;	  0402		    $CONTINUE
;	  0403		tes;
;	  0404	
;	  0405	literal
;	L 0406	    D_LEN = $FIELD_SET_SIZE,
; %PRINT:				  200 fullwords
;	  0407	    DD_MASTER_CLEARED = 0,		! Device is master cleared
;	  0408	    DD_HALTED = 1,			! Device is halted
;	  0409	    DD_BASE_TABLE_ASSIGNED = 2,		! Device has base table assigned
;	  0410	    DD_RUNNING = 3,			! Device is running
;	  0411	    DD_SHUT_DOWN = 4,			! Device has shut down
;	  0412	    DD_CLEARED = 5,			! Device is not defined
;	  0413	    DD_LOW = min (DD_CLEARED, DD_MASTER_CLEARED, DD_HALTED, DD_BASE_TABLE_ASSIGNED, DD_RUNNING, DD_SHUT_DOWN),
;	  0414	    DD_HIGH = max (DD_CLEARED, DD_MASTER_CLEARED, DD_HALTED, DD_BASE_TABLE_ASSIGNED, DD_RUNNING, DD_SHUT_DOWN),
;	  0415	    DL_ON = 0,				! Line is ON
;	  0416	    DL_OFF = 1,				! Line is OFF
;	  0417	    DS_HALTED = 0,			! Protocol is in HALTED state
;	  0418	    DS_ISTRT = 1,			! Protocol is in ISTRT state
;	  0419	    DS_ASTRT = 2,			! Protocol is in ASTRT state
;	  0420	    DS_RUNNING = 3,			! Protocol is in RUNNING state
;	  0421	    DS_MAINTENANCE = 4;			! Protocol is in MAINTENANCE state
;	  0422	
;	  0423	!
;	  0424	! [End of DMCDAT]




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<BLIS16>XPORT.L16.1		       568        37         6         0
;  NETPKG:<V3P0>MCBLIB.L16.7		       372         4         1         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200         2         1         0
								25-Jan-1983 10:09:57	TOPS-20 Bliss-16 3(552)		    Page  12
											

; Run Time:	   00:13.6
; Elapsed Time:	   00:44.1
; Memory Used:	24 pages
; Library Precompilation Complete