How to customize phone software

Add new features and applications

CAUTION: Trying to modify the built-in firmware of a mobile phone may render it practically unrepairable. This applies especially to phones that do not have a separate EEPROM chip for settings and calibrations (e.g. most Nokia 3xxx phones). Before trying to update the flash memory, you need to understand the functions of your flashing program and the whole flashing process, including any checksum updates required. NuukiaWorld does not give any support in flashing-related questions.


Nowadays it is also possible to customize and add new applications & games in old "black-and-white" DCT-3 phones, like Nokia 3330, too. A good tool for doing such customizations is NokiX.

In practice, you select your original flash file for the NokiX project, and NokiX then performs the modifications you specify and outputs a modified flash file.

There are tens of good and reliable patches distributed on the NokiX site. They are compatible with most DCT-3 phones, however, for best compatibility, you should use the newest software version for your phone as the starting point. If NokiX fails to patch the flash, the reason is usually that your software version is too old or that the particular patch is not compatible with your phone model.

It is a good practice to add new patches to the NokiX project one at a time. Otherwise you cannot see which patch is causing the problems if your phone is not working with the new software. This page contains some basic hints for using NokiX. For a more complete NokiX tutorial, visit http://joeramzi.uw.hu/nokix_tutotrial1.php.

With NokiX SDK, you may even write completely new patches and improve the official ones. Your own patches may be new applications (like improved calculator, calendar, games) or enhancements to the existing phone features.


NokiX scripts

I am using NokiX with Nokia 6110, version 05.48 (ROM4). At the time of writing this, I have chosen the following patches for my phone (cursived ones are not included in the "official" NokiX script package):

Script name and arguments
Description
kill_faid_check.nrx Disables the FAID checksum. You will need to update the FAID once after adding this patch. Then you do not need to do it anymore.
stop_ringing.nrx Allows muting the ringing tone without hanging up the incoming call (like in new Nokia phones)
fade_leds.nrx Fades the display and keyboard backlight in and out slowly (like in new Nokia phones)
call_duration.nrx Displays the call duration after the call (and also during the call) (like in new Nokia phones)
true_7_bars.nrx Modifies the field strength and battery indicators to contain seven steps (like in new Nokia phones)
anonymous_access.nrx Allows skipping the PIN code when booting up the phone. Good feature when testing software because you do not usually need to log on to the network.
kill_mcu_check.nrx Disables one more flash memory checksum

rhythmic_leds.nrx Blinks the display and keyboard backlight with the ringing tone
stones.nrx A new game made by Yak

breaker.nrx A new game made by Yak
maze3d.nrx A new game made by Yak

temp_saver\screen_saver.nrx Adds a "screen saver" for the display. This is NuukiaWorld's enhanced version of the official NokiX screen_saver.nrx script, see Screen saver with thermometer for more information
send_flash_sms.nrx Allows sending class 0 messages using the phone

plotter.nrx A plotter application for mathematical functions (currently not included in the flash)

extras_menu.nrx menu_extras plotter memory_editor welcome_anim autokeylock remind_missed call_duration fade_leds/in fade_leds/out lcd_contrast init_sim_card Creates a new menu for most of the new features (the menu_extras itself must be added to the main menu with write_menu.nrx)
improve_chars_dialog.nrx Improves the "special characters" dialog of the phone
lcd_contrast.nrx Allows adjusting the display contrast

real_backspace.nrx Makes the Clear button to erase characters one at a time instead of clearing all entered text at once (like in new Nokia phones)
welcome_anim.nrx hands.gif Adds an animation which will be played after entering the PIN code (like in new Nokia phones)
write_menu.nrx 6110-548-menu-patched.txt Patches the main menu with the new features (see below)
write_menu.nrx 6110-548-profile-menu-patched.txt Patches the profiles menu with the new profile-specific features (like in new Nokia phones)
smooth_sms_scroll.nrx Allows scrolling messages row-by-row instead of four rows at a time
calendar.nrx Replaces the built-in calendar with Yak's great improved calendar
repeated_alarm_clock.nrx Allows automatic repeat of the alarm clock on selected weekdays

rpn_calculator\rpn_calculator.nrx NuukiaWorld's RPN calculator application which replaces the built-in calculator
remind_missed_oma.nrx Reminds about missed calls and unread messages regularly with a short tone. (This modified version does not alert if the alert tones are disabled in the current profile.)

autokeylock.nrx Locks the keypad automatically after a while (like in new Nokia phones)
pills.nrx A new game made by Courtjester99. See the NokiaFREE forum for details.
temp_saver\screen_saver.nrx walk_screen_saver.txt Adds more screen savers
temp_saver\screen_saver.nrx snore.gif
temp_saver\screen_saver.nrx bird_skin_oma.txt
temp_saver\screen_saver.nrx earth.gif
temp_saver\screen_saver.nrx 5210_screen_saver_date.txt
temp_saver\screen_saver.nrx 8092.gif
temp_saver\screen_saver.nrx 8094.txt
temp_saver\screen_saver.nrx 8427.gif
temp_saver\screen_saver.nrx HI_skinfile.txt
nokix_shot.nrx Allows taking screen shots of the phone display using an MBUS cable
show_free_space.nrx Displays the free space in the *.fls file at the end of patching
memory_editor.nrx A memory editor application which allows browsing the phone memory with the phone itself (currently not included in the flash)
add_ppm_strings.nrx menu_ppm.txt
Adds some new texts that are used in my customized menu file
periodic.nrx druidbartek's periodic table of the elements


world_clock.nrx NuukiaWorld's world clock application

A good source for NokiX scripts and information is the NokiaFREE forum. I recommend it to everyone who are going to develop their own DCT-3 applications with NokiX SDK. For the newest patches by NuukiaWorld, visit the software section of this site.


Modifying the phone menu

Adding new items to the phone main menu is made with write_menu.nrx. This script requires one argument, a menu dump file, which can be created using the dump_menu.nrx script. Use the "dumper" mode of NokiX to create a menu dump from your flash file (see picture). Then you can modify it manually using e.g. Notepad.

For example, I have added an "Extras" menu created with extras_menu.nrx (see above) to the end of the main menu with the following line:

   # Net monitor
@item title=8 gfx=0x45 action=0x37 flags=0x4 msg=0x5E0 arg=0x2D

# Profiles (Includes options for customising your own modes of phone use.)
@item title=516 desc=1039 bmp="6110-profiles.bmp" action=0x37 msg=0x5E0 arg=0x61

@item def=menu_extras bmp="6110-extras.bmp" action=0x37

@end

Some of the new features are "profiled", i.e. their settings are profile-specific, so you can set them differently in different profiles. The best place for such options is naturally the "Tones" menu ("Profiles" in Nokia 6110).

Note: Modifying the "Profiles" menu in Nokia 6110 is not so simple, as it is not included in the main menu dump. With software version NSE-3 05.48 (ROM4) you may modify the menu by dumping the menu at address 0x2B13A0 with dump_menu.nrx and then including another call to write_menu.nrx in your NokiX project for that menu dump file.

18.3.2006 - nuukiaworld@gmail.com
No email support or answers to technical questions.

To see NuukiaWorld's finest appearance, update your web browser!