[an error occurred while processing this directive]

.нф

.цв

ПРЕДИСЛОВИЕ.

.ов

В данном документе описывается версия 5.3 системы "The Best".

Предлагаемая система представляет собой комплекс программ, объединенных в автономную систему, работающую на компьютере Агат-9. Она будет полезна как программисту различной квалификации, так и пользователю (опытному и не очень), ибо позволяет Вам:

 - запускать с диска различные исполняемые программы;

 - копировать файлы любого размера с диска на диск;

 - печатать файлы на принтере или дисплее;

 - переименовывать, удалять и создавать файлы;

 - размечать рабочие диски и копировать на них систему;

 - работать с подкаталогами, совместимыми с DOS 3.3;

 - восстанавливать случайно стертые файлы;

 - непосредственно редактировать диски;

 - создавать, отлаживать или адаптировать объектные программы.

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

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

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

Система прошла длительный путь развития, в работе над ней участвовали многие программисты. Подробную историю системы с именами и датами можно найти в Приложении.

Система не защищена от копирования. По вопросам приобретения системы Вы можете обращаться в фирму USN (тел. 267-32-47). Там же можно получить квалифицированные консультации по использованию системы и информацию о новых версиях. Сообщения об ошибках, выявившихся в процессе эксплуатации системы, будут с благодарностью приняты.

.сс

.цв

1. ВВЕДЕНИЕ В СИСТЕМУ.

.ов

1.1. Требования к аппаратуре.

Система работает только на Агате-9, для ее функционирования необходим дисковод Teac. Второй Teac (система обслуживает максимум два дисковода этого типа) необязателен. Он может устанавливаться как на тот же, так и на отдельный контроллер. Вместо него возможно использование других дисководов MFM-типа (односторонних или одинарной плотности), однако их поддерживают не все программы.

Система не требует обязательного наличия дисководов Shugart, однако возможна установка максимум двух таких дисководов либо на раздельные, либо на единый контроллер.

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

На генплате машины расположено 128 кб оперативной памяти. Вся она так или иначе используется системой и доступна пользователю. Кроме того возможна установка платы расширения памяти (еще 128 кб). Система понимает только одну такую плату, установленную обязательно во второй разъем.

Драйвер печати системы осуществляет вывод на принтеры МС-6313, СМ-6337, CPA-80, FX-85, FX-800, LX-800, Ravi-800 и ряд других. Возможно одновременное обслуживание одного принтера. Если в Вашем компьютере установлено более одного контроллера принтера (например, для работы с мышью), то система найдет тот из них, который установлен в разъем с большим номером.

1.2. Запуск системы.

Система располагается на отдельном диске, размеченном под Teac, и занимает на нем первые 9 треков. Вы можете смело вставить системный диск и перезапустить машину с него. Процесс запуска вряд ли вызовет у Вас затруднения, так как он не отличается от запуска других самогрузных программ. Полная загрузка системы длится недолго, секунды 3-4, благодаря примененному в ней высокоскоростному загрузчику. Сразу же с началом загрузки в верхней половине экрана появляется заставка системы. Вверху заставки можно увидеть сменяющиеся цифры от 1 до 8. Это номер считываемого в данный момент трека. Загрузчик системы устроен так, что в случае ошибки обмена с диском он будет вновь и вновь пробовать читать трек, пока это ему не удастся, или пока Вы не нажмете 'СБРОС'. Логично, что по остановившейся цифре можно судить о том, на каком треке произошла ошибка.

1.3. Диалог с системой.

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

Ведение диалога с системой заключается в подаче пользователем команд и получении соответствующих результатов. Если ошибки при исполнении команды не возникло, система не делает никаких сообщений, кроме предусмотренных командой. При возникновении ошибочной ситуации раздастся звуковой сигнал и может появиться диагностическое сообщение о причинах ошибки. Сообщения появляются при ошибках, возникших во время отработки дисковых и файловых операций. В случае, если в результате выполнения каких-либо команд на экран будет выдаваться слишком большое кол-во информации, не помещающееся на экране или выдаваемое слишком быстро, то приостановить вывод можно нажатием клавиши 'ПРОБЕЛ', а прервать команду можно нажатием клавиши 'F1'. Это правило справедливо практически для всех команд.

Для ввода команды используются алфавитно-цифровые клавиши, набор команды завершается клавишей 'ВВОД'. Переключение регистров осуществляется аналогично Бейсику и Системному Монитору. Для редактирования текста команды и повторения в тексте команды текста, уже имеющегося на экране (например, предыдущей команды или имени файла), используются клавиши-стрелки. Их функции такие же, как в Бейсике, Рапире и Системном Мониторе, т.е. имеется системный буфер ввода длиной 256 байт, где хранится набираемая строка. Клавиша 'влево' удаляет последний введенный (с экрана или путем набора с клавиатуры) символ из буфера, 'вправо' вводит символ с экрана в буфер, 'вверх' и 'вниз' не меняют буфера ввода. Клавиша 'РЕД' при наборе команды используется не так, как в Системном мониторе, Бейсике или Рапире.

Как и обычно, 'УПР Л' очищает экран, 'УПР Г' выдает звуковой сигнал, а 'УПР Ь' отменяет набранную команду.

1.4. Первые команды системы. Нумерация дисководов.

Набрав 'Z' (везде здесь и далее апострофы к команде не относятся, а 'ВВОД' в конце команды подразумевается), можно поменять экранный режим с 32*32 (цветной) на 64*32 (черно-белый) и наоборот.

Чтобы перегрузить машину, установите системный диск в дисковод и скомандуйте 'nO', где n - номер разъема дисковода, с которого Вы хотите загрузиться, например '5O'.

Это единственный случай, когда Вам придется указывать номер слота, во всех других командах используется специальная нумерация дисководов. Как уже отмечалось, система работает максимум с четырьмя дисководами (два Shugart'а и два Teac'а). Под Shugart'ы (даже если их нет) зарезервированы номера '1' и '2', а под Teac'и номера '3' и '4'. В стандартной (1 Teac + 1 Shugart) комплектации машины, таким образом, существуют устройства '1' и '3'. Если Ваша машина имеет расширенную конфигурацию, то Вам надо экспериментально выяснить, какому номеру какой дисковод соответствует.

Кроме физических устройств '1',..'4', существует еще один диск, называемый виртуальным или электронным. Он создается системой в оперативной памяти машины и может использоваться как промежуточный буфер при копировании или другой операции или как хранилище часто используемых Вами программ. С точки зрения системы это устройство (имеющее номер '5') равноправно с другими. С точки зрения пользователя это быстрый незаменяемый диск переменного по желанию объема, информация с которого пропадает при выключении компьютера или загрузке другой (не "The Best") системы.

Одновременно система работает с файлами только на одном (текущем) устройстве. Это относится ко всем командам, кроме копирования файлов. Для задания текущего устройства скомандуйте '[d', где d - номер устройства, которое станет текущим, например '[1'.

Выяснить, какой дисковод является текущим, можно подав команду 'Q'. Номер текущего устройства записан вверху левого столбца против буквы 'U' (от английского Unit - устройство). Ниже можно прочитать, к какому слоту ('S') и какому приводу ('D') подключен текущий дисковод. Команда выводит также ряд другой полезной информации, о которой будет сказано далее.

1.5. Еще несколько команд системы. Подкаталоги.

Для просмотра каталога диска, установленного в текущее устройство, служит команда '[CAT'. Каталог выдается в привычном формате: сначала имя диска, потом список файлов (тип, длина в блоках, имя), потом количество файлов и объем свободного места на диске в блоках.

Если Вы хотите изменить имя диска, то подайте команду '[SIGNname', где name - новое имя диска, длиной не более 29 символов, например '[SIGN Мой рабочий диск'.

Кроме файлов в списке, выдаваемым командой '[CAT', можно встретить имена подкаталогов (обозначаются словом '<DIR>' или '...' на месте типа и длины файла). Дело в том, что "The Best" работает с несколько измененным логическим форматом диска по сравнению с DOS 3.3: игнорируется атрибут защиты файла от случайного стирания и введены подкаталоги. Как известно, в DOS 3.3 информация обо всех файлах была собрана в единственном месте: в корневом каталоге. При работе с Teac'ом это не очень удобно, т.к. на диске вполне может находиться до 100 файлов и более. Для этого и были введены подкаталоги: часть файлов, логически связанных между собой и не очень часто используемых, может быть перемещена в подкаталог, при этом при просмотре корневого каталога видно только имя подкаталога с обозначением '<DIR>'.

Один из каталогов (корневой или подкаталог), расположенных на диске, в данный момент является текущим. При этом возможен доступ только к файлам, расположенным в нем. Если текущим является подкаталог, то его собственное имя выводится в списке файлов, выдаваемых командой '[CAT', на первом месте с обозначением '...'. Для установки текущего каталога (удобно представлять, что Вы входите 'внутрь' подкаталога или выходите из него 'наружу' в корневой) служит команда '[CD name', где name - имя подкаталога или точка ('.') для выхода 'наружу', например '[CD WORK' или '[CD .'. Информация о том, какой каталог является текущим, записывается на диск (поэтому диск не должен быть заклеен при смене текущего каталога) и сохраняется при перезагрузке системы, выключении машины и даже загрузке системы, работающей в обычном формате DOS 3.3. При этом в такой системе будет возможен доступ только к файлам текущего каталога.

Отметим, что подкаталог не является файлом, хотя и выводится в списке файлов, поэтому не следует пытаться работать с ним командами системы, не предназначенными для работы с подкаталогами. Не пытайтесь обращаться с каталогом как с файлом из других систем, ибо это может привести к непредсказуемым последствиям.

Также отметим, что в подкаталоге могут содержаться другие подкаталоги, а в них другие и так далее. Глубина таких вложений ограничена только Вашим терпением и объемом диска. Для выхода из подкаталога сразу в корневой используется команда '[CD \' ('[CD .' выводит на один уровень наружу). На практике вложенные каталоги не слишком удобны и используются редко.

1.6. Основные команды для работы с файлами.

Вы можете исполнить программу, хранящуюся в файле типа 'В', подав команду '[RUN name', где name - имя запускаемого файла, например '[RUN BASIC'. При этом следует помнить о том, что В-файл может содержать программу, не исполняемую в системе "The Best" (запускаемую, например, только из DOS 3.3 Бейсика) или вообще данные, например картинку - копию графического экрана.

Для того, чтобы стереть ненужный файл с диска, служит команда '[DEL name', где name - имя удаляемого файла, например '[DEL мусор'.

Для распечатки на экране содержимого текстового файла (Т-файла) служит команда '[TYPE name', где name - имя распечатываемого файла, например '[TYPE SYSTEM.DOC.1'.

Вы можете переименовать файл, подав команду '[REN name1,name2', где name1 - старое, а name2 - новое имя файла.

Для копирования файла с диска на диск служит команда '[COPY name,s,d', где name - имя копируемого файла, s - номер дисковода, с которого файл копируется и d - номер дисковода, куда файл копируется. Номера дисководов можно не указывать (вместе с запятыми), тогда используется текущий дисковод. Если номера дисководов, откуда и куда происходит копирование файла, совпадают, то система будет останавливаться для смены диска. Пример: '[COPY ASM,3,5' - копирование файла ASM на виртуальный диск с Teac'а.

Во всех этих командах, а также в команде '[CD', Вы можете вместо имени (первого в команде '[REN') поставить символ '/', например '[DEL /'. Система выведет текущий каталог (или те файлы, с которыми возможна данная операция). Если каталог не помещается на экран, то вывод приостановится. Система ожидает 'F1' (нужный файл - на экране) или 'ПРОБЕЛ' (поищем файл еще). После этого система предложит Вам выбрать обрабатываемый файл из каталога. Для выбора надо указать на файл курсором, перемещаемым стрелками 'вверх' и 'вниз' в пределах экрана и нажать 'ВВОД'. Для отказа от операции служит 'F1'.

Вы можете распечатать, удалить или скопировать сразу несколько файлов одной командой, если имена этих файлов имеют общую часть, указав вместо имени эту общую часть, а вместо остального - символ '='. Система считает, что надо обработать файлы, имеющие сколько угодно произвольных символов на месте '='. Например, скопировать все файла с диска можно, набрав '[COPY =', а стереть все файлы, начинающиеся с 'OLD', можно, скомандовав '[DEL OLD='. Символов '=' и общих частей в имени может быть несколько, например '[TYPE SYSTEM=2' - распечатка файлов, имя которых начинается с SYSTEM и заканчивается на 2.

.сс

.цв

2. ПЕРЕОПРЕДЕЛЯЕМЫЕ КЛАВИШИ И КОМАНДНЫЕ ФАЙЛЫ.

.ов

 

2.1. Переопределяемые клавиши.

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

Под переопределяемые клавиши выделены 15 клавиш, расположенных на клавиатуре справа, клавиша 'РЕД' и одна клавиша, вызываемая нажатием 'УПР Ю' (ее значение специализировано и будет расмотрено позже).

Чтобы посмотреть значения, присвоенные клавишам, служит команда 'К' (при этом 'РЕД' обозначается как 'ES', а 'УПР Ю' - как 'ST').

Вы можете изменить значения клавиш по собственному желанию. Для вызова редактора клавиш достаточно нажать 'УПР K'. Появится приглашение ко вводу клавиши, которую требуется редактировать. После нажатия соответствующей клавиши на экран будет выдано ее значение. Для редактирования можно использовать ряд управляющих команд. Стрелки перемещают курсор по тексту клавиши, 'F2' удаляет символ под курсором, 'F3' вставляет пробел, '9' удаляет все содержимое клавиши от курсора до конца. В текст переопределяемой клавиши можно вводить управляющие коды, в том числе и '↵', для чего сначала надо нажать 'УПР Ж', а затем соответствующую управляющую клавишу (это универсальное средство, которое в том числе работает и в диалоге). Заканчивается процесс редактирования нажатием '↵' (хвост строки при этом не откусывается), после чего возобновляется диалог с системой.

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

При работе с переопределяемыми клавишами важно знать следующее: буфер под клавиши ограничен 256 байтами, система автоматически ограничивает суммарную длину клавиш.

Значение, присвоенное клавише 'УПР Ю' автоматически печатается на экране (и исполняется, если в нем есть '↵') сразу же после загрузки с диска ядра системы. Вы можете поместить туда, например, команду запуска файла или копирования программы на виртуальный диск, включения палитры или нужного экранного режима. Однако, если при загрузке была нажата клавиша 'РЕД', то отработки 'УПР Ю' не происходит. Если Вы не хотите, чтобы при загрузке системы выполнялись какие-либо дополнительные действия, то присвойте этой клавише код 'УПР Ю' или пустое значение. Эта клавиша может быть, естественно, вызвана и в диалоге с системой.

Измененные клавиши часто бывает полезно сохранить на диске. Для записи клавиш на диск в тело системы служит команда '[STATUS'. В текущем дисководе должен находиться диск с системой "The Best". Команда также сохраняет на диске ряд других важных текущих параметров системы.

2.2. Командные файлы системы.

Командным файлом называется текстовый файл, содержащий последовательность команд системы. Такой файл может быть создан практически в любом текстовом редакторе. Годится, например, входящий в комплект системы. Командный файл может быть исполнен, для этого надо подать команду '[EXEC name', где name - имя файла. При этом все содержащиеся в нем команды будут выполнены, как если бы Вы набрали их на клавиатуре.

Как правило, командный файл служит для выполнения каких-либо рутинных действий, которые приходится время от времени повторять, но они не влезают в функциональные клавиши или исполняются не слишком часто. Такими действиями бывают, например, сборка, копирование или запуск многофайловой программы.

Командный файл может содержать элементы диалога с пользователем. Так, для вывода текстового сообщения в файле должно содержаться это сообщение (с начала строки), оканчивающееся 'УПР Ь' или начинающееся с ';', возможна также подача звукового сигнала ('УПР Г') или ожидание нажатия любой клавиши (следует включить в файл строку '215G').

Часть команд командного файла можно сделать невидимыми при исполнении файла (отключить эхо), чтобы не засорять экран. Для этого служит управляющий код 'УПР Н'. При этом отображение на экран новой информации прекращается. Включение отображения осуществляется также подачей 'УПР Н'.

В командном файле могут присутствовать все команды системы, в том числе '[COPY' и смена текущего дисковода. Отметим, что если командный файл содержит команду '[EXEC', то его исполнение прекращается и начинается исполнение заданного командного файла. Так как командный файл загружается с диска по частям, то нельзя заменять диск в дисководе до окончания загрузки файла.

.сс

.цв

3. РЕЗИДЕНТНАЯ ПРОГРАММА.

.ов

Как уже было сказано в предисловии, ряд полезных программ содержится в ядре системы. Кроме того, возможно исполнение программ типа 'В' ("бинарных") и командных файлов. Однако и это не все. Есть еще один тип программ, которые работают в системе. Это так называемые резиденты, т.е. программы, находящиеся в памяти постоянно. Резидентами, как правило, являются программы, которые полезно всегда иметь под рукой или программы, требующие для своей работы особенно много оперативной памяти.

В оперативной памяти (не считая виртуального диска) может одновременно находиться один резидент длиной до 16 кб. Вы можете многократно вызывать его из системы командой 'Т' и возвращаться из него обратно в систему. Но, в отличие от программ, входящих в ядро системы, резидент может быть заменен.

На диске резиденты хранятся в файлах типа 'S'. Для замены резидента в памяти служит команда '[BOOT name', где name - имя загружаемого файла. Так, при исполнении команды '[BOOT MATR.SYS' в область памяти, зарезервированную для хранения резидента, будет загружена программа-резидент, содержащаюся в файле с именем 'MATR.SYS', после чего она будет запущена.

Кроме того, один резидент находится на системном диске в теле системы и попадает в память машины сразу при загрузке. Для замены этого резидента на тот, который Вы загрузили командой '[BOOT', служит команда '[STORE', при этом в текущем дисководе должен находиться системный диск.

Хотелось бы отметить, что многие резиденты, написанные для прообраза "The Best" - системы "Best tool kit", в новой системе работать не будут, т.к. не все они были написаны корректно.

.сс

.ст SYSTEM.DOC.3

[an error occurred while processing this directive]