• Please review our updated Terms and Rules here

XTFDC Tech Support Please

olePigeon

Veteran Member
Joined
Aug 14, 2009
Messages
1,266
Location
Silicon Valley
After much Googling and fiddling around, I think I'm on the right track? There's surprisingly little to no documentation on troubleshooting the XTFDC.

The Multi-Floppy BIOS utility shows my primary at IRQ6 / DRQ2, which is correct. I want to use my XTFDC as a secondary controller, as my primary is integrated with my serial & HDD controllers, and that can't be disable. I've disabled COM2 on my multi-card to free up IRQ3 / DMA3, as I discovered I had no IRQs left. I have my Floppy Emulator connected on a single device non-twisted cable connected to CON1, and my 360K drive on a single device non-twisted cable connected to CON2. I just don't have a multi-device floppy cable at the moment. I'm also a bit confused by physical versus logical, and how it pertains to which connector the drive is on (and perhaps in what order.)

Question: When I add a floppy drive to my secondary controller, what do I put for physical drive number (0-3) and logical drive number (0-2) for CON1 and CON2? I want CON1 as my Floppy Emulator, and CON2 as my 360K drive.

Also: The XTFDC insists on booting to A drive, where it then fails with error 80 and says to press F for original IPL. Is there a way to change this so it defaults to C like in my motherboard's BIOS?


And some hardware information:

Intel Overdrive 486DX4 100
American Megatrends BIOS

SoundBlaster 16 SCSI (IRQ5)
Cirrus CL24 TrueColor (IRQ ???)
VLB multi card (don't know the brand; has a ST or TS in a circle on it.) (IRQ4, IRQ6, IRQ7)


Side note: When I enable Secondary Controller in the BIOS Utility options for IRQ3 / DMQ3, HWINFO still doesn't show IRQ3 or DMA3 being used. So I don't know if it's working.

I'd continue to use my MicroSolutions card, but it's not compatible with my 486's cache memory. My computer takes a significant performance hit with the cache disabled. :(
 
Which Micro Solutions card, exactly? The only way I can think of that would collide with your system's cache would be the on-board BIOS, perhaps--and there are installable drivers for that. Floppy controllers generally can share IRQ 6/DMA 2; the port only needs to be different; 0370h is the common choice. But you need a driver that knows that you're using more than one controller; see Maxtherabbit for that one.
 
Which Micro Solutions card, exactly? The only way I can think of that would collide with your system's cache would be the on-board BIOS, perhaps--and there are installable drivers for that. Floppy controllers generally can share IRQ 6/DMA 2; the port only needs to be different; 0370h is the common choice. But you need a driver that knows that you're using more than one controller; see Maxtherabbit for that one.

I was using the Compaticard I Rev C. It worked as expected with the software that came with it (and configured in CONFIG.SYS).

IRQs and DMAs are all new to me, so are the ports.

Can you elaborate on the drivers? Are there 3rd party drivers? Did I overlook a software component for my XTFDC?
 
Well, the CC I is very old and uses its own auxiliary register conventions. So you need the driver provided with the card--it's so old that there are no other drivers as far as I know. CC IV, on the other hand, is more akin to the XTFDC in that port and register layout is pretty much standard. Beyond what I've said in general about sharing everything but the port address, look to maxtherabbit's posting on his driver. That should work with the XTFDC configured as a secondary controller.

I take it that you can't simply disable the integrated FDC on your motherboard?
 
Well, the CC I is very old and uses its own auxiliary register conventions. So you need the driver provided with the card--it's so old that there are no other drivers as far as I know. CC IV, on the other hand, is more akin to the XTFDC in that port and register layout is pretty much standard. Beyond what I've said in general about sharing everything but the port address, look to maxtherabbit's posting on his driver. That should work with the XTFDC configured as a secondary controller.

I take it that you can't simply disable the integrated FDC on your motherboard?

Sorry, was late to a movie otherwise I would have responded sooner. :)

It's not integrated, it's on the combo card. But I only now just realized that I can jumper the VLB card to disable the floppy. I can give that a try.

I assume you mean this one:

https://www.vcfed.org/forum/forum/t...vel-access-to-secondary-370h-fdc-driver/page3

I'll give it a go. :)

Thanks a bunch!
 
Yup, that one. But if you disable the VLB floppy drive, just configure the XTFDC as the primary (port 3F0, IRQ 6, DMA 2) and you should be fine.
 
Is there a port to use for the secondary controller? This is my planned setup for when I tinker with it this weekend:

DEVICE=DOSFDRV.SYS /U:0 /D:7 /P:3F0
DEVICE=DOSFDRV.SYS /U:1 /D:1 /P:3F0
DEVICE=DOSFDRV.SYS /U:2 /D:7 /P:370
DEVICE=DOSFDRV.SYS /U:3 /D:0 /P:370

Drive 0 is my 1.4 MB 3.5" drive
Drive 1 is my 1.2 MB 5.25" drive
Drive 2 is my Floppy Emulator (1.4 MB Drive) (Secondary Controller)
Drive 3 is my 360K 5.25" drive (Secondary Controller)

So if I'm using this driver, do I need the BIOS enabled on the XTFDC? I still have the issue that it insists on booting to A, then I have to wait for it to fail, then press F to continue.
 
Just like your CONFIG.SYS says, I/O port 370 (hex), with IRQ 6 DMA 2 is pretty much standard for a secondary controller (if there ever was such a standard).
 
