PDA

View Full Version : WM5 ROMfiles dumps [files, modules and registry]


baniaczek
6th December 2005, 12:34 AM
Hello.

History:
My Qtek9090 running WM5 has good CPU, fast graphics and very, very slow filesystem. I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it :(

There exists very handy utility WM5 Files Dumper (http://buzzdev.net/index.php?option=com_remository&Itemid=68&func=fileinfo&id=83) [thanks buzz_lightyear :)]

I think it is a good idea to upload dumps of all files from our PDA's. It would be a good source of information and source of code bricks to cook patches and updates.

Such a dump should contains all files and modules [extracted both from bootloader and OS] and full dump of registry. It should be as clean as possible - just after hard reset, before entering PIN, before adding any contacts and any patches.

Tommorow I will try to upload WM_5_03_02_WWE_built_1337_42_BlueAngel_by_mamaich. zip.

And again - thanks to our master hackers :)

mamaich
7th December 2005, 12:42 AM
I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it :(And even if you'll find it - it would not work on your device. It is always XIP.
And it would not speedup your device - it has a slow ROM.

baniaczek
7th December 2005, 01:54 AM
]I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it :(And even if you'll find it - it would not work on your device. It is always XIP.
Probably you are right :( I'm a lame, but I afraid, that it is true.
But: as I understand: XIP means "eXecute In Place". Dll's as modules are executed from slow ROM [and there is no shadow RAM] [and there is no way to cache them]. Dll's as files are loaded into RAM, and then executed. Correct me, if its not true.
We have plenty of RAM, so [probably] it is possible to load a lot of dll's into RAM instead executing them from [slow] ROM.
Dlls created with "WM5 Files Dumper" - looks good. I would have to analyze them several times, I would have to ask master hackers :) is it true, but I would try to load them into RAM.

I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it :(And it would not speedup your device - it has a slow ROM.
Yes, of course.
But SPB benchmark told me:
Reading files from \somewhere is 4 times slower then WM2003. It is a good value.
Write files into \somewhere is 6 times slower then WM2003. It is also a good value.
But:
Copy files [OS level] is two times faster than read them and write back. It is not good value.
Retrieve filenames from huge directory is 10-12 times slower, than WM2003. It is also not a good value [it should be comparable to reading files, ie. 4 time slower]
There are two ways:
1. there is something wrong within fatfsd.dll,
2. overhead of executing fatfsd in place is not acceptable,
3. my benchmarks are wrong [I have not enough time to benchmark filesystem without cache :(

baniaczek
7th December 2005, 02:05 AM
Tommorow I will try to upload WM_5_03_02_WWE_built_1337_42_BlueAngel_by_mamaich. zip.

It is here: ftp://xda:xda@ftp.xda-developers.com/Uploads/RomFiles_dumps/WM_5_03_02_WWE_built_1337_42_BlueAngel_by_mamaich. zip

If you think it is a good idea to share WM5 code bricks, upload your your clean dump into
ftp://xda:xda@ftp.xda-developers.com/Uploads/RomFiles_dumps

UserName and Password is here: http://wiki.xda-developers.com/index.php?pagename=BA_FTP_Site search for "xdaupload".

mamaich
7th December 2005, 06:03 AM
But: as I understand: XIP means "eXecute In Place". Dll's as modules are executed from slow ROM [and there is no shadow RAM] [and there is no way to cache them]. Dll's as files are loaded into RAM, and then executed. Correct me, if its not true.There are 3 types of DLLs used on WM5. First type - normal files, they are loaded into RAM, fixups are processed, etc. They are slow to load (due to fixup processing), but would execute from RAM. Second type - XIP, which are executed directly from ROM and would work slowly. In BA this set of files is executed directly from ROM:
device.exe
filesys.exe
nk.exe
busenum.dll
cecompr.dll
ceddk.dll
certmod.dll
coredll.dll
crypt32.dll
devmgr.dll
diskcache.dll
fatfsd.dll
fatutil.dll
fsdmgr.dll
fsreplxfilt.dll
hd.dll
imgfs.dll
msflash.dll
mspart.dll
osaxst0.dll
pm.dll
regenum.dll
relfsd.dllIt is much less than was in WM2003.
And WM5 added a new filesystem - IMGFS. It contains compressed modules split to sections, but they are fixed to specific addresses in RAM, they are decompressed to these constant areas and executed from RAM. They are similar to XIP as they also don't contain relocations, but would work fast. I don;t know the correct termin for this type of files.
To replace files in XIP section you'll need this tool - http://forum.xda-developers.com/viewtopic.php?t=33321
if you overwrite any of files I've wrote here by a CAB file or other method without modifying ROM - their old versions would be used instead because they are loaded much earlier than all filesystem drivers.

baniaczek
8th December 2005, 12:02 PM
Thanks mamaich :)

gimpdog
9th December 2005, 02:23 AM
thanks for the files baniaczek!

does anyone know which file or how the other OS registry entries (the ones not in the boot.hv) get created? There are so many more in a full registry.

thanks!

P.S. thanks mamaich for the great tools!

mamaich
9th December 2005, 08:35 AM
OS imports *.RGU files on hard reset, and it also reads mxip_*_*.provxml files that also can setup registry items. On Universal and similar devices registry can be set by CAB files in extended ROM.
If you add a new RGU file to OS image it would not be processed. Maybe they should have DSM file with the same name, or be mentioned in [HKEY_LOCAL_MACHINE\System\ObjectStore\RegistryUpda te] key or in packages.sof. I don't know. I always add keys to default.hv/user.hv or edit existing RGU files.