TR-DOS
TR-DOS — дисковая операционная система для бытовых компьютеров, совместимых с ZX Spectrum. Разработана компанией Technology Research Ltd (Англия) в 1984 году.
Устройство
[править | править код]TR-DOS представляет собой программную часть аппаратно-программного решения, состоящего из Beta Disk Interface (контроллера дисковода) и собственно самой TR-DOS, содержащейся в ПЗУ Beta Disk Interface. В оригинальных моделях компьютера устройство подключалось к штатному системному разъёму компьютера, в российских клонах выполнялось как в виде отдельного устройства, так и в составе основной платы компьютера (например, в компьютерах Pentagon 128 и Scorpion ZS-256). Поддерживаются дисководы гибких дисков 5¼" и 3½" и логические форматы дисков от SD/SS до DD/DS. Максимальная ёмкость стандартной дискеты, размеченной в TR-DOS, составляет 655 350 байтов (включая каталог, но не считая дорожки выше 80 стандартных). Ёмкость каталога — 128 имён файлов. Файлы непрерывные. После удаления файлов (если за ними есть неудаленные), при необходимости высвобождения пространства диска под удалёнными файлами нужно выполнить операцию сжатия MOVE.
Помимо работы с файлами, данная система позволяла сбрасывать образ памяти на диск с возможностью последующего запуска. Аппаратная часть, отвечавшая за данную возможность оставляла желать лучшего. Лишь версия интерфейса Profi-3.* стала использовать для формирования импульса триггер, а не одновибратор, исключив повторные обработки NMI, которые перегружали стек и приводили к сбросу. На этой же версии интерфейса впервые был применен цифровой ФАПЧ, значительно повысив качество чтения дискет. К сожалению, в базовых версиях программный модуль обработки NMI был написан совершенно бездарно. Помимо того, что расходовался большой размер стека, портилось несколько ячеек памяти, а режим прерываний восстанавливался опытным путём - переименованием файла образа. Для запуска образа в режиме im2 в начало имени необходимо было добавить символ $, Последнее связано с тем, что у Z80 нет команд для чтения текущего режима прерываний. Однако тип прерываний на ZX определить программным путём не только можно, но и очень легко. Но только непосредственно во время выполнения подпрограммы обработки NMI. Трюк основан на том, что на ZX практически может быть только два вида прерываний. Для остальных нет никакой разницы. Достаточно создать в ОЗУ маленькую программную ловушку на im2 и подождать отработки одного прерывания. Если ловушка сработала, использовалось im2. Все перечисленные недостатки были успешно решены в версии TR-DOS 5.34 (год выпуска 1997, номер версии выбран исключительно для совместимости версии существовавшего ПО и отличия от других версий). А наличие возможности замены стандартной области обработки NMI на ОЗУ позволяло сбрасывать на диск и успешно запускать даже такие "супер защищенные программы", как НЛО, НЛО-2. За рубежом данные образы именовались как Snapshot. Анализ кода "взломанных" игр наглядно демонстрирует, что именно волшебные кнопки позволили поставить на поток широкое распространение тщательно закодированных программ. Данный метод широко применялся в Польше. Обычно к таким образам добавлялись только свои копирайты (Bill Gilbert и т.п.) и красивые загрузчики. Оригинальная точка старта восстанавливалась очень редко. Об использовании данного вида взлома наглядно говорит чёрный экран за секунды до старта.
Распространение
[править | править код]У себя на родине система не получила большого распространения. Модель ZX Spectrum +3, имеющая встроенный дисковод, содержала штатную дисковую систему +3DOS (см. DISCiPLE), которая и стала основной, использующейся на оригинальных моделях ZX Spectrum. Однако TR-DOS получила широкое распространение на постсоветском пространстве в 1990-х годах, став основной дисковой системой для российских ZX Spectrum-совместимых компьютеров. Для неё было адаптировано огромное количество программного обеспечения, а большинство нового ПО писалось именно под TR-DOS.
Версии
[править | править код]Последней оригинальной версией TR-DOS является 5.03. Впоследствии, при использовании системы в России, в неё вносились различные изменения, связанные с исправлением ошибок и добавлением новых возможностей. Первая такая версия датирована 1990 годом, а всего их известно более 30. Например, имеющая хождение версия 5.04T позволяет для увеличения скорости работы дискет выбирать «турбированное» (Turbo) форматирование (с последовательным расположением секторов, а не в оригинальном порядке 1, 9, 2, 10, …). Также существуют версии с поддержкой виртуального диска в оперативной памяти и версии с ограниченной поддержкой жёстких дисков (в виде набора образов стандартных дискет). Последними неоригинальными версиями являются 6.10E (для сервисного ПЗУ Mr Gluk Reset Service) и vTR-DOS (для компьютера ATM Turbo 2+). Обе эти версии выпущены энтузиастами в 2006 году.
См. также
[править | править код]Ссылки
[править | править код]- Virtual TR-DOS — программное обеспечение для системы TR-DOS
- TR-DOS.RU — Сайт, посвящённый операционной системе TR-DOS. Энциклопедия лучших игр для TR-DOS