М.Королев
Д.Бутырский
А.Панфилов

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

$$$     $$$ $$$$   $$$       $$$$$$        $$$$$$      $$$$$$
 $$     $$   $$   $$          $$  $$$     $$    $$    $$    $$
 $$$   $$$   $$  $$           $$    $$   $$      $$  $$      $$
 $$$   $$$   $$  $$           $$     $$  $$      $$  $$
 $$$$ $$$$   $$ $$            $$     $$  $$      $$   $$$
 $$ $ $ $$   $$$$     $$$$$$  $$     $$  $$      $$     $$$$
 $$ $$$ $$   $$ $$            $$     $$  $$      $$        $$$
 $$  $  $$   $$  $$           $$     $$  $$      $$          $$
 $$  $  $$   $$   $$          $$    $$   $$      $$  $$      $$
 $$     $$   $$   $$          $$  $$$     $$    $$    $$    $$
$$$$   $$$$ $$$$   $$$       $$$$$$        $$$$$$      $$$$$$

                          Версия 3.15

                            Москва
                             1995
                          Содержание

  I. Знакомьтесь: MK-DOS v3.15 .............................  3
     1. Основополагающие понятия ...........................  3
 II. Принципы работы с MK-DOS ..............................  3
     1. Характеристики MK-DOS ..............................  3
     2. Технические требования MK-DOS и использование ад-
        ресного пространства................................  4
     3. Загрузка MK-DOS ....................................  4
     4. Работа с MK-DOS ....................................  4
     4.1. Файловая система MK-DOS ..........................  5
     4.2. Логический диск MK-DOS ...........................  5
     4.3. Работа MK-DOS с диском ...........................  5
     4.3.1. Обработка имени ................................  5
     4.3.2. Функционирование перехватчика ..................  6
     4.3.3. Команды перехватчику MK-DOS ....................  6
III. Принципы работы с MicroCommander v3.00 ................  7
     1. Введение ...........................................  7
     2. Технические требования МС и распределение адресного
        пространства .......................................  8
     3. Экран MC ...........................................  8
     4. Выполнение простых операций ........................  9
     5. Управление файлами и подкаталогами ................. 10
     5.1. Просмотр текстового файла ........................ 10
     5.2. Редактирование текстового файла .................. 12
     5.3. Создание подкаталога ............................. 12
     5.4. Переименование файла, подкаталога или логического
          диска ............................................ 12
     5.5. Перемещение файлов и логических дисков по подка-
          талогам на текущем диске ......................... 12
     5.6. Копирование файлов и логических дисков ........... 13
     5.7. Удаление файлов,подкаталогов и логических дисков . 14
     6. Выход в монитор БК0010(-01) ........................ 14
     7. Главное меню MicroCommander ........................ 14
     7.1. Установка параметров панели ...................... 14
     7.2. Дополнительные команды ........................... 14
     7.3. Установка цвета, параметров ДОС, принтера и со-
          хранение конфигурации ............................ 15
     8. Обработка файлов по расширению ..................... 15
     8.1. Редактирование файла MC.EXT ...................... 16
     9. Использование внешних функций ...................... 16
     9.1. Файлер ........................................... 16
     9.2. Эмулятор ANDOS ................................... 17
     9.3. Дерево подкаталогов и логических дисков .......... 17
 IV. Форматирование и создание нового системного диска ..... 18
  V. Комплект поставки MK-DOS .............................. 19
 Vа. Утилиты MFORMAT, SQUEEZER, COPDEV ..................... 20
 VI. Руководство программиста .............................. 25
     1. Дополнительные команды ЕМТ-перехватчику ............ 25
     2. Формат каталога MK-DOS ............................. 25
     3. Формат записи о файле .............................. 26
     4. Статус файла ....................................... 26
     5. Таблица ссылок, переменных и констант MK-DOS ....... 26
     6. Подпрограммы MK-DOS и обращения к ним .............. 27
     6.1. Подпрограммы MK-DOS .............................. 28
     6.2. Обращения к подпрограммам MK-DOS ................. 28
Приложение 1 (Схема распайки БК - Принтер) ................. 32
                 I. Знакомьтесь: MK-DOS v3.15

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

Внимание! Никогда не включайте и не выключайте питание дисково-
          да или ЭВМ со вставленной  в дисковод  дискетой.  Это
          чревато потерей информации, записанной на дискете.


                  1. Основополагающие понятия

     Дисковая Операционная Система (ДОС) -  программная  среда,
комплекс программ, организующий на  магнитном  или  виртуальном
носителе информационное пространство в файловую систему и обес-
печивающий, таким образом, работу утилит и прикладных  программ
с информацией на носителе.
     Среда пользователя  (командный  монитор  или  оболочка)  -
программа обеспечивающая взаимодействие пользователя с ДОС. 
     Драйверы внешних устройств -  программы,  управляющие  ус-
тройствами и обеспечивающие доступ  к  ним  ДОС.  В  частности,
драйвер дисковода или винчестера управляет двигателями и голов-
ками привода; драйвер электронного диска управляет работой  па-
мяти, переключениями ее страниц и т.д. Таким  образом,  ДОС  не
видит разницы между, в нашем случае, дисководом или электронным
диском; это для нее лишь внешние устройства  с  разным  объемом
хранимой информации. ДОС будет работать с написанным даже через
сто лет драйвером какого-нибудь вновь созданного устройства.

                 II. Принципы работы с MK-DOS

                   1. Характеристики MK-DOS

     У MK-DOS каталог с последовательным расположением  файлов,
что обеспечивает повышенную надежность, оперативность,  высокую
скорость доступа к информации и позволяет без  проблем  восста-
навливать утраченную информацию, делая систему  привлекательнее
других, имеющих возможность фрагментации файлов по таблице FAT.
При удалении файла, в каталоге образуется  "дырка",  включающая
эту область в общий объем свободного места на диске. При записи
новых файлов ДОС ищет "дырку" подходящего размера и  записывает
туда файл, если файл достаточно мал, то "дырка"  перед  записью
файла дробится на две, позволяя использовать оставшееся свобод-
ное место в дальнейшем (в отличие от NORD, MICRO DOS и т.п.).
     Новая версия операционной системы MK-DOS принципиально от-
личается от предыдущих возможностью работы с устройствами  объ-
емом до 32 Мб и логическими дисками объемом до 16  Мб  создава-
емых на этих устройствах (не следует  путать  логические  диски
винчестера с логическими дисками MK-DOS и RT-11), что позволяет
полностью использовать дисковое  пространство  винчестера.  При
работе с дисководом такая  организация  файловой  системы  тоже
удобна, т.к. с логическими дисками можно производить те же опе-
рации, что с обычными файлами (различие только в их  размерах).
На логических дисках MK-DOS запускаются и работают все програм-
мы, обращающиеся к ДОС через EMT 36, а также все корректно  на-
писанные программы и утилиты.
     Дополнительно введены такие понятия как  "системный  диск"
(привод, с которого произошла загрузка) и "привод для оверлеев"
(на БК0011М им может быть, например, электронный диск) по  ана-
логии с RT-11. К этим устройствам имеется доступ не  только  из
оболочки, но и из любой программы имеющей функции чтения/записи
файлов. Эти устройства получили имена "@:"  (системное  устрой-
ство) и "!:" (привод для оверлеев).


       2. Технические требования MK-DOS и использование
                    адресного пространства

     MK-DOS V3.15 и сервисная оболочка MicroCommander v3.00 ра-
ботают как с минимальной конфигурацией БК (БК0010(-01)  +  кон-
троллер дисковода с 8(16) Кб ДОЗУ + 1 дисковод), так и с макси-
мальной (БК0011М с винчестером до 2 Гигабайт) благодаря модуль-
ому построению системы. При загрузке ДОС определяет, на  какой
машине ей предстоит работать, и подбирает максимально возможную
и удобную для пользователя комбинацию модулей.  На  БК0010(-01)
оснащенной контроллером с 16 Кб ДОЗУ  в  дополнительную  память
загружается резидент MK-DOS и  сервисная  оболочка;  если  есть
только 8 Кб ДОЗУ, то оболочка всегда будет подгружаться с  дис-
кеты в основную память (с 1000 адреса); на БК0011(М)  без  вин-
честера дополнительно подгружаются  МОНИТОР  БК0010  и  драйвер
электронного диска, сервисная оболочка "прячется" в 7-ю страни-
цу ОЗУ; на БК0011М с винчестером выводится марка  винчестера  и
его параметры, а электронный диск не грузится, т.к. он  не  ну-
жен. Отличительной  особенностью  MK-DOS  является  возможность
"возрождаться", если какая-либо программа испортила модули  ДОС
(автоматически подчитываются необходимые  модули  с  системного
диска).


                        3. Загрузка ДОС

     Для загрузки ДОС на БК0010(-01) на  клавиатуре  набирается
команда "S160000" (буква Т для контроллеров фирмы "АЛьТЕК"); на
БК0011 в ответ на приглашение "@" наберите  "160000G";  БК0011М
при включении сразу начинает автоматическую загрузку,  если  же
вы оказались в мониторе БК0011М - для загрузки нажмите "B".
     После вышеперечисленных действий (если таковые имели  мес-
то) загорится лампочка дисковода, и через несколько секунд заг-
рузившаяся MK-DOS запустит программу начальной инициализации.
     Программа начальной инициализации делает проверку на нали-
чие винчестера. Если винчестер есть, то выводится его  конфигу-
рация и параметры.  На  БК0011(М)  без  винчестера  загружается
драйвер электронного диска, на него копируются файлы,  перечис-
ленные в командном файле VDISK.COM.


                      4. Работа с MK-DOS

     MK-DOS имеет модульную структуру и  состоит  из  резидента
ДОС, расположенного в файле "MKDOS V3.15", и  оверлейной  (т.е.
подчитываемой) оболочки MC. ДОС находится в  памяти  постоянно,
обеспечивая доступ к диску из любой программы пользователя  или
из монитора.
     MK-DOS поддерживает до 26 стандартных устройств, набор ко-
торых может быть расширен  загрузкой  драйверов  дополнительных
устройств. Эти устройства следующие:
     - на всех типах БК - A:, B:, C:, D: - Дисководы (подключе-
       ние приводов C: и D: нуждается в доработке контроллера);
     - на БК0011М с винчестером C:, D:, E:, F: и т.д.  -  логи-
       ческие диски винчестера;
     - на БК0011(М)  без  винчестера  устройством  E:  является
       электронный диск.


                 4.1. Файловая система MK-DOS

     В MK-DOS, кроме  обычных  файлов,  бывают  так  называемые
BAD-файлы. Это отмеченные области с нечитающимися блоками, соз-
данные для исключения их из общего дискового пространства.  Они
не отображаются в каталоге и не перемещаются программой  сжатия
дисков "Squeezer" (перемещающей файлы в начало диска для  обра-
зования в конце его свободного места максимального размера).
     Кроме того, на устройствах возможно  создавать  логические
диски объемом до 16 Мегабайт.

                  4.2. Логический диск MK-DOS

     В корневом каталоге MK-DOS может храниться информация мак-
симум о 172 файлах. При работе с  дисководом  этого  более  чем
достаточно (в ANDOS - не более 112 файлов),  но  при  работе  с
винчестером этого явно недостаточно, т.к. объем носителя  боль-
шой, а использовать  его  пространство  становится  невозможным
из-за малого объема каталога.
     С этой проблемой столкнулись и авторы  ANDOS,  но  решение
было найдено совсем не оригинальное: винчестер  разбивается  на
большое количество "дискет" по 800 Кб, доступ к ним осуществля-
ется как и раньше - указанием имени привода.  Если  не  хватает
строчных букв, то предлагается вводить номер привода числом!
     В MK-DOS все гораздо проще, ибо авторы решили использовать
принцип реализованный в RT-11, а именно, организация на носите-
лях логических дисков.
     Логический диск представляет собой файл большого  размера,
но в этом файле есть свой каталог, файлы  и  логические  диски.
Таким образом, запомнив смещение к логическому  диску  возможно
сделать его текущим! Создать логический диск, сделать его теку-
щим, скопировать в него файлы можно с помощью сервисной оболоч-
ки MicroCommander.

                  4.3. Работа MK-DOS с диском

                    4.3.1. Обработка имени

     При операциях чтения и записи управляющие коды и все  дру-
гие неотображаемые коды в имени файла заменяются на пробел. До-
полнительно, при операции чтения, буквы в  заявленном  имени  и
имени в каталоге приводятся к латинскому  заглавному  регистру,
что позволяет вводить имя на любом регистре. После всех  опера-
ций в ячейки ответа блока параметров ЕМТ36 копируется имя,  за-
явленное в команде, что обеспечивает работу программ с  защитой
имени.
    При удалении файлов все соседние "дырки" объединяются в од-
ну общей длины, абсолютной величиной здесь является длина файла
в блоках, так как разрядности длины файла в байтах может просто
не хватить.


             4.3.2. Функционирование перехватчика

     При операциях чтения, в случае отсутствия файла в  катало-
ге, выдается соответствующее сообщение и происходит  возврат  с
кодом ошибки 4. В противном случае файл будет загружен по адре-
су, указанному в смещении 2 от начала блока  параметров  ЕМТ36,
при ненулевом его значении, иначе по адресу, указанному в заго-
ловке файла в каталоге. Если загружаемый файл накладывается  на
монитор БК0010, на БК0011 происходит загрузка до монитора и вы-
ход по команде HALT имитируя наличие ПЗУ. После операции чтения
адрес загрузки помещается в ячейку 264, адрес из каталога -  по
смещению 26 блока  параметров и  в ячейку 266, а по смещению 30
помещается длина файла.
     При операциях записи, если встречен файл с таким же именем
происходят следующие действия:
     - при включенном режиме  "Overwrite"  (замена)  происходит
       автоматическая замена файла без вопроса, иначе  задается
       вопрос "Overwrite, Rename or Abort", предлагающий  нажа-
       тием соответствующих клавиш выбрать дальнейшее действие:
       "Заменить, Записать с другим именем или отменить  опера-
       цию";
     - при выбранной опции "Заменить" ("Overwrite") и  включен-
       ном режимe "Predelete" (предварительное удаление) старый
       файл удаляется до  записи  нового,  в  противном  случае
       (выключенном режиме  "Predelete")  сначала  записывается
       новый файл и только при успешном окончании операции уда-
       ляется предыдущий, что позволяет обеспечить максимальную
       защиту от потери информации, что очень актуально  на  БК
       (с нашей-то аппаратурой). Режим реализован на  БК  впер-
       вые.
     Подкаталоги MK-DOS являются удобной сортировкой одного об-
щего каталога по  признаку,  определяемому  пользователем  (имя
подкаталога). Следовательно, файлы считываются с диска по  име-
ни, независимо от принадлежности к подкаталогу, а  записываются
в текущий подкаталог, удаляя в случае перезаписи файл там,  где
он был. Подкаталоги MK-DOS совместимы с подкаталогами DOS NORD.

              4.3.3. Команды перехватчику MK-DOS

     Команды, которые можно подавать в имени  файла,  позволяют
обращаться к ДОС из любой программы, имеющей функцию чтения или
записи файла. Признаком того, что  подается  команда,  является
двоеточие, стоящее вторым символом в  имени  файла.  Исключение
составляет лишь команда просмотра каталога. 

     A: B: C: ...      - Смена  текущего  устройства.   Признак
                         подкаталога переключается в корень;
     . или пустое имя  - Показать полный каталог диска. Нажати-
                         ем клавиш возможно сортировать выводи-
                         мые имена по первой  букве,  пробел  -
                         приостановить вывод;
     B:.               - Показать каталог диска  B:  без  смены
                         текущего устройства;
     B:NAME            - Обращение к другому диску,  без  смены
                         текущего устройства (файлы  пишутся  в
                         корень);
     -:NAME            - Удалить указанный файл с текущего  ус-
                         тройства; 
     ?:                - ВКЛ/ВЫКЛ режимов "Overwrite" - автома-
                         тическая   перезапись     файлов     и
                         "Predelete" - при замене удаление  пе-
                         ред или после записи;
     NAME.DSK          - сделать текущим логический диск с име-
                         нем NAME.DSK.


          III. Принципы работы с MicroCommander v3.00

                          1. Введение

     Основные команды MK-DOS имеют простой синтаксис и не  тре-
буют особых усилий для их  запоминания  (см.  главу  "Работа  с
ДОС"). Однако при увеличении количества дискет  и  используемых
файлов работать с ДОС становится значительно сложнее.
     Одним из первых инструментальных средств, с которым  стал-
кивается пользователь после  загрузки  MK-DOS,  является  пакет
программ MicroCommander v3.00,   в   дальнейшем   MC.   Обладая
"дружественным" интерфейсом, он чрезвычайно легок в освоении  и
создает массу удобств при работе с файлами, дискетами  и  логи-
ческими дисками.
     Пользователь может не только запускать игры, но и редакти-
ровать тексты  программ,  с  максимальным  удобством  запускать
трансляторы и утилиты с передачей  параметров  для  пакетной  и
одиночной обработки  файлов   (что   избавляет   от   рутинного
"набивания" имен файлов), копировать и переименовывать файлы  и
многое другое. В частности, в пакете  программ  MC  реализованы
следующие дополнительные функции:
     - информация о файлах на панелях может  выводится  в  двух
       режимах: Full (в одну колонку) и Brief (в две колонки);
     - реализована обработка файлов по расширению (как в Norton
       Commander на IBM PC);
     - реализована передача параметров из командной строки (как
       в RT-11 (ОС БК v4.1)) как для одиночной так и для  груп-
       повой обработки файлов;
     - возможен просмотр (в режимах 64 и 80 символов в  строке)
       и печать на любом принтере текстовых файлов неограничен-
       ной длины в кодировке БК и IBM;
     - появилась возможность вызова текстового редактора, с по-
       мощью которого можно редактировать текстовые файлы  раз-
       мером до 4 Кб (командные файлы);
     - используя МЕНЮ оболочки можно установить и сохранить  на
       диске ЛЮБЫЕ параметры ДОС и оболочки, а также  инициали-
       зировать дискету или логический диск, создать логический
       диск любого объема,  сохранить  или  восстановить  копию
       корневого каталога дискеты на последней дорожке и т.д.;
     - копирование файлов стало более надежным и  быстрым,  для
       наглядности течение процесса отбражается на линейном ин-
       дикаторе. Исключены ошибки, связанные  со  сменой  диска
       при операциях (копировании, переименовании и др.) на од-
       ном дисководе,;
     - по ключу AР2+2 (User) на текущей панели появляется  спи-
       сок файлов только с расширением ".USR", Вы  можете  сами
       включать программы в этот список простым переименованием
       имени часто используемой программы. В частности, к  обо-
       лочке прилагаются подгружаемые функции "Эмулятор  ANDOS"
       (он позволяет копировать с дисков ANDOS файлы  и  запус-
       кать программы на дисках ANDOS), "Дерево подкаталогов  и
       логических дисков" (для  быстрого  и  наглядного  поиска
       файлов), "Commander Link" (для осуществления связи между
       двумя БК через параллельный порт, что очень  удобно  при
       "перекачивании" информации с одной БК с  винчестером  на
       другую без использования дисководов и дискет).
     После завершения работы  прикладной  программы,  выбранной
пользователем, происходит возвращение в MC.


         2. Технические требования МС и распределение
                    адресного пространства

     MC - резидентная часть. При загрузке резидент помещается в
7-ю страницу ОЗУ на БК0011(М) или в ДОЗУ  на  адрес  140000  на
БК0010(-01). В случае БК0010(-01) с 8 Кб ДОЗУ, каждый  раз  при
запуске автоматически подгружается с системного диска на  адрес
1000. Если какая-либо программа пользователя испортила резидент
в памяти, то происходит автоматическая подгрузка модуля  и  его
восстановление в памяти.
     Если ДОС установлена на винчестер, то модули будут автома-
тически подгружаться с системного диска, на БК0011(М) их  жела-
тельно скопировать на электронный диск (т.е. просто перечислить
в командном файле VDISK.COM - при загрузке ДОС перепишет их са-
ма). На БК0010(-01) с двумя  дисководами  не  следует  вынимать
системный диск (где и будут находиться оверлейные  модули),  на
БК0010(-01) с одним дисководом ситуация сложнее: либо Вам  при-
дется отказаться от использования меню, редактора,  View'ера  и
обработки файлов по расширению, либо скопировать на каждый  ра-
бочий диск вышеперечисленные модули.



                          3. Экран MC

     На рабочем экране MC отображаются две панели,  на  которые
выводится информация о каталоге, подкаталогах, файлах  и  логи-
ческих дисках. На одной из панелей  расположен  так  называемый
"курсор MC", представляющий собой выделение слова другим фоном.
Он указывает на текущий рассматриваемый  файл  или  подкаталог.
Панель, на которой  находится   курсор,   называется   АКТИВНОЙ
(текущей), а другая, соответственно, НЕАКТИВНОЙ (нетекущей) или
СОСЕДНЕЙ.
     В нижней строке экрана перечислены  основные  команды  MC.
Рядом с каждой из них  расположена  цифра,  обозначающая  какой
клавише соответствует каждое действие.
     Например, слева от слова "Quit" (прекратить работу,  поки-
нуть) стоит цифра 0. Если Вы нажмете ОДНОВРЕМЕННО клавиши [АР2]
и [0] (далее, одновременное нажатие на две клавиши обозначается
через "+", например: [АР2]+[0]), то это приведет  к  завершению
сеанса работы с MicroCommander (выход в МОНИТОР  БК0010:  "?").
Эта строка называется СТРОКОЙ ФУНКЦИОНАЛЬНЫХ КЛАВИШ.
     Сразу над ней находится КОМАНДНАЯ СТРОКА, в которой  можно
набирать имена файлов (с ключами и параметрами) для запуска.  В
командной строке отображается имя ТЕКУЩЕГО УСТРОЙСТВА (дисково-
дa) например: А:\>. В этой строке могут вводиться  команды  для
исполнения, например: VX ←─┘ - файл VX запустится  на  исполне-
ние.
     Еще один вид экрана MicroCommander - "звездное небо". Если
в течение 3-х минут MC не использовался, то его основной  экран
"гаснет", уступая место изображению звездного неба с  вспыхива-
ющими и исчезающими звездами. Это осуществлено  для  сохранения
люминисцентного слоя монитора от выгорания под действием посто-
янной "картинки". Для возобновления работы просто нажмите любую
клавишу.
                4. Выполнение простых операций

     Для перемещения курсора MC используйте обычные клавиши уп-
равления курсором - стрелки ([↑], [↓], [←], [→]).  Если  файлов
больше, чем может поместиться на панели, то они будут прокручи-
ваться. Для перемещения курсора на другую панель нажмите клави-
шу [ТАБ].
     Попробуем теперь выполнить в MC несколько простых функций.
     Вначале установим тип  панели,  при  котором  отображается
полная информация о файлах. Для определенности сделаем активной
левую панель. Используйте [ТАБ] для переключения между  панеля-
ми. Теперь нажмите  [СУ]+[F].  На  панели  будут  высвечиваться
строчки, в каждой из которых содержится  полная  информация  об
одном подкаталоге, файле или логическом диске.
     Если бы мы нажали [СУ]+[B], то  на  панели  выводились  бы
только имена файлов (без адреса и длины), но в две колонки  (до
36 имен файлов).
     Теперь попробуем сменить дисковод на текущей  панели.  Для
этого нажмем клавишу [ШАГ]. Появится окно,  в  котором  указаны
названия дисководов (A:, B:, C:...). Клавишами [←] и [→]  можно
выбрать нужный и нажать [←─┘]. Если выбранный привод у вас есть
(Например, A:, B: - дисководы, C:, D:... - "диски" винчестера),
то произойдет чтение каталога диска указанного Вами  привода  и
отображение его на экране. Если по каким-либо причинам  каталог
не может быть считан (отсутствует дискета в дисководе,  дискета
не в формате MK-DOS и пр.), то панель  останется  пустой,  а  в
нижней ее строке появится сообщение об ошибке чтения каталога.
     Клавиша [ШАГ] позволяет сменить устройство на текущей  па-
нели, а клавиши [├←─] (сдвижка) и [├─→] (раздвижка), для  ЛЕВОЙ
и ПРАВОЙ соответственно.
     Если у Вас БК0010(-01), а контроллер оснащен АПК "Дисковый
Бейсик", то не пытайтесь выбирать устройства с  именами  больше
"C:"!

     Итак, что же мы видим на панели?
         . . .
     │ DOS          │>SUB< │>DIR< │  - ПОДКАТАЛОГ
         . . .
     │GAMES         │>DISK<│ 400  │  -  ЛОГИЧЕСКИЙ ДИСК
         . . .
     │MFORMAT       │  1000│ 14000│  -  ФАЙЛ
     Попробуем сменить подкаталог. Подведем курсор к нужному  и
нажмем [←─┘] (ВВОД),  в  нашем  примере  подкаталог  имеет  имя
"DOS". Содержимое панели изменится - теперь здесь будут отобра-
жаться файлы этого подкаталога. Если Вы находитесь не в  корне-
вом каталоге, то самым верхним элементом является  родительский
подкаталог. Он изображается двумя точками (".."), чтобы  быстро
попасть в родительский подкаталог, надо установть курсор на эти
точки и нажать [ВВОД]. Попробуйте попутешествовать по  подката-
логам Вашего диска.
     В процессе работы Вы можете воспользоваться помощью, кото-
рую предоставляет MC. Для этого нажмите [АР2]+[1]  "Help".  Для
продолжения работы - [KT].
     Вы можете создать новый подкаталог. Для  этого  войдите  в
тот подкаталог, где Вы хотите его создать, и нажмите  [АР2]+[7]
"Mkdir" (Make directory - создать подкаталог). Появится окно  в
центре панели, в котором Вам следует  напечатать  желаемое  имя
(оно может иметь до 13 символов). Нажмите [ВВОД]  и  подкаталог
будет создан. Возможно, на вашем диске будут файлы, которые  Вы
хотели бы поместить в  создаваемый  подкаталог.  Чтобы  сделать
это, перед созданием подкаталога необходимо ВЫДЕЛИТЬ файлы, ко-
торые Вы хотите в него поместить. При помощи клавиши [ВС] выде-
ляется ТЕКУЩИЙ файл (т.е. файл, на котором стоит курсор MC),  а
курсор переходит на следующий файл. Этой же клавишей  выделение
СНИМАЕТСЯ, если файл уже был выделен. Имена  выделенных  файлов
ожирняются на черно-белом мониторе или выводятся другим  цветом
на цветном. Сочетанием клавиш [АР2]+[+] можно выделить все фай-
лы ниже курсора, а [АР2]+[-] - снять выделение со  всех  файлов
ниже курсора.
     Теперь СКОПИРУЕМ в наш  подкаталог  какие-нибудь  файлы  с
другого диска.
     Для этого перейдите на другую панель, укажите  нужное  ус-
тройство. Если у Вас только один дисковод, то  вставьте  другой
диск и нажмите клавишу [СБР], чтобы увидеть его каталог.
     Если надо копировать только один файл, то просто  встаньте
на него курсором, если  несколько  -  ВЫДЕЛИТЕ  их,  и  нажмите
[АР2]+[5] "Copy" (Copy - копировать).  Появится  информационное
окно, в котором будет отображено устройство, на которое мы  хо-
тим скопировать, имя копируемого файла или количество  выделен-
ных файлов.
     Нажмите [ВВОД] для копирования или [КТ], чтобы  отказаться
от копирования. Если копирование происходит на одном дисководе,
то необходимо менять диски и нажимать после этого любую  клави-
шу. Сообщение "Insert INPUT volume" - приглашение вставить диск
на чтение, "Insert OUTPUT volume" -  вставить  диск  на  запись
(т.е. диск НА который мы копируем файлы).




             5. Управление файлами и подкаталогами

                5.1. Просмотр текстового файла

     Вызов команды - [АР2]+[3] "View". Эта  команда  показывает
на экране содержимое текстового  файла,  на  который  указывает
курсор. Экран просмотра перекрывает весь главный экран MC.

     MC может показывать и печатать текстовые файлы большинства
текстовых редакторов БК (VorteX, BRED, EDASP, TURBO) и  тексто-
вые файлы в формате IBM. При просмотре файлов IBM  можно  вклю-
чить режим "80 символа в строке", чтобы концы длинных строк бы-
ли видны на экране. Клавиши управления:

[↓],[↑]   - вверх/вниз на одну строку;
[←],[→]   - назад/вперед на экран;
[АР2]+[←] - в начало текста;
[АР2]+[→] - в конец текста;
[K]       - включение кодировки КОИ-8 (кодировка  БК,  включена
            по умолчанию);
[A]       - включение альтернативной кодировки (кодировка IBM,
            отключает режим только клавиша [K]);
[6]       - режим 64 символа в строке (включен по умолчанию);
[8]       - режим 80 символов в строке;
[L]       - задание количества строк на странице при печати. По
            умолчанию - 60 строк. Изменяется  клавишами  [↑]  и
            [↓]. Если сделать количество строк равным нулю,  то
            печать будет осуществляться без разбивки на страни-
            цы;
[P]       - печать текста начиная  от  верхней  строки  экрана.
            После печати каждой  страницы  необходимо  нажимать
            любую клавишу для продолжения печати.  [KT]  -  эк-
            стренный останов печати;
[KT]      - возврат в MC.


             5.2. Редактирование текстового файла

     Вызов - [АР2]+[4] "Edit". Эта команда позволяет редактиро-
вать текстовые файлы размером до 4 Кбайт. Формат текстового ре-
дактора совместим с редактором из ассемблера "TURBO" и  другими
редакторами, где код конца строки - 12, пробел - 40,  табуляция
- 11 (числа восьмиричные). Не рекомендуется редактировать файлы
в формате ".VXT". Эта команда предназначена для  редактирования
командных файлов MK-DOS и MC (файлы с расширением ".COM"). Кла-
виши управления:

[ВС]+[E]   - выход из текстового редактора. При вводе этой  ко-
             манды появляется информационное  окно,   где   Вам
             предлагается сохранить отредактированный файл  под
             старым именем, ввести новое имя и  сохранить  файл
             или отказаться от сохранения файла (клавиша [KT]);
[←],[→],   - перемещение курсора;
[↑],[↓]
[ТАБ]      - табуляция (курсор "перепрыгивает" на позицию крат-
             ную 10.);
[←─┘]      - раздвижка строк;
[←─┤]      - забой символа слева от курсора;
[K──]      - сдвижка в строке;
[├─>]      - раздвижка в строке;
[СУ]+[B]   - забрать строку в буфер;
[ВС]+[K──] - забрать правую часть(от курсора) строки в буфер;
[ВС]+[├─>] - выдать из буфера строку (часть строки);
[СБР]      - поставить метку (запомнить строку, где стоял  кур-
             сор), курсор должен быть в начале строки;
[ВС]+[T]   - уйти к метке;
[ВС]+[U]   - удалить текст от метки до строки, на которой стоит
             курсор;
[ВС]+[B]   - забрать в буфер текст от метки до курсора;
[ВС]+[W]   - выдать из буфера текст начиная со строки, где сто-
             ит курсор;
[ВС]+[D]   - задание модели поиска;
[BC]+[G]   - поиск по модели, введенной ранее ([BC]+[D]).


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

     Вызов функции - [АР2]+[7] "Mkdir". Появится окно в  центре
панели, в котором следует ввести желаемое имя (оно может  иметь
до 13 символов). Для отказа от операции  нажмите  [KT],  [ВВОД]
для создания подкаталога. Если перед созданием подкаталога были
выделены файлы, то они переместятся в этот подкаталог.


            5.4. Переименование файла, подкаталога
                     или логического диска

     Вызов команды - [АР2]+[6] "RenMov". Перед вызовом  команды
необходимо убедиться, что выделенных файлов нет. Для переимено-
вания файла (подкаталога, логического диска) необходимо устано-
вить на него курсор MC и нажать [АР2]+[6]. Появится  информаци-
онное окно, в котором Вам будет предложено старое имя файла для
редактирования. Указав желаемое имя, необходимо нажать  [ВВОД].
Если Вы вызвали функцию ошибочно, то отказаться от переименова-
ния - [KT].

          5.5. Перемещение файлов и логических дисков
               по подкаталогам на текущем диске

     Эта функция вызывается также,   как   и   "Переименование"
([АР2]+[6] "RenMov"), но выполняет ПЕРЕМЕЩЕНИЕ ВЫДЕЛЕННЫХ  ФАЙ-
ЛОВ. Файлы выделяются  клавишами  [ВС]  (для  текущего  файла),
[АР2]+[+] (для всех файлов ниже курсора). Для снятия  выделения
можно использовать [ВС] (для текущего файла) и  [АР2]+[-]  (для
всех файлов ниже курсора). Будте внимательны, т.к. если не один
файл не выделен запускается функция "Переименование".
     Для перемещения всех выделенных файлов в нужный подкаталог
необходимо на соседней панели установить то же устройство что и
на текущей, а также войти там в тот подкаталог, куда Вы  хотите
поместить выделенные  файлы.   Далее   можно   смело   нажимать
[АР2]+[6]. В появившемся информационном окне будет выведено ко-
личество выделенных файлов и имя подкаталога, в который Вы  хо-
тите их поместить. Если Вас все устраивает, нажмите [ВВОД], для
отказа от перемещения - [KT].


          5.6. Копирование файлов и логических дисков

     Вызов функции - [АР2]+[5] "Copy". Команда копирует текущий
файл (логический диск) или все выделенные  файлы  и  логические
диски на другое устройство, логический диск или просто на  дру-
гую дискету (в том случае, если у Вас один дисковод).
     Для копирования нескольких файлов их необходимо  выделить,
для копирования одного файла необходимо установить на него кур-
сор MC. На соседней панели необходимо установить нужное устрой-
ство и при необходимости войти в нужный логический диск и  под-
каталог. При нажатии [АР2]+[5] появляется информационное  окно,
в котором указывается количество файлов для копирования или имя
текущего файла и "путь" (т.е. устройство  и  подкаталог),  куда
они будут скопированы. Если Вы не установили на соседней панели
нужное устройство, то его можно указать нажатием клавиши от [A]
до [Z]. В последнем случае файлы будут  копироваться  только  в
корневой подкаталог. При нажатии на [ВВОД] начинается копирова-
ние, [KT] - отказ от операции.
     При копировании могут появляться следующие сообщения:
Overwrite, All, Skip - Перезаписать под тем же именем,  Переза-
                       писывать ВСЕ файлы при копировании, Про-
                       пустить текущий файл? Это сообщение  по-
                       является если при записи файла на  диске
                       обнаружен файл с тем же именем;
Disk full            - диск полон, дальнейшее  копирование  не-
                       возможно;
Non DOS disk!        - попытка записи на диск НЕ MK-DOS;
Insert INPUT volume  - "Вставьте диск на чтение";
Insert OUTPUT volume - "Вставьте диск на запись";
                       Последние два сообщения  появляются  при
                       копировании на одном дисководе. В случае
                       копирования файлов с одного  ЛОГИЧЕСКОГО
                       диска на другой на одном  приводе  (т.е.
                       когда смена дискеты не требуется)  можно
                       запретить запросы на смену  диска  нажав
                       на запрос "Insert OUTPUT volume" клавишу
                       [БЛОКРЕД].
Error #n, Retry,Next,Abort? - ошибка чтения/записи #n, Попробо-
                              вать еще раз, Приступить к  копи-
                              рованию следующего  файла,  Прер-
                              вать операцию копирования?
                Расшифровка номера ошибки (n):

    1 - при чтении: ошибка CRC в зоне данных,
        при записи: защита диска от записи (заклейка);
    2 - ошибка CRC в зоне заголовка сектора;
    3 - привод не найден или нет  позиционирования  на  нулевую
        дорожку. В случае возникновения на винчестере означает,
        что нет указанного логического диска винчестера;
    4 - ошибка позиционирования. На винчестере означает попытку
        записи в блок, который выходит за  пределы  логического
        диска винчестера;
    5 - сектор не найден. На  винчестере:  потеря  конфигурации
        (из-за сбоев питания и пр.), случается очень редко. Ус-
        траняется только выкл./вкл. питания машины);
    6 - диск не вращается или отсутствует;
    7 - нажата клавиша [СТОП];
    8 - не найден адресный маркер;
    9 - не найден маркер данных;
   10 - нестандартный формат диска;
   11 - попытка чтения меченого сектора без разрешения. На вин-
        честере с контроллером "АльтПро" означает, что испорче-
        на таблица разделов в ДОЗУ.
    5.7. Удаление файлов, подкаталогов и логических дисков

     Вызов функции [АР2]+[8] "Delete". Удаляет  текущую  запись
или все выделенные файлы и логические диски.  Подкаталог  можно
удалить только при отсутствии в нем  вложенных  подкаталогов  и
файлов. При удалении файлов со статусом "защищен" выдается  до-
полнительный запрос:
     File <имя файла>, delete (Y/N)?
     [Y] - удалить
     [N] - пропустить


                6. Выход в монитор БК0010(-01)

     [АР2]+[0] "Quit" - выход в монитор БК0010(-01) на "?".
     Запустить MC из монитора можно так:
     ? M
     ИМЯ? @:MC ←─┘

     ? S ←─┘

                7. Главное меню MicroCommander

     Вызов Главного Меню осуществляется по нажатию клавиши [KT]
или [АР2]+[9] "Menu", при этом в верхней строке экрана  появля-
ется горизонтальное меню:

        Left        Commands       Options       Right
         |             |             |             |
     установка    дополнительные  установка    установка
     параметров      команды      параметров   параметров
     левой панели                   ДОС       правой панели


               7.1. Установка параметров панели

Brief  - краткая информация о файлах (без адреса и длины);
Full   - полная информация о файлах;
Unsort - вывод имен без сортировки;
Name   - вывод имен с сортировкой по алфавиту;
Extens - вывод имен  с сортировкой  по расширению (в алфавитном
         порядке).


                  7.2. Дополнительные команды

Protect   - установить статус  "защищен"  для  всех  выделенных
            файлов на текущей панели;
Unprotect - снятие статуса "защищен" для всех выделенных файлов
            на текущей панели;
Backup    - сохранение корневого каталога диска на 81-й дорожке
            (только для дисководов);
Restore   - восстановление корневого каталога диска с копии  на
            81-й дорожке (только для дисководов);
Init      - инициализация диска. При инициализации  логического
            диска винчестера его объем узнается с помощью драй-
            вера винчестера  (т.е.  работает  корректно!).  При
            инициализации логического диска MK-DOS предлагается
            старый объем лог. диска. Если Вы решились  изменять
            предлагаемое число, то будте осторожны: размер дис-
            ка в корневом каталоге не увеличивается, изменяется
            только каталог логического диска (т. е. если иници-
            ализировать LD на объем больший  чем  его  реальный
            размер в корневом каталоге можно испортить при  ко-
            пировании файлов в LD  другие  логические  диски  и
            файлы);
Create    - создание логического диска MK-DOS  на  текущем  ус-
            тройстве. Вам будет предложено выбрать размер логи-
            ческого диска и ввести его имя.


        7.3. Установка цвета, параметров ДОС, принтера
                   и сохранение конфигурации

Save Setup - сохранение на системном диске всех  текущих  пара-
             метров ДОС: устройств на панелях, драйвера принте-
             ра, шрифта и палитры (только на БК0011М) и т.д.;
Color      - изменение палитры (для БК0011М) или вкл./выкл. ре-
             жима оцветнения для БК0010(-01). Эту команду можно
             подавать и без  выхода  в  Главное  Меню  клавишей
             [ИНДСУ];
Pr. Code   - установка кодировки, которую "понимает" Ваш  прин-
             тер: K-7   - код КОИ-7,
                  K-8   - код КОИ-8,
                  Осн.  - основная кодировка ГОСТ,
                  Альт. - альтернативная кодировка;
Pr. Port   - тип вывода данных: Прм. - код прямой,
                                Инв. - код инверсный;
Fl. Time   - задержка для дисководов  при переходе с дорожки на
             дорожку;
Fl. Type   - тип дисковода: 40/80 дорожек.


               8. Обработка файлов по расширению

     MC позволяет обрабатывать файлы по расширению.  Это  очень
удобно как для программистов, так и для  пользователей.  Напри-
мер, если установить курсор MC на файл DEMO.MAC (исходный текст
на ассемблере) и нажать [ВВОД], то произойдет  поиск  командной
последовательности для расширения "MAC" в  файле  MC.EXT.  Если
последовательность будет обнаружена, она выполнится.

               8.1. Редактирование файла MC.EXT

     Для редактирования файла MC.EXT  надо  наставить  на  него
курсор MC и нажать [АР2]+[4] "Edit".  Командная  последователь-
ность состоит из следующих элементов:

MAC:TURBO7MK_LO$_SC
 │     │     └──┬─┘
 │     │        │
 │     │        текст "ключа"
 │     └──────── имя рабочей программы
 └────────────── расширение, обязательно 3 символа

Примечание: 1. Символ "$" ("черепашка") заменяет  имя  текущего
               файла.
            2. Символ "_" (подчеркивание) заменяет [ВВОД].
     Если необходимо ввести какой-либо управляющий код в коман-
дной последовательности (например код клавиши [KT]), то нажмите
[БЛОКРЕД], а затем клавишу с нужным кодом. Например,  для  заг-
рузки файлов с расширением .VXT в VorteX  v1.05  последователь-
ность может иметь такой вид:



 ┌── расширение
 │
VXT:VX_  2NC111$_
    │  │ │ │   └ <имя файла> ←─┘
    │  │ │ └ команда VorteX'у: KT,1,1,1
    │  │ └ выбираем принтер No 2 и отказ от использования ДОЗУ
    │  └── "пролистываем" заставку и рекламу
    └───── имя программы - "VX"


               9. Использование внешних функций

     MicroCommander позволяет подгружать и использовать внешние
функции. Список их постоянно расширяется, поэтому  опишем  лишь
те  три,   которыe   обязательно   поставляются   в   комплекте
MicroCommander.

                          9.1. Файлер

     Файлер позволяет наглядно выбирать имена файлов  для  заг-
рузки их из программ, не имеющих такой функции. Например,  гра-
фический редактор Techno-Art, программа  печати  графики  GPS4,
старые текстовые редакторы, из монитора БК0010(-01) и т.д.
     Для загрузки и инсталляции файлера необходимо (находясь  в
MC) нажать клавишу [БЛР].   Для   работы   файлера   необходимы
БК0010(-01) с ДОЗУ 16Кб или БК0011(М). Файлер  понимает  ТОЛЬКО
диски МК-DOS.
     При обращении программы к ДОС с пустым  именем  (состоящим
из пробелов) происходит вызов файлера (при запросе вывода ката-
лога - команда 4, 204 - он выводится). В  нижней  части  экрана
появляется рамка с именами файлов,  подкаталогов  и  логических
дисков. Если при вызове файлера в имени было указано расширение
(например, так делают VorteX,  Techno-Art  и  т.п.),  то  будут
отображены только файлы с указанным  расширением  и  логические
диски. Работать с файлером достаточно просто.

     Для перемещения по содержимому каталога используются  кла-
виши управления курсором ([←], [→], [↑], [↓]).
     Выбора файла осуществлятся нажатием клавиши [ВВОД].
     Для входа и выхода в подкаталоги и только для входа в  ло-
гические диски используется также клавиша [ВВОД]. Выход из  ло-
гических дисков осуществляется по клавише [СБР].
     Перечитывание каталога текущего   привода   осуществляется
также помощи этой клавиши ([СБР]).
     Смена привода производится нажатием на алфавитные  клавиши
(т.е. клавиши [А] - [Z]).
     Во время работы файлера  возможно  использование  фильтра.
Для этого нажмите [ПОВТ] и введите текст фильтра (возможно  ис-
пользование клавиш [←┤](ЗАБОЙ),  [←],   [→]),   затем   нажмите
[ВВОД]. Произойдет сортировка каталога и вывод логических  дис-
ков (любых) и  файлов,  удовлетворяющих  тексту  фильтра.  Если
текст фильтра начинается с символа "*" (звездочка), то все фай-
лы выводятся без учета принадлежности к подкаталогу; если текст
фильтра начинается с символа "." (точка), то будут выведены все
файлы, имеющие какое-либо расширение. Для отмены фильтра следу-
ет выполнить  следующую  последовательность  действий:  нажмите
клавишу [ПОВТ], а затем [KT].
     Выход из файлера возможен  при  выборе  файла  по  клавише
[ВВОД] и при нажатии клавиши [KT] (в этом случае по смещению  1
от начала блока параметров ЕМТ36 помещается код ошибки 4 - пре-
рывание по клавише СТОП). При выходе из файлера происходит ВОС-
СТАНОВЛЕНИЕ участка экрана, который занимал файлер (т.е. возмо-
жен вызов файлера даже из графических редакторов).
     Файлер использует следующее адресное пространство:
     - на БК0010(-01) с ДОЗУ 16Кб: адреса 140000 по 153777;
     - на БК0011(М): адреса 116076-116355  плюс в седьмой стра-
       нице адреса с 40000 по 46103 и с 57000 по 64673.


                      9.2. Эмулятор ANDOS

     Эмулятор ANDOS позволяет копировать с дисков ANDOS на дис-
ки MK-DOS файлы и запускать с дисков ANDOS программы при  усло-
вии, что файлы не фрагментированы (ANDOS  v3.1  практически  не
создает фрагментации на диске; если  Вы  хотите  скопировать  в
MK-DOS текстовый файл полученный в VorteX v4.0,  то  необходимо
убедиться, что файл был "закрыт" при выходе из VorteX).
     При нажатии на [АР2]+[2] "User" на текущей панели  появля-
ется список файлов с расширением ".USR".  Кроме  ANDOS.USR  там
могут быть и другие функции. Вы можете сами занести  часто  ис-
пользуемую программу в этот список, дав ей расширение ".USR".
     Для запуска функции необходимо наставить на нее курсор  MC
и нажать [ВВОД]. После запуска ANDOS.USR можно вставлять диске-
ту в формате ANDOS, посмотреть ее каталог,  скопировать  с  нее
файлы, запустить какую-либо программу. Естественно,  что  прог-
раммы, написанные под ANDOS, работать не будут. Запускать можно
только универсальные программы.


         9.3. Дерево подкаталогов и логических дисков

     Дерево подкаталогов и логических дисков очень  удобно  для
визуального восприятия файловой структуры на диске. Работать  с
ним черезвычайно просто.
     Для вызова функции наставьте курсор МС  на  файл  TREE.USR
(для удобства используйте комбинацию клавиш [АР2]+[2]) и нажми-
те [ВВОД].
     На соседней панели появится дерево того диска, откуда  за-
пускалась функция. ROOT означает корневой каталог,  подкаталоги
начинаются с символа "■", остальными записями являются логичес-
кие диски. Например:

    ROOT                - корневой подкаталог
     ├■DOS              - подкаталог
     ├РАБОЧАЯ           - логический диск
     ├┬■GAME
     │└┬■ИГРЫ SW
     │ ├┬■ИГРЫ SW1
     │ │└■ИГРЫ SW2
     │ └■ИГРЫ BIL
     ...
     │
     ↓                  - означает, что на панели уместилась не
                          вся информация

     Перемещение по дереву осуществляется клавишами [↑] и  [↓].
Если на панели уместилась  не  вся  информация,  то  происходит
прокрутка. При перемещении курсора, на панели (откуда  запуска-
лась функция) будет отображаться содержимое текущего подкатало-
га.
     Чтобы войти в логический диск следует навести на него кур-
сор и нажать [ВВОД], что приведет к отображению структуры логи-
ческого диска. Для возврата в корневой диск используется клави-
ша [СБР].
     Смена привода осуществляется нажатием на алфавитные клави-
ши (т.е. [A] -  [Z]).   Если   активны   какие-либо   эмуляторы
(например, ANDOS, RT-11), то диски не MK-DOS также будут  обра-
батываться.
     Для фиксирования текущего состояния следует нажать  [ВВОД]
или [ТАБ].
     Если небходимо вернуться к  исходному  состоянию  панелей,
т.е. которое было до запуска функции, то просто нажмите [KT].


     IV. Форматирование и создание нового системного диска

     Перед использованием новую дискету необходимо ОТФОРМАТИРО-
ВАТЬ, т.е. разметить. Делается это при помощи одной из программ
форматирования, которых можно встретить до десятка, но рекомен-
дуется это  делать  программой  'MFORMAT',  входящей  в  состав
MK-DOS, так как там применен новый нестандартный драйвер форма-
тирования, позволяющий уменьшить вероятность возникновения оши-
бок, а также благодаря использованию нового, оригинального  ал-
горитма разметки - увеличить скорость общения с диском, что по-
вышает надежность общения с информацией и уменьшает его  износ.
Так же эта программа, встретив неустранимые ошибки, метит сбой-
ные места на диске как BAD области, перекрывая .BAD файлом  всю
сторону дорожки со сбойным блоком, чтобы  головка  дисковода  и
близко там не появлялась.
     Чтобы вы поняли, что делаете,  готовя  дискету  к  работе,
прибегнем к сравнению. Допустим, вам нужно  записать  табличные
данные на листе бумаги. Вы возьмете чистый  лист  и  разлинуете
его - вы отформатировали диск. Делаете шапку таблицы  -  иници-
ализируете, т.е. создаете каталог дискеты. А лишь потом начина-
ете записывать данные.
     Для создания копии системы необходимо отформатировать диск
и записать на него загрузчик (только программой MFORMAT: в  ко-
мандной строке набрать MFORMAT4 A:/F/B для привода А:).  Далее,
скопировать файлы "MONITOR" и "MKDOS V3.15", эти два файла дол-
жны быть первыми на диске, т.к. загрузчик читает их по физичес-
ким номерам блоков. Потом копируются остальные файлы подкатало-
га "\DOS".
     Если у Вас есть винчестер или хотя бы  два  дисковода,  то
процедура создания  системного  диска  значительно  упрощается,
т.к. MFORMAT может при записи загрузчика автоматически скопиро-
вать нужные Вам системные файлы в установленном порядке на  но-
вый диск. Список файлов находится в файле  SYSDSK.COM,  который
возможно редактировать из оболочки по ключу "Edit".
     Напимер, мы загрузились с дисковода B: (там стоит  систем-
ный диск), тогда команда (подается в командной строке оболочки)
    B:\>MFORMAT A:/F/S/B/C ←─┘
отформатирует диск A: с использованием драйвера "быстрого" фор-
матирования, запишет на диск загрузчик, скопирует с  системного
диска (в нашем случае - B:) все файлы,  которые  перечислены  в
файле SYSDSK.COM.


                  V. Комплект поставки MK-DOS

     Фирменная дискета MK-DOS включает следующие файлы:


                    MK-DOS и MicroCommander

/DOS
  * MONITOR     - загружаемый на БК0011(М) монитор БК0010(-01);
  * MKDOS V3.15 - резидент ДОС;
  * VD.SYS      - драйвер электронного диска для БК0011(М);
  * VDISK.COM   - список файлов, которые переписыватся на элек-
                  тронный диск при загрузке системы.
/MC
  * MC          - резидентная часть оболочки;
  + MENU.MC     - ┐
  + VIEW.MC     - │
  + EDIT.MC     - │автоматически подгружаемые по мере необходи-
  + FILER.MC    - │мости модули оболочки;
  + EXTR.MC     - │
  + HELP.MC     - ┘
  + MC.EXT      - командный файл для обработки файлов по расши-
                  рению.


         Подгружаемые к оболочке функции пользователя

/USER
    ANDOS.USR   - эмулятор для чтения дисков ANDOS;
    RT-11.USR   - эмулятор для чтения и записи дисков RT-11;
    TREE.USR    - дерево подкаталогов и логических дисков;
    CALC.USR    - калькулятор;
    ARIFM.OVL   - модуль арифметики для CALC.USR;
    DAY.USR     - календарь до 2000 года;
    TEKDAY.DAT  - текущая дата  для календаря (формат совместим
                  с форматом даты БЛОКНОТ 2);
  - FIND.USR    - поиск файлов на винчестере;


                            Утилиты

