PDA

View Full Version : CF card (XT-IDE) corrupted on write when 5.25" floppy is connected



nc_mike
March 7th, 2016, 07:21 PM
Every time I booted up my PC/XT 5160 from a CF card driven off an XT-IDE adapter, the CF card would get corrupted. For example, when it would try to load IOMEGA drivers that were in the IOMEGA folder before booting the system, it would say the driver was not found (it was there before boot-up), and then after boot-up completed, I'd see all of the files gone out if the IOMEGA folder and some huge hidden/read-only entry in the IOMEGA directory that couldn't even be deleted afterwards. The same would happen after the system tried to start mTCP - it would tell me the CFG file couldn't be written and the same thing would happen in that folder. Basically, the CF card was getting severely corrupted on write operations. Running CHKDSK /F would show those folders having been corrupted and the fix would fail as the system wasn't able to write a new FAT saying it was out of space (note that I have 1GB CF cards about half full).

The scenario was more than baffling. I have multiple copies of my system on several different 1GB CF cards, and one by one they'd get corrupted as I'd try to boot each. Down to my last CF backup I was able to boot up by bypassing the IOMEGA and DHCP start - I am guessing in my startup files these were the only things trying to write to the CF card during boot-up.

I was able to make more backups at that point from the good CF card which were not corrupted (yet). I can make duplicate CFs because I am driving two CF drives - one is the primary and the other a slave, off of the XT-IDE.

I nearly pulled my hair out trying to figure out why the CF cards were getting corrupted. I tried commenting near everything out of my AUTOEXEC and CONFIG.SYS - thinking it might have been either a memory manager or a disk cache involved - but those didn't seem to be affecting things after going though the process of elimination and selective add back.

Now on boot up I did occasionally have an issue with my floppy drives; I'd get an occasional 601, but not always. I run a 1.44 3.5" floppy (A: drive) and a 5.25" 1.2MB floppy (B: drive) off of a FDD adapter with its own BIOS. As I said, it didn't happen all the time, and simply doing a POR would often boot the system without the 601. I tried re-seating cards, connectors, and so on, but the problem persisted.

At some point I decided I'd just disconnect the 5.25" floppy, Low and behold, no more CF card corruption. It seems when the 5.25" 1.2MB drive is connected it somehow interferes with the writing to the CF card. I am not exactly sure why that occurs. I don't get any BIOS memory conflict errors ever since I moved the starting address of the XT-IDE from C000 to D000. To change starting address of the XT-IDE I pulled XT-IDE controller BIOS chip out of its socket, bent pin #12, wired it to pin #3, and re-seated the BIOS chip. It seems to work just fine for a good long while without incident and still does, as long as I am using just the 1.44MB 3.5" disk drive and not also the 5.25" floppy drive.

At this point I don't know if the root cause of the CF corruption when the 5.25" floppy is connected. I don't know of it has anything to do with a BIOS address conflict. I didn't think so because the FDD adapter BIOS and XT-IDE BIOS's both seem load fine and never to fail to load), or, something odd with the DMA of the two adapters somehow clashing.

If anyone has ever seem anything like this or has a clue, I'm open to anything. I don't really need the 5.25" floppy anymore (I had only a few old programs I've since transferred to 3.5" diskettes since), but it was nice having both a high density, bootable 1.44MB 3.5" drive and a 1.2MB 5.25" floppy drive. At this point as I said, I've disconnected the 5.25" floppy drive and still have the bootable 1.44MB 3.5" drive and both CF drives work fine without any write corruption.

Thoughts as the the possible cause or or ways to diagnose it further?

Regards,
Mike

pearce_jj
March 7th, 2016, 10:37 PM
How are the CF cards powered?

nc_mike
March 8th, 2016, 03:25 AM
Each has a 5v connector off of a Molex.

bjt
March 8th, 2016, 05:54 AM
I also had corruption problems with my XT-IDE adaptor. I found that different CF cards and different CF-IDE adaptors made it more or less frequent.
I changed to a DOM that plugs directly into the XT-IDE and have had no problems since.

Chuck(G)
March 8th, 2016, 07:14 AM
Have you tried other versions of the XT-IDE adapter? I wonder if the problem is a DMA issue.

glitch
March 8th, 2016, 07:25 AM
I've had similar experience to bjt w.r.t. CF cards/adapters vs. DOMs. I came across a huge lot of 64 and 128 MB DOMs that I use with most of my old machines now. In addition to being more compact, the IDE emulation is better (assuming you weren't using industrial CF cards to start), and the write endurance is much higher (IIRC the 64 MB modules have a 1 million write endurance, basically impossible to reach on old DOS machines). PM me if you need one.

nc_mike
March 8th, 2016, 10:37 AM
I suspect its a DMA issue. The odd thing is my CF cards don't get corrupted now that I've removed the 5.25" floppy drive. I think there are some address jumpers on the FDD adapter; I was thinking I might try experimenting my trying some different addresses on that adapter.

Regards,
Mike

Chuck(G)
March 8th, 2016, 10:53 AM
Can you set up the XT-IDE to perform its transfers in PIO mode?

nc_mike
March 8th, 2016, 01:50 PM
Can you set up the XT-IDE to perform its transfers in PIO mode?

How does one do that?

Regards,
Mike

jh1523
March 8th, 2016, 07:29 PM
You run the configuration program.

https://code.google.com/archive/p/xtideuniversalbios/wikis/Manual.wiki

hargle
March 9th, 2016, 05:31 AM
If this is an original XT-IDE rev1 or rev2 card and not one of the Lo-tech XT-CFv3's, the drive should already (and only) be operating in PIO mode. There's no DMA support on the early revs.

alecv
March 14th, 2016, 12:08 PM
Is there a good tester program to test drive at INT 13 level ? Infinity random write-read-check (CF killer mode).
I've got some reports about instability of the XT IDE/XT CF adapters, random ZIP/ARJ CRC and FAT errors e.t.c.

hargle
March 14th, 2016, 12:26 PM
I wrote a helltest for XTIDE a long time ago:

Description is here: http://www.vintage-computer.com/vcforum/showthread.php?26289-XTIDE-HellTest
and you can find a link to the software itself here: http://www.vintage-computer.com/vcforum/showthread.php?26393-XTIDE-project

Helltest uses EINT13. I'm not 100% sure the universal xtide BIOS supports it. It likely does. Helltest should bail out of EINT13 isn't available.

Beware this is a destructive test!

nc_mike
March 26th, 2016, 11:21 AM
I think I solved this problem. The FDD adapter is an FTG FA-100 two-drive adapter with its own BIOS. I changed two things: 1) the pair of jumpers for Drive B: which is for my 1.2M 5.25 floppy wasn't set to an incorrect density - so I reconfigured them for the 1.2M setting. My 1.2M disks were not always being read, but now they are. The other thing that I think actually solved the CF card corruption issue was changing the jumper (JP4) from CE00 to C800 - that appears to have stopped the corruption happening fo my CF cards driven by an XT-IDE adapter whose BIOS I configured to load at D800.

Regards,
Mike