PDA

Просмотр полной версии : ZX Плагины для Total Commander x64



breeze
25.01.2014, 00:47
Получил сегодня письмо от Eugene Larchenko, автора ZX Плагинов для Total Commander'а. Он поделился замечательной новостью, наконец у него нашлось время и он переписал свои плагины (пока только для работы TRD/SCL) и теперь они работают как в 32 под x64.

С нетерпением ждём остальные версии плагинов под x64.

Hacker VBI
03.02.2014, 11:39
breeze, как его воткнуть в TC8.05_64?

Дмитрий
03.02.2014, 11:57
Hacker VBI,

Скопируйте куда-нибудь файл inTRD.wcx. Запустите TC, идете
в меню Options/Packer/Configure_packer_extensions_DLLs.
Укажите расширение 'trd', нажмите 'New type' и выберите
файл inTRD.wcx. Нажмите OK.

Это из хэлпа для 5й версии InTRD, для 6й думаю аналогично.
Я создал папку в TC\Plugins\WCX

---------- Post added at 09:57 ---------- Previous post was at 09:56 ----------

Кстати, у меня есть плагины AlasmView и ZXAsmView, но правда для х86, если кому-нить нужно, найду время и перекомпилю под x64, но придется студию ставить.

John North
03.02.2014, 13:27
Дмитрий, конечно надо)

Hacker VBI
03.02.2014, 13:34
подключил. спасибо всем!

Дмитрий
04.02.2014, 11:32
Плагин ALASMview:

Данный плагин предназначен для отображения файлов
ALASM в текстовом виде. Поддерживаются токены версии до 5.09.

Фичи:
* Отслеживается открытие кавычек, если при окончании строки она не
закрыта, то добавляется закрывающая кавычка в конец строки (часто
этот метод используется для сокращения объема текста, сам компиллер
нормально воспринимает это, но читается такой текст не очень);

* вместо пробела после первого токена печатается табуляция, мне
кажется так красивее;


Если встретите глюки - а они есть на все 100%, то желательно присылать и скриншот и файл, на котором словили глюк.

Дмитрий
04.02.2014, 11:34
Плагин ZASMview:

Данный плагин предназначен для отображения файлов
ZX-ASM (ZX-TASM, ZAsm) в текстовом виде.
Если встретите глюки - а они есть на все 100%, то желательно присылать и скриншот и файл, на котором словили глюк.

Дмитрий
12.02.2014, 17:47
Если кого-то интересует появление плагина XASview (для просмотра файлов асемблера XAS by Max Petrov, то поделитесь, плиз сырками в этом самом XAS-е для тестирования).

Дмитрий
02.03.2014, 21:53
переписал свои плагины
Передайте, плиз автору. Глюк в плагине InSCL, при открытии последних файлов некоторых SCL-ок выдает "Ошибка чтения...", в FAR-овских плагинах этот файл нормально читается, в InSCL5 тоже все ок. Проблемный SCL прилагаю.

breeze
03.03.2014, 14:32
Передайте, плиз автору.

ок, я отпишу автору.

breeze
03.03.2014, 17:48
На радость, автор достаточно оперативно ответил и даже сделал новую версию, однако у него остались вопросы к автору «проблемного» архива:


Архив EXELENTT.scl имеет неправильную контрольную сумму. Соответственно, одно из
двух:

1) записана неправильная КС; либо
2) архив реально битый. Как знать, может один из файлов в архиве
повреждён, тогда плагин правильно ругается. Однако КС - одна, общая
на весь архив, поэтому установить, какой именно файл повреждён,
невозможно.

Имхо первый пункт вероятнее.
Я иногда сталкиваюсь с такими SCL'ами, видимо созданными каким-то глючным
софтом (случаем, не моими плагинами? :D )

InSCL5 не ругается, потому что проверяется КС только в режиме
тестирования архива (Alt+Shift+F9). Сейчас сделал так же в inSCL 6
(прилагается), так что хотя бы все файлы распаковать можно.

Кстати, откуда взялся это архив? Есть сведения, чем он был создан или
изменён?

Дмитрий
03.03.2014, 18:38
breeze, Предположительно SCL сделан глючной версией FARовского плагина, который таки неправильно считал КС. Но сбивает с толку не то, что выдается такая ошибка при открытии SCL (этого нет), а при попытке открыть на просмотр ПОСЛЕДНЕГО файла в этом SCL.

elf/2
03.03.2014, 18:50
Предположительно SCL сделан глючной версией FARовского плагина,
с этого момента поподробнее. что это за глючная версия ФАРского плагина?

breeze
03.03.2014, 22:30
Предположительно SCL сделан глючной версией FARовского плагина…

OK. Я передам автору.

Дмитрий
04.03.2014, 10:00
с этого момента поподробнее. что это за глючная версия ФАРского плагина?
Тынц (http://zx-pk.ru/showpost.php?p=216543&postcount=105)

elf/2
04.03.2014, 13:22
блин, где люди берут версии 5 летней давности...

Дмитрий
04.03.2014, 16:00
elf/2, просто скорее всего самому файлу более 5 лет...

breeze
13.03.2014, 20:40
Очередное обновление. Финальная версия:



Сделал финальную версию,
искать здесь: http://dev.khsu.ru/el/tc/intrd/

Есть существенные фиксы со времён последней беты,
поэтому рекомендую обновиться.


На всякий случай сделаю копию тут

kotsoft
27.03.2014, 20:42
А как создать пустой trd-файл, чтобы потом накидать туда файла из SCL-ок ?

breeze
27.03.2014, 21:59
А как создать пустой trd-файл, чтобы потом накидать туда файла из SCL-ок ?

Так же как и обычные архивы в TC. Выбираем файлы которые надо добавить, нажимаем ALT+F5 и вместо архива выбираем SCL или TRD:

http://i.imgur.com/UWShymh.jpg

Alex Rider
27.05.2014, 01:08
Кто-нибудь знает, inTAP x64 планирует появиться? Есть его исходники для самостоятельной сборки?

Eugene85
19.11.2014, 21:52
Alex Rider

Еще в мае было.

Eugene85
19.11.2014, 21:59
Всем привет.

Хочу похвастаться новой версией плагина inHrust. Теперь он умеет вытаскивать все упакованные блоки, какие есть в файле (если он не зашифрован). Облегчает ковыряние в чужих программах :)

