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




       [][]     []    []   [][][]       [][]       [][]
     []    []   []    []   []    []   []    []   []    []
     []    []   [][]  []   []    []   []    []   [][]
     [][][][]   []  [][]   []    []   []    []       [][]
     []    []   []    []   []    []   []    []   []    []
     []    []   []    []   [][][]       [][]       [][]



                          Версия 3.1


                 Отличия от предыдущих версий


==================== (C) 1994 А.М.Надежин ====================



                       Общая идеология
                       ~~~~~~~~~~~~~~~
    - В системе появились подкаталоги,  работа с которыми  ве-
дется с помощью оболочки Disk MASTER.
    - В системе появился файлер,  позволяющий в любых програм-
мах выбирать  в  режиме  меню  файлы для чтения или записи (на
БК0010 файлер работает при наличии ДОЗУ не менее 8Кбайт).
    - В системе появился встроенный драйвер виртуального диска
на 35 кластеров для БК0011(М),  в котором впервые на БК реали-
зована проверка целостности файлов при чтении. В связи с этим:
    - Из монитора БК0010 убран драйвер магнитофона (разумеется
только на БК0011(М)), при этом подпрограмма подсчета контроль-
ной  суммы  оставлена. Для  работы с магнитофоном на БК0011(М)
можно отключить виртуальный диск подгрузкой SVD.M.
    - В системе появился настраиваемый драйвер принтера.
    - Выделено специальное пространство в дополнительной памя-
ти (137000-137777) для размещения резидентных  программ,  про-
цессора командных файлов,  стартовой функции ANDOS,  подгрузок
оболочки Disk MASTER.
    - При уничтожении оболочки в памяти происходит  отключение
вызова  оболочки и имеется возможность продолжать работу в ко-
мандном режиме ANDOS.


                          Загрузчик
                          ~~~~~~~~~
    - Введена индикация номера ошибки
    - Введена звуковая сигнализация ошибки


                         Ядро системы
                         ~~~~~~~~~~~~

                            Ошибки

    - Устранена ошибка, приводившая на БК0011(М) к порче мони-
тора при чтении фрагментированного файла,  пересекающего адрес
100000.
    - Устранена  ошибка,  приводившая  к  невозможности чтения
файла в упор к ПЗУ (например чтение файла длиной 1000 с адреса
157000).
    - Устранена ошибка,  приводившая к некорректному выводу на
экран  маленькой  заставки ANDOS при выходе из некоторых прог-
рамм по кнопке "Reset" (теперь ячейка SCREEN очищается  ДО,  а
не ПОСЛЕ вывода на экран заставки "ANDOS V3.1").
    - Устранена ошибка, приводившая к невозможности чтения/за-
писи  файлов  после  просмотра каталога в некоторых программах
(теперь код операции в первой ячейке блока параметров магнито-
фона никогда не изменяется).
    - Устранена ошибка,  которую могли наблюдать  пользователи
ANDOS,  работающие с IBM: при создании на диске ANDOS подката-
лога или скрытого файла (разумеется на IBM) и последующего его
удаления,  новый файл, записанный в ANDOS на то же место, при-
обретал атрибуты старого удаленного файла,  и новый файл, нор-
мально  читаясь  в ANDOS,  на IBM превращался в подкаталог или
скрытый файл (теперь при создании записи о  файле  в  каталоге
поле атрибутов и все дополнительные поля очищаются).


                      Усовершенствования

    - Оптимизированы функции чтения и записи.
    - При чтении файла, длиной менее 4000, FAT не читается.
    - Все  сообщения переведены на английский язык и укорочены
так,  чтобы они не вылезали на следующую строку в  режиме  "32
символа в строке".
    - В сообщениях об отсутствии файла и в запросах об  удале-
нии и перезаписи/дубле теперь выводится имя файла.
    - Устранен вывод ошибки с кодом "7"  при  нажатии  клавиши
СТОП во время дисковой операции.  Теперь СТОП сразу  прерывает
операцию.
    - Ускорен  подсчет контрольной суммы при перезапуске ANDOS
(теперь она  считается не подпрограммой монитора,  а пословным
сложением).
    - За ненадобностью и из-за недостатка памяти упрощена  ра-
бота с магнитофоном:  теперь с ним можно общаться только когда
он является текущим устройством.
    - Упрощен  вывод каталога:  теперь шапка не выводится сов-
сем, а итог выводится в одну строку (хотя два последних пункта
вряд-ли можно назвать усовершенствованиями ;-).
    - При перепаковке имени заглавная русская буква "Е" в  на-
чале имени превращается в латинскую "E",  всвязи с чем сообще-
ние "Имя на Е" выкинуто.
    - При анализе команд теперь не учитывается расширение име-
ни файла, что позволяет давать команды ANDOS даже из тех прог-
рамм, которые насильственно подставляют расширение.



                         Нововведения

    - Количество устройств увеличено до 32, в связи с чем:
    - Устройство "M:" заменено на "@:".
    - Команды "пустое имя" и "." теперь используются для вызо-
ва файлера, в связи с чем:
    - Для просмотра каталога теперь используется команда ":".
    - Введена новая команда "?",  позволяющая установить теку-
щий режим записи: Перезапись/Дубль/Вопрос.
    - Введена  возможность частичного чтения сверхбольших фай-
лов:  при попытке чтения файла он загружается до адреса 77777,
после чего происходит выход с кодом ошибки 4, всвязи с чем со-
общение "Файл слишком велик" упразднено.
    - Изменен алгоритм записи файла: теперь при записи на дис-
ке ищется непрерывное пространство для файла,  и  лишь  в  том
случае когда такого пространства нет,  файл запишется фрагмен-
тами, как в старых версиях ANDOS. Благодаря этому в 95% случа-
ев на любом  диске  не  будет  фрагментированных  файлов,  что
во-первых  ускоряет  работу с файлами,  а,  во-вторых упростит
восстановление файлов при порче диска.
    - Разрешена  запись файлов длиной до 174000 (правда прочи-
тать такие файлы целиком средствами EMT36 уже нельзя).
    - Введена работа с датой:  теперь при записи файла в ката-
лог заносится текущая системная дата.
    - Для улучшения работы с дисководом введено повторное  об-
ращение при ошибке: при любой дисковой ошибке происходит пере-
позиционирование головки (шаг вперед,  шаг назад) и  повторное
обращение.
    - Введена возможность просмотра каталога с сортировкой  по
первой букве расширения (СУ/буква во время вывода каталога).
    - Недопустимые символы при перепаковке имени заменяются на
пробелы,  причем недопустимые символы в конце имени отбрасыва-
ются  (недопустимыми  считаются  символы  с  кодами   0-37   и
200-237).
    - Для вызова оболочки, файлера и MicroDOS-эмулятора приме-
нен алгоритм, блокирующий вызов модуля при его порче.
    - Введено восстановление ключей клавиатуры после EMT14.
    - На БК0011(М) теперь можно устанавливать любую палитру.


                Нововведения для программистов

    - INIDRV теперь читает весь нулевой  блок,  что  позволяет
отказаться от повторного чтения нулевого блока эмуляторами.
    - В отдельные подпрограммы  выделены  функции  открытия  и
закрытия файла,  что  существенно  упрощает  работу с длинными
файлами.
    - Введена программная обработка ошибок,  позволяющая прог-
рамме пользователя  перехватить  на себя все сообщения ANDOS и
их обработку.
    - Введено восстановление трех ячеек после EMT14 или пере-
запуска (в три указанные ячейки записываются указанные  значе-
ния), что  сильно упрощает жизнь программистам,  пишущим рези-
дентные программы.
    - Диспетчер EMT на БК0010 теперь работает более корректно:
вместо жесткого занесения в 30 вектор адреса диспетчера  после
исполнения  любого EMT теперь перед исполнением EMT содержимое
30 вектора сохраняется, а затем восстанавливается.
    - Введена возможность быстрого чтения файла (для программ,
самостоятельно ведущих поиск файла в каталоге).
    - В отдельные подпрограммы выделены функции обработки  ко-
манд (DONAME) и перепаковки имени (CONNAM).
    - Введена подпрограмма поиска свободного кластера, начиная
от указанного (FRCLA1).
    - Введена подпрограмма поиска по имени,  лежащем в  NAMBUF
(DIRFI2).
    - Введена функция DIRFI1,  отличающаяся от DIRFIN тем, что
при пустом имени происходит вызов файлера.
    - Оптимизированы  процедуры   перепаковки   FAT   (GETFAT,
SETFAT).
    - Оптимизированы подпрограммы восьмиричного и  десятичного
вывода.


                      Эмулятор MicroDOS
                      ~~~~~~~~~~~~~~~~~
    - Исправлена ошибка,  приводившая к тому, что при чтении с
указанного адреса при явно указанном устройстве  файл  читался
не на указанный, а на свой адрес.

    - Теперь нули в имени файла, задаваемом в блоке параметров
приравниваются к пробелу, всвязи с чем с дисков MicroDOS стали
запускаться некоторые  игрушки,  неработавшие  ранее (например
ДЕСАНТНИК).

    - Введена обработка нестандартной  разновидности  MicroDOS
формата - MKDOS (раньше из-за некорректного признака конца ка-
талога MKDOS на некоторых дисках  в  конце  каталога  терялись
файлы, появляясь при этом после сквизирования).


                     Оболочка Disk MASTER
                     ~~~~~~~~~~~~~~~~~~~~
    Для работы оболочки на БК0010 необходимо 16Кбайт ДОЗУ.


               Работа с панелями, общие функции

    - Введена возможность работы с подкаталогами как на дисках
ANDOS, так и на дисках MicroDOS.
    - Упразднен оверлей MASTER.OVL (все его функции включены в
саму оболочку).
    - Фильтр не сбрасывается после перечитывания каталога.
    - Имеется  возможность  просмотра  дат  создания файлов по
клавише ═╪═> (сброс конца строки).
    - Для удобства обращения к устройствам введены  две  новые
клавиши ( K══ и ╞══> ) для чтения каталога указанного устройс-
тва на левую и правую панель соответственно.
    - Имеется  возможность  просмотра  "прозрачного"  каталога
(все файлы всех подкаталогов вместе) по клавише БЛОК РЕД.
    - При выделении подкаталога автоматически  выделяются  все
вложенные файлы и подкаталоги.
    - В случае, если в каталоге выделен хотя бы один файл, при
попытке  запуска  любого  файла  дается  дополнительный запрос
"Execute?" (это позволяет избежать сброса пометки  файлов  при
случайном нажатии клавиши ВВОД вместо ВС).
    - Скорость вывода каталога на панель увеличена более,  чем
в 2 раза.
    - Значительно ускорен запуск файлов с  дисков  ANDOS  (ис-
пользуется новая функция быстрого чтения).
    - Унифицирована работа со всеми  подгрузками  (оверлеями).
Теперь  все  подгрузки  имеют стандартное расширение ".M". При
запуске  файла с расширением ".M" не гасятся панели и остаются
доступны внутренние запросы оболочки. Помимо стандартных подг-
рузок "HELP.M" и  "USER.M"  появились подгрузки  "VIEW.M"  для
просмотра текстов в режиме "80 символов в строке" в кодировках
других компьютеров:  КОИ8 (БК0011М),  КОИ8  (УК-НЦ),  КОИ7н1/2
(ДВК, УК-НЦ,  БК0011М), КОИ7н2 (СМ), Альтернативной (IBM), Ос-
новной (Советские аналоги IBM PC/XT,  Союз-Неон);  "SVD.M" для
переключения Виртуальный диск/Магнитофон на БК0011М;  "DATE.M"
для изменения даты файлов и системной даты, "PRID.M" для печа-
ти  на  принтере каталога диска,  "ADR.M" для изменения адреса
загрузки файла, "LP.M" - для установки типа системного принте-
ра. Все подгрузки запускаются как обычные файлы и впоследствии
могут активизироваться нажатием СУ/F.  Кроме того, как и рань-
ше,  подгрузки HELP.M и USER.M запускаются по командам АР2/1 и
АР2/2 соответственно.  При вызове подгрузок из командной стро-
ки,  если явно не указано имя устройства, поиск осуществляется
сначала на текущей панели (без перечитывания каталога),  а за-
тем на пассивной панели с перечитыванием каталога.  Это значи-
тельно упрощает работу с меню пользователя (достаточно  закре-
пить пассивную панель за диском,  на котором находится USER.M,
а затем лишь нажимать АР2/2 для очередного вызова меню пользо-
вателя).
    - Дополнительное  меню (АР2/9) оформлено теперь как группа
выпадающих меню.
    - Введена  обработка  нестандартной  разновидности  дисков
MicroDOS - MKDOS.
    - Функция  включения/выключения  оцветнения  перемещена  в
группу "Setup" дополнительного меню.
    - Дополнительное меню вызывается также по клавише "КТ".


                  Копирование и перемещение

    - Функция "Move" позволяет теперь перемещать файлы, группы
файлов, а также каталоги со всеми вложенными  подкаталогами  и
файлами на  другой диск (только на двух дисководах) или в дру-
гой каталог.  При этом предусмотрена  защита  от  зацикливания
подкаталогов (например  при  перемещении  подкаталога самого в
себя).
    - Функция  "Copy"  копирует  как файлы,  так и каталоги со
всем содержимым.
    - Имеется  возможность задавать текстовой строкой путь для
копирования или перемещения (нажав клавишу "\" во время выбора
устройства).
    - При копировании и перемещении на другой диск индицирует-
ся общее количество файлов, количество оставшихся файлов и ли-
нейный индикатор копирования.
    - Длина копируемых файлов не ограничена.
    - Скорость  копирования  увеличена  в  4.5 раза и является
максимально возможной.
    - Для  ускорения  файлы копируются группами (сначала в па-
мять читается максимально вмещающееся количество файлов, затем
они записываются), что, кроме того, несомненно оценят владель-
цы одного дисковода.
    - При копировании работает самовосстановление (при зависа-
нии компьютера во время копирования достаточно нажать "Reset",
и копирование будет продолжено).
    - Если  при  копировании  на  целевом диске обнаруживается
файл с таким же именем,  как и копируемый,  кроме традиционных
вариантов "Перезапись/Дубль"  имеется  возможность  пропустить
файл и перейти к следующему (Skip) или установить режим "Пере-
запись" для всех файлов до конца копирования (All).
    - При ошибке записи имеется возможность пометить ошибочный
кластер, как сбойный, и продолжить копирование.
    - При копировании на одном дисководе  работает  "Автосмена
диска" (после смены диска в дисководе копирование продолжается
автоматически, и клавишу нажимать не надо) с полной защитой от
ошибочной установки не того диска.

                           Удаление

     - Допустимо удаление как файлов, так  и  подкаталогов  со
всем содержимым.

                       Просмотр текста

    - Ускорен вывод на экран.
    - Ключевые команды заменены на более удобные буквенные.
    - Введена возможность просмотра широкого текста. Для пере-
мещения  "окна" экрана вправо/влево по тексту используются со-
четания "АР2/стрелка вправо" и "АР2/стрелка влево"  (при  этом
шаг перемещения задается командой "Step").
    - Строки,  вылезающие за экран,  помечаются инверсией пос-
леднего символа.
    - Введен режим постраничного  просмотра  текста  ("стрелка
влево" и "стрелка вправо").
    - Для перехода в начало/в конец текста теперь используются
сочетания "АР2/стрелка вверх" и "АР2/стрелка вниз".
    - Введен режим символьного дампа, включаемый и отключаемый
клавишей ТАБ, (этот режим очень удобно применять для просмотра
сообщений в исполняемых программах или  для  промотки  читалки
при просмотре текста в таковой).
    - Введен режим прямой адресации "Jump": после нажатия  "J"
можно перемещаться  на  любую часть текста,  управляя линейным
индикатором с помощью стрелок влево и вправо.  Выход из режима
- ВВОД.
    - Для  поиска  теперь  используется  всего  одна   команда
(Find), при  этом  для повторного поиска достаточно нажать "F"
(предыдущая модель появится на экране) и ВВОД.  Для нового по-
иска достаточно отредактировать модель после нажатия "F".
    - Модель поиска сохраняется при повторном  входе  в  режим
"View", что  упрощает поиск одного фрагмента в нескольких фай-
лах.
    - При поиске линейный индикатор показывает ход процесса.
    - Введена командная последовательность принтера,  задавае-
мая командой "InitSt",  и позволяющая во время печати переклю-
чать режимы и шрифты принтера.
    - С  помощью подгрузки "VIEW.M" можно просматривать тексты
в режиме "80 символов в строке" в различных кодировках.

                     Дополнительное меню

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


                    Новые функции оболочки

    - Введена функция создания подкаталога (при этом  выделен-
ные файлы помещаются в создаваемый подкаталог).
    - Введена функция сортировки каталога по дате.
    - Введена  функция сжатия каталога, перемещающая  в  конец
каталога все записи об удаленных файлах.
    - Введена функция сохранения каталога в конце диска.
    - Введена функция восстановления каталога после сохранения.
    - Введена функция инициализации диска (в том числе и  вир-
туального), работающая только на БК0011(М).
    - Введена функция сохранения состояния оболочки  на  диске
(сохраняются более  20  параметров:  вид панелей,  закрепление
устройств за панелями,  положение курсора, оцветнение, все ре-
жимы View'ера и др.).

                           Утилиты
                           ~~~~~~~

                           ANSETUP

    - Введена поддержка четырех дисководов.
    - Возвращен параметр  "Количество  сторон", использующийся
теперь при сохранении и восстановлении каталога.

                           ANFORMAT

    - Введена поддержка четырех дисководов.
    - Функция "MakeSys" заменена на "MakeBoot"  (создание заг-
рузчика) всвязи с увеличившимся размером файла ANDOS.SYS.

                            ANKEY

    - Введена поддержка 32 устройств.

                             ARC3

    - Введена проверка наличия драйвера магнитофона.


                                       (C) А.М.Надежин 18.7.94
