Мда, нехорошо получилось, не стоило мне в таком сонном состоянии читать и уж тем более поспешно отвечать.
При том что сам я флопом пользовался буквально вчера, всё равно мозг даже и не подумал что кто-то под него будет программировать, так что прочёл "PIO" и проигнорировал русское сокращение, соотв. по-умолчанию подставив HDD.
Ок, правильная ссылка:
http://wiki.osdev.org/Floppy_Disk_ControllerПравда, там ессно практически всё про DMA режим, разве что в части
http://wiki.osdev.org/Floppy_Disk_Contr ... _Transfers сказано "poll the RQM bit in the Main Status Register to determine when the controller wants to have data moved in/out of the FIFO buffer" + "When the transfer is complete, read the "result" bytes to see if there were any errors." + MSR.CB "Command Busy: set when command byte received, cleared at end of Result phase", т.е. если стадия получения результата "result phase" закончилась раньше, чем были считаны все ожидаемые данные, то понятно что искать байты статуса надо среди последних считанных. Хотя я бы в таком случае всё же поставил эксперимент (на реальном железе, конечно, ибо эмули, точнее, их разработчики, по очевидным причинам PIO режим флопа не любят).
> У меня уже есть тестовый системник, только разъемы IDE, а у меня все диски sata.
Ну уж IDE хард-то нынче найти для тестов весьма просто.
> У меня сначала будет загружаться драйвер файловой системы защищенного режима загрузочного диска, который будет использоваться только в момент загрузки и в момент возникновения аварийных ситуаций(например слетел драйвер жесткого диска, нгмд и т.п), то есть будет частью загрузчика.
Всё равно это не аргумент не реализовывать обработчик прерывания. Уж больно сильно он упрощает жизнь, да и объём кода не думаю что с ним больше, чем с извратской обработкой редкоиспользуемых случаев.
> К тому же загрузчики обычно используют сервис BIOS, т.е. напрямую не работают с прерываниями.
Люто плюсую, тем более что этот слой эмуляции нередко позволяет нахаляву грузиться (а иногда и даже потихоньку с ними работать дальше) с самых разных устройств, включая el-torito, флешки, intel fake raid, scsi диски и т.д.