Mail - Here is a letter from Employer/Alliance...

                                          
------------------------------------------
               MAIL                       
------------------------------------------
  Here is a letter from Employer/Alliance         
                                          
 Hi All!                                 
                                          
 In PLUTONIUM#O7 I (Employer/Alliance)     
I found this line:                   
                                          

12.75 clock cycles per byte!!!                   
It can't be faster if someone comes up with it  
Let me know the fastest way,   
I'll be very happy.                         
                                          
 I hasten to inform you that the most          
fast (!?) way to transfer data to    
#Z8O is carried out in 1O.5 cycles per      
byte!!!  By taking a calculator you can     
by pressing a simple combination   
keys, discover that if this is so, then  
there is a real opportunity       
throw away the entire (FULL) screen in one step  
jerking! I’ll make a reservation right away: I mean-  
There is a screen without colors (#18OO), but on    
there is enough music and still remains.            
 I remember back in ZX-POWER there was proof  
on the unreality of displaying the screen behind the ope int  
                                          
and it looks like this:                   
                                          
LD HL,NN: 1O                            
PUSH HL: 11                            
                                          
I feel doubt arise...    
                                          
Well, now in more detail:               
                                          
In fact, this method is practically not       
has applications.                         
The point is that you can store a sprite      
not separately, but in the procedure itself!        
those. you need to prepare the procedure in advance   
occupying, if I'm not mistaken, 12288 bytes.  
Then take the picture and 2 bytes each    
put in procedure. We must not forget that  
PUSH Decreases register Pna 2, and this      
means the picture will be printed   
back to front.                           
 As you noticed, the 12kb procedure is not     
causes optimism, but still it is fast  
three... although if you donate 2Chkb, then  
you can do fullscreen scrolling!    
 By the way ! In the interior of this issue, I had   
happiness to watch such scrolling, here    
only it was cut in 3 places and reminds   
cash dragging windows in WINDOWS'9x!  :-)     
If Comrade LYNX will say that when op int    
It's hard to read anything while scrolling   
It’s written there, then I’ll still believe it. And if he  
will say that he did not know about the existence2nd   
Speccy's screen, then I might think...   
                                          
 And now a little about optimization:         
It is absolutely not necessary to type pro-   
whole 12kb procedure.                    
XAS has !assm n and !cont directives    
which means:                             
!assm #18OO/#O2                           
LD HL,NN                                
PUSH HL                                   
!cont                                     
the specified program will be built in memory    
n times.                                    
But this is not optimization.                    
We need to write a program that      
will build a procedure and substitute the bytes from   
pictures in it. Then your program      
will take no more than 2OO bytes in memory.       
This whole thing applies to programs as well.   
HIGHLANDER (PLUTONIUM#O7)               
 Judging by the code of the viewer HIGHLANDER is not bad  
he's a good coder, so it won't be difficult for him to   
yes, implement such an algorithm, but what if     
what, I can provide you with the source  
(if you still don’t believe it)             
 By the way, HIGHLANDER wrote that it is necessary to  
disable interruptions before working with       
stack, but for example I have never done this    
I did it and everything worked, for now. Just    
if you are absolutely sure that your    
the program goes into interruption, then nothingnothing terrible will happen.                  
                                          
 With this I will say goodbye,                  
 bye!                                    
                                          
p.s.                                      
 Please do not be offended by me because...        
I slightly ran into Comrade. LYNX.           
(I just saw his scroll somewhere,    
and it seems it was in the Inforcom book)     
                                          
r.p.s. Speccy Rulez Cheva!                
                                          
r.r.r.s.                                  
 If you want, I can write it down for you      
article about fast 3D graphics (with examples  
on asm!)                               
 Ed>we want!                                
------------------------------------------
    End of mail...                        
------------------------------------------

Share your thoughts about the article