Progammists - transfer of SCR for INT.

 Full screen output technology     
 images without interrupt attributes 
                                          
                                         
(C) Mythos                                
                                         
                                         
   A few years ago, before the coders of Spe-
I have encountered a problem with displaying full screen
of a new image for int. About her decision I
I haven’t heard anything, and now I’ll try to check
This is a brief analysis of several methods and
tell us about the subject :)                     
                                          
   I'll start with the well-known methodsLDIR,
LDI.                                      
                                         
   The command LDIR throws a byte in 21 clock cycles    
                                          
   We only have time to throw the entire screen     
21*6911+16=145147, yes, we’re a little behind on time
                          
Using commandsLDI we throw a byte in 16 clock cycles 
                                          
   We can throw a screen for 16*6912=110592 t
without attributes 16*6144=98304 t, we brake and
here, and it’s a pity for the memory.                   
                                          
   Then there is a method, the so-called “you-
water through the stack." The method is fast, but not
the best. Maximum effect when using
use other than the main registers and
alternative.                           
                                          
   Stack a byte in 13.5 clock cycles       
                                          
 We throw the screen behind 13.5*6912=93312 t     
   without attributes 13.5*6144=82944 t       
                             
   We fail here too.                    
                                          
   If you dig even deeper you can find
a few more original ways about which
which II just don’t know, unfortunately.     
 And now, in my opinion, the most effective
obvious way.                              
                                          
   I’ll say right away that we throw a byte for        
   10.5 cycles                 
                                         
 Screen accordingly                
 10.5*6912=72576 t                     
In my opinion, even the Pentagon will not have time         
                                          
   without attributes 10.5*6144=64512 t        
And here probably any computer can do it.
                        
   The essence of the method is that your picture
will be distributed in the program.           
                                          
Write the code:                                
  LD SP,#5В00                        
 LD HL,#223A;YOUR GRAPHICS, ATTRIBUTES 
       PUSH HL                            
       LDHL,#3AB3;MORE GRAPHICS            
       PUSH HL                            
 ...                                
                                         
   Well, you need quite a few lines like this. In ito-
where your screen will occupy exactly two
times more memory.                 
                  
   What is another beauty of this method: if
you noticed, you can display a picture
storing it at the same time in a compressed state. 
                                          
Let me explain: if there are buys in a row in a picture
you, say, #aоз,#аоз... it will be possible to-
write in the program:                       
                                          
 LD HL,#AB03                        
 PUSH HL                            
 PUSH HL                        
 ...                                
                                          
 At the same time, the image output speed
rising!                                 
   If you want to display sprites like this
screen, then if you think about it you can easily
write a sprite output procedure or maybe
even dots or lines. But in this case not
there should be compression.                 
                                          
   Well, that seems to be all I wanted to talk about.
give. Frankly, I didn’t even think about writing
about this, thinking that everything is already known, but
when I started talking, they looked at me
trilled with big eyes and said that
this is cool.                                
                                          
------------------------------------------
                                          
                        
                                          
                                          
                                          
                                          
                                          

Share your thoughts about the article