a8.fandal.cz

News

Games

Demos

Fandal's stuff

Emulators

Links

Contact

RSS

Fandalův Atari blog

Ohlédnutí za rokem 2010 (11/01/2011)

Je už skoro půlka ledna, takže je nejvyšší čas zhodnotit si tento pozoruhodný blog za celý minulý rok, prostě si tak trochu zabilancovat. A já si myslím, že se můžu bez sebemenšího uzardění pochválit. I přes mou tradiční lenost a jednu velkou krizi se v roce 2010 objevilo na blogu celkem pětadvacet vesměs vysoce kvalitních zápisků, což dává frekvenci aktualizací téměř úplně přesně jednu za dva týdny. Nyní již je na vážených čtenářích, aby formou dvou kratičkých anket vybrali nejlepší zápisek a nejlepšího autora roku. V obou kategoriích jsem si dovolil osobně nominovat svoje favority, avšak jsem přesvědčen, že tento výběr skutečně objektivně reprezentuje to "nej".

Který zápisek za rok 2010 byl nejlepší?
o programovacím jazyce Famfrlon
935
o programovacím jazyce Famfrlon
548
o programovacím jazyce Famfrlon
541

Kdo napsal nejlepší zápisek v roce 2010?
Fandal
916
Fandal
545
Fandal
724

Project-M (25/12/2010)

Laik se diví, odborník žasne, říká se. Jsou ale případy, kdy žasnou všichni. To když v tiché hrůze z něčeho přesahující jejich chápání jenom tak civí do blba a z koutku úst jim nekontrolovatelně odkapávají sliny. A to je přesně případ "Projektu M", jehož zcela zlomová verze 2.0 je od čtvrtka ke stažení z AtariAge. A já se nebojím říct, že datum 23. prosince 2010 změnilo Atari scénu jednou pro vždy. Ano, již dříve tu byly pokusy o cosi ve stylu Wolfensteina a hry jako MidiMaze či Capture the Flag jsou opravdu velmi pěkné, ale "Projekt M" je úplně někde jinde. Naprosto famózní 3D engine běžící ve dvaceti snímcích za vteřinu mě totálně uzemnil. Absolutně nechápu, jak to autor Nelson Ramirez (skrývající se pod nickem NRV) vůbec dělá. Tenhle borec je oproti nám běžným kodérům o celé světelné roky napřed, hraje si v podstatě svou vlastní ligu. Už když v létě 2009 uvolnil první verzi "Projektu-M", vypadalo to hodně zajímavě. Díky APAC módu hromada barev, skvělé textury a dokonce pohybující se předměty, zkrátka paráda. A to přitom šlo o engine, který umožňoval pouze otáčení se kolem dokola v "placatém" světě. O půl roku později byla k dispozici verze 1.5, kde již autor začal řešit problémy se zobrazením opravdového 3D světa. Vypadalo to naprosto fantasticky, ale přesto jsem stále měl pocit, že zřejmě zůstane pouze u této demoverze, protože udělat na osmibitovém Atari s procesorem běžícím na 1,7 MHz něco jako skutečnou 3D hru přece není možné. Jenomže nadčlověk NRV si to očividně nemyslí a po roce se vytasil s již hratelnou verzí portu slavného Wolfensteina!! Opravdu všem doporučuji si to vyzkoušet, protože ten, kdo to neviděl na vlastní oči, ten prostě neuvěří. Na 64 kB stroji běží jako víno úžasná hra v okně na půl obrazovky a k tomu hraje vynikající Mikerova hudba. Jdou otevírat dveře, sbírat klíče a poklady, a to vše krásně plynule. Neuvěřitelné! Do Wolfa to má sice pořád ještě daleko, protože tam chybějí nepřátelé, jejich střely, střely hráče, předměty, atd., ovšem i kdyby to NRV teď nechal jak to je a udělal z toho třeba "pouhý" dungeon, například něco na způsob legendárního Dungeon Mastera z Atari ST, tak pořád to bude zcela dechberoucí hra. Pokud ale NRV hodlá naportovat skoro dvacet let starého Wolfíka se vším všudy, tak se asi osobně vydám do Jižní Ameriky, abych před ním poklekl, zlíbal mu obě ruce a přitom se zuřivě bil v prsa při vědomí vlastní malosti a naprosté zbytečnosti.

Nyní pro připomenutí celá vývojová sága "Projektu-M". Všechny verze jsou určené pro PAL stroje a byly úspěšně testovány jak pod emulátorem, tak i na skutečném železe. U každé verze jsem přidal základní popis ovládání.

  • verze 1
    • klávesa I - vypnutí/zapnutí interaktivního módu (automatické otáčení nebo otáčení pomocí šipkových kláves)
    • klávesa P - přidávání HW spritů (PMG objekty)
    • klávesa S - přidávání SW spritů
  • verze 1.5
    • klávesa I - vypnutí/zapnutí interaktivního módu
    • klávesa R - rychlost rotace
    • klávesa TAB - změna kamery
  • verze 2.0 (ukončení intra libovolnou klávesou)
    • joystick - pohyb
    • joystick + fire - úkroky stranou
    • fire nebo klávesa SPACE - otevírání dveří
    • klávesa CONTROL+R - rychlost rotace

The Dreadnaught Factor II (13/12/2010)

Věřte tomu nebo ne, ale stále ještě žiju. Respektive užívám si krásnou zimu a sladké Atari nic nedělání. Pořádnou pauzu jsem už ostatně potřeboval jako sůl. Dokončení nové hry pro Flop jsem odsunul na příští rok a teprve po několika týdnech, co jsem Atari hodil zcela za hlavu, jsem od minulého týdne opět začal projevovat jakousi aktivitu. Jal jsem se totiž znovu vrtat ve hře The Dreadnaught Factor. Tahle střílečka od Activisionu z roku 1984 je jedna z mých vůbec nejoblíbenějších Ataráckých gamesek. Na všechny obtížnosti jsem jí dokázal dohrát až do konce, což je zvlášť v úrovni 7 docela masakr, jelikož je potřeba zničit 99 nepřátelských bitevníků. No a jak jsem TDF takhle jednou zase pařil, napadlo mě udělat hack, tj. dodat tam zbrusu nové dreadnaughty. Disassemblovat pouhých osm kilobajtů kódu (ano, celý TDF se autorovi podařilo nacpat do 8 kB cartu!!) byla hračka, horší bylo přijít na to, jak jsou jednotlivé lodě nadefinovány. Hra běží v málo používaném textovém módu Antic 5 (BASIC grafika 13) a už při zběžném pohledu do zdrojáku bylo vidět, že jako tvrdá screen data tam všech sedm typů dreadnaughtů není. I bádal jsem a po čase jsem pochopil, že základními stavebními kameny lodí jsou různě velké bloky široké jeden až sedm znaků, přičemž loď je vždy osově souměrná, takže pro její popis stačí mít data pro pravou polovinu. Dreadnaughty jsou navíc krásně parametricky definované výškou v řádcích, přičemž každý řádek lodi je ukončen elementem s nejnižším bitem nastaveným na jedničku. Dodefinování vlastních lodí je tedy poměrně jednoduché. Stačí si nakreslit vlastní bitevníky a s pomocí převodní tabulky doklepat do zdrojáku nová data. Pokud se snad stane, že nových dat bude víc než v originále, vůbec nic se neděje. Vše je elegantně řešeno pomocí pointerů a volné paměti jsou mraky. Kolega Eric Nickell myslel při kódování TDF opravdu na všechno. Všechna čest! Akorát nevím, jestli si na převod návrhu lodi do vnitřní reprezentace dat nemám napsat nějaký editůrek, jako jsem to kdysi udělal, když jsem dával dohromady Deflektor II. Zatím jsem ručně z experimentálních důvodů překlapal data pro jednu loď, kterou jsem si vymyslel, ale mezitím jsem jí už několikrát změnil a při jakékoliv každé další změně bych musel vždy znovu měnit hromadu čísel. Zatím se kloním k tomu, že nejdřív navrhnu všech sedm lodí a až s nimi budu naprosto a dokonale spokojený, tak teprve poté budu asi zase ručně mlátit data přímo do zdrojáku. V tuto chvíli mám hotové tři nové dreadnaughty, s jejichž designem se doslova mazlím v Paint Shopu. Pořád něco ubírám, přidávám a upravuju. Moje nové lodičky prostě musí být dokonalé, to dá rozum! Celé to dílo se pak bude vtipně jmenovat The Dreadnaught Factor II a vyjít by mělo v příštím Flopu. Těšte se, gamesníci!

Na závěr bych rád upozornil na skvěle propracovaný engine hry. Ono to možná na první pohled není moc vidět, ale Eric Nickell byl fakt génius. Všechno, co se na obrazovce kromě nepřátelské lodi hýbe, jsou totiž jenom a pouze PMG objekty. To znamená vaše stíhačka, její střely a hlavně všechny nepřátelské střely a bomby. A že jich ve vyšších levelech může být skutečně požehnaně, což je myslím dobře vidět na přiloženém screenshotu. PéeMGéčka jsou zkrátka velmi chytře a hlavně bez sebemenšího problikávání multiplexovány, že se člověk až diví, kolik jich Atari dokáže zobrazit. Bravo, Ericu!

Hledá se Nemo Static (13/11/2010)

Lidičky, prosím pomozte! A8 software hromadím z nejrůznějších zdrojů už dlouhé roky, a i když se mi podařilo ve své sbírce úspěšně zaplnit spoustu mezer, ještě jich pár zbývá. Jedna z nich mě irituje obzvlášť hodně, protože se jedná o gamesu původem z Česka. Jde o plnou verzi hry Static, kterou v roce 1994 spáchal pod hlavičkou ESC slavný Robert Zaborowski. Všude na internetu narazíte pouze na trainer verzi a já bych opravdu moc chtěl konečně nalézt i "original version", jak tomu Zaborowski ve svých programech říkal. Tuším, že jsem autorovi kdysi i psal, ale ten mě pouze odkázal na internet, že prý tam Static v plné verzi určitě bude. Jenže on není. Už jsem prošmejdil kdejaký archív, dokonce jsem prošel i všechny kazety od Datriho, který se Atari věnoval až do přelomu tisíciletí, ale marně. Skoro začínám mít pocit, že Static se full verze snad ani nedočkal. Rád bych se proto touto cestou obrátil o pomoc i k široké Ataristické veřejnosti. Prosím prosím, zkuste se podívat do svých osobních sbírek či archivů, popřípadě mrkněte na svoje diskety či kazety, zda se vám tam někde ten Static neválí! Případný nálezce se může těšit na zvěčnění svého jména tučným písmem na titulní stránce mojí sajty plus na mojí nehynoucí vděčnost. A samozřejmě ještě dobrý pocit, že udělal něco velkého pro Atari scénu, k tomu...

Kde se stala chyba? (28/10/2010)

Moje hodně špatná nálada způsobená smrtící kombinací vzteku, znechucení a bezmoci je konečně pryč. Kocovina po nedělním vyhlášení výsledků letošního ABBUC SW Compa byla tedy sice těžká, ale naštěstí netrvala příliš dlouho. Můžu proto již poměrně v klidu dumat nad tím, proč Robix a Milk Nuts, dvě hry, které nám s Rasterem obě dohromady vzaly sedm let života, dopadly tak špatně. Na rovinu říkám, že jsem zcela neskromně očekával jasné vítězství pro Robixe a nejhůř třetí místo pro Milk Nuts. Myslel jsem si prostě, že dvě velmi dobré akční hry budou Ataristy přijaty více než s nadšením a že v pohodě porazí konkurenci v podobě dvojice logických klikaček a jedné neskutečně jednoduché gamesky. Stal se ovšem pravý opak. Podceňovaná konkurence nás zcela přejela a hlavně moje dílko dopadlo úplně katastrofálně. Já rozhodně netvrdím, že Milk Nuts a Robix jsou naprosto špičkové hry, které by dosahovaly kvalit např. Yoompa nebo Crownlandu, ale stále si myslím, že jde o hodně dobře udělané věci, jakých za poslední dekádu vzniklo pro Atárko jako šafránu. Vím taky, že jsme je mohli udělat ještě lepší. Já jsem rozhodně měl do verze pro ABBUC přidat volbu obtížnosti, což jsem zabudoval až tuto neděli do verze 1.1, a být Rasterem, tak bych v Robixovi určitě rozdělil stávající čtyři dlouhatánské stage na několik menších částí. Přesto pořád přesně nechápu, co se vlastně stalo. Konečné pořadí "Ocean Detox, Jewel Bits, h3x0r Deluxe, Robix, dlouho nic, Milk Nuts, zbytek pole" nelze podle mě interpretovat jinak, než že hlasující členové ABBUCu dali před komplexními akčními hrami přednost krásně vypadajícím gameskám jednoduchým jako facka. Ale proboha proč? Na to hledám jasnou odpověď hodně těžko. Zde je několik možných důvodů, které mě napadají:

  • naprosto šeredně se od začátku pletu a Milk Nuts s Robixem ani zdaleka nejsou tak dobré hry, a proto naprosto po zásluze v ABBUC compu propadly;
  • každému se holt líbí něco jiného a z nějakých sedmdesáti hlasujících prostě většina nepřišla našim výtvorům na chuť;
  • jelikož převážná část členů ABBUCu hlasovala až na klubové akci zvané JHV, možná si příspěvky do soutěže předtím ani nevyzkoušeli, poprvé je viděli až na místě při videoprezentaci a dali hlavně na líbivé pozlátko;
  • za těch pětadvacet let, co uplynuly od zlatého věku osmibitů, se změnil herní vkus Ataristů a místo akčních her jsou nyní i na Atari v kurzu prosté chytlavky, jakých člověk může najít ve flashi na internetu tisíce;
  • Robix a Milk Nuts byly pro lidi z ABBUCu příliš těžké, takže se minul účinkem náš záměr vytvořit akční gamesy klasického typu, které je potřeba nějakou dobu trénovat, než se je člověk pořádně naučí hrát.
Jelikož svět není černobílý (černobíle ho vidí pouze opravdu mimořádní zmrdi jako je emkay), řekl bych, že neúspěch Milk Nuts a Robixe bude pravděpodobně způsobený nějakou kombinací právě vyjmenovaných faktorů. Nebo je možné, že mi taky pořád něco uniká a jsem vedle jak ta jedle. Buď jak buď, překvapený z výsledků ABBUC SW Compa 2010 rozhodně nejsem sám. I autoři vítězné trojice her přiznali, že je to zaskočilo a rozpaky nad tím, jak všechno nakonec dopadlo, jsou i na straně samotných členů ABBUCu. Každopádně stalo se a nic nelze vrátit zpět. Život někdy prostě není fér, jak to trefně vystihnul Carsten na AtariAge.

Valím bulvy (25/10/2010)

Tak nám včera večer borci z ABBUCu zveřejnili výsledky letošního ABBUC SW Compa a se mnou to málem seklo. Už pár hodin jsem sice neoficiálně věděl, že moje hra Milk Nuts propadla na celé čáře, ale že mě konečné pořadí takhle vytočí, to jsem skutečně nečekal. Na druhém a třetím místě skončily dvě logické klikačky Jewel Bits a h3x0r Deluxe, kterých za poslední roky vznikly celé hromady, a první místo si odnáší Ocean Detox, variace na naprosto stupidní a stokrát obehrané téma. Až jako čtvrtá v pořadí skončila Rasterova originální hra Robix, bezkonkurenčně nejlepší gamesa celého compa, na které autor dělal dva roky! Kdybych byl býval věděl, že členové ABBUCu raději hrají krásně omalové ptákoviny, místo arkádovky, nebo nedej bože dokonce promakaného Robixe, nejlepší to Atárkovské čistokrevné střílečky za posledních patnáct let, nikdy bych se letošního SW compa nezúčastnil. To mi za to prostě nestálo. Naprosto nejsem ve stavu na Atari cokoliv dál dělat. Sešlo se toho na můj vkus nějak moc. Nejprve celá planeta brutálně zkritizovala demo Prototype, se kterým jsem se trápil dva měsíce. A i když jsem se od něj více méně distancoval, tak přesto jsem byl spoluautor a opravdu nebylo nic příjemného číst všechny ty jedovatiny (hlavně od lidí, kteří sami na Atari v životě nic neudělali a neudělají, ale zato všemu naprosto perfektně rozumějí). Potom přijde další rána s ABBUC Compem. Na první místo jsem sice s Milk Nuts skutečně nepomýšlel, ale takovýto výsledek jsem nečekal ani v nejhorším snu. Stovky (a možná i tisíce) hodin práce a pak toto. Bléééé. K tomu jsem se ještě mezitím pustil do další hry pro příští Flop, ovšem Raster mi do toho tolik kecal a neustále mě odtahoval od mého původního záměru, že jsem úplně znechucený celý projekt multiplayerové strategie raději odložil k ledu. Jsem v hluboké krizi. Stará známá pravda říká, že na Atari děláme něco jenom a pouze proto, že nás to baví, jenomže mě právě teď všechno akorát pěkně sere. Uvidíme, kdy (a zda vůbec) se z toho vyhrabu. Myslím, že raději než se věnovat Atari budu dělat něco mnohem užitečnějšího, jako třeba se válet u televize.

Chuck Norris a osmibitová Atari (13/10/2010)

  • Chuck Norris začal na Atari dělat rok před tím, než ho postavili.
  • Všechny programy na Atari ve skutečnosti napsal Chuck Norris.
  • O Atari víme jenom to, co Chuck Norris chce, abychom věděli.
  • Chuck Norris umí na Atari číst v disketovce kazety a v kazeťáku diskety.
  • Chuck Norris dohrál Atari BASIC až do konce. Dvakrát.
  • Na příkaz Chucka Norrise nabootuje Atari i z tiskárny.
  • Chuck Norris dokáže na Atari nechat běžet hodiny reálného času pozpátku.
  • Data jsou po SIO přenášena, pouze když to Chuck Norris dovolí.
  • Chuck Norris umí pustit program i na vypnutém Atari.
  • Chuck Norris maže na Atari paměť gumou.
  • Multijoy vymyslel Chuck Norris, aby si konečně zahrál pořádně sám se sebou.
  • Chuck Norris dokáže přinutit Atari zobrazovat v truecoloru i na černobílé televizi.
  • Chuck Norris dal hře Atari Chess mat prvním tahem.
  • Chuck Norris našel krajní pozici na driving controlleru.
  • Pro Chucka Norrise není problém na klávesnici Atari stisknout tlačítko F1.
  • Chuck Norris má schopnost přetaktovat Atari na 800 MHz. Pouhým pohledem.
  • Pouze Chuck Norris slyší na Atari hrát pátý zvukový kanál čipu Pokey.
  • Chuck Norris dokáže přepnout ROMku na write only.
  • Chuck Norris nepotřebuje G2F. G2F potřebuje Chucka Norrise.
  • Raster je převlečený Chuck Norris.

Tento text byl publikován s laskavým svolením Chucka Norrise. Jakékoliv jeho další šíření je přísně zakázáno pod hrozbou trestu smrti kopem s otočkou.

Prototype (06/10/2010)

V sobotu na Bytefestu proběhlo první veřejné předvádění Poisonova nejnovějšího dema "Prototype", což jste asi zaznamenali buď přímo na místě, nebo pak v neděli zde v novinkách. Jedná se o produkci vyžadující minimálně 1 MB rozšířené paměti plus stereo a funguje výhradně na PAL strojích. Kód jsem sesmolil já, fonty 2x2 a monochromatický obrázek na začátku hlavní části stvořil PG, ale hlavní postavou celého projektu byl jednoznačně Poison. To on vymyslel scénář, složil hudbu, z animovaného GIFu překonvertoval tančícího Karateku a opatřil demo kilobajty textů. Právě poslední bod je podle mého názoru hlavní důvod, proč se Prototype ve světě setkal s hodně kritickým přijetím. O tom ale až za chvilku. Začít chci tím, proč vlastně toto demo vzniklo. Došlo k tomu proto, že si Poison pořídil do svého Atárka rozšíření na 1 MB a vadilo mu, že pro něj neexistuje prakticky žádný software. I rozhodl se, že je na čase udělat nové demo, určené právě pro jeden megabajt RAM. Podle svého zvyku si vybájil cosi ve stylu hudebního klipu, kde se vše točí právě kolem muziky. Po dvouměsíčních peripetiích tak vzniklo ne úplně špatné dílko s jedinou, ale zato podstatnou, chybičkou. De fakto jednoduchou animaci Poison obalil hromadou textů ve stylu "Toto je nejlepší demo všech dob!", "Revoluce právě začala!", "Poison je nejlepší v galaxii!", atd. Já sám mám mnohdy problém rozeznat, kdy Mistr hovoří vážně a kdy už naopak rozjíždí svůj osobitý humor, a proto chápu, že ten, kdo Poisona nezná, musel být při sledování dema Prototype poněkud zmatený. Nekonečný titulkový part (který sice jde ukončit mezerníkem, ale to nikde nedozvíte) slibuje hory doly a pak se žádné megaefekty nekonají, vše naopak končí dalším půlhodinovým projevem plným sebechvály. To rozdýchal skutečně málokdo, a tak lidi na serverech jako Pouet, AtariAge, AtariArea nebo AtariOnLine ve většině případů Prototype pořádně zkritizovali. Očividně téměř nikdo pochopil Poisonovy fórky, narážky a sebestředné hlášky. Nejlepší Atari hudebník na světě to prostě tentokrát s těmi kecy opravdu přehnal a dostal řádně nafackováno. Zda právem, to musíte posoudit každý sám...

Nyní pár technických detailů. Hodně lidí se ptalo, proč Prototype vyžaduje 1 MB RAM, když se nahrává z pouhých dvou disket. No je to proto, že demo je zapakované na cca třetinu původní velikosti a při loadování se postupně rozbaluje do přídavné paměti. Nebo jsem snad měl nechat oněch 700 kB dat nahrávat hodinu z osmi disket, jako to udělal autor "The 1 MB Raytracing Animation Dema", o kterém jsem tu psal na podzim 2008?! A cože onu hromadu dat tvoří? Přece animace Karateky, která má necelých 290 snímků. Každý z nich je v Anticu 4 (grafika 12) a zabírá po optimalizaci v G2F dva kilobajty (1 kB dat pro sadu znaků a další 1 kB pro obrazová data). Další kus paměti žerou TIP obrázky, haldy textů, SDCMC hudby a přehrávač. Raster sice prohlásil, že by možná šlo animaci rozbalovat až přímo při běhu programu a vše tak nacpat do "standardních" 256 kB paměti, ale není jisté, zda by to opravdu bylo realizovatelné. A hlavně. Prototype už je hotový a překopávat se nebude. Poison chtěl 1 MB hudební demo s tančícím Karatekou, což jsem udělal. Zadání splněno. Tečka.

A nyní, na závěr, veselá příhoda z natáčení. To se nasmějete. Poison, jak známo, skládá hudbu v SDCMC od Datriho. Tento jeho oblíbený software má pár docela brutálních bugů. V samotném editoru není úplně do konce dotažená práce s diskem, takže člověk občas něco neuloží nebo si naopak jinou věc přemaže. Další problémy má přehrávací rutina, pokud jí člověk v paměti přealokuje jinam, že je ve vlastním editoru. O tom všem ale s Poisonem víme a dáváme si na to bacha. Avšak při práci na Prototype na nás SDCMC vytáhlo další překvápko toho nejsilnějšího kalibru. Stávalo se prostě, že hudba v titulkovém partu hrála špatně. Někdy se tam ozývalo něco, co tam být nemělo, a to zdánlivě naprosto bez důvodu. Několik hodin jsem se na to snažil přijít a už jsem si fakt myslel, že mě šlehne. Zkoušel jsem všechno, co znám, ale marně. Chovalo se to úplně zmatečně, až jsem měl chuť to celé rozkopat i se stolem. Nakonec jsem na to sice přišel, ale bylo to opravdu na infarkt. Milý SDCMC přehrávač místo dat z tracku četl naprosto nelogicky cosi odněkud z ROMky!! Tu jsem měl samozřejmě vypnutou, takže se to chovalo jinak než v editoru, podle toho, co bylo zrovna v paměti. Obzvlášť legrační následky mělo čtení adresy $FFFA, kde je nižší bajt pointeru na rutinu pro obsluhu NMI vektoru a její následné testování na nejvyšší dva bity. Při zapnuté ROMce je tam natvrdo hodnota $18, kdežto v mém případě, jak se rozrůstající kód dema různě posouval po paměti, jsem tam pokaždé zapisoval něco jiného a někdy holt i hodnoty se dvěma nejvyššími bity nenulovými. SDCMC pak provádělo psí kusy, já jsem nic nechápal a byl jsem zralý na Chocholouška.

BBSB (25/09/2010)

Jak jste si mohli všimnout, tak od dneška je z a8.fandal.cz ke stažení verze populární hry Bounty Bob Strikes Back! fungující korektně na strojích s rozšířenou pamětí a stereo úpravou. Postaral se o ní kolega Raster, kterého k této pro něj netypické aktivitě vybičovala diskuze v konferenci na Pandoře na sklonku minulého týdne o zpětné kompatibilitě 130XE se staršími modely Atárek, kde Vláďa Toman zmínil právě BBSB jako příklad softu, který na stotřicítce nefunguje, zatímco na osmistovkách jede bez problémů. Zřejmě pro větší slávu své maličkosti se toho Raster chopil a hned v pondělí mi poslal verzi, která už na 130XE šlapala jako hodinky, a abych jí teda dal do archívu. Jenže já, než něco na sajtu prásknu, vždycky to nejdřív vyzkouším na real HW (800XE vytuněná o stereo, covox, 256 kB Rambo a QMEG), protože emulátoru ne zcela důvěřuju. A opět jsem moc dobře udělal, jelikož jsem zjistil, že originální BBSB má potíže nejenom s rozšířenou pamětí, ale ani stereo že mu vůbec nechutná. Rasterovi jsem se tím postaral o další mimořádně zábavnou práci, jelikož Bill Hogue byl skutečně pozoruhodný kodér. Kulantně řečeno. Více už vám poví samotný Raster, který mě doslova surově dokopal (asi pro tu svojí větší slávu) k tomuto zápisku do blogu. Na oplátku jsem já jeho přinutil, aby si to teda z větší části sám sepsal.

This is Raster speaking:

K opravě Bounty Bob Strikes Back! bych řekl asi tolik: jak jsem očekával, problém s jeho nefunkčností na strojích s více než 64KB RAM spočíval v chybných zápisech na port $D301, kam program v rámci odstavování BASICu a OS ROM zapisoval hodnoty, které zároveň aktivovaly přístup CPU a ANTICu (na 130XE) do externí paměti, a tím se program na rozšířených strojích sám znefunkčňoval. Oprava byla lehce zkomplikována faktem, že hra si na začátku přesouvá různé části dat na různá místa paměti a v rámci toho je XORuje s #$FF, asi aby se CPU tak nenudil. Chyby jsem tedy hledal pomocí emulátoru a breakpointů a následně opravoval v souborových datech na úplně jiném místě a jinými hodnotami, ze kterých pak XORem vzniknou ty patřičné. Tohle ovšem byla ta snadnější část opravy. Fandal zmínil, že když už, tak bych mohl opravit i problémy se stereem, které BBSB má. Zjistil jsem, že programátor byl vskutku veselá kopa a místo klasických čtení/zápisů z/na POKEY registry $D200-$D20F přistupuje různě na $D2XY, kde za Y dosaďte číslo potřebného registru $0-$F a za X dosaďte libovolné číslo. Na standardním (monofonním) Atárku se v prostoru $D210-$D2FF zrcadlí základních 16 registrů POKEYe, takže všechno funguje, ale na strojích obohacených o stereo nebo nedejTramiel o Covox či jiná rozšíření, očekávejte pěkné psí kusy. Oprava byla opět lehce komplikována posunem a XORem s #$FF, a těžce komplikována zjištěním, že počet těchto žertovných přístupů k POKEY registrům přesahuje všechny pochopitelné meze. POKEY je taktéž zdrojem náhodného čísla, ale proč někdo potřebuje náhodné číslo asi na 60 různých místech programu, to fakt nechápu. Mno, celkově to byla povedená taškařice a při nacházení dalších a dalších přístupů na $D255, $D224, $D23E, $D260 a zejména na $D26A ($D20A je RANDOM) a další, jsem šílel. Ale radujte se (nebo plačte), nezbláznil jsem se a opravu BBSB jsem dokončil, takže si tuto hru můžete konečně pustit i na vašich nadupaných Atárkách s přidanou pamětí a stereem. :-)

Kromě opravené verze BBSB můžete od nynějška pařit na strojích s rozšířenou pamětí bez problémů také hry Pole Position & Race Designer a Pole Position X. Ty jsem na žádost Jasona Kendalla upravil pro změnu já (u mikrofonu je opět Fandal, pokud jste to nepochopili), ale protože to byla vysloveně snadná záležitost spočívající ve změně pouhého jediného bajtu, nehodlám to tady nějak zvlášť rozebírat. Každopádně je teď můj archív opět o něco fajnovější. Juchú!

Zase to multijoyování! (10/09/2010)

Ačkoliv mě po nocích rozhodně nebudí geniální nápady, jako našeho slavného Rastera, tak právě v posteli se mi přemýšlí opravdu dobře. Už to mám odpozorované. Když třeba něco složitějšího kóduju a nastane zádrhel, vždycky mi pomůže skočit na postel, chvilku poležet a řešení problému přijde skoro samo. Těžko říct, čím to je, ale funguje to. Jako třeba ve středu večer. Nemohl jsem usnout a jen jsem se v posteli válel jak ten žvanec v kravský hubě. Prostě ideální situace na řešení otázek souvisejících s nekonečností vesmíru nebo co dáme do příštího Flopu. Zde musím předeslat, že jsem se během středečního odpoledne drahnou chvíli snažil najít nějakou další hru, kterou bych mohl upravit pro multijoy. Ovšem neúspěšně. Vypadá to, že zásoba her původně napsaných pro nejstarší modely osmibitových Atari se čtyřmi joystickovými porty je již opravdu vyčerpána. Na jednu takovou a ještě nepatchnutou jsem sice minulej rok náhodou narazil a její M4 verzi jsem již úspěšně zplácal, ale je to jenom taková maličkatá blbůstka. Proto jsem si říkal, že bych k ní možná ještě jednu do Flopu rád přidal. Avšak pátrání po další oběti je zatím bezvýsledné. Toto všechno se mi ten středeční pozdní večer honilo v mé na míru vyrobené postílce hlavou, když v tom práááááásk! Nápad! Vzpomněl jsem si, jak Šlacha kdesi chválil, jak se mu líbila kooperativní multijoy hra Survivor, kde až čtyři hráči ovládají jednu raketku. V tu chvíli mi najednou docvaklo, že de facto každá hra ovládaná joystickem se nechá pro multijoy upravit. Když to přeženu, tak jeden hráč může ovládat směr doleva, druhý doprava, atd. No představte si takto patchnutý třeba River Raid. Docela absurdní, co? Bylo by to asi nehratelné a nemělo by to valný smysl, i když sranda by to po nějakou dobu být mohla. Přece ale musí existovat hry, kde by úprava pro M4 přicházela v úvahu, říkal jsem si. Moc se mi líbila představa gamesy, kde by dva hráči spolupracovali proti druhým dvěma hráčům. Prostě místo klasického hráč 1 vs hráč 2 nový neotřelý mód 1+1 vs 1+1. Hned druhý den jsem svou úžasnou myšlenku ještě zatepla předestřel Rasterovi, který však mé nadšení kupodivu moc nesdílel a prohlásil, že ať nejdřív najdu nějakého vhodného kandidáta na patchnutí a pak že se teprve uvidí, respektive pak že mi to teda zkritizuje. I začal jsem tedy znovu pátrat ve svém archívu a ke svému nemilému překvapení jsem dlouho předlouho marně hledal, než jsem narazil na jednoduchoučkou gamesku Tank Battle od Dana Pinala, která se zdála být k úpravě pro M4 jako stvořená. Každý z hráčů tam komplikovaně ovládá jeden tančík, tj. jezdí s ním, otáčí věží a ještě k tomu střílí. Perfektní! Ve čtyřech hráčích na multijoy budou dva řidiči a dva střelci, mód 1+1 vs 1+1 jak vyšitý! Neváhal jsem proto a během dneška jsem dal dohromady M4 verzi, kterou doufám na real HW vyzkoušíme na proklatě rychle se blížícím ByteFestu. Pevně věřím, že se nepletu, že to bude zábava a že se Tank Battle M4 objeví ve Flopu #54. Současně bych rád ctěné čtenáře poprosil o spolupráci. Pokud snad někoho z vás napadá, která ještě jiná gamesa, původně určená pro dva hráče, by se dala přeškolit na multijoy verzi, nechť neváhá a napíše mi. Vždyť hry pro multijoy, to je zlatý hřeb každé pořádné ataristické akce!

Československo má talent (01/09/2010)

Dneska o půlnoci uplynula lhůta pro registraci v letošním ABBUC SW Compu a pokud jsem tu v půlce května věštil, že tento ročník bude velmi silně obsazen, tak jsem se nemýlil. Naopak. Sešlo se totiž celkem jedenáct příspěvků (osm her a tři utility), což je rekordní počet. Ale nejde jenom o množství. Hlavně kvalitou bude ABBUC SW Compo 2010 mimořádné. A nemalou měrou se na tom podílí Ataristé z bývalého Československa. Je nás tu sice jenom hrstka, kam se hrabeme třeba na takové Polsko, ovšem umíme za to vzít. To zas jo. Dokladem budiž fakt, že všichni tři aktivní kodéři v ČR, to jako Raster, MaPa a Fandal, zplodili zbrusu novou hru! A když k tomu připočteme kolegu MatoSimiho ze Slovenska, který spáchal také jednu gamesku, zjistíme, že naše bývalé federální uskupení dalo dohromady krásných padesát procent veškeré herní produkce pro letošní abbucovské compo. Paráda! Měl jsem tu čest všechny čtyři zmiňované hry testovat a musím říct, že se máte na co těšit. Ve všech případech se jedná o velmi kvalitní produkci s aspirací na čelní umístění a já se dokonce nebudu bát napsat, že znám i vítěze. Bude jím podle mě Rasterova gamesa Robix. Pro toto zdánlivě odvážné tvrzení mám dva zásadní důvody. Jednak lidi maji rádi střílečky (a to Robix je) a druhak jde o skutečně originální gamesu. Tedy originální v tom smyslu, že to není žádný port či A8 verze nějaké již existující hry, protože udělat něco zcela originálního, co se vůbec ničemu nepodobá, není dnes už prakticky možné. A tak zatímco MaPa, MatoSimi a já jsme "pouze" přetvořili na Atari vzor z jiné platformy, vydal se Raster svou vlastní cestou. Jeho nová produkce v sobě kombinuje prvky několika různých her a výsledkem je krásná akční pařba. Raster zde zkrátka opět plně rozvinul svou úžasnou kreativitu, kterou na něm tolik obdivuju. S tím se člověk prostě musí narodit, to se nedá naučit. Ale dost chvály Jeho Velikosti. Myslím, že nyní už mohu velectěnému publiku prozradit, že moje nejnovější hra, na které jsem pracoval od léta 2005, se jmenuje Milk Nuts a je to ne zcela věrná Atari verze gamesy Nuts & Milk z NESu. Kdo čte můj blog pravidelně, tak ví, jaké trápení jsem s tímto projektem měl a jak jsem si ke svému vlastnímu děťátku postupem času vytvořil dokonce i značný odpor. Musím však konstatovat, že když jsem si teď naše Milk Nuts po pár měsících znovu zahrál, docela se mi to i líbilo. :) Tak uvidíme, jak se MN bude líbit taky členům ABBUCu. Pořád si totiž myslím na druhé místo, i když konkurence je zatraceně ostrá. A to jsem ještě neviděl zahraniční příspěvky, především hru kolegy Allase z dalekého Peru, který v minulosti hodně zabodoval s gameskama Mule Wars a Animal Party. Třeba se ale zadaří a když ne, nevadí. Já jsem především rád, že jsem Milk Nuts vůbec dodělal a že se nyní můžu věnovat dalším projektům, které mám rozdělané s Poisonem a PG. Á propos. Náš milovaný PG se spolupodílel na všech čtyřech hrách, co jich Čechoslováci letos do ABBUCu poslali. Ve třech případech jako grafik, u Milk Nuts jako autor sfx. Tady se konečně ukazuje, na kom vlastně veškerá Atari scéna v našich končinách stojí. Respektive s kým stojí a padá. Dílko Ocean Detox z dílny dua MaPa & PG bylo totiž (dle vyjádření prvně jmenovaného) dokončeno pouhé čtyři hodiny před deadlinou hlavně z důvodu, že všechno vytrvale brzdil právě tradičně silně časově zaneprázdněný PG...

Mimochodem. Doufám, že se nikdo z vás, kdo toto čtete, nedívá v TV na ty sračky, které jsem si v titulku dovolil mírně parafrázovat. Protože to se pak jako neznáme. OK?

Programovací jazyk Famfrlon (11/08/2010)

Revoluce právě začala!! Po více než roce práce se nám s Rasterem konečně úspěšně podařilo na osmibitová Atárka naportovat programovací jazyk Famfrlon (v anglickém originále Phamphrlon)! Co to znamená? Že od teď bude moct na Atari úplně kdokoliv udělat úplně cokoliv, aniž by musel rozumět tomu, co vlastně dělá. Inspirací pro tento historický krok se nám samozřejmě stal nástroj G2F, pomocí kterého kdejaký matlák obšlehne z C-64 obrázek, vylepší ho miliónem DLI a PMG objektů a pak všechny otravuje, proč z toho nejde udělat hra a hlavně kdy to jako teda bude. Tomu je teď definitivně konec. Pomocí Famfrlonu uděláte z G2F hru pár příkazama a když na to přijde, vlastně ani G2F nebudete potřebovat. A vůbec nejlepší na tom je, že ani nemusíte umět programovat! Právě proto také Phamphrlon v roce 2008 vzniknul. Jeho autor Iam Porker si dal za cíl umožnit komukoliv vytvořit si na počítači cokoliv, na co jen pomyslí, a po šesti letech práce dopsal na podzim 2007 první beta verzi Phamphrolonu. První úloha, kterou mu zadal, bylo vytvořit lepší verzi sebe sama, což Phamphrlon v březnu 2008 úspěšně dokázal, čímž vnikla první a zatím bohužel poslední oficiální public verze. Jediná drobná potíž je, že Phamphrlon, jakožto SW, který umí úplně všechno a možná i mnohem víc, dokáže s rozumnou odezvou jakž takž běžet pouze na centrálním superpočítači NASA. Ono není divu. Jediný dostupný public release má přes 38000 TB (komentované zdrojáky mají ještě cca stokrát tolik) a minimální požadavky na HW jsou 4096 procesorů. Naštěstí nás s Rasterem napadlo ze zdrojáků vysekat všechno nepotřebné a nechat tam jenom tu část, věnovanou osmibitovým počítačům Atari. To nám zabralo skoro deset měsíců, pak jsme to tři týdny pod MADSem kompilovali a minulý týden v úterý ráno jsme konečně měli v ruce funkční binár spustitelný na Atari. Protože jsme dopředu tušili, že HW nároky Famfrlonu, jak jsme si Phamphrlon pojmenovali hezky česky, budou i na Atárku obrovské, dostal Bob!k už s dostatečným předstihem za úkol vymyslet a zrealizovat upgrade Atari 130XE na 4 TB paměti, což se mu podle očekávání podařilo, a tak všichni tři od minulého úterý neděláme nic jiného, než že pomocí Famfrlonu generujeme další a další nové úžasné hry. Jedna taková megagamesa je pod Famfrlonem hotová zhruba za čtyři hodiny, menší hry na úrovni asi tak Zybexu jsou hotové do hodinky. A jak to celé funguje? Do zdrojového kódu se prostě napíše příkaz "VYGENERUJ HRU" a už to jede. Jelikož Famfrlon nemá žádnou pevnou jazykovou strukturu, to proto, aby ho mohl používat úplně každý počítačový analfabet, a jeho překladač proto rozumí všem možným i nemožným příkazům, které si jenom dokážete vymyslet, měl by stejný výsledek i příkaz "UDĚLEJ MI GAMESU" (ano, Famfrlon samozřejmě zvládá bez potíží i češtinu), "CHCI HRU A TO HNED TEĎ!" atd. Ale pozor. Příkazem "VYGENERUJ HRU" sice získáte na výstupu překrásnou gamesu, ale protože Famfrlon neví, jakou hru přesně chcete, vytvoří náhodně něco, co ho zrovna napadne, z čehož můžete velice snadno a hlavně poměrně rychle zfamfrnět. Proto jsou tu parametry příkazů. Chcete-li udělat vesmírnou střilečku pro dva hráče se super muzikou a mistrovským titulním obrázkem, musíte to Famfrlonu nějak sdělit. To pak stačí napsat následující příkaz: "VYGENERUJ VESMÍRNOU STŘÍLEČKU (PRO DVA HRÁČE, SE SUPER MUZIKOU, S MISTROVSKYM TITULNÍM OBRÁZKEM)". Myslím, že už ale tušíte, že i tentokrát můžete dostat výsledek, který vás zcela neuspokojí. Hra třeba nebude pro dva hráče současně, bude jenom pro paddles a půjde spustit pouze na Atari 130XE. Ze zkušenosti už víme, že je Famfrlonu opravdu potřeba přesně specifikovat, co chcete, čímž sice přiměřeně roste velikost zdrojáku, ale na některých věcech se prostě šetřit nedá. Famfrlonu se také nechá předhodit už hotový obrázek či hudba a on kolem toho postaví hru nebo demo. Tato nepřekonatelná funkce jistě potěší především lidi jako je José Pereira. Stačí napsat "NAHRAJ G2F OBRÁZEK (Z DISKU)" a "UDĚLEJ Z NĚJ HRU (DOST DOBROU)" a máte vystaráno. No není to úžasné?

Zprávy ze společnosti (13/07/2010)

Nějak se to seběhlo, že podruhé ve velice krátké době mám o čem psát do blogu. A pokud jsem se tu v pátek brutálně vychválil, tak dneska tomu nebude jinak. Začnu včerejškem. Notně povzbuzen úspěchem s Planet Smashers jsem skočil na další nevyřešený ošklivá věc nepěkný případ na Atari 7800. Tentokrát jsem si podal gamesu Joust, perfektně zpracovanou verzi legendární coin předlohy z roku 1984. Už nějakou dobu bylo známo, že se v bináru této hry nachází grafická data se jménem autora, akorát se nevědělo, zda a pokud vůbec je lze nějak dostat na obrazovku. Nyní již o tom pochybnosti nejsou, protože kolem cca půl jedenácté večer jsem na to přišel, a to navzdory tomu příšernému horku, které mému sexy mozečku rozhodně moc nesvědčí. Musím ale přiznat, že na aktivaci tohoto klasického velikonočního vajíčka jsem přišel více méně náhodou. Jak jsem se tak probíral zdrojákem v beznadějné snaze najít alespoň nějakou stopu, zaujala mě část kódu pro vykreslovaní titulního obrázku. Autor Pete Gaston to dělá příšerně složitě a abych to pochopil, vyhodil jsem tam pokusně ve smyčce jeden zápis do paměti, což mělo naprosto neočekávané následky. Pod nápisem Joust se objevila hledaná grafická data! Byl jsem z toho hodně dlouhou dobu hodně zmatený (víc než obvykle jsem) a až později mi došlo, že jsem nechtěně obešel část kódu, která mimo jiné inicializovala nižší bajty screen memory. I hledal jsem, kde jinde se ještě na inkriminované paměťové buňky zapisují jiné než inicializační hodnoty a brzy jsem objevil kód vlastního vajíčka. Jeho aktivační sekvenci jsem pak odhalil po zhruba hodině a je to teda opravdu originální. V title screen je třeba stisknout klávesu select, poté třiapadesátkrát (!!) za sebou jít joystickem jedna dolu a nakonec ještě jedenačtyřicetkrát doleva. Hahahaha. Přesně devadesát čtyři pohybů joystickem, ani o jeden míň nebo víc, což je zvlášť na real HW, vzhledem k notorické nespolehlivosti joysticků, pěkně hnusná záležitost. Odměnou je zprava doleva scrolující nápis Pete "kid" Gaston. Scrolování je děláno dekrementací již zmiňovaného nižšího bajtu screen memory, takže já jsem se jinými slovy při svých pokusech zcela haluzoidně trefil někam doprostřed scrolovacího cyklu, což mě navedlo na správnou cestu k odhalení jednoho čtvrt století starého easter eggu. Vitat Fandal!

Další věc se udála kolem půlnoci, ale to už jsem spal, takže na mě čekala v poště až ráno. Psali mi z ABBUCu, že jsem vyhrál cenu pro nejlepšího Atari programátora za rok 2009. Myslím, že ABBUC letos vypsal soutěž o nejlepšího hudebníka, grafika, programátora, hru, utilitu, demo a zvukové efekty podruhé nebo potřetí v historii a o vítězi jednotlivých kategorií se rozhodovalo hlasováním na jejich webu. Mně k vítězství stačilo naprosto směšných pět hlasů, čili vypovídací hodnota takové ceny je téměř nula. Však taky není spojená s žádnou finanční výhrou, člověk se akorát dočká chvilky slávy v tištěném ABBUC magazínu a případně si může vytisknout a následně celý byt polepit docela hezkým "diplomem", co ABBUC pro každého vítěze připravil. To myslím v mém případě nebude nutné. Jednak moc dobře vím, že nejsem nejlepší programátor na osmibitovém Atari, to jako ani náhodou, a hlavně mi bude naprosto stačit, když si tu "placku" strčím sem. Docela hezké, co?

A ještě třetí zprávička, kterou se pro dnešek kruh dokonale uzavírá, protože se týká opět Atari 7800. Borec známý na AtariAge pod nickem CPUWIZ mi za 60 USD vyrobil carty skvělých (a nikdy nevydaných) stříleček Plutos a Sirius. V ceně jsou i krabičky s naprosto úchvatným potiskem a podle poslední zprávy jsou už na cestě přes oceán. Docela se na ně těším! Od letošní PLatariády mám díky Bob!kovi upravenou svoji NTSC konzolku na s-video výstup a konečně si tak můžu na skutečném železe zahrát i nePALovské hry, což je případ i těchto dvou smažeb od Tynesoftu. Plánuju se s novými přírůstky do sbírky pochlubit na Fujiamě v Německu, kde podle všeho ale bohužel nebude Bob!k, aby si je taky zahrál, o což před nedávnem z nějakého prazvláštního důvodu projevil zájem. Škoda Bobe, budeš si muset počkat minimálně do Bytefestu.

Planet Smashers (09/07/2010)

Svého času jsem poměrně vážně koketoval s myšlenkou, že se začnu věnovat programování na pozoruhodné a silně nedoceněné konzoli Atari 7800, protože jí pohání stará dobrá 6502 a v podstatě bych se potřeboval pouze seznámit s fungováním grafického čipu Maria. K tomu ale zatím nedošlo a v dohledné době asi taky nedojde. Na 7800 tedy stále zůstávám na pozici pouhého gamesníka. Respektive byl jsem jím až do dnešních velmi časných ranních hodin, kdy jsem konečně rozlousknul jednu dvacet let starou záhadu a tím jsem postoupil do další úrovně. ;) Podařilo se mi totiž odhalit, jak ve hře Planet Smashers aktivovat skrytý nesmrtelný mód, který tam schoval autor James Zalewski. Byl to právě on, kdo v jednom rozhovoru existenci tohoto velikonočního vajíčka prozradil, ale jak ho aktivovat, to už si po těch letech nepamatoval. Vyřešit celé mystérium se mi podařilo za pouhé tři dny. Nejprve jsem potřeboval vědět, jak na 7800 fungují switchovatelné 128 kB carty, kam se mapují a tak. S tím mi poradil GroovyBee z AtariAge. Pak přišel na řadu RSDIS, pomocník nejvěrnější, to abych měl v ruce zdroják. To byla ta lehčí část. Horší bylo, že nejlepší Atari 7800 emulátor ProSystem nemá žádný monitor, ve kterém by se dalo trochu experimentovat. Naštěstí jsem zjistil, že save z tohoto emulátoru je de fakto celá paměť plus pár informací navíc, takže s pomocí hexaeditoru se nechá save poupravit, nahrát a koukat, co se bude dít. Touto drsnou metodou pokus omyl jsem byte po bytu prověřil celou část nulté stránky přístupnou programátorovi a kromě jiného jsem objevil proměnnou udávající stav štítu. Ve zdrojáku jsem poté našel jediné místo, kde se tato proměnná dekrementuje:

$F6E7






$F6F6

$F6FB



$F705
lda #$01
sta $BA
dec $7E ; štít o jednu dolu
bmi $F6FB
bne $F6F6
lda #$FF ; štít je na nule
sta $1AF9 ; zapni varovné blikání!
inc $86
jmp $DE5D
inc $7E
lda $1A74
beq $F705
jmp $DE5D
lda $75

Ti nejbystřejší z nejbystřejších (jako Raster nebo Bob!k a další jedinci s IQ vysoko přes $80) už to možná vidí. Ano. Když se štít dostane pod nulu, skočí se na $F6FB, proměnná se vrátí na původní hodnotu, otestuje se stav paměťové buňky $1A74 a při její nenulovosti se nepokračuje dál na $F705, ale skáče se pryč na $DE5D. Že by $1A74 byl flag na aktivovanou nesmrtelnost? Rychlá zkouška a je jasno. Je! Zalewski nekecal!! Teď ještě přijít na to, jak jí nastavit. Chvilka zkoumání a už jsem věděl, že se tak děje při toplistu. Zase jsem disassembloval a s pomocí literatury jsem zjistil, že tam cosi řeší se stavem left a right difficulty přepínačů. Než jsem to ale celé pochopil do posledního bajtu, strávil jsem nad tím nějaké tři hodiny, protože jsem nikdy před tím nic na Atari 7800 prostě nedělal. Nejprve jsem samozřejmě zvítězil na dvě etapy v emulátoru, poté jsem vše úspěšně zopakoval i na skutečném železe. V první fázi jsem obešel stav flagu na adrese $1AFF, který musel mít nejvyšší bit na 1, aby testování přepínačů vůbec nastalo, a až poté jsem lámal jeho nastavování. Zde je výsledek pátrání. Chcete-li ve hře Planet Smashers aktivovat nesmrtelnost, musíte učinit následující kroky:

1) levý přepínač obtížnosti nastavit do pravé polohy a pravý do levé
2) při zapnutí konzole podržet tlačítko Pause (čímž se adresa $1AFF nastaví na hodnotu $FF)
3) počkat, až se objeví toplist, a při výpisu čtvrtého nejlepšího skóre bleskově najednou přehodit oba přepínače do druhé polohy.

Tím by mělo dojít k aktivaci nesmrtelnosti, což se projeví tak, že se pod toplistem vypíší jindy jinak nedostupné credits. Pokud se vám to nepodaří na první pokus, nezoufejte. Opravdu to chce určitý trénink a hlavně dobré načasování.

Neskromně si dovolím tvrdit, že jsem zase jednou těžce zabodoval. A to na konzoli, o jejímž vnitřním fungování nevím prakticky nic. Asi si o sobě vážně začnu myslet, že jsem opravdu dost dobrej. Ne, moment, to si vlastně myslím už teď. Tak jinak. Založím si blog, kde se pravidelně budu naprosto nehorázně vychvalovat, co všechno umím a jakej že jsem borec! Safra, taky ne, to již vlastně dělám nepřetržitě od podzimu 2007. Co si teda počnu? Asi zůstanu dál obyčejným Ataristou, jenom jedním z mnoha.

RAM 320XL (25/06/2010)

Doufám, že jste to všichni zaregistrovali, ale pokud snad ne nebo vám dělá angličtina poněkud potíže, měli byste podle mého názoru opravdu zpozornět. Kolega Ctirad totiž vymyslel, zrealizoval a nyní již přijímá objednávky na geniální HW udělátko pod názvem RAM 320XL. Jedná o se externí rozšíření paměti strojů 600XL a 800XL na 320 kB. Slovíčko externí je mimořádně důležité. Prostě koupíte krabičku, zasunete jí do Atárka a čáry máry fuk, máte počítač s rozšířenou pamětí bez nutnosti jakéhokoliv pájení na desce. Na stejném principu funguje i modul Atari 1064, který se kdysi vyráběl kvůli rozšíření paměti strojů 600XL na 64 kB, ale tento Ctiradův vynález je mnohem mnohem lepší. Dokáže totiž také pomocí jumperu zcela vypnout interní paměť počítače a kompletně jí přemapovat do externího zařízení, což se velmi hodí v případě, že vnitřní paměť z nejrůznějších důvodů nefunguje. Opravdu jednoduchý způsob opravy nefunkčního počítače, jen co je pravda! Cena celého zařízení ve formě osazeného plošňáku byla stanovena na 25 Euro, v krabičce pak stojí 30 Euro (bez poštovného). Naneštěstí je tu jeden malý zádrhel pro majitele strojů 800XL, které bohužel mají přímo od výrobce jinak zapojený PBI port, kde (narozdíl od 600XL) chybí napájení. Tuto nepříjemnost je třeba obejít buď kablíkem zapojeným do joystickového vstupu (Ctirad ho prodává za tři Eura) nebo si napájení do PBI portu vyvést z desky. Ve vývoji je i modul RAM 320XE určený speciálně pro mašinky 800XE a 130XE, který se bude zapojovat zároveň do portu pro cartridge a expansion portu. Bude sice stát o něco víc peněz, ale bude se opravdu jednat o čistokrevné zařízení plug and play, žádné problémy jako u 800XL se konat nebudou. Realizovatelný je i modul RAM 576+, ale to už je interní zařízení vyžadující trochu toho pájení. Více informací a například i fotografie funkčního zařízení RAM 320XL najdete v oficiálním threadu na AtariAge, kde je také možno si Ctiradův udělátor objednat. Pokud nemáte na AtariAge konto a přesto si chcete zařízení koupit, kontaktujte mě emailem a já ho přepošlu na příslušné místo. A protože si myslím, že by Ctirad rád věděl, jak je to v Čechách a blízkém okolí se zájmem o jeho výtvor, mám tu pro vás po delší době anketku.

Je pro vás zařízení RAM 320 zajímavé?
ano, chtěl bych RAM 320XL
1039
ano, chtěl bych RAM 320XE
745
ne, nemám zájem
532

Donkey Kong (07/06/2010)

Jak to lidi jenom děláte, že jen co dokončím jednu věc, tak se někdo přihrne s další? A kolikrát ani nečekáte, až stávající projekt dorazím a hned abych se věnoval něčemu jinému? Jako třeba před dvěma týdny. Sotva jsem se vymotal z kódování na projektu "M", vzpomněl si přítel Kjmann, pro kterého jsem v dubnu upravoval na NTSC Warhawka, že by potřeboval hackout hru Donkey Kong. Že prej se mu nelíbí stávající zvuky a muzika. A že prej jeho vylepšená verze udělaná v RMT tu gamesu teprve postaví na nohy. No neodmítněte takovou prosbu! Nebo spíše raději odmítněte, protože to, co na začátku vypadá jako poměrně snadný úkol, se velmi rychle změní v zatraceně zdlouhavou a pracnou záležitost. Začal jsem samozřejmě tím, že jsem si pomocí RSDISu udělal zdroják. Jenomže mít zdroják vzniklý zpětným inženýrstvím je jedna věc a rozumět mu věc druhá. Kdo někdy dělal v assembleru, ví moc dobře, že po pár týdnech je problém chápat svůj vlastní kód, kde jsou k dispozici alespoň více méně lidsky pojmenované návěští a proměnné, natož pak bez jakýchkoliv takových pomůcek luštit kód někoho jiného. Přiznávám se rovnou, že jsem se o něco takového ani nesnažil. Spokojil jsem se s tím, že jsem vypozoroval, jak v hodně hrubých rysech funguje rutina přehrávající originální zvuky. V podstatě je to tak, že se vše děje přes nějaké inicializační zápisy do čtrnácté stránky paměti ($0EXX). Odchytnout ten správný zápis na tu správnou adresu nebylo ovšem vůbec jednoduché. Musel jsem různě šachovat s breakpointama, dělat si záznamy běhu programu a přitom nahlížet do zdrojáku a hledat kde, co, jak a proč. Bylo to pomalé a otravné, nicméně krok za krokem jsem původní hudbu a sfx postupně nahrazoval jejich RMT ekvivalentama. Každou chvíli jsem přitom ještě otravoval chudáka Rastera, aby mi vysvětlil tu či onu vlastnost RMT editoru nebo playeru, na některé věci jsem se pro jistotu ptal vícekrát, protože jsem je buď napoprvé nepochopil nebo pochopil blbě, atd. Podobně vypadala v minulosti více méně všechna moje setkání s implementací RMT do mých programů, ale tentokrát si myslím, že jsem do toho (díky Rasterově nekonečné trpělivosti) alespoň trošičku více proniknul. Nebo alespoň v to doufám. Úspěšný konec celé pakárny s Donkey Kongem přišel tento víkend, kdy jsem ještě nad původní plán vylepšil ve hře na přání zákazníka několik detailů, aby se verze pro naše osmibitová Atárka ještě více přiblížila originálu z automatů. Šlo hlavně o to, že v arcade verzi nenarazí Mário hlavou do objektů nad sebou přesně v okamžik prvního doteku. Je tam zkrátka určitá tolerance, minimálně kontakt objektu s jeho čepicí se za náraz ještě nepovažuje, což dělá gamesu o něco hratelnější. Kjmann je podle všeho s mým hackem zcela spokojen, protože už ho začal oficiálně prodávat na své nové sajtě, kam z eBay přesídlil svůj internetový obchůdek. Nevím sice, proč má chuť investovat tolik úsilí do prodeje cartů pro Atárka a ani nevím, proč to vlastně ještě někdo kupuje, ale asi mu to dělá radost nebo co. Když už jsem u tohoto tématu. V sobotu jsem zase po delší době brouzdal po serveru GoodDealGames, abych se podíval, jestli náhodou nemají opět k prodeji vynikající hry Sirius a Plutos pro Atari 7800, které jsem (já vůl) nekoupil, když to ještě šlo, a při té příležitosti jsem zabloudil i do sekce Atari 5200. A co nevidím! Borci tam normálně prodávají mou freeware hru FreeCell, kterou jsem kdysi napsal pro osmibity!! Před pěti lety sice FreeCellXE s mým svolením Classics (autor skvělého APE) na pět dvojku předělal a pustil do světa image cartu, ale že to jednou bude někdo komerčně prodávat, to jsem teda netušil. Taky by mě docela zajímalo, co přesně dělá cart "Raster Music Tracker" nabízený na stejném místě a zda i Raster nebude poněkud překvapen, že něco takového pro Atari 5200 existuje. Že bych teď GoodDealGames zažaloval a pěkně po americku žádal milióny dolarů odškodné?! Hahahaha. To asi ne. Takový já nejsem a všichni do toho Atari přece děláme hlavně pro zábavu. Ale až si od nich budu něco kupovat, zkusím se na celou záležitost optat. Ušlý tučný zisk za FreeCell si zatím vykompenzuju na mojí poslední hře Diamondz, kterou Kjmann chce taky prodávat jako cart. Ono ho to opravdu musí bavit, to jinak není možný.

Konečně, konečně!! (14/05/2010)

Mám rovnou dvě neuvěřitelné zprávy. Nejdřív tu větší: po téměř pěti letech jsem více méně dokončil šílený projekt "M", do kterého jsem se z mladistvé nerozvážnosti kdysi s Flyem pustil. Předělávka jisté hry z NESu je od čtvrtka 6. května 2010, kdy jsem úspěšně naimplementoval poslední důležitou feauturu, plně hratelná a v současné době se už pouze odlaďují menší drobné chybky. V podstatě zbývá jenom dodělat sfx, které slíbil připravit Raster, a celé to prásknout na bootovací disketu. Pro veřejnost bude ale celé dílo dostupné až někdy na podzim, protože se s ním hodlám zúčastnit ABBUC SW Compa 2010. To sice letos opět vyhraje Raster, který si ve vší skromnosti dopředu zamluvil první místo se svým nejnovějším megaprojektem, ale o druhou příčku bych se třeba mohl pokusit poprat. Ostatně, letošní ABBUC Compo bude podle všeho mít docela silné obsazení, i když víc prozrazovat nechci a nemohu. Ale zpět k "M". Pokud pominu jednoduché gamesky Astro(4) Road a Space Arena, tak to bude moje první plnohodnotná akční hra. Snad se bude líbit. Já sám už její kvality objektivně posoudit nemůžu, protože na ní prostě dělám až příliš dlouho. Lépe to budou moci ohodnotit betatesteři, kteří měli testovací verzi dostat již tento týden, jenomže Fly stále nedodal záznam jedné údajné chyby, takže se vypuštění betaverze stále odkládá. Ale i kdyby to zkritizovali sebevíc, já už na tom nic převratného měnit nebudu. Strávil jsem s tím strašlivé množství času a moje trpělivost a tvůrčí elán jsou definitivně zcela vyčerpány. Ono není divu. Pohled do historie říká, že první řádky zdrojového kódu jsem napsal na začátku srpna roku 2005, tedy před 58 měsíci! Poté jsem na projektu intenzivně pracoval až do června 2006 (!!), kdy moje zhnusení a únava dosáhly vrcholu a "M" byl odložen k ledu. Nejdřív to mělo být jenom na pár týdnů nebo měsíců, ale postupem času se moje motivace pokračovat definitivně vytratila. Je to jasně vidět z toho, že jsem se opět o něco málo krátce pokusil teprve v listopadu 2006 a pak znovu až v září 2009. Z projektu "M" se zkrátka a dobře stala noční můra. Prostě jsem se za boha nedokázal přinutit to dodělat. Vyhlídky na další a další nekonečné hádky s Flyem o každou maličkost plus vědomí, že zbývá dodělat vlastně nejsložitější věc, tj. UI počítače, mě úplně děsily. K tomu všemu jsem pak tuším zhruba před dvěma roky konečně zjistil, že nepracuju na zbrusu nové originální hře, jak jsem se do té doby domníval, ale na předělávce z NESu. Ano, vážení přátelé, já to skutečně celou tu dobu nevěděl! Za vše mohla mizerná komunikace s Flyem, která mimochodem měla za následek celou řadu menších či větších nedorozumění. Ovšem tohle byl jednoznačně největší trapas, co jsem za celou tu dobu zažil. Takže místo toto, abych udělal A8 verzi jedné gamesky z jiné platformy, jsem skoro rok vytvářel něco hodně podobného svému vzoru, ale v několika podstatných věcech dosti odlišného. To mě opravdu uzemnilo. Vůli dokončil projekt "M" jsem znovu našel až v polovině září loňského roku, kdy jsem se zařeknul, že to už zkrátka dodělat musím, ať od toho mám jednou provždy klid. Do práce jsem se ale musel brutálně nutit a narozdíl od let 2005 a 2006 jsem na tom dělal již ne skoro každý den, lébrž v lepším případě každý víkend. Pěkně od září až do letošního ledna, kdy jsem práci přerušil kvůli projektu "Diamondz", a poté zase znovu od konce dubna. Suma sumárum to byl totální masakr, jinak se to nazvat nedá. Protože patlat něco pět let, to je skutečně na pováženou. Naštěstí je to již zdá se opravdu šťastně za mnou. Mám z toho neskutečnou radost. Zase můžu volně dýchat!

Jo a teď ta druhá bomba. Nebo alespoň věřím, že pro mnohé z vás to bude překvapivá zpráva. Raster se mi dneska po poledni pochlubil s jedním šokujícím odhalením v klasickém hitu H.E.R.O. od Activisionu. Jde o to, že bariéry v této hře, které troufnu si říct drtivá většina lidí ničí bombama, jdou rozstřílet! Nevěříte vlastním uším, respektive očím? Taky jsem nevěřil. Ale je tomu opravdu tak. Když se do bariéry dostatečně dlouho střílí, začne se postupně bortit, až zmizí úplně. No to mě teda podržte, ať se neskácím ze židle! Když si jenom vzpomenu, kolikrát já jsem nějaký level v této vynikající gamese nedohrál jenom proto, že mi došly bomby, a teď se dozvím takovouhle zprávu! Říct mi to někdo před dvaceti lety, asi bych mu radostí zkopíroval jednu kazetu Sony plnou her pro Turbo 2000 zdarma! Čeho všeho se člověk na stará kolena nedočká...

Warhawk (22/04/2010)

Hra Warhawk je jednou z vůbec nejlepších stříleček na osmibitovém Atari, na tom se snad všichni shodneme. Kdo nikdy nehrál Warhawka, nemůže si podle mne říkat Atarista. Má to ale přece jenom jeden maličký háček. Tuto šílenou pařbu vydal v roce 1986 britský Firebird, čili hra pochází ze země s PAL standardem a autoři si bohužel nelámali hlavy, zda Warhawk bude chodit i na NTSC. A on taky že nechodí. Dost lidí z USA a okolí to samozřejmě vždycky hodně mrzelo, protože vlastně až do nástupu emulátorů si tuto gamesu prostě nezahráli. Nevím, jestli se někdo v minulosti pokusil Warhawka pro NTSC upravit a uspěl při tom, ale pokud ano, není mi to známo. Známo to podle všeho nebylo ani Kjmannovi, což je človíček stojící za Atlantis Games Group, která má na svědomí například výbornou hru Tempest Xtreem a který si na eBay rozjel takový menší internetový obchůdek zaměřený na osmibitová Atárka. A tak se milý Kjmann rozhodl, že s tím něco udělá. Respektive že si najde někoho, kdo s tím něco udělá za něj. A nebylo náhodou, že volba padla na mou maličkost, bezpochyby díky mojí zasloužené mezinárodní reputaci člověka, který dokáže na A8 prakticky cokoliv cracknout, hacknout či fixnout. I ujal jsem tohoto úkolu s vědomím, že failure is not an option, jak by asi Kjmann hezky po americku řekl. Titulní obrazovku jsem fixnul rychle. Ono krásné pohyblivé hejno hvězdiček tam totiž autor počítá ve VBI, což se na NTSC nedalo stihnout, a tak jsem inkriminovaný výpočet hodil do DLI. Jak primitivní, ale jak účinné! Vlastní hra byla poněkud tvrdší oříšek. Příčinou všech potíží bylo opět přííííííšerně dlouhé VBI, které na NTSC nemělo šanci fungovat. Vůbec VBI na NTSC, to je sranda největší. 60 Hz stroje zde mají oproti našim 50 Hz mašinám vlastně minimum času a já skutečně obdivuju všechny ty kodéry, co psali a píšou primárně pro NTSC. Klobouk dolu! Ale zpět k tématu. Jak tedy fixnout game engine Warhawku, aby chodil i na NTSC? Nejprve jsem všechno, kromě kopírování shadow registrů, přesunul z VBI na konec DLI, ale ani to nestačilo. Ke slovu proto musely přijít optimalizace. Díky Rasterovu profileru bylo jasné, že nejvíc času žere překreslování PMG objektů, což je ve Warhawku kromě pozadí úplně všechno, co se nějak hýbe. Proto jsem se zaměřil právě tímto směrem a za morální podpory Bob!ka, který se tentokrát (narozdíl od projektu Mean 18) optimalizování kvůli časovému vytížení před rychle se blížící Atariádou nemohl zúčastnit, jsem postupně dotlačil kód do stavu, kdy i game engine běží bez problémů na NTSC strojích. Ve finální verzi jsem vypnul ROMku, pod kterou jsem si vygeneroval unrolled mazací rutiny PMG oblastí, zatímco kreslící rutiny PMG objektů jsem poměrně slušně vyoptimalizoval. Kromě toho jsem upravil či zcela přepsal i pár rutin, které se zápisem do PMG přímo nesouvisely, ale které se v každém VBI, resp. u mě v DLI, pořád dokola opakovaly. NTSC verzi Warhawka tak nyní může Kjmann na eBay nabízet jako cartridge, což pro našince jaksi nemá příliš smysl. Ale přesto je tu ještě jedna drobnost, která by mohla udělat radost i lidem z krajin, kterým vládne velký PAL. Jak jsem tak pořád dokola ten Warhawk hrál a testoval, všimnul jsem si jedné nemilé bugy, která je už v originálu. Když se totiž hned na začátku levelu něco v nesprávnou chvíli trefí, hra v lepším případě skončí hláškou game over, v horším případě úplně spadne. Schválně si to zkuste sami. Stáhněte si někde jakoukoliv verzi Warhawka, nahoďte si v emulátoru autofire a prostě hru pusťte bez jakýkoliv akcí s joystickem, jen s puštěným autofirem. Hned v prvním levelu po pár sekundách trefíte přesně uprostřed jednu alienovskou loď a hup, bezdůvodně na vás vyskočí game over. Trapas! Naštěstí jsem tu já, abych tuto drobnou závadu opravil. Takže od dnešního dne je u mě na sajtě fixnutá verze Warhawka, se kterou se můžete pro mě za mě ustřílet k smrti.

No, koukám, že jsem se zase jednou opravdu hezky pochválil. Jojo. Tuhle práci za mě prostě nikdo neudělá, to si musím poctivě oddřít sám. Ještě, že ten blog mám.

Záhada vyřešena! (13/04/2010)

Jak jsem minule psal, došlo při testování mojí nejnovější hry Diamondz na real HW k nečekanému problému. Titulní obrazovka nefungovala jak měla. Konkrétně docházelo k boření obrazu v místech, kde se odraz nápisu Diamondz jakoby vlní na vodní hladině. Problém jsem sice nakonec vyřešil, ale stále nebylo jasné, co je příčinou. Na Atariádě jsem proto uctivě oslovil Bob!ka, na slovo vzatého A8 odborníka, zda by se na to nepodíval. Čučeli jsme na to spolu zatraceně dlouho, zkoušeli jsme možné i nemožné, ale i poté, co se k nám připojila Atari legenda Jirka Bernášek, jsme se k vyřešení problému prokousávali jenom velmi pomalu. Když jsem šel kolem třetí hodiny ranní spát, bylo už jasné, že k borcení obrazu dochází v momentě, kdy se v jednom mikrořádku zapisuje do registru horizontálního rolování hodnota posunu #06 a hned v následujícím mikrořádku hodnota #03. Druhý den ráno mě pak vědecká rada ve složení Bob!k & Bewesoft seznámila ústy druhého jmenovaného s oficiálním výsledkem svého vyšetřování. Nuže, zde je: pakliže na jednom mikrořádku zapíšeme do registru horizontálního rolování dvě různé hodnoty, zmateme tím Antic natolik, že po inkriminovaném mikrořádku načte následující instrukci pro display list odněkud nevím odkud, čímž se samozřejmě ve finále zobrazí úplně něco jiného, než si člověk v display listu nadefinoval. V mém případě k těmto dvěma zápisům do $D404 docházelo v rámci jednoho mikrořádku právě při zmiňované kombinaci dvou různých posunutí ve dvou po sobě jdoucích mikrořádcích, která způsobila to, že druhý zápis, i když až po WSYNCu, vyšel tak dokonale nešťastně, že se ještě stihnul na konci mikrořádku, kde jsem zapisoval předchozí hodnotu #06. Zní to složitě, ale prostě jsem v rámci jednoho mikrořádku dokázal pekelnou náhodou zapsat na $D404 dvě různé hodnoty, čímž jsem daný problém vyvolal. Jirka Bernášek na zřejmě stejný zádrhel narazil již před lety při tvorbě nějakého svého dema a tehdy ani on netušil, proč se mu děje právě to, co se mu děje a nakonec musel celý plánovaný efekt vypustit. Odpovědi se vzácnou shodou okolností dočkal až nyní, kdy to už asi nejméně očekával. A jak sám řekl, neobjevili jsme žádnou chybu v HW osmibitového Atari, nýbrž vlastnost. Navíc jsme dost možná ani nic neobjevili. Třeba se už o tom dávno ví, jen o tom jaksi nikde nelze najít žádnou zmínku. Vše, co zde bylo řečeno, bylo odzkoušeno při šířce obrazu 48 bytů. Zatím není potvrzeno, zda problém nastává i při normální šířce obrazu.

A takhle naše půlnoční bádání podle fotodokumentace vypadalo, abyste viděli, že nekecám. S chytrou knihou v ruce Jirka Bernášek, do klávesnice svého notebooku se opírá Bob!k a já to celé ze zadního sedadla řídím.

Dokonáno jest (05/04/2010)

Tož přátelé, moje nejnovější hra je hotová. V pátek jsem poslal Rasterovi final verzi ke zveřejnění v novém čísle Flopu, které bude vypuštěno tento víkend na Atariádě. Logickou gamesku "D" se podařilo dát dohromady během dvou měsíců především díky PéGému, který stvořil velmi pěknou grafiku a hudbu. Současně to byl ale právě on, kdo se "postaral" o poněkud hektické dokončování celého projektu. Doslova na poslední chvíli si vymýšlel další a další vychytávky, z nichž hlavně ten efektík v titulní obrazovce jsem pak páchal už dosti se skřípením zubů. Taky RMT hudbu PG dodal až na poslední chvíli a jak už bývá jeho dobrým zvykem, jednalo se o pořádný ranec kilobajtů, což vedlo k naprosto kritickému nedostatku místa v paměti. Vše se nakonec vyřešilo tak, že kromě dat k levelům jsou kompletně zapakovaná i data pro title screen a rozbalují se až za jízdy, vždy, když se do titulky skáče. I tak je to brutál. Ještě nikdy se mi nestalo, abych s nějakou svou produkcí zaplácnul kompletně paměť od $0400 až po $FFFF. Ve finální verzi "D" zbývá po všech kompresích mezi datovými bloky cca půl kilobajtu volného místa plus ještě by se možná někde dalšího půl kila dalo ušetřit. Takže suma sumárum jsem sežral nějakých 60 kB! Neuvěřitelné. Ještě neuvěřitelnější je ale věc, která se mi stala s titulní obrazovkou při testech na real HW. Prakticky celá obrazovka odshora dolu je jedno velké přerušení a zhruba v jeho horní třetině si intenzivně hraju s horizontálním rolováním. No a na posledním mikrořádku, kde do horizontal scrollu zapisuju, se děje něco, čemu fakt nerozumím. Normálně tam posílám do registru horizontálního rolování hodnotu posunu následující konstrukcí:

LDA #hodnota
STA $D40A ; WSYNC
STA $D404 ; HSCROL

To samé dělám i ve všech mikrořádcích předtím, ale tady se to chová divně. V emulátoru je všechno naprosto OK, ale na real HW dojde od tohoto místa k velmi zvláštnímu zborcení obrazu. Skoro hodinu jsem se s tím trápil, než jsem přišel na to, že po WSYNCu je třeba před zápisem na HSCROL chviličku počkat (dal jsem tam jeden NOP) a teprve pak to funguje správně. To opravdu nechápu. Že by zápis v nějak mimořádně nevhodný okamžik? Nevím. Budeme se na to muset s kamarády specialisty na Atariádě pořádně podívat. Co se týče projektu "D", tak doufám, že si to pár lidí i zahraje a možná se dokonce někdo prokouše všemi 45 levely. Všem případným nadšencům přeji hodně zdaru!

Něco na čtení (30/03/2010)

Nestává se často, aby se na internetu objevily nové stránky o Atari v češtině, popřípadě ve slovenštině, tedy v jazycích nám všem bez překážek srozumitelných. Děje se tak maximálně jednou za uherský rok, který zdá se ovšem zase jednou dospěl ke konci své nedefinované periody. Dneska se v mojí poště objevil pozdrav ze Slovenska od Igora Grambličky, který nejen, že mi šlechetně nabídnul dvacítku kazet v Turbu, ale především mě poprosil, zda bych na a8.fandal.cz neupozornil na jeho zbrusu nové stránky o Atari. A já tak samozřejmě s radostí činím! Čili pokud vás zajímá především hardware řady XL/XE, neváhejte a spěchejte na Igorovy stránky, které záhy přidám i do sekce Links. Náš slovenský kolega se do toho pustil teprve před týdnem, ale za tu dobu již stačil vyprodukovat pěknou řádku článečků. Doufejme, že mu nadšení pro věc vydrží! To mě vede k následující výzvě: kdyby snad někdo hodlal Igorova příkladu následovat a spustil svůj vlastní web věnovaný Atari, rád mu zde udělám obdobnou reklamu. A to se jaksi rozumí samo sebou, že zcela zadarmo. I když pokud mi za to někdo bude (třeba i násilím) nutit peníze, asi taky neodmítnu. Musíme si přece pomáhat. Můj email myslím najdete velmi snadno (skrývá se pod tím zeleným slovem "Contact" vlevo od tohoto textu, hned pod slovem "Links", které je hned pod slovem "Emulators", které je hned pod slovem "Blog", které je hned pod slovním spojením "Fandal's Stuff", které je hned pod slovem "Demos", které je hned pod slovem "Games", které je hned pod slovem "News", které je hned pod logem Atari, nad kterým je horní okraj vašeho monitoru). To jsem zase jednou vtipný, až je to k pláči, ééééé, k smíchu, že? Mám totiž svoje důvody. Ale o tom až příště.

Dolary, dolary! II (15/03/2010)

Chvíli jsem váhal, zda se mám či nemám pustit do tohoto zápisku, protože jakožto vzácně skromný člověk mám problém se tu pořád dokola vychvalovat, ale nakonec jsem usoudil, že nelze jinak. Nuže, jsem dobrej. Už je to asi oficiální. Začalo to minulej čtvrtek. Úplně náhodou jsem na AtariAge narazil na dotaz, jestli někdo neví, jak na Atari 5200 ve hře Rescue on Fractalus aktivovat velikonoční vajíčko zobrazující jména autorů. Že prý by to mělo být na tom samém místě, kde se to dělá ve verzi pro XL/XE. Moje první reakce pochopitelně byla asi tato: "Jak jako ve verzi pro osmibity? Tam něco takového je?!" Tož jsem to okamžitě běžel vyzkoušet a ono fakt jo, nekecali. V obrazovce, kde se vybírá startovní level, se musí naklapat slovo "author", načež se řádky s last a high skóre přepíší jmény čtyřech machrů, co RoF spáchali. Data pro tyto skryté nápisy se nacházejí i v dumpu cartu pro 5200, takže panovalo důvodné podezření, že i zde existuje možnost, jak je vyvolat. To bylo samozřejmě něco pro mě! Bleskurychle jsem cart diassembloval pomocí geniálního RSDISu od Rastera a podezření se změnilo v jistotu. Nápisy tam byly, včetně kusu kódu, který je vypisoval. Horší bylo zjistit, jak se to celé aktivuje. Ale nakonec jsem to rozlouskl. Easter egg v RoF pro Atari 5200 se vyvolá pracným nastavováním počátečních levelů s následným potvrzováním butonem 5 na číselné klávesnici joysticku. Postupně je potřeba zadat levely 5, 12, 15, 16, 11, 13 a 14. Na AtariAge měli z mého objevu docela radost, prý jsem vyřešil jednu pětadvacet let starou záhadu. Jelikož však podobné historické úspěchy už prostě k mojí velikosti tak nějak patří, řekl jsem si rovnou o další případné mystérium a obratem ruky mi byla doporučena hra Ballblazer, opět ve verzi pro 5200. I zde je totiž ukryto velikonoční vajíčko, velmi podobné tomu z RoF. Ve verzi pro osmibity je třeba v úvodní části, když tam postupně nabíhají a mizí credits, hodně rychle naťukat staré známé slovíčko "author". Hodně rychle znamená během vysvícení jednoho nápisu, když to nestihnete, musíte začít klapat znovu od začátku. I ujal jsem dalšího velkého úkolu a nikoho by myslím nemělo překvapit, že jsem záhy uspěl. Tento egg se v Ballblazerovi pro 5200 aktivuje postupným naťukáním číselné řady 1, 6, 7, 2, 9, 4, 3, 8. A to opět v rámci jediného vysvícení credits, což už je poměrně drsné stihnout. Přece jenom slovo "author" se pamatuje a následně klape výrazně lépe než zmiňovaný sled čísel. A odměna za to všechno? Rovných sto amerických dolarů. Borci z Digitpressu totiž stále ještě neodpískali Easter Eggs Contest, kde se za nalezení velikonočních vajíček v klasických hrách vyplácejí poměrně zajímavé částky. V mém případě to bylo dvakrát po padesáti dolarech za nalezení vajíčka, jehož případnou existenci seznamy na Digitpressu ani neuváděly. Poctivě vydřených 100 USD bude věnováno na dobrou věc, to vás ujišťuju. Za dvacet euro jsem si v neděli pořídil Beetris pro Jag-CD, za $35 jsem už před nedávnem zakoupil gamesku Worm! pro 7800 a pro tentýž stroj brzy vyjde hra FailSafe, pokračování legendy Countermeasure. Čili nula od nuly pojde...

Help!!! (28/02/2010)

Ano, "Pomóóóóóóóóóc, pomóóóóóóóóóc!" volají často Ataristé z nejrůznějších koutů světa, když potřebují něco upravit, opravit, cracknout či rozchodit a já jim (někdy i s radostí) od jejich trápení pomáhám. Jsem prostě dobrák od kosti, a když vidím, že je někdo v problémech, většinou pomůžu. Je to zvláštní. Po světě stále ještě běhají desítky mimořádně (všeho)schopných Ataristů, přesto mám někdy pocit, že například na AtariAge se do podobných akcí, jako hledat chybu v programu nebo něco hacknout, nikdo nijak zvlášť nehrne. Přitom lidí, který by to dokázali, je hodně. Ale asi se jim nechce nebo co. To já skoro nikdy prosbu o pomoc neodmítnu, protože mi vysloveně dělá potěšení něco v emulátoru lámat. S breakpointy je to přece vysloveně snadné! Za poslední týden jsem tak například pomohl W1kovi ze Slovenska, Philsanovi ze Švýcarska nebo Flyovi z naší rodné pidizemičky. Posledně jmenovaný se rád moří s textovkami a nějak se nemohl prokousat hrama "Pirate Adventure cs" a "Help!!!" (Zaregistrovali jste ten grandiózní dvojsmysl s nadpisem dnešního zápisku? To jsem vymyslel sám! Bez keců. Fakt!), což bylo v obou případech způsobené chybami v programu. Naštěstí jsem tu byl já a trablům je konec. Více podrobností naleznete na adrese fly.atari.org. PDF návody na obě textovky doporučuju přečíst. Minimálně mě dokázal "tak trochu rozzlobený" Atarista Fly opravdu rozesmát. A jaké z toho plyne poučení? Pokud vás na vašem osmibitovém Atárku zlobí nějaký zlotřilý SW, obraťte se s důvěrou právě na mě. Moje zlaté ručičky jsou tu pro vás. Desítky spokojených zákazníků! Téměř stoprocentní úspěšnost! Naprostá diskrétnost! Rychlé služby! Nemožné na počkání, zázraky do tří dnů! To jsem já. Pokud vás trápí nějaký HW problém, také mě klidně kontaktujte. Já vám v klidu odpovím, že HW vůbec nerozumím. To aby bylo jasno.

Nová hra (12/02/2010)

Dobrá zpráva pro všechny čtenáře magazínu Flop! V nejnovějším čísle opět najdete zbrusu novou hru, pod kterou bude podepsán světoznámý Atari maniak jménem Fandal. Je to neuvěřitelné, ale stane se tak již devátý rok (!) rok v řadě, co právě a pouze ve Flopu bude zveřejněna moje nejnovější gameska. Tentokrát se bude jednat o logickou hru, předělávku jedné flashové záležitosti. Bude to poměrně jednoduchá věc, nic složitého, a to proto, že na napsání celé hry, resp. do vydání nového Flopu, zbývají v tuto chvíli skoro přesně už pouhé dva měsíce. Čili není čas na nějaké velké akce a času není nazbyt už jenom proto, že co nejdřív musím dokončit taky projekt "M", který v tuto chvíli zase (pokolikáté již) bohužel stojí. Myslím ale, že novou hru "D" se podaří dokončit bez problémů a poměrně záhy, protože právě před pár desítkami minut jsem dopsal poslední funkci do herního engine. Zbývá tak už "jenom" doklepat data pro zbývajících cca 25 levelů (hra by podle plánu měla mít celkem 50 úrovní), vyřešit systém hesel k levelům, dodělat stavový řádek a stvořit titulní obrazovku. To bude z kódování asi to nejpodstatnější, přidání hudeb (a případně zvukových efektů) už je maličkost. Na gamesce jsem spolu s PG, který do ní nakreslil úžasnou grafiku, začal makat před dvěma týdny, a protože se do práce nemusím (narozdíl od projektu "M") nutit, ba právě naopak, jde nám to hezky od ruky. Každý den se snažím něco přidělat a je to opravdu hezký pocit sledovat, jak mi gameska roste do krásy. Doufám, že se dílko bude líbit i širší veřejnosti. A kdyby ne, tak se alespoň zaplácne kus diskety pro Flop. :)

Arkanoid (13/01/2010)

Dneska se mi zase jednou povedla hezká věc. Upravil jsem nebo snad opravil, jak kdo chce, hru Arkanoid. Předpokládám, že jste tuto legendu na Atari všichni hráli. Já osobně jsem jí svého času hrával hodně a rád. Jako náctiletý jsem jí několikrát dohrál až úplně do konce, tj. podařilo se mi zabít i bosse. A to prosím pomocí joysticku, kterýž to se k ovládání této gamesky hodí podstatně méně než paddlata, se kterými je to opravdu, ale opravdu mnohem snazší. Dodnes si vzpomínám, že jsem za celou tu dobu, co jsem Arkanoida pařil, pouze jednou jedinkrát sebral bonus, který aktivoval tři současně létající kuličky, což je u původní verze hry z automatů naprosto normální věc. Tehdy jsem samozřejmě netušil, proč se tato skvělá funkce aktivuje tam stráááááááášně zřídka. Prozřel jsem až dnes večer, po nějakých dvaceti letech. Bylo to takhle. Na AtariAge se rozjela nová sezóna HSC neboli High Score Clubu, kde spolu lidé soupeří v Atárkovských hrách. A jako první gamesa letošního roku byl vybrán právě Arkanoid. To jsem si přirozeně nemohl nechat ujít. Na první pokus jsem se prosekal až k bossovi, na druhý se mi ho pak podařilo i zničit. Nato se kdosi zeptal, zda i v Arkanoidovi II a III je stejný boss. Obě hry jsou na první pohled modifikací původní předlohy, pouze mají jiné levely. Ale zda je tam jiný boss, to jsem opravdu nevěděl, protože jsem tyhle dvě verze nikdy moc nehrál, vlastně skoro vůbec. Ale řekl jsem si, že to zjistím. Tak jsem začal Arkanoida II hrát a úplně jsem zíral, že tam bonus "D", tj. tripple ball, padá úplně běžně. To mě fakt překvapilo a současně mi to vnuknulo nápad. Co takhle pokusit se zjistit, proč tomu tak je, když obě hry pohání stejný engine, a následně třeba fixnout původního Arkanoida, aby i tam byl tripple ball zcela normální fíčurkou? Od nápadu k realizaci je u mě vždy hodně blízko a tentokrát navíc i velmi rychle přišlo rozřešení celé záhady, milý Watsone. Porovnáním paměťových dumpů obou her jsem odhalil podezřelé místo na adrese $4EBE, kde původní Arkanoid má instrukci LDA $D40B, oproti instrukci LDA $D20A v Arkanoidovi II. Následovalo pár testů v emulátoru a bylo jasno. Ano, právě zde se čte náhodné číslo od nuly od šesti, které určuje, jaký bonus bude padat. V původní verzi je toto náhodné číslo odvozeno od čítače $D40B, který udává, na kterém vertikálním řádku je právě vykreslování obrazu. Bohužel je ale náhodné pouze teoreticky. Na adresu $4EBE se totiž skáče vždy těsně po vyvolání VBI, tzn. pořád v plus mínus hodně podobný okamžik, a pouze za velmi velmi speciálních podmínek je výsledné vygenerované číslo rovno čtyřem, což je právě tripple ball bonus. Ten je tak vlastně téměř vždy, řekl bych tak v 99,999 procentech případů, vyřazen ze hry. U Arkanoidu II se náhodné číslo čte z adresy $D20A, jejíž obsah je v daný okamžik opravdu více méně náhodný. Jakmile jsem toto zjistil, opravil jsem původní verzi Arkanoida a prásknul jsem jí na web. Tak šup šup, paříme!

Kvalitní pásky? (07/01/2010)

Z různých zdrojů se mi doma sešla pořádná hromada kazet v Turbu 2000 a já se tou příšerností ve volných chvílích zvolna probírám. Různě kvalitní záznamy pořízené na různě nastavených kazeťácích v kombinaci s různou kvalitou pásek z toho dělaji pěkně otravnou záležitost, zvlášť když spoustě kazet chybí popisky. Kdo ale jednou dělal s Turbem - a jako že kdo v bývalém Československu nikdy nedělal - ví moc dobře, o čem mluvím. Známe to všichni velmi dobře. Ale o nekonečném hledání začátků programů a věčných boot errorech, ze kterých by člověk vyletěl z kůže, tu dneska psát nechci. Zaujala mě jiná věc. Při procházeních tolika kazet, které většinou někde zapomenuté ležely nějakých dvacet let, jsem si nemohl nevšimnout, že některé značky odolávají zubu času lépe než jiné. O "legendárních" kazetách Emgeton se nemá cenu vůbec bavit, ty byly nespolehlivé už když vyjížděly z výrobní linky. Většina dat na ně nahraných je v současné době na hranici čitelnosti, nebo spíš za ní. Kromě vlastního počítačového záznamu se na Emgetonkách vesměs ozývá i šustění, skřípání a šelesty nemající s počítačovými daty nic společného. Prostě hrůza. Co se týče zahraničních značek, tak podle mých zkušeností si překvapivě dobře vede AudioStar, která se tuším vyráběla také někde v bývalém socialistickém táboře. Záznamy z AudioStarů se mi většinou daří číst poměrně dobře. Ze "západní" provenience bych jako nejhorší subjektivně ohodnotil Fuji. S těmito kazetami mám hodně špatné zkušenosti a úplně se děsím, aby na nějaké Fuji nebyla data hodná záchrany, protože velmi často nejsou k přečtení, sotva se otáčí a celkově je nemám rád. O něco lépe je na tom v mém žebříčku značka TDK, ale opravdu jenom o něco. Ani TDK nejsou po těch zhruba dvaceti letech zrovna synonymum pro spolehlivost. Něco z nich dostat je pracná záležitost, protože kolikrát odmítají spolupracovat. Zase o něco líp je na tom BASF. Někdy si Basfky taky postaví hlavu, ale řekl bych, že je s nima většinou poměrně málo trápení, i když výjimky se samozřejmě najdou. Úplně nejlepší zkušenosti mám pak s kazetami Sony, ať už řady HF nebo EF. Přijde mi, že pásky této značky se opravdu povedly. Většinou jdou v pohodě přečíst a nekladou odpor. Po takové době od pořízení záznamu vskutku obdivuhodné! Další značky, jako je Agfa, RAKS, Samsung, atd. nehodnotím, přece jenom se s nimi potkám hodně výjimečně a rukama mi proto neprošel dostatečný vzorek. Ale znovu opakuji. Že právě kazety Sony se mi jeví jako nejlepší a Fuji jako nejhorší záznamové médium, je čistě můj osobní názor. Je jasné, že zapřisáhlý uživatel TDK nebo BASF se mnou nebude nikdy souhlasit. S tím nic nenadělám. Stejně jako nikdo nenadělá nic s tím, že za starých dobrých dob na přelomu 80. a 90. let jsem vždy dával přednost značce Sony. Jsem rád, že už tehdy jsem rozpoznal nepopiratelné kvality těchto pásek. :)

| 2019 | 2018 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 | 2008 | 2007 |

Global Stats:

5001 games
3677 demos


(complete ZIP)

Search:
Top dowloads:

Games:
Cubico 12654
Lemmings 11293
Mind Blast 10527
HexxagonXE 10236
FreeCellXE 9970
Astro Road 9959
Another World 8163
0 Grad Nord 7802
Jaskiniowiec 7053
Janosik 6680

Demos:
Who Lost the Wallet? 10840
Sturbon Intro 10604
A Tribute to Quorthon 9500
404 Error 7405
1k Party 6850
Numen 6747
8k-Detro 6380
10 Jahre AMC 6354
500 Proc Intro 6240
3D Homer 6224

 


  a8.fandal.cz by Dharma, Fanatic and Fandal, 2004