[an error occurred while processing this directive]
( ПРОДОЛЖЕНИЕ ) 

       3.2.1.0.3 Подробно о слотовой области 

  Слотовая область- это область где хранятся параметры
  слоты. Эта область находится по адресам 400- 9FF
  т.е. для слоты 1 это адреса 400- 4FF
       для слоты 2 это адреса 500- 5FF и т.д.
     
  Рассмотрим подробно структуру области слоты


 ГЛОБАЛЬНАЯ ЧАСТЬ( ЗАГОЛОВОК ВСЕЙ СЛОТЫ )
 
  Смещение     Назначение
 от нач. адр.
 
     0         Код устройства на слоте
     1         Номер слоты* 10h
    2,3        Адрес обработчика данной слоты
 
 
 ЛОКАЛЬНАЯ ЧАСТЬ( ДЛЯ КАЖДОГО ПОДУСТРОЙСТВА )
 
     4( 0 )    Код логического устройства
     5( 1 )    Смещение до следующего устройства
               в пределах этой страницы( для организации
               цепочки подустройств )
     6( 2 )    Занятость устройства( ID захватчика )
 
 
 СВОБОДНАЯ ЧАСТЬ( НА УСМОТРЕНИЕ РАЗРАБОТЧИКА )
 
       !
       !
       U
 
-------------- ** Для TEAC свободная часть имеет вид:
     7( 3 )    Команда выбора привода
  8,9( 4,5 )   Физический адрес обращения
    10( 6 )    Номер дорожки на устройстве
    11( 7 )    Число шагов до нужной дорожки
              

     3.2.1.1 Включить устройство 

       3.2.1.1.1 Общие слова 

         Данная функция введена в основе для устройств, ра- 
         бота которых не зависит от самой машины( например: 
         дисковод, сеть, принтер и т.д. ). В стандартном 
         драйвере дисковода TEAC, который входит в комплект 
         системной библиотеки SYSTEM.FRL эта функция просто 
         включает дисковод. 

     3.2.1.2 Выключить устройство 

       3.2.1.2.1 Общие слова 

         Данная функция введена по тем же самым причинам, что
         и выше. В системной библиотеке TEAC эта функция 
         выключает дисковод. 

     3.2.1.3* Считать блок данных с устройства 

       3.2.1.3.1 Общие слова 

         Мне кажется, что нет необходимости объяснять зачем 
         введена эта функция( как впрочем и все, что будут 
         ниже ). Необходимо только заметить, что для всех 
         функций, описанных ниже подразумевается, что обмен 
         с устройством происходит блоками по 256 байт, если 
         не оговорено обратное. 

       3.2.1.3.2 Входные параметры 

         MemAdr TSAdr , где MemAdr- адрес памяти куда будет 
                                    помещен блок данных. 
                            TSAdr - адрес памяти, где нахо- 
                                    дятся адреса для внеш- 
                                    него устройства, оконча- 
                                    нием поля адресов- нуле- 
                                    вое слово. 
                                    ( например: для TEAC 
                                    это TSList ). 

     3.2.1.4* Записать блок данных на устройство 

       3.2.1.4.1 Общие слова 

         См. 3.2.1.3.1 

       3.2.1.4.2 Входные параметры 

         Идентично как при чтении. 

     ПРИМЕЧАНИЕ: Т.к. есть различие в структуре TSAdr 
                 для различных устройств( например: 
                 для TEAC это TSList, а для ПАМЯТИ, 
                 выступающей как ВИРТУАЛЬНЫЙ ДИСК это 
                 чисто адреса памяти ), то простому пользова 
                 телю не пользоваться ни 3, ни 4 фукцией 
                 ( для ВАС есть 5 и 6 функции, описанные ни- 
                 же ). 

     3.2.1.5* Блок работы с файловой структурой на чтение 

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

       3.2.1.5.0 Функция 0- Найти файл на устройстве 

         3.2.1.5.0.1 Общие слова 

           Данная функция осуществляет поиск атрибутов файла 
           по его имени. В качестве имени НЕ может быть ис- 
           пользован шаблон поиска. 

         3.2.1.5.0.2 Входные параметры 

           FName- адрес имени файла для поиска. 

         3.2.1.5.0.3 Выходные параметры 

           TSAdr- адрес списка, во внутреннем представлении 
                  устройства, по которому файл может быть 
                  считан функцией 3. 
           FAdr-  адрес в памяти, где хранятся атрибуты 
                  файла во внутреннем представлении устрой- 
                  ства( для TEAC это просто адрес на ПОЛЕ 
                  ФАЙЛА ). 
           Flag-  Если на стеке по выходу из 5 функции нахо- 
                  дится FALSE, то файл не был найден на уст- 
                  ройстве. 

       3.2.1.5.1 Функция 1- Вывести в память каталог 
                            по шаблону 

         3.2.1.5.1.1 Общие слова 

           Данная функция ищет на диске файлы, удовлетворя- 
           ющие шаблону и помещает в память структуру: 
           0           - NameLen Длина имени 
           1..NameLen+1- FName   Само имя файла 
           NameLen+2   - <ENTER> Символ <ENTER> 
           NameLen+3   - FType   Тип файла( стандартный ) 

         3.2.1.5.1.2 Входные параметры 

           PatAdr- Адрес шаблона в памяти 
           MemAdr- Адрес памяти, куда "скинуть" каталог 
                   ( каталог всегда заканчивается, когда в 
                   поле NameLen находится ноль ) 

     3.2.1.6* Блок работы с файловой структурой на запись 

       см. 3.2.1.5 ( То же, что и файловое чтение ) 

       3.2.1.6.0 Функция 0- Стереть файл с устройства 

         3.2.1.6.0.1 Общие слова 

           Данная функция удаляет с устройства файл, адрес 
           имени которого на стеке( в качестве имени файла 
           не может выступать шаблон ). Если файла на 
           устройстве нет, то сообщения об ошибке выдано не 
           будет. 

         3.2.1.6.0.2 Входные параметры 

           FName- адрес имени файла в памяти. 

       3.2.1.6.1 Функция 1- Создать файл на устройстве 

         3.2.1.6.1.1 Общие слова 

           Данная функция создает пустой файл на устройстве, 
           по имени на стеке( НЕ шаблон ). Если файл с таким 
           именем уже есть на устройстве, то он НЕ будет ни 
           удален, ни переименован( просто на устройстве бу- 
           дут два файла с одинаковыми именами ). Если на 
           устройстве нет памяти или запись запрещена, то 
           будет выполнен уход через ERROR. 

         3.2.1.6.1.2 Входные параметры 

           FType- тип создаваемого файла. 
           FName- адрес имени создаваемого файла. 
           FLen - длина создаваемого файла. 

         3.2.1.6.1.3 Выходные параметры 

           TSAdr- адрес в памяти на список адресов для 
                  функции записи 4. 

       3.2.1.6.2 Функция 2- Переименовать файл на устройстве 

         3.2.1.6.2.1 Общие слова 

           Данная функция переименовывает файл лишь в том 
           случае, если не было ошибок чтения, записи, 
           нахождения файла( имя файла НЕ шаблон ). 
           В случае какой- либо бяки на устройстве( см. выше)
           уход через ERROR. 

         3.2.1.6.2.2 Входные параметры 

           FDestName- адрес в памяти имени исходного файла 
           FSrcName - адрес в памяти имени конечного файла 

           ПРИМЕЧАНИЕ: Данная функция может НЕ входить в 
                       комплект поставки библиотеки SYSTEM 

След. файл->bffeatr3.doc 
[an error occurred while processing this directive]