Кстати, сегодня когда прикручивал ПЗУ к своему SD-контроллеру, заметил, что на схеме IDE от DrPass дешифратор адреса для ПЗУ закоден на адрес 0xC0000. В этом может крыться небольшая проблемка, а именно: Поиск начинает инициализацию дополнительных BIOS с младших адресов, таким образом сначала будет проинициализирован HDD BIOS, а только затем FDD. Я еще не смотрел в исходники XT-IDE, но мне кажется, что логично было-бы сохранить старый вектор int 13h, в котором уже есть функции работы с FDD, а после своей работы передавать управление туда. Ведь в XT работа с FDD находится в основном биос, и int 13h для дискет есть всегда. В то же время в FDD BIOS Поиска они несмотря ни на что берут, и прямо затирают int 13h своим обработчиком:
Код:
; П/П ИНИЦИАЛИЗАЦИИ ДИСКОВОГО АДАПТЕРА

        MOV     AX,0H
        MOV     DS,AX
        MOV     BX,410H
        MOV     AX,DS:[BX]
        OR      AX,01H            ;Драйвер ГМД присутствует
        MOV     DS:[BX],AX
        MOV     BX,4CH            ;Установить вектор INT13H
        LEA     AX,DISKETTE_IO
        MOV     DS:[BX],AX
Таким образом даже если HDD BIOS перехватит int 13h, FDD BIOS после инита затрет его на свой.

Короче я еще глобально не думал на эту тему, но что-то мне подсказывает, что лучше все-таки будет переделать адрес на 0xE2000 или 0xE4000, что бы HDD BIOS инициализировался после FDD BIOS. По крайней мере в своем контроллере SD я так пожалуй и сделаю.