• Please review our updated Terms and Rules here

8-Bit IDE Controller

I wonder if extending the tab below the ISA slot teeth is expensive? I don't know exactly how to enter that information into the quote form on pcbcart.com.
-------------------

It's called a 'skirt', and as I mentioned above, it's sum'n that has to be cut away from the board when it's manufactured, so leaving it on shouldn't cost much more. Less waste = very 'green friendly' (or whatever they call it). If some folks don't want it there, they can hacksaw it off later.

--T
 
ah, that's what you were talking about. ;)

either way, there's no option for that on the quote from pcbcart, so I dunno how to check to see if there is a price difference for it. We could just spec it into the design and see if they balk at it. Either way they would need to do some cutting to allow for the isa connector edge to fit between the skirt and the gold teeth, so they're not doing any less work by leaving that on.

speaking of that, are we paying for that little chunk of PCB anyway? I assume the height of 4.5" is from the edge of the gold teeth to the top of the board, so in effect, we are already paying for that missing land mass that gets cut off. so by rights, we should get to keep it. :)
 
Eh.. I was gonna PM someone but I figure it's quicker just to post. I know you all have your folks/contacts already on doing the PCB work but if you want to query Andre at nurve.net (ceo (at)nurve.net) I've heard he has some contacts overseas that are very cheap for pcb development. I'm not clear if it's his own company that does it over there or if it's a company he goes through but I know a few things we designed at the robot group we found it to be a good deal cheaper and they didn't seem to care about us cramming all we could on a PCB vs others who you'd pay for the space you use.

Anyway if it saves you some development money it could be something to ask about, but obviously you all have your process down. I'm looking forward to the release! :)

- John
 
Hi Hargle! I updated the PCB layout and posted new PDF on the wiki. I added 1/2" on the left hand side of the PCB and moved all the components accordingly.

I also moved the right hand side out 25 mils to enhance PCB strength around any hole. Please check your PCB prototype to ensure there is about 1mm of clearance between the right hand side of the PCB and a blank bracket.

The right hand side also now has a "skirt" bump out on the PCB to accommodate low holes. Hopefully that won't cause interference. If people would check their motherboards for components in that region that might interfere I would appreciate it.

There are also a few silkscreen updates. Please check out the new PDF and post any comments.

Thanks and have a nice day!

Andrew Lynch

PS, I also removed several gold teeth from the PCB edge connector. I think I just eliminated those with out any connection. I sure hope that's right or this is going to get unpleasant. Feel free to double check...
 
The $613 quote above went to a whopping $614 when I changed the silkscreen to 2 sides. :)
I find that really pretty amazing, and we should certainly consider this as a great way to document the card.

Hi! We can add a bunch of text on the reverse side if you want but I would rather get all the information the builder needs on the front side if possible. If you see things on the PDF PCB layouts that aren't obvious, I can add labels etc to help clarify. All the jumpers are labeled AFAIK.

Thanks and have a nice day!

Andrew Lynch
 
Hi! We can add a bunch of text on the reverse side if you want but I would rather get all the information the builder needs on the front side if possible. If you see things on the PDF PCB layouts that aren't obvious, I can add labels etc to help clarify. All the jumpers are labeled AFAIK.

The layout looks Awesome.

Putting a text table (or a few) on the back detailing the switch positions and jumper settings would be great. I always like it when I find cards that do this type of labeling as it makes the configuration so much easier, especially for people that are new to hardware.

In fact if you want to send me the info on the switch and INT settings I'll make the tables (and make a table in the Wiki to match). A small contribution I know, but I figure it will free up your time to focus on refinement and testing.

