                       TR-dos Disk eXplorer (xTRD) v1.0
                  Copyright (C) 1998-2000 HalfElf, Н.Новгород
              Copyright (C) 2003 Александр Медведев, Старый Оскол

┌─[О программе]───────────────────────────────────────────────────────────────
│    xTRD  является плагином к FAR'у, который обеспечивает комфортную работу с
│ с образами дисков системы TR-DOS.
│    Поддерживаются  форматы:  trd,  fdi,  TeleDisk  (td0), fdd, udi. Работа с
│ "диском"  ведется  через  плагины  второго  уровня, поэтому поддержка нового
│ формата может быть добавлена без изменения самого плагина.
│    Также поддерживаются все стандартные операции с системой каталогов DirSys
│ 1.00, расположенной в неиспользуемых секторах нулевой дорожки.
·
·
├─[Установка]─────────────────────────────────────────────────────────────────
│ 1. Создайте каталог ZX в каталоге FAR/Plugins
│ 2. Скопируйте все файлы и каталог Formats из архива в созданный каталог
│ 3. Перезагрузите FAR
·
·
├─[Работа с панелью]──────────────────────────────────────────────────────────
│    После нажатия клавиши Enter  на  образе диска Вы увидите на панели список
│ файлов  находящихся  внутри.    В  зависимости  от  текущего  режима  панели
│ информация  о  файлах  будет различаться.  Плагин  переопределяет  4 режима,
│ между  ними  можно переключаться нажимая клавиши LCtrl+3, LCtrl+4, LCtrl+5 и
│ LCtrl+5.
│    Полная  информация  о  файле  включает:  реальное  имя файла, HoBeta имя,
│ размер,  количество  секторов,  адрес загрузки/длина basic, описание формата
│ файла  и  комментарий. О формировании HoBeta имен и описании формата читайте
│ чуть ниже.
│    CheckBox  Без заголовков позволяет записать только тело файла (без HoBeta
│ или  SCL  заголовков).  Кроме  того,  если  длина  файла в заголовке указана
│ корректно  (т.е.  не противоречит длине файла в секторах), мусор находящийся
│ в  конце  последнего  сектора  файла  также  не  будет  записан.  Это  может
│ пригодиться, например, при распаковке текстовых файлов.
│    Плагин  нормально  обрабатывает  ситуацию  с  уже  существующими файлами,
│ поэтому  можете  спокойно  копировать  файлы  туда/сюда не опасаясь потерять
│ данные.
·
·
├─[Клавиши управления]────────────────────────────────────────────────────────
│  <F5> - копировать файл(ы)
│  <F6> - переместить файл(ы) (если в конфигурации выбрано автоматическое
│         уплотнение, то происходит уплотнение диска)
│  <F7> - создание каталога (если включена поддержка системы каталогов)
│  <F8> - удалить файл(ы) (если в конфигурации выбрано автоматическое, то
│         уплотнение, то происходит уплотнение диска)
│
│  <F4>, <Shift+F6> и <Ctrl+A> - редактирование заголовка файла или каталога
│  <F2> и <Shift+F3> - меню дисковых команд ─┐
│  ┌─────────────────────────────────────────┘
│  │Проверить диск                    - проверить каталог диска
│  │                                    (проверка достаточно простая)
│  │Установить/Снять защиту от записи - поставить/убрать "защиту от записи"
│  │Изменить метку диска              - изменение имени диска
│  │Уплотнить диск                    - уплотнить диск
│  │Очистить свободное пространство   - заполнить свободное место нулями
│  └─────────────────                   (после этого диск лучше пакуется)
│
│   Последние три пункта меню появляются только для  "не защищенных от записи"
│ дисков
│  <Ctrl+H> - скрыть/показать удаленные файлы
│  <Ctrl+L> - информация о диске
│  <Enter> и <Ctrl+Enter> - запуск эмулятора (см. Конфигурация плагина)
·
·
├─[Формирование HoBeta имен]──────────────────────────────────────────────────
│    Необходимость  введения  HoBeta  имен  объясняется  очень просто - MS DOS
│ накладывает на имена файлов значительно больше ограничений чем TR-DOS. Имена
│ формируются очень просто:
│ 1. Все недопустимые в MS DOS символы заменяются на символ  '_'.
│ 2. Начальные и конечные '_' отбрасываются.
│ 3. Если получилось одно  из  зарезервированных в  MS DOS имен (например lpt1
│    или prn), то к имени добавляется один символ '_'.
│ 4. Особым  образом  обрабатываются  имена  "многотомных"  ZXZIP архивов. Все
│    тома получают одно и тоже имя совпадающее с именем первого тома.
│    Расширение  формируется  из  символа  '$' и типа файла. Если файл с таким
│ именем  и  расширением уже существует, то к расширению добавляется очередная
│ цифра.  При  этом  есть  еще одна особенность. Если плагин успешно определил
│ формат  файла,  то символ '$' может быть заменен на другой, заданный в файле
│ types.ini, аналогичным образом может измениться и первая буква расширения.
·
·
├─[Определение формата файла]─────────────────────────────────────────────────
│    Определение  формата  введено для того, чтобы FAR мог раскрасить файлы на
│ панели  в  зависимости  от их типа. Тип (он же формат) файла определяется на
│ основании  его  заголовка  и/или  сигнатуры.  Правила определения задаются в
│ файле types.ini, путь к которому задаётся в окне настройки. Стандартный файл
│ types.ini  позволяет с большой  долей вероятности определить, что конкретный
│ файл  является  графическим,  ассемблерным  исходником,  упакован  одним  из
│ известных компрессоров (hrust, hrum, ms pack и др), является  файлом  одного
│ из  музыкальных  редакторов. Для получения более полного списка определяемых
│ форматов смотрите types.ini.
│    Для  того  чтобы  раскрасить  файлы  пользуйтесь  стандартным  FAR'овским
│ методом: F9/Параметры/Раскраска файлов. Имеет смысл установить раскраску для
│ следующих масок:
│  *.!b* - basic
│  *.!s* - графика
│  *.!a* - ассемблерные исходники
│  *.!m* - музыкальные файлы
│    Кроме  того  для  более  подробной информации можно включить 5 и 6 режимы
│ панели (LCtrl+5 или 6 соответственно).
│    Теперь   немного   о   формате   types.ini.   Данный   файл   состоит  из
│ последовательности  секций.  Каждая  секция описывает один из распознаваемых
│ форматов. Строки начинающиеся с символа '#' или ';' являются  комментариями.
│ Каждая секция может содержать следующие параметры:
│ ∙ Type      - тип файла в системе TR DOS
│ ∙ Start     - адрес загрузки/длина basic;
│ ∙ Size      - размер файла;
│ ∙ NoSecs    - количество занимаемых секторов;
│ ∙ Comment   - комментарий к файлу
│ ∙ Signature - некоторая последовательность байт в пределах первого сектора.
│    Комментарий   к  файлу  -  это  краткое  описание  файла,  которое  может
│ находиться  в  нем  самом.  К  сожалению, подобную роскошь позволяют хранить
│ далеко  не  все  файлы, но комментарий есть в файлах ассемблера XAS и многих
│ музыкальных редакторов.
│    Формат:
│      Comment = <смещение> <длина>
│    Формат последнего параметра следующий:
│      Signature=<смещение> <байт> {<байт>  }...
│    Максимальная  длина  сигнатуры 32 байта. Вместо любого байта может стоять
│ '?', сие означает, что данный байт может быть любым.
│    Сигнатура  ищется и комментарий выдергивается только в пределах первых 16
│ секторов файла.
│    Следующие 4 параметра определяют: новый спец.символ (SpecialChar), первую
│ букву  расширения  (NewType),  текстовое  описание  формата (Description), и
│ (ShowHeader)  -  определяет  необходимость  записывать  HoBeta заголовок при
│ извлечении файла для просмотра (F3) или быстрого просмотра (Ctrl+Q).
│    Числовые  значения  могут  быть заданы в десятичной или шестнадцатеричной
│ системе  (префикс  0x  или  #).  Кроме  того  они  могут  быть заданы в виде
│ '<символы>',  где  <символы>  -  один  (для  байтовых)  или два символа (для
│ параметров  размером  в  слово).  Если  хотите  разобраться более подробно -
│ смотрите файл types.ini
│    Также   стоит   отметить,   что   при   определении   типа  файла  секции
│ просматриваются  с начала файла, поэтому более конкретные определения должны
│ располагаться ближе к началу.
│    Примечание: если в процессе редактирования файла types.ini вы ошибетесь и
│ напишите нечто, что парсер не сможет корректно обработать, при загрузке
│ плагина (это может произойти либо при запуске FAR'а, либо при первом входе в
│ в образ диска) появиться сообщение:
│    Файл "types.ini" содержит ошибку(и)
·
·
├─[Конфигурация плагина]──────────────────────────────────────────────────────
│    Существует  несколько  параметров,  которые вы можете настроить по своему
│ вкусу.   Для   их   изменения   жмите  F9/Параметры/Параметры внешних/Работа
│ с образами TR-DOS.
│
│ Определять формат файлов - вкл/выкл определение формата файла
│ Показывать расширения - вкл/выкл отображение 3х буквенных расширений
│ Автоматически уплотнять диск - вкл/выкл уплотнение диска при удалении файлов
│ Использовать систему каталогов DirSys 1.00 - вкл/выкл систему каталогов
│
│ ( ) HoBeta
│ ( ) SCL                    - выбор формата копируемых файлов
│ () Автоматический выбор
│
│    Выбор  формата  работает следующим образом: если выбран конкретный формат
│ (HoBeta   или   SCL),  то   при   копировании  файлов  он  и  будет  выбран.
│ Автоматический  выбор  чуть  более  "интеллектуален", при копировании одного
│ файла выбирается формат HoBeta,  при копировании нескольких - SCL.
│   Путь к INI файлу - полный путь  к  файлу,  содержащему  описания  форматов
│ файлов.  Если  кроме xSCL также установлены xHRiP, xZXZIP или xTRD, то имеет
│ смысл  задать  во  всех плагинах общий ini файл. Если путь не указан (пустая
│ строка), то будет искаться файл с именем types.ini в каталоге с плагином.
│    Ниже  идут  параметры  необходимые для автоматического запуска эмулятора.
│ Возможен  запуск  2х  различных  эмуляторов:  первый висит на клавиши Enter,
│ второй - на <Ctrl+Enter>.
│    Типы файлов  -  список  типов  файлов,  при  запуске которых будет вызван
│ эмулятор. Если список начинается с символа '*', то эмулятор будет вызываться
│ при  запуске  любого файла. Если эта строка пуста, то плагин вообще не будет
│ реагировать на соответствующую клавишу.
│    Строка запуска  -  командная  строка. В командной строке могут находиться
│ специальные последовательности:
│    %P - полный путь к образу (включая имя диска)
│    %p - полный путь к образу (включая имя диска) короткий
│    %D - имя файла образа диска
│    %d - имя файла образа диска (короткое)
│    %f - TR-DOS'ное имя запускаемого файла
│    %N - порядковый номер запускаемого файла (нумерация с 1)
│    %n - порядковый номер запускаемого файла (нумерация с 0)
│    Все остальные символы переносятся в командную строку без изменения.
│    Если  полный  путь  или  имя  диска  содержат пробелы, то соответствующий
│ параметр автоматически заключается в кавычки.
│    Полноэкранный режим - запускать эмулятор в полноэкранном режиме.
·
·
├─[TeleDisk]──────────────────────────────────────────────────────────────────
│    Плагин  второго уровня для работы с форматом td0, входящий в состав xTRD,
│ имеет  несколько  ограничений.  Во-первых,  он  умеет  только  читать файлы,
│ во-вторых,  поддерживается  только  новый (v2.xx)  алгоритм компрессии. Если
│ вдруг  кто-нибудь  имеет более полную информацию об этом формате, не сочтите
│ за труд, поделитесь!
·
·
├─[История]───────────────────────────────────────────────────────────────────
│
├─┤08.12.2018├──┤xTRD v1.0.0.1, deathsoft├─
│
│ [+] Поддержка FAR 3.0
│
├─┤30.12.2003├──┤xTRD v1.0├─
│
│  [+] Поддержка системы каталогов DirSys 1.00
│  [+] Clean free space больше не портит образы
│  [+] Поддержка fdd и udi форматов
│  [+] Поддержка lng файлов
│  [+] Обнуление остатка сектора при добавлении файла
│  [+] Ускорено открытие образов если отключено определение типов файлов
│  [+] Открытие файлов из командной строки через префикс "xTRD:"
│  [+] Сохранение последнего режима панели
│  [+] Новый формат ini файла
│  [+] Возможность изменения пути в INI файлу
│  [!] Вновь переделан интерфейс плагинов второго уровня
│  [!] Проверка имён файлов на совпадение с именами системных устройств
│  [!] Исправлена ошибка добавления файла без расширения
│  [!] Корректная обработка образов, содержащих "лишние" сектора на дорожках
│
├─┤15.03.2000├──┤xTRD v0.9b├─
│
│  [+] Добавлена поддержка формата TeleDisk (td0)
│  [+] Добавлена возможность запуска эмулятора при выборе файлов
│  [+] Добавлена возможность редактирования параметров диска и заголовка файла
│  [+] Добавлена поддержка "защиты от записи"
│  [!] Плагин научился писать в "урезанные" trd файлы
│  [!] Переделан интерфейс плагинов второго уровня
│  [!] Код переписан на 90%
│
├─┤??.??.1999├──┤xTRD v0.8b build 2├─
│
│  Наконец-то xTRD стал полноценным плагином. Более того сам стал пользоваться
│  плагинами второго уровня. В результате им стало можно пользоваться.
│
├─┤??.??.1998├──┤xTRD v0.5b├─
│
│  Первая попытка сделать xTRD в виде плагина. В результате получился плагин
│  второго уровня к MultiArc'у. Появилась возможность увидеть реальное имя
│  файла :)
│
├─┤??.??.1997├──┤xTRD v0.3b├─
│
│  Программа была выставлена на всеобщее обозрение
│  xTRD в то время являлся отдельной программой, цепляемой к FAR'у
│  с помощью файла custom.ini
│
├─┤??.??.1997├──┤xTRD v0.1b├─
│
│  исходная версия
·
·
├─[Об авторах]────────────────────────────────────────────────────────────────
│                     Авторами данного продукта являются
│               Дмитрий Козлов AKA HalfElf и Александр Медведев
│
│               xHRiP и другие плагины можно найти в Internet.
│            Адрес нашей странички: https://thex.untergrund.net/
·
·
└──────────────────────────────────────────────────────────────[ 08.12.2018 ]─
