PDF file with some try-outs
Hopefully someone knows how the partnumber is coded to read or edit the string in Garmin DSKIMG files.
I can’t find any information on how to read or edit the partnumber part in a DSKIMG file. It is present in original files like:
- gmaptz.img
- gmapprom/gmapsupp.img
- gmapbmap.img
- gmap3d.img
Where to find information:
- You can read it in your nuvi inventory [hold battery ,next until Version Information, start test, More]
- It appears in GarminDevice.xml and other logfiles that are send to Garmin with webupdater/mapupdater program [firmware/lifetime updates].
- GMaptool does not handle it [re-assembled files get hex 00 values]
- MapSource does not handle it [mapsource images all get the same partnumber]
GarminMapUpdater.exe does handle it properly and gets it from the file:
%temp%\ IMG\006-Dxxxx-xx\manifest.xml
GarminMapUpdater.exe holds GpsImgWrapper.dll, I guess that this is where the secret things happen ???Code:Please Login or Register to see the links
All different coverage/regions from the map have a different partnumber making it a usefull tool to identify original maps. Additional files [DB, SID, ASR, G2S, JCV, etc.] for the mapupdate have all normal readable partnumbers in the header or even have the partnumber in the filename.
I used a gmaptz.img and rename it to gmapsupp.img on a SD-card for testing in the nuvi inventory page.
-only the first 64 printable ASCII chars are displayed [#20 -> #5F = space -> underscore = capitals, numbers, etc.]
[Only registered and activated users can see links. ]
-invalid partnumber are displayed as ?????-??
-The last 2 numbers of the partnumber are the part revision, incremented with every mapupdate. But on some files like gmaptz the version number is updated and not the part revision number.
-The partnumber string is located just before the date/time
[Only registered and activated users can see links. ]
- it is a string of 8 char coded in 9 bytes
- D032318AG013 is displayed as D0323-18, the "-" is part of the string and is the "AG013" also coded somewhere in the string or left out?
- the full partnumber is 006-D0323-18, but the "006-" prefix is left out.
- a "little endian conversion" makes some sense, when you compare two img files like 2012.40 and 2012.30
- if you hex-edit a byte +1, the displayed char leaps 4 places in the ASCII Code Chart
- the start of the string is not always on the same place
Last edited by qwik; 19th March 2012 at 12:05 PM. Reason: added info
PDF file with some try-outs
Hopefully someone knows how the partnumber is coded to read or edit the string in Garmin DSKIMG files.
Last edited by qwik; 28th March 2012 at 09:02 PM. Reason: solved puzzle
Solved the puzzle, it was fun
partnumber in DSKIMG header
start 30h
length 9 bytes
-reverse byte order [little endian conversion]Code:Please Login or Register to see the links
-nibble together 12 bits
example: GH + upper 4bits from EF = GHE
-split into 2 bytes, using upper and lower 6bit
example: 410h = 10h and 10h
-add 20h [jump 32 places in the ascii table]
-convert byte to char [20h - 5Fh, the first 64 printable chars]
-string = 12 char
-2 types of strings
"006/010" type, displays last 8 char of string
"D" type without "-" in string, displays first 7 char of string [need to test more to define format]
See test+PDF-DISKIMG.rar for testing your software
Maybe this is added to GMapTool or some other tool.
Last edited by qwik; 28th March 2012 at 09:55 PM.
Small Microsoft Excel file for convert Part Number from HEX to ANSI or vice versa.
[hide][Only registered and activated users can see links. ][/hide]
SORRY! Now this file only for Russian locales due to peculiarities of my remote access! Usually Microsoft makes compliance to any locale but I am not sure for other devices than mine. If you need the file for the English locales for Excel you must ask me!
All thanks to the author: qwik
Last edited by Giomen; 12th August 2012 at 02:29 AM.
Garmin, how much is 30 pieces of silver for Judas today? Were they worthy for crucifix of GPSPower?
Works fine Giomen !
I loaded the file in my (Dutch) Excel and some formulas automatically were translated, the other one's I did by myself with the help of translate.google (mostly HexX.N.Bin, Hex.N.Dec and so on)
Bookmarks