VOGONS


First post, by Schoermie

User metadata
Rank Newbie
Rank
Newbie

Hello!
This is my first post on Vogons, please correct me if I make any mistakes.
I hope this is the right category.
If you need more info, please ask.

I got an 386DX40 based PC recently and wanted to add a Gotek drive to have a total of 3 floppy drives.

Specs:
Octek Jaguar V,
8 MB RAM
Trident TVGA9000b vga card

To do this i got a second multi IO controller and jumpered it to be the second floppy controller. Now I have a Goldstar IDE V3L and a Winbond PM540.
I also updated the BIOS to the MRBIOS version (it came with an AMI Bios) to be able to use a 2gb cf-card and get 4 floppy support. So far so good, the BIOS detects the second controller and let's me configure it.
MS-Dos 6.22 also recognizes the drives but can't read from them, I just get a invalid media type error when trying to access it.

The configuration I want to get working is:
Card 1 (Winbond PM540), CF Card + first floppy controller: Gotek as first drive, working fine.
Card 2 (Goldstar IDE V3L), second floppy controller: 1st 1,44mb, 2nd 1,2mb
(I also tried different configs and drives, the first controller always works fine, but the second doesn't)

I specified the drive types in config.sys using drivparm and driver.sys but nothing seems to work.
Funnily enough it's possible to format a disk and the head is moving and all, but reading is just not working.
I also deactivated everything else (COM and LPT ports, IDE controller portion,...) I don't need.

Does anyone have a idea what else I can try?

Thanks in advance!

Reply 1 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

So in a "two floppy controller" setup there are multiple potential settings for the controller. The "standard" way, if you can call it that, is for the primary FDC to be accessible to port 0x3F0 and the secondary at port 0x370 - with both of them sharing IRQ6/DMA2. There is a bit in the DOR of each floppy controller that can be toggled to enable IRQ/DMA and the driver/BIOS is supposed to toggle this bit in each controller appropriately when switching back and forth.

Now, there are several things that could be wrong here since this is a pretty uncommon thing to do it wasn't well supported:
1) the secondary FDC port your goldstar uses is different (doubtful since you can seek the drive)
2)the goldstar is set to a different IRQ/DMA than 6 and 2
3)the IRQ/DMA toggle bit is not properly respected by one or both of your controllers
4)MR BIOS expects the secondary controller at a different IRQ/DMA than 6 and 2

Reply 2 of 25, by Schoermie

User metadata
Rank Newbie
Rank
Newbie

Thanks for your reply!

maxtherabbit wrote on 2021-08-16, 13:36:

1) the secondary FDC port your goldstar uses is different (doubtful since you can seek the drive)

I looked in the manual of the Goldstar Card and I can choose between 3F0h and 370h, I jumpered it to 370h. (the BIOS also states these two addresses for the primary and second controller)

maxtherabbit wrote on 2021-08-16, 13:36:

2)the goldstar is set to a different IRQ/DMA than 6 and 2
3)the IRQ/DMA toggle bit is not properly respected by one or both of your controllers

That's a good hint, I used CheckitPro to see the IRQ and I/O addresses and curiously the address at 3F0h is showing as a floppy controller but the 370 is "unknown". I also only found IRQ6 as the only floppy drive related IRQ.
I've yet to find software for checking the DMA channels, any suggestions?

maxtherabbit wrote on 2021-08-16, 13:36:

4)MR BIOS expects the secondary controller at a different IRQ/DMA than 6 and 2

I don't think so, as it sees the controllers and everything fine, but could be, I'll do some research.

(I hope I did the quoting right)

Reply 3 of 25, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie
Schoermie wrote on 2021-08-16, 13:21:

Funnily enough it's possible to format a disk and the head is moving and all, but reading is just not working.

Just to check, have you tried with just one controller and one floppy drive, to make sure that the drive and disks are working? I think that when DOS formats a disk then it first writes out the first track, then reads it back. If if fails to read back that track then the format fails. So if you can format a disk then I think that means some data can be read correctly (the index track).

Reply 4 of 25, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Try Snooper, http://www.conradshome.com/jvias/ been using that since 486 days, seems fairly reliable in IRQ and DMA detection.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 5 of 25, by Schoermie

User metadata
Rank Newbie
Rank
Newbie
snufkin wrote on 2021-08-16, 14:27:

Just to check, have you tried with just one controller and one floppy drive, to make sure that the drive and disks are working?

I tried different drives and disks, made sure that the disk and drive combination works on the primary controller, but it doesn't work on the second controller.

snufkin wrote on 2021-08-16, 14:27:

I think that when DOS formats a disk then it first writes out the first track, then reads it back. If if fails to read back that track then the format fails. So if you can format a disk then I think that means some data can be read correctly (the index track).

I don't know if it can read, if I execute format b: it comes up with a media type error but on a retry formats the disk to a 100% (the head also moves completely over the disk at this point) then asks me if i want to format another disk, but i can't read the disk after format, it's the same media type error as before. Sometimes I do get a garbled mess after the dir command.
I'll try if the disk is readable after the format in another PC, I somehow didn't think of that.

Reply 6 of 25, by Schoermie

User metadata
Rank Newbie
Rank
Newbie
BitWrangler wrote on 2021-08-16, 14:28:

Try Snooper, http://www.conradshome.com/jvias/ been using that since 486 days, seems fairly reliable in IRQ and DMA detection.

thanks, works quite well!

It only finds IRQ6 and DMA2 for Floppy drives, so I would guess that both cards share the same IRQ and DMA.

Attachments

  • Filename
    SNOOPER.LOG
    File size
    1.95 KiB
    Downloads
    33 downloads
    File license
    Public domain

Reply 7 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

I don't think ANY software can definitively identify whether a given card is attached to a given IRQ line, physically

all they do is look at the IVT and see which ones are hooked afaik

Reply 8 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

my primary troubleshooting approach if I were in your position would be to try exchanging the primary floppy controller card for a different one

it's likely that the IRQ/DMA channels are set properly on both cards, but my hunch is that the primary card is not respecting the IRQ/DMA disable bit

Reply 9 of 25, by Schoermie

User metadata
Rank Newbie
Rank
Newbie
maxtherabbit wrote on 2021-08-16, 15:02:

my primary troubleshooting approach if I were in your position would be to try exchanging the primary floppy controller card for a different one

it's likely that the IRQ/DMA channels are set properly on both cards, but my hunch is that the primary card is not respecting the IRQ/DMA disable bit

I guess that's the best thing I can do, the problem is that I don't have another controller card, would it make sense to get the same Goldstar card I now have as the second controller?

Reply 10 of 25, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie

Your only option is a four-port controller. In this case, you disable the floppy drives in the BIOS and rely on the controller's option ROM to handle all the drives. These are difficult to find. You could build yourself an XT-FDC, but the option ROM does have its issues, for one, it is much too slow for daily use.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 11 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Schoermie wrote on 2021-08-16, 15:04:
maxtherabbit wrote on 2021-08-16, 15:02:

my primary troubleshooting approach if I were in your position would be to try exchanging the primary floppy controller card for a different one

it's likely that the IRQ/DMA channels are set properly on both cards, but my hunch is that the primary card is not respecting the IRQ/DMA disable bit

I guess that's the best thing I can do, the problem is that I don't have another controller card, would it make sense to get the same Goldstar card I now have as the second controller?

I suppose. I'd hate to see you spend money on a hunch and end up being wrong about it though. How about this... remove the primary floppy controller from the system entirely and try using only the goldstar (still set to secondary) with the help of my DOSFDRV driver. You would need to disable all floppy drives in the MR BIOS and let my driver assign it a drive letter after your hard drives. (D, etc.)

If that works, you can try readding the primary card back into the mix, but only configuring the primary card's drives in the MR BIOS. This will help us determine if your problem is with the hardware or something with MR BIOS

Reply 12 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

https://www.vcfed.org/forum/forum/technical-s … 9840#post919840

Disregard the stupid smiley face that's VCFED's forum software fucking up

[/P:port] is what it should read

Reply 13 of 25, by Schoermie

User metadata
Rank Newbie
Rank
Newbie
maxtherabbit wrote on 2021-08-16, 15:11:

I suppose. I'd hate to see you spend money on a hunch and end up being wrong about it though. How about this... remove the primary floppy controller from the system entirely and try using only the goldstar (still set to secondary) with the help of my DOSFDRV driver. You would need to disable all floppy drives in the MR BIOS and let my driver assign it a drive letter after your hard drives. (D, etc.)

If that works, you can try readding the primary card back into the mix, but only configuring the primary card's drives in the MR BIOS. This will help us determine if your problem is with the hardware or something with MR BIOS

I just tried your DOSFDRV with my current configuration without removing the primary controller card. I disabled the secondary drives in the BIOS an booted into Dos. It loads and is able to seek the drives but it only reads a garbled mess when using dir. I tried formatting a disk and i was able to, but as I tried to write a textfile to it, edit gave a file not found error and there was that mess again when using the dir command. I will try to remove the primary controller hopefully today, but the problem is that my cf-card needs to be reformatted otherwise the Goldstar controller can't for whatever reason boot from it. I'll report back when I tried removing the primary controller.

Reply 14 of 25, by Schoermie

User metadata
Rank Newbie
Rank
Newbie
Schoermie wrote on 2021-08-16, 16:56:
maxtherabbit wrote on 2021-08-16, 15:11:

I suppose. I'd hate to see you spend money on a hunch and end up being wrong about it though. How about this... remove the primary floppy controller from the system entirely and try using only the goldstar (still set to secondary) with the help of my DOSFDRV driver. You would need to disable all floppy drives in the MR BIOS and let my driver assign it a drive letter after your hard drives. (D, etc.)

