• Please review our updated Terms and Rules here

8-Bit IDE Controller

Hi Mike! Thanks! If the 80 conductor IDE cable helps it almost certainly means a noise (aka grounding) issue. As I am sure you already know but for the benefit of everyone, the difference between the two styles of cables is that the 80 conductor version has separate grounds for each pin versus common grounds on the 40 conductor cable. Probably the best solution would be a spectrum analyser, logic analyser, or really good storage oscilloscope to capture the offending events.

Bearing the above in mind, few modern IDE devices (in the last 10 years or so) probably few if any have much testing in XT ISA style bus. Most recent IDE devices are intended for PCI bus like environments which have significantly different noise, grounding characteristics, etc.

That being said, there are likely drives that will not be compatible with the interface. That is true for *all* IDE interfaces AFAIK. There is a huge variety of IDE devices available and if you include the early models (late 1980's) all the way to present times you will see an enormous amount of variations. No matter how you implement the IDE interface, you are making decisions which affect timing and any way you go, you are deciding some will be compatible and some will not.

My suggestion is to proceed with the investigation and see if you can determine a root cause. If its fixable I'll roll it in the design and put it in the respin. This is the investigation that we've needed since the beginning and I am very happy its underway at last!

Realistically, even after thorough investigation and repairs there will likely be some devices that just won't work. My suggestion is to use the wiki to capture what devices DO work and possible those devices that DO NOT work. The data might reveal clues and your improved testing data collection is an excellent idea.

I know it did on the N8VEM Disk IO board and we ended up with a "smart cable" to fix some timing issues with drives from certain manufacturers like WD etc.

Thanks and have a nice day!

Andrew Lynch
I've now reflowed some of the worst-looking pins of my card (had to borrow my grand-dad's bulky soldering gun, something I'll never do again! It keeps the temperature high enough, but it's 10 times more difficult to handle because of it's tip-size). Especially pin 30 of the IDE connector was bad, it looked like the solder didn't even touch the PCB!

When I touched some of the pins, the solder just "dissapeard". I had to add new solder to all of those.

I'm now in the process of testing if there is improvements, and currently, it looks promising.
 
Hi Mike! Thanks! If the 80 conductor IDE cable helps it almost certainly means a noise (aka grounding) issue. As I am sure you already know but for the benefit of everyone, the difference between the two styles of cables is that the 80 conductor version has separate grounds for each pin versus common grounds on the 40 conductor cable. Probably the best solution would be a spectrum analyser, logic analyser, or really good storage oscilloscope to capture the offending events.

I have not studied the schematic, but I was thinking of the grounding issue when I mentioned using a scope to debug it. I'm confused though because I would have thought that having the pins with common grounds would have reduced/eliminated differing voltage potentials for those signals. The move to separate grounds was to support the higher transfer rates drives doing ATA-100. There is no way that we 'broke' the older style cable with our transfer rates, so there is probably something to be cleaned up on the card.

(The separate grounds on the 80 pin cables are a good thing for eliminating inductive capacitance between unrelated signals, but it's overkill for us.)


Bearing the above in mind, few modern IDE devices (in the last 10 years or so) probably few if any have much testing in XT ISA style bus. Most recent IDE devices are intended for PCI bus like environments which have significantly different noise, grounding characteristics, etc.

That being said, there are likely drives that will not be compatible with the interface. That is true for *all* IDE interfaces AFAIK. There is a huge variety of IDE devices available and if you include the early models (late 1980's) all the way to present times you will see an enormous amount of variations. No matter how you implement the IDE interface, you are making decisions which affect timing and any way you go, you are deciding some will be compatible and some will not.

I don't expect anything from before 1995 to be perfectly in spec. IDE drives had all sorts of problems with master/slave combinations due to sloppy implementation of the spec. It would not surprise me if other things were buggered and closely tied to the chipset they were connected to.

My suggestion is to proceed with the investigation and see if you can determine a root cause. If its fixable I'll roll it in the design and put it in the respin. This is the investigation that we've needed since the beginning and I am very happy its underway at last!

Realistically, even after thorough investigation and repairs there will likely be some devices that just won't work. My suggestion is to use the wiki to capture what devices DO work and possible those devices that DO NOT work. The data might reveal clues and your improved testing data collection is an excellent idea.

Happy to oblige. I wanted to get a first 'victory' post out last night because my experiences have been so trying up until about then. I will post a synopsis of my problems and suspected fixes in the Wiki and the specific drives that I used. (They did not all behave the same way.)

I know it did on the N8VEM Disk IO board and we ended up with a "smart cable" to fix some timing issues with drives from certain manufacturers like WD etc.

Thanks and have a nice day!

Andrew Lynch
 
After some testing with my card recently (see earlier post), I have been able to copy the zipped installation files of Norton Utilities version 4.5 Adv. to the XT using our card and a IDE drive, unzip it without errors, moved the files to another place on the hard drive, moved the files back onto floppy disks, and install them without any errors.

I recomend everyone with noise-problems to inspect the joints of their card. I think that might have quite a lot to say about the cause.

I'll do some more writes/reads to make sure cold joints was the cause why my card was haunted by noise.
 
Just to be realistic, we should also consider how much time we're going to spend on the debugging end of this project.

Consider:
a) we've all got 80 pin cables
b) we've all got at least a couple drives that work
c) we've all got real lives to live.

