ACNews #58
26 мая 2014

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

<b>Железо</b> - АТМ TURBO 2+ как стандарт.
                    АТМ Turbo 2+ как стандарт                   
                         ьу Alone Coder                         
                                                                
В этом году мы решили провести конкурс игр, который бы порвал со
стереотипом "Спектрум - это 48K/128K" и закрепил положение      
Спектрума как одной из мощнейших 8-битных машин.                
                                                                
Проблемой Спектрума с давних пор было отсутствие стандарта на   
расширения. Каждый производитель делал свои несовместимые       
устройства, и в результате накапливались библиотеки             
hecobmectumoro софта. Нужен был стандарт, от которого требуются 
широкие возможности, наличие софта, распространённость и        
повторяемость.                                                  
                                                                
Широкие возможности - это память, звук, графика...              
                                                                
АТМ Turbo в начале 90-х был дороже конкурентов, далеко не каждый
мог его купить. Это сейчас он не дороже других Спектрумов и     
производится самыми большими тиражами, так что из новых         
Спектрумов его купить легче всего! Такая вот ирония судьбы,     
связанная с тем, что авторы компьютера - фирма МикроАрт -       
запросто передали спектрумистам всю документацию и права на     
производство Turbo 2+.                                          
                                                                
Впрочем, как прямой потомок Пентагона 128 (причём от тех же     
авторов - первая версия его платы даже называлась АТМ 128 ),    
АТМ Turbo достаточно распространился уже на заре демосцены. Ведь
уже в одной из первых русских дем - Best 0 Super Demo (август   
1993) авторы ругают компьютер Profi, как бы противопоставляя его
АТМ: они пишут про цвет не на точку, а на 8, отсутствие игр под 
расширенную память, две платы вместо одной и несовместимость    
из-за открытых дополнительных портов. А Magic Soft в интре к    
игре Scorpions (1996 год) решили использовать АТМ-овскую        
развёртку как единственную альтернативу пентагоновской для      
показа мультиколоров. Так же поступил автор MegaScreen          
Multicolor Editor v2.5, причём АТМ он поставил по умолчанию.    
АТМ-овские параметры развёртки по время от времени ставили по   
умолчанию и авторы мегадем с мультиколорами (Resonance Megademo,
Sensation Megademo, Gift for Alex Raider (1995) ).              
                                                                
Так АТМ Turbo попал на демосцену. Но до участия в демопати      
оставался долгий путь.                                          
                                                                
Как известно, первые польские и русские демы писались в основном
под 48K+AY. Это была распространённая комплектация, которая     
гарантирована максимум зрителей. Первым демокомпо в России      
должен был стать конкурс журнала Sinclair Town, объявленный в   
апреле 1995 года, причём редакция, как она сама пишет в первом  
номере, ориентировалась на этот самый 48K+AY. В связи с         
закрытием журнала конкурс не состоялся. Инициативу подхватил    
журнал Speccy, который объявил свой конкурс в сентябре 1995 и   
собрал довольно много дем, все под тот же 48K+AY.               
                                                                
Дальше история сложилась так, что на Enlight `96 компо-машиной  
был выбран (не без участия группы Prestige ) Пентагон 128 и что 
он же был компьютером организатора Funtop Wlodek`а Black`а.     
                                                                
Таким образом, первыми расширениями, которые попали на          
российские спектрумовские демопати, стали AY, 128K, Beta Disk   
(Beta 128), а также прозрачный доступ к памяти (по wait) и      
пентагоновская развёртка. Конкурс Artcomp `98, объявленный для  
Profi, оказался нeдооцeнeн сценой, а Chaos Constructions `98,   
объявленный для Скорпиона, был отменён.                         
                                                                
Covox довольно быстро нашёл своё место на демопати (Paradox `99,
CAFe `999) - это было то, что легко припаять к любому клону, а  
на АТМ Turbo он вообще присутствовал по умолчанию. Освоили и    
General Sound (CC `999) - его легко было воткнуть в Scorpion или
KAY. Turbo использовали время от времени (оно поддержано в ряде 
3D дем, начиная с 1997 года, а Lifeforms на CC `2001 был впервые
показан в турбо-режиме). А дальше? Уже память адрeсовалась в    
разных клонах настолько по-разному, что в ZX-Format #5 решили   
опубликовать универсальный драйвер. Демомейкинг и драйвер...    
понятно, что идея не прижилась.                                 
                                                                
В 2003 году закрылись двери последнего производителя Спектрумов 
- и надо было срочно что-то решать. Нужно было новое железо.    
Причём такое, где бы можно было использовать накопленный софт и 
при этом идти дальше. В том числе накопленный софт под Covox,   
Turbo-режим, расширенную память, цвет на точку... И тут         
совершенно кстати nодвeрнулись авторы АТМ Turbo!                
                                                                
Прошло 10 лет. Теперь дополнительные возможности АТМ используют 
демы на демопати, интры и, конечно же, новые игры (авторы       
Shiru, Transman, Hippiman, Alone Coder и др.). Режимы АТМ Turbo 
поддержаны во многих эмуляторах и в компьютерах ZX Evo и        
Pentagon 2.666, причём в них даже появилось новое развитие -    
так называемый "АТМ 3", имеющий пентагоновскую развёртку и      
адресующий до 4 мегабайт ОЗУ.                                   
                                                                
Уже написано как минимум 314 программ под расширенные           
возможности АТМ, не считая софта под стандартный CP/M, дублей   
CP/M-софта под MSX-DOS и пцшных утилит:                         
http://alonecoder.nedopc.сом/zx/atmsoft.txt                     
                                                                
                             * * *                              
                                                                
Теперь представьте, что вы захотели написать игру под цвет на   
точку.                                                          
                                                                
Вывод графики - далеко не самая сложная часть игры. Да, на 48K  
это была самая сложная часть, и то не всегда. А на АТМ нет      
таких проблем ни с памятью, ни со скоростью, ни с лучом.        
                                                                
У нас есть две экранных области. Пока одна видна, мы заполняем  
другую. Потом видна другая - и мы заполняем первую. Видимая     
переключается 3-м битом порта #7FFD, как и на 128K.             
                                                                
Одна экранная область лежит в 1 и 5 страницах, другая в 3 и 7   
страницах. Можно подключить страницу в любую четверть памяти    
Z80. Для этого есть порты #ЗFF7, #7FF7, #BFF7 и #FFF7. Туда надо
писать номер страницы XOR #7F. Содержимое младших битов порта   
#7FFD при этом игнорируется.                                    
                                                                
Вот как включить режим EGA (320х200) и доступ к этим портам:    
                                                                
        LD A,%10101000 ;режим EGA, turbo                        
        CALL OUTSHADON                                          
        ...                                                     
OUTSHADON                                                       
        LD ВС,#FD77 ;вкл.теневые порты                          
        LD HL,10835                                             
        PUSH HL                                                 
        JP #3D2F                                                
                                                                
Каждая экранная область в режиме EGA делится на 4 части по 8000 
(40*200) байт. В одной части лежат пиксели X mod 7 = 0,1, в     
другой 2,3, в третьей 4,5, в четвёртой 6,7. Таким образом,      
полный столбец всегда целиком доступен через элементарный       
ADD HL,DE (DE=40).                                              
                                                                
В каждом байте лежит 2 пиксела: %RLRRRLLL (представьте, что это 
байт атрибутов - cxemho так оно и есть).                        
                                                                
Каждый из 16 цветов можно задать. Для этого надо выставить на   
бордере нужный номер цвета (цвета 8..15 задаются через          
порт #F6 ) и потом записать в порт #FF значение для этого цвета 
в формате %grbG11RB, где Gg, Rr, Вь - составляющие цвета в      
инвертированном виде.                                           
                                                                
Готовая процедура заполнения палитры, которая использовалась в  
CatDemo, The Board, The Board II и NedoDemo 2 :                 
                                                                
SETPAL ;HL=указатель на последний байт палитры                  
        LD DE,#A80F ;D=режим EGA, turbo                         
        LD ВС,#BD77 ;открытые порты и палитра                   
        OUT (C),D ;включить доступ к палитре                    
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 ВС,#FD77 ;открытые порты без палитры                 
        OUT (C),D ;выключить доступ к палитре                   
        RET                                                     
                                                                
Вот и все хитрости! "Твоя Игра 5" ждёт!                         
                                                                



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

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

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

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

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


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

Похожие статьи:
Разное - О, сколько нам открытий чудных готовит...
Black Metal - Для фанатов Black Metal, лучшая десятка.
Программы, которые мы выбираем - Возможные последствия использования недокументированных команд.
От авторов - O истории создания журнала.
Просто прочти - о принципах создания команды компьютерщиков.

В этот день...   21 ноября