Прошу пробовать.

Hermit
29.11.2014, 20:44
zasmview - преогромное спасибо! Иногда бывает необходимость печати исходников (части). Как это делать под эмулятором, на Шалаеве сижу? А тут такое подспорье, спасибо!

Eugene85
06.12.2014, 20:05
Уведомляю, что отныне все плагины Евгения Ларченко для Total Commander имеют 64-битную версию.

Последние версии лежат здесь: http://wincmd.ru/user/6888865.html

Дмитрий
17.12.2014, 20:27
Hermit, на здоровье, земляк! :)

Vitron
17.01.2015, 23:54
Доброго вечера!!!
У меня такой вопрос, а есть ли плагин для расширения UDI , FDI , чтобы вытаскивать файлы оттуда, к примеру в trd ?

Eugene85
18.01.2015, 11:01
Нет, о таких не слышали.
В качестве быстрого решения могу предложить: взять какую-нибудь утилиту, конвертирующую UDI/FDI в TRD (например TRX2X.ZIP) и встроить её в меню "Start" Total Commander'а.

Kalantaj
31.01.2015, 13:20
Пользуюсь Linux Mint 17. Установил Double Commander (http://doublecmd.sourceforge.net/). В описании программы значится "Поддержка WCX, WDX и WLX плагинов от Total Commander". При попытке добавления плагина (inSCR 4.0 от Евгения Ларченко) вылазит такая ошибка - "Этот плагин собран для Double Commander для Windows 32 bit.
Он не может работать с Double Commander для Unix 32 bit!".
Подскажите кто знает - есть ли возможность каким-то образом заставить работать этот плагин в Double Commander? По логике вещей необходимо пересобрать плагин под *nix-систему, но опыт сборки плагинов, как впрочем и сами исходники, отсутствуют напрочь.

Eugene85
31.01.2015, 16:51
MOBILux,
ничего не выйдет. Плагины от TC если и будут работать в DC, то только в windows-версии. И пересобрать inSCR не получится хотя бы потому, что он написан под GDI, каковой принципиально отсутствует в ОС Linux.

Собственно, на форуме (http://doublecmd.sourceforge.net/forum/viewtopic.php?f=8&t=211&start=120) подтверждают, что на данный момент нет ни одного плагина для TC, работающего в DC под Linux.

Dec
19.07.2015, 12:46
WCX плагины Евгения можно интегрировать со стандартных виндовым Проводником, что даст возможность открывать файлы прямо в Проводнике. Это делается с помощью програмки TC4Shell. Если кому интересно, но непонятно, могу составить пошаговый мануал.

denpopov
19.07.2015, 12:50
что мне нравится в .trd и .scl плагинах - нумерация файлов. Если копируешь что-то, то номер к имени добавляется

Destr
19.07.2015, 14:35
А плагин для хруста уже есть?
(чтоб полноценный, чтоб можно и читать и писать в него)?

Eugene85
19.07.2015, 20:49
Такого, чтобы писал - нету. А что, есть прям такая необходимость?

denpopov
19.07.2015, 21:32
А что, есть прям такая необходимость?
Скорее выдумка:)

Destr
19.07.2015, 22:03
Такого, чтобы писал - нету. А что, есть прям такая необходимость?
Вообще хотелось-бы.
Я даже пробовал замутить, но не осилил.
Плагин для просмортра SCR - удалось, а вот hr - не потянул...
Это на С надо писать наверное, а я в нём не волоку...

Eugene85
20.07.2015, 17:03
Destr,
если у вас затруднения с компрессором, то можно взять готовый, тут недавно выкладывался компрессор с исходником на C.


Это на С надо писать наверное..

На самом деле нынче почти на любом языке плагины делать можно. Wrapper'ов наделано достаточно как для TC, так и для Far.

Destr
20.07.2015, 18:24
если у вас затруднения с компрессором, то можно взять готовый, тут недавно выкладывался компрессор с исходником на C.
Да видал компрессор и декомпрессор.
Затруднение это увязать с тоталом (чтоб как с папкой работал).

ZX_NOVOSIB
15.06.2018, 19:02
Переустанавливал винду, и обнаружил, что плагины-то вполне себе обновляются, что не может не радовать. https://wincmd.ru/user/6888865.html

TRD, SCL датированы мартом сего года :)

Можно ли сделать как в фар-плагинах, когда выбираешь несколько SCL/TRD/TAP , жмёшь копировать (упаковать), и если на второй панели не просто папка, а тоже TRD/SCL, то внутрь копируются не сами SCL/TRD, а содержимое этих образов. Актуально, если надо сделать сборники. В таком случае надо заходить внутрь каждого образа, выделять, копировать (всплывает окно копирования), потом выходить обратно в папку с образами, потом входить в следующий и т.д. Геморой. Проще - выделил несколько SCL, нажал копировать и их содержимое скопировалось/упаковалось куда надо.

