User Tag List

Показано с 1 по 10 из 115

Тема: Как правильно дизассемблировать игры ZX Spectrum для изучения :)

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    Ы?
    Сайт без проблем открывается. Может, провайдер лочит, или какой роскомнадзор постарался?

    - - - Добавлено - - -

    Цитата Сообщение от zxlogin Посмотреть сообщение
    Как в ассемблере находить где что?
    Сначала в эмуль загружаешь игру, которую хочешь исследовать.
    Находишь где находятся шрифт, спрайты, тексты - с этого уже можно начать.
    Далее в IDA/Ghidra размечаешь эти регионы, и потихоньку раскручиваешь что с чем связано.

    Например, находишь по вектору прерываний где находится обработчик, исследуешь, что там делается.
    Также очистка экрана или отрисовка спрайтов (ставишь точку останова на запись в экран), и смотришь, откуда и как рисует.

    Если звуки бипер/AY, по записи в нужные порты (смена бордюра сюда же).

    В главном меню часто либо играет музыка, либо по кругу показывают таблицу рекордов или ещё что - тут можно тормознуть эмуль (мне нравится SpecEmu для этого), в менюшке очистить карту памяти, отжать паузу, и подождать некоторое время, после чего сохранить карту памяти в файл - это поможет понять, где находится код и данные для главного меню.

    Если игра аркада (т.е. двигается на экране человечек/машинка/корабль), то можно пробовать раскручивать где находятся переменные, отвечающие за объект (главный герой или враги) - либо в анриле, либо делая несколько снапшотов всей памяти спека, и находя отличающиеся байты. Так легко найти где лежат жизни, энергия, текущие координаты, и прочее.

    После game over идёт либо на главное меню, либо сначала на инициализацию переменных, и потом на меню. Тут тоже можно найти очень важные ячейки. Если игра содержит уровни-экраны, то при переходе на другой происходит чтение куска памяти, откуда отрисовываются объекты - проставив бессмертие (и используя сохранение карты памяти), можно пробежаться по разным экранам, и выяснить, где что лежит, и понемногу раскурить, каким именно образом хранится (могут быть варианты с разной степенью сложности упаковки для экономии места).
    Последний раз редактировалось Bedazzle; 25.12.2021 в 01:28.
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Как правильно вывести AY, бипер и TAPE со Spectrum +2 Black (ISSUE 4) ?
    от ZX_NOVOSIB в разделе Зарубежные модели
    Ответов: 23
    Последнее: 24.06.2014, 08:05
  2. Как правильно очистить плату?
    от Rom111 в разделе Для начинающих
    Ответов: 13
    Последнее: 22.04.2014, 22:56
  3. Отправка видео-сканера для ZX для изучения!
    от ZXFanat в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 11.09.2011, 14:48

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •