TRDCRC32
Nedávno jsem dokončil a nyní zveřejnil aktualizovanou verzi linuxových programů lstrd a hobeta2trd, které jsem doplnil o možnost zobrazovat CRC32. Viz manuály k těmto dvěma utilitkám.
Při té příležitosti mě napadlo, že by mohlo být užitečné, kdybychom mohli získat CRC32 kontrolní součet i ze souborů uložených na Betadiskové disketě bez nutnosti tyto soubory přenášet na PC. CRC32 už počítat umíme a používám ho ke kontrole zálohovaných disket v programu SIFTRD, zvláště při přenosu syrových RAW dat je CRC32 jediný způsob, jak společně s počtem přenesených bytů ověřit správnost přenosu. Ale počítat CRC32 na souborech dosud žádný mě známý program neuměl.
Výsledkem je program TRDCRC32, který nejprve načte obsah adresáře diskety, zobrazí obsah, kterým uživatel může volně procházet a stiskne-li klávesu C na souboru, na který právě kurzor ukazuje, program soubor sektor po sektoru přečte a spočítá CRC32.
Proč zrovna CRC32? Neexistují lepší kontrolní součty? Existují, ale CRC32 se dá na Z80 s pomocí tabulky počítat snesitelně rychle. Zároveň CRC32 v kombinaci s velikostí poskytuje dostatečnou unikátnost kontrolního součtu pro malé soubory, především pro kontrolu správnosti přenosu dat. CRC32 je stále k dispozici na PC v *nixech i jinde bez potřeby psát další program a lepší kontrolní součty, na Z80 zatím počítat neumím, tím méně kryptografické hashe.
A taky proto, že se CRC32 běžně používá k identifikaci různých variant ROM, např. v programu pro detekci ROM, nebo v tomto seznamu a taktéž v mém výběru ROM ke stažení. Na webu samozřejmě ideálně v kombinaci s jinými kontrolními součty.
TODO: Zrychlit čtení souborů - ve zveřejněné verzi je načítání souborů pomalé, dalo by se zrychlit načítáním celých stop, místo jednotlivých sektorů. Ale pro začátek a první verzi to takto bylo jednodušší.
Požadavky programu
- ZX Spectrum 48k a kompatibilní
- Betadisk s TRDOSem 5.03 a novější
Download
- 2025-05-25_trdos_crc32.tar.bz2 - program TRDCRC32 vč. zdrojového kódu
Historie změn článku
- 2025-05-25 - zveřejněno