[О группе]
[Наши игры]
[Quick Commander]
[mc-zx]
[Always]
[Новости "ОБС"]
Плагины для Midnight Commander (mc) для тех, кто
работает с файлами ZX Spectrum на PC: образы дисков TR-DOS открываются как обычные папки, исходники ALASM
показываются текстом, файлы пакуются и распаковываются ZX0, Hrust и Hrum прямо из меню mc, тексты в cp866
читаются и перекодируются (Midnight Commander plugins for ZX Spectrum files).
mc-zx v1.0
Дата выхода (Release date): 05.10.2026
Нажмите чтобы скачать (click for download):
mc-zx v1.0: trdos, alasm, zx0, hrust, hrum, cp866
Каждый плагин - отдельная папка со своей программой, установщиком, описанием (README.md, по-английски) и
тестами: его можно отдать и установить отдельно от остальных. Все программы написаны на Python 3 без
внешних библиотек, побайтно совпадают с оригинальными упаковщиками и работают в Linux, macOS и BSD.
| плагин | что делает | в mc |
| trdos | образы дисков TR-DOS (.trd) и архивы SCL как папки: просмотр, извлечение, добавление и удаление файлов | Enter на .trd/.scl, F3 - каталог |
| alasm | исходники ALASM 4.4x и 5.0x (файлы типа H) как текст | F3 и Enter на .H/.$H, F2 - l (в .asm) |
| zx0 | упаковка и распаковка ZX0 (Einar Saukas), как у Quick Commander 3.20 | F2 - j / J, F3 на .zx0 и .z_? |
| hrust | упаковка Hrust 2 как командой h в Quick Commander 3.11 или короче, как oh2c; распаковка | F2 - u / O / N, F3 на .p_? и .hr2 |
| hrum | упаковка Hrum 3.5 (Hrumer) в самораспаковывающийся блок и распаковка | F2 - k / K, F3 на .hrm |
| cp866 | тексты DOS и русского Спектрума в cp866: просмотр, перевод в UTF-8 и обратно | F2 - v, V, W |
Плагины работают и вместе: внутри образа .trd исходник ALASM виден как NAME.H, и F3 показывает его текстом;
файл, упакованный в mc, копируется на диск с тем типом, который понимает Quick Commander.
Образы TR-DOS (trdos)
Enter на файле .trd или .scl открывает образ как папку, F3 показывает каталог диска текстом. Внутри:
- файлы как есть, с именами NAME.T, где T - тип TR-DOS: boot.B, game.C. Трехбуквенные расширения
показываются полностью (song.pt3), упакованные файлы Quick Commander'а - как game.p_C (Hrust) и game.z_C (ZX0);
- папка hobeta/ - те же файлы в формате hobeta (NAME.$T): с заголовком сохраняются имя, тип, START и LENGTH.
Это не копия, а другой вид тех же файлов: удаление там удаляет файл с диска;
- CATALOG - каталог диска текстом: метка, тип диска, свободное место, у каждого файла START, LENGTH, секторы,
дорожка и сектор, строка автостарта бейсика, удаленные файлы тоже.
Копирование в образ (F5): файл hobeta узнается по заголовку, обычный файл получает имя и тип из своего имени
(game.C - имя game, тип C). Адрес START задается в имени: game.C@24576 или game.C@#6000; без него - 16384 для
экрана (6912 байт) и 32768 для остального. boot.B@10 - бейсик с автостартом с 10-й строки. Новый файл в .trd
ложится после последнего файла каталога, как у TR-DOS; файлы на диске никогда не сдвигаются. Удаление (F8) в
.trd только помечает файл, как TR-DOS; из .scl файл удаляется совсем. Новый образ - пустой файл с расширением
.trd (80 дорожек, 2 стороны) или .scl: войдите в него и скопируйте файлы.
Особенности mc: после копирования в образ mc показывает его по памяти - чтобы перечитать, выйдите из образа и
войдите снова через минуту или сразу: F9 - Command - Active VFS list - Free VFSs now. Сообщение "Cannot chmod
target file" при копировании в образ безвредно: нажмите "Ignore all" или снимите "Preserve attributes".
Исходники ALASM (alasm)
F3 и Enter на файле NAME.H или NAME.$H показывают исходник ALASM 4.4x/5.0x текстом (так же, как его текстовый
экспорт в самом ALASM), в том числе внутри образа .trd. F2 - l переводит отмеченные файлы в NAME.asm.
Строчное .h - заголовок C, его плагин не трогает.
Упаковщики (zx0, hrust, hrum)
F2 j ZX0: pack game.C -> game.z_C (как в Quick Commander 3.20)
game.scr -> game.scr.zx0
J ZX0: unpack game.z_C -> game.C
u Hrust: pack game.C -> game.p_C (как h в Quick Commander 3.11)
O Hrust: pack (oh2c) game.C -> game.p_C (самый короткий блок)
N Hrust: unpack game.p_C -> game.C
k Hrum: pack game.C -> game.C.hrm (самораспаковывающийся блок)
K Hrum: unpack game.C.hrm -> game.C
F3 на .zx0, .z_?, .p_?, .hr2, .hrm - распакованные данные (hex, F4 - текстом)
Пункты меню работают с отмеченными файлами, а если их нет - с текущим. Существующие файлы не перезаписываются;
если что-то не вышло, плагин пишет почему и ждет Enter (вывод - по Ctrl-O). zx0 пакует байт в байт как
оригинальный zx0 2.2, hrust - как QC 3.11 или как oh2c, hrum - как hrum35 1.1b. Имена с типом после "_"
(game.z_C, game.p_C) - стандарт Quick Commander'а: скопированный на диск файл QC распакует командой U в game.C.
Hrum спрашивает адрес блока, адрес распаковки, переход после нее и число нулей в конце (ответ "-" - по
умолчанию: #6000, #6000, возврат по RET). Меню mc работает только в обычных папках, не внутри образов:
скопируйте файл из образа (F5) и работайте с копией.
Тексты cp866 (cp866)
F2 - v показывает текст в cp866 (DOS, русский Спектрум) с русскими буквами; F2 - V пишет рядом NAME.utf8.txt, F2 - W -
обратно в cp866 (NAME.cp866.txt, с концами строк CR LF, как в текстах для Спектрума). Концы строк CR (Спектрум)
и CR LF (DOS) понимаются оба. Если в тексте UTF-8 есть знак, которого нет в cp866, файл не пишется, а программа
называет строку и колонку этого знака.
Командная строка (Command line)
Все программы работают и без mc: trdos list/catalog/copyout/copyin/rm, zx0 [-d], hrust [-o] [-d], hrum [-d],
alasm, cp866 [-r]. Подробности и все ключи - в README.md каждого плагина.
|