User Tag List

Страница 4 из 9 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 87

Тема: Дизассемблирование игры Batty

  1. #31

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    возможно, А не может иметь нулевое значение
    На мой взгляд это более вероятный вариант. В (извините) эксолоне несколько раз встречаются таблицы, в которых 0й индекс никогда не бывает, поэтому адрес как бы начала такой таблицы приходится на завершение предыдущего кода или данных.

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

  3. #32

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мне тоже так кажется, но я пока перестраховался. Потом нужно будет вернуться в этому месту и изучить его. Хочется получить листинг, который можно будет максимально дербанить, переставляя части программы как душе угодно. И вдруг всё-таки адрес используется и там, и сям? Тогда, если перенести таблицу в другое место, всё сломается. Тем более подпрограмма выше таблицы вообще выглядит как-то глупо: зачем грузить регистровую пару, если можно было загрузить только один регистр?
    С уважением, Станислав.

  4. #33

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Команды по адресам 8EBB и 8EC5 читают сначала 9F38, потом 9F39 (периодически срабатывает в меню). Возможно еще есть фрагменты, где пишут или читают 9F38-9F39

  5. #34

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    посмотри с #999C там из таблицы берутся абсолютные адреса и подставляются в четыре команды JP #XXXX,
    потом ещё пара команд изменяется (через А) ; похоже на изменение процедуры печати (в зависимости от ширины спрайта)

  6. #35

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    посмотри с #999C там из таблицы берутся абсолютные адреса и подставляются в четыре команды JP #XXXX,
    Не знаю как на счёт JP, но я там нашёл таблицу с указателями на инструкции POP DE в одной процедуре и на POP BC в другой. Дальше пока не раскручивал. Видимо, они потом меняются местами.
    С уважением, Станислав.

  7. #36

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    	LD   (#9A20),HL
    	LD   (#9AB4),HL
    	LD   (#9AB9),HL
    	LD   (#99E3),HL
    Код:
    L9A1F:	JP   NZ,L9A1F
    L9AB3:	JP   NC,L9AB3
    L9AB8:	JP   L9AB8
    L99E2:	JP   L99E2

  8. #37

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    DA00-F1FF - теневой буфер с построчной организацией, туда рисуют вышеупомянутые процедуры. Потом на экран перекидывают по LDI.

  9. #38

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    DA00-F1FF - теневой буфер с построчной организацией, туда рисуют вышеупомянутые процедуры. Потом на экран перекидывают по LDI.
    я это выше сообщил
    по (большим) объёмам занимаемой памяти получается
    55040,768 ; аттрибуты экрана
    55808,6144; пиксели экрана
    61952,3584 ; строится таблица
    ...........
    блин, оказывается SpecEmu проигрывает RZX в каком-то отдельном цикле - (отладчик и BreakPoint`ы не учитываются)
    а я уж губы раскатал, думал расставлю прерывания и на примере полного прохождения пойму некоторые моменты
    Последний раз редактировалось goodboy; 15.06.2020 в 19:29.

  10. #39

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    я это выше сообщил
    Где (я не нашел)?

  11. #40

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Где (я не нашел)?
    пост #15
    ...............
    процедура по адресу 38774 вычисляет адрес карты уровня. A=№(00-14)
    27837,15*2 ; адреса карт размещения кирпичиков
    27867,15*15*12 ; карты уровней
    30567 код игры
    почему адреса карт хранятся в таблице, а не вычисляются сложением (карты уровней фиксированной длины) мне непонятно
    ........
    38221,199 ; текст меню
    38420 XXXX; какая-то переменная
    .........
    я сначала не понял как игра `помечает` выбитые кирпичи
    (для построения экрана после потери мячика используется тажа карта что и для начала уровня)
    оказывается кроме цвета у кирпичика есть свойства (биты 4-7).
    перед началом уровня они сбрасываются, а например при попадании в него устанавливаются.

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

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Судя по всему должна была быть анимация увеличения шарика после получения соответствующего бонуса
    так она вроде есть. бонус smash - большой мяч который пробивает всё
    Последний раз редактировалось goodboy; 15.06.2020 в 21:08.

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

    Barmaley_m(28.06.2020)

Страница 4 из 9 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Дизассемблирование спектрумовских игр
    от CityAceE в разделе Утилиты
    Ответов: 4
    Последнее: 13.04.2016, 09:44
  2. ранняя версия Batty
    от goodboy в разделе Игры
    Ответов: 18
    Последнее: 24.10.2009, 03:34
  3. World Shaker - игра от Michael Batty, но на PC
    от Shadow Maker в разделе Игры
    Ответов: 6
    Последнее: 01.01.2009, 22:43
  4. Batty
    от CityAceE в разделе Игры
    Ответов: 1
    Последнее: 14.03.2005, 05:55

Ваши права

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