Project

General

Profile

Bug #7279 » PX888K_tweak.txt

Infos for manual adding of memories in Chirp's img file for PX888K - Ti'R  , 11/20/2019 02:29 AM

 
1

    
2
Infos about Puxing PX888K .img file from Chirp for manual "tweaking" :
3
----------------------------------------------------------------------
4

    
5
----------------------------------------------------------------------
6
Memories partial infos :
7
------------------------
8
Stored on 16 bytes (00 to FF).
9
The bytes 00 to 03 contains the RX frequency.
10
The bytes 04 to 07 contains the TX frequency
11
The bytes 08 to 09 contains the CTSS/DCS code for RX
12
The bytes 0A to AB contains the CTSS/DCS code for TX
13
For CTSS or DCS code, if the first digit is 8, its DCS, else it's CTSS.
14
The bytes 0C and OD contains C8 00 (don't know (yet) why but they have to).
15

    
16
So the last memory is at offset 0x7F0 (2032d (16 x (128 - 1)) (128 - 1 because
17
first memory i s at offset 0)). And the 13 will be a 0xC0 (16 x (13 - 1)) = 192d.
18

    
19
Example :                      F  RX       F  TX     C R   C T  Exist ?
20
                            |         | |         | |   | |   | |   |
21
Offset 0xC0 (mem 13)        44 60 81 25 44 60 43 75 82 43 11 88 C8 00 FF FF
22

    
23
F RX         F TX         C R (DCS)    C T (CTCSS)
24
446.08125    446.04375    243          118.8
25

    
26
If T RX is different from F RX, it is seen as offset in Chirp.
27
----------------------------------------------------------------------
28

    
29

    
30
----------------------------------------------------------------------
31
Memories names infos :
32
----------------------
33
Stored on 6 bytes (00 to FF).
34
The first is at the offset 0x800
35
The second is at the offset 0x808
36
The nexts are at the offsets 0x810 / 0x818, 0x820 / 0x828 and so on with a multiple
37
of 16 up to the last. The 2 last are at offset 0xBF0 / 0xBF8.
38
800h = 2048d    2048 16 x ((128/2 - 1) = 1008    2048 + 1008 = 3056    3056d = BF0h
39

    
40
Example :                   C  H  -  1  3           C  H  -  1  4
41
                            |  |  |  |  |           |  |  |  |  |
42
Offset 0x900 (mem 13/14)    50 4D 52 2D 31 33 FF FF 50 4D 52 2D 31 34 FF FF
43
----------------------------------------------------------------------
44

    
45

    
46
----------------------------------------------------------------------
47
Memory used/defined partial infos :
48
-----------------------------------
49

    
50
Important : If not set correcly, the memories are not seen in Chirp
51

    
52
Stored twice at offsets 0xC20 and 0xC30. Why twice i don't know.
53

    
54
They are calculated with the "powers of 2" (1, 2, 4, 8, 16, 32, 64, 128...) and they
55
are the sum of "2 powers of 0 to 7" for 8 memories for each byte up to 128 memories
56
(8 x 16 = 128). I wanted 32 mems, from 1 to 16 and from 21 to 36. Here are my details :
57

    
58
1   (mem 1++)    1   (mem 9)       1   (mem 17)       1   (mem 25)      1   (mem 33)
59
2    |           2    |            2                  2    |            2    |
60
4    |           4    |            4                  4    |            4    |
61
8    |           8    |            8                  8    |            8   (mem 36--)
62
16   |           16   |            16  (mem 21++)     16   |            16
63
32   |           32   |            32   |             32   |            32
64
64   |           64   |            64   |             64   |            64
65
128 (mem 8)      128 (mem 16--)    128 (mem 24)       128 (mem 32)      128 (mem 40)
66

    
67
1+2+...+64+128   1+2+...+64+128    16+32+64+128       1+2+...+64+128    1+2+4+8
68
255 / FF         255 / FF          240 / F0           255 / FF          15 / 0F
69

    
70
So for me, the datas to write at offsets 0xC20 and 0xC30 are : FF FF F0 FF 0F
71
----------------------------------------------------------------------
72

    
73

    
74

    
75
I hope it's clear and i hope this can help ! ;-)
76

    
77
Ti'R.
    (1-1/1)