ТРСДОС

Операционная система для компьютеров Tandy TRS-80
Операционная система
ТРСДОС
Загрузочный экран модели 4 TRSDOS 6
РазработчикТэнди
Рабочее состояниеИсторический
Исходная модельЗакрытый исходный код
Первоначальный выпускМодель I в 1977 году ; 48 лет назад ( 1977 )
Последний релизМодель 4 Версия 6.2 / 1984 ; 41 год назад ( 1984 )
Доступно вАнглийский
ПлатформыTRS-80 на базе Zilog Z80
Тип ядраМонолитный

Пользовательский интерфейс по умолчанию
Интерфейс командной строки

TRSDOS (сокращение от T andy Radio S hack Disk O perating S ystem) — операционная система для линейки восьмиразрядных микрокомпьютеров Zilog Z80 Tandy TRS-80 , которые продавались через Radio Shack с 1977 по 1991 год. В руководствах Tandy рекомендовалось произносить ее как трисс-досс . TRSDOS не следует путать с Tandy DOS , версией MS-DOS, лицензированной у Microsoft для линейки персональных компьютеров (ПК) Tandy x86 .

С оригинальной моделью TRS-80 Model I 1977 года TRSDOS была в первую очередь способом расширения MBASIC ( BASIC в ПЗУ ) дополнительными командами ввода/ вывода , которые работали с дисковыми файлами, а не с кассетными лентами , которые использовались в системах Model I без дисков. Более поздние компьютеры Model III с дисковым накопителем использовали совершенно другую версию TRSDOS от Radio Shack, которая достигла кульминации в 1981 году с TRSDOS версии 1.3. С 1983 года компьютеры TRS-80 Model 4 с дисковым накопителем использовали TRSDOS версии 6, которая была развитием Model III LDOS от Logical Systems, Inc. Последняя была обновлена ​​в 1987 году и выпущена как LS-DOS 6.3.

Совершенно не связанной была версия TRSDOS от Radio Shack для профессионального компьютера TRS-80 Model II от 1979 года, также основанная на Z80 и оснащенная 8-дюймовыми дисководами. Более поздние машины в этой линейке, модели 12, 16 и 6000, использовали Z80 в качестве альтернативного ЦП для своего основного чипа Motorola 68000 и могли запускать эту версию TRSDOS для обратной совместимости со старым программным обеспечением приложений Z80.

История

Микрокомпьютер TRS-80 корпорации Tandy не имел дисковода или дисковой операционной системы на момент выпуска. Первая версия TRSDOS, созданная Рэнди Куком, была настолько глючной, что другие написали альтернативы, включая NewDOS и LDOS. После споров с Куком по поводу права собственности на исходный код , Tandy наняла Logical Systems, разработчика LDOS, для продолжения разработки TRSDOS. [1] TRSDOS 6, поставляемая с моделью TRS-80 4 в 1983 году, идентична LDOS 6.00. [2]

Даты

  • Октябрь 1979 г. – Radio Shack выпускает TRSDOS 2.3
  • 1 мая 1981 г. – Radio Shack выпускает Model III TRSDOS 1.3
  • 26 апреля 1983 г. – Radio Shack представляет TRSDOS версии 6.0 для новых моделей 4.
  • 1984 – Radio Shack выпускает версию 6.2, окончательную версию для Model 4 [3]
  • 1984 – Logical Systems публикует The Source , прокомментированный исходный код ассемблера для TRSDOS 6.2 [4]
  • Конец 1986 г. – Logical Systems выпускает LS-DOS 6.3, функционально эквивалентное обновление TRSDOS 6.2. С этой даты Tandy/Radio Shack поставляет его с Model 4D.

Возможности и особенности

Линейка компьютеров TRS-80 на базе Z80 от RadioShack ( модели I/III и 4 ) поддерживает до четырех физических дисководов (мини-дискет), которые (при продаже) используют 5¼-дюймовые дискеты . Первоначальная TRSDOS для Model I поддерживала только односторонние диски с 35 дорожками, отформатированные с одинарной плотностью ( сектора кодируются с использованием техники частотной модуляции ). TRSDOS для Model III (кульминацией которой стала версия 1.3) поддерживала 40-дорожечные диски, отформатированные с двойной плотностью (с использованием модифицированной частотной модуляции ). Model I модернизирована контроллерами двойной плотности, а Model I/III, оснащенные 80-дорожечными или двухсторонними дисководами, не могли использовать TRSDOS; RadioShack продала операционную систему LDOS от Logical System, которая могла управлять этими типами дисководов. TRSDOS 6 для Model 4 является развитием LDOS и имеет те же возможности.

Жесткие диски (тогда также известные как винчестеры ) требовали специального программного обеспечения драйвера , поставляемого их производителями. Эти драйверы позволяли любой установке TRSDOS получать к ним доступ с возможными разделами дисков до восьми , каждому из которых назначались номера дисков от нуля до семи. На самом деле, большой жесткий диск можно было отформатировать с более чем восемью разделами, но TRSDOS мог получить доступ только к восьми в течение одного сеанса. Жесткие диски могли иметь некоторые разделы, отформатированные под TRSDOS, а другие под CP/M OS. Каждый дисковод в системе также занимал одно назначение номера диска. Модель 4 с ее возможностью настройки RAM-диска (Memdisk) также требовала назначения номера диска для этого.

Все версии TRSDOS используют оверлеи для удовлетворения большинства системных запросов, а дисковые каталоги не сохраняются в памяти. Это имеет два последствия для производительности системы. Во-первых, при первоначальном доступе к файлу DOS всегда ссылается на дисковый каталог, чтобы получить информацию, дающую физическое отображение дискового пространства, выделенного для файла (включая его экстенты, если таковые имеются). После первоначального доступа эта информация сохраняется в блоке управления файлами, пространство памяти для которого предоставляется вызывающим приложением. Дальнейшие ссылки не требуют чтения дискового каталога (если только файл не записан и не требуется выделить больше дискового пространства). По этой причине производительность системы во многом зависит от того, насколько близко выделенное дисковое пространство файла находится/находятся к цилиндру каталога и насколько фрагментирован (экстенты расположены в несмежном пространстве)) файл в целом. Чем дальше цилиндр каталога, тем больше головке чтения/записи придется перемещаться, что замедляет доступ к диску и приводит к большему механическому износу диска. В TRSDOS имеются команды, позволяющие пользователю оптимизировать размещение определенных файлов на физическом пространстве диска, а также FREEкоманда для отображения карты физического размещения файлов на диске.

Второе последствие архитектуры на основе оверлея заключается в том, что диск, содержащий системные файлы TRSDOS (расширение файла /SYS), всегда должен присутствовать на любом диске, назначенном в качестве логического диска с номером ноль. (В Model 4 это может быть Memdisk, таким образом освобождая физический диск с номером ноль для использования в качестве диска несистемных данных). LDOS и TRSDOS 6 имеют команду SYSRES, которая загружает выбранные системные файлы в ОЗУ Z80, тем самым освобождая место на системном диске для несистемных данных. Все версии имеют варианты команды SYSTEM, которая может переназначать номера логических дисков физическим дискам. Можно назначать номера дисков таким образом, чтобы физическому диску не был назначен логический номер диска; иногда это полезно для гарантии того, что к диску нельзя будет получить доступ в целях безопасности ( защиты от записи ). Диски также могут быть защищены от записи DOS.

Управление дисками

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

Система также поддерживает в памяти Z80 в TRSDOS таблицу управления дисками , в которой хранятся параметры, связанные с каждым из восьми логических дисков. Параметры дискового накопителя относятся к тому, как общее пространство хранения на диске делится на адресуемые единицы. Слой(и) магнитных частиц на поверхности дискового носителя намагничиваются (в процессе форматирования) в концентрические круги областей хранения, называемых ДОРОЖКАМИ . Каждая дорожка делится на 256-байтовые подобласти, называемые СЕКТОРАМИ . Каждый сектор уникально идентифицируется шаблоном информации, предшествующим каждому сектору, называемым ИДЕНТИФИКАЦИОННЫМ ПОЛЕМ . Хотя количество секторов на дорожку может варьироваться от одного типа носителя к другому, количество секторов на каждой дорожке одного и того же носителя (и в каждой грануле) всегда должно быть постоянным.

Диски организованы следующим образом: каждая дорожка отформатирована в определенное количество секторов по 256 байт с максимальной емкостью 32 сектора на дорожку. Секторы сгруппированы в блоки, называемые гранулами , которые различаются по размеру в зависимости от общей емкости дорожек дискового носителя, хотя размер гранул для каждого формата диска постоянен. Для сорокацилиндровых дисков, отформатированных с двойной плотностью, стандартной для приводов, установленных в моделях TRS-80 III и 4, размер гранул составляет шесть секторов по 256 байт или 1,5 КБ. Каждая дорожка имеет три гранулы для 4,5 КБ памяти. Каждая сторона (поверхность) диска обычно отформатирована 40 дорожками, что дает 180 КБ на сторону. Модель 4D с ее двухсторонними приводами дает 360 КБ памяти. Всякий раз, когда для файла требуется дополнительное дисковое пространство (например, расширение файла при записи), выделяется дополнительная гранула. Таким образом, гранула становится минимальной единицей хранения.

TRSDOS присваивает номера каждому сектору, каждой дорожке и каждой поверхности. Поверхности нумеруются последовательно, начиная с нуля. Дорожки нумеруются последовательно, начиная с нуля на самом внешнем крае диска, давая самой внутренней дорожке самый высокий номер. При использовании многоголовочных приводов номера дорожек на поверхности дублируются на каждой поверхности, и все одинаково пронумерованные дорожки составляют цилиндр . Для двухстороннего гибкого диска, отформатированного на Model 4D, нулевая дорожка нулевой поверхности и нулевая дорожка поверхности один группируются вместе в нулевой цилиндр. Емкость цилиндра также имеет верхний предел в 256 секторов на цилиндр или восемь гранул на цилиндр, в то время как система поддерживает (для жестких дисков с несколькими пластинами носителей информации) максимум восемь головок на привод.

Цилиндр каталога диска помещается во время процесса форматирования на цилиндр со средним номером; таким образом, стандартный 40-цилиндровый диск имеет свой каталог, установленный на цилиндре 20. Это уменьшает среднее расстояние (и время доступа), которое головка чтения/записи диска должна переместить, чтобы получить доступ к каталогу. Первый сектор каталога диска содержит таблицу распределения гранул ( GAT ). GAT побитно отображается на каждую гранулу пространства на диске. Другие поля в GAT содержат ИМЯ ПАКЕТА, ДАТУ создания (когда диск был отформатирован), ПАРОЛЬ пакета и данные, относящиеся к конфигурации диска.

Когда файл должен быть открыт для доступа, система должна выполнить поиск в каталоге для его записи каталога. Время поиска минимизируется с помощью техники хеширования, чтобы уменьшить 11-символьную строку, сформированную из имени файла и расширения, до однобайтового значения. Хэш-код для каждого файла хранится в таблице индексов хэшей (HIT), которая является вторым сектором каталога. Каждая позиция в этой таблице соответствует определенной записи записи каталога. Хэш-таблица, имеющая длину в один сектор, может индексировать максимум 256 записей каталога или файлов. Сам каталог имеет размер в соответствии с емкостью диска, будучи максимум одним цилиндром (до 34 секторов). Таким образом, чем больше емкость дискового хранилища, тем больше его каталог и тем больше имен файлов можно сохранить на диске.

Запись каталога содержит такую ​​информацию, как дата последнего изменения файла, его коды паролей обновления и доступа, его уровень доступа и другие атрибуты, такие как является ли он файлом SYStem или PDS (Partitioned Data Set), и если была сделана резервная копия, относительный номер последнего сектора в файле и последний байт в последнем секторе (или End Of File). Запись также содержит физические области, используемые файлом, указывая на цилиндр, относительную начальную гранулу и количество смежных гранул для каждого экстента, составляющего файл. Когда файл имеет более четырех экстентов, по мере необходимости используются дополнительные записи каталога с прямыми и обратными указателями, связывающими каждую запись каждого файла. Таким образом, теоретический максимум в 256 файлов, возможных на дискете, реализуем только при отсутствии фрагментации файла.

Когда TRSDOS форматирует диск, все параметры, связанные с дискетой, предопределены. Таким образом, количество секторов на дорожку, количество секторов на гранулу и, следовательно, гранул на дорожку, количество сторон (поверхностей) и количество цилиндров, а также плотность носителя, все эти данные (плотность, стороны, гранулы на дорожку) записываются в поля в таблице распределения гранул, которая является частью каталога диска. Другие (сектора на дорожку, сектора на гранулу, в дополнение к предыдущим количествам) являются частью полей таблицы управления приводом. Когда система пытается открыть файл на диске, она использует @CKDRV SVC, чтобы убедиться в доступности диска, а затем регистрирует диск, как только находит его доступным. Эта функция «регистрации» обновит поле DIRCYL, затем обновит поля DBLBIT и MAXCYL на основе информации, хранящейся в GAT. Эта процедура освобождает пользователя от необходимости вручную регистрировать только что вставленный диск; он может свободно менять диски с различным форматированием в любом приводе, не беспокоясь о том, что система неправильно к ним обратится.

