Plutonium #03 |
|
Кодинг - Бросаю сюды процедуру вывода спрайтов, с точностью до пиксела от самого Славы Медноногова.
-+++++++++++++++++++++++++++++++++++++++- КОДИНГ -+++++++++++++++++++++++++++++++++++++++- Закодено by Sokol/Infotek Бросаю сюды процедуру вывода спрай- тов, с точностью до пиксела от самого Славы Медноногова; кстати применяемую в Чёрном Вороне: ;E-маска,D-байт спрайта, HL- по- зиция в экране. НЕЗ LD A,E ;вывод маски по AND RRCA RRCA RRCA RRCA LD C,A AND #1F AND (HL) LD (HL),A LD A,C AND #E0 INC L AND (HL) LD (HL),A ; LD A,D ;вывод спрайта по OR RRCA RRCA RRCA LD C,A AND #E0 OR (HL) LD (HL),A LD A,C AND #1F DEC L OR (HL) LD (HL),A Пример взят из ЧВ. Что там было в НЛО-2 - я смутно помню :))) Могу дополнить: а) для скорости выборка спрайта - стеком (т.е. этот кусок предваряется POP DE). Соответственно, спрайт хранится - "байт маски", "байт изображения","байт маски", "байт изображения","байт маски", "байт изображения"... б) завершается этот кусок, конечно, командами по организации цикла (переходом к след. строке экрана). в) поэтому для унификации вывода спрайты любой ширины хранятся по столбцам г) всего таких п/п - 8 штук. Если не- обходимо обрезать спрайты по правой/левой границе экрана - будет ещё 8+8 п/п д) (в примере маска/спрайт выводятся по AND/OR, однако на самом деле я в ЧВ вывожу по OR/XOR :))) Хотелось бы узнать (у демомейкеров, конечно :) - возможно ли выводить быстре- е? В голову лезет мысль хранить заранее все сдвиги на все байты (получим два бай- та), но только табличка будет 256*8*2 =8-[ ] (c)Copper Feet
Другие статьи номера:
От авторов - Привет всем, кто снова нашёл несколько времени, дабы почитать сиё творение. |
Разное - Здраствуйте, уважаемые юзеры компьютера кворум. |
Кодинг - Бросаю сюды процедуру вывода спрайтов, с точностью до пиксела от самого Славы Медноногова. |
Железяка - Вот и снова появился этот раздел в нашей газете. |
Юмор - Тут вот небольшой прикол, насчёт писюка. |
Реклама - Ввели мы здесь раздел `РЕКЛАМА`, дабы рекламировали здесь спектрумисты свои творения... |
Похожие статьи:
В этот день... 21 ноября