Alternativní operační systém pro 8bitová Atari od Stefana Dorndorfa zná asi většina uživatelů. Umí různá kouzla s rozšířenou pamětí, využívat ji jako ramdisk, pracovat (rychle) s disketovými jednotkami. Ale hlavně, člověk může vždycky přes Reset a Select skočit do menu a např. restartovat počítač bez nutnosti ho vypínat.
To je běžný laický pohled, kterým jsem dlouho trpěl i já. Ale co ty různé "tajné" klávesové zkratky, které někteří borci používají? A jaký je vlastně rozdíl mezi verzemi 3 a 4? To byly otázky, které mě zajímaly čím dál víc, až jsem se rozhodl vše prozkoumat a své objevy sepsat.
Snažím se tím také vyplnit mezeru v české dokumentaci ke QMEGu. V roce 1990 sice vyšla v rožnovském Flopu tenká knížečka, ta ovšem pojednávala jen o verzi 3 a místy byla obtížněji pochopitelná. Vycházím proto také z dostupné zahraniční literatury.
V průběhu práce mi začalo být jasné, že systém QMEG nabízí tak rozsáhlé možnosti, že popis všech se do jednoho článku nevejde. Proto jsem se rozhodl popsat nejprve funkce pro běžné uživatele jako je hlavní menu, funkční klávesy apod. Pokročilé funkce jako monitor (MLM) či freezer nechám na příště.
Nebudu zacházet do velkých technických podrobností. Na rozdíl od PC má osmibitové Atari svůj operační systém napevno vypálen v paměti ROM, což je součástka přímo na desce počítače. V lepším případě není připájena přímo na desku, ale je zasunuta v patici (tedy jakémsi držáku), která je do desky na příslušném místě upevněna.
Pro instalaci QMEG OS je tedy potřeba nejprve si opatřit paměťový čip typu EPROM s 28 piny (nožičkami) a kapacitou 16 KiB. Dále je nutné stáhnout QMEG (tj. obsah paměti ROM) z internetu. Následně je potřeba stažený obsah vypálit do čipu pomocí programátoru EPROM.
Až máme čip připravený, přichází vlastní instalace do Atari. Pokud byla původní ROM v patici, je výměna jednoduchá - stačí původní čip vytáhnout a zasunout místo něj nový. Pokud je ovšem původní čip připájený, je třeba nejprve jej odpájet, na jeho místo napájet patici a do ní potom vložit ROM s QMEGem.
Existují i postupy, jak dostat do jednoho počítače oba operační systémy současně, tj. původní Atari OS i QMEG. Ty se potom přepínají přepínačem (nebo tlačítkem) vyvedeným na horní kryt nebo zadní či boční panel počítače.
Ramdisk je část paměti RAM, zpravidla rozšířené, která je QMEGem vyčleněna k použití jako virtuální disketová jednotka. Rozšířenou pamětí disponuje od výroby pouze Atari 130XE. Má k dispozici 64 KiB RAM navíc. To ale pro ramdisk příliš použitelné není, protože nejmenší formát diskety (Single) má velikost 90 KiB.
Nejběžnější používaná rozšíření paměti u nás jsou o 256 KiB. Později potom o 512 KiB, příp. 1024 KiB (čili 1 MB). Takové počítače potom mají 320 (tj. 64 + 256) KiB, 576 KiB nebo 1088 KiB. Dnes jsou k dispozici i externí rozšíření paměti, tedy krabička, která se zasune do zadního rozšiřujícího portu počítače bez nutnosti zasahovat do počítače.
Název QMEG vychází z anglického Quarter MEGa, neboli čtvrt mega(bytu). To odpovídá 256 KiB RAM. Ovšem pozor! Tím není myšleno 256 KiB rozšířené RAM. V době, kdy QMEG vznikal, bylo v Německu (odkud pochází jeho autor) nejběžnější rozšíření o 192 KiB. Takový počítač tedy měl 64 + 192 = 256 KiB RAM. A proto umí QMEG použít pro ramdisk jen 192 KiB RAM.
A jedna důležitá technická poznámka - QMEG podporuje pouze rozšíření paměti v režimu Compy Shop. Po technické stránce existuje více typů rozšíření. Nejpoužívanější jsou Compy Shop a Rambo. Některé typy rozšíření dokonce umožňují přepínat mezi oběma režimy.
Co se do takové paměti může vejít? Na výběr jsou tři režimy:
Ještě poznámka k ramdisku Medium. Skutečná disketa formátovaná na hustotu medium má 130 KiB, protože obsahuje 1040 sektorů po 128 bytech. DOS 2.5 umí ovšem adresovat (a obsluhovat) pouze 1024 sektorů, takže mu stačí ramdisk o velikosti 128 KiB. QMEG 4 umožňuje tuto funkci vypnout (klávesa G - viz 2.13.2), takže vytvoří hlavní ramdisk (X) o velikosti 130 KiB a druhý ramdisk (Y) o velikosti jen 62 KiB.
QMEG 3 podporuje tzv. ramdisk C. Jde o posledních 44 sektorů ramdisku 130XE, tedy toho zbytku, který zůstane pro ramdisk B při nastavení ramdisku A na hustotu medium.
Toho umí využít DOS II+/D verze 6.1 a 6.2. Po jeho spuštění je třeba na adresu 1792 zapsat hodnotu 196 (např. v Basicu příkazem POKE 1792,196). Následně je třeba takto upravený DOS uložit na disketu (příkazem IN# v DOSu).
Až z diskety s upraveným DOSem počítač opět nabootuje, uloží kopii DOSu do ramdisku C. Odtud se pak DOS vždy načte, když v QMEG menu stiskneme kombinaci kláves Control+Caps. Tím odpadne nutnost mít v disketové jednotce disketu s DOSem. Tedy aspoň do nejbližšího studeného startu.
Poznámka autora: Snažil jsem se tuto funkci testovat s použitím QMEGu 3.2 a DOSu II+/D verze 6.1, ale nedosáhl jsem uspokojivých výsledků.
Vedle ramdisku umí QMEG pracovat i s klasickými disketovými jednotkami. Ty se připojují přes SIO rozhraní a je možné nastavit jim čísla od 1 do 4. Vyšší čísla (5 až 8) se dají nastavit pouze u některých méně rozšířených typů disketových jednotek.
Vedle klasických jednotek jsou dnes k dispozici též emulátory disketových jednotek. Z nejznámějších jmenujme SDrive a Sio2SD. Jejich princip je jednoduchý. Z vložené SD karty čtou uložené obrazy disket a pro osmibitové Atari předstírají, že jsou disketovými jednotkami. Dokážou přitom emulovat více disketových jednotek současně.
Některé disketové jednotky (a všechny jejich emulátory) umějí vedle standardní rychlosti (19200 bitů za sekundu) komunikovat také rychlostmi vyššími. QMEG podporuje následující typy zrychlené práce s jednotkami:
Vyjma uvedených platí ještě jedno omezení v QMEGu 3 - jednotky 1 a 2 mohou mít libovolně nastavený režim urychlení (H nebo U), režim jednotek číslo 3 a 4 však musí odpovídat nastavení pro jednotku 1.
Významným rozdílem oproti Atari OS je, že QMEG má hlavní menu. To ukazuje nastavení různých parametrů, z nichž většinu umožňuje měnit a provádět i jiné zajímavé akce. Dodává také počítači určitý design a pocit, že tam vůbec nějaký systém je.
Podívejme se, jak vypadá menu v případě QMEGu 3 a QMEGu 4. Vyvoláme jej stiskem klávesy Reset za současného držení klávesy Select. Dostat se do něj dá i z Basicu příkazem "BYE" nebo z DOSu (či obdobného programu) skokem na adresu $E471 (58481).
QMEG-OS V3 (c)'87 S.Dorndorf W A I T I N G ---------------------------------- Prg $ | Drive 1 2 3 4 8 | A B Ram- RAM | Type - - A B A | M X Disk ---------------------------------- QMEG+OS 4.04 (c)'97 S.Dorndorf Q M E G M E N U ---------------------------------- Warm | Drive 12345678 XY | KEY EDI RAM | Mode FFFFFXYY SS | G25 VBS ----------------------------------
První řádek (záhlaví) zobrazuje v obou případech verzi systému, rok vydání a jméno autora. Druhý řádek je stavový a ukazuje, co systém právě dělá. Pokud neprobíhá žádná operace, zobrazuje se uvedená výchozí hláška (tj. WAITING nebo QMEG MENU). Následuje vlastní menu umístěné mezi dvěma řadami pomlček.
Uprostřed menu je hlavní oblast, která zobrazuje nastavení jednotlivých diskových jednotek (u verze 3 jsou to jen 1 až 4 a 8; verze 4 má všech 8 pozic). Po stranách seznamu disků jsou stavové ukazatele různých systémových parametrů (např. ramdisků).
Mezi režimy ramdisků můžeme přepínat klávesami S (Single), M (Medium), D (Double). Zvolený režim je v menu indikován dvěma sloupečky vpravo od seznamu disků (tj. vpravo od disku 8). U QMEGu 3 jsou příslušné dva sloupce nazvány A a B, u QMEGu 4 potom X a Y. Hodnoty v těchto sloupcích mohou být následující:
Kurzor v menu QMEGu se může pohybovat pouze po číslech disků. Číslo vybraného disku je zobrazeno inverzně. Mezerník posunuje kurzor doprava a z disku 8 potom zpět na 1.
V QMEGu 4 lze posunovat kurzor více způsoby. Šipka vpravo funguje stejně jako mezerník. Šipka vlevo pak opačně. Mimo to lze přímo skočit na konkrétní disk stiskem klávesy s příslušným číslem (tj. 1 až 8).
Když už kurzor na číslo určitého disku přesuneme, můžeme např. změnit jeho režim. Nastavit lze např. zda je daný disk disketová jednotka podporující rychlou komunikaci nebo zda pod tímto číslem disku chceme mít ramdisk.
Režimy disků jsou následující:
Režim se nastaví stiskem příslušné klávesy. Tam, kde jsou uvedeny dvě možnosti, platí ta první pro QMEG 3 a druhá pro QMEG 4. Při stisku U QMEG hned testuje, zda na daném čísle je zařízení podporující UltraSpeed. Pokud ne, nastaví tam automaticky pomlčku.
Je-li pod číslem (např. 1), se kterým je k počítači připojena disketová jednotka, zvolen ramdisk (tj. A, B, X nebo Y), bude mít ramdisk před jednotkou přednost. K disketové jednotce bude možné opět přistupovat až poté, kdy bude v QMEGu pod jejím číslem nastaveno -, N, F, H nebo U.
Pro disky, které jsou nastaveny jako urychlené (tj. H, U nebo F), má QMEG ještě několik dalších funkcí. Vyvoláme je tak, že nejprve najedeme kurzorem na číslo příslušného disku a potom zmáčkeneme příslušnou klávesu (nebo kombinaci).
Funkce v QMEGu 3:
Pomalý (O) a absolutně pomalý režim (Shift+O) v QMEGu 4 jsou užitečné např. pro některé programy s ochranou proti kopírování. Ty totiž se zapnutým urychlením nelze spustit.
Poznámka autora: Testoval jsem tyto funkce v QMEGu 4 na 1050 Speedy a XF 551. U první jmenované fungovalo Shift+I. Ovšem Shift+O a O způsobily zablokování jednotky v pomalém režimu a nepomohlo ani Shift+I. Bylo nutné jednotku fyzicky vypnout a znovu zapnout.
V případě XF 551 fungovaly O a I, ale jejich efekt se zdál být stejný jako prosté nastavení N a F.
Po studeném startu (viz níže) dochází k pokusu o načítání spustitelného programu (např. DOSu) z disketové jednotky. Tomuto procesu se říká boot. V původním operačním systému Atari a v QMEGu 3 se boot provádí vždy z disku číslo 1.
Může to být disketová jednotka s nastaveným číslem 1 nebo zvolený ramdisk. Pokud chci např. po studeném startu bootovat z druhého ramdisku, najedu kurzorem na disk 1 a stisknu klávesu B (nebo Y v QMEGu 4).
QMEG 4 však přináší jednu novou a mnohdy velmi užitečnou funkci - možnost změny bootovacího disku. V menu QMEGu toho docílíme stiskem klávesy s příslušným číslem za současného držení Shiftu.
Pokud to uděláme, příslušné číslo (vč. znaku s označením režimu pod ním) se přesune v seznamu disků doleva (místo čísla 1) a na jeho původní místo se přesune číslo 1.
Příklad: Mám dvě disketové jednotky - jedna s číslem 1, druhá je 3. Potřebuji, aby nabootoval DOS z diskety v jednotce 3. Stisknu tedy v menu QMEGu Shift+3. Zobrazené pořadí disků se změní na 32145678. Vyvolám-li boot, načte se DOS z jednotky 3. Ta se nyní v DOSu bude hlásit jako D1. Pod D3 naopak najdu obsah diskety vložené do jednotky 1.
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).
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.
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.
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.
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.
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í.
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í:
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á.
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.
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.
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.
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.
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).
QMEG 4 má vpravo od přehledu disků ještě čtyři trojice písmen a číslic. Co znamenají? Představují čtyři různé funkce QMEGu. Je-li některá trojice zobrazena inverzně, znamená to, že daná funkce je aktivní. Je-li trojice zobrazena normálně (neinverzně), je funkce vypnutá.
KEY (z anglického klávesa) označuje funkční klávesy. Ty mohou být dostupné v Basicu nebo jiných programech. Jejich dostupnost můžeme zapínat a vypínat v QMEG menu pomocí klávesy K. Bližší informace o funkčních klávesách se dočtete v části 4.
Jak jsem popisoval již v části 1.2.2, QMEG 3 vytváří ramdisk Medium v ořezané verzi - pouze 128 KiB (tj. 1024 sektorů). QMEG 4 defaultně formátuje Medium na plných 130 KiB (1040 sektorů).
G25 nabízí možnost přepnout QMEG 4 tak, aby se v tomto choval jako QMEG 3. To se může hodit pro zpětnou kompatibilitu nebo při práci v DOSu 2.5, který stejně více sektorů adresovat neumí.
K přepínání slouží klávesa G. Je-li G25 zapnuté (inverzní), bude QMEG vytvářet Medium ramdisk 128 KiB. Je-li G25 vypnuté (neinverzní), vytváří se medium ramdisk o velikosti plných 130 KiB.
Pokud si při práci s ramdiskem všimnete poruch obrazu, měli byste zapnout EDI. Toto nastavení udává, zda má být po přístupu k ramdisku zapnuté přerušení display-listu (DLI). EDI lze zapnout či vypnout v QMEG menu klávesou E.
Ve vzácných případech se může stát, že při práci s ramdiskem i se zapnutým EDI zcela zmizí obraz nebo se program zablokuje. V takových případech je současně třeba zapnout i VBS.
Stává se, že při práci s ramdiskem dochází k poškození obrazu nebo obraz zcela zmizí. K tomu může dojít, když je obrazová paměť uložena v oblasti mezi adresami $4000 a $7FFF. Tuto část paměti je totiž při práci s ramdiskem překrývána částmi rozšířené paměti.
Problém lze vyřešit tak, že se s ramdiskem bude pracovat jen v době, kdy se nezobrazuje. To je např. v průběhu vertikálního zatemnění. QMEG 4 to umožňuje. Funkci lze aktivovat (nebo vypnout) v QMEG menu klávesou V.
Je však dobré upozornit na jednu logickou věc. Pokud se při každé operaci s ramdiskem musí čekat na vertikální zatemnění, ačkoli toto nastává padesátkrát za sekundu, bude prostě práce s ramdiskem pomalejší.
Existuje hned několik způsobů, jak menu QMEGu opustit. Některé už jsme v tomto textu zmínili. Nyní si uděláme podrobnější přehled:
Další možnosti odchodu z QMEG menu souvisí s Basicem a cartridgí, jak bylo popsáno v 2.9. Jde o kombinace klávesy Start a různých písmen nebo Esc. A QMEG menu lze samozřejmě opouštět také pomocí Resetu, jak bude popsáno v části 3.
Obě verze QMEGu nabízejí několik funkcí v souvislosti se stisknutím Resetu.
Prostý stisk klávesy Reset vyvolá zpravidla teplý start, tj. skočí do Basicu (je-li zapnuto BAS) bez smazání paměti, do cartridge (je-li zapnuto CAR), příp. skočí do DOSu nebo se vrátí do programu odolnému vůči resetu.
Je-li aktivován režim RAM a není nastaven odskok do DOSu nebo běžícího programu, skočí systém zpět do QMEG menu. Pokud ovšem bylo v QMEG 4 před resetem nastaveno Cold, bude vyvolán studený start.
Jak již bylo napsáno, pokud držíme při stisku Resetu současně Select, dostaneme se do QMEG menu.
Pokud stisknutí Resetu vyvolá studený start (např. režim Cold v QMEG 4) a současně držíme stisknutý Option, bude při bootu dostupný Basic.
To je stejné jako při většině jiných případů vyvolání studeného startu v QMEGu. Současně jde o opačné chování oproti Atari OS.
Pokud v Bsicu nebo programu běžícím z cartridge stiskneme Reset+Start, dojde k jejich restartu. To samozřejmě zahrnuje inicializaci paměti, tedy její smazání.
Další užitečná funkce QMEGu 4 je studený start odkudkoli. Jednou z nejčastějších operací běžných uživatelů QMEGu je Reset+Select následovaný Shift+Invers, neboli skok do QMEG menu a studený start.
To se hodí např. pro zbavení se programu odolného vůči resetu bez nutnosti vypnout počítač. QMEG 4 umožňuje tento postup ještě zjednodušit. Stačí prostě kdykoli a kdekoli zmáčknout současně Shift+Reset a bootujeme.
V rámci funkce QMEGu 4 pro studený start (Shift+Reset) je možné držet ještě Option. To jako v jiných obdobných situacích způsobí studený start se zapnutým Basicem.
A ještě jednu variantu studeného startu QMEG 4 nabízí. Stiskneme-li kombinaci kláves Shift+Start+Reset, dojde ke studenému startu v XL módu, tj. s vypnutím většiny přídavných funkcí QMEGu.
Některé funkce QMEGu jsou dostupné i mimo jeho uživatelské rozhraní, tj. mimo QMEG menu a MLM. Můžeme je tak využít např. při práci v Basicu, DOSu či jiném programu.
Jde především o klávesové zkratky, kterým se říká funkční klávesy. To ostatně můžeme znát i z Atari OS, kde např. Control+1 pozastaví nebo obnoví výstup na obrazovku.
Podle oblastí, kterých se týkají, můžeme funkční klávesy QMEGu rozdělit do tří skupin.
Ve výchozím nastavení jsou funkční klávesy zapnuté, tj. lze je okamžitě používat. Může ovšem nastat situace, kdy nechceme, aby byly zapnuté. Např. by mohl stejnou kombinaci kláves využívat nějaký program, se kterým chceme pracovat.
Funkční klávesy je proto možné vypnout, a to kombinací kláves Shift+Help. Stejná kombinace funkční klávesy v případě potřeby opět aktivuje.
Někdy se může hodit zablokovat nejen funkční klávesy, ale rovnou celou klávesnici. K tomu má QMEG 3 kombinaci Control+Help. Stejná kombinace klávesnici zase oživí. QMEG 4 tuto funkci nenabízí a Control+Help tam dělá něco úplně jiného.
Někdy sice klávesnici potřebujete, ale vadí vám zvuk vydávaný počítačem při stisku kláves. Toho se lze zbavit kombinací Control+4. A stejným způsobem je pak zase možné zvuk zapnout.
Může to znít drasticky, ale QMEG umí vypnout obraz, přesněji řečeno čip ANTIC, který má na starost zobrazování. Tím se uvolní hlavní sběrnice, kterou s ANTICem sdílí procesor a ten tak má více času na svou práci, resp. komunikaci s okolím.
Pokud chceme, aby procesor rychleji vykonal nějaký úkol, např. něco zkomprimoval, zkonvertoval, vypočítal apod., a nepotřebujeme při tom mít obraz, můžeme ANTIC vypnout. Docílíme toho kombinací Control+6. ANTIC potom zapneme stiskem téměř jakékoli klávesy.
Již Atari OS vnímá dlouhé držení téže klávesy jako její opakované mačkání. Pro někoho ale může být toto opakování příliš pomalé. QMEG má proto nastavenou vyšší výchozí rychlost opakování kláves a umožňuje rychlosti přepínat.
QMEG 3 má přednastavené hned tři rychlosti opakování. Výchozí je ta prostřední. Kombinací kláves Control+7 přepneme nejprve na tu nejrychlejší. Dalším stiskem na nejpomalejší, shodnou s rychlostí Atari OS, a dalším stiskem zase na tu střední. A tak pořád dokola.
QMEG 4 disponuje jen dvěma rychlostmi. Výchozí je ta rychlejší, která je stejná jako ta nejrychlejší u QMEGu 3. Pomocí Control+5 můžeme přepnout na pomalejší, která je shodná s Atari OS. Dalším stiskem Control+5 aktivujeme opět rychlé opakování kláves atd.
QMEG 3 disponuje funkcí, která se volá kombinací kláves Control+8. Nepodařilo se mi však spolehlivě zjistit, k čemu je to dobré. Našel jsem dva různé popisy:
Ke druhému jmenovanému lze jen doplnit, že adresa $238 je decimálně 568 a společně s $239 (resp. 569) může uchovávat adresu paměti (vektor). Používá pouze 1200 XL (viz [4]). Zdroj [1] pak v přehledu paměti uvádí, že adresy 568 a 569 jsou "VCTRLB vektor pro Ctrl-8".
Tyto funkce, podobně jako klasické Control a šipky, lze použít v editačním režimu, např. v Basicu.
Tuto funkci nabízí jen QMEG 3. Zapíná a vypíná se kombinací kláves Control+5.
Skok na začátek řádku nabízí QMEG 3 pod kombinací Control+9 a QMEG 4 pomocí Control+7. QMEG 3 navíc při opakovaném stisku Control+9 ruší levý okraj, tj. kurzor se posune skutečně až k levému okraji obrazu neboli do prvního sloupce. Další Control+9 levý okraj opět zapne (a posune kurzor do třetího sloupce).
Funkce je dostupná pouze v QMEGu 4, a to pomocí kombinace Control+8.
Opět pouze v QMEGu 4, a to přes kombinaci kláves Control+9.
Tak tuto funkci mají oba QMEGy. A shodnou se i na klávesové zkratce - je to Control+0.
Při studování podkladů pro QMEG 4 pro mě bylo překvapením, že režimy první disketové jednotky lze přepínat i za běhu, tj. nejen z QMEG menu. O co překvapivější pak bylo zjištění, že to uměl už QMEG 3.
Pro přepnutí první disketové jednotky na neurychlený režim slouží kombinace Control+Shift+N.
QMEG 4 má jen jednu kombinaci, a to Control+Shift+F. QMEG 3 rozlišuje typy urychlení, a proto používá Control+Shift+H pro Happy a Control+Shift+U pro UltraSpeed.
Lze nastavit, že v D1 bude první část ramdisku (A, resp. X), a to klávesovou zkratkou Control+Shift+/ (tedy lomítko). Pro "vložení" druhé části ramdisku (B, resp. Y) do D1 je třeba zmáčknout Ctrl+Shift+Invers.
Tak lze např. do ramdisku nahrát hru na dvě diskety v Singlu a v průběhu hry dle potřeby diskety přepínat. Zpět na disketovou jednotku lze přepnout pomocí Control+Shift+N nebo některou ze zkratek pro urychlený režim (viz 4.3.2).
A to je pro tentokrát vše, přátelé.
Bohdan Milar
2017
[1] Atari XL/XE QMEG Operating System. 1990. Flop, Rožnov pod Radhoštěm
[2] Ramdisk (práce s rozšířenou pamětí); R. Kudla, Z. Burian, L. Burian. 1992. Flop, Rožnov pod Radhoštěm
[3] Zpravodaj Atari klubu - příloha XI; P. Jandík. 1989. Atari klub Praha
[4] Adresy paměti počítačů ATARI 600 XL/800 XL 1; P. Dočekal. 1987. ČSVTS OKP Liberec
[5] Adresy paměti počítačů ATARI 600 XL/800 XL 2; P. Dočekal. 1987. ČSVTS OKP Liberec
[6] Quarter-Mega Plus Operating System; S. Dorndorf. 1997
[7] https://en.wikipedia.org/wiki/Atari_DOS
[8] http://www.ataripreservation.org/websites/freddy.offenga/megazine/ISSUE5-QMEG.html