I'm a bit lost by the proposed configuration you posted. If you're intending to disable the FDC on your VLB combo card and use the XTFDC as a four drive controller, then there should be no need for a secondary port address. I'm not super familiar with the option ROM that comes with the XTFDC, but what I would try first is disabling that and using the DOSFDRV to only manage the 3rd and 4th drives on the controller. Leave the first two units to be handled by the main BIOS of the mother board

DEVICE=DOSFDRV.SYS /U:2 /D:7
DEVICE=DOSFDRV.SYS /U:3 /D:0

(you can omit the port argument if it's 3F0)
 
Last edited:
I'm a bit lost by the proposed configuration you posted. If you're intending to disable the FDC on your VLB combo card and use the XTFDC as a four drive controller, then there should be no need for a secondary port address. I'm not super familiar with the option ROM that comes with the XTFDC, but what I would try first is disabling that and using the DOSFDRV to only manage the 3rd and 4th drives on the controller. Leave the first two units to be handled by the main BIOS of the mother board

DEVICE=DOSFDRV.SYS /U:2 /D:7
DEVICE=DOSFDRV.SYS /U:3 /D:0

(you can omit the port argument if it's 3F0)

Thanks for replying. I initially wanted to keep using my other controller and using the XTFDC as my secondary controller. But as I'm typing this, I'm thinking it'd be best just to use the XTFDC. Avoid confusion and conflicts.

I might fiddle with it though. Assuming I continue to use it as my secondary controller, presumably I'd use this? :

DEVICE=DOSFDRV.SYS /U:2 /D:7 /P:370
DEVICE=DOSFDRV.SYS /U:3 /D:0 /P:370

Then if that doesn't work for whatever reason, disable the VLB FDC and set XTFDC as primary, then remove the port as suggested and let my BIOS handled drives 0 and 1.
 
Thanks for replying. I initially wanted to keep using my other controller and using the XTFDC as my secondary controller. But as I'm typing this, I'm thinking it'd be best just to use the XTFDC. Avoid confusion and conflicts.

I might fiddle with it though. Assuming I continue to use it as my secondary controller, presumably I'd use this? :

DEVICE=DOSFDRV.SYS /U:2 /D:7 /P:370
DEVICE=DOSFDRV.SYS /U:3 /D:0 /P:370

Then if that doesn't work for whatever reason, disable the VLB FDC and set XTFDC as primary, then remove the port as suggested and let my BIOS handled drives 0 and 1.

Not quite - the unit numbers are relative to the controller. So if you have two drives on the primary they would be units 0 and 1 and the two drives on the secondary would also be units 0 and 1.

So:
DEVICE=DOSFDRV.SYS /U:0 /D:7 /P:370
DEVICE=DOSFDRV.SYS /U:1 /D:0 /P:370

Provided you plug your regular twisted floppy cable into 'P18' on the XTFDC
 
Not quite - the unit numbers are relative to the controller. So if you have two drives on the primary they would be units 0 and 1 and the two drives on the secondary would also be units 0 and 1.

So:
DEVICE=DOSFDRV.SYS /U:0 /D:7 /P:370
DEVICE=DOSFDRV.SYS /U:1 /D:0 /P:370

Provided you plug your regular twisted floppy cable into 'P18' on the XTFDC

Thank you. I have two single device regular cables that I'm using from my CompatiCard. I may have to get a twisted cable this weekend, that seems like the easiest solution.

Out of curiosity, if I plug one device in the first connector, will the second connector become tertiary and need a new port? Or will it scan the second connector and assign them in order anyway?


Also, thank you for clearing that up for me. I didn't know how to assign the drives in the Floppy Utility thingy that pops up. I don't know if that's the BIOS or the option ROM doing the boot menu. I sure hope it's the option ROM, because it's interfering with the boot sequence. It insists on booting to A drive (and very slowly) instead of C.
 
If you plug one device in to the first connector and one into the second, they will be units 0 and 2 respectively. The card will only occupy one single port in any case. The FDC IC has 4 drive selects and two of them are hard wired to each pin header

ETA: if you are using single drive non-twisted cables those would make the drives units 1 and 3, presuming the drives are strapped for DS1 as per the PC standard
 
If you plug one device in to the first connector and one into the second, they will be units 0 and 2 respectively. The card will only occupy one single port in any case. The FDC IC has 4 drive selects and two of them are hard wired to each pin header

ETA: if you are using single drive non-twisted cables those would make the drives units 1 and 3, presuming the drives are strapped for DS1 as per the PC standard

I feel like I'm close The driver fails to load for any drive connected to the second floppy connector. I have the following set up for my config.sys:

DEVICE=DOSFDRV.SYS /U:1 /D:0 /P:370
DEVICE=DOSFDRV.SYS /U:3 /D:7 /P:370

Unfortunately I couldn't get a twisted cable, the store was closed amidst moving to a new location. Also, it was over 90F and I don't have air conditioning.

Also, disabling the option Boot ROM solved my slow-floppy drive issue & boot failure.

However, the drive that is detected won't read or format disks.
 
Ooo, some encouraging changes: I forgot to set the IRQ and DMA back to 6 and 2. After I did that, it was able to read / format disks to my 360K drive. :D

Gonna un-REM my other drive config and see what happens.
 
Yeah. With the CompatiCard, you could have as many cards and drives as you like. I think this particular combination of driver & card is limited to primary and secondary (single port.)

I'm glad it's at least partially working. At least I know I soldered everything OK.
 
Back
Top