atarionline.pl pytanie z asemblera - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthormuffy
    • CommentTime11 Sep 2013
     
    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.
    • 2: CommentAuthor0xF
    • CommentTime12 Sep 2013
     
    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ć.
    • 3: CommentAuthormuffy
    • CommentTime12 Sep 2013 zmieniony
     
    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)
    • 4: CommentAuthor0xF
    • CommentTime13 Sep 2013
     
    • 5: CommentAuthormuffy
    • CommentTime18 Sep 2013
     
    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.
    • 6: CommentAuthor0xF
    • CommentTime20 Sep 2013
     
    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.