PDA

View Full Version : [SCRIPT] DCT-4-like "Go to" Menu



nuukiaworld
20-02-2006, 09:08 PM
This script replaces the "Names" function with "Go to" on 2-Navi-key DCT-3 phones. The "Go to" button pops up a menu which contains up to nine links that you can configure at runtime. The links can be sorted, too, and the sorting is even easier than on DCT-4 phones!

Note that the operation on 1-Navi button phones has not been tested. The Go to function may work by pressing the C key, however I guess that it does not work. Please feel free to improve the hooks -- all sources are included in the package. <solved: 1-Navi?-key phones are ok since version 1.01>

Download "Go to" Menu 1.08 from:
www.panuworld.net/nuukiaworld/download/nokix/ (http://www.panuworld.net/nuukiaworld/download/nokix/)

azbest
20-02-2006, 09:24 PM
Cannot find requested file (404) :???:

nuukiaworld
20-02-2006, 09:32 PM
Sorry, my other hand was faster than the other... :o Now the page is online.

szczuru
22-02-2006, 01:03 PM
Does it work with 3310/3330? ( (c) key as second navi)?

nuukiaworld
22-02-2006, 02:27 PM
Does it work with 3310/3330? ( (c) key as second navi)?I don't know because I don't have equipment to test it on those phone models. – You are correct that if it works, then the Go to function will be available via the C key. Try it and tell me the results...! ;)

My pessimistic guess is that the current way of hooking is not compatible with all phones, i.e. the Go to menu does not pop up by pressing C. :-( Of course I would like to make it work well on all DCT-3 phones, so all help is appreciated.

In any case, you can always access the Go to menu by adding it to the menu with definition "goto_menu/goto" (in addition to the obligatory configuration definition "goto_menu/own_links"). However, the primary idea in this script is that the Go to menu should be as quickly accessible as possible.

yak
22-02-2006, 06:26 PM
How did you replaced the "Names" function? You could locate the apropriate action and replace the msg and arg with 5E0 call there. This would be clean as clean a hack can be :). On phones "without" second soft key the located action would look differently so action searching routine should be aware of it.

nuukiaworld
22-02-2006, 07:35 PM
How did you replaced the "Names" function? You could locate the apropriate action and replace the msg and arg with 5E0 call there. This would be clean as clean a hack can be :).It is currently very dirty: a hook in the standy dispatcher checks the current_action, an if it is same as the default action for 5e0 id 1, then our custom action is activated. Sometimes you can see the original action "Menu-Names" before it is replaced with "Menu-GoTo"... :roll:

The problem is that on 1-Navi phones, the default action of 5e0 id 1 is NOP-NOP, which is cannot be the action displayed when the phone is idle. – I can of course scan the actions table for the "Menu" action that is displayed when the phone is idle and wait for it instead of the default action of the standby dispatcher. However, it will be still as dirty as it is now. (BTW: Does anybody know what is the action displayed when a 1-Navi-key phone is idle? It is 0x384(Menu)-something...? :???: )

What do you mean; how you can replace the action table contents "with 5E0 call" (AFAIK, it is in rom)?

yak
23-02-2006, 02:43 AM
IMHO this can be done much simpler, without a hook.

You can modify the actions table, it's in FLASH. Every action in the table uses such structure:

Text Msg Pad Arg Flag Pad
0031885D 0384 0000 00000000 00 000000
00318A0A 00C8 0000 00000012 00 000000
This is an example for action 125 (0x7d) in 3310 v6.07 which is the Menu/Clear action you asked about.

First line describes the main action key (Menu), second the secondary action key (Clear). The "Clear" text is there however it is never displayed on 3310 (there is a script, dualnav.nrx, that enables it).

As you see, every action has a MSG and ARG field. So, instead of hooking into standby 5E0 function, you can set the MSG of "Names" (or "Clear" for 1 navi key phones like 3310) to 0x5e0 and ARG to ID of your "goto menu" dispatcher.

You can also replace the title text with your "Go to" text.

This way it's clean and you won't see the old original action (since it will be overwritten).

The actions table in 3310 v6.07 starts at 0x313B3C. You can also use my _dump_actions.nrx script to dump the actions table. It locates the table automaticaly.

Cheers
[Yak]

nuukiaworld
23-02-2006, 06:40 PM
This way it's clean and you won't see the old original action (since it will be overwritten).Yes, I understand you suggestion. However, it is not so simple in this case because the "Own links" function can be enabled/disabled with the phone (the idea in Go to menu script is that everything is runtime-configurable, not compile-time-configurable, like power_button_menu or shortkeys). So I must be able to change the action only when the "Own links" feature is enabled.

So, AFAIK, I need to use a hook. But it can be done in much simplier way than in the version 1.00. The new version 1.01 hooks itself simply to the set_action() function and the new action uses directly the 0x5E0 message (I cannot understand why I did it via another message in 1.00 :o ).

Thanks for the information about the default action of 1-Navi phones. Now I have fixed the way the script detects the action to replace...

So the brand new version, 1.01, should work also on phones with one Navi™ key (e.g. 5110, 3210, 3310, 3330). In such case, the "Go to" menu is activated by pressing 'C'. (Download link in the first message of this thread.)
Please report if you have any problems, I'll try to fix them with your help!

joci2000
23-02-2006, 09:22 PM
thx this improvement.

Just i little problem with the definiton name. You accidendly use "\" for definition name in the information section instead of "/" :roll:

and the script seems to working perfect on 3330 with 2 navi script without sim :grin:

nuukiaworld
23-02-2006, 09:30 PM
Fixed silently, thanks... But, ...does it really work on the 'C' key?! :-o

joci2000
23-02-2006, 09:37 PM
Fixed silently, thanks... But, ...does it really work on the 'C' key?! :-o

well there is one problem.

after i power on the phone with sim!! i cannot use the navi buttons i think. after i type the pin and the screen show the op. name but doesn't show the navi buttons' name. neither if i enable or disable the go to function. BUT only with SIM.

i modded my phone to have 3410 cover and if i press the red button(reject call) the action names can be reachable and useable. It can make it work with any number also.

yak
24-02-2006, 01:25 AM
@ nuukiaworld

Ah, I had no time to test your script and I didn't know it's possible to disable it on the fly. In such case you have to use hook. But I'm happy I helped altrough only a little :D.

nuukiaworld
24-02-2006, 08:57 AM
after i power on the phone with sim!! i cannot use the navi buttons i think. after i type the pin and the screen show the op. name but doesn't show the navi buttons' name. neither if i enable or disable the go to function. BUT only with SIM.What a mystery; the set_action() hook (in file hook.s) should be compeletely transparent, so if "Own links" are disabled, then the phone should work exactly as without the patch. :-? Are you sure that the problem is not caused by some other patch?

You are using a 3310 I guess? I have tried to patch 3310 software and disassembler showed me that the hook was installed correctly and it should not have any effect on the Navi key actions if "Own links" are disabled. Do you have some other scripts that affect the set_action() function? (Other than two_navi_keys; it should not interfere with goto_menu.)

Edit: If you cannot find any interfering script, I would like to look at your patched flash file with disassembler. (Of course only if it is ok for you.) You can see my email address on the download page.

Daryl Saludares
24-02-2006, 10:41 AM
@ nuukiaworld
my phone is 3310 now patched with Yak's two_navi.nrx, i'm using V06.39B, as i have noticed in the goto menu, when i try to "go to" > "RPN calculator" all i can see is a blank screen and it's not the only "def" that is affected or missing in the screen there are several def which when viewed are all blank screen. like "Unlocker" "Calendar" but i do admire this kind of script, thank you

@ Sir Yak
we need your expertise, rescue :-D

Daryl Saludares
24-02-2006, 10:49 AM
missing RPN calculator...

Daryl Saludares
24-02-2006, 10:59 AM
Calendar missing...

BTW my phone is working well it doesn't reset or restart. :razz:

joci2000
24-02-2006, 12:43 PM
@nuukiaworld

So i checked it on 3310 V6.39 and the same result. After power on the navi buttons unuseable untill i press any number, only if i insert sim into the phone.
After i press any number the go to function works properly.

the script is not interfere with any other because if i use only this script it gives the same.

and one more thing: is it possible to increase the menu item limit from 75

i will send you the flash

yak
24-02-2006, 01:35 PM
@ nuukiaworld


defs=getenv("def/"def_path||"*") /* Workaround for NokiX linker bug: "||" */
I've fixed this bug some time ago, fixed version will be included in next version of the SDK.

