User Tag List

Показано с 1 по 9 из 9

Тема: Реверс Scuba Dive

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

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

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,047
    Спасибо Благодарностей отдано 
    1,140
    Спасибо Благодарностей получено 
    1,457
    Поблагодарили
    520 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Реверс Scuba Dive

    Всем привет.
    Неторопясь делаю реверс игрушки Scuba Dive для ZX Spectrum 48K, собственно уже есть некоторые результаты.

    SkoolKit HTML: https://nzeemin.github.io/skoolkit-g...scuba/asm.html
    Репозиторий с ASM для компиляции через pasmo: https://github.com/nzeemin/spectrum-scubadive-rev

    При компиляции получаются в точности такие же три блока, до байта, как и в исходном TAP-файле.

    Блоки, загружаемые из TAP-файла:
    Код:
       Name         Type   Addr    Size  SizeHex   RangeHex
      "SCUBA     "  BASIC 
      "DIVE      "  CODE   16384,  7150   $1BEE   $4000-$5BED
      "S         "  CODE   24576, 25856   $6500   $6000-$C4FF
      "D         "  CODE   55552,  6144   $1800   $D900-$F0FF
    Использование памяти:
    Код:
    Начало        $5B00    Переменные
    Спрайты       $6000
    Начало кода   $9C56
    Конец кода    $F000
    На данный момент:
    - Определено назначение многих переменных
    - Разобрана часть процедур
    - Раскопаны все спрайты

    Лабиринт игры определяется в виде "свёртки": таблица AC5D ("мини-карта") содержит 32x32 = 256 индексов блоков, блоки по адресу A4DD состоят из 8x8 тайлов, тайлы по адресу 9134 это 8x8 ч/б пикселов. Итого, весь лабиринт это 256x256 тайлов = 2048x2048 пикселов. На экране мы всегда видим только 24x24 тайлов из этой карты (3x3 блока).
    Карта, строится процедурно, изменением байтов в таблице AC5D. Глубина карты зависит от уровня игры (1..4).

    Интересно сделано размещение осьминога, который сторожит проход вниз: ставятся подряд блоки $1C и $1D, с рисунком прохода -- и само наличие этих блоков как раз и означает, что тут должен быть размещён объект "осьминог".
    Последний раз редактировалось nzeemin; 25.07.2022 в 13:41.

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

    Bedazzle(18.07.2022), CityAceE(12.07.2022), Denn(24.07.2022), mastermind(28.07.2022), Oleg N. Cher(13.07.2022), polikarpov76(16.07.2022)

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

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

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

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

Похожие темы

  1. Реверс-инжиниринг Z80
    от Titus в разделе Программирование
    Ответов: 802
    Последнее: 22.05.2025, 13:19
  2. Реверс-инжиниринг игры Boovie
    от Oleg N. Cher в разделе Программирование
    Ответов: 41
    Последнее: 09.01.2022, 23:07
  3. Реверс МК-92
    от Случайность в разделе Программируемые калькуляторы
    Ответов: 55
    Последнее: 24.04.2021, 23:47
  4. Реверс инжиниринг печатной платы
    от Filin в разделе Несортированное железо
    Ответов: 36
    Последнее: 11.03.2018, 22:46
  5. реверс sinclair scientific
    от skyther в разделе Зарубежные компьютеры
    Ответов: 0
    Последнее: 31.08.2013, 16:56

Ваши права

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