Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/drivers/kdpdat.lst
There are no other files named kdpdat.lst in the archive.
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page   1
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (1)

;	  0001	! [Beginning of KDPDAT]
;	  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 KMC/DUP Driver
;	  0027	!
;	  0028	! ABSTRACT:
;	  0029	!
;	  0030	!	This contains the data structure definitions for the KMC/DUP DDM.
;	  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	! 02	- Add new features to K_ and D_ tables.
;	  0041	! 03	- Add transmit/receive-to-KMC counters for proper shutdown.
;	  0042	!	  Add temporary counters for hardware errors.
;	  0043	! 04	- Add KF_LD and K_ACTIVE.
;	  0044	! 05	- Add CT_MNT field in SEL7 for control-in.
;	  0045	!--
;	  0046	
;	  0047	%if not %declared (XPO$K_VERSION) %then library 'XPORT'; %fi
;	  0048	
;	  0049	%if not %declared (MCB$K_VERSION) %then library 'MCBLIB'; %fi
;	  0050	
;	  0051	library 'NMXLIB';
;	  0052	
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page   2
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (1)

;	  0053	$SHOW (FIELDS) $SHOW (LITERALS)
;	  0054	
;	  0055	!
;	  0056	! Status Codes:
;	  0057	!
;	  0058	
;	  0059	DECLARE_SEVERITY (KDP, INFO, WARNING, SEVERE);
;	  0060	
;	  0061	$KDP_INFO (KDP$_EVT, 'Network event')
;	  0062	$KDP_SEVERE (KDP$_QUE, 'Queue should not be empty')
;	  0063	$KDP_SEVERE (KDP$_CMP, 'Completion overrun')
;	  0064	$KDP_SEVERE (KDP$_NXM, 'KMC given address of non-existent memory')
;	  0065	$KDP_SEVERE (KDP$_SEG, 'Too many transmit segments')
;	  0066	$KDP_SEVERE (KDP$_PWF, 'Unable to handle power failure recovery')
;	  0067	$KDP_WARNING (KDP$_LOD, 'Cannot load the KMC microcode')
;	  0068	$KDP_WARNING (KDP$_RUN, 'Cannot start the KMC')
;	  0069	$KDP_SEVERE (KDP$_DSC, 'Unexpected descriptor address')
;	  0070	$KDP_SEVERE (KDP$_CODE, 'Invalid command type code from KMC')
;	  0071	$KDP_SEVERE (KDP$_BROKEN, 'Unrecoverable error encountered')
;	  0072	
;	  0073	!
;	  0074	! Global Synonyms
;	  0075	!
;	  0076	
;	  0077	macro
;	  0078	    PARAMETER_DEVICE_REGISTERS = PLL0 %,
;	  0079	    REGISTER_NXM = KMCNXM %;
;	  0080	
;	  0081	!
;	  0082	! Linkages for global routines
;	  0083	!
;	  0084	
;	  0085	linkage
;	  0086	    KDP_CSR_NUM = jsr (register = 0, register = 1),
;	  0087	    KDP_REG = jsr (register = 1) : nopreserve (1);
;	  0088	
;	  0089	!
;	  0090	! Useful macros
;	  0091	!
;	  0092	
;	  0093	macro
;	  0094	    !
;	  0095	    ! Get the bit number for a one-bit field
;	  0096	    !
;	M 0097	    BIT_NUMBER [FLD] =
;	  0098		%fieldexpand (FLD, 1) %,
;	  0099	    !
;	  0100	    ! Produce a mask for the given field
;	  0101	    !
;	M 0102	    BIT_MASK [] =
;	  0103		(0 + BIT_MSK (%remaining)) %,
;	M 0104	    BIT_MSK [FLD] =
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page   3
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (1)

;	  0105		(1^%fieldexpand (FLD, 2) - 1)^%fieldexpand (FLD, 1) %,
;	  0106	    !
;	  0107	    ! Add the specified value to an 18 bit address in the data base
;	  0108	    !
;	M 0109	    PHYSICAL_ADD (DB, FLD, VALUE) =
;	M 0110		begin
;	M 0111	
;	M 0112		builtin
;	M 0113		    rot;
;	M 0114	
;	M 0115		if rot (DB [$SUB_FIELD (FLD, PHYSICAL_LOW)] =
;	M 0116		    .DB [$SUB_FIELD (FLD, PHYSICAL_LOW)] + VALUE, 1)
;	M 0117		then
;	M 0118		    DB [$SUB_FIELD (FLD, PHYSICAL_HIGH)] =
;	M 0119			.DB [$SUB_FIELD (FLD, PHYSICAL_HIGH)] + 1;
;	M 0120	
;	  0121		end %;
;	  0122	
;	  0123	!
;	  0124	! Data base creation items
;	  0125	!
;	  0126	
;	  0127	macro
;	M 0128	    $ALIGN_SIGN =
;	M 0129		%assign ($xpo$fill_index, $xpo$fill_index + 1)
;	M 0130		%assign ($xpo$fill_temp, 7 - ($xpo$bit_index mod 8))
;	  0131		%name (XPOfill, %number ($xpo$fill_index)) = [$BITS ($xpo$fill_temp)], %,
;	M 0132	    $SIGN_BIT =
;	  0133		$XPO$FIELD (1, 1, 0) %;
;	  0134	
;	  0135	compiletime
;	  0136	    $xpo$fill_index = 0,
;	  0137	    $xpo$fill_temp = 0;
;	  0138	
;	  0139	$FIELD
;	  0140	    !
;	  0141	    ! List head definition
;	  0142	    !
;	L 0143	    LIST_FIRST = [$ADDRESS],
; %PRINT:				  [0,0,16,0]   (+%O'0')
;	L 0144	    LIST_LAST = [$ADDRESS];
; %PRINT:				  [1,0,16,0]   (+%O'2')
;	  0145	
;	  0146	compiletime
;	L 0147	    $KDP$length = $FIELD_SET_SIZE;
; %PRINT:				  2 fullwords
;	  0148	
;	  0149	macro
;	M 0150	    $LIST_HEAD =
;	  0151		$SUB_BLOCK (%expand %number ($KDP$length)) %;
;	  0152	
;	  0153	$FIELD
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page   4
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (1)

;	  0154	    !
;	  0155	    ! Physical 18 bit address
;	  0156	    !
;	L 0157	    PHYSICAL_HIGH = [$BITS (16)],
; %PRINT:				  [0,0,16,0]   (+%O'0')
;	L 0158	    PHYSICAL_LOW = [$BITS (16)];
; %PRINT:				  [1,0,16,0]   (+%O'2')
;	  0159	
;	L 0160	%assign ($KDP$length, $FIELD_SET_SIZE)
; %PRINT:				  2 fullwords
;	  0161	
;	  0162	macro
;	M 0163	    $BIAS =
;	  0164		$SHORT_INTEGER %,
;	M 0165	    $PHYSICAL_ADDRESS =
;	  0166		$SUB_BLOCK (%expand %number ($KDP$length)) %,
;	M 0167	    $SYNCH_BLOCK =
;	  0168		$SUB_BLOCK (3) %;
;	  0169	
;	  0170	undeclare
;	  0171	    $KDP$length;
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page   5
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (2)

;	  0172	!
;	  0173	! KDP11 hardware register definitions
;	  0174	!
;	  0175	
;	  0176	field
;	  0177	    KDP_FIELDS =
;	  0178		set
;	  0179		SEL0 = [0, 0, 16, 1],
;	  0180		BSEL0 = [0, 0, 8, 1],
;	  0181		BSEL1 = [0, 8, 8, 1],
;	  0182		    RUN = [0, 15, 1, 1],	! Run
;	  0183		    MCL = [0, 14, 1, 0],	! Master clear
;	  0184		    RQI = [0, 7, 1, 1],		! Request data ports
;	  0185		    IEO = [0, 4, 1, 0],		! Enable output-request interrupts
;	  0186		    IEI = [0, 0, 1, 0],		! Enable input-request interrupts
;	  0187		SEL2 = [1, 0, 16, 1],
;	  0188		BSEL2 = [1, 0, 8, 1],
;	  0189		BSEL3 = [1, 8, 8, 1],
;	  0190		    LNBR = [0, 8, 7, 0],	! DUP number
;	  0191		    RDYO = [0, 7, 1, 1],	! Data ports ready for output
;	  0192		    RDYI = [0, 4, 1, 0],	! Data ports ready for input
;	  0193		    IN_I_O = [0, 2, 1, 0],	! Operation is a receive
;	  0194		    COM = [0, 0, 3, 0],		! Command code
;	  0195		SEL4 = [2, 0, 16, 1],
;	  0196		SEL6 = [3, 0, 16, 1],
;	  0197	
;	  0198	! Buffer address in/out
;	  0199	
;	  0200		    BA_LOW = [0, 0, 16, 0],
;	  0201		    BA_KIL = [0, 12, 1, 0],
;	  0202		    BA_EOM = [0, 12, 1, 0],
;	  0203		    BA_HIGH = [0, 14, 2, 0],
;	  0204	
;	  0205	! Control in
;	  0206	
;	  0207		    CT_ENB = [0, 8, 1, 0],
;	  0208		    CT_MNT = [0, 10, 2, 0],
;	  0209		    CT_DUP = [0, 13, 1, 0],
;	  0210		    CT_DEC = [0, 15, 1, 1]
;	  0211		tes;
;	  0212	
;	  0213	literal
;	  0214	    TBA = 0,				! Transmit buffer/address in/out
;	  0215	    CTL = 1,				! Control function in/out
;	  0216	    BAS = 3,				! DUP-11 CSR base address in
;	  0217	    RBA = 4;				! Receive buffer/address in/out
;	  0218	
;	  0219	!
;	  0220	! Buffer descriptors
;	  0221	!
;	  0222	
;	  0223	field
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page   6
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (2)

;	  0224	    BD_FIELDS =
;	  0225		set
;	  0226		BD_LOW = [0, 0, 16, 0],		! Low order 16 bits
;	  0227		BD_CC = [1, 0, 16, 0],		! Character count
;	  0228		BD_SOM = [2, 8, 1, 0],		! Start of message
;	  0229		BD_EOM = [2, 9, 1, 0],		! End of message
;	  0230		BD_HIGH = [2, 10, 2, 0],	! High order 2 bits
;	  0231		BD_SYN = [2, 12, 1, 0],		! Preceede with SYNs
;	  0232		BD_LBD = [2, 15, 1, 1]		! Last buffer descriptor
;	  0233		tes;
;	  0234	
;	  0235	literal
;	  0236	    BD_LEN = 3;
;	  0237	
;	  0238	!
;	  0239	! DUP hardware device registers
;	  0240	!
;	  0241	
;	  0242	field
;	  0243	    DUP_FIELDS =
;	  0244		set
;	  0245		RXCSR = [0, 0, 16, 1],
;	  0246		    DATA_SET_CHANGE_B = [0, 0, 1, 0],
;	  0247		    DATA_TERMINAL_READY = [0, 1, 1, 0],
;	  0248		    REQUEST_TO_SEND = [0, 2, 1, 0],
;	  0249		    SECONDARY_TRANSMIT_DATA = [0, 3, 1, 0],
;	  0250		    RECEIVER_ENABLE = [0, 4, 1, 0],
;	  0251		    DATA_SET_INTERRUPT_ENABLE = [0, 5, 1, 0],
;	  0252		    RECEIVER_INTERRUPT_ENABLE = [0, 6, 1, 0],
;	  0253		    RECEIVER_DONE = [0, 7, 1, 1],
;	  0254		    STRIP_SYNCH = [0, 8, 1, 0],
;	  0255		    DATA_SET_READY = [0, 9, 1, 0],
;	  0256		    SECONDARY_RECEIVED_DATA = [0, 10, 1, 0],
;	  0257		    RECEIVER_ACTIVE = [0, 11, 1, 0],
;	  0258		    CARRIER = [0, 12, 1, 0],
;	  0259		    CLEAR_TO_SEND = [0, 13, 1, 0],
;	  0260		    RING_INDICATOR = [0, 14, 1, 0],
;	  0261		    DATA_SET_CHANGE_A = [0, 15, 1, 1],
;	  0262	
;	  0263		RXDBUF = [1, 0, 16, 1],
;	  0264		    RECEIVER_DATA_BUFFER = [0, 0, 8, 0],
;	  0265		    START_OF_RECEIVED_MESSAGE = [0, 8, 1, 0],
;	  0266		    END_OF_RECEIVED_MESSAGE = [0, 9, 1, 0],
;	  0267		    RECEIVED_ABORT = [0, 10, 1, 0],
;	  0268		    RCRC_ERROR = [0, 12, 1, 0],
;	  0269		    OVERRUN = [0, 14, 1, 0],
;	  0270		    ERROR = [0, 15, 1, 1],
;	  0271	
;	  0272		PARCSR = [1, 0, 16, 1],
;	  0273		    SECONDARY_ADDRESS = [0, 0, 8, 0],
;	  0274		    RECEIVER_SYNCH = [0, 0, 8, 0],
;	  0275		    CRC_INHIBIT = [0, 9, 1, 0],
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page   7
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (2)

;	  0276		    SECONDARY_MODE_SELECT = [0, 12, 1, 0],
;	  0277		    DEC_MODE = [0, 15, 1, 0],
;	  0278	
;	  0279		TXCSR = [2, 0, 16, 0],
;	  0280		    HALF_DUPLEX = [0, 3, 1, 0],
;	  0281		    SEND = [0, 4, 1, 0],
;	  0282		    TRANSMITTER_INTERRUPT_ENABLE = [0, 6, 1, 0],
;	  0283		    TRANSMITTER_DONE = [0, 7, 1, 1],
;	  0284		    DEVICE_RESET = [0, 8, 1, 0],
;	  0285		    TRANSMITTER_ACTIVE = [0, 9, 1, 0],
;	  0286		    MAITENANCE_INPUT_DATA = [0, 10, 1, 0],
;	  0287		    MAINTENANCE_MODE_SELECT = [0, 11, 2, 0],
;	  0288		    MAINTENANCE_CLOCK = [0, 13, 1, 0],
;	  0289		    MAINTENANCE_TRANSMIT_DATA_OUT = [0, 14, 1, 0],
;	  0290		    TRANSMIT_DATA_LATE_ERROR = [0, 15, 1, 1],
;	  0291	
;	  0292		TXDBUF = [3, 0, 16, 1],
;	  0293		    TRANSMIT_DATA_BUFFER = [0, 0, 8, 0],
;	  0294		    TRANSMIT_START_OF_MESSAGE = [0, 8, 1, 0],
;	  0295		    TRANSMIT_END_OF_MESSAGE = [0, 9, 1, 0],
;	  0296		    TRANSMIT_ABORT = [0, 10, 1, 0],
;	  0297		    MAINTENANCE_TIMER = [0, 11, 1, 0],
;	  0298		    TCRCIN = [0, 12, 1, 0],
;	  0299		    RCRIN = [0, 14, 1, 0]
;	  0300		tes;
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page   8
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (3)