Daryl Saludares
25-02-2006, 01:15 AM
as i double-checked my project last night where dual_navi.nrx and goto.nrx are included in the processing list, viewing those menus in the phone and to my amazement i saw some double entries like RPN calculator, Plotter, [(IMEI, Provider, Find...) this entries belongs to Unlocker] to which when viewed are blank screen. but accessing the other RPN calculator or Plotter in the goto menu, they are displayed correctly.
=================================
RPN ...<viewed correctly, but i put in add_ppm.txt like this;RPN\x0Acalculator> that's why the name is not complete, i can change this.
Advanced ...<viewed correctly, but i put in add_ppm.txt like this;Advanced\x0Aplotter> that's why the name is not complete, i can change this.
IMEI
Provider
Find ...
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~
RPN calculator <this is not working or a blank screen>
Plotter<this is not working or a blank screen>
IMEI
Provider
Find ...
=================================

yak
25-02-2006, 02:22 AM
I only wanted to say that due to the way the ADD_ACTION.rx macro works, the dual_navi.nrx script shouldn't be used anymore (ADD_ACTION.rx was created later). That's why I've created two_navi_keys.nrx to replace it. It does exactly the same but is compatible with my macros.

Daryl Saludares
25-02-2006, 03:37 AM
I only wanted to say that due to the way the ADD_ACTION.rx macro works, the dual_navi.nrx script shouldn't be used anymore (ADD_ACTION.rx was created later). That's why I've created two_navi_keys.nrx to replace it. It does exactly the same but is compatible with my macros.
aha, some typo error and misuse of the terms, i am using two_navi_keys.nrx BTW not the dual_navi.nrx, sorry Sir :roll:

Daryl Saludares
25-02-2006, 08:56 AM
these were taken from my project, part of the processing i did not include the rest, it's too lengthy...


# Processing started

# Verbose level: 2

# Input flash: 06.39B_INPUT_roden.fls
# Loading... OK

# Processing: goto_menu.nrx THE_END
# Priority: -50
Inserting application...
Parsing strings file: goto_menu_ppm.txt
Text found already in PPM, reusing the old one
Strtab: 040577040741040742040743040744040745040746
Successfully added 7 strings (6 new).
Definition 'vibra_controls' added to the 'Add link' menu.
Definition 'light_settings' added to the 'Add link' menu.
Definition 'init_sim_card' added to the 'Add link' menu.
Definition 'memory_editor' added to the 'Add link' menu.
Definition 'sms_counter' added to the 'Add link' menu.
Definition 'input_speed' added to the 'Add link' menu.
Definition 'viruz' added to the 'Add link' menu.
Definition 'rpn_calculator' added to the 'Add link' menu.
Definition 'mobile_unlocker' added to the 'Add link' menu.
Definition 'plotter' added to the 'Add link' menu.
Definition 'hour_beep' added to the 'Add link' menu.
Definition 'minute_beep' added to the 'Add link' menu.
Definition 'reboot' added to the 'Add link' menu.
Definition 'netgraph' added to the 'Add link' menu.
Definition 'spymode' added to the 'Add link' menu.
Definition 'autoshutdown' added to the 'Add link' menu.
Definition 'keylock_guard' added to the 'Add link' menu.
Definition 'invert_lcd' added to the 'Add link' menu.
Definition 'fade_leds/in' added to the 'Add link' menu.
Definition 'fade_leds/out' added to the 'Add link' menu.
Definition 'rhythmic_leds' added to the 'Add link' menu.
Definition 'volume' added to the 'Add link' menu.
Definition 'lcd_contrast' added to the 'Add link' menu.
Definition 'vibra_power' added to the 'Add link' menu.
Definition 'remind_missed' added to the 'Add link' menu.
Definition 'world_clock' added to the 'Add link' menu.
Definition 'dictionary' added to the 'Add link' menu.
Definition 'moon' added to the 'Add link' menu.
Definition 'periodic' added to the 'Add link' menu.
Definition 'watch' added to the 'Add link' menu.
Definition 'call_duration' added to the 'Add link' menu.
Definition 'soft_info' added to the 'Add link' menu.
Definition 'soft_info/1' added to the 'Add link' menu.
Definition 'hard_info' added to the 'Add link' menu.
Definition 'hard_info/1' added to the 'Add link' menu.
Definition 'display_date' added to the 'Add link' menu.
Definition 'quick_keys' added to the 'Add link' menu.
Definition 'net_watch' added to the 'Add link' menu.
Definition 'mine' added to the 'Add link' menu.
Definition 'system_control' added to the 'Add link' menu.
Definition 'bit_of_pipe' added to the 'Add link' menu.
Definition 'breaker' added to the 'Add link' menu.
Definition 'lines' added to the 'Add link' menu.
Definition 'maze3d' added to the 'Add link' menu.
Definition 'MineSweeper' added to the 'Add link' menu.
Definition 'nu_pagadi' added to the 'Add link' menu.
Definition 'o&x' added to the 'Add link' menu.
Definition 'pong' added to the 'Add link' menu.
Definition 'Puzzle' added to the 'Add link' menu.
Definition 'race2' added to the 'Add link' menu.
Definition 'Rotater' added to the 'Add link' menu.
Definition 'stones' added to the 'Add link' menu.
Definition 'anykey_answer' added to the 'Add link' menu.
Definition 'monitor' added to the 'Add link' menu.
Definition 'reject_calls' added to the 'Add link' menu.
Definition 'call_counter' added to the 'Add link' menu.
Definition 'multiple_main_menus' added to the 'Add link' menu.
Definition 'multiple_main_menus/noguard' added to the 'Add link' menu.
Definition 'screen_saver' added to the 'Add link' menu.
Definition 'welcome_anim' added to the 'Add link' menu.
Definition 'shutdown_anim' added to the 'Add link' menu.
Main menu contents added to the 'Add link' menu.
Created config ID: 59 (bitlen=1, def=0, type=NV)
Creating EEPROM entry: 0xD [addr=0x2DBF, len=9, idx=1]
Phone with 1 Navi key detected, using 'C' key.
Parsing strings file: locate_ppm_misc.txt
Text found already in PPM, reusing the old one
Strtab: 040602
Successfully added 1 strings (0 new).
Locate: STR_ADD = 0x36D760
Adding action ID (0x106) to actions table (action1=0x348[0x0], action2=0x5EB[0x0])
Parsing strings file: locate_ppm_misc.txt
Text found already in PPM, reusing the old one
Strtab: 040603
Successfully added 1 strings (0 new).
Locate: STR_REMOVE = 0x36D764
Adding action ID (0x107) to actions table (action1=0x348[0x0], action2=0x5EB[0x0])
Adding action ID (0x108) to actions table (action1=0x348[0x0], action2=0x5EB[0x0])
Adding 5E0 ID (0x15B) to 5E0 table (func=0x36D8D8, action=0x6, flags=0xA0)
Adding 5E0 ID (0x15C) to 5E0 table (func=0x36D960, action=0x6, flags=0xA0)
Adding 5E0 ID (0x15D) to 5E0 table (func=0x36DAF8, action=0x6, flags=0xA0)
Locate: MENU_INIT_ITEM = 0x36DD08
Adding action ID (0x109) to actions table (action1=0x384[0x0], action2=0x5E0[0x15B])
Go to menu hooked at: 0x2F0084
Parsing strings file: locate_ppm_misc.txt
Text found already in PPM, reusing the old one
Strtab: 04056B
Successfully added 1 strings (0 new).
Locate: STR_OFF = 0x36DD74
Parsing strings file: locate_ppm_misc.txt
Text found already in PPM, reusing the old one
Strtab: 04056C
Successfully added 1 strings (0 new).
Locate: STR_ON = 0x36DD78
Configure Go to key with 'goto_menu/own_links' definition
You can also access Go to menu with 'goto_menu/goto' definition
Done!

joci2000
26-02-2006, 11:03 AM
i found an other bug.

if i press the power button after that i unlock the keylock while the unlocing animation is shown in the power button menu the navi messages will be "go to" and "menu". after a 1-2 sec it will change to normal actions. :roll:

nuukiaworld
02-03-2006, 08:04 AM
defs=getenv("def/"def_path||"*") /* Workaround for NokiX linker bug: "||" */I've fixed this bug some time ago, fixed version will be included in next version of the SDK.I am sorry, it is an outdated comment. The original problem was that eg. getenv("def/*") confused the linker. But I think that you got the point.

What about two comments on same line in _project.nrx? At least in the current beta it is poison for the linker. (And before one get to know this, it is a hell to find why the linker skips all the #link_ commands...)

nuukiaworld
04-03-2006, 12:03 PM
Hello, version 1.02 is now available (link in the beginning of this thread). 1.02 should fix the problems with incorrect actions displayed on different situations. (There were interference with add_action.rx.)

Phones support up to 76 dynamic menu items at a time (not depending on how many menus they are; each created dynamic menu takes one extra item, too). Therefore the "Add link" menu was limited to 75 items to choose your links from. However, the phone main menu tree provides much more possible link items (plus your own NokiX additions). :(

The new version solves this limitation (and makes adding links easier) by grouping the available link items into groups (matching the main menu top-level items). So now you need first to select the category (e.g. Messages) and then the actual link item (e.g. Inbox) when adding a new link. :)

Thanks for everybody's help so far. The "blank screen" problem reported by Daryl Saludares has not been explicitly fixed; I couldn't find a reason for it. Please report if any of you detect the problem with the new version.

joci2000
04-03-2006, 07:12 PM
Thanks,

Now seems to work properly ;)

i checked only on 3310 yet.

Daryl Saludares
05-03-2006, 09:01 AM
# Informations about: goto_menu.nrx

goto_menu.nrx Version 1.02
----------- Copyright (c) 2006 NuukiaWorld

Replaces the "Names" function on the second Navi key with "Go to" function
known from DCT-4 generation. The Go to menu may contain up to 9 run-time
configurable links and is fully customizable. BTW: Sorting the links is
much easier than in DCT-4 phones!

The "Go to" function allows links to all built-in and custom menu items
that are directly present in the phone main menu structure. In addition to
this, all NokiX games are included, even if they are present only in the
Games subsystem.

Quick access: If the Go to menu contains only one link, it will be
activated directly when pressing the Go to key without popping up the Go
to menu.

On phones with only one Navi(TM) key, the Go to menu is activated by
pressing 'C' when the phone is in the default standby mode. (In such
phones definition goto_menu/names is useless and will not be available.)


Definition names:

goto_menu/own_links (use to configure "Go to" function, obligatory)
goto_menu/goto (use to add "Go to" in the phone menu, optional)
goto_menu/names (use to add "Names" in the phone menu, optional)

this time the "Go to" menu for my 3310 V06.39B/ENGL language is properly working and it doesn't show anymore blank screens, the only "def" i can't include is the "goto_menu/names" since this is 3310. thanks for fixing and for sharing your excellent ideas. BTW "SIM card" sub-menu can't be accessed but the "SIM card folder" is present under "Add new link". please take a look to this excerpt from my "create_menu.nrx" and "add_ppm_strings.nrx" this i think causes a blank screen in the previous version of "goto_menu.nrx" ver 1.01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
create_menu.nrx
@menu dispmode=0xC4 action=0x3E msg=0x387
@header title="Quick keys info" action=0xD flags=0x1

# Help
@item def=hard_info bmp="Help.bmp"

# Backlight
@item title=text/backlight bmp="0.bmp" action=0x64

# Periodic table
@item title=text/periodic bmp="1.bmp" action=0x64

# Menu type
@item title=text/menu type bmp="2.bmp" action=0x64

# Plotter
@item title=text/plotter bmp="3.bmp" action=0x64

# RPN calculator
@item title=text/calculator bmp="4.bmp" action=0x64

# Switch off!
@item title=text/shutdown bmp="5.bmp" action=0x64

# Unlocker
@item title=text/unlocker bmp="6.bmp" action=0x64

# Invert LCD
@item title=text/invert_lcd bmp="7.bmp" action=0x64

# Battery status
@item title=text/battery life bmp="8.bmp" action=0x64

# Network status
@item title=text/cell status bmp="9.bmp" action=0x64

# Calendar
@item title=text/calendar bmp="risk.bmp" action=0x64

# Spy mode
@item title=text/spy mode bmp="hash.bmp" action=0x64
@end~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
add_ppm_strings.txt
#
#PPM strings for add_ppm_strings.nrx
#

@text var=text/menu/classified
ENGL:Classified

@text var=text/menu/enhanced
ENGL:Enhanced

@text var=text/net
ENGL:Net watcher

@text var=text/net2
ENGL:Signal tracer

@text var=text/dB
ENGL:Gain/dB meter

@text var=text/system
ENGL:Accessories

@text var=text/compose
ENGL:Compose

@text var=text/directory
ENGL:Directory

@text var=text/own number
ENGL:Own number

@text var=text/backlight
ENGL:Backlight

@text var=text/plotter
ENGL:Plotter

@text var=text/shutdown
ENGL:Switch off!

