         Дисковая операционная система для БК0011М

г.Самара                 CSIDOS                     А.Мельников
1995 год

      1. Основные составные части CSIDOS

  Операционная система CSIDOS состоит из следующих частей:
- БАЗОВОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ:находится  в  постоянной  памяти
компьютера;
- ЗАГРУЗЧИКА ОПЕРАЦИОННОЙ СИСТЕМЫ: находится  в  нулевом  блоке
каждой дискеты с операционной системой. Функция этой  программы
заключается в считывании в память еще трех модулей системы;
- ЯДРА CSIDOS:программы общения с дисками;
- TURBO VISION:п/программы работы с экраном и клавиатурой;
- ОБОЛОЧКИ X-Shell:программа работы с пользователем.

      2. Имена файлов
  Каждый файл на диске имеет обозначение,  которое  состоит  из
двух частей:имени и расширения. В имени файла может быть  от  1
до 8 символов. Расширение начинается с точки, за которой следу-
ют от 1 до 3-х символов. Расширение  имени  файла  является  не
обязательным. Оно, как правило, описывает содержание файла.
  Например:
   .exe        - готовые к выполнению программы;
   .bat        - командные (Batch) файлы;
   .txt, .obj  - ассемблерные тексты;
   .vxt        - файлы текстового редактора "VorteX"
  В имени и расширении имени файла прописные и  строчнын  буквы
являются эквивалентными.

      3. Каталоги
  Имена файлов регистрируются на магнитных дисках в каталогах.
  Каталог-это специальное место на диске, в  котором  храняться
имена файлов, сведения о размерах файлов,  атрибуты  (свойства)
файлов и т.д.
  ПОДКАТАЛОГИ и НАДКАТАЛОГИ. Каждый каталог имеет имя и он  мо-
жет быть зарегистрирован в другом каталоге. Если каталог Х  за-
регистрирован в каталоге У, то говорят, что Х-подкаталог У, а У
-надкаталог (родительский каталог) для Х.
  ИМЕНА КАТАЛОГОВ. Требования к именам каталогов те же, что и к
именам файлов. Расширение имени для каталогов не используется.
  КОРНЕВОЙ КАТАЛОГ. На каждом магнитном диске имеется  корневой
(главный) каталог. В нем  регистрируются  файлы  и  подкаталоги
(каталоги 1-го уровня). В каталогах 1-го уровня  регистрируются
файлы и каталоги 2-го уровня и  т.д.  Получается  иерархическая
древообразная структура каталогов на магнитном диске.
  ДИРЕКТОРИИ. Каталоги 2-го, 3-го и последующих уровней называ-
ют еще и директориями.

      4. Текущий каталог
  Каталог с которым в настоящее  время  работает  пользователь,
называется текущим. Если в команде оболочки указать имя  файла,
то этот файл будет создаваться или отыскиваться в текущем ката-
логе. Для смены текущего каталога имеется команда - CD.

      5. Указание пути к файлу
  Когда вы используете файл не из текущего каталога, необходимо
указать в каком каталоге этот файл находится.  Это  делается  с
помощью указания пути к файлу.
  Путь - это последовательность из имен каталогов,  разделенных
символом "\". Этот путь задает маршрут от текущего или  от кор-
невого каталога диска к тому каталогу в котором находится  нуж-
ный файл. Если путь начинается с символов ":\", то маршрут  вы-
числяется от корневого каталога диска, иначе - от текущего.
  Каждое имя каталога в пути соответствует входу в подкаталог с
таким именем.

      6. Имена накопителей на дисках
  В CSIDOS накопители на магнитных дисках  именуются  следующим
образом: A:, B:, C:, SYS:, где A: и  B:  накопители  на  гибких
дисках, C: - накопитель на жестком диске ("винчестере"),  SYS -
- системный диск (привод с которого произошла загрузка).

      7. Текущий дисковод
  Текущий дисковод - это дисковод с которым вы работаете в нас-
тоящее время. CSIDOS, по умолчанию, ищет все задаванмые пользо-
вателем файлы на диске, находящемся на текущем дисководе.

      8. Полное имя файла
  Полное имя файла имеет вид: [дисковод]:[путь]\имя файла,  на-
пример: А:\TOOLS\T-ART2.EXE - т.е. состоит из пути к  каталогу,
в котором находится файл и имени  файла,  разделенных  символом
"\", перед которым может  стоять  обозначение  дисковода.  Если
дисковод не указан, то подразумевается текущий  дисковод.  Если
путь не указан, то подразумевается текущий каталог. Полное  имя
файла точно указывает с каким файлом вы хотите работать.

      9. Символы * и ?
  При пометке файлов в оболочке X-Shell возможно  использование
символов * и ? для указания группы файлов из  одного  каталога.
Символ * обозначает любое число любых символов  в  имени  файла
или в его расширении. Символ  ?  обозначает  один  произвольный
символ.

      10. Логические диски
  В операционной системе CSIDOS можно  разделить  жесткий  диск
("винчестер") на несколько частей и работать с ними как  с  от-
дельными дисками. Эти части называются логическими дисками.
  Каждый логический диск имеет имя в каталоге диска С:, а также
обозначается буквой. Поэтому каталог диска С: не  может  содер-
жать в себе имен директорий. Открыть новую директорию на  диске
С: - значит присвоить имя следующему логическому диску.

      11. Диалог пользователя с CSIDOS
  Диалог пользователя с CSIDOS  осуществляется  через  оболочку
X-Shell в форме команд. Команда X-Shell состоит из имени коман-
ды и возможных параметров, разделенных пробелами. Имя команды и
параметры могут набираться как прописными, так и строчными  ла-
тинскими буквами. Ввод каждой  команды  заканчивается  нажатием
клавиши "ввод".

      11.1. Приглашение X-Shell к работе
  Когда оболочка готова к диалогу с пользователем,  она  выдает
на нижней строке экрана приглашение, например А:\>.
  Приглашение содержит информацию о текущем диске  и  о текущем
каталоге. Например:
     А:\>        - дисковод А:, корневой каталог;
     E:\BATCH\>  - логический диск Е:, директория \BATCH.

      11.2. Запуск программ на исполнение
  Для запуска программы необходимо набрать имя файла,  содержа-
щего эту программу, путь к этому файлу, если он находится не  в
текущем каталоге и нажать "ввод".
  Поиск файла,  содержащего  запускаемую  программу  программу,
производится при помощи командного файла \EXEC, который записы-
вается в специально отведенный ему блок на системном  диске.  В
этом командном файле записаны расширения и  соответствующие  им
командные строки (команды). При запуске  файла  с  расширением,
операционная система ищет в файле \EXEC  расширение  идентичное
расширению файла и выполняет командную  строку  соответствующую
этому расширению. Если нужного расширения не найдено, то систе-
ма ищет указанный файл, загружает его и запускает  на  исполне-
ние. Если расширение файла не указано, то операционная  система
ищет файл с указанным именем и расширением  .exe,  загружает  и
запускает его. Если нужная программа не найдена,  то  на  экран
выводится сообщение об ошибке.

      12. Работа с оболочкой X-Shell

      12.1. Содержание панелей
  В каждой панели CSIDOS может изображаться:
- оглавление каталога на диске, причем  оглавление  может  быть
полным (Full), когда вместе с именем файла выводится его адрес,
длина и номера страниц памяти, и кратким (Brief),  когда  выво-
дятся только имена файлов в две колонки;
- дерево каталогов на диске. Наверху панели выводится "Tree";
- сводная информация о диске и каталоге на другой  панели.  На-
верху панели выводится "Info".

      12.2. Оглавление каталога в панели
  Имена файлов в панели выводятся строчными  буквами,  а  имена
подкаталогов - прописными. Для файлов с атрибутами  "защищенный
от удаления", между именем файла и расширением выводится символ
- "".
           ПОЛНАЯ ФОРМА ВЫВОДА ИНФОРМАЦИИ О ФАЙЛАХ
  При полной форме выдачи информации панель разделяется на  че-
тыре графы. Первая графа называется "Name", в этой графе пишут-
ся имена файлов и подкаталогов. Справа от каждого имени файла в
графе с названием "Adress", выводится его адрес, с которого за-
гружается и запускается файл, в графе  "Size"  выводится  длина
этого файла , которая может быть выражена в байтах или в блоках
(один блок содержит 1000 байт), в последней графе " "  выводят-
ся страницы, в которые будет загружен файл. Справа  от  каждого
имени подкаталога в графе "Adress" изображается "SUBDIR" (сокр.
от subdirectory - подкаталог), оставшиеся две графы не заполня-
ются. Самую верхнюю строку в оглавлении занимает ссылка на  ро-
дительский каталог (разумеется  для  корневого  каталога  диска
этой строки не существует). В графе имени для родительского ка-
талога изображается - "..", а справа от этой  надписи  в  графе
адреса - "PARENT" (сокращенно от parental - родительский).  Для
каталога диска С: в этой графе пишется номер (логического) дис-
ка, на котором находится данный каталог.

                     СТРОКА МИНИ-СТАТУСА
  В нижней части панели, содержащей оглавление каталога,  нахо-
дится строка мини-статуса. Она содержит информацию о выделенном
файле или о выбранной группе файлов.

       ПОРЯДОК ВВЫВОДА ИНФОРМАЦИИ О ФАЙЛАХ И КАТАЛОГАХ
  CSIDOS может выводить информацию о файлах  и  подкаталогах  в
нескольких вариантах:по алфавитному (английскому) порядку имен,
по алфавитному порядку расширений, по убывающему порядку разме-
ров, по возрастающему порядку адресов. Во всех случаях  сначала
выводятся сведения о подкаталогах, затем о файлах. Варианты вы-
вода информации устанавливаются через управляющее меню, вызыва-
емое - [АР2]+[9].

      12.3. Курсор
  Один из файлов или каталогов на экране выделен светлым прямо-
угольником. Этот прямоугольник  называется  курсором  (файловым
курсором). Клавишами управления курсора можно перемещать его на
другой файл или каталог.
  Панель на которой находится курсор, называется текущей. Соот-
ветственно привод (дисковод) и подкаталог,  выведенные  на  эту
панель, также являются текущими. Клавишей [ТАБ] можно перевести
курсор на соседнюю панель.

      12.4. Действия при нажатии клавиши [ввод]
  Действия CSIDOS при нажатии клавиши [ввод] зависят  от  того,
написано что-либо в командной строке внизу экрана или нет.
  Если командная строка не пуста, то при нажатии клавиши [ввод]
выполнятся действия в соответствии с набранной строкой. Если же
она не содержит текста, то действи CSIDOS зависят от  того,  на
чем стоит файловый курсор:на имени каталога или файла - если на
тмени каталога, то CSIDOS "войдет" в этот каталог и выведет его
оглавление.
   В остальных случаях действия CSIDOS  зависят  от  расширения
файла, на котором стоит курсор.
   Действия, выполняемые для файлов с расширением  при  нажатии
клавиши [ввод], задаются специальным файлом /exec, котлрый мож-
но редактировать по желанию пользователя. Если расширение файла
не упомянуто в /exec, он будет загружен и запущен. Следует  за-
метить, что файлы с расширением '.exe' запускаются  независимо,
от содержания файла /exec.

      12.5. Информационная панель
  В панели CSIDOS можно вывести сводную информацию  о  диске  и
каталоге на другой панели. Вывод информационной панели  осущес-
твляется через управляющее меню - [АР2]+[9].

               СОДЕРЖИМОЕ ИНФОРМАЦИОННОЙ ПАНЕЛИ
  Наверху информационной панели выводится строка "Info". В  па-
