First here are the screen shot of the data for reference:
Now here is the hexdump -C output.
00000000 0a 96 89 ad 4b 82 7b ff 62 68 6e ff ff ff ff ff |....K.{.bhn.....| 00000010 91 92 93 90 8d 8d 8d 8f 91 ff ff ff ff ff ff ff |................| 00000020 4d 4d 4d 4b 49 45 41 41 42 ff ff ff ff ff ff ff |MMMKIEAAB.......| 00000030 5e 74 8b 9c ae bf d0 dd ea ff ff ff ff ff ff ff |^t..............| 00000040 1c 1a 19 19 19 19 19 19 1a ff ff ff ff ff ff ff |................| 00000050 2d 2a 28 27 27 2c 31 2d 2a ff ff ff ff ff ff ff |-*('',1-*.......| 00000060 35 32 2f 2c 2a 2b 2c 2c 2c ff ff ff ff ff ff ff |52/,*+,,,.......| 00000070 36 34 33 2f 2c 31 36 33 31 ff ff ff ff ff ff ff |643/,1631.......| 00000080 03 03 04 04 04 04 04 04 04 ff ff ff ff ff ff ff |................| 00000090 25 24 23 22 22 21 20 1f 1f ff ff ff ff ff ff ff |%$#""! .........| 000000a0 2b 2a 2a 28 27 26 26 25 24 ff ff ff ff ff ff ff |+**('&&%$.......| 000000b0 37 36 36 35 35 34 33 31 2f ff ff ff ff ff ff ff |76655431/.......| 000000c0 64 64 64 64 64 64 64 64 64 ff ff ff ff ff ff ff |ddddddddd.......| 000000d0 1f 1d 1c 1c 1d 1c 1c 1c 1c ff ff ff ff ff ff ff |................| 000000e0 80 80 80 80 80 80 80 80 80 ff ff ff ff ff ff ff |................| 000000f0 1e 1e 1e 1e 1e 1e 1e 1e 1e ff ff ff ff ff ff ff |................| 00000100 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff |................| * 00000130 33 2f 2c 29 27 25 23 20 1d ff ff ff ff ff ff ff |3/,)'%# ........| 00000140 5f 5c 5a 58 56 54 52 51 50 ff ff ff ff ff ff ff |_\ZXVTRQP.......| 00000150 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff |................| * 00000170 32 32 32 32 32 28 1e 1e 1e ff ff ff ff ff ff ff |22222(..........| 00000180 7f 7d 7b 79 77 70 6a 6b 6d ff ff ff ff ff ff ff |.}{ywpjkm.......| 00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001b0 00 35 10 40 00 45 10 40 00 35 10 41 00 45 10 41 |.5.@.E.@.5.A.E.A| 000001c0 00 35 10 42 00 45 10 42 00 35 10 43 00 45 10 43 |.5.B.E.B.5.C.E.C| 000001d0 00 35 10 44 00 45 10 44 00 35 10 45 00 45 10 45 |.5.D.E.D.5.E.E.E| 000001e0 00 35 10 46 00 45 10 46 00 35 10 47 00 45 10 47 |.5.F.E.F.5.G.E.G| 000001f0 00 95 99 47 00 50 99 47 00 00 00 00 00 00 00 00 |...G.P.G........| 00000200 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00002000
So MD-380.exe, writes out 8 KB, but it looks like only 512 bytes are actually used. the bytes from 512-8192 are all set to 0xFF.
First thing that is easy to spot by eye, the row labeled "Mod1 Partial is all 128 (decimal) which is 0x80 in hex. A row of '80 80 80' appears at the line with the address 0xE0 (224 bytes into the file).
There are 9 columns in the GUI and it is easy to see that most of the rows of 16 bytes have 9 values and 7 bytes of 0xFF. So that's a nice convenient 16 byte per row layout in the file.
Moving up in the screen shot, the first row with data in all columns is "Tx Hight Power" with values of 145, 146, 147, 144 which is hex 91, 92, 93, 90. This is easy to spot in the second row of the hexdump.
So there are only 16 bytes before that. The GUI shows 13 rows before that, but the 11 rows VOX1, VOX10, ..., Freq. Adjust (Low), only have values in one column. So next step is to locate these values, which are 10, 150, 137, 173, (hex 0a, 96, 89, ad). Those as easily spotted as the first bytes of the file starting at offset 0. There are 11 bytes there that aren't 0xFF.
OK so far we know:
- Rows 2-13 (VOX 1, ... Freq. Adjust Low) are stored in the first 11 bytes 0x00 - 0x0a.
- Rows 14-39(?) are stored from bytes 0x10 - 0x18F, as 16 bytes per row using only the first 9 bytes for each calibration value.
It should be pretty easy to map this into Chirp's bitwise definition.
Hopefully this will be of use to some.
--Rob