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 20:09
       
      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 14:09
       
      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 20:09 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 22:09
       
      • 5: CommentAuthormuffy
      • CommentTime18 Sep 2013 22:09
       
      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 14:09
       
      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.