@text var=text/calculator
ENGL:RPN calculator

@text var=text/unlocker
ENGL:Unlocker

@text var=text/invert_lcd
ENGL:Invert colors

@text var=text/battery life
ENGL:Battery life

@text var=text/cell status
ENGL:Cell status

@text var=text/periodic
ENGL:Periodic table

@text var=text/menu type
ENGL:Menu type

@text var=text/calendar
ENGL:Calendar

@text var=text/spy mode
ENGL:Spy mode

@text var=text/message_guard
ENGL:Folder security

@text var=text/si33
ENGL:SI33 suite

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blank screen was resolved by the latest version of goto_menu.nrx, ver 1.02

nuukiaworld
05-03-2006, 11:34 AM
@Daryl Saludares
goto_menu/names is available on 2-Navi phones only, there is a note in the script help about that. (Ok, it is almost unnoticeable...)

As far as I guess, the SIM card menu itself should be available as a link. However, you cannot make any links deeper into the SIM card menu because it is a dynamic application (not a part of the static main menu structure). – I am using a 6110 which does not support the SIM toolkit, so I don't even know what text the "Add link" menu shows for the SIM card menu item... :roll:

nuukiaworld
22-01-2007, 06:54 AM
1.03 is a minor update, which changes the apperance of Names menu (available on 2-Navi phones only).

Now the Names menu accessible through goto_menu/names shows menu counter and allows backward navigation. (Earlier, when you included the Names menu in the main menu, you could not go back from the Names menu to the previous menu.)

This achieved by making a copy of the Names menu and changing the actions of each item. This is done with REXX. On 1-Navi phones, this is naturally skipped.

szab
23-01-2007, 08:58 PM
1.03 is a minor update, which changes the apperance of Names menu (available on 2-Navi phones only).

Now the Names menu accessible through goto_menu/names shows menu counter and allows backward navigation. (Earlier, when you included the Names menu in the main menu, you could not go back from the Names menu to the previous menu.)

This achieved by making a copy of the Names menu and changing the actions of each item. This is done with REXX. On 1-Navi phones, this is naturally skipped.

bad news for you:
i couldn compile it for 5210v5.40 :( (got fubu from http://www.gsm-heaven.dl.am/)

good news for you:
the prev. (v1.2) version of goto_menu works fine with above flash...
working?! ;) i could apply it successfully but i am unavailable to flash it into phone... because i have no phone ;)


i attached the verbose level 2 log, i hope it helps you

druidbartek
23-01-2007, 10:39 PM
@nuukiaworld
better pattern to create copy of names menu for 5210/8250

5210:

patt=x2c(480078002802d100f700ff004c00e000f000f800480021004a00f700fc00f700fc00490020007008)
mask=x2c(ff00ffffffffff00f800f800ff00ff00f800f800ff00ffffff00f800f800f800f800ff00ffffffff)

8250:

patt=x2c(480078002802d100f700f7004c00e000480078002801d000f700f70048002100)
mask=x2c(ff00ffffffffff00f000f000ff00ff00ff00ffffffffff00f000f000ff00ffff)

lempacks
24-01-2007, 04:40 AM
... i could apply it successfully but i am unavailable to flash it into phone... because i have no phone ;)


LOL!!! :razz:

szab
25-01-2007, 06:24 AM
goto_menu v1.3 patched with druidbartek's 5210 stuff:

# Processing: goto_menu.nrx
Inserting application...
Phone with 2 Navi keys detected, using 'Names' key.
Configure Go to key with 'goto_menu/own_links' definition
You can optionally access Go to menu with 'goto_menu/goto' definition
# ERROR: GETLDR: No LDR at address 0x2F9908!
# 371 +++ getldr a
# Error 4 running "D:\download\n5210\scripts\NokiX\scripts\goto_menu.nrx", line 371: Program interrupted

# ERROR: Script failure!


original goto_menu v1.3:

# Processing: goto_menu.nrx
Inserting application...
Phone with 2 Navi keys detected, using 'Names' key.
Configure Go to key with 'goto_menu/own_links' definition
You can optionally access Go to menu with 'goto_menu/goto' definition
# ERROR: GETLDR: Address out of range (0x1C)!
# 373 +++ getldr a
# Error 4 running "D:\download\n5210\scripts\NokiX\scripts\goto_menu.nrx", line 373: Program interrupted

# ERROR: Script failure!

or should i change the 'a' value too?


