Demo - A little about demos. From a conversation in the #mhm channel.

From a conversation in the channel #mhm:                                        
                                                                
alone_с> in your demos, code generators are overwritten after       
uses?                                                  
mel> where as                                                   
alone_с> and how the source is made - all the initializers are in the main  
module or in separate modules?                                 
mel> First of all, we have developed a kernal. from address #SbSb dial
standard procedures                                            
mel> demo works on the ctekobomy principle                       
mel> the beginning of the stack is at the end of the kernal code                
mel> on the stack are the addresses of transitions to procedures and parameters  
ibid.                                                          
alone_с> #5bxx?                                                
alone_сo> there's not enough space there                                     
mel>large kernel. approximately #SbSb-#6000                     
alone_сo> what about the disk?                                    
mel> loader does not use 3d13                                      
Mel> in xapme, by the way, there is a key 3d13                         
mel> the variables are simply remembered there in advance                
Mel> all tbk demos, starting with harm, are built on this kernal. 
nr too                                                         
mel> thanks to him, xapme was able to combine storm and tasm      
mel> in xapme, since 2d and 3d parts alternate,              
both I and cj do not have initializers                      
alone_с> what are the standard procedures?                       
mel> well, first of all, interruptions                                 
mel>then rasnakovichik crunch 1                                
Mel> slightly accelerated                                           
alone_с> interrupts - what do you mean?                    
mel> handler                                                
alone_с> and the table?                                            
alone_с> and switch                                           
alone_с> and switch                                          
Mel> everything is there. and effects player                                
mel> even part of the c2n is stuck in xapme                           
alone_с> what effects?                                       
mel> the offset is stored on the stack in frames, how long it lasts     
effect                                                          
mel> in the loop the effect code is called and checked to see if it's time  
round up                                                    
mel> zxboleg.narod.ru/kernel.tsm (click "3" )                
mel> this is from harm                                              
mel> a lot of unnecessary stuff was removed from there later                       
mel> in general, as practice has shown, it’s not difficult to debug with it
mel> the effect includes a file with equs and specially     
compiled kernel for debugging                                 
mel> The only thing I haven’t solved is how to fix the demo...
stupidly you have to scroll and watch from the beginning until the desired effect,  
isn't he running away?                                                   
mel> in xapme, by the way, in the 2d parts the code ts2n is generated for output 
with mask                                                        
mel> automatic                                                 
mel> cj already translated kernal into sjasm                            
Mel> their last two demos are already written there                    
Mel> I'm doing everything the old fashioned way... I can't handle just switching to another  
asm                                                             
alone_с> I'm thinking right now about the overwriting of code generators  
alone_co> I want a c2n module mel> write it down                                                
alone_сo> the trick is that the only way I see is this
throw the generator into another memory area when starting                
alone_с> besides, it needs a macro                           
alone_сo> otherwise the symbol will not be declared where needed and when needed  
alone_сo> well, imagine - we have a code with #8000                 
alone_сo> there are many procedures there                                    
alone_co> and at the end - these generators                            
alone_co> and they generate in the area immediately adjacent to
end of code                                                      
alone_с> preferably right from the place where you are       
generators are located                                                
alone_с> that is, yourselferase                                 
alone_с> where to put INCLUDE?                                  
mel> aa                                                        
mel> smari                                                     
Mel> you can keep the code for what current in the jar                     
mel> and worker in main memory                               
Mel> here is the 3d part                                         
mel> there is a code in #c000. +0 initialization before demo launch       
mel> +3 initialization before the effect                           
mel> +6 output of one frame                                     
mel> +9 deinitialization                                        
mel> about thisalone_с> and if you need to generate something on a page              
alone_сo> for c2n you need                                          
alone_с> chunk board                                          
mel> what problems                                            
mel> kernal incl. decides                                     
alone_с> through dirt?                                      
alone_с> need to think...                                      
mel> some of the operations are directly embedded in the kernal stack             
mel> part in the initializer                                    
alone_с> what if there are a lot of effects?                                
alone_сo> how will the main code receive their addresses?                   
alone_с>in the sense of the mark                                        
mel> tags are included                                          
mel> alone_saw the link - did I give it to the kernel?                 
mel> there at the beginning jp                                           
alone_сo> FINAL - what is this?                                      
mel>almost the same as release                            
alone_сo> what kind of PROFI is there?                                   
mel> saving system variables to the top of memory                  
Mel> I tested it on a professional...                                  
Mel> look at the very end. the whole demo is written there..          
mel> this compiles in tacme 4.12 :)                             
alone_с> .PLAYER when is it called?                            
mel> at the end, where defw                                         
alone_с> .PLAYER is in the script - it comes out, calls it        
uhtepnpetyh                                                     
alone_с> where is he?                                         
mel> find by search                                             
mel> after interruptions it                                       
alone_co> know what to look for                                  
mel> word .PLAYER )                                           
alone_сo> so it is in the current script                                
alone_с> and the start marks of the netuti script                         
mel> .PLAYER ; effectmel> ; in: (sp)2 - frames number then nlay                       
mel> ;-in: (sp+2)2 - main cycle address of effect                
alone_co> who calls it                                   
alone_co> or do the player and loader call each other?               
mel> at the end you see a bunch of defb defw?                            
alone_с> is this a script?                                           
mel> IT'S A STACK!                                                 
mel> sp crawls along it                                         
alone_сo> when the player plays the effect, it is delayed by        
several frames                                               
alone_co> Is this corrected later?                               
mel> ha                                                      
mel> more precisely, a little less frames are given                     
mel> for 2d parts 4 frames plus or minus                          
alone_сo> the stack will be erased - but how to play a second time?              
mel> no                                                     
mel> store/load a copy                                     

Share your thoughts about the article