Iron - ATM TURBO 2+ as standard.

 ATM Turbo 2+ as standard                   
 yu Alone Coder                         
                                                                
This year we decided to hold a game competition that would break with
stereotype “Spectrum is 48K/128K” and cemented the position      
Spectrum as one of the most powerful 8-bit machines.                
                                                                
Spectrum's problem has long been the lack of a standard for   
extensions. Each manufacturer made its own incompatible       
devices, and as a result libraries accumulated             
hecobmectumoro software. What was needed was a standard that was required 
wide possibilities, availability of software, prevalence and        
repeatability.                                                  
                                                                
Wide range of possibilities - memory, sound, graphics...              
                                                                
ATM Turbo in the early 90s it was more expensive than its competitors, not everyone
could buy it. Now it is no more expensive than other Spectrums and     
produced in the largest editions, so from new         
SpectrumIt's the easiest to buy! Such is the irony of fate,     
due to the fact that the authors of the computer are the companyMicroArt-       
easily handed over to the spektrumists all the documentation and rights to     
productionTurbo 2+.                                          
                                                                
However, as a direct descendant of Pentagon 128 (and from the same     
authors - the first version of his board was even called ATM 128 ),    
ATM Turbo has become quite widespread already at the dawn of the demoscene. After all
already in one of the first Russian demos - Best 0 Super Demo (August   
1993) the authors criticize the computerProfi,as if opposing it
ATM: they write about the color not per point, but about 8, lack of games under 
expanded memory, two boards instead of one and incompatibility    
due to open additional ports. AMagic Softin the intro    
gameScorpions (1996) decideduse ATM        
deployment as the only alternative to the Pentagon for      
display of multicolors. The author did the same thing MegaScreen          
Multicolor Editor v2.5, andATMit was installed by default.    
ATM scan parameters were set from time to time   
default and the authors of megademos with multicolors (Resonance Megademo,
Sensation Megademo, Gift for Alex Raider (1995) ).              
                                                                
So ATM Turbo hit the demoscene. But before participating in the demoparty      
there was a long way to go.                                          
                                                                
As you know, the first Polish and Russian demos were written mainly
under 48K+AY. This was a common configuration that     
maximum audience guaranteed. The first democompo in Russia      
was supposed to be a magazine competitionSinclair Town, announced in   
April1995, and the editors, as she herself writes in the first  
number, I was guided by this very 48K+AY. Due to         
With the closure of the magazine, the competition did not take place. Took up the initiative    
magazineSpeccy,which announced its competition in September 1995 and   
I collected quite a lot of demos, all under the same 48K+AY.               
                                                                
Then the story turned out in such a way that onEnlight `96compo-machine  
was chosen (not without the participation of the group Prestige )Pentagon 128 and that 
it was also the computer of the organizerFuntopWlodek Black.     
                                                                
Thus, the first extensions that hit the          
Russian Spectrum demo parties, steel AY, 128K, Beta Disk   
(Beta 128), as well as transparent memory access (by wait) and      
Pentagon scan. Competition Artcomp `98, declared for  
Profi, turned out to be underestimated by the scene, andChaos Constructions `98,   
announced for Scorpiohas been cancelled.                         
                                                                
Covox quite quickly found its place at the demo party (Paradox `99,
CAFe `999) - this was something that was easy to solder to any clone, and  
onATM Turboit was generally present by default. Mastered and    
General Sound (CC `999) - it was easy to plug it into Scorpion or
KAY. Turbowas used from time to time (it is supported in a number of 
3D dem since 1997, andLifeformson CC `2001was the first
shown in turbo mode). Afurther? The memory has already been addressed to    
different clones so differently that in ZX-Format #5they decided   
publish a generic driver. Demomaking and driver...    
It is clear that the idea did not take root.                                 
                                                                
In 2003, the last Spectrum manufacturer closed its doors 
- and something had to be decided urgently. New hardware was needed.    
Moreover, one where it would be possible to use the accumulated software and 
at the same time move on. Including accumulated software for Covox,   
Turbo mode, expanded memory, color on point... And here         
The authors of ATM Turbo have turned up by the way!                
                                                                
10 years have passed. Now additional capabilitiesATMuse 
demos at demo parties, intros and, of course, new games (authors       
Shiru, Transman, Hippiman, Alone Coderetc.). Modes ATM Turbo 
supported in many emulators and computers ZX Evo and        
Pentagon 2.666, and they even have a new development -    
so-called "ATM 3", having a Pentagon scan and      
addressing up to 4 megabytes of RAM.                                   
                                                                
At least 314 programs have already been written for advanced           
capabilitiesATM,not counting software for standardCP/M, takes   
CP/M-software forMSX-DOSand software utilities:                         
http://alonecoder.nedopc.com/zx/atmsoft.txt                     
                                                                
 * * *                              
                                                                
Now imagine that you wanted to write a game to match the color on   
point.                                                          
                                                                
Graphics output is far from the most difficult part of the game. Yes, at48K  
this was the most difficult part, and not always. But onATM no      
such problems neither with memory, nor with speed, nor with the beam.        
                                                                
We have two screen areas. While one is visible, we fill  
another. Then another one is visible - and we fill in the first one. Visible     
switched by the 3rd bit of the port #7FFD,as well as on 128K.             
                                                                
One screen area lies on pages 1 and 5, the other on pages 3 and 7   
pages. You can connect a page to any quarter of memory    
Z80. For this there are ports #ЗFF7, #7FF7, #BFF7 and #FFF7. You need to go there
write page number XOR #7F. Contents of the low-order bits of the port   
#7FFD is ignored.                                    
                                                                
Here's how to enableEGA (320x200) mode and access these ports:                                                                
 LD A,%10101000 ;EGA mode, turbo                        
 CALL OUTSHADON                                          
 ...                                                     
OUTSHADON                                                       
        LD BC,#FD77 ;incl. shadow ports                          
LD HL,10835                                             
        PUSH HL                                                 
        JP #3D2F                                                
                                                                
Each screen area in EGA mode is divided into 4 parts of 8000 
(40*200) bytes. In one part there are pixels X mod 7 = 0.1, in     
another 2.3, in the third 4.5, in the fourth 6.7. Thus,      
a full column is always entirely accessible through the elementary       
ADD HL,DE (DE=40).                                              
Each byte contains 2 pixels: %RLRRRLLL (imagine this 
byte of attributes - cxemho that’s how it is).                        
                                                                
Each of the 16 colors can be specified. To do this you need to set it to   
border the desired color number (colors 8..15 are specified via          
port #F6 ) and then write the value for this color to port #FF 
in the format %grbG11RB,whereGg, Rr, B- the color components in      
inverted form.                                           
                                                                
Ready procedure for filling the palette, which was used in  
CatDemo, The Board, The Board II and NedoDemo 2 :                 
                                                                
SETPAL ;HL=pointer to the last byte of the paletteLD DE,#A80F ;D=EGA mode, turbo                         
LD BC,#BD77 ;open ports and palette                   
 OUT (C),D ;enable access to the palette                    
ATMPAL0 LD A,E                                                  
        BIT 3,E                                                 
        RES 3,A                                                 
        OUT(#FE),A                                             
        JR Z,$+4                                                
        OUT (#F6),A                                             
        LD A,(HL)                                               
        DEC HL                                                  
        OUT(#FF),A                                             
        DEC E                                                   
        JP P,ATMPAL0                                            
        LD BC,#FD77 ;open ports without palette                 
 OUT (C),D ;disable access to the palette                   
 RET                                                     
That's all the tricks! "Your Game 5" is waiting!                         
   

Share your thoughts about the article