Co mne zaráží, že u 8bit. Atari, i když byla Tramielem po jeho příchodu do firmy podporována renesance těchto mašinek v novém kabátě, nevznikaly žádné nové programy a hry.
Jaké byly skutečné možnosti grafiky?
Nebyla grafika 320*192 jen černobílá?
Jaké fyz. rozlišení bylo u spritů (vzhledem k rozlišení plochy), kolik mohly mít barev?
Spíše mi připadá. že se v tomto případě jedná o precizně provedenou technologii 70. let...
ale hej, boli nove hry - ich hlavnym (poslednym) produktom v 8bit linii bol XE Game System, ktory mal primarne hry v cartridgi, ale bol to vlastne 800XE s oddelenou klavesnicou a novym lookom a trochu pozmenenym OS (mal tam zabudovanu gamesku). Ale je pravda, ze s C64 ci ZX sa to neda porovnat, 8bit Atarko na trhu upadalo od cca 85-teho...
skutocne moznosti grafiky... no, hmm, to sa da tazko jednoznacne povedat, doslova zalezi od doby - napr v sucasnosti nie je problem 160x192x256 farieb alebo 640x192 (rozne triky s ANTICom)... ale hej, tych 320x192 je dvojfarebna.
sprites - vertikalne neobmedzene, horizontalne 8 pixelov v najjemnejsej grafike, ktore sa dali skalovat (2x, 4x) a farby mohli mat z celej palety (128 farebnej).
ale inak mas pravdu - tramiel pre technologiu 8bit atari nespravil nic. takze islo fakt o pouzitie toho perfektneho navrhu este zo 70-tych rokov.
S tou grafikou na Atarku (ale nejenom na nem) je to tezke povedet presne. Playfield grafiky 320x192 byl opravdu cernobily (lepe receno monochromaticky, protoze specielne v tomto rezimu nezbyly takty pro vyber dvou barvovych registru), ale slo ho kombinovat se sprity a pomoci display listu menit barvove registry na kazdem obrazovem radku. Jeden z nejprofanovanejsich efektu na Atarku byla duha, kdy se soucasne zobrazovalo a menilo vsech 128 barev.
Take bylo mozne playfield rozsirit na cca 384x224 pixelu. Horizontalne se totiz dalo volit mezi 256, 320 nebo 384 pixely, vertikalne zalezelo na display listu, takze se k tem standardnim 192 dalo cca 32 radku bez problemu pridat (potom pry blbla synchronizace, ale to je spis problem NTSC nez PALu).
Co se tyce spritu a strel, tak ty byly barevne nezavisle na pozadi a jejich maximalni rozmery byly 8x256 pixelu (sprity) a 2x256 pixelu (strely). Kazdy sprite byl jednobarevny, ale opet se barvy daly menit v prubehu horizontalniho zatemneni. Nektere hry "jakoby" zobrazovaly i vice spritu, jednoduse si totiz prepsaly pamet se sprity v horizontalnim zatemneni, takze jeden fyzicky sprite se na obrazovce vyskytoval nekolikrat (nemohl vsak byt na stejne horizontalni urovni, ale "pod sebou").
Barvy se daly měnit kdykoliv, nejen podle horizontálního zatemnění. Hardware byl dokonale synchronní, refresh DRAM přicházel v přesně definovaných okamžicích a byl synchronizovaný s horizontálním rozkladem, grafický procesor četl z paměti v přesně definovaných okamžicích, takže s tabulkou doby vykonávání strojových instrukcí nebylo problém časovat změnu barvy i vertikálně.
Svého času jsem napsal klon Tetrisu, který tyto triky používal na obarvení kostiček. Bude-li zájem, mohu ho vystavit. Zajímavé je, že emulátor atari800 má časování dokonale vychytané a v poslední verzi již funguje zcela přesně.
Ano, pokud si s tim nekdo vyhral na jednotlive takty, tak se opravdu daly barvy menit i v prubehu jednoho radku (jestli si dobre pamatuji, tak co jeden pixel, to jeden takt, v gr.8 byly dva pixely na takt). Ja jsem vsak, jako mirne stredne pokrocily, skoncil pouze s obsluhou horizontalniho zatemneni :-)
Ten refresh DRAM byl opravdu synchronizovany s horizontalnim rozkladem, vyjimkou byl tusim gr.0 (textovy rezim), kde se to na zacatku snimku neustihalo a tak se misto deviti (?) refreshu provadel jen jeden. Ale uz je to tak davno, ze si presne casovani nepamatuji, jen vim, ze gr.0 byla takova specialitka.
To obarveni kosticek (=zmenu barvoych registru) jste stihal provadet pro jednotlive pixely? To se na 6502 snad ani neda ustihat, ale rad se necham poucit.
Jednotlivé kostičky obarvit nešly. Ale už si přesně nepamatuji proč, nevyházely mi barvy na zobrazení příští kostičky. Takže jsem musel nastavit barvu a na začátku hrací plochy bylo třeba barvu změnit. Pomáhal jsem si také sprity, které šly také dynamicky posouvat.
Zdroják jsem našel, ale nevyznám se v něm. Večer ho dám na své stránky.
Tak jsem si dal praci a v Atari literature (papirove) jsem nasel podrobnosti o casovani. Takze, pri frekvenci procesoru 1,79MHz (tj. verze PAL) je na jeden radek poskytnuto 114 strojovych cyklu, pricemz se pocita s 312 radky.
Kazdy strojovy cyklus odpovida delce trvani vykresleni dvou obrazovych bodu, tj. rozliseni by bylo pouze 228 pixelu horizontalne. Pouze gr.8 (a na nej navazujici gr.9, 10 a 11) ma vyjimku, tam pixely trvaji pouze 1/2 obrazoveho bodu - tady se to pekne plete s dnesnim nahledem na pixely jako obrazove body. Horizontalni zatemneni trva 40 strojovych cyklu.
Obnoveni trva opravdu 9 strojovych cyklu (to mam pamet!), dalsi cykly zabere DMA pro hrace a strely (to se provadi v horizontalnim zatemneni) a take pro display list.
Takze barvu opravdu nejde zmenit pro kazdy pixel (114<<320), odhaduji, ze pro takovou osmici sousednich pixelu to je mozne (zalezi na tom, jak je program napsan, zda si barvy pamatuje v nulte strance pameti atd.)
To už ale asi není graf. mód, ale spíše graf. trik.
Přepínat trikově umělo barvy i ZX Spectrum (např. po 8x1 či 4x4 pixelech...)
a umí to vlastně i každý počítač s definovatelnou paletou barev
(Amstrad CPC, Sam Coupe, Atari ST...)
Jenže to časování zabírá strojový čas, neboť instrukce CPU nahrazují graf. procesor...
Ano, to je pravda, i kdyz ne u vsech pocitacu se to dalo v obsluze zatemneni udelat tak komfortne.
Ale nevim, jak jinak popsat grafiku u osmibitovych pocitacu, aby se daly mezi sebou srovnavat. Dneska je to jednoduche - horizontalni x vertikalni rozliseni x pocet barev x snimkova frekvence (nebo frekvence pixelclocku). Ale prakticky vsechny osmibity nejak obchazely omezene mnozstvi pameti pro framebuffer - at uz to jsou sprity ci "blokove" atributy u Spectra ci C=.
Snad "nejhorsi" je to u Amigy, zejmena u HAM rezimu. Jak se tento rezim da popsat - prece to neni rezim, kde muzu obarvit kazdy pixel jakoukoli barvou...
Jeste k J. Tramielovi. On je to v prvni rade obchodnik, ktery doslova prohlasil, ze osmibitovou radu Atarek bude produkovat pouze tak dlouho, dokud pro ne bude mit odbyt. Paradoxne prave na zadost "socialistickych" zemi se Atari 800XE vyrabelo a dovazelo prave do vychodni Evropy a to i v dobe, kdy se v zapadnich zemich ve velkem presedlavalo na stroje s MC68xxx.
Graficky je na tom Atarko srovnatelne napriklad s C64, v necem je to lepsi (display list, organizace pameti), v necem zase horsi (sprity). Pri produkci her vsak az tak nezalezi na HW kvalitach, ale na rozsireni, podpore atd.
Je však bohužel pravda, že hry na C64 vypadají obecně o dost líp než na Atari 800 XE/XL. Neříkám, že všechny (např. Tomahawk je ve verzi pro Atari nejhezčí), ale jinak většina her byla úplně pod úrovní Atari - tedy pod úrovní jeho možností (většina jich nedosahuje ani 25kB!!?).
Viz jinak na porovnání třeba tu: http://porovnani8bitu.spaces.live.com/
Tak tohle je bohužel pravda, Atari jsem v tomto nikdy nepochopil, vůbec nevím, proč ani nejnovější hry nemohli pořádně promakat, všechno to vypadalo jak na počítačích o 10 let zpátky. Přitom na C64 vyšly i takový hity jako Elvira (prakticky srovnatelná s verzí Amigy) aj.