[sebhc] Re: Great Idea for IDE MORE!! STATUS -- More Ideas ..
Robin England
robin.england at dial.pipex.com
Sat Sep 23 16:15:24 CDT 2006
Hi all
The IDE interface is actually well documented and is extremely easy to
interface to. I speak as an electronics engineer who works for a data
recovery company. The only really tricky thing to do is implement support
for DMA in your interface. However given the speed of the H8 / H89 you will
only ever need PIO mode.
Commands to the drive are always 8 bits, only data transfers are 16 bits. A
few years ago I successfully designed and implemented a design based on
latches (as per your earlier post) to allow direct IDE to 8-bit
microcontroller interface in a CPLD and it works fine.
There are a few drive-specific issues that exist due to the different
interpretations that drive manufacturers have made on the ATA standards.
Usually these involve things like having to issue a software reset or
recalibrate command after power on or in certain circumstances. Also it is
possible (and sometimes necessary) to load various drive registers before
attempting data access to ensure correct operation. Most modern IDE (PATA)
drives these days assume LBA addressing mode at power up but older drives
assumed CHS addressing which can often cause confusion. Because hard drives
are electromechanical devices, often relatively huge delays (e.g. 10,000 ms)
can be the norm before the drive reports on ready. But, you can use the BSY
and DRQ and DRDY bits in the control register to verify drive status.
The standards documents for ATA can be found at: -
http://www.t13.org
I would be happy to offer advice on this project should you have any
specific IDE related questions. I'm not so knowledgeable on the H8 / H89
side myself but I do own two H89 machines (hard-sectored drives only).
Regards
Robin
----- Original Message -----
From: "Lee Hart" <leeahart at earthlink.net>
To: <sebhc at sebhc.org>
Sent: Saturday, September 23, 2006 7:20 PM
Subject: Re: [sebhc] Re: Great Idea for IDE MORE!! STATUS -- More Ideas ..
> dwight elvey wrote:
>> What is the problem with going from a 8 bit bus to a 16 bit device?
>> You just need an extra port and an extra latch going both ways.
>> This is not rocket science to add this simple hardware. The entire
>> world of IDE devices are then open to you.
>
> I agree. This is fairly straightforward to do. It takes about twice as
> many chips, but they are relatively inexpensive. As you say, then you have
> a "normal" 16-bit interface to the IDE, so the documentation on how to
> talk to an IDE device will apply. Or, you could reverse-engineer someone's
> IDE device software driver, if you were desperate enough :-)
>
> The skeptic in me says that the published specs for IDE devices are
> probably obscure, incomplete and inaccurate. If it were me, I'd build a
> little logic analyzer to capture the 16-bit words going back/forth between
> a PC and its IDE drive when I did a read or write. Then, I would program
> the Z80 to send exactly those commands, in the same order, REGARDLESS of
> what the published specs say!
> --
> Ring the bells that still can ring
> Forget the perfect offering
> There is a crack in everything
> That's how the light gets in -- Leonard Cohen
> --
> Lee A. Hart, 814 8th Ave N, Sartell MN 56377, leeahart_at_earthlink.net
> --
> Delivered by the SEBHC Mailing List
--
Delivered by the SEBHC Mailing List
More information about the Sebhc
mailing list