secondary FDC on PC with MS-DOS

Andrew Lynch lynchaj at
Tue Feb 19 20:30:55 CST 2008

>From Andrew Lynch:

> I searched around a bit and found SDRIVE.SYS which refuses to
> acknowledge any of the other FDCs I place in the computer at the
> secondary address (IO address $170).

I/O port 0170H refers to the secondary *hard drive* address (the 
primary being 01f0H).  The secondary FDC address is 037xH (the 
primary is 03FxH).

Let me look around--I've got several old MS-DOS secondary port 
drivers kicking around here.

A word of warning, however.  For a secondary controller using the 
same DMA and IRQ (2 and 6) as the primary, the primary needs to have 
implemented the "enable" bit at I/O port 03F2H so it can float its 
own DMA and IRQ lines when the secondary controller is active.  Not 
all controllers will do this, even though it's documented as part of 
the standard PC architecture.

If you want to check out the operation of your secondary controller, 
hook a drive to it and find copy of FORMATQM or COPYQM (or 22DISK...) 
and set up a DISKETTE.CFG file for it to use.

In the meantime, I'll look for a good driver.



Hi Chuck!  Thanks to you and Mike S too for replying.

I accidentally said $170 for the address but I really meant $3F0 and $370.
I had been staring at these IO cards for a while and got confused.  Sorry!

The primary FDC am using ($3F0) is on a Western Digital ST-506/ST-412/FDC
controller combo board.  I have been using a variety of Multi IO boards
trying to get the secondary FDC to work ($370).  My plan is to share the DMA
and IRQ lines which *should* work since I won't be using the drives at the
same time.

If you can find a driver which will let me access the drive from MS-DOS,
that'd certainly be helpful.  It is possible that the primary FDC is
interfering with the enable bit but I will try the 22disk approach and see
if that helps.

I am kind of surprised this aspect of the project has been as much trouble
as it has been.  I would have thought the secondary FDC from DOS would have
been well explored but there is practically nothing on the internet on the

This is easy in CP/M and seems like it would be in Linux too.  I learn
something everyday!

Thanks for your help!  Much appreciated!

Andrew Lynch

PS, I tried the 22disk approach and it worked like a charm.  I think
SDRIVE.SYS might be the problem.  I was able to write a custom DISKETTE.CFG
and format the disk in a CP/M format, copy files to it, and get a directory
from the drive attached to the secondary FDC.  At least we know the hardware
is basically good

More information about the cctech mailing list