Čtení a archivace disket

Disketové mechaniky v PC jsou už pěkných pár let minulostí. A nejen, že nejsou nainstalované, ale ani na základních deskách už nenajdete disketový řadič. Dokonce se nedá koupit ani jako přídavná karta, prostě není o malé a nespolehlivé diskety masový zájem 😉 Disketový řadič v PC byl navíc vždy přizpůsobený PC disketám a třeba pro diskety z Amigy nebo C64 se použít nedá. Stejná, ba ještě větší omezení, platí pro USB disketové mechaniky, kterých pár na trhu je. Proto postupně vznikaly různá „udělátka“ nejprve spíše pro čtení „nePC“ disket (Catweasel, X1541, …). Lehce kontroverzní KryoFlux pak zahájil éru „archivace“, kdy nestačilo disketu jen přečíst a zapsat, ale mít i věrnou kopii datového toku (flux) a mít tak možnost dělat věrné kopie disket i v budoucnosti, včetně různých ochran, které obvykle využívají právě nekompatibilit použitého formátu. Dnes je dostupných zařízení a možností celá řada, byť mi přijde, že software za hardwarem stále trochu pokulhává.

Kromě KryoFlux si můžete koupit třeba SuperCard Pro, případně výrazně levnější Greaseweazle v některé z jeho variant. Pokud jste jen trochu zručnější, tak Greaseweazle si můžete snadno sami postavit, protože celý projekt je Open Source. Zajímavý je i projekt FluxEngine, který si naopak postavit musíte nebo můžete použít hardware Greaseweazle. Postavit si také můžete starší projekt Disc Ferret. V Japonsku se zrodil projekt FDX68, který ocení převážně uživatelé Japonských počítačů SHARP, NEC, FM Towns apod. A aby toho nebylo dost, ve Francii se chystá projekt Pauline, který je také Open Source. Hardwaru je tak celkem dost a o většině zařízení mám v plánu udělat samostatný příspěvek. Tento má za úkol udělat jaký si přehled, případně vyvolat diskusi a dozvědět se o projektech, které neznám.

Jak jsem se již zmínil, po softwarové stránce projekty trochu pokulhávají. Většina hardware je schopná načíst z diskety datový tok – stream (flux) a většina má i svůj vlastní formát. KryoFlux má svůj RAW formát, ale i archivační formát IPF. Celkem rozšířený je datový tok SuperCard Pro ve formátu SCP, protože je dobře zdokumentovaný. DiscFerret má soubory DFI, FDX68 soubory FDX a Pauline hxcstream. Za zmínku a pochvalu stojí Greaseweazle, který nezavádí žádný svůj další formát, ale používá již zmíněný formát SCP nebo částečně dekódovaný formát HFE, který používá HxC floppy emulátor.

A jsme u dekódování. Datový tok (flux) je celkem oříšek a rozhodně z něj při pohledu na změť nul a jedniček nepoznáte, jestli data jsou vůbec dobře načtená, natož aby se s nimi dalo něco dělat. Každý puls, který dostanete z mechaniky znamená změnu magnetického toku. Aby data vůbec šly na magnetické médium uložit, a nebyly závislá na velmi přesném časování, musí se zakódovat tak, aby se rozumně střídaly nuly a jedničky, což umožní rekonstrukci hodin. A abyste mohli data načíst, potřebujete je dekódovat. Starší počítače používaly FM modulaci, novější pak MFM, která je asi nejčastěji používanou modulací, ale celkem často se setkáte i s GCR (Apple, Commodore, ale i třeba 2.5″ disky SHARP) a s hromádkou dalších „extravuřtů“. Kromě zásadních rozdílů v modulaci, jsou pak ještě rozdíly „drobnější“. Třeba Amiga diskety nepřečtete v PC, to je známý fakt. Přitom přece mají MFM modulaci. Jenže Amiga zapisuje nebo čte celou stopu současně a dekódování dělá CPU. Tvůrci tak klidně použili kratší mezery mezi sektory, protože nemusí sektory zapisovat jednotlivě (a zohlednit toleranci v otáčkách mechanik) a navíc udělali i nestandardní hlavičku sektoru, aby se jim snadněji dekódovala. Ovšem běžný hardwarový řadič, jako je třeba v PC, si na tomto vyláme zuby.

Kromě modulace se budete ještě u disket potýkat s jejich formátem. To, že je disketa zaznamenaná modulací MFM ještě neznamená, že disketu ze Speccy strčíte jednoduše do PC. Jak na Speccy, tak na PC navíc existuje slušná řada formátů disket. Je to podobné, jako se staršími počítači, každý výrobce přišel se svým vlastním formátem disket, které se navíc lišily ještě podle verze a někdy nebyly ani zpětně kompatibilní. Třeba u SHARP disket je celkem normální, že první stopa je jinak naformátovaná, než zbytek diskety a někdy dokonce používá i jinou modulaci. A do toho se navíc pletou různé ochrany proti formátování. Peklo.

Většina výše zmíněných hardwarových interface je dodávaná se softwarem, který umí dekódovat pár základních formátů, obvykle podle oblíbené platformy tvůrce. Světlými výjimkami jsou SamDisk a HxCFloppyEmulator software. Umí načítat většinu flux formátů, dekódovat a exportovat je ve formátu vaší platformy nebo emulátoru. HxCFloppyEmulator software umí navíc i poměrně pěkně vizualizovat načtená data. K dispozici je několik typů pohledů a snadno si tak uděláte přehled, co na disketě je nebo není a jestli použitá modulace odpovídá tomu, co byste čekali.

Na obrázku na začátku příspěvku je hezky vidět vadná 13. stopa na nulté straně (vadné stopy na konci nevadí, protože disketa je z počítače SHARP MZ-2500, který standardně využívá jen 77 stop). Následující obrázek vlevo ukazuje disketu pro SHARP MZ-3500, která má první stopu na nulté straně nahranou s modulací FM, zatímco zbytek diskety používá modulaci MFM. Kdybyste mohli po obrázku „šmejdit“ myší, viděli byste, že FM sektory mají délku 128 bytů, zatímco MFM mají délku 256 bytů, přitom vypadají skoro stejně dlouhé. Obrázek vpravo zase pěkně ukazuje 3 vzdálenosti mezi čtenými pulzy způsobené MFM modulací.

U SHARP disket se mi celkem osvědčil postup, kde načtu disketu do formátu SCP a následně pomocí SamDisk nebo HxCFloppyEmulator uložím jako D88 nebo DSK. Tyto formáty obsahují jen čistá data a dají se přímo použít v emulátoru. Pro použití v HxC Floppy Emulátoru nebo Flash Floppy (Gotek) ukládám disky obvykle ve formátu HFE. Takovéto obrazy jsou krásně zapsat na novou nebo i použitou disketu a tím můžete vytvořit kopii. Podobný postup, pouze s využitím jiných exportních formátů je aplikovatelný i na další platformy. U SHARP disket se dá použít s výhodou FDX68, který umí přímo ukládat z diskety do formátu D88.

Následující obrázky ukazují, jak vypadá přečtená originální disketa pro SHARP MZ-5500. Všimněte si, že autoři nahráli jen první tři stopy, které mají význam a zbytek diskety je nenaformátovaný. Výrazně to zrychlí proces výroby disket. Tyto první tři stopy jsou pak nakopírované na jinou disketu, která jde v pohodě spustit, byť na první pohled vypadá dost nechutně. První stopa má 16 sektorů po 256 bytech, kde je zavaděč, další dvě stopy mají 4 sektory po 1024 bytech a zbytek diskety je tvořen 9 sektory 512 bytů na stopě, protože disketa byla původně 360 kB disketa pro PC.

Většina ostatních nástrojů, jako SamDisk, FluxEngine nebo Disk Utilities pracuje s příkazovou řádkou a vizualizace je minimální. FluxEngine umí výstup v pseudografice případně export obrázku. Pauline kreslí přes webový interface podobné výstupy, jako HxCFloppyEmulator software, protože ho vytvořil stejný autor.

Tolik jen stručný přehled nástrojů pro práci s disketami, které můžete využít i na moderních počítačích, které nemají disketový řadič a nemusíte downgradovat systém 😉 Úmyslně jsem vynechal programy, které umí přímo pracovat s řadičem a disketovými mechanikami, byť jedním z nich je několikráte zmiňovaný SamDisk. Jasan, že si většina z nás syslí nějaké to starší PC pro tyto účely, ale budoucnost se bude ubírat spíše přes zmiňovaná „udělátka“, nemluvě o jejich větší univerzálnosti a schopnostem. Pokud víte o něčem dalším, o čem jsem se nezmínil, sem s informacemi, myslím, že to všichni oceníme.

Příspěvek byl publikován v rubrice Moderní projekty. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

11 komentářů: Čtení a archivace disket

  1. Doda napsal:

    Je nejaka zasadni vec, kterou nema nadratovany Greaseweazle F1 a ty ostatni verze? Ja jsem si to precetl, ale nic, co fakt nejde postaradat, jsem tam nenasel.

    • Martin napsal:

      Zásadního nic, F1 jde s většinou disket v pohodě používat. Ty rozdíly jsou přehledně tady v tabulce https://github.com/keirf/greaseweazle/wiki/Greaseweazle-Models. V zásadě budiče a nějaké ty využité piny navíc, u F7 je i rychlejší USB. Kdybys chtěl, tak destičku na F1 určitě mám.

      • Doda napsal:

        Ma to smysl kdyz mam Kryoflux? Ten jsem zatim potreboval asi 3x v zivote. Ke cteni, pro zapis to neni uplne optimalni.

        • Martin napsal:

          Nejsem si jist, já Kryofluxem nic moc nezapisoval. Obecně není dobré zapisovat přečtený flux, ten je dobré dekódovat na data a pak teprve převést zpět na flux a zapsat, pokud to neumí daný formát zapsat přímo. Jestli řešíš Amigu, tak ADF umí přímo skoro všichni, ne?

          • Doda napsal:

            Ja jsem to napsal asi trochu nesrozumitelne. Prinasi Greaseweazle neco zajimaveho oproti Kryofluxu? Ta Amiga samotna neni oproti jinym platformam vlastne zadne kouzlo.

          • Martin napsal:

            Myslím, že nic extra zajímavého na Greaseweazle proti Kryofluxu není. Žádná must have featurka. Mně je ten projekt sympatickým že je Open Source a dělá na něm Keir Fraser (autor Flash Floppy), narozdíl do podivné partičky okolo Kryofluxu, která je mi naopak dost nesympatická svým chováním. GW je navíc v aktivním vývoji a Keir na něm celkem intenzivně maká. Teda FW už je celkem stabilní, ale nástroje se mění a vylepšují každou chvíli.

          • Doda napsal:

            To vidim podobne.

      • Pajas napsal:

        Ahoj, měl bych zájem o destičku na F1. Článek je super, chtěl bych zkusit do toho proniknout 🙂

  2. MG napsal:

    Pěkné. To jsem ani netušil, že je to až taková věda. Myslel jsem si, že na to stačí běžná PC FDD a Linux a přečte to všechno (do nějakého toho obrazu s kterým se pak dá dále pracovat).

    • MG napsal:

      Jinak… škoda, že ty programy (jestli jsem to dobře pochopil) jsou takové slepence (tento dělá kousek, další program, který je nutný stáhnout a nějak propojit s tím prvním nebo si sám žije svým vlastním životem dělá druhý kousek…) a málo kdo se snaží o to, aby to bylo vše pohromadě nebo když už tak nascriptováno tak, aby to vše chodilo z jednoho prostředí bez nutnosti cokoliv řešit. Ale myslím si, že tohle je problém Linuxu obecně. Ano má to jisté výhody, ale dost mi to leze krkem na konec vše poskládat tak, aby to chodilo pokud možno bez častých zásahů (něco se někde změní a už to spolu nefunguje). Ale chápu, že tu poslední míli (která je časově ta nejdelší) se nikomu nechce moc řešit, protože ta jeho část funguje…

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.