mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
3.0 KiB
43 lines
3.0 KiB
/* Trakker defines */
|
|
#define NUM_SEQUENCES_TRK 8 /* Maximum number of possible setup sequences */
|
|
#define SEQUENCE_SIZE_TRK 25 /* Length of a setup sequence for Trakker or jumperless boards */
|
|
#define TRAK_MODE_ARRAY_SIZE 7
|
|
|
|
/* jumperless sequence size */
|
|
#define SEQUENCE_SIZE 16 /* Length of the setup sequence for a jumperless IO card */
|
|
/* ==================== CATUION CATUION CATUION CATUION ==================== */
|
|
/* The following define is a copy of the same define in Ring 3: HIOCFG.H */
|
|
#define dMAX_BOARD_TYPES 16 /* Number of board types which can be specified in id register (4-bits) */
|
|
/* ==================== CATUION CATUION CATUION CATUION ==================== */
|
|
|
|
#define MAX_CONFIG_BYTES 15 /* For ISA jumperless cards, 15 is max configuration bytes (for FC20 programmed
|
|
* for 16bit mode). For SCSI, it will take more, number TBD. See below for
|
|
* explanation of configuration bytes. */
|
|
|
|
typedef struct S_TrakConfigParms { /* Input/Output structure for ConfigureTrakker */
|
|
DriveParms drive_parms; /* Replacement for HIOParms up in the Ring 3 app. (COLOBACK.DLL) */
|
|
dBoolean full_cfg; /* Boolean indicator to control re-awake or full test/config. */
|
|
dUByte trk_seq[NUM_SEQUENCES_TRK][SEQUENCE_SIZE_TRK]; /* Multiple array of bytes for Trakker wake-up sequences */
|
|
dUByte trk_mode[TRAK_MODE_ARRAY_SIZE]; /* Bit combinations for handshake & ect. based on mode number 0-6 */
|
|
|
|
dUByte min_cntl_delay; /* I/O value used only for hio_CalculateDelays */
|
|
dUByte min_data_rd_delay; /* I/O value used only for hio_CalculateDelays */
|
|
dUByte min_data_wr_delay; /* I/O value used only for hio_CalculateDelays */
|
|
dUByte cfg_file_cntl_delay; /* I/O minimum control delay from configuration file */
|
|
dUByte cfg_file_data_delay; /* I/O minimum data delay from configuration file */
|
|
dUWord trakker_xfer_cnt; /* Number of bytes to be transfered to/from Trakker during testing */
|
|
} TrakConfigParms, *TrakConfigParmsPtr;
|
|
|
|
typedef struct S_JumperlessConfigParms { /* Input/Output structure for ConfigureTrakker */
|
|
DriveParms drive_parms; /* Replacement for HIOParms up in the Ring 3 app. (COLOBACK.DLL) */
|
|
dBoolean pc_slot; /* dTRUE: board resides in an 8 bit slot, dTRUE: 16 bit slot */
|
|
dUByte board_type_array[dMAX_BOARD_TYPES]; /* Look-up table to translate value from ID register */
|
|
dUByte board_config_bytes[MAX_CONFIG_BYTES]; /* Series of bytes used to control IO, DMA... on jumperless */
|
|
/* The config_bytes array has the following format:
|
|
* Byte 0: Number of total bytes in the array (N).
|
|
* Byte 1: Offset of first configuration byte to write.
|
|
* Byte 2: First configuration byte.
|
|
* Bytes 3 - N: Each pair of bytes specifies an offset and
|
|
* the corresponding configuration byte. */
|
|
} JumperlessConfigParms, *JumperlessConfigParmsPtr;
|
|
|