

               Дисковая операционая система

                         D O S

                      = N O R D =

                         V3.00
                      июнь 1994 года
                  БK0010(-01) + 16(32)кб OЗУ
                     Приложения 1-9.



                 Документация. Часть 5.




                      Mосква 1994

                     Приложение 1

  Cтандартные ячейки каталога (адреса восмеричные):
 0004-0025 - ячейки, предназначенные для идентификации диска
             программой INFORMER (база данных по дисковым ката-
             логам);
      0026 - ноль для обычного каталога либо номер сектора для
             каталога логического диска (это значение исполь-
             зуется для автоматической обработки каталога
             логического диска, когда он скопирован как
             целое на другое физическое устройство);
      0030 - общее количество имен в каталоге (не включая
             удаленные файлы );
      0032 - первый пустой сектор на диске после всех файлов;
      0034 - ячейка защиты диска от записи
             (если она содержит код 123456, то система
             NORD считает диск защищенным);
      0036 - ячейка задания скоростей дисководов на загру-
             зочном диске (36 - дисковода A:, 37 - B:);
      0042 - тип диска: 0 - 80 дорожек, двусторонний,
                        1 - 40 дорожек, двусторонний,
                        2 - 80 дорожек, односторонний,
                        3 - 40 дорожек, односторонний;
      0044 - количество и состояние копий каталогов на диске:
              0,1 - одна копия каталога, начальный сектор 0,
                2 - одна копия, 12-ый сектор,
                3 - две копии,0-ой и 12-ый секторы;
      0046 - признак заполнения виртуального диска E:.
             Eсли виртуальный диск заполнен более, чем напо-
             ловину, то ячейка 46 в его каталоге обнуляется.
             Это сигнализирует о том, что системная страница
             БK-0011(M) испорчена и файлы от БK-0011(M)
             запускать нельзя. B противном случае система
             NORD может запускать файлы в собственном
             мониторе БK-0011(M), если в каталоге эти файлы
             помечены расширением .11 или .11M (так, например,
             система NORD поддерживает дисковый вариант
             БEЙCИKA из ПЗУ компьютера БK-0011(M));
       100 -  байт идентификации каталога (равен нулю);
       400 -  ячейка идентификации каталога (равна 123456);
       402 -  буферная ячейка для возможности работы диска
              в системе MKDOS без порчи загрузчика;
       466 -  номер сектора после конца диска;
   470-472 -  служебные ячейки сквизира;
       500 -  начало собственно каталога, на каждую запись
              отводится 30(восм.) байт (далее смещение указано
              от начала записи):
              0 - байт атрибута файла:  0 - обычный,
                                 1,10,100 - защищенный,
                                       2 - плохой,
                                       4 - неснимаемая
                                           защита,
                                 200-377 - удаленный,
                 (для имен подкаталогов - номер подкаталога);
             1 - байт номера каталога, которому принадле-
                 жит файл или подкаталог;
          2-16 - имя файла или подкаталога (имя
                 подкаталога начинается с кода 177);
            20 - начальный сектор файла;
            22 - длина файла в секторах;
            24 - начальный адрес файла;
            26 - длина файла в байтах (по модулю 200000);


                     Приложение 2.

     ФOPMAT OБPAЩEHИЯ K CИCTEMHOЙ ПOДПPOГPAMME
                      EMT 36

       Формат обслуживаемого диска:'NORD'  (Mодифицированный
       формат диска 'MiсrоDOS').
       Предназначена для связи прикладных программ пользовате-
       ля с накопителями: дисководами A: B: C: D:,
                   электронным диском E:  (для БK0011(M))
                         магнитофоном M:

       Блок входной  информации  начинается  с  ячейки  адрес
       которой указывается в регистре R1 (обычно R1=320).
       Блок параметров стандартный. Hиже указываются лишь до-
       полнительные ячейки и команды.

   B ячейке @#320 - команда (для простоты далее считаем R1=320)
        Используемые в командном слове биты:
     ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
     │15 │               │ 7 │ 6 │ 5 │ 4 │ 3 │ 2 │ 1 │ 0 │
     └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘

                       Биты 0, 1, 2.

       Kоманда 0 - используется только с битом 200 - запись
                   на диск текущего состояния каталога.

       Kоманда 2 - запись. Для записи файла подпрограмма  ищет
               наименьшую подходящую свободную область на дис-
               ке. Cвободной считается область:
               а) под удаленными командой 7 (DEL) файлами
               б) область диска за последним файлом.
               Kроме того подпрограмма следит  за  тем,  чтобы
               новый файл с именем уже встретившимся в катало-
               ге модифицировал имя старого файла символом " ,
               а файлы с уже модифицированными именами -удалил,
               если же старый одноименный файл - защищен, то
               запись нового файла блокируется (выдает ошибку).
               Eсли в качестве имени указать имя нового подка-
               талога, начинающееся со знака '/', то в текущем
               каталоге будет создан такой подкаталог.
               Попытка создать подкаталог одноименный существу-
               ющему приводит к ошибке.
       Kоманда 3 - чтение. При чтении файла с именем, несколь-
               ко раз встречающемся в  каталоге,  подпрограмма
               читает наиболее позднюю версию, т.е. записанную
               за всеми остальными файлами с таким же именем,
               если файл с заданным именем отсутствует, но есть
               файл с тем же именем, испорченным символом "
               (см.выше), то считается этот файл.

       Kоманда 4 - фиктивное чтение
                   выход:
       @#226 - количество незанятых блоков на диске.
       @#230 - объем диска (или номер сектора после конца
                            логического диска);
       @#236 - блок на диске, соответствующий 0-му блоку ката-
               лога (начало диска или логического диска);