И ещё одна хотелка. Можно ли сделать так, чтобы файлы из zx-образа копировались в другой образ в том порядке, в котором я их выделил? (в тотале выделение/снятие выделения ПКМ)

- - - Добавлено - - -


WCX плагины Евгения можно интегрировать со стандартных виндовым Проводником, что даст возможность открывать файлы прямо в Проводнике. Это делается с помощью програмки TC4Shell. Если кому интересно, но непонятно, могу составить пошаговый мануал.
Давай, не томи ужо.

Black Cat / Era CG
16.06.2018, 00:03
И ещё одна хотелка. Можно ли сделать так, чтобы файлы из zx-образа копировались в другой образ в том порядке, в котором я их выделил? (в тотале выделение/снятие выделения ПКМ)
Вроде это невозможно, ибо плагин получает список файлов, а не их порядок - плагин не может больше, чем ему позволено системой плагинов TC. А о порядке их выделения даже сам TC вряд ли помнит.

ZX_NOVOSIB
16.06.2018, 07:56
Выходит, что для того чтобы записать в образ файлы в нужном порядке, нужно их копировать по одному, нарываясь каждый раз на запрос. :(

Black Cat / Era CG
16.06.2018, 20:25
Ну да. В винде никому в голову не пришло, что порядок может иметь значение.

- - - Добавлено - - -

Ну то есть это нормально вполне. И логично.

ZX_NOVOSIB
16.06.2018, 20:42
Порядок должен быть всегда и везде, а не бардак. И это нормально и логично :)

Кучи запросов я попытался было обойти прогой Kill OK (http://forum.wincmd.ru/viewtopic.php?t=6001&postdays=0&postorder=asc&&start=75), но как-то пока никак, кнопку окей в диалоге запаковывания она нажимает, но в архив ни хрена не копируется почему-то при этом.

Shiny
17.06.2018, 11:19
Порядок должен быть всегда и везде, а не бардак. И это нормально и логично :)

используй Perfect Commander, который помнит порядок и не выделывайся.

ZX_NOVOSIB
17.06.2018, 13:31
Шынни, мы ж в ветке писи, а перфект - это на спектруме.

Black Cat / Era CG
18.06.2018, 16:05
Порядок должен быть всегда и везде, а не бардак. И это нормально и логично
Ну вот ты знаешь в каком порядке у тебя на пц файлы лежат? Вряд ли, ибо там оно не имеет особого значения, да и само понятие порядка файлов там какбэ не особо существует. Поэтому и функции такие в плагин-систему ТС не заложены.

Eugene85
18.06.2018, 18:28
...чтобы файлы из zx-образа копировались в другой образ в том порядке, в котором я их выделил?
Это точно нельзя, Black Cat / Era CG всё правильно объяснил.


...то внутрь копируются не сами SCL/TRD, а содержимое этих образов. Актуально, если надо сделать сборники.
Мне эта потребность казалась надуманной. Вы что, по десять сборников на дню делаете? Где вы столько софта берёте? :)
Так-то да, сделать можно. Но не могу обещать - когда, извиняйте, дефицит времени.

ZX_NOVOSIB
18.06.2018, 19:04
Мне эта потребность казалась надуманной. Вы что, по десять сборников на дню делаете? Где вы столько софта берёте?
Ну не на дню. Но если просто один раз попытаться сделать сборник типа "лучшие игры для спектрума", размером в 700-800 игр, то разница в телодвижениях будет разительной.

Eugene85
21.06.2018, 20:12
...то внутрь копируются не сами SCL/TRD, а содержимое этих образов.

Набросал решение на скорую руку. Пользуйтесь.

ZX_NOVOSIB
22.06.2018, 11:00
Eugene85, спасибо. Работает только если выделить несколько SCL и запаковать их в один SCL. Несколько SCL сразу упаковать в TRD нельзя, поместить внутрь уже созданного и открытого TRD тоже нельзя (раньше внутрь открытого TRD можно было поместить сами SCL)

"Error loading Plugin" и потом "ошибка при упаковке".

Eugene85
22.06.2018, 19:42
ZX_NOVOSIB,
я забыл сказать, что плагины должны находиться в одной директории, т.к. вызывают друг друга.

ZX_NOVOSIB
23.06.2018, 12:06
Eugene85, ну я просто их к друг дружке в папку скопировал, тем самым продублировав, вроде работает :v2_dizzy_champagne:

Kalantaj
22.11.2018, 17:00
Eugene85, напишу ещё сюда. Есть огромная просьба от всех пользователей операционных систем Linux - сделайте сборку Ваших плагинов под Linux. Есть такой файловый менеджер Double Commander (https://doublecmd.sourceforge.io/index.php?lang=rus). Он поддерживает работу с wcx плагинами. Но для работы необходимо чтобы плагин был собран именно под Linux.
Можно было бы попросить на тематическом форуме по DoubleCommander чтобы участники этого форума сделали сборку плагинов под Linux, но для этого необходимы исходники самих плагинов, которых Вы, увы, решили не публиковать.
P.S. Работу с Вашими плагинами wcx в Windows-версии Double Commander'а проверял - всё отлично.

В Linux системах есть эмуляторы ZX-Spectrum, но, увы, нет нормальных решений для работы с образами дискет и кассет.
Да, есть несколько консольных утилит, но пользоваться ими, что б там не говорили, попросту неудобно.
Так что Ваши плагины будут просто прекрасным решением этой проблемы.

Eugene85
22.11.2018, 21:07
Исходники скоро будут.

Но не уверен, что это поможет. В текущей реализации плагины опираются на Windows API и просто пересобрать не получится, придётся отдельные части переписывать. Я линукс уважаю, но сам не использую, и изучать в обозримом будущем не планирую. Вам придётся найти энтузиаста, который этим займётся.

Kalantaj
22.11.2018, 23:30
О! спасибо и на том :) Исходники будут - уже что-то

Eugene85
12.12.2018, 19:07
Breaking news!

В Total Commander 9 появилась новая фича: Custom view modes (в русском: "Cтили оформления"), причём с возможностью автоматического переключения по заданным правилам.

Что это значит для простого спектрумиста? То, что костыль в виде нумерации файлов в плагинах inSCL/inTRD больше не нужен! Сейчас мы попробуем объяснить Commander'у, что при входе в архивы *.trd, *.scl, *.tap нужно выключать сортировку:


Создаём новый view mode, назовём его, скажем, "zx". Задаём для него Sort mode = Unsorted. (До кучи здесь можно ещё и задать иконку; она будет отображаться в заголовке tab'а при активации режима).

75116

Теперь зададим условие, при котором этот режим должен включаться автоматически. Идём в раздел Auto Switch Mode и создаём новое правило. В правиле задаём условие и какой режим включать при его соблюдении. Условие такое: [мы находимся внутри архива] И [путь директории заканчивается на ".trd"]. Можно тут же задать условие для *.scl, *.tap и объединить их предикатом ИЛИ. Ставим Set this mode: zx

75117

Теперь при входе в архивы *.trd, *.scl, *.tap автоматически включится режим "zx" и включится режим сортировки Unsorted!
А чтобы при выходе из архива включалась сортировка по имени, в поле Auto-run commands надо написать "|cm_SrcByName", как на первом скриншоте (здесь первый символ - вертикальная палка).


75118

^m00h^
28.04.2019, 04:56
Bump. Что там с исходниками ?

Eugene85
28.04.2019, 22:24
Сорян, исходники придётся подождать, занят пока сильно. Но я помню, помню...

Кстати, тех, кто рассчитывает пересобрать под Linux, вынужден огорчить - ничего не выйдет, код сильно завязан на Windows API :(

^m00h^
30.04.2019, 05:14
Что нибудь нахеккерим.

NEO SPECTRUMAN
12.08.2020, 23:02
Набросал решение на скорую руку. Пользуйтесь.

а inTRD сам не создает "большие" файлы?
только "распаковывает"?

нельзя впилить и создание?

для чего пункт joined file prefix?
в инструкции нет упоминания префиксов для "больших" файлов как таковых



можно сделать автоматическую дефрагментацию образа с полной зачисткой всего удаленного?
удаленные файлы только мешают
и наверно нужно опционально

вариант на каждый пчих копировать всё в другой образ не подходит

Eugene85
14.08.2020, 23:11
а inTRD сам не создает "большие" файлы?
только "распаковывает"?
Да.


нельзя впилить и создание?
Даже не знаю. Зачем? Если не секрет, какие такие "большие" файлы вы собрались записывать и чем их потом открывать на спектруме?


для чего пункт joined file prefix?
Это строка, которая добавляется в начале имени "большого" файла. Обычно вставляется два пробела, чтобы файл в списке выделялся и шёл первым.


можно сделать автоматическую дефрагментацию образа с полной зачисткой всего удаленного?
удаленные файлы только мешают
и наверно нужно опционально
Можно...

NEO SPECTRUMAN
15.08.2020, 00:02
Даже не знаю. Зачем? Если не секрет, какие такие "большие" файлы вы собрались записывать и чем их потом открывать на спектруме?

ну например s98
https://zx-pk.ru/threads/32120-previev-ocherednoj-pishchalki-ot-ns.html
которые 100...500К в среднем
нарезать ручками как то не то...

хотя трдос для этого не годится
нужно прикручивать fat-ы и читать с флешок...
но это ж надо прикручивать fat-ы :)

- - - Добавлено - - -

если что (несмотря на название темы)
я клянчу 32 бит версию плагина :)

Eugene85
18.08.2020, 00:16
ну например s98
Ну в общем, это я делать не буду. Делать долго, а пользы мало.


автоматическую дефрагментацию образа с полной зачисткой всего удаленного?
А это сделал, вот:

73297

NEO SPECTRUMAN
18.08.2020, 00:43
Ну в общем, это я делать не буду. Делать долго, а пользы мало.
печально

CityAceE
18.08.2020, 01:38
Eugene85, а что на счёт поддержки DirSys (https://zx-pk.ru/threads/5998-dirsys-sistema-katalogov-dlya-tr-dos.html)?

Eugene85
20.08.2020, 20:27
CityAceE,
Это совсем долго делать. В обозримом будущем не будет. Разве что могу сделать поддержание таблицы файлов при дефрагментации, это легко.

Djoni
20.08.2020, 21:02
CityAceE,
Это совсем долго делать. В обозримом будущем не будет. Разве что могу сделать поддержание таблицы файлов при дефрагментации, это легко.

Очень жаль , интересное расширение tr-dos :(

Evgeny Muchkin
03.12.2020, 12:54
Напомните, был ли плагин для работы с реальными дискетами, чтобы прямо на диске можно было файлы копировать/удалять и т.д...

Black Cat / Era CG
03.12.2020, 13:27
С реальными дисками? Не было. Только с образами.

NEO SPECTRUMAN
03.12.2020, 22:16
Ну в общем, это я делать не буду. Делать долго, а пользы мало.
поклянчу впиливание поддержки больших файлов еще :)


а так имеетсо типа бага
2-х символьные расширения (которые тоже бывают) обрезаются до 1 символа при закидывании
наверно в таком случае правильно ставить 3-м символом пробел :v2_confu:
(про последний INTRD)

Eugene85
05.12.2020, 16:20
NEO SPECTRUMAN
это типа фича. Специально сделано, т.к. не понятно, что писать в старший байт, и плюс при распаковке появится больше ложных 2- и 3-хсимвольных расширений. Вам файлов *.C0u мало? ;)
И вообще, жили же как-то с односимвольными

NEO SPECTRUMAN
05.12.2020, 16:32
это типа фича

Вам файлов *.C0u мало?
так вероятность поймать лишние символы при односимвольных b и c даже больше
как ты сам и привел пример выше

может если уже включен 3 символьный режим
принудительно дописывать пробелы ко всему?

Eugene85
05.12.2020, 19:01
так вероятность поймать лишние символы при односимвольных b и c даже больше

При упаковке односимвольных плагин записывает в поле START нули, так что нет.
Я хотел сказать, что сейчас значение start в диапазоне #2020-#207F не считается расширением, а после добавления поддержки 2-символьных - будет считаться.
Хотя, конечно, если подумать, такое значение маловероятно...

NEO SPECTRUMAN
05.12.2020, 19:12
Я хотел сказать, что сейчас значение start в диапазоне #2020-#207F не считается расширением, а после добавления поддержки 2-символьных - будет считаться.
интересно если тогда забивать неиспользуемый символ 0-м
тогда стартовый адрес 0020 007F становится еще менее правдоподобным
но вот как будут определять такой вариант старые программы с поддержкой 3-х символов?
это намного больше похоже на НЕ 3-х символьное расширение



При упаковке односимвольных плагин записывает в поле START нули, так что нет.
а в чем проблема туда записывать $20?
когда оно все равно? не используется
или оно используется?

- - - Добавлено - - -


При упаковке односимвольных плагин записывает в поле START нули, так что нет.
ну дык
рашсирение будет трактоваться как 3-х символьное
и будут рисоваться 2 пробела

софтварь которая не проверяет 2 оставшихся символа будет все равно...




...мдо это такой случай когда в любом варианте могут всплыть подводные грабли с уже имеющимся софтом...

Eugene85
05.12.2020, 19:15
Предлагаю при односимвольном писать нули, а при двухсимвольном - писать #xx #20.

NEO SPECTRUMAN
05.12.2020, 19:34
Предлагаю при односимвольном писать нули, а при двухсимвольном - писать #xx #20.
может и так
так 2-х символьное смотрится как 3-х символьное (если софтварь считает пробел за символ)



а как сейчас закидываются расширения которые начинаются на B ?
всегда обрезаются?
ага сам проверил

- - - Добавлено - - -


Вам файлов *.C0u мало?
ну это будет бОльшая проблема при распаковке бейсиков
тк для бейсика эти 2 байта длина файла
и там вполне попадаются печатные символы
и запаковав .B
можно распаковать .Bu4

...но это наверно проблема того кто включил 3-х символьные расширения :)

- - - Добавлено - - -

проверил trdn

2-х символьный отображается только при xx xx $20

при хх хх $00 - это считается односимвольным расширением

Grand
10.12.2020, 12:03
проверил trdnПроверьте еще Grand's Boot 3:
https://zx-pk.ru/threads/30347

NEO SPECTRUMAN
10.12.2020, 19:43
а сам не можош проверить свою софтварь?

тут опять же отображается только хх хх $20
мало того пробел игнорируется и идет вырвиглазное выравнивание по правому краю
https://jpegshare.net/images/37/ba/37ba37f7ac686c796a553762eb9a8bfd.png

- - - Добавлено - - -

trdn
https://jpegshare.net/images/05/5f/055fcf1616391626f2c8d8f38d6bce71.png

- - - Добавлено - - -

как у меня
https://jpegshare.net/images/78/be/78be5403d202530e5303ad3faf25741a.png
чот не помню как именно у меня обрезается расширения
возможно для упрощения у меня признак конца вообще любой невалидный символ

Grand
11.12.2020, 04:59
Ответил здесь. Чтобы не было оффтопа. :)

NEO SPECTRUMAN
11.12.2020, 06:26
а какие еще программы поддерживают трехсимвольные расширения?

и сопутстующий вопрос какие поддерживают "большие" файлы?
скорей всего больше интересуют именно файловые менеджеры чем какието виеверы отдельных форматов...




Но вернемся к трехсимвольным расширением
кстате если вспомнить статью про 3-х символьные расширения
аффтар там вообще гонит что расширение должны быть только одного регистра
и что тк есть полтора расширения с символами разного регистра
нужно проверять отдельно а не те ли это именно расширения сейчас попались :v2_dizzy_facepalm:

NEO SPECTRUMAN
12.12.2020, 08:55
Предлагаю при односимвольном писать нули
еще из пожеланий по улучшению

сейчас если пытаешься закинуть жменю файлов больше чем свободно места
те пишет что недостаточно места и все

а часто нужно закинуть жменю файлов сколько влезет до упора

можно было бы предлагать продолжить кидать пока не останется места

izzx
12.12.2020, 11:39
а часто нужно закинуть жменю файлов сколько влезет до упора

можно было бы предлагать продолжить кидать пока не останется места
Да, а то если места не хватило, то отменяется копирование всех файлов. А лучше бы скопировать сколько влезло.

Eugene85
02.04.2021, 22:31
Вышла версия 6.45 beta плагинов inSCL/inTRD. Основные новшества такие:


Опция "Defragment on delete".
Частичная поддержка DirSys: при удалении и дефрагментации таблица поддерживается в актуальном состоянии.
Плагины теперь самодостаточны: чтобы работало пакование образов в образы, класть плагины вместе больше не обязательно.
Поддержка 2-хсимвольных расширений.
И на закуску пасхалочка: если зайти в образ TRD, нажать F7, ввести "move" и нажать Enter, то создастся директория образ дефрагментируется :)



75113

Eugene85
30.06.2021, 19:48
Эврика! Исходники завезли :v2_dizzy_roll:
Правда, пока только двух плагинов. Ну, и на том спасибо :)

https://gitlab.com/spct/inTRD

JeRrS
23.02.2025, 06:01
Скажите а есть какой-то плагин который бы мог отсортировать TRD файлы (с размером 640кб) таким образом что чем больше 00-ей в файле (ну т.е пустого пространства) то отсортировать их от наименьшего заполнения к большему?
Либо может какой другой просто способ есть? Первое что приходит в голову это поиск по HEX значениям где я бы просто ввёл более 300-400 тысяч 00-ей но как мы знаем в поле "С текстом" можно ввести не более 256 байт.

CityAceE
23.02.2025, 09:28
Либо может какой другой просто способ есть?
Если бы передо мной встала такая задача, то я бы написал скрипт на Python, который перебирал бы все TRD-файлы, проверял в конце нули (либо опционально по последнему файлу в каталоге) и переименовывал бы их, добавляя к началу имени число этих нулей. Ну а уже после этого можно сортировать любыми подручными средствами.

Serg6845
23.02.2025, 11:13
Скажите а есть какой-то плагин который бы мог отсортировать TRD файлы (с размером 640кб) таким образом что чем больше 00-ей в файле (ну т.е пустого пространства) то отсортировать их от наименьшего заполнения к большему?
Либо может какой другой просто способ есть? Первое что приходит в голову это поиск по HEX значениям где я бы просто ввёл более 300-400 тысяч 00-ей но как мы знаем в поле "С текстом" можно ввести не более 256 байт.

по количеству нулей результат не слишком однозначный получится. потому что свободное пространство может быть заполнено не нулями (например если файлы поудаляли), как и нули могут быть валидными данными (хотя маловероятно что в больших количествах).
наверно лучше будет посмотреть на количество свободных блоков в системном секторе или прошерстить директорию и посчитать свободное пространство.

JeRrS
23.02.2025, 12:54
Serg6845, а в TRD файле эти так называемые свободные секторы как-то отмечаются? если да то какой это по счету байт в этом файле?
p.s: кажется понял, 2277-2278

Serg6845
23.02.2025, 13:34
Serg6845, а в TRD файле эти так называемые свободные секторы как-то отмечаются?

сами по себе секторы - нет. в TRDOS нет никаких таблиц распределения секторов по файлам - просто запись в каталоге с указанием начального сектора и длины.


если да то какой это по счету байт в этом файле?
p.s: кажется понял, 2277-2278

да, они. но я уже не помню - меняется ли это значение при удалении файлов или только после команды MOVE. формат TRDOS вообще до предела примитивный... а TRD файл - просто посекторная копия диска.

ZXMAK
23.02.2025, 16:26
нули могут быть частью данных. Часто диски, особенно с простыми защитами из 90-ых годов были записаны игнорируя стандартные поля типа N_FRE_SEC (кол-во свободных секторов, системный сектор.смещение=0xe5) и FR_S_NEXT/FR_T_NEXT. Поэтому если ориентироваться на них, можно испортить образ диска.

Если мешают нули в конце TRD, оптимальнее всего запаковать стандартным ZIP (только не 7z, т.к. его формат не понимает даже официальный unzip последней версии), он обычно поддерживатся большинством эмуляторов, так что не нужно даже распаковывать, чтобы открыть образ диска. А размер области с нулями хорошо сжимается, так что размер образа будет не хуже обрезанных образов.

Также нужно учитывать, что размер TRD задает формат диска. Поэтому обрезая его, можно сделать образ нечитаемым.

Eugene85
24.02.2025, 01:37
чем больше 00-ей в файле (ну т.е пустого пространства)
Вы всё-таки уточните, что хотите посчитать, нули или свободное пространство. Это разные вещи.

Кол-во свободных секторов или байт покажет плагин inTRD (читаем мануал, раздел "Дополнительная функциональность"). Там и отсортировать можно.

С количеством нулей сложнее, но решаемо с помощью стороннего софта...

JeRrS
24.02.2025, 15:37
Eugene85, посчитать свободное пространство в зависимости от того сколько по итогу записано на дискете. Возможно ли как-то через поиск отсортировать таким образом чтобы можно было по итогу просматривать от наименьшей заполненности?

Eltaron
24.02.2025, 21:42
Возможно ли как-то через поиск отсортировать таким образом чтобы можно было по итогу просматривать от наименьшей заполненности?
Встроенного такого функционала нет, но если интересуют костыли, то можно так:

https://pic.maxiol.com/thumbs2/1740421942.1056257155.20250224233002clip.png (https://pic.maxiol.com/?v=1740421942.1056257155.20250224233002clip.png&dp=2)

Как оно работает. В Total Commander есть такая фича, как Custom Columns, дополнительные колонки, которые можно добавить в табличном режиме панели. Добавляются правой кнопкой по заголовку любой колонки, Configure custom columns, жмем New, жмем Add Column, вводим имя от балды, жмем справа плюсик. Вылезет список свойств файла, которые можно отобразить в колонке. В основном эти свойства нам неподконтрольны, но есть есть одно, которое мы можем менять. Это comment.
Comment - это тот комментарий к файлу, который можно ввести, нажав Ctrl+Z. Он сохраняется в файл descript.ion.

Нам остается только для каждого файла в каталоге автоматически заполнить этот descript.ion нужными значениями. Для этого кидаем в папку с TRD-файлами вот такой батник и запускаем


