Когда в плагине появится возможность изменять настройки - такой вариант можно будет предусмотреть.
Вид для печати
а можно тоже самое для БКшки сделать, правда там систем побольше. Или поделитесь исходниками.
Плагин открывает образы дисков БК-0011 так же, как и любые другие, если там есть файловая система RT-11. Если расширение файла образа отличается от .DSK и не зарегистрировано в TC за данным плагином - для открытия образа нужно нажимать <Ctrl><PageDown>.
Исходники плагина для файловой системы RT-11 никак не могут помочь открывать образы с другими файловыми системами.Цитата:
правда там систем побольше. Или поделитесь исходниками.
Писать wcx-плагины для Total Commander элементарно просто - подробные инструкции доступны в интернете.
Patron, не уверен на 100%, но похоже плагин портит файлы внутри образа при удалении "Unused" (не последнего, а тот который возникает когда есть свободное место), из за глюков с дисководом в эмуляторе, делал SQ/NOQ плагином путём удаления, файлы которые сдвигаются - портятся ((( Просьба проверьте сами, может я что-то не так делал?
У меня не портятся (удобно проверять по текстовым файлам - там сразу заметно, если что не так).
Добейтесь повторяемости результатов и выложите тестовый образ с инструкцией, что и в какой последовательности делать, чтобы воспроизвести ошибку.
Однако, в плагине ещё масса ошибок. Вот прямо сейчас у меня слетел TotalCommander при попытке просмотреть по <F3> содержимое (находящегося в образе) файла нулевого размера (в RT-11 допускается, чтобы размер файла в каталоге был указан равным нулю).
Как определяется текстовость файла для перевода из одной кодировки в другую? Натыкался на то, что файлы с данными были перекодированы и таким образом испорчены.
Используются эмпирические алгоритмы нереальной сложности :)
Каждый раз, когда такое случается - нужно выкладывать в эту тему исходный образ с таким файлом (если файл портится при копировании из образа), либо сам файл (если файл портится при копировании в образ).Цитата:
Натыкался на то, что файлы с данными были перекодированы и таким образом испорчены.
---------- Post added at 16:40 ---------- Previous post was at 15:55 ----------
Сейчас проверил - действительно, некоторые файлы данных при копировании разрушаются. Попробую решить эту проблему.
---------- Post added at 18:04 ---------- Previous post was at 16:40 ----------
Добавлена новая версия плагина.
RT-11dsk.wcx.v0.99.rar
Исправлено большое количество ошибок ( как оригинальных, так и добавленных предыдущими исправлениями ).
Добавлена возможность создания новых образов формата .RTD ( Файл -> Упаковать : *Упаковщик - внешний -> rtd ).
Отключено перекодирование по умолчанию для файлов с расширениями: SAV, SYS, OVL, REL, DAT, BIN, JOH, OBJ, COD, PIC, BAC.
Специальное перекодирование используется для файлов с расширениями: MAC, C, PAS, FOR, FOC, FTN, ASM, ASC, BAK, MEN, SCI, AS, BAS.
Да я сегодня попробую воспроизвести ошибку и если подтвердится выложу все что
требуется для анализа, думаю буду мучить уже новую версию плагина в плане
теста опять-же, спасибо за новую версию и исправления.
--------------------------------------------------------------------------------
Нет воспроизвести ошибку не удалось! Но это же хорошо, это я про 99 версию (самую последнюю)
Patron, для надёжности можно включить в список исключений на перекодирование также SML библиотеку? (!!!)
Спасибо. Если по текущей ошибке я всё таки снова получу что-то такое сразу отпишусь с материалами конечно )))
А что такое специальное перекодирование?
Нельзя ли сделать так, чтобы перекодирование работало только для заведомо текстовых файлов, например TXT и т.д. А для остальных включалось только по специальной кнопке, например SShift + 'копировать' или + 'просмотреть'.
Потому что много есть нестандартных файлов, которые подвергаясь перекодированию портятся. Встречались на ДВК файлы макросов MAK, 001, 002 и т.д. Которые портились.
Возможно, смысл есть. Но пока нет SML библиотек с русскими текстами - торопиться некуда :)
...
Когда конец строки и символы типа квычек и т.п. воспринимаются не как нейтральные к регистру, а как латинские. За счёт этого - коды перевода регистра не вылезают из текстовых констант и комментариев в код программы.
Поскольку плагин используется главным образом для просмотра содержимого образов - чем больше файлов перекодируется по умолчанию - тем лучше. Когда появится поддержка настроек - появится и возможность управлять перекодированием.Цитата:
Нельзя ли сделать так, чтобы перекодирование работало только для заведомо текстовых файлов, например TXT и т.д. А для остальных включалось только по специальной кнопке, например SShift + 'копировать' или + 'просмотреть'.
В чём была суть "порчи" ? Если проблему создавало смещение кодов переключения <RUS><LAT> за пределы строк - для файлов "неизвестных" расширений можно включить по умолчанию режим специального перекодирования - тогда коды <RUS><LAT> не смогут "далеко убежать".Цитата:
Потому что много есть нестандартных файлов, которые подвергаясь перекодированию портятся. Встречались на ДВК файлы макросов MAK, 001, 002 и т.д. Которые портились.
То есть (что-бы я правильно понял) будет ли как-то обработана стандартная макролибра при копировании или нет? Исключение - я имел в виду запрет на любые
изменения внутри файла как и случае со списком этих расширений
SAV, SYS, OVL, REL, DAT, BIN, JOH, OBJ, COD, PIC, BAC добавить к ним расширение SML , что-бы при копировании из образа в ntfs папку и обратно (такие манипуляции в архиве часто проделывать приходится) не беспокоится уже что файл на лету меняется (бьётся) ???
я убил порченые после sq/noq сделанные с помощью 98с плагина - это были
pascal.sav, pascal.obj и dess.sav ну это ладно, в 99 ошибка не повторилась, про это я уже отписал.
a SAV,SYS,OBJ,OVL - то же будут скопированы 100% без всяких изменений как и макролиб??? )))
Я не могу больше терять их, Patron, я же не железный ))))
Чтобы меньше беспокоиться - нужно скопировать кучу файлов из одного образа в другой, подключить оба образа в эмуляторе и выдать команду типа:
Я проделал такое с дистрибутивом RT11 v5.7, содержащим более 1200 файлов. Выяснилось, что все файлы скопировались без изменений.Код:DIFF/BIN LD1:*.* LD2:*.*
Проведите несколько тестов и станет ясно, что изменяются только текстовые файлы.
Любое изменение нетекстового файла при копировании (т.е. такого файла, все байты которого обязательно должны находиться на строго однозначных позициях) - это ошибка, о которой нужно немедленно сообщать в данной теме :)
Перекодировка совершенно не нужна при копировании из образа в образ, но я только сейчас придумал, как этого (пока лишь в теории) можно избежать.
При копировании же между образом и каталогом Windows - перекодировка нужна, потому что иначе невозможно будет редактировать под Windows тексты в кодировке KOI-7, а без этого как программы писать?
При копировании из образа в образ - никакие файлы перекодироваться не будут.
При копировании из образа в каталог и из каталога в образ - будут перекодироваться все файлы, опознанные, как текстовые.
Поскольку текстовые файлы ДВК имеют самые разные расширения (типа REC, PS, ME, 1ST, HLP и т.п.) дать пользователю возможность их редактировать под Windows можно только правильно опознав их по содержимому, как именно текстовые - и перекодировав в текст Windows.
При желании запретить перекодирование файлов при копировании из образа в каталог Windows - копирование нужно будет осуществлять в каталог с особым названием :)
Не согласен, ИМХО: надо проще, и 6 буковок без пробелов, какая-нибудь абревиатура
на тему защищенные файлики, например SECURF - или типа папка для 100% безопасного перемещения, переноса, временного хранилища файлов из RT-11, что-то
типа буфера, например SECRT11 или NRBRT11 (Not Recod. Buffer)
Добавлена новая версия плагина.
RT-11dsk.wcx.v0.99a.rar
Мощный прорыв в борьбе с перекодированием текстовых файлов при копировании :)
Теперь:
1. При копировании из образа в образ - никакие файлы не перекодируются вообще.
2. Файлы, копируемые в каталог с именем 'Not Recoded' и из него - не перекодируются.
3. Если при копировании из образа в каталог Windows файл был перекодирован - его расширение приводится к нижнему регистру.
4. При просмотре файлов они проверяются менее строго, при копировании - более строго. Если файл перекодировался при просмотре и не перекодировался при копировании, а хочется иметь в каталоге перекодированный вариант - нужно самостоятельно сохранить файл из окна просмотра.
...
Увы, но этот поезд уже ушёл.
Наверное мешает удалять и чистить или писать плагин по новой )))
Но гарантия что файл останется неизменным нужна по любому!!! И если как временное
решение это будет имя папки, то пускай так и будет, а текстовые которые пользователь сам 100% уверен, что это документация он скинет куда захочет,
но ,Patron, это конечно не самый правильный ход и будет ли возможность
вложенные папки делать внутри этой безопасной??? Иначе бардак может случится,
если с вложенными проблема тогда название только SECTMP подходит !!!
Я боюсь, мне страшно, у меня последняя без "а" вроде нормально работает )))
1. Да. Если поместить иерархию каталогов в папку 'Not Recoded' - то ни один файл ни в одном вложенном каталоге не будет перекодирован ни в каком случае.
2. Папку 'Not Recoded' можно использовать как промежуточную. При перемещении скопированного файла из этой папки в любую другую - файл остаётся оригинальным и не перекодируется.
Однако, при записи файла обратно в образ - если ни один каталог на пути к файлу не называется 'Not Recoded', то файл будет проверен на наличие в нём текста в кодировке Win1251 и при положительном результате теста - перекодирован.
Всё познаётся в сравнении.
Версия '0.99a' - подлинный шедевр файлостроения - рекомендую всячески её протестировать и убедиться лично :)))
Например, скопировать кучу файлов из самого любимого образа в обычный каталог Windows и если их расширения останутся в верхнем регистре - значит НИ ОДИН не перекодировался !!!
Попробуйте (любым способом) вытащить из этого образа в каталог Windows хотя бы один файл - и вы поймёте, "что такое боль и страдание" :)
В следующей версии плагина зарезвированные имена файлов будут дополняться подчёркиваниями, поэтому при работе с образом, каталог которого содержит файлы с зарезервированными именами - такие имена будут преобразовываться "на лету".
Чтобы вникнуть - нужно попробовать просмотреть по <F3> каждый из файлов в том образе, а потом - скопировать их в каталог Windows и доложить о результатах.
Там обнаружилось несколько недостатков, которые будут устранены в следующей версии. Главный из них в том, что при копировании в каталог - расширение преобразуется к нижнему регистру не только у тех файлов, которые были перекодированы, но и некоторых других. Это явная ошибка, хотя и не влияющая на суть дела.Цитата:
последнюю версию плагина использую без всяких специальных папок - вроде пока всё гладко.
01.12.2011 - Выложена первая годная версия плагина: RT-11dsk.wcx.v01.00.rar.
Теперь, при нажатии <Shift><F3> и <Shift><F5> - перекодирование при просмотре и копировании отключается.
Если при копировании файл не был перекодирован, то в его атрибутах теперь очищаются все признаки.
Если при копировании файл был перекодирован, то в его атрибутах теперь устанавливается признак 'a'. При копировании в образ - признак 'a' у перекодированных файлов устанавливается временно.
...
Т.к. во всех предыдущих версиях была обнаружена ошибка в работе с датами Y2K - ссылки на предыдущие версии удалены и их практическое использование при копировании файлов из образа RT-11 в каталог Windows - не рекомендуется.
Да. И теперь автоопределение очень строгое - оно производится в два этапа.
На первом этапе файл проверяется на бинарность. Бинарными признаются все файлы, для которых справедливо любое из следующих утверждений:
1. В первых 6 блоках есть нулевые или нетекстовые байты ( включая 0177 ).
2. В блоках, начиная с 7-го, количество нетекстовых байтов превышает 1 нетекстовый байт на 1024 текстовых.
3. Кличество одиночных байтов <CR> и <LF> превышает 10% от количества пар <CR>+<LF>.
4. Количество пар <CR>+<LF> меньше 1/250 от общего числа байтов.
5. Средняя длина непрерывных последовательностей неповторяющихся байтов, разделённых байтами < >,<TAB>,<CR>+<LF> - превышает 64.
Если файл сумел "дать правильные ответы" на все вопросы первого теста (а значит - с весьма большой вероятностью является именно ТЕКСТОВЫМ файлом) - он поступает на вход могучей экспертной системы, которая проверяет его на "знание русского языка".
Если экспертная система приходит к выводу, что исследованный текст содержит фрагменты русского текста - файл отправляется на перекодирование.
Экспертная система имеет два уровня строгости проверки. Первый уровень строгости используется при открытии файла для просмотра, второй - при копировании.
Поэтому, если файл при копировании был перекодирован, то это означает, что: 1) файл был текстовым; 2) файл содержал русский текст.
Если же файл был перекодирован при просмотре, но не был перекодирован при копировании, то это означает, что или файл был бинарным ( при просмотре файлы не проверяются на бинарность, а сразу попадают на второй этап тестирования ) или был текстовым, но содержащийся в нём русский текст не удовлетворил строгому уровню проверки.
14.12.2011 - Выложена новая версия плагина:
RT-11dsk.wcx.v01.01.rar.
Теперь, при открытии или изменении образа - список содержащихся в нём файлов копируется в буфер обмена ( Clipboard ).
Так (например), если открыть образ FTN2.DSK, то в буфере обмена появится следующий текст:
Код:Image : FTN2.DSK
Format : DSK
Size : 400 Kb
Volume ID: *FORTRAN-IV*
Owner : ************
File Blocks Date Bytes
---------- ------ ----------- ----------
F16 .OBJ 15 14-Mar-1985 7'680
F17 .OBJ 15 14-Mar-1985 7'680
F18 .OBJ 30 14-Mar-1985 15'360
F19 .OBJ 21 14-Mar-1985 10'752
F20 .OBJ 35 14-Mar-1985 17'920
F21 .OBJ 16 14-Mar-1985 8'192
PEEP .OBJ 17 14-Mar-1985 8'704
OBJGSD.OBJ 24 14-Mar-1985 12'288
FORTRA.END 1 10-Nov-1985 512
FROOT .OBJ 4 14-Mar-1985 2'048
F0 .OBJ 13 14-Mar-1985 6'656
F1 .OBJ 10 14-Mar-1985 5'120
F8 .OBJ 13 14-Mar-1985 6'656
F9 .OBJ 14 14-Mar-1985 7'168
INLINE.OBJ 1 10-Nov-1985 512
FOR1 .END 1 10-Nov-1985 512
README.1ST 2 05-Mar-1988 1'024
FORTRA.DSK 380 05-Mar-1988 194'560
RATFOR.SAV 73 29-Nov-1988 37'376
< UNUSED > 101 51'712
---------- ------ ----------- ----------
19 Files, 685 Blocks
101 Free blocks
Спасибо за новую версию ))) Забираем )))
Patron, откуда у вас такие редкие позиции? Это фортран для ДВК ведь,
40-дорожек дискета, в архиве только FORTH (тот который не RT-11)
и пролог но там УКНЦ дискета, может в теме "ПОИСК ФАЙЛОВ" этот образ выложите?
Спасибо.
_________ очень удобная функция, буду доделывать (наполнять) index,
на самом деле и тот index который сейчас делался не без плагина )))
Код:Image : PROLOG_bak.dsk
Format : DSK
Size : 840 Kb
Volume ID: MZ: Diskette
Owner : <---------->
File Blocks Date Bytes
---------- ------ ----------- ----------
RT11SJ.SYS 72 36'864
SWAP .SYS 28 01-Nov-1993 14'336
MZ .SYS 4 29-Sep-1993 2'048
TT .SYS 2 29-Sep-1993 1'024
VM .SYS 2 29-Sep-1993 1'024
SL .SYS 10 29-Sep-1993 5'120
PP .SYS 2 29-Sep-1993 1'024
PIP .SAV 30 01-Jan-1993 15'360
DUP .SAV 45 29-Sep-1993 23'040
DIR .SAV 15 29-Sep-1993 7'680
LZ .SAV 16 29-Sep-1993 8'192
MY .SYS 4 2'048
< UNUSED > 5 2'560
EDIC .SAV 22P 06-Feb-1992 11'264
DESS .SAV 20 03-Oct-1992 10'240
DESS .HLP 4 03-Oct-1992 2'048
UCL .SAV 4 01-Jan-1993 2'048
ENTER .SAV 1 11-Nov-1993 512
IBM .SAV 9 21-Oct-1993 4'608
< UNUSED > 32 16'384
FORTH1.SAV 81 05-Mar-1993 41'472
< UNUSED > 1 512
CLS .SAV 1 512
PROLOG.DSK 700 358'400
KDAY .SAV 7 10-Nov-1992 3'584
LD .SYS 8 03-Oct-1992 4'096
< UNUSED > 1 512
CS .SYS 15 05-Mar-1993 7'680
LP .SYS 6 01-Jan-1993 3'072
SUPORT.SAV 3 03-Oct-1992 1'536
FORTH .DSK 400P 204'800
< UNUSED > 1 512
UCL .BAK 1 01-Nov-1993 512
UCL .DAT 1 01-Nov-1993 512
< UNUSED > 2 1'024
STARTS.BAK 1 01-Nov-1993 512
STARTS.COM 1 11-Nov-1993 512
< UNUSED > 91 46'592
---------- ------ ----------- ----------
31 Files, 1515 Blocks
133 Free blocks
Patron, вот какое дополнение пришло в голову !!! Пусть строка где имя образа содержит и путь к нему тогда ещё удобней будет !!! )))
типа шаблон такой
image: <расположение имиджа> <название имиджа>
http://pdp-11.nsk.ru/~hobot_lmb/ukdw...omplekt/Forth/
прилеплено, висит )))
Мои приветствия на форуме и для справки - ваш архив одно из самых объемных поступлений и мною ещё полностью
не обработан )))
Выложил.
Путь легко скопировать, произведя "медленный двойной клик" по строке пути на панели TC.Цитата:
Пусть строка где имя образа содержит и путь к нему тогда ещё удобней будет !!!