User Tag List

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

Тема: ZXПирит, простой аппаратный апгрейт Spectrum видеорежима.

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

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

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,103
    Спасибо Благодарностей отдано 
    1,336
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Для хакеров-адаптации и программистов.

    Карта глазами программы.
    Логика работы и что мы видим на экране.
    Инициализация карты после сброса.
    Шаблоны инициализации.
    Шаблоны записи данных.
    Программа, тестирующая режимы.
    Каких эффектов можно добиться. (несколько рисованных сов)

    Принципы адаптации.


    Есть 8 случаев автор(недоступен, доступен(ты сам))*исходники(нет, есть)*дополнительные_ресурсы(нет, есть).
    Если не доступен автор, разбираемся в логике вывода графики, от ресурсов до экрана.
    1. Где лежат ресурсы, и какие они. Желательно сразу, обычно это просто.
    2. Исследуем, имеется-ли программно организованный буфер экрана. Как он организован.
    3. Как рисуется фон, если нужно ускорить рисование фона, подкрасить фон, либо фон сложный: часть изображения за спрайтами, часть пЕред.
    4. Исследуем процедуры вывода спрайта. Вникаем есть ли маска, есть-ли промежуточные буферы (например для сдвига, поворота, зеркаливания)

    Если доступен автор, сначала допрашиваем его, какие он помнит особенности. Это может помочь, и не будет лишним.

    Если нет исходника, хакаем. Нам не нужен полный дизассемблер программы(, и потом на него долго смотреть). Идём от экрана. В отладчике ставим останов при записи в экранную область. (Помним, что у 128К, кроме главного экрана по адресу $4000 может использоваться расширенный по $C000) Если это шлёпанье кадра из буфера, (главный признак - куча LDI/PUSH, или один LDIR, возможны варианты.) Мы нашли буфер, копаем дальше, ставим точку останова на запись в буфер. Повторяем по цепочке, пока не найдём хитрую процедуру. Пытаемся выяснить что это. Творчески лазаем по цепочке вызовов (CALL-RET-(JP))/
    Пытаемся найти главный цикл программы. Пробуем заменить CALL на 3 NOP, и смотрим что пропало на экране. Таким образом находим всё, что нам надо найти (см. предыдущий абзац)

    Ищем свободную память. Медитируем, а нужны ли нам буферы? Есть ли место для дополнительных ресурсов? Есть ли место для кода инициализации карты? (если не хватает, часть инициализации можно внести в загрузчик игры, заполнение неизменных палитр)

    [свернуть]
    Пример адаптации "Три недели в раю" от А до Я.
    Последний раз редактировалось Reobne; 10.09.2015 в 18:27.

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

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

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

Похожие темы

  1. Ответов: 25
    Последнее: 23.10.2011, 23:57
  2. простой вопрос по real spectrum
    от cherkasy в разделе Эмуляторы
    Ответов: 0
    Последнее: 26.12.2009, 20:31
  3. Еще одно расширение видеорежима
    от ZEK в разделе ZX Концепции
    Ответов: 24
    Последнее: 31.07.2009, 14:28
  4. куплю самый простой спек! 48кб самый простой
    от REMR в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 23.08.2008, 23:42
  5. Аппаратный TCP/IP для ZX Spectrum
    от CityAceE в разделе Несортированное железо
    Ответов: 15
    Последнее: 01.02.2007, 16:13

Ваши права

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