logo separator

[mkgmap-dev] [mkgmap-svn] Commit r572: MDR16 is some kind of codebook.

From Gerd Petermann gpetermann_muenchen at hotmail.com on Tue Dec 14 09:29:16 GMT 2021

Hi Ticker,

I looked at those offsets into MDR 15 which start a short string, means, next offset is only 2 bytes further.
It seems the bits in MDR15 are read from left to right, always starting at a given offset, so the BitReader class isn't useful.
I think I've identified a few codes, but don't take them for granted:
0111 -> '\0' (quite obvious since we know that the uncompressed MDR15 starts with a 0x00 and the compressed one starts with 0x70)
111 -> 'A'
1101 -> 'R'
1100 -> 'K'
01000 -> 'T'
00001010 -> '0'
00000100 -> '6'

I can continue to identify more codes. A result could be a hard coded Huffman tree in MdrDisplay,
which should then be able to decode all strings in Mdr15 for the given mdr file.
Once that works I would try to understand how the data in MDR16 encodes the tree.
Maybe you have another idea?

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
Gesendet: Montag, 13. Dezember 2021 16:12
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] [mkgmap-svn] Commit r572: MDR16 is some       kind    of      codebook.

Hi Gerd

Both flags are correct - actually I should have realised this earlier
as having some content makes no difference to the reading of the
sequence of Mdr headers - sorry for wasting your time.

Ticker


On Mon, 2021-12-13 at 14:56 +0000, Gerd Petermann wrote:
> Hi Ticker,
>
> maybe you need this?
> --Analyse sections that are known--
> MDR 17          00000000 len=0      next=00000000
>  implied size=0           (0x0)
> MDR 18          00000000 len=0      next=00000000
>  implied size=0           (0x0)
> MDR 19          00000000 len=0      next=00000000
>  implied size=694         (0x2b6)
> MDR 16          000002b6 len=d4     next=0000038a
>  fixed record size 212
>  number of records 1,00
>  implied size=1697585     (0x19e731)  +++MISMATCH
>  size multiplier 8007,48 8007
> MDR 1           0019e9e7 len=138    next=0019eb1f
>  fixed record size 12
>  number of records 26,00
>  implied size=312         (0x138)
>
> Gerd
>
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> Gesendet: Montag, 13. Dezember 2021 15:50
> An: Development list for mkgmap
> Betreff: Re: [mkgmap-dev] [mkgmap-svn] Commit r572: MDR16 is some
> kind  of      codebook.
>
> Hi Gerd
>
> It has the record size (even though pointless). Probably has
> magic/header flags but can't tell absolutely because the next mdr
> could
> start with an offset of 00 00 00 00 if empty.
>
> Ticker
>
> On Mon, 2021-12-13 at 13:51 +0000, Gerd Petermann wrote:
> > Hi Ticker,
> >
> > not sure what you mean. Here is the output from MdrDisplay:
> > 000000df | 3f 23 51 00             | MDR 15 at offset 0x51233f
> > 000000e3 | d5 b3 0f 00             | MDR 15 length 1029077
> >          |                         | End of section 0060d714, len
> > 0x0fb3d5
> > 000000e7 | 01                      | String flag 1
> >          |                         |
> > 000000e8 | b6 02 00 00             | MDR 16 at offset 0x0002b6
> > 000000ec | d4 00 00 00             | MDR 16 length 212
> >          |                         | End of section 0000038a, len
> > 0x0000d4
> > 000000f0 | d4 00                   | MDR 16 record size d4
> >          |                         | Number of records 1
> > 000000f2 | 00 00 00 00             | MDR 16 header flags 0000
> >          |                         |
> >
> > Gerd
> >
> > ________________________________________
> > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> > von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> > Gesendet: Montag, 13. Dezember 2021 13:34
> > An: mkgmap-dev at lists.mkgmap.org.uk; mkgmap-svn at lists.mkgmap.org.uk
> > Betreff: Re: [mkgmap-dev] [mkgmap-svn] Commit r572: MDR16 is some
> > kind of       codebook.
> >
> > Hi Gerd
> >
> > From your example map, can you determine what settings should be
> > used
> > for hasRecSize and hasMagic (MdrDisplay ~line 1351 and other
> > modules
> > as
> > well). I'd have expected (false, ?);
> >
> > Ticker
> >
> >
> > On Mon, 2021-12-13 at 11:33 +0000, svn commit wrote:
> > > Version display-r572 was committed by gerd on Mon, 13 Dec 2021
> > >
> > > MDR16 is some kind of codebook.
> > > At least the last bytes are probably the most frequent characters
> > > in
> > > MDR 15.
> > >
> > > http://www.mkgmap.org.uk/websvn/revision.php?repname=display&rev=572
> > > _______________________________________________
> > > mkgmap-svn mailing list
> > > To unsubscribe send an mail to
> > > mkgmap-svn-leave at lists.mkgmap.org.uk
> > > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-svn
> >
> >
> > _______________________________________________
> > mkgmap-dev mailing list
> > mkgmap-dev at lists.mkgmap.org.uk
> > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > _______________________________________________
> > mkgmap-dev mailing list
> > mkgmap-dev at lists.mkgmap.org.uk
> > https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>
>
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev


_______________________________________________
mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk
https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev


More information about the mkgmap-dev mailing list