PCI IDE Controller: Difference between revisions

m
[unchecked revision][unchecked revision]
Line 806:
 
===Read From ATAPI Drive===
Let's move to a part which is quite easier, it is to read from ATAPI Drive, i will not make the function write to ATAPI Drive, because the write Operation is very complixcomplex and it should done by third-party tools (like Nero in Windows, and Brasero in Linux).
 
ATAPI Drive is different from ATA Drives, as it doesn't use ATA Commands, but it use the SCSI-Command-Set. Parameters are sent into a Packet, so it is Called: ATA-Packet Interface [ATAPI].
Line 827:
</source>
 
by this way, ide_wait_irq() will go into a while loop, which waits for the variable ide_irq_invoked to be set, then it reclearsclears it.
 
<source lang="c">
Line 836:
* drive, is the drive number, which is from 0 to 3.
* lba, the lba address.
* numsects, number of sectors, it should always be 1, and if you wanna read more than one sector, re-execute this fucntionfunction with updated LBA address.
* selector, Segment Selector.
* edi, offset in the selector.
Line 933:
 
<source lang="c">
// (IX): RecievingReceiving Data:
// ------------------------------------------------------------------
for (i = 0; i < numsects; i++) {
Anonymous user