If that works, you can try readding the primary card back into the mix, but only configuring the primary card's drives in the MR BIOS. This will help us determine if your problem is with the hardware or something with MR BIOS

I just tried your DOSFDRV with my current configuration without removing the primary controller card. I disabled the secondary drives in the BIOS an booted into Dos. It loads and is able to seek the drives but it only reads a garbled mess when using dir. I tried formatting a disk and i was able to, but as I tried to write a textfile to it, edit gave a file not found error and there was that mess again when using the dir command. I will try to remove the primary controller hopefully today, but the problem is that my cf-card needs to be reformatted otherwise the Goldstar controller can't for whatever reason boot from it. I'll report back when I tried removing the primary controller.

I now removed the primary controller and only left the second one in the system. Now the 1.44 MB drive works flawlessly, the 1.2 MB drive doesn't, but it could be a dead disk (I don't have any more to test handy at the moment).
So I think you are right, the primary controller did mess up the IRQ and / or the DMA.

Do you know how I could attempt to solve this conflict or am I out of luck with that particular card? (It doesn't even have a jumper setting for use as a secondary floppy controller)

I found a very similar Goldstar prime2c locally for a good price and I think I'm giving it a shot.

Reply 15 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

Just grab another controller. If the winbond doesn't respect the value of the IRQ/DMA disable bit then no amount of configuration in the world will allow it to function in a dual controller setup, it is just a design flaw.

Bear in mind when using my driver - it has a limitation of not supporting "sub-caliber" disks. So if you're using a 1.2MB drive with it the disk MUST be high density not DD. Same goes for the 1.44MB drive.

Reply 16 of 25, by Schoermie

User metadata
Rank Newbie
Rank
Newbie
maxtherabbit wrote on 2021-08-16, 18:51:

Just grab another controller. If the winbond doesn't respect the value of the IRQ/DMA disable bit then no amount of configuration in the world will allow it to function in a dual controller setup, it is just a design flaw.

I guess I will try that, another excuse to get another vintage PC so the Winbond controller doesn't go to waste ;D

maxtherabbit wrote on 2021-08-16, 18:51:

Bear in mind when using my driver - it has a limitation of not supporting "sub-caliber" disks. So if you're using a 1.2MB drive with it the disk MUST be high density not DD. Same goes for the 1.44MB drive.

I forgot about that, but that would explain why the 1.44 MB drive worked (pretty sure it was a 1.44 MB disk I tried) whereas with the 1.2 MB drive I'm not so sure because my test disk has no label.

Thank you so much for your help, without you I wouldn't have been able to narrow down the problem to the IRQ / DMA conflict.

When I get a new card I will report back if it worked!

Reply 17 of 25, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
maxtherabbit wrote on 2021-08-16, 18:51:

Bear in mind when using my driver - it has a limitation of not supporting "sub-caliber" disks. So if you're using a 1.2MB drive with it the disk MUST be high density not DD. Same goes for the 1.44MB drive.

Didn't know that. Do you plan to remove this limitation in the future?

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers

Reply 18 of 25, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Bondi wrote on 2021-08-17, 17:45:
maxtherabbit wrote on 2021-08-16, 18:51:

Bear in mind when using my driver - it has a limitation of not supporting "sub-caliber" disks. So if you're using a 1.2MB drive with it the disk MUST be high density not DD. Same goes for the 1.44MB drive.

Didn't know that. Do you plan to remove this limitation in the future?

I'd like to, but I'm not sure how. When DOS installs a block device driver, the driver must provide a BPB to DOS which defines the number of cylinders and sectors per track. This is done at the load time of the driver without regard for what's in the drive. I'm not sure how, or if it's even possible, to change that on the fly at run time after reading track 0

Reply 19 of 25, by Bondi

User metadata
Rank Oldbie
Rank
Oldbie
maxtherabbit wrote on 2021-08-17, 18:12:
Bondi wrote on 2021-08-17, 17:45:
maxtherabbit wrote on 2021-08-16, 18:51:

Bear in mind when using my driver - it has a limitation of not supporting "sub-caliber" disks. So if you're using a 1.2MB drive with it the disk MUST be high density not DD. Same goes for the 1.44MB drive.

Didn't know that. Do you plan to remove this limitation in the future?

I'd like to, but I'm not sure how. When DOS installs a block device driver, the driver must provide a BPB to DOS which defines the number of cylinders and sectors per track. This is done at the load time of the driver without regard for what's in the drive. I'm not sure how, or if it's even possible, to change that on the fly at run time after reading track 0

So will a 1.2 meg drive read 360k floppies if the driver is loaded with type 0 (360kB DSDD 5.25") parameter?

PCMCIA Sound Cards chart
archive.org: PCMCIA software, manuals, drivers