/UTILITIES
    MFORMAT     - форматирование дисков, запись загрузчика;
    SYSDSK.COM  - список системных файлов (необходим  программе
                  MFORMAT) для быстрого создания нового систем-
                  ного диска;

    COPDEV      - копирование дискет, логических дисков и т.д.;
    SQUEEZER    - сжатие дисков MK-DOS;

    DD          - программа для восстановления дискет;
    DD.CNF      - конфигурация DD;
    DD.DOC      - документация к DD;

    DESS        - редактор информации на дисках;
    DESS.DOC    - документация к DESS;
    FILES.DSS   - ┐
    ASSEMB.DSS  - │подгрузки к DESS;
    RADIX.DSS   - │
    MACRO.DSS   - ┘

    CF50        - магнитофонный копировщик, позволяет переписы-
                  вать файлы с магнитофона на дискету;
    DISK.CF     - ┐подгружаемые функции к CF50;
    TEXT.CF     - ┘
    CF50.DOC    - документация к CF50.


                        Бейсик и Фокал

/BASIC,FOCAL

    BASIC10.DSK - дисковый Бейсик для БК0010(-01)  с контролле-
                  рами PIT и "АЛьТЕК". Возможна работа с файла-
                  ми типа .ASC и .DAT;

    BASIC11M    - дисковый Бейсик для БК0011М;
    BASIC.OVL   - автоматически  грузится  в BASIC11M, если нет
                  ПЗУ Бейсика-11М;

    FOCAL10     - загружаемый Фокал  для БК0010(-01). Необходим
                  контроллер дисковода с ДОЗУ не менее 16 Кб;

    FOCAL11M    - загружаемый Фокал для БК0011М;

    PREZIDENT   - пример программы на Фокале(загружать командой
                  Фокала *L G PREZIDENT <ВВОД>,потом *G<ВВОД>).

                           Ассемблер

/TURBO
    TURBO6M     - ассемблер-система, работает  как  на БК0011М,
                  так и на БК0010(-01) с 16 Кб ДОЗУ;
    ARIFM.OBJ   - модуль плавающей арифметики к TURBO6M;
    TURBO6.DC1  - ┐Документация к TURBO6M;
    TURBO6.DC2  - ┘

    TURBO7MK    - ассемблер-система, только  для БК0011М. Имеет
                  мощный редактор текста;
    TURBO7M.DC1 - ┐Документация к TURBO7M;
    TURBO7M.DC2 - ┘
    NABOR.MAC   - набор стандартных  подпрограмм (текст  на ас-
                  семблере).


                     Шрифты для БК0011(М)

/FONT
    10.BKF      - шрифт БК0010(-01);
    11.BKF      - шрифт БК0011(М);
    STANDART.BKF- более четкий ч/б шрифт;
    COLOR1.BKF  - цветной шрифт (красный);
    COLOR2.BKF  - цветной шрифт (зеленый);
    ПИШМАШ.BKF  - шрифт "под пишущую машинку";
    PC.BKF      - шрифт с IBM PC (CGA).

Примечание: 1. Файлы, помеченные "*" (звездочка), при  загрузке
               ДОС автоматически подгружаются (если они необхо-
               димы).
            2. Файлы, помеченные "+" (плюс), являются  модулями
               оболочки и подгружаются автоматически  (по  мере
               необходимости) с системного диска во время рабо-
               ты сервисной оболочки.
            3. Файлы, помеченные "-" (минус), обязательны толь-
               ко в комплекте ДОС для винчестера.

     В комплект ДОС входит также распечатанная документация  на
ДОС, сервисную оболочку, утилиты и подгружаемые функции.

     Установка MK-DOS v3.15 на винчестер стоит 15 USD.

     Авторы надеются, что Вы  преобрели  авторский  программный
продукт (если это не так, но есть желание, то позвоните по  те-
лефону 375-76-96, Дмитрий), и желают приятной работы с операци-
онной системой MK-DOS всем честным пользователям!

                     Утилиты MK-DOS v3.15

     В комплект MK-DOS входит  минимальный  комплект  сервисных
утилит: MFORMAT (форматирование дискет, инициализация дискет  и
логических дисков винчестера,   запись   загрузчика   системы),
COPDEV (копирование дискет и логических дисков винчестера, поз-
воляет создавать на винчестере библиотеку  "образов"  дискет  в
виде логических дисков MK-DOS), SQUEEZER (программа для  сжатия
дисков MK-DOS).

                        Утилита MFORMAT

     MFORMAT предназначена, прежде всего, для форматирования  и
инициализации дискет MK-DOS.  При  форматировании,  проверке  и
инициализации дискеты в каталоге сохраняется информация о  пло-
хих участках диска (BAD-блоках), если они  обаружены  во  время
проверки. При работе, MK-DOS будет  "обходить"  плохие  участки
диска, чтобы информация читалась и записывалась без збоев.

     В отличии от многих программ, MFORMAT запускается  из  ко-
мандной строки MicroCommander. В  командной  строке  необходимо
указать имя программы ("MFORMAT"), устройство с  которым  пред-
стоит работать и ключи (что с ним делать). Например, если  наб-
рать строку

     C:\>MFORMAT A:/F

     то отформатируется дискета в дисководе A:, а строка

     C:\>MFORMAT B:/F/S/B/C

     - отформатирует дискету в дисководе  B:  с  использованием
драйвера "быстрого" форматирования;
     - запишет на диск загрузчик MK-DOS;
     - скопирует с системного диска на  дисковод  B:  системные
файлы (они  должны   быть   перечислены   в   командном   файле
SYSDSK.COM, который должен находиться на системном диске).

     Совсем не обязательно запоминать все  перечисленые  ключи,
т.к. MFORMAT выдает подсказку  при  запуске  ее  как  "обычной"
программы (т.е. наставили на нее курсор MC и нажали <ВВОД>).

                        Ключи MFORMAT:

     /F - форматировать  указанный  диск  (бесполезно  пытаться
"отформатировать" логический диск винчестера). После форматиро-
вания производится проверка диска и исправление (по  возможнос-
ти) BAD-областей. После завершения проверки - диск  инициализи-
руется.

     /I - инициализировать указанный диск (совместно  с  ключом
/F не имеет смысла). Для инициализации логических дисков вин-
честера этой командой можно  пользоваться  (аналогично  функции
Главного Меню MicroCommander "Init").

     /B - записать на диск загрузчик MK-DOS. Возможно использо-
вание ключа как совместно с /F или /I, так и самостоятельно.
     Загрузчик невозможно записать, если первые 35 блоков диска
заняты файлами или перекрываются BAD-областями.

     /C - копирование на диск  системных  файлов,  используется
совместно с /B. На одном дисководе (т.е. если загрузка произош-
ла с того же привода, что и используется в операции) команда не
работает. На системном диске должен быть файл SYSDSK.COM, в ко-
тором должны быть перечислены системные файлы в нужном порядке.

Пример:
     /DOS               - создать подкаталог DOS и скопировать
                          в него:
     MONITOR
     MKDOS V3.15        - обязательно первыми !
     MC
     VD.SYS
     VDISK.COM
     MENU.MC
     VIEW.MC
     EDIT.MC
     FILER.MC

     /USR               - созать подкаталог USR ...
     ANDOS.USR
     TREE.USR
     ...        и т.д.

     Комментарии в командном файле не допускаются !

     /S - используется совместно   с   /F,   включает   драйвер
"быстрого" форматирования (после  такого  форматирования  диски
прописываются с той же скоростью, что и читаются). На некоторых
экземплярах импортных дисководов (TEAC,  EPSON)  драйвер  может
давать сбои! Рекомендуется использовать на отечественных диско-
водах (МС5313, МС5311, МС5305).

     /V - используется совместно  с  /I,  перед  инициализацией
осуществляет проверку диска на BAD-блоки и сохраняет информацию
о них. Корректно работает даже с винчестером (на случай исполь-
зования "антиквариата"). Использование команды оправдано,  если
диск был отформатирован какой-либо другой программой.

     /A - инициализация диска в формат ANDOS. Используется сов-
местно с  /I  или  /F.  Следует  учитывать,  что  информация  о
BAD-блоках не указывается в FAT ANDOS. Если у Вас винчестер, то
использовать логические диски винчестера  размером  более  1600
блоков (800 Кб) для работы с ANDOS очень не разумно!

                        Утилита  COPDEV

     Утилита предназначена для копирования  дискет,  логических
дисков винчестера и логических  дисков   MK-DOS.   На   сегодня
(22.04.95г.) программа является единственным  КОРРЕКТНЫМ  копи-
ровщиком дисков при использовании винчестера.
     Запускется COPDEV так же как  и  MFORMAT  -  из  командной
строки оболочки. Если запустить программу другим  способом,  то
выдается подсказка. Входными параметрами  для  COPDEV  являются
имена устройств чтения/записи (с возможностью указания имен ло-
гических дисков MK-DOS) разделенные знаком "=" (равно).
     В конце, можно указать ключи /F (диск-приемник  отформати-
ровать перед записью на него  информации)  и  /S  (использовать
драйвер "быстрого" форматирования).
     Например, у Вас только один дисковод, а необходимо сделать
копию дискеты:

     A:\>COPDEV A:=A:/F

     - команда осуществляет копирование дискет на одном  диско-
воде (A:), перед копированием диск-приемник (т.е. диск, НА  ко-
торый будет записываться информация) будет отформатирован.  При
запросе "Вставьте диск-ИСТОЧНИК и  нажмите  <ВВОД>"  необходимо
вставлять диск С которого  информация   ЧИТАЕТСЯ   и   нажимать
<ВВОД>, а на запрос "Вставьте диск-ПРИЕМНИК..." - диск для  за-
писи.
     Если у Вас два дисковода, то операцию можно проделать так:
     A:\>COPDEV A:=B:

     - команда скопирует диск A: на диск B:.

     При наличии винчестера, очень  удобно  создать  БИБЛИОТЕКУ
ОБРАЗОВ ДИСКЕТ в виде логических дисков MK-DOS:
     C:\>COPDEV A:=F:АЛЬТЕК13

     - команда копирует образ дискеты A: в логический диск АЛЬ-
ТЕК13, который находится на устройстве  F:.  Если  обнаружится,
что на F: нет логического диска АЛЬТЕК13, то  COPDEV  предложит
создать его. Если диск A: в формате MK-DOS, то создается  логи-
ческий диск минимального объема (т.е. только под область  заня-
тую файлами), если диск A: не в формате  MK-DOS,  то  создается
логический диск объемом с дискету (800 Кб или 400 Кб - в  зави-
симости от типа дисковода: 80/40 дорожек).
     Логический диск можно создать и с помощью MicroCommander.
     Если источник имеет больший объем чем приемник, то  COPDEV
предупредит Вас.
     Возможна и обратная операция - восстановление  дискеты  из
ее образа на винчестере:

     C:\>COPDEV F:АЛЬТЕК13=A:

     - команда восстанавливает дискету из ее образа в  логичес-
ком диске АЛЬТЕК13.

     Следует обратить Ваше внимание на то,  что  COPDEV  всегда
правильно указывает объем приемника при  записи  (если  диск  в
формате MK-DOS, разумеется), поэтому без проблем можно  копиро-
вать логические диски винчестера. Например:

     C:\>COPDEV C:=Z:

     - копирование диска C: (системного логического диска  вин-
честера) на логический диск винчестера Z:. Даже если, например,
C: имеет объем 1600 блоков, а Z: - 5000 блоков, на диске Z: бу-
дет указан правильный его размер, т.е. 5000 блоков.

                       Утилита SQUEEZER

     При интенсивной работе необходимо, хотя бы раз  в  неделю,
наводить порядок на рабочих дискетах или логическии дисках вин-
честера: удалять старые версии рабочих файлов, рассортировывать
файлы по подкаталогам и логическим дискам. После  этого,  диски
можно обработать утилитой SQUEEZER: она переносит все  файлы  в
начало диска, удаляя таким образом "дыры", которые могли  полу-
читься при увеличении размеров рабочих файлов,  их  удалении  и
проч. При сжатии диска, SQUEEZER "обходит" BAD-области.  Работа
с программой   очень   проста   и   не   требует   комментариев
(пользуйтесь встроенной подсказкой).
     С помощью SQUEEZER можно сжимать не только дискеты или ло-
гические диски винчестера, но и логические  диски  MK-DOS.  Для
этого необходимо сделать  текущим  нужный  логический  диск,  а
программу запустить из командной строки. После запуска програм-
мы надо нажать <ВВОД>.
                 VI. Руководство программиста

          1. Дополнительные команды ЕМТ-перехватчику

     К перехватчику можно обращаться с рядом дополнительных ко-
дов команд в блоке параметров ЕМТ36 (для утилит). Это байты:

  2 - Запись файла;
  3 - Чтение файла;
  4 - Вывести каталог текущего диска;
200 - Удаление по запросу;
     202 - Запись файла с указанием адреса  для  каталога.  При
этом адрес в памяти помещается в ячейку по смещению 2 от начала
блока параметров, а адрес для помещения в каталог - по смещению
26 (ячейка адреса ответа блока параметров). Работает также и  с
магнитофоном;

204 - Показать каталог.

     Кроме того, можно устанавливать дополнительные биты в коде
команды, меняющие специфику выполнения данной команды:

10 - бит запрета остановки дисковода, для продолжения  дисковых
     операций, система перед операцией не инициализирует работу
     с дисководом (т.е. он должен быть ранее  инициализирован),
     и после окончания операции не останавливает  дисковод  (на
     раскрутку которого при каждой операции теряется  не  менее
     3-х секунд);
20 - бит "No RDDIR" перед операцией не читать каталог  с  диска
     (подразумевается, что он был ранее считан  и  находится  в
     буфере);
40 - бит "No SAVDIR" после окончания операции не записывать ка-
     талог (подразумевается, что файловые операции  будут  про-
     должаться и каталог будет записан в конце).

     При удачной загрузке файла, его номер блока на диске поме-
щается в ячейку @#314, а размер в блоках -  @#316.  При  записи
выполняются те же действия, но в @#316 помещается  размер  всей
бывшей свободной области. Если на диске нет места, то в @#314 -
номер первого свободного блока в конце диска, а в @#316 -  раз-
мер области. Это может быть полезным для организации произволь-
ного доступа к файлам.



                   2. Формат каталога MK-DOS

     Формат каталога представляет собой  тщательно  продуманный
каталог системы Micro DOS, ставший стандартным на БК, а  именно
формат нулевого блока дискеты:

Адрес:
 30 - Количество файлов в каталоге (НЕ ЗАПИСЕЙ!);
 32 - Суммарное количество  блоков в файлах (НЕ ЗАПИСЯХ!) ката-
      лога;
400 - Метка принадлежности к формату Micro DOS (123456);
402 - Метка формата каталога MK-DOS (51414);
466 - Размер диска в блоках, величина абсолютная для системы (в
      отличие от NORD, NORTON и т.п.) принимающая не два значе-
      ния под 40 или 80 дорожек, а, скажем, если  Ваш  дисковод
      понимает только 76 дорожек, то в этой ячейке  нужно  ука-
      зать соответствующее число блоков (это делается при  ини-
      циализации);
470 - Номер блока первого файла. Величина также изменяемая;
500 - Первая запись о файле.


                   3. Формат записи о файле
     
     Запись о файле имеет длину 30:

Смещение:

    0 - Статус файла;
    1 - Номер подкаталога (0 - корень);
    2 - Имя файла 14. символов ASCII KOI8;
   20 - Номер блока;
   22 - Длина в блоках;
   24 - Адрес;
   26 - Длина.


                        4. Статус файла

     Статус файла бывает:

  0 - обычный;
  1 - защищен;
  2 - логический диск;
200 - BAD-файл;
377 - удален.


     Если первый символ в имени файла имеет  код  177,  то  это
подкаталог. Тогда вместо статуса у  него  байтом  указан  номер
этого подкаталога, и все файлы (в  т.ч.  подкаталоги),  имеющие
эту цифру в ячейке номера подкаталога, лежат в этом  подкатало-
ге.


        5. Таблица ссылок, переменных и констант MK-DOS


     Операционная система MK-DOS имеет  неперемещаемую  таблицу
ссылок, переменных и констант, дающую неограниченные возможнос-
ти для написания утилит и других программ, используемых совмес-
тно с MK-DOS.







                Переменные, буфера и константы


┌────────┬────────┬───────────────────────────────┬───────────┐
│  ИМЯ   │ АДРЕС  │ НАЗНАЧЕНИЕ                    │ ЗНАЧЕНИЕ  │
│ МЕТКИ  │        │                               │           │
├────────┼────────┼───────────────────────────────┼───────────┤
│ VERS   │ 120004 │Версия Системы 3.15            │100000+315.│
│ BLK    │ 120006 │Адрес блока параметров диска   │  136712   │
│ SUBTEK │ 120010 │Номер подкаталога на тек. диске│     0     │
│ SUBOLD │ 120011 │Подкаталог в другой панели     │     0     │
│ DEVTEK │ 120012 │Номер текущего устройства      │     0     │
│ SUBDIR │ 120013 │Подкаталог для CREATE, временн.│     0     │
│ DIR    │ 120014 │Адрес буфера чтения каталога   │  126000   │
│ TSTEP  │ 120070 │Задержка шага головки дисковода│   2000    │
│ PANEL  │ 120072 │Байты устройств в панелях "MC" │ 400 (0,1) │
│ SCREEN │ 120074 │Ячейка перехвата вывода сообще-│     0     │
│        │        │ний системы, адрес подпрограммы│           │
│        │        │обращения вместо EMT16. Для за-│           │
│        │        │прета вывода - адрес ближайшей │           │
│        │        │команды RTS PC                 │           │
│ STEK   │ 120076 │Адрес стека перехватчика ЕМТ36 │  136712   │
│ USER   │ 120100 │Значение 1  Адреса  и  значения│     0     │
│        │ 120102 │Адрес 1     трех ячеек, восста-│     0     │
│        │ 120104 │Значение 2  навливаемых  систе-│     0     │
│        │ 120106 │Адрес 2     мой после  ЕМТ14  и│     0     │
│        │ 120110 │Значение 3  перезапуска        │     0     │
│        │ 120112 │Адрес 3                        │     0     │
│ USER2  │ 120114 │Адрес подпрограммы перед запу- │     0     │
│        │        │ском "MC" или 0                │           │
│ NONDOS │ 120116 │Адрес подпрограммы имитации    │     0     │
│        │        │ЕМТ36 для не DOS дисков, или 0 │           │
│        │        │(вывод сообщения Non DOS Disk) │           │
│ OVERWR │ 120124 │Признак AutoOwerwrite, 1-выкл. │     1     │
│ PRED   │ 120125 │Признак Predelete, 1-выкл.     │     0     │
│ FLOP   │ 120126 │Дисковод:  0 - 40, 1 - 80 track│     1     │
│ PALET  │ 120127 │Палитра БК11(М),оцветнение БК10│     0     │
│ SY     │ 120130 │Диск загрузки системы (@:)     │     -     │
│ DK     │ 120131 │Привод для оверлеев (!:)       │     -     │
│ SORTIR │ 120132 │Режимы сортировки на панелях MC│           │
│ LD0    │ 120134 │Смещение к логическому диску   │           │
│        │        │(в блоках), 0 - корень         │           │
│ LD1    │ 120136 │то же, но для текущей операции │           │
│ LD2    │ 120140 │Смещение для другой панели MC  │           │
│ NAM    │    306 │Адрес блока параметров EMT36   │     -     │
│ BLOK   │    314 │Номер блока загруженного файла │     -     │
│ SIZE   │    316 │Кол-во блоков в файле          │     -     │
└────────┴────────┴───────────────────────────────┴───────────┘









           6. Подпрограммы MK-DOS и обращения к ним

                   6.1. Подпрограммы MK-DOS

┌────────┬────────┬───────────────────────────────────────────┐
│ МЕТКА  │ АДРЕС  │ НАЗНАЧЕНИЕ                                │
├────────┼────────┼───────────────────────────────────────────┤
│ INIDRV │ 120016 │ Инициализация драйвера дисковода          │
│ EMT6   │ 120020 │ Команда EMT6 с автоповтором (исп. Rename) │
│ INOUT  │ 120022 │ Чтение/запись блока (160004 исп.буфер ДОС)│
│ RDDIR  │ 120024 │ Чтение каталога в буфер (@#DIR)           │
│ DIRFIN │ 120026 │ Поиск файла в каталоге                    │
│ DIRPRI │ 120030 │ Вывод каталога на экран                   │
│ FRFIN  │ 120032 │ Поиск свободного места в каталоге         │
│ CREAT  │ 120034 │ Создание записи о файле в каталоге        │
│ DELETE │ 120036 │ Удаление файла (с запросом или без него)  │
│ SAVDIR │ 120042 │ Запись каталога                           │
│ EMT20  │ 120044 │ Полная имитация EMT20 с исп. ячейки SCREEN│
│ PRINAM │ 120046 │ Вывод имени с без пробелов в конце        │
│ TXT    │ 120050 │ Перемещаемый вывод надписей               │
│ STROKA │ 120052 │ Редактор строки (исп. Rename)             │
│ OCTOUT │ 120056 │ Вывод восьмиричного числа                 │
│ DECOUT │ 120060 │ Вывод десятичного числа                   │
│ TST    │ 120062 │ Замена управляющих кодов в R0 на пробелы  │
│ TST2   │ 120064 │ Привести R0 к ЛАТ,ЗАГЛ регистру(корректно)│
│ ERROR  │ 120066 │ Расшифровка текстом No ошибки дисковода   │
│ FRFIN2 │ 120120 │ Поиск свободного места по длине в блоках  │
│ CREAT2 │ 120122 │ Создание записи о файле по длине в блоках │
└────────┴────────┴───────────────────────────────────────────┘

     Система имеет точку входа имитации EMT36, для совместимос-
ти с ANDOS выбран адрес 120002. Для обеспечения работы с диском
программ, использующих 30-й вектор для своих  нужд,  достаточно
вместо команды "EMT36"  использовать  "CALL  @#120002".  Ячейка
VERS предназначена для распознавания утилитами  версии  MK-DOS,
т.к. при неизменении адресов подпрограмм указанных в этом  опи-
сании, их список в последующих версиях будет  расширен,  и  для
обеспечения неработоспособности утилит, пользующихся возможнос-
тями ДОС, отсутствующими в предыдущих версиях.

     ВНИМАНИЮ ПРОГРАММИСТОВ, пишущих под MK-DOS. Ячейку  версии
следует проверять на "больше или  равно"  если  вы  пользуетесь
только стандартными запросами ДОС, и проверять "строго равно" -
если программа пользуется обращениями в тело MK-DOS, т.к. адре-
са не входящие в таблицу подпрограмм и переменных  в  следующих
версиях, а также при модификациях, могут изменяться.


             6.2. Обращение к подпрограммам MK-DOS

     INIDRV - инициализация блока параметров драйвера дисковода

Вызов: CALL @INIDRV
Выход: R3 - адрес блока параметров

Действия: Инициализация блока параметров пр аргументу R3, зане-
          сение длины сектора в словах (400) по 64(R3) и задер-
          жки перехода между дорожками из ячейки TSTEP.


     EMT6 - Полный аналог EMT6, реализованный с автоповтором

Вызов: CALL @EMT6


     INOUT - Чтение/запись блока

Вызов: CALL @INOUT
Вход:  R0 - номер блока
       R2 - адрес в памяти
       R1 - длина в СЛОВАХ
ВЫХОД: бит C при ошибке, в ячейке 52 код ошибки

Действия: Производится чтение с диска массива и  помещение  его
          по указанному адресу, если длина  в  команде  отрица-
          тельна - запись.
               В случае ДИСКОВОЙ ОШИБКИ делается ШАГ ВПЕРЕД/ШАГ
          НАЗАД головкой дисковода и ПОВТОР операции, что  поз-
          воляет исключить прерывание  работы  из-за  случайных
          ошибок.


     RDDIR - Чтение каталога диска в буфер MK-DOS (@DIR)

Вызов: CALL @RDDIR
Вход:  должен быть инициализирован блок параметров  подпрограм-
       мой INIDRV, входных регистров нет.
Выход: бит C при ошибке, адрес каталога в R3 (@#DIR).

Действия: Считывается каталог по адресу содержащемуся в  ячейке
          DIR, в  случае  безошибочного  считывания  происходит
          проверка размера диска (ячейка 466 нулевого блока)  и
          включение в случае необходимости режима пропуска  до-
          рожек.


     DIRFIN - Поиск файла в каталоге

Вызов: CALL @DIRFIN
Вход:  R3 - адрес буфера каталога
       @#NAM - адрес блока параметров EMT36
Выход: R3 - адрес записи о файле, или бит C если файл не найден

Действия: Поисходит поиск в каталоге файла, имя которого указа-
          но в блоке параметров EMT36,  управляющие  символы  в
          имени приравниваются к пробелу.


     DIRPRI - Вывод на экран каталога

Вызов: CALL @DIRPRI
Вход:  R3 - адрес буфера каталога

Действия: На экран выдается каталог диска, во время вывода воз-
          можна сортировка, нажатием  клавиши  -  первой  буквы
          имени, вывод можно  приостановить  нажав  пробел.  R3
          сохраняет свое значение.


     FRFIN - Поиск свободного места в каталоге

Вызов: CALL @FRFIN
Вход:  R3    - адрес буфера каталога
       @#NAM - адрес блока параметров EMT36
Выход: R3 - адрес свободной записи
       бит C        - нет места на диске
       бит C и R3=0 - нет места в каталоге

Действия: Поисходит поиск в каталоге свободного места по разме-
          ру файла, имя которого  указано  в  блоке  параметров
          EMT36.


     FRFIN2 - Поиск свободного места для "длинного файла"

     Команда полностью аналогична FRFIN, но на вход в R1  нужно
подавать длину файла в блоках. Если R1=-1,  то  ищется  "дырка"
наибольшего размера. При выходе из п/п: R1-длина свободной  об-
ласти в блоках, R0-номер первого свободного блока.


     CREAT - Создание записи о файле

Вызов: CALL @CREAT
Вход:  R3    - адрес записи
       R4    - адрес буфера каталога
       @#NAM - адрес блока параметров EMT36

Действия: Производится создание записи о файле в указанном мес-
          те каталога, все управляющие символы в имени  прирав-
          ниваются к пробелу. Если "дырка" больше файла  проис-
          ходит раздвижка каталога и создание за файлом "дырки"
          меньшего размера. Исправляются ячейки 30 и  32  шапки
          директория.


     CREAT2 - Создание записи о "длинном" файле

     Команда полностью аналогична CREAT, но на вход в R1  нужно
подавать длину файла в блоках.


     DELETE - Удаление файла

Вызов: CALL @DELETE
Вход:  R3    - адрес записи о файле
       бит C - удалять без подтверждения
Выход: бит C - файл защищен

Действия: Выдается запрос  на  удаление,  или  сообщение  "File
          protected!". При удалении  без  запроса  защищенность
          файла не анализируется. Удаляется запись о файле, ис-
          правляются ячейки 30 и 32 шапки директория, в  случае
          необходимости образовавшееся свобоное место  оъединя-
          ется с соседними "дырками" в одну общей длины.


     SAVDIR - Запись каталога на диск

Вызов: CALL @SAVDIR

     Работа с функцией полностью аналогична работе  с  подпрог-
раммой RDDIR.


     EMT20 - Аналог системного запроса EMT20

Вызов: CALL  @EMT20

     Работа с функцией полностью аналогична одноименному запро-
су EMT - диспетчера, но  текст  выводится  с  учетом  состояния
ячейки SCREEN.


     PRINAM - Вывод имени файла

Вызов: CALL @PRINAM
Вход:  R3 - адрес записи о файле в каталоге
Выход: R3 сохраняет свое значение

Действие: На экран выводится имя файла заявленное в команде,  с
          игнорированием конечных пробелов (выводится один про-
          бел). Используется при формировании  сообщений  типа:
          "?MKDOS - MONITOR Deleted?".


     TXT - Перемещаемый вывод надписей

Вызов: JSR    R1,@TXT
       .ASCIZ /СООБЩЕНИЕ/
       .EVEN

     Функция облегчает процедуру  вывода  сообщений  программам
пользователя.


     STROKA - Редактор строки

Вызов: CALL @STROKA
Вход:  R3 - адрес строки
       R2 - длина строки

Действие: Указанная строка символов вызывается на  редактирова-
          ние клавишей стрелка вправо можно возвращать по  сим-
          волам (с автоповтором) предидущее значение строки, по
          нажатию клавиши ВВОД "хвост" забивается пробелами.


     OCTOUT - Вывод восьмиричного числа

Вызов: CALL @OCTOUT
Вход:  R2 - число для вывода

Действие: Выводится пробел, затем число  в  восьмиричном  пред-
          ставлении с лидирующими нулями.

      DECOUT - Вывод десятичного числа

Вызов: CALL @DECOUT
Вход:  R0 - число для вывода

Действие: Выводится пробел, затем заявленное в команде число  в
          десятичном представлении без лидирующих нулей.

     TST - Замена пробелом управляющих кодов

Вызов: CALL @TST
Вход:  R0 - код символа
Выход: R0 - код сивола или пробел

     TST2 - Приведение к ЛАТ,ЗАГЛ регистру

Вызов: CALL @TST2
Вход:  R0 - код символа
Выход: R0 - код символа на ЛАТ,ЗАГЛ регистре

     ERROR - расшифровка номера ошибки дисковода

Вызов: CALL @ERROR
Вход:  @#NAM - адрес блока параметров EMT36
       @#52  - байт кода ошибки

Действие: В байт ответа блока параметров EMT36  помещается  код
          ошибки "4", далее анализируется байт  содержащийся  в
          ячейке @#52, при нулевом его значении происходит  вы-
          ход из подпрограммы, при всех остальных же  выводится
          на экран текстовая спецификация ошибки.
                                                  Приложение 1
                  Схема распайки БК - Принтер
┌───────────────────────────────┬─────────────┬───────┬───────┐
│          Контакт              │   Сигнал    │Контакт│Контакт│
│6329│УПЗ │D100 │6337│6312 │6313│             │  БК   │  КМ   │
├────┼────┼─────┼────┼─────┼────┼─────────────┼───────┼───────┤
│B-05│B-14│  2  │  3 │  2  │  3 │DATA 1 (BD00)│  A16  │    1  │
│B-06│B-13│  3  │  5 │  3  │  5 │DATA 2 (BD01)│  A13  │    3  │
│B-07│B-12│  4  │  7 │  4  │  7 │DATA 3 (BD02)│  B12  │    5  │
│B-08│B-11│  5  │  9 │  5  │  9 │DATA 4 (BD03)│  B10  │    7  │
│B-09│B-10│  6  │ 11 │  6  │ 11 │DATA 5 (BD04)│  B5   │    9  │
│B-10│B-08│  7  │ 13 │  7  │ 13 │DATA 6 (BD05)│  B7   │   11  │
│B-11│B-09│  8  │ 15 │  8  │ 15 │DATA 7 (BD06)│  B6   │   13  │
│B-12│B-07│  9  │ 17 │  9  │ 17 │DATA 8 (BD07)│  A7   │   15  │
│B-02│B-06│  1  │  1 │  1  │ 23 │STROBE (BD08)│  A28  │   17  │
│B-03│B-04│ 14  │ 21 │ 11  │ 21 │BUSY   (BB08)│  B31  │   19  │
│A-01│A7,8│19-32│2-24│24-25│4-28│GND     Общий│A18,B18│  2-24 │
└────┴────┴─────┴────┴─────┴────┴─────────────┴───────┴───────┘
