SFDN Packer
From Atariki
Wersja z dnia 13:57, 11 sty 2019 Dracon (Dyskusja | wkład) (Shannon-Fano) ← Previous diff |
Wersja z dnia 23:59, 11 sty 2019 Seban (Dyskusja | wkład) (re-edycja i aktualizacja) Next diff → |
||
Linia 1: | Linia 1: | ||
- | Napisany przez [[Seban]]a, około 1995 roku, program skracający pliki zawierające 4-bitowe sample, stosujący bardzo wydajny algorytm, dopasowany do tego rodzaju danych. | + | {{grafr|Sfdn.gif}}[[SFDN Packer|Shannon-Fano Differential Nybble Packer]] - program służący do kompresji danych napisany przez [[Seban]]a w 1994 roku. W zamyśle był to program przeznaczony do kompresji cyfrowych próbek dźwiękowych, tzw. "sampli" o rozdzielczości 4-bit. W praktyce okazało się że całkiem dobrze radzi sobie z również kompresją obrazków w trybie [[Graphics 9]], [[Graphics 10]],[[Graphics 11]], [[HIP]], [[TIP]], [[RIP]] (wszystkie te tryby graficzne są zorganizowane w pamięci komputera tak że, pojedynczy piksel obrazu opisany jest 4 bitami danych, w więc podobnie jak w przypadku sampli), w czasie użytkowania i eksperymentów z programem okazało się także, że program potrafi poradzić sobie nieźle z kompresją niektórych czcionek (tzw. fontami), a także z niewielką ilością obrazków w trybie [[Graphics 8]] |
- | SFDN Packer ma wygodny interfejs użytkownika. Autor wykorzystał ten program użytkowy m.in. do spakowania danych w demie [http://a8.fandal.cz/detail.php?files_id=304 Digital Trash]. | + | |
- | Ciekawostka: pierwsza część nazwy pochodzi od jednego z użytych metod kompresji: ''Shannon-Fano''. | + | __NOTOC__ |
+ | == Technikalia == | ||
+ | Program stosuje autorski algorytm, dynamicznie dopasowujący się do wejściowego strumienia danych. Początkowo program dzieli strumień na porcje o wielkości 4 bitów, tzw. "[https://pl.wikipedia.org/wiki/P%C3%B3%C5%82bajt nibble]", koduje je różnicowo, a następnie zlicza ilości wystąpień każdej z 4-bitowych sekwencji różnicowych, po czym na końcowym etapie kompresji, koduje strumień wyjściowych danych w taki sposób, aby najczęściej występującym 4-bitowym sekwencjom przydzielić jak najkrótsze słowa kodowe, wygenerowane na podstawie bitowego kodu prefiksowego [https://pl.wikipedia.org/wiki/Kodowanie_Shannona-Fano Shannon-Fano]. | ||
+ | |||
+ | Ponieważ program jest przeznaczony dla nieco bardziej zaawansowanych użytkowników, z poziomu programu można dokonać zapisu programu dekompresującego spakowane dane. Możliwe jest zapisanie dekompresora zarówno w wersji źródłowej (opcja "Save src", wtedy do kompilacji wymagane jest użycie assemblera [[QA]]), lub w wersji skompilowanej pod podany przez użytkownika adres (opcja Compile). | ||
+ | |||
+ | == Varia == | ||
+ | Założeniem przy projektowaniu SFDN Packera było również to, aby posiadał on wygodny i intuicyjny interfejs użytkownika. Program został dołączony do magazynu dyskowego [[Barymag]] wydawanego przez grupę [[Slight]]. Tam również program zostało krótko opisane zastosowanie i użycie programu. Artykuł ten jest również dostępny on-line [http://barymag.slight.pl/issue01/01_09_sdfn_packer SDFN Packer]. | ||
+ | |||
+ | == Zastosowanie == | ||
+ | Program został wykorzystany w kilu produkcjach grupy Slight, m.in. w [[Overmind]], [[Sexy_Six]] oraz kilku produkcjach eksperymentalnych produkcjach autorskich, np. w demie [http://a8.fandal.cz/detail.php?files_id=304 Digital Trash] użyto go aby skompresować próbki dźwiękowe. | ||
+ | |||
+ | Program [http://www.serious-dial.atari.pl/DC/instrukcja/A14.html INT-Graph View] potrafił odczytać pliki programu InterPainter w formacie [[INP]], które zostały spakowane SFDN packerem i zapisane jako pliki z rozszerzeniem INS. | ||
+ | |||
+ | == Licencja == | ||
+ | Program został udostępniony na licencji shareware wraz z pierwszą edycją magazynu dyskowego [[Barymag]]. Podczas ładowania programu, można nacisnąć klawisz HELP, wtedy zostanie uruchomione krótkie intro wraz z instrukcją w języku angielskim. Obecnie program ma status [https://pl.wikipedia.org/wiki/Abandonware Abandonware] i może być dowolnie używany i rozpowszechniany. | ||
[[Kategoria:Oprogramowanie Atari 8-bit]] | [[Kategoria:Oprogramowanie Atari 8-bit]] | ||
[[Kategoria:Polskie programy]] | [[Kategoria:Polskie programy]] | ||
- | |||
- | {{stub}} |
Wersja z dnia 23:59, 11 sty 2019
Shannon-Fano Differential Nybble Packer - program służący do kompresji danych napisany przez Sebana w 1994 roku. W zamyśle był to program przeznaczony do kompresji cyfrowych próbek dźwiękowych, tzw. "sampli" o rozdzielczości 4-bit. W praktyce okazało się że całkiem dobrze radzi sobie z również kompresją obrazków w trybie Graphics 9, Graphics 10,Graphics 11, HIP, TIP, RIP (wszystkie te tryby graficzne są zorganizowane w pamięci komputera tak że, pojedynczy piksel obrazu opisany jest 4 bitami danych, w więc podobnie jak w przypadku sampli), w czasie użytkowania i eksperymentów z programem okazało się także, że program potrafi poradzić sobie nieźle z kompresją niektórych czcionek (tzw. fontami), a także z niewielką ilością obrazków w trybie Graphics 8
Technikalia
Program stosuje autorski algorytm, dynamicznie dopasowujący się do wejściowego strumienia danych. Początkowo program dzieli strumień na porcje o wielkości 4 bitów, tzw. "nibble", koduje je różnicowo, a następnie zlicza ilości wystąpień każdej z 4-bitowych sekwencji różnicowych, po czym na końcowym etapie kompresji, koduje strumień wyjściowych danych w taki sposób, aby najczęściej występującym 4-bitowym sekwencjom przydzielić jak najkrótsze słowa kodowe, wygenerowane na podstawie bitowego kodu prefiksowego Shannon-Fano.
Ponieważ program jest przeznaczony dla nieco bardziej zaawansowanych użytkowników, z poziomu programu można dokonać zapisu programu dekompresującego spakowane dane. Możliwe jest zapisanie dekompresora zarówno w wersji źródłowej (opcja "Save src", wtedy do kompilacji wymagane jest użycie assemblera QA), lub w wersji skompilowanej pod podany przez użytkownika adres (opcja Compile).
Varia
Założeniem przy projektowaniu SFDN Packera było również to, aby posiadał on wygodny i intuicyjny interfejs użytkownika. Program został dołączony do magazynu dyskowego Barymag wydawanego przez grupę Slight. Tam również program zostało krótko opisane zastosowanie i użycie programu. Artykuł ten jest również dostępny on-line SDFN Packer.
Zastosowanie
Program został wykorzystany w kilu produkcjach grupy Slight, m.in. w Overmind, Sexy_Six oraz kilku produkcjach eksperymentalnych produkcjach autorskich, np. w demie Digital Trash użyto go aby skompresować próbki dźwiękowe.
Program INT-Graph View potrafił odczytać pliki programu InterPainter w formacie INP, które zostały spakowane SFDN packerem i zapisane jako pliki z rozszerzeniem INS.
Licencja
Program został udostępniony na licencji shareware wraz z pierwszą edycją magazynu dyskowego Barymag. Podczas ładowania programu, można nacisnąć klawisz HELP, wtedy zostanie uruchomione krótkie intro wraz z instrukcją w języku angielskim. Obecnie program ma status Abandonware i może być dowolnie używany i rozpowszechniany.