;	  0301	!
;	  0302	! KDP driver data bases
;	  0303	!
;	  0304	
;	  0305	macro
;	  0306	    KDP_DATA_BASE = block field (DIR_FIELDS) %,
;	  0307	    KMC_DATA_BASE = block field (K_FIELDS) %,
;	  0308	    DUP_DATA_BASE = block field (D_FIELDS) %;
;	  0309	
;	  0310	literal
;	  0311	    KD_DUP = 4;
;	  0312	
;	  0313	$FIELD
;	  0314	    K_FIELDS =
;	  0315		set
;	L 0316		K_TIM = [$BYTE],		! Data base timer
; %PRINT:				  [0,0,8,0]   (+%O'0')
;	L 0317		KF_MICROCODE_LOADED = [$BIT],	! KMC microcode loaded
; %PRINT:				  [0,8,1,0]   (+%O'1')
;	L 0318		KF_MICROCODE_RUNNING = [$BIT],	! KMC has been initialized
; %PRINT:				  [0,9,1,0]   (+%O'1')
;	  0319		    $ALIGN (FULLWORD)
;	L 0320		K_REGISTER = [$ADDRESS],	! KMC SEL0 register address
; %PRINT:				  [1,0,16,0]   (+%O'2')
;	L 0321		K_VECTOR = [$ADDRESS],		! KMC interrupt vector address
; %PRINT:				  [2,0,16,0]   (+%O'4')
;	L 0322		K_PRIORITY = [$TINY_INTEGER],	! KMC interrupt priority
; %PRINT:				  [3,0,8,1]   (+%O'6')
;	L 0323		K_CONTROLLER = [$TINY_INTEGER],	! KMC controller number
; %PRINT:				  [3,8,8,1]   (+%O'7')
;	L 0324		K_SYNCH_BLOCK = [$ADDRESS],	! SYNCH block address
; %PRINT:				  [4,0,16,0]   (+%O'10')
;	L 0325		K_INPUT_QUEUE = [$LIST_HEAD],	! Input request queue
; %PRINT:				  [5,0,0,0]   (+%O'12')
;	L 0326		K_INPUT_DATA = [$ADDRESS],	! Registers for next input transfer
; %PRINT:				  [7,0,16,0]   (+%O'16')
;	L 0327		K_OUTPUT_DATA = [$ADDRESS],	! Output data port holding area
; %PRINT:				  [8,0,16,0]   (+%O'20')
;	L 0328		K_DEVICE_ERRORS = [$COUNTER (8)],
; %PRINT:				  [9,0,8,1]   (+%O'22')
;	L 0329		K_INVALID_UNIT = [$COUNTER (1)],
; %PRINT:				  [9,8,1,0]   (+%O'23')
;	L 0330		K_INVALID_OUTPUT_CODE = [$COUNTER (1)],
; %PRINT:				  [9,9,1,0]   (+%O'23')
;	L 0331		K_MICROCODE_WONT_LOAD = [$COUNTER (1)],
; %PRINT:				  [9,10,1,0]   (+%O'23')
;	L 0332		K_MICROCODE_WONT_START = [$COUNTER (1)],
; %PRINT:				  [9,11,1,0]   (+%O'23')
;	  0333		    $ALIGN (FULLWORD)
;	L 0334		K_PERFORMANCE_ERRORS = [$COUNTER (8)],
; %PRINT:				  [10,0,8,1]   (+%O'24')
;	L 0335		K_COMPLETION_QUEUE_OVERRUN = [$COUNTER (1)],
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page   9
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (3)

