MapSource crash with DEM: Maybe tdb file needs changes?

Hi, Ive discussed with Frank if there might be a field in the tdb file that has to be changed. Maybe there is a value that tells MapSource something about the alignment of DEM data? I don't have a single original Garmin tdb file :-( It seems that mkgmap writes some constants that might be important, e.g. MapDetailBlock.java contains //01 c3 00 ff os.write4(0xff00c301); os.write(0); os.write(0); os.write(0); The wiki [1] describes these 7 bytes as "byte:0 has copyright text,byte 1: has 0x53 text : byte 2:if 1 then bytes 3_7: an unknown total (density) " The display tool seems to expect something similar to the wiki: d.rawValue(2, "01 01"); d.byteValue("intro flag"); d.intValue("intro %d"); Any idea what this "intro" or "unknown total(density) could be ? And what is the 0x53 text? [1]https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/TDB_File_Format Gerd

Hi Gerd Have been checking a few garmin tdbs and it appears that while the first 3 bytes remain the same for each, ie 01 00 00, the last four bytes are always different and never zero ! also ,except with mkgmap tiles, I have not come across C3 in the second byte ie a 01 *c3 *00 Nick On 05/02/2018 08:36, Gerd Petermann wrote:
Hi,
Ive discussed with Frank if there might be a field in the tdb file that has to be changed. Maybe there is a value that tells MapSource something about the alignment of DEM data?
I don't have a single original Garmin tdb file :-(
It seems that mkgmap writes some constants that might be important, e.g. MapDetailBlock.java contains //01 c3 00 ff os.write4(0xff00c301); os.write(0); os.write(0); os.write(0);
The wiki [1] describes these 7 bytes as "byte:0 has copyright text,byte 1: has 0x53 text : byte 2:if 1 then bytes 3_7: an unknown total (density)"
The display tool seems to expect something similar to the wiki: d.rawValue(2, "01 01"); d.byteValue("intro flag"); d.intValue("intro %d");
Any idea what this "intro" or "unknown total(density) could be ? And what is the 0x53 text?
[1]https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/TDB_File_Format
Gerd _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Hi Gerd,
The wiki [1] describes these 7 bytes as "byte:0 has copyright text,byte 1: has 0x53 text : byte 2:if 1 then bytes 3_7: an unknown total (density) "
For gmaptool I have assumed following meaning of these data: byte 0 - always 1 byte 1 - region (always 1) byte 2 - subregion (always 0) bytes 3-6 - always 0 1 0 0 Region and subregion are extension to family ID and product ID and are used for coding unlock keys. I have replaced original TDB by a TDB created by gmaptool and map still crashes, so I assume these values aren't important. Gerd, don't you have access to tdb from Adria Topo? There is Hungary TopoGuide available too: http://www.garmin.hu/topoguide-magyarorszag-v212c -- Best regards, Andrzej

Hi
It seems that mkgmap writes some constants that might be important, e.g. MapDetailBlock.java contains //01 c3 00 ff os.write4(0xff00c301); os.write(0); os.write(0); os.write(0);
I've just looked at this. No idea where any of those came from :) I think those 7 bytes should be: 1 byte: unknown to me 1 byte: Maybe index into block 'S' (0x53) 1 byte: index into block 'R' (0x52) or zero if no block 'R' 4 bytes: a size that is generally related to the size of the file. cgpsmapper and gmaptool set this size to 256 (and previously to 255) Block R has the following structure: 1 byte: index number, starting from 1 n bytes: zero terminated string There is probably only ever one of these. Eg "Europe guide v1" Gmaptool appears to create one of these with the name "All". Block S has the following structure: 1 byte: number, probably index into block R 1 byte: number index in this block, starting from 1 n bytes: zero terminated string name eg: 1,1 "Region 1 - Aus/Switz/N.Italy" 1,2 "Region 2 - France" 1,3 "Region 3 - Germany/Czech Republic" ... Unfortunately I think they have nothing to do with DEM as maps without DEM have these. There are lots of unknown entries in the TDB header, there could be something there. ..Steve

Hi all, thanks for the input. I still have no idea what this size value might be but I agree that it doesn't seem to have an influence on the crash. I also tried changing several other of the unknown fields and found no change. I also tried to change the tdb to version 411, no change reg. crash. I do now try to reproduce the problem with tiles that have the same coordinates as those in the Garmin map. Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Steve Ratcliffe <steve@parabola.me.uk> Gesendet: Montag, 5. Februar 2018 12:48 An: mkgmap-dev@lists.mkgmap.org.uk Betreff: Re: [mkgmap-dev] MapSource crash with DEM: Maybe tdb file needs changes? Hi
It seems that mkgmap writes some constants that might be important, e.g. MapDetailBlock.java contains //01 c3 00 ff os.write4(0xff00c301); os.write(0); os.write(0); os.write(0);
I've just looked at this. No idea where any of those came from :) I think those 7 bytes should be: 1 byte: unknown to me 1 byte: Maybe index into block 'S' (0x53) 1 byte: index into block 'R' (0x52) or zero if no block 'R' 4 bytes: a size that is generally related to the size of the file. cgpsmapper and gmaptool set this size to 256 (and previously to 255) Block R has the following structure: 1 byte: index number, starting from 1 n bytes: zero terminated string There is probably only ever one of these. Eg "Europe guide v1" Gmaptool appears to create one of these with the name "All". Block S has the following structure: 1 byte: number, probably index into block R 1 byte: number index in this block, starting from 1 n bytes: zero terminated string name eg: 1,1 "Region 1 - Aus/Switz/N.Italy" 1,2 "Region 2 - France" 1,3 "Region 3 - Germany/Czech Republic" ... Unfortunately I think they have nothing to do with DEM as maps without DEM have these. There are lots of unknown entries in the TDB header, there could be something there. ..Steve _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
participants (5)
-
Andrzej Popowski
-
Gerd Petermann
-
Gerd Petermann
-
osm@pinns
-
Steve Ratcliffe