...
patt=x2c(486c78002802d130f7f0fa364c6ae049486478002801d007f035fe54486221004a66f7f0ff73e7f1)
mask=x2c(ff00fffffffffffff800f800ff00ffffff00fffffffffffff800f800ff00ffffff00f800f800ffff)
/* override with 5210 */
patt=x2c(480078002802d100f700ff004c00e000f000f800480021004a00f700fc00f700fc00490020007008)
mask=x2c(ff00ffffffffff00f800f800ff00ff00f800f800ff00ffffff00f800f800f800f800ff00ffffffff)
find x2d(200000) "patt" "mask"; a=rc+28
getldr a; getlong rc; menu_names=rc;
...


any idea?

nuukiaworld
25-01-2007, 07:51 AM
I changed completely the pattern and locating method for the "LDR <names_menu>" so that it should be as widely compatible as possible. Please try the version 1.04 available now. Sorry for the inconvenience.

I tested it with 6110, 8210, 5210, and 8250 flashes, and they patched ok and found the correct Names menu address (I guess).

nuukiaworld
31-12-2007, 06:26 PM
In the previous versions it has not been possible to go back to the Go to menu after opening any application (or any menu item that spawned a dispatcher). In other words, usually Back button returned the phone to the standby screen when it was time to reopen the Go to menu.

Version 1.05 fixes this behavior; returning back to the Go to menu with Back button is now possible in all cases. Go to menu uses now dynamic menu id "255" , which is (I hope) not used by any other menu in the phone. This allows returning to the Go to menu because the applications opened have not used the same dynamic menu (and destroyed the menu contents).

I do not know any safe method to allocate dynamic menu IDs. 255 is just an arbitrary number which I hope not to conflict with the other applications. NokiX documentation recommends using IDs 1, 2, 3,... but does not suggest any way to allocate them to different applications. The built-in code seem to use specific dynamic menu ids for each dynamic menu; i.e. Nokia developers had some kind of allocation for them.

I also fixed the problem of menu display staying on the top of the standby screen when hangup was pressed immediately after selecting a game in the Go to menu using shortcut.

nuukiaworld
01-02-2008, 09:30 PM
Version 1.05 released at the very end of the last year had a small "feature": if you entered the SMS folder through the Go To menu and then selected Use number and picked a number, the phone returned to the Go To menu, not directly back to the standby mode.

(Instead, after selecting Use number, the phone should return directly to the standby mode with the picked number in the dial number buffer.)

This now fixed in 1.06, which checks for QNS_OK before redisplaying the Go To menu. This way the phone returns directly to the standby mode if and only if needed.

druidbartek
26-06-2010, 10:09 AM
I do not know any safe method to allocate dynamic menu IDs. 255 is just an arbitrary number which I hope not to conflict with the other applications. NokiX documentation recommends using IDs 1, 2, 3,... but does not suggest any way to allocate them to different applications. The built-in code seem to use specific dynamic menu ids for each dynamic menu; i.e. Nokia developers had some kind of allocation for them..

You're right - there is no clean way to do that. Most probably Nokia developers used enumeration. Simply script which scans all references to menu_create/delete/add_item as a result gave me back following results, menu ids grater then 0x61 seems to be free on all models

MAX MENU ID:
0x1B - 5130
0x1C - 5110, 6090, 6110, 6130
0x1F - 8810
0x21 - 5190
0x22 - 3210
0x23 - 6150
0x29 - 8210, 8850
0x2A - 8890
0x2C - 8250
0x2E - 8290
0x30 - 3310, 3390
0x31 - 3330
0x35 - 8855
0x37 - 5510
0x38 - 3350
0x3A - 5210
0x3C - 3610
0x5D - 3410
0x61 - 2100

yes, I know, quite outdated that information is but maybe someone will find it still useful :)

nuukiaworld
07-10-2010, 07:06 PM
I had made an amateur mistake in this script: exceeding the global_buffer 40-byte limit. On my NSE-3 I was wondering why the phone book does not start browsing from the beginning of A after visiting the Go to menu. That was because of writing some data in a few bytes after the global_buffer, messing up e.g. the buffer used to store name to search in phone book (and store number if dialed number is stored in the standby screen).

Version 1.08 fixes this issue by using some dynamic memory. (I may have reserved the required extra scape also from the stack, it is so small need, but I did it with malloc() for some unknown reason...) :-?