Letos je tomu 40 let, co byl představen mikropočítač Tesla Ondra SPO-186. Zároveň je to 40 let, kdy František Fuka alias Fuxoft na ZX Spectru naprogramoval jednu z nejznámějších českých textovek Indiana Jones a chrám zkázy. A když se nám ta výročí tak pěkně sešla, proč je nespojit? No, tak přesně tohle moje motivace pro převod Jonese na Ondru nebyla 🙂 . Vyšlo to prostě náhodou.

Je celkem zajímavé, jak málo textových her pro Ondru existuje. Tedy ne že by na Ondru jiných typů her vzniklo nějak moc, ale u textovek je to o to zvláštnější, že to je žánr, který by mu mohl sedět. Osobně však vím pouze o dvou, tou první je jediná komerčně vydaná hra pro Ondru (ale jinak multiplatformní) Město robotů, tou druhou je konverze Bratrstva kočičí pracky od Petra Kaina, kterou „spáchal“ Jan Heřman ve spolupráci s Liborem Lasotou (více viz https://www.ondraspo186.8u.cz/?p=847).
No a teď se tedy počet textovek rozrůstá o dalších 50 % 🙂 . Abych to upřesnil – nejedná se o konverzi úplně původní verze hry z r. 1985 (bez hacku a carek), ale o pozdější verzi ze začátku devadesátých let, ve které byla do hry doplněna diakritika.
Indiana Jones a chrám zkázy byla asi první textovka, kterou jsem na svém Didaktiku Gama kdysi hrál. A byla to také první hra, kterou jsem zkusil na Ondrovi (resp. jeho emulátoru) rozjet, když jsem si tam naportoval ROM ZX Spectra. Ale výsledky nebyly nic moc. Ondrova pomalost při interpretaci Basicu způsobovala praktickou nepoužitelnost takového řešení. K Jonesovi jsem se vrátil v době, když jsem se zasekl u konverze hry Dizzy 3.5. A rozhodl jsem se, že to zkusím jinak. Když to nejde interpretací, tak to snad půjde kompilací… Jako kompilátor BASICu jsem zvolil Boriel Basic https://zxbasic.readthedocs.io/ – dříve Boriel ZX Basic (ze zvyku ho proto dále označuji právě jako ZX Basic). To je cross-compiler pro Basic, který využívá syntaxi vycházející ze Sinclair (Spectrum) Basicu. Jako primární cíl je tam opět ZX Spectrum, ale je možné si nadefinovat vlastní architekturu a tam si nahradit hardwarově/systémově závislé věci. Je tam však i dost odlišností, kvůli kterým je nutné zdrojový kód upravit a doplnit. Původně jsem chtěl do článku přidat popis toho, co bylo při převodu do ZX Basicu třeba řešit, ale jsou to dost technické a specifické věci. Pokud to někoho zajímá, ať se mi ozve např. na fóru oldcomp.cz.

Díky kompilaci má hra slušnou rychlost, řekl bych, že se hraje pohodlněji než originál. Zobrazovací rutinu textu je dokonce nutné trochu brzdit, aby byl patrný původní efekt vypisování „po slovech“ se zalamováním. Chybějí však samozřejmě barvy, ty ovšem nemají ani v původní hře žádný význam pro herní mechaniky (jako třeba zvýraznění použitelných předmětů apod.).
Jedná se – pokud vím – o první hru, která má na Ondrovi nahrávací obrazovku při nahrávání z magnetofonu. Není to však klasická nahrávací obrazovka známá z jiných počítačů, která se zobrazuje po celou dobu nahrávání. Kvůli HW omezením se zobrazuje, resp. problikává pouze v mezerách mezi jednotlivými bloky, kdy standardně takto problikává pouze název nahrávaného souboru s číslem bloku. Při nahrávání z OndraSD či OndraLink se daný obrázek pochopitelně zobrazí až po nahrání celé hry.

Úvodní melodie hry hraje v originále při zobrazení úvodní (a závěrečné – po smrti nebo příkazu KONEC) obrazovky, ale protože se jedná o „beeperovou“ hudbu, je nutné ji na Ondrovi přehrávat se zakázaných zobrazením, a tak jsem zvolil variantu nejdříve přehrát melodii a až pak zobrazit úvodní obrazovku. Také byly vypuštěny efekty založené na atributech – tedy postupné odkrytí úvodní obrazovky a podobně její následně zakrytí a odkrytí obrazovky s instrukcemi. Místo toho je úvodní obrazovka zobrazena rovnou a „odklizena“ stejným způsobem jako u obrazovky s instrukcemi – postupným odscrollováním řádků vzhůru (ve skutečnosti realizovaným změnou počtu zobrazovaných řádků).
Oproti originálu umožňuje hra uložení/nahrání pozice nejen na kazetu/z kazety, ale i do/z paměti. Děje se tak po příkazech SAVE a LOAD dodatečným dialogem podobně jako u pozdějšího Indiana Jonese 3 (ale paměťová pozice na rozdíl od „trojky“ je zde jen jedna).
Také jsem při konverzi opravil několik bugů původní hry, které se týkají práce s inventářem při použití předmětů, kdy se v některých případech špatně aktualizovalo počitadlo nesených předmětů a hra pak při výpisu inventáře mohla vypsat „Nemáš s sebou nic“, i když u sebe nějaký předmět máte, případně si naopak myslela, že něco nesete, i když nic nemáte.
Ačkoli je hra v úvodní obrazovce označená jako „pro začátečníky“, obsahuje jedno větší a pár menších „zákysových“ míst. Proto si sem dovolím napsat jakési „hinty“, případně si můžete najít přímo návod, pokud by to nestačilo.
- Pokud se v bludišti vrátíš na začátek, šel jsi špatně.
- I špatná cesta ti může něco důležitého přinést do cesty.
- Někdy je lepší se jen dlouho kochat.
- Co už nepotřebuješ, zahoď.
Hra je ke stažení nejen ve verzi pro ViLi (SSM) ROM, ale i pro původní Tesla ROM. Třeba se ještě najde někdo, kdo ji používá a ocení to… Tam ovšem není v průběhu nahrávání onen nahrávací obrázek, Tesla ROM to neumožňuje (při nahrávání zobrazí pouze název souboru po načtení prvního bloku a pak už do konce nic, pokud nedojde k chybě nahrávání).
Tak to je vše, užijte si na Ondrovi první textové dobrodružství neohroženého archeologa. Další díly budou následovat.
Stahovat můžete zde: