X-Copy
Seznam kapitol
Technický popis programu X-Copy
Program X-Copy měl grafické uživatelské rozhraní a ovládal se převážně myší. Nabízel hlavní menu s volbami pro různé režimy kopírování (“Copy”), nástroje (“Tools”) a doplňkové funkce jako výpis adresáře či informací o disku. V horní části obrazovky byly zobrazeny ikony disketových mechanik (tzv. “žárovky”), pomocí nichž se volila zdrojová a cílová jednotka. Uživatel mohl kliknutím označit jednu zdrojovou mechaniku (horní řada) a jednu či více cílových mechanik (dolní řada) - zvolené ikonky se rozsvítily žlutě. Pokud na vybrané cílové mechanice uživatel klikl znovu, objevilo se červené „V“ indikující, že kopírování na tuto disketu bude s ověřením (verify) - po zápisu se automaticky provede kontrolní čtení a porovnání dat. V případě chyby ověření bylo možné stisknout klávesu R (retry) pro opakování čtení / zápisu, nebo C (cancel) pro přerušení kopie. Ve spodní části obrazovky se nacházel časovač procesu a stavové informace (číslo aktuální stopy, počet opakování atd.).
Kopírovací režimy
- Doscopy
- rychlý režim zálohování disku bez korekce chyb. Disk kopíruje „tak jak je“ a pokud narazí na chybu čtení / zápisu, pouze ji zaznamená (ale neopravuje). Tento režim je vhodný pro běžné AmigaDOS diskety bez nestandardních ochranných stop. (Pozn.: V manuálu je zmíněno, že interní “nibble” rutina použitá v Doscopy není tak důkladná jako speciální režim Nibblecopy) - Doscopy+
- podobný jako Doscopy, ale opravuje případné nalezené chyby na cílové disketě. Tzn. pokud zdrojová disketa obsahuje slabě poškozená data (např. drobné sektory se špatným kontrolním součtem), Doscopy+ se pokusí zajistit, aby na cíli byly opravené (čte z disku opakovaně a snaží se získat správná data). - Bamcopy+
- inteligentní a velmi rychlý režim kopírování, který kombinuje formátování a kopírování pouze obsazených stop. BAM je zkratka pro Block Allocation Map (tabulka obsazenosti bloků). Bamcopy+ zformátuje cílovou disketu a zkopíruje jen ty stopy, které jsou označeny jako využité na zdrojovém disku, takže neplýtvá časem přenosem prázdných oblastí. Podobně jako Doscopy+ i Bamcopy+ opravuje drobné chyby a je vhodný pro rychlé kopie nechráněných disket. - Nibblecopy
- speciální “nibbler” režim pro bitové kopírování s maximální věrností. Je podstatně pomalejší, ale velmi výkonný - dokáže si poradit s mnoha chráněnými disky a netypickými formáty. Umožňuje například kopírovat některé neamigácké diskety (uvádí se IBM PC, Atari ST, Acorn Archimedes apod.) a obecně disky s vlastní strukturou souborového systému nebo s extra stopami. Nibblecopy se snaží číst i to, co standardní AmigaDOS nevidí, a proto dokáže překonat řadu jednoduchých ochran. V kombinaci s externí mechanikou a případně s donglem Cyclone byl nibble režim vrcholným nástrojem pro zkopírování jinak nezkopírovatelných originálek.
Kontrolní a informační funkce
- Checkdisk
- prověří všechny stopy na disku a nahlásí případné chyby čtení či nestandardní formát. Pro každou stopu zobrazí buď zelenou nulu (OK) nebo červené číslo chyby. Číselný kód odpovídá druhu chyby - např. 1 = nesprávný počet sektorů ve stopě, 2 = chybějící synchronizační značka, 4 = chyba kontrolního součtu hlavičky sektoru apod. Tato funkce umožňovala uživatelům ověřit integritu diskety před kopírováním. V kombinaci s endtrack 00 ji šlo využít i k detekci boot virů (viz výše).
| Kód chyby | Význam (popis chyby) | Co znamená prakticky? |
|---|---|---|
| 0 | Žádná chyba | Stopu lze bez problémů číst a zapisovat. |
| 1 | Chybný počet sektorů ve stopě | Chybný počet sektorů, stopa je fyzicky poškozená nebo nestandardní. |
| 2 | Chybějící synchronizační značka (SYNC) | Stopu nelze správně synchronizovat, typické u chráněných disků. |
| 3 | Chybná kombinace sektorů a SYNC | Obvykle kombinace více problémů ve struktuře stopy. |
| 4 | Chyba kontrolního součtu hlavičky sektoru | Hlavička sektoru je vadná, stopa nebo sektor poškozen. |
| 5 | Chyba kontrolního součtu dat sektoru | Data sektoru jsou vadná, sektor je poškozený. |
| 6 | Chybějící označení sektoru | Program nenašel počáteční hlavičku sektoru, často fyzická vada média. |
| 7 | Nepodařilo se načíst stopu po několika pokusech | Stopa je pravděpodobně vážně fyzicky poškozena. |
- Diskinfo
- zobrazí informace o disketě (název svazku, typ souborového systému) a grafický přehled využití kapacity. U každé stopy diskety ukáže procento volných sektorů (v šestnáctkové soustavě od 0 po F) a označí případné prázdné nepoužité stopy písmenem B (blank). Uživatel tak rychle vidí, kolik místa je na disku volného a které oblasti jsou obsazeny. - Directory
- vypíše adresářové položky na disketě (funguje jako jednoduchý souborový prohlížeč). V případě nedostupného standardního filesystému (NDOS diskety) nemá smysl, ale pro běžné AmigaDOS diskety umožňuje prohlédnout obsah souborů.
Operace s disketami
- Format
- rychlé formátování cílové diskety do standardního amigáckého formátu (80 stop, 11 sektorů/stopa). X-Copy zvládl naformátovat disketu zhruba za 36 sekund a umožňoval i okamžitou verifikaci povrchu. Pokud chtěl uživatel pojmenovat naformátovaný disk "EMPTY" (prázdný), stačilo po výzvě stisknout Enter. Tato funkce byla užitečná i samostatně - X-Copy tedy mohl posloužit jako alternativa k příkazu Format z Workbenche. - QFormat
- tzv. quick format, rychlé „přeformátování“ již naformátované diskety. Ve skutečnosti pouze smaže obsah souborového systému - přepíše základní stopy (0 a 40) a odstraní název disku a adresářovou strukturu. Trvá jen pár sekund a disketa se poté jeví jako prázdná. QFormat ponechává fyzická data na ostatních stopách nedotčená, ale tyto stopy označí jako volné - je to tedy podobné jako „rychlé formátování“ v PC světě. - Erase disk
- funkce pro zrušení formátu diskety (občas zvaná též Unformat). Smaže klíčové strukturální informace tak, že disketa v mechanice vypadá jako nikdy neformátovaná (žádný souborový systém). Prakticky jde o obdobu QFormat, ale potenciálně může smazat i více stop (podle implementace). Manuál uvádí, že „Vymazání změní formátovaný disk na neformátovaný disk.“. Tato volba se hodí např. pokud potřebujete z diskety odstranit bootblock (např. kvůli viru) a znovu ji čistě naformátovat. - WB-Format
- volba přidaná v pozdních verzích (1993), která provedla formát přesně ekvivalentní systémovému formátování z Workbenche. Tím byla zajištěna maximální kompatibilita (např. se specifickými datovými strukturami souborového systému). - Install
- umožňuje nainstalovat na disketu jeden ze tří typů bootblocku podle volby: buď standardní DOS bootblock, speciální X-Copy bootblock, nebo Noboot (nebootovatelný). DOS bootblock je běžný zaváděcí záznam AmigaDOS (pouze zobrazí animovanou ruku nebo disketu). Noboot zapíše neutrální blok, takže disketa nepůjde bootovat vůbec (hodilo se pro datové diskety bez OS). Nejzajímavější je X-Copy bootblock - ten obsahuje vestavěnou virovou kontrolu: pokud je takto upravená disketa bootována, bootblock sám pozná přítomnost některých virů a zobrazí varování. Instalace bootblocků tak sloužila jednak k nahrazení případného infikovaného bootblocku na disku (odstranění viru), jednak k preventivní ochraně prázdné diskety před budoucí infekcí. Bootblock od X-Copy byl jednou z prvních forem tzv. bootblock antivirusu. - Optimize
- nástroj na optimalizaci rozmístění dat na disketě (defragmentace). X-Copy dokázal přeuspořádat soubory tak, aby byly uloženy v souvislých sekvencích a daly se rychleji číst. Tato funkce vyžadovala více než 512 KB RAM (ideálně 1 MB), protože potřebovala načíst velké množství dat do paměti. V manuálu byla výslovná rada nikdy nepoužívat Optimize na originálních disketách - hrozilo poškození, pokud by disk obsahoval nestandardní strukturu nebo ochranu. Optimize tedy sloužil spíše k údržbě vlastních datových disket (např. s projekty, texty, sbírkami obrázků apod.), aby se z nich lépe četlo. - Speedcheck
- provede měření rychlosti mechaniky a kapacity stopy. Při spuštění zaplní testovací disketu daty (varování: použitá disketa bude zničena) a zkouší, kolik bajtů lze zapsat do jedné stopy při plné rychlosti otáčení. Výsledkem je informace o skutečné hustotě / rychlosti dané mechaniky - užitečné například při ladění mechanik nebo podezření na rozladění otáček. - Drives On
- v menu Tools umožňuje dodatečně “zapnout” připojené mechaniky. Amiga standardně při bootu detekuje jen ty disketové mechaniky, které jsou zapojené a zapnuté. Pokud během chodu systému přidáte další externí mechaniku nebo ji zapnete dodatečně, Amiga ji normálně nevidí. Volba Drives On tuto situaci řeší - přinutí operační systém registrovat až 4 mechaniky. Pro plné využití této funkce bylo nutné nejen softwarově mechaniky “povolit”, ale samozřejmě je i fyzicky zapojit a zapnout napájení. Drives On se hodí v kombinaci s kopírováním - uživatel třeba spustil X-Copy s jednou mechanikou a pak sehnal druhou, zapojil ji a mohl ji dodatečně aktivovat místo restartu programu.
Další volby a ovládání
- Start/End Track
- umožňuje vybrat rozsah stop ke kopírování. Standardně je nastaveno 00 - 79 (respektive 00 - 80 u 81-stopých mechanik). Užijete při částečném kopírování nebo při potřebě přeskočit vadné stopy. Nastavuje se pomocí malých trojúhelníkových šipek nad čísly stop. - Side
- volba strany disku ke kopírování. Standardní Amiga diskety jsou oboustranné (dva povrchy), ale např. některé Atari ST diskety byly formátované jen na jedné straně. X-Copy umožňuje zkopírovat jen jednu stranu (horní nebo dolní) - tím lze ušetřit čas nebo vytvořit kopii jednostranné diskety. - Sync
- možnost nastavit vlastní synchronizační hodnoty pro čtení / zápis dat. Tato volba je určena pouze zkušeným uživatelům. Synchronizační bity na disketě slouží k zarovnání datových záznamů - většina ochranných technik s nimi manipulovala (např. neobvyklé nebo chybějící sync sekvence). X-Copy standardně použije výchozí sync kódy, ale v případě některých exotických formátů mohl zručný uživatel ručně zkusit nastavit jiné sync vzory, aby dosáhl úspěšného kopírování. - Disk/Ram mode
- přepíná, zda se kopíruje disketa - disketa přímo, nebo přes RAM. Při režimu Disk->Disk X-Copy čte data ze zdroje a průběžně je ihned zapisuje na cílový disk (vyžaduje samozřejmě dvě mechaniky). Naproti tomu režim Disk->RAM->Disk nejprve načte celou disketu do paměti a pak vyzve k vložení prázdné diskety (příp. více disket), na kterou stejná data zapíše. RAM mód umožňuje jednak kopírovat na jediné mechanice (protože se diskety střídají - nejprve se načte originál, pak se vymění za cílovou a zapíše se), jednak vyrobit více kopií za sebou - po načtení originálu do paměti lze vkládat postupně několik prázdných disket a opakovaně zapisovat bez nutnosti znovu číst zdroj. K tomu slouží tlačítko Repeat, viz níže. - Killsys
- režim pro uvolnění systémové paměti Amigy. Pokud má počítač pouze 512 KB RAM, systém AmigaDOS zabírá významnou část paměti a pro kopírování (zejména v RAM módu) by nezbývalo dost prostoru. Killsys tento problém řeší tak, že při startu X-Copy odpojí (odstraní) většinu rezidentních systémových modulů z paměti a převezme kontrolu. Tím získá pro sebe více volné RAM. X-Copy pak běží „na zelené louce“, ale zároveň platí omezení - například nelze během Killsys režimu přepínat ven do Workbenche, a hlavně k ukončení programu je nutný restart (softwarový reset nebo vypnutí / zapnutí Amigy). Vývojáři upozorňovali, že na strojích s >1 MB paměti není Killsys nutné ani výhodné (nezrychlí kopírování). Naopak pro uživatele s 512 kB bylo Killsys doporučováno například při využití nibble copy, které vyžadovalo více bufferů. - Start/Stop
- spuštění nebo předčasné ukončení aktuálně zvolené operace. Po nastavení všech voleb uživatel klikl na Start a X-Copy začal pracovat (kopírování, formát, kontrola - podle toho, co bylo vybráno). Tlačítkem Stop šlo proces přerušit (např. v případě zacyklení při chybách nebo na rozmyšlenou). - Repeat
- volba opakování procesu. Využívá se zejména s RAM módem: umožní po dokončení jednoho cyklu kopírování ze zdrojové RAM znovu zopakovat zápis na další cílovou disketu (tj. vytvořit další kopii). Uživatel tak mohl jedním načtením originálu udělat více duplikátů - stačilo měnit cílové diskety a potvrdit opakování. - Timer
- již zmíněný časový údaj v rohu obrazovky, který během procesu odpočítával dobu, nebo zobrazoval dobu trvání akce po dokončení. Uživatelé tak měli přehled, kolik kopírování zabralo času (zajímavé pro porovnání režimů, kvality disket či rychlosti mechanik). - Quit
- pro ukončení programu se standardně vyžadovalo vyjmout všechny diskety z mechanik a kliknout na “žárovku” v levém horním rohu obrazovky. Tím se Amiga vrátila zpět do prostředí Workbench nebo do shellu (pokud byl X-Copy spuštěn z CLI). Výjimkou byl již zmíněný Killsys režim - při něm Quit nefungoval a jedinou cestou bylo provést reset počítače.






