|
![]() |
|
Welcome to the GSM-Forum forums. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
| |||||||
| Register | FAQ | Donate | Forum Rules | ★. iPhone Unlock .★ | -= JTAG BOOM =- | Search | Today's Posts | Mark Forums Read |
| GPS devices , Navigators & Maps Find here all threads related to Global Positioning Systems (GPS), Navigators, GPS receivers, Settings, Maps and GPS modes.. etc |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #3257 (permalink) |
| No Life Poster ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2009
Posts: 2,572
Member: 973199 Status: Offline Thanks: 204
Thanked 1,597 Times in 778 Posts
| It's not only for start/ease devices. There are other devices, like special ONEs, which would need it. Now, I have only one problem: my hackintosh got upgraded to a version which causes unreadable dsa graphics, so the future MAC version might look odd. And, I hate having to rewrite it, since I almost forgot how it was done... especially the help/history/credits part ![]() All interested, please confirm that rickgtx' patch works (for Start/Ease devices), and it will be integrated ASAP. |
|
| | #3258 (permalink) |
| No Life Poster ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2009
Posts: 2,572
Member: 973199 Status: Offline Thanks: 204
Thanked 1,597 Times in 778 Posts
| @rickgtx: Just by curiosity, since I don't know ARM assembly, (and by impatience!) what does the modified instruction, does it skip the code which would otherwise update the sound mode location? I can guess that tt would update the location if not prevented from doing so. |
|
| | #3259 (permalink) |
| Junior Member ![]() ![]() Join Date: Apr 2011
Posts: 35
Member: 1566995 Status: Offline Thanks: 2
Thanked 8 Times in 6 Posts
| Mireille changed STR R0, [R9] to CMP R0, #5 ---- basically a NOP by repeating the instruction above. I think R0 has the current model ID here 7D AB FE EB BL ._ZN9CPDDevice8InstanceEv 00 30 90 E5 LDR R3, [R0] 0F E0 A0 E1 MOV LR, PC 44 F0 93 E5 LDR PC, [R3,#0x44] 68 93 9F E5 LDR R9, =StartID ; Location of SoundID 05 00 50 E3 CMP R0, #5 05 00 50 E3 CMP R0, #5 ; was STR R0, [R9] - 00 00 89 E5 60 23 9F E5 LDR R2, =unk_7CB414 60 73 9F E5 LDR R7, =unk_7CB3D0 60 83 9F E5 LDR R8, =unk_7DD8FC 09 00 00 1A BNE loc_67768 |
|
| The Following 2 Users Say Thank You to rickgtx For This Useful Post: |
| | #3260 (permalink) |
| No Life Poster ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2009
Posts: 2,572
Member: 973199 Status: Offline Thanks: 204
Thanked 1,597 Times in 778 Posts
| OK, since all NCs have sound in the Self mode, I am going to provide the "un-self-ish" PNDNavigator, with some extension to its name, say PNDNavigator.unself which, before the first run, will be patched and copied as PNDNavigator, operation which will happen only once. The patching will set the Self sound mode and will be performed on device (not on PC) because only the device "knows" the Self mode ( the PC app doesn't). If file PNDNavigator exists already, the in situ patching will be skipped, so user defined PNDNavigator files could be used (even the un-self-ish one). There will be no change in the dsa GUI after all. |
|
| | #3261 (permalink) |
| No Life Poster ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2009
Posts: 2,572
Member: 973199 Status: Offline Thanks: 204
Thanked 1,597 Times in 778 Posts
| I see, the old x86 nop technique... Thanks. I would have made the change a long time ago, but DM proved uncooperative, so to say. For a while I had even hoped that tt reads twice the modelid, once for skin and once for sound (actually it reads many a time the modelid), which was not true (and unjustified) unfortunately. Then I could have given different values, each time, via my dsa.ko kernel module. I grew tired of this line of "research" anyway. Let's do it now, better late than never. |
|
| | #3264 (permalink) |
| Junior Member ![]() ![]() Join Date: Apr 2011
Posts: 35
Member: 1566995 Status: Offline Thanks: 2
Thanked 8 Times in 6 Posts
| @dsa8310 Just BTW In the last update, the help button stopped launching the web pages in dsa.app\Contents\Resources\Java\help Might be my install problem, I had uninstall twice to get the new one to install. |
|
| | #3265 (permalink) |
| No Life Poster ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2009
Posts: 2,572
Member: 973199 Status: Offline Thanks: 204
Thanked 1,597 Times in 778 Posts
| I do not understand the ARM instructions. I am no longer sure about the "instruction" position. Isn't it related to the "location" ? At least the "location" can be detected with certainty. After all, a good v9.405 PNDNavigator-<modelid> set would suffice... --- The help is launched if there is a default browser as understood by Java. |
|
| | #3266 (permalink) |
| No Life Poster ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2009
Posts: 2,572
Member: 973199 Status: Offline Thanks: 204
Thanked 1,597 Times in 778 Posts
| I think that the solution is a set of v9.405 PNDNavigator-<modelid> files, where beside 39, the special One modelid(s) are to be considered. (there is a common "nop instruction" rule for v9.4xx NCs, but not for all NCs, so there won't be another dsa yet) |
|
| | #3267 (permalink) |
| Freak Poster ![]() ![]() ![]() ![]() Join Date: Mar 2011
Posts: 465
Member: 1528218 Status: Offline Thanks: 36
Thanked 86 Times in 64 Posts
| AFAIK not all Navcores are affected by this mute problem, and don't know enough that stuff to say what a "common nop instruction is" but I guess TT included it to prevent us from using them in the old way. I mean all this rubbish started with the Navcore for the new Start models so maybe here is the culprit. DM was only interested in fixing the problem for his device and was never seen after that ![]() Patched files for the 9.405 are a good start, but what if we get another Navcore as an update? I don't really care about the version numbers but most noobs simply want the latest NC available. I have no affected devices to test on, otherwise I would volunteer for testing. |
|
| | #3268 (permalink) | |
| Junior Member ![]() ![]() Join Date: Apr 2011
Posts: 35
Member: 1566995 Status: Offline Thanks: 2
Thanked 8 Times in 6 Posts
| Quote:
Anyway once the sound ID location is found it is easy to find where it is set with the disassember. There only 20 places the reference it. As oppose to the 3500 times BL ..DeviceInstance.. is called. Last edited by rickgtx; 03-28-2012 at 07:08. | |
|
| | #3269 (permalink) |
| Junior Member ![]() ![]() Join Date: Apr 2011
Posts: 35
Member: 1566995 Status: Offline Thanks: 2
Thanked 8 Times in 6 Posts
| Does not look like you can check offset. The 0x9368 must be a pointer. But the byte pattern is basically the same. The last 7 lines are exactly the same. A 0x44 got changed to 0x48 in 9.405 on line 4 NC 9.201 05F390 42 AC FE EB BL ._ZN9CPDDevice8InstanceEv ; CPDDevice::Instance(void) 05F394 00 30 90 E5 LDR R3, [R0] 05F398 0F E0 A0 E1 MOV LR, PC 05F39C 44 F0 93 E5 LDR PC, [R3,#0x44] 05F3A0 68 93 9F E5 LDR R9, =SoundID 05F3A4 05 00 50 E3 CMP R0, #5 05F3A8 05 00 50 E3 CMP R0, #5 ; was STR R0, [R9] - 00 00 89 E5 05F3AC 60 23 9F E5 LDR R2, =unk_7BE374 05F3B0 60 73 9F E5 LDR R7, =unk_7BE330 05F3B4 60 83 9F E5 LDR R8, =unk_7D0840 05F3B8 09 00 00 1A BNE loc_673E4 7AE078 27 00 00 00 SoundID 0x00000027 ; 74ECD8 bytes offset ------------------------------ NC 9.205 05F714 7D AB FE EB BL ._ZN9CPDDevice8InstanceEv ; CPDDevice::Instance(void) 05F718 00 30 90 E5 LDR R3, [R0] 05F71C 0F E0 A0 E1 MOV LR, PC 05F720 44 F0 93 E5 LDR PC, [R3,#0x44] 05F724 68 93 9F E5 LDR R9, =SoundID 05F728 05 00 50 E3 CMP R0, #5 05F72C 05 00 50 E3 CMP R0, #5 ; was STR R0, [R9] - 00 00 89 E5 05F730 60 23 9F E5 LDR R2, =unk_7CB414 05F734 60 73 9F E5 LDR R7, =unk_7CB3D0 05F738 60 83 9F E5 LDR R8, =unk_7DD8FC 05F73C 09 00 00 1A BNE loc_67768 7BB118 27 00 00 00 SoundID 0x00000027 ; 75B9F4 bytes offeset ------------------------------ NC 9.405 05F374 7F AC FE EB BL ._ZN9CPDDevice8InstanceEv ; CPDDevice::Instance(void) 05F378 00 30 90 E5 LDR R3, [R0] 05F37C 0F E0 A0 E1 MOV LR, PC 05F380 48 F0 93 E5 LDR PC, [R3,#0x48] ; Note 0x48 instead of 0x44 05F384 68 93 9F E5 LDR R9, =SoundID 05F388 05 00 50 E3 CMP R0, #5 05F38C 00 00 89 E5 CMP R0, #5 ; was STR R0, [R9] - 00 00 89 E5 05F390 60 23 9F E5 LDR R2, =unk_7B8F7C 05F394 60 73 9F E5 LDR R7, =unk_7B8F38 05F398 60 83 9F E5 LDR R8, =unk_7CB960 05F39C 09 00 00 1A BNE loc_673C8 7A8C80 27 00 00 00 SoundID 0x00000027 ; 749878 bytes offset Last edited by rickgtx; 03-28-2012 at 08:32. |
|
| | #3270 (permalink) |
| No Life Poster ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Feb 2009
Posts: 2,572
Member: 973199 Status: Offline Thanks: 204
Thanked 1,597 Times in 778 Posts
| Taking the last 7 instructions as a pattern, the oldest v9 NC that checks out is v9.051; earlier NCs don't. 1) Does the rest matter? 2) Could you please look into the earlier v9 and newer v8 NCs? I would be able to consider another few ranges with their corresponding patterns (e.g. truck v8 NCs, maybe they matter too?). |
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| thread | Thread Starter | Forum | Replies | Last Post |
| TomTom v8 Firmware and Maps | BuMobiles | GPS devices , Navigators & Maps | 5948 | 03-31-2013 10:47 |
| TomTom v7 Firmware and Maps | BuMobiles | GPS devices , Navigators & Maps | 3479 | 03-05-2013 21:55 |
| how to install tomtom V6 software and maps on NAVMAN F20 | sniper007 | GPS devices , Navigators & Maps | 4 | 11-06-2012 17:58 |
| TomTom v6-7 and Route 66 v6 Firmware and Maps | BuMobiles | GPS devices , Navigators & Maps | 4687 | 05-25-2012 15:52 |