; %PRINT:				  [10,8,1,0]   (+%O'25')
;	L 0336		K_LOST_INTERRUPT = [$COUNTER (1)],
; %PRINT:				  [10,9,1,0]   (+%O'25')
;	L 0337		K_LATE_RDYI = [$COUNTER (1)],
; %PRINT:				  [10,10,1,0]   (+%O'25')
;	  0338		    $ALIGN (FULLWORD)
;	L 0339		K_ACTIVE = [$TINY_INTEGER],	! Number of active DUPs
; %PRINT:				  [11,0,8,1]   (+%O'26')
;	L 0340		K_UNITS = [$BYTE],		! Maximum number of DUPs on this KMC
; %PRINT:				  [11,8,8,0]   (+%O'27')
;	L 0341		K_DUP_PIX = [$BYTES (KD_DUP)]	! PIXs of DUP processes
; %PRINT:				  [12,0,0,0]   (+%O'30')
;	  0342		    $ALIGN (FULLWORD)
;	  0343		tes;
;	  0344	
;	  0345	literal
;	L 0346	    K_LEN = $FIELD_SET_SIZE;
; %PRINT:				  14 fullwords
;	  0347	
;	  0348	$FIELD
;	  0349	    D_FIELDS =
;	  0350		set
;	L 0351		D_TIM = [$TINY_INTEGER],	! Long timer
; %PRINT:				  [0,0,8,1]   (+%O'0')
;	L 0352		DF_KILLING_TRANSMITS = [$BIT],	! Transmit kill I/O in progress
; %PRINT:				  [0,8,1,0]   (+%O'1')
;	L 0353		DF_KILLING_RECEIVES = [$BIT],	! Receive kill I/O in progress
; %PRINT:				  [0,9,1,0]   (+%O'1')
;	L 0354		DF_DSR = [$BIT],		! Current DSR condition
; %PRINT:				  [0,10,1,0]   (+%O'1')
;	L 0355		DF_TRANSMIT_UNDERRUN = [$BIT],	! Transmitter has had underrun
; %PRINT:				  [0,11,1,0]   (+%O'1')
;	L 0356		    $ALIGN_SIGN
; %PRINT:				  [0,12,3,0]   (+%O'1')
;	L 0357		DF_TRUNCATING_RECEIVE = [$SIGN_BIT], ! Current message is too long
; %PRINT:				  [0,15,1,1]   (+%O'1')
;	  0358		    $ALIGN (FULLWORD)
;	L 0359		DF_STOPPING_LINE = [$BIT],	! Stop in progress
; %PRINT:				  [1,0,1,0]   (+%O'2')
;	L 0360		DF_STARTING_LINE = [$BIT],	! Start in progress
; %PRINT:				  [1,1,1,0]   (+%O'2')
;	L 0361		DF_HALF_DUPLEX = [$BIT],	! Line is half duplex
; %PRINT:				  [1,2,1,0]   (+%O'2')
;	L 0362		DF_CONTROLLER_LOOPBACK = [$BIT],
; %PRINT:				  [1,3,1,0]   (+%O'2')
;	L 0363		DF_INTERNAL_CLOCK = [$BIT],
; %PRINT:				  [1,4,1,0]   (+%O'2')
;	L 0364		DF_ENABLED = [$BIT],		! Line is enabled
; %PRINT:				  [1,5,1,0]   (+%O'2')
;	L 0365		DF_DUP_CSR_SET = [$BIT],	! BASE-IN has been performed
; %PRINT:				  [1,6,1,0]   (+%O'2')
;	L 0366		    $ALIGN_SIGN
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page  10
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (3)

; %PRINT:				  [1,7,0,0]   (+%O'2')
;	L 0367		DF_LINE_ACTIVE = [$SIGN_BIT],	! Line has been started
; %PRINT:				  [1,7,1,1]   (+%O'2')
;	  0368		    $ALIGN (FULLWORD)
;	L 0369		D_ASSIGNABLE_TRANSMIT_CCBS = [$LIST_HEAD], ! Transmit buffers awaiting assignment
; %PRINT:				  [2,0,0,0]   (+%O'4')
;	L 0370		D_PENDING_CONTROL_CCBS = [$LIST_HEAD], ! Pending control function queue
; %PRINT:				  [4,0,0,0]   (+%O'10')
;	L 0371		D_KMC_HANDLE = [$INTEGER],
; %PRINT:				  [6,0,16,1]   (+%O'14')
;	  0372		    $OVERLAY (D_KMC_HANDLE)
;	L 0373		D_CONTROLLER = [$TINY_INTEGER],	! KMC number
; %PRINT:				  [6,0,8,1]   (+%O'14')
;	L 0374		D_KMC_PIX = [$BYTE],		! KMC process PIX
; %PRINT:				  [6,8,8,0]   (+%O'15')
;	  0375		    $CONTINUE
;	L 0376		D_DUP_HANDLE = [$INTEGER],
; %PRINT:				  [7,0,16,1]   (+%O'16')
;	  0377		    $OVERLAY (D_DUP_HANDLE)
;	L 0378		D_UNIT = [$TINY_INTEGER],	! DUP number
; %PRINT:				  [7,0,8,1]   (+%O'16')
;	L 0379		D_DUP_PIX = [$BYTE],		! DUP process PIX
; %PRINT:				  [7,8,8,0]   (+%O'17')
;	  0380		    $CONTINUE
;	L 0381		D_LIX = [$INTEGER],		! Line index
; %PRINT:				  [8,0,16,1]   (+%O'20')
;	L 0382		D_ASSIGNED_TRANSMIT_COUNT = [$TINY_INTEGER],
; %PRINT:				  [9,0,8,1]   (+%O'22')
;	L 0383		D_ASSIGNABLE_TRANSMIT_COUNT = [$TINY_INTEGER], ! Number of available transmit descriptors
; %PRINT:				  [9,8,8,1]   (+%O'23')
;	L 0384		D_ASSIGNED_RECEIVE_COUNT = [$TINY_INTEGER],
; %PRINT:				  [10,0,8,1]   (+%O'24')
;	L 0385		D_ASSIGNABLE_RECEIVE_COUNT = [$TINY_INTEGER], ! Number of available receive descriptors
; %PRINT:				  [10,8,8,1]   (+%O'25')
;	L 0386		D_TRANSMIT_TIMEOUT = [$TINY_INTEGER], ! Transmit timeout interval
; %PRINT:				  [11,0,8,1]   (+%O'26')
;	L 0387		D_POLLING_THRESHOLD = [$TINY_INTEGER], ! Polling change threshold count
; %PRINT:				  [11,8,8,1]   (+%O'27')
;	L 0388		D_MAXIMUM_TRANSMIT_SEGMENTS = [$TINY_INTEGER], ! Maximum number of transmit segments
; %PRINT:				  [12,0,8,1]   (+%O'30')
;	  0389		    $ALIGN (FULLWORD)
;	L 0390		D_DEVICE_ERRORS = [$COUNTER (8)],
; %PRINT:				  [13,0,8,1]   (+%O'32')
;	L 0391		D_RECEIVE_BA_ERROR = [$COUNTER (1)],
; %PRINT:				  [13,8,1,0]   (+%O'33')
;	L 0392		D_TRANSMIT_BA_ERROR = [$COUNTER (1)],
; %PRINT:				  [13,9,1,0]   (+%O'33')
;	L 0393		D_INVALID_ERROR_CODE = [$COUNTER (1)],
; %PRINT:				  [13,10,1,0]   (+%O'33')
;	L 0394		D_NONEXISTENT_MEMORY = [$COUNTER (1)],
; %PRINT:				  [13,11,1,0]   (+%O'33')
;	  0395		    $ALIGN (FULLWORD)
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page  11
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (3)

