[#121] Re: Dewelopment gry Sołtys

@Don_Adan, post #102

Depacker xfd_LZMA leży na aminecie od lat.
[#122] Re: Dewelopment gry Sołtys

@tukinem, post #116

Z drugiej strony rozumiem, że to jest grzebanina na maksymalnie 30 egzemplarzy, więc taką wersję z dyskietkami kupią może ze 2-3 osoby? Osobiście nie widzę sensu tego tak pakować, ale postaram się przygotować to tak, aby było na jak najmniejszej ilości ADFów.


Jakbym miał wybierać - jakieś usprawnienie w grze a to na ilu dyskietkach gra się zmieści (lub czy zużyje 2 mega a nie 8 mega ramu), to wybrałbym usprawnienie i tak 90% będzie odpalać grę z dysku.
[#123] Re: Dewelopment gry Sołtys

@cholok, post #121

Jakis jest, to wiem. Tylko sprawdzales z czym on dziala ?
Bo mi to wyglada na zupelnie inna wersje LZMA, niz ta z PackFire.
PackFire uzywa jakiejs przerobionej wersji LZMA z tego co pamietam.
Decruncher PackFire jest na pewno duzo krotszy niz 4kB.

A port of LZMA to AmigaOS 4, along with an executable decrunch header
and XPK sublibrary can be found at http://strohmayer.org/

Note that this slave does not support executables crunched with Joerg's
header (yet).

Many thanks to Igor Pavlov, firstly for the SDK and secondly for helping
me get it working! Thanks also go to salass00 (Fredrik Wikstrom) for
an assembler header so XFD recognised this slave.


HOW TO CHECK IF YOU ARE RUNNING THE OS4 NATIVE VERSION
======================================================

Run xfdLibInfo >ramfd.txt
Open ramfd.txt and search for LZMA.

The line for the PPC version looks like this:
LZMA | ---- | 53 | ++ | ++ | ++ | ++ | DATA!RECOGLEN!USERTARGET!EXTERN
^^
The line for the 68K version looks like this:
LZMA | ---- | 39 | ++ | ++ | ++ | ++ | DATA!RECOGLEN!USERTARGET!M68K!EXTERN
[#124] Re: Dewelopment gry Sołtys

@tukinem, post #119

Wyglada, ze sciezki masz teraz Ok podane.
Jedno co mi teraz na szybko przychodzi, ze masz PC-towe LF w tych inkludach z netu.
A musza byc Amigowe LF, czyli teksty tworzone na Amidze.
Otworz w CED-zie plik exec/nodes.i i pokaz ta 19 linie.
A najlepiej pierwszych 20 linijek

Ostatnia aktualizacja: 07.01.2025 12:37:42 przez Don_Adan
[#125] Re: Dewelopment gry Sołtys

@Don_Adan, post #124

Jest prawidłowo Unix LF. Gdyby było inaczej, to byłyby dodatkowo znaki CR:


A może to z braku spacji/tabulatora na początku każdej linii? Diabeł wie, jak GitHub konwertuje kody mimo, że raczej nie miałem z tym problemów wcześniej. Chociaż przed STRUCTURE spacja jest akurat.

Oj... chyba porwałem się z motyką na księżyc.

@Mirq: tutaj sama gra działa na niepakowanych plikach. Pakuję dlatego, aby móc użyć jak najmniejszą ilość dyskietek do samej instalacji. No niestety Amiga to dyskietki i znajdzie się ktoś, kto będzie chciał na dyskietkach. Po drugie tu w wątku wcześniej też wytknięto, że skoro gra jest na Amigę, to nie powinna być na pendrive, bo to jest nośnik USB dla PC, więc gra miałaby w wymaganiach minimalnych posiadanie Gotek'a, bądź zmuszałaby do użycia samego PC-ta, aby sobie zainstalować pod WinUAE, bądź skopiować na własne dyskietki. Muszę się trzymać amigowych realiów i wcisnąć tą grę na jak najmniejszą ilość ADFów i nagrać później na dyskietki dla najbardziej zagorzałych Amigowców ceniących sobie ten nośnik danych nawet dzisiaj.
[#126] Re: Dewelopment gry Sołtys

@tukinem, post #125

chyba porwałem się z motyką na księżyc

...a moje podejście jest mega proste. żadnych includów.
kompilujesz/assemblujesz ... i masz :)

po południu mogę podesłać Ci kod w .asm do depakera STC. do RNC wkleiłem link wcześniej.
RNC jest lepszy wg mnie bo ma paker na Windows i na Maca
[#127] Re: Dewelopment gry Sołtys

@c64portal, post #126

Możesz podesłać. Zawsze mogę spakować też Sołtysa i sprawdzić jak mocno go zgniecie.

Jeszcze tak z innej strony. Miałem taki problem, że niby gra jest w trybie BLITZ, ale zapamiętywała kliknięcia w grze. Po wyjściu do systemu potrafiło się okienko przesunąć, ikonka, lub wyświetlić menu, jeśli ostatnie kliknięcie w grze było prawym przyciskiem. Nakombinowałem się żeby się pozbyć tego problemu. Dopiero wpadłem na prosty sposób, aby przed przejściem z trybu AMIGA do trybu BLTIZ otworzyć pusty ekran Intuition, aby zakryć ekran Workbencha. Po wyjściu z gry oczywiście go zamykam i już problem rozwiązany.

Ostatnia aktualizacja: 07.01.2025 14:39:16 przez tukinem
[#128] Re: Dewelopment gry Sołtys

@tukinem, post #125

Mnie to sie nie podoba. Inaczej to na Amidze pamietalem.
No i mowilem, pod CED-em, nie czyms innym.
Te Unixy itp, maja tez czesto problemy z Tabulatorem, o ile dobrze pamietam.
Znajdz w necie jakis ADF, gdzie sa te inkludy i przekopiuj, jeszcze raz, do tego katalogu.
Bo jak na razie to jeszcze nie zaczelismy asemblacji.
Jak przekompiluja sie te inkludy to juz bedzie bardzo proste (czytaj, nie powinno byc juz zadnych problemow).
Ogolnie moglem wszystkie swoje systemowe inkludy spakowac, i wrzucic na strone WT.
Nie spodziewalem sie, ze zwykle inkludy moga byc problemem po latach.
[#129] Re: Dewelopment gry Sołtys

@Don_Adan, post #128

To był zrzut z Notepada++ z wyświetlaniem wszystkich znaków (łącznie ze znakami końców wierszy)

Unix to typowy sposób dla Amigi, czyli każdy koniec wiersza to znak LF (10).

Windows na każdym końcu wiersza wstawia LF+CR (10,13).

Tutaj masz załadowane w CEDzie, ale nie wiem, czy Ci coś to powie:


Podejrzewam, że sam robię coś nie tak. Może mam jakieś złe ustawienie w ASM One? Nie używam żadnych assignów podczas uruchamiania, więc może dlatego?

Ostatnia aktualizacja: 07.01.2025 15:02:17 przez tukinem
[#130] Re: Dewelopment gry Sołtys

@tukinem, post #129

Jest zle, to widac.
Co to za dziwne strzalki na koncu linii?
W dobrych inkludach czegos takiego nie ma.
[#131] Re: Dewelopment gry Sołtys

@Don_Adan, post #130

Zaznaczyłem w opcjach, żeby pokazywał znaki końcy linii. To są bajty o wartości 10, czyli znak końca linii właśnie.

Tutaj masz z wyłączoną opcją:


Ostatnia aktualizacja: 07.01.2025 15:06:59 przez tukinem
[#132] Re: Dewelopment gry Sołtys

@c64portal, post #126

Mozna bez inkludow, ale wtedy jestes ograniczony tylko do asemblacji wlasnych programow, albo wszystkie inne zrodla musisz przerabiac pod swoj styl
Po to sa inkludy, zeby to bylo w miare uniwersalne.
Raz zrobione powinno zawsze dzialac.
Dlatego dobrze jest miec katalog z inkludami na HD, nawet jak sie ich nie uzywa.
Np. bedziesz chcial kiedys zasemblowac czyjs slave do WHDLoad, i juz inckludy sie przydaja.
[#133] Re: Dewelopment gry Sołtys

@tukinem, post #131

Tutaj wyglada dobrze.
AsmOne ma taka opcje UpperCase=LowerCase.
Moze to miesza, wylacz ja.
Bo teraz juz nie wiem dlaczego nie chce tego zassemblowac.
Co prawda ja uzywam AsmOne 1.20.
Mozesz sprobowac uzyc DevPac-a, czyli piszesz:

GenAm nazwa.asm
[#134] Re: Dewelopment gry Sołtys

@Don_Adan, post #133

Cały czas miałem wyłączoną:
[#135] Re: Dewelopment gry Sołtys

@tukinem, post #134

To masz Ok.
Ile pamieci na starcie dla AsmOne przeznaczasz?
Chyba z 300 KB powinno byc OK.
Bo moze za malo jest i inkludy sie nie mieszcza?
Bo nic mi juz do glowy innego nie przychodzi.
Chyba, ze to jest blad/opcja w xfdmaster.i, ale nic takiego nie pamietam.

Ostatnia aktualizacja: 07.01.2025 15:56:30 przez Don_Adan
[#136] Re: Dewelopment gry Sołtys

@Don_Adan, post #135

Tyle, o ile o to chodzi:


To ekran podczas uruchomienia. Może ten plik exec/nodes.i jest uszkodzony, albo napisany pod inny kompilator? Ciekawe, że po wrzuceniu całego katalogu Include do głównego katalogu ASM-One nie potrzebuję już komendy INCDIR w kodzie. Wykrywa pliki bez niej.
[#137] Re: Dewelopment gry Sołtys

@tukinem, post #136

Teraz popatrzylem na te Twoje screeny jeszcze raz.
i w ASM-onie najpierw wybiera sie pamiec, czyli piszesz
f
potem dajesz ile pamieci w KB przeznaczasz, czyli piszesz
500
potem wczytujesz plik do asemblacji, czyli piszesz
r
a potem asemblujesz ten plik, czyli dajesz
a
i to powinno przejsc.
Jak nie przechodzi, to sprobuj z innym asemblerem, moze wtedy bedzie wiadomo o co chodzi.
[#138] Re: Dewelopment gry Sołtys

@Don_Adan, post #137

Includy były chyba do bani.

Pobrałem Includy z ASM Pro 2.1 SRC z Aminetu, podmieniłem i proszę:


Myślę, że mogę się nie przejmować komendami 020+ ponieważ gra i tak jest na A1200/4000.

Teraz skompilowałem go do pliku binarnego poprzez WO, co dało mu 704 B rozmiaru.

Ostatnia aktualizacja: 07.01.2025 17:20:24 przez tukinem
[#139] Re: Dewelopment gry Sołtys

@tukinem, post #138

No to super.
A w zrodle zamien te wymienione komendy z .l na .w .
Czasami nie chcialo mi sie tego zmieniac, ReSource tak deasemblowal.
To juz jestes w domu.
Stworzenie depackera do LZMA to juz tyllko chwilka.
[#140] Re: Dewelopment gry Sołtys

@Don_Adan, post #139

Zmieniłem z .l na .w i teraz plik binarny ma nawet 692 B :)

W takim razie jutro spróbujemy rozpakować jakiś plik.

W międzyczasie przetestowałem RNC PackPro. Spakowałem plik .IFF z obrazkiem najpierw LZMA, a później RNC.

Plik IFF zajmował 11.6 kB.

Po spakowaniu RNC (dziwne, że pakował 3-krotnie, ale ogólnie wyszedł jeden plik) wyszło 5,46 kB.

Po spakowaniu LZMA z poziomu Windows wyszło 4,45 kB.

Napisz mi teraz jak użyć tego depackera, który skompilowałem i będę kombinować jutro z tym.
[#141] Re: Dewelopment gry Sołtys

@tukinem, post #140

No to juz pierwszy najtrudniejszy krok opanowales, czyli asemblowanie zrodel.
Reszta jest juz dosc prosta.
Spakuj pare roznych plikow PackFire (LZMA), zeby bylo na czym testowac rozpakowywanie.
I pokaz pod Filemasterem 2.2. (FileEdit) jak wyglada naglowek jednego z tych plikow, i napisz ile w bajtach ma w formie spakowanej a ile w niespakowanej.
[#142] Re: Dewelopment gry Sołtys

@Don_Adan, post #141

Kurcze dziwnie to wygląda.

Stworzyłem w BareED pod WinUAE plik tekstowy z napisem "AMIGA-RULEZ" i zapisałem jako plik.txt.

Następnie spakowałem go Packfire z parametrem -l, czyli large i wyszło coś takiego:


Plik txt zajął 11 bajtów natomiast po spakowaniu wyszło 19 bajtów.

Prawidłowo podejrzałem nagłówek klikając na niego dwa razy w FileMasterze?

Tak wygląda podgląd spakowanego obrazka IFF:


Wywnioskowałem, że pierwsze 4 bajty, to rozmiar pliku po wypakowaniu.

Ostatnia aktualizacja: 07.01.2025 19:47:59 przez tukinem
[#143] Re: Dewelopment gry Sołtys

@tukinem, post #142

Jest Ok.
Czyli trzeba bedzie dodac jeszcze 8 bajtow do kazdego pliku.
4 bajty na naglowek i 4 bajty na na wielkosc pliku spakowanego.
Choc mozna by zrobic i bez tego, ale to wtedy bedzie za malo profesjonalne jak na taka gre.

Jaki chcesz naglowek uzyc w tym depackerze?

LZMA
TUKI

jakis inny?
To Twoj wybor bo Twoj depacker.
[#144] Re: Dewelopment gry Sołtys

@Don_Adan, post #143

Może być. Akurat tak na mnie w szkole mówili

Myślałem, że to już jest gotowy plik, który można rozpakować sobie.
[#145] Re: Dewelopment gry Sołtys

@tukinem, post #144

Ok. Czyli bedzie tak
TUKI
4 bajty - packed size
4 bajty - unpacked size
potem sa spakowane dane

Czyli musisz do kazdego spakowanego pliku dodac 8 bajtow, na jego poczatku.
Mam Ci powiedziec jak to zrobic? Czy sobie poradzisz?

No i jeszcze powiedz jaka wartosc chcesz uzywac jako packed size.
1. oryginalna z PackFire
2. oryginalna z PackFire + 8 bajtow dodawanego naglowka
3. oryginalna z packfire + 4 bajty (packed size longword)

Wszystkie wersje moga byc, wybierz taka jaka najwygodniej Ci sie bedzie tworzyc, dodajac te 8 bajtow do kazdego pliku.

Dane, sa gotowe do rozpakowywania, tylko depacker by wtedy kazdy plik staral sie rozpakowac, dlatego ID/naglowek jest potrzebny.
[#146] Re: Dewelopment gry Sołtys

@Don_Adan, post #145

Nie rozumiem tego, że trzeba dodawać 4 bajty pliku po rozpakowaniu, skoro one już są w tym pliku, no ale ok pewnie się dowiem niedługo.

Jako packed size niech będzie oryginalna z PackFire tak żeby było łatwo.

Takie dane mogę dodawać z poziomu Blitz Basic. Mogę sobie napisać taki kod, którym będę wybierać pliki pojedynczo i będzie im dodawał dane. To nie będzie problem. Jutro siądę i skrobnę taki programik.
[#147] Re: Dewelopment gry Sołtys

@tukinem, post #146

To tak na szybko skrobnąłem:

Pierwsze 4 bajty to TUKI, kolejne 4 bajty to rozmiar pliku spakowanego, a kolejne 4 bajty to rozmiar pliku po dekompresji. No i ten rozmiar po dekompresji jest teraz podwójnie, więc chyba niepotrzebnie go dodałem.

Ogólnie to kod jest taki:


Pod blok pamięci Dane ładuję spakowany surowy plik, do Packed i Unpacked wstawiam odpowiednie dane i zapisuję cały blok począwszy od Naglowek ze zwiększonym rozmiarem o 12 bajtów, bo tyle dodałem na początku. Chyba niepotrzebnie mam ten long "Unpacked" wstawiony prawda?
[#148] Re: Dewelopment gry Sołtys

@tukinem, post #147

Nie, nie,nie.
Zle mnie zrozumiales.
Dodajesz tylko 8 bajtow, a nie 12 bajtow.
Dodajesz TUKI i 4 bajty packed size.
[#149] Re: Dewelopment gry Sołtys

@Don_Adan, post #148

Jesli juz to ogarnales, to wrzuc jako tekst/kod, zrodla tego depackera, ktorego zasemblowales i zrodla depackera LZMA z PackFire.
Ja to polacze a Ty sobie jutro zasemblujesz i potestujesz jak dziala.
[#150] Re: Dewelopment gry Sołtys

@Don_Adan, post #123

Faktycznie nie działa i to w ogóle.
Przetestowałem kilka pakerów na pliku AVP o wielkości 800 KB.
Lha 430 KB
Zip 420 KB
Shrink 400 KB
LZX 375 KB
PackFire 325 KB
LZMA 316 KB
Moja konkluzja:
Najlepszym pakerem pod względem szybkości i wydajności jest LZX. Jeśli spakujesz wszystkie dyskietki i otrzymasz liczbę X to teraz pakując PackFire uzyskasz na pewno <X. Pytanie, czy oszczędzisz choćby jedną dyskietkę. Jeśli nie, to nie warto.
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