ВВЕДЕНИЕ
В последнее время с компьютерами ZX SPECTRUM получил широкое распространение
BETA-диск интерфейс с дисковой операционной системой TR-DOS (версии 5.0x) фирмы
Technology Research Ltd. Эта система коренным образом изменяет возможности старого доброго
SPECTRUMа, превращая его в весьма эффективный инструмент.
Самые краткие характеристики TR-DOS сводятся к следующим:
ЛЕГКИИ И БЫСТРЫЙ ДОСТУП - загрузка любой программы, имеющейся на диске,
происходит за несколько секунд;
ШИРОКИЙ ВЫБОР ДИСКОВОДОВ - 5.25" или 3.5", 40 или 80 дорожек, одно- или
двухсторонние (см. далее);
ЕМКОСТЬ - до 4 дисководов одновременно. Данные хранятся с
двойной плотностью, что дает суммарную емкость до 2.5 MB;
ГИБКОСТЬ - интерфейс независим, Вы можете использовать дисководы
с другими компьютерами;
СОВМЕСТИМОСТЬ - интерфейс можно использовать с компьютерами
SPECTRUM, SPECTRUM+ и SPECTRUM 128;
АВТОСТАРТ - автоматически запускает BASIC-программу, "boot" после
включения питания или сброса (только в SPECTRUM 48);
АВТОМАТИЧЕСКАЯ ПРОВЕРКА - автоматически проверяет и согласовывает систему с
параметрами дисковода;
"ВОЛШЕБНАЯ" КЛАВИША - благодаря ей вы можете сбросить на дискету текущую
программу (см. далее);
СИСТЕМНЫЙ ПЕРЕКЛЮЧАТЕЛЬ - дает возможность отключать интерфейс для стандартной
конфигурации или используется для сброса;
РАБОТА С ФАЙЛАМИ - TR-DOS работает со всеми типами файлов, имеющимися у
SPECTRUMa - программами (В), кодами (С), числовыми и знаковыми массивами (D), и, кроме того, с дисковыми файлами с последовательным и произвольным доступом, тип которых обозначается как (#);
СИНТАКСИС - самый простой, с использованием ключевых слов;
TR-DOS содержится в ППЗУ и использует только 128 байтов ОЗУ.
КРАТКИЙ ПЕРЕЧЕНЬ КОМАНД TR-DOS
*"A : " |
COPY B |
OPEN# |
*"B : " |
FORMAT |
PEEK |
*"C : " |
GO TO |
POKE |
*"D : " |
ERASE |
PRINT# |
40 |
LIST |
RANDOMIZE USR 15616 |
80 |
LIST#3 |
RANDOMIZE USR 15619:REM: |
CAT |
LOAD |
RETURN |
CAT#3 |
INPUT# |
RUN |
CLOSE# |
MERGE |
SAVE |
COPY |
MOVE |
VERIFY |
COPY s |
NEW |
|
Примеры:
FORMAT "$NAME" - форматирование диска, как одностороннего. COPY "новый","старый" CODE - копирование на одном диске. COPY s "имя" - копировать на другой диск на одном дисководе. COPY "А:имя","В:имя" - копирование файла с дисковода B: на A:. COPY "В:*","А:*" - копирование всех файлов с дисковода A: на B:. NEW "новый","старый" - переименование файла (только в DOS). GO TO "$имя" - запуск MAGIC-CODE - файла с прерываниями IM2. PEEK "имя" адрес, сектор - чтение сектора N из файла в память.
POKE "имя" адрес, сектор - запись из памяти в файл сектора N (N от единицы до числа, указанного в CAT для данного файла).
OPEN #Ы,"имя"^ - открыть последовательный дисковый файл для записи (WRITE), с номером канала N от 4 до 15.
OPEN #4,"имя",Я - то же, но для чтения (READ).
PRINT #4;"TEXT" - вывод в дисковый файл с номером канала 4.
INPUT #4;T$ - ввод из файла в строковую переменную.
OPEN #N, "имя",RND, длина_записи - открыть дисковый файл с произвольным доступом (запись и чтение).
PRINT #4;номер_записи, Т$ - вывод Т$ в файл с произвольным доступом. INPUT #^*(номер_записи), Т$ - ввод записи файла в переменную. CLOSE #N - закрыть дисковый файл с номером N (обязательно!).
КОДЫ ОШИБОК ПРИ ВЫЗОВЕ ИЗ BASICa
Коды ошибок можно получить из DOS - переменной 23823 или через BASIC-переменную (например, err) следующим образом: LET err=USR 15619 : REM : команда DOS Значение кодов ошибки:
0 - нет ошибок
1 - нет файла
2 - файл уже существует
3 - нет места на диске
4 - каталог переполнен (уже записано 128 файлов)
5 - переполнение номера записи
6 - нет диска
7 - ошибка на диске
8 - ошибка синтаксиса
10 - канал уже открыт
11 - диск не форматирован
12 - канал не открыт
Иногда полезной бывает конструкция, имеющая следующий вид INPUT #9*USR 15619:.., которая при ошибке загрузки вызывает остановку программы.