Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:file_archivers:pr [2020-12-27 00:36] GreyWolf [3. Требования к компьютеру.] |
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. Требования к компьютеру ====== |
- | Программы PR, PRD и PRSFX работают на MSX-компьютере любой марки и любого поколения. Используются только стандартные вызовы DOS. Обе программы не используют ни маппер, ни видеопамять, а также не используют никаких областей основной памяти, кроме зоны TPA, отведенной под COM–программы. | + | Программы PR, PRD и PRSFX работают на MSX-компьютере любой марки и любого поколения. Используются только стандартные вызовы DOS. Обе программы не используют ни маппер, ни видеопамять, а также не используют никаких областей основной памяти, кроме зоны [[msx:dos:#tpa|TPA]], отведенной под COM–программы. |
Программа PR использует память не ниже, чем до AF00h | Программа PR использует память не ниже, чем до AF00h | ||
Строка 86: | Строка 86: | ||
Программа PRD использует всю доступную память. | Программа PRD использует всю доступную память. | ||
- | Программа PRSFX может использовать всю TPA. | + | Программа PRSFX может использовать всю [[msx:dos:#tpa|TPA]]. |
Использование для вывода символа на консоль не функции BIOS, а функции DOS(2) позволяет достичь следующих удобств при пользовании архиваторами PR: | Использование для вывода символа на консоль не функции BIOS, а функции DOS(2) позволяет достичь следующих удобств при пользовании архиваторами PR: | ||
Строка 104: | Строка 104: | ||
====== 4. Формат архивного файла ====== | ====== 4. Формат архивного файла ====== | ||
- | а) заголовок архива: | + | * <WRAP>а) заголовок архива: |
|''+0: 'AR'''|сигнатура архиватора| | |''+0: 'AR'''|сигнатура архиватора| | ||
|''+2: db 13''|максимальное число бит на слово LZ| | |''+2: db 13''|максимальное число бит на слово LZ| | ||
|''+3: db 2''|версия алгоритма| | |''+3: db 2''|версия алгоритма| | ||
- | + | </WRAP> | |
- | б) один или несколько скомпрессированных файлов | + | * <WRAP>б) один или несколько скомпрессированных файлов: |
|''+0: ds 1''|флаговый байт| | |''+0: ds 1''|флаговый байт| | ||
|''+1: ds 11''|имя файла| | |''+1: ds 11''|имя файла| | ||
Строка 116: | Строка 115: | ||
|''+16:ds 4''|дата и время| | |''+16:ds 4''|дата и время| | ||
|''+20:ds 4''|ссылка на следующий заголовок| | |''+20:ds 4''|ссылка на следующий заголовок| | ||
- | |''+24 ....''|файл, закодированный по LZW-M алгоритму| | + | |''+24 … …''|файл, закодированный по LZW-M алгоритму| |
+ | </WRAP> | ||
Значения битов флагового байта: | Значения битов флагового байта: | ||
- | |0й бит|0- файл сжат, 1- файл не сжат| | + | |0й бит|0 — файл сжат, 1 — файл не сжат| |
- | |7й бит|1- признак конца архива (сейчас в последний байт архива пишется 0xFF)| | + | |7й бит|1 — признак конца архива (сейчас в последний байт архива пишется 0xFF)| |
Остальные биты зарезервированы. | Остальные биты зарезервированы. | ||
Строка 137: | Строка 136: | ||
|266|дефис и CR| | |266|дефис и CR| | ||
- | Более подробное описание LZW-алгоритма можно прочитать в журнале BYTE (9/1990). Там же есть хорошее описание Хуфф. сжатия за один проход. LZW-M алгоритм отличается от стандартного алгоритма тем, что длина слова увеличивается не при заполнении таблицы, а при передаче, что улучшает коэффициент сжатия. | + | Более подробное описание LZW–алгоритма можно прочитать в журнале BYTE (9/1990). Там же есть хорошее описание Хуфф. сжатия за один проход. LZW-M алгоритм отличается от стандартного алгоритма тем, что длина слова увеличивается не при заполнении таблицы, а при передаче, что улучшает коэффициент сжатия. |
====== 5. Перспективы ====== | ====== 5. Перспективы ====== | ||
Строка 144: | Строка 143: | ||
* богатые сервисные функции. | * богатые сервисные функции. | ||
* более удобный интерфейс, объединение архиватора и деархиватора в одной программе. | * более удобный интерфейс, объединение архиватора и деархиватора в одной программе. | ||
- | * версии архиватора для других операционных систем (MISIX, CP/M). | + | * версии архиватора для других операционных систем (MISIX, [[msx:cp_m:cp_m|CP/M]]). |
* REL модули для деархивации, совместимые с [[msx:ascii_c:ascii_c|]]. | * REL модули для деархивации, совместимые с [[msx:ascii_c:ascii_c|]]. | ||
Строка 161: | Строка 160: | ||
- | {{tag> MSX File_Archiver application}} | + | {{tag> MSX File_Archiver application voznesensky_e_g}} |