Out of the 12 or so drives I've tested in my machines, from 6 different manufacturers, I have zero drives that don't work. If, as suggested earlier, we start keeping a list of known working drives, I see no reason not to be totally happy delivering a product that works with a majority of the drives in the field.

I mean, if you can't find a drive that works on our card, you aren't trying very hard.

By all means, I would like to dig in and figure out why some of the flaky stuff is happening, but we also need to be realistic about how many hours we're going to burn fixing the last 5% of the drives out there that don't work.

As an engineer, I am of the personality type who will keep hammering on something until it's perfect, so it's unusual for me to have this viewpoint. Not sure what got into me today. ;)

Just keep that in the back of our minds...
 
I recomend everyone with noise-problems to inspect the joints of their card. I think that might have quite a lot to say about the cause.

This is bittersweet news for me. Glad to hear that your card is working better, not so glad to hear that my soldering skills aren't up to snuff.

When we go into full production, I will strongly encourage people to buy the kit version of the card, so as to not place any of the soldering blame on me.
 
This is bittersweet news for me. Glad to hear that your card is working better, not so glad to hear that my soldering skills aren't up to snuff.

When we go into full production, I will strongly encourage people to buy the kit version of the card, so as to not place any of the soldering blame on me.

Yea. I've now copied several megabytes over a 40-pin cable with the drive in "troubeling" position without a single error.

There is one thing I'm wondering about, how do you get the brownish gunk off the solder-mask after soldering a joint? I used a flat-bladed screwdrive to "peal" it off, but there was some left that wouldn't deattach. (Ok, now most people got a slodering iron/gun smaller than the one I used, so that will problably not be an issue.)

Just one last question. Can anybody compare R/W speeds when the card is in an XT and a more recent PC (486-ish)? If the speeds are more or less the same, we will problably gain higher data rates by using IRQ's.
 
One last thing before a release; I should write a proper how-to-use document for the flasher and setup program. I also need to make it search for several signatures instead of just the first one it finds. I'll problably do all of that this weekend.
 
As an engineer, I am of the personality type who will keep hammering on something until it's perfect, so it's unusual for me to have this viewpoint. Not sure what got into me today. ;)

Just keep that in the back of our minds...


Best way to be!
 
I would use an "acid brush" or a Q-Tip with alcohol (drugstore variety - not the Jim Beam type) Although the way you guys have been going on this project, you could probably use some.
 
This is bittersweet news for me. Glad to hear that your card is working better, not so glad to hear that my soldering skills aren't up to snuff.

When we go into full production, I will strongly encourage people to buy the kit version of the card, so as to not place any of the soldering blame on me.

My experience says that your soldering, although it wasn't 100% pretty, is not the culprit. My data corruption issues went away when I changed to the better cable.

So don't be terribly hard on yourself. I had some solder joints that I had to redo two or three times too.

