13. 9. 2008

A roky plynuli


Hárdvér konzolky Atari 2600 stále patrí ku tým najbláznivejším aké môžete spoznať. Vzhľadom na vysoké ceny silikónu a teda mikrošvábov v tých časoch - sa šetrilo všade a na všetkom. Ten z každej strany orezaný korpus, čo nakoniec progiši dostali do rúk bol šialene náročný na programovanie. Posúďte sami. Iba 128 bajtov pracovnej pamäte, iba 4 kilový kartridž /osmičky boli neúnosne drahé/, iba 2 hárdvérove sprajty vykreslené pri jednom s scanlajne /prechod elektronového lúča/, maximálne 6 objektov v jednom riadku naraz, žiadna videopamäť /videoprocesor TIA - Television Interface Adaptor Model /, animovaný objekt iba v jednej farbe, pritom strop sú 4 farby na celej ploche. Teraz v týchto drakonických podmienkach skúste urobiť aspoň Tetrisa.

Predsa sa však podarilo s tým šrotom vydrbať. 2600ka totiž podobne ako totálne flexibilné spektrum umožnovalo vďaka low level kontrole videočipu pár špinavých trikoch. Jedným z nich je zmena parametrov POČAS vykresľovania objektov /obrazovky/. Takto bolo možné dosiahnúť VIAC farebný pohybujúci sa objekt, alebo "rozdeliť" hárdverový sprajt na niekoľko časti. Príklad. Dobré známy Pitfall : jeden sprajt rozdelený medzi kotúľajúce sa drevené pne a škorpióna, druhý je per-pixel riadok premenený do podoby ohybnej liany. Postavička je zložená z viacerých farieb. Proste zázrak. Teraz už asi chápete prečo duchovia v Pacmanovi 2600 blikali ako žiarovky pred kolapsom. Použili neohrabanú techniku vykresľovania ducha v prvom, druhom, treťom a štvrtom prechode el. lúča. Váš pacman bol na ploche neustále /HW sprajt čislo jedna na 50Hz/, a enemáci sa takto snažili obísť hárdverové limity.

Čo tak urobiť šach !! Na prvý pohľad triviálna úloha, nemá to predsa farby, vlastne ani grafiku, a animáciu. Jeden háčik už však iste vidíte. Ako prinútiť stroj aby zobrazil 8 figúrok v jednom riadku, keď HW limity povoľujú iba šesť. S tým je spojená jedna rozkošná historka o Benátskych žaluziach. "Venetian Blinds" je totiž programatórska technika, ktorá vám umožní na plochu tých 8 sprajtov dostať. Štyri sprajty vykreslíte v jednom polsnímku, zvyšné v tom druhom, jednoduché. Využije sa nedokonalosť starej neprogresívnej interlaced TV normy.


Mimochodom Atari nikdy neplánovalo teno šach aj komerčne použiť, kód mal totiž až 6 kíl, takže vyžadoval drahý 8 kilový katridže. Marketingové oddelenie však nejakým "omylom" stihlo odpáliť reklamnú kampaň propagujúcu túto kráľovskú hru na tejto hernej mašine. Nejaký intlektuálny hlupák sa na to namotal, a 2600 kúpil /obrazok hry-šachu bol priamo na krabici s konzolou !!!/. Bol nemilo prekvapený, keď zistil, že ATARI mu jeho hru odpískalo, takže ich dal na súd. Prekérna situácia,ktorá skončila orezaním kódu na 4 kila /letelo preč trochu tej úbohej grafiky, hehe/ a hra bola vydaná. Takto ATARI uniklo plateniu bolestného. Story však pokračuje.

Z ATARI po mnohých nezhodách následne masovým exodom odišla kopa veľmi kvalitných a nespokojných programátorov vrátane Bob Whiteheada, ktorý pre nich "Venetian Blinds" vymyslel. Pomsta pokračovalo tým, že Atari zažalovalo Activision /založený práve tými odídencami/ za ukradnutie duševného vlastníctva vrátane tých "žaluzií" /inak túto techniku Activision vo svojich hrách nikdy nepoužilo/. O niečo neskôr tam Atari dokonca poslalo aj svojich právnikov. Bob a spoluzakladateľ David Crane ich už čakali. S kravaťákmi si zahrali menšie rošambo, na ich otázku kde je tá ukradnutá benátska technológia ? Im ukázali toto.


demo sa dá ovládať joystickom, teda to sťahovanie žaluzií, hehehe


Pravé nefalšované technologické "Venetian Blinds Demo" /sťahujte/. Pointu vám dúfam nemusím vysvetľovať. Inak ten krásny západ slnka použili v ďalšej svojej hre Barnstorming, a áno ide o ďalšiu graficku vychytávku. 2600ka toľko farieb a takým spôsobom "oficiálne" nezobrazí. Atari sa však nevzdáva, rozzurené do biela do pohnalo na sôd, ktorý s rachotom prehrali a z Activision sa stala najúspešnejšia 3rd party vývojárska firma pre Atari 2600. Aj vďaka ich hre Pitfall, o ktorej som písal vyššie.

Súčasnosť a jeden veľmi šikovný domáci kutil-programátor smutný z toho, že jeho Atari umiera bez herného softu. Verný značke, váľa sa mu doma legendárna 2600ky, Atari 400 a hlavne najnovšia 800XL. V 1986 ho spolu s jeho bratom ohúrila arkádová verzia Space Harrier /génius Yu Suzuki/. Aj keď bola táto hra úspešne naportovaná na C64 aj gumák, jeho 800ku štastie oblúkom obišlo. Rozhodol sa teda dosť odvážne pre svojpomocnú 8 bitovú verziu. Skôr než vám tu hodím stučný výcuc z tej jeho heroickej snahy, vedzte, že originálny automat je ako inak .. super výkonné monštrum na drogách a dvojpodlažná matičná doska má veĺkosť kapoty auta. Dvojprocesorový základ /68000 na 10MHz/, 128 HW sprajtov, HW akcelerácia kde sa len pozriete /hlavne rotácia, a zooming objektov, transparentné tiene, Super Scaler technológia/, kopa pamäte, tisíce farieb naraz z 32K palety, veľa zvukových kanálov vrátane podpory samplovanej reči. Tá hra vyzerá v arkáde verzii nádherne a skvele sa hraje. Naozaj nutné vidieť v pohybe a na veľkej obrazovke /PC+MAME+PLAZMA/.

Atari 800 také štastie nemalo, takže s musí vystačiť so SALLY /centrálne 8 bit CPU 6502c na 1.8 MHz/, ANTIC /videoprocesor s vlastným inštrukčným setom + DMA/, CTIA/GTIA /a ešte jeden priamo podriadený ANTICu, aj keď je možný aj vstup hlavného CPU/, POKEY /4 kanálová zvukovka, s možnosťou použitia samplov, berie si však potom značnú čast CPU výkonu/. Nie je toho veľa ako vidíte. Nespomínam problémy s veľkosťou pamäte. S kvalitnou konverziou /videá/Harriera mala veľké problémy predsa len aj taká Amiga 500, alebo Atari ST, a na úrovní automatu sa to podarilo až oveľa neskôr napríklad na SEGA SATURNe.

Chlapec teda maká, za pochodu sa učí, a v roku 1992 zisťuje, že mu to prerástlo cez hlavu. Hru by musel príšerne zdegradovať aby to osembit rozbehal, a proste to nemá cenu. Atari išlo do krabice a na povalu. V 1999 však dostal do rúk svoje prvé PC, a objavil internet plný Atari nadšencov, emulácie /vrátane pôvodného automatového Hariera na MAME platforme/. Práce na bombastickej osembitovej atari verzii sa teda opäť obnovili. Tentoraz však s využitím PC a softvéru o akom sa mu vtedy ani nesnívalo. Nechcem vás zaťažovať s oceánom technických problémov. Ako dostať viac farieb na sprajt, viac farieb na plochu, viac objektov, frejmov animácie, paralaxný posun pozadia, väčšie sprajty, správnu rýchlosť, dokonca pôvodne samply bez vplyvu na rýchlosť hry /!!/. Zúfalé obchádzanie všetkých HW limitov došlo tak ďaleko, že sa použila aj modifikácia starej dobrej "Venetian Blinds" techniky.


stará verzia vĺavo, stĺpy a lietajúce šutre s 2 farbami a najnovší build

Na atari si totiž môžte vybrať z 11 grafických módov a to konkrétne medzi VEĽMI nízkym rozlíšením a veľa farbami, alebo 4 farebným "hiresom" /plus niečo medzitým a kopa textových režimov/. Pre potreby tejto hry sa teda naprogramoval benátsky hybrid, ktorý alterujúc párne a nepárne interlejs vykresľovanie používa vysoké rozlíšenie jedného módu a farbičky toho druhého. Ďalších 8 rokov tvrdej práce /od roku 2000/, a konečne báječné výsledky. Videá si pozrite na tejto stránke. Engine je de fakto takmer hotový, pracuje sa už len na konverzii jednotlivých levelov, aktuálne na šiestom. Osobne tento port považujem za excelentný a aj najlepší z tria Atari-C64-Gumák. Pikoška, C64 verzia beží v tzv. spectrum móde aj s jasne viditeľnými atribútovými "zx" kolíziami !! A nepýtajte sa ma prečo ti zjavne talentovaní ľudia strácajú tisíce hodín a roky života prácou na mrtvých strojoch. Je to predsa jasné. A dočerta, kedy už bude hotová ta konverzia MULE pre spectrum.