webspace hosting reseller hosting| web hosting| blog| forum| dating| free hosting| openhost| report abuse
Internet Fax To Email - Unlimited

Unlimited Faxes, No Fees, Dedicated Phone Number

Free Website Templates

Table of Contents

  • Some Basics

  • The Skining Apps

  • Series60 version 2.0

  • Siemens's Modifications to Symbian

  • What you can change and what you need

  • Modifying the firmware

  • Editing MBMs

  • Creating a Full Screen Wallpaper

  •  

     

     

    Some Basics

    Before trying to explain the whole procedure I'll give some specific information on how this whole thing works.

    At the very first versions of series60 (which we can see in mobiles like 3650,7650,N-Gage and N-Gage QD) the only themes we had back then were the color palettes. This was a very basic theme capability and the actual changing was only some colors changing in the menus. Nothing more. Back then at the 7650 era there were three companies that released programs on skinning series60. Wildpalm, Trigenix and Symbianware.

     

     

    The Skining Apps

    Wildpalm introduced a program named Wildskinz that was able to transcend calls of the O.S. and instead of showing the standard white background some areas had, show a bitmap. That was a very clever idea but it had many problems. This whole process was very close to the hardware and could even fail very easy. Because of it's nature there are many programs that are incompatible with it and cannot run when wildskinz are running. The solution that was to be able the user to disable wildskinz on specific programs but even then there were various problems when something failed with the program resulting in System Errors. The project seems to be discontinued by Wildpalm (check their site and you won't find any trace of Wldskinz, you may also send them an e-mail asking for it).

    Symbianware on the other side produced a totally different program. Smartlauncer is actually an alternative app to the the standard menu application. It gave you the power to change the icons of the programs installed and not only that. Smartlauncher uses the whole screen of the phone to show the menu and you can change the background with any image you like. As well as the colors for the fonts (but only for the menu). The app is also coming with a switcher application that was able not only to switch between open programs but also close or kill them and it also shows information on how much free space you have on your phone, MMC as well as the free RAM. The drawback of all of these is the requirements. A basic skin with only a couple of icons and a background image requires 100-200kb of RAM but if the skin has more than 50 icons the RAM used can even reach 2MB. If we also add that Smartlauncher sometimes seems to be slower that the standard Menu app and also eats more battery then we may abandon the whole thought of  using it.

    Trigenix introduced a program very similar with Symbianware's Smartlauncher (without though the switcher app). It is more advanced with features like animated icons or backgrounds and more free form user interface. The bad thing is that it is actually very memory consuming (it uses more than 1Mb of RAM) and also it's not actually a program aimed for the end user but the operators. So in order to use it your operator must have an agreement with trigenix. Then you'll just have to download it from your operator through wap (most of the times this is free) but you'll have to pay for the skins. TIM's Imagine program is very similar to trigenix, I don't know though if it is actually trigenix.

     

     

    Series60 version 2.0

    Nokia have implemented skining capabilities in Series60 version 2. So phones like 6600,6620 and 7610 have skinning capabilities built in without the need of any extra 3rd party apps that they may also create problems (like not enough free memory, System errors or incompatible apps). And by the way the s60 ver2 skins look much better than the 3rd parties. The problem is that SX1 is actually Series60 version 1.2.

    There was a word from a member from AllAboutSymbian (with the nickname j2k) that he was working on a program named Themerizer. Themerizer was going to enable using series60 ver2 skins on older series60 devices. Unfortunately the project somehow seems to have disappeared and the only answer you'll get from symbianthemes is that the Themerizer project is no more hosted on their site.

     

     

    Siemens's Modifications to Symbian

    Siemens made a lot of modifications to series60 version 1. Some of them are the extra bar (showing the info for battery, signal as well as icons for messages, bluetooth etc.) the system folders in the menus having different icons than the standard ones, the screensaver application being able to show animated gifs, and lastly but not least that many areas instead of using the standard white color like in 7650 they were colorful and dependable to the pallete you are using. Bad thing is that many things like the folder icons or the palletes cannot be changed with others made by the user.

    But if we make some examination to the files in the firmware using a third party file manager we will see that the Symbian O.S. uses a lot of mbm files (Multiple bitmap image files - the only image format really accelerated by the Symbian O.S.) to show all of these extra graphics. Some examples are:
    z:\System\Data\BMImages.mbm - Contains most of the graphics related to phone calls, like the bell animation when the phone rings.
    z:\System\Data\Avkon.mbm - Contains many graphics including how tabs will look like.
    z:\System\Data\AvkonEx.mbm - Contains the signal meter graphics.
    z:\System\Data\EidPic.mbm - Contains the backgrounds of the top part of the screen (this is what we need to change for a full screen wallpaper)
    z:\System\Data\menu_folders.mbm - Contains all the icons for the System Folders.
    z:\System\Data\Clock.mbm & z:\System\Data\Clockmasks.mbm - Containing graphics for the analog clock if used in the stand by screen.
    z:\System\Apps\Startup\startup.mbm - Contains the startup animation (fading eye to the X).
    z:\System\Programs\splashscreen.mbm - Contains the eye screen shown when booting SX1.

    The problem is that the firmware is Read Only. You cannot write unless you want to upgrade it, and even then you just can't write whatever you want. So the only way is to modify a firmware upgrade. The problem is that changing the firmware every time we want to change a palette is not a solution so what if we just change the place from where the OS will read these mbm files (e.g. instead of the Z (firmware) it will read them from the E (MMC)?

     

     

    What you can change and what you need

    Although you can change almost every mbm. I really don't recommend it because there are some files that are very frequently  accessed by the O. S. . The stability of the phone may be decreased a lot or at best the phone may become slower.
    Before doing anything you'll need a firmware update of the same or higher version that you currently have. Get it from here. Also you'll need a Hex Editor. Such programs are WinHex and HexEdit. I recommend WinHex (the whole tutorial will be written having WinHex in mind). You can search either for one of them or for an alternative at google. Lastly but not least is to copy the mbm file you are going to modify later into your MMC using a 3rd party file manager. Also for the modification of mbm files you'll need either the bmconv.exe or the mbm wizard application. bmconv.exe is a tool to convert one or multiple bmp files to one mbm and vice versa. You can find it in any s60 sdk (either Nokia's or Siemens's). It's hard to use though because all the job is done in the command line. MBM Wizard on the other side is a GUI that uses bmconv.exe and makes modification of mbm files a piece of cake. You can download it from here (the zip file also contains bmconv.exe which is needed).

     

    Modifying the firmware

    BEWARE THAT I AM NOT AND I WILL NOT BE RESPONSIBLE FOR ANY DAMAGE CAUSED BY FOLLOWING THE STEPS BELLOW. DO IT AT YOUR OWN RISK. ALSO NOTICE THAT FIRMWARE MODIFICATIONS ARE ILLEGAL. WARRANTY WILL BE BROKEN (although its hard for the Service Centers to notice that)

    The whole tutorial will explain how to modify the firmware in order to read the EidPic.mbm from e:\System\Data instead of z:\System\Data. The Hex Editor used for editing the Firmware is WinHex.

    1.Open Winhex

    2.Choose File->Open

    3.Select the firmware file and choose open (in our case it is the McLaren version)

    4.After opening the file choose Search->Replace Text...

    5.On the window we choose to "Search for" z:\System\Data\EidPic.mbm and "Replace with" e:\System\Data\EidPic.mbm. We also choose to Replace all occurences. If the option Unicode character set is unchecked we check it.

    6.We may get a warning message. This is OK.

    7.After that we will get the message that it was found twice and replaced

    8.We then choose File->Save As...

    9.And choose whatever name we want.

    So now we have a modified Firmware that will read the EidPic.mbm from the MMC instead of the firmware. Before applying the firmware update we have to fully charge the battery (very important) and copy the EidPic.mbm from z:\System\Data\EidPic.mbm to e:\System\Data\EidPic.mbm using a 3rd party file manager like Symbianware's FileMan or the freeware FExplorer.

    In case the battery is not fully charged then if after the firmware update we see the phone not starting (maybe not correct way of editing the firmware) we may can't be able to update the phone with an original update because it won't let us due to low battery.

    In case we didn't copied the eidpic file from the firmware to the MMC then the phone will not be able to boot.

    If we have done all the above then we can move to the next step which is the firmware update. The process is the same as updating an non modified firmware, so no instructions here.

     

    Editing MBMs

    So we can now edit the mbm file but how can we do that. Adobe photoshop, paint as well as most of the programs cannot read the file while some others like xnview can only read the first bitmap of the mbm. So we need a program to extract the mbm. As I've mentioned above bmconv.exe is the tool that comes with the s60 sdk and it is designed exactly for that task. Unfortunately it is a command line tool so we will use MBM Wizard, a GUI for the bmconv.exe.

    There are three places that we must pay attention. From the first  row named File Selection we will select the files we want to add in the mbm. The first drop down shows us the drive in which the images are. In the Section Below we choose the folder and more below than that we have the list of the image files the folder contains. The next tab is actually a filter of what files will be shown on the list (bmp, jpg, gif or all of the three). On the bottom there are two buttons and a drop down list. The Select All button will just select all the image files on the current folder. In order to add them in the mbm we must first choose the color depth. This can be done by the drop down list which give us the following options:
    "/1" : Monochrome (Black and white)
    "/2" : 4 varies of Grey
    "/4" : 16 varies of Grey
    "/8" : 256 varies of Grey
    "/c4": 4bit color depth (16 colors)
    "/c8": 8bit color depth (256 colors) 
    "/c16": 16bit color depth
    "/c24": 24bit color depth

    In most of the cases we will choose /c16 as this is the max our SX1 can output. /c24 will just give us a bigger file, nothing more in quality.
    After choosing the depth we click the "add selected as" button to add them in the list.

    The next (middle) row is named "Files in archive" and shows either the images that the mbm file we've opened has or the images that it will have...

    The number in front of each image shows us the color depth the image will be saved in the mbm. We can change that by choosing the appropriate color depth on the drop down list in the bottom and then clicking on the button "change selected to"
     

    We can also choose a file and save it to bmp by clicking "Save selected as bmp" The other buttons do the following
    Clear : Removes every file from the list
    Delete Selected : Removes the selected file from the list
    Select All : Selects all the files on the list

    In the last row named Preview we actually have a preview of the image file selected in one of the two lists.

    When we finish adding images we select File->Save As to save our mbm file.

     

    Creating a Full Screen Wallpaper

    Now that we've learned how to create/edit an mbm file we can move to the next section which is to create a full screen wallpaper. Before proceeding we have to make first some decisions. We can't change the bottom part of the screen where the two softkeys have written their action. The only way to do it is by installing Wildskinz. Unfortunatelly Wildskinz have many problems and may make your phone not work correctly while many apps won't work with it (the wildskinz app though gives you the option to dissable itself when running specific applications.) If we use Wildskinz the image must be 176x220. If we don't use then the Image will be 176x200.Now let's open the EidPic.mbm file to see what it contains.

    After opening the EidPic.mbm using MBMWizrd we will see 5 files.

    0    Used when booting the device for the top bar. Either don't change it or just write a message on it. You may also use it in conjunction with the z:\System\Programs\splashscreen.mbm (if you have previously also modified that part of the firmware) and have a fullscreen boot logo.
    1Top part for Blue Sky Palette
    2Top part for Beach Palette
    3Top part for City Palette
    4Top part for Magenta Palette

    So we can easily create a new EidPic.mbm by just adding first a 176x12 bitmap and then 4 (or 6 info on how to use the extra two will follow) bitmaps with a resolution of 176x68. That means that we can have 4 different fullscreen wallpapers depending on which palette we use.

    Open then with an Imaging program like paint the image we want to put as wallpaper.

    Then Select from pixel 0,0
     
     

    a total area of 176x68 and cut it and past it into an new image file
    (paint shows us in the bottom which is the first pixel of the selected area as well as the size of the selected area)

     

    In case we will use Wildskinz we choose from pixel 0,219 an 176x20 size area and then save it to another file. Then we choose what is left and save it to another file.

    If we won't use wildskinz we just choose, cut and paste into a new file what was left from the image

    This procedure can be done up to 4 times. If though we will install a third party app name Pallete extender we can increase the Palletes from 4 to 6 and so have more FS Wallpapers in a singe EidPic.mbm. Notice that the extra two palletes are identical to Blue sky.

    Now by using MBMWizard either we open the existing EidPic.mbm and delete or the files except of the first on or crate a new mbm. The first one must  have a size of 176x12pixels.

    After adding all the images we choose file->save as and we choose as a name EidPic.mbm (this is case sensitive). It would be wise not to  replace the original EidPic.mbm file. Keep it somewhere else for backup purposes. If something goes wrong and the phone stops booting you can put the original to the MMC.

    Now the file we previously saved and has a size of 176x132 is the wallpaper. We can either send it to our phone and save it as wallpaper by the settings. Unfortunately this way we will have white borders. We can remove the bottom and top white borders by firstly reducing the size of the image from 176x132 to 174x132 and then make it an mbm using the mbmwizard. Notice thought that the mbm must have 2 images. The first is the actual wallpaper. The second can be either the same image or whatever we want. the purpose of the second image is only how the the wallpaper will look like when there is a text on it. We can also save with a lower color depth.

    After we finish adding the files we save the mbm with the filename backgroundimage.mbm and then we replace the original backgroundimage.mbm in c:\system\data\ .

    For wildskinz we take the small 176x20 image and add it into an mbm file with whatever name we want. After that we change the extension of the file from .mbm to .skin .

    Now every time we want to change the wallpaper we have to do 4 things:
    Change pallete from settings.
    Replace previous backgroundimage.mbm with the new tha corresponds to the pallete
    Change skin in Wildskinz (if we installed them)
    Restart phone.

    Here is an example of my work as well as all the files needed