User Tag List

Страница 2 из 12 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 115

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

  1. #11
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,662
    Спасибо Благодарностей отдано 
    1,255
    Спасибо Благодарностей получено 
    1,883
    Поблагодарили
    711 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от stepmotor Посмотреть сообщение
    Интересно, где эмуляторы или реальный zx в файлах .tap .tzx и.т.д читают "точку входа" стартовый адрес для запуска игры. ?? Если в загрузчике нет ничего подобного RANDOMIZE USR ....
    Вообще-то в начале каждого .tap'а находится бейсик-файл. А в бейсик-файле прописано, с какой строчки запускать бейсик.

  2. #12
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,645
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от stepmotor Посмотреть сообщение
    Если в загрузчике нет ничего подобного RANDOMIZE USR ....
    В загрузчике всегда есть что-то подобное RANDOMIZE USR, но оно может быть скрыто за управляющими кодами печати.

  3. Эти 2 пользователя(ей) поблагодарили Spectramine за это полезное сообщение:

    Barmaley_m (02.10.2021), stepmotor (23.12.2019)

  4. #13
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,590
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    237
    Поблагодарили
    186 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    В загрузчике всегда есть что-то подобное RANDOMIZE USR, но оно может быть скрыто за управляющими кодами печати.
    может и не быть в принципе, если в стек перезапишется загрузкой адрес возврата
    Прихожу без разрешения, сею смерть и разрушение...

  5. Этот пользователь поблагодарил Lethargeek за это полезное сообщение:

    stepmotor (23.12.2019)

  6. #14
    Member Аватар для stepmotor
    Регистрация
    18.11.2017
    Адрес
    д. Повадино, Московская обл.
    Сообщений
    168
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    29
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В Eric & the floaters какой стартовый адрес ?

    Я попробовал дизассемблировать простенькую игру SIEGE .. одна из любимых в детстве Получилось с лету скомпилировать при помощи sjasm в .sna
    Немного проанализировав исходник, добавил управление через kemston джойстик
    Использовал дизассемблер yazd запускать через .bat файл.

    yazd.exe --addr:32722 --entry:37178 -xref 1111.z80 eric.asm
    pause 0

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


    ZX Evolution rev C4

  7. #15
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,590
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    237
    Поблагодарили
    186 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от stepmotor Посмотреть сообщение
    В Eric & the floaters какой стартовый адрес ?
    не, так дело не пойдёт - нужно спрашивать всегда для конкретной версии

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

  8. #16
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,815
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    149
    Спасибо Благодарностей получено 
    1,195
    Поблагодарили
    788 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от stepmotor Посмотреть сообщение
    В Eric & the floaters какой стартовый адрес ?
    там старт сделан через переполнение стека.
    данные загружаясь накладываются на его область и подменяют адрес возврата.

  9. Эти 2 пользователя(ей) поблагодарили goodboy за это полезное сообщение:

    Barmaley_m (02.10.2021), stepmotor (23.12.2019)

  10. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  11. #17
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,495
    Спасибо Благодарностей отдано 
    227
    Спасибо Благодарностей получено 
    150
    Поблагодарили
    116 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    В загрузчике всегда есть что-то подобное RANDOMIZE USR, но оно может быть скрыто за управляющими кодами печати.
    Не всегда.
    Вот пример
    https://www.worldofspectrum.org/info...cgi?id=0001639

    А, уже сказали, ага.
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  12. #18
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,826
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    239
    Поблагодарили
    101 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    И как его тем же SjASM компилить?
    Кроме этого, я делаю различные IFDEF и макросы к примеру.

    Позволяет сильно упростить исходник, и сделать повторное использование блоков.
    Типа как тут
    https://github.com/Bedazzle/EATF/blo..._main_menu.asm
    В смысле? Берёшь и компилишь тот asm, который она тебе нагенерила. Только масс реплейс .ascii на db предварительно сделай. Макросы можно делать уже в конце, когда все работы по дизассму закончены и в иду больше не пойдёшь.

    Поглядел твой исходник, ад какой-то У нас разное понимание слова "упростить".
    Последний раз редактировалось Shadow Maker; 24.12.2019 в 13:08.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  13. #19
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,645
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    может и не быть в принципе, если в стек перезапишется загрузкой адрес возврата
    Да, забыл про этот способ. Некоторые игры вообще грузятся через LOAD "" CODE таким макаром. Ещё могут подменяться адреса процедур вывода каналов/потоков в системных переменных, и вывод "OK" приведет к старту программы.

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

    Или адрес процедуры обработки ошибок в системных переменных.

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

    Забыл, потому что привык к машкодовым загрузчикам после REM)

  14. Эти 2 пользователя(ей) поблагодарили Spectramine за это полезное сообщение:

    Barmaley_m (02.10.2021), stepmotor (24.12.2019)

  15. #20
    Veteran Аватар для Bedazzle
    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,495
    Спасибо Благодарностей отдано 
    227
    Спасибо Благодарностей получено 
    150
    Поблагодарили
    116 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    В смысле? Берёшь и компилишь тот asm, который она тебе нагенерила. Только масс реплейс .ascii на db предварительно сделай. Макросы можно делать уже в конце, когда все работы по дизассму закончены и в иду больше не пойдёшь.
    Ну вот они получаются не в конце, а там, где разобрал, и сразу впилил.

    Цитата Сообщение от Shadow Maker Посмотреть сообщение
    Поглядел твой исходник, ад какой-то У нас разное понимание слова "упростить".
    Оно логично, все же люди разные.
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

Страница 2 из 12 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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