Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:file_archivers:pr [2020-12-27 00:22] GreyWolf [1. Использование архиватора PR] |
msx:file_archivers:pr [2023-08-01 13:02] (текущий) GreyWolf [Ссылки] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Архиваторы для MSX серии PR (памяти Егора Вознесенского) ====== | + | ====== Архиваторы для MSX серии PR ====== |
+ | |||
+ | Автор: Егор Вознесенский | ||
FIXME | FIXME | ||
Строка 9: | Строка 11: | ||
* prd2.com | * prd2.com | ||
+ | Файлы программ [[msx:file_archivers:file_archivers#files|здесь]]. | ||
SOLID SOFTWARE inc. | SOLID SOFTWARE inc. | ||
Строка 21: | Строка 23: | ||
Особенно хорошо архиватор PR сжимает тексты, графику и ассемблерные программы. (Однако, весьма плохо сжимает REL-файлы.) | Особенно хорошо архиватор PR сжимает тексты, графику и ассемблерные программы. (Однако, весьма плохо сжимает REL-файлы.) | ||
+ | Основная статья про архиваторы [[msx:file_archivers:file_archivers|здесь]]. | ||
====== 0. Общие замечания ====== | ====== 0. Общие замечания ====== | ||
Строка 33: | Строка 35: | ||
|PRSFX.COM|изготовитель самораскрывающихся архивов| | |PRSFX.COM|изготовитель самораскрывающихся архивов| | ||
|PR.DOC|настоящий файл, {{pr.txt|версия в кодировке UTF}}| | |PR.DOC|настоящий файл, {{pr.txt|версия в кодировке UTF}}| | ||
- | FIXME заархивированные в одном самораскрывающемся архиве PRINST.COM | ||
- | |||
Архиватор запускается командой: | Архиватор запускается командой: | ||
- | |||
<code> | <code> | ||
- | PR [-gma] <имя архива> [<файл(ы)> ...][@список] | + | PR [-gma] <имя архива> [<файл(ы)> …][@список] |
</code> | </code> | ||
Имя архива может быть указано без расширения, расширение по умолчанию ".AR". | Имя архива может быть указано без расширения, расширение по умолчанию ".AR". | ||
Строка 68: | Строка 67: | ||
====== 2. PRSFX — изготовитель самораскрывающихся архивов ====== | ====== 2. PRSFX — изготовитель самораскрывающихся архивов ====== | ||
+ | FIXME | ||
PRSFX запускается командой: | PRSFX запускается командой: | ||
Строка 78: | Строка 78: | ||
что поскольку на MSX нет EXE–файлов, то объем SFX–архива может быть не более, чем 50 Кбайт. | что поскольку на MSX нет EXE–файлов, то объем SFX–архива может быть не более, чем 50 Кбайт. | ||
- | ====== 3. Требования к компьютеру. ====== | + | ====== 3. Требования к компьютеру ====== |
- | <code> | + | Программы PR, PRD и PRSFX работают на MSX-компьютере любой марки и любого поколения. Используются только стандартные вызовы DOS. Обе программы не используют ни маппер, ни видеопамять, а также не используют никаких областей основной памяти, кроме зоны [[msx:dos:#tpa|TPA]], отведенной под COM–программы. |
- | Программы PR, PRD и PRSFX работают на MSX-компьютере | + | |
- | любой марки и любого поколения. Используются только | + | |
- | стандартные вызовы DOS. Обе программы не используют ни | + | |
- | маппер, ни видеопамять, а также не используют никаких | + | |
- | областей основной памяти, кроме зоны TPA, отведенной под | + | |
- | COM- программы. | + | |
- | Программа PR использует память не ниже, чем до AF00h | + | |
- | Программа PRD использует всю доступную память. | + | |
- | Программа PRSFX может испоьзовать всю TPA. | + | |
- | Использование для вывода сивола на консоль не функции | + | Программа PR использует память не ниже, чем до AF00h |
- | BIOS, а функции DOS(2) позволяет достичь следующих удобств | + | |
- | при пользовании архиваторами PR: | + | |
- | а) Возможность использования CTRL-S/CTRL-Q для | + | |
- | приостановки/продолжения вывода на экран и CTRL-P | + | |
- | для копирования вывода на принтер. | + | |
- | б) Возможность использования переопределения вывода в | + | |
- | файл в тех системах, где оно предусмотрено (я знаю | + | |
- | две: MSXDOS-2 и MISIX). Действительно, можно | + | |
- | написать: | + | |
- | PRD -d foo >prn | + | |
- | для того, чтобы оглавление вашего архива попало на | + | |
- | принтер. | + | |
+ | Программа PRD использует всю доступную память. | ||
- | 4. Формат архивного файла. | + | Программа PRSFX может использовать всю [[msx:dos:#tpa|TPA]]. |
- | -------------------------- | + | |
- | а) заголовок архива: | + | Использование для вывода символа на консоль не функции BIOS, а функции DOS(2) позволяет достичь следующих удобств при пользовании архиваторами PR: |
- | +0: 'AR' - сигнатура архиватора | + | * а) Возможность использования <key>CTRL+s</key>/<key>CTRL+q</key> для приостановки/продолжения вывода на экран и <key>CTRL+p</key> для копирования вывода на принтер. |
- | +2: db 13 - максимальное число бит на слово LZ | + | * <WRAP>б) Возможность использования переопределения вывода в файл в тех системах, где оно предусмотрено (я знаю две: MSXDOS-2 и MISIX). Действительно, можно написать: <WRAP group> |
- | +3: db 2 - версия алгоритма. | + | <WRAP half column> |
+ | <code>PRD -d foo >prn</code> | ||
+ | </WRAP> | ||
+ | <WRAP half column> | ||
+ | , | ||
+ | </WRAP> | ||
+ | </WRAP> | ||
+ | для того, чтобы оглавление вашего архива попало на принтер. | ||
+ | </WRAP> | ||
- | б) один или несколько скомпрессированных файлов | + | ====== 4. Формат архивного файла ====== |
- | +0: ds 1 - флаговый байт | + | * <WRAP>а) заголовок архива: |
- | +1: ds 11 - имя файла | + | |''+0: 'AR'''|сигнатура архиватора| |
- | +12:ds 4 - длина файла до архивации | + | |''+2: db 13''|максимальное число бит на слово LZ| |
- | +16:ds 4 - дата и время | + | |''+3: db 2''|версия алгоритма| |
- | +20:ds 4 - ссылка на следующий заголовок | + | </WRAP> |
- | +24 .... файл, закодированный по LZW-M алгоритму. | + | * <WRAP>б) один или несколько скомпрессированных файлов: |
+ | |''+0: ds 1''|флаговый байт| | ||
+ | |''+1: ds 11''|имя файла| | ||
+ | |''+12:ds 4''|длина файла до архивации| | ||
+ | |''+16:ds 4''|дата и время| | ||
+ | |''+20:ds 4''|ссылка на следующий заголовок| | ||
+ | |''+24 … …''|файл, закодированный по LZW-M алгоритму| | ||
+ | </WRAP> | ||
+ | Значения битов флагового байта: | ||
+ | |0й бит|0 — файл сжат, 1 — файл не сжат| | ||
+ | |7й бит|1 — признак конца архива (сейчас в последний байт архива пишется 0xFF)| | ||
+ | Остальные биты зарезервированы. | ||
- | Значения битов флагового байта: | + | Данные пишутся пословно, начиная с длины слова 9 бит. |
- | 0й бит: 0- файл сжат, 1- файл не сжат | + | |
- | 7й бит: 1- признак конца архива (сейчас в последний | + | |
- | байт архива пишется 0xFF) | + | |
- | Остальные биты зарезервированы. | + | |
- | + | ||
- | Данные пишутся пословно, начиная с длины слова 9 бит. | + | |
Специальными кодами являются следующие: | Специальными кодами являются следующие: | ||
+ | |256|конец файла| | ||
+ | |257|увеличить длину слова на 1 бит| | ||
+ | |258|сбросить таблицу кодов| | ||
+ | |259|зарезервировано| | ||
+ | |260|CR/LF| | ||
+ | |261|два пробела| | ||
+ | |262|три пробела| | ||
+ | |263|точка и пробел| | ||
+ | |264|запятая и пробел| | ||
+ | |265|точка и CR| | ||
+ | |266|дефис и CR| | ||
- | 256: конец файла. | + | Более подробное описание LZW–алгоритма можно прочитать в журнале BYTE (9/1990). Там же есть хорошее описание Хуфф. сжатия за один проход. LZW-M алгоритм отличается от стандартного алгоритма тем, что длина слова увеличивается не при заполнении таблицы, а при передаче, что улучшает коэффициент сжатия. |
- | 257: увеличить длину слова на 1 бит | + | |
- | 258: сбросить таблицу кодов. | + | |
- | 259: зарезервировано | + | |
- | 260: CR/LF | + | |
- | 261: два пробела | + | |
- | 262: три пробела | + | |
- | 263: точка и пробел | + | |
- | 264: запятая и пробел | + | |
- | 265: точка и CR | + | |
- | 266: дефис и CR | + | |
- | Более подробное описание LZW-алгоритма можно прочитать | + | ====== 5. Перспективы ====== |
- | в журнале BYTE (9/1990). Там же есть хорошее описание Хуфф. | + | |
- | сжатия за один проход. LZW-M алгоритм отличается от | + | |
- | стандартного алгоритма тем, что длина слова увеличивается не | + | |
- | при заполнении таблицы, а при передаче, что улучшает | + | |
- | коэффициент сжатия. | + | |
+ | Вскоре появится новая версия семейства PR, включающая: | ||
+ | * богатые сервисные функции. | ||
+ | * более удобный интерфейс, объединение архиватора и деархиватора в одной программе. | ||
+ | * версии архиватора для других операционных систем (MISIX, [[msx:cp_m:cp_m|CP/M]]). | ||
+ | * REL модули для деархивации, совместимые с [[msx:ascii_c:ascii_c|]]. | ||
- | 5. Перспективы. | + | ====== 6. Предложения ====== |
- | ---------------- | + | |
- | Вскоре появится новая версия семейства PR, включающая: | + | Фирма SOLID Software также предлагает: |
- | + | * ОС MISIX (инструментальная quasi–POSIX система) | |
- | - богатые сервисные функции. | + | * Компилятор V-BASIC версии 2.5 и 3.0 |
- | - более удобный интерфейс, объединение архиватора и | + | * Систему архивации для файлов SCREEN8 (архивирует в 2 раза лучше, чем GIF) |
- | деархиватора в одной программе. | + | * Библиотеки для [[msx:ascii_c:ascii_c|]]. |
- | - версии архиватора для других операционных систем | + | * Утилиты для работы с дисками (форматирование, проверка, увеличение емкости) |
- | (MISIX, CP/M). | + | * TURBO — версию MSX-2 SUB-ROM (с исправленными ошибками и улучшенными характеристиками.) |
- | - REL модули для деархивации, совместимые с ASCII-C. | + | |
- | + | ||
- | + | ||
- | 6. Фирма SOLID Software также предлагает: | + | |
- | ----------------------------------------- | + | |
- | + | ||
- | - ОС MISIX (инструментальная quasi-POSIX система) | + | |
- | - Компилятор V-BASIC версии 2.5 и 3.0 | + | |
- | - Систему архивации для файлов SCREEN8 (архивирует в 2 | + | |
- | раза лучше, чем GIF) | + | |
- | - Библиотеки для ASCII-C. | + | |
- | - Утилиты для работы с дисками (форматирование, | + | |
- | проверка, увеличение емкости) | + | |
- | - TURBO - версию MSX-2 SUB-ROM (с исправленными | + | |
- | ошибками и улучшенными характеристиками.) | + | |
- | </code> | + | |
====== Ссылки ====== | ====== Ссылки ====== | ||
- | {{tag> MSX File_Archiver application}} | + | {{tag> MSX File_Archiver application voznesensky_e_g}} |