The way you have done JP1 and JP2 is very nice and clear. Would be possible to put the values for the INT select settings underneath the pins (like you've done with JP1 and JP2)?

This card is designed for use in XT, but it sounds like it would work on some earlier AT (286, 386) thus enabling larger (10gb+) drives. Is this right?
 
here's test #1
http://www.waste.org/~winkles/hdtest.zip

*** this is a destructive test ***

This uses eINT13 calls to write pseudo random data to a chunk of LBAs and then read it back and compares the data.

the first 4 bytes of the LBA data written is the LBA number itself, which could be useful in debugging.

It's sloooowwwww. Be patient. I'm letting mine run all night and see if anything fails in the morning. This should pretty well run the hardware latching and decoding through its paces.

Hi Hargle! I am running hdtest on my XT station and it is working. It is slower than molasses and I think it will take about two weeks to finish. I am using an 8GB hard drive with about 00FBxxxx sectors. I started yesterday about 24 hours ago and its now up to 0011xxxx.

I'll keep you posted on its progress.

Thanks and have a nice day!

Andrew Lynch
 
[snip]

The way you have done JP1 and JP2 is very nice and clear. Would be possible to put the values for the INT select settings underneath the pins (like you've done with JP1 and JP2)?

This card is designed for use in XT, but it sounds like it would work on some earlier AT (286, 386) thus enabling larger (10gb+) drives. Is this right?

Hi! Check out this new version. The wiki was serving an old version of the PDF file. http://n8vem-sbc.pbworks.com/f/Printing XT-IDE-brd-new.pdf

The XT-IDE should work in any computer with an ISA slot. I am using it with an 8GB IDE hard drive and recall testing a 40GB on my other PIII test station with an earlier version of the XT-IDE. I suppose larger sizes are possible but you need to check with Hargle. He is the BIOS author and ultimately determines what the board is compatible with.

There will be some compatibility tradeoffs because not every IDE device known to mankind is supportable with a single IDE interface. The most likely to be not supported are the old IDE devices especially the pre-LBA ones. ATAPI devices may or may not be supported. The most likely to work are the fairly recent (within the last ten years) IDE hard drives.

Thanks and have a nice day!

Andrew Lynch
 
Last edited:
In fact if you want to send me the info on the switch and INT settings I'll make the tables (and make a table in the Wiki to match). A small contribution I know, but I figure it will free up your time to focus on refinement and testing.
that would be very nice of you. any help, and any updates to the wiki are highly encouraged. Especially by us who are time constrained.

This card is designed for use in XT, but it sounds like it would work on some earlier AT (286, 386) thus enabling larger (10gb+) drives. Is this right?
This card will let you put up to a 2TB drive in your XT. :)
(ok, at the moment, there is currently a 137G barrier, but it's all software to get beyond that point, and an update is only ever an eeprom flash away)

The deal is that you don't want to use this card in anything bigger (ie, 16 bit) than an XT, because a 16bit card is going to be faster than this one.
You would gain the large drive capability, but the card is really quite pokey compared to a true 16 bit card.
 
Hi! Check out this new version. The wiki was serving an old version of the PDF file. http://n8vem-sbc.pbworks.com/f/Printing XT-IDE-brd-new.pdf

Its a thing of beauty man. Damn near brought a tear to my eye. Seriously though the revision is very nice


that would be very nice of you. any help, and any updates to the wiki are highly encouraged. Especially by us who are time constrained.

Okay, I will see what info I can pull from sifting through all these posts, and try to keep the Wiki up to date, especially the current progress.

This card will let you put up to a 2TB drive in your XT. :)

*blinks* I just know someone is going to do it, for no other reason that to say that they have a 1983 XT running with 2tb of storage space (but only 8gb usable).

I am thinking 'bout nothing much bigger than a 1 or 2gb drive or CF card. But I am thinking that it be great in my pre-pentium machines, or any board I might come across that does not have a built in controller.

This is very cool guys. Keep up the great work. O and Andrew, I hope that your day is really nice! ;D
 
Cool, wondering where the price is going to end up at when all is said and done.

Anybody recall when LBA started on IDE HDs? I asume we need 500MB or larger IDE drives to work with this card (not a problem)?
 
Cool, wondering where the price is going to end up at when all is said and done.

I'm not sure I want to get into a pricing discussion again at this time, as I tend to be too optimistic about things. I think we're sitting pretty good at the moment though, with about $10 in parts and another $7-8 for the PCB. There are some costs like the initial prototype PCB costs that need to be recouped, but that'll only add an extra couple bucks per order if we do 100 of them, which is what I was planning on doing. If you assemble it yourself, I think you will easily get away with paying less than $40 total. (I still wanna say about $25-30). If you're going to make me assemble it, then you're going to pay for my soldering and testing time, which at the moment, is not worth it! ;)

Anybody recall when LBA started on IDE HDs? I asume we need 500MB or larger IDE drives to work with this card (not a problem)?

~1994, or whenever drives went bigger than 528MB.
I *strongly* suggest using drives no more than 10 years old, since things have standardized a lot in that time frame, both electrically and software spec wise.
 
ok, cards #2 and #3 will be making their way off to testers Mike and Per tomorrow.
They are rock solid from what I've seen.
Card #5 is blank. Terry is going to solder his own and report back.

Card #1 is still having issues reading the ROM. I have spent approximately 4 minutes debugging it, so I'm not worried or even stumped yet.

Card #4 is lower casing 2 characters during the POST ID. I have swapped out every IC on the card and it's still doing it. It is totally bizarre, considering all other data transfers are working just fine. (runs HDtest without errors). Aside from the parts swap, I have spent 0 minutes debugging it. Not worried or stumped yet there either.

The rest of my week is fairly tied up, but starting early next week I will solder up a couple more cards and testing those out and sending them out to other debuggers.

Things I want to check:
1) CS on the drive. Why does a single drive with CS jumper show up as a slave? Does tying CSEL on the controller low change this? Can you run CS on a drive with a 40 pin cable or do you need an 80?

