Datatypy

Luboš Němec

Datatypy, to je pro uživatele Amigy s AmigaOS/Workbenchem 3.0 a vyšším jistě velmi známý pojem. Co to však datatypy jsou a proč vlastně vznikly, si povíme v tomto článku.

Nutnost rozpoznávat soubory si už dávno uvědomovali autoři operačních systémů na všech platformách. Jedním z prvních, kteří integrovali do svého Systému podporu rozpoznávání souborů podle jejich typů byla firma Apple. Jistě, i pro jiné počítačové platformy a systémy existují podobné techniky, například také ve Windows najdeme rozpoznávání typů souborů (víceméně pochybné), na Macu se o jejich další rozšíření zasloužila firma Claris se svými převaděči, ale žádná z těchto technologií není srovnatelná s technikou datatypů používaných na Amize. Rozpoznávání typů souborů podle koncovky zvládaly, pokud vím, už i nejstarší verze Norton Commanderu pod MS-DOSem, ale pokud je mi známo, až kdysi oblíbený DM a také DirectoryOpus přišly s rozpoznáváním typů souborů podle jejich struktury či hlavičky. Podobnou techniku přinesl do AmigaOS poprvé Workbench 3.0, který využíval (a využívá dodnes) právě ty stále omílané datatypy. Kdo a kdy přesně datatypy navrhl a integroval do amigovského systému Vám nepovím, ale o co se jedná, to sdělím rád. Popis funkce datatypů není příliš složitý. Jedná se o knihovny s rutinami pro dekódování různých textových, grafických a jiných formátů dat. O jejich zobrazení se stará MultiView a mnoho dalších prohlížecích programů podporujících datatypy.
Samotné datatypy se skládají minimálně ze dvou částí. První část jsou již zmíněné dekódovací rutiny umístěné normálně v adresáři „Classes/DataTypes“ a je jim přiřazena (pomocí assign) cesta, jako kdyby se jednalo o klasické knihovny. Další část, starající se o vlastní rozpoznání typu souboru, je umístěna v „DEVS:DataTypes“ a jsou to krátké soubory typu IFF DTYP v rozsahu několika desítek až stovek bajtů (např. nejkratší z momentálně dostupných datatypů je identifikace formátu PCX, nejdelší pak identifikace postscriptových souborů), k jednomu datatypu může být i několik identifikátorů. Aktualizace dostupných datatypů se provádí automaticky z ikonek těchto identifikátorů při každém startu systému nebo přímo příkazem „AddDatatypes“ s parametrem „REFRESH“ ve startovací sekvenci. Pomocí MultiViewu nebo podobného programu s podporou datatypů si pak můžete prohlížet všechny „známé“ soubory. Systém se nejprve obrátí na identifikátor, zjistí si typ souboru, načte a spustí patřičné dekódovací rutiny a ukáže Vám text, animaci, obrázek atd. v celé jeho kráse. Některé datatypy se ještě obracejí na další pomocné rutiny či skripty umístěné opět většinou v „Classes“, „Libs“ či adresáři „S“. Například animační datatypy používají ještě GUI moduly z „Classes/Gadgets“, jeden z JPEG datatypů má svůj hlavní dekódovací systém v „Classes/Codecs“ a tak bych mohl pokračovat. Naštěstí tyto výjimky spíše potvrzují pravidlo a naprostá většina datatypů je umístěna spořádaně v jednom souboru.
Protože systém Amigy nebyl ve své době navržen pro práci s 24bitovou grafikou, mnoho z datatypů může používat jen 8 bitplánů neboli 256 barev, výjimečně i speciální módy HAM/HAM8. Tento v dnešní době již značný nedostatek odstranily až nové 24bitové datatypy „PictureDT“ v43.x, které jsou dostupné na Aminetu v adresáři „util/dtype“ (jen tak mimochodem, kdo už dlouho sháníte novou verzi systému CyberGraphX, najdete ji právě v tomto archivu!). Datatypy verze 43.x prakticky vždy podporují také 24bitovou grafiku a máte-li nainstalovány PictureDT, můžete je bez problémů použít i pro zobrazení na libovolné grafické kartě. Dnes již existuje mnoho datatypů, které podporují PictureDT a tedy i 24 bitovou grafiku ve všech hi/truecolor rozlišeních, nejnovější je sada začínají písmenky „ak“ (viz. přehled datatypů), ale i jiné datatypy plně nebo částečně podporují 24bitů. K těmto datatypům jsou pak přiloženy preference, kde se dá nastavit druh zobrazení, někdy také typ ditheringu, metody ovlivňující dekódovaní atd.
V současné době existuje něco kolem 70 datatypů pro různé hudební, grafické, textové a mnoho dalších účelů. K následujícímu přehledu dostupných datatypů (z nichž některé jsou součástí Workbenche 3.0 a vyššího), bych rád pouze dodal, že několik z těchto datatypů je k dispozici hned v několika verzích s odlišnými možnostmi od různých autorů a ke všem uvádím proto jen stručnou charakteristiku. Verze datatypů nejsou důležité, některé se již dále nevyvíjí a některé se zase pravidelně aktualizují. U některých datatypů jsou v závorce uvedeny doplňkové informace o původu daného formátu, ze které počítačové platformy pocházejí nebo jsou na ní velmi rozšířené atd. Naprostou většinu popisovaných datatypů najdete na Aminetu v adresáři „util/dtype“ a až na některé výjimky se téměř vždy jedná o freeware/mailware/postware či podobné „avare“ bez funkčních omezení. Je klidně možné, že na různých sítích najdete i další datatypy, což je ovšem jen a jen dobře a jednoznačně zde platí, že čím více, tím lépe!

