Plutonium #03

Кодинг - Бросаю сюды процедуру вывода спрайтов, с точностью до пиксела от самого Славы Медноногова.

<b>Кодинг</b> - Бросаю сюды процедуру вывода спрайтов, с точностью до пиксела от самого Славы Медноногова.

-+++++++++++++++++++++++++++++++++++++++- 
                 КОДИНГ                   
-+++++++++++++++++++++++++++++++++++++++- 
                                          
  Закодено 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   



Другие статьи номера:

От авторов - Привет всем, кто снова нашёл несколько времени, дабы почитать сиё творение.

Разное - Здраствуйте, уважаемые юзеры компьютера кворум.

Кодинг - Бросаю сюды процедуру вывода спрайтов, с точностью до пиксела от самого Славы Медноногова.

Железяка - Вот и снова появился этот раздел в нашей газете.

Юмор - Тут вот небольшой прикол, насчёт писюка.

Реклама - Ввели мы здесь раздел `РЕКЛАМА`, дабы рекламировали здесь спектрумисты свои творения...


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
WANTED - Розыск программ...
Скорпион-256 - Ремонт Скорпиона своими руками (часть-2)
interview - gas13
AD&D - Обыгрывание характера героя
Без комментаpиев... - официальный пресс-релиз by UnBEL!EVER^x7m

В этот день...   1 января

SibNews #08, Woot! #01, Spectrum Magazine #01, ACNews #25, Psychoz #14, ACNews #14, Last 128 #08, Last 128 #06, Last 128 #05, Last 128 #04, Last 128 #03, Last 128 #02, Last 128 #09, Last 128 #3.5, Last 128 #8.025, Sinclair Club #05, Last 128 #M!R 01, Fantadrom #01, Buzz #20, Last 128 #01, DonNews #13, Nicron #120, Promised Land #01, Inferno #01, Marazm #25, Ultimathum #01, Marazm #21, Hooy Mag #02, KrNews #11, Marazm #22, Marazm #23, ZX Football 2000 #01, Codemania #01, Always #03, Bugs #02, IzhNews #08, Virtual Worlds #01, Listok #04, Scenergy #02, Flash Info #18, Marazm #16, Marazm #17, Zed #01, Balagan #02, ZX Format #08, ZX Power #03, Shock #01, Impulse #02, Deja Vu #03, ZX Club #08, ZX Club #06, Numberology #01, Marazm #13, Marazm #12, Marazm #14, Gorodok #02, Zodiac #01, Marazm #15, Deja Vu #07, Marazm #11, Deja Vu #07, Playboy #03, Crazy News #2, Crazy News #4, ZX Light #01, Crazy News #5, Playboy #02, ZX News #03, ZX Review #1-2, Read Me #02, Crazy News #3, Nicron #13, Read Me #01, Public Spirit #01, Faultless #06, Faultless #05, ZX Software #01, Stump #04, Speccy #07, Возраждение #0, Speccy #03, On-Line #17, Scene+ #01, Welcome Press #01, ZX Konig #04, Adventurer #01, Faultless #05, Faultless #04, Di Halt #01, Faultless #01, Playboy #01, Crazy News #1, Faultless #03, Pioneer #03, Sinclair Town #02, ZX Magazine #01, Eldorado #01, ZX Magazine #02, Spectron #01, ZX News #01, ZX Konig #02, 200 #W, Welcome Press #00, Dune #07, Subliminal Extacy #01, Subliminal Extacy #02, ZX Konig #01, Subliminal Extacy #00, Muchomor #01, Spectrofon #01, ZX Revija #02, Outlet #01, Outlet #1-3