Na dysku Z: widzimy pliki, które są w pamięci ROM, ale także i te, które są na na tzw. systemie plików ROFS. Patche dla ROMPatcher można stosować tylko wtedy, gdy plik leży w ROM. To nie jest dobre rozwiązanie dla wszystkich telefonów. Czasami w pliku leży Z:, ale nie w ROM. Na przykład, splashscreen.exe na N96 leży w ROM, ale nie w N80 (to na pewno zależy od wersji softu, bo u mnie na v31 splashscreen.exe jest w ROM). Ta poprawka pozwala na użycie plików binarnych w C: przed Z: czyli tak jak w patchu C2Z by FCA00000.
WAŻNE: Karta pamięci musi być wyjmowalna. Jeśli nie masz takiej, nie próbuj patcha. Powodem jest to, że jeśli poprawka jest źle zrobiona, można wysunąć kartę, a po jej usunięciu F:\sys\bin\domainsrv.exe nie będzie patchować. Jeśli karta niewyjmowalna, telefon ciągle się restartuje. Musisz go wtedy sformatować.
Patch można zainstalować na 2 sposoby. Do wyboru jest:
- Instalacja w postaci aplikacji SIS ze zmodyfikowanym ROMPatcherem, którą trzeba zainstalować w pamięci telefonu (POLECAM!).
Pliki domainserver zostaną automatycznie wrzucone do odpowiednich folderów przy instalacji, dlatego trzeba wyłączyć zabezpieczenia (Secman lub patch open4all w ROMPatcherze itp.) przed instalacją. Inne patche kopiujemy z "E:\Patches" do "E:\C2Z4bin" i możemy je spokojnie uruchamiać z poziomu aplikacji, gdyż jest to zmodyfikowany ROMPatcher (oryginalny jest już niepotrzebny). - Instalacja manualna, tzn.:
1. Kopiowanie C_sys_hash_domainsrv.exe -> C:\sys\hash\domainsrv.exe i zmiana nazwy na domainsrv.exe.
2. Kopiowanie F_sys_bin_domainsrv.exe -> F:\sys\bin\domainsrv.exe, gdzie "F" jest Twoją wyjmowalną kartą pamięci, może to być F: lub E:, a następnie zmiana nazwy na domainsrv.exe.
3. Zmiana nazwy pliku z C:\sys\bin\RPAutostart.exe na C:\sys\bin\0RPAutostart.exe.
Jak to działa bootowanie:
Plik F:\sys\bin\domainsrv.exe jest zmodyfikowany, by uruchomić 3 pliki podczas uruchamiania telefonu:
- Boot0.exe - przed oryginalnym Z:\domainsrv.exe.
- Boot1.exe - przed ROMPatcherem (0RPAutostart.exe).
- Boot2.exe - na końcu.
Pamiętaj: Jeśli któryś z programów będzie się zawieszał, po prostu wyciągnij kartę pamięci, ponieważ F:\sys\bin\domainsrv.exe musi zawsze być na niej.
Przykład wykorzystania:
BootCopy: Ten program czyta listę z C:\BootCopy.DAT w poniższym formacie i kopiuje podane pliki.
- Code: Select all
Please Login or Register, to see this Content
Jest to użyteczne, ponieważ niektóre pliki nie mogą być normalnie skopiowane podczas używania przez system. Ten program ma wszystkie prawa, więc może skopiować prawie każdy plik. Oczywiście nie może kopiować na dysk Z.
Po prostu zainstaluj domainsrv (manualnie lub poprzez aplikację SIS), przenieś bootcopy.exe do C:\sys\bin\boot1.exe, stwórz własny plik instrukcji C:\BootCopy.DAT i zrestartuj telefon!
Co nam to daje:
Opiszę teraz mały trik, by pokazać możliwości nowej wersji patcha. Instalujemy JBakTaskMan w pamięci telefonu. Zmieniamy nazwę JBakTaskMan.exe na Boot1.exe w folderze C:\sys\bin. Wyłączamy telefon. Podłączamy ładowarkę i czekamy. Powinien uruchomić się wyżej wymieniony menager z poziomu którego, mamy możliwość uruchamiania większości aplikacji.
Co to właściwie daje? Tylko tyle, że w tym czasie mamy uruchomione tylko połowę procesów i spory wzrost ilości pamięci RAM (89Mb w e66). Na pewno ucieszy to posiadaczy telefonów, którzy mają za mało pamięci, by uruchomić np. N-Gage. Niestety po odłączeniu ładowarki telefon wyłącza się po 5 sekundach. Myślę, że już ktoś pracuje nad tym by wyeliminować tą niedogodność.
Sprawdzanie, czy dany plik leży w pamięci ROM:
Najpierw musisz wiedzieć, czy plik leży w ROM lub nie. Wymień XXXXXXX.YYY na nazwę pliku (np. splashscreen.exe) i przetestuj ten patch w ROMPatcher:
- Code: Select all
Please Login or Register, to see this Content
Gdy otrzymasz zielony znak, to plik jest w ROM. Użyj normalnego patcha.
Gdy otrzymasz czerwony znak, plik nie jest w ROM. Musisz użyć tego patcha c2z4bin.
************************
Test gotowych patchy: Spróbuj c2zbin_THUMB.rmp.
Jeśli pojawi się czerwony krzyżyk, spróbuj c2zbin_ARM.rmp.
Jeśli też pojawi się czerwony krzyżyk, daj w załączniku efile.exe.
Patchowanie programów niebędących w pamięci ROM:
Kopiujemy program (np. z:\sys\bin\splashscreen.exe) z telefonu do komputera.
Rozpakowujemy go za pomocą komendy:
- Code: Select all
Please Login or Register, to see this Content
Jeśli wystąpi błąd "is not a valid E32Image file" to jest to plik z ROM. Użyj patcha normalnie i ustaw opcję automatycznego uruchomienia w Rompatcher.
Patchujemy w edytorze szesnastkowym, np. zmieniamy splashscreen.mif na dysk C::
szukamy 5A003A00530050004C004100 - zamieniamy na 43003A00530050004C004100.
Kopiujemy z komputera do telefonu C:\sys\bin\splashscreen.exe.
Teraz Twój splashscreen będzie wykorzystywać C:\resource\apps\splashscreen.mif.
Zrestartuj telefon. Teraz musisz zobaczyć własny ekran!
Jeśli zobaczysz duży krzyż X to masz zły C:\resource\apps\splashscreen.mif.
Uwagi:
Jeśli taki sam plik leży w C: i Z:, ten patch użyje plik z dysku C:, nawet jeśli wywołanie programu będzie następujące: "execute z:\sys\bin\program.exe".
Jest to problematyczne np. dla Quickoffice. Musisz wyłączyć c2z4bin: wykorzystaj do tego celu ROMPatcher, aby wyłączyć c2zbin_THUMB.rmp.
Przed skopiowaniem pliku do C: upewnij się, że nie ma go w ROM.
Jeśli TestROM.rmp daje znak zielony, NIGDY nie kopiuj tego pliku do C:.
Każdy program z Z: nigdy nie użyje biblioteki DLL z C:.
Na przykład EikSrvs.exe leży w ROM i używa Z:\sys\binEUser.dll.
Nawet jeśli utworzysz C:\sys\bin\EUser.dll musisz użyć ROMPatcher.
C2Z4bin jest nieprzydatny w tym przypadku.
Każdy program z Z: nie będący w ROM (ROHS) może używać bibliotek dll z C: lub Z:.
Tu C2Z4bin jest przydatny.
Nie wolno używać plików z innych modeli. N95-splashscreen.exe różni się od N82-splashscreen.exe.
Jeśli skopiujesz EXE to prawdopodobnie należy skopiować też odpowiednie pliki *.mbm *.mif *.r0*.
Na przykładzie ABOUT.exe również potrzeba skopiować:
About.mbm, About.mif, About.r01, About.r68, ABOUT_aif.mif, ABOUT_reg.rsc.
Patch C2Z emuluje pliki z rozszerzeniem RSC, MBM, INI oraz TXT. Natomiast C2Z4bin emuluje pliki z rozszerzeniem DLL i EXE. Zawiera także pliki (domainsrv.exe) odpowiedzialne za uruchomienie patchy podczas startu systemu. Obydwa patche mogą działać razem równocześnie.
Źródło: ipmart-forum.pl