我正在尝试为 DOS 应用程序读/写 USB 硬盘驱动器和闪存驱动器。
我阅读了EDD 规范。它提到函数 Int13(Fn = 48h) 可用于获取 特定磁盘驱动器的接口路径和设备路径。这也包括usb接口和ata接口。
现在,此函数还返回一个设备参数表扩展 (DPTE) 表,该表提供 I/O 地址,绕过 Int13h 的软件可以通过该地址读取/写入设备。但此表仅适用于 ATA afaik。
我想使用 Int 13h读取/写入 USB 磁盘/笔式驱动器。可能吗?
实际上,它是受保护模式下的磁盘 I/O 敏感应用程序。因此,由于模式切换,使用 Int13h 会在性能方面造成严重损失。所以,我试图避免使用 Int13h。
bios是否也将USB驱动器初始化为ATA驱动器。如果是这样,那么我可以使用 DPTE 获取命令块和控制块的 I/O 基地址,然后像访问 ATA 驱动器一样访问 USB 驱动器。我对吗?
谢谢