| Author |
Topic  |
|
turboccc
Canada
782 Posts |
Posted - 05 sept. 2010 : 16:14:37
|
Hi to the gurus out there [ed]
I've got a request from someone to convert the Japanese 765 GCD file to RGN. I have programs that normally do that, but the JP firmware seems to be divided in 3 sections (boot, bitmaps, fw) rather than 2 sections (boot + fw).
I know the proper headers for a 2 sections GCD file, but not for a 3 sections. Here's how I define the sections:
Section 1: boot, identified with sectors marked with bytes 08 and 00. Around 340kB
Section 2: bitmaps, identified with bytes 16 and 05 (those are the identifiers for the firmware in a normal 2-section GCD). Around 240 kB.
Section 3: firmware, identified with bytes 189 and 02. Around 7MB.
When merging to RGN, each section has a header. Thanks to Neadrenalin I know the headers, but only for a 2-section GCD. Can you give me those for section 2 & 3? Or tell me if I should simply merge sections 2 & 3 together to form a firmware section?
Alternatively, you could simply send me a 3-section GCD file with an equivalent RGN and I'll take care of the rest. I can manage to find what I need.
I appreciate your help.
Thanks,[ed]
continued : I forgot. From the 765 TWN thread, I know the RGN firmware has been modified in some way to work with the 765 US version. Do you think it would be releveant here too with the JP version? |
|
|
Ads
|
|
|
kunix
Belarus
187 Posts |
Posted - 05 sept. 2010 : 22:52:37
|
Hi turboccc. I'm not absolutely sure, but I think, it's possible to flash region number X through GCD's section number 0x0500+X. Today I've succeeded at flashing main firmware (region 0x0E) via GCD's section 0x050E. On by observations bitmaps are located in GCD's section number 0x057F. So what you should do is add one more region numbered 0x7F into your RGN file.
BUT! I didn't have time to check flashing bitmaps through RGN. So I don't promise that this action won't make your nuvi unusable. In one or two days I will make a try and tell you the result. |
Edited by - kunix on 05 sept. 2010 23:04:50 |
 |
|
|
turboccc
Canada
782 Posts |
Posted - 06 sept. 2010 : 03:18:43
|
| Thanks man. Any tip is welcomed. I would hate to brick someone's gps. |
 |
|
|
PouchX
Poland
272 Posts |
Posted - 06 sept. 2010 : 07:28:22
|
TIP: First of all. Use EU/USA boot (from any EU/USA GCD) Merge it with JP fw (with changed HID) Using original boot wont brick your unit even if JP firmware will not work.
|
Edited by - PouchX on 06 sept. 2010 07:30:48 |
 |
|
|
kunix
Belarus
187 Posts |
Posted - 06 sept. 2010 : 10:19:56
|
Today I confirm that GCD section numbered 0x0510 correctly flashes through RGN region numbered 0x10. I've tried RGN's made from boot.bin and section0x0510.bin, without main firmware (this trick requires changing region number in section0x0510.bin's header in RGN). And everything was OK.
Sorry, turboccc, i didn't read your post carefully. That's why I was talking about GCD section 0x057F. It contains bitmaps, also, but they are different from ones in section 0x0510. So, turboccc, now you have info you've requested. And also, you don't need to flash 0x0510 section, unless you play with firmwares for different contries. |
Edited by - kunix on 06 sept. 2010 10:55:30 |
 |
|
|
turboccc
Canada
782 Posts |
Posted - 06 sept. 2010 : 15:09:23
|
PouchX: you are a life saver! This is a very good tip indeed. Better not to work than to brick GPS.
kunix: Thank you for your input. I will make the necessary adjustments.
Hopefully, all will be fine for the user that requested this. :)
Edit: I need to find where to put HID. I'm not an expert at this stuff, but I'll try to compare other modified bin. If you can post this info, you'll make my life simpler. Thx. |
Edited by - turboccc on 06 sept. 2010 15:21:42 |
 |
