Terry A. Davis
Joined: Tue Jan 19, 2010 11:51 pm Posts: 66
|
Re: problem with a basic IDE hard disk driver
You might try other versions of READ. Not all work.
Are you on real hardware? If so, the port addresses might be totally different. The PCI config space tells. That's probably too advanced for you at this point. Boot windows and look in system information for I/O ports for SATA, possibly.
I didn't see you set the FEATURE register. I think you clear it and check it for error status. I forgot.
The status might not be what you expect. Display the status at various points and the ALT status, perhaps.
You seem new to programming hardware. The secret is persistence. You try everything and check status. If you run out of things to try, get crazy and you might learn something from a detour. It's toil, plain and simple -- hard work. You might spend many days to discover one bit needs to be a certain way. Get the ATA spec off the Internet. Searches are the same way, aren't they -- persistence. I'm kinda old school and discovered searches also require toil.
If you don't have the persistence for this, you're gonna be in big trouble.
Easy devices are ones where you can take baby steps and learn. Hard devices require you to get many things right all at once.
When programming hardware, the first step is verifying the device shows signs of life. Try to set a register, and read it. Pick a register which responds in a distinct way, preferably. Status should be read to see if it makes sense. If you get no signs of life, you might be checking the wrong ports. I think in the case of IDE it might exist but is not utilized if a different SATA port is what's actually connected.
Google search for this "Project 1532D Volume 1". Trust me, it'll solve all your problems. Yes, many years ago I looked at Linux code for IDE stuff. That was before I knew it was "ATA" I should be searching for. The first implementation was done very poorly. I did not take Linux intellectual property -- I just got port and command stuff which they got from the ATA spec, owned by a standards organization if anybody at all. My way is not at all similar. I soon learned an even more important lesson -- the Linux people will claim your soul. You might jeapordize 6 years of work of 120,000 lines, suddenly owned in its entirety for a youthful indescretion involving a couple hundred lines. The lesson is, they are not your friends! They want your soul--your life's work both past and future. They'd have you believe there is no recourse. How can one cure this venerial disease caught by glancing at their code? I'll have to hire an Indian or something and give Him the spec, but I trust the legal system is reasonable and will gladly fight.
There are many publish guides to such things as VGA registers, PS/2 keyboards/mice, posted by friendly people to inform. If by the time you adapt it, the only retained aspect is the underlying hardware spec protocol. Fuck-it, it's a standard's organization's intellectual property involved. What's the purpose of the code being on a website? It's generous people, or is it people who want your soul?
I decided I was a generous person and made clear my code is public domain and not GPL. Those people are evil.
Rob me of my glory? Do so at your own peril. God is just. I laugh at you.
Yeah, hit a pedestrian with my car on impulse, 1999. Went to mental hospital.
Now I realize it was one of those actors from shrinks or CIA or something who follow me around and push my buttons and torment me. I laughed when I connected the actors today with that dude. Ha! Payback. That's what you get when you confuse someone's reality.
|