I understand your sentiment about 'perfect' vs. 'good enough'. I don't want to test every drive in existence - that's not feasible or necessary. However, I do want to find problem drives and figure out what the problem is. That just improves the robustness for the other marginal conditions these cards are going to encounter. I'm also really paranoid about data corruption .. if I can't depend on it, I don't want to use it.


Mike
 
This is bittersweet news for me. Glad to hear that your card is working better, not so glad to hear that my soldering skills aren't up to snuff.

When we go into full production, I will strongly encourage people to buy the kit version of the card, so as to not place any of the soldering blame on me.

No one is blaming you. You are doing great stuff and *I* much appreciate it and think most everyone else does too. Sometimes stuff happens and its OK. No criticism intended or implied.

Soldering can be difficult to get right especially the ground pins since I used massive copper pour fill zones to improve signal grounding and reduce ground bounce. Those ground pins practically require a blow torch to get right so maybe per is on to something using his "ol' GrandDaddy" soldering gun.

Uh, per, those soldering guns are meant for like soldering 10 AWG wires and stuff. Please be careful. It will burn a hole right through the PCB in just a few seconds.

Thanks and have a nice day!

:)

Andrew Lynch
 
[snip]

So long story short - the two drives that were giving me grief are working now, and it looks like the older 40 pin cable was the cause of the grief. This will be a good thing to look at under a scope because those 40 pin cables should be fine for this application. There has to be something on the card that is marginal that the cable is helping out with.


Mike

Crap! I just went to bed and it occurred to me why we are probably seeing the drive "funkiness". Hargle is probably going to kill me but here goes...

Are you using 74F573s for your drive latches? As much as I am a fan of the Fairchild 74F TTL series, it may be too much for this application. 74F is super fast, very powerful, and has extremely sharp edges on its switching. In other words, its loaded with HF trash and has been known to make certain busses ring "like a bell" and may explain why certain cables work better than others. Of course, nothing can cut through noisy crappy lines like 74F but if its on a short unterminated bus it may be causing "bounce" due to reflections, etc.

Try switching back to 74LS573s or 74ALS573s as they have more "gentle" switching rather than the sometimes overly harsh 74F parts. I personally don't recommend 74HCT as they aren't known for their drive strength but you might try some of those too. Now, please I don't want to turn this into another TTL family religious crusade but some families are better than others at certain applications.

I generally stick with 74LS since they are a good balance and are generally the most (IMO) compatible with vintage electronics. Those were in the original circuit specifications as well.

Thanks and have a nice day!

Andrew Lynch
 
Just to be realistic, we should also consider how much time we're going to spend on the debugging end of this project.

Consider:
a) we've all got 80 pin cables
b) we've all got at least a couple drives that work
c) we've all got real lives to live.

That last one is hitting me really hard the last few weeks, but one more week and I'll be able to work with this more.

I also just realized I actually do not have a 40 pin IDE cable anywhere, and have been using 80 pin cables to test this. In fact I found a cable that worked, installed it on the card and have left it there.

