On 9 Aug 2011 at 19:00, Tony Duell wrote:
They did
NOT make provision for multiple FDC, although they also
didn't take steps to block it.
The buffer to drive the DMA requrst line on the IBM FDC card is a
3-state drvice, whit the eneable software-controllaable. Thus you can
disable it and allow some other device (like a second FDC) to use that
DMA channel.
The IBM FDC was made perfectly capable of sharing the bus with
another FDC; all that is needed is a separate range of I/O ports.
Absolutely, that's waht I said.
Interrupt and DMA both can be shared. Note that a
more=or-less de
My point is that as the IRQ and DMA request lines are active high, the
only way to share them is to drive them with 3-state buffers that can be
disabled under software control when some other device wishes to use that
IRQ or DMA channel.
IBM kindly used such buffers on the origianl FDC card (and AFAIK all
clone FDCs, even single-chip ones, did likewise). If the had not done so,
having 2 FDCs in the same machine would have been a bit harder.
facto standard for secondary FDC ports (370h-378h) was
well-
established early on. Most floppy controllers respond to a RESET
signal as being in a disabled state.
If it's an exact clone of thr IBM one, it has to. The control signals
come from a '273 latch at U17, this is cleared by the hardware reset
signal. One of the outputs enables the DMA request and IRQ buffers (so
these are disabled after a hrdware reset, and have to be enabled by
software writing to this latch), another bit is inverted and used to
reset the 765 FDC chip itself (so this chip is held in the reset state
until the latch is laoded with an appropraite value).
The XT hard disk controller also used DMA channel 3
and a few network
cards also used ISA DMA.
When the PC first came out, did any IBM expansion card other than the
FDC use DMA?
8-bit DMA using what amounts to the DMA controller for
an 8085 gets
pretty clumsy, having to be aware of 64K physical address boundaries
That;s the polite way of putting it!. IBM was even worse than some othr
8088 machines in that they only had page registers (to provide the top 4
bits of the address), one of which served for 2 channels.
Of course they should have used an 8089 line Apricot did, but that's
another story...
-tony