Dzięki - przykłady zawsze lepiej do mnie przemawiają niż stos (!) suchej teorii.
Do moich zastosowań jak pisałem, wystarczy to co jest, tzn w 1 kb się mieszczę, a dane do wyświetlania będę raczej przepisywał. A ile ? powiedzmy minimalna wersja to 2560 bajtów do przeniesienia. Chyba że podpowiesz jak to obejść i wyświetlać sobie stablicowane obrazki bez przenoszenia danych.
Najprościej umieścić je tak, żeby nie przekraczały 4k, czyli np. $8000, $9000, $a000, ... Inne rozwiązanie to: umieścić je jeden za drugim i dla każdego przygotować osobną DL, z LMS w środku jeśli trzeba. Należy wtedy zadbać, żeby granica 4k nie była przekraczana w środku linii, a ponieważ 4096 nie dzieli się przez 40, to trzeba wstawić odstępy. Prościej będzie jednak przepisywać lub dekompresować.
1 metoda - dobra o ile ma się tych obrazków co najwyżej kilka. 2 metoda - niewygodna (osobne DL dla każdej grafiki, sprawdzanie granicy 4k) 3 metoda - chyba najbardziej optymalna (wystarczy makro procedurka do przepisywania) i ostatni sposób - dekompresja w locie byłaby dobra dla znacznej większej ilości obrazów (jak znalazł będzie na późniejsze wykorzystanie). -------- EDIT: Ponawiam prośbę, jak ktoś ma pod ręką wypróbowany (!) pakiet do pakowania i rozpakowywania danych to poproszę na namiar chociaż - z chęcią przygarnę ;) (wolę nie odkrywać Ameryki na nowo skoro z tego co widzę już jest)
Dziękować i melduję, że użyto metody inflate, a to zdaje się Twojego autorstwa ;) Przemówiła wygoda tworzenia paczek spakowanych plików jak i łatwość użycia w programie w sumie to 3 linijki kodu jakby się uprzeć. A właśnie czy wpisując jednorazowo w programie adres docelowy do komórek "zp", mogę zrobić myk i nie wpisywać tego ponownie za każdym razem? (przyznam się szczerze, że nie analizowałem kodu procki bo to dla mnie na razie wyższa szkoła jazdy i pewnie z 10% bym nie wiedział co tam się dzieje).? I inna sprawa, która chodzi mi po głowie czy istnieje wersja szybsza ? Nie chodzi o inny depacker ale deflate właśnie. Jakby to pokombinować by wcisnąć ją na stronę zerową, podrasować... hmm.
inflate kończy z adresem docelowym za rozpakowanymi danymi. Czyli jeśli nie zapiszesz adresu przed kolejnym wywołaniem, to rozpakuje Ci się dalej, a nie w tym samym miejscu. Analogicznie z adresem źródłowym (danych spakowanych).
Mimo, że procedura była optymalizowana na rozmiar, jest dość szybka. Oczywiście można ją przyspieszyć. Nie mam innej szybszej wersji.