нели изображаются следующие сведения:
     имя текущего диска ("Drive - ... ");
     емкость текущего диска ("Total units: ...");
     количество свободных блоков ("Free units: ...");
     количество записей ("Total items: ...");
     количество файлов на текущем диске ("Used files: ...").
  Во избежании путаницы с  системами  исчисления  все  числовые
данные в CSIDOS представлены в восьмеричной форме.

      12.6. Использование функциональных клавиш ([АР2]+[цифра])
  В нижней строке экрана CSIDOS выводится напоминание о  значе-
нии функциональных клавиш.
[АР2]+[1] - Left   - выбор привода для левой панели;
[AP2]+[2] - Right  - выбор привода для правой панели;
[AP2]+[3] - View   - просмотр файлов. Можно просматривать текс-
                     товые файлы, документы сделанные с помощью
                     различных текстовых редакторов,  картинки,
                     прослушивать музыкальные файлы и т.д.;
[AP2]+[4] - Edit   - редактирование текстовых файлов,  картинок
                     и т.д.;
[AP2]+[5] - Copy   - копирование файлов и директорий. В середи-
                     не экрана появляется запрос  о  том,  куда
                     копировать файлы, по умолчанию файлы копи-
                     руются в каталог другой панели,  но  можно
                     набрать и другой путь, затем для копирова-
                     ния нужно нажать [ввод];
[AP2]+[6] - Renmov - пересылка файлов в другой каталог. Для на-
                     чала пересылки жмите [ввод]. Для  переиме-
                     нования  файлов  или  директорий   нажмите
                     [ТАБ];
[АР2]+[7] - MkDir  - создание новой директории;
[АР2]+[8] - Delete - удаление файла или директории с диска (на-
                     до заметить, что имена  логических  дисков
                     таким образом не удаляются);
[АР2]+[9] - PullDn - выводится меню управляющее режимами работы
                     CSIDOS;
[АР2]+[0] - Quit   - выход из CSIDOS. Для восстановления CSIDOS
                     нажмите клавишу [P] (лат/загл).

      13. Работа с файлами
      13.1. Выбор группы файлов
  CSIDOS позволяет выбрать группу файлов или каталогов, над ко-
торой можно производить некоторые действия: копировать, переме-
мещать в другой каталог, удалять и переименовывать.
  Выбранные файлы икаталоги выделяются. Внизу панели появляются
сведения о количестве выделенных файлов и их общем размере.

                         ВЫБОР ФАЙЛА
  Выбор отдельного файла или каталога  осуществляется  нажатием
клавиши [ВС]. Повторное нажатие этой клавиши отменчет выбор.
  Обращаем внимание на то, что имена  логических  дисков  поме-
чаться не могут.

                 ВЫБОР ГРУППЫ ФАЙЛОВ ПО МАСКЕ
  Чтобы выбрать группу файлов по маске, нажмите [АР2]+[+] и на-
пишите маску для выбора. В маске можно использовать символы-за-
местители * и ?, их смысл описан ранее.
  Чтобы отменить выбор группы файлов по маске,  Нажмите  [АР2]+
+[-] и задайте маску файлов, выбор которых вы хотите отменить.

                ДЕЙСТВИЯ С ВЫБРАННЫМИ ФАЙЛАМИ
  С помощью функциональных  клавиш  можно  выполнить  следующие
действия с выбранной группой файлов и каталогов:
     [АР2]+[5] - Copy   - копировать в другой каталог;
     [АР2]+[6] - RenMov - переместить в другой каталог или  пе-
                          реименовать;
     [АР2]+[8] - Delete - удалить;
     [БЛК РЕД] - Prot   - защитить от удаления

      13.2. Копирование файлов и каталогов
  Для копирования файлов с помощью CSIDOS надо выделить  нужный
файл или группу файлов и нажать [АР2]+[5]. Если на панели выде-
лены какие-либо файлы, то будет копироваться  выбранная  группа
файлов, в противном случае копируется файл,  на  котором  стоит
файловый курсор.
  После нажатия [AR2]+[5] в центре экрана появляется  запрос  о
том, куда надо копировать. В запросе предлагается имя  каталога
расположенного на другой (неактивной) панели. Поэтому целесооб-
разно перед копированием вывести на неактивную панель каталог в
который надо копировать файлы или подкаталоги, тогда для ответа
на запрос достаточно будет просто нажать [ввод]. В других  слу-
чаях вводится путь копирования и также нажимантся [ввод].
  Для отмены копирования нажимается клавиша [КТ].

                    КОПИРОВАНИЕ КАТАЛОГОВ
  Если при нажатии [АР2]+[5] в выбранной группе  имен  оказался
какой-либо каталог, то CSIDOS копирует его вместе с  содержащи-
мися в нем файлами и подкаталогами.

               ПЕРЕЗАПИСЬ ФАЙЛА ПРИ КОПИРОВАНИИ
  Если имя копируемого файла уже имеется в том коталоге, в  ко-
торый производится копироване, то на экран будет  выдано  соот-
ветствующее сообщение (File alredy exist "...") и три  варианта
ответов:
     Replace  - разрешить копирование,при этом уже существующий
                файл с таким же именем будет уничтожен;
     All      - разрешить копирование этого и всех  последующих
                файлов без дальнейших запросов;
     Skip     - пропустить данный файл.
  Для прекращения копирования - клавиша [КТ].

      13.3. Пересылка и переименование файлов и каталогов
  С помощью клавиш [АР2]+[6] можно переслать в  другой  каталог
файл, подкаталог или группу файлов или подкаталогов.  Пересылка
отличается от копирования только тем, что после  успешного  за-
вершения пересылки, исходные файлы и каталоги удаляются.
  Чтобы переименовать файл, каталог или группу файлов,  необхо-
димо выделить те файлы или каталоги, которые вы хотите переиме-
новать. Затем нажмите [АР2]+[6] и [ТАБ], после  чего  набирайте
новые имена и после каждого нажимайте [ввод].

      13.4. Удаление файлов и каталогов.
  Для удаления файлов или каталогов необходимо выделить  нужный
файл, каталог, группу файлов или каталогов и нажать [АР2]+[8].
  При этом будут удалены следующие объекты:
- если на панели выделены какие-либо файлы и каталоги, то  уда-
  ляется данная группа файлов (каталогов);
- в противном случае удаляется файл или каталог (со всем содер-
  жимым) на котором стоит файловый курсор.
  Перед удалением CSIDOS выведет следующий запрос:
                      Selected ... files
              Do you wish delete selekted files?
                        Delete  Cancel
  Что означает: "Отмечено ... файлов. Хотите ли вы удалить  от-
меченные файлы?" Вам предоставляются два варианта ответа:
     Delete - удалить;
     Cancel - отказаться от удаления.
  После ответа "Delete" произойдет удаление указанных объектов.
  Если вы ошибочно удалили некоторые файлы, то восстановить  их
можно при помощи программы CDS2.EXE.

      13.5. Защита от удаления
  Для защиты файлов от случайного удаления необходимо  выделить
группу файлов на которые вы хотите поставить  защиту,  а  затем
нажать [БЛОК РЕД]. Признаком установки защиты  является  символ
[" "] вместо точки между именем и расширением файла. Для снятия
защиты выполняются те же действия, что и при установке.
  Защищенные файлы можно копировать (скопированный  файл  будет
без защиты); при пересылке файла будет выполняться команда  ко-
пирования; при переименовании файл сохраняет защиту.

      14.Каталоги и диски
      14.1. Дерево каталогов в панели
  В панели CSIDOS можно выводить дерево каталогов диска  сосед-
ней панели. При этом, перемещая курсор по дереву каталога с по-
мощью клавиш управления курсором,  можно  быстро  просматривать
содержимое подкаталогов. Дерево каталогов выводится  через  уп-
равляющее меню ([АР2]+[9]).

      14.2 Быстрый переход в корневой каталог
  Быстрый переход в корневой каталог текущего диска осуществля-
ется нажатием клавиши [ИНД СУ].

      14.3. Создание директорий
  Для создания директорий необходимо нажать [АР2]+[7]. На экран
будет выведен запрос об имени новой директории. Набирается  имя
директории и нажимается [ввод]. Если  указанная  директория  не
может быть создана, появляется надпись: Can't create directory.
В ответ на это сообщение надо нажать [ввод].
  Если директория с таким именем уже существует в  текущем  ка-
талоге, она станет текущей. Создать директорию  также  возможно
в режиме вывода дерева каталога. Для этого нужно поставить кур-
сор на тот каталог, в котором вы хотите создать новую  директо-
рию и нажать [АР2]+[7].

      14.4. Переход на другой диск
  Для того, чтобы в панели CSIDOS  вывести  оглавление  другого
диска, следует нажать [АР2]+[1] для левой панели, [АР2]+[2] для
правой панели, или клавиши: │<══, │══> соответственно для левой
и для правой панели (переход с панели на панель клавиша [ТАБ]).
На экран будет выведен список допустимых дисков: A, B,  C,  SYS
(SYS - системный диск, т.е. диск с которого была загружена опе-
рационная система). Выбрав нужный  диск  курсорными  клавишами,
нажимаете [ввод], или непосредственно нажимаете клавишу с соот-
ветствующей буквой. Если CSIDOS не может прочесть каталог  ука-
занного диска, например не вставлена дискета, то на экран будет
выведено соответствующее сообщение. После  чего  можно  нажать:
[КТ] - для отмены перехода на другой диск; [ввод] - для  повто-
рения попытки; букву, обозначающую имя другого диска.
  Если вы заменили дискету, то для того что бы прочитать ее ка-
талог, нажмите клавишу [СБР].

      14.5. Обработка ошибок на дисках
  При рабрте с файлами на дисках  (особенно  на  гибких)  могут
возникать ошибки: диск не читается, не форматирован и т.д.
  В случае возникновения таковых на экран выводятся  соответст-
вующие сообщения и предлагаются два варианта  ответа:  retry  и
abort. Retry - повторить операцию ввода-вывода при которой воз-
никла ошибка; abort - отменить выполнение той функции при кото-
рой возникла ошибка (для отмены операции также можно воспользо-
ваться клавишей [КТ]).

      14.6. Сравнение каталогов
  CSIDOS позволяет быстро сравнить содержимое  каталогов,  изо-
браженных на панелях. Для этого можно воспользоваться управляю-
щим меню; нажать клавиши [СУ]+[АР2] или нажать клавишу [ПОВТ].
  После этого в каждой панели будет выделена группа файлов, от-
сутствующих на соседней.

      15. Управляющее меню
  Вызов меню - [АР2]+[9]. В верхней строке экрана появятся пун-
кты меню: "Left", "Commands", "Right". Для перемещения по  пун-
ктам используются клавиши перемещения курсора, вход в выбранный
пункт - клавиша [ввод]. Для выхода из меню  нажимается  клавиша
[КТ].

      15.1. Пункты меню "Left" и "Right"
  Данные пункты меню задают режим вывода информации  соответст-
венно в левой и правой  панелях.  Действующие  режимы  отмечены
символом [+] слева от соответствующей позиции. Активизация  ре-
жима или его отмена осуществляется нажатием клавиши [ввод].
  Окна "Left" и "Right" содержат следующие позиции:
  Brief       - в панели отображается краткая информация о фай-
                лах (выводится только имя файла);
  Full        - в панели отображается полная информация о  фай-
                лах (выводятся: адрес файла, длина, номер стра-
                ниц памяти);
  Info        - в панели отображается сводная информация о дис-
                ке,каталог которого выведен на соседнюю панель;
  Tree        - в панели отображается  дерево  каталогов  диска
                выведенного на соседнюю панель;
  Name        - файлы выводятся в алфавитном порядке имен;
  Extension   - файлы выводятся в алфавитном  порядке  расшире-
                ний;
  Size        - файлы выводятся в порядке убывания их размера;
  Address     - файлы выводятся в порядке возрастания адресов;

      15.2. Пункт меню "Commands"
  Содержит следующие позиции:
  sAve config - сохранение состояния  панелей  (после  загрузки
                система выведет панели в том же состоянии);
  Compare dir - сравнение каталогов. В каждой панели будут  вы-
                делены файлы отсутствующие в соседней;
  Reread      - повторное чтение каталога текущей панели;
  Selekt      - выделение группы файлов по маске (то же  самое,
                что и [АР2]+[+]);
  Unselekt    - отмена выделения группы файлов по маске (то  же
                самое, что и [АР2]+[-]).

      16. Меню команд пользователя USER
  CSIDOS представляет возможность создания и редактирования ме-
ню пользователя, вызываемого нажатием клавиши [КТ].
  Список команд входящих в данное меню задается пользователе  в
файле /user.

      16.1. Структура файла /user
  Этот файл, как и все остальные командные  файлы  создается  и
редактируется в текстовом редакторе csiedit2 (см.  описание  на
этот редактор).
  Каждому пункту пользовательского меню  соответствует две  или
более строки в файле /user. В самой первой строке должен стоять
признак системного файла - @SYS, далее  идет  описание  пунктов
меню. В начале первой строки каждого пункта пишется знак "$" за
которым идет сообщение выводимое на экран. В следующих  строках
идут команды соответствующие этому пункту. После последней  ко-
манды пропускается одна строка и начинается следующий пункт ме-
ню. Признаком окончания файла /user является строка с символами
"$$".
  Примечания.
  1. Файл /user, как и некоторые другие командные файлы в ката-
лог не выводится, он находится в "теле" системы, откуда  загру-
жается и туда же записывается.
  2. Система команд для командных файлов файлов описана в  раз-
деле '20'.

      17. Файл /keys
  Файл /keys содержит команды которые будут выполняться при на-
жатии [АР2] и клавиши с любой латинской буквой. В самой  первой
строке стоит признак системного файла - @SYS, далее идут  обоз-
начения клавиш и соответствующие им последовательности  команд,
которые выполняются до тех пор, пока не встретится пустая стро-
ка или объявление новой клавиши.
  Например:
  @SYS
  <K>:
  <A>: @:\TOOLS\M11R LO!.! SC
  <L>: LOAD !.!
Что означает: при нажатии [АР2]+[К] или [АР2]+[А] найти на сис-
темном диске директорию TOOLS, в ней найти, загрузить и  запус-
тить файл M11R, в файл передать символьную  строку  содержащую:
команду LO с именем файла на котором стоял курсор. При  нажатии
[АР2]+[L] загрузить файл на котором стоит курсор, но не  запус-
кать его. Заканчивается файл /keys пустой строкой.

      18. Файлы: /exec, /view, /edit
  Эти файлы одинаковы по структуре, но различны по  назначению.
Файл /exec выполняется после нажатия клавиши [ввод], /view  вы-
полняется после нажатия [АР2]+[3], а /edit после нажатия [АР2]+
+[4]. В самой первой строке такого файла должен стоять  признак
системного файла - @SYS; далее идет  расширение  файла  (обяза-
тельно строчными буквами) и  соответствующие  команды.  Порядок
выполнения такого файла такой же, как и файла /keys.

      19. Командные файлы начальной загрузки
  При запуске CSIDOS существует возможность  исполнения  специ-
альных командных файлов перед входом в  оболочку.  Такие  файлы
имеют расширение ".bat". Первый и самый важный из них - файл  с
именем "startup.bat" (файл установочной последовательности).
  Установить запуск этого файла перед загрузкой оболочки  можно
следующим образом: в оболочке пометить данный файл, или  группу
файлов вместе с ним (например подкаталог \TOOLS) и  активизиро-
вать позицию "Save config" из управляющего меню. Если выполнить
"Save config" не отметив командные файлы, то  их  запуск  будет
запрещен.
  Например в файле "startup.bat" можно записать команду запуска
какой-либо прогрммы и тогда при загрузке  системы  сразу  будет
запущена эта программа. При этом, если после загрузки начально-
го загрузчика (когда на экране в левом верхнем  углу  выведется
надпись о дате создания системы) нажать и удерживать  некоторое
время клавишу [КТ], командный файл выполняться не будет и  заг-
рузится оболочка системы.
  Существует еще целая группа командных файлов, которые  запус-
каются в том случае, если во время  появления  надписи  о  дате
создания системы, нажать и удерживать какую -  либо  алфавитную
клавишу (от A  до  Z). Клавише 'А' соответствует файл  "start -
-a.bat", клавише 'В' файл "start-b.bat" и т.д.
  Стартовые файлы должны находится в директории \TOOLS на  заг-
рузочном диске, или на логическом диске  TOOLS,  если  загрузка
происходит с "винчестера".

      19.1. Принципы написания командных файлов
  Командный файл, это текстовый файл каждая строка которого со-
держит команду для операционной системы. Такой файл имеет  рас-
ширение ".bat" и запускается как  обычный  файл:  из  командной
строки или другого  командного  файла.  Командный  файл  должен
иметь признак БК0011М, и если адрес больше 40000, должен  иметь
страницы для загрузки 7, 6.
  Перед тем как строка из такого  файла  будет  выполнена,  она
предварительно трансформируется. Если в строке встретится  сим-
вол "!", то он заменяется именем файла без расширения, на кото-
ром стоит файловый курсор. Если встретилась  последовательность
"!.!", то она  заменяется  именем  файла  с  расширением.  Если
встретилось сочетание "!!", то оно заменяется на "!".
  Файл должен заканчиваться пустой строкой.
  Строка в командном файле состоит из метки для перехода на эту
строку (если она нужна) и команды.  Метка  должна  состоять  из
трех символов - L01:, L02:, L03: и т.д. (после метки обязатель-
но ставится двоеточие).
  Пример командного файла:
  L01: CLS
       LOAD !.! 40000 5 5
       PAUSE
       IF @177662,40,2 GOTO L01
  В первой строке - очищается экран; во  второй  -  загружается
файл на котором стоял файловый курсор, в  экран;  в  третьей  -
ожидается нажатие клавиши; в четвертой - проверяется какая кла-
виша была нажата: если пробел, то происходит переход на  первую
строку и все повторяется снова, если другая клавиша, то  выпол-
нение командного файла прекращается.
  Файлы загружаемые в память из командного файла не должны  пе-
рекрывать (затирать) его.

      20. Система команд
      20.1. Общие положения
  Команда вводится пользователем из командной строки или берет-
ся из командного файла.
  После ввода команды система ее трансформирует перед  выполне-
нием следующим образом:
  - все пробелы заменяются байтом с кодом 0;
  - знаки подчеркивания заменяются пробелами;
  - буквы приводятся к заглавному регистру;
  - в конце строки ставится байт 0.
  При вводе команд работающих непосредственно с ячейками  памя-
ти, нужно учитывать, что с адреса 40000 подключена страница  7,
а садреса 100000 - страница 6.
  Все вводимые команды поддерживаются только оболочкой, которая
переводит их на более низкий уровень понятный системе.
  Если в введенной командной строке не распознается ни одна  из
нижеописанных команд, то первое слово (до пробела) будет расце-
нено как имя файла (если в имени отсутствует точка, предполага-
ется расширение '.exe'), который должен быть  запущен.  В  этом
случае данный файл ищется на текущем диске во  всех  подкатало-
гах. Если файл не найден, то выдается  соответствующее  сообще-
ние.
  После успешной загрузки, файл запускается на исполнение, а  в
регистре R4 записан адрес оставшейся части командной строки.

      20.2. Общий список команд
  ?, ??, ADD, BK10, CD, CLS, CREATE, CUR, DELETE,  DC.B,  DC.W,
EXE, IF, GOTO, LOAD, ON, MOV, MOVB, PALETTE, PAUSE, PATH, READ,
RST, RUN, SAVE, SEARCH, SET, WRITE.
       Список команд разрешенных для ввода с клавиатуры
  ADD, BK10, CREATE, DELETE, EXE, LOAD, MOV, MOVB, PATH,  READ,
RUN, SAVE, SET, WRITE.
  Остальные команды корректно исполняются только  из  командных
файлов.

      20.3 Запись числовых величин в командах
  Все числа для команд можно записывать либо в явном виде,  на-
пример - 40000 или 25; или в коссвенном,  например -  @270  или
&45. Запись @270 означает, что нужное  число  размером  "слово"
находится в ячейке 270. Запись &45 означает, что число размером
"байт" находится в ячейке 45.

      20.4. Описание команд
  Замечания:
      В командах, где требуется имя файла, можно дополнительно
      задавать и путь доступа к нему.
      Необязательные параметры заключены в квадратные скобки.
                           КОМАНДА ?
    Формат: ? строка текста
  Действие: выводится на экран в текущую позицию строка текста,
            курсор переводится в начало следующей строки.
   Примеч.: Вместо пробела в сообщении можно  применять  символ
            подчеркивания.
    Пример: ? ПРИВЕТ
                          КОМАНДА ??
    Формат: ?? строка текста
  Действие: выводится на экран в текущую позицию строка текста,
            курсор в начало следующей строки не переводится.
   Примеч.: Вместо пробела в сообщении можно  применять  символ
            подчеркивания.
    Пример: ?? Какой прекрасный день.
                          КОМАНДА ADD
    Формат: ADD число,адрес
  Действие: прибавление числа к содержимому ячейки памяти.
    Пример: ADD 124,2000 - прибавить  число 124  к  содержимому
                           ячейки с адпесом 2000.
                         КОМАНДА BK10
    Формат: BK10 последовательность клавиш
  Действие: с системного диска загружается  эмулятор  БК0010  и
            ему передается строка, в которой записана  последо-
            вательность автоматического  эммулирования  нажатия
            на клавиши (если клавиатура опрашивается по команде
            ЕМТ6).
   Примеч.: пробел в строке означает клавишу [ввод], знак  под-
            черкивания - [пробел]. Запись /цифра/ означает  код
            клавиши.
    Пример: ВК10 М PIC.SCR P14/12/  - запустить монитор БК0010,
            в нем загрузить файл PIC.SCR и включить 14-ю палит-
            ру. В конце строки стоит код клавиши [ввод].
  Примечание: Описание команд эмулятора БК0010  будет  рассмот-
              рено ниже.
                          КОМАНДА CD
    Формат: CD путь
  Действие: назначение текущими новые приводы и подкаталоги.
    Пример: CD A:\GAMES\
                          КОМАНДА CLS
    Формат: CLS
  Действие: очистка экрана и  установка  текстового  курсора  в
            верхний левый угол.
                        КОМАНДА CREATE
    Формат: CREATE имя адрес,длина,страницы
  Действие: создание файла на диске. Файл с данным  именем, ад-
            ресом, длиной в блоках и страницами заносится в ка-
            талог, но массив на диск не записывается.
    Пример: CREATE PROB.BLK 1000,10,5,4  - на диске ищется сво-
            бодное место размером 10 блоков и если оно есть,  в
            каталог заносится  имя  файла  PROB.BLK  с  адресом
            1000, длиной 10 блоков (10000 байт) и страницами  5
            и 4.
                           КОМАНДА CUR
    Формат: CUR столбец,строка
  Действие: установка текстового курсора в указанную позицию.
    Пример: CUR 5,10
                         КОМАНДА DELETE
    Формат: DELETE имя файла
  Действие: удаление файла. Если файл защищен от удаления выда-
            ется сообщение о том, что файл не найден.
    Пример: DELETE A:\TRASH.TXT  - удаление файла TRASH.TXT  из
            корневого каталога диска А:.
                          КОМАНДА DC.B
    Формат: DC.B число,число,...,число
  Действие: последовательное занесение перечисленных чисел  чи-
            сел-байтов в память, начиная с адреса, указанного в
            команде RST. Следующая аналогичная команда  продол-
            жит занесение чисел  с  адреса,  которым  закончила
            данная.
    Пример: DC.B 123,46,&2000,&521 - занесение в память  чисел:
            123, 46 и чисел, содержащихся в ячейках 2000 и521.
                          КОМАНДА DC.W
    Формат: DC.W число,число,...,число
  Действие: последовательное занесение чисел-слов в память, на-
            чиная с адреса, указанного в команде RST. Следующая
            аналогичная команда продолжит занесение чисел с ад-
            реса, которым закончила данная.
    Пример: DC.W 7625,2,@160,@40  - занесение в  память  чисел:
            7625, 2 и чисел, содержащихся в ячейках 160 и 40.
                           КОМАНДА EXE
    Формат: EXE имя [парамптры передаваемые файлу]
  Действие: запускает указанный файл и передает ему,если нужно,
            строку параметров.
   Примеры: EXE @:\TOOLS\CDS2  - запустить с  системного  диска
            из подкаталога \TOOLS файл CDS2.EXE.
            EXE WRK FILE.PRT   - запустить из текущего подката-
            лога файл WRK.EXE и передать ему  остаток  строки -
            - "FILE.PRT".
                           КОМАНДА IF
    Формат: IF число,число,условие команда
  Действие: сравнивается первое число со вторым и, если  выпол-
            няется указанное условие, исполняется команда,  за-
            писанная после команды IF в той же строке. Если ус-
            ловие не выполняется, то исполняется команда, запи-
            санная в следующей строке командного файла.
                      Таблица кодов условий
  ┌──────┬────────────────────────────────────────┬───────────┐
  │ Число│                 Условие                │Аналог из  │
  │      │                                        │ассемблера │
  ├──────┼────────────────────────────────────────┼───────────┤
  │ 2    │ числа равны между собой                │  BEQ      │
  │ 3    │ числа не равны друг другу              │  BNE      │
  ├──────┼────────────────────────────────────────┼───────────┤
  │      │     С учетом знаков чисел              │           │
  │ 4    │ первое число меньше второго            │  BLT      │
  │ 5    │ равны, или первое число больше второго │  BGE      │
  │ 6    │ равны, или первое число меньше второго │  BLE      │
  │ 7    │ первое число больше второго            │  BGT      │
  ├──────┼────────────────────────────────────────┼───────────┤
  │      │    Без учета знаков чисел              │           │
  │ 202  │ равны, или первое число меньше второго │  BLOS     │
  │ 203  │ первое число больше второго            │  BHI      │
  │ 206  │ первое число меньше второго            │BLO, BCS   │
  │ 207  │ равны, или первое число больше второго │BHIS, BCC  │
  └──────┴────────────────────────────────────────┴───────────┘
    Пример: IF 2000,@500,2 ? равно  - сравнить число 2000 с со-
            держимым ячейки 500, если они равны, на экран выво-
            дится сообщение "равно".
                          КОМАНДА GOTO
    Формат: GOTO метка
  Действие: переход на строку с указанной меткой.
    Пример: GOTO L01  - переход на строку с меткой L01.
                          КОМАНДА LOAD
    Формат: LOAD имя [адрес [страницы]]
  Действие: загрузка программы в память без запуска.
   Примеры: LOAD FILE - загрузка файла FILE в память в те стра-
            ницы и с того адреса, которые указаны в каталоге;
            LOAD FILE 40000 5 5 - загрузка файла с адреса 40000
            в 5-ю страницу (на экран).
                           КОМАНДА ON
    Формат: ON адрес метка1 метка2 ... меткаN
  Действие: переход на метку 1, если содержимое адреса равно 0,
            переход на метку 2, если содержимое адреса  равно 1
            и т.д.
    Пример: ON 2000 L01 L02 L03 - переход на метку L01, если  в
            ячейке 2000 содержится 0; на метку L02,  если-1; на
            метку L03, если-2.
                       КОМАНДЫ MOV и MOVB
    Формат: MOV(MOVB) число,адрес
  Действие: занесение числа размером слово  (команда  MOV)  или
            байт (команда MOVB) в указанную ячейку памяти.
   Примеры: MOV 1234,5000  - занесение числа 1234 размером сло-
            во в ячейку памяти с адресом 5000.
            MOVB 54,@4500  - занесение числа 54 размером байт в
            ячейку с адресом, аказанным в ячейке 4500
                         КОМАНДА PALETTE
    Формат: PALETTE номер палитры от 0 до 17
  Действие: включение указанной палитры цветов на  экране  (на-
            пример при просмотре картинок).
    Пример: PALETTE 14 - включить палитру 14 (на экране отобра-
            зятся цвета: красный, зеленый, голубой).
                          КОМАНДА PAUSE
    Формат: 1) PAUSE или 2) PAUSE задержка
  Действие: в первом варианте ожидается нажатие на клавишу.Пос-
            ле того, как она была нажата, ее  код  занесется  в
            ячейку с адресом 41530 и выполнение командного фай-
            ла продолжится. Во втором варианте  происходит  за-
            держка длительностью указанной в относительных еди-
            ницах, которую можно прервать нажатием любой клави-
            ши (в этом случае ее код не сохраняется).
   Примеры: PAUSE    - ожидание нажатия любой клавиши;
            PAUSE 20 - задержка длительностью 20 условных  еди-
            ниц.
                          КОМАНДА PATH
    Формат: PATH путь1;путь2;путь3;... и т.д.
  Действие: объявление путей дальнейшего поиска файла (при вво-
            де его из командной строки оболочки),  если  он  не
            был найден ни на текущем диске ни на диске TOOLS.
Примечание: данная команда поддерживаются только версиями  3.20
            и 3.22 (которые работают на "винчестере"). Эта  ко-
            манда является внешней, т.е. это файл PATH.EXE  на-
            ходящийся на диске TOOLS,  запускающийся  на  время
            выполнения ее. Максимальное число путей - 8.
    Пример: PATH C:\WORK\ASM\;C:\GRAPHIX\EXE\
                          КОМАНДА READ
    Формат: READ адрес,длина в байтах,блок,страницы
  Действие: чтение массива байт с диска в память.
    Пример: READ 1000,10000,100,5,4 - чтение содержимого  диска
            в адрес 1000, длиной 10000, начиная с  блока 100  в
            страницы 5, 4.
                           КОМАНДА RST
    Формат: RST адрес
  Действие: установка начального адреса для команд DC.B и DC.W.
                           КОМАНДА RUN
    Формат: RUN адрес,[страницы [параметры для программы]]
  Действие: передача управления программе, находящейся по  ука-
            занному адресу в памяти.
   Примеры: RUN 140000    - перезапуск компьютера;
            RUN 63000,7,6 - перезапуск оболчки X-Shell.
                          КОМАНДА SAVE
    Формат: SAVE имя адрес,длина,страницы
  Действие: запись указанной части  памяти  в  виде  отдельного
            файла.
Примечание: если страницы разделены знаком минус, файл предназ-
            начен для БК0010, если запятой, то для БК0011М.
    Пример: SAVE SCREEN.PIC 40000,40000,5,4 -сохранение на дис-
            ке экрана в качестве файла SCREEN.PIC.
                         КОМАНДА SEARCH
    Формат: SEARCH имя файла
  Действие: поиск указанного файла на диске.  Если  он  найден,
            данные о нем копируются из каталога в ячейки, начи-
            ная с адреса 44030.
    Пример: SEARCH @:\TOOLS\CSIVIEW.EXE
                           КОМАНДА SET
    Формат: SET имя параметр1 параметр2 ...
  Действие: изменение параметров файла в каталоге: адреса  заг-
            рузки, длины, страниц  и  принадлежности  к  классу
            программ (БК0010 или БК0011М).  !!! Если  вы  плохо
            разбираетесь в структуре  диска,  то  не  изменяйте
            длину программы. Это может привести к нежелательным
            последствиям.
                      Возможные параметры:
    А1000  - установка адреса загрузки программы равным 1000;
    L3240  - установка новой длины программы (в байтах);
    L=112  - установка длины программы в блоках;
                           КОМАНДА SET
    Р4,3   - установка новых страниц  (4, 3)  и  принадлежности
             программы к БК0011М;
    Р5-2   - установка новых страниц и принадлежности к БК0010.

    Пример: SET PROG.OVL A51000 P4,2
                          КОМАНДА WRITE
    Формат: WRITE адрес,длина в байтах,блок,страницы
  Действие: запись массива из памяти с указанного адреса  и  из
            указанных страниц на диск,начиная с указанного бло-
            ка. !!! Этой командой нужно пользоваться  осторожно
            и только после того, как изучите порядок расположе-
            ния информации на диске.

      21. Системные программы CSIDOS-3.2
      21.1. Бейсик БК0011М/БК0010
  Бейсик целиком загружается в ОЗУ и поэтому может работать  на
машинах, которуе не имеют ПЗУ с прошивкой этого языка  (БК0011М
с "винчестером", переделання БК0011 в БК11М).

  Внесенные изменения и дополнения:
  - команда "FIND" на команду "DIR", которая выводит  на  экран
    список файлов из текущей директории;
  - для ключа [AR2]+[3] запрограммирована строка "<СБР>DIR<ВК>"
  - команда "_" выполняет функцию выхода в оболочку X-Shell;

  Запуск Бейсика можно производить несколькими способами:
  - установить курсор на файле "csibasic.exe" и нажать [ввод];
  - запустить из командной строки с рабочим файлом:
  @:\tools\csibasic primer (файл должен иметь расширение .COD).
  - в файл-расширение /EXEC добавить строку:
  cod: @:\tools\csibasic !
  теперь, если в оболочке на файле с расширением  .cod,  нажать
  [ввод], то загрузится Бейсик,а в него загрузится данный файл.
  - в файл-расширение /KEYS добавить строку:
  <В>: @:\tools\csibasic  (Бейсик загрузится при нажатии [АР2]+
  +[В];
  - в файл-расширене /USER добавить строки:
  $ БЕЙСИК
  @:\tools\csibasic (Бейсик будет запускаться из меню пользова-
  теля, вызываемого клавишей [KT]).

      21.2. Монитор БК0010(01)
  С целью поддержки программного  обеспечения  написанного  для
БК0010 в CSIDOS включен монитор этой машины. В  каталоге  могут
храниться файлы, работающие только в мониторе БК0010.  У  таких
файлов страницы пишутся через "-" (минус), причем первая  стра-
ница не имеет значения (с адреса 40000 всегда подключается  5-я
страница), а вторая указывает в какую страницу грузить  монитор
БК0010.

      21.2.1. Команды монитора
                          КОМАНДЫ M И D
    Формат: Мадрес или Dадрес
  Действие: после ввода имени нужный файл буде загружен  в  па-
            мять компьютера. Если адрес отсутсвует или равен 0,
            адрес загрузки берется из  каталога.  Если  введена
            команда М, программа запустится, если у  нее  стоит
            автозапуск. Если введена команда D,  программа  за-
            пустится в любом случае.
    Пример: когда на экране появится знак "?", введите букву  М
            и нажмите [ввод]. Появится сообщение "Имя?".  Набе-
            рите имя программы, нажмите [ввод] - программа  за-
            грузится в память. Аналогично для команды D.
                            КОМАНДА S
    Формат: Sадрес
  Действие: передача управления программе находящейся  по  ука-
            занному адресу. Если адрес не указан или  равен  0,
            запускается последняя загруженная программа.
    Пример: когда на экране появится знак "?", введите S и если
            нужно адрес, затем нажмите [ввод].
                            КОМАНДА P
    Формат: Pномер
  Действие: включить палитру цветов экрана с указанным номером,
            который может лежать в диапазоне от 0 до 17.
    Пример: когда на экране появится знак "?", введите букву  Р
            и номер палитры, затем нажмите [ввод].
                        КОМАНДЫ А....К,О
  Действие: выход из монитора БК0010 в оболочку X-Shell.
Примечания.
    При вводе имени файла можно указать привод, на котором  ис-
   кать файл.
   Примеры:
  bolder.exe   - файл "bolder.exe" искать в текущей директории.
  .(точка)     - вывести на экран каталог текущей директории;
  А:bolder.exe - искать файл на диске А и установить этот  диск
                 и директорию в которой находится данный файл -
                 - текущими;
  @:bolder.exe - искать файл на системном  диске  и  установить
                 этот диск и  директорию  в  которой  находится
                 данный файл - текущими;
  А:           - установить диск А текущим,но ничего не читать;
  В:.          - вывести каталог диска В и установить его теку-
                 щим.
   Если после имени привода стоят два двоеточия (например @::),
  после операции текущими остаются прежние привод и директория.
   Привод с именем "?" - магнитофон. Если  вместо  имени  диска
  стоит символ "*", то поиск файла происходит по всем  директо-
  риям текущего привода.

      21.2.2. Команды для ЕМТ36
  0 и 1....никаких действий не происходит
  2........запись файла
  3........чтение файла
  4........вывод на экран каталога
Если в коде команды установлен бит 3 (маска #10), то это  озна-
чает, что двигатель у дисковода не останавливать после заверше-
ния операции. Биты 4...7 не имеют значения.

  Системные ячейки:
  120004 - номер версии (123032);
  120006 - адрес блока параметров диска;
  120010 - номер подкаталога на текущем диске;
  120012 - номер текущего устройства;
  120013 - временный подкаталог;
  120014 - адрес буфера чтения каталога 1000 байт.

При запуске монитора можно передать команды как ему, так и  за-
пускаемой в нем программе, если  она  производит  опрос  клавиш
посредством команды ЕМТ6. Команды  передаются  через  командную
строку из оболочки и представляют собой последовательность кла-
виш, нажимаемых при опросе клавиатуры, причем знак  подчеркива-
ния в строке - это клавиша пробела  при  опросе  клавиатуры,  а
пробел в строке - код клавишии [ввод]. Коды  которые  не  имеют
печатного символа, передаются следующим способом:
  /код, код, ..., код/
      21.3. CDS2.EXE - программа работы с дисками
После запуска системы, программа пытается прочесть каталог  те-
кущего диска и идентифицировать его на принадлежность к системе
CSIDOS. Если каталог не читается, или диск не в формате CSIDOS,
выдается сообщение об ошибке.

                      Работа с программой
  Пункты главного меню (самая верхняя строка экрана):
  +/-      - увеличение/уменьшение номера привода на единицу  и
             чтение его каталога;
  DRIVE-A: - изменение текущего привода и чтение его каталога;
  FORMAT   - при выборе этого пункта открывается следующее
             меню:
             FORMAT...........форматирование
             VERIFY...........проверка на читаемость
             INIT KATALOG.....инициалицация
             WRITE CSIDOS-3...установка системы на диск
  Напротив каждого пункта может либо стоять  "+" (плюс) - пункт
включен в операцию, либо не стоять - пункт не включен в  опера-
цию. Установка метки и ее снятие осуществляется нажатием клави-
ши [ввод]. Выполнение всей операции операции осуществляется на-
жатием клавиши [ввод] на пункте EXECUTE.
  TRACKS   - установка начальной дорожки/блока и  конечной  до-
             рожки/блока для операций: форматирование, проверка
             на читаемость, реставрация диска;
  RESTORE  - реставрация диска. Она состоит из следующих опера-
             ций: попытку считать информацию с дорожки,  форма-
             тирования и записи на нее того, что удалось прочи-
             тать. Если во время чтения  не  удалось  прочитать
             какой-либо сектор, выдается сообщение об ошибке  и
             предлагается выбрать один из трех ответов:
             REIRY....попытаться еще;
             IGNORE...пропустить блок;
             ABORT....прекратить реставрацию диска.
             Пункт "BEGIN RESTORE" - собственно сама  реставра-
             ция. "EDIT STRATEGY" - редактирование стратегии.
              Редактирование стратегии заключается в следующем:
              Когда дисководу перепозиционироваться путем ухода
             на 0-ю дорожку, а затем на нужную ?
             1) перед чтением дорожки;
             2) перед форматированием;
             3) перед записью на нее.
              Какие действия выполнять при ошибке ?
             1) предоставить выбор пользователю;
             2) повторять до "потери пульса";
             3) игнорировать все подряд, если возникают ошибки.
              Какие действия выполнять после прочтения дорожки?
             1) переписать всегда,даже если не было ошибки чте-
             ния;
             2) переписать, если была обнаружена хотя  бы  одна
             ошибка ;
             3) не переписывать, даже если были ошибки.
  UNERASE  - этот пункт поможет вам восстановить случайно  уда-
             ленные файлы. Выводится список файлов которые мож-
             но восстановить.Клавишей [ВС] отметьте нужные фай-
             лы и нажмите [ввод].
  COMPRESS - компрессия диска, включает следующие позиции:
             CATALOG COMPRESSION...компрессия каталога. Объеди-
                                   няются смежные дырки на дис-
                                   ке в одну,удаляется "мусор",
                                   освобождающий место для  но-
                                   вых записей (файлы  остаются
                                   на своих местах);
             FULL COMPRESSION......сквизирование диска.  Проис-
                                   ходит  компрессия  каталога,
                                   "дырки" между файлами  унич-
                                   тожаются  путем  переписыва-
                                   ния последних один  за  дру-
                                   гим;
             CATALOG COMP (ALL DISKS).компрессия каталогов всех
                                   логических  дисков   формата
                                   CSIDOS на "винчестере".
  QUIT     - выход из программы.
  Данной программой можно трансформировать каталоги дисков  бо-
лее ранних версий CSIDOS, чтобы не только с них  читать,  но  и
полноценно на них писать. Для этого надо выбрать одну из опций-
- CATALOG COMPRESSION или FULL COMPRESSION.

      21.4 Система подготовки текстовых файлов - программа
           CSIEDIT.EXE

      21.4.1. Назначение
  Редактор предназначен для подготовки и редактирования текстов
и документов с последующим сохранением их на дисках  CSIDOS,  а
также печати текстов на любом из известных принтеров. С помощью
данного редактора создаются и редактируются различные виды  ко-
мандных файлов, в том числе осуществляется чтение и запись фай-
лов непосредственно в блоки  системного  диска  (/USER,  /KEYS,
/EXEC, /VIEW, /EDIT).
  Редактирование производится в 64 символа в строке,  в  режиме
"замена символа".
  Максимальный размер редактируемого файла -  77700  (8)  Байт;
размер буфера редактора - 16000 (8)  Байт;  собственно  CSIEDIT
расположен с адреса 1000; рабочие страницы - 0, 2, 4.

      21.4.2. Загрузка и запуск
  Загрузку CSIEDIT можно производить одним из нижеперечисленных
способов:
    1. Загрузить непосредственно из панели CSIDOS обычным  спо-
       собом - установить курсор на CSIEDIT и нажать [ввод].
    2. Загрузить из командной строки, набрав CSIEDIT  и  нажать
       [ввод].
    3. Загрузить с входным текстовым файлом - набрать в команд-
       ной строке: CSIEDIT имя файла [ввод]  (имя  файла  можно
       скопировать из панели: [АР2]+[ввод]).
    4. Установить в файл-расширении "EXECUTE" загрузку  CSIEDIT
       по установленным вами расширениям. Тогда установив  кур-
       сор на файле с соответствующим расширением и затем нажав
       [ввод], загрузится CSIEDIT и в него загрузится требуемый
       файл.
    5. Установить в файл-расширении "EDITORS" загрузку CSIEDIT.
       В этом случае загрузка редактора и редактируемого  файла
       произойдет при нажатии [АР2]+[4], при установке  курсора
       на соответствующий файл.
    6. Установить в фал-расширении "USER" загрузку CSIEDIT.
    7. Установить загрузку CSIEDIT в одном из стартовых файлов-
       например создать файл "start-e.bat" (загрузка  редактора
       произойдет при удержании клавиши "Е" во  время  загрузки
       системы).
  После загрузки CSIEDIT очищается экран, в верхней строке  ус-
танавливается версия редактора и информация для редактирования.
В нижней  строке  отображается  режим  кодировки  псевдографики
(Font: БК11), далее по строке, если редактор  был  загружен  со
входным текстовым файлом, то указывается его имя, ниже распола-
гаются названия функциональных клавиш:
    1. Help
    2. New
    3. Font
    4. Save
    5. Load
    6. Merge
    7. Search
    8. Goto
    9. Print
    0. To Dos
  При наличии входного файла редактор переходит в режим переко-
дировки-трансляции текста во внутренний формат.

      21.4.3. Формат текста
  CSIEDIT понимает  формат   любого   из   известных   редакто-
ров-VorteX!, MICRO10, MICRO11, TURBO, EDASP, REDTT и др. Исклю-
чение составляет формат EDALT3. Внутренним форматом  в  CSIEDIT
принят формат MICRO11 (VorteX!). Особенностью  данного  формата
является паковка пробелов-число повторений пробелов записывает-
ся в байт, если данное число превышает 8, то  следующим  байтом
записывается количество повторений по 8, а  в  предыдущий  байт
остаток (остаток никогда не должен быть равен 0). Строка завер-
шается кодом 12(10.).

      21.4.4. Редактирование текста, клавиши управления
  Для редактирования текста используются все алфавитно-цифровые
клавиши в ЛАТ или РУС регистрах. Для вывода  псевдографики  ис-
пользуется одновременное нажатие АР2 и алфавитной клавиши.

                      Клавиши управления
  <СТРЕЛКИ>     - позволяют переместить курсор в одном  из  на-
                  правлений;
  <ВВОД>        - переход в начало следующей строки, если перед
                  этим курсор стоял на последней строке текста,
                  то добавляется пустая строка;
  <ЗАБОЙ>       - удаление предыдущего символа;
  <СДВИЖКА>     - сдвижка в строке;
  <СБР СТР>     - сброс правой от курсора части строки;
  <РАЗДВИЖКА>   - раздвижка в строке;
  <СБР>         - переход в конец текста;
  <ШАГ>         - переход в начало текста;
  <ТАБ>         - перемещение курсора по позициям табуляции;
  <ИНД СУ>      - установка спецсимвола "начало командной  пос-
                  ледовательности для принтера";
  <БЛОК РЕД>    - поставить метку блока;
  <ВНИЗ>        ─┐
  <ВВЕРХ>       ─┴─ выделение блока;
  <ВВОД>        - запомнить выделенный блок в буфере;
  <ЗАБОЙ>       - вырезать выделенный блок из текста  и  запом-
                  нить его в буфере;
  <ВС>          - вставить содержимое буфера в текст;
  <АР2>+<ВЛЕВО> - переход в начало текущей строки;
  <АР2>+<ВПРАВО>- переход в конец текущей строки;
  <АР2>+<ВВЕРХ> - возврат на страницу назад;
  <АР2>+<ВНИЗ>  - переход на следующую страницу;
  <АР2>+<РАЗДВИЖКА>- раздвинуть текст и вставить пустую  строку
                     в текущую;
  <АР2>+<СДВИЖКА>  - удалить текущую строку в буфер и  сдвинуть
                     текст.

                    Функциональные клавиши
  Внимание! Отказ от исполнения и выход из окон с запросом кла-
            виша <КТ> или нажатие на правую кнопку "мыши".
  <АР2>+<1> (Help) - краткая подсказка о назначении клавиш  уп-
                     равления;
  <АР2>+<2> (New)  - удаление текущего файла и полная инициали-
                     зация  CSIEDIT  за  исключением  кодировки
                     псевдографики;
  <АР2>+<3> (Font) - переключение кодировки псевдографики БК11/
                     /БК10;
  <АР2>+<4> (Save) - запись текстового файла. Для записи  необ-
                     ходмо:
                   - указать путь для записи файла - если необ-
                     ходимо записать файл в  другую  директорию
                     или на другой привод, в  противном  случае
                     путь устанавливать не надо, например:
                     B:\WORK\DOCUMENT\FILENAME
                      В данном случае FILENAME будет записан на
                     приводе В: в директории \DOCUMENT.
                     FILENAME
                      А в этом случае FILENAME будет записан на
                     текущий привод в текущую директорию.
                       Во всех случаях, если вами не будет ука-
                     зано расширение файла,  CSIEDIT  автомати-
                     чески подстыкует .ТХТ.
                       CSIEDIT, помимо файловой записи,  позво-
                     ляет записывать файл-расширения напрямую в
                     блоки системного диска,  для  этого  нужно
                     указать соответствующее имя:
                     \EXEC, \VIEW, \EDIT, \USER, \KEYS
                       Так-же можно установить  перед  ним  имя
                     привода (например: В:\/USER).
                       Рекомендуется держать  файл - расширения
                     так-же и в файлах, поскольку CSIEDIT пишет
                     в блоки системного диска без запроса.
                   - после набора имени  файла  укажите,  какую
                     часть текста записывать:
                    ALL TEXT   - запись всего текста;
                    TO CURSOR  - запись от начала текста до те-
                                 кущей строки включительно;
                    FROM CURSOR - запись от текущей  строки  до
                                  конца текста.

 <АР2>+<5> (Load) - чтение файла с удалением существующего тек-
                    ста. Указание имени файла в пути, как и при
                    <Save>.
 <АР2>+<6> (Merge)- подстыковка  текстового  файла  к  текущему
                    тексту. Указание имени файла  и  пути,  как
                    указано выше. Если размер подстыковываемого
                    текста превышает свободную область, то  вы-
                    дается сообщение об ошибке.
 <АР2>+<7> (Search)-поиск строки (слова) от текущей  строки  до
                    конца текста. Клавиша  <ПОВТ> - продолжение
                    поиска.
 <АР2>+<8> (Goto) - переход к строке по указанному номеру.
                     Здесь и далее числа восьмеричные.
 <АР2>+<9> (Print)- вывод текста на печатающее устройство.
                     В строке "LINES PER PAGE" установить коли-
                    чество строк на  страницу  (числа  десятич-
                    ные), если вы хотите вести печать непрерыв-
                    ным форматом, то количество строк на  стра-
                    ницу установите - 000.  Для  автоматической
                    нумерации страниц включите сегмент напротив
                    строки "PAGE NUMBER".Установите какую часть
                    текста печатать - весь текст; от начала  до
                    текущей строки включительно; от текущей ст-
                    роки до конца текста. Если принтер принима-
                    ет инверсные данные - включить сегмент  на-
                    против пункта "NEGATIVE DATA". Если вы  хо-
                    тите самостоятельно разбить текст на  стра-
                    ницы, то в конце каждой страницы дважды на-
                    жмите на <ИНД СУ>,при этом количество строк
                    на страницу должно быть установлено - 000.
                     Для выполнения специальных команд принтера
                    используйте  командную  последовательность,
                    которая начинается со спецсимвола по  нажа-
                    тию на <ИНД СУ>.  Командную  последователь-
                    ность можно завершить либо  пробелом,  либо
                    переходом на следующую строку (код перевода
                    строки на принтер при этом не передается).
                     Пример:  33,"W",1  24  33, "WO"
                             └─────────┴───┴──── спецсимвол
                     Вводимые числа должны быть  восьмеричными.
                    Вводить числовые  и  символьные  последова-
                    тельности - через запятую, символьные - вы-
                    делять ковычками. Командные  последователь-
                    ности можно найти в документации  на  прин-
                    тер. Без командных последовательностей  пе-
                    чать символов производится с  предваритель-
                    ной  перекодировкой  в  основную  кодировку
                    ГОСТа (упорядоченный русский).  Работа  мо-
                    дуля печати была  проверена  на  принтерах:
                    D100M, МС6313 (LX(FX)800), СМ6337.
 <АР2>+<0> (To DOS)-выход из редактора в оболочку CSIDOS.  Если
                    в текст были внесены изменения, то вам  бу-
                    дет предлжен выбор:
                      SAVE         - записать текст и выйти;
                      DON'T SAVE   - выйти без сохранения;
                      CONTINUE     - продолжить редактирование.

      21.5. "CSI VIEW" - программа для просмотра текстовых фай-
            лов.
      21.5.1. Назначение
  Программа предназначена для просмотра файлов любых типов (ис-
полняемых, текстовых, данных и т.д.) и печати на принтер.
  Максимальный размер просматриваемого файла ограничен емкостью
носителя информации.

      21.5.2. Загрузка и запуск
  Загрузку CSIVIEW можно производить одним из следующих  спосо-
бов:
  1. Загрузить CSIVIEW с входным текстовым  файлом - для  этого
набрать в командной строке: CSIVIEW имя файла <ввод>
  (имя файла можно скопировать из панели - <АР2>+<ввод>)
  2. Установить в файл-расширении "EXECUTE" загрузку CSIVIEW по
установленным вами расширениям и нажать <ввод> после  установки
файлового курсора на файле с соответствующим расширением.
  3. Установить в файл-расширении "VIEWERS" загрузку CSIVIEW.
  В этом случае после установки файлового курсора  на  соответ-
ствующий файл, нажимаете <АР2>+<3>.
  Перед именем файла может стоять ключ  /S20,  означающий,  что
при нажатии клавиши <влево> и <вправо> текст  на  экране  будет
двигаться на 20 позиций влево и вправо  соответственно.  Вместо
!.! можно поставить /С, что ускорит загрузку файла.
  После загрузки CSIVIEW очищается экран, читается начало  про-
сматриваемого файла, определяется  (примерно)  метод  кодировки
символов и на экран выводится начало файла в виде ASCII  симво-
лов. В верхней части экрана выводится название вьювера и файла,
а также, в процентах, место положения видимого участка  текста.
В нижней части - названия функциональных клавиш:
1.БК11М 2.БК10 3.IBMAlt 4.IBMMain 5.КОИ8 6.JUMP 7.HEX 8.OCT
9.Print 0.Quit

      21.5.3. Просмотр текста, клавиши управления
  <вверх>     - перемещение на одну строку назад;
  <вниз>      - перемещение на одну строку вперед;
  <вправо>    - перемещение на 2 символа вправо│- если ширина
  <влево>     - перемещение на 2 символа влево │текста >64 сим.
  <пробел>    - перемещение на страницу вперед;
  <ШАГ>       - переход в начало текста;
  <КТ>        - выход в DOS

  <АР2>+<1> (БК11М)  - установка кодировки БК11М;
  <АР2>+<2> (БК10)   - установка кодировки БК0010;
  <АР2>+<3> (IBMAlt) - установка кодировки используемой в
                       DOS'е IBM;
  <АР2>+<4> (IBMMain)- установка кодировки используемой в
                       Windows'е IBM;
  <АР2>+<5> (КОИ8)   - установка кодировки КОИ8;
  <АР2>+<6> (Jump)   - переход в любое место текста:нужное мес-
                       то устанавить стрелками (в процентах)  и
                       нажать <ввод>;
  <АР2>+<7> (HEX)    - переход в режим шестнадцатеричных кодов,
                       обратный переход-повторное нажатие;
  <АР2>+<8> (OCT)    - переход в режим восьмеричных кодов,  об-
                       ратный переход-повторное нажатие;
  <АР2>+<9> (Print)  - вывод текста на принтер.
                        Все установки - аналогичны установкам в
                       редакторе CSIEDIT. Также  поддерживаются
                       управлюющие символы CSIEDIT. Печать воз-
                       можна в режиме текста, НЕХ-дампа и ОСТ -
                       дампа.
  <АР2>+<0> (Quit)   - выход в оболочку.

      21.6. "GRABER4"
  Программа представляет собой подгружаемый модуль для  оболоч-
ки, позволяющий копировать файлы  из  следующих  систем: MSDOS,
ANDOS, MKDOS, NORD, NORTON, AODOS и подобных им.
  Диски ANDOS и MSDOS необходимо сначало  оптимизировать,  если
на них имеются фрагментированные файлы, либо взять чистый, ини-
циализированный диск, записать на него нужные файлы, затем  пе-
ревести их в CSIDOS.
  После запуска программы ничего на первый взгляд  не  произой-
дет, однако, если вставить диск с  одной  из  вышеперечисленных
систем и перечитать его каталог, то этот  каталог  появится  на
панели. Теперь с помощью ключа <АР2>+<5> можно копировать файлы
на диски CSIDOS.

      21.7. "SEARCHER.EXE"
  Программа для быстрого поиска фйлов в каталоге. В имени файла
можно использовать символы "?" и "*" (их смысл описан выше).
  Обязательно должно быть указано расширение файла. Если вы его
не помните или имя без расширения, то вместо расширения исполь-
зуется символ "*". Например: VX.*, ANIM7.* и т.д.
  После успешного поиска файла (файлов),  при  нажатии  клавиши
<ввод> файловый курсор в каталоге установится на том  же  имени
файла, что и курсор в окне порграммы "SEARCHER.EXE".

      21.8. Другие утилиты
BU.EXE      - программа сохранения/восстановления каталога;
ANVIEW.EXE  - просмотр спрайтов в формате "ANIMATIC";
CSIBASIC.EXE- дисковый Бейсик;
MOVE.EXE    - программа для перемещения помеченных  файлов, в
                том числе возможно "спрятать" помеченные  файлы
                или показать "спрятанные";
WAVE.EXE    - прослушивание инструментов "COVOX";
TD.EXE      - тестирование диска;
PVIEW.EXE   - просмотр памяти.

      22. Техническое описание CSIDOS
      22.1. Распределение адресного пространства CSIDOS
  Страницы 0, 1, 2, 3, 4 используются в различных программах по
своему усмотрению. Страница 5 является зкраном. Страница 7:
  40000-44777...системная область монитора БК11М и CSIDOS (сюда
                лазить не рекомендуется).
  45000-47777...ядро системы. Сюда лазить нельзя.
  50000-54277...знакогенератор. Сюда вообще-то тоже нельзя.
  53400-62777...TURBO VISION. И здесь копаться нельзя.
  63000-63777...главный блок оболочки "X-SHELL" (если  его  ис-
                портить, в оболочку больше не попадеш).
  64000-77777...оболочка. Если ее испортить,то прекращается вы-
                полнение командного файла,  дочитывается  кусок
                оболочки с системного диска и оболочка  запука-
                ется со старыми данными.

    Страница 6:
  100000-111777...оболочка. Те же положения, что и для  64000 -
                  -77777 в 7-й странице.
  120000-127777...каталог левой панели.
  130000-137777...каталог правой панели.

  Итак:
  -если вы хотите быстро вернуться в оболочку, то можно исполь-
   зовать адреса 112000-137777 в 7-й странице;
  -если вы используете адреса 64000-137777, то можете вернуться
   в оболочку после ее автодозагрузки с системного диска;
  -если вам не потребуется возвращаться в оболочку,то смело мо-
   жете использовать адреса 63000-137777;
  -если вам не нужен TURBO VISION, то можете использовать адре-
   са 50000-137777;
  -а если после загрузки программы вам вообще ничего не  потре-
   буется, то доступна вся память компьютера.

  Естественно, что все сказанное выше справедлисво  только  для
страниц 7 и 6. Другие страницы доступны полностью  и  по  любым
адресам. Не следует держать подключенной страницу 7 или 6 -луч-
ше забудте, что они вообще есть. Более того их не надо  подклю-
чать и для того, чтобы выполнить ЕМТ115 или TRAP. Система  поз-
воляет хранить,записывать и читать файлы длиной до 200000 Байт,
если длина файла задана в байтах и хранить длиной до  32 Мбайт,
если длина задана в блоках (такие файлы можно читать  и  писать
только по частям).
  В оболочку можно вернуться примерно так:
  RET                 - если стек еще в порядке;
  HALT                - если вектор 4 еще цел;
  JMP @#200           - если там еще что-то есть;
  MOV #54400,@#177716 ─┐ если хоть там, что-нибудь осталось.
  JMP @#63000         ─┘

            КРАТКИЙ СПИСОК КОМАНД ОБОЛОЧКИ "X-SHELL"
  RUN ADDR [ ,PG0,PG1]..........старт по адресу;
  READ ADDR,LEN,BLOCK,PG0,PG1...чтение массива с диска;
  WRITE ADDR,LEN,BLOCK,PG0,PG1..запись массива на диск;
  SAVE NAME ADDR,LEN,PAGES......запись файла;
  LOAD NAME [ADDR[ ,PG0,PG1]]...прочитать файл в память;
  CREATE NAME ADDR,NUMB,PG0,PG1.резервирование блоков на диске;
  SET NAME PARAM................изменение параметров файла;
  CD PATH.......................установить текущую директорию;
  DELETE NAME...................удалить файл;
  EXE NAME......................запустить файл;
  SEARCH NAME...................поиск файла в каталоге;
  MOV NUM,ADDR..................поместить слово в адрес;
  MOVB NUM,ADDR.................поместить байт в адрес;
  ADD NUM,ADDR..................прибавить число к адресу;
  BK10 OTHER_PARAM..............запустить монитор БК0010;
  PAUSE NUM.....................сделать паузу длиной NUM;
  PAUSE.........................ожидание нажатия на клавишу;
  PALETTE NUM...................включить палитру NUM;
  CLS...........................очистить экран;
  ?? STRING.....................вывести строку без ввода;
  ? STRING......................вывести строку с вводом;
  CUR POSX,POSY.................установкакурсора на позицию;
  GOTO LABEL....................переход на метку;
  ON ADDR,LABEL1,...,LABELN.....аналог ON GOTO на Бейсике;
  RST ADDR......................начальный адрес для DC.B и DC.W;
  DC.W NUM,NUM,...,NUM..........список чисел-слов для пересылки;
  DC.B NUM,NUM,...,NUM..........список чисел-байт для пересылки;
  IF NUM,NUM,COND OTHER_COM.....сравнить два числа;
  PATH PATH1;PATH2;PATH3........установка путей поиска файлов;

                        ЗАПРОСЫ К СИСТЕМЕ
  Обращение к системе происходит через магнитофонный блок пара-
метров, состоящий из 54 байт. Адрес блока помещается в R0 и по-
дается команда ЕМТ 115. В нулевом байте блока помещается коман-
да системе. При записи и переименовании файла  система  смотрит
первый байт: если он содержит 0 или 1, то в  случае  нахождения
на диске файла с таким же именем,  он  удаляется;  если  первый
байт содержит код 2, то при обнаружении файла с таким же именем
выдается ошибка (код 20). Перед работой с диском, если нет уве-
ренности, что система проинициализирована, нужно это сделать  в
программе (если это не покажется трудным):
  MOV #54400,@#177716  :инициализация с сохранением ранее уста-
  CALL @#45010         :новленного привода.
     или
  MOV #54400,@#177716  :инициализация с установкой нового  при-
  MOV #DRIVE,R0        :вода DRIVE.
  CALL @#45000         :

                      КОМАНДЫ ДЛЯ ЕМТ 115
  0....запись файла на диск (или спасти его, как у англичан);
  200..резервирование блоков. Если 52 (R0)=0, то запись о  фай-
       ле в каталог не заносится. Выход: R3-номер первого блока
       следующего за прочитанным;
  1....чтение файла;
  201..чтение метки файла из каталога в 30 (R0);
  2....поиск файла.В адресе 41524 находится адрес записи о фай-
       ле;
  3....RENAME. 6 (R)-новое имя, 34 (R0)-имя из каталога;
  4....чтение файла. Выход: R3-номер блока, следующего за  про-
       читанным;
  5....выключение двигателя (если еще не выкрутился);
  6....удаление файла (удаленный файл можно попробовать восста-
       новить программой "cds2.exe");
  7....запись файла:
    2(R0)...адрес файла в памяти
    4(R0)...длина файла в байтах
   26(R0)...окна
   30(R0)...адрес для каталога
   32(R0)...окна для каталога
  207..то же, что и команда 7, но длина в блоках;
  10...не используется (выключение двигателя);
  11...чтение файла без номера директории. Выход:R3-номер блока;
  211..то же, что и 201, но без номера директории;
  12...удаление директории (вот ее вы уже не восстановите);
  13...создание директории (если такой нет) и вход в нее;
  14...операции с установкой пути: 54(R0) -начало описания пути
       (106 байт максимум), далее байт 0 и код любой  из  пере-
       численных команд. После выполнения команды  возвращается
       старый драйвер и директория. Если код  команды  177,  то
       после поиска пути  устанавливается  новая  директория  и
       драйвер, описанные в пути.
  15...трансформация имени файла. Вход: 6(R0)-имя для трансфор-
       мации. Выход: 34(R0)-странсформированное имя.
  16...чтение по номеру блока:
       2(R0) - адрес для массива
       4(R0) - длина массива
       6(R0) - номер блока на диске
  17...запись по номеру блока (см. ком. 16);
  20...установка привода. 2(R0)-номер привода;
  21...чтение файла. Ответ в блок параметров не передается.

  В командах, если файл вылезает за пределы страницы подключен-
ной в верхнее окно, адрес файла должен быть кратен 1000.  Тогда
система подключает две страницы, следующие по порядку от  стра-
ницы в верхнем окне и продолжает  операцию.  Следует  заметить,
что система подключит новые страницы, лишь в том случае,  когда
номера страниц заданы явно.
  Например: 1,2 - страницы заданы явно:
                  1-я страница в нижнее окно,
                  2-я страница в верхнее окно;
            0,0 - заданы неявно: страницы берутся  из  каталога
                  (справедливо только при чтении);
          177,2 - одна из страниц задана неявно: 177 - это  код
                  страницы 7;
          377,3 - одна из страниц задана неявно: 377  означает,
                  что в данном окне остается подключенная ранее
                  страница.
  В байтах 26 и 27  магнитофонного  блока  параметров  хранятся
страницы для работы с диском. Если они равны  0,0  при  чтении,
берутся номера страниц из каталога,  при  другой  операции  это
страницы 0,0.
  Так как страницы подключаются через монитор БК0011М, то ошиб-
ку отловить невозможно (при неправильных номерах страниц опера-
ция прекращается, устанавливается бит С-ошибка, а вот код ошиб-
ки может быть любым), так что за кодами страниц следите сами.
  Если в данной операции страницы безразличны, то можно  просто
очищать ячейку 26(R0).

         ОШИБКИ ВЫДАВАЕМЫЕ СИСТЕМОЙ В АДРЕСЕ 52 (и 53)
  При ошибке после ЕМТ 115 устанавливается бит С.
     1-13....стандартные ошибки КНГМД;
       14....не используется в данной версии;
       15....нет места на диске или в каталоге;
       16....диск не в формате CSIDOS;
       17....файл или директория не найдены;
       20....файл уже есть.

        СИСТЕМНЫЕ ЯЧЕЙКИ ИСПОЛЬЗУЕМЫЕ ЯДРОМ "CSIDOS-3.2":
  В41521....=10 статус БК0010, =0 статус БК0011М (действительно
            при записи файла на диск);
  В41522....номер привода;
  В41523....номер директории;
  W41524....адрес записи о файле в блоке каталога;
   42602....54 байта. Копия магнитофонного блока параметров;
  В47774....номер системного привода;
  В47775....если не равен 0, то после операции двигатель диско-
            вода забывает выключаться;
   43552....массив из 66 байт. Блок параметров для дисковода.
  ВСЕ АДРЕСА ДЕЙСТВИТЕЛЬНЫ ПРИ ПОДКЛЮЧЕННОЙ 7-Й СТРАНИЦЫ
В НУЛЕВОЕ ОКНО.

                Расположение информации на диске
            0 блок      - загрузчик системы;
            2-11 блоки  - каталог устройства;
            12-...блоки - блоки, отведенные под файлы.

                 Расположение записей в каталоге:
  первый блок в каталоге:
    W0...........физический номер блока;
    W2...........общее число блоков на диске;
    W4,W6........123123 для CSIDOS-3;
    W10(123123)..принадлежность диска системе CSIDOS;
    W12..........не используется (=0);
    В14-В777.....записи о файлах;
  остальные блоки каталога:
    W0...........физический номер блока;
    W2-W12.......не используется (=0);
    В14-В777.....записи о файлах.

           Элемент каталога (запись о файле) 24 байта:
  В0.........=1-310..номер директории,
             =311....плохое место,
             =376...."дырка",
             =312....запись, не содержащая информацию (удаляет-
                     ся после сквизирования),
             =377....удаленный файл который можно восстановить,
             =0......конец каталога;
  В1<0.......защита от удаления;
  В2-В14.....имя файла с расширением (без точки);
  В15........статус файла:
             7 бит - признак длины в блоках,
             3 бит - признак файла для БК0010,
             остальные биты - копия регистра 177717 (страницы);
  W16........начальный блок файла;
  W20........адрес загрузки;
  W22........длина файла.

                   СИСТЕМНЫЕ ЯЧЕЙКИ "X-SHELL"
  В41526.....номер привода, с которого была запущена программа;
  В41527.....номер директории, в которой содержится  запущенная
             программа;
  W41530.....код нажатой клавиши в команде PAUSE без аргумента;
   44000.....54 байта. Блок параметров для ЕМТ 115;
   44054.....101 байт. Буфер командной строки;
  W63002.....номер панели (0 или 2);
! W63004.....номер версии (3020);
?*W63006.....тип панели: 0-FULL, 20-BRIEF, 177776-TREE, 177777-
                         -INFO;
!*W63012.....адрес каталога;
 *W63016.....адрес файла на который указывает файловый курсор;
 *В63036.....номер привода;
 *В63037.....номер директории;
!*W63042.....емкость устройства в блоках;
 *W63046.....количество занятых блоков;
 *W63062.....количество блоков в выделенных файлах;
 *W63066.....количество выделенных файлов;
!*W63076.....адрес курсора на экране;
!*W63102.....адрес панели на экране;
!*W63106.....адрес поля на экране для каталога;
  W63072.....=0 - разрешен вывод окна ошибки (в bat-файлах),
              - иначе - окно с ошибкой в bat-файле не выводится
                (об ошибке можно узнать протестировав адрес 52);
! W63074.....адрес начала bat-файла в памяти;
  W63112.....адрес имени файла на который указывает курсор  (не
             зависит от номера панели);
! В63114.....номер системного привода;
  W63116.....адрес программы для чтения каталога чужих систем:
             если содержимое равно 0, то программа отсутствует.
             Эта программа должна находиться в 4-й  странице  с
             адреса 135000 и иметь первое слово  123123,  затем
             коды программы.

  Условные обозначения:
  !....содержимое этой ячейки менять нельзя!
  W,B..размер ячейки: слово или байт;
  *....доступ к этой ячейке имеет примерно такой вид:
            MOV @#63002,R0   :загрузить номер панели в R0,
            MOV 63012(R0),R1 :загрузить адрес каталога  текущей
                             :панели в R1,
то есть в адресе 63012 лежит адрес каталога для панели  0  (ле-
вой), а в адресе на 2 больше адрес каталога для панели 2  (пра-
вой).

            АДРЕСА, СОДЕРЖАЩИЕ НЕКОТОРЫЕ ТОЧКИ ВЫХОДА
  JMP @63120 - вход в оболочку без переоткрывания панелей  (на-
               пример, запуск программы "graber4.exe");
  JMP @63136 - вход в оболочку с  переоткрыванием  панелей,  но
               без перечитывания каталогов  панелей  (например,
               возврат из "csiview.exe").
  Существуют и другие точки входа, но они  мало  интересны  для
широкого применения и поэтому не рассматриваются.

      23. "TURBO VISION"
  Последнее время появилось много систем использующих окна,  но
как правило, все они исключают работу в цветном режиме, причем,
если ч/б оконные системы невозможно смотреть на цветном монито-
ре, то цветная система смотрится хорошо, как на цветном, так  и
на ч/б мониторе, к тому же в "TURBO VISION" используется  шрифт
специально нарисованный для цветного монитора, что намного  чи-
табельнее оцветненного черно-белого.

  Общие сведения о системе "TURBO VISION":
  - система полностью самостоятельна, к ней можно обращаться из
    любой программы, находящейся в любой странице по любым  ад-
    ресам;
  - она не занимает рабочей памяти;
  - доступны все 128 Кбайт;
  - работает в режиме 64 символа в строке (в цветном режиме);
  - текст неплохо читабелен на цветном и ч/б мониторах;
  - многоуровневый режим вывода окон;
  - поддерживает мышь (без контроллера).
  Система находится в 7-й странице по адресам 54300-62777

               Описание команд "TURBO VISION v3.0"
  Данная система является монитором для CSIDOS-3. Все обращения
к данной системе осуществляются через TRAP. Обращаться можно  и
через ЕМТ, для этого к номеру TRAP'а нужно прибавить число 300,
например, TRAP 6 и ЕМТ 306. А TRAP можно использовать для  дру-
гих целей. Системную страницу подключать  не  обязательно.  Для
вызова необходима копия регистра 177716 в ячейке 114.
  В качестве экрана система использует  5-ю  страницу.  Примеры
приведены в мнемонике ассемблера  MICRO11D.  Стек  пользователя
должен находиться ниже адреса 40000.

                           ВНИМАНИЕ!
  С целью уменьшения программы "TURBO VISION", ошибки не прове-
ряются, поэтому во избежании зависания и других  неприятностей,
не следует давать данные, выходящие за диапазон допустимых.

   Инициализация системы:
  MOV #54400,@#177716
  CALL @#45010
  CALL @#54300
     или
  MOV #54400,@#177716
  MOV #DRIVE,R0       :номер привода для CSIDOS
  CALL @#45000
  CALL @#54300
  После этого все обращения через  TRAP  будут  перехватываться
"TURBO VISION", а ЕМТ 115 будет работать с диском.

  ВНИМАНИЕ! Только для инициализации необходимо подключить  7-ю
           страницу с адреса 40000.

                            TRAP 0
  Передает управление программе находящейся по  адресу 63000  в
системной странице (оболочка CSIDOS).

                           TRAP 2,3
  Устанавливает страницу и адрес буфера под сохранение мест, на
которые выводятся окна.
  MOV #ADDRES,R0  :адрес буфера (100000 и выше)
  TRAP 2
  .#PAGE          :страница под буфер (0, 1, 2, 3, 4, 5, 6)
         или
  TRAP 3
  .#ADDRES
  .#PAGE

                           TRAP 4,5
  Опрос клавиатуры. В R0 возвращается код символа или адрес мы-
ши, а также устанавливается слово состояния процессора.
  MOV #SUBR,R0         или      TRAP 5
  TRAP 4                        .@SUBR
  SUBR - адрес подпрограммы, которая выполняется если не нажата
клавиша. Если адрес меньше 2, то подпрограмма  не  выполняется.
Если адрес четный, то курсор не выводится,  если  нечетный,  то
выводится моргающий курсор.

  Биты ССП при выходе:
  Z - нажата клавиша "КТ" (в R0 код 3);
  N - нажата клавиша в регистре "АР2" (в R0 код клавиши);
  V - нажата правая кнопка мыши (в R0 адрес мыши);
  C - нажата левая кнопка мыши (в R0 адрес мыши).

                           TRAP 6,7
  Вывод символа в текущее окно. Управляющие коды:
  12-пс+вк, 10-курсор влево, 31-курсор вправо, 32-курсор вверх,
33-курсор вниз, 2-очистка окна начиная с текущей  строки  и  до
конца, 14-очистка всего окна, 40 и выше-печатыемые символы.
  MOV #SYMBOL,R0        или          TRAP 7
  TRAP 6                             .#SYMBOL

                          TRAP 10,11
  Ввод или редактирование строки.  Выводится  инверсная  строка
для редактирования. Выходные данные как и у TRAP 4,5.
       MOV #STROKA,R0      или       TRAP 11
       TRAP 10                       .@STROKA
       HALT                          HALT
STROKA:.B:34 .A:привет
       .+27
  Первый байт строки не выводится и показывает максимально воз-
можное количество символов. После редактирования пробелы в кон-
це строки заполняются нулями.

                           TRAP 12,13
  Вывод строки символов. Управляющие команды:
  .В:1   .А:вывод строки по середине строки окна .В:0
  .В:3   .А:вывод заголовка в открытое окно      .В:0
  .В:16  .В:20 .В:10 .В:201 ... .В:0  'разметка окна линиями;
  .В:17  .В:ХCUR  .B:YCUR   'установка новых координат  курсора
                             в окне;
  .В:20+COL  'установка цвета фона (0, 1, 2, 3);
  .В:24+COL  'установка цвета символов (0, 1, 2, 3).

         MOV #STROKA,R0        или       TRAP 13
         TRAP 12                         .@STROKA
         HALT                            HALT
STROKA:  .B:23  .B:25  .B:1  .A:пример
         .B:0  .B:12  .A:строки
         .B:0

                           TRAP 14,15
  Установка координат курсора в текущем окне.
  MOV (PC)+ ,R0         или         TRAP 15
  .B:XCUR  .B:YCUR                  .B:XCUR  .B:YCUR
  TRAP 14

                           TRAP 16,17
  Установка аттрибутов у символов.
  MOV #SYMB*4+FON,R0      или       TRAP 17
  TRAP 16                           .#SYMB*4+FON

  где SYMB= 0, 1, 2, 3  и FON= 0, 1, 2, 3

                             TRAP 20
  Закрытие последнего открытого окна и восстановление состояния
предыдущего окна (координаты курсора, цвет и т.д.)

                           TRAP 22,23
  Открытие нового окна.
         MOV #ADRSCR,R0          или        TRAP 23
         TRAP 22                            .#ADRSCR
         .@WINDOW                           .@WINDOW
         HALT                               HALT
WINDOW:  .#REGIM  .B:XLEN  .B:YLEN

  ADRSCR   - адрес вывода окна (100000 и выше). Он должен  быть
             четным. Также четным должен быть и XLEN;
  XLEN     - ширина окна в байтах;
  YLEN     - высота окна в символьных строках;
  REGIM    - ячейка режимов:
             бит 17 =1-запомнить место под окном (это окно мож-
                       но закрыть),
                    =0-не запоминать место под окном (это  окно
                       нельзя закрыть),
             бит 16 =1-окно с тенью,
                    =0-окно без тени,
             бит 15 =1-вывести текст в окне,
                    =0-нет,
             бит 14 =1-вывести бары,
                    =0-нет,
             бит 5  =1-тень черная,
                    =0-тень прозрачная,
           биты 2, 3  -цвет символов,
           биты 0, 1  -цвет фона.
  Если установлен бит 13, то после YLEN ставится .@ADRTEXT.
  Если установлен бит 12, то дописывается база данных для баров
(формат такой же, как и у TRAP 34, 35).
  После открытия окна вся информация выводится только в это ок-
но, координаты курсора будут отсчитываться от  левого  верхнего
угла этого окна.

                           TRAP 24,25
  Переназначение рабочего пространства на экране, миную  закры-
тие и открытие окон.
          MOV #ADRSCR,R0     или      TRAP 25
          TRAP 24                     .#ADRSCR
          .B:XLEN  .B:YLEN            .B:XLEN  .B:YLEN
ADRSCR-адрес на экране (100000 и выше), он должен быть нечетным;
XLEN  -ширина пространства в байтах, должен быть четным;
YLEN  -высота пространства в символьных строках.

                        TRAP 26 и TRAP 30
  Чтение адреса курсора и координат курсора соответственно, ко-
торые помещаются в R0.

                           TRAP 34,35
  Вывод баров.
            MOV #ADRBAR,R0    или    TRAP 35
            TRAP 34                  .@ADRBAR
            HALT                     HALT
  ADRBAR:   .B:B1X  .B:B1Y  .B:B2X  .B:B2Y ... .B:ATTR  .B:377
            .@SUBR1  .@SUBR2 ...
            .A:BAR1
            .B:0  .A:BAR2
            .
            .
            .B:0  .B:0
B1X, B1Y, B2X, B2Y, ...- описание позиций (координат)  баров  в
                         окне;
ATTR                   - фон и цвет бара когда он выбран. (Если
                         установлен бит 7, то при выборе  баров
                         блокируются клавиши  "стрелка  влево",
                         "стрелка вправо" (организуется  режим-
                         -PULLDOWN).
SUBR1, SUBR2, ...      - подпрограммы которые выполняются в за-
                         висимости от выбранного бара. Если при
                         завершении подпрограммы установлен бит
                         "С", то происходит отказ от дальнейше-
                         го выбора баров;
BAR1, BAR2             - надписи баров.
 Бар выбирается стрелками и мышью, активизируется клавишей ввод
или левой кнопкой мыши, отказ от баров производится клавишей КТ
или правой кнопкой мыши.

                           TRAP 36,37
  Вывод строки символов на экран по адресу.
  MOV #STRING,R0    или TRAP 37
  TRAP 36               .@STRING адрес экрана от 100000.
  .#ADRSCR              .#ADRSCR
  В строке можно установить цвет фона и символов также,  как  в
TRAP 12,13.

                           TRAP 40,41
 Аналогично TRAP 4,5 но задержки при автоповторе не происходит.

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦
