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.
92 lines
2.4 KiB
92 lines
2.4 KiB
//-----------------------------------------------------------------------
|
|
//
|
|
// FILE: pc9010.h
|
|
//
|
|
// PC9010 Definitions File
|
|
//
|
|
// Revisions:
|
|
// 09-01-92 KJB First.
|
|
// 03-19-93 JAP Implemented condition build FAR and NEAR pointers
|
|
// 03-25-93 JAP Fixed up prototype typedef inconsistencies
|
|
// 05-06-93 KJB Added prototype for PC9010CheckAdapter
|
|
// 05-14-93 KJB Added CardParseCommandString for card specific
|
|
// standard string parsing across platforms.
|
|
// Changed CardCheckAdapter to accept an
|
|
// Initialization info from command line, ie
|
|
// force bi-directional ports, etc.
|
|
// All functions that used to take an PBASE_REGISTER
|
|
// parameter now take PWORKSPACE. CardCheckAdapter
|
|
// takes the both a PINIT and a PWORKSPACE parameters.
|
|
//
|
|
//-----------------------------------------------------------------------
|
|
|
|
//
|
|
// PC9010 Register Offsets
|
|
//
|
|
|
|
#define PC9010_CONFIG 0
|
|
#define PC9010_CONTROL 2
|
|
#define PC9010_FIFO_STATUS 3
|
|
#define PC9010_FIFO 4
|
|
#define PC9010_N5380 8
|
|
|
|
// size of fifo in bytes
|
|
|
|
#define PC9010_FIFO_SIZE 128
|
|
|
|
// Config Register for PC9010
|
|
|
|
#define CFR_VERSION 0xF0
|
|
#define CFR_SWITCH 0x0F
|
|
|
|
// Control Register for PC9010
|
|
|
|
#define CTR_CONFIG 0x80
|
|
#define CTR_SWSEL 0x40
|
|
#define CTR_IRQEN 0x20
|
|
#define CTR_DMAEN 0x10
|
|
#define CTR_FEN 0x8
|
|
#define CTR_FDIR 0x4
|
|
#define CTR_F16 0x2
|
|
#define CTR_FRST 0x1
|
|
|
|
// Fifo Status Register for PC9010
|
|
|
|
#define FSR_IRQ 0x80
|
|
#define FSR_DRQ 0x40
|
|
#define FSR_FHFUL 0x20
|
|
#define FSR_FHEMP 0x10
|
|
#define FSR_FLFUL 0x08
|
|
#define FSR_FLEMP 0x04
|
|
#define FSR_FFUL 0x02
|
|
#define FSR_FEMP 0x01
|
|
|
|
// constant JEDEC ID
|
|
|
|
#define PC9010_JEDEC_ID 0x8f
|
|
|
|
//
|
|
// Redefined routines
|
|
//
|
|
|
|
// Each PC9010 has a 5380 built in
|
|
|
|
#define N5380PortPut(g,reg,byte) \
|
|
PC9010PortPut(g,PC9010_N5380+reg,byte);
|
|
|
|
#define N5380PortGet(g,reg,byte) \
|
|
PC9010PortGet(g,PC9010_N5380+reg,byte);
|
|
|
|
//
|
|
// public functions
|
|
//
|
|
|
|
BOOLEAN PC9010CheckAdapter (PADAPTER_INFO g);
|
|
USHORT PC9010WriteBytesFast(PADAPTER_INFO g, PUCHAR pbytes,
|
|
ULONG len, PULONG pActualLen, UCHAR phase);
|
|
USHORT PC9010ReadBytesFast(PADAPTER_INFO g, PUCHAR pbytes,
|
|
ULONG len, PULONG pActualLen, UCHAR phase);
|
|
VOID PC9010EnableInterrupt(PADAPTER_INFO g);
|
|
VOID PC9010DisableInterrupt(PADAPTER_INFO g);
|
|
VOID PC9010ResetBus(PADAPTER_INFO g);
|
|
|