ZX-Spectrum & TR-DOS для пользователей и программистов 1994 г.

Операционная система TR-DOS - введение. Что необходимо знать о системе. Выбор дисковода. Автонастройка. Как работает система. Подготовка файловой структуры.


TR-DOS

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

При разработке ZX Spectrum в качестве базовых устройств вво-
да/вывода рассматривались два — Таре (лента, магнитофон) и Microdrive
(микродрайв). Поддержка магнитофона была прямо включена в Бейсик,
и это, как мы уже писали, позволило существенно снизить стоимость
компьютера. Согласитесь однако, что работать с лентой не очень-то
удобно, особенно если Вы используете какой-нибудь компилятор и
постоянно вынуждены перезагружать промежуточные файлы. Кроме
того, на ленте возможны только файлы последовательного доступа.
Микродрайв, будучи, по сути, той же лентой (только «замкнутой» в
«бесконечное» кольцо), позволял записывать и стирать файлы, не выни-
мая кассеты (картриджа), появилась возможность работы с файлами
прямого доступа. Но очень скоро магнитную ленту стали теснить другие
устройства хранения информации — магнитные диски, которые в конце
концов прочно заняли место основных сменных носителей информации,
сохранив область применения ленты только лишь для долговременного
хранения данных.

Не оставили без внимания и Speccy, для него было создано около
десятка различных дисковых систем. Однако «законная» дисковая сис-
тема появилась только в модели Spectrum +2А.

Мы не знаем кто и когда собрал первый отечественный вариант
дисковой системы Beta Disk Interface фирмы Technology Reasearch, но
получилось так, что именно он стал стандартом «де факто» на дисковую
систему для ZX Spectrum в нашей стране. Аппаратная часть не может
функционировать, если она не поддержана программно. Такую поддержку
для Beta Disk'a выполняет твердотельная дисковая операционная система
TR-DOS, физически расположенная в постоянной памяти платы конт-
роллера. К сожалению, приходится признать, что это не лучшая диско-
вая система для ZX Spectrum, но что сделано, то сделано.

L TR-DOS для пользователей

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

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

Заметим, что система TR-DOS прочно связана не только с ин-
терфейсом Beta Disk, но и со стандартной операционной системой
ZX Spectrum (бейсик-системой).

ЧТО НЕОБХОДИМО ЗНАТЬ О СИСТЕМЕ!

Программно система TR-DOS «скрыта» от пользователя, иными сло-
вами, в области памяти ZX Spectrum ее нет. Однако для своей работы система
все же использует небольшую часть оперативной памяти компьютера. При
первом обращении к системе в памяти появляется область системных пере-
менных TR-DOS. Более подробно об этой и других особенностях системы мы
расскажем в разделе «TR-DOS изнури», сейчас же важно отметить, что такая
область существует.

Ввод команд

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

Когда система установлена на обычный ZX Spectrum*, то войти в
среду TR-DOS можно, просто включив компьютер. На экран будет выведено
следующее сообщение:

* tr-i>os иег

5.03 *

© 1966 Technology

Research Lid.

(U.K.>

ветя 1S6 ЛШ

рж

Затем начнется процесс автозагрузки программ: если в дисковод А
вставлена дискета, то на ней система попытается отыскать и выполнить
программу под именем boot<B>. Если дискеты (или дисковода) нет, то внизу
экрана появится подсказка системы

А>

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

*) Под «обычным» мы будем подразумевать компьютер, имеющий 48К
оперативной памяти.

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

Чтобы попасть в среду TR-DOS, необходимо выполнить команду из
Бейсика

RANDOMIZE USR 15616

после чего также появится подсказка системы.

Для возврата в бейсик-систему служит команда RETURN.

При выполнении команд непосредственно из Бейсика перед операто-
ром TR-DOS необходимо набрать префикс

RANDOMIZE USR 15619: REM :

Далее должен следовать оператор системы. В этом виде можно вставить
оператор TR-DOS и в тело программы на Бейсике.

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

Команды в TR-DOS могут быть набраны как ключевыми словами
Бейсика — токенами, так и посимвольно*.

Выбор дисковода. Автонастройка

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

*"N"

где N — имя дисковода А, В, С или D, выбираемого по умолчанию.

Однако, зная имя дисковода, система не знает его характеристик. Для
правильной работы с устройством перед первым обращением к любому из
четырех дисководов TR-DOS предварительно производит автонастройку,
иногда называемую автотестом дисковода. В результате автонастройки
система узнает количество дорожек дисковода (40 или 80), а также его
скорость (точнее, скорость перемещения магнитной головки). Эти данные
записываются в область системных переменных TR-DOS и хранятся там до
очередного сброса компьютера.

*) Рекомендуется все же набирать их токенами. При посимвольном наборе
буквы верхнего и нижнего регистров не различаются. Например,
RANDOMIZE USR 15619: REM : LOAD "Prog"code4000G

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

Автонастройка происходит в два этапа. На первом проверяется ско-
рость перемещения магнитной головки. Для этого головка с максимально
возможной скоростью позиционируется сперва на 32, а затем на 1 дорожку
дисковода. Если эта операция выполнена, то тест завершается, в противном
случае тест повторяется с меньшей скоростью. На втором этапе проверяется
число дорожек дисковода. Для этого магнитная головка позиционируется на
50 дорожку, а затем на 2. Если дисковод имеет 80 дорожек, то позициониро-
вание проходит успешно. Для 40-дорожечных дисководов головка не может
переместиться дальше 40 дорожки, поэтому, пройдя 48 дорожек «назад», она
оказывается не на 2, а на 0 дорожке (ниже 0 дорожки головка также не может
«прыгнуть»).

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

40

или

80

КАК РАБОТАЕТ СИСТЕМА

Разберем работу оператора

PRINT USR 15619: REM : *"А"

Для этого сбросим компьютер и перед тем как выполнить оператор TR-DOS,
посмотрим адрес системной переменной CHANS

PRINT PEEK 23631 +256* PEEK 23632
23734

Итак, рабочая память начинается с адреса 23734. Запомним это и
выполним команду, предварительно вставив в дисковод А любую дискету.

Для читателей, знакомых с Бейсиком ZX Spectrum, очевидно, что
«главным» здесь является вызов функции USR, которая передает управление
подпрограмме, расположенной по адресу 15619. Более подробно о том, что
происходит дальше, будет рассказано в разделе «Точки входа в систему».
Важно то, что вызов ОС TR-DOS может быть везде, где возможен вызов
функции в Бейсике. По окончании выполнения функция USR возвращает
некоторое число — код ошибки системы (см. раздел «Сообщения об ошиб-
ках»), которое и напечатает оператор PRINT.

Теперь посмотрим, что же находится справа от вызова функции.
Команде TR-DOS *"А" предшествует оператор Бейсика REM, зачем? Дело в
том, что «свои» команды ОС обрабатывает только на этапе выполнения
программы. На стадии проверки синтаксиса команды пропускаются, таким
образом, для «обмана» интерпретатора Бейсика нужен следующий за вызо-
вом функции оператор REM. Все, что стоит за ним, Бейсиком не рассматри-
вается, а прямо вставляется в программу — и все, что находится справа от
числа 15619, будет рассматриваться уже TR-DOS. Это свойство несколько
упростило саму ОС, но поставило ряд ограничений перед программистом:
оператор TR-DOS должен быть последним в строке.

Теперь вспомним о рабочей памяти и снова посмотрим содержимое
системной переменной CHANS

PRINT PEEK 23631 +256» PEEK 23632
23846

Содержимое ячейки изменилось. Именно между этими двумя адреса-
ми (23734...23845) TR-DOS и расположила 112 байт своих системных

переменных.

РАБОТА С ДИСКЕТОЙ
Подготовка файловой структуры

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

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

Процесс создания каталога называют еще логическим форматирова-
нием или инициализацией. TR-DOS форматирует и инициализирует диске-
ты одной командой FORMAT.

Синтаксис команды FORMAT следующий*:

FORMAT "[X:][$][nam©]"

где

X

имя дисковода, в который вставлена дискета. Если этот параметр пропущен,
то форматирование будет происходить на текущем дисководе;

nam®

имя, которое будет присвоено дискете. Его называют еще меткой диска или
уж совсем страшно — именем тома. Имя содержит до 8 любых символов и
хранится в специально отведенных ячейках в каталоге. Для дальнейшей
работы с дискетой оно не используется и нужно лишь пользователю для того,
чтобы как-то различать дискеты между собой**;

*) Как и раньше, в квадратные скобки заключаются необязательные пара-
метры команд.

**) Имя диска выводится специальными командами ОС при просмотре
каталога, о которых речь пойдет в следующем разделе.

$

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

ОС форматирует дискету в соответствии с характеристиками диско-
вода. На двухсторонних дисководах и дискеты будут отформатированы как
двухсторонние. Использование символа $ позволяет «обойти» это свойство.
В зависимости от дисковода определяется и емкость дискеты, то есть какое
число программ может быть на нее записано. На каждой дорожке TR-DOS
создает 16 секторов емкостью по 256 байт каждый, таким образом, объем

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

Немалую роль играет качество магнитного покрытия. Если оно по-
вреждено, то ОС не сможет создать все 16 секторов. Особенно это важно для
TR-DOS, так как она не поддерживает работу с плохими секторами, то есть
секторами, которые попали на испорченное место дискеты. Система прове-
ряет качество .форматирования, считывая с каждой дорожки все получивши-
еся на ней сектора. По окончании форматирования TR-DOS выводит на
экран два числа: первое — это рабочая емкость дискеты в секторах; второе,
отделенное от первого символом наклонной черты (/) —количество секторов,
считанных с дискеты. Если эти числа не совпадают, то использовать такую
дискету очень рискованно.

Для подготовки дискет к работе не обязательно пользоваться командой
FORMAT. Можно использовать специальную системную программу Disk Control
Utility (DCU), возможности которой существенно расширяют предоставляемые
TR-DOS. Описание этой программы Вы можете найти в разделе «Сервисные
программы».




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Застрял ? - Описание программы "Evening Star".
Содержание
Enjoy - Чернушка. Акулы пера. Computer humor.
Мозаика - О выходе очередного номера журнала "ZX-Format" 5. О новой игре "Чёрный Ворон" (Copper Feet). Как попасть в игре "Elite" в девятую галактику? Cheat к игре "Double Xinox".
Этюды - Программа сортировки массива по возрастанию. Процедура заполнения экрана заданным атрибутом. Процедура проявления картинки. Эффект летящих навстречу звезд. "Душ", идущий из верхнего левого угла экрана. Процедура "осыпания" картинки по пиксельным линиям. Программа "вытягивания" картинки под углом в 45 градусов. Три процедуры "Scroll".

В этот день...   20 марта