Примитивы диска SVC направляются через общие системные процедуры, содержащиеся в программном обеспечении драйвера, установленном для каждого типа дискового устройства хранения данных. Драйвер для дисководов Model III или Model 4 называется $FD и находится в нижней области памяти TRSDOS. Жесткие диски поставляются со своим собственным программным обеспечением драйвера и обычно устанавливаются в верхней памяти (основная 64K Z80 RAM) над системным указателем HIGH$ , поскольку места в нижней области памяти обычно недостаточно (особенно в Model 4, поскольку программное обеспечение, необходимое для доступа к его внешним банкам памяти, не может находиться в верхней памяти Z80 RAM, поскольку эта область существует в банковой области подкачки RAM). Эти процедуры драйвера устанавливают протокол связи между приложением, запрашивающим доступ к диску, и аппаратным обеспечением контроллера дисководов компьютера. TRS-80 используют микросхемы контроллера из серии Western Digital : WD1791 в версии Model 4 без вентильной матрицы и WD1773 в версии Model 4 с вентильной матрицей. Когда запрос ввода-вывода вызывается SVC более высокого уровня, например, запрос на ЧТЕНИЕ записи файла, запрос транслируется в примитив диска (команда FDC или отчет о состоянии), необходимый для удовлетворения запроса функции. Протокол связи является единым для всех дисковых устройств, подключенных к системе. Это делает доступ к файлам прозрачным для размера или характера дискового устройства в пределах параметров, хранящихся в DCT для этого диска. [5]

Управление файлами

Файлы на диске поддерживают два типа доступа: запись ввода-вывода и символьный ввод-вывод. Логические записи длиной от одного до 256 байт могут быть прочитаны или записаны с помощью запросов SVC @READ или @WRITE. Запись ввода-вывода может быть произвольным доступом (по позиционным запросам SVC до READ/WRITE) или последовательным доступом с использованием повторяющихся READ или WRITE. Символьный (или байтовый) ввод-вывод выполняется запросами SVC @GET и @PUT и по сути является тем же самым, что и запись ввода-вывода с длиной логической записи (LRL), равной единице. (Физический доступ к дисковому устройству хранения всегда осуществляется в единицах секторов по 256 байт. Это фиксируется аппаратным обеспечением контроллера диска TRS-80). Однако, если GET или PUT используются для реализации последовательного доступа, то файл можно считать символьным устройством ввода-вывода, таким как принтер, последовательный порт или устройство отображения видео. Таким образом, запрос байтового ввода-вывода не зависит от физического устройства, «подключенного» к блоку управления, который запрашивает ввод-вывод. Это делает систему «независимой от устройства».

Имена файлов ограничены восемью буквенно-цифровыми символами (первый символ должен быть буквой), которые нечувствительны к регистру (используются только заглавные буквы; все введенные строчные буквы записываются заглавными). Расширения файлов могут содержать до трех символов и подчиняются тем же правилам. Пароли файлов могут содержать до восьми символов и подчиняются тем же правилам (версии TRSDOS 6 до 6.2 поддерживают как пароли владельца, так и пароли пользователя). Целым дискетам также могут быть назначены главные пароли, которые могут ограничить доступ пользователей с помощью команд BACKUP и PURGE.

Под TRSDOS и LDOS система никогда не "входит" ни в один текущий диск, как в CP/M , PC DOS и MS-DOS . Системное приглашение всегдаTRSDOS готов. Все запросы на доступ к файлам (выданные пользователем на консоли или исполняемой программой) удовлетворяются путем поиска в каталоге первого указанного диска (берется за диск ноль, если номер диска не указан) и, если запрошенный файл не найден, то выполняется поиск на следующем (с большим номером) диске в системе. Это продолжается до тех пор, пока файл не будет найден или пока не будут просмотрены все диски в системе (но см. ниже вариации этого правила).

Номера дисков указываются с двоеточием, :за которым сразу следует номер диска. Двоеточие необязательно, если только спецификация диска не используется как суффикс для имени файла. Используя команду directory в качестве примера: DIR

  • DIRотображает все файлы, начиная с логического диска ноль, затем диск один и т. д.
  • DIR :4или выполняет поиск на логическом диске четыре (для всех файлов, как всегда, если имя файла не указано).DIR 4
  • DIR :4-6или выполняет поиск на логических дисках четыре, пять и шесть.DIR 4-6
  • DIR :4-или выполняет поиск на логических дисках четыре, пять, шесть и семь.DIR 4-
  • DIR FILENAME:2ищет FILENAME на логическом диске два.
  • DIR FILENAME:2-ищет FILENAME на всех логических дисках, начиная с диска два.

Как видно, символ тире используется для указания диапазона номеров дисков. Команды и (каталог) отображают все спецификации файлов ( filespecs ), соответствующие запросу на всех дисках. Другие команды/утилиты, такие как , и , а также поиск дисков, инициированный выполняемыми программами, останавливают поиск на первом найденном диске, соответствующем запросу. Если один и тот же filespec существует на нескольких дисках, то файлы на дисках с более высокими номерами будут исключены. -DIRCATBACKUPCOPYPURGE

Поддерживается доступ к файлам по частичным именам файлов ( partspecs ), расширениям файлов и датам файлов. Например:

  • DIR SAMPLEвыберет файлы SAMPLE, SAMPLE1, SAMPLE23 и SAMPLEIT.
  • DIR /BASвыберет файлы SAMPLE/BAS, TEST/BAS, EXAMPLE/BAS и т.д.

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

Интерфейс командной строки

В TRSDOS/LS-DOS 6.x стандартный системный командный интерпретатор (SYS1/SYS) может быть функционально заменен на пользовательский интерпретатор путем копирования нового интерпретатора в системный файл SYS13/SYS (который в неизмененной установке является фиктивным файлом). Это может быть любой файл программы машинного кода/CMD. В документации это называется «Расширенный командный интерпретатор» или ECI.

TRSDOS/LS-DOS 6.x поддерживает подстановочные знаки в именах файлов, как одиночный символ ?, так и многосимвольный *.

TRSDOS (версия II) была примечательна включением шумовых слов, похожих на спецификацию COBOL 1959 года . Они сделали команды более похожими на английские. Например, следующие команды функционировали одинаково:

  • COPY filea fileb
  • COPY filea TO fileb

Поскольку в TRSDOS нет понятия перенаправления для дисковых файлов, как в UNIX / Linux и MS-DOS , команда APPEND несколько отличается по концепции от понятия UNIX или MS-DOS добавления через перенаправление вывода. TRSDOS/LS-DOS 6.x обеспечивают перенаправление ввода-вывода для системных устройств (клавиатура *KI, экран дисплея *DO, принтер *PR, последовательный порт *CL), а также для устройств и дисковых файлов. Команда DEVICE отображает карту связей и маршрутов ввода-вывода. В DOS и UNIX печать файла может быть выполнена с перенаправлением; в UNIX это обычно делается путем буферизации файла на « строчном принтере » (с помощью команды lpr ), поскольку UNIX традиционно является многопользовательской системой. Задания печати TRSDOS/LS-DOS 6.x могут быть перенаправлены (например, в файл на диске) путем применения команд LINK или ROUTE к системному устройству *PR.

TRSDOS/LS-DOS 6.x не поддерживают подкаталоги или пользовательские области. Однако команды DIR и CAT (Catalog) для отображения данных файлов поддерживают обычные частичные имена файлов, суффиксы и даты файлов. В TRSDOS/LS-DOS 6.x файлы можно сделать невидимыми для команд DIR и CAT и отобразить с параметром INV (если только какие-либо файлы не защищены паролем и не указан правильный p/w).

TRSDOS/LS-DOS 6.3 может выводить видеоэкран на строчный принтер, нажав + .CTRL:

Многие версии поддерживают простую защиту паролем для файлов и программ с отдельными возможностями чтения/выполнения и полного доступа. например: filename/ext.password:drive# . TRSDOS 6.x поддерживает как пароли владельца, так и пароли пользователя (максимум 8 символов) для файлов на диске. LS-DOS 6.3 использует пространство для пароля пользователя для своей расширенной схемы датирования (после 31 декабря 1987 г.). Обе ОС Model 4 могут устанавливать различные уровни доступа к файлам и разрешать программную защиту от записи для файлов на диске и целых дисков.

Команды

Хотя MS-DOS обязана своим наследием в основном CP/M и, следовательно, TOPS-10 , многие команды обработки файлов похожи на команды TRSDOS. Некоторые из следующих команд TRSDOS существуют на диске как отдельные программные файлы (DIR/CMD, FORMAT/CMD, BACKUP/CMD), в то время как все остальные существуют как модули, сжатые в библиотечные файлы (технически Partitioned Data Sets или PDS) SYS6/SYS, SYS7/SYS и SYS8/SYS; они включают команды TRSDOS CAT, COPY, LIST, REMOVE, RENAME и т. д. Некоторые типичные утилиты TRSDOS:

Команды TRSDOS и аналоги в других операционных системах
КомандаДОС , ОС/2 , WindowsUnix , Unix-подобныйОписание
ДОБАВИТЬтип файл1 >> файл2 файл cat >> файл2В TRSDOS 6.x источником добавляемых данных может быть системное устройство ввода, например *KI. Таким образом, все, что набирается на клавиатуре, будет добавлено в целевой файл. Используйте RESET *KI для завершения этой функции.
АТРИБатрибутчмодATTRIB, PROT и команда chmod UNIX несколько различаются по своей семантике. UNIX/Linux является многопользовательской системой, и каждый пользователь может контролировать разрешения на чтение, запись и выполнение для своих собственных файлов и каталогов. MS-DOS является однопользовательской системой, и атрибуты файлов «только для чтения», «скрытый» и «системный» носят рекомендательный характер. TRSDOS была однопользовательской. TRSDOS 6.x ATTRIB может изменять статус защиты всех файлов на дисковом томе, если указан главный пароль диска. Все пароли пользователей и владельцев для видимых файлов можно удалить с помощью одной команды ATTRIB.
АВТОAUTOEXEC.BAT~/.profile или ~/.login или /etc/rc*Команда AUTO устанавливает автоматическую команду для выполнения при загрузке TRSDOS; в MS-DOS специальный зарезервированный файл с именем AUTOEXEC.BAT содержал список таких команд. TRSDOS/LS-DOS 6.x поддерживают язык управления заданиями, в котором любой текстовый файл с суффиксом /JCL может пакетно обрабатывать (используя команду DO ) любое количество исполняемых файлов программ. Такой файл может быть объектом команды AUTO. В UNIX набор из одного или нескольких файлов rc в /etc/ представляет собой набор команд загрузки " run c ommands ", а специальные "dot-файлы" в домашнем каталоге пользователя запускаются каждый раз, когда данный пользователь входит в систему. UNIX поддерживает множество других "dot-файлов" для многих своих команд, которые похожи на содержимое папки "preferences" Macintosh .
РЕЗЕРВНОЕ КОПИРОВАНИЕdiskcopy , tartar, cpio , pax , (многие другие)TRSDOS/LS-DOS 6.x включают утилиту BACKUP/CMD, которая может выполнять массовое копирование файлов, указанных по частичным совпадениям имен файлов, суффиксам файлов (например, /CMD или /BAS) или по дате файла. BACKUP можно настроить на первый запрос разрешения на копирование каждого файла с параметром (Q=Y)) . На компьютерах с одним диском параметр X разрешит копирование между двумя дисками, предлагая пользователю, когда следует переключать диски в приводе.
КОТКоманда TRSDOS CATalog отображает одну строку с информацией о выбранном диске (имя диска, емкость, дата) и список имен файлов с их расширениями, присутствующих на диске. Это сокращенная версия команды DIRectory, которая позволяет отображать больше информации о файлах на одном видеоэкране с меньшей необходимостью прокрутки для просмотра содержимого всего диска. CAT использует те же параметры, что и DIR, для просмотра файлов INVisible и SYStem.
ЧАСЫподсказка $t *в некоторых оболочках: PS1="...\t..." *CLOCK устанавливает задачу прерывания, которая показывает системное время в верхнем углу дисплея; в MS-DOS или UNIX не существует точно соответствующей функции, хотя многие программы предоставляют аналогичные функции для DOS, а распространенные оболочки UNIX могут встраивать время в определяемую пользователем «строку приглашения».
ЦЛСклспрозрачныйОчистить видеодисплей и домашний курсор
КОММВ TRSDOS 6.x COMM/CMD — это терминальная программа , которая устанавливает связь между последовательным портом RS-232C Model 4 и портом другого компьютера, модема или последовательного принтера/плоттера. Сначала необходимо установить драйвер для последовательного порта COM/DVR с помощью команды SET, которая устанавливает системное устройство *CL (Comm Line). Используйте SETCOM/CMD для установки параметров связи.
КОПИЯкопиясрВ TRSDOS 6.x команда COPY может использоваться для передачи информации между системными устройствами, а также между файлами на диске. Например, COPY *KI *PR превратит компьютер (если он подключен к активному строчному принтеру) в пишущую машинку, поскольку каждый набранный на клавиатуре символ будет отправлен на устройство *PR, а также на устройство *DO. Это фактически то же самое, что и команда TRSDOS LINK *KI *PR. Используйте RESET *KI, чтобы отключить эту функцию.
ОТЛАЖИВАТЬотлаживатьНеобязательный filespec также выполняет функцию LOAD для целевой программы машинного кода /CMD; (ext) загружает дополнительные команды отладчика из системного файла SYS9/SYS
УСТРОЙСТВООтображает состояние системных дисков и логических устройств системы, а также существующие МАРШРУТЫ и СВЯЗИ между ними.
ДИРрежлсDIR отображает те же файлы, которые были бы выбраны командой BACKUP, и поэтому полезен как инструмент предварительного просмотра. Параметр (p) отправляет список каталогов на линейный принтер, который в свою очередь может быть ROUTEd или LINKED на файл на диске.
ДИСККОПИРОВАТЬdiskcopyLS-DOS 6.3 включает утилиту DISKCOPY/CMD, которая создает точную копию исходного диска путем форматирования и копирования на пустой целевой диск.
ФИЛЬТРFILTER используется для присоединения программы фильтра /FLT к системному устройству. Три из них, включенных в TRSDOS 6.x, — это FORMS/FLT, который используется для форматированной печати, KSM/FLT, который является клавиатурным макросом, и CLICK/FLT, который заставляет динамик Model 4 издавать звуковой сигнал при каждом нажатии клавиши.
ФОРМАТформатмкфсПо умолчанию 40 дорожек, односторонние на моделях III и 4, двухсторонние на модели 4D. Количество дорожек на сторону можно указать с помощью параметра (CYL= nn ). Все модели 4D и большинство моделей 4 могут форматировать 42 дорожки, хотя приводы, поставляемые Radio Shack, номинально 40-дорожечные.
ФОРМЫВ TRSDOS 6.x устанавливает параметры для данных, отправляемых на системное устройство *PR после присоединения фильтра FORMS к устройству *PR. К ним относятся количество символов в печатной строке, строк на странице, поля, добавленные символы перевода строки и т. д.
БЕСПЛАТНОchkdskдфTRSDOS 6.x отображает карту ASCII , на которой показаны дисковые гранулы, занятые активными файлами с xxxxxx; цилиндр каталога отображается как DDDDDD.
GETDISK/GETTAPE?дд
УБИЙСТВОдельрмНачиная с TRSDOS 6.0 KILL был заменен на REMOVE (согласно статье журнала LSI «Thou Shalt Not Kill»).
СПИСОКтипкотВ TRSDOS/LS-DOS 6.x команда LIST может отображать или печатать содержимое файлов, отличных от ASCII, с параметром HEX. Листинг можно приостановить с помощью + .⇧ Shift@
ЗАГРУЗИТЬ файлspec(эквивалент отсутствует)(эквивалент отсутствует)Вызов программы в TRSDOS, DOS и UNIX осуществляется по имени файла; для обычных двоичных исполняемых файлов или для текстовых командных файлов ( пакетных файлов в DOS и скриптов оболочки в UNIX/Linux) явной команды LOAD не требуется. Команда LOAD в TRSDOS загрузит двоичную программу в память, но не выполнит ее; ни в DOS, ни в UNIX нет эквивалента. LOAD в TRSDOS почти всегда используется для того, чтобы сделать программу Z80 в машинном коде (файл /CMD) доступной системному отладчику для проверки или модификации.
ПАМЯТЬКоманда MEMORY показывает имена и размеры резидентных модулей памяти. Она также используется для изменения байтов системных флагов. Например, флаг A — это байт выделения DOS, который команда BACKUP использует для указания начального цилиндра диска для начала копирования файлов. Это дает пользователю контроль над физическим размещением файлов на дисках, что важно для минимизации перемещения головки чтения/записи диска во время доступа к файлу.
ПЛАСТЫРЬ?пластырьВсе версии TRSDOS включают утилиту PATCH/CMD. Она позволяет модифицировать файлы машинного кода /CMD, используя данные исправления, предоставленные файлом /FIX в шестнадцатеричном формате ASCII.
ПЕЧАТЬтип файла >> prnлпрВ TRSDOS 6.x предусмотрена задача прерывания для вывода текущего видеодисплея на строчный принтер в любое время. Это активируется с помощью + . Если системное устройство *PR МАРШРУТИЗИРОВАНО или СВЯЗАНО с файлом на диске, оно будет отправлено туда.CTRL:
УДАЛЯТЬTRSDOS/LS-DOS 6.x поддерживает команду PURGE, которая массово удаляет файлы, указанные по частичному имени файла, суффиксам файлов или датам файлов. PURGE запросит у пользователя разрешение на удаление каждого файла, если не указан параметр (Q=N) .
ПЕРЕИМЕНОВАТЬren или переименоватьмвВ TRSDOS 6.x пользователь может переименовывать отдельные файлы или всю дискету.
ЛЕНТА100TAPE100/CMD считывает и записывает кассетные ленты, записанные ноутбуком TRS-80 Model 100 в виде файлов на диске TRSDOS 6.x. Для этого требуется использование интерфейса кассеты Model 4, которого нет у переносной модели 4P.

Пример кода

Следующий исходный код ассемблера Z80 предназначен для подпрограммы с именем HELLO_WORLD . Это вводная программа, которая выведет сообщение на видеодисплей и затем завершит работу. Несмотря на простоту, она демонстрирует, как форматируется исходный код ассемблера и как он взаимодействует с оборудованием дисплея через TRSDOS. В примере используется TRS-80 Model 4 с TRSDOS/LS-DOS 6.x, произведенный Tandy/Radio Shack и Logical Systems, с большинством ассемблеров, продаваемых Radio Shack или Misosys Inc. (серия I/EDTASM, ALDS, EDAS или MRAS с переключателем).-GC

               3000 3E 693002 ЭФ3003 21 14 303006 3Е 0А3008 ЭФ3009 0E 0D300Б 3Е 02300D ЭФ300E 21 00 003011 3E 163013 ЭФ3014 48 65 6С 6С3018 6Ф 2С 20 77301С 6Ф 72 6С 643020 21 0D 0D3023
 ; hello_world_TRS-80 Model 4 ; Печать "Hello, world!", затем выход в TRSDOS Готово ; ; Регистры входа: нет ; Регистры возврата: нет ; ; значения ниже десятичные, если не указано суффикса H ; термин "псевдо-операция" означает то же, что и "директива ассемблера", не является кодом Z80 ; @CLS EQU 105 ; Псевдо-операция EQU устанавливает @CLS текстовую метку = Код супервизора TRSDOS @DSP EQU 2 ; устанавливает @DSP текстовую метку = TRSDOS SVC для отправки символа на дисплей @DSPLY EQU 10 ; устанавливает @DSPLY текстовую метку = SVC для отображения текстовой строки @EXIT EQU 22 ; устанавливает @EXIT текстовую метку = SVC для возврата в TRSDOS Готово ; ORG 3000H ; ORG псевдооперация устанавливает стандартный начальный адрес в TRSDOS 6.x START LD A , @CLS ; CLS = Очистить экран, стереть дисплей и вернуть курсор в исходное положение RST 40 ; Z80 инструкция перезапуска для системного процессора SVC, выполнить @CLS LD HL , MSG ; указать на строку сообщения с HL (требуется для @DSPLY SVC) LD A , @DSPLY ; отправить текстовую строку на устройство вывода *DO Display (видеоэкран) RST 40 ; выполнить @DSPLY SVC (для завершения строки необходим 13-й байт) LD C , 13 ; теперь отправить еще один возврат каретки, требуется в регистре C LD A , @DSP ; для отправки сообщения Hello из TRSDOS Ready prompt RST 40 ; как только мы выйдем в систему LD HL , 0 ; указать командному интерпретатору на отсутствие ошибки LD A , @EXIT ; вернуться в TRSDOS Ready RST 40 ; (целостность стека сохранена, можно было бы также использовать RET!) MSG DB 'Hello, world!' , 13 ; DB = псевдооперация Define Byte собирает строку ASCII в память Z80 CR DB 13 ; 13-й байт — символ возврата каретки ASCII, перемещает курсор вниз END START ; END псевдооперация, требуемая ассемблером ; для создания записи передачи в точку входа программы                                                                         

