Попробую в виртуалке такое расширение поставить. У меня ноут 1024 в ширину, это не косит.
Показывать какой-нибудь параметр на экране или в отдельном окошке - не проблема. Вычислять уже сложнее.
Вид для печати
Пока я делаю watcher-ы, возник вопрос - наблюдать надо за адресом (0000..FFFF) или за ячейкой с привязкой к ram/rom/итд и номеру страницы.
http://samstyle.narod.ru/xpeccy/pix/...225_164148.png
Мне бы достаточно было по адресу. Только тут тоже хватает вариантов, которые могут пригодится в процессе. Например, ячейка может адресоваться:
- жестким заданием адреса (константой),
- рег. парой,
- содержимым другой пары ячеек (переменной)...
надо как так так и так
второе часто нужно но его обычно нигде нету
и тебе прет все с разных страниц
так же нужны скрин вачесы и для регистров (и так же с учетом exx-ов!!!!)
так же нужны брекпоинты на них если нету
уще в unreal есть класная функция
там называется memory band
при этом разными цветами подсвечиваться участки памяти которые исполняются\пишутся\читают ся
нужно такое же только с точностью до байта
и вариант не просто для 0000-FFFF
а развернуто для всех банок
благодаря этому визуально можно найти
данные (особенно хорошо видно всякие семплы в трекерах)
код и его тип
читерство в демках (сразу видно когда оно тупо читает все подряд in AAA style и кидает на экран)
увидеть как стек постепенно скушивает весь твой код до момента зависания
неимоверно полезная вещь
а еще лучше если при наведении курсора чтоб оно писало точный адрес где оно находиться
в unreal-е потом приходиться еще искать а где же оно
еще ссылка на всякие пожелания по улучшению функционала
http://zx-pk.ru/threads/16830-zxmak2...l=1#post514875
http://zx-pk.ru/threads/16830-zxmak2...l=1#post515885
http://zx-pk.ru/threads/16830-zxmak2...l=1#post422315
Воу, воу, палехчи. Некоторые пункты есть, а до других как до Луны вприсядку боком периодически подпрыгивая...
Вобщем, отслеживание есть - либо логического адреса (0000..FFFF), либо абсолютного (RAM/ROM, страница, адрес в странице). При логической адресации можно задать абсолютный адрес, либо одну из рег.пар, плюс с указанием смещения -128..127. Пожалуй, добавлю ещё сохранение списка наблюдения, чтобы не перевбивать всё заново.
Я по наводке VBI последние 2 дня сидел, выискивая, что не так с прерываниями в TSConf, уже мозг треснул. Потом по плану переделать работу с клавиатурой. А уж потом начинай предлагать свои предложения, по одному, с небольших, желательно не сильно перегружая интерфейс.
build 20170227
- Исправлены прерывания в TSConf. Остался один непонятный момент. Надеюсь, потом я его проясню.
- Добавлен "наблюдатель" в реальном времени.
- На попробовать - коды для PC-клавиатуры передаются в конец cmos даже если опция отключена, но при этом комбинации Alt+кнопка и те кнопки, которые забрал сам эмулятор, не передаются.
WUTcha:
Вызывается из user menu (пкм), показывает состояние регистров z80, страницы в банках памяти и список значений задаваемых ячеек памяти.
Ячейки для наблюдения добавляются/удаляются через контекстное меню таблицы. Редактирование - двойной клик по соответствующей строке
Адресация ячейки может быть: логической - задаётся 16-битным адресом, или физической - конкретный адрес в конкретной странице памяти.
При указании ячейки вводится тип памяти (ram/rom), страница и адрес внутри этой страницы. Хотя, сейчас подумалось - а нафиг мониторить rom?
При указании логического адреса можно указать абсолютный адрес (0000..FFFF), либо регистр Z80 и смещение (-128..127), из которых складывается адрес наблюдения
[ deb 32 ][ deb 64 ][ rpm 32 ][ rpm 64 ][ win 32 ][ win libs ]
Патч чтоб компилировалось с QT5 (см. https://doc.qt.io/qt-5/qstring-obsolete.html#toAscii ):
Код:diff --git a/src/dbg_finder.cpp b/src/dbg_finder.cpp
index a63e2c9..1478871 100644
--- a/src/dbg_finder.cpp
+++ b/src/dbg_finder.cpp
@@ -23,7 +23,7 @@ void xMemFinder::onTextEdit() {
ch = txt.at(i);
if (i != 0)
str.append(":");
- str.append(gethexbyte(ch.toAscii()));
+ str.append(gethexbyte(ch.toLatin1()));
}
}
ui.leBytes->setText(str);