Autor Wątek: [TUT] XPR vs. LZX  (Przeczytany 9241 razy)

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
[TUT] XPR vs. LZX
« dnia: Niedziela, 26 Kwiecień 2009, 22:13 »
Pojedynek: XPR vs. LZX.
Hmmm... w zasadzie pojedynek bezsensowny, LZX niszczy XPR... pamiętacie, już kiedyś męczyliśmy ten temat na Wizardzie... teraz znów przesiadłem się na LZX. Efekt? W użytkowaniu żaden, brak zauważalnego spadku wydajności. Różnica? mam jakieś 10MB mniejszy imgfs, czyli 10MB więcej storage  ::)

Jak tego dokonać samemu?

Po pierwsze - upewnić się, że nasz XIP obsługuje LZX. Należy pobrać bibliotekę cecompr.dll stąd, ona obsługuje obydwa formaty  :ok:  Nie sugerujcie się tym, że biblioteka ta znajduje się w OEMXIPKernel, czyli niby zależna od urządzenia - spokojnie zadziała :)
Następnie: otwórzcie os.nb (nk.nba, rom.tpl itp.) i znajdźcie początek imgfs:

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00640000  F8 AC 2C 9D E3 D4 2B 4D BD 30 91 6E D8 4F 31 DC  ř¬,ťăÔ+M˝0‘nŘO1Ü
00640010  01 00 00 00 01 00 00 00 01 00 00 00 34 00 00 00  ............4...
00640020  08 00 00 00 00 02 00 00 00 10 00 00 4C 5A 58 00  ............XPR.
00640030  CC E3 01 00 00 01 00 00 00 00 00 00 00 00 00 00  Ěă..............

Widoczny ciąg XPR należy zmienić na LZX.

Następnie, może się przydarzyć, że biblioteka cecompr_nt.dll, którą dysponujecie w waszej kuchni, będzie miała błąd, powodujący bardzo poważny wyciek pamięci, prowadzący do niemożliwości zbudowania ROMu. Jeśli tak się wam przydarzy, należy pobrać właściwą wersję stąd (lub nowszą wersję).

I... to już koniec ;) przebudować ROM i się cieszyć  :peace:

PS.
Bilbioteka cecompr.dll dla urządzenia Toshiba G500 znajduje się tutaj.
« Ostatnia zmiana: Niedziela, 10 Maj 2009, 19:25 wysłana przez utak3r »

Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Odp: [TUT] XPR vs. LZX
« Odpowiedź #1 dnia: Czwartek, 30 Kwiecień 2009, 14:29 »
w kwestii uściślenia.
Cytuj
Po pierwsze - upewnić się, że nasz XIP obsługuje LZX.

Czytaj idź do sekcji exportów biblioteki(u mnie S000) i czy są udostępniane funkcje LZX_DecompressClose, LZX_DecompressDecode, LZX_DecompressOpen.


Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: [TUT] XPR vs. LZX
« Odpowiedź #2 dnia: Czwartek, 30 Kwiecień 2009, 14:32 »
true, nie dopowiedziałem  :ok:
Dodam tylko, że ja widziałęm dwa rodzaje bibliotek: takie, co obsługują tylko XPR i takie, co obsługują oba formaty... nie widziałem takich, co obsługują tylko LZX.


Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Odp: [TUT] XPR vs. LZX
« Odpowiedź #3 dnia: Czwartek, 30 Kwiecień 2009, 21:07 »
interesujące, sprawdzam już wszystkie wersje cecompr.dll, które mam pod ręką, ale żadna nie wstaje na G900
testowałem z Axima, universala, xda flame no i tą co podrzuciłeś.
Na hermesie rzeczywiście miałem przez chwilę LZX, a tutaj nic nie wstaje.

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: [TUT] XPR vs. LZX
« Odpowiedź #4 dnia: Czwartek, 30 Kwiecień 2009, 22:59 »
o?...  dawno temu zapuszczałem również na Wizie i śmigało...
może odwołuje się do jakiejśc funkcji zwartej w jądrze czy czymś innym, czego brak na tośce? Ale to w sumie bez sensu, ta biblioteka powinna być samowystarczalna...  ?-?


Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Odp: [TUT] XPR vs. LZX
« Odpowiedź #5 dnia: Piątek, 01 Maj 2009, 22:11 »
Cytuj
może odwołuje się do jakiejśc funkcji zwartej w jądrze czy czymś innym, czego brak na tośce?
w sumie to nie sprawdzałem tego akurat

Cytuj
ta biblioteka powinna być samowystarczalna...
no jak widać nie do końca, za to widzę, że wszystkie wyprodukowane wersje z htc są niemal identyczne, więc to, że do siebie pasują nie jest dziwne.

podrzucam swój cecompr.dll



dodano: Piątek, 01 Maj 2009, 18:38
panowie, epic fail :ww:
ja tu szukam tego chyba we wszystkim co mam na dysku, ale najciemniej pod latarnią. Znalazłem wersję z LZX w dawno wyrzuconym ULDR, jeśli to nie zadziała to się zdziwię.

oooo :o
to cholerstwo ma nawet funkcje LZX_CompressClose, LZX_CompressEncode, LZX_CompressOpen. Czyżby imgfs nie było takie do końca read-only?
« Ostatnia zmiana: Piątek, 01 Maj 2009, 22:16 wysłana przez globalbus »

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: [TUT] XPR vs. LZX
« Odpowiedź #6 dnia: Piątek, 01 Maj 2009, 22:28 »
to cholerstwo ma nawet funkcje LZX_CompressClose, LZX_CompressEncode, LZX_CompressOpen. Czyżby imgfs nie było takie do końca read-only?

albo wiesz, jedno źródło, kompilacja i na PC i na PPC za jednym zamachem ;)

Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Odp: [TUT] XPR vs. LZX
« Odpowiedź #7 dnia: Piątek, 01 Maj 2009, 22:32 »
ehh, nie działa, brakuje mi już pomysłu.

Offline tomme45i

  • GZU
  • Core
  • ****
  • Podziękowań: 36
  • HTC Desire
Odp: [TUT] XPR vs. LZX
« Odpowiedź #8 dnia: Sobota, 02 Maj 2009, 11:05 »
utak3r dzięki za tutorial! Po zastosowaniu kompresji LZX mam 9MB pamięci więcej :)

AnDim zrobił ostatnio nową wersję cecompr_nt.dll:
Cytuj
The updated version without memory leak at use LZX compression type.

LZX_CompressClose function is changed.
« Ostatnia zmiana: Poniedziałek, 04 Maj 2009, 07:16 wysłana przez tomme45i »

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: [TUT] XPR vs. LZX
« Odpowiedź #9 dnia: Sobota, 02 Maj 2009, 21:37 »
przecież w pierwszym poście jest poprawka cecompr_nt.dll  :8)


Offline tomme45i

  • GZU
  • Core
  • ****
  • Podziękowań: 36
  • HTC Desire
Odp: [TUT] XPR vs. LZX
« Odpowiedź #10 dnia: Niedziela, 03 Maj 2009, 00:36 »
przecież w pierwszym poście jest poprawka cecompr_nt.dll  :8)
Pliki mają różną objętość, a więc domyślam się, że to co dałeś w 1 poście jest to wersja pierwsza. W moim poprzednim poście załączyłem wersję drugą.

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: [TUT] XPR vs. LZX
« Odpowiedź #11 dnia: Niedziela, 03 Maj 2009, 00:43 »
ok, dołączę do pierwszego postu.


Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Odp: [TUT] XPR vs. LZX
« Odpowiedź #12 dnia: Niedziela, 10 Maj 2009, 16:54 »
cecompr z G500

Offline Dexterowy

  • Klubowicz
  • **
  • Podziękowań: 0
  • Hermes
Odp: [TUT] XPR vs. LZX
« Odpowiedź #13 dnia: Poniedziałek, 25 Maj 2009, 17:01 »
utak3r

jest problem, chciałem zastosować kompresję LZX w kuchence Globalbusa WM6.1 beta, podmieniłem wymagane pliki, jeśli zmienię w hexedytorze XPR -> LZX w OS.nb.payload to wywala się na pierwszym screenie w trakcie bootowania (wiecha), natomiast jak zostanie XPR to uruchamia się. Stąd mój wniosek że z plikami jest chyba OK?


Nie wiem w czym tkwi błąd - czytałem tutoriale na xda-developers i przetestowałem chyba wszystkie wersje cecompr.dll i cecompr_nt.dll

Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Odp: [TUT] XPR vs. LZX
« Odpowiedź #14 dnia: Poniedziałek, 25 Maj 2009, 17:06 »
hehe, beta nie używa buildxip, stąd podmiana plików w \rom\xip nic nie robi.