PNG2PoFo
V rámci příprav na natáčení dalšího el-Kástu (již brzy ve vašich iTunes) jsem se pokoušel vytvořit nějaké obrázky pro Atari Portfolio. Bohužel jsem zjistil, že pro tento jediný relativně úspěšný klon PC z produkce Atari je toho poskrovnu.
My Spektristi jsme zvláštní ptáci: Valná část z nás už pochopila, že Unixové operační systémy jsou to pravé, a tak máme ty hlavní konverzní, pakovací a programátorské utilitky pohodlně dostupné právě v těchto systémech. Jelikož vícebitová Atari zavání Unixem, očekával bych že se tímto problémem už někdo zabýval.
Proto mě poněkud překvapil jediný dostupný český návod na převod obrázků do Portfolia. Náladu, do které jsem se po jeho přečtení dostal nejlépe podkreslila píseň I'm in shock od Fancyho a ještě než tato dohrála, měl jsem v ruce učebnici jazyka C a na obrazovkách gedit, konzoli a popis formátů PGF a PGC.
Po dvoudenním týrání mého VisualBASICem zblblého mozku jsem si osvěžil to málo, co jsem z jazyka C uměl a vznikl prográmek PNG2PoFo. Umí konvertovat obrázky ve formátu PNG o rozměru 240x64 s jednobitovou barevnou hloubkou do nekomprimovaného PGF i komprimovaného PGC.
S použitím knihovny FreeImage byla PGF část triviální – knihovna obrázek vrací prakticky v témže formátu, v jakém je ho třeba zapsat do souboru, jen jsou mikrořádky seřazeny opačně. Taková trivialitka nezastaví ani lamera mého formátu, pokud si jí ovšem v dokumentaci všimne. V opačném případě totiž dojde k mírnému zdržení.
PGC se ukázalo být jako o něco zavilejší potvora, specifikace z roku 1991 je totiž psaná převážně s ohledem na autory depackeru. O to větší byla moje radost, když kreslící program spaint přímo na Portfoliu můj výplod bezchybně zobrazil. Radost netrvala dlouho – kromě spaintu je na Portfoliu již jen prográmek pgshow a ten při otevření PGC obrázku z mé produkce Portfolio uváděl do takového pseuda, že jediným řešením byl populární PC trojhmat.
Jak najít chybu? Dal jsem si tu práci a nainstaloval DOSBox a v něm spustil prográmek pgedit – myší ovládaný editor PGC obrázků vytvořený přímo autorem PGC specifikace. Obrázek z mého konvertoru šel otevřít, ale při opětovném uložení měl jinou (větší) velikost. Nezbylo než pomocí vbindiff porovnat hexa výpisy obou obrázků a následně si opravit nalezenou chybku ve zdrojáku. Chybka byla o to záludnější, že komprimovaný výstup v podstatě neodporoval specifikaci, jen nebyl maximálně efektivní a to z nějakého důvodu pgshow neuneslo.
Zkoušel jsem překonvertovat několik různých obrázků a výstup je teď již naprosto stejný jako u obrázků načtených a znovu uložených v pgeditu, pgshow je zobrazuje bez problémů. Pokud máte o PNG2PoFo zájem, určitě se podívejte na jeho stránku na mém webu. Najdete tam zdrojáky a popis použití.
Proto mě poněkud překvapil jediný dostupný český návod na převod obrázků do Portfolia. Náladu, do které jsem se po jeho přečtení dostal nejlépe podkreslila píseň I'm in shock od Fancyho a ještě než tato dohrála, měl jsem v ruce učebnici jazyka C a na obrazovkách gedit, konzoli a popis formátů PGF a PGC.
Po dvoudenním týrání mého VisualBASICem zblblého mozku jsem si osvěžil to málo, co jsem z jazyka C uměl a vznikl prográmek PNG2PoFo. Umí konvertovat obrázky ve formátu PNG o rozměru 240x64 s jednobitovou barevnou hloubkou do nekomprimovaného PGF i komprimovaného PGC.
S použitím knihovny FreeImage byla PGF část triviální – knihovna obrázek vrací prakticky v témže formátu, v jakém je ho třeba zapsat do souboru, jen jsou mikrořádky seřazeny opačně. Taková trivialitka nezastaví ani lamera mého formátu, pokud si jí ovšem v dokumentaci všimne. V opačném případě totiž dojde k mírnému zdržení.
PGC se ukázalo být jako o něco zavilejší potvora, specifikace z roku 1991 je totiž psaná převážně s ohledem na autory depackeru. O to větší byla moje radost, když kreslící program spaint přímo na Portfoliu můj výplod bezchybně zobrazil. Radost netrvala dlouho – kromě spaintu je na Portfoliu již jen prográmek pgshow a ten při otevření PGC obrázku z mé produkce Portfolio uváděl do takového pseuda, že jediným řešením byl populární PC trojhmat.
Jak najít chybu? Dal jsem si tu práci a nainstaloval DOSBox a v něm spustil prográmek pgedit – myší ovládaný editor PGC obrázků vytvořený přímo autorem PGC specifikace. Obrázek z mého konvertoru šel otevřít, ale při opětovném uložení měl jinou (větší) velikost. Nezbylo než pomocí vbindiff porovnat hexa výpisy obou obrázků a následně si opravit nalezenou chybku ve zdrojáku. Chybka byla o to záludnější, že komprimovaný výstup v podstatě neodporoval specifikaci, jen nebyl maximálně efektivní a to z nějakého důvodu pgshow neuneslo.
Zkoušel jsem překonvertovat několik různých obrázků a výstup je teď již naprosto stejný jako u obrázků načtených a znovu uložených v pgeditu, pgshow je zobrazuje bez problémů. Pokud máte o PNG2PoFo zájem, určitě se podívejte na jeho stránku na mém webu. Najdete tam zdrojáky a popis použití.
Komentáře
[1] (dex - WWW) Vloženo 02.11.2010, 08:45:38
[2] (Jirka Vlček - Mail - WWW) Vloženo 02.11.2010, 09:58:54
Budu se po něm muset podívat na ebay, začal jsem ho zase chtít!
A když si vzpomenu na Olivetti Quaderno (asi), na kterým šly zprovoznit Windows 3.0 v real módu...
[3]PoFo (melsoft ) Vloženo 02.11.2010, 10:42:48
Nějaké rezervní Portfolio bych doma našel. Včetně kitu na nahrazení kabelu k displeji (bude nutno opravit).
Svůj "hlavní" stroj vybavený redukcí na CF kartu si ovšem i nadále ponechám.
[4]krytka na systembus (Logout - WWW) Vloženo 02.11.2010, 10:50:59
[5] (F6 ) Vloženo 03.11.2010, 07:44:21
Ma Potrfolio cenu, kdyz mam Psiona 3a? Hmm, vec s MSDOSem me moc nebere. Ale hezka prace Logoute.[6] (dex - WWW) Vloženo 03.11.2010, 09:11:03
Ale jinak je to fajný stroj.
[7] (Logout - WWW) Vloženo 03.11.2010, 10:10:03
Nicmene screen opravdu zas az tak maly neni. 240x64 je solidni rozliseni na 21let stary kapesni stroj a doufam ze novy elkast to odhali. Uz ho jen dotocit a sestrihat :D
[8] (Diagon Swarm - WWW) Vloženo 03.11.2010, 14:00:36
Všechna pole jsou nepovinná.
Číslo v hranatých závorkách vytvoří odkaz na daný komentář.
Komentáře komerčního a urážlivého charakteru budou smazány, stejně jako takové, které se mi prostě znelíbí.
Číslo v hranatých závorkách vytvoří odkaz na daný komentář.
Komentáře komerčního a urážlivého charakteru budou smazány, stejně jako takové, které se mi prostě znelíbí.



