User Tag List

Страница 7 из 8 ПерваяПервая ... 345678 ПоследняяПоследняя
Показано с 61 по 70 из 79

Тема: Специалист: программирование на ассемблере

  1. #61

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

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    А чем она выгоднее метода AND/OR?
    Я уже не вспомню сейчас. Возможно, из-за удобства сдвига по горизонтали или ещё чего-то. Но тогда я точно оценил красоту решения. Пока же действительно ничем не лучше, и даже хуже - нужно инвертировать сам спрайт.
    С уважением, Станислав.

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

  3. #62
    HardWareMan
    Гость

    По умолчанию

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

  4. #63

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

    По умолчанию

    Санчез самоустранилася с форума, но, возможно, @jerri вспомнит в чём профит.
    С уважением, Станислав.

  5. #64

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

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    анимированный спрайт героя сильно мерцает при восстановлении фона под ним. На Специалисте нужно делать дополнительный промежуточный буфер, что усложняет программу и понимание её работы. Я пока не реализовал это и вообще не уверен, что это легко позволит избавиться от мерцания.
    Промежуточный буфер точно поможет. Другое дело, что организовать этот буфер можно разными способами и тут как раз помог бы пример спековских движков.
    OR+XOR выгоднее AND+(X)OR если для сдвига маски используется dad h. При этом "новые" крайние биты будут нулевые, а при сдвиге маски варианта AND+(X)OR они д.б. единичные.

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


  6. #65
    HardWareMan
    Гость

    По умолчанию

    Вот это я и хотел услышать. Действительно, маска для XOR выгоднее для сдвига влево, чем маска для AND. Спасибо.

  7. #66

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Санчез самоустранилася с форума, но, возможно, @jerri вспомнит в чём профит.
    Основной профит OR/XOR- если скроллим влево например спрайт шириной 16 точек
    то удобно использовать add hl hl rla и спрайт будет в AHL
    также если скроллить через таблицу, то одну и туже таблицу можно использовать для спрайта и маски.

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

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Вот как раз момент с OR/XOR (HL) не является мелочью, а является наглядным примером того, как можно одновременно сократить размер, сделать быстрее и понятнее код. Именно поэтому я решил снять короткий ролик. А другие ошибки типа опечаток я просто правлю тихонько за кадром. Но здесь был не тот случай! А я ещё как раз сидел и думал, как бы избавиться от PUSH/POP BC в этой процедуре. Нутром чуял, что можно, но в итоге так и забыл про (HL).


    С последним у меня сейчас на Специалисте вообще проблема - анимированный спрайт героя сильно мерцает при восстановлении фона под ним. На Специалисте нужно делать дополнительный промежуточный буфер, что усложняет программу и понимание её работы. Я пока не реализовал это и вообще не уверен, что это легко позволит избавиться от мерцания.
    я предлагаю делать частичную буферизацию изображения.
    С уважением,
    Jerri / Red Triangle.

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

    CityAceE(09.02.2024), svofski(09.02.2024)

  8. #67

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

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    также если скроллить через таблицу, то одну и туже таблицу можно использовать для спрайта и маски.
    Вот! Это оно и есть! Сдвиг спрайтов с одновременным переворотом в этом движке производится при помощи одной таблицы на 4 кб (2 * 8 * 256).

    Цитата Сообщение от jerri Посмотреть сообщение
    я предлагаю делать частичную буферизацию изображения.
    Так и планирую сделать.
    С уважением, Станислав.

  9. #68

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

    По умолчанию

    Перемещаем спрайт с помощью клавиатуры:

    С уважением, Станислав.

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

    fifan(13.02.2024), Oleg N. Cher(14.02.2024), parallelno(12.02.2024), vernigor(14.02.2024), Ратмир(14.02.2024)

  10. #69

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

    По умолчанию

    Восстанавливаем фон под спрайтом и анимируем сам спрайт:



    Спрайт ожидаемо мерцает. Нужно делать дополнительный буфер, в котором готовить бутерброд из фона и спрайта и потом целиком рисовать его на экране. А перед этим нужно будет локально запретить восстанавливать анимацию, если она есть в этом месте. Всё это сильно усложняет логику и понимание. Может что-то предложите попроще?
    С уважением, Станислав.

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

    fifan(15.02.2024), ivagor(15.02.2024), Oleg N. Cher(14.02.2024), parallelno(16.02.2024), Ратмир(14.02.2024)

  11. #70

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я не вижу простых решений без полноэкранного бэкбуфера к сожалению.

Страница 7 из 8 ПерваяПервая ... 345678 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на ассемблере
    от shuran33 в разделе Вектор
    Ответов: 341
    Последнее: 05.11.2025, 20:00
  2. Программирование на ассемблере
    от tnt23 в разделе Океан-240
    Ответов: 6
    Последнее: 30.10.2025, 12:56
  3. Ответов: 22
    Последнее: 12.02.2023, 16:13
  4. Ответов: 275
    Последнее: 16.12.2018, 23:01
  5. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35

Ваши права

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