Przepraszam, że może niezrozumiale piszę, ale gdybym pisał zrozumiale, to musiałbym zadać mnóstwo pytań po kolei. A tak spróbuję zawrzeć wszytko razem :)
Najpierw cel:
W BlueAngelu jest taki sobie driver: TrueFFS_G3.dll. Co ciekawe, on nie siedzi w XIPie, a w IMGFS.
Wszystkie drivery do BA pochodzą z WM2003, albo z jednej, jedynej wersji ROMu WM5, która wyciekła gdzieś skądś.
Mam chęć:
- odświeżyć tak wiele driverów, ile tylko się da (czyli wziąć je z innych urządzeń),
- przenieść maksymalnie dużo rzeczy do XIPa, bo IMGFS jest wyjątkowo mały.
cmonex twierdzi, że czasem można spróbować przenieść TrueFFS.dll między urządzeniami. Zwykle się nie daje, ale można spróbować.
No to spróbowałem z Universala i jeszcze z czegoś. Oczywiście nie udało się.
G3 vs G4:
Nazwa modułu "TrueFFS_G3.dll" sugeruje, że może to jest TrueFFS.dll dla chipsetu G3?.
No to mam pytania do tych, co mają takie palmtopy, które mają chipset G3 albo G4:
- czy te chipsety różnią się tylko sposobem obejścia CIDlocka, czy ROMy też mogą być różne?
- a jeśli ROMy są różne, to czy różne są w nich TrueFFS.dll? Albo coś je odróżnia w boot.rgu?
- a jeśli ROMy są różne, i różnią się właśnie TrueFFS.dll, to jak wydłubać TrueFFS.dll z ROMu dedykowanego dla G3 (znalazłem tylko jeden taki - nbd.v5.1 - ale nie jestem w stanie wydobyć z niego TrueFFS.dll. niby wszystko dobrze działa: "typhoonnbfdecode_v5.exe -x nk.nbf", a potem "RomMaster.exe 80040000-OS.nb -w 5 -x -o xip.bin", ale XipPort wywala się przy "dump xip.bin" :(
Pomóżcie proszę, bo nie mogę się połapać.
Ciekawostka:
Przeniesienie z IMGFS do XIPa tego właśnie drivera jest wyjątkowo trudne, bo on zawiera dwie sekcje, które powinny się znaleźć w obszarze dllfirst-dlllast:
o32[1].o32_vsize: 0000AB50
o32[1].o32_rva: 00028000
o32[1].o32_psize: 00000A00
o32[1].o32_dataptr: P+00091D1C
o32[1].o32_realaddr: D=01FF4000
o32[1].o32_flags: C0000040
o32[3].o32_vsize: 00000004
o32[3].o32_rva: 00034000
o32[3].o32_psize: 00000004
o32[3].o32_dataptr: P+000933BC
o32[3].o32_realaddr: D=01FFF000
o32[3].o32_flags: C0002040M'Reloc rusza tylko pierwszą sekcję (czyli o32[1]), XIPport wywala się przy relokowaniu czegoś takiego. Ale to chyba da się obejść.