• Please review our updated Terms and Rules here

DOS File Level access to Secondary (370H) FDC - Driver

I'm sure I'm doing something wrong, but not having any luck with this driver. The machine has the primary floppy (FlashFloppy Gotek) attached to a Promise 4030 IDE/floppy card and that's been working correctly. I installed an Adaptec 1542B adapter jumpered as secondary, where it is seen correctly by Imagedisk. I added this line to config.sys:
device=c:\dosfdrv.sys /u:2 /d:0
The system boots with no errors and reports the availability of the floppy at drive E (second hard drive partition is D). However when I try to access the drive from DOS, e.g. 'DIR E:' the system just hangs with no disk access or motor start occurring. Shouldn't this be working? The attached drive is a standard DSDD full-height drive that's jumpered as 'Drive 1' on the end of a twisted cable.
 
I tried that and it made no difference. But, I believe the underlying problem is a conflict with the floppy controller on my Promise 4030VL board. It seems to be all or nothing, if activated it responds as the secondary controller always. Bummer. Odd that Imagedisk was able to see the Adaptec and use it properly.
 
I was just playing with a DC4030VL-2 right now, and it doesn't actually use the secondary FDC port - at least DOSFDRV won't load if I add /P:370. Leaving that option out, and it works - my Gotek drive on the second cable works (and faster than with SDRIVE.SYS too, I might add).
 
I was just playing with a DC4030VL-2 right now, and it doesn't actually use the secondary FDC port - at least DOSFDRV won't load if I add /P:370. Leaving that option out, and it works - my Gotek drive on the second cable works (and faster than with SDRIVE.SYS too, I might add).
It's possible that @shirsch was struggling because the promise card does not properly handle IRQ/DMA tristating. Some FDC will not play nice with a secondary FDC because they can't share IRQ/DMA even if there is no port conflict.
 
It's possible that @shirsch was struggling because the promise card does not properly handle IRQ/DMA tristating. Some FDC will not play nice with a secondary FDC because they can't share IRQ/DMA even if there is no port conflict.
Actually the DC-4030VL* has both controller ports on the same I/O port, so trying to access it via the secondary address only accidentally worked with the other driver I tried. It works quite well with DOSFDRV now. I haven't tried using more than one floppy at a time, though I *have* copied from B: to H: (the third drive). Slow, but no other issues.
 
OK I've squashed the bug, it was stack corruption. Release attached to the post. To the best of my knowledge this version is working, but PLEASE do not use this driver to try to read irreplaceable disks without write-protecting them. If you do you are bad and should feel bad.

DEVICE=DOSFDRV.SYS /U:unit [/D:type] [/P:port] [/SC]
Is there a newer version of DOSFDRV.SYS than April 11, 2020?
 
The newest version of the driver is linked in this very thread. I have not worked on it since. I have refocused my efforts to working on an option ROM for better floppy controller support.
 
Back
Top