PDA

Просмотр полной версии : Какой утилитой (на ZX или на PC) удобно редактировать кодовые блоки?



ZX_NOVOSIB
16.11.2014, 21:47
Попрошу модеров отщипнуть конец от темы "REX. Правка карты. Сбор средств. (http://zx-pk.ru/showthread.php?t=24237)" , начиная с этого поста (http://zx-pk.ru/showpost.php?p=753479&postcount=50) в начало этой темы.

Суть вопроса вот в чём. Допустим нужно немного подкорректировать кодовый блок. Можно его загрузить в бейсик и там просматривать/искать (peek) нужные значения, искать адреса этих значений и менять эти значения (poke). Но это очень неудобно. Есть ли утилиты в которых наглядно были бы видны номера ячеек памяти спектрума и содержимое этих ячеек? Не важно на ZX или на PC. Хотелось бы видеть всё, искать, править, сохранять.

Вот к примеру есть дебаггер в спектакуляторе, это лучшее что мне удалось найти на PC. Но у него есть несколько минусов:

1. Он не умеет искать такие последовательности, в которых неизвестны некоторые члены, например последовательность 0,1,0,0,х,х,0,2,0,0 он не найдет, я пробовал вбивать например 0,1,0,0,?,?,0,2,0,0 - он не понимает. Неужели для поиска подобной последовательности никак не обойтись без проги на бейсике?

2. Долбаный дебаггер мнит себя чересчур умным. Среди некоторых байтов и их последовательностей ему мерещатся команды ассемблера, и он их группирует по своему, это визуально сильно осложняет поиск и редактирование. И отключить эту фишку никак нельзя. Нет бы просто показывать слева колонку адресов, справа их значения, дак он всё усложняет.

Писали что можно мол, сделать в эмуляторе снапшот и открыть его потом с помощью WinHex. Я попробовал, но ничего не понял. Там всё Hex, Dec не включить, но главное не могу понять как там искать последовательности байтов, и самое главное не могу понять как узнавать по какому адресу в памяти спектрума находится конкретный байт? В общем для меня снапшот открытый в винхекс это просто какая-то каша. Уж луче дебаггер спектакулятора.

P.S. Eagle упоминал некое "Проф. ПЗУ MOA Service" в Scorpion 256 turbo. Где взять это ПЗУ, как и куда его интегрировать и как потом мне всё это заюзать в моих целях?

Gutten
16.11.2014, 21:59
Hex Editor Neo

Titus
16.11.2014, 22:02
WinHex

shurik-ua
16.11.2014, 22:13
Любой HEX редактор, мне например больше нравится Winhex.
Здесь можно скачать крякнутые - https://exelab.ru/download.php?action=list&n=NQ==

ZX_NOVOSIB
16.11.2014, 22:36
Окей, вижу вы не прочитали мой пост до конца.

Как в винхексе искать последовательность? Там в строке "найти значение" можно искать только один байт, последовательность байт задать нельзя.

Как узнать какой адрес в памяти спектрума занимает тот или иной байт?

goodboy
16.11.2014, 22:40
в Unreal если не ошибаюсь поиск до 8ми байтов и с маской

---------- Post added at 22:40 ---------- Previous post was at 22:39 ----------


Eagle упоминал некое "Проф. ПЗУ MOA Service" в Scorpion 256 turbo. Где взять это ПЗУ, как и куда его интегрировать и как потом мне всё это заюзать в моих целях?

выбрать скорпион в unreal и нажать magic

Eagle
16.11.2014, 23:05
выбрать скорпион в unreal и нажать magic
Там ПЗУ для желтой платы. А для зелёной версия другая была. У меня была желтая плата (спалил), теперь зелёная, там функции magic улучшены, сжатие добавили...

ZX_NOVOSIB
16.11.2014, 23:20
в Unreal если не ошибаюсь поиск до 8ми байтов и с маскойПодскажите кто-нибудь, вот жму в дебагере унрила Ctrl+F7, вылазит окно с двумя формами, code и mask, что в эти формы вбить, чтобы оно нашло мне хотя бы последовательность из 8-ми байт: 0,1,0,0,х,х,0,2, где x-любое значение.

---------- Post added at 02:20 ---------- Previous post was at 02:17 ----------


Там ПЗУ для желтой платы. А для зелёной версия другая была. У меня была желтая плата (спалил), теперь зелёная, там функции magic улучшены, сжатие добавили...
А это зеленое ПЗУ его нигде скачать нельзя что-ли?
И где почитать описание этого монитора? А то он даже не даёт курсором по адресам памяти бегать, сразу команды какие-то просит.

SoftLight
16.11.2014, 23:41
А это зеленое ПЗУ его нигде скачать нельзя что-ли?


Тут (http://zxspectrum.it.omegahg.com/_SC.htm) смотрел? Я правда не знаю какое зеленое

ZX_NOVOSIB
16.11.2014, 23:59
SoftLight, я тоже не знаю, возможно Eagle подскажет.

Пробую найти какое-нибудь вменяемое описание монитора скорпиона и не могу. Какие-то обрывочные сведения. Вот выбрал я в унриле скорпион, потом жму Ctrl+F1 (magic), появляется меню, в нём жму M. Появляются цифры и командная строка. Как найти последовательность байт? Как курсором лазить по адресам памяти и просматривать/редактировать их, как потом всё это сохранить?

Читаю про какие-то комбинации EDIT+Q/ +С, жму, ничего не происходит.

Gutten
16.11.2014, 23:59
либо оттуда,либо из темы по сборке скорпиона - любое ПЗУ с версией больше 3.00.

Eagle
17.11.2014, 00:12
А это зеленое ПЗУ его нигде скачать нельзя что-ли?
Ни в одном эмуляторе не встречал.
У меня ПЗУ версия: NCACB 05-07 V4.01

---------- Post added at 00:12 ---------- Previous post was at 00:11 ----------


Пробую найти какое-нибудь вменяемое описание монитора скорпиона и не могу.
У меня все печатные мануалы есть, могу отсканировать.

Gutten
17.11.2014, 00:22
1)в унриле надо на вкладке "INPUT" СНЯТЬ галку PC layout
2)тогда работает это "Экранный редактор работает прямо в окне дампа памяти и вызывается комбинацией клавиш EDIT/D. Для перемещения указателя используются клавиши–стрелки. Комбинация EDIT/A переводит курсор в поле задания адреса, а клавиша GRAPH позволяет выбрать шестнадцатеричный или символьный дамп. Выход из редактора стандартный — по комбинации EDIT/C."
3)https://yadi.sk/i/uV4jvzrfckNEw
4)https://yadi.sk/i/Csp3ifVKckNFv
5)https://yadi.sk/d/lI2jqPcackNFz

---------- Post added at 00:22 ---------- Previous post was at 00:16 ----------

6)http://zx-pk.ru/showpost.php?p=654882&postcount=562

ZX_NOVOSIB
17.11.2014, 01:30
1)в унриле надо на вкладке "INPUT" СНЯТЬ галку PC layout
2)тогда работает это "Экранный редактор работает прямо в окне дампа памяти и вызывается комбинацией клавиш EDIT/D. Для перемещения указателя используются клавиши–стрелки. Комбинация EDIT/A переводит курсор в поле задания адреса, а клавиша GRAPH позволяет выбрать шестнадцатеричный или символьный дамп. Выход из редактора стандартный — по комбинации EDIT/C."

Проверил, у меня эта галка и не стояла. EDIT в унреале это же шифт+ё, он работает, проверял в 128-ом, меню вылазит.

Жму на magic, появляется меню, жму m (monitor) - появляются цифры и командная строка, жму "шифт+ё+D" и ничего не происходит и никакого экранного редактора. :(

P.S. Без галки ничего не происходит, с галкой печатается D.

---------- Post added at 04:27 ---------- Previous post was at 03:59 ----------


Ни в одном эмуляторе не встречал.
У меня ПЗУ версия: NCACB 05-07 V4.01
А разве по ссылке SoftLight, нету такого как у тебя? Там вроде есть 4.01
Gutten вообще говорит, что зеленое ПЗУ это любое с версией больше 3.00


У меня все печатные мануалы есть, могу отсканировать.
Если отсканируешь, то все скажут тебе спасибо. Но это имеет смысл, если никто до тебя не сканировал.

---------- Post added at 04:30 ---------- Previous post was at 04:27 ----------

понял почему у меня EDIT+D не работало, надо было скачать ром 4.01 по ссылке и скормить этот ром унрилу. Там есть галка "сингл файл ром имейдж" вот туда этот ром скормить и всё работает. Пока не пойму только как последовательность байт найти.

Eagle
17.11.2014, 01:58
А разве по ссылке SoftLight, нету такого как у тебя? Там вроде есть 4.01
Может и оно, но его ещё к эмулятору прикрутить надо.


Если отсканируешь, то все скажут тебе спасибо. Но это имеет смысл, если никто до тебя не сканировал.
Ну потому и пишу, что могу, а вдруг...

Reobne
17.11.2014, 05:20
В EmuZWin.

Загружаем программу из снапшота, файлы ленты, или файла диска.

F12 - вход в дебагер.
Если не видно дампа памяти(на картинке помаран зелёным карандашом), а только дизасемблер, то его нужно потянуть за разделитель. (он иногда схлопнут).
Shift-F3 поиск (или иконка с биноклем). Дальше пишем (помарано красным карандашом). Давим ентер и должно найтись.

ZX_NOVOSIB
17.11.2014, 18:31
В EmuZWin.

Загружаем программу из снапшота, файлы ленты, или файла диска.

F12 - вход в дебагер.
Если не видно дампа памяти(на картинке помаран зелёным карандашом), а только дизасемблер, то его нужно потянуть за разделитель. (он иногда схлопнут).
Shift-F3 поиск (или иконка с биноклем). Дальше пишем (помарано красным карандашом). Давим ентер и должно найтись.

Да! EmuZWin порвал всех! Только он смог составить конкуренцию бейсику )) Он и вправду может искать. Все остальные только создают видимость.

Печалит лишь то, что обязательно в окне поиска нужно заполнять "Text to search", чтобы кнопка OK стала активной. А если мне не текст нужно найти, а байт, который не имеет "текстового" эквивалента? (в большинстве случаев кстати и нужно найти байт или последовательность байт, но никак не текст) Тогда что? Приходится вводить текст, рядом байт, а потом в маске "занулять" текст. Ну вот зачем такую клоунаду нужно было придумывать?

Reobne
17.11.2014, 18:52
Приходится вводить текст, рядом байт
Да, есть глючёк, кнопка рисуется активной, только если есть текст. Но писать текст необязательно, клавиша ентер(на клавиатуре :)) и так работает. А если привык мышкой кнопку давить, то да, приходится мучится.