ДИСКОВАЯ

ОПЕРАЦИОННАЯ СИСТЕМА

TR-DOS

для

ZX-SPECTRUM-совместимых

персональных компьютеров

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Scan, OCR & spellcheck by NUK

СОДЕРЖАНИЕ


ВВЕДЕНИЕ
1. КРАТКИЕ СВЕДЕНИЯ О TR-DOS.
2. СПРАВОЧНИК КОМАНД TR-DOS.
3. СИНТАКСИС КОМАНД
3.1 ПЕРЕХОД ИЗ TR-DOS В SOS И ОБРАТНО.
3.2 ВЫЗОВ TR-DOS ИЗ SOS И БЕЙСИК-ПРОГРАММ.
3.3 ВЫБОР ДИСКОВОДА ПО УМОЛЧАНИЮ
3.4 ВРЕМЕННЫЙ ВЫБОР ДИСКОВОДА
4. ФОРМАТИРОВАНИЕ ДИСКА
4.1 ОДНОСТОРОННИЙ ФОРМАТ
5. КАТАЛОГ ДИСКА
5.1 РАСПЕЧАТКА КАТАЛОГА
6. КОПИРОВАНИЕ ФАЙЛОВ
6.1 КОПИРОВАНИЕ НА ТОТ ЖЕ ДИСК
6.2 КОПИРОВАНИЕ И ДУБЛИРОВАНИЕ НА ОДНОМ ДИСКОВОДЕ
6.3 КОПИРОВАНИЕ И ДУБЛИРОВАНИЕ ПРИ ДВУХ ДИСКОВОДАХ
7. ПЕРЕИМЕНОВАНИЕ, УНИЧТОЖЕНИЕ ФАЙЛОВ
7.1 ПЕРЕИМЕНОВАНИЕ ФАЙЛОВ - КОМАНДА NEW
7.2 УДАЛЕНИЕ ФАЙЛА - КОМАНДА ERASE
7.3 УПАКОВКА ПРОСТРАНСТВА ДИСКА - КОМАНДА MOVE
8. СОХРАНЕНИЕ, ВЕРИФИЦИРОВАНИЕ (ПРОВЕРКА), ЗАГРУЗКА, ЗАПУСК И СЛИЯНИЕ ПРОГРАММ
8.1 КОМАНДЫ SAVE И VERIFY
8.2 КОМАНДА LOAD И RUN
8.3 КОМАНДА MERGE
9. ПЕРЕМЕЩЕНИЕ ПРОГРАММ, НАХОДЯЩИХСЯ НА КАССЕТЕ
9.1 ПРЕОБРАЗОВАНИЕ ПРОГРАММ
9.2 "ВОЛШЕБНАЯ КНОПКА"
10. ФАЙЛЫ МАССИВОВ ДАННЫХ
11. ФАЙЛЫ ПОСЛЕДОВАТЕЛЬНОГО И ПРЯМОГО ДОСТУПА
11.1 ОБЩЕЕ ОПИСАНИЕ
11.2 ФАЙЛЫ ПОСЛЕДОВАТЕЛЬНОГО ДОСТУПА
11.3 ФАЙЛЫ ПРЯМОГО ДОСТУПА
12. НЕПОСРЕДСТВЕННОЕ ЧТЕНИЕ/ЗАПИСЬ СЕКТОРА
12.1 КОМАНДА РЕЕК
12.2 КОМАНДА РОКЕ
13. СООБЩЕНИЯ TR-DOS ОБ ОШИБКАХ
13.1 СТРОЧНЫЕ СООБЩЕНИЯ
13.2 КОДЫ ОШИБОК
14. ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ О TR-DOS

ВВЕДЕНИЕ

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

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

1. КРАТКИЕ СВЕДЕНИЯ О TR-DOS.

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

В Вашем компьютере установлена дисковая операционная система TR-DOS, разработанная фирмой Technology Research (Великобритания) , которая относится к разряду так называемых "кремниевых" DOS, потому что "зашита" в специальные микросхемы (ПЗУ) и всегда присутствует в компьютере, а не требует загрузки в память со специальной дискеты.

Именно DOS обеспечивает пользователю простоту работы с дисководом, благодаря наличию в ней большого набора готовых команд и процедур. Поэтому единственное что Вам осталось, чтобы освоить компьютер - это изучить и по возможности запомнить эти команды.

2. СПРАВОЧНИК КОМАНД TR-DOS.

Команда

Функция

*"А:"

устанавливает по умолчанию дисковод "А";

*"В:" (или C,D,)

устанавливает по умолчанию дисковод "В" (или C,D);

40

устанавливает по умолчанию дисковод с 40 дорожками;

80

устанавливает по умолчанию дисковод с 80 дорожками;

CAT

отображает на экране каталог диска;

CAT#

распечатывает на принтере каталог диска;

CLOSE#

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

COPY

копирует файлы с одного дисковода на другой ;

COPY s

копирует файлы в системе с 1 дисководом;

COPY b

дублирует диск в системе с 1 дисководом;

ERASE

удаляет файлы с диска;

LIST

отображает подробный каталог диска;

LIST#

распечатывает подробный каталог диска;

INPUT#

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

MERGE

объединяет программу с диска с программой в оперативной памяти;

MOVE

упаковывает файлы на диске;

NEW

переименовывает файлы на диске;

OPEN#

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

PEEK

считывает сектор в оперативную память;

POKE

записывает сектор на диске;

PRINT#

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

SAVE

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

VERIFY

сравнивает файл на диске с файлом в оперативной памяти;

RUN

загружает и запускает программу с диска;

LOAD

загружает программу без принудительного запуска;

RETURN

осуществляет переход из TR-DOS в SOS;

RANDOMIZE USR 15616

осуществляет переход в TR-DOS из SOS;

RANDOMIZE USR 15619

осуществляет вызов команды TR-DOS из DOS.

Приведенная выше таблица - это перечень всех команд TR-DOS. Перед исполнением этих команд мы советуем Вам прочитать соответствующие разделы данного руководства. При использовании имена команд являются ключевыми словами компьютера, полученными в обычном режиме SOS. Некоторые из команд требуют дополнительных пояснений, которые будут даны в соответствующих разделах

3. СИНТАКСИС КОМАНД

TR-DOS является гибкой системой и Вы можете получить доступ к дисковой системе следующими способами:

а) непосредственно из TR-DOS
б) прямой вывод из TR-DOS
c) из бейсика
d) из программы в машинных кодах.

Всегда в TR-DOS Вы увидите подсказку в виде литеры дисковода и стрелки. Команды TR-DOS могут быть введены непосредственно после подсказки TR-DOS "A>"

3.1 ПЕРЕХОД ИЗ TR-DOS В SOS И ОБРАТНО.

Для перехода в SOS используется команда RETURN.

Для перехода из SOS в TR-DOS, когда мигает К-курсор, требуется ввести следующее:

RANDOMIZE USR 15616

Если у Вас только один дисковод, то Вы возвратитесь на дисковод "А", если два дисковода, то это команда возвращает Вас к тому дисководу, который был выбран последним.

3.2 ВЫЗОВ TR-DOS ИЗ SOS И БЕЙСИК-ПРОГРАММ.

Синтаксис команд всегда одинаков, но может быть использован соответствующий префикс, если команда вызывается из SOS или из программы. Когда команда вводится непосредственно из SOS, она выполняется и происходит возврат в SOS. В этом случае префикс будет следующим:

RANDOMIZE USR 15619:REM:
например:
"В:"

Использование 15619 вместо 15616 сохраняет управление в SOS. Действие команды CAT осуществляется на дисководе "В".

Если команда не выполняет функцию запуска программы, такую как RUN, она будет завершать действие подсказкой "А>", если она введена из TR-DOS и "ОК 0,1" если введена из SOS. Например:

А>САТ <ENTER> приводит по окончании к подсказке "А>"

RANDOMIZE USR 15619:REM:CAT <ENTER> приводит к "ОК"

Хотя возможно выполнение команды из SOS, это не рекомендуется. Во-первых, намного меньше вероятность появления неприятностей, если все действия осуществлять из TR-DOS. Во-вторых, надо намного меньше нажимать клавиш и в третьих, отображаются литеры дисковода по умолчанию, что позволяет избежать нелепых ошибок, которые могут привести к потере ценных данных.

Когда команды TR-DOS включены в программу бейсика, префикс следующий:

RANDOMIZE USR 15619:REM:

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

10 INK 7:PAPER 1:LOAD "" CODE: GO SUB 500:
CLS: PRINT "PRESS ANY KEY"

преобразования для диска.

10 INK 7:PAPER1:RANDOM1ZEUSR 15619:REM:LOAD "TITLE" CODE
20 GO SUB 500:PRINT "PRESS ANY KEY"

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

3.3 ВЫБОР ДИСКОВОДА ПО УМОЛЧАНИЮ

Дисковод по умолчанию, это тот, к которому можно получить доступ любой командой в которой не определена литера дисковода.

При включении питания или сбросе системы дисководом по умолчанию является "A". TR-DOS поддерживает до 4 дисководов. Чтобы сменить дисковод по умолчанию вводится следующая команда:

*"DRIVE:"

где DRIVE - А,В,С или D.например:

*"В:" - сменить на "В"
*"А:" - сменить на "А"

После смены дисковода "А" на "В", все следующие команды будут иметь доступ к дисководу "В" пока не будет оговорено что-либо другое. Если подключен только один дисковод, на экране остается "А>" и гибкий режим с несколькими дисководами, описанный а этом руководстве, не реализуется.

3.4 ВРЕМЕННЫЙ ВЫБОР ДИСКОВОДА

Иногда нужно оставаться на одном дисководе по умолчанию, но получить доступ к к другому дисководу. Синтаксис для этого - суффикс к команде, указывающий требуемый дисковод. Суффикс напоминает смену дисковода но без "*", то есть

"А:" или "В:" или "С:"

пример полного высказывания из SOS:

RANDOMIZE USR 15619:REM:LOAD "B:PROGRAMM"

Это позволяет загрузить "PROGRAMM" с дисковода "В" безотносительно того какой дисковод установлен по умолчанию.

LOAD "B:PROGRAMM"

Это позволяет загрузить "PROGRAMM" с дисковода "В", но оставить по умолчанию дисковод "А" для дальнейшей работы TR-DOS.

4. ФОРМАТИРОВАНИЕ ДИСКА

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

Чтобы отформатировать диск, вставьте его в дисковод по умолчанию и закройте "карман". Введите ключевое слово FORMAT за которым следует название диска в кавычках. Название может иметь не более 8 символов в любом регистре, включая пробелы, например:

FORMAT "CONTACT"

по окончании на экране высветится:

CONTACT 2544/2544 А>

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

4.1 ОДНОСТОРОННИЙ ФОРМАТ

Существует случаи когда необходимо отформатировать диск как односторонний. В этом случае первый символ в имени должен быть "$", т.е.:

FORMAT "$COUPER"
1264/1264
A>

5. КАТАЛОГ ДИСКА

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

CAT или LIST

Вы можете отобразить каталог диска не только на дисковод по умолчанию:

CAT"B:" или LIST"B:"

эти команды могут быть вызваны из SOS:

RANDOMIZE USR 15619;REM:CAT"A:" или
RANDOMIZE USR 15619:REM:LIST"A:"

Информация отображаемая на экране командой CAT:

1) название диска;
2) количество файлов;
3) количество стертых файлов;
4) количество свободных секторов;
например:

Title: CONTACT Имя диска
4 File(s) диск в дисководе "А"
1 Del File(s) 4 файла + 1 стертый
A: BONE <B> 12 В-бейсик-программа длиной 12 секторов
A:BONE1 <С> 6 С-блок машинных кодов длиной 12 секторов
A:BONE2 <1> 13 1-файл посл./прям, доступа 13 секторов
A:BONE3 <D> 7 D-массив данных длиной 7 секторов
Free 2503 2544-38=2506, стертый файл занимает 3 сектора.
Свободны 2503 сектора
А> по умолчанию диск "А"

Если количество файлов больше 30, появится надпись "scroll" (листать?) При нажатии любой клавиши компьютер продолжит отображение.

Пример выполнения команды LIST:

Title: CONTACT Disk Drive: В
4 File(s) 80 Track D. Side
1 Del File(s) Free Sector 2480
File Name Start Lenght Line
POOLCAL <B> 5 00289 01200 25
POOLI <C> 32 32768 08000
POOLFACT <1> 7 01780 01780
POOLBONE <D> 8 30000 32000

Картинка показывает все обычные подробности диска, который находится в дисководе "В": то что он 80 дорожечный, двухсторонний, с четырьмя файлами и 2480 свободными секторами (около 620к свободны) . В добавление к подробностям CAT о названии, типе и размере добавляются начальный адрес, длина и, если файл - это бейсик-программа, то строку запуска программы.

5.1 РАСПЕЧАТКА КАТАЛОГА

Если к Вашему компьютеру подключен принтер, TR-DOS позволяет создать точную копию каталога диска на бумаге.

CAT # - отошлет каталог на принтер через канал #4
LIST #,"B:" - отошлет расширенный каталог дисковода "В" на принтер.

6. КОПИРОВАНИЕ ФАЙЛОВ

Имеется три команды для копирования файлов:

COPY - для обычного копирования файлов
COPY s - для копирования файлов в системе с одним дисководом
COPY b - для дублирования в системе с одним дисководом .

Основной синтаксис:

COPY "NEW FILE'","OLD FILE" TYPE, где TYPE-тип файла

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

6.1 КОПИРОВАНИЕ НА ТОТ ЖЕ ДИСК

Вставьте диск, который надо копировать, в дисковод. Первое, что надо сделать, это вызвать CAT на диске. Необходимо сообщить TR-DOS имя файла, который будет копироваться и имя под которым он будет записан, т. е.: COPY "BRANDY","WHISKY"CODE

Заметим, что новые и старые имена файлов должны быть в кавычках и разделяться запятой. Представьте себе, что существует мифическая программа в машинных кодах, относящаяся к спиртным напиткам, мы должны добавить "CODE". Нажмите "ENTER" и команда исчезнет на пару секунд. Когда подсказка TR-DOS снова появится, не будет заметно такой перемены. Снова выдав команду CAT, мы увидим на диске новый файл BRANDY <C>.

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

STOCKPILE <C> применимо, потому, что различны
STOCKPILE <B> типы файлов.

Использование этого принципа дает возможность повторить предыдущий пример без перехода от общего терминала "WHISKY" к частностям.

COPY "WHISKY", "WHISKY"CODE или
COPY "WHISKY2", "WHISKY"CODE

Мы рассмотрели копирование только на тот же диск. Процедура копирования на другой диск зависит от того, есть ли у Вас второй дисковод.

6.2 КОПИРОВАНИЕ И ДУБЛИРОВАНИЕ НА ОДНОМ ДИСКОВОДЕ

Если у Вас только один дисковод, то обычная команда COPY не может быть использована. Для системы с одним дисководом предназначены команды "COPY s" и "COPY b".

Первая команда (COPY s) используется для копирования одного файла с одного диска на другой, используя тот же дисковод. При этом вторая команда (COPY b) используется для дублирования диска на другом диске, т. е. копирования всех файлов. Несколько примеров команды COPY s:

COPY s "WINES" или
COPY s "BEER"CODE

где "WINES" и "BEER"CODE - соответствующие файлы.

Чтобы убедиться, что Вы не вставили в дисковод не тот диск, Вам подсказывают, что надо вставить диск-источник и нажать "Y" BACKUP DISK Insert Source Disk then press Y

Прочитав диск, программа подсказывает Вам заменить его другим (диском-приемником) и нажать "ENTER".

BACKUP DISK
Insert Destination Disk then press Y

Практике создания дублирующей копии всех программ нужно придавать большое значение. Это убережет Вас от многих неожиданностей и предотвратит потерю любимой программы или очень важных данных. При операциях, основанных на использовании кассеты, это требует много времени. Когда должна копироваться ценная программа, лента перематывается, а затем программа верифицируется. Это будет долгая процедура. С TR-DOS и диском это займет меньше минуты, чтобы скопировать, а затем при желании перезагрузить программу, чтобы проверить, что на самом деле все в порядке. В действительности, дублирование программы состоит в создании копии на другом диске, который существует как дубликат.

Команда "COPY b" действует как расширение программы "COPY s". Программа запускается вводом "COPY b". После этого на экране появится сообщение, как и в предыдущем случае, какие диски вставлять, и какие клавиши нажимать.

6.3 КОПИРОВАНИЕ И ДУБЛИРОВАНИЕ ПРИ ДВУХ ДИСКОВОДАХ

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

Введите ключевое слово, за которым следуют два названия в кавычках, но на сей раз установите временный выбор дисковода (А: и В:) . Находясь на различных дисках, мы можем использовать, если хотим, одинаковые имена файлов, т. е. :

COPY "A:WHISKY","B:WHISKY"

Хотя дисковод по умолчанию - это "В", мы копируем с диска "В" на диск "А" и используем то же имя которого не было на диске "А". Т. е. после команды первой указывается литера диска-приемника.

Операция дублирования намного проще при использовании системы с двумя дисководами. Диск, который будет копироваться, помещается а один дисковод "А" как источник, а дисковод "В" - как приемник. Командный синтаксис напоминает копирование единственного файла с "*", которая заменяет имя файла:

COPY "В:*","А:*"

Введя эту команду мы сделаем передышку, если имена файлов не дублируются и принимающий диск имеет достаточно места для размещения всех файлов, все закончится возвратом к подсказке "А>".

Если имя файла дублируется, то появляется сообщение об ошибке: "File exist(s) . Overwrite ? Y/N"(Файл уже существует. Переписать ? Да/Нет) .

7. ПЕРЕИМЕНОВАНИЕ, УНИЧТОЖЕНИЕ ФАЙЛОВ

7.1 ПЕРЕИМЕНОВАНИЕ ФАЙЛОВ - КОМАНДА NEW

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

В отличие от других команд TR-DOS, диск должен быть в дисководе по умолчанию и это должен быть дисковод "А". Это одна из дисковых команд, для которых Вы должны находиться в TR-DOS, использовать дисковод "А" и ключевое слово NEW. Сначала выведите каталог диска, чтобы получить на экране имя файла, которое Вы будете менять. Введите ключевое слово "NEW", за ним новое имя файла (как всегда в кавычках) , затем существующее, разделив их запятой

NEW "BOOT", "PROG

Нажмите "ENTER" и подсказка исчезнет на пару секунд. Когда она появится снова, Вам покажется, что ничего не произошло. Повторите CAT, снова появится каталог, показывающий, что "BOOT" заменил "PROG".

7.2 УДАЛЕНИЕ ФАЙЛА - КОМАНДА ERASE

Если файл на диске устарел и больше не требуется, его можно удалить:

ERASE "OLDPROG" или
ERASE "OLDPROG"CODE

Когда после выполнения команды снова появится подсказка, команда CAT сообщит, что файл удален, и этот факт запишется в заголовке каталога, как количество удаленных файлов.

7.3 УПАКОВКА ПРОСТРАНСТВА ДИСКА - КОМАНДА MOVE

Когда файл удален, сектора, которые он занимал, нельзя использовать для других файлов. Чтобы восстановить "утерянные" удаленными файлами сектора, мы используем команду MOVE.

MOVE или MOVE "В:"

Хотя приведенный выше пример правилен, предпочтительнее выполнять команду так, чтобы рабочий дисковод был дисководом по умолчанию. Это команда, которая обязательно должна быть использована в TR-DOS, а не в SOS. Перейдя в TR-DOS, мы выполнили программу CAT для изучения диска, возможно сделали некоторые удаления и заканчиваем командой восстановления пространства MOVE.

Всю работу по организации диска и ее директория делает сама команда MOVE. По окончании снова появляется подсказка TR-DOS.

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

8. СОХРАНЕНИЕ, ВЕРИФИЦИРОВАНИЕ (ПРОВЕРКА), ЗАГРУЗКА, ЗАПУСК И СЛИЯНИЕ ПРОГРАММ

Все эти команды оперируют с файлами. Файл на диске может быть бейсик-программой, программой в машинных кодах, файлом с массивом данных, последовательным файлом или файлом прямого доступа. Данный раздел охватывает бейсик-программы и программы в машинных кодах.

Во время всех пяти операций: сохранение, верификация, загрузка, запуск, слияние -клавиша "BREAK" используется для прерывания команды. Если в дисководе нет диска, команда будет прервана, и на экране появится сообщение об ошибке: "No disk"(нет диска) . Также если диск не содержит файлов, отобразится сообщение об ошибке "No file(s)" (нет файла) .

8.1 КОМАНДЫ SAVE И VERIFY

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

SAVE"HONDACC"LINE 100
SAVE "GRAPH"LINE
SAVE "A: DESIGN"

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

SAVE "DISCOIT"CODE 47800,955
SAVE "B:COLLEC"CODE 32768,40000

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

VERIFY "A: DESIGN"
VERIFY "DISCOIT"CODE 47800,9500

Если файл на диске и в памяти отличны друг от друга, то сообщение об ошибке верификации отразится на экране.

8.2 КОМАНДА LOAD И RUN

Если бейсик-программа записана с автозапуском с номера строки, например

SAVE "INTEREST" LINE 25

То она автоматически запустится при использовании команд LOAD или RUN. Если бейсик-программа записана без автозапуска, то команда LOAD произведет загрузку программы без последующего запуска, в то время как команда RUN загрузит и произведет запуск с первой строки. Например:

LOAD "INTEREST" RUN "DESIGN"

Если Вы введете LOAD или RUN без имени файла, TR-DOS загрузит или запустит бейсик-лрограмму с именем "boot", если такая на диске есть.

Как видно из вышеприведенных примеров, синтаксис такой же, как и в бейсике-64. Программы в машинных кодах могут быть загружены с того же адреса, с которого они были записаны, т.е. :

LOAD "SALECALC"CODE

или загружены с другого адреса, путем определения загрузочных инструкций, т.е. :

LOAD"MARGIN"CODE 51000

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

RUN "DISCOUNT"CODE 47800

Альтернативной является использование двухстрочного загрузчика, т.е., записав следующую программу на диск, например с именем "DCTLOAD":

10 RANDOMISE USR 15619:REM:LOAD"DISCOUNT"CODE 47800
20 RANDOMISE USR 47838

Чтобы запустить программу, введите команду RUN "DCTLOAD", которая загрузит машинный код и запустит его с адреса 47838.

Двухстрочный загрузчик необходим, потому что команда TR-DOS должна быть последней в строке.

8.3 КОМАНДА MERGE

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

MERGE "SOBCOUL"
MERGE "B:FUNST"

9. ПЕРЕМЕЩЕНИЕ ПРОГРАММ, НАХОДЯЩИХСЯ НА КАССЕТЕ

Если кассетная программа была написана Вами, то при копировании ее затем на диск Вы загружаете Вашу программу с кассеты в SOS, как обычно. Программа может быть записана на диск непосредственным вводом с клавиатуры, т. е. :

RANDOMISE USR 15619:REM:SAVE "XXX"
RANDOMISE USR 15619:REM:SAVE"XXX"CODE NNNNN, DD

Многие другие программы могут быть скопированы путем использования специальных копировщиков. Мы рекомендовали бы Вам использовать для этих целей программу Николая Родионова PCOPIER. Синтаксис для этих программ может потребовать преобразований, чтобы работать в TR-DOS. Для программ, которые нельзя преобразовать и запустить с диска, может быть использована "волшебная кнопка" (MAGIC BUTTON) .

9.1 ПРЕОБРАЗОВАНИЕ ПРОГРАММ

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

Для программ, которые используют бейсик в качестве интерфейса, преобразование для использования в TR-DOS относительно простое. Другие программы могут потребовать изменить их для запуска TR-DOS. Некоторые сложные программы могут потребовать использования "волшебной кнопки", как единственного средства решения проблемы.

Вы должны иметь возможность доступа ко всем командам LOAD или SAVE в первоначальной бейсик-программе, которая требует изменения, т. е. первым делом "пролистать" ее. Применяемые методы изменяются в зависимости от особенностей программы, В некоторых случаях минимального и быстрого просмотра листинга достаточно для размещения команд. Другие программы могут иметь несколько операций LOAD и SAVE. Простейший путь при этом - перемещаться по строкам программы в поиске инструкций LOAD и SAVE. Как только такая команда найдена, она модифицируется путем обычного префикса.

RANDOMISE USR 15919:REM:

Это выражение вставляется перед имеющимися в программе LOAD и SAVE. Нужно запомнить еще два пункта:

1) команда TR-DOS должна быть последней в командной строке;
2) нужно принять во внимание какой дисковод выбран.

Первый пункт часто требует некоторых небольших изменений в нумерации и содержании строк. Следующий пример иллюстрирует оба пункта.

Существующая программа:


500 IF X=5 THEN INPUT"NAME"; N:SAVE N DATA C() : VERIFY N DATA C() : GO SUB 700
505 IF X=V GO SUB 800: INPUT"TITLE"; T:SAVE:SAVE Т CODE 50000, 575
506. ...................

Новая программа:
500 IF X=5 THEN INPUT"NAME"; N:RANDOMIZE USR 15619:REM:SAVE N DATA C()
502 GO SUB 700
504 IF X=V THEN GO SUB 800: INPUT "TITLE"; T:RANDOMIZE USR 15619: REM:SAVE T
505 RANDOMIZE USR 15619: REM:SAVE Т CODE 50000,575
506. ...................

Нумерация строк меняется от программы к программе. Неиспользуемые номера строк 502 и 504 были нужны для того, чтобы позволить вставить существенную первую строку в команды TR-DOS. Также могла понадобиться корректировка других строк, не включающих непосредственно команд TR-DOS для создания достаточного места для вставок. Все время нужно наблюдать за ходом программы.

Итоговые правила преобразования:
1) команда TR-DOS должна быть последним утверждением в строке;
2) необходимо добавить ко всем существующим программам LOAD и SAVE только префикс RANDOMIZE USR 15619:REM:
3) убедитесь, что используется правильный дисковод, если у Вас есть более одного дисковода;
4) все файлы должны иметь имя;
5) проверьте ход программы при добавлении промежуточных строк.

9.2 "ВОЛШЕБНАЯ КНОПКА"

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

Существует много программ, написанных таким образом, что их трудно или невозможно преобразовать или запустить с диска. Это могут быть программы со сложной защитой, или программы, в которых основной программе используется LOAD и SAVE для файлов с данными. Поскольку при этом невозможно использование команд TR-DOS, требуется другой подход. Предположим, что программа загружена. Вместо использования в программе собственных команд LOAD и SAVE, используется "волшебная кнопка" для того, чтобы выгрузить всю программу на диск. Последующая перезагрузка означает загрузку всего пакета вместо просто файла с данными. Неудобство состоит в том, что мы имеем нестандартную версию всего пакета . Это снижает скорость и гибкость работы на диске.

Для этой цели должен быть подготовлен отформатированный чистый диск, и при использовании он должен быть вставлен в дисковод "А". Если все это сделано, следующий текст подробно укажет Вам необходимые операции (предполагается, что Вы в TR-DOS) :

1) возвратить в бейсик вводом "RETURN<ENTER>";
2} на короткое время переведите системный переключатель в положение SOS;
3) очистите память, введя "RANDOMIZE USR 0 <ENTER>";
4) загрузите и запустите программу как обычно;

5) после того как программа загружена и запущена, нажмите "волшебную кнопку" и тут же отпустите ее. После этого память компьютера выгружается на диск и храниться на диске как

файл. Причем создается только один файл, который содержит все 48К оперативной памяти. Каталог покажет, что его имя "@", а тип CODE.

Title: TEST
1 File(s)
0 Del. File(s)
A:@ <C> 192

Чтобы перезагрузить файл, используется синтаксис, отличный от обычного LOAD или RUN. Для запуска используется используется ключевое слово "GO TO" с расширением CODE.

GO TO "@"CODE

Программа может быть переименована или скопирована на другой диск со своим именем и запущена командой GO TO:

NEW "GAMES1", "@"CODE COPY "B:GAMES1","A:@" CODE

При запуске "GAMES1", если диск находится на дисководе "А", синтаксис будет следующим:

GO TO "GAMES1"CODE

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

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

10. ФАЙЛЫ МАССИВОВ ДАННЫХ

Команда SOS для загрузки или сохранения строчного массива, названного MONEY:

LOAD "MONEY"DATA М() или
SAVE "MONEY"DATA M()

Для строчного требуется добавлять знак "$":

LOAD "MONEY"DATA M$()

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

RANDOMIZE USR 15619:REM:LOAD:"MONEY"DATA M() или
RANDOMIZE USR 15619:REM:LOAD:"MONEY"DATA M$()

При копировании, стирании или создании нового файла данных команда всегда должна заканчиваться указанием типа файла, т. е. DATA, иначе TR-DOS предполагает, что это файл бейсика:

COPY "A:MONEY","B:MONEY"DATA

11. ФАЙЛЫ ПОСЛЕДОВАТЕЛЬНОГО И ПРЯМОГО ДОСТУПА

11.1 ОБЩЕЕ ОПИСАНИЕ

Файлы с обычным форматом данных рассматривались в предыдущем разделе. В TR-DOS возможны два дополнительных типа файлов данных: это файлы последовательного и прямого доступа. Чтобы использовать эти два типа файлов. Вы должны сначала открыть канал. Компьютер имеет 15 каналов. SOS резервирует каналы с 0 по 3 для собственных нужд, а каналы с 4 по 15 доступны TR-DOS. Когда открыт канал для файла последовательного или прямого доступа, то используются 336 байт оперативной памяти. Числовые и строковые элементы могут быть сохранены в файле с данными. Числовые переменные преобразуются в строковые компьютером.

Файл последовательного доступа сохраняет файл частями, наподобие магнитофонной кассеты. Чтобы прочитать строчку в конце файла, нужно начать с начала файла.

Файлы прямого доступа, с другой стороны, сохраняют данные как набор записей. Любая запись в этих может быть записана или прочитана путем определения номера этой записи. Поэтому, получить доступ к последней записи так же просто, как и к первой, Другие команды TR-DOS для выбора дисковода, копирования, изменения заголовков и т. д. в равной степени

используют оба способа доступа. Единственное отличив состоит в типе признака файла - "#", вместо CODE или DATA, т. е. :

COPY "B:PHONE","A:PHONE"#
NEW "NEWFILE","OLDFILE"#

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

11.2 ФАЙЛЫ ПОСЛЕДОВАТЕЛЬНОГО ДОСТУПА

Файл последовательного доступа может быть открыт командой WRITE:


10 LET DOS=15619
20 RANDOMIZE USR DOS: REM: OPEN#4,'TEST"#,W
30 PRINT #4: "THIS IS A TEST LINE"
40 RANDOMIZE USR DOS: REM:CLOSE #4

Отметим использование DOS вместо 15619. Символьная строка в 30 строке программы будет записана в файл TEST на диске. Если файл не будет закрыт, данные будут утеряны. Любой закрытый файл может быть повторно открыт для записи и чтения, изменения и повторной записи под другим именем. Открытие файла командой READ:

OPEN #(номер канала) , "имя файла", R

Когда открыт канал для READ, ключевое слово INPUT в SOS используется для чтения данных в этом канале:


10 LET DOS1 = 15619
20 RANDOMIZE USR DOS: REM:OPEN#7, "TEST", R
30 INPUT #7, 8$

Данные из файла TEST будут записаны в переменную В$.

11.3 ФАЙЛЫ ПРЯМОГО ДОСТУПА

Файл прямого доступа - это файл, который содержит набор записей, пронумерованных с О и так далее. Длина записей (максимум 254 байта каждая) выбирается и определяется при первом открытии файла. Записи сохраняются, как одна строка длиной, менее указанной, и заканчивается "ENTER". Оставшиеся байты этой записи не определяются.

Любая строка, которая длиннее, чем указано, будет "обрезана" до указанной длины и сохранена без "ENTER".

Когда файл прямого доступа открыт впервые, TR-DOS определяет 16 секторов (примерно 4К) в этом файле. Тем самым предполагается, что длина файла - 4К. Открытие файла прямого доступа:

OPEN #(номер канала) , "имя файла", (длина записи)

Чтобы произвести запись в файл, префикс RANDOMIZE не требуется для команд PRINT и INPUT:

PRINT #(номер канала) ,(номер записи) ,(имя переменной)

Например:


50 LET D$="TEST"
100 RANDOMIZE USR 15619: REM: OPEN #8, "ADR"RND, 100
150 PRINT #8; 72, D$

Канал открыт для ADR, в котором на каждую запись отводится 100 байт. Содержимое D$ помещается в запись номер 72 в этом файле. В отличие от файла последовательного доступа Вы можете читать и записывать в то время, когда файл открыт. Чтобы прочитать запись из файла:

INPUT #(номер канала) .(номер записи) ,(имя переменной)

Например:


50 LET A$,B$
60 PRINT A$,B$
100 RANDOMIZE USR 15619: REM: OPEN #12,"TEST"RND,20
110 PRINT #12;20,A$
120 PRINT #12;15,B$
570 INPUT#12;15,A$
580 INPUT #12;20,B$
600 PRINT A$,B$
990 RANDOMIZE USR 1561S: REM:CLOSE #12

В строке 570 запись номер 15(запомните, что на самом деле это 16 запись) читается и помещается в А$. Когда все операции с файлом закончены, канал должен быть закрыт, как показано в строке 990. Содержимое файла будет утеряно, если питание компьютера выключить до закрытия канала.

12. НЕПОСРЕДСТВЕННОЕ ЧТЕНИЕ/ЗАПИСЬ СЕКТОРА

В добавление к трем типам файлов с данными, описанных в двух предыдущих пунктах, TR-DOS .также имеет возможность непосредственного чтения/записи сектора файла на диске (один сектор - 256 байт) .

12.1 КОМАНДА РЕЕК

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

РЕЕК "имя файла"(нач. адрес в памяти) , (номер сектора)

Иначе:

PEEK "RECORD" 30023,5

В этом примере читается 5 сектор файла RECORD, и его содержимое записывается в оперативную память с адреса 30023.

12.2 КОМАНДА РОКЕ

Команда РОКЕ позволяет Вам записывать сектор с данными из оперативной памяти в файл на диске. Синтаксис аналогичен команде РЕЕК.

РЕЕК "имя файла"(нач. адрес в памяти) , (номер сектора)
иначе:

POKE "B:OLD"30024,10

В этом примере содержимое области оперативной памяти, начинающейся с адреса 30024 и длиной в один сектор, записывается в 10 сектор файла "OLD" на диске "В". Так как эта команда изменяет содержимое файла на диске, ее надо использовать с осторожностью.

13. СООБЩЕНИЯ TR-DOS ОБ ОШИБКАХ

13.1 СТРОЧНЫЕ СООБЩЕНИЯ

Когда Вы вводите команду TR-DOS, она будет выполняться. Если же эту команду TR-DOS не может воспринять (например LOAD, RUN, FORMAT и т. д. ) , TR-DOS проигнорирует ее. Если имеется синтаксическая ошибка или ошибка при выполнении команды, то сообщение об этом появится на экране. Сообщения об ошибках и о том, чем они вызваны, приведены ниже.

(1) No file(s)

Нет диска, диск не размечен или открыт "карман" дисковода. Команда отображается на экране после "А>", Вы можете вставить диск или закрыть дверцу дисковода и ввести <ENTER> для выполнения той же команды.

(2) No file(s)

TR-DOS не может найти файл на диске. Файла с таким именем или таким расширением (<В>,<С>,и т. д. ) нет на диске.

(3) *ERROR*

Это сообщение появится, если есть синтаксическая ошибка в команде.

(4) Out of RAM

Это сообщение появится при загрузке программы с диска в случае недостаточного объема ОЗУ, и при использовании команды MOVE, если нет необходимых 4К рабочего пространства в памяти.

(5) File exists

Файл с таким же именем и типом, как и тот, который Вы хотите сохранить, уже существуют на диске.

(6) File exists. Over Write? (Y/N)

Это сообщение может появиться, когда копируются все файлы с одного диска на другой. Уже есть такой файл. Y - переписать и N - игнорировать его.

(7) Disk error

Trk XX Sec YY

Retry, Abort, Ignore?

Диск имеет сбой на дорожке XX в секторе YY. Ввести:

"R" - еще раз попытаться
"А" - исключить эту операцию и вернуться в TR-DOS
"I" - игнорировать и продолжать дальше

(8) Read Only Trk XX Sec YY Retry, Abort, Ignore?

Диск защищен от записи.

(9) Verify error

Ошибка при проверке файла. Файл на диске не такой, как файл в памяти.

13.2 КОДЫ ОШИБОК

Все сообщения об ошибках появляются только из TR-DOS. Если команда поступила из SOS или из программы в машинных кодах, то сообщения не появятся на экране. Однако они хранятся в регистровой паре.


Коды ошибок: О - нет ошибок
1 - нет файла
2 - файл существует
3 - нет пространства в памяти
4 - сбой в каталоге
5 - каталог переполнен
6 - нет диска
7 - дисковые ошибки
8 - синтаксические ошибки
10 - канал уже открыт
11 - нет файла на диске
12 - канал не открыт

14. ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ О TR-DOS

1. TR-DOS занимает 112 байт в памяти.

2. Без TR-DOS память пользователя начинается с адреса 23755 с TR-DOS память пользователя начинается с адреса 23867.

3. TR-DOS для сохранения использует секторы на диске, если количество байтов превышает 256, используется следующий сектор. И так, пока весь файл не запишется. Запись 522 байтов занимает 3 сектора. Третий сектор будет занимать только 10 байтов. Только эти 10 байтов будут загружаться с диска. Оставшиеся пустые 246 байт не загружаются и не портят другие данные, которые могут находиться в памяти SOS.

В добавление к 112 байтам оперативной памяти TR-DOS также использует 256-байтный буфер при доступе к диску. Этот буфер размещается в памяти динамически.

4. При выполнении многих команд TR-DOS сначала перемещается бейсик-программа (если таковая имеется) для создания буфера. По окончании команды бейсик-программа перемещается вовсе первоначальное положение. Эта операция "прозрачна" для пользователя.

5. Команда MOVE требует минимум 4К оперативной памяти компьютера в качестве рабочего пространства. Если команда MOVE выполняется вместе с программой, которая все еще находится в памяти, необходимо будет очистить память компьютера и затем выполнить программу MOVE. Очистка памяти компьютера может быть осуществлена возвратом в SOS и вводом: "RANDOMIZE USR 0" или использованием клавиши "RESET".

6. На диске может быть сохранено не больше 128 файлов.

Hosted by uCoz