2.7 Práce se soubory

QMEG také umí podívat se, co na kterém disku je. QMEG 3 však rozumí jen jednostranným formátům disket kompatibilním s Atari DOSem 2.x a My-DOSem. QMEG 4 pak umí načíst i adresáře oboustranně naformátovaných disket, s jakými pracuje třeba XF 551. Tomuto formátu se říká DS/DD nebo Quad (tj. čtyřnásobek kapacity singlu).

2.7.1 Prohlížení obsahu adresáře

Načtení adresáře dosáhneme tak, že posuneme kurzor na příslušné číslo disku a stiskneme L. QMEG 4 podporuje Quad formát BIBO-DOSu a Turbo-DOSu. K jeho správnému načtení je místo L potřeba zmáčknout Shift+L. Jinak jej QMEG chybně detekuje jako Double a část souborů bude nedostupná!

QMEG 4 umí sám detekovat i další hustoty a formáty disket. Pokud mu ale chcete usnadnit práci (a ukrátit si čekání, než autodetekce "očichá" vložený disk), můžete použít některý z dalších příkazů pro načítání adresáře:

Pokud se snažíme načíst adresář disku, který není kompatibilní s QMEGem, můžou nastat dvě možnosti. Buď se nezobrazí nic (a QMEG se vrátí do menu) nebo se zobrazí směsice nesmyslných znaků.

Při zobrazeném adresáři se změní stavový řádek na DIRECTORY (QMEG 3) nebo LIST (QMEG 4). Ve druhém případě je vedle slova LIST uvedeno ještě číslo disku a úplně vpravo písmeno značící formát (hustotu) diskety, tedy S, M, D nebo Q (pro Quad formát). Quad formát MY-DOSu se však bude hlásit jako D.

Pod stavovým řádkem se zobrazí názvy osmi (nebo méně) souborů, přičemž před každým z nich je inverzně uvedeno číslo (1 až 8). Opětovným stisknutím L lze načíst seznam dalších 8 souborů (pokud v adresáři ještě nějaké jsou).

QMEG 4 umí dokonce pracovat s podadresáři MyDOSu. Při procházení adresáře (klávesou L) jsou podadresáře rozlišeny tak, že před číslem zobrazené položky je uvedena dvojtečka. Vstup do podadresáře a výpis jeho obsahu lze provést stiskem příslušného čísla.

Ze seznamu souborů se lze vrátit zpět do menu QMEGu jakoukoli klávesou, vyjma L, číslic (1 až 8), Shift, Control a Break.

2.7.2 Spouštění souborů

Při zobrazeném obsahu adresáře (viz 2.7.1) je možné některé typy souborů z QMEGu přímo načíst a spustit. Jsou to binární soubory COM, EXE (XEX), BIN, OBJ apod. QMEG 4 umí takto přímo načítat a spouštět i programy v Atari Basicu (uložené příkazem SAVE) s koncovkou .BAS.

Spuštění konkrétního programu provedeme tak, že stiskneme číslo odpovídající příslušnému soubooru. To je to číslo, které se inverzně zobrazuje před jeho jménem. Před načtením programu QMEG vymaže celou paměť. V QMEGu 4 lze provést spuštění i bez mazání paměti, a to tak, že při mačkání čísla současně držíme stisknutý Shift.

Při načítání zmizí QMEG menu. Obrazovka se přepne do textového modu 0 a uprostřed je zobrazen nápis LOADING následovaný jménem zaváděného souboru. Během načítání se může obsah obrazovky změnit, když např. některé hry obsahují zaváděcí obrázek. Pokud se vše podařilo, měl by se program po nahrátí automaticky spustit.

Je však nutné si uvědomit, že tento způsob nahrávání nelze použít v kterémkoli případě. Především takto není možné spouštět programy, které pro své načítání nebo další práci potřebují DOS.

QMEG sice umí pracovat s disketami, disponuje však jen omezenou množinou diskových funkcí. Není to DOS. Pro spouštění her či dem to stačí. Ale např. editory textů či obrázků nebudou schopné ukládat soubory.

2.8 Sektorové kopírování

QMEG umí načíst celou disketu do ramdisku a naopak obsah ramdisku uložit na disketu - sektor po sektoru. Toho lze využít pro různé účely. Např. takto lze načíst software, který při běhu často pracuje s disketou. Potom jej lze místo z diskety spustit přímo z ramdisku a výrazně tak jeho běh urychlit.

Další možností je disketu načíst do ramdisku a následně jeho obsah zapsat na jinou disketu (nebo několik jiných disket). Tak může QMEG fungovat jako jednoduchý sektorový kopírovací program.

2.8.1 Sektorové čtení

Načítání probíhá vždy do hlavního ramdisku (A v QMEGu 3, X v QMEGu 4). Nejprve přesuneme kurzor v QMEG menu na číslo jednotky, ze které chceme číst. Potom zmáčkneme R (jako Read, tedy číst).

V důsledku toho se barva pozadí celé obrazovky změní na zelenou. V QMEGu 3 se navíc pod znakem $ objeví písmeno R. V QMEGu 4 se změní stavový řádek na READ a číslo jednotky, ze které se má číst.

Nyní máme několik možností:

Pokud zahájíme čtení, změní se nejprve stavový řádek na FORMATTING (bylo-li zvoleno formátování v QMEG 3) nebo na CHECKING v QMEG 4.

Následně započne vlastní čtení. To je provázeno nápisem READING, vpravo od nějž se zobrazuje hexadecimální číslo aktuálně čteného sektoru. Toho lze využít např. k orientaci, kolik ještě zbývá do konce. U hustot Single a Double je posledním sektorem 2D0 (tj. 720), u hustoty medium pak 410 (tj. 1040).

Pod stavovým řádkem (kde bývá běžně menu) se pak zobrazuje obsah právě čteného sektoru. Pro hustoty Single a Medium stačí 4 řádky, u hustoty Double je jich potřeba 8. Z obsahu je přinejmenším patrné, které části disku jsou plné a které prázdné.

Po úspěšném skončení načítání se QMEG automaticky vrátí do menu a pozadí obrazovky se opět přepne do modré barvy.

2.8.2 Sektorový zápis

Obsah hlavního ramdisku (A v QMEGu 3, X v QMEGu 4) lze zapsat na libovolný disk. Pokud je ramdisk ve formátu single, lze jeho obsah zapsat i do druhého ramdisku.

Přesuneme se v menu na číslo disku, kam se má obsah ramdisku zapsat, a zmáčkneme W. Pozadí obrazovky výstražně zčervená. QMEG 3 zobrazí pod $ písmeno W a stavový řádek QMEG 4 se změní na WRITE a číslo vybraného disku.

Nyní máme obdobné možnosti jako u čtení:

Pokud jsme zmáčkli Start, proběhne nejprve naformátování disku doprovázené slovem FORMATTING ve stavovém řádku. Bezprostředně po naformátování se začne zapisovat.

Během zápisu se ve stavovém řádku zobrazuje slovo WRITING a vedle něj číslo zapisovaného sektoru. Pod stavovým řádkem je obsah sektoru zobrazen tak jako při čtení.

2.8.3 Obsluha chyb

Při čtení či zápisu může dojít z nejrůznějších důvodů k chybě. V takovém případě se QMEG zastaví na sektoru, kde k chybě došlo a ve stavovém řádku zobrazí chybové hlášení v této podobě:

ERROR <číslo chyby> AT <číslo sektoru>
přičemž obě čísla jsou hexadecimální.

Číslo chyby si můžeme dohledat v příručce nebo na internetu. Ale co dál? Máme několik možností:

2.9 Basic / cartridge / paměť

Vlevo dole se nachází indikátor využití adresního rozsahu $A000-$BFFF. Laicky bychom řekli indikace toho, zda je zapnutý Basic. Dovolím si k tomu ale krátké vysvětlení.

Většina osmibitových Atari má 64 KiB operační paměti (rozšířenou nepočítaje). Procesor 6502 však umí adresovat právě 64 KiB paměti. Od adresy $0000 do $FFFF. To znamená, že když mu chceme dodat nějakou další paměť, ať už rozšířenou RAM nebo nějakou ROM, nemá se na ni jak dostat.

Kdybychom např. cartridge nebo vestavěný Basic chtěli umístit až za $FFFF (tj. od $10000 výše), bylo by to mimo rozsah "chápání" procesoru, mimo jeho zorné pole. On hledí stále jen jedním směrem a celé zorné pole mu vyplňuje 64 KiB RAM.

Představme si RAM jako papír, na který se procesor pořád dívá (a může na něj i psát). My ale chceme, aby si přečetl něco jiného, než co teď na tom RAM papíru má, např. aby nám spustil Basic. Uchýlíme se proto k triku. Prostě mu před oči strčíme papír s kódem Basicu a zakryjeme jím část papíru RAM.

Dochází opravdu k nedestruktivnímu překrytí. Obsah paměti (papíru) pod Basicem není přepsána, jen dočasně překryta. Basic má velikost 8 KiB (tj. jedna osmina velikosti RAM). Bylo stanoveno, že Basicem bude překrývána vždy šestá osmina RAM, tj. právě adresy $A000 až $BFFF.

Tedy přesněji řečeno bylo stanoveno, že tento rozsah bude používán pro cartridge, u kterých ten princip funguje stejně. U nejstarších Atari (400 a 800) byl konec konců Basic dodáván v podobě cartridge.

No a QMEG nám umožňuje vybrat si, co chceme, aby procesor na adresách $A000 až $BFFF viděl. Indikace je poměrně zřejmá:

A jak nastavení Basicu či cartridge ovládat?

Zde je vhodné ještě podotknout, že aby správně fungovaly kombinace Start+A, Start+B a Start+C v QMEGu 4, musí být nastavený režim resetu na Warm. Jinak dojde ke studenému startu a režim paměti se změní na RAM.

Poznámka autora: Pokud při zapnutí počítače držíte Select, skočí systém do QMEG menu bez pokusu o boot. V případě QMEGu 3 však potom nefunguje aktivace Basicu a přechod do něj tak, jak bych očekával.

Po stisku Start+Z se místo Basicu aktivuje nahrávání z kazety. Tj. zobrazení se přepne do grafiky 0 s kurzorem nahoře, ozve se zavrčení a po stisku libovolné klávesy se zapne motor magnetofonu. Po návratu do QMEG menu přes Reset+Select a dalším pokusu se Start+Z se situace opakuje.

Řešením je v QMEG menu stisknout Start+Option+Z. To sice opět vyvolá čtení z magnetofonu, ale po návratu do QMEG menu už vše funguje, jak má.

2.10 Teplý a studený start

QMEG 4 má v levé části menu (nad indikátorem RAM/BAS/CAR) zobrazeno nastavení chování Resetu. Přesněji řečeno, zda Reset vyvolá teplý (Warm) nebo studený (Cold) start systému. Hodnotu lze jednoduše přepínat klávesou Tab.

Laicky řečeno, studený start smaže paměť, nastaví výchozí hodnoty systému a provede boot. Tak se dá zbavit programů odolných vůči resetu a spustit načítání z diskety. Studený start je ekvivalent fyzického vypnutí a zapnutí počítače, ale na rozdíl od něj garantuje vymazání paměti.

Naopak při teplém startu se paměť nemaže, hodnoty zůstanou nastavené a skáče se buď do Basicu (je-li nastaveno BAS), cartridge (při CAR) nebo se skáče zpět do programu odolnému vůči Resetu. Není-li takový v paměti, systém se vrátí do QMEG menu.

Odborně řečeno, je-li nastaven studený start, provede se po stisknutí Reset skok na adresu $E477. Pokud je nastaven teplý start, skočí procesor na adresu uvedenou v $E474.

2.11 Spouštění starších programů

Ačkoli se QMEG snaží být maximálně zpětně kompatibilní s původním operačním systémem Atari, jsou programy, které s QMEGem (nebo rozšířenou pamětí) kolidují.

QMEG 3 a 4 přichází s různými způsoby, jak může uživatel dočasně omezit jeho funkce, aby s ním bylo možné spustit i některé nekompatibilní programy. Samozřejmě, pokud máte v počítači zabudováno více operačních systémů, je snadnější a spolehlivější prostě přepnout na původní OS.

2.11.1 Ochrana ramdisku (QMEG 3)

Stisknutí P v menu QMEGu 3 zapne nebo vypne stav, kdy je zablokován přístup do ramdisku a MLM. Zapnutý stav je indikován změnou barvy pozadí obrazovky. V tomto případě jde o růžovou.

Technicky vzato QMEG při zapnutém P nastaví určité hodnoty do registru PORTB (což je místo v paměti na adrese $D301, neboli 54017) a znemožní hodnoty v tomto registru měnit.

To v praxi znamená, že žádný program nemůže měnit, zda bude v oblasti paměti $A000 až $BFFF Basic nebo cartridge, nemůže používat rozšířenou paměť (ramdisk) a zapínat MLM.

Omezení dokonce způsobí, že i když máte pro disk 1 nastavený ramdisk (např. A) a provedete studený start, bootování bude probíhat z diskety (v jednotce 1) místo z ramdisku.

Tato funkce může být užitečná pro ochranu obsahu ramdisku před činností starších programů, určených pro počítače Atari 400 a 800. Ty totiž měly odlišné adresování paměti.

2.11.2 XL mód (QMEG 4)

QMEG 4 přichází s možností ještě razantnějšího omezení svých funkcí. Klávesou Delete (Back Space) v QMEG menu je možné aktivovat tzv. XL mód, který je na první pohled patrný tím, že pod čísly všech disků zobrazuje pomlčky.

Další důsledky XL módu:

Díky tomu může QMEG v XL módu dovolit programům přepsat jeho konfigurační tabulky uložené ve spodní části operační paměti.

Za zmínku stojí, že (na rozdíl od P v QMEG 3) v XL módu funguje MLM. XL mód lze vypnout (a QMEG tak opět plně zprovoznit) klávesou <, neboli Clear, v QMEG menu.

2.12 Indikátor $

QMEG 3 má v levé části menu (vpravo od Prg) znak $. Pod ním se nachází znak, který indikuje některé režimy práce s ramdiskem. Přesněji řečeno ty, na které QMEG upozorňuje změnou barvy pozadí obrazu.

Tento indikátor tedy umožňuje uživatelům, kteří nemají barevný monitor nebo nevidí barvy, aby poznali např. aktivaci sektorového zápisu ramdisku. Za sebe tímto autorovi děkuji.

Indikátor může nabývat těchto hodnot:

QMEG 4 indikátor $ nenabízí. Nahradil jej změnou textu ve stavovém řádku při čtení (READ) a zápisu (WRITE).