Как правильно дизассемблировать игры ZX Spectrum для изучения на современных ПК из под WIN или Linux
Кто какие способы использует, очень интересен данный вопрос.
Как правильно дизассемблировать игры ZX Spectrum для изучения на современных ПК из под WIN или Linux
Кто какие способы использует, очень интересен данный вопрос.
ZX Evolution rev C4
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
для статического анализа выбор удобных "способов" небольшой - IDA Pro или Ghidra
Barmaley_m (02.10.2021), stepmotor (22.12.2019), Stl75 (23.12.2019)
меня сейчас в основном интересуют только графпроцедуры
ломаю в своём же эмуле, где наглядно видно, какая что рисует
форматированный дизасм выгоняю в txt из отладчика zxspin
структуру буферов и спрайты смотрю в xpeccy
там же иногда немножечко трассирую
Прихожу без разрешения, сею смерть и разрушение...
stepmotor (23.12.2019)
Highway Encounter разбирал с помощью Skoolkit https://skoolkit.ca/
Он хорош для случая когда хочется потом поделиться результатом - получается куча HTML на выходе.
Но у меня была цель портирования на другую платформу, для этого этот инструмент не очень хорош.
1. Получаем карту использования памяти (обычно взяв и прогнав готовый rzx, где ещё нужно дополнительно поумирать по-всякому, потыкать в меню разные редефайны клавиш, и прочее)
2. Карту и снап (можно выгрузить из rzx, или вручную из оригинальной тапки чистый бинарник получить) кормим в SkoolKit, на выходе получаем достаточно приличный дизасм, где уже определены блоки кода/данных.
3. Далее этот файл можно править по-всякому и компилить.
4. Полученный в результате компиляции бинарник (или снап) сверяется с эталоном на предмет различий. Если найдены - то править косяк, и снова компилить.
Очень удобно для исследования IDA, но прямого метода выгрузить оттуда текст для компиляции, да ещё и с нужными комментариями не нашёл.
Heavy on the disasm
Eric and the disasm
Mask 3: Venom strikes disasm
Bard's disasm
nzeemin (23.12.2019)
И как его тем же SjASM компилить?
Кроме этого, я делаю различные IFDEF и макросы к примеру.
Позволяет сильно упростить исходник, и сделать повторное использование блоков.
Типа как тут
https://github.com/Bedazzle/EATF/blo..._main_menu.asm
Heavy on the disasm
Eric and the disasm
Mask 3: Venom strikes disasm
Bard's disasm
stepmotor (23.12.2019)
Интересно, где эмуляторы или реальный zx в файлах .tap .tzx и.т.д читают "точку входа" стартовый адрес для запуска игры. ?? Если в загрузчике нет ничего подобного RANDOMIZE USR ....
ZX Evolution rev C4
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)