• Please review our updated Terms and Rules here

8-Bit IDE Controller

I agree with bobwatts. I think it could easily be much more expensive. Personally I would be happy with a finished card under $100. A bag of parts with software and instructions would certainly be worth $50 and I'd be surprised if you could do it for much less without cutting into the grocery money. We'll see. :) Anyway, this is indeed an impressive project. Congratulaions for getting this far.

frozenfire75i: "... will that tiny 500MB IDE drive be enough draw to keep that 130Watt XT Power supply happy?"
Haha Where I come from power supplies do better with less draw. :)



.
 
Hi All! OK, tonight I got a chance to do some testing with various IDE hard drives. I didn't get too far because I found two of my recently purchased old IDE drives have turned out to be duds and that took some time to sort out. So we can safely discount the dead Maxtor and Seagate drives as not relevant.

The XT-IDE controller works great with the WD AC28400R. It does everything you'd expect. I tried it with an older Quantum 270LPS and the controller recognizes it but does not work with it. Same thing for a newer Quantum 4.3 GB drive. Similar for an older Fujitsu IDE 1.2GB drive. Its seems there are probably some tweaks needed yet for these drives. I will be going through my limited supply of IDE drives and sorting out which work and which don't.

At least with the N8VEM Disk IO IDE, it tends to favor certain kinds of drives due to timing and other factors. That may be in play here as well although the good news is the XT-IDE BIOS is actually reading the IDENTIFY strings which implies the drive is working but something is amiss in the driver/BIOS. The drives typically are letting me partition them, format them, and seem to be working but when I try to boot with them the controller goes off into never-never land and does not return.

Still, its early with the first feature complete BIOS and these are quite impressive results so far. One for sure drive (the WD AC28400R) and several near misses implies the overall design is sound and with some adjustments the board will work. Soon I will begin work on Hargle's own prototype board and then he can start fixing the issues and expanding the list of known good drives.

More as things develop. Thanks and have a nice day!

Andrew Lynch
 
The drives typically are letting me partition them, format them, and seem to be working but when I try to boot with them the controller goes off into never-never land and does not return.
Andrew Lynch

I encountered the same deal with my Acculogic & CF Cards, could do it all except boot from the thing, at least not on a 2 gig CF CARD, no problems with 128 meg card..
 
Last edited:
I asked this over in the survey thread, but does this use an IRQ? Is it selectable so it could work in a Tandy machine?

I have many smaller IDE drives laying around. I can ship you a few if you need to test more. I would like them back if you do need them.

Kelly
 
The XT-IDE controller works great with the WD AC28400R. It does everything you'd expect. I tried it with an older Quantum 270LPS and the controller recognizes it but does not work with it. Same thing for a newer Quantum 4.3 GB drive. Similar for an older Fujitsu IDE 1.2GB drive. Its seems there are probably some tweaks needed yet for these drives. I will be going through my limited supply of IDE drives and sorting out which work and which don't.

how big is the AC28400R?
I could see some issues with drives smaller than ~8 gig. The drive parameter table gets set up a little different in those cases, and I very well may have a bug there. As you've said, the ID string shows up fine, but FDISK and format are wonky. That's exactly how I'd expect a drive that has a weird parameter table set up to act, so this could be 100% my fault. For now, if you can stick with testing drives > 8 gig, then we could move forward while I figure out what the deal is on my end. This is very likely not a hardware problem.
 
I think y'all otta be looking at a hardcard type of setup.

Hi! Thanks! If that means increasing the size of the PCB to allow for mounting holes then its a non-starter. Increasing the area of the PCB directly increases its cost and price sensitivity is already an issue.

The PCB layout already exists and unless there is a really compelling reason to change it we are well past the time for major changes at this point. Making design changes now would require changes to the PCB and prototype. The prototype and BIOS software both reflect the proposed PCB design and pushes the project back to square one.

Feature creep and cost sensitivity are directly opposing forces and have to be balanced. A low cost design means low part count and small PCB size. Adding features increases part count and PCB size which directly increases the cost of the unit.

Thanks and have a nice day!

Andrew Lynch
 
how big is the AC28400R?
I could see some issues with drives smaller than ~8 gig. The drive parameter table gets set up a little different in those cases, and I very well may have a bug there. As you've said, the ID string shows up fine, but FDISK and format are wonky. That's exactly how I'd expect a drive that has a weird parameter table set up to act, so this could be 100% my fault. For now, if you can stick with testing drives > 8 gig, then we could move forward while I figure out what the deal is on my end. This is very likely not a hardware problem.

Hi! Thanks! The WDC AC28400R is a 8.4 GB drive and works fine as is. The three drives I tested (two Quantums and a Fujitsu) are all smaller than 8 GB and did appear in the discovery phase but not fully supported yet. Please don't take this as a criticism as there is no blame or fault. This is normal development and testing. We will find problems and we'll fix them.

As the IDE controller goes through testing with various devices we'll see all sorts of compatibility issues pop up. Some hardware and some software. I have already seen hardware issues on my list of improvements. No show stoppers yet but there may yet be some yet to be found.

What might help is a "verbose" version of the BIOS code. Add print outs and prompts as the BIOS goes through the steps of its discovery and installation phase so we can see where it is choking. Even extend into boot process so its obvious were the problems are or what portions of the code are working. That way I can give you better feedback of the testing of the testing I can do with the stuff I have.

On the N8VEM Disk IO project, while it was having initial problems with the IDE interface, I made a wiki page to document what successes the builders were having and how they did them. Maybe there is something along those lines we can do here as well.

Given the complexity of making a compatible IDE interface and BIOS I recommend we do a pre-release test phase to help shake out the bugs before a general release. It's something to consider to find the problems with experienced hobbyists before releasing the controller to the public who may not have the experience or background to deal with problems they discover.

Thanks and have a nice day!

Andrew Lynch
 
Last edited:
Given the complexity of making a compatible IDE interface and BIOS I recommend we do a pre-release test phase to help shake out the bugs before a general release. It's something to consider to find the problems with experienced hobbyists before unleasing the controller to the public who may not have the experience or background to deal with problems they discover.

I have a pile if IDE drives here to try out...
 
I have a pile if IDE drives here to try out...

Part of the benefit of this new device is that it works with new hardware.
While lots of us probably have a clunky old 200MB drive from 1990 in our closets, I think we're all better served by using more modern drives, which I'd hope are more compatible/flexible with our design hardware. IOW, I'm not going to spend a whole lot of time figuring out why a drive that is 15+ years old doesn't work, when a perfectly good, bigger and newer drive works just fine.

Just my opinion.

Having said that, I am certainly going to look into drives smaller than 8.4 gig for any BIOS bugs, but beyond that, I wouldn't break out the logic analyzer and scope to find that ancient drives are more finicky than new ones.

kb2syd:
I believe right now we're tied to a single IRQ, 5 IIRC. What needs to be done to work on a Tandy? Does it just have to be selectable to a different IRQ?

