Здравствуйте, друзья! Подскажите пожалуйста, как читать CD (ISO9660, IDE CDROM) диски в защищённом режиме? Спасибо
Celestia, Так же, как и во всех остальных. 1. Прочитать спецификацию ISO 9960:1988 (или ECMA-119, если деньги дóроги). Понять её. 2. Прочитать спецификацию ATA-4 (можно и повыше версией, хотя толку не так и много). Понять её. 3. Присовокупить к вышепрочитанному SFF-8070i (отчасти можно заменить SCSI Primary Commands - 2 и SCSI Block Commands). <Припев>. 3½. Для защищённого режима: соорудить нормальное окружение (PIO, DMA — по вкусу). Для этого прочитать мануалы по процессору и мостам. <Припев>. 4. ??? (подразумевается безумный секс с ловлей свежевыращенных блох). Припев меняется на "работай, сволочь!". 5. PROFIT!!!
Привет..... эээ... у мя тоже вопрос..... как получить вендор IDE контролера с помощью io портов? mov dx, 1f0h (кажись именно сдесь он находиться... да и пробовал dl куда заноситься номер устройства) in al, dx (вывод из порта в al) и врезультате вместо 8086h как в мануале к io контролера интеловского выдаёт FFFFh..... И смещение(offset) для работы с устройством ведь дается относительно порта?
Почитай как с PCI через I/O порты работать. Там вообще-то как минимум адрес устройства (BUSevice:Function) передавать надо.
Можешь подкинуть пример? как должно выглядить обращение..... тоесть чтоб обратиться к CDrom'y надо обратиться к PCI -> IDE -> cdrom? правильно понимаю?
VendorID IDE контроллера находится в конфигурационном пространстве PCI, оттуда и читать надо. Чтобы обратиться к CD-ROMу надо из конфигурационного пространства PCI считать базовый адрес I/O портов и потом в соответствии со спецификацией ATA/ATAPI через эти порты работать с устройством.