usb твърд диск/писка емулация чрез биос

Опитвам се да чета/записвам USB твърди дискове и флаш устройства за DOS приложение.

Прочетох спец. EDD. и се споменава, че функцията Int13(Fn = 48h) може се използва за получаване на път на интерфейс и път на устройство за конкретно дисково устройство. Това също включва USB интерфейс и Ata интерфейс.

Сега тази функция също връща таблица Device Parameter Table Extension (DPTE), която дава I/O адреси, чрез които софтуер, заобикалящ Int13h, може да използва за четене/запис на устройството. Но тази таблица е само за ATA afaik.

Искам да чета/записвам на USB дискове/писка устройства без използване на Int 13h. Възможно ли е?

Всъщност това е дисково I/O чувствително приложение в защитен режим. Така че използването на Int13h би включвало сериозно наказание по отношение на производителността поради превключване на режима. Така че се опитвам да избягвам използването на Int13h.

Bios инициализира ли USB устройствата, за да се показват и като ATA устройства. Ако е така, тогава мога да използвам DPTE, за да получа I/O базовите адреси на командния блок и контролния блок и след това да получа достъп до USB устройствата точно като ATA устройства. Прав ли съм?

Благодаря


person jacks    schedule 28.08.2012    source източник


Отговори (1)


Този конкретен въпрос е обсъждан надълго и нашироко сред общността на FreeDOS. Най-доброто ръководство за целия проблем е техническата бележка на FreeDOS „USB с DOS

person bugmagnet    schedule 10.03.2014