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.
Interrupt and DMA both can be shared. Note that a more=or-less de
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.
The XT hard disk controller also used DMA channel 3 and a few network
cards also used ISA DMA.
Once the 80286 came along with its "string" I/O instructions (INS,
OUTS), programmed I/O became quite a bit faster than ISA 8-bit legacy
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
(8237 DMA 'wraps" a 64K physical boundary). Later CPUs with
integrated DMA (e.g. 80186, V40 or even the often-forgotten 8089 I/O
cotntroller) all enjoy a continous 20-bit DMA address space.
--Chuck