|
City
#05
21 марта 1999 |
|
Ликбез - полное описание + полный дизассемблер ПЗУ (часть1).

---------------------------------------------------
ЛИКБЕЗ
---------------------------------------------------
(c) П.Ю.Федин
╔═════════════════════════════════════════════════╗
║ ║
║ ПОЛHОЕ ОПИСАHИЕ + ПОЛHЫЙ ДИЗАССЕМБЛЕP ПЗУ ║
║ ║
║ TR-DOS 5.04T (5.03) ║
║ ║
║ ДЛЯ ПРОФЕССИОНАЛОВ, ║
║ ║
║ А ТАКЖЕ ДЛЯ ТЕХ, ║
║ ║
║ КТО ХОЧЕТ ИМИ СТАТЬ. ║
║ ║
╚═════════════════════════════════════════════════╝
Введение.
В нашей стране из всех существующих дисковых ин-
терфейсов распространение получил интерфейс BETA-
DISC с дисковой операционной системой TR-DOS фирмы
Technology Research Ltd. Эта система имеет много
преимуществ перед системой, использующей в качестве
устройства внешней памяти магнитофон. Операционная
система находится в теневом ПЗУ и использует 112
байтов оперативной памяти для размещения системных
переменных, а непосредственно во вpемя работы с ка-
талогом диска еще и буфер размером в 257 байтов.При
этом система совместима с мифическим устройством,
известным под названием ИHТЕPФЕЙС-1. Данная версия
TR-DOS была изготовлена в 1991 году фирмой CRAFT.
Диски и дисководы.
Интерфейс поддерживает дисководы одинарной и
двойной плотности, одно- и двухсторонние. Но раз-
личные версии TR-DOS накладывают ограничения на па-
раметры дисководов. С TR-DOS 5.04T будут работать
только дисководы с временем перемещения головки 6
мс. Учтите также,что дисководы разных типов не все-
гда совместимы между собой.Степень их совместимости
показана в таблице:
╔════════════╤═══════════════════════╗
║ │ Дисководы ║
╟Формат диска├─────┬─────┬─────┬─────╢
║ │SD,SS│SD,DS│DD,SS│DD,DS║
╟────────────┼─────┼─────┼─────┼─────╫
║ SD,SS │ C │ ? │ N │ N ║
║ SD,DS │ C │ C │ N │ N ║
║ DD,SS │ R │ ? │ C │ ? ║
║ DD,DS │ R │ R │ C │ C ║
╚════════════╧═════╧═════╧═════╧═════╝
Здесь:
SD - 40-дорожечный
DD - 80-дорожечный
SS - односторонний
DS - двухсторонний
C - совместим полностью
R - совместим только при чтении
N - несовместим вообще
? - несовместим, но на некоторых дисководах может
быть совместим
Автозагрузка.
Если TRDOS запускается с адреса 0 (после нажатия
RESET в 48К компьютере или программно), то после
инициализации компьютера система выбирает дисковод
A и пытается загрузить с него и запустить бейсик-
программу "boot". Если в дисководе нет диска или на
диске нет этой программы, то на экран выводится
подсказка и TR-DOS переходит в режим ввода команд.
Внимание!Не оставляйте диск в дисководе при вклю-
чении или отключении питания, так как он может быть
испорчен!
Автопроверка дисководов.
При первом обращении к дисководу TR-DOS автомати-
чески проверяет его параметры и заносит в соответ-
ствующие системные переменные. Определяется ско-
рость перемещения головки дисковода и количество
дорожек.
Внимание!В подпрограмме есть ошибки (полный пере-
чень ошибок ПЗУ TR-DOS смотрите в конце описания).
Краткий перечень команд TR-DOS 5.04T.
╔═══════╤═════════════════════════════════════════╗
║Команда│ Функции ║
╟───────┼─────────────────────────────────────────╢
║ * │Установка дисковода по умолчанию ║
║ 40 │Информирует TR-DOS, что дисковод 40-дор. ║
║ 80 │Информирует TR-DOS, что дисковод 80-дор. ║
║ CAT │Вывод каталога диска ║
║ CLOSE#│Закрытие файла данных ║
║ COPY │Копирование файлов при двух дисководах ║
║ COPY S│Копирование файла при одном дисководе ║
║ COPY B│Копирование всего диска при 1 дисководе ║
║ ERASE │Стирание файлов ║
║ GO TO │Запуск файла, полученного при помощи ║
║ │ кнопки MAGIC ║
║ LIST │Вывод расширенного каталога диска ║
║ LOAD │Загрузка файла ║
║ MERGE │Слияние программ на бейсике ║
║ MOVE │Упаковка дискового пространства ║
║ NEW │Переименование файла ║
║ OPEN# │Открытие файла данных ║
║ PEEK │Чтение сектора файла ║
║ POKE │Запись сектора файла ║
║ RETURN│Возврат из TR-DOS ║
║ RUN │Запуск программ ║
║ SAVE │Запись файла ║
║ VERIFY│Сравнение файлов на диске и в памяти ║
╚═══════╧═════════════════════════════════════════╝
Синтаксис команд.
TR-DOS - гибкая система и вы можете получить дос-
туп к ней из бейсика и машинных кодов. Когда коман-
дный процессор TR-DOS ждет от вас команды, вы види-
те подсказку в виде имени дисковода и стрелки. Если
выполнение команды завершилось ошибкой, то вслед за
подсказкой будет выведена старая команда,которую вы
можете отредактировать и снова ввести. Большинство
команд после работы возвращают управление TR-DOS,но
есть исключения, о которых рассказано в описаниях
команд.
Все параметры команд записываются так же, как и в
бейсике. То есть строковые константы должны быть в
кавычках, параметры могут быть переменными, функци-
ями, выражениями и так далее.
Возврат из TR-DOS в бейсик.
Для возврата из TR-DOS используется команда RE-
TURN. Формат ввода команды:
RETURN
Переход в TR-DOS из бейсика.
Для входа в командный процессор TR-DOS нужно выз-
вать подпрограмму в машинных кодах с адреса 15616.
Hапример:
RANDOMIZE USR 15616
Выполнение команд TR-DOS из бейсика.
Для того, чтобы выполнить команду TR-DOS, нахо-
дясь в бейсике, перед командой надо записать пре-
фикс:
RANDOMIZE USR 15619:REM:
В этом случае после работы команда возвращает уп-
равление в бейсик, хотя и тут есть свои исключения.
При этом команда TR-DOS должна быть последней в
строке программы на бейсике,но после нее может сле-
довать комментарий. Правила записи комментариев в
командах TR-DOS вы найдете в описаниях команд.
Функция USR 15619 возвращает код ошибки TR-DOS
(содержимое переменной 23823).Полный перечень кодов
ошибок вы найдете в конце описания.
Выбор дисковода по умолчанию.
Дисковод по умолчанию - это дисковод, к которому
будут обращаться команды, в которых не указано имя
дисковода. После инициализации по умолчанию выбира-
ется дисковод A.
TR-DOS поддерживает 4 дисковода (A, B, C, D).Фор-
мат команды для изменения дисковода по умолчанию
следующий:
*<дисковод>
Имя дисковода - это строка, от которой берется
первый символ (A, B, C или D).
Временный выбор дисковода.
Постоянно изменять дисковод по умолчанию - это
долго и неудобно. Поэтому в большинстве команд мож-
но указать дисковод, к которому команда будет иметь
доступ. Для этого перед именем файла нужно записать
имя дисковода с двоеточием, например:
LOAD"B:PROGRAM"
Если для команды не требуется имя файла, то имя
дисковода с двоеточием указывается после нее:
CAT"B:"
Пpодолжение следует ...
Другие статьи номера:
Железо - пpедлагаю схему подключения мегабайтного SIMMa в качестве ОЗУ к Спектpуму. |
Что-где-почем - Чеpкасской гpуппой BIS пpедлагается к pаспpостpанению новая диззиподобная игpа Crime Santa Claus Deja Vu... |
Ликбез - полное описание + полный дизассемблер ПЗУ (часть1). |
Реклама - реклама и бесплатные обьявления. |
Похожие статьи:
В этот день... 13 ноября