Either way, the BIOS at this moment isn't using IRQs anyway, so it'll work! ;)
(that's temporary)
 
Last edited:
Forgive my lack of experteeeze in this stuff.

But what is the difference between using an IRQ and not using an IRQ for this sort of stuff, IRQ=More stable?

IRQ's are one of two (DMA is the other) ways for Expansion cards to communicate with the System without help from a program. An IRQ request from a card will make the processor interrupt (unless interrupts dissabled) to run a (usually short) subroutine to take care of the hardware's needs. It's Hardware stuff, and the BIOS only need to store the interrupt vector containing the subroutine(s).
 
Steer me irq!

Steer me irq!

Speaking of IRQ's, remember when all us fools had to play tic tac toe with cards, trying to get all cards to work without conflicts before Intel blessed us with plug and play, how come people who bought MAC's never had this problem way back when?
 
Part of the benefit of this new device is that it works with new hardware.
While lots of us probably have a clunky old 200MB drive from 1990 in our closets, I think we're all better served by using more modern drives, which I'd hope are more compatible/flexible with our design hardware. IOW, I'm not going to spend a whole lot of time figuring out why a drive that is 15+ years old doesn't work, when a perfectly good, bigger and newer drive works just fine.

Just my opinion.

Having said that, I am certainly going to look into drives smaller than 8.4 gig for any BIOS bugs, but beyond that, I wouldn't break out the logic analyzer and scope to find that ancient drives are more finicky than new ones.

kb2syd:
I believe right now we're tied to a single IRQ, 5 IIRC. What needs to be done to work on a Tandy? Does it just have to be selectable to a different IRQ?

Either way, the BIOS at this moment isn't using IRQs anyway, so it'll work! ;)
(that's temporary)
The Tandy 1000SX needs to be selectable. I believe they use IRQ 2. I had to rewire my Western Digital controller back in 1987 to get the Seagate ST-225 to boot. I still have the wiring diagram and jumper settings if anyone is interested.

Agent Orange
 
Andrew,
So what ballpark price do you suspect these cards can be manufactured for?

Since I've thrown everyone for a loop on my lowball $25 estimate, I guess I'd like to see what someone who has actually done a PCB run throws out for a $$ amount. ;)

I was figuring:
$8-10 for PCB
$15 for parts

As premature as it may be, we do need to start getting some feedback as to how many potential customers there may be, so that I can start pricing components on a bulk scale. There may be some cost breaks if we do 100 boards for example.

I was also hoping that we could examine each part and try substitutions if there are cheaper, but similar parts available. For example, changing from a DIP BIOS to a PLCC could save a couple bucks each, but if that requires another 3 weeks of job processing and retooling for each change, then maybe it isn't in our best interest to go the cheap route. (although I'll gladly wait!)


