Nová verzePo skoro pěti měsících čekání dávám k dobru
verzi 1.7.1 (
GitHub), ve které jsem spáchal co jsem chtěl spáchat už dlouho - kompletně jsem přepsal interní hexa-editor (nyní rychlejší, robustnější, "customizovatelnější") a vyhrnul ho do samostatné knihovny. Hned jsem ho využil k vytvoření primitivního editoru FAT "stezky" souboru (abych se držel terminologie z 90.let), kde v případě běžných disket s FAT12 si můžu tři bajty rozdělit do dvou jeden-a-půl bajtů a ty editovat samostatně. Opraveny byly i nalezené chyby v jiných částech aplikace.
Zjistil jsem i proč minulá hra
Mystic Towers v DOSBoxu nefunguje. Během tvoření instalační diskety se očividně bojovalo s místem - kořenový adresář je zkrácený ze standardních 14 sektorů na jediný, a velikost jednohu clusteru je zvýšena ze standardního jednoho na dva sektory (na dvou kopiích FAT tabulek se tak ušetří 8 sektorů). I tak je disketa napěchovaná daty až po okraj. Přestože všechny úpravy jsou v rámci specifikace FATky víceméně košér (nebudu zatěžovat detaily), tak DOSBox má zřejmě všechny hodnoty napevno zadrátované v kódu a do boot sektoru se nedívá.
Něčehož zahraničních herDyna Blaster (v zámoří
Bomberman,
Uložto,
Amiga PDF manuál,
PC dodatek) je poměrně rare PC hra z roku 1992, kteroužto jsem byl požádán, abych zdigitalizoval KryoFluxem pro archív
Total DOS Collection (zde jsem vyrobil rovnou IMA na Greaseweazelu, "archivářům" jsem dával mnoho-otáčkové Streamy k jejich vlastní analýze). Když jsem hru spustil, velice mě potěšilo nestandardní čtvercové rozlišení a ukázkové demo. Dál jsem se bohužel nedostal, protože nemám joystick a nemám ani jeho emulátor



Elf (
Uložto) je podobně rare PC hra ze stejného roku, tentokrát pořádně těžká akční plošinovka. Aniž bych četl manuál (
Amiga PDF a jeho
PC dodatek) jsem se odvážně pustil do hraní. Nevím co jsem zmáčknul, musel jsem použít "masáž klávesnice," abych se z menu nějak dostal do samotné hry - ale bohužel ani dál to ovládání nebylo o moc intuitivnější. Chodí, skáče a přidřepuje se šipkama. Stříli se Ctrl. Do menu se leze přes mezerník a položky se potvrzujou pravým shiftem... Zkrátka jak by řekl můj kolega z kanclu, "Stará dobrá hratelnost"



Rytíři gráluRytíři grálu (
Uložto) je české RPGčko (myslím že dokonce první pro PC, ale ruku do ohně bych za to nedal) z roku 1996. Tahle hra mě trápila mnoho let a mnoho verzí RIDE - a podle průběhu instalace bylo jasné, že problém je na (tradičně) poslední ze čtyř disket. Z diskety jsem na interní PC mechanice zkoušel v Průzkumníkovi zkopírovat soubor INSTALL.003 někam na disk. Kopírování chvíli probíhalo normálně, zhruba v půlce se hlava zkalibrovala (problematické místo) a kopírování se pak úspěšně i dokončilo. Bohužel ale instalátor při zpracování INSTALL.003 i tak ohlásil chybu.

To vše se ale změnilo, když jsem si u předchozí verze 1.7 řekl, že v Track Mapě otestuju prastarou funkci
Track Map → Helpers → Statistics, která prostě jen "očuchá" aktuální disk a vypíše kolik sektorů je obsazených, volných, systémových - nebo také vadných. A pro poslední disketu Rytířů grálu byl skutečně nalezen jeden vadný sektor.

Což bylo krajně divné, protože pokud se hlava během kopírování zkalibrovala, a bylo tak možné úspěšně překonat problematické místo, tak by zákonitě na disketě neměl být žádný vadný sektor! Na KryoFluxu jsou každopádně všechny sektory čitelné. Že by tedy konečně nějaká česká protipirátská ochrana díky které (podobně jako minule u Mystic Towers) emulace v DOSBoxu nefunguje správně? Soubor INSTALL.003 ale tenhle sektor z obou stran obtéká... Tady jsem u předchozí verze 1.7 skončil

Abych vadnému sektoru přišel na kloub, musel jsem mít nějakou vizualizaci FAT tabulky. Původně jsem takovou chtěl přidělat do Track Mapy (a možná tam i časem přibyde), ale s přepsaným hexa-editorem byla volba jasná - nová záložka dostupná přes záložku File Manager.

Clustery 0 a 1 neexistují (v raných verzích MS-DOSu se ale používaly jako odkladiště dvou extra informací o disku), takže jediný soubor na disketě INSTALL.003 začíná clusterem 2. Tady jsem si musel ručně dopočítat jaký cluster vlastně hledám - vadný sektor je cluster 873 (resp. 0x369). Ten je ve FATce souboru INSTALL.003 vynechán a na jeho místě je cluster 2654 (resp. 0xA5E). Čili to co jsem během kopírování souboru v Průzkumníkovi slyšel nebyla kalibrace, ale čtení jednoho sektoru na konci disku s návratem zpět na původní cylindr


Protože všechny sektory jsou na disketě čitelné, zkusil jsem cluster 0xA5E nahradit (původním) clusterem 0x369 a spustit instalátor znovu......




Když se s touhle informací zpětně podívám na cluster 0x369, tak obsahuje nepřesný bit (angl.
weak bit), jehož čtení na interním řadiči prostě hodí CRC chybu. Původní majitel se pokusil disketu "zachránit" tím, že na ni "pustil" aplikaci ScanDisk. Ta tento vadný sektor ale také nedokázala přečíst, a tak to, co s CRC chybou přečetla, uložila do prvního "zdravého" sektoru na konci diskety a vadný sektor vyloučila z FATky. Výsledkem této "opravy" tedy je, že instalátor už nemá problém přečíst obsah čtvrté diskety, ale data od 26.cylindru dále mu už nedávají smysl. Díky KryoFluxu a custom dekodéru jsem ale byl schopen ty data "vydolovat"

Enjoy