Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Dos7book

.pdf
Скачиваний:
75
Добавлен:
09.02.2015
Размер:
5.1 Mб
Скачать

Глава 5: Избранные драйверы для MS-DOS7

В сочетании с драйвером ATAPIMGR.SYS лучше использовать такой драйвер дисковода, который задействует функции обслуживания интерфейса ATAPI, не проверяя, кем они предоставлены. Примерами таких драйверов являются

OAKCDROM.SYS (5.09-01) и VIDE-CDD.SYS (5.09-02). Они обеспечат доступ к дискам DVD независимо от того, "захочет" ли драйвер ATAPIMGR.SYS загружаться или нет.

5.07-02 Драйверы интерфейса PCMCIA

С начала 1990-х годов портативные компьютеры класса "ноутбук" оснащали специальным 68-контактным разъемом для карт расширения памяти. Интерфейс этих карт был стандартизован в 1990-м году Международной Ассоциацией производителей карт расширения памяти для компьютеров (PC Memory Card International Association = PCMCIA). В 1995-м году он был переименован в

"PC card"- интерфейс, потому что в то время его уже использовали для подключения разного периферийного оборудования: внешних дисководов, модемов и т.п. Последняя 8-я версия стандарта интерфейса "PC card" была принята в 2001-м году. Позднее интерфейс "PC card" был вытеснен интерфейсом USB 2.0 (5.07-05).

В первой половине 1990-х годов применяли несколько взаимно несовместимых типов контроллеров PCMCIA, и тогда каждое внешнее устройство в интерфейсом PCMCIA приходилось снабжать несколькими драйверами для DOS. Так, в комплекте программ оптического дисковода Panasonic KXL-DN720A (1995 года) для разных контроллеров PCMCIA имеются 3 драйвера , позволяющие обращаться к подключенным приборам посредством унифицированного набора команд ASPI, то есть так же, как к приборам с интерфейсами SCSI (5.07-03) и USB (5.07-05).

Этот комплект можно свободно скачать из сети Интернет с сервера ftp://ftp.panasonic.com/pub/Panasonic/Drivers/CDROM/ в самораспаковывающемся файле архива 720PCM32.EXE.

Позже преимущественное распространение получили контроллеры типа i82365 и их аналоги, а портативные компьютеры стали продавать с предустановленной операционной системой Windows без драйверов для DOS. Чтобы сохранить возможность пользования портативными накопителями в нештатных ситуациях, их теперь снабжают драйверами, которые обращаются из среды DOS прямо к портам контроллера i82365. Такие драйверы предоставляет, в частности, фирма Novac. Версия 4.0 (1999 года) драйвера NVICDF.EXE для оптических дисководов свободно выложена на сайте http://www.driver.novac.co.jp/driver/sta_PCMCIA/pcm_drv.html в

составе файла архива Fdos.zip. Версия 4.0 (2000 года) драйвера NVIHD.EXE для не-оптических накопителей также свободно выложена на сайте http://www.driver.novac.co.jp/driver/hd150p/hd150p_drv.html в составе файла архива compact_PCMCIA.zip

– 141 –

Глава 5: Избранные драйверы для MS-DOS7

Каждый из упомянутых драйверов фирмы Novac загружают без параметров из строк файла CONFIG.SYS командами DEVICE (4.06) или DEVICEHIGH (4.07).

Потом, когда в слот PCMCIA будет вставлена карта с дисководом, надо повторно вызвать тот же драйвер из командной строки:

NVICDF.EXE

/E

или

 

 

NVIHD.EXE

/E /I

где параметры означают:

/E

инициализировать карту PCMCIA

/I

запустить мотор дисковода

Привод оптического дисковода запускается автоматически, когда в нем имеется диск, и потому драйвер NVICDF.EXE не нуждается в параметре /I. К сожалению, автор не имел достаточной базы для тестирования драйверов PCMCIA, так что к приведенным здесь сведениям нужно относиться осмотрительно.

Примечание 1: комплект поставки WINDOWS-ME содержит DOS-драйвер CARDDRV.EXE для внешних накопителей на жестких магнитных дисках с интерфейсом PCMCIA. Однако точных сведений об этом драйвере получить не удалось.

5.07-03 Драйверы интерфейса SCSI

Системный интерфейс для малых компьютеров (Small Computer's System Interface = SCSI) был разработан в 1982-м году фирмой Shugart и стал широко известен благодаря использованию в популярных тогда компьютерах фирмы Apple. В 1986-м году интерфейс SCSI получил статус стандарта ANSI X3.131-1986. С тех пор он неоднократно подвергался радикальным усовершенствованиям. В AT-совместимых компьютерах интерфейс SCSI применяют редко, причем преимущественно в серверах. По этой причине здесь кратко изложены только основные принципы конфигурирования загрузки DOS на компьютеры с интерфейсом SCSI.

Доступ к приборам, подключенным к шине SCSI, обеспечивается либо системой BIOS, либо устанавливаемыми драйверами. Серверные материнские платы обычно содержат встроенный SCSI-контроллер и расширения BIOS, обеспечивающие доступ через шину SCSI такой же, как через шину IDE, то есть без загрузки дополнительных драйверов. Однако многие версии расширений BIOS не будут загружаться, если на шине SCSI в момент включения компьютера не имеется хотя бы одно активное устройство, причем дисководы на сменных дисках без вставленного в них диска активными устройствами не считаются. Если к конкретному дисководу на сменных дисках требуется доступ средствами BIOS,

– 142 –

Глава 5: Избранные драйверы для MS-DOS7

например, чтобы отформатировать сменный диск как жесткий магнитный диск, то надо успеть вставить этот сменный диск в дисковод до того, как BIOS начнет проводить свои стартовые тесты. Когда BIOS обнаруживает в дисководе загрузочный диск, с него можно загружать операционную систему, но для этого

данный дисковод должен быть заранее отмечен как загрузочный в настройках программы BIOS Setup. Те дисководы на шине SCSI, которые в начальный момент зарегистрированы системой BIOS как неактивные, не будут доступны через расширения BIOS, даже если SCSI-расширения BIOS загружены и обеспечивают доступ к другим дисководам.

Некоторые SCSI-контроллеры на платах расширения также содержат встроенную память с записью расширений BIOS, и тогда доступ к устройствам на шине SCSI обеспечивается так же, как посредством встроенного контроллера. Наличие SCSI-расширений BIOS легко определить по перечню настроек, предлагаемых программой BIOS Setup. Тем не менее большинство дешевых SCSI-контроллеров на платах расширения не содержат встроенного программного обеспечения. Загружать компьютер с таких плат нельзя. Доступ к устройствам, подключаемым к таким контроллерам, обеспечивается с помощью загружаемых драйверов. Для дисководов на сменных дисках такая форма доступа удобнее,

потому что позволяет регистрировать структуру разделов заново при каждой смене диска, тогда как большинство версий BIOS регистрирует структуру разделов диска только один раз при включении компьютера.

Комплекты драйверов для устройств, подключаемых к шине SCSI, разработаны несколькими фирмами; наиболее широко известны Adaptec, DTC, Mylex, Tekram. Каждый комплект включает драйвер SCSI-контроллера (ASPI8U2.SYS от Adaptec, AS80DOS.SYS от DTC, и т.д.), драйвер для накопителей на жестких магнитных дисках (ASPIDISK.SYS от Adaptec, DISKDOS.SYS от DTC, и т.д.) и драйвер дисковода CD-ROM (ASPICD.SYS от Adaptec, CDDOS.SYS от DTC, и т.д.). Все эти драйверы надо загружать командами DEVICE или DEVICEHIGH из строк файла CONFIG.SYS, причем загрузка драйвера SCSI-контроллера должна предшествовать загрузке драйверов для всех других устройств, подключаемых к шине SCSI.

Драйверы для накопителей на жестких магнитных дисках и для дисководов CD-ROM, предлагаемые производителями SCSI-контроллеров, в значительной степени унифицированы, потому что они пользуются стандартизованным набором команд ASPI. Возможность обращаться к разным устройствам посредством одного набора команд обеспечивают драйверы SCSI-контроллеров, каждый из которых, как правило, обслуживает серии из нескольких типов контроллеров. В частности, загрузочные дискеты для операционных систем Windows-95/98 содержат два комплекта SCSI-драйверов от фирм Adaptec и Mylex. Считают, что их достаточно для почти любого компьютера с шиной SCSI. Конфигурационные файлы на этих

дискетах могут быть взяты за образец загрузки драйверов для обслуживания шины

SCSI.

– 143 –

Глава 5: Избранные драйверы для MS-DOS7

5.07-04 Драйверы интерфейса IEEE1394 (FireWire)

Интерфейс FireWire разработан фирмой Apple в 1987 году для подключения приборов с большими скоростями передачи данных (до 393 Мегабит/с). Такие потоки данных характерны для видеокамер, устройств видеозаписи, внешних дисковых накопителей. С 1995 года интерфейс FireWire стал стандартом IEEE1394. Для AT-совместимых компьютеров выпускают контроллеры интерфейса IEEE1394 на платах расширения, но массового распространения они не получили.

К настоящему времени известны два драйвера, обслуживающих контроллеры интерфейса IEEE1394 в среде DOS. Версию 1.01 (2002 года) драйвера ASPI1394.SYS фирмы Iomega можно свободно скачать из сети Интернет с сайта http://www.stefan2000.com/darkehorse/PC/DOS/Drivers/USB/ в составе файла архива iomega_usb_firewire_dos_driver_boot_disk.zip. Там же приведен пример строки загрузки этого драйвера, но без объяснения назначения параметров. Версия 1.02 другого драйвера – SBP2ASPI.SYS фирмы Medialogic – содержится в самораспаковывающемся файле архива DAT.EXE, который свободно выложен на сайте http://www.datoptic.com/fw25fr.html .

Поскольку оба упомянутых драйвера дают возможность обращаться к подключенным приборам посредством унифицированного набора команд ASPI, постольку для обслуживания накопителей и дисководов на шине IEEE1394 потенциально пригодны те же драйверы, которые обращаются посредством команд ASPI к таким же накопителям и дисководам с интерфейсами SCSI (5.07-03) и USB (5.07-05). Но надо иметь ввиду, что все сведения о драйверах шины IEEE1394 приведены здесь без экспериментальных проверок, только для уведомления.

5.07-05 Драйверы интерфейса USB

Универсальная последовательная шина USB (= Universal Serial Bus) разработана совместно фирмами Compaq, Intel, Microsoft и NEC. Спецификация USB 1.0 была принята ими в 1996 году. С тех пор встроенный USB-контроллер стал привычным элементом на материнских платах всех массовых AT-совместимых компьютеров. Практическое значение интерфейса USB еще более возросло с принятием в 2002 году спецификации USB 2.0, расширившей диапазон скоростей передачи данных до 480 Мегабит/с. Сейчас подавляющее большинство выпускаемых периферийных приборов рассчитано на подключение посредством интерфейса USB.

Контроллеры шины USB реализуют три разных варианта взаимодействия с аппаратными средствами компьютера:

"Открытый" – Open Host Controller Interface (OHCI), "Унифицированный" – Universal Host Controller Interface (UHCI), "Усовершенствованный" – Enhanced Host Controller Interface (EHCI).

– 144 –

Глава 5: Избранные драйверы для MS-DOS7

Все современные USB-контроллеры соответствуют спецификации USB 2.0 и реализуют вариант EHCI, но способны эмулировать более старые контроллеры, соответствующие спецификации USB 1.1, которые поддерживают либо вариант OHCI, либо вариант UHCI. Разница состоит в том, что в варианте UHCI обращения происходят как обычно через порт, а в варианте OHCI – через выделенную зону памяти. Вариант OHCI реализован комплектами микросхем фирм SIS и ALi, а вариант UHCI – комплектами микросхем фирм Intel, VIA и ряда других.

Доступ из среды DOS к периферийным приборам, подключаемым к шине USB, возможен либо посредством системы BIOS компьютера, либо посредством загружаемых драйверов. Доступ посредством BIOS необходим, когда предстоит загружать операционную систему с внешнего накопителя. Более детально этот вопрос рассмотрен в разделе 9.11-01. Однако системы BIOS не обязательно готовы обслуживать любой внешний прибор: некоторые воспринимают только определенные виды накопителей, например, флоппи-дисководы с интерфейсом USB. Кроме того, системы BIOS фиксируют свойства конкретного внешнего накопителя в момент включения компьютера и не позволяют их менять. Если, например, первоначально вставленную в адаптер флэш-карту заменить на другую, то доступа к этой другой карте не будет. Возможность оперативной смены внешних накопителей обеспечивается с помощью загружаемых драйверов.

Чтобы избежать вероятного конфликта драйверов с системой BIOS, в настройках программы BIOS Setup на страничке "Advanced" параметр "Legacy USB Support" должен быть поставлен в положение "Disabled" (= выключено). Если в настройках программы BIOS Setup Вашего компьютера подобный параметр отсутствует, то, скорее всего, данная система BIOS не обслуживает внешние USB- накопители. В таких компьютерах доступ к приборам на шине USB возможен только посредством загружаемых драйверов. В общем случае нужно сначала загрузить драйвер USB-контроллера, а затем драйверы всех тех периферийных приборов, которыми предстоит пользоваться.

В 1998 – 2001 годах фирмой SoftConnex были разработаны первые два драйвера для USB-контроллеров – UHCI.EXE и OHCI.EXE. Их версии 2.3 используются на загрузочных дискетах, формируемых известным пакетом программ Norton Ghost (до 8-й версии включительно). Эти же драйверы версии 2.5 выложены на сайте http://www.stefan2000.com/darkehorse/PC/DOS/Drivers/USB/ . Их нужно загружать последовательно, один за другим, но фактически загрузится только один из них тот, который соответствует варианту взаимодействия, реализуемому USB- контроллером. Возможна загрузка прямо из командной строки, из строк файла

AUTOEXEC.BAT командой LH (3.17), или из строк файла CONFIG.SYS командами DEVICE (4.06) или DEVICEHIGH (4.07), например:

DEVICEHIGH = \DOS\DRV\UHCI.EXE

DEVICEHIGH = \DOS\DRV\OHCI.EXE

– 145 –

Глава 5: Избранные драйверы для MS-DOS7

Драйверы фирмы SoftConnex предназначены для обслуживания USB-клавиатур, а также манипуляторов типа "мышь" и внешних портов, подключаемых к шине USB. Разумеется, затем необходимо загрузить драйвер обслуживаемого прибора. В частности, для манипуляторов типа "мышь" сгодится любой из драйверов, описанных в разделе 5.03. Но нужно иметь ввиду, что обслуживаемый прибор должен быть подключен обязательно к первому USB-контроллеру, потому что всех остальных USB-контроллеров, которыми бывает оборудован современный компьютер, драйверы фирмы SoftConnex "не видят". Кроме того, драйверы фирмы SoftConnex не предоставляют услуг, которые обеспечили бы доступ к картам памяти, к магнитным или оптическим дискам.

Проблема доступа из DOS к дисковым и другим накопителям, подключаемым к шине USB, сейчас особенно актуальна. На эту тему в сети Интернет имеется много разнородных сведений. Чтобы составить собственное мнение, автору пришлось предпринять ряд экспериментов, в которых роль подопытного дисковода играл

USB-адаптер типа ImageMate-2 для карт Compact Flash.

Лучшим драйвером для USB-контроллеров оказался USBASPI.SYS фирмы Matsushita (торговая марка Panasonic). Версия 2.27 этого драйвера (2008 года) содержится в самораспаковывающемся файле архива F2H_USB.EXE, который выложен на сайте http://panasonic.co.jp/pcc/products/drive/other/f2h_usb.html .

Драйвер USBASPI.SYS обслуживает все типы USB-контроллеров, причем по умолчанию сканирует шину каждого USB-контроллера, если их в компьютере несколько, и регистрирует все действующие номера LUN (примечание 1 к A.03-2) у каждого подключенного устройства. В отличие от большинства других драйверов USB, версия 2.27 этого драйвера не конфликтует с системой BIOS даже когда параметр "Legacy USB support" активизирован. Полной спецификации параметров драйвера USBASPI.SYS фирма Matsushita не предоставляет. Тем не менее установлено назначение следующих необязательных параметров:

/e

активизировать USB-контроллеры варианта EHCI.

/o

активизировать USB-контроллеры варианта OHCI.

/u

активизировать USB-контроллеры варианта UHCI.

/nocbc

не искать USB-адаптеры в слотах PCMCIA (PcCard).

/w

напомнить пользователю, чтобы он подключил устройства,

 

которые должны быть зарегистрированы на шине USB.

/slow

снизить темп опроса подключенных устройств, чтобы медленные

 

считыватели карт успели ответить.

/v

показать сведения об обнаруженных USB-контроллерах и

 

устройствах, подключенных к шинам USB.

/r

не прерывать загрузку драйвера из-за ошибок, а также когда

 

USB-контроллером управляет система BIOS.

/norst

не посылать USB-устройствам сигнал RESET, чтобы не

 

прерывать загрузку компьютера с одного из них.

– 146 –

Глава 5: Избранные драйверы для MS-DOS7

Параметры /e, /o, /u позволяют сократить время поиска, если заранее известно, каким USB-контроллером предстоит пользоваться в конкретном компьютере. Последние два параметра (/r и /norst) необходимы при осуществлении загрузки компьютера с одного из USB-устройств, так как иначе либо процесс загрузки будет прерван, либо другие USB-устройства останутся недоступными после завершения загрузки. Кроме того, при пользовании драйвером USBASPI.SYS нельзя прежде него загружать драйверы оптических дисководов, даже когда они не имеют отношения к шине USB.

Лучшим драйвером для не-оптических накопителей продолжает оставаться ASPIDISK.SYS фирмы Adaptec, первоначально разработанный для интерфейса SCSI. Но прямого отношения к типу интерфейса он не имеет, потому что обращается к накопителям опосредованно, используя стандартизованный набор команд ASPI. Поскольку именно этот набор команд реализован драйвером USBASPI.SYS на базе интерфейса USB, постольку драйвер ASPIDISK.SYS обслуживает накопители на картах памяти и на жестких магнитных дисках, подключаемые к шине USB.

Версию 4.01b драйвера ASPIDISK.SYS ( длина 15060 байтов, дата 02.12.1998)

можно скачать из сети интернет в составе файла архива DOSDRVR.EXE с сайта фирмы Adaptec http://www.adaptec.com/en-US/speed/scsi/dos/dosdrvr_exe.htm . Этот драйвер обеспечивает доступ к накопителям с файловыми системами FAT-12, FAT-16, FAT-32 и "Big Floppy". Если сменный носитель в накопитель не вставлен,

то по умолчанию ему будет выделено буквенное обозначение одного логического диска. Но носители, отформатированные как жесткий магнитный диск с несколькими разделами FAT-16, представляют несколько логических дисков. Чтобы на таких носителях получить доступ к остальным логическим дискам, помимо первого, необходимое количество дополнительных буквенных обозначений следует заблаговременно резервировать посредством указания параметра /r в командной строке. Полный набор принимаемых необязательных параметров включает следующее:

/id=2:0+1 – пример списка номеров устройств, которые драйверу следует

 

взять под свое управление: устройство номер 2 на шине 1-го

 

USB-контроллера и устройства номер 0 и 1 на шине 2-го

 

USB-контроллера.

/nospin

не выдавать в момент инициализации команду на включение

 

мотора привода дисков.

/d

показать сведения о накопителях, которые драйвер взял под свое

 

управление.

/pause

сделать паузу, чтобы дать возможность прочитать выведенное

 

сообщение.

– 147 –

Глава 5: Избранные драйверы для MS-DOS7

/r4

пример резервирования четырех буквенных обозначений для

 

дополнительных логических дисков. Допускается резервировать

 

от 1 до 24 буквенных обозначений.

Если список номеров не указан, то драйвер ASPIDISK.SYS будет разбираться с каждым USB-устройством и постарается взять под свое управление все подходящие устройства, причем не требуя наличия сменного носителя в них в момент загрузки.

Наличие списка номеров устройств предотвратит потери времени на разборки с неподходящими устройствами. В приведенном примере указание устройства номер 2 на шине 1-го USB-контроллера означает, что драйверу предписано проигнорировать устройства с номерами 0 и 1, которые могут быть, например, сканером и принтером.

Из драйверов оптических дисководов CD/DVD-ROM, видимо, подойдет

NJUSBCDA.SYS фирмы Workbit Corp. Версия 3.9 этого драйвера (2000 года) выложена на сайте http://www.driver.novac.co.jp/driver/sta_black/bst_drv.html в

составе файла архива BST_DOS.ZIP. Как многие другие драйверы оптических дисководов, NJUSBCDA.SYS принимает в командной строке параметр /D: с последующим произвольным идентификатором длиной не более 8 знаков

(например, /d:USBCD001) для опознания программой MSCDEX.EXE (5.08-03) или программой SHSUCDEX.EXE (5.08-04), одна из которых потом тоже должна быть запущена. В строку ее запуска надо будет добавить точно такой же параметр с точно тем же идентификатором.

Описанные драйверы USB-устройств следует загружать из строк файла

CONFIG.SYS командами DEVICE (4.06) или DEVICEHIGH (4.07). Если предположить, что все драйверы USB-устройств находятся в каталоге \DOS\DRV того диска, с которого производится загрузка компьютера, то строки их загрузки могут выглядеть, например, так:

devicehigh=\DOS\DRV\Usbaspi.sys /slow /v devicehigh=\DOS\DRV\Aspidisk.sys /nospin /d /pause devicehigh=\DOS\DRV\Njusbcda.sys /d:USBCD001

Параметры в приведенном примере подобраны в расчете на загрузку компьютера с устройства, не имеющего отношения к шине USB, причем когда заранее нет сведений о числе имеющихся USB-контроллеров и других подключенных устройств. Если же загрузка выполняется не первый раз в компьютере с заранее известным составом оборудования, то параметры /slow и /pause бывает целесообразно убрать. Кроме того, для сокращения времени поиска полезно указать, какого типа USB-контроллер следует искать и какие именно номера устройств на его шине нужно регистрировать.

Упоминаемую выше версию 2.27 драйвера USBASPI.SYS фирмы Matsushita (длина файла 39729 байт) часто путают с одноименным драйвером версии 1.07

– 148 –

Глава 5: Избранные драйверы для MS-DOS7

фирмы Novac (длина файла 43528 байт), который очень напоминает самые ранние версии того же драйвера фирмы Matsushita. Он обслуживает только первый USB- контроллер, только согласно спецификации USB 1.1, игнорирует устройства с ненулевым номером LUN (примечание 1 к A.03-2), и принимает из командной строки другой набор необязательных параметров:

/w

напомнить пользователю, чтобы он подключил устройства,

 

которые должны быть зарегистрированы на шине USB.

/v

показать сведения об обнаруженных устройствах, подключенных

 

к шине USB 1-го контроллера.

/r

не выгружать резидентный модуль драйвера, даже если

 

USB-контроллер находится под управлением BIOS.

/m=D0

пример спецификации зоны памяти для USB-контроллера

 

варианта OHCI. D0 означает зону D0000h – DFFFFh.

/p=A400

пример адреса порта USB-контроллера варианта UHCI.

Драйвер USBASPI.SYS фирмы Novac можно свободно скачать из сети Интернет с сайта http://www.driver.novac.co.jp/driver/hd352u/hd352u_drv.html в составе файла архива HD352u_dos.zip. В том же файле архива, помимо USBASPI.SYS, содержится еще драйвер фирмы Novac Di1000dd.sys версии 2.00 для доступа к не-оптическим накопителям. Он принимает из командной строки параметр

/dS

пример буквы ("S"), которую следует назначить диску,

 

доступному посредством данного драйвера.

Однако назначение заданной буквы выполняется "грязно", без дезактивирования фантомных дисков. Драйвер Di1000dd.sys "не понимает" номера LUN и файловую систему FAT-32, регистрирует накопители только на шине первого USB-контроллера, причем при условии, что они в момент загрузки содержат носитель записи. Ограниченные способности комплекта драйверов фирмы Novac все же могут быть достаточны для выполнения основных операций на компьютерах с известным составом оборудования.

Еще один путь доступа к USB-устройствам из DOS открывает комбинированный драйвер DUSE.EXE, разработанный фирмой Cypress Semiconductor. Версию 4.9 этого драйвера (2003 года) можно свободно скачать из сети Интернет с сайта http://www.pocketec.net/support.taf в подкаталоге "downloads"

в составе файла архива Duse_4_9.zip. Файл DUSE.EXE объединяет в себе драйверы USB-контроллера, оптических дисководов, а также накопителей на жестких магнитных дисках и на картах памяти.

Возможность получить "все в одном" выглядит очень привлекательно, но сопровождается неприятными неожиданностями. По непонятной причине DUSE.EXE требует, чтобы DOS работала в реальном режиме, то есть без драйвера EMM386.EXE (5.04-02). Но тогда теряется доступ к области UMB, и DOS вынуждена загружать все остальные драйверы в обыкновенную память. Хуже того,

– 149 –

Глава 5: Избранные драйверы для MS-DOS7

при загрузке с установками по умолчанию (без параметров) резидентный модуль DUSE.EXE занял еще 233 кбайт обыкновенной памяти, так что там вообще не осталось достаточного пространства для пользовательских программ.

Минимально-приемлемую конфигурацию удалось получить, отказавшись от

загрузки модуля поддержки оптических дисководов и обеспечив загрузку большинства драйверов в область UMB в реальном режиме с помощью драйвера UMBPCI.SYS (5.04-04). Объем резидентного модуля DUSE.EXE уменьшился до 153 кбайт, но все попытки разместить его в области UMB кончились неудачно. Для сравнения: резидентные модули драйверов USBASPI.SYS и ASPIDISK.SYS предоставляют примерно те же возможности, но вместе занимают всего 45 кбайт и размещаются в области UMB без каких-либо требований к режиму работы DOS. Если все-таки возникнет необходимость воспользоваться драйвером DUSE.EXE, то рекомендуемая строка его загрузки в файле CONFIG.SYS может выглядеть, например, так:

device=\DOS\DRV\Duse.exe NOC EMU XFER=8

Показанные здесь необязательные параметры означают:

NOC

исключить поддержку дисководов CD-ROM.

 

EMU

эмулировать вызовы по линиям IRQ для

предотвращения

 

 

взаимной несовместимости драйверов.

 

XFER=8 –

уменьшить объем буфера до 8 кбайт.

По умолчанию

 

 

принимается 64, допускается от 1 до 64 кбайт.

 

Полный перечень параметров драйвера DUSE.EXE приведен в файле

DUSEUsersGuide.pdf, содержащемся в том же архиве Duse_4_9.zip. Но надо отметить, что упоминаемый там параметр INT в экспериментах автора не обеспечивал возможность проводить разметку дисков на шине USB с помощью программы FDISK.EXE (6.13). Более того, разметка посредством команд ASPI (примечание 5 к 6.13) была невозможна независимо от наличия параметра INT, тогда как при доступе с помощью драйвера USBASPI.SYS проблемы с такой разметкой не возникали.

В последнее время стали известны две персональные попытки написать комплекты USB-драйверов для DOS. В декабре 2006 года Г.Потхаст выложил версию 1.0 своего комплекта на сайте http://www.georgpotthast.de/usb/ . Позднее, в августе 2009 года, на сайте http://bretjohnson.us/ появилась версия 0.08 другого комплекта драйверов, написанного Б.Джонсоном.

Комплект Г.Потхаста содержит драйвера для USB-контроллера, для некоторых типов принтеров, для не-оптических USB-накопителей, а также ряд служебных утилит, позволяющих исправлять ошибки конфигурирования USB-интерфейсов. К сожалению, эти драйвера не могут сами определять число обслуживаемых дисков, требуют наличия носителя в накопителе в момент загрузки, обслуживают только

– 150 –

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]