|
|
kunix
Belarus
187 Posts |
Posted - 06 sept. 2010 : 15:42:26
|
As I understand HID is Hardware ID - it's equal to the first four digits in correct RGN name. If so, then it's located in four bytes before unicode string L"2010\0Software Version" (you are programming on C, right?). Usually there is only one such string. In that four bytes first two are Hardware ID and second two are Software Version. |
 |
|
|
kunix
Belarus
187 Posts |
Posted - 07 sept. 2010 : 23:22:35
|
I have to say that I was unable to flash more that one region at a time using rgn file. My nuvi reboots right after flashing first region. And looking at USB trace makes me sure that this behaviour does not depend on rgn file format. I think it's hardcoded in ramloader (region number 12, coming first in rgn file).
So you need two rgn files to flash two regions. |
 |
|
|
turboccc
Canada
782 Posts |
Posted - 08 sept. 2010 : 05:11:02
|
Thanks. Found HID where specified. Easy to replace.
Note: "Software Version" is unicode in some firmware (like US & TWN), but regular string in others (like zumo 550 JP).
I shall attempt to build the new JP RGN file as soon as I get some free time. |
 |
|
|
THung
Taiwan
115 Posts |
Posted - 08 sept. 2010 : 06:13:57
|
Sorry for OT, but which tools do you guys use? And most important, where to get them? The only source which I found so far was at Smart-Mobile, but I have no right to download anything |
 |
|
|
kunix
Belarus
187 Posts |
Posted - 08 sept. 2010 : 19:22:13
|
THung I'm using slightly modified Neadrenalin's tools. I've downloaded most of them from his site.
turboccc Today I tried flashing two regions at a time on Nuvi with RGN file. And everything was ok. And previously I was unsuccessful with it on Nuvi 205. |
Edited by - kunix on 08 sept. 2010 19:24:33 |
 |
|
|
turboccc
Canada
782 Posts |
Posted - 08 sept. 2010 : 23:54:51
|
kunix,
What have you changed to make it work? |
 |
|
|
kunix
Belarus
187 Posts |
Posted - 09 sept. 2010 : 07:26:48
|
| I've changed nothing. Exactly same tool. Same command line. It's just because Nuvi 3760's ramloader will flash regions until it flashes region 0x0E (firmware), then reboot. Nuvi 205's ramloader will flash just first region it receives and then reboot. |
 |
|
|
PouchX
Poland
272 Posts |
Posted - 09 sept. 2010 : 22:35:21
|
| Anyone tryied to flash 0x0D region? |
 |
|
|
kunix
Belarus
187 Posts |
Posted - 10 sept. 2010 : 08:25:21
|
As I remember this region contains non-volatile memory. So flashing it with something that's not a dumped region 0x0D from another well-working unit of same model is dangerous (maybe broken NV will be crashing bootloder). That's why I didn't try flashing it :)
Bootloader have to get Unit ID somewhere. And NV contains Unit ID in every block header. It's quite possible that bootloader needs to read NV. |
Edited by - kunix on 10 sept. 2010 08:33:07 |
 |
|
|
little_frog
Thailand
26 Posts |
Posted - 10 sept. 2010 : 10:50:52
|
Proper way to find HWID and SW version (by little_frog smart-mobile.com) Absolute address = Relative address + Program offset Program offset = Absolute address - Relative address Program offset = 0xBD7FCE – 0xB77FCE Program offset = 0x60000
Relative address = Absolute address - Program offset HWID = 0x6EBF28 – 0x60000 = 0x68BF28 SW version = 0x6EBF2A – 0x60000 = 0x68BF2A
This method can be applied to all devices (Nuvi , Oregon, Colrado, etc) old and new model.
boot.bin FW_all.bin are the same.

|
Edited by - little_frog on 10 sept. 2010 13:55:20 |
 |
|
Topic  |
|