Важная информация

User Tag List

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

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

  1. #61
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  3. #62
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #63
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #64
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    HardWareMan (08.02.2024)

  7. #65
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  8. #66
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    265
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    207 сообщений
    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.

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

    CityAceE (09.02.2024), svofski (09.02.2024)

  10. #67
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  11. #68
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

  13. #69
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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



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

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

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

  15. #70
    Activist
    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    369
    Спасибо Благодарностей отдано 
    425
    Спасибо Благодарностей получено 
    241
    Поблагодарили
    88 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

Похожие темы

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

Ваши права

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