Просмотр полной версии : Какой утилитой (на 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. Где взять это ПЗУ, как и куда его интегрировать и как потом мне всё это заюзать в моих целях?
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
Окей, вижу вы не прочитали мой пост до конца.
Как в винхексе искать последовательность? Там в строке "найти значение" можно искать только один байт, последовательность байт задать нельзя.
Как узнать какой адрес в памяти спектрума занимает тот или иной байт?
в Unreal если не ошибаюсь поиск до 8ми байтов и с маской
---------- Post added at 22:40 ---------- Previous post was at 22:39 ----------
Eagle упоминал некое "Проф. ПЗУ MOA Service" в Scorpion 256 turbo. Где взять это ПЗУ, как и куда его интегрировать и как потом мне всё это заюзать в моих целях?
выбрать скорпион в unreal и нажать magic
выбрать скорпион в 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/ +С, жму, ничего не происходит.
либо оттуда,либо из темы по сборке скорпиона - любое ПЗУ с версией больше 3.00.
А это зеленое ПЗУ его нигде скачать нельзя что-ли?
Ни в одном эмуляторе не встречал.
У меня ПЗУ версия: NCACB 05-07 V4.01
---------- Post added at 00:12 ---------- Previous post was at 00:11 ----------
Пробую найти какое-нибудь вменяемое описание монитора скорпиона и не могу.
У меня все печатные мануалы есть, могу отсканировать.
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 по ссылке и скормить этот ром унрилу. Там есть галка "сингл файл ром имейдж" вот туда этот ром скормить и всё работает. Пока не пойму только как последовательность байт найти.
А разве по ссылке SoftLight, нету такого как у тебя? Там вроде есть 4.01
Может и оно, но его ещё к эмулятору прикрутить надо.
Если отсканируешь, то все скажут тебе спасибо. Но это имеет смысл, если никто до тебя не сканировал.
Ну потому и пишу, что могу, а вдруг...
В EmuZWin.
Загружаем программу из снапшота, файлы ленты, или файла диска.
F12 - вход в дебагер.
Если не видно дампа памяти(на картинке помаран зелёным карандашом), а только дизасемблер, то его нужно потянуть за разделитель. (он иногда схлопнут).
Shift-F3 поиск (или иконка с биноклем). Дальше пишем (помарано красным карандашом). Давим ентер и должно найтись.
ZX_NOVOSIB
17.11.2014, 18:31
В EmuZWin.
Загружаем программу из снапшота, файлы ленты, или файла диска.
F12 - вход в дебагер.
Если не видно дампа памяти(на картинке помаран зелёным карандашом), а только дизасемблер, то его нужно потянуть за разделитель. (он иногда схлопнут).
Shift-F3 поиск (или иконка с биноклем). Дальше пишем (помарано красным карандашом). Давим ентер и должно найтись.
Да! EmuZWin порвал всех! Только он смог составить конкуренцию бейсику )) Он и вправду может искать. Все остальные только создают видимость.
Печалит лишь то, что обязательно в окне поиска нужно заполнять "Text to search", чтобы кнопка OK стала активной. А если мне не текст нужно найти, а байт, который не имеет "текстового" эквивалента? (в большинстве случаев кстати и нужно найти байт или последовательность байт, но никак не текст) Тогда что? Приходится вводить текст, рядом байт, а потом в маске "занулять" текст. Ну вот зачем такую клоунаду нужно было придумывать?
Приходится вводить текст, рядом байт
Да, есть глючёк, кнопка рисуется активной, только если есть текст. Но писать текст необязательно, клавиша ентер(на клавиатуре :)) и так работает. А если привык мышкой кнопку давить, то да, приходится мучится.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot