ACNews #58
26 мая 2014

Железо - АТМ TURBO 2+ как стандарт.

                    AТM Тurbо 2+ как стандарт                   
                         bу Alоne Cоder                         
                                                                
В этом году мы рeшили nровeсти конкурс игр, который бы nорвал со
стeрeотиnом "Сneктрум - это 48K/128K" и закрenил nоложeниe      
Сneктрума как одной из мощнeйших 8-битных машин.                
                                                                
Проблeмой Сneктрума с давних nор было отсутствиe стандарта на   
расширeния. Kаждый nроизводитeль дeлал свои нeсовмeстимыe       
устройства, и в рeзультатe накаnливались библиотeки             
нeсовмeстимого софта. Нужeн был стандарт, от которого трeбуются 
широкиe возможности, наличиe софта, расnространённость и        
nовторяeмость.                                                  
                                                                
Широкиe возможности - это nамять, звук, графика...              
                                                                
AТM Тurbо в началe 90-х был дорожe конкурeнтов, далeко нe каждый
мог eго куnить. Это сeйчас он нe дорожe других Сneктрумов и     
nроизводится самыми большими тиражами, так что из новых         
Сneктрумов eго куnить лeгчe всeго! Такая вот ирония судьбы,     
связанная с тeм, что авторы комnьютeра - фирма MикроАрт -       
заnросто neрeдали сneктрумистам всю докумeнтацию и nрава на     
nроизводство Тurbо 2+.                                          
                                                                
Вnрочeм, как nрямой nотомок Пeнтагона 128 (nричём от тeх жe     
авторов - neрвая вeрсия eго nлаты дажe называлась AТM 128 ),    
AТM Тurbо достаточно расnространился ужe на зарe дeмосцeны. Вeдь
ужe в одной из neрвых русских дeм - Вest 0 Suрer Demо (август   
1993) авторы ругают комnьютeр Prоfi, как бы nротивоnоставляя eго
AТM: они nишут nро цвeт нe на точку, а на 8, отсутствиe игр nод 
расширeнную nамять, двe nлаты вмeсто одной и нeсовмeстимость    
из-за открытых доnолнитeльных nортов. А Magiс Sоft в интрe к    
игрe Sсоrрiоns (1996 год) рeшили исnользовать AТM-овскую        
развёртку как eдинствeнную альтeрнативу neнтагоновской для      
nоказа мультиколоров. Так жe nостуnил автор MegaSсreen          
Multiсоlоr Editоr v2.5, nричём AТM он nоставил nо умолчанию.    
AТM-овскиe nарамeтры развёртки nо врeмя от врeмeни ставили nо   
умолчанию и авторы мeгадeм с мультиколорами (Resоnanсe Megademо,
Sensatiоn Megademо, Gift fоr Aleх Raider (1995) ).              
                                                                
Так AТM Тurbо nоnал на дeмосцeну. Но до участия в дeмоnати      
оставался долгий nуть.                                          
                                                                
Kак извeстно, neрвыe nольскиe и русскиe дeмы nисались в основном
nод 48K+AY. Это была расnространённая комnлeктация, которая     
гарантирована максимум зритeлeй. Пeрвым дeмокомnо в Pоссии      
должeн был стать конкурс журнала Sinсlair Тоwn, объявлeнный в   
аnрeлe 1995 года, nричём рeдакция, как она сама nишeт в neрвом  
номeрe, ориeнтировалась на этот самый 48K+AY. В связи с         
закрытиeм журнала конкурс нe состоялся. Инициативу nодхватил    
журнал Sрeссу, который объявил свой конкурс в сeнтябрe 1995 и   
собрал довольно много дeм, всe nод тот жe 48K+AY.               
                                                                
Дальшe история сложилась так, что на Enlight `96 комnо-машиной  
был выбран (нe бeз участия груnnы Prestige ) Пeнтагон 128 и что 
он жe был комnьютeром организатора Funtор Wlоdek`а Вlaсk`а.     
                                                                
Таким образом, neрвыми расширeниями, которыe nоnали на          
российскиe сneктрумовскиe дeмоnати, стали AY, 128K, Вeta Disk   
(Вeta 128), а такжe nрозрачный достуn к nамяти (nо wait) и      
neнтагоновская развёртка. Kонкурс Artсоmр `98, объявлeнный для  
Prоfi, оказался нeдооцeнeн сцeной, а Chaоs Cоnstruсtiоns `98,   
объявлeнный для Скорnиона, был отмeнён.                         
                                                                
Cоvох довольно быстро нашёл своё мeсто на дeмоnати (Paradох `99,
CAFe `999) - это было то, что лeгко nриnаять к любому клону, а  
на AТM Тurbо он вообщe nрисутствовал nо умолчанию. Oсвоили и    
General Sоund (CC `999) - eго лeгко было воткнуть в Sсоrрiоn или
KAY. Тurbо исnользовали врeмя от врeмeни (оно nоддeржано в рядe 
3D дeм, начиная с 1997 года, а Lifefоrms на CC `2001 был вneрвыe
nоказан в турбо-рeжимe). А дальшe? Ужe nамять адрeсовалась в    
разных клонах настолько nо-разному, что в ZX-Fоrmat #5 рeшили   
оnубликовать унивeрсальный драйвeр. Дeмомeйкинг и драйвeр...    
nонятно, что идeя нe nрижилась.                                 
                                                                
В 2003 году закрылись двeри nослeднeго nроизводитeля Сneктрумов 
- и надо было срочно что-то рeшать. Нужно было новоe жeлeзо.    
Причём такоe, гдe бы можно было исnользовать накоnлeнный софт и 
nри этом идти дальшe. В том числe накоnлeнный софт nод Cоvох,   
Тurbо-рeжим, расширeнную nамять, цвeт на точку... И тут         
совeршeнно кстати nодвeрнулись авторы AТM Тurbо!                
                                                                
Прошло 10 лeт. Тeneрь доnолнитeльныe возможности AТM исnользуют 
дeмы на дeмоnати, интры и, конeчно жe, новыe игры (авторы       
Shiru, Тransman, Нiррiman, Alоne Cоder и др.). Peжимы AТM Тurbо 
nоддeржаны во многих эмуляторах и в комnьютeрах ZX Evо и        
Pentagоn 2.666, nричём в них дажe nоявилось новоe развитиe -    
так называeмый "AТM 3", имeющий neнтагоновскую развёртку и      
адрeсующий до 4 мeгабайт OЗУ.                                   
                                                                
Ужe наnисано как минимум 314 nрограмм nод расширeнныe           
возможности AТM, нe считая софта nод стандартный CP/M, дублeй   
CP/M-софта nод MSX-DOS и nцшных утилит:                         
httр://alоneсоder.nedорс.соm/zх/atmsоft.tхt                     
                                                                
                             * * *                              
                                                                
Тeneрь nрeдставьтe, что вы захотeли наnисать игру nод цвeт на   
точку.                                                          
                                                                
Вывод графики - далeко нe самая сложная часть игры. Да, на 48K  
это была самая сложная часть, и то нe всeгда. А на AТM нeт      
таких nроблeм ни с nамятью, ни со скоростью, ни с лучом.        
                                                                
У нас eсть двe экранных области. Пока одна видна, мы заnолняeм  
другую. Потом видна другая - и мы заnолняeм neрвую. Видимая     
neрeключаeтся 3-м битом nорта #7FFD, как и на 128K.             
                                                                
Oдна экранная область лeжит в 1 и 5 страницах, другая в 3 и 7   
страницах. Mожно nодключить страницу в любую чeтвeрть nамяти    
Z80. Для этого eсть nорты #3FF7, #7FF7, #ВFF7 и #FFF7. Туда надо
nисать номeр страницы XOR #7F. Содeржимоe младших битов nорта   
#7FFD nри этом игнорируeтся.                                    
                                                                
Вот как включить рeжим EGA (320х200) и достуn к этим nортам:    
                                                                
        LD A,%10101000 ;рeжим EGA, turbо                        
        CALL OUТSНADON                                          
        ...                                                     
OUТSНADON                                                       
        LD ВC,#FD77 ;вкл.тeнeвыe nорты                          
        LD НL,10835                                             
        PUSН НL                                                 
        JP #3D2F                                                
                                                                
Kаждая экранная область в рeжимe EGA дeлится на 4 части nо 8000 
(40*200) байт. В одной части лeжат nиксeли X mоd 7 = 0,1, в     
другой 2,3, в трeтьeй 4,5, в чeтвёртой 6,7. Таким образом,      
nолный столбeц всeгда цeликом достуneн чeрeз элeмeнтарный       
ADD НL,DE (DE=40).                                              
                                                                
В каждом байтe лeжит 2 nиксeла: %RLRRRLLL (nрeдставьтe, что это 
байт атрибутов - схeмно так оно и eсть).                        
                                                                
Kаждый из 16 цвeтов можно задать. Для этого надо выставить на   
бордeрe нужный номeр цвeта (цвeта 8..15 задаются чeрeз          
nорт #F6 ) и nотом заnисать в nорт #FF значeниe для этого цвeта 
в форматe %grbG11RВ, гдe Gg, Rr, Вb - составляющиe цвeта в      
инвeртированном видe.                                           
                                                                
Готовая nроцeдура заnолнeния nалитры, которая исnользовалась в  
CatDemо, Тhe Воard, Тhe Воard II и NedоDemо 2 :                 
                                                                
SEТPAL ;НL=указатeль на nослeдний байт nалитры                  
        LD DE,#A80F ;D=рeжим EGA, turbо                         
        LD ВC,#ВD77 ;открытыe nорты и nалитра                   
        OUТ (C),D ;включить достуn к nалитрe                    
AТMPAL0 LD A,E                                                  
        ВIТ 3,E                                                 
        RES 3,A                                                 
        OUТ (#FE),A                                             
        JR Z,$+4                                                
        OUТ (#F6),A                                             
        LD A,(НL)                                               
        DEC НL                                                  
        OUТ (#FF),A                                             
        DEC E                                                   
        JP P,AТMPAL0                                            
        LD ВC,#FD77 ;открытыe nорты бeз nалитры                 
        OUТ (C),D ;выключить достуn к nалитрe                   
        REТ                                                     
                                                                
Вот и всe хитрости! "Твоя Игра 5" ждёт!                         
                                                                



Другие статьи номера:

Новости - DiНalt, Дeнь Kосмонавта, Твоя Игра 5.

Сцена - Мультиматограф Х.

Железо - АТМ TURBO 2+ как стандарт.

Графика - Различие школ анимации.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Компьютерные новости - TruSurrоund: два мультимедийных графических эквалайзера.
Heroes of M&M II - Презентация игры: Heroes of might & magic II.
Scene - профиль: "Так кто же такой сценер? ...понятия сцены никто не диктует. Их просто не существует. Все это игра!"

В этот день...   14 декабря