[Windows Mobile Apps and Games] ShaDrac:
Extendir version 1.06: info and download

Info:

Extendir is a file system filter driver that significantly increases the performance of your phone, in specific situations even up to 12 times as fast. The price for this performance is memory. At the moment Extendir caches only non memory mapped files, but in future releases this will be configurable.

A nice side effect of the architecture of Extendir is that you should have longer battery life!

(I don’t have real test results for this yet so I don't know how much longer you do with your battery but I've heard confirmations.)

But Extendir has also a very nice bonus feature: it can extend your windows directory! (The name Extendir makes sense know, doesn’t it?)

Every file (not folder) that will be installed in the folder “\Extendir\WinDir” or in any one of its subfolders will get a virtual alias in the windows folder. It is also possible to have a second (or third) folder “\Extendir\WinDir” on another partition/drive, for example “Storage Card\Extendir\WinDir”. When the OS request the file from the windows folder, it will be redirected to the real location of the file without the OS ever knowing about it, even if the file is located on the storage card. The OS still thinks he’s got 4000+ files in the Windows folder, but in reality these files are spread over 200+ folders located somewhere in “\Extendir\WinDir”.

Changelog:

28.04.2010 - Extendir v2.00 Preview/Beta 1.08

Info/download/discussion from this post.

16.04.2010 - Extendir v2.00 Preview/Beta 1.07

Info/download/discussion from this post.

14.03.2010 - Extendir v2.00 Preview/Beta 1.06

Info/download/discussion from this post.

09.03.2010 - Extendir v2.00 Preview/Beta 1.05

Info/download/discussion from this post.

08.03.2010 - Extendir v2.00 Preview/Beta 1.04

Info/download/discussion from this post.

03.03.2010 - Extendir v2.00 Preview/Beta 1.03

Info/download/discussion from this post.

28.02.2010 - Extendir v2.00 Preview/Beta 1.02

Info/download/discussion from this post.

05.02.2010 - Extendir v2.00 Preview/Beta 1.01

Info/download/discussion from this post.

01.02.2010 - Extendir v2.00 Preview/Beta 1

Info/download/discussion from this post.

04.08.2009 - Extendir v1.06

Extendir.dll must be added to the XIP.

Some minor tweaking.

24.07.2009 - Extendir v1.05 MAJOR UPDATE!!!

Removed settings through registry, this was added in v1.01 but that gave major freezes and lockups with some devices. Well now is everything stable, no more freezes and no more lockups! :)

Released different versions with different cache settings.

22.07.2009 - Extendir v1.04 (not stable)

Fix for lockups for some specific devices in combination with wm6.5 builds

Fixed some other minor bugs

18.07.2009 - Extendir v1.03

Fix for some specific wm6.5 builds

17.07.2009 - Extendir v1.02

A lot of speed improvements

Default cache now 4MB

15.07.2009 - Extendir v1.01

Fixed a lot of minor bugs

Added a few settings to be configurable through registry (boot.rgu)

.

Known issues:

Phone hangs on first or second boot, solution:

Change "BootPhase" from 0 to 1 and you'll need to add back wince_nls in your xip!

Some programs (in combination with the OS release) don’t like to be installed on different partitions/drives. Everything still works but you will have a performance drop. (Files cooked in a rom are also on a different partition but they show up in the windows folder). Make sure you test your program combinations thoroughly and choose wisely what to install where!

The function GetDirectories from the NETCF does something not by the book, well at least not the books I’ve read (Lord of the Rings, etc). If there is somebody out there who can shine a light on this, please. Debugging a driver based on trial and error, with only a direction takes a LOT of time. (from v1.01 there is workaround for this)

Installing a program in \Storage Card\Extendir\Windir gives some issues, will be fixed in a future release.

Peek in to the future:

After I’ve build in the most important features in Extendir, there will be a desktop/server version. And there after a distributed storage version which has the power of a local drive and the flexibility of a torrent.

Possible features in future releases:

Make configurations through a configuration file

Configurable cache size (released in v1.01, removed in v.105)

Configurable caching memory mapped files

Lazy write back cache

Workaround for GetDirectories (released in v1.01)

Boot actions (before the OS has access to the partition, for example defragment registry)

(Do you have a request?)

How to install:

Extendir is a file system filter driver that must be loaded during boot time. To accomplish this, you’ve got to modify your boot.rgu and rebuilt the boot.hv (both in XIP).

Add the following lines to your boot.rgu

[HKEY_LOCAL_MACHINE\System\StorageManager\filters\Extendir]
"Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\filters\Extendir]
"Dll"="Extendir.dll"
"Order"=dword:0

Modify the order of all other file system filter drivers in your boot.rgu. Personally I change order 0 to 10, 1 to 11, 2 to 12, etc. More about the order of the file system filters drivers in Tips and Tricks at post 5

Modify your boot_ms.rgu (also in XIP) if you cooked encfilt.dll/mencfilt.dll in your rom.

Rebuild your boot.hv and port the boot.rgu, boot_ms.rgu and boot.hv in to your XIP. (Ervius and Bepe's kitchens do this already for you)

Now you only have to add the Extendir.dll to the XIP and (which depends on your kitchen) the new boot.rgu to your kitchen.

Personally (in the latest Ervius / Bepe's kitchen) I add the Extendir folder with the Extendir.dll to \ROM\Shared\23017\Extendir (Fill your own XIP build number in place of 23017)

(For obsolete Extendir v1.05 you only have to add the Extendir package and (which depends on your kitchen) the new boot.rgu to your kitchen.)

That was all, but you have to remember that files cooked in to your rom have minimal benefit of Extendir! Files / Programs installed afterwards will benefit fully of performance delivered by Extendir.

A few examples of Files / Programs that fully benefit from Extendir:

Everything during customization

Registry

Temporary internet files

SMS / MMS

Everything you (could) sync with active sync (contact, agenda, mail, etc)

Programs you install

Files / Documents that you create or copied to your phone

Etc.

To fully utilize the power of Extendir read the next 3 posts!!!

Download Extendir v2.00 Preview/Beta 1.08 at this post.

Download:

Accept the licence agreement!