-
Из занимательного.
Попробовал отдезассемблировать EDIT.SAV из RT-11 V01-15. Макросы пока не определял (хотя то, что было описано в DisAsm ранее - основывалось на макросы из этой версии). Транслируется без ошибок, собирается без проблем, но в новоявленном EDIT в конце некоторое количество нулевых байт, в том время как в исходном - что-то есть.
Позже попробую посмотреть - почему DisAsm проигнорировал хвост :)
- - - Добавлено - - -
Из вспомнившегося.
Бродит мысль добавить поддержку версионности макросов. С возможностью указать при дизасме - какие версии использовать. Ну и возможностью динамечески - генерировать (и комментировать его исходные команды) или не генерировать (и не комментирвать) макровызов в зависимости от того, что выбрано в интерфейсе.
Но пока в обдумывании - как сделать.
-
Пробежался по EMT, где макровызовы были описаны - AltM, результат оттранслировал-собрал - если добавить ссылку на SYSMAC.SML из RT-11 V01-15 - всё ок. Если брать из 5.7, даже если вызывать ..V1.. (типа - макросы по стандартам V01-15) - есть расхождение
-
Захотелось, как обычно, странного :)
Так что появится поддержка ещё одного формата файлов :) В самом начале, так что показывать пока нечего..
И для поддержки этого формата - (это не начало добавления, но) кое-что для работы с .OBJ файлами появилось.
Плюс - добавил флаг - программа имеет доступ к странице в/в, соответственно - если флаг установлен и другие признаки не блокируют - будет расшифровка адресов регистров в/в в имена. Когда-то давно что-то такое было, но в силу ряда причин - удалил. Вот теперь возвращается :)
От макросов устал и взгляд замылился - так что способ отдохнуть :)
-
Все параметры, которые относились к PDP-11 и были статически отрисованы на пользовательском интерфейсе - теперь выведены в описания и генерируются динамически - в зависимости от выбранного процессора, операционки, типа и субтипа файла. На вскидку (если что-то не упустил) - теперь в ядре DisAsm осталась только одна зависимости от PDP-11 - в модуле генерации исходника. Думаю над ней, пока простого решения что-то не вырисовывается, хоть новый вариант работы с ячейками памяти и облегчил задачу :)
Но поскольку работаю надо очередной странной своей хотелкой (и переработка пользовательского интерфейса пусть и слегка - но её касается) - пока над оставшейся зависимостью думаю в фоне :)
-
Большая работа по рефакторингу (в основном - упрощение внутренней структуры и вынос зависимостей от PDP-11, пока по прежнему - модуль генератора исходника). В процесс "неожиданно выяснилось" :) что опять криво (а в определённых сценариях - вообще не) работает восстановление из файла сеанса в случае программ с перекрытиями. Вроде бы (!!) выяснилось, откуда растут ноги у проблемы и как это (грязноватый хак) исправить. В целом всё крутится вокруг моего желания восстанавливать и фокус ввода на выбранной перед созданием файла сеанса ячейки. Угробил на это примерно три дня. Не полных - так как ещё всякие домашние дела, но пару дней чистыми - скорее всего. Пользовательский интерфейс на WPF - это, конечно, удобно, пока не начнёшь хотеть от него странного :) Ну и большую часть канов - как правильно под него писать - я таки нарушаю :)
В общем, опять возвращаюсь к хотелке странного. Кое что успел сделать, но пока показывать нечего...
-
В хотелке уже кое-что реализовано, но пока показывать нечего.
Попутно - рефакторинг и...
Я всё таки выпилил все зависимости от PDP-11 в генераторе исходника! :) Идею подсказала возня и некоторые решения для поддержки оверлеев :)
Продолжаю пилить хотелку....
-
Продираюсь сквозь документацию, исходники и свой тупизм. Подвижки есть, показывать пока мало что есть, да и то с ошибками :)
Из нового - была давно мысль возможность выбора не только в основном окне дизасма оверлей, но и в дополнительных типа - не трогая основное окно - заглянуть в другой оверлей. Не было мысли - как это реализовать, не загромождая интерфейс :) И вот, сегодня, смотря на цепочку связанных ячеек (первая указывает на вторую, вторая на третью и так далее) - машинально попробовал перетянуть ячейку из доп окна дизасма в основное :) О!! Могучий драг-н-дроп :) Так что теперь работает (почти - мелочи подпилить и добавить сброс оверлея) и такой вариант выбора :)
Попутно пришла мысль - для таких связанных ячеек убыстрить процесс - типа - на первой, сформировал ссылку на вторую, щелнул кнопкой - и перешёл на вторую и т.д.
Попутно пришла мысль - иметь возможность блокировать доп окна дизасма от авто-смены и при изменении ячейки (или оверлея) в основном окне. Может пригодиться :)
-
DrugNDrop между окнами дизасма и DrugNDrop оверлея на окна дизасма вроде работает.
Но из-за того, что выбор оверлея происходит при НАЖАТИИ на левую кнопку мыши, а не отпускании и не знаю (по крайне мере пока), как это изменить или победить... Перетаскивание ячеек между окнами дизасма - левой кнопкой мыши, а перетаскивание оверлея на окно дизасма - правой :) А может просто сделаю идентичным...
-
Чем можно исследовать образы системы RSX? :)
RMD? Нет - покажет (и далеко не всё) только у загруженной системы :)
VMR? Нет - только некоторые настройки :)
Теперь (пусть пока и в далеко не полном объёме) - Микроскоп для RSX :)
Всё таки успел до конца отпуска сделать что-то, что можно показать :)
-
Задачи, зафиксированные или оставшиеся в образе памяти RSX - это не стандартные образы задачи RSX, поэтому уже имеющийся парсер TSK с ним работать напрямую не сможет. Пришлось поразбираться - откуда можно вытянуть нужную информацию. Процесс более менее двигается - задачи без перекрытий уже показываются без проблем (и привилегированные даже "видят" ядро RSX :).
В работе - программы с перекрытиями. Процесс тоже движется, но пока в самом начале.
Попутно добавил функционала в Mapper, теперь он может поучаствовать в процессе расстановки меток и добавления комментариев. Не сам, понятно (совсем не нужна его прямая завязка на всякие объекты PDP-11) - через посредника. И это позволило (добавив аттрибуты в описание классов) ликвидировать много строчек кода :)