At least a couple? I'd say quite a few have worked very well from what I am reading. Please try and fill out the spread sheet I posted, and I will get update the wiki and co-late the date so we can get an idea of exactly what works and what does not. This will definitely help us sort out some specific bugs and/or patterns that emerge. And as someone said, we aren't looking for 100% compatibility here (in fact we'd be lucky to hit 80%).

I would also say that at this point (with what, 9 different people?) testing this card it is vital that we have some someone bring all the test results together and compile it into a single report. This will help us get an overall picture of where we are at, I am willing to do this, just email me (or PM) the data you collect.

This data will also help us determine when we are ready for the second PCB to be done in a small quantity (I will personally buy one at $30 to help with the cost btw).

Lastly, I would really like to emphasize that Andrew, Hargle and Per have done an incredible job here, and I think this card will be very solid when its done.
 
Dumbass move of the day

Dumbass move of the day

So I learned 2 things tonight:

1. Do not plug the card in backwards, it will kill it

2. Once it is dead and you plug it in right, the machine will not post and the SEEQ chip will get hot, VERY F**** HOT. I know have a very painfull burn on the top of my left thumb.

*sigh* Hargle, can I get buy a replacement chip and send it you for flashing? Hopefully its just the SEEQ thats dead.
 
I would also say that at this point (with what, 9 different people?) testing this card it is vital that we have some someone bring all the test results together and compile it into a single report. This will help us get an overall picture of where we are at, I am willing to do this, just email me (or PM) the data you collect.


I offered to do this last week before your offer. Not a single email or private message came.

I don't think the cats want to be herded ...


Mike
 
So I learned 2 things tonight:

1. Do not plug the card in backwards, it will kill it

2. Once it is dead and you plug it in right, the machine will not post and the SEEQ chip will get hot, VERY F**** HOT. I know have a very painfull burn on the top of my left thumb.

*sigh* Hargle, can I get buy a replacement chip and send it you for flashing? Hopefully its just the SEEQ thats dead.

You won't really need to send it to Hargle for reflashing. If you got a bootable floppy with the flasher and the most recent BIOS, that's enough. Just make sure to use the /S parameter when running the flasher the first time you flash the EEPROM.
 
Crap! I just went to bed and it occurred to me why we are probably seeing the drive "funkiness". Hargle is probably going to kill me but here goes...

Are you using 74F573s for your drive latches? As much as I am a fan of the Fairchild 74F TTL series, it may be too much for this application. 74F is super fast, very powerful, and has extremely sharp edges on its switching. In other words, its loaded with HF trash and has been known to make certain busses ring "like a bell" and may explain why certain cables work better than others. Of course, nothing can cut through noisy crappy lines like 74F but if its on a short unterminated bus it may be causing "bounce" due to reflections, etc.

Try switching back to 74LS573s or 74ALS573s as they have more "gentle" switching rather than the sometimes overly harsh 74F parts. I personally don't recommend 74HCT as they aren't known for their drive strength but you might try some of those too. Now, please I don't want to turn this into another TTL family religious crusade but some families are better than others at certain applications.

I generally stick with 74LS since they are a good balance and are generally the most (IMO) compatible with vintage electronics. Those were in the original circuit specifications as well.

Thanks and have a nice day!

Andrew Lynch

Yes, my card got two of the 74F573 ICs.

I wonder why the soldering gun didn't go through my PCB... I had to push it down to that pin for quite a bit before the solder was sticking to it.
 
So I learned 2 things tonight:

1. Do not plug the card in backwards, it will kill it

2. Once it is dead and you plug it in right, the machine will not post and the SEEQ chip will get hot, VERY F**** HOT. I know have a very painfull burn on the top of my left thumb.

*sigh* Hargle, can I get buy a replacement chip and send it you for flashing? Hopefully its just the SEEQ thats dead.

Hi! IMO, almost certainly most if not all the chips are toast and I would not trust any survivors. Take a look at the ISA bus pin out and flip it and the other voltage rails appear on the address lines (-5V, -12V, and 12V) which means anything connected to them are likely smoked. Certainly the 74LS688's and EEPROM are goners. There may be others affected depending on how those ICs went bad. The 74LS245 would be highly suspect too depending if its connection allowed reverse biasing. Possibly flipping the VCC and GND rails would affect all the ICs depending on how it went.

My suggestion for cost effective repair is to "shotgun" the board and replace all the ICs. Just order the components and install them yourself or send it to me and I'll do it. It might be overkill but you'll save time and pain in the long run. There aren't that many and fortunately they are relatively inexpensive. Are there any burned traces?

I hope this helps. Don't fret, we've probably all done something like this at one point or another. Accidents happen.

Thanks and have a nice day!

Andrew Lynch
 
Yes, my card got two of the 74F573 ICs.

We should probably do a roll call here and list what parts we have on our boards-it's possible we're on to something here.

There is likely a mixture of 74f573's and hct's, and possibly a 74ls573 or two in the mix as well.

IIRC, from my experiments, nothing mattered between the parts when I switched them, and I placed at least 2 orders from jameco, picking up both 74hct and 74f variants, using whichever one was cheaper. I don't think I mixed any parts on the same card, but you never know.

We could maybe add that data into the xls spreadsheet we're bouncing around.
Speaking of that, how to we go about all updating and sharing the spreadsheet? since we have to download it to make changes, is there a common site we can send it back to when we're finished making updates, or does 1 person want to take charge of making sure it's updated via email requests?
 
Back
Top