@echo off & c:\python\python.exe -x "%~f0" & goto :eof
import os
with open("descript.ion", "w") as of:
for f in [ f for f in os.listdir() if os.path.isfile(f) ]:
print(f)
data = open(f, "rb").read()
ratio = 0 if len(data) == 0 else int(100 * len([x for x in data if x == 0]) / len(data))
of.write(f"{f} {ratio:03}%\n")

На самом деле это не батник, а замаскированная под него (для удобства запускания) программа на питоне. Путь к интерпретатору питона задается в первой строке. Если питон не стоит и захламлять систему установкой из инсталлятора неохота, можно взять портабельный и распаковать куда удобно - https://www.python.org/ftp/python/3.13.2/python-3.13.2-embed-amd64.zip

Итого кидаем в папку батник, запускаем, добавляем в TC колонку с комментарием и сортируем по ней. Вуаля.

goodboy
24.02.2025, 22:06
чтобы можно было по итогу просматривать от наименьшей заполненности?
в системном секторе есть байт в котором хранится кол-во файлов на дискете,
но это справедливо при нормальной файловой системе.
(так-то может быть один boot и данные на всю дискету)

ZXMAK
25.02.2025, 01:56
посчитать свободное пространство в зависимости от того сколько по итогу записано на дискете. Возможно ли как-то через поиск отсортировать таким образом чтобы можно было по итогу просматривать от наименьшей заполненности?

Вот bash скрипт, который читает в образе переменную в которой хранится число свободных секторов и сортирует по убыванию. Скрипту указываем параметром папку в которой искать TRD файлы, он начиная с этой папки ищет файлы во всех подпапках и zip архивах:


#!/usr/bin/env bash

# Проверяем, передан ли путь к папке
if [ -z "$1" ]; then
echo "Usage: $0 <directory>"
exit 1
fi

dir="$1"

declare -a files

# Ищем файлы .TRD в папке и в архивах ZIP
while IFS= read -r -d '' file; do
files+=("$file")
done < <(find "$dir" -type f \( -name "*.TRD" -o -name "*.trd" \) -print0)

while IFS= read -r -d '' zipfile; do
while IFS= read -r trdfile; do
tmpfile=$(mktemp)
unzip -p "$zipfile" "$trdfile" > "$tmpfile"
files+=("$tmpfile|$zipfile:$trdfile")
done < <(unzip -l "$zipfile" | awk '{print $4}' | grep -i '\.trd$')
done < <(find "$dir" -type f -name "*.zip" -print0)

declare -A values

for file in "${files[@]}"; do
if [[ "$file" == *"|"* ]]; then
# Файл временный, извлечён из ZIP
filepath="${file%%|*}"
displayname="${file#*|}"
else
filepath="$file"
displayname="$file"
fi

if [[ -f "$filepath" ]]; then
value=$(xxd -p -s 0x8e5 -l 2 "$filepath" | xxd -r -p | od -An -tu2)
values["$displayname"]=$((value))
fi

[[ "$file" == *"|"* ]] && rm -f "$filepath"
done

# Сортируем и выводим
for file in "${!values[@]}"; do
printf "%4d %s\n" "${values[$file]}" "$file"
done | sort -nr


Пример вывода:


$ ./trdsort.sh TRD/
2306 TRD/RANGERS_trd.zip:RANGERS.trd
2259 TRD/trdn0764b_trd.zip:trdn0764b.trd
2237 TRD/VTRDOS/Trnt_GST_trd.zip:21_Trantor.trd
1963 TRD/SuperMarioBros128K.trd.zip:output.trd
201 TRD/disk048.trd
127 TRD/Wolfenstein2004.trd.zip:WOLF2OO4.TRD
127 TRD/WOLF2OO4.TRD
83 TRD/DIZZY.zip:DIZZY.TRD


Это то значение которое TR-DOS выдает по команде CAT как Free.
Но, как писал, бывает много дисков с защитами, которые записаны нестандартно и в них может быть число свободных секторов от балды указано.

CityAceE
25.02.2025, 10:21
Неизвестна конечная цель. А то может быть задача имеет иное решение. Например, можно тупо все нули обрезать с конца файла, а потом после выполнения своих целей, нулями же и дополнить до полного размера. И тут уже не будет важна организация диска, скрытые данные и т.д.

Bedazzle
28.02.2025, 10:41
Если мешают нули в конце TRD, оптимальнее всего запаковать стандартным ZIP .... А размер области с нулями хорошо сжимается, так что размер образа будет не хуже обрезанных образов.

Очень примерный вариант :) если на диске много например графики, или разреженных таблиц - сожмётся сильно, и результат будет на уровне файлов с нулями


Также нужно учитывать, что размер TRD задает формат диска. Поэтому обрезая его, можно сделать образ нечитаемым.

Если подходит, то как вариант - сохранять SCL.

Eugene85
28.02.2025, 21:28
Как я уже сказал, плагин inTRD может показать колонку с количеством занятых/свободных секторов, номером первого незанятого сектора и т.д.

Если же нужно по количеству нулей, могу предложить решение с программой grepWin (https://tools.stefankueng.com/grepWin.html). Указываем директорию, где лежат все ваши образы, выбираем опцию Treat files as binary и Regex search. Вводим такую строку поиска: \x00{256} и запускаем поиск. В окне search results появится список образов, причём колонка Matches будет указывать примерное количество нулевых секторов.

tiboh
18.07.2025, 20:17
Плагины неправильно определяют расширение у кодовых файлов с стартовым адресом 27694. При копировании таких файлов, им присваивается расширение l, к имени дописывается .C

Eugene85
22.07.2025, 02:20
tiboh,
Спасибо. Скоро исправим.

Eugene85
18.09.2025, 23:24
Исправлено: 82814

tiboh
19.09.2025, 07:29
Спасибо!
А возможно ли добавить в плагины, автоматическое разбивание больших файлов, при копировании их в scl/trd образы? Так как это делает Spectrum Navigator?

Eugene85
20.09.2025, 04:02
...Spectrum Navigator?
Это который под DOS и невозможно запустить под Windows? Как я узнаю, как он это делает? :)

tiboh
20.09.2025, 07:31
Ну не совсем под DOS, на Windows XP Spectrum Navigator ещё работал, на Windows 10 уже нет...
А разбивал файлы он следующим образом, цитата из описания SN:

"При копировании обычных MS-DOS файлов на образы или дискету большие файлы
будут разбиваться на блоки 255 секторов. Способ составления имен можно выбрать
в Setup'е - ~Разделять нехобетные по~ имени или расширению. Способ ~по имени~
делает имена name001.<C>, name002.<C>, name003.<C> и т.д., способ ~по
расширению~ делает имена name.<C>, name000.<1>, name000.<2> и т.д."

Eugene85
21.09.2025, 23:49
tiboh,
Сделал на скорую руку. Пробуйте: 82825
Не забудьте вручную добавить строчку в конфиг.

tiboh
22.09.2025, 10:49
Спасибо! Разбивка работает!
Ещё такой вопрос, наблюдение или пожелание...
А не проще ли все плагины объединить в один? Так сказать для удобства пользователя и возможно разработчика... inSCL+inTRD+inTAP+inAlasm+inHrust+inSCR+BS-DOS = Plugin ZX Navigator.

Eugene85
22.09.2025, 21:10
tiboh,
А в чём удобство для пользователя?
Для разработчика тоже сомнительно. Один большой проект вместо нескольких независимых труднее поддерживать.

Rubts0FF
22.09.2025, 22:01
inSCL+inTRD+inTAP+inAlasm+inHrust+inSCR

Пользуюсь всем этим .. всегда и спасибо за это. Не хватает создание пустого .trd, приходится запускать FAR2.

tiboh
23.09.2025, 11:54
tiboh,
А в чём удобство для пользователя?

Установить и настроить (схожие функции) только один плагин, вместо многих.


Для разработчика тоже сомнительно. Один большой проект вместо нескольких независимых труднее поддерживать.
Вот например. Функцию разбития файла пришлось внедрять в два плагина. А если бы это был один общий плагин, то внедрять пришлось бы только в него одного, одну общую процедуру и её настройку, для scl и trd и возможно для tap.

Eugene85
23.09.2025, 17:39
Не хватает создание пустого .trd, приходится запускать FAR2.
Можно же просто скопировать заготовленный файл.

tiboh,
Устанавливать всё равно придётся несколько раз. Для каждого типа файла.

Xela
23.09.2025, 18:19
Eugene85, а можно немного еретическую просьбу/вопрос: аналогичные inTRD+inTAP плагины, но для MDR, MGT и OPD - форматы там не сложные, MGT и OPD, как я понимаю, попроще TRD даже будут. Так уже получилось, что в наших краях системы эти не очень популярны, то и поддержки в Total Commandere ждать не приходится)
(DSK еще до кучи - это вообще было бы шикарно, но для них хоть какие-то утилиты есть)

Eugene85
24.09.2025, 20:59
Xela,
Не располагаю временем делать новые плагины. Могу только мелкие доработки в существующих проектах.

Xela
25.09.2025, 12:50
Xela,
Не располагаю временем делать новые плагины. Могу только мелкие доработки в существующих проектах.

Понимаю)

Shiny
25.09.2025, 14:24
для .mgt есть утилка scadm, .mdr можно посмотреть с помощью ZX BlockEditor.

Black Cat / Era CG
28.09.2025, 05:20
Не хватает создание пустого .trd, приходится запускать FAR2.А разве нельзя например в одном трд выделить бут и заархивировать его в трд? Проверил. Можно.

Rubts0FF
29.09.2025, 10:57
А разве нельзя например в одном трд выделить бут и заархивировать его в трд? Проверил. Можно.


Хотя это не одно и то же, но как ? Даже возможности такой не нашел.

Xela
29.09.2025, 13:02
для .mgt есть утилка scadm, .mdr можно посмотреть с помощью ZX BlockEditor.

про SCADM знаю, пользуюсь. а вто про то, что в BlockEdtor можно "смотреть" mdr - не знал, спасибо. сам пользуюсь скриптом на перле - там и создать mdr можно и скопировать в/из.
но в тотале было бы удобнее, конечно.
для opd есть (насколько я знаю) только утилита для просмотра содержимого, и копирования из образа. создавать образы и копировать на них приходится под эмулятором.

- - - Добавлено - - -


Хотя это не одно и то же, но как ? Даже возможности такой не нашел.

trd и scl с точки зрения TC - это архивы. "заходим" в нужный образ scl или trd, выделяем нужные файлы - boot например, нажимаем alt+F5 и "архивируем" в новый trd:

https://i.postimg.cc/ZRKMKQQt/2025-09-29-115922.png (https://postimages.org/)

Shiny
29.09.2025, 14:02
Какие-то сложности здесь(: Есть неплохая утилка под msdos emptytrd.exe - можно сразу создать образы(только на х64 не взлетит). Hobeta и .scl - не проблема, давно написал тулзы hob2scl и scl2trd.

Rubts0FF
29.09.2025, 19:02
trd и scl с точки зрения TC - это архивы. "заходим" в нужный образ scl или trd

Никогда такой вариант не рассматривал, что тут скажешь - спасибо!