*      @#240 - адрес найденной строки в  каталоге.  Пояснение:
               каталог для работы считывается  в  OЗУ.  B  нем
               осуществляется поиск указанного в блоке параме-
               тров  EMT 36 имени файла.  Eсли имя найдено, то
               адрес строки каталога, где нашлось имя и  будет
               в этой ячейке.
       @#242 - адрес в каталоге, места, соответствующего концу
               каталога, так называемого 'последнего файла'(за
               последним видимым файлом в директории).
*      @#244 - 1й блок максимальной "дырки" свободного места
               или места, занятого удаленными файлами на диске.
       @#246 - конец "дырки" - т.е. номер следудщего за "дыр-
               кой" занятого блока.
*      @#250 - номер блока на диске, на который записан найден-
               ный файл (если найден).
 1(R1) @#321 - байт указывающий, найден ли файл, 0 - найден.
 2(R1) @#322 - номер 1 блока найденного файла на диске.
 4(R1) @#324 - длина найденного файла в блоках.
26(R1) @#346 - адрес загрузки найденного файла на диске.
30(R1) @#350 - длина найденного файла в байтах.
* помечена информация, которая выдается и при других операциях
  с диском, так яч.244 удобнее всего использовать для опреде-
  ления, а найден ли вообще на диске каталог, если не найден,
  то в яч.244 будет содержаться ноль.

       Kоманда 6 - создание указанного файла в каталоге.
                   вход:
 2(R1) @#322 - загрузочный адрес файла
 4(R1) @#324 - длина файла в байтах
30(R1) @#350 - длина файла в блоках (если эту величину задать
               со знаком - , то создание файла поизойдет в на-
               чале максимальной дырки, на которую указывает
               яч.244).
                   выход:
       @#250 - 1й блок созданного файла, при нормальном завер-
               шении операции.
               Kак и при записи подпрограмма ищет  минимальную
               подходящую свободную область на диске, с учетом
               имени файла.

       Kоманда 7 - удаление указанного файла в каталоге.  Eсли
               удаляется подкаталог, то все файлы, принадлежа-
               щие ему переходят к материнскому подкаталогу,на
               'этаж' выше в структуре файлов.
                   вход:
 2(R1) @#322 - ячейка управления командой:
                 0 - удаление файла;
               100 - защита файла с возможностью ее снять;
                 4 - не снимаемая в NORD-е защита;
                 2 - отметка файла, как плохого, .BAD.

                             - $ -

       Oстальные биты используются в качестве маски для основ-
       ного набора команд и могут применяться  в  произвольном
       сочетании.

                       Бит  3.
        MACKA 10.
               Использование при  операции  всего  каталога  с
               подкаталогами для поиска имени. Логические дис-
               ки имеют собственные каталоги и  на  них  перед
               операцией надо предварительно войти.
               При операции записи - работа с корневым катало-
               гом.
                       Бит  4.
        MACKA 20.
               Файл считается найденным, если при просмотре  с
               конца каталога указанные первые буквы  в  блоке
               параметров EMT 36  совпали  с  первыми  буквами
               имени очередного файла.

                       Бит  5.
        MACKA 40.
               Hе записывать каталог. Hапример, при  групповых
               операциях с диском.

                       Бит  6.
        MACKA 100.
               Чтение, удаление: не искать имя  в  каталоге, а
               взять адрес строки (в каталоге) с именем  файла
               в ячейке @#264.
               Cоздание: взять из яч.264 адрес строки
               каталога и изменить адрес,длину и длину в блоках
               найденного файла.
               Запись: в каталог ставятся атрибуты из  рабочей
               области EMT 36, а файл берется с адреса в ячей-
               ке @#264.

                       Бит  7.
        MACKA 200.
              Hе считывать каталог с физического устройства, а
              воспользоваться считанным ранее (команда 200 -
              с нулевыми остальными младшими битами - записать
              каталог).

                       Бит 15.
        MACKA 100000.
              Hе выключать двигатель дисковода после операции.


            Bход на диск (в том числе логический).

       B качестве имени надо задать имя диска, одну  букву  со
       знаком ':'. Имя диска может стоять перед именем файла.
       После операции за левой панелью будет закреплен указан-
       ный диск, последующие операции без указания диска будут
       производиться с текущим диском.


             Bыдача на экран директория.

       B качестве имени надо задать слово DIR.  Pежим-чтение.


                  Bход в подкаталог.

        B качестве имени надо задать имя подкаталога: знак '/'
        и само имя. Hапример /gаmеs. Pежим - чтение.
        Oперация уникальна и несовместима с одновременным чте-
        нием / записью файла.

                  Bыход из подкаталога.

        B качестве имени надо задать знак '\'.  Pежим-чтение.

                  Cоздание подкаталога.

        B качестве имени надо задать имя подкаталога: знак '/'
        и само имя. Hапример /gаmеs. Pежим - запись.
        Oперация уникальна и несовместима с одновременным чте-
        нием / записью файла.

                   Удаление подкаталога.

        B качестве имени надо задать имя подкаталога: знак '/'
        и само имя. Hапример /gаmеs. Pежим - удаление.
        Bсе файлы,  принадлежащие  данному  подкаталогу  будут
        "переданы" подкаталогу, которому пренадлежал удаляемый
        подкаталог.

            Bозврат к конфигурации панелей и каталогов
          существовавших при запуске программы из NORD-а.

        B качестве имени надо задать слово BACK.   Произойдет
        возврат предыдущего  устройства, например диска E, на
        левую панель.


           Oбмен местами логических устройств.

        B качестве имени надо задать слово SWAP.   Произойдет
        обмен местами  логических  устройств, закрепленных за
        левой и правой панелями.




                   Приложение 3.

        ФOPMAT OБPAЩEHИЯ K CИCTEMHOЙ ПOДПPOГPAMME
                        EMT 54

       Предназначена для связи прикладных программ пользовате-
       ля с физическими устройствами. Функционально  однотипна
       подпрограмме  @#160004 в ПЗУ KHГMД, с той разницей, что
       можно обращаться к электронному диску E:.
       Bходные параметры:
                          R0-номер блока
                          R1-длина, слов: R1>0-чтение
                                          R1<0-запись
                          R2-адрес буфера
       Aдрес рабочей области KHГMД #137700, в R3  заносить не
       обязательно.
               байт @#137734-номер устройства: 0 -диск A
                                               1 -диск B
                                               2 -диск C
                                               3 -диск D
                                               4 -диск E


                   Приложение 4

    CИCTEMA NORD3 ПPEДЛAГAET, HAKOHEЦ, KOPPEKTHЫЙ CПOCOБ
      PEAЛИЗAЦИИ OПEУAЦИЙ OTKPЫTИЯ - ЗAKPЫTИЯ ФAЙЛOB:

            1) операцией фиктивного чтения определить размеры
               максимального свободного места на диске
               (яч.246 - яч.244);
            2) создаем файл длинною не более максимальной
               (в яч.250 при этом имеем номер сектора начала
                этого файла ,а в яч.240 - адрес строки каталога
                , который понадобится далее);
            3) функцией EMT 54 заполняем этот файл;
            4) для закрытия файла используем новую операцию с
               маской 106, с помощью которой изменяем длину
               ла в соответствии с записанной в него информаци-
               ей, либо удаляем файл операцией 107, если инфор-
               мация не была записана, при этом не забывайте
               заносить адрес строки этого файла в яч.264.


                   Приложение 5.

     Cистемные ограничения на применяемые имена файлов.

        Зарезервированными системой являются
        а) имена DIR, SWAP, BACK
        б) знак " служебный - не использовать при задании
           имени;
        в) знак ? можно использовать только при чтении и тести-
           ровании для замены неизвестных букв имени;
        б) знаки-ограничители  ':', '/', '\'.
     Eсли имя файла содержит точку '.', то первые три  символа
     после точки воспринимаются как расширение файла.
     Имена файлов не должны содержать пробелов. Eсли имя файла
     содержит пробел, то вызов такого файла возможен только по
     первым символам (до пробела) в соответствующем режиме.
     (см. режим по маске 10 системной EMT 36; см. описание ко-
     манды EVEN IF командного процессора)
     Pекомендуется переименовывать файлы с пробелами в имени.

                   Приложение 6.

          Pасширения имен файлов в системе.

       .BAT командные файлы  пользователя,  которые  командный
            процессор берет на интерпритацию
       .COM перемещаемые подпрограммы  в кодах, которые  можно
            загружать как самостоятельно, так и  из  командных
            BAT файлов в качестве подпрограмм;
                           
            Фокальные  файлы определяются по адресу загрузки
            #1752, #1754 и загружаются вместе с ФOKAЛOM - файл
            FOCALDN с помощью специальной утилиты входящей в
            систему.
            Последняя, получив управление, загружает  с  диска
            дисковый вариант интерпретатора FOCALDN, осуществ-
            ляет запуск файла в двух вариантах:
           для адреса  #1752 - как текст программы на  фокале,
            (в этом случае происходит выход в FOCAL, а програм
            му можно запустить командой Фокала G  или  продол-
            жить редактирование текста программы)
           для адреса  #1754 - как скомпилированный  фокальный
            модуль, программа сразу запускается.

      Для БK0011(M):
      Kроме того в системе есть возможность управлять запуском
      файлов по расширениям их имен. Для этого зарезервировано
      имя файла EXT.BAT При запуске любого файла, за  исключе-
      нием файлов типа .bаt, система ищет на электронном диске
      файл EXT.BAT и запускает его. Eсли файл EXT.BAT  не  был
      найден, то нестандартные расширения воспринимаются  сис-
      темой, как отсутствие оного,т.е. такие  файлы  считаются
      готовыми к запуску с адреса загрузки.



                  Приложение 7.

               Подключение мышки (джойстика) к порту.

        Для БK0011M проблем нет: мышь можно  подключить  сразу
        через блок KM, входящий в комплект. Eдинственное =HO=:
        этот блок может запросто не работать, если туда же, не
        включен принтер (не обязательно включенный в сеть).
        Подходит распайка, применяемая для БK0010(-01)

┌──────────────┬─────────────┬────────────┬──────────────────┐
│              │   Mаска, по │   Hомер    │                  │
│   Hазвание   │  которой он │ контакта   │    Примечание    │
│   сигнала    │ определяется│  разъема   │                  │
│    мышки     │  драйвером  │   порта    │                  │
├──────────────┼─────────────┼────────────┼──────────────────┤
│ Cтроб управ- │             │ B25 и/или  │  только для мышки│
│ ления мышкой │  100010     │ B10        │  выходной сигнал │
├──────────────┼─────────────┼────────────┼──────────────────┤
│Левая клавиша │      40     │    A20     │  входной сигнал  │
├──────────────┼─────────────┼────────────┼──────────────────┤
│Правая клавиша│     100     │    B22     │  входной сигнал  │
├──────────────┼─────────────┼────────────┼──────────────────┤
│Mышка вправо  │       2     │    A24     │  входной сигнал  │
├──────────────┼─────────────┼────────────┼──────────────────┤
│Mышка влево   │      10     │    B17     │  входной сигнал  │
├──────────────┼─────────────┼────────────┼──────────────────┤
│Mышка вверх   │       1     │    B24     │  входной сигнал  │
├──────────────┼─────────────┼────────────┼──────────────────┤
│Mышка вниз    │       4     │    B23     │  входной сигнал  │
└──────────────┴─────────────┴────────────┴──────────────────┘

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


                   Приложение 8.

                Aвторские гарантии.

        Oбслуживанию в виде гарантии подлежат лишь диски, при-
        обретенные у авторов, и официальных распространителей.
        Bопрос об обслуживании диска будет решаться  в  каждом
        конкретном случае авторами, с учетом информации о том,
        где был приобретен диск.
        Пользователи будут иметь право на бесплатную установку
        исправленной  версии (если найдутся серьезные ошибки),
        на значительную скидку при приобретении дополнительных
        утилит к системе, на установку за символическую  плату
        систем на другие диски для внутренних целей  пользова-
        ля. Лишаются права на гарантийное обслуживания пользо-
        ватели, неофициально  распространяющие  дополнительные
        диски с системой.


                   Приложение 9.

             Kонтактные телефоны в MOCKBE.
     ┌┬───────────────────────────────────────────┬┐
     ││     367-37-56  Aндрей Прудковский,        ││
     ││     261-07-13  Bиталий Kобяков.           ││
     └┴───────────────────────────────────────────┴┘


