I think I may have found something in the design:
CSEL on the 40 pin connector should be pulled to ground instead of VCC.
http://www.pcguide.com/ref/hdd/if/ide/confCS-c.html
"To use cable select, both devices on the channel are set to the "cable select" (CS) setting, usually by a special jumper. Then, a special cable is used. This cable is very similar in most respects to the regular IDE/ATA cable, except for the CSEL signal. CSEL is carried on wire #28 of the standard IDE/ATA cable, and is grounded at the host's connector (the one that attaches to the motherboard or controller). "
I think this is very minor though. Most of the rest of the schematic is goobledygook to me.
---
Looking at the board layout in kicad, I'm wondering how in the world I could ever hand wire a prototype of this thing. I'm thinking it very well may be worth a hundred bucks of my money to save me 100 hours of soldering and get a prototype board etched for me. Wow that's a lot of wires.
Hi Hargle! Thanks! I appreciate your reviewing the schematics and searching for problems! That's how we make it better! Just keep digging and we'll get all the bugs out.
As for CSEL, that is an active high signal since there is no ! or ~ or / or * or - or other special character preceding the name. Active high means that the signal is asserted (do something!) when it reaches the TTL high state (2.0-5v). Pulling CSEL high is basically telling the IDE device that it is being selected and should respond to commands.
I implemented a circuit similar to this on my N8VEM Disk IO prototype board and it worked fine.
http://www.hanssummers.com/computers/cpcng/ide/
You'll notice it also pulls CSEL high with a 10K ohm resistor tied to VCC. At least my prototype worked with this as is. I am pretty confident the CSEL circuit is correct. However if there is more information or view points that could confirm or deny this I would much appreciate it.
However, one thing to note is Hans Summer's circuit and my own IDE controller for the N8VEM project are meant for the older parallel IDE devices. I believe the XT-IDE circuit is as well since it shows a similar heritage in the design. I'll bet they all stem from the same common root design although I don't know what that is. It is possible that newer IDE drives have implemented more recent standards which may or may not work with the IDE interface. I have only tested mine with a 1.2GB IDE which is rather *ahem* elderly.
In general, all related XT IDE technical topics, questions, suggestions, comments, etc should be considered as part of this project. I have no problem explaining my understanding and will gladly make corrections as needed. I would much rather face my problems here in the design phase then after the PCBs are manufactured.
As for wiring up this project, it would be an evening at most. Its not super simple but pretty close. There are about 10 chips and very few passive devices. Only one connector although it is a large one. If I had the ISA prototyping board I am sure I could do this in one evening for construction and another for schematic to wiring test wring out.
Don't sell yourself short! You can do this or could if you set your mind to it! Check
this unit out! That's an IDE controller on the top half of the board and an FDC on the bottom. There are other pictures of the other side and there are another three or more "flying" chips (aka dead bugs) wired in backwards to the board because I ran out of space constructing the prototype. I can that that monstrosity to work (IDE and FDC), then you can make this one work!
Its not that hard! Anyone can do it! I think you'd find it is rewarding and a fun hobby too. I know I do. The danger with going direct to a PCB is there is no guarrantee that one PCB spin is all you need. At $100-$200 per hand, this gets to be an expensive game. One error may be serious enough to cause a PCB respin and then the old PCBs *can* be nearly worthless. Usually the problems are fixable with sufficient "cuts and jumpers" but those aren't much fun either and we all want to avoid them if possible.
So how is the rest of the project coming along? Keep those questions and comments coming! Read those datasheets and ask questions! You just might uncover the major "show stopper" bug that saves the project!
Thanks and have a nice day!
Andrew Lynch
PS, while doing a search for "74LS688 IO decoder" I came across
this link which is in many ways similar to what we are doing here. There are a lot of ideas in it and is a good cross comparison of the IDE circuit.