Hi..
> Does anyone know an algorithum, or just have some ideas, on how to write
> and Enchanced IDE interface for a hard drive to access beyond the DOS
> limit? All new HDs are way beyond the old DOS limit. I know there are
> several commercial programs available to accomplish this task, but i'd
> like to know how they do it, and if its practical for an x86/C hobby
> programmer to write my own. It would be useful and informative.
> Right now i have not a clue where to start. Any ideas would be welcome!
Are you sure you mean the DOS limit? DOS 5.0 and above's only 'limit' is 2Gb
per drive letter. Also, DOS doesn't access the HDD directly, it uses the BIOS
to do so.
Perhaps you mean the BIOS's 504Mb limitation? IE BIOS's without LBA?
If so, begin by getting the ANSI ATA standards document. It explains the
register-level programming of (E)IDE drives, how to identify parameters, etc.
Next, learn the difference between DOS and BIOS - the wording of your
uestion
above suggests you don't know the role played by each; therefore you've got a
looong way to go.
Once you learn how to drive a HDD using the registers, next you must then
write your own INT 13h routines to replace those of the BIOS. Then, it's just
a matter of having your code loaded and patched in place of the existing int
13h stuff.
There are a lot of undocumented and poorly understood areas you must deal
with along the way! I would consider this to be a major programming
challenge... best of luck if you decide to try it!
Craig
--- FMail/386 1.20+
---------------
* Origin: Communications Barrier BBS (03) 9585 1112, 24hrs (3:632/533)
|