Atari

ATR, XFD, COM, EXE, XEX, BIN - co s tím?

Protože jsem již obdržel několik mailů s dotazem na spouštění programů pod emulátorem Atari800 (resp. obecně pod emulátory Atárka), rozhodl jsem se napsat jednoduchý návod.

Co je co?

SOUBOR.XFD
Skutečné Atari používá pro záznam a čtení dat disketovou jednotku nebo dataset. Emulátory však berou v úvahu v naprosté většině pouze disketovou jednotku, neboť práce s ní je pro uživatele nesrovnatelně pohodlnější. Soubor s extenderem .XFD je "obrazem" skutečné diskety. Tak jako jsou na disketě jednotlivé sektory jeden za druhým, tak i v XFD souboru. Je důležité si uvědomit, že obraz diskety je naprosto věrný - a že tedy existují např. BOOTovací diskety, které nemají vůbec žádný výpis adresáře, ale přímo se aktivují vložením do mechaniky a zapnutím Atárka (respektive rebootem přes cold reset). Konkrétní rozmístění a význam dat v sektorech je závislý na použitém diskovém operačním systému (DOS2.5, SpartaDos, MyDOS, MicroDOS, atd.), případně může být program celodiskový s vlastními rutinami čtení dat ze sektorů - to bývá časté u demoprogramů. Podle hustoty záznamu a velikosti sektoru mohou být XFD soubory různě dlouhé, stejně jako mohou být diskety naformátované na různé kapacity. Zkratka XFD pochází z názvu emulátoru PC XFORMER, který tento typ souborů zavedl. Shrnutí: XFD soubor = disketa.

SOUBOR.ATR
Soubory ATR jsou obdobou XFD souborů. Obsahují však navíc hlavičku s popisem formátu a kapacity, takže pokud to podporuje použitý DOS (na Atárku), můžete pracovat s disketami o větších (nestandardních) kapacitách. Nejsou výjimkou ATR soubory o velikosti např. 1MB, které obsahují několik desítek programů. Shrnutí: ATR soubor = disketa.

SOUBOR.COM (nebo EXE, XEX, BIN)
Tady pozor! Na počítačích PC se používá též extender EXE a COM pro spustitelné programy. Je nutné rozlišovat programy pro PC a pro Atari. Pokud dojde k záměně a pokusíte se spustit Atárkovské EXE na PC nebo PC-čkové EXE na Atari, dojde nejspíše k chybovému hlášení typu "vadný soubor". Teoreticky tím však můžete způsobit i zatuhnutí počítače (jak Atari, tak i PC), takže pozor.

Spouštění programů

Soubory typu ATR (nebo XFD)
Jak jsem již řekl, ATR je obdoba skutečné Atárkové diskety. Je-li tato disketa "bootovací", stačí ji tedy vložit do Atárkové disketové mechaniky D1: a rebootovat Atárko. To lze udělat:

a) spuštěním emulátoru z příkazové řádky s parametrem názvu souboru (případně i s cestou).
tj. např. c:\atari\atari800.exe c:\atari\diskd\hra.atr

b) stejného efektu jako v bodě (a) lze docílit pod OS Windows drag-and-drop přetažením ATR souboru a jeho puštěním na atari800.exe program.

c) pokud budeme chtít měnit diskety až během provozu emulátoru Atárka bez jeho restartování, přejdeme v emulátoru do menu a vybereme disk management a tam disk D1: a pro něj navolíme příslušný ATR soubor. Pak se vrátíme do emulace a provedeme cold start.

U většiny Atari disket s hrami se po rebootu přímo spustí příslušná hra (je-li na tom disku jen jedna), nebo se objeví výběrové menu s nabídkou více her, ze kterých se vybírá stiskem příslušných kláves.

Pokud disketa "bootovací" není, bude se po cold startu opakovaně objevovat chybová hláška "BOOT ERROR", případně Atárko zamrzne. V tom případě můžeme například Atárko nabootovat z bootovací diskety s DOSem2.5 a teprve potom vyměnit disk přes menu / disk management (samozřejmě již bez následného cold startu!). Pak se pokusíme program načíst přes funkci DOSu2.5 Load, což se nám může podařit, ale také nemusí, pokud dojde k paměťové kolizi zaváděného programu s DOSem2.5.

Soubory typu COM (nebo EXE, XEX, BIN)

Stáhnete-li si z nějakého Atari archívu COM program pro Atárko, můžete využít funkce přímého spuštění, kterou najdete v menu emulátoru. Nazývá se "Run BIN file directly" nebo někde též "Load executable". Jednoduše vyberete příslušný COM soubor a emulátor provede jeho zavedení a spuštění.

Přístup z emulátoru na PC HDD (ukázka práce pod DOSem 2.5)

Většina emulátorů (včetně Atari800) mají nadefinováno zařízení pro přístup přímo z Atárka na pevný disk PC. Bývá ukryto pod písmenem H, a tedy čtením či zápisem z/na H: můžete převést EXE programy (ale i datové soubory) z PC HDD na Atari disketu (do ATR souboru).
Prakticky to vypadá tak, že si příslušný soubor umístíte do nějakého adresáře na PC. Při konfiguraci emulátoru si zvolíte jako H1_DIR tento adresář. Potom spustíte emulátor se souborem např. DOS25.ATR - to je jako když zapnete počítač s vloženou BOOTovací disketou DOSu2.5. Pak si už v Atari DOSu2.5 necháte vypsat directory zařízení H: a můžete dle libosti kopírovat z H: na D: (tj. z PC HDD na Atari disketu (do ATR souboru)) nebo z D: na H: (tj. z Atari diskety (z ATR souboru) na PC HDD). Při zapisování dejte pozor na to, zda máte v konfiguraci emulátoru povolen zápis na PC HDD - z bezpečnostních důvodů bývá default nastavení read-only. Podobně ATR soubor může být nastaven pouze pro čtení, čímž pádem se vám na něj nepodaří nic zapsat, eventuálně se může z tohoto důvodu objevit problém při spouštění programů a her, které si na disk něco sami zapisují.

Můžete také spouštět EXE programy bez kopírování na D1:, tedy přímo ze zařízení H: (v Atari DOSu2.5 volba "Load" a zadat H:PROGRAM.EXE). Opět však zdůrazňuji, že emulátor se chová jako skutečné Atárko, a že tedy existuje řada programů, které nejdou spustit pod tím či oním DOSem. Některé programy musí mít speciální zavaděče a některé třeba existují jen ve formě celodiskové. Nefunkčnost daného programu nemusí být tedy vždy způsobena jen nedokonalostí emulátoru. Tato problematika je však složitější a já ji nebudu již dál rozvádět.


Vyrobil Radek Štěrba, © RASTER