Ссылки

  1. Уайт, Рон (август 1987 г.). «История Тэнди: все началось 10 лет назад в переоборудованном выставочном зале подержанных автомобилей...» 80 Micro . С. 50-64 . Получено 18.05.2019 .
  2. Арчер, Роуленд-младший (октябрь 1983 г.). «Radio Shack's TRS-80 Model 4». BYTE . стр.  292–302 . Получено 31 января 2015 г.
  3. ^ "1985 Radio Shack Computer Catalog RSC-12 page 28". radioshackcatalogs dot com . Tandy/Radio Shack . Получено 7 мая 2019 г. .
  4. ^ "Источник". trs-80 dot org . Мэтью Рид . Получено 21 мая 2019 г. .
  5. ^ Солтофф, Рой. «Руководство программиста по TRSDOS 6» (PDF) . timm-mann dot org . Misosys Inc . Получено 4 ноября 2019 г. .
  • Clays, Michael (19 февраля 2000 г.). "TRS-80 Model I TRSDOS". Mike's Virtual Computer Museum . Архивировано из оригинала 21 февраля 2006 г.
  • Обзор пользовательских команд TRSDOS/LS-DOS 6.x
  • Сообщения об ошибках TRS-80
  • TRS-80 Возрожденный сайт
  • Домашняя страница Model III (со списком альтернатив TRSDOS для TRS-80 Model III)
  • Программное обеспечение эмулятора TRS-80 Мэтью Рида работает под управлением MS-DOS ; требует извлечения образа ПЗУ
  • xtrs Эмулятор TRS-80 для UNIX и X11; применимы аналогичные проблемы с ПЗУ
  • Утилиты TRSdisk, TRSDOS для UNIX
  • Менеджер виртуальных гибких дисков TRS-80
  • Приложения TRSDOS
Взято с "https://en.wikipedia.org/w/index.php?title=TRSDOS&oldid=1249479620"