Přehled dostupných datatypů
Datatypy obsažené ve Workbenchi 3.0/3.1+
85VX.datatype - přehrává samply ve formátu IFF 8SVX (Amiga)
amigaguide.datatype - prohlíží dokumenty ve formátu Guide (Amiga)
anim.datatype - (WB 3.1+) přehrává animace ve formátu IFF Anim 5
animation.datatype - (WB 3.1+) základní rutiny pro přehrávání animaci, které využívají animační i grafické datatypy
ascii.datatype - slouží k prohlížení textů ve formátu ASCII i ANSI (podporuje znakové sady v plném rozsahu)
cdxl.datatype - (WB 3.1 +) přehrává animace (včetně zvuku) ve formátu CDXL(Amiga CDTV/CD32)
ilbm.datatype - prohlíží obrázky ve formátu IFF ILBM (Amiga)
picture.datatype - základní zobrazovací rutiny, které využívá naprostá většina grafických a některé animační datatypy
sound.datatype - základní rutiny pro přehrávání zvuku, které využívá většina zvukových a také některé grafické datatypy
text.datatype - základní rutiny pro většinu textových a dalších datatypů Grafika

Grafika
akGIFdatatype - prohlíží obrázky ve formátu GIF (prakticky všechny platformy)
akJFIF.datatype - prohlíží obrázky ve formátu JFIF, JPEG (všechny platformy)
akPNG.datatype - prohlíží obrázky ve formátu PNG (prakticky všechny platformy)
akSVG.datatype - prohlíží obrázky ve formátu SVG (pakované obrázky metodou XPK)
aom_raw.datatype - prohlíží obrázky ve formátu AOM RAW (formát společnosti Applied Optical Media Corporation - prakticky všechna její cédéčka)
be.datatype - prohlíží obrázky ve formátu BeBox (BeBox)
bmp.datatype - prohlíží obrázky ve formátu BMP (PC/Macintosh)
debox.datatype - prohlíží obrázky kódované/dekódované knihovnou „debox.library“ (CDTV/CD32 - např., Defender Of The Crown II)
film.datatype - přehrává animace včetně zvuku ve formátu IFF FILM (AGMS Film)
gif.datatype - prohlíží obrázky ve formátu GIF (prakticky všechny platformy)
hwgpost.datatype - prohlíží obrázky (ASCII i binární - převádí je z vektorových na bitmapové) ve formátu postscript (všechny platformy)
ico.datatype - prohlíží ikony formátu Windows 3.1 ICO (PC)
icon.datatype - prohlíží amigovské ikony
info.datatype - prohlíží amigovské ikony
jfif.datatype - prohlíží obrázky ve formátu JFIF/JPEG (všechny platformy)
jpeg.datatype - prohlíží obrázky ve formátu JFIF/JPEG (všechny platformy)
koala.datatype - prohlíží obrázky ve formátu Koala (C64)
macpaint.datatype - prohlíží obrázky ve formátu MacPaint (Macintosh)
mpegvideo.datatype- přehrává animace ve formátu MPEG (pouze softwarové přehrávání)
pbm.datatype - prohlíží obrázky (oseti i binární) ve formátu PBM/PGM/PPM (PC/Unix a další platformy)
pcx.datatype - prohlíží obrázky ve formátu PCX (PC)
photocd.datatype - prohlíží obrázky ve formátu PhotoCD (Kodak, obrázková cédéčka)
png.datatype - prohlíží obrázky ve formátu PNG (prakticky všechny platformy)
post.datatype - prohlíží obrázky (ASCII i některé binární - převádí je z vektorových na bitmapové) ve formátu postscript (všechny platformy)
qrt.datatype - prohlíží obrázky ve formátu ORT (raytracery QuickRTracer/PovRay)
sun.datatype - prohlíží obrázky ve formátu SunRaster (RGB formát platformy Sun)
svg.datatype - prohlíží obrázky ve formátu SVG (pakované obrázky metodou XPK)
targa.datatype - prohlíží obrázky ve formátu Targa (Macintosh/PC)
tiff.datatype - prohlíží obrázky ve formátu TIFF (Macintosh/PC)
wpg.datatype - prohlíží obrázky (jen bitmapové) ve formátu WPG (WordPecfed Graphics - PC/Macintosh)
xbm.datatype - prohlíží obrázky ve formátu XBM (Sun, Unix všeobecně atd.)
xpm.datatype - prohlíží obrázky ve formátu XPM/XBM (Sun, Unix všeobecně atd.)
zx.datatype - prohlíží obrázky či spíše „obrazovky“ ve formátu ZX-Spectra

Text
c.datatype - prohlíží zdrojové kódy z jazyka C/C++ s možností barvového a stylového odlišení struktury zdrojáku
hyperguide.datatype - prohlíží texty ve formátu Guide a HyperGuide (nová vylepšená verze formátu Guide pro Amigu)
hypertext.datatype - prohlíží texty ve formátu ASCII/ANSI, slouží jako doplněk k „hyperguide.datatype“ (Amiga)
man.datatype - prohlíží texty ve formátu MAN (Unix)

Hudba
adpcm.datatype - přehrává samply pakované s ADPCM kompresí (různé platformy, celulární telefony, zvukové karty)
aiff.datatype - přehrává samply ve formátu AIFF (Macintosh a některá datově-zvuková CDčka)
hsn.datatype - přehrává samply ve formátu NSN (Maxon Magie)
macsnd.datatype - přehrává samply ve formátu SND (Macintosh)
maud.datatype - přehrává samply ve formátu MAUD (formát zvukové karty Toccata od MacroSystemu a samplovacího Samplitude)
samplevision.datatype - přehrává samply ve formátu SampleVision (PC)
sunau.datatype - přehrává samply ve formátu SunAU (platforma Sun)
TX16W.datatype - přehrává samply ve formátu Yamaha TX16W (12ti bitový sampler se 3 samplovacími frekvencemi)
voc.datatype - přehrává samply ve formátu VOC (PC)
wow.datatype - přehrává samply ve formátu WAW (PC)

Ostatní
binary.datatype - prohlíží amigovské binární soubory v hexa formátu
cli.datatype - v závislosti na typu souboru spouští z CLI/Shellu externí program (zatím využíváno pro archivační programy)
decompressor.datatype - rozbaluje a dekóduje velké množství packerů pomocí „xfd.library“, funguje jako dekódovací rutinka pro všechny ostatní datatypy
dfa.datatype - prohlíží databáze ve formátu DFA (ze stejnojmenného databázového programu pro Amigu)
directory.datatype - slouží pro práci s celými adresáři, přímo souvisí s využíváním „text.datatype“
exe.datatype - prohlíží amigovské exe soubory a informuje také o jejich struktuře, verzi, velikostí, knihovnách, komentářích atd.
faxx.datatype - prohlíží dokumenty ve formátu FAXX (Amiga)
font.datatype - prohlíží amigovské bitmapové o vektorové fonty (s podporou ATE nebo ATM pak i AT1 fonty)
newicon.datatype - prohlíží o konvertuje do IFF ILMB formátu ikonky formátu NewIcon (pohodlnější náhrada utilitky „NewIconToBrush“)
reko.datatype - prohlíží karty ve formátu REKO (ze hry Klondike)
xpk.datatype - rozbaluje soubory pakované metodou XPK, funguje jako dekódovací rutina pro všechny ostatní datatypy

Některé patche související s datatypy
markabletextdtclass - přidá k „text.datatype“ podporu pro grafické označování a kopírování textu (Cut, Copy Pastel
paranimdtcpatch - opravuje chyby a vylepšuje „animation.datatype“
PatchDT - patchuje „datatypes.library“ a urychluje grafický výstup (pouze pro grafické karty)
textdtpatch - přidá k „text.datatype“ podporu pro hledání znaků a slov (Search)
dumpdtanim - není klasický patch, ale CLI/Shell utilitka, která rozděluje animace v jakémkoliv formátu podporovaném datatypy a ukládá jednotlivé snímky ve formátu IFF FIIM (AGMS_FIIM)



Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.

Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing