User Tag List

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

Тема: ROBOTZ! Releases

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

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

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

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    на какую глубину будет использован стек
    В обработчике, активном при выводе тайлов - только на 2 байта для хранения адреса возврата. Все регистры сохраняются в памяти через shld и разнообразные обмены и пересылки.

    ---------- Post added at 17:43 ---------- Previous post was at 16:28 ----------

    Если еще подумать, то все очень просто. Рисовать тайлы с использованием push (данные для push можно задавать любым образом - lxi, mvi, mov и т.д.) без запрета прерываний можно даже не изменяя обработчик прерываний если:
    1. Использовать двойную буферизацию.
    2. Рисовать тайлы сверху вниз, например построчно. Самую нижнюю строку тайлов рисуем обычными процедурами (без push).
    Если высота тайла 16 точек, то глубины стека в прерывании хватит на 7 push.
    Мой предварительный большой и местами неверный пост теперь можно было бы стереть, но тогда повиснет в воздухе пост b2mа, который подтолкнул меня в правильном направлении.

    ---------- Post added at 19:41 ---------- Previous post was at 17:43 ----------

    Последний приведенный вариант уже нормальный, но при выборочном обновлении (выводим только изменившиеся тайлы) его нужно дополнить. В обработчике прерывания проверяем, выводятся ли сейчас тайлы, и если да, то какие координаты текущего (можно даже по sp определить). Добавляем в специальный список координаты на тайл ниже. После отработки основного цикла вывода тайлов дополнительно обновляем тайлы из списка. Перед началом нового цикла вывода тайлов очищаем тот список.
    Последний раз редактировалось ivagor; 28.10.2015 в 13:34.

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

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

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

Ваши права

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