;	L 0396		D_PERFORMANCE_ERRORS = [$COUNTER (8)],
; %PRINT:				  [14,0,8,1]   (+%O'34')
;	L 0397		D_NO_BUFFER_ASSIGNED = [$COUNTER (1)],
; %PRINT:				  [14,8,1,0]   (+%O'35')
;	L 0398		D_POLLING_ADJUSTMENT = [$COUNTER (1)],
; %PRINT:				  [14,9,1,0]   (+%O'35')
;	  0399		    $ALIGN (FULLWORD)
;	L 0400		D_EXT_BIAS = [$BIAS],		! Extension table
; %PRINT:				  [15,0,16,1]   (+%O'36')
;	L 0401		D_EXT_ADDR = [$ADDRESS]
; %PRINT:				  [16,0,16,0]   (+%O'40')
;	  0402		tes;
;	  0403	
;	  0404	literal
;	L 0405	    D_LEN = $FIELD_SET_SIZE;
; %PRINT:				  17 fullwords
;	  0406	
;	  0407	$FIELD
;	  0408	    E_FIELDS =
;	  0409		set
;	L 0410		E_NEXT_TRANSMIT_DESCRIPTOR = [$ADDRESS], ! Next transmit descriptor to assign
; %PRINT:				  [0,0,16,0]   (+%O'0')
;	L 0411		E_NEXT_RECEIVE_DESCRIPTOR = [$ADDRESS], ! Next receive descriptor to assign
; %PRINT:				  [1,0,16,0]   (+%O'2')
;	L 0412		E_ASSIGNED_TRANSMIT_CCBS = [$LIST_HEAD], ! Assigned transmit buffer chains
; %PRINT:				  [2,0,0,0]   (+%O'4')
;	L 0413		E_ASSIGNED_RECEIVE_CCBS = [$LIST_HEAD], ! Assigned receive buffer chains
; %PRINT:				  [4,0,0,0]   (+%O'10')
;	L 0414		E_ENTITY = [$INTEGER],		! Network management entity identification
; %PRINT:				  [6,0,16,1]   (+%O'14')
;	L 0415		E_REGISTER = [$ADDRESS],	! Address of DUP SEL0 register
; %PRINT:				  [7,0,16,0]   (+%O'16')
;	L 0416		EF_HDX = [$BIT],		! Half duplex line operation
; %PRINT:				  [8,0,1,0]   (+%O'20')
;	L 0417		ES_FILL1 = [$BITS (7)],
; %PRINT:				  [8,1,7,0]   (+%O'20')
;	L 0418		ES_XMT = [$BITS (4)],		! Transmit speed
; %PRINT:				  [8,8,4,0]   (+%O'21')
;	L 0419		ES_RCV = [$BITS (4)],		! Receive speed
; %PRINT:				  [8,12,4,0]   (+%O'21')
;	  0420		    $ALIGN (FULLWORD)
;	L 0421		ES_PRT = [$BITS (3)],		! Protocol type
; %PRINT:				  [9,0,3,0]   (+%O'22')
;	L 0422		EF_MPT = [$BIT],		! Multipoint line
; %PRINT:				  [9,3,1,0]   (+%O'22')
;	L 0423		EF_SEC = [$BIT],		! Multipoint secondary station
; %PRINT:				  [9,4,1,0]   (+%O'22')
;	L 0424		EF_ADR = [$BIT],		! Secondary station in 16 bits
; %PRINT:				  [9,5,1,0]   (+%O'22')
;	  0425		    $ALIGN (FULLWORD)
;	L 0426		E_CTL = [$SHORT_INTEGER],	! CONTROL-IN flags
; %PRINT:				  [10,0,16,1]   (+%O'24')
								25-Jan-1983 09:52:03	TOPS-20 Bliss-16 3(552)		    Page  12
								30-Dec-1982 03:14:34	NETPKG:<DRIVERS>KDPDAT.R16.8 (3)

;	L 0427		E_POLLING_RATE = [$TINY_INTEGER], ! Polling rate
; %PRINT:				  [11,0,8,1]   (+%O'26')
;	L 0428		E_PTH = [$TINY_INTEGER],	! (unused)
; %PRINT:				  [11,8,8,1]   (+%O'27')
;	L 0429		E_DESCRIPTORS = [$SUB_BLOCK (0)] ! Beginning of descriptors
; %PRINT:				  [12,0,0,0]   (+%O'30')
;	  0430		tes;
;	  0431	
;	  0432	literal
;	L 0433	    E_LEN = $FIELD_SET_SIZE,
; %PRINT:				  12 fullwords
;	  0434	    EP_DEC = 1,				! DDCMP protocol
;	  0435	    EP_BSC = 2,				! BSC
;	  0436	    EP_SDL = 3,				! SDLC/ADDCP/HDLC
;	  0437	    EP_X25 = 4;				! X.25
;	  0438	
;	  0439	$FIELD
;	  0440	    DIR_FIELDS =
;	  0441		set
;	L 0442		DIR_CONTROLLERS = [$BYTE],	! Maximum number of KMCs.
; %PRINT:				  [0,0,8,0]   (+%O'0')
;	L 0443		DIR_KMC_PIX = [$BYTES (1)]	! PIXs of KMC processes
; %PRINT:				  [0,8,8,0]   (+%O'1')
;	  0444						!  indexed by controller number.
;	  0445		tes;
;	  0446	
;	  0447	!
;	  0448	! [End of KDPDAT]




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<BLIS16>XPORT.L16.1		       568        36         6         0
;  NETPKG:<V3P0>MCBLIB.L16.7		       372         5         1         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200         1         0         0





; Run Time:	   00:12.5
; Elapsed Time:	   00:45.0
; Memory Used:	25 pages
; Library Precompilation Complete