2) Two drives. Haven't really messed with any master/slave things.

3) auto detecting the IO base address.

4) figuring out why andrew can't boot

5) figuring out why coretest.exe won't run on our BIOS

6) use IRQs. Currently there is no IRQ usage at all.

Then it's just a matter of adding features, fixing problems that creep in, and starting to optimize it.

I think we should make a debugging log and "things to remember to check" on the wiki, as well as a troubleshooting guide and probably a "tips on assembling your card" section, maybe even with some pictures.
 
I'm not sure I want to get into a pricing discussion again at this time, as I tend to be too optimistic about things. I think we're sitting pretty good at the moment though, with about $10 in parts and another $7-8 for the PCB.

Hi Hargle! Thanks! Your sunny optimism makes me happy. However part of my job as "Cmdr Buzzkill" is to reign in unrealistic expectations with generous application of buckets of cold water. :)

I believe it to be too early to discuss final unit price as well. While working on the updated PCB layout last night I noticed that there have been *many* changes to the production unit compared to the prototype. I've lost exact count but its more than ten changes for sure. Since we've barely begun initial testing and already racked up so many changes it may be prudent to consider another round of PCB prototypes before making the big order. Probably after we've strained out the really big bugs with the initial round of testing the second round could be broader and go for more depth and variety.

Why another round? I am very concerned about parts interference and with all the changes to the PCB outline pushing the boundaries outward that eventually we are going to hit something. I've done some measurements and I *believe* we had about 1mm clearance on the right hand side of the PCB before it contacted the bracket. That 1mm clearance is now gone to allow the Keystone 9202 brackets to actually contact some PCB material. Some independent confirmation would be good so that we get PCBs that really fit in the target computer. That there don't appear to be any defined standards for the outline of an ISA PCB makes this is all sort of hit or miss.

The bracket skirt issues make me worry too. What are the physical tolerances of the 62 pin edge connector? Is there enough clearance between the edge and skirt? How would we know? The original design was extremely conservative and basically trimmed off all the interference danger zones. I can see why now and it was a wise approach. The semi random layout of an XT/AT motherboard is a witches brew of pieces and parts strewn all over. Who knows what sort of crap is going to get in the way? I have no idea.

On top of that, just for fun, I tried an early initial respin of the PCB just to see what the effect of all the changes are on the trace routing. Well, I can tell you it ain't pretty. The default router could not make a solution in ~45 passes and that's not good. I manually interceded and did the last few trace by hand. When the optimizer started there were 195 vias and >429 inches of overall trace length. In other words, the PCB looks like a plate of spaghetti (traces) with a half a bottle of parmesan cheese on it (vias). Its going to take some serious time to get the optimizer to straighten the mess out and even then is going to be more complex than the initial prototypes. I started the optimizer yesterday evening and when I checked it this morning (0530) it was almost 50% complete *on the first pass*. Ugh.

There are some costs like the initial prototype PCB costs that need to be recouped, but that'll only add an extra couple bucks per order if we do 100 of them, which is what I was planning on doing. If you assemble it yourself, I think you will easily get away with paying less than $40 total. (I still wanna say about $25-30). If you're going to make me assemble it, then you're going to pay for my soldering and testing time, which at the moment, is not worth it! ;)



~1994, or whenever drives went bigger than 528MB.
I *strongly* suggest using drives no more than 10 years old, since things have standardized a lot in that time frame, both electrically and software spec wise.

Agree. $40-$50 is probably the reasonable zone, IMO. IDE hard drives that are LBA and <10 years old is certainly reasonable device support.

You are certainly entitled to recoup your expenses and then some. You've already shown more patience, fortitude, and persistence than most. Good on you.

Thanks and have a nice day!

Andrew Lynch

PS, BTW, I also checked the hdtest run on the XT test station. Its up to 0018xxxx of 00FBxxxx sectors. Does this need to go all the way to the end or can it be aborted part way through and still provide meaningful results? If it were encountering errors would it have printed them already or do I wait until its done? I hope the power stays up for the next two weeks!
 
ok, cards #2 and #3 will be making their way off to testers Mike and Per tomorrow.
They are rock solid from what I've seen.
Card #5 is blank. Terry is going to solder his own and report back.

Hi! Excellent news! Please let me know what I can do to get more working test assets out to our brave group of human test subjects ^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^Hvolunteers.

Card #1 is still having issues reading the ROM. I have spent approximately 4 minutes debugging it, so I'm not worried or even stumped yet.

Card #4 is lower casing 2 characters during the POST ID. I have swapped out every IC on the card and it's still doing it. It is totally bizarre, considering all other data transfers are working just fine. (runs HDtest without errors). Aside from the parts swap, I have spent 0 minutes debugging it. Not worried or stumped yet there either.

If you've swapped all the components and the problem persists on either #1 or #4 the problem is most likely a soldering joint or bridge. Possibly a bad PCB but unlikely. Watch to make sure the joints are not leaking over and touching vias, etc. Use a brush or toothpick to scrape away and residual solder bits, etc.

If PCB #4 is consistently showing lower case in an upper case only field, trace bit #5 through the system. Probably there is something suspicious on that trace. I am betting cold joints or bridging. Also look for bent pins on chips going into sockets.

My offer to swap my board for a partial/broken one stands.

The rest of my week is fairly tied up, but starting early next week I will solder up a couple more cards and testing those out and sending them out to other debuggers.

Things I want to check:
1) CS on the drive. Why does a single drive with CS jumper show up as a slave? Does tying CSEL on the controller low change this? Can you run CS on a drive with a 40 pin cable or do you need an 80?

That's easy enough to check; just wire the pull up resistor on CSEL to ground. The 10K resistor will limit current flow to 0.5 mA so it won't hurt anything. I could check it but hdtest is running right now. Want me to canx hdtest?

2) Two drives. Haven't really messed with any master/slave things.

me neither. I recall a test where it worked with the wire wrap prototype on the PIII test station though. Of course that was weeks ago so its probably not helpful anymore.

3) auto detecting the IO base address.

4) figuring out why andrew can't boot

I think the Int 19 vector hook is the prime suspect. I think this is more likely than not a general problem that will flush out when more testers start beating on the system.

5) figuring out why coretest.exe won't run on our BIOS

6) use IRQs. Currently there is no IRQ usage at all.

I'd back burner the IRQ support issue. Polling is way more predictable and works better anyway IMO. The performance gain of using IRQs is probably not worth the pain especially now.

Then it's just a matter of adding features, fixing problems that creep in, and starting to optimize it.

I think we should make a debugging log and "things to remember to check" on the wiki, as well as a troubleshooting guide and probably a "tips on assembling your card" section, maybe even with some pictures.

You can move/copy stuff from the N8VEM wiki to the VCF wiki if you'd like.

Thanks and have a nice day!

Andrew Lynch
 
Since we've barely begun initial testing and already racked up so many changes it may be prudent to consider another round of PCB prototypes before making the big order.

This would be very prudent and all in all not a bad idea. Andrew did you consider adding a revision number to the board for print?

Who knows what sort of crap is going to get in the way? I have no idea.

Though I do think this is a very good point, it however will ultimatly rest on the actual end user to work out which slot it will fit in, you simply cannot plan for every computer out there that someone may want to install this card into. Terry's point about hacksawing the skirt off as needed was not a bad one.

Could you not cut the design out of a stiff piece of cardboard, keeping the dimensions as close as possible and trying it for fit in a slot?
 
This would be very prudent and all in all not a bad idea. Andrew did you consider adding a revision number to the board for print?

Hi! Excellent suggestion. I will do that.

Though I do think this is a very good point, it however will ultimatly rest on the actual end user to work out which slot it will fit in, you simply cannot plan for every computer out there that someone may want to install this card into. Terry's point about hacksawing the skirt off as needed was not a bad one.

Agree. However I can see situations where particular systems have limited selections on what slots are available. Dropping the PCB outline into the skirt region with the bump out is a risky manuever. However, I can see its probably necessary overall. My fear is the 62 pin connector though. I will do some measurements at home but one data point does not make a trend...

Could you not cut the design out of a stiff piece of cardboard, keeping the dimensions as close as possible and trying it for fit in a slot?

Yes, I did this already for the initial PCB prototype and also with the PCB itself. I will try again with the new outline and see what shakes out. Hopefully nothing will happen but we don't want to find out we have a problem *after* taking delivery of 100 PCBs.

Thanks and have a nice day!

Andrew Lynch
 
now another question I have: would an XTIDE card work in more modern systems, i.e. Pentium - Pentium III class?
 
Hi! Excellent news! Please let me know what I can do to get more working test assets out to our brave group of human test subjects ^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^Hvolunteers.

I can test a completed card. I have a prethora of 20+ gb hard drives, and an XT system that needs a new drive. I'll head down the the recycle store and get some <10gb hard drives from them (they had quite a few).

I'll run it through its paces, and be able to compile data (pictures etc) for the wiki. I'd need it assembled as my soldering skills are most likely worse than that of a blind donkey (but I'm working on this). I also do not have an Eprom programmer (yet).
 
Back
Top