And, I've sourced a somewhat cheaper solution for the metal brackets:
http://mouser.com/Search/ProductDetail.aspx?qs=g5fiFmky/l4bFM8ICVGfOQ==
(assuming we'd do 100 of them)

The data sheet has all the dimensions of where the mounting tabs are. I just wanted to make sure that our board fits on them.
 
Hi Hargle! Thanks! My Jameco parts list cost estimate did not include a bracket so that goes in addition. Here is a bracket at Jameco which adds another $2 to the parts cost.

At this point I don't it wise to speculate on a unit cost. It is considerably more than $25 for sure. Typically home brew/hobbyist/small business electronics projects are in the $50-$100 range. I would use my friend Vince Briel as an excellent example of well done electronic kits. I think his PockeTerm or replica 1 Multi I/O Board KIT projects are probably comparable in scope and complexity to the XT-IDE board and those is going for $60 (soon to be $65) and $79 respectively plus shipping and handling. I know no one wants to hear this but I feel an obligation to set some realistic expectations to prevent larger problems down the road.

The discussion on price is getting way ahead of ourselves though. Probably what we need is to do a low initial production of the PCBs and do some in depth testing. Let some experienced hobbyists source parts, comment on the design, do some serious research, look for improvements, and try to get the costs back down. Yes, that might mean a respin of the PCB which could cause a significant delay but then we could roll in some of the feedback we've gotten already.

We have to keep "feature creep" under control though or this project is doomed. If we add every possible doodad to support every conceivable combination the board will be so complex the likelihood of escaped defects is enormous. Due to conflicting IDE implementations, writing a BIOS to support it all is at least extremely difficult to do and quite likely impossible. Also the price goes through the roof and no one likes that. Basic simplicity is our only real hope of success and it means trade offs are necessary.

I know this does not answer your question but I hope it helps anyway. Thanks and have a nice day!

Andrew Lynch

PS, here is another somewhat comparable electronic kit as a reference point. It's the Z80ICE and is roughly approximate for complexity and parts. I am sure there are many examples of electronic kits out there. The SVD is probably in the comparable zone too. Feel free to post comparable examples which cost more or less to give us a good idea of realistic costs.
 
Last edited:
Hi! If you'd like a good cost estimate, you don't have to rely on just what I am saying. We can do a grass roots estimate and build up the cost to make some of the boards. Just make some assumptions and get some quotes. There are tons of vendors out there who are glad to work with you. I do it frequently. I've already provided a Jameco parts quote. Hopefully some people will gather other comparable quotes and see how much they are. I think $25 in parts is probably a good working estimate.

Regarding the PCB, let's assume a couple of well known domestic suppliers. I've dealt with 4PCB and they are good and PCBexpress is also a commonly used supplier. For an initial lot of 25 units, 2 layer with 62 gold fingers with dimensions of X=4.55" and Y=4.25" (~20 square inches). Leaving all the other parameters at the default setting. 4PCB quotes approximately $30 each plus s/h. PCBexpress quotes $28 plus s/h. I suppose with more quotes we can see the range estimate expand a little but this gives a pretty good idea of what a PCB costs. Using off shore PCB fabricators can reduce costs by probably around 1/4 to a 1/3 but the lower unit costs are often offset by higher shipping costs. The savings are not as dramatic as some might think. However they come with their own issues (non-English speaking, uneven quality, no recourse if things go wrong, etc) and are higher risk.

Increasing the size of the production lot will decrease incremental unit cost but until this design goes through an initial shakedown run I certainly don't recommend going with a large lot. 25 units is a good starting point as you can see we are already talking about hundreds of dollars up front. Going to an initial run of 100 units will scale the total costs upwards significantly. Not many people have that sort of extra cash laying around.

So hypothetically speaking if the price to build a unit is $50-$60 each ($25-$30 for PCB and $25-$30 for parts) to gather enough bench stock for an initial run of 25 units is about $625-$750 for the PCB and $625-$750 for the parts for an approximate total of $1250-$1500 in up front costs not counting your own tooling and supplies. Then assuming no charge for labor, I estimate there is probably around 1 hour each by the time all the setup, assembly, test, debugging, repair of broken units, and packaging is done. That may be low but just for quick math that is ~25 hours of labor. Of course, these are all just quick "back of the envelope" estimates but they are backed up with real quotes.

Getting multiple quotes and some scrubbing might reduce the estimate somewhat but it is not going to fundamentally change. These are all things to consider when computing a price so you can see I do not think we are ready to set a final unit price quite yet. We need more data and some better information. Doing a small initial run can help us get enough expertise and experience to reduce the cost as much as practical.

Thanks and have a nice day!

Andrew Lynch
 
Hi! More testing tonight. The good news is that the WD400BB (40GB) and WD800BB (80GB) both work perfectly and much quicker than WDC AC28400R (8GB). That is great and the more recent drives work much better.

I tried again with the larger Quantum Fireball SE (4GB) and it almost works. I tried the old "FDISK /MBR" trick thinking that might help but no luck. I suspect there is a BIOS problem with the older pre-8GB drives as Hargle said earlier.

There are still 3 IDE drives on the stack for testing. I don't recall their exact sizes but I think they are two Seagates and a Maxtor. More testing tomorrow. I am also working on a N8VEM ECB prototype board with 6809 SBC on it so I am splitting my time between installing/testing IDE hard drives and wire wrapping.

Thanks and have a nice day!

Andrew Lynch

PS, I do not own any CF components and the controller was designed for IDE hard drives. However, that does not mean IDE to CF adapters *won't* work with the controller. I have seen several N8VEM builders get CF devices working with the Disk IO board so I am fairly sure its possible. I you want to determine if your particular CF device will work with the XT-IDE controller you can send me a test unit to run tests on. If you include a return shipping container with postage I will return it to you when done. Please PM me if interested.
 
Last edited:
Back
Top