kategoria: Asembler
[#1] Decruncher runtime
Witam
Tak sobie badam różne aspekty techniczne pod jakieś kolejne demo na A500 i doszedłem do tego że nie znam żadnego narzędzia do decrunchowania w czasie trwania demka.
tzn chodzi mi o to żeby podczas trwania demka stopniowo odpakowywać kolejne np obrazki z fast do chip, albo spakowane tablice, sinusy itp...
pewnie jakieś prost RLE bym napisał ale szkoda mi trochę czasu na takie zabawki marnować.

na C64 (6502) jest ogólnie narzędzie pt. Exomizer i gotowe opensourcowe procedurki do depakowania.
Jest coś takiego na m68k?
[#2] Re: Decruncher runtime

@retronav, post #1

Na szybko znalazłem tylko to: link, link, link

A tu są opisy dysków, na których są też różne procedury związane z PowerPacker.

Ostatnia aktualizacja: 15.12.2015 14:44:34 przez RomanWorkshop
[#3] Re: Decruncher runtime

@retronav, post #1

http://www.amiga-stuff.com/crunchers-download.html :)
[#4] Re: Decruncher runtime

@retronav, post #1

Carrion, łapiesz to: StoneCracker. Polecam, stosowałem z powodzeniem w swoich 3 ostatnich prodkach i jest ok.

Depack miedzy cześciami to kompromis między "mocą" upakowania a szybkościa decrunchu. Zazwyczaj w demie potrzebujesz utrzymać płynny "flow" miedzy cześciami, więc depack powinien być praktycznie niezauważalny. Popularny ostatnio Shrinkler jest świetny do skracania exeków, ale depak trwa zdecydowanie za długo, szczególnie jeśli celujesz w A500 i 7MHz. Podany StoneCracker spełnia się całkiem nieźle pod oboma względami - nie zanotowałem też problemów na wyższych procesorach, co czasem się zdaża zdaje się Crunchmanii. Co do SC, po zainstalowaniu (rozpakowaniu .lha?) masz katalog "sources", a w nim "optidec.s". To procka, która wrzucasz w swoje źrodło (inkludujesz) a wywołujesz dając adres spakowanych danych w A1, adres (odpowiednio duzego) bufora docelowego w A2 i robiąc "bsr.w decrunch" jako skok do wykonania. Procka podaje, że wykorzystuje rejestry D0-D7/A0-A6, wiec warto sią zastanowić które przed jej wywołaniem warto wrzucić na stos.

W samej aplikacji - przestaw "FileType" z "Executable" na "Data", z wiadomego powodu i to wszystko. Można poeksperymentować też z różnymi opcjami, ale dotychczas całkiem nieźle działał mi "standard" .

Co do pakowania samego finałowego exeka - Shrinkler daje najlepsze rezultaty, choć warty uwagi jest jeszcze Nibbler Photona/SCX (do wypróbowania) no i ogolnie niezniszczalny klasyk: Titanics Cruncher 1.2 (ale tego znasz).

Ostatnia aktualizacja: 15.12.2015 14:57:41 przez sachy
[#5] Re: Decruncher runtime

@sachy, post #4

Gdzie Wy się ukrywaliście? Do tej pory na PPA nie było takich gorących tech-dyskusji koderów. Chcę więcej! OK
[#6] Re: Decruncher runtime

@sachy, post #4

@sachy
wow. dokładnie o to mi chodziło. zaraz siadam do zabawy, akurat jest chwila wolna aby poeksperymentować. przyznam że tak to sobie wyobrażałem. tzn do rejestru adresowego podaję adres w pamięci i rozmiar który chcę rozpakować do A2 adres docelowy i heja....
wielkie dzięki

@hexmage960
a to nie jest moje ostatnie słowo ;) pytań, takich praktycznych jak to, mam jeszcze sporo, ale lubię też sam walczyć i szukać tam gdzie wiem czego szukam, a tutaj potrzebowałem konkretnej wskazówki. niemniej na tapecie zaraz u mnie będzie temat pseudo chunky pod OCS wieć spodziewaj się dyskusji ;)

[edit]
dodam jeszcze że planuję robić decrunche podczas pokazywania jakichś obrazków. zobaczymy jak to wyjdzie w praniu. docelowo na razie wszystko co robię to A500 +512 fast. AGA może kiedyś...

Ostatnia aktualizacja: 15.12.2015 20:05:27 przez retronav
[#7] Re: Decruncher runtime

@retronav, post #6

Widzę że w święta będę musiał się ostro przysiąść do asemblera, bo konkurencja nie śpi, a ja po party jakoś straciłem wenę. Świetny wątek, oby takich więcej. Szkoda że większość chłopaków mieszka po drugiej stronie Polski, bo można by więcej takich rzeczy obgadać przy pizzy i piwie/coli.
[#8] Re: Decruncher runtime

@retronav, post #6

@Hexmage: do tej pory nikt nie zapytał :)

@Carrion: nie musisz podawać rozmiaru, tylko adres danych spakowanych w jednym rejestrze adresowym a adres bufora docelowego - w drugim. Sprawdź jeszcze dokładnie które rejstry src/dest są używane w danej wersji procki, bo coś mi się wydaje, że w niektórych jest para A0/A1 a w innych A1/A2. Ogólnie warto pakować głównie większe grafiki, na małe klip-arty szkoda prądu, chyba że zgrupujesz wygodnie. Można też pakować całe części, ale to trochę większa zabawa z pamięcią (prosta, ale żmudna).

@Flops: każdy traci wenę po party :) Imprez w PL coraz więcej, będzie gdzieś opcja spotkania i pogadania.

Pozdro.
[#9] Re: Decruncher runtime

@sachy, post #8

@sachy
eh... coś nie tak z linkiem do stonecrackera w pouet'cie.
ma ktoś może instalkę .lha?

[edit]
znalazłem - sorry za spam.

Ostatnia aktualizacja: 15.12.2015 21:32:52 przez retronav
[#10] Re: Decruncher runtime

@retronav, post #1

muszę powiedzieć że jestem bardzo pozytywnie zaskoczony...
bawię się i eksperymentuję z takimi mini efektem do demka i wyniki ze stonecrackerem są bardzo pozytywne.
tzn mam trochę danych (70kb) które pakują się do 1280 bajtów (nieco ponad 1kb) :)
wow!
coś czyję że będzie dobrze ;)
[#11] Re: Decruncher runtime

@retronav, post #10

Akurat Stonecracker jest dość zbliżony efektywnością do Implodera czy Crunchmanii (tryb normal). Wszystkie 3 programy są trochę lepsze od Powerpackera. Oczywiście są lepiej pakujące programy, ale te mają taki myk, że wypakowują się do jednego obszaru pamięci (tego samego gdzie są spakowane dane). Jest jeszcze jeden program godny polecenia: cru (aminet), skuteczniejszy niż wszystkie wymienione wcześniej.
[#12] Re: Decruncher runtime

@cholok, post #11

Mimo, że do kodera mi daleko, miło widzieć taki temat.

Nawiasem, czy ktoś z Was planuje coś na Revision'15, czy raczej późniejszy termin?

Ostatnia aktualizacja: 03.01.2016 19:01:55 przez slay
[#13] Re: Decruncher runtime

@slay, post #12

Nawiasem, czy ktoś z Was planuje coś na Revision'15, czy raczej późniejszy termin?

RV strasznie szybko w tym roku, szanse u nas praktycznie zerowe (inne zajęcia z naszej "branży" mają niebawem deadline'y). Trzymamy za to kciuki za innych
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem