Tipy a triky

Vo tomhle článku sem docela přemejšlel, jestli ho má vůbec cenu psát. Rád bych v něm totiž popsal pár tipů a triků, který se mi osvědčily při používání Amigy. Jenže otázka je, jestli to momentálně vůbec někoho zajímá. Většina starších a zkušených Amiga "mazáků" asi už tyhle típky zná a používá, no a nováčků se poslední dobou na Amize jaksi moc neobjevuje. Nakonec jsem se ten článek přece jen rozhodl napsat. Možná časem, až bude kralovat AmigaONE, se tenhle článek dostane do rukou někomu méně zkušenému a pomůže mu.

Takže zaprvé. Bootování systému. Snad každý majitel Amigy se snaží nějak zlepšit estetiku bootování jeho Amči. Teď mám na mysli to, že místo černé obrazovky se používají různé programy, které zobrazují obrázky, přehrávají samply nebo animace a tak podobně. Jedná se třeba o program AmigaStart nebo Rainboot. Zejména Rainboot je opravdu multimediální "bootovač". Problém ale je, že po použití Rainbootu se start systému často zbytečně protáhne na delší dobu než je nutné. Chtělo by to tedy něco, co udělá takové uvítání do Amiga systému, ale to, uvítání se přehraje jen po prvním spuštění. Po resetu už ne.
Pokud stejně jako já používáte prográmek BlizKick, nebo nějaký jiný na přemapování Romky do Ram, můžete použít to řešení, které jsem použil já. Vycházím z toho, že před spuštěním BlizKicku, to je při zapnutí počítače, je o půl mega víc paměti, než po dalším resetu. To půl mega "žere" mapovaná romka. Teď tedy stačí napsat takovej malej scriptík, kterej vyhodnotí kolik paměti má vaše Amča a pak buď spustí, nebo nespustí uvítací ceremonii. Tenhle scriptík pak hodíte do startup-sequence před BlizKick a je vystaráno.

Jako příklad jsem napsal kus mojí startovací sequence:

avail total
wait 1000
If VAL `Avail Total` GE 74282864
runback >NIL: SYS:C/vt SYS:S/boot/bootanim loop 1 fps 25
runback >NIL: SYS:C/play16 SYS:S/boot/bootsample filter off
wait 9
EndIf

A teď co je co. první dva řádky slouží k vypsání kolik paměti vlastně máte. To se vypíše po spuštění při bootování. Po vypsání buď počkáte (docela dlouho :-), nebo stisknete CONTROL a C a bootování systému se dokončí. Poté tyhle dva řádky buď vymažte, nebo před ně napište středník, aby vám už nebrzdili příští start Amigy.

Další řádek je vyhodnocení paměti. Vyhodnocení je uskutečněno jako podmínka. VAL znamená, že se jedná o číselnou hodnotu. Dále je zde funkce AVAIL TOTAL, což je velikost celkové paměti (Chip+Fast). Dále je zde funkce, která porovnává velikost dvou souborů (v tomto případě čísel). Lze požít funkce EQ, GE a GT. Platí následující pravidla:

A EQ B - podmínka je splněna pokud si jsou řetězce rovny. A=B.

A GE B - podmínka je splněna pokud hodnota A je větší nebo rovna B. A=>B.

A GT B - podmínka je splněna pokud hodnota A je větší než hodnota B. A>B.

Pokud před funkci dáte NOT vyhodnocuje se funkce jako opak. Například:

A NOT GT B znamená, že podmínka je splněna pokud hodnota A je menší než B. A
Jak je patrné k vyhodnocení našeho scriptu se hodí nejlépe funkce GE, nebo GT. Podmínku EQ je lepší nepoužívat, protože velikost paměti sem tam kolísá. Stačí si třeba zapnout RAD a už to máte trošku jinak.

Dále je ve scriptu už jen program, který se spustí pokud je podmínka splněna. Já osobně tam mám animaci se zvukem BootIntro, kterou naleznete na Aminetu v adresáři util/boot, ale můžete si tam dát co chcete podle libosti. Třeba nějakou konfiguraci Rainbootu, nebo i nějaké kratší intro, které po skončení samo vyskočí do systému atd.

No a jako poslední je ukončení podmínky příkazem EndIf. Dále již následuje BlizKick.

Čeština v textech

Jako druhou věc tu máme použití češtiny. Že má čeština móc norem a to hlavně na Amize je všeobecně jasné. Proto taky vznikají konverzní programy jako třeba známý a rozporuplný Převodník. Pokud narazíte na nějaký článek v "jiné" češtině tak si ho buď převedete do "vašeho" kódování, nebo si prostě ty klikyháky na místě diakritických znamének domyslíte. To je ale dost nepohodlný. Existuje i elegantnější řešení.

Pokud používáte manažer Directory Opus a Program převodník, můžete si tyto dva programy nastavit tak, že se vybraný text automaticky zobrazí v nastaveném prohlížeči v tom vašem správném kódování. Můžete použít jak DOpus 4 tak i 5 (Magellan). Stačí si jen otevřít nastavení a na nějaké tlačítko (nebo do menu) si přidat následující tři příkazy:

AmigaDOS DH0:C/Prevodnik {f} * RAM:T/Text 0
AmigaDOS DH0:C/Next RAM:T/Text
AmigaDOS DH0:C/Delete RAM:T/Text


Pro lepší názornost poslouží asi líp obrázek okna nastaveného v Magellanu.

První řádek je nastavení převodníku a zkopírování zvoleného souboru do adresáře RAM:/T pod názvem Text ve zvoleném kódování. Nejprve se nastaví cesta k převodníku a dále výběr první zvolené položky. Znak * znamená automatické rozpoznání kódování. Důležité je to poslední číslo. Za tím se skrývá to kódování, které normálně používáte v systému. U nás je aktuální už asi jen 0 (E2), nebo 1 (KOI8). Tohle vše naleznete i v dokumentaci k převodníku. Takže máme zvolený soubor nakopírovaný v adresáři T v RAMu.

Druhý řádek slouží k prohlédnutí souboru v ramdisku. Jako zobrazovač jsem použil program Next, protože prohlíží nejen ASCII text, ale i HTML, RTF a dokumenty z Wordu, ale to se dočtete na jiném místě tohohle diskmagu.

Třetí řádek slouží ke smazání dočasného souboru z ramdisku.

Myslím, že je to celkem jasný. Funguje to celkem spolehlivě. Jediný problém představují textové soubory skompresované nějakým packerem (power packer). Převodník je totiž v kompresovaném stavu nepřevede. Pomoci může nějaká utilitka, která umožňuje práci s kompresovanými programy i když tuto podporu nemají (např. Power Data). Úplně nejlepší je ale MCP. Stačí si jen v CrunchPatchi nastavit Převodník a je to.

Mimochodem pokud chcete použít tohohle triku je vyžadována buď zaregistrovaná verze Převodníku, nebo si můžete stáhnout volně šiřitelnou verzi ze stránek ATO. Tahle verze má ovšem jednu menší chybičku. Neumožňuje totiž výstup ve formátu KOI8 a to bude možná někomu dost vadit. :-(

Zámek harddisku

No a do třetice všeho dobrého (nebo zlýho? :-). Zamykejte si harddisk. Amiga OS, snad jako jediný systém nepotřebuje pořád něco ukládat na hadr, takže hadr lze uzamknout proti zápisu. Je to dobré pro to, aby se vám některé programy (obzvláště viry) nehrabaly na hardisku, když to nechcete. Provádí se to příkazem LOCK. Parametry jsou název disku, ON (zamknout) nebo OFF (odemknout) a heslo. Takže prakticky:

LOCK DH0: ON  AMIGA - zamkne disk DH0: pod heslem AMIGA.

Pokud byste ho teď chtěli odemknout musíte ho odemykat se správným heslem. Pokud je neznáte máte smůlu. Odemknutí je tedy:

LOCK DH0: OFF AMIGA

Jednoduché, prosté a účinné. Vzhledem k tomu, že se tato ochrana nezapisuje na disk, je dobré vložit do startup-sequence příkaz, který vám zamkne disk a v systému si pak udělat několik scriptíků na odemknutí a opětovné zamknutí. Tyhle scripty pak můžete přiřadit třeba na nějaké klávesy, nebo vložit do menu (pokud používáte nějaký patch, který umožňuje nadefinování vlastního menu) a odemykat a zamykat hadr dle vlastní potřeby.

Flegy