М. Королев
Д. Бутырский
А. Панфилов
Если Вы начинающий пользователь, то перед началом работы Вам предлагается в обязательном порядке ознакомиться с нижеизложенной информацией.
Внимание! Никогда не включайте и не выключайте питание дисковода или ЭВМ со вставленной в дисковод дискетой. Это чревато потерей информации, записанной на дискете.
1. Основополагающие понятия
Дисковая Операционная Система (ДОС) - программная среда, комплекс программ, организующий на магнитном или виртуальном носителе информационное пространство в файловую систему и обеспечивающий, таким образом, работу утилит и прикладных программ с информацией на носителе.
Среда пользователя (командный монитор или оболочка) - программа обеспечивающая взаимодействие пользователя с ДОС.
Драйверы внешних устройств - программы, управляющие устройствами и обеспечивающие доступ к ним ДОС. В частности, драйвер дисковода или винчестера управляет двигателями и головками привода; драйвер электронного диска управляет работой памяти, переключениями ее страниц и т.д. Таким образом, ДОС не видит разницы между, в нашем случае, дисководом или электронным диском; это для нее лишь внешние устройства с разным объемом хранимой информации. ДОС будет работать с написанным даже через сто лет драйвером какого-нибудь вновь созданного устройства.
II. Принципы работы с MK-DOS
1. Характеристики MK-DOS
У MK-DOS каталог с последовательным расположением файлов, что обеспечивает повышенную надежность, оперативность, высокую скорость доступа к информации и позволяет без проблем восстанавливать утраченную информацию, делая систему привлекательнее других, имеющих возможность фрагментации файлов по таблице FAT. При удалении файла, в каталоге образуется "дырка", включающая эту область в общий объем свободного места на диске. При записи новых файлов ДОС ищет "дырку" подходящего размера и записывает туда файл, если файл достаточно мал, то "дырка" перед записью файла дробится на две, позволяя использовать оставшееся свободное место в дальнейшем (в отличие от NORD, MICRO DOS и т.п.).
Новая версия операционной системы MK-DOS принципиально отличается от предыдущих возможностью работы с устройствами объемом до 32 Мб и логическими дисками объемом до 16 Мб создаваемых на этих устройствах (не следует путать логические диски винчестера с логическими дисками MK-DOS и RT-11), что позволяет полностью использовать дисковое пространство винчестера. При работе с дисководом такая организация файловой системы тоже удобна, т.к. с логическими дисками можно производить те же операции, что с обычными файлами (различие только в их размерах).
На логических дисках MK-DOS запускаются и работают все программы, обращающиеся к ДОС через EMT 36, а также все корректно написанные программы и утилиты.
Дополнительно введены такие понятия как "системный диск" (привод, с которого произошла загрузка) и "привод для оверлеев" (на БК0011М им может быть, например, электронный диск) по аналогии с RT-11. К этим устройствам имеется доступ не только из оболочки, но и из любой программы имеющей функции чтения/записи файлов. Эти устройства получили имена "@:" (системное устройство) и "!:" (привод для оверлеев).
2. Технические требования MK-DOS и использование адресного пространства
MK-DOS V3.15 и сервисная оболочка MicroCommander v3.00 работают как с минимальной конфигурацией БК (БК0010(-01) + контроллер дисковода с 8(16) Кб ДОЗУ + 1 дисковод), так и с максимальной (БК0011М с винчестером до 2 Гигабайт) благодаря модульому построению системы. При загрузке ДОС определяет, на какой машине ей предстоит работать, и подбирает максимально возможную и удобную для пользователя комбинацию модулей. На БК0010(-01) оснащенной контроллером с 16 Кб ДОЗУ в дополнительную память загружается резидент MK-DOS и сервисная оболочка; если есть только 8 Кб ДОЗУ, то оболочка всегда будет подгружаться с дискеты в основную память (с 1000 адреса); на БК0011(М) без винчестера дополнительно подгружаются МОНИТОР БК0010 и драйвер электронного диска, сервисная оболочка "прячется" в 7-ю страницу ОЗУ; на БК0011М с винчестером выводится марка винчестера и его параметры, а электронный диск не грузится, т.к. он не нужен. Отличительной особенностью MK-DOS является возможность "возрождаться", если какая-либо программа испортила модули ДОС (автоматически подчитываются необходимые модули с системного диска).
3. Загрузка ДОС
Для загрузки ДОС на БК0010(-01) на клавиатуре набирается команда "S160000" (буква Т для контроллеров фирмы "АЛьТЕК"); на БК0011 в ответ на приглашение "@" наберите "160000G"; БК0011М при включении сразу начинает автоматическую загрузку, если же вы оказались в мониторе БК0011М - для загрузки нажмите "B".
После вышеперечисленных действий (если таковые имели место) загорится лампочка дисковода, и через несколько секунд загрузившаяся MK-DOS запустит программу начальной инициализации.
Программа начальной инициализации делает проверку на наличие винчестера. Если винчестер есть, то выводится его конфигурация и параметры. На БК0011(М) без винчестера загружается драйвер электронного диска, на него копируются файлы, перечисленные в командном файле VDISK.COM.
4. Работа с MK-DOS
MK-DOS имеет модульную структуру и состоит из резидента ДОС, расположенного в файле "MKDOS V3.15", и оверлейной (т.е. подчитываемой) оболочки MC. ДОС находится в памяти постоянно, обеспечивая доступ к диску из любой программы пользователя или из монитора.
MK-DOS поддерживает до 26 стандартных устройств, набор которых может быть расширен загрузкой драйверов дополнительных устройств. Эти устройства следующие:
- на всех типах БК - A:, B:, C:, D: - Дисководы (подключение приводов C: и D: нуждается в доработке контроллера);
- на БК0011М с винчестером C:, D:, E:, F: и т.д. - логические диски винчестера;
- на БК0011(М) без винчестера устройством E: является электронный диск.
4.1. Файловая система MK-DOS
В MK-DOS, кроме обычных файлов, бывают так называемые BAD-файлы. Это отмеченные области с нечитающимися блоками, созданные для исключения их из общего дискового пространства. Они не отображаются в каталоге и не перемещаются программой сжатия дисков "Squeezer" (перемещающей файлы в начало диска для образования в конце его свободного места максимального размера).
Кроме того, на устройствах возможно создавать логические диски объемом до 16 Мегабайт.
4.2. Логический диск MK-DOS
В корневом каталоге MK-DOS может храниться информация максимум о 172 файлах. При работе с дисководом этого более чем достаточно (в ANDOS - не более 112 файлов), но при работе с винчестером этого явно недостаточно, т.к. объем носителя большой, а использовать его пространство становится невозможным из-за малого объема каталога.
С этой проблемой столкнулись и авторы ANDOS, но решение было найдено совсем не оригинальное: винчестер разбивается на большое количество "дискет" по 800 Кб, доступ к ним осуществляется как и раньше - указанием имени привода. Если не хватает строчных букв, то предлагается вводить номер привода числом!
В MK-DOS все гораздо проще, ибо авторы решили использовать принцип реализованный в RT-11, а именно, организация на носителях логических дисков.
Логический диск представляет собой файл большого размера, но в этом файле есть свой каталог, файлы и логические диски. Таким образом, запомнив смещение к логическому диску возможно сделать его текущим! Создать логический диск, сделать его текущим, скопировать в него файлы можно с помощью сервисной оболочки MicroCommander.
4.3. Работа MK-DOS с диском
4.3.1. Обработка имени
При операциях чтения и записи управляющие коды и все другие неотображаемые коды в имени файла заменяются на пробел. Дополнительно, при операции чтения, буквы в заявленном имени и имени в каталоге приводятся к латинскому заглавному регистру, что позволяет вводить имя на любом регистре. После всех операций в ячейки ответа блока параметров ЕМТ36 копируется имя, заявленное в команде, что обеспечивает работу программ с защитой имени.
При удалении файлов все соседние "дырки" объединяются в одну общей длины, абсолютной величиной здесь является длина файла в блоках, так как разрядности длины файла в байтах может просто не хватить.
4.3.2. Функционирование перехватчика
При операциях чтения, в случае отсутствия файла в каталоге, выдается соответствующее сообщение и происходит возврат с кодом ошибки 4. В противном случае файл будет загружен по адресу, указанному в смещении 2 от начала блока параметров ЕМТ36, при ненулевом его значении, иначе по адресу, указанному в заголовке файла в каталоге. Если загружаемый файл накладывается на монитор БК0010, на БК0011 происходит загрузка до монитора и выход по команде HALT имитируя наличие ПЗУ. После операции чтения адрес загрузки помещается в ячейку 264, адрес из каталога - по смещению 26 блока параметров и в ячейку 266, а по смещению 30 помещается длина файла.
При операциях записи, если встречен файл с таким же именем происходят следующие действия:
- при включенном режиме "Overwrite" (замена) происходит автоматическая замена файла без вопроса, иначе задается вопрос "Overwrite, Rename or Abort", предлагающий нажатием соответствующих клавиш выбрать дальнейшее действие: "Заменить, Записать с другим именем или отменить операцию";
- при выбранной опции "Заменить" ("Overwrite") и включенном режимe "Predelete" (предварительное удаление) старый файл удаляется до записи нового, в противном случае (выключенном режиме "Predelete") сначала записывается новый файл и только при успешном окончании операции удаляется предыдущий, что позволяет обеспечить максимальную защиту от потери информации, что очень актуально на БК (с нашей-то аппаратурой). Режим реализован на БК впервые.
Подкаталоги MK-DOS являются удобной сортировкой одного общего каталога по признаку, определяемому пользователем (имя подкаталога). Следовательно, файлы считываются с диска по имени, независимо от принадлежности к подкаталогу, а записываются в текущий подкаталог, удаляя в случае перезаписи файл там, где он был. Подкаталоги MK-DOS совместимы с подкаталогами DOS NORD.
4.3.3. Команды перехватчику MK-DOS
Команды, которые можно подавать в имени файла, позволяют обращаться к ДОС из любой программы, имеющей функцию чтения или записи файла. Признаком того, что подается команда, является двоеточие, стоящее вторым символом в имени файла. Исключение составляет лишь команда просмотра каталога.
A: B: C: ... - Смена текущего устройства. Признак подкаталога переключается в корень;
. или пустое имя - Показать полный каталог диска. Нажатием клавиш возможно сортировать выводимые
имена по первой букве, пробел - приостановить вывод;
B:. - Показать каталог диска B: без смены текущего устройства;
B:NAME - Обращение к другому диску, без смены текущего устройства (файлы пишутся в корень);
-:NAME - Удалить указанный файл с текущего устройства;
?: - ВКЛ/ВЫКЛ режимов "Overwrite" - автоматическая перезапись файлов и "Predelete"
- при замене удаление перед или после записи;
NAME.DSK - сделать текущим логический диск с именем NAME.DSK.
III. Принципы работы с MicroCommander v3.00
1. Введение
Основные команды MK-DOS имеют простой синтаксис и не требуют особых усилий для их запоминания (см. главу "Работа с ДОС"). Однако при увеличении количества дискет и используемых файлов работать с ДОС становится значительно сложнее.
Одним из первых инструментальных средств, с которым сталкивается пользователь после загрузки MK-DOS, является пакет программ MicroCommander v3.00, в дальнейшем MC. Обладая "дружественным" интерфейсом, он чрезвычайно легок в освоении и создает массу удобств при работе с файлами, дискетами и логическими дисками.
Пользователь может не только запускать игры, но и редактировать тексты программ, с максимальным удобством запускать трансляторы и утилиты с передачей параметров для пакетной и одиночной обработки файлов (что избавляет от рутинного "набивания" имен файлов), копировать и переименовывать файлы и многое другое. В частности, в пакете программ MC реализованы следующие дополнительные функции:
- информация о файлах на панелях может выводится в двух режимах: Full (в одну колонку) и Brief (в две колонки);
- реализована обработка файлов по расширению (как в Norton Commander на IBM PC);
- реализована передача параметров из командной строки (как в RT-11 (ОС БК v4.1)) как для одиночной так и для групповой обработки файлов;
- возможен просмотр (в режимах 64 и 80 символов в строке) и печать на любом принтере текстовых файлов неограниченной длины в кодировке БК и IBM;
- появилась возможность вызова текстового редактора, с помощью которого можно редактировать текстовые файлы размером до 4 Кб (командные файлы);
- используя МЕНЮ оболочки можно установить и сохранить на диске ЛЮБЫЕ параметры ДОС и оболочки, а также инициализировать дискету или логический диск, создать логический диск любого объема, сохранить или восстановить копию корневого каталога дискеты на последней дорожке и т.д.;
- копирование файлов стало более надежным и быстрым, для наглядности течение процесса отбражается на линейном индикаторе. Исключены ошибки, связанные со сменой диска при операциях (копировании, переименовании и др.) на одном дисководе,;
- по ключу AР2+2 (User) на текущей панели появляется список файлов только с расширением ".USR", Вы можете сами включать программы в этот список простым переименованием имени часто используемой программы. В частности, к оболочке прилагаются подгружаемые функции "Эмулятор ANDOS" (он позволяет копировать с дисков ANDOS файлы и запускать программы на дисках ANDOS), "Дерево подкаталогов и логических дисков" (для быстрого и наглядного поиска файлов), "Commander Link" (для осуществления связи между двумя БК через параллельный порт, что очень удобно при "перекачивании" информации с одной БК с винчестером на другую без использования дисководов и дискет).
После завершения работы прикладной программы, выбранной пользователем, происходит возвращение в MC.
2. Технические требования МС и распределение адресного пространства
MC - резидентная часть. При загрузке резидент помещается в 7-ю страницу ОЗУ на БК0011(М) или в ДОЗУ на адрес 140000 на БК0010(-01). В случае БК0010(-01) с 8 Кб ДОЗУ, каждый раз при запуске автоматически подгружается с системного диска на адрес 1000. Если какая-либо программа пользователя испортила резидент в памяти, то происходит автоматическая подгрузка модуля и его восстановление в памяти.
Если ДОС установлена на винчестер, то модули будут автоматически подгружаться с системного диска, на БК0011(М) их желательно скопировать на электронный диск (т.е. просто перечислить в командном файле VDISK.COM - при загрузке ДОС перепишет их сама). На БК0010(-01) с двумя дисководами не следует вынимать системный диск (где и будут находиться оверлейные модули), на БК0010(-01) с одним дисководом ситуация сложнее: либо Вам придется отказаться от использования меню, редактора, View'ера и обработки файлов по расширению, либо скопировать на каждый рабочий диск вышеперечисленные модули.
3. Экран MC
На рабочем экране MC отображаются две панели, на которые выводится информация о каталоге, подкаталогах, файлах и логических дисках. На одной из панелей расположен так называемый "курсор MC", представляющий собой выделение слова другим фоном. Он указывает на текущий рассматриваемый файл или подкаталог.
Панель, на которой находится курсор, называется АКТИВНОЙ (текущей), а другая, соответственно, НЕАКТИВНОЙ (нетекущей) или СОСЕДНЕЙ.
В нижней строке экрана перечислены основные команды MC. Рядом с каждой из них расположена цифра, обозначающая какой клавише соответствует каждое действие.
Например, слева от слова "Quit" (прекратить работу, покинуть) стоит цифра 0. Если Вы нажмете ОДНОВРЕМЕННО клавиши [АР2] и [0] (далее, одновременное нажатие на две клавиши обозначается через "+", например: [АР2]+[0]), то это приведет к завершению сеанса работы с MicroCommander (выход в МОНИТОР БК0010: "?"). Эта строка называется СТРОКОЙ ФУНКЦИОНАЛЬНЫХ КЛАВИШ.
Сразу над ней находится КОМАНДНАЯ СТРОКА, в которой можно набирать имена файлов (с ключами и параметрами) для запуска. В командной строке отображается имя ТЕКУЩЕГО УСТРОЙСТВА (дисководa) например: А:\>. В этой строке могут вводиться команды для исполнения, например: VX ←─┘ - файл VX запустится на исполнение.
Еще один вид экрана MicroCommander - "звездное небо". Если в течение 3-х минут MC не использовался, то его основной экран "гаснет", уступая место изображению звездного неба с вспыхивающими и исчезающими звездами. Это осуществлено для сохранения люминисцентного слоя монитора от выгорания под действием постоянной "картинки". Для возобновления работы просто нажмите любую клавишу.
4. Выполнение простых операций
Для перемещения курсора MC используйте обычные клавиши управления курсором - стрелки ([↑], [↓], [←], [→]). Если файлов больше, чем может поместиться на панели, то они будут прокручиваться. Для перемещения курсора на другую панель нажмите клавишу [ТАБ].
Попробуем теперь выполнить в MC несколько простых функций.
Вначале установим тип панели, при котором отображается полная информация о файлах. Для определенности сделаем активной левую панель. Используйте [ТАБ] для переключения между панелями. Теперь нажмите [СУ]+[F]. На панели будут высвечиваться строчки, в каждой из которых содержится полная информация об одном подкаталоге, файле или логическом диске.
Если бы мы нажали [СУ]+, то на панели выводились бы только имена файлов (без адреса и длины), но в две колонки (до 36 имен файлов).
Теперь попробуем сменить дисковод на текущей панели. Для этого нажмем клавишу [ШАГ]. Появится окно, в котором указаны названия дисководов (A:, B:, C:...). Клавишами [←] и [→] можно выбрать нужный и нажать [←─┘]. Если выбранный привод у вас есть (Например, A:, B: - дисководы, C:, D:... - "диски" винчестера), то произойдет чтение каталога диска указанного Вами привода и отображение его на экране. Если по каким-либо причинам каталог не может быть считан (отсутствует дискета в дисководе, дискета не в формате MK-DOS и пр.), то панель останется пустой, а в нижней ее строке появится сообщение об ошибке чтения каталога.
Клавиша [ШАГ] позволяет сменить устройство на текущей па нели, а клавиши [├←─] (сдвижка) и [├─→] (раздвижка), для ЛЕВОЙ и ПРАВОЙ соответственно.
Если у Вас БК0010(-01), а контроллер оснащен АПК "Дисковый Бейсик", то не пытайтесь выбирать устройства с именами больше "C:"!
Итак, что же мы видим на панели?
. . .
¦ DOS ¦>SUB< ¦>DIR< ¦ - ПОДКАТАЛОГ
. . .
¦GAMES ¦>DISK<¦ 400 ¦ - ЛОГИЧЕСКИЙ ДИСК
. . .
¦MFORMAT ¦ 1000¦ 14000¦ - ФАЙЛ
Попробуем сменить подкаталог. Подведем курсор к нужному и нажмем [←─┘] (ВВОД), в нашем примере подкаталог имеет имя "DOS". Содержимое панели изменится - теперь здесь будут отображаться файлы этого подкаталога. Если Вы находитесь не в корневом каталоге, то самым верхним элементом является родительский подкаталог. Он изображается двумя точками (".."), чтобы быстро попасть в родительский подкаталог, надо установть курсор на эти точки и нажать [ВВОД]. Попробуйте попутешествовать по подкаталогам Вашего диска.
В процессе работы Вы можете воспользоваться помощью, которую предоставляет MC. Для этого нажмите [АР2]+[1] "Help". Для продолжения работы - [KT].
Вы можете создать новый подкаталог. Для этого войдите в тот подкаталог, где Вы хотите его создать, и нажмите [АР2]+[7] "Mkdir" (Make directory - создать подкаталог). Появится окно в центре панели, в котором Вам следует напечатать желаемое имя (оно может иметь до 13 символов). Нажмите [ВВОД] и подкаталог будет создан. Возможно, на вашем диске будут файлы, которые Вы хотели бы поместить в создаваемый подкаталог. Чтобы сделать это, перед созданием подкаталога необходимо ВЫДЕЛИТЬ файлы, которые Вы хотите в него поместить. При помощи клавиши [ВС] выделяется ТЕКУЩИЙ файл (т.е. файл, на котором стоит курсор MC), а курсор переходит на следующий файл. Этой же клавишей выделение СНИМАЕТСЯ, если файл уже был выделен. Имена выделенных файлов ожирняются на черно-белом мониторе или выводятся другим цветом на цветном. Сочетанием клавиш [АР2]+[+] можно выделить все файлы ниже курсора, а [АР2]+[-] - снять выделение со всех файлов ниже курсора.
Теперь СКОПИРУЕМ в наш подкаталог какие-нибудь файлы с другого диска.
Для этого перейдите на другую панель, укажите нужное устройство. Если у Вас только один дисковод, то вставьте другой диск и нажмите клавишу [СБР], чтобы увидеть его каталог.
Если надо копировать только один файл, то просто встаньте на него курсором, если несколько - ВЫДЕЛИТЕ их, и нажмите [АР2]+[5] "Copy" (Copy - копировать). Появится информационное окно, в котором будет отображено устройство, на которое мы хотим скопировать, имя копируемого файла или количество выделенных файлов.
Нажмите [ВВОД] для копирования или [КТ], чтобы отказаться от копирования. Если копирование происходит на одном дисководе, то необходимо менять диски и нажимать после этого любую клавишу. Сообщение "Insert INPUT volume" - приглашение вставить диск на чтение, "Insert OUTPUT volume" - вставить диск на запись (т.е. диск НА который мы копируем файлы).
5. Управление файлами и подкаталогами
5.1. Просмотр текстового файла
Вызов команды - [АР2]+[3] "View". Эта команда показывает на экране содержимое текстового файла, на который указывает курсор. Экран просмотра перекрывает весь главный экран MC.
MC может показывать и печатать текстовые файлы большинства текстовых редакторов БК (VorteX, BRED, EDASP, TURBO) и текстовые файлы в формате IBM. При просмотре файлов IBM можно включить режим "80 символа в строке", чтобы концы длинных строк были видны на экране. Клавиши управления:
[↓],[↑] - вверх/вниз на одну строку;
[←],[→] - назад/вперед на экран;
[АР2]+[←] - в начало текста;
[АР2]+[→] - в конец текста;
[K] - включение кодировки КОИ-8 (кодировка БК, включена по умолчанию);
[A] - включение альтернативной кодировки (кодировка IBM, отключает режим только клавиша [K]);
[6] - режим 64 символа в строке (включен по умолчанию);
[8] - режим 80 символов в строке;
[L] - задание количества строк на странице при печати. По умолчанию - 60 строк. Изменяется
клавишами [↑] и [↓]. Если сделать количество строк равным нулю, то печать будет
осуществляться без разбивки на страницы;
[P] - печать текста начиная от верхней строки экрана.
После печати каждой страницы необходимо нажимать любую клавишу для продолжения печати.
[KT] - экстренный останов печати;
[KT] - возврат в MC.
5.2. Редактирование текстового файла
Вызов - [АР2]+[4] "Edit". Эта команда позволяет редактировать текстовые файлы размером до 4 Кбайт. Формат текстового редактора совместим с редактором из ассемблера "TURBO" и другими редакторами, где код конца строки - 12, пробел - 40, табуляция - 11 (числа восьмиричные). Не рекомендуется редактировать файлы в формате ".VXT". Эта команда предназначена для редактирования командных файлов MK-DOS и MC (файлы с расширением ".COM"). Клавиши управления:
[ВС]+[E] - выход из текстового редактора. При вводе этой ко-
манды появляется информационное окно, где Вам
предлагается сохранить отредактированный файл под
старым именем, ввести новое имя и сохранить файл
или отказаться от сохранения файла (клавиша [KT]);
[←],[→], - перемещение курсора;
[↑],[↓]
[ТАБ] - табуляция (курсор "перепрыгивает" на позицию кратную 10.);
[←─┘] - раздвижка строк;
[←─┤] - забой символа слева от курсора;
[K──] - сдвижка в строке;
[├─>] - раздвижка в строке;
[СУ]+ - забрать строку в буфер;
[ВС]+[K──] - забрать правую часть(от курсора) строки в буфер;
[ВС]+[├─>] - выдать из буфера строку (часть строки);
[СБР] - поставить метку (запомнить строку, где стоял курсор), курсор должен быть в начале строки;
[ВС]+[T] - уйти к метке;
[ВС]+ - удалить текст от метки до строки, на которой стоит курсор;
[ВС]+ - забрать в буфер текст от метки до курсора;
[ВС]+[W] - выдать из буфера текст начиная со строки, где стоит курсор;
[ВС]+[D] - задание модели поиска;
[BC]+[G] - поиск по модели, введенной ранее ([BC]+[D]).
5.3. Создание подкаталога
Вызов функции - [АР2]+[7] "Mkdir". Появится окно в центре панели, в котором следует ввести желаемое имя (оно может иметь до 13 символов). Для отказа от операции нажмите [KT], [ВВОД] для создания подкаталога. Если перед созданием подкаталога были выделены файлы, то они переместятся в этот подкаталог.
5.4. Переименование файла, подкаталога или логического диска
Вызов команды - [АР2]+[6] "RenMov". Перед вызовом команды необходимо убедиться, что выделенных файлов нет. Для переименования файла (подкаталога, логического диска) необходимо установить на него курсор MC и нажать [АР2]+[6]. Появится информационное окно, в котором Вам будет предложено старое имя файла для редактирования. Указав желаемое имя, необходимо нажать [ВВОД]. Если Вы вызвали функцию ошибочно, то отказаться от переименования - [KT].
5.5. Перемещение файлов и логических дисков по подкаталогам на текущем диске
Эта функция вызывается также, как и "Переименование" ([АР2]+[6] "RenMov"), но выполняет ПЕРЕМЕЩЕНИЕ ВЫДЕЛЕННЫХ ФАЙЛОВ. Файлы выделяются клавишами [ВС] (для текущего файла), [АР2]+[+] (для всех файлов ниже курсора). Для снятия выделения можно использовать [ВС] (для текущего файла) и [АР2]+[-] (для всех файлов ниже курсора). Будьте внимательны, т.к. если не один файл не выделен запускается функция "Переименование".
Для перемещения всех выделенных файлов в нужный подкаталог необходимо на соседней панели установить то же устройство что и на текущей, а также войти там в тот подкаталог, куда Вы хотите поместить выделенные файлы. Далее можно смело нажимать [АР2]+[6]. В появившемся информационном окне будет выведено количество выделенных файлов и имя подкаталога, в который Вы хотите их поместить. Если Вас все устраивает, нажмите [ВВОД], для отказа от перемещения - [KT].
5.6. Копирование файлов и логических дисков
Вызов функции - [АР2]+[5] "Copy". Команда копирует текущий файл (логический диск) или все выделенные файлы и логические диски на другое устройство, логический диск или просто на другую дискету (в том случае, если у Вас один дисковод).
Для копирования нескольких файлов их необходимо выделить, для копирования одного файла необходимо установить на него курсор MC. На соседней панели необходимо установить нужное устройство и при необходимости войти в нужный логический диск и подкаталог. При нажатии [АР2]+[5] появляется информационное окно, в котором указывается количество файлов для копирования или имя текущего файла и "путь" (т.е. устройство и подкаталог), куда они будут скопированы. Если Вы не установили на соседней панели нужное устройство, то его можно указать нажатием клавиши от [A] до [Z]. В последнем случае файлы будут копироваться только в корневой подкаталог. При нажатии на [ВВОД] начинается копирование, [KT] - отказ от операции.
При копировании могут появляться следующие сообщения:
Overwrite, All, Skip - Перезаписать под тем же именем, Переза-
писывать ВСЕ файлы при копировании, Про-
пустить текущий файл? Это сообщение по-
является если при записи файла на диске
обнаружен файл с тем же именем;
Disk full - диск полон, дальнейшее копирование невозможно;
Non DOS disk! - попытка записи на диск НЕ MK-DOS;
Insert INPUT volume - "Вставьте диск на чтение";
Insert OUTPUT volume - "Вставьте диск на запись";
Последние два сообщения появляются при
копировании на одном дисководе. В случае
копирования файлов с одного ЛОГИЧЕСКОГО
диска на другой на одном приводе (т.е.
когда смена дискеты не требуется) можно
запретить запросы на смену диска нажав
на запрос "Insert OUTPUT volume" клавишу
[БЛОКРЕД].
Error #n, Retry,Next,Abort? - ошибка чтения/записи #n, Попробо-
вать еще раз, Приступить к копи-
рованию следующего файла, Прер-
вать операцию копирования?
Расшифровка номера ошибки (n):
1 - при чтении: ошибка CRC в зоне данных при записи: защита диска от записи (заклейка);
2 - ошибка CRC в зоне заголовка сектора;
3 - привод не найден или нет позиционирования на нулевую дорожку. В случае
возникновения на винчестере означает, что нет указанного логического диска винчестера;
4 - ошибка позиционирования. На винчестере означает попытку записи в блок, который
выходит за пределы логического диска винчестера;
5 - сектор не найден. На винчестере: потеря конфигурации (из-за сбоев питания и пр.),
случается очень редко. Устраняется только выкл./вкл. питания машины);
6 - диск не вращается или отсутствует;
7 - нажата клавиша [СТОП];
8 - не найден адресный маркер;
9 - не найден маркер данных;
10 - нестандартный формат диска;
11 - попытка чтения меченого сектора без разрешения. На винчестере с контроллером
"АльтПро" означает, что испорчена таблица разделов в ДОЗУ.
5.7. Удаление файлов, подкаталогов и логических дисков
Вызов функции [АР2]+[8] "Delete". Удаляет текущую запись или все выделенные файлы и логические диски. Подкаталог можно удалить только при отсутствии в нем вложенных подкаталогов и файлов. При удалении файлов со статусом "защищен" выдается дополнительный запрос:
File <имя файла>, delete (Y/N)?
[Y] - удалить
[N] - пропустить
6. Выход в монитор БК0010(-01)
[АР2]+[0] "Quit" - выход в монитор БК0010(-01) на "?".
Запустить MC из монитора можно так:
? M
ИМЯ? @:MC ←─┘
? S ←─┘
7. Главное меню MicroCommander
Вызов Главного Меню осуществляется по нажатию клавиши [KT] или [АР2]+[9] "Menu", при этом в верхней строке экрана появляется горизонтальное меню:
Left Commands Options Right
| | | |
установка дополнительные установка установка
параметров команды параметров параметров
левой панели ДОС правой панели
7.1. Установка параметров панели
Brief - краткая информация о файлах (без адреса и длины);
Full - полная информация о файлах;
Unsort - вывод имен без сортировки;
Name - вывод имен с сортировкой по алфавиту;
Extens - вывод имен с сортировкой по расширению (в алфавитном порядке).
7.2. Дополнительные команды
Protect - установить статус "защищен" для всех выделенных файлов на текущей панели;
Unprotect - снятие статуса "защищен" для всех выделенных файлов на текущей панели;
Backup - сохранение корневого каталога диска на 81-й дорожке (только для дисководов);
Restore - восстановление корневого каталога диска с копии на 81-й дорожке (только для дисководов);
Init - инициализация диска. При инициализации логическогодиска винчестера его
объем узнается с помощью драйвера винчестера (т.е. работает корректно!).
При инициализации логического диска MK-DOS предлагается старый объем
лог. диска. Если Вы решились изменять предлагаемое число, то будьте
осторожны: размер диска в корневом каталоге не увеличивается, изменяется
только каталог логического диска (т. е. если инициализировать LD на объем
больший чем его реальный размер в корневом каталоге можно испортить при
копировании файлов в LD другие логические диски и файлы);
Create - создание логического диска MK-DOS на текущем устройстве. Вам будет
предложено выбрать размер логи ческого диска и ввести его имя.
7.3. Установка цвета, параметров ДОС, принтера и сохранение конфигурации
Save Setup - сохранение на системном диске всех текущих пара-
метров ДОС: устройств на панелях, драйвера принте-
ра, шрифта и палитры (только на БК0011М) и т.д.;
Color - изменение палитры (для БК0011М) или вкл./выкл. ре-
жима оцветнения для БК0010(-01). Эту команду можно
подавать и без выхода в Главное Меню клавишей
[ИНДСУ];
Pr. Code - установка кодировки, которую "понимает" Ваш прин-
тер: K-7 - код КОИ-7,
K-8 - код КОИ-8,
Осн. - основная кодировка ГОСТ,
Альт. - альтернативная кодировка;
Pr. Port - тип вывода данных: Прм. - код прямой, Инв. - код инверсный;
Fl. Time - задержка для дисководов при переходе с дорожки на дорожку;
Fl. Type - тип дисковода: 40/80 дорожек.
8. Обработка файлов по расширению
MC позволяет обрабатывать файлы по расширению. Это очень удобно как для программистов, так и для пользователей. Например, если установить курсор MC на файл DEMO.MAC (исходный текст на ассемблере) и нажать [ВВОД], то произойдет поиск командной последовательности для расширения "MAC" в файле MC.EXT. Если последовательность будет обнаружена, она выполнится.
8.1. Редактирование файла MC.EXT
Для редактирования файла MC.EXT надо наставить на него курсор MC и нажать [АР2]+[4] "Edit". Командная последовательность состоит из следующих элементов:
MAC:TURBO7MK_LO$_SC
│ │ └──┬─┘
│ │ │
│ │ текст "ключа"
│ └──────── имя рабочей программы
└────────────── расширение, обязательно 3 символа
Примечание:- Символ "$" ("черепашка") заменяет имя текущего файла.
- Символ "_" (подчеркивание) заменяет [ВВОД].
Если необходимо ввести какой-либо управляющий код в командной последовательности (например код клавиши [KT]), то нажмите [БЛОКРЕД], а затем клавишу с нужным кодом. Например, для загрузки файлов с расширением .VXT в VorteX v1.05 последовательность может иметь такой вид:
┌── расширение
│
VXT:VX_ 2NC111$_
│ │ │ │ └ <имя файла> ←─┘
│ │ │ └ команда VorteX'у: KT,1,1,1
│ │ └ выбираем принтер No 2 и отказ от использования ДОЗУ
│ └── "пролистываем" заставку и рекламу
└───── имя программы - "VX"
9. Использование внешних функций
MicroCommander позволяет подгружать и использовать внешние функции. Список их постоянно расширяется, поэтому опишем лишь те три, которыe обязательно поставляются в комплекте MicroCommander.
9.1. Файлер
Файлер позволяет наглядно выбирать имена файлов для загрузки их из программ, не имеющих такой функции. Например, графический редактор Techno-Art, программа печати графики GPS4, старые текстовые редакторы, из монитора БК0010(-01) и т.д.
Для загрузки и инсталляции файлера необходимо (находясь в MC) нажать клавишу [БЛР]. Для работы файлера необходимы БК0010(-01) с ДОЗУ 16Кб или БК0011(М). Файлер понимает ТОЛЬКО диски МК-DOS.
При обращении программы к ДОС с пустым именем (состоящим из пробелов) происходит вызов файлера (при запросе вывода каталога - команда 4, 204 - он выводится). В нижней части экрана появляется рамка с именами файлов, подкаталогов и логических дисков. Если при вызове файлера в имени было указано расширение (например, так делают VorteX, Techno-Art и т.п.), то будут отображены только файлы с указанным расширением и логические диски. Работать с файлером достаточно просто.
Для перемещения по содержимому каталога используются клавиши управления курсором ([←], [→], [↑], [↓]).
Выбора файла осуществляется нажатием клавиши [ВВОД].
Для входа и выхода в подкаталоги и только для входа в логические диски используется также клавиша [ВВОД]. Выход из логических дисков осуществляется по клавише [СБР].
Перечитывание каталога текущего привода осуществляется также помощи этой клавиши ([СБР]).
Смена привода производится нажатием на алфавитные клавиши (т.е. клавиши [А] - [Z]).
Во время работы файлера возможно использование фильтра. Для этого нажмите [ПОВТ] и введите текст фильтра (возможно использование клавиш [←┤](ЗАБОЙ), [←], [→]), затем нажмите [ВВОД]. Произойдет сортировка каталога и вывод логических дисков (любых) и файлов, удовлетворяющих тексту фильтра. Если текст фильтра начинается с символа "*" (звездочка), то все файлы выводятся без учета принадлежности к подкаталогу; если текст фильтра начинается с символа "." (точка), то будут выведены все файлы, имеющие какое-либо расширение. Для отмены фильтра следует выполнить следующую последовательность действий: нажмите клавишу [ПОВТ], а затем [KT].
Выход из файлера возможен при выборе файла по клавише [ВВОД] и при нажатии клавиши [KT] (в этом случае по смещению 1 от начала блока параметров ЕМТ36 помещается код ошибки 4 - прерывание по клавише СТОП). При выходе из файлера происходит ВОССТАНОВЛЕНИЕ участка экрана, который занимал файлер (т.е. возможен вызов файлера даже из графических редакторов).
Файлер использует следующее адресное пространство:
- на БК0010(-01) с ДОЗУ 16Кб: адреса 140000 по 153777;
- на БК0011(М): адреса 116076-116355 плюс в седьмой странице адреса с 40000 по 46103 и с 57000 по 64673.
9.2. Эмулятор ANDOS
Эмулятор ANDOS позволяет копировать с дисков ANDOS на диски MK-DOS файлы и запускать с дисков ANDOS программы при условии, что файлы не фрагментированы (ANDOS v3.1 практически не создает фрагментации на диске; если Вы хотите скопировать в MK-DOS текстовый файл полученный в VorteX v4.0, то необходимо убедиться, что файл был "закрыт" при выходе из VorteX).
При нажатии на [АР2]+[2] "User" на текущей панели появляется список файлов с расширением ".USR". Кроме ANDOS.USR там могут быть и другие функции. Вы можете сами занести часто используемую программу в этот список, дав ей расширение ".USR".
Для запуска функции необходимо наставить на нее курсор MC и нажать [ВВОД]. После запуска ANDOS.USR можно вставлять дискету в формате ANDOS, посмотреть ее каталог, скопировать с нее файлы, запустить какую-либо программу. Естественно, что программы, написанные под ANDOS, работать не будут. Запускать можно только универсальные программы.
9.3. Дерево подкаталогов и логических дисков
Дерево подкаталогов и логических дисков очень удобно для визуального восприятия файловой структуры на диске. Работать с ним черезвычайно просто.
Для вызова функции наставьте курсор МС на файл TREE.USR (для удобства используйте комбинацию клавиш [АР2]+[2]) и нажмите [ВВОД].
На соседней панели появится дерево того диска, откуда запускалась функция. ROOT означает корневой каталог, подкаталоги начинаются с символа "■", остальными записями являются логические диски. Например:
ROOT - корневой подкаталог
├■DOS - подкаталог
├РАБОЧАЯ - логический диск
├┬■GAME
│└┬■ИГРЫ SW
│ ├┬■ИГРЫ SW1
│ │└■ИГРЫ SW2
│ └■ИГРЫ BIL
...
│
↓ - означает, что на панели уместилась не
вся информация
Перемещение по дереву осуществляется клавишами [↑] и [↓]. Если на панели уместилась не вся информация, то происходит прокрутка. При перемещении курсора, на панели (откуда запускалась функция) будет отображаться содержимое текущего подкаталога.
Чтобы войти в логический диск следует навести на него курсор и нажать [ВВОД], что приведет к отображению структуры логического диска. Для возврата в корневой диск используется клавиша [СБР].
Смена привода осуществляется нажатием на алфавитные клавиши (т.е. [A] - [Z]). Если активны какие-либо эмуляторы (например, ANDOS, RT-11), то диски не MK-DOS также будут обрабатываться.
Для фиксирования текущего состояния следует нажать [ВВОД] или [ТАБ].
Если небходимо вернуться к исходному состоянию панелей, т.е. которое было до запуска функции, то просто нажмите [KT].
IV. Форматирование и создание нового системного диска
Перед использованием новую дискету необходимо ОТФОРМАТИРОВАТЬ, т.е. разметить. Делается это при помощи одной из программ форматирования, которых можно встретить до десятка, но рекомендуется это делать программой 'MFORMAT', входящей в состав MK-DOS, так как там применен новый нестандартный драйвер форматирования, позволяющий уменьшить вероятность возникновения ошибок, а также благодаря использованию нового, оригинального алгоритма разметки - увеличить скорость общения с диском, что повышает надежность общения с информацией и уменьшает его износ. Так же эта программа, встретив неустранимые ошибки, метит сбойные места на диске как BAD области, перекрывая .BAD файлом всю сторону дорожки со сбойным блоком, чтобы головка дисковода и близко там не появлялась.
Чтобы вы поняли, что делаете, готовя дискету к работе, прибегнем к сравнению. Допустим, вам нужно записать табличные данные на листе бумаги. Вы возьмете чистый лист и разлинуете его - вы отформатировали диск. Делаете шапку таблицы - инициализируете, т.е. создаете каталог дискеты. А лишь потом начинаете записывать данные.
Для создания копии системы необходимо отформатировать диск и записать на него загрузчик (только программой MFORMAT: в командной строке набрать MFORMAT4 A:/F/B для привода А:). Далее, скопировать файлы "MONITOR" и "MKDOS V3.15", эти два файла должны быть первыми на диске, т.к. загрузчик читает их по физическим номерам блоков. Потом копируются остальные файлы подкаталога "\DOS".
Если у Вас есть винчестер или хотя бы два дисковода, то процедура создания системного диска значительно упрощается, т.к. MFORMAT может при записи загрузчика автоматически скопировать нужные Вам системные файлы в установленном порядке на новый диск. Список файлов находится в файле SYSDSK.COM, который возможно редактировать из оболочки по ключу "Edit".
Например, мы загрузились с дисковода B: (там стоит системный диск), тогда команда (подается в командной строке оболочки)
B:\>MFORMAT A:/F/S/B/C ←─┘
отформатирует диск A: с использованием драйвера "быстрого" форматирования, запишет на диск загрузчик, скопирует с системного диска (в нашем случае - B:) все файлы, которые перечислены в файле SYSDSK.COM.
V. Комплект поставки MK-DOS
Фирменная дискета MK-DOS включает следующие файлы:
MK-DOS и MicroCommander
/DOS
* MONITOR - загружаемый на БК0011(М) монитор БК0010(-01);
* MKDOS V3.15 - резидент ДОС;
* VD.SYS - драйвер электронного диска для БК0011(М);
* VDISK.COM - список файлов, которые переписыватся на элек-
тронный диск при загрузке системы.
/MC
* MC - резидентная часть оболочки;
+ MENU.MC - ┐
+ VIEW.MC - │
+ EDIT.MC - │автоматически подгружаемые по мере необходи-
+ FILER.MC - │мости модули оболочки;
+ EXTR.MC - │
+ HELP.MC - ┘
+ MC.EXT - командный файл для обработки файлов по расши-
рению.
Подгружаемые к оболочке функции пользователя
/USER
ANDOS.USR - эмулятор для чтения дисков ANDOS;
RT-11.USR - эмулятор для чтения и записи дисков RT-11;
TREE.USR - дерево подкаталогов и логических дисков;
CALC.USR - калькулятор;
ARIFM.OVL - модуль арифметики для CALC.USR;
DAY.USR - календарь до 2000 года;
TEKDAY.DAT - текущая дата для календаря (формат совместим
с форматом даты БЛОКНОТ 2);
- FIND.USR - поиск файлов на винчестере;
Утилиты
/UTILITIES
MFORMAT - форматирование дисков, запись загрузчика;
SYSDSK.COM - список системных файлов (необходим программе
MFORMAT) для быстрого создания нового систем-
ного диска;
COPDEV - копирование дискет, логических дисков и т.д.;
SQUEEZER - сжатие дисков MK-DOS;
DD - программа для восстановления дискет;
DD.CNF - конфигурация DD;
DD.DOC - документация к DD;
DESS - редактор информации на дисках;
DESS.DOC - документация к DESS;
FILES.DSS - ┐
ASSEMB.DSS - │подгрузки к DESS;
RADIX.DSS - │
MACRO.DSS - ┘
CF50 - магнитофонный копировщик, позволяет переписы-
вать файлы с магнитофона на дискету;
DISK.CF - ┐подгружаемые функции к CF50;
TEXT.CF - ┘
CF50.DOC - документация к CF50.
Бейсик и Фокал
/BASIC,FOCAL
BASIC10.DSK - дисковый Бейсик для БК0010(-01) с контролле-
рами PIT и "АЛьТЕК". Возможна работа с файла-
ми типа .ASC и .DAT;
BASIC11M - дисковый Бейсик для БК0011М;
BASIC.OVL - автоматически грузится в BASIC11M, если нет
ПЗУ Бейсика-11М;
FOCAL10 - загружаемый Фокал для БК0010(-01). Необходим
контроллер дисковода с ДОЗУ не менее 16 Кб;
FOCAL11M - загружаемый Фокал для БК0011М;
PREZIDENT - пример программы на Фокале(загружать командой
Фокала *L G PREZIDENT <ВВОД>,потом *G<ВВОД>).
Ассемблер
/TURBO
TURBO6M - ассемблер-система, работает как на БК0011М,
так и на БК0010(-01) с 16 Кб ДОЗУ;
ARIFM.OBJ - модуль плавающей арифметики к TURBO6M;
TURBO6.DC1 - ┐Документация к TURBO6M;
TURBO6.DC2 - ┘
TURBO7MK - ассемблер-система, только для БК0011М. Имеет
мощный редактор текста;
TURBO7M.DC1 - ┐Документация к TURBO7M;
TURBO7M.DC2 - ┘
NABOR.MAC - набор стандартных подпрограмм (текст на ас-
семблере).
Шрифты для БК0011(М)
/FONT
10.BKF - шрифт БК0010(-01);
11.BKF - шрифт БК0011(М);
STANDART.BKF- более четкий ч/б шрифт;
COLOR1.BKF - цветной шрифт (красный);
COLOR2.BKF - цветной шрифт (зеленый);
ПИШМАШ.BKF - шрифт "под пишущую машинку";
PC.BKF - шрифт с IBM PC (CGA).
Примечание:- Файлы, помеченные "*" (звездочка), при загрузке ДОС автоматически подгружаются (если они необходимы).
- Файлы, помеченные "+" (плюс), являются модулями оболочки и подгружаются автоматически (по мере необходимости) с системного диска во время работы сервисной оболочки.
- Файлы, помеченные "-" (минус), обязательны только в комплекте ДОС для винчестера.
В комплект ДОС входит также распечатанная документация на ДОС, сервисную оболочку, утилиты и подгружаемые функции.
Установка MK-DOS v3.15 на винчестер стоит 15 USD.
Авторы надеются, что Вы преобрели авторский программный продукт (если это не так, но есть желание, то позвоните по телефону 375-76-96, Дмитрий), и желают приятной работы с операционной системой MK-DOS всем честным пользователям!
Утилиты MK-DOS v3.15
В комплект MK-DOS входит минимальный комплект сервисных утилит: MFORMAT (форматирование дискет, инициализация дискет и логических дисков винчестера, запись загрузчика системы), COPDEV (копирование дискет и логических дисков винчестера, позволяет создавать на винчестере библиотеку "образов" дискет в виде логических дисков MK-DOS), SQUEEZER (программа для сжатия дисков MK-DOS).
Утилита MFORMAT
MFORMAT предназначена, прежде всего, для форматирования и инициализации дискет MK-DOS. При форматировании, проверке и инициализации дискеты в каталоге сохраняется информация о плохих участках диска (BAD-блоках), если они обаружены во время проверки. При работе, MK-DOS будет "обходить" плохие участки диска, чтобы информация читалась и записывалась без сбоев.
В отличии от многих программ, MFORMAT запускается из командной строки MicroCommander. В командной строке необходимо указать имя программы ("MFORMAT"), устройство с которым предстоит работать и ключи (что с ним делать). Например, если набрать строку
C:\>MFORMAT A:/F
то отформатируется дискета в дисководе A:, а строка
C:\>MFORMAT B:/F/S/B/C
- отформатирует дискету в дисководе B: с использованием драйвера "быстрого" форматирования;
- запишет на диск загрузчик MK-DOS;
- скопирует с системного диска на дисковод B: системные файлы (они должны быть перечислены в командном файле SYSDSK.COM, который должен находиться на системном диске).
Совсем не обязательно запоминать все перечисленые ключи, т.к. MFORMAT выдает подсказку при запуске ее как "обычной" программы (т.е. наставили на нее курсор MC и нажали <ВВОД>).
Ключи MFORMAT:
/F - форматировать указанный диск (бесполезно пытаться "отформатировать" логический диск винчестера). После форматирования производится проверка диска и исправление (по возможности) BAD-областей. После завершения проверки - диск инициализируется.
/I - инициализировать указанный диск (совместно с ключом /F не имеет смысла). Для инициализации логических дисков винчестера этой командой можно пользоваться (аналогично функции Главного Меню MicroCommander "Init").
/B - записать на диск загрузчик MK-DOS. Возможно использование ключа как совместно с /F или /I, так и самостоятельно.
Загрузчик невозможно записать, если первые 35 блоков диска заняты файлами или перекрываются BAD-областями.
/C - копирование на диск системных файлов, используется совместно с /B. На одном дисководе (т.е. если загрузка произошла с того же привода, что и используется в операции) команда не работает. На системном диске должен быть файл SYSDSK.COM, в котором должны быть перечислены системные файлы в нужном порядке.
Пример:
/DOS - создать подкаталог DOS и скопировать
в него:
MONITOR
MKDOS V3.15 - обязательно первыми !
MC
VD.SYS
VDISK.COM
MENU.MC
VIEW.MC
EDIT.MC
FILER.MC
/USR - созать подкаталог USR ...
ANDOS.USR
TREE.USR
... и т.д.
Комментарии в командном файле не допускаются !
/S - используется совместно с /F, включает драйвер "быстрого" форматирования (после такого форматирования диски прописываются с той же скоростью, что и читаются). На некоторых экземплярах импортных дисководов (TEAC, EPSON) драйвер может давать сбои! Рекомендуется использовать на отечественных дисководах (МС5313, МС5311, МС5305).
/V - используется совместно с /I, перед инициализацией осуществляет проверку диска на BAD-блоки и сохраняет информацию о них. Корректно работает даже с винчестером (на случай использования "антиквариата"). Использование команды оправдано, если диск был отформатирован какой-либо другой программой.
/A - инициализация диска в формат ANDOS. Используется совместно с /I или /F. Следует учитывать, что информация о BAD-блоках не указывается в FAT ANDOS. Если у Вас винчестер, то использовать логические диски винчестера размером более 1600 блоков (800 Кб) для работы с ANDOS очень не разумно!
Утилита COPDEV
Утилита предназначена для копирования дискет, логических дисков винчестера и логических дисков MK-DOS. На сегодня (22.04.95г.) программа является единственным КОРРЕКТНЫМ копировщиком дисков при использовании винчестера.
Запускется COPDEV так же как и MFORMAT - из командной строки оболочки. Если запустить программу другим способом, то выдается подсказка. Входными параметрами для COPDEV являются имена устройств чтения/записи (с возможностью указания имен логических дисков MK-DOS) разделенные знаком "=" (равно).
В конце, можно указать ключи /F (диск-приемник отформатировать перед записью на него информации) и /S (использовать драйвер "быстрого" форматирования).
Например, у Вас только один дисковод, а необходимо сделать копию дискеты:
A:\>COPDEV A:=A:/F
- команда осуществляет копирование дискет на одном дисководе (A:), перед копированием диск-приемник (т.е. диск, НА который будет записываться информация) будет отформатирован. При запросе "Вставьте диск-ИСТОЧНИК и нажмите <ВВОД>" необходимо вставлять диск С которого информация ЧИТАЕТСЯ и нажимать <ВВОД>, а на запрос "Вставьте диск-ПРИЕМНИК..." - диск для записи.
Если у Вас два дисковода, то операцию можно проделать так:
A:\>COPDEV A:=B:
- команда скопирует диск A: на диск B:.
При наличии винчестера, очень удобно создать БИБЛИОТЕКУ ОБРАЗОВ ДИСКЕТ в виде логических дисков MK-DOS:
C:\>COPDEV A:=F:АЛЬТЕК13
- команда копирует образ дискеты A: в логический диск АЛЬТЕК13, который находится на устройстве F:. Если обнаружится, что на F: нет логического диска АЛЬТЕК13, то COPDEV предложит создать его. Если диск A: в формате MK-DOS, то создается логический диск минимального объема (т.е. только под область занятую файлами), если диск A: не в формате MK-DOS, то создается логический диск объемом с дискету (800 Кб или 400 Кб - в зависимости от типа дисковода: 80/40 дорожек).
Логический диск можно создать и с помощью MicroCommander.
Если источник имеет больший объем чем приемник, то COPDEV предупредит Вас.
Возможна и обратная операция - восстановление дискеты из ее образа на винчестере:
C:\>COPDEV F:АЛЬТЕК13=A:
- команда восстанавливает дискету из ее образа в логическом диске АЛЬТЕК13.
Следует обратить Ваше внимание на то, что COPDEV всегда правильно указывает объем приемника при записи (если диск в формате MK-DOS, разумеется), поэтому без проблем можно копировать логические диски винчестера. Например:
C:\>COPDEV C:=Z:
- копирование диска C: (системного логического диска винчестера) на логический диск винчестера Z:. Даже если, например, C: имеет объем 1600 блоков, а Z: - 5000 блоков, на диске Z: будет указан правильный его размер, т.е. 5000 блоков.
Утилита SQUEEZER
При интенсивной работе необходимо, хотя бы раз в неделю, наводить порядок на рабочих дискетах или логическии дисках винчестера: удалять старые версии рабочих файлов, рассортировывать файлы по подкаталогам и логическим дискам. После этого, диски можно обработать утилитой SQUEEZER: она переносит все файлы в начало диска, удаляя таким образом "дыры", которые могли получиться при увеличении размеров рабочих файлов, их удалении и проч. При сжатии диска, SQUEEZER "обходит" BAD-области. Работа с программой очень проста и не требует комментариев (пользуйтесь встроенной подсказкой).
С помощью SQUEEZER можно сжимать не только дискеты или логические диски винчестера, но и логические диски MK-DOS. Для этого необходимо сделать текущим нужный логический диск, а программу запустить из командной строки. После запуска программы надо нажать <ВВОД>.
VI. Руководство программиста
1. Дополнительные команды ЕМТ-перехватчику
К перехватчику можно обращаться с рядом дополнительных кодов команд в блоке параметров ЕМТ36 (для утилит). Это байты:
2 - Запись файла;
3 - Чтение файла;
4 - Вывести каталог текущего диска;
200 - Удаление по запросу;
202 - Запись файла с указанием адреса для каталога. При этом адрес в памяти помещается в ячейку по смещению 2 от начала блока параметров, а адрес для помещения в каталог - по смещению 26 (ячейка адреса ответа блока параметров). Работает также и с магнитофоном;
204 - Показать каталог.
Кроме того, можно устанавливать дополнительные биты в коде команды, меняющие специфику выполнения данной команды:
010 - бит запрета остановки дисковода, для продолжения дисковых операций, система перед операцией не инициализирует работу с дисководом (т.е. он должен быть ранее инициализирован), и после окончания операции не останавливает дисковод (на раскрутку которого при каждой операции теряется не менее 3-х секунд);
020 - бит "No RDDIR" перед операцией не читать каталог с диска (подразумевается, что он был ранее считан и находится в буфере);
040 - бит "No SAVDIR" после окончания операции не записывать каталог (подразумевается, что файловые операции будут продолжаться и каталог будет записан в конце).
При удачной загрузке файла, его номер блока на диске помещается в ячейку @#314, а размер в блоках - @#316. При записи выполняются те же действия, но в @#316 помещается размер всей бывшей свободной области. Если на диске нет места, то в @#314 - номер первого свободного блока в конце диска, а в @#316 - размер области. Это может быть полезным для организации произвольного доступа к файлам.
2. Формат каталога MK-DOS
Формат каталога представляет собой тщательно продуманный каталог системы Micro DOS, ставший стандартным на БК, а именно формат нулевого блока дискеты:
Адрес:
30 - Количество файлов в каталоге (НЕ ЗАПИСЕЙ!);
32 - Суммарное количество блоков в файлах (НЕ ЗАПИСЯХ!) каталога;
400 - Метка принадлежности к формату Micro DOS (123456);
402 - Метка формата каталога MK-DOS (51414);
466 - Размер диска в блоках, величина абсолютная для системы (в отличие от NORD, NORTON и т.п.) принимающая не два значения под 40 или 80 дорожек, а, скажем, если Ваш дисковод понимает только 76 дорожек, то в этой ячейке нужно указать соответствующее число блоков (это делается при инициализации);
470 - Номер блока первого файла. Величина также изменяемая;
500 - Первая запись о файле.
3. Формат записи о файле
Запись о файле имеет длину 30:
Смещение:
0 - Статус файла;
1 - Номер подкаталога (0 - корень);
2 - Имя файла 14. символов ASCII KOI8;
20 - Номер блока;
22 - Длина в блоках;
24 - Адрес;
26 - Длина.
4. Статус файла
Статус файла бывает:
0 - обычный;
1 - защищен;
2 - логический диск;
200 - BAD-файл;
377 - удален.
Если первый символ в имени файла имеет код 177, то это подкаталог. Тогда вместо статуса у него байтом указан номер этого подкаталога, и все файлы (в т.ч. подкаталоги), имеющие эту цифру в ячейке номера подкаталога, лежат в этом подкаталоге.
5. Таблица ссылок, переменных и констант MK-DOS
Операционная система MK-DOS имеет неперемещаемую таблицу ссылок, переменных и констант, дающую неограниченные возможности для написания утилит и других программ, используемых совместно с MK-DOS.
Переменные, буфера и константы
┌────────┬────────┬───────────────────────────────┬───────────┐
│ ИМЯ │ АДРЕС │ НАЗНАЧЕНИЕ │ ЗНАЧЕНИЕ │
│ МЕТКИ │ │ │ │
├────────┼────────┼───────────────────────────────┼───────────┤
│ VERS │ 120004 │Версия Системы 3.15 │100000+315.│
│ BLK │ 120006 │Адрес блока параметров диска │ 136712 │
│ SUBTEK │ 120010 │Номер подкаталога на тек. диске│ 0 │
│ SUBOLD │ 120011 │Подкаталог в другой панели │ 0 │
│ DEVTEK │ 120012 │Номер текущего устройства │ 0 │
│ SUBDIR │ 120013 │Подкаталог для CREATE, временн.│ 0 │
│ DIR │ 120014 │Адрес буфера чтения каталога │ 126000 │
│ TSTEP │ 120070 │Задержка шага головки дисковода│ 2000 │
│ PANEL │ 120072 │Байты устройств в панелях "MC" │ 400 (0,1) │
│ SCREEN │ 120074 │Ячейка перехвата вывода сообще-│ 0 │
│ │ │ний системы, адрес подпрограммы│ │
│ │ │обращения вместо EMT16. Для за-│ │
│ │ │прета вывода - адрес ближайшей │ │
│ │ │команды RTS PC │ │
│ STEK │ 120076 │Адрес стека перехватчика ЕМТ36 │ 136712 │
│ USER │ 120100 │Значение 1 Адреса и значения│ 0 │
│ │ 120102 │Адрес 1 трех ячеек, восста-│ 0 │
│ │ 120104 │Значение 2 навливаемых систе-│ 0 │
│ │ 120106 │Адрес 2 мой после ЕМТ14 и│ 0 │
│ │ 120110 │Значение 3 перезапуска │ 0 │
│ │ 120112 │Адрес 3 │ 0 │
│ USER2 │ 120114 │Адрес подпрограммы перед запу- │ 0 │
│ │ │ском "MC" или 0 │ │
│ NONDOS │ 120116 │Адрес подпрограммы имитации │ 0 │
│ │ │ЕМТ36 для не DOS дисков, или 0 │ │
│ │ │(вывод сообщения Non DOS Disk) │ │
│ OVERWR │ 120124 │Признак AutoOwerwrite, 1-выкл. │ 1 │
│ PRED │ 120125 │Признак Predelete, 1-выкл. │ 0 │
│ FLOP │ 120126 │Дисковод: 0 - 40, 1 - 80 track│ 1 │
│ PALET │ 120127 │Палитра БК11(М),оцветнение БК10│ 0 │
│ SY │ 120130 │Диск загрузки системы (@:) │ - │
│ DK │ 120131 │Привод для оверлеев (!:) │ - │
│ SORTIR │ 120132 │Режимы сортировки на панелях MC│ │
│ LD0 │ 120134 │Смещение к логическому диску │ │
│ │ │(в блоках), 0 - корень │ │
│ LD1 │ 120136 │то же, но для текущей операции │ │
│ LD2 │ 120140 │Смещение для другой панели MC │ │
│ NAM │ 306 │Адрес блока параметров EMT36 │ - │
│ BLOK │ 314 │Номер блока загруженного файла │ - │
│ SIZE │ 316 │Кол-во блоков в файле │ - │
└────────┴────────┴───────────────────────────────┴───────────┘
6. Подпрограммы MK-DOS и обращения к ним6.1. Подпрограммы MK-DOS ┌────────┬────────┬───────────────────────────────────────────┐
│ МЕТКА │ АДРЕС │ НАЗНАЧЕНИЕ │
├────────┼────────┼───────────────────────────────────────────┤
│ INIDRV │ 120016 │ Инициализация драйвера дисковода │
│ EMT6 │ 120020 │ Команда EMT6 с автоповтором (исп. Rename) │
│ INOUT │ 120022 │ Чтение/запись блока (160004 исп.буфер ДОС)│
│ RDDIR │ 120024 │ Чтение каталога в буфер (@#DIR) │
│ DIRFIN │ 120026 │ Поиск файла в каталоге │
│ DIRPRI │ 120030 │ Вывод каталога на экран │
│ FRFIN │ 120032 │ Поиск свободного места в каталоге │
│ CREAT │ 120034 │ Создание записи о файле в каталоге │
│ DELETE │ 120036 │ Удаление файла (с запросом или без него) │
│ SAVDIR │ 120042 │ Запись каталога │
│ EMT20 │ 120044 │ Полная имитация EMT20 с исп. ячейки SCREEN│
│ PRINAM │ 120046 │ Вывод имени с без пробелов в конце │
│ TXT │ 120050 │ Перемещаемый вывод надписей │
│ STROKA │ 120052 │ Редактор строки (исп. Rename) │
│ OCTOUT │ 120056 │ Вывод восьмиричного числа │
│ DECOUT │ 120060 │ Вывод десятичного числа │
│ TST │ 120062 │ Замена управляющих кодов в R0 на пробелы │
│ TST2 │ 120064 │ Привести R0 к ЛАТ,ЗАГЛ регистру(корректно)│
│ ERROR │ 120066 │ Расшифровка текстом No ошибки дисковода │
│ FRFIN2 │ 120120 │ Поиск свободного места по длине в блоках │
│ CREAT2 │ 120122 │ Создание записи о файле по длине в блоках │
└────────┴────────┴───────────────────────────────────────────┘
Система имеет точку входа имитации EMT36, для совместимости с ANDOS выбран адрес 120002. Для обеспечения работы с диском программ, использующих 30-й вектор для своих нужд, достаточно вместо команды "EMT36" использовать "CALL @#120002". Ячейка VERS предназначена для распознавания утилитами версии MK-DOS, т.к. при неизменении адресов подпрограмм указанных в этом описании, их список в последующих версиях будет расширен, и для обеспечения неработоспособности утилит, пользующихся возможностями ДОС, отсутствующими в предыдущих версиях.
ВНИМАНИЮ ПРОГРАММИСТОВ, пишущих под MK-DOS. Ячейку версии следует проверять на "больше или равно" если вы пользуетесь только стандартными запросами ДОС, и проверять "строго равно" - если программа пользуется обращениями в тело MK-DOS, т.к. адреса не входящие в таблицу подпрограмм и переменных в следующих версиях, а также при модификациях, могут изменяться.
6.2. Обращение к подпрограммам MK-DOS
INIDRV - инициализация блока параметров драйвера дисковода
Вызов:
CALL @INIDRV
Выход: R3 - адрес блока параметров
Действия: Инициализация блока параметров пр аргументу R3, занесение длины сектора в словах (400) по 64(R3) и задержки перехода между дорожками из ячейки TSTEP.
EMT6 - Полный аналог EMT6, реализованный с автоповтором
Вызов:
CALL @EMT6
INOUT - Чтение/запись блока
Вызов:
CALL @INOUT
Вход: R0 - номер блока
R2 - адрес в памяти
R1 - длина в СЛОВАХ
Выход: бит C при ошибке, в ячейке 52 код ошибки
Действия: Производится чтение с диска массива и помещение его по указанному адресу, если длина в команде отрицательна - запись. В случае ДИСКОВОЙ ОШИБКИ делается ШАГ ВПЕРЕД/ШАГ НАЗАД головкой дисковода и ПОВТОР операции, что позволяет исключить прерывание работы из-за случайных ошибок.
RDDIR - Чтение каталога диска в буфер MK-DOS (@DIR)
Вызов:
CALL @RDDIR
Вход: должен быть инициализирован блок параметров подпрограммой INIDRV, входных регистров нет.
Выход: бит C при ошибке, адрес каталога в R3 (@#DIR).
Действия: Считывается каталог по адресу содержащемуся в ячейке DIR, в случае безошибочного считывания происходит проверка размера диска (ячейка 466 нулевого блока) и включение в случае необходимости режима пропуска дорожек.
DIRFIN - Поиск файла в каталоге
Вызов:
CALL @DIRFIN
Вход: R3 - адрес буфера каталога
@#NAM - адрес блока параметров EMT36
Выход: R3 - адрес записи о файле, или бит C если файл не найден
Действия: Поисходит поиск в каталоге файла, имя которого указано в блоке параметров EMT36, управляющие символы в имени приравниваются к пробелу.
DIRPRI - Вывод на экран каталога
Вызов:
CALL @DIRPRI
Вход: R3 - адрес буфера каталога
Действия: На экран выдается каталог диска, во время вывода возможна сортировка, нажатием клавиши - первой буквы имени, вывод можно приостановить нажав пробел. R3 сохраняет свое значение.
FRFIN - Поиск свободного места в каталоге
Вызов:
CALL @FRFIN
Вход: R3 - адрес буфера каталога
@#NAM - адрес блока параметров EMT36
Выход: R3 - адрес свободной записи
бит C - нет места на диске
бит C и R3=0 - нет места в каталоге
Действия: Поисходит поиск в каталоге свободного места по размеру файла, имя которого указано в блоке параметров EMT36.
FRFIN2 - Поиск свободного места для "длинного файла"
Команда полностью аналогична FRFIN, но на вход в R1 нужно подавать длину файла в блоках. Если R1=-1, то ищется "дырка" наибольшего размера. При выходе из п/п: R1-длина свободной области в блоках, R0-номер первого свободного блока.
CREAT - Создание записи о файле
Вызов:
CALL @CREAT
Вход: R3 - адрес записи
R4 - адрес буфера каталога
@#NAM - адрес блока параметров EMT36
Действия: Производится создание записи о файле в указанном месте каталога, все управляющие символы в имени приравниваются к пробелу. Если "дырка" больше файла происходит раздвижка каталога и создание за файлом "дырки" меньшего размера. Исправляются ячейки 30 и 32 шапки директория.
CREAT2 - Создание записи о "длинном" файле
Команда полностью аналогична CREAT, но на вход в R1 нужно подавать длину файла в блоках.
DELETE - Удаление файла
Вызов:
CALL @DELETE
Вход: R3 - адрес записи о файле бит C - удалять без подтверждения
Выход: бит C - файл защищен
Действия: Выдается запрос на удаление, или сообщение "File protected!". При удалении без запроса защищенность файла не анализируется. Удаляется запись о файле, исправляются ячейки 30 и 32 шапки директория, в случае необходимости образовавшееся свободное место оъединяется с соседними "дырками" в одну общей длины.
SAVDIR - Запись каталога на диск
Вызов:
CALL @SAVDIR
Работа с функцией полностью аналогична работе с подпрограммой RDDIR.
EMT20 - Аналог системного запроса EMT20
Вызов:
CALL @EMT20
Работа с функцией полностью аналогична одноименному запросу EMT - диспетчера, но текст выводится с учетом состояния ячейки SCREEN.
PRINAM - Вывод имени файла
Вызов:
CALL @PRINAM
Вход: R3 - адрес записи о файле в каталоге
Выход: R3 сохраняет свое значение
Действие: На экран выводится имя файла заявленное в команде, с игнорированием конечных пробелов (выводится один пробел). Используется при формировании сообщений типа: "?
MKDOS - MONITOR Deleted?".
TXT - Перемещаемый вывод надписей
Вызов:
JSR R1,@TXT
.ASCIZ /СООБЩЕНИЕ/
.EVEN
Функция облегчает процедуру вывода сообщений программам пользователя.
STROKA - Редактор строки
Вызов:
CALL @STROKA
Вход: R3 - адрес строки
R2 - длина строки
Действие: Указанная строка символов вызывается на редактирование клавишей стрелка вправо можно возвращать по символам (с автоповтором) предидущее значение строки, по нажатию клавиши ВВОД "хвост" забивается пробелами.
OCTOUT - Вывод восьмиричного числа
Вызов:
CALL @OCTOUT
Вход: R2 - число для вывода
Действие: Выводится пробел, затем число в восьмиричном пред-
ставлении с лидирующими нулями.
DECOUT - Вывод десятичного числа
Вызов:
CALL @DECOUT
Вход: R0 - число для вывода
Действие: Выводится пробел, затем заявленное в команде число в десятичном представлении без лидирующих нулей.
TST - Замена пробелом управляющих кодов
Вызов:
CALL @TST
Вход: R0 - код символа
Выход: R0 - код сивола или пробел
TST2 - Приведение к ЛАТ,ЗАГЛ регистру
Вызов:
CALL @TST2
Вход: R0 - код символа
Выход: R0 - код символа на ЛАТ,ЗАГЛ регистре
ERROR - расшифровка номера ошибки дисковода
Вызов:
CALL @ERROR
Вход: @#NAM - адрес блока параметров EMT36
@#52 - байт кода ошибки
Действие: В байт ответа блока параметров EMT36 помещается код ошибки "4", далее анализируется байт содержащийся в ячейке @#52, при нулевом его значении происходит выход из подпрограммы, при всех остальных же выводится на экран текстовая спецификация ошибки.
Приложение 1
Схема распайки БК - Принтер
┌───────────────────────────────┬─────────────┬───────┬───────┐
│ Контакт │ Сигнал │Контакт│Контакт│
│6329│УПЗ │D100 │6337│6312 │6313│ │ БК │ КМ │
├────┼────┼─────┼────┼─────┼────┼─────────────┼───────┼───────┤
│B-05│B-14│ 2 │ 3 │ 2 │ 3 │DATA 1 (BD00)│ A16 │ 1 │
│B-06│B-13│ 3 │ 5 │ 3 │ 5 │DATA 2 (BD01)│ A13 │ 3 │
│B-07│B-12│ 4 │ 7 │ 4 │ 7 │DATA 3 (BD02)│ B12 │ 5 │
│B-08│B-11│ 5 │ 9 │ 5 │ 9 │DATA 4 (BD03)│ B10 │ 7 │
│B-09│B-10│ 6 │ 11 │ 6 │ 11 │DATA 5 (BD04)│ B5 │ 9 │
│B-10│B-08│ 7 │ 13 │ 7 │ 13 │DATA 6 (BD05)│ B7 │ 11 │
│B-11│B-09│ 8 │ 15 │ 8 │ 15 │DATA 7 (BD06)│ B6 │ 13 │
│B-12│B-07│ 9 │ 17 │ 9 │ 17 │DATA 8 (BD07)│ A7 │ 15 │
│B-02│B-06│ 1 │ 1 │ 1 │ 23 │STROBE (BD08)│ A28 │ 17 │
│B-03│B-04│ 14 │ 21 │ 11 │ 21 │BUSY (BB08)│ B31 │ 19 │
│A-01│A7,8│19-32│2-24│24-25│4-28│GND Общий│A18,B18│ 2-24 │
└────┴────┴─────┴────┴─────┴────┴─────────────┴───────┴───────┘