Как правильно дизассемблировать игры 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)