Я пытаюсь читать / записывать жесткие диски USB и флешки для приложения DOS.
Я прочитал спецификацию EDD и упоминает, что функция Int13 (Fn = 48h) может использоваться для получения пути к интерфейсу и пути к устройству для конкретного диска. Это также включает интерфейс USB и интерфейс ATA.
Теперь эта функция также возвращает таблицу расширения таблицы параметров устройства (DPTE), которая дает адреса ввода-вывода, через которые программное обеспечение, минуя Int13h, может использовать его для чтения / записи устройства. Но эта таблица только для ATA afaik.
Я хочу читать / писать на USB-диск / флеш-накопители без использования Int 13h. Возможно ли это?
На самом деле это приложение, чувствительное к вводу-выводу диска в защищенном режиме. Таким образом, использование Int13h повлечет за собой серьезные потери производительности из-за переключения режимов. Итак, я стараюсь избегать использования Int13h.
Инициализирует ли BIOS USB-накопители, чтобы они тоже выглядели как диски ATA. Если это так, то я могу использовать DPTE для получения базовых адресов ввода-вывода командного блока и блока управления, а затем получить доступ к USB-накопителям, как к ATA-накопителям. Я прав?
Спасибо