Coding - I will give the fastest procedure for outputting an inverted mask 2 spaces wide...

Psychoz #08
(c) Ice'Di^triumph   
   
 - What are you coding in?  
 - we are in StS! What are you wearing?  
 - Ahhh! cool, I'm in it too!..  
   
 ...from a dialogue 7 years ago :)  
   
 Yama!  This number_C will become the final number  
psych_eight trilogy.  For the most part he  
is dedicated to coding and some thoughts about  
hardware /???/.  also only in this room you  
you can hear the voice of Steelzer, who could  
sound againsix months ago. so, I used two  
his old articles, one about the code, and  
another about the standardization of Speck.               
   
In the application you can find the sources of two  
of our small toys, which occupy 512  
bytes and were written in the summer of 2oo1 on  
virtual component for 8-bit machines. games  
are called "numb Cars_minimal edition" and  
"Beptoxyu".  You can also familiarize yourself with  
library of procedures that was used for  
writing "numb Cars_2: drugs work"...   
   
:##%#########: a little about coding:############%##:  
   
(c) Steelzer^triumph                              
                                                  
 And now I will give the fastest procedure  
output of an inverted mask 2 spaces wide  
and arbitrary height - just don't forget  
it works best if it fits in the computer  
;) See for yourself:   
   
;---------------------------------   
;INPUT:hl - screen address   
;         DE - sprite address   
;         C - Y size (in pixels)                
;----------------------------------               
M_MASk2 Ex DE,hl                                  
        lD(M_Stk22*1),SP                         
        lD SP,hl                                  
        Ех DE,hl                                  
        lD В,C                                    
                                                  
M_n122  POP DE                                    
        lD A,Е                                    
                                                  
        CPl                                       
        lD D,A                                    
        CPl                                       
                                                  
        AnD (hl)                                  
        OR D                                      
        lD (hl),A                                 
        InC l                                     
                                                  
        POP DE        lD A,Е                                    
                                                  
        CPl                                       
        lD D,A                                    
        CPl                                       
                                                  
        AnD (hl)                                  
        OR D                                      
        lD (hl),A                                 
        DEC l                                     
                                                  
        InC н                                     
        lD A,н                                    
        AnD 7                                     
        JP nz,M_n121                              
        lD A,l                                    
        ADD A,э2        lD l,A                                    
        JP C,M_n121                               
        lD A,н                                    
        SuB 8                                     
        lD н,A                                    
                                                  
M_n121  DJnz M_n122                               
                                                  
M_Stk22 lD SP,о                                   
        REt                                       
                                                  
    Естественно  ее можно приспособить под любую  
ширину  -  много  ума не потребуется. Вот только  
зачем  она  нужна спросите вы? не знаю зачем она  
пригодится  вам  -  ну а я юзаю ее в своей гаме.  
Еще неguessed it? OK. For example, on Dendy  
and other console action game crap  
saturated with bright, colorful effects. on Spec  
you can do the same - but you need an abundance of graphics.  
Output of an inverted mask is quite simple, but  
at the same time, an effective way to decorate any  
action game.   for example, you can use it at  
shots hitting the hero - cyclically  
call every other time with normal output.  
it turns out very well.                    
   
 . . .                        

Share your thoughts about the article