
SMSC DS – FDC37N958FR
Page 117
Rev. 09/01/99
data at the maximum ISA rate so that software
may generate performance metrics. The FIFO
size and interrupt threshold can be determined by
writing bytes to the FIFO and checking the full and
serviceIntr bits.
The writeIntrThreshold can be derermined by
starting with a full tFIFO, setting the direction bit to
“0” and emptying it a byte at a time until
serviceIntr is set. This may generate a spurious
interrupt, but will indicate that the threshold has
been reached.
The readIntrThreshold can be derermined by
setting the direction bit to “1” and filling the empty
tFIFO a byte at a time until serviceIntr is set. This
may generate a spurious interrupt, but will indicate
that the threshold has been reached.
Data bytes are always read from the head of
tFIFO regardless of the value of the direction bit.
For example if 44h, 33h, 22h is written to the
FIFO, then reading the tFIFO will return 44h, 33h,
22h in the same order as was written.
cnfgA (Configuration Register A)
ADDRESS OFFSET = 400H
Mode = 111
This register is a read only register. When read,
10H is returned. This indicates to the system that
this is an 8-bit implementation. (PWord = 1 byte)
cnfgB (Configuration Register B)
ADDRESS OFFSET = 401H
Mode = 111
BIT 7 compress
This bit is read only. During a read it is a low
level. This means that this chip does not support
hardware RLE compression. It does support
hardware de-compression!
BIT 6 intrValue
Returns the value on the ISA iRq line to determine
possible conflicts.
BITS 5:0 Reserved
During a read are a low level. These bits cannot
be written.
ecr (Extended Control Register)
ADDRESS OFFSET = 402H
Mode = all
This register controls the extended ECP parallel
port functions.
BITS 7 - 5
These bits are Read/Write and select the Mode.
BIT 4 nErrIntrEn
Read/Write (Valid only in ECP Mode)
1:
Disables the interrupt generated on the
asserting edge of nFault.
0: Enables an interrupt pulse on the high to low
edge of nFault. Note that an interrupt will be
generated if nFault is asserted (interrupting)
and this bit is written from a 1 to a 0. This
prevents interrupts from being lost in the time
between the read of the ecr and the write of
the ecr.
BIT 3 dmaEn
Read/Write
1:
Enables DMA (DMA starts when serviceIntr is
0).
0:
Disables DMA unconditionally.
BIT 2 serviceIntr
Read/Write
1:
Disables DMA and all of the service
interrupts.
0:
Enables one of the following 3 cases of
interrupts. Once one of the 3 service
interrupts has occurred serviceIntr bit shall be
set to a 1 by hardware. It must be reset to 0
to re-enable the interrupts. Writing this bit to a
1 will not cause an interrupt.
case dmaEn=1:
During DMA (this bit is set to a “1” when
terminal count is reached).
case dmaEn=0 direction=0: