Index: format/app_usb.format
===================================================================
--- /branch/USB/dongle_16M/format/app_usb.format	(revision 3195)
+++ /branch/USB/dongle_16M/format/app_usb.format	(working copy)
@@ -208,5 +208,6 @@
 0x5a DONGLE_KB_BIND_SUCCESS
 0x00 DONGLE_KB_BIND_EEPROM_OFFECT	//1B
 0x01 DONGLE_UPDATE_24G_ADDR	//4B
+0x70 DONGLE_FIRMWARE_VERSION_OFFECT
 )
 
Index: format/utility.format
===================================================================
--- /branch/USB/dongle_16M/format/utility.format	(revision 3195)
+++ /branch/USB/dongle_16M/format/utility.format	(working copy)
@@ -154,6 +154,8 @@
 16 mem_usb_kb_system
 3 mem_usb_kb_system_sta_data
 3 mem_usb_kb_system_last_data
+
+3 mem_firmware_version
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /branch/USB/dongle_16M/output/eeprom.dat	(revision 3195)
+++ /branch/USB/dongle_16M/output/eeprom.dat	(working copy)
@@ -2,28 +2,28 @@
 02
 aa
 55
-f6
 12
+13
 c2
 84
 00
 0b
 c0
 42
-83
-fe
+84
+05
 c0
 44
 83
-d6
+dd
 c0
 45
 04
-00
+07
 c0
 00
 03
-f6
+fd
 c0
 47
 00
@@ -499,15 +499,19 @@
 20
 40
 00
-94
+9b
 20
 40
 01
-6f
+76
 20
 40
 00
-83
+86
+20
+40
+00
+84
 68
 00
 c8
@@ -515,27 +519,35 @@
 c0
 00
 01
-c3
+ca
 c0
 00
 80
-9e
+a5
 c0
 07
 80
-9a
+a1
 20
 60
 00
 00
 20
 40
+00
+97
+20
+20
+65
+d1
+20
+40
 65
 9c
 20
 40
 00
-90
+93
 20
 40
 65
@@ -596,6 +608,22 @@
 60
 00
 00
+da
+20
+13
+d2
+da
+40
+00
+70
+d8
+40
+00
+03
+20
+60
+00
+00
 68
 00
 c1
@@ -623,39 +651,39 @@
 20
 40
 00
-a3
+aa
 20
 40
 00
-a7
+ae
 20
 40
 01
-8d
+94
 20
 20
 00
-9b
+a2
 20
 40
 00
-a3
+aa
 20
 40
 00
-a7
+ae
 20
 40
 00
-f2
+f9
 20
 40
 01
-8d
+94
 20
 20
 00
-9f
+a6
 70
 48
 ba
@@ -683,19 +711,19 @@
 20
 40
 00
-ad
+b4
 20
 40
 00
-bb
+c2
 20
 40
 03
-13
+1a
 20
 20
 00
-da
+e1
 68
 00
 c8
@@ -743,15 +771,15 @@
 20
 40
 04
-16
+1d
 20
 40
 04
-36
+3d
 20
 20
 01
-0e
+15
 68
 00
 c8
@@ -759,7 +787,7 @@
 c0
 00
 80
-d4
+db
 68
 00
 c8
@@ -767,7 +795,7 @@
 c0
 00
 80
-ce
+d5
 68
 0a
 48
@@ -827,7 +855,7 @@
 20
 20
 04
-36
+3d
 70
 48
 bb
@@ -835,7 +863,7 @@
 20
 20
 04
-36
+3d
 1c
 42
 7e
@@ -859,7 +887,7 @@
 20
 40
 04
-11
+18
 60
 08
 c8
@@ -875,19 +903,19 @@
 20
 20
 04
-36
+3d
 20
 40
 00
-dd
+e4
 20
 40
 00
-e4
+eb
 20
 20
 00
-eb
+f2
 68
 00
 c8
@@ -983,11 +1011,11 @@
 20
 40
 00
-f6
+fd
 20
 20
 01
-02
+09
 68
 00
 c8
@@ -1035,15 +1063,15 @@
 20
 20
 04
-16
+1d
 20
 40
 02
-46
+4d
 24
 37
 81
-0e
+15
 70
 49
 7c
@@ -1071,19 +1099,19 @@
 c0
 55
 01
-2c
+33
 c0
 2a
 81
-39
+40
 c0
 11
 01
-49
+50
 c0
 7f
 81
-65
+6c
 d8
 a0
 47
@@ -1119,11 +1147,11 @@
 c0
 00
 81
-19
+20
 c0
 01
 01
-1d
+24
 20
 60
 00
@@ -1155,7 +1183,7 @@
 20
 20
 01
-1b
+22
 68
 00
 c8
@@ -1211,11 +1239,11 @@
 c0
 00
 81
-30
+37
 c0
 01
 01
-36
+3d
 20
 60
 00
@@ -1255,7 +1283,7 @@
 20
 20
 01
-32
+39
 68
 00
 c8
@@ -1263,11 +1291,11 @@
 c0
 00
 81
-3d
+44
 c0
 01
 01
-43
+4a
 20
 60
 00
@@ -1275,7 +1303,7 @@
 20
 40
 01
-31
+38
 68
 00
 c8
@@ -1283,7 +1311,7 @@
 c0
 00
 81
-41
+48
 20
 60
 00
@@ -1299,7 +1327,7 @@
 20
 40
 01
-37
+3e
 68
 00
 c8
@@ -1307,7 +1335,7 @@
 c0
 00
 81
-47
+4e
 20
 60
 00
@@ -1327,11 +1355,11 @@
 c0
 00
 81
-4d
+54
 c0
 01
 01
-57
+5e
 20
 60
 00
@@ -1343,7 +1371,7 @@
 c0
 01
 01
-50
+57
 20
 60
 00
@@ -1351,7 +1379,7 @@
 20
 40
 01
-20
+27
 68
 00
 c8
@@ -1375,7 +1403,7 @@
 20
 20
 01
-0e
+15
 68
 00
 c8
@@ -1383,7 +1411,7 @@
 c0
 80
 01
-5a
+61
 20
 60
 00
@@ -1391,7 +1419,7 @@
 20
 40
 01
-26
+2d
 68
 00
 c8
@@ -1407,7 +1435,7 @@
 20
 40
 01
-54
+5b
 68
 00
 91
@@ -1423,7 +1451,7 @@
 20
 40
 00
-90
+93
 20
 40
 65
@@ -1439,11 +1467,11 @@
 c0
 00
 81
-69
+70
 c0
 01
 01
-6c
+73
 20
 60
 00
@@ -1555,7 +1583,7 @@
 24
 21
 01
-85
+8c
 58
 00
 49
@@ -1643,11 +1671,11 @@
 c0
 50
 01
-aa
+b1
 c0
 50
 81
-a0
+a7
 c0
 53
 30
@@ -1655,15 +1683,15 @@
 c0
 53
 81
-af
+b6
 c0
 54
 81
-b5
+bc
 c0
 58
 01
-b7
+be
 20
 20
 30
@@ -1675,11 +1703,11 @@
 c0
 00
 81
-a5
+ac
 c0
 42
 01
-a8
+af
 c0
 53
 b0
@@ -1703,11 +1731,11 @@
 20
 40
 00
-a4
+ab
 20
 20
 01
-a5
+ac
 68
 00
 8c
@@ -1715,7 +1743,7 @@
 c0
 40
 81
-ad
+b4
 20
 20
 30
@@ -1723,7 +1751,7 @@
 20
 40
 02
-0a
+11
 20
 20
 30
@@ -1735,7 +1763,7 @@
 c0
 00
 01
-b3
+ba
 c0
 00
 b0
@@ -1779,11 +1807,11 @@
 c0
 01
 81
-c1
+c8
 20
 40
 01
-74
+7b
 68
 00
 c9
@@ -1791,7 +1819,7 @@
 c0
 01
 81
-c1
+c8
 70
 0c
 f7
@@ -1811,35 +1839,35 @@
 20
 40
 01
-e8
+ef
 20
 40
 01
-ee
+f5
 20
 40
 02
-19
+20
 20
 40
 01
-cb
+d2
 20
 40
 01
-cf
+d6
 20
 40
 02
-4a
+51
 20
 40
 01
-8d
+94
 20
 20
 01
-c4
+cb
 68
 00
 c8
@@ -1851,11 +1879,11 @@
 20
 40
 00
-a9
+b0
 20
 20
 02
-38
+3f
 68
 00
 c8
@@ -1867,11 +1895,11 @@
 20
 40
 00
-f6
+fd
 20
 40
 01
-02
+09
 68
 00
 c8
@@ -1887,15 +1915,15 @@
 20
 40
 00
-a3
+aa
 20
 40
 02
-36
+3d
 20
 20
 01
-eb
+f2
 20
 40
 7f
@@ -1991,7 +2019,7 @@
 20
 40
 01
-d9
+e0
 24
 74
 00
@@ -1999,11 +2027,11 @@
 20
 40
 02
-03
+0a
 20
 40
-01
-fb
+02
+02
 68
 00
 c8
@@ -2023,11 +2051,11 @@
 c0
 00
 02
-00
+07
 c0
 00
 82
-08
+0f
 20
 60
 00
@@ -2059,11 +2087,11 @@
 24
 3a
 02
-0a
+11
 20
 20
 00
-a3
+aa
 68
 00
 c9
@@ -2091,7 +2119,7 @@
 24
 3a
 00
-a3
+aa
 70
 48
 a6
@@ -2111,7 +2139,7 @@
 20
 5a
 02
-34
+3b
 68
 00
 c9
@@ -2151,7 +2179,7 @@
 20
 20
 01
-eb
+f2
 68
 00
 c9
@@ -2171,7 +2199,7 @@
 20
 40
 01
-d9
+e0
 24
 74
 00
@@ -2199,11 +2227,11 @@
 20
 21
 02
-30
+37
 20
 40
-01
-fb
+02
+02
 68
 00
 c9
@@ -2223,11 +2251,11 @@
 c0
 00
 02
-2d
+34
 c0
 00
 82
-0a
+11
 20
 60
 00
@@ -2239,11 +2267,11 @@
 24
 3a
 02
-0a
+11
 20
 20
 02
-43
+4a
 70
 49
 85
@@ -2251,7 +2279,7 @@
 20
 20
 02
-43
+4a
 70
 49
 81
@@ -2319,7 +2347,7 @@
 20
 40
 02
-0d
+14
 70
 48
 a6
@@ -2331,15 +2359,15 @@
 20
 20
 01
-0e
+15
 20
 40
 01
-0e
+15
 20
 40
 04
-50
+57
 24
 77
 80
@@ -2347,7 +2375,7 @@
 20
 20
 02
-e7
+ee
 68
 00
 c8
@@ -2359,27 +2387,27 @@
 20
 40
 02
-71
+78
 20
 40
 02
-85
+8c
 20
 40
 02
-46
+4d
 24
 37
 81
-0e
+15
 20
 40
 02
-81
+88
 20
 42
 83
-16
+1d
 68
 00
 c8
@@ -2387,7 +2415,7 @@
 20
 5a
 02
-32
+39
 70
 48
 a6
@@ -2415,23 +2443,23 @@
 24
 42
 82
-68
+6f
 20
 40
 01
-0e
+15
 20
 40
 02
-36
+3d
 20
 40
 02
-81
+88
 20
 22
 82
-6a
+71
 68
 02
 48
@@ -2447,7 +2475,7 @@
 20
 22
 82
-6d
+74
 68
 02
 48
@@ -2463,7 +2491,7 @@
 20
 22
 82
-6f
+76
 20
 60
 00
@@ -2495,7 +2523,7 @@
 20
 20
 02
-6b
+72
 68
 00
 c8
@@ -2503,7 +2531,7 @@
 20
 20
 02
-6b
+72
 68
 00
 c8
@@ -2543,7 +2571,7 @@
 20
 40
 02
-81
+88
 24
 62
 80
@@ -2603,19 +2631,19 @@
 c0
 00
 02
-a8
+af
 c0
 00
 82
-c2
+c9
 c0
 01
 02
-8e
+95
 c0
 01
 82
-c2
+c9
 20
 60
 00
@@ -2623,7 +2651,7 @@
 20
 40
 01
-31
+38
 68
 02
 48
@@ -2631,11 +2659,11 @@
 20
 3a
 02
-85
+8c
 20
 40
 04
-16
+1d
 68
 00
 c8
@@ -2643,7 +2671,7 @@
 20
 5a
 02
-a3
+aa
 68
 00
 c8
@@ -2663,7 +2691,7 @@
 20
 40
 04
-0a
+11
 60
 08
 c8
@@ -2671,7 +2699,7 @@
 20
 40
 04
-11
+18
 60
 08
 c8
@@ -2691,7 +2719,7 @@
 20
 40
 04
-3a
+41
 60
 08
 c8
@@ -2715,7 +2743,7 @@
 20
 40
 04
-3e
+45
 60
 00
 c8
@@ -2727,7 +2755,7 @@
 20
 40
 01
-37
+3e
 68
 02
 48
@@ -2735,11 +2763,11 @@
 20
 3a
 02
-85
+8c
 20
 40
 04
-16
+1d
 68
 00
 c8
@@ -2747,7 +2775,7 @@
 20
 5a
 02
-bd
+c4
 68
 00
 c8
@@ -2767,7 +2795,7 @@
 20
 40
 04
-0a
+11
 60
 08
 c8
@@ -2775,7 +2803,7 @@
 20
 40
 04
-11
+18
 60
 08
 c8
@@ -2795,7 +2823,7 @@
 20
 40
 04
-3a
+41
 60
 08
 c8
@@ -2819,7 +2847,7 @@
 20
 40
 04
-3e
+45
 60
 00
 c8
@@ -2831,7 +2859,7 @@
 20
 40
 01
-31
+38
 68
 02
 48
@@ -2839,7 +2867,7 @@
 20
 40
 04
-16
+1d
 68
 00
 c8
@@ -2847,7 +2875,7 @@
 20
 5a
 02
-d6
+dd
 68
 00
 c8
@@ -2867,7 +2895,7 @@
 20
 40
 04
-0a
+11
 60
 08
 c8
@@ -2875,7 +2903,7 @@
 20
 40
 04
-11
+18
 60
 08
 c8
@@ -2895,7 +2923,7 @@
 20
 40
 04
-3a
+41
 60
 08
 c8
@@ -2987,7 +3015,7 @@
 20
 40
 02
-da
+e1
 68
 00
 c7
@@ -2999,23 +3027,23 @@
 20
 20
 82
-f0
+f7
 20
 40
 02
-f1
+f8
 20
 40
 04
-24
+2b
 20
 40
 04
-9a
+a1
 20
 20
 04
-92
+99
 70
 48
 38
@@ -3031,15 +3059,15 @@
 c0
 00
 82
-f8
+ff
 c0
 01
 03
-00
+07
 c0
 01
 83
-0a
+11
 20
 60
 00
@@ -3051,7 +3079,7 @@
 20
 40
 01
-11
+18
 24
 77
 80
@@ -3079,7 +3107,7 @@
 20
 40
 01
-87
+8e
 24
 74
 00
@@ -3123,11 +3151,11 @@
 c0
 00
 82
-f8
+ff
 c0
 7f
 82
-f8
+ff
 70
 0d
 43
@@ -3155,23 +3183,23 @@
 20
 40
 02
-46
+4d
 24
 37
 81
-0e
+15
 20
 20
 03
-16
+1d
 20
 40
 03
-27
+2e
 24
 34
 01
-0e
+15
 68
 00
 c8
@@ -3179,7 +3207,7 @@
 20
 3a
 01
-0e
+15
 1f
 e0
 fe
@@ -3211,7 +3239,7 @@
 20
 5a
 02
-36
+3d
 68
 00
 c8
@@ -3219,19 +3247,19 @@
 c0
 00
 83
-35
+3c
 c0
 01
 03
-55
+5c
 c0
 7f
 83
-aa
+b1
 20
 20
 01
-0e
+15
 20
 40
 7f
@@ -3291,11 +3319,11 @@
 20
 40
 01
-20
+27
 20
 40
 00
-d0
+d7
 68
 00
 c8
@@ -3319,7 +3347,7 @@
 c0
 00
 83
-b4
+bb
 68
 00
 c8
@@ -3347,7 +3375,7 @@
 c0
 67
 83
-b8
+bf
 58
 00
 00
@@ -3371,7 +3399,7 @@
 24
 5a
 03
-4d
+54
 68
 00
 c8
@@ -3379,7 +3407,7 @@
 20
 5a
 03
-51
+58
 20
 20
 31
@@ -3419,7 +3447,7 @@
 20
 40
 01
-26
+2d
 68
 08
 c8
@@ -3431,7 +3459,7 @@
 20
 20
 83
-b6
+bd
 68
 00
 c8
@@ -3439,19 +3467,19 @@
 c0
 00
 03
-5e
+65
 c0
 01
 03
-93
+9a
 c0
 01
 83
-7a
+81
 20
 20
 01
-0e
+15
 68
 00
 c8
@@ -3471,7 +3499,7 @@
 20
 40
 03
-6f
+76
 68
 04
 0d
@@ -3479,7 +3507,7 @@
 24
 5a
 03
-72
+79
 68
 04
 0d
@@ -3487,7 +3515,7 @@
 20
 5a
 03
-76
+7d
 68
 04
 0d
@@ -3519,7 +3547,7 @@
 20
 20
 01
-0e
+15
 d8
 c0
 48
@@ -3571,7 +3599,7 @@
 20
 40
 03
-88
+8f
 68
 01
 0d
@@ -3579,7 +3607,7 @@
 24
 5a
 03
-8b
+92
 68
 01
 0d
@@ -3587,7 +3615,7 @@
 20
 5a
 03
-8f
+96
 68
 01
 8d
@@ -3619,7 +3647,7 @@
 20
 20
 01
-0e
+15
 d8
 c0
 48
@@ -3671,7 +3699,7 @@
 20
 40
 03
-9d
+a4
 68
 01
 13
@@ -3691,7 +3719,7 @@
 24
 42
 83
-a8
+af
 68
 01
 13
@@ -3703,7 +3731,7 @@
 20
 20
 01
-0e
+15
 d8
 c0
 48
@@ -3763,11 +3791,11 @@
 c0
 00
 83
-ae
+b5
 c0
 01
 03
-b1
+b8
 20
 60
 00
@@ -3775,7 +3803,7 @@
 20
 40
 01
-20
+27
 68
 02
 48
@@ -3783,11 +3811,11 @@
 20
 20
 01
-6a
+71
 20
 40
 01
-26
+2d
 68
 02
 48
@@ -3795,7 +3823,7 @@
 20
 20
 01
-6d
+74
 68
 02
 48
@@ -3803,7 +3831,7 @@
 20
 20
 01
-6a
+71
 68
 02
 48
@@ -3811,7 +3839,7 @@
 20
 20
 01
-6d
+74
 68
 01
 48
@@ -3827,7 +3855,7 @@
 20
 22
 83
-bd
+c4
 20
 60
 00
@@ -3839,7 +3867,7 @@
 c0
 61
 03
-ca
+d1
 68
 00
 c9
@@ -3855,7 +3883,7 @@
 20
 40
 01
-7e
+85
 68
 00
 c9
@@ -3875,11 +3903,11 @@
 c0
 60
 81
-bf
+c6
 c0
 61
 03
-ca
+d1
 20
 60
 00
@@ -3899,7 +3927,7 @@
 20
 40
 01
-6f
+76
 68
 00
 c8
@@ -3907,11 +3935,11 @@
 c0
 2a
 83
-d2
+d9
 c0
 55
 03
-d4
+db
 20
 60
 00
@@ -3999,11 +4027,11 @@
 c0
 02
 03
-ef
+f6
 20
 20
 03
-e8
+ef
 70
 89
 4b
@@ -4131,7 +4159,7 @@
 20
 40
 04
-0a
+11
 60
 08
 c8
@@ -4215,7 +4243,7 @@
 c2
 00
 04
-1a
+21
 1a
 22
 7e
@@ -4323,7 +4351,7 @@
 20
 40
 04
-3a
+41
 60
 08
 c8
@@ -4335,7 +4363,7 @@
 20
 40
 04
-3e
+45
 18
 40
 84
@@ -4459,7 +4487,7 @@
 20
 40
 04
-47
+4e
 78
 57
 fc
@@ -4495,7 +4523,7 @@
 24
 2c
 04
-95
+9c
 78
 46
 fc
@@ -4535,7 +4563,7 @@
 24
 22
 84
-92
+99
 09
 80
 00
@@ -4559,7 +4587,7 @@
 20
 22
 84
-77
+7e
 68
 00
 c7
@@ -4575,7 +4603,7 @@
 24
 20
 84
-92
+99
 09
 80
 00
@@ -4599,7 +4627,7 @@
 20
 22
 84
-81
+88
 09
 80
 00
@@ -4615,7 +4643,7 @@
 c2
 00
 04
-7d
+84
 09
 80
 00
@@ -4651,7 +4679,7 @@
 20
 23
 04
-92
+99
 78
 37
 fc
@@ -4699,11 +4727,11 @@
 20
 40
 04
-03
+0a
 20
 20
 04
-92
+99
 20
 40
 29
@@ -4731,11 +4759,11 @@
 20
 40
 04
-47
+4e
 20
 40
 04
-97
+9e
 79
 20
 2a
@@ -4815,7 +4843,7 @@
 c2
 00
 04
-b0
+b7
 68
 00
 c8
@@ -4856,8 +4884,8 @@
 60
 00
 00
-04
-00
+c9
+86
 aa
 55
 01
@@ -5397,6 +5425,15 @@
 14
 aa
 55
+03
+00
+d2
+13
+01
+00
+16
+aa
+55
 08
 00
 75
@@ -5439,45 +5476,8 @@
 42
 00
 84
-e7
-ba
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+79
+b8
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-72
-90
+15
+89
Index: output/memmap.format
===================================================================
--- /branch/USB/dongle_16M/output/memmap.format	(revision 3195)
+++ /branch/USB/dongle_16M/output/memmap.format	(working copy)
@@ -607,6 +607,7 @@
 0x13bc mem_usb_kb_system
 0x13cc mem_usb_kb_system_sta_data
 0x13cf mem_usb_kb_system_last_data
+0x13d2 mem_firmware_version
 0x4000 mem_patch00
 0x4001 mem_patch01
 0x4002 mem_patch02
Index: output/program.lis
===================================================================
--- /branch/USB/dongle_16M/output/program.lis	(revision 3195)
+++ /branch/USB/dongle_16M/output/program.lis	(working copy)
@@ -1,10 +1,10 @@
               include "bt_format "
               org 0x0000
 0000 c284000b bbit1 8 ,pf_patch_ext 
-0001 c04283fe beq patch10_5 ,p_shutdown_radio 
-0002 c04483d6 beq patch11_1 ,p_set_freq_tx 
-0003 c0450400 beq patch11_2 ,p_initialize_radio_cont 
-0004 c00003f6 beq patch00_0 ,p_soft_reset 
+0001 c0428405 beq patch10_5 ,p_shutdown_radio 
+0002 c04483dd beq patch11_1 ,p_set_freq_tx 
+0003 c0450407 beq patch11_2 ,p_initialize_radio_cont 
+0004 c00003fd beq patch00_0 ,p_soft_reset 
 0005 c047000c beq patch11_6 ,p_save_rssi 
 0006 c0620074 beq patch18_4 ,p_app_init 
 0007 c07b8013 beq patch1e_7 ,p_usb_init 
@@ -159,1448 +159,1459 @@
 0078 600248a1 store 4 ,mem_24g_rx_addr 
 0079 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
 007a 2040680e call gpio_config_output 
-007b 20400094 call p_dongle_init 
-007c 2040016f call p_g24_queue_init 
-007d 20400083 call p_dongle_iic_init 
-007e 6800c8bc fetch 1 ,mem_24g_pair_mode 
-007f c00001c3 beq 0x00 ,p_dongle_auto_bind 
-0080 c000809e beq 0x01 ,p_dongle_pc_bind 
-0081 c007809a beq 0x0f ,p_dongle_all_powerful 
-0082 20600000 rtn 
+007b 2040009b call p_dongle_init 
+007c 20400176 call p_g24_queue_init 
+007d 20400086 call p_dongle_iic_init 
+007e 20400084 call p_dongle_firmware_version_store 
+007f 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0080 c00001ca beq 0x00 ,p_dongle_auto_bind 
+0081 c00080a5 beq 0x01 ,p_dongle_pc_bind 
+0082 c00780a1 beq 0x0f ,p_dongle_all_powerful 
+0083 20600000 rtn 
+
+p_dongle_firmware_version_store:
+0084 20400097 call p_dongle_set_firmware_version_eeprom 
+0085 202065d1 branch iicd_write_protect_eep_data 
 
 p_dongle_iic_init:
-0083 2040659c call iic_init_390k 
-0084 20400090 call p_dongle_set_kb_bind_eeprom 
-0085 204065df call iicd_read_eep_data 
+0086 2040659c call iic_init_390k 
+0087 20400093 call p_dongle_set_kb_bind_eeprom 
+0088 204065df call iicd_read_eep_data 
 
 p_dongle_update_24g_addr:
-0086 da200aae arg mem_rega ,rega 
-0087 da400001 arg dongle_update_24g_addr ,regb 
-0088 d8400004 arg 4 ,temp 
-0089 204065df call iicd_read_eep_data 
-008a 68020aae fetch 4 ,mem_rega 
-008b 680a497d fetcht 4 ,mem_24g_factory_addr 
-008c 98467c00 isub temp ,null 
-008d 20628000 rtn zero 
-008e 600248a1 store 4 ,mem_24g_rx_addr 
-008f 20600000 rtn 
+0089 da200aae arg mem_rega ,rega 
+008a da400001 arg dongle_update_24g_addr ,regb 
+008b d8400004 arg 4 ,temp 
+008c 204065df call iicd_read_eep_data 
+008d 68020aae fetch 4 ,mem_rega 
+008e 680a497d fetcht 4 ,mem_24g_factory_addr 
+008f 98467c00 isub temp ,null 
+0090 20628000 rtn zero 
+0091 600248a1 store 4 ,mem_24g_rx_addr 
+0092 20600000 rtn 
 
 p_dongle_set_kb_bind_eeprom:
-0090 da2011c7 arg mem_dongle_kb_bind_flag ,rega 
-0091 da400000 arg dongle_kb_bind_eeprom_offect ,regb 
-0092 d8400001 arg 1 ,temp 
-0093 20600000 rtn 
+0093 da2011c7 arg mem_dongle_kb_bind_flag ,rega 
+0094 da400000 arg dongle_kb_bind_eeprom_offect ,regb 
+0095 d8400001 arg 1 ,temp 
+0096 20600000 rtn 
+
+p_dongle_set_firmware_version_eeprom:
+0097 da2013d2 arg mem_firmware_version ,rega 
+0098 da400070 arg dongle_firmware_version_offect ,regb 
+0099 d8400003 arg 3 ,temp 
+009a 20600000 rtn 
 
 p_dongle_init:
-0094 6800c1de fetch 1 ,mem_tx_power 
-0095 6000c8ef store 1 ,mem_tx_power_temp 
-0096 df200080 arg 0x80 ,loopcnt 
-0097 d8a00d9e arg mem_rssi_noise_buffer ,contw 
-0098 20407ec6 call memset0 
-0099 202048ea branch usb_init 
+009b 6800c1de fetch 1 ,mem_tx_power 
+009c 6000c8ef store 1 ,mem_tx_power_temp 
+009d df200080 arg 0x80 ,loopcnt 
+009e d8a00d9e arg mem_rssi_noise_buffer ,contw 
+009f 20407ec6 call memset0 
+00a0 202048ea branch usb_init 
 
 p_dongle_all_powerful:
-009a 204000a3 call p_dongle_check_mode 
+00a1 204000aa call p_dongle_check_mode 
 
 p_dongle_all_powerful_loop:
-009b 204000a7 call p_g24_dongle_work_mode 
-009c 2040018d call p_dongle_usb_dispatch 
-009d 2020009b branch p_dongle_all_powerful_loop 
+00a2 204000ae call p_g24_dongle_work_mode 
+00a3 20400194 call p_dongle_usb_dispatch 
+00a4 202000a2 branch p_dongle_all_powerful_loop 
 
 p_dongle_pc_bind:
-009e 204000a3 call p_dongle_check_mode 
+00a5 204000aa call p_dongle_check_mode 
 
 p_dongle_pc_bind_loop:
-009f 204000a7 call p_g24_dongle_work_mode 
-00a0 204000f2 call p_g24_dongle_bind_mode 
-00a1 2040018d call p_dongle_usb_dispatch 
-00a2 2020009f branch p_dongle_pc_bind_loop 
+00a6 204000ae call p_g24_dongle_work_mode 
+00a7 204000f9 call p_g24_dongle_bind_mode 
+00a8 20400194 call p_dongle_usb_dispatch 
+00a9 202000a6 branch p_dongle_pc_bind_loop 
 
 p_dongle_check_mode:
-00a3 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
+00aa 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
 
 p_dongle_work_mode_enable:
-00a4 7048a600 jam dongle_work ,mem_dongle_work_mode 
-00a5 7048a500 jam clear_init ,mem_dongle_mode_init 
-00a6 20600000 rtn 
+00ab 7048a600 jam dongle_work ,mem_dongle_work_mode 
+00ac 7048a500 jam clear_init ,mem_dongle_mode_init 
+00ad 20600000 rtn 
 
 p_g24_dongle_work_mode:
-00a7 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-00a8 c1800000 rtnne dongle_work 
+00ae 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+00af c1800000 rtnne dongle_work 
 
 p_g24_dongle_work_mode_start:
-00a9 204000ad call p_g24_dongle_work_init 
-00aa 204000bb call p_g24_ch_process 
-00ab 20400313 call p_g24_receive_packet_start 
-00ac 202000da branch p_g24_blank_data_process 
+00b0 204000b4 call p_g24_dongle_work_init 
+00b1 204000c2 call p_g24_ch_process 
+00b2 2040031a call p_g24_receive_packet_start 
+00b3 202000e1 branch p_g24_blank_data_process 
 
 p_g24_dongle_work_init:
-00ad 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-00ae c3800000 rtnbit1 dongle_work 
-00af 79207e00 set1 dongle_work ,pdata 
-00b0 6000c8a5 store 1 ,mem_dongle_mode_init 
-00b1 6800c8ef fetch 1 ,mem_tx_power_temp 
-00b2 6000c1de store 1 ,mem_tx_power 
-00b3 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
-00b4 700d3800 jam 0 ,mem_usb_tx_enable 
-00b5 7048b201 jam 1 ,mem_24g_abort_packet 
-00b6 70483700 jam 0 ,mem_24g_pid 
-00b7 680248a1 fetch 4 ,mem_24g_rx_addr 
-00b8 20400416 call p_g24_update_addr_and_synccrc8 
-00b9 20400436 call p_g24_ch 
-00ba 2020010e branch p_g24_rx_interrupt_clear 
+00b4 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+00b5 c3800000 rtnbit1 dongle_work 
+00b6 79207e00 set1 dongle_work ,pdata 
+00b7 6000c8a5 store 1 ,mem_dongle_mode_init 
+00b8 6800c8ef fetch 1 ,mem_tx_power_temp 
+00b9 6000c1de store 1 ,mem_tx_power 
+00ba 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
+00bb 700d3800 jam 0 ,mem_usb_tx_enable 
+00bc 7048b201 jam 1 ,mem_24g_abort_packet 
+00bd 70483700 jam 0 ,mem_24g_pid 
+00be 680248a1 fetch 4 ,mem_24g_rx_addr 
+00bf 2040041d call p_g24_update_addr_and_synccrc8 
+00c0 2040043d call p_g24_ch 
+00c1 20200115 branch p_g24_rx_interrupt_clear 
 
 p_g24_ch_process:
-00bb 6800c8b2 fetch 1 ,mem_24g_abort_packet 
-00bc c00080d4 beq 1 ,p_g24_noise_rssi 
-00bd 6800c8bb fetch 1 ,mem_24g_hop_packet 
-00be c00080ce beq 1 ,p_g24_ch_receive_hop_pac 
-00bf 680a48b4 fetcht 4 ,mem_24g_hop_btclk 
-00c0 1c427e00 copy clkn_bt ,pdata 
-00c1 98467c00 isub temp ,null 
-00c2 24412d18 ncall g24_timer_timeout ,positive 
-00c3 1fe22400 copy pdata ,regb 
-00c4 680248b4 fetch 4 ,mem_24g_hop_btclk 
-00c5 6808c8b8 fetcht 1 ,mem_24g_hop_interval 
-00c6 98408400 iadd temp ,temp 
-00c7 1a427e00 copy regb ,pdata 
+00c2 6800c8b2 fetch 1 ,mem_24g_abort_packet 
+00c3 c00080db beq 1 ,p_g24_noise_rssi 
+00c4 6800c8bb fetch 1 ,mem_24g_hop_packet 
+00c5 c00080d5 beq 1 ,p_g24_ch_receive_hop_pac 
+00c6 680a48b4 fetcht 4 ,mem_24g_hop_btclk 
+00c7 1c427e00 copy clkn_bt ,pdata 
 00c8 98467c00 isub temp ,null 
-00c9 24610000 nrtn positive 
-00ca 793ffe1c set0 28 ,pdata 
-00cb 600248b4 store 4 ,mem_24g_hop_btclk 
-00cc 7048b201 jam 1 ,mem_24g_abort_packet 
-00cd 20200436 branch p_g24_ch 
+00c9 24412d18 ncall g24_timer_timeout ,positive 
+00ca 1fe22400 copy pdata ,regb 
+00cb 680248b4 fetch 4 ,mem_24g_hop_btclk 
+00cc 6808c8b8 fetcht 1 ,mem_24g_hop_interval 
+00cd 98408400 iadd temp ,temp 
+00ce 1a427e00 copy regb ,pdata 
+00cf 98467c00 isub temp ,null 
+00d0 24610000 nrtn positive 
+00d1 793ffe1c set0 28 ,pdata 
+00d2 600248b4 store 4 ,mem_24g_hop_btclk 
+00d3 7048b201 jam 1 ,mem_24g_abort_packet 
+00d4 2020043d branch p_g24_ch 
 
 p_g24_ch_receive_hop_pac:
-00ce 7048bb00 jam 0 ,mem_24g_hop_packet 
-00cf 20200436 branch p_g24_ch 
+00d5 7048bb00 jam 0 ,mem_24g_hop_packet 
+00d6 2020043d branch p_g24_ch 
 
 p_g24_ch_timer_reinit:
-00d0 1c427e00 copy clkn_bt ,pdata 
-00d1 600248b4 store 4 ,mem_24g_hop_btclk 
-00d2 7048b300 jam 0 ,mem_24g_rf_laststa 
-00d3 20600000 rtn 
+00d7 1c427e00 copy clkn_bt ,pdata 
+00d8 600248b4 store 4 ,mem_24g_hop_btclk 
+00d9 7048b300 jam 0 ,mem_24g_rf_laststa 
+00da 20600000 rtn 
 
 p_g24_noise_rssi:
-00d4 da200d9e arg mem_rssi_noise_buffer ,rega 
-00d5 20400411 call p_rssi_average 
-00d6 6008c8f1 storet 1 ,mem_rssi_noise_avg 
-00d7 18467c50 sub temp ,rssi_thresh_noise ,null 
-00d8 24610000 nrtn positive 
-00d9 20200436 branch p_g24_ch 
+00db da200d9e arg mem_rssi_noise_buffer ,rega 
+00dc 20400418 call p_rssi_average 
+00dd 6008c8f1 storet 1 ,mem_rssi_noise_avg 
+00de 18467c50 sub temp ,rssi_thresh_noise ,null 
+00df 24610000 nrtn positive 
+00e0 2020043d branch p_g24_ch 
 
 p_g24_blank_data_process:
-00da 204000dd call p_g24_ms_blank_data 
-00db 204000e4 call p_g24_kb_blank_data 
-00dc 202000eb branch p_g24_kb_mul_blank_data 
+00e1 204000e4 call p_g24_ms_blank_data 
+00e2 204000eb call p_g24_kb_blank_data 
+00e3 202000f2 branch p_g24_kb_mul_blank_data 
 
 p_g24_ms_blank_data:
-00dd 6800c8d7 fetch 1 ,mem_24g_ms_blank_data_enable 
-00de 207a0000 rtn blank 
-00df d8e0000b arg timer_new_ms_blank ,queue 
-00e0 20407f16 call timer_check 
-00e1 247a0000 nrtn blank 
-00e2 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
-00e3 20202fa0 branch g24_ms_blank_data_2usb 
-
-p_g24_kb_blank_data:
-00e4 6800c8d5 fetch 1 ,mem_24g_kb_blank_data_enable 
+00e4 6800c8d7 fetch 1 ,mem_24g_ms_blank_data_enable 
 00e5 207a0000 rtn blank 
-00e6 d8e0000e arg timer_new_kb_blank ,queue 
+00e6 d8e0000b arg timer_new_ms_blank ,queue 
 00e7 20407f16 call timer_check 
 00e8 247a0000 nrtn blank 
-00e9 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
-00ea 20202fac branch g24_kb_blank_data_2usb 
+00e9 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
+00ea 20202fa0 branch g24_ms_blank_data_2usb 
 
-p_g24_kb_mul_blank_data:
-00eb 6800c8d6 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
+p_g24_kb_blank_data:
+00eb 6800c8d5 fetch 1 ,mem_24g_kb_blank_data_enable 
 00ec 207a0000 rtn blank 
-00ed d8e0000c arg timer_new_kb_mul_blank ,queue 
+00ed d8e0000e arg timer_new_kb_blank ,queue 
 00ee 20407f16 call timer_check 
 00ef 247a0000 nrtn blank 
-00f0 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-00f1 20202fb8 branch g24_kb_mul_blank_data_2usb 
+00f0 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
+00f1 20202fac branch g24_kb_blank_data_2usb 
+
+p_g24_kb_mul_blank_data:
+00f2 6800c8d6 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
+00f3 207a0000 rtn blank 
+00f4 d8e0000c arg timer_new_kb_mul_blank ,queue 
+00f5 20407f16 call timer_check 
+00f6 247a0000 nrtn blank 
+00f7 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+00f8 20202fb8 branch g24_kb_mul_blank_data_2usb 
 
 p_g24_dongle_bind_mode:
-00f2 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-00f3 c1808000 rtnne dongle_bind 
-00f4 204000f6 call p_g24_dongle_bind_init 
-00f5 20200102 branch p_g24_dongle_bind_data_process 
+00f9 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+00fa c1808000 rtnne dongle_bind 
+00fb 204000fd call p_g24_dongle_bind_init 
+00fc 20200109 branch p_g24_dongle_bind_data_process 
 
 p_g24_dongle_bind_init:
-00f6 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-00f7 c3808000 rtnbit1 dongle_bind 
-00f8 79207e01 set1 dongle_bind ,pdata 
-00f9 6000c8a5 store 1 ,mem_dongle_mode_init 
-00fa 58000000 setarg 0 
-00fb 6001c8a7 store 3 ,mem_dongle_ms_bind_step 
-00fc 7041de04 jam tx_power_f5db ,mem_tx_power 
-00fd 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
-00fe 70483700 jam 0 ,mem_24g_pid 
-00ff 7048424e jam g24_pair_ch ,mem_24g_ch 
-0100 68024844 fetch 4 ,mem_24g_paring_addr 
-0101 20200416 branch p_g24_update_addr_and_synccrc8 
+00fd 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+00fe c3808000 rtnbit1 dongle_bind 
+00ff 79207e01 set1 dongle_bind ,pdata 
+0100 6000c8a5 store 1 ,mem_dongle_mode_init 
+0101 58000000 setarg 0 
+0102 6001c8a7 store 3 ,mem_dongle_ms_bind_step 
+0103 7041de04 jam tx_power_f5db ,mem_tx_power 
+0104 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
+0105 70483700 jam 0 ,mem_24g_pid 
+0106 7048424e jam g24_pair_ch ,mem_24g_ch 
+0107 68024844 fetch 4 ,mem_24g_paring_addr 
+0108 2020041d branch p_g24_update_addr_and_synccrc8 
 
 p_g24_dongle_bind_data_process:
-0102 20400246 call p_g24_receive_transmit_ack 
-0103 2437810e nbranch p_g24_rx_interrupt_clear ,user3 
-0104 70497c05 jam g24_work_mode_delay ,mem_24g_work_delay_count 
-0105 d8c047b2 arg mem_24g_rxbuf ,contr 
-0106 d8a0487f arg mem_24g_rxdata_temp ,contw 
-0107 df200008 arg 8 ,loopcnt 
-0108 20407f01 call memcpy 
-0109 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
-010a c055012c beq datatype_bind ,p_g24_dongle_bind_first_step 
-010b c02a8139 beq datatype_config ,p_g24_dongle_bind_second_step 
-010c c0110149 beq datatype_ok ,p_g24_dongle_bind_third_step 
-010d c07f8165 beq 0xff ,p_g24_data_attemp_bind 
+0109 2040024d call p_g24_receive_transmit_ack 
+010a 24378115 nbranch p_g24_rx_interrupt_clear ,user3 
+010b 70497c05 jam g24_work_mode_delay ,mem_24g_work_delay_count 
+010c d8c047b2 arg mem_24g_rxbuf ,contr 
+010d d8a0487f arg mem_24g_rxdata_temp ,contw 
+010e df200008 arg 8 ,loopcnt 
+010f 20407f01 call memcpy 
+0110 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
+0111 c0550133 beq datatype_bind ,p_g24_dongle_bind_first_step 
+0112 c02a8140 beq datatype_config ,p_g24_dongle_bind_second_step 
+0113 c0110150 beq datatype_ok ,p_g24_dongle_bind_third_step 
+0114 c07f816c beq 0xff ,p_g24_data_attemp_bind 
 
 p_g24_rx_interrupt_clear:
-010e d8a047b2 arg mem_24g_rxbuf ,contw 
-010f df200042 arg 66 ,loopcnt 
-0110 20207ed4 branch clear_mem 
+0115 d8a047b2 arg mem_24g_rxbuf ,contw 
+0116 df200042 arg 66 ,loopcnt 
+0117 20207ed4 branch clear_mem 
 
 p_g24_dongle_binding_device_check:
-0111 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-0112 c1808000 rtnne dongle_bind 
-0113 6800c8bc fetch 1 ,mem_24g_pair_mode 
-0114 247a0000 nrtn blank 
-0115 6800c7b5 fetch 1 ,mem_24g_rxbuf + 3 
-0116 c0008119 beq bind_mouse ,p_g24_dongle_binding_mouse_status 
-0117 c001011d beq bind_keyboard ,p_g24_dongle_binding_keyboard_status 
-0118 20600000 rtn 
+0118 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+0119 c1808000 rtnne dongle_bind 
+011a 6800c8bc fetch 1 ,mem_24g_pair_mode 
+011b 247a0000 nrtn blank 
+011c 6800c7b5 fetch 1 ,mem_24g_rxbuf + 3 
+011d c0008120 beq bind_mouse ,p_g24_dongle_binding_mouse_status 
+011e c0010124 beq bind_keyboard ,p_g24_dongle_binding_keyboard_status 
+011f 20600000 rtn 
 
 p_g24_dongle_binding_mouse_status:
-0119 6800c987 fetch 1 ,mem_dongle_bind_device_living 
-011a c4000000 rtnbit0 0 
+0120 6800c987 fetch 1 ,mem_dongle_bind_device_living 
+0121 c4000000 rtnbit0 0 
 
 disable_user3:
-011b 7857fc00 disable user3 
-011c 20600000 rtn 
+0122 7857fc00 disable user3 
+0123 20600000 rtn 
 
 p_g24_dongle_binding_keyboard_status:
-011d 6800c987 fetch 1 ,mem_dongle_bind_device_living 
-011e c4008000 rtnbit0 1 
-011f 2020011b branch disable_user3 
+0124 6800c987 fetch 1 ,mem_dongle_bind_device_living 
+0125 c4008000 rtnbit0 1 
+0126 20200122 branch disable_user3 
 
 p_g24_dongle_binding_mouse_living:
-0120 6800c8bc fetch 1 ,mem_24g_pair_mode 
-0121 247a0000 nrtn blank 
-0122 6800c987 fetch 1 ,mem_dongle_bind_device_living 
-0123 1fe1fe01 or_into 0x01 ,pdata 
-0124 6000c987 store 1 ,mem_dongle_bind_device_living 
-0125 20600000 rtn 
+0127 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0128 247a0000 nrtn blank 
+0129 6800c987 fetch 1 ,mem_dongle_bind_device_living 
+012a 1fe1fe01 or_into 0x01 ,pdata 
+012b 6000c987 store 1 ,mem_dongle_bind_device_living 
+012c 20600000 rtn 
 
 p_g24_dongle_binding_keyboard_living:
-0126 6800c8bc fetch 1 ,mem_24g_pair_mode 
-0127 247a0000 nrtn blank 
-0128 6800c987 fetch 1 ,mem_dongle_bind_device_living 
-0129 1fe1fe02 or_into 0x02 ,pdata 
-012a 6000c987 store 1 ,mem_dongle_bind_device_living 
-012b 20600000 rtn 
+012d 6800c8bc fetch 1 ,mem_24g_pair_mode 
+012e 247a0000 nrtn blank 
+012f 6800c987 fetch 1 ,mem_dongle_bind_device_living 
+0130 1fe1fe02 or_into 0x02 ,pdata 
+0131 6000c987 store 1 ,mem_dongle_bind_device_living 
+0132 20600000 rtn 
 
 p_g24_dongle_bind_first_step:
-012c 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-012d c0008130 beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
-012e c0010136 beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
-012f 20600000 rtn 
+0133 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0134 c0008137 beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
+0135 c001013d beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
+0136 20600000 rtn 
 
 p_g24_dongle_bind_first_step_mouse:
-0130 7048a701 jam 1 ,mem_dongle_ms_bind_step 
+0137 7048a701 jam 1 ,mem_dongle_ms_bind_step 
 
 p_g24_dongle_bind_ms_payload_cfg:
-0131 7048aa01 jam datatype_mouse ,mem_24g_bind_payload 
+0138 7048aa01 jam datatype_mouse ,mem_24g_bind_payload 
 
 p_g24_dongle_bind_payload_cfg:
-0132 7048ab80 jam 0x80 ,mem_24g_bind_payload + 1 
-0133 680348a1 fetch 6 ,mem_24g_rx_addr 
-0134 600348ac store 6 ,mem_24g_bind_payload + 2 
-0135 20600000 rtn 
+0139 7048ab80 jam 0x80 ,mem_24g_bind_payload + 1 
+013a 680348a1 fetch 6 ,mem_24g_rx_addr 
+013b 600348ac store 6 ,mem_24g_bind_payload + 2 
+013c 20600000 rtn 
 
 p_g24_dongle_bind_first_step_keyboard:
-0136 7048a801 jam 1 ,mem_dongle_kb_bind_step 
+013d 7048a801 jam 1 ,mem_dongle_kb_bind_step 
 
 p_g24_dongle_bind_kb_payload_cfg:
-0137 7048aa02 jam datatype_keyboard ,mem_24g_bind_payload 
-0138 20200132 branch p_g24_dongle_bind_payload_cfg 
+013e 7048aa02 jam datatype_keyboard ,mem_24g_bind_payload 
+013f 20200139 branch p_g24_dongle_bind_payload_cfg 
 
 p_g24_dongle_bind_second_step:
-0139 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-013a c000813d beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
-013b c0010143 beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
-013c 20600000 rtn 
+0140 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0141 c0008144 beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
+0142 c001014a beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
+0143 20600000 rtn 
 
 p_g24_dongle_bind_second_step_mouse:
-013d 20400131 call p_g24_dongle_bind_ms_payload_cfg 
-013e 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
-013f c0008141 beq 1 ,p_g24_dongle_ms_bind_step_set2 
-0140 20600000 rtn 
+0144 20400138 call p_g24_dongle_bind_ms_payload_cfg 
+0145 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
+0146 c0008148 beq 1 ,p_g24_dongle_ms_bind_step_set2 
+0147 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_set2:
-0141 7048a702 jam 2 ,mem_dongle_ms_bind_step 
-0142 20600000 rtn 
+0148 7048a702 jam 2 ,mem_dongle_ms_bind_step 
+0149 20600000 rtn 
 
 p_g24_dongle_bind_second_step_keyboard:
-0143 20400137 call p_g24_dongle_bind_kb_payload_cfg 
-0144 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
-0145 c0008147 beq 1 ,p_g24_dongle_kb_bind_step_set2 
-0146 20600000 rtn 
+014a 2040013e call p_g24_dongle_bind_kb_payload_cfg 
+014b 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
+014c c000814e beq 1 ,p_g24_dongle_kb_bind_step_set2 
+014d 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_set2:
-0147 7048a802 jam 2 ,mem_dongle_kb_bind_step 
-0148 20600000 rtn 
+014e 7048a802 jam 2 ,mem_dongle_kb_bind_step 
+014f 20600000 rtn 
 
 p_g24_dongle_bind_third_step:
-0149 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-014a c000814d beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
-014b c0010157 beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
-014c 20600000 rtn 
+0150 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0151 c0008154 beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
+0152 c001015e beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
+0153 20600000 rtn 
 
 p_g24_dongle_bind_third_step_mouse:
-014d 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
-014e c0010150 beq 2 ,p_g24_dongle_ms_bind_step_success 
-014f 20600000 rtn 
+0154 6800c8a7 fetch 1 ,mem_dongle_ms_bind_step 
+0155 c0010157 beq 2 ,p_g24_dongle_ms_bind_step_success 
+0156 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_success:
-0150 20400120 call p_g24_dongle_binding_mouse_living 
-0151 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-0152 1fe1fe01 or_into 0x01 ,pdata 
-0153 6000c8a9 store 1 ,mem_dongle_bind_device_status 
+0157 20400127 call p_g24_dongle_binding_mouse_living 
+0158 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+0159 1fe1fe01 or_into 0x01 ,pdata 
+015a 6000c8a9 store 1 ,mem_dongle_bind_device_status 
 
 p_g24_dongle_bind_exit:
-0154 58000000 setarg 0 
-0155 600148a7 store 2 ,mem_dongle_ms_bind_step 
-0156 2020010e branch p_g24_rx_interrupt_clear 
+015b 58000000 setarg 0 
+015c 600148a7 store 2 ,mem_dongle_ms_bind_step 
+015d 20200115 branch p_g24_rx_interrupt_clear 
 
 p_g24_dongle_bind_third_step_keyboard:
-0157 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
-0158 c080015a bne 0 ,p_g24_dongle_kb_bind_step_success 
-0159 20600000 rtn 
+015e 6800c8a8 fetch 1 ,mem_dongle_kb_bind_step 
+015f c0800161 bne 0 ,p_g24_dongle_kb_bind_step_success 
+0160 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_success:
-015a 20400126 call p_g24_dongle_binding_keyboard_living 
-015b 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-015c 1fe1fe02 or_into 0x02 ,pdata 
-015d 6000c8a9 store 1 ,mem_dongle_bind_device_status 
-015e 20400154 call p_g24_dongle_bind_exit 
+0161 2040012d call p_g24_dongle_binding_keyboard_living 
+0162 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+0163 1fe1fe02 or_into 0x02 ,pdata 
+0164 6000c8a9 store 1 ,mem_dongle_bind_device_status 
+0165 2040015b call p_g24_dongle_bind_exit 
 
 p_g24_dongle_store_kb_bind_flag:
-015f 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
-0160 c12d0000 rtneq dongle_kb_bind_success 
-0161 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
-0162 20400090 call p_dongle_set_kb_bind_eeprom 
-0163 204065d1 call iicd_write_protect_eep_data 
-0164 2020659a branch soft_reset_chip 
+0166 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
+0167 c12d0000 rtneq dongle_kb_bind_success 
+0168 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
+0169 20400093 call p_dongle_set_kb_bind_eeprom 
+016a 204065d1 call iicd_write_protect_eep_data 
+016b 2020659a branch soft_reset_chip 
 
 p_g24_data_attemp_bind:
-0165 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0166 c0008169 beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
-0167 c001016c beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
-0168 20600000 rtn 
+016c 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+016d c0008170 beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
+016e c0010173 beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
+016f 20600000 rtn 
 
 p_g24_data_attemp_mouse_bind:
-0169 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+0170 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_mouse_addr:
-016a 600248dc store 4 ,mem_24g_ms_addr 
-016b 20600000 rtn 
+0171 600248dc store 4 ,mem_24g_ms_addr 
+0172 20600000 rtn 
 
 p_g24_data_attemp_kbd_bind:
-016c 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+0173 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_kbd_addr:
-016d 600248d8 store 4 ,mem_24g_kb_addr 
-016e 20600000 rtn 
+0174 600248d8 store 4 ,mem_24g_kb_addr 
+0175 20600000 rtn 
 
 p_g24_queue_init:
-016f 70490200 jam 0 ,mem_queue_ele_num 
-0170 58004907 setarg mem_queue_start 
-0171 60014903 store 2 ,mem_queue_read 
-0172 60014905 store 2 ,mem_queue_write 
-0173 20600000 rtn 
+0176 70490200 jam 0 ,mem_queue_ele_num 
+0177 58004907 setarg mem_queue_start 
+0178 60014903 store 2 ,mem_queue_read 
+0179 60014905 store 2 ,mem_queue_write 
+017a 20600000 rtn 
 
 p_g24_queue_put:
-0174 df20001f arg 0x1f ,loopcnt 
-0175 d8400cb6 arg mem_usb0_set_report_data ,temp 
-0176 68014905 fetch 2 ,mem_queue_write 
-0177 1fe20a00 copy pdata ,contw 
-0178 18420c00 copy temp ,contr 
-0179 20407f01 call memcpy 
-017a 6800c902 fetch 1 ,mem_queue_ele_num 
-017b 1fe0fe01 increase 1 ,pdata 
-017c 6000c902 store 1 ,mem_queue_ele_num 
-017d 58004905 setarg mem_queue_write 
+017b df20001f arg 0x1f ,loopcnt 
+017c d8400cb6 arg mem_usb0_set_report_data ,temp 
+017d 68014905 fetch 2 ,mem_queue_write 
+017e 1fe20a00 copy pdata ,contw 
+017f 18420c00 copy temp ,contr 
+0180 20407f01 call memcpy 
+0181 6800c902 fetch 1 ,mem_queue_ele_num 
+0182 1fe0fe01 increase 1 ,pdata 
+0183 6000c902 store 1 ,mem_queue_ele_num 
+0184 58004905 setarg mem_queue_write 
 
 p_g24_queue_increase:
-017e 1fe22200 copy pdata ,rega 
-017f d8404967 arg mem_queue_end ,temp 
-0180 ea210000 ifetch 2 ,rega 
-0181 1fe0fe20 increase queue_ele_length ,pdata 
-0182 98467c00 isub temp ,null 
-0183 24210185 nbranch p_g24_queue_put_end ,positive 
-0184 58004907 setarg mem_queue_start 
+0185 1fe22200 copy pdata ,rega 
+0186 d8404967 arg mem_queue_end ,temp 
+0187 ea210000 ifetch 2 ,rega 
+0188 1fe0fe20 increase queue_ele_length ,pdata 
+0189 98467c00 isub temp ,null 
+018a 2421018c nbranch p_g24_queue_put_end ,positive 
+018b 58004907 setarg mem_queue_start 
 
 p_g24_queue_put_end:
-0185 e2210000 istore 2 ,rega 
-0186 20600000 rtn 
+018c e2210000 istore 2 ,rega 
+018d 20600000 rtn 
 
 p_g24_queue_read_point:
-0187 78547c00 disable user 
-0188 6800c902 fetch 1 ,mem_queue_ele_num 
-0189 207a0000 rtn blank 
-018a 78347c00 enable user 
-018b 68014903 fetch 2 ,mem_queue_read 
-018c 20600000 rtn 
+018e 78547c00 disable user 
+018f 6800c902 fetch 1 ,mem_queue_ele_num 
+0190 207a0000 rtn blank 
+0191 78347c00 enable user 
+0192 68014903 fetch 2 ,mem_queue_read 
+0193 20600000 rtn 
 
 p_dongle_usb_dispatch:
-018d 708004ff jam 0xff ,core_write_watchdog 
-018e 204048d3 call usb_isr 
-018f 68008d50 fetch 1 ,mem_usb0_get_set_report 
-0190 207a0000 rtn blank 
-0191 700d5000 jam 0 ,mem_usb0_get_set_report 
-0192 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
-0193 d84002ba arg pc_set_report ,temp 
-0194 98467c00 isub temp ,null 
-0195 24628000 nrtn zero 
-0196 68008cb6 fetch 1 ,mem_usb0_set_report_data 
-0197 c1dd0000 rtnne pc_report_id 
-0198 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
-0199 c05001aa beq command_mode ,p_dongle_dispose_cmd_mode 
-019a c05081a0 beq command_bind ,p_dongle_dispose_cmd_bind 
-019b c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
-019c c05381af beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
-019d c05481b5 beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
-019e c05801b7 beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
-019f 2020302a branch usb0_data_ready_report_set0 
+0194 708004ff jam 0xff ,core_write_watchdog 
+0195 204048d3 call usb_isr 
+0196 68008d50 fetch 1 ,mem_usb0_get_set_report 
+0197 207a0000 rtn blank 
+0198 700d5000 jam 0 ,mem_usb0_get_set_report 
+0199 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
+019a d84002ba arg pc_set_report ,temp 
+019b 98467c00 isub temp ,null 
+019c 24628000 nrtn zero 
+019d 68008cb6 fetch 1 ,mem_usb0_set_report_data 
+019e c1dd0000 rtnne pc_report_id 
+019f 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
+01a0 c05001b1 beq command_mode ,p_dongle_dispose_cmd_mode 
+01a1 c05081a7 beq command_bind ,p_dongle_dispose_cmd_bind 
+01a2 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
+01a3 c05381b6 beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
+01a4 c05481bc beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
+01a5 c05801be beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
+01a6 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_bind:
-01a0 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01a1 c00081a5 beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
-01a2 c04201a8 beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
-01a3 c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
-01a4 2020302a branch usb0_data_ready_report_set0 
+01a7 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01a8 c00081ac beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
+01a9 c04201af beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
+01aa c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+01ab 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_get_bind:
-01a5 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-01a6 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
-01a7 2020303f branch usb0_data_ready_report_set1 
+01ac 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+01ad 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+01ae 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_exit_bind:
-01a8 204000a4 call p_dongle_work_mode_enable 
-01a9 202001a5 branch p_dongle_dispose_cmd_get_bind 
+01af 204000ab call p_dongle_work_mode_enable 
+01b0 202001ac branch p_dongle_dispose_cmd_get_bind 
 
 p_dongle_dispose_cmd_mode:
-01aa 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01ab c04081ad beq com_mode_bind ,p_dongle_enter_bind_mode 
-01ac 2020302a branch usb0_data_ready_report_set0 
+01b1 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01b2 c04081b4 beq com_mode_bind ,p_dongle_enter_bind_mode 
+01b3 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_enter_bind_mode:
-01ad 2040020a call p_g24_bind_mode_enable 
-01ae 2020303f branch usb0_data_ready_report_set1 
+01b4 20400211 call p_g24_bind_mode_enable 
+01b5 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_mode:
-01af 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-01b0 c00001b3 beq dongle_work ,p_dongle_dispose_in_work_mode 
-01b1 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
-01b2 20600000 rtn 
+01b6 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+01b7 c00001ba beq dongle_work ,p_dongle_dispose_in_work_mode 
+01b8 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
+01b9 20600000 rtn 
 
 p_dongle_dispose_in_work_mode:
-01b3 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
-01b4 2020303f branch usb0_data_ready_report_set1 
+01ba 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
+01bb 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_fw_version:
-01b5 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
-01b6 20203049 branch dongle_dispose_cmd_current_fw_version 
+01bc 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
+01bd 20203049 branch dongle_dispose_cmd_current_fw_version 
 
 p_dongle_dispose_cmd_user_defined:
-01b7 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01b8 c07fe59a beq 0xff ,soft_reset_chip 
+01be 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01bf c07fe59a beq 0xff ,soft_reset_chip 
 
 p_dongle_dispose_cmd_ota:
-01b9 7048ba02 jam 2 ,mem_24g_ackpayload_enable 
-01ba 6800c902 fetch 1 ,mem_queue_ele_num 
-01bb c00181c1 beq queue_ele_count ,p_user_defined_queue_buff_full 
-01bc 20400174 call p_g24_queue_put 
-01bd 6800c902 fetch 1 ,mem_queue_ele_num 
-01be c00181c1 beq queue_ele_count ,p_user_defined_queue_buff_full 
+01c0 7048ba02 jam 2 ,mem_24g_ackpayload_enable 
+01c1 6800c902 fetch 1 ,mem_queue_ele_num 
+01c2 c00181c8 beq queue_ele_count ,p_user_defined_queue_buff_full 
+01c3 2040017b call p_g24_queue_put 
+01c4 6800c902 fetch 1 ,mem_queue_ele_num 
+01c5 c00181c8 beq queue_ele_count ,p_user_defined_queue_buff_full 
 
 p_user_defined_queue_buff_free:
-01bf 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
-01c0 2020303f branch usb0_data_ready_report_set1 
+01c6 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
+01c7 2020303f branch usb0_data_ready_report_set1 
 
 p_user_defined_queue_buff_full:
-01c1 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
-01c2 2020303f branch usb0_data_ready_report_set1 
+01c8 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
+01c9 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_auto_bind:
-01c3 204001e8 call p_g24_mode_switch_init 
+01ca 204001ef call p_g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-01c4 204001ee call p_g24_mode_switch 
-01c5 20400219 call p_g24_mode_switch_2 
-01c6 204001cb call p_g24_dongle_work_mode_auto 
-01c7 204001cf call p_g24_dongle_bind_mode_auto 
-01c8 2040024a call p_g24_dongle_search_mode_auto 
-01c9 2040018d call p_dongle_usb_dispatch 
-01ca 202001c4 branch p_dongle_auto_bind_loop 
+01cb 204001f5 call p_g24_mode_switch 
+01cc 20400220 call p_g24_mode_switch_2 
+01cd 204001d2 call p_g24_dongle_work_mode_auto 
+01ce 204001d6 call p_g24_dongle_bind_mode_auto 
+01cf 20400251 call p_g24_dongle_search_mode_auto 
+01d0 20400194 call p_dongle_usb_dispatch 
+01d1 202001cb branch p_dongle_auto_bind_loop 
 
 p_g24_dongle_work_mode_auto:
-01cb 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-01cc c1800000 rtnne dongle_work 
-01cd 204000a9 call p_g24_dongle_work_mode_start 
-01ce 20200238 branch p_g24_rx_nodata_process 
+01d2 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+01d3 c1800000 rtnne dongle_work 
+01d4 204000b0 call p_g24_dongle_work_mode_start 
+01d5 2020023f branch p_g24_rx_nodata_process 
 
 p_g24_dongle_bind_mode_auto:
-01cf 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-01d0 c1808000 rtnne dongle_bind 
-01d1 204000f6 call p_g24_dongle_bind_init 
-01d2 20400102 call p_g24_dongle_bind_data_process 
-01d3 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
-01d4 207a0000 rtn blank 
-01d5 7048b900 jam 0 ,mem_24g_mode_switch 
-01d6 204000a3 call p_dongle_check_mode 
-01d7 20400236 call p_g24_enable_nodata_timer 
-01d8 202001eb branch p_g24_timer_init 
+01d6 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+01d7 c1808000 rtnne dongle_bind 
+01d8 204000fd call p_g24_dongle_bind_init 
+01d9 20400109 call p_g24_dongle_bind_data_process 
+01da 6800c8a9 fetch 1 ,mem_dongle_bind_device_status 
+01db 207a0000 rtn blank 
+01dc 7048b900 jam 0 ,mem_24g_mode_switch 
+01dd 204000aa call p_dongle_check_mode 
+01de 2040023d call p_g24_enable_nodata_timer 
+01df 202001f2 branch p_g24_timer_init 
 
 p_g24_timer_check:
-01d9 20407fe9 call disable_user 
-01da 680a4859 fetcht 4 ,mem_24g_tx_btclk 
-01db 1c427e00 copy clkn_bt ,pdata 
-01dc 98467c00 isub temp ,null 
-01dd 24412d18 ncall g24_timer_timeout ,positive 
-01de 1fe22400 copy pdata ,regb 
-01df 68024859 fetch 4 ,mem_24g_tx_btclk 
-01e0 6808c85d fetcht 1 ,mem_24g_interval 
-01e1 98408400 iadd temp ,temp 
-01e2 1a427e00 copy regb ,pdata 
+01e0 20407fe9 call disable_user 
+01e1 680a4859 fetcht 4 ,mem_24g_tx_btclk 
+01e2 1c427e00 copy clkn_bt ,pdata 
 01e3 98467c00 isub temp ,null 
-01e4 24610000 nrtn positive 
-01e5 793ffe1c set0 28 ,pdata 
-01e6 60024859 store 4 ,mem_24g_tx_btclk 
-01e7 20207fe7 branch enable_user 
+01e4 24412d18 ncall g24_timer_timeout ,positive 
+01e5 1fe22400 copy pdata ,regb 
+01e6 68024859 fetch 4 ,mem_24g_tx_btclk 
+01e7 6808c85d fetcht 1 ,mem_24g_interval 
+01e8 98408400 iadd temp ,temp 
+01e9 1a427e00 copy regb ,pdata 
+01ea 98467c00 isub temp ,null 
+01eb 24610000 nrtn positive 
+01ec 793ffe1c set0 28 ,pdata 
+01ed 60024859 store 4 ,mem_24g_tx_btclk 
+01ee 20207fe7 branch enable_user 
 
 p_g24_mode_switch_init:
-01e8 7048b901 jam 1 ,mem_24g_mode_switch 
-01e9 7048be00 jam 0 ,mem_24g_time_slice 
-01ea 70485dff jam 0xff ,mem_24g_interval 
+01ef 7048b901 jam 1 ,mem_24g_mode_switch 
+01f0 7048be00 jam 0 ,mem_24g_time_slice 
+01f1 70485dff jam 0xff ,mem_24g_interval 
 
 p_g24_timer_init:
-01eb 58000000 setarg 0 
-01ec 60024859 store 4 ,mem_24g_tx_btclk 
-01ed 20600000 rtn 
+01f2 58000000 setarg 0 
+01f3 60024859 store 4 ,mem_24g_tx_btclk 
+01f4 20600000 rtn 
 
 p_g24_mode_switch:
-01ee 6800c8b9 fetch 1 ,mem_24g_mode_switch 
-01ef 207a0000 rtn blank 
-01f0 204001d9 call p_g24_timer_check 
-01f1 24740000 nrtn user 
-01f2 20400203 call p_g24_bind_mode_delay 
-01f3 204001fb call p_g24_work_mode_delay 
-01f4 6800c8be fetch 1 ,mem_24g_time_slice 
-01f5 1fe0fe01 increase 1 ,pdata 
-01f6 1fe17e01 and_into 1 ,pdata 
-01f7 6000c8be store 1 ,mem_24g_time_slice 
-01f8 c0000200 beq 0 ,p_g24_mode_switch_work 
-01f9 c0008208 beq 1 ,p_g24_mode_switch_bind 
-01fa 20600000 rtn 
+01f5 6800c8b9 fetch 1 ,mem_24g_mode_switch 
+01f6 207a0000 rtn blank 
+01f7 204001e0 call p_g24_timer_check 
+01f8 24740000 nrtn user 
+01f9 2040020a call p_g24_bind_mode_delay 
+01fa 20400202 call p_g24_work_mode_delay 
+01fb 6800c8be fetch 1 ,mem_24g_time_slice 
+01fc 1fe0fe01 increase 1 ,pdata 
+01fd 1fe17e01 and_into 1 ,pdata 
+01fe 6000c8be store 1 ,mem_24g_time_slice 
+01ff c0000207 beq 0 ,p_g24_mode_switch_work 
+0200 c000820f beq 1 ,p_g24_mode_switch_bind 
+0201 20600000 rtn 
 
 p_g24_work_mode_delay:
-01fb 6800c97c fetch 1 ,mem_24g_work_delay_count 
-01fc 207a0000 rtn blank 
-01fd 1fe0ffff increase -1 ,pdata 
-01fe 6000c97c store 1 ,mem_24g_work_delay_count 
-01ff 20600000 rtn 
+0202 6800c97c fetch 1 ,mem_24g_work_delay_count 
+0203 207a0000 rtn blank 
+0204 1fe0ffff increase -1 ,pdata 
+0205 6000c97c store 1 ,mem_24g_work_delay_count 
+0206 20600000 rtn 
 
 p_g24_mode_switch_work:
-0200 6800c97c fetch 1 ,mem_24g_work_delay_count 
-0201 243a020a nbranch p_g24_bind_mode_enable ,blank 
-0202 202000a3 branch p_dongle_check_mode 
+0207 6800c97c fetch 1 ,mem_24g_work_delay_count 
+0208 243a0211 nbranch p_g24_bind_mode_enable ,blank 
+0209 202000aa branch p_dongle_check_mode 
 
 p_g24_bind_mode_delay:
-0203 6800c97b fetch 1 ,mem_24g_bind_delay_count 
-0204 207a0000 rtn blank 
-0205 1fe0ffff increase -1 ,pdata 
-0206 6000c97b store 1 ,mem_24g_bind_delay_count 
-0207 20600000 rtn 
+020a 6800c97b fetch 1 ,mem_24g_bind_delay_count 
+020b 207a0000 rtn blank 
+020c 1fe0ffff increase -1 ,pdata 
+020d 6000c97b store 1 ,mem_24g_bind_delay_count 
+020e 20600000 rtn 
 
 p_g24_mode_switch_bind:
-0208 6800c97b fetch 1 ,mem_24g_bind_delay_count 
-0209 243a00a3 nbranch p_dongle_check_mode ,blank 
+020f 6800c97b fetch 1 ,mem_24g_bind_delay_count 
+0210 243a00aa nbranch p_dongle_check_mode ,blank 
 
 p_g24_bind_mode_enable:
-020a 7048a601 jam dongle_bind ,mem_dongle_work_mode 
-020b 7048a500 jam clear_init ,mem_dongle_mode_init 
-020c 20600000 rtn 
+0211 7048a601 jam dongle_bind ,mem_dongle_work_mode 
+0212 7048a500 jam clear_init ,mem_dongle_mode_init 
+0213 20600000 rtn 
 
 p_g24_mode_switch_init_2:
-020d 6800c985 fetch 1 ,mem_24g_mode_switch_exit_2 
-020e 205a0234 call p_g24_mode_switch_start_2 ,blank 
-020f 6800c982 fetch 1 ,mem_24g_mode_switch_2_init 
-0210 c3800000 rtnbit1 0 
-0211 79207e00 set1 0 ,pdata 
-0212 6000c982 store 1 ,mem_24g_mode_switch_2_init 
-0213 70498101 jam 1 ,mem_24g_mode_switch_2 
-0214 70498600 jam 0 ,mem_24g_time_slice_2 
-0215 58000000 setarg 0 
-0216 60014983 store 2 ,mem_24g_mode_switch_cnt_2 
-0217 70485d60 jam 0x60 ,mem_24g_interval 
-0218 202001eb branch p_g24_timer_init 
+0214 6800c985 fetch 1 ,mem_24g_mode_switch_exit_2 
+0215 205a023b call p_g24_mode_switch_start_2 ,blank 
+0216 6800c982 fetch 1 ,mem_24g_mode_switch_2_init 
+0217 c3800000 rtnbit1 0 
+0218 79207e00 set1 0 ,pdata 
+0219 6000c982 store 1 ,mem_24g_mode_switch_2_init 
+021a 70498101 jam 1 ,mem_24g_mode_switch_2 
+021b 70498600 jam 0 ,mem_24g_time_slice_2 
+021c 58000000 setarg 0 
+021d 60014983 store 2 ,mem_24g_mode_switch_cnt_2 
+021e 70485d60 jam 0x60 ,mem_24g_interval 
+021f 202001f2 branch p_g24_timer_init 
 
 p_g24_mode_switch_2:
-0219 6800c985 fetch 1 ,mem_24g_mode_switch_exit_2 
-021a 247a0000 nrtn blank 
-021b 6800c981 fetch 1 ,mem_24g_mode_switch_2 
-021c 207a0000 rtn blank 
-021d 204001d9 call p_g24_timer_check 
-021e 24740000 nrtn user 
-021f 68014983 fetch 2 ,mem_24g_mode_switch_cnt_2 
-0220 1fe0fe01 increase 1 ,pdata 
-0221 60014983 store 2 ,mem_24g_mode_switch_cnt_2 
-0222 d84007d0 arg 0x7d0 ,temp 
-0223 98467c00 isub temp ,null 
-0224 20210230 branch p_g24_mode_switch_exit_2 ,positive 
-0225 204001fb call p_g24_work_mode_delay 
-0226 6800c986 fetch 1 ,mem_24g_time_slice_2 
+0220 6800c985 fetch 1 ,mem_24g_mode_switch_exit_2 
+0221 247a0000 nrtn blank 
+0222 6800c981 fetch 1 ,mem_24g_mode_switch_2 
+0223 207a0000 rtn blank 
+0224 204001e0 call p_g24_timer_check 
+0225 24740000 nrtn user 
+0226 68014983 fetch 2 ,mem_24g_mode_switch_cnt_2 
 0227 1fe0fe01 increase 1 ,pdata 
-0228 1fe17e01 and_into 1 ,pdata 
-0229 6000c986 store 1 ,mem_24g_time_slice_2 
-022a c000022d beq 0 ,p_g24_mode_switch_search 
-022b c000820a beq 1 ,p_g24_bind_mode_enable 
-022c 20600000 rtn 
+0228 60014983 store 2 ,mem_24g_mode_switch_cnt_2 
+0229 d84007d0 arg 0x7d0 ,temp 
+022a 98467c00 isub temp ,null 
+022b 20210237 branch p_g24_mode_switch_exit_2 ,positive 
+022c 20400202 call p_g24_work_mode_delay 
+022d 6800c986 fetch 1 ,mem_24g_time_slice_2 
+022e 1fe0fe01 increase 1 ,pdata 
+022f 1fe17e01 and_into 1 ,pdata 
+0230 6000c986 store 1 ,mem_24g_time_slice_2 
+0231 c0000234 beq 0 ,p_g24_mode_switch_search 
+0232 c0008211 beq 1 ,p_g24_bind_mode_enable 
+0233 20600000 rtn 
 
 p_g24_mode_switch_search:
-022d 6800c97c fetch 1 ,mem_24g_work_delay_count 
-022e 243a020a nbranch p_g24_bind_mode_enable ,blank 
-022f 20200243 branch p_g24_search_mode_enable 
+0234 6800c97c fetch 1 ,mem_24g_work_delay_count 
+0235 243a0211 nbranch p_g24_bind_mode_enable ,blank 
+0236 2020024a branch p_g24_search_mode_enable 
 
 p_g24_mode_switch_exit_2:
-0230 70498501 jam 1 ,mem_24g_mode_switch_exit_2 
-0231 20200243 branch p_g24_search_mode_enable 
+0237 70498501 jam 1 ,mem_24g_mode_switch_exit_2 
+0238 2020024a branch p_g24_search_mode_enable 
 
 p_g24_mode_switch_stop_2:
-0232 70498100 jam 0 ,mem_24g_mode_switch_2 
-0233 20600000 rtn 
+0239 70498100 jam 0 ,mem_24g_mode_switch_2 
+023a 20600000 rtn 
 
 p_g24_mode_switch_start_2:
-0234 70498101 jam 1 ,mem_24g_mode_switch_2 
-0235 20600000 rtn 
+023b 70498101 jam 1 ,mem_24g_mode_switch_2 
+023c 20600000 rtn 
 
 p_g24_enable_nodata_timer:
-0236 7048bd01 jam 1 ,mem_24g_nodata_timer_enable 
-0237 20203095 branch g24_enable_nodata_timer_init 
+023d 7048bd01 jam 1 ,mem_24g_nodata_timer_enable 
+023e 20203095 branch g24_enable_nodata_timer_init 
 
 p_g24_rx_nodata_process:
-0238 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
-0239 c1010000 rtneq 2 
-023a 6800c8bd fetch 1 ,mem_24g_nodata_timer_enable 
-023b 207a0000 rtn blank 
-023c d8e00008 arg timer_nodata ,queue 
-023d 20407f16 call timer_check 
-023e 247a0000 nrtn blank 
-023f 7048bd00 jam 0 ,mem_24g_nodata_timer_enable 
-0240 70497b00 jam 0 ,mem_24g_bind_delay_count 
-0241 70497c00 jam 0 ,mem_24g_work_delay_count 
-0242 2040020d call p_g24_mode_switch_init_2 
+023f 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
+0240 c1010000 rtneq 2 
+0241 6800c8bd fetch 1 ,mem_24g_nodata_timer_enable 
+0242 207a0000 rtn blank 
+0243 d8e00008 arg timer_nodata ,queue 
+0244 20407f16 call timer_check 
+0245 247a0000 nrtn blank 
+0246 7048bd00 jam 0 ,mem_24g_nodata_timer_enable 
+0247 70497b00 jam 0 ,mem_24g_bind_delay_count 
+0248 70497c00 jam 0 ,mem_24g_work_delay_count 
+0249 20400214 call p_g24_mode_switch_init_2 
 
 p_g24_search_mode_enable:
-0243 7048a607 jam dongle_search ,mem_dongle_work_mode 
-0244 7048a500 jam clear_init ,mem_dongle_mode_init 
-0245 2020010e branch p_g24_rx_interrupt_clear 
+024a 7048a607 jam dongle_search ,mem_dongle_work_mode 
+024b 7048a500 jam clear_init ,mem_dongle_mode_init 
+024c 20200115 branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_transmit_ack:
-0246 2040010e call p_g24_rx_interrupt_clear 
-0247 20400450 call p_g24_receive_packet 
-0248 24778000 nrtn user3 
-0249 202002e7 branch p_g24_transmit_ack 
+024d 20400115 call p_g24_rx_interrupt_clear 
+024e 20400457 call p_g24_receive_packet 
+024f 24778000 nrtn user3 
+0250 202002ee branch p_g24_transmit_ack 
 
 p_g24_dongle_search_mode_auto:
-024a 6800c8a6 fetch 1 ,mem_dongle_work_mode 
-024b c1838000 rtnne dongle_search 
-024c 20400271 call p_g24_dongle_search_mode_init 
-024d 20400285 call p_g24_rx_auto_addr_ch_search 
-024e 20400246 call p_g24_receive_transmit_ack 
-024f 2437810e nbranch p_g24_rx_interrupt_clear ,user3 
-0250 20400281 call p_g24_rx_addr_check 
-0251 20428316 call p_g24_receive_packet_parse ,zero 
-0252 6800c8b2 fetch 1 ,mem_24g_abort_packet 
-0253 205a0232 call p_g24_mode_switch_stop_2 ,blank 
-0254 7048a600 jam dongle_work ,mem_dongle_work_mode 
-0255 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-0256 79207e00 set1 dongle_work ,pdata 
-0257 6000c8a5 store 1 ,mem_dongle_mode_init 
-0258 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
-0259 1fe67c02 sub pdata ,2 ,null 
-025a 24428268 ncall p_g24_ackpayload_disable ,zero 
-025b 2040010e call p_g24_rx_interrupt_clear 
-025c 20400236 call p_g24_enable_nodata_timer 
-025d 20400281 call p_g24_rx_addr_check 
-025e 2022826a branch p_g24_dg_ch_num_reinit ,zero 
-025f 68024860 fetch 4 ,mem_24g_addr 
-0260 680a48d8 fetcht 4 ,mem_24g_kb_addr 
-0261 98467c00 isub temp ,null 
-0262 2022826d branch p_g24_kb_ch_num_reinit ,zero 
-0263 68024860 fetch 4 ,mem_24g_addr 
-0264 680a48dc fetcht 4 ,mem_24g_ms_addr 
-0265 98467c00 isub temp ,null 
-0266 2022826f branch p_g24_ms_ch_num_reinit ,zero 
-0267 20600000 rtn 
+0251 6800c8a6 fetch 1 ,mem_dongle_work_mode 
+0252 c1838000 rtnne dongle_search 
+0253 20400278 call p_g24_dongle_search_mode_init 
+0254 2040028c call p_g24_rx_auto_addr_ch_search 
+0255 2040024d call p_g24_receive_transmit_ack 
+0256 24378115 nbranch p_g24_rx_interrupt_clear ,user3 
+0257 20400288 call p_g24_rx_addr_check 
+0258 2042831d call p_g24_receive_packet_parse ,zero 
+0259 6800c8b2 fetch 1 ,mem_24g_abort_packet 
+025a 205a0239 call p_g24_mode_switch_stop_2 ,blank 
+025b 7048a600 jam dongle_work ,mem_dongle_work_mode 
+025c 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+025d 79207e00 set1 dongle_work ,pdata 
+025e 6000c8a5 store 1 ,mem_dongle_mode_init 
+025f 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
+0260 1fe67c02 sub pdata ,2 ,null 
+0261 2442826f ncall p_g24_ackpayload_disable ,zero 
+0262 20400115 call p_g24_rx_interrupt_clear 
+0263 2040023d call p_g24_enable_nodata_timer 
+0264 20400288 call p_g24_rx_addr_check 
+0265 20228271 branch p_g24_dg_ch_num_reinit ,zero 
+0266 68024860 fetch 4 ,mem_24g_addr 
+0267 680a48d8 fetcht 4 ,mem_24g_kb_addr 
+0268 98467c00 isub temp ,null 
+0269 20228274 branch p_g24_kb_ch_num_reinit ,zero 
+026a 68024860 fetch 4 ,mem_24g_addr 
+026b 680a48dc fetcht 4 ,mem_24g_ms_addr 
+026c 98467c00 isub temp ,null 
+026d 20228276 branch p_g24_ms_ch_num_reinit ,zero 
+026e 20600000 rtn 
 
 p_g24_ackpayload_disable:
-0268 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
-0269 20600000 rtn 
+026f 7048ba00 jam 0 ,mem_24g_ackpayload_enable 
+0270 20600000 rtn 
 
 p_g24_dg_ch_num_reinit:
-026a 6800c8e1 fetch 1 ,mem_24g_dg_ch_number 
+0271 6800c8e1 fetch 1 ,mem_24g_dg_ch_number 
 
 p_g24_current_ch_num_reinit:
-026b 6000c843 store 1 ,mem_24g_current_ch_number 
-026c 20600000 rtn 
+0272 6000c843 store 1 ,mem_24g_current_ch_number 
+0273 20600000 rtn 
 
 p_g24_kb_ch_num_reinit:
-026d 6800c8e4 fetch 1 ,mem_24g_kb_ch_number 
-026e 2020026b branch p_g24_current_ch_num_reinit 
+0274 6800c8e4 fetch 1 ,mem_24g_kb_ch_number 
+0275 20200272 branch p_g24_current_ch_num_reinit 
 
 p_g24_ms_ch_num_reinit:
-026f 6800c8e7 fetch 1 ,mem_24g_ms_ch_number 
-0270 2020026b branch p_g24_current_ch_num_reinit 
+0276 6800c8e7 fetch 1 ,mem_24g_ms_ch_number 
+0277 20200272 branch p_g24_current_ch_num_reinit 
 
 p_g24_dongle_search_mode_init:
-0271 6800c8a5 fetch 1 ,mem_dongle_mode_init 
-0272 c3838000 rtnbit1 dongle_search 
-0273 79207e07 set1 dongle_search ,pdata 
-0274 6000c8a5 store 1 ,mem_dongle_mode_init 
-0275 7048be00 jam 0 ,mem_24g_time_slice 
-0276 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
-0277 58000000 setarg 0 
-0278 6001c8f7 store 3 ,mem_rssi_noise_dg_index 
-0279 6003c8e2 store 7 ,mem_24g_dg_config_ch_once 
-027a 20400281 call p_g24_rx_addr_check 
-027b 24628000 nrtn zero 
-027c 6800c843 fetch 1 ,mem_24g_current_ch_number 
-027d 6000c8e1 store 1 ,mem_24g_dg_ch_number 
-027e 6800c842 fetch 1 ,mem_24g_ch 
-027f 6000c8e0 store 1 ,mem_24g_dg_last_ch 
-0280 20600000 rtn 
+0278 6800c8a5 fetch 1 ,mem_dongle_mode_init 
+0279 c3838000 rtnbit1 dongle_search 
+027a 79207e07 set1 dongle_search ,pdata 
+027b 6000c8a5 store 1 ,mem_dongle_mode_init 
+027c 7048be00 jam 0 ,mem_24g_time_slice 
+027d 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
+027e 58000000 setarg 0 
+027f 6001c8f7 store 3 ,mem_rssi_noise_dg_index 
+0280 6003c8e2 store 7 ,mem_24g_dg_config_ch_once 
+0281 20400288 call p_g24_rx_addr_check 
+0282 24628000 nrtn zero 
+0283 6800c843 fetch 1 ,mem_24g_current_ch_number 
+0284 6000c8e1 store 1 ,mem_24g_dg_ch_number 
+0285 6800c842 fetch 1 ,mem_24g_ch 
+0286 6000c8e0 store 1 ,mem_24g_dg_last_ch 
+0287 20600000 rtn 
 
 p_g24_rx_addr_check:
-0281 68024860 fetch 4 ,mem_24g_addr 
-0282 680a48a1 fetcht 4 ,mem_24g_rx_addr 
-0283 98467c00 isub temp ,null 
-0284 20600000 rtn 
+0288 68024860 fetch 4 ,mem_24g_addr 
+0289 680a48a1 fetcht 4 ,mem_24g_rx_addr 
+028a 98467c00 isub temp ,null 
+028b 20600000 rtn 
 
 p_g24_rx_auto_addr_ch_search:
-0285 6800c8be fetch 1 ,mem_24g_time_slice 
-0286 1fe0fe01 increase 1 ,pdata 
-0287 1fe17e03 and_into 3 ,pdata 
-0288 6000c8be store 1 ,mem_24g_time_slice 
-0289 c00002a8 beq 0 ,p_g24_rx_auto_bind_config_kb 
-028a c00082c2 beq 1 ,p_g24_rx_auto_bind_config_dongle 
-028b c001028e beq 2 ,p_g24_rx_auto_bind_config_mouse 
-028c c00182c2 beq 3 ,p_g24_rx_auto_bind_config_dongle 
-028d 20600000 rtn 
+028c 6800c8be fetch 1 ,mem_24g_time_slice 
+028d 1fe0fe01 increase 1 ,pdata 
+028e 1fe17e03 and_into 3 ,pdata 
+028f 6000c8be store 1 ,mem_24g_time_slice 
+0290 c00002af beq 0 ,p_g24_rx_auto_bind_config_kb 
+0291 c00082c9 beq 1 ,p_g24_rx_auto_bind_config_dongle 
+0292 c0010295 beq 2 ,p_g24_rx_auto_bind_config_mouse 
+0293 c00182c9 beq 3 ,p_g24_rx_auto_bind_config_dongle 
+0294 20600000 rtn 
 
 p_g24_rx_auto_bind_config_mouse:
-028e 20400131 call p_g24_dongle_bind_ms_payload_cfg 
-028f 680248dc fetch 4 ,mem_24g_ms_addr 
-0290 203a0285 branch p_g24_rx_auto_addr_ch_search ,blank 
-0291 20400416 call p_g24_update_addr_and_synccrc8 
-0292 6800c8e8 fetch 1 ,mem_24g_ms_config_ch_once 
-0293 205a02a3 call p_g24_ms_config_ch_once ,blank 
-0294 6800c8e6 fetch 1 ,mem_24g_ms_last_ch 
-0295 6000c842 store 1 ,mem_24g_ch 
-0296 6808c8f9 fetcht 1 ,mem_rssi_noise_ms_index 
-0297 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
-0298 2040040a call p_rssi_store 
-0299 6008c8f9 storet 1 ,mem_rssi_noise_ms_index 
-029a 20400411 call p_rssi_average 
-029b 6008c8f6 storet 1 ,mem_rssi_noise_ms_avg 
-029c 18467c50 sub temp ,rssi_thresh_noise ,null 
-029d 24610000 nrtn positive 
-029e 6808c8e7 fetcht 1 ,mem_24g_ms_ch_number 
-029f 2040043a call p_g24_ch_map_size 
-02a0 6008c8e7 storet 1 ,mem_24g_ms_ch_number 
-02a1 6000c8e6 store 1 ,mem_24g_ms_last_ch 
-02a2 20600000 rtn 
+0295 20400138 call p_g24_dongle_bind_ms_payload_cfg 
+0296 680248dc fetch 4 ,mem_24g_ms_addr 
+0297 203a028c branch p_g24_rx_auto_addr_ch_search ,blank 
+0298 2040041d call p_g24_update_addr_and_synccrc8 
+0299 6800c8e8 fetch 1 ,mem_24g_ms_config_ch_once 
+029a 205a02aa call p_g24_ms_config_ch_once ,blank 
+029b 6800c8e6 fetch 1 ,mem_24g_ms_last_ch 
+029c 6000c842 store 1 ,mem_24g_ch 
+029d 6808c8f9 fetcht 1 ,mem_rssi_noise_ms_index 
+029e da200f9e arg mem_rssi_noise_ms_buffer ,rega 
+029f 20400411 call p_rssi_store 
+02a0 6008c8f9 storet 1 ,mem_rssi_noise_ms_index 
+02a1 20400418 call p_rssi_average 
+02a2 6008c8f6 storet 1 ,mem_rssi_noise_ms_avg 
+02a3 18467c50 sub temp ,rssi_thresh_noise ,null 
+02a4 24610000 nrtn positive 
+02a5 6808c8e7 fetcht 1 ,mem_24g_ms_ch_number 
+02a6 20400441 call p_g24_ch_map_size 
+02a7 6008c8e7 storet 1 ,mem_24g_ms_ch_number 
+02a8 6000c8e6 store 1 ,mem_24g_ms_last_ch 
+02a9 20600000 rtn 
 
 p_g24_ms_config_ch_once:
-02a3 7048e801 jam 1 ,mem_24g_ms_config_ch_once 
-02a4 d8400000 arg 0 ,temp 
-02a5 2040043e call p_g24_ch_calc 
-02a6 6000c8e6 store 1 ,mem_24g_ms_last_ch 
-02a7 20600000 rtn 
+02aa 7048e801 jam 1 ,mem_24g_ms_config_ch_once 
+02ab d8400000 arg 0 ,temp 
+02ac 20400445 call p_g24_ch_calc 
+02ad 6000c8e6 store 1 ,mem_24g_ms_last_ch 
+02ae 20600000 rtn 
 
 p_g24_rx_auto_bind_config_kb:
-02a8 20400137 call p_g24_dongle_bind_kb_payload_cfg 
-02a9 680248d8 fetch 4 ,mem_24g_kb_addr 
-02aa 203a0285 branch p_g24_rx_auto_addr_ch_search ,blank 
-02ab 20400416 call p_g24_update_addr_and_synccrc8 
-02ac 6800c8e5 fetch 1 ,mem_24g_kb_config_ch_once 
-02ad 205a02bd call p_g24_kb_config_ch_once ,blank 
-02ae 6800c8e3 fetch 1 ,mem_24g_kb_last_ch 
-02af 6000c842 store 1 ,mem_24g_ch 
-02b0 6808c8f8 fetcht 1 ,mem_rssi_noise_kb_index 
-02b1 da20109e arg mem_rssi_noise_kb_buffer ,rega 
-02b2 2040040a call p_rssi_store 
-02b3 6008c8f8 storet 1 ,mem_rssi_noise_kb_index 
-02b4 20400411 call p_rssi_average 
-02b5 6008c8f5 storet 1 ,mem_rssi_noise_kb_avg 
-02b6 18467c50 sub temp ,rssi_thresh_noise ,null 
-02b7 24610000 nrtn positive 
-02b8 6808c8e4 fetcht 1 ,mem_24g_kb_ch_number 
-02b9 2040043a call p_g24_ch_map_size 
-02ba 6008c8e4 storet 1 ,mem_24g_kb_ch_number 
-02bb 6000c8e3 store 1 ,mem_24g_kb_last_ch 
-02bc 20600000 rtn 
+02af 2040013e call p_g24_dongle_bind_kb_payload_cfg 
+02b0 680248d8 fetch 4 ,mem_24g_kb_addr 
+02b1 203a028c branch p_g24_rx_auto_addr_ch_search ,blank 
+02b2 2040041d call p_g24_update_addr_and_synccrc8 
+02b3 6800c8e5 fetch 1 ,mem_24g_kb_config_ch_once 
+02b4 205a02c4 call p_g24_kb_config_ch_once ,blank 
+02b5 6800c8e3 fetch 1 ,mem_24g_kb_last_ch 
+02b6 6000c842 store 1 ,mem_24g_ch 
+02b7 6808c8f8 fetcht 1 ,mem_rssi_noise_kb_index 
+02b8 da20109e arg mem_rssi_noise_kb_buffer ,rega 
+02b9 20400411 call p_rssi_store 
+02ba 6008c8f8 storet 1 ,mem_rssi_noise_kb_index 
+02bb 20400418 call p_rssi_average 
+02bc 6008c8f5 storet 1 ,mem_rssi_noise_kb_avg 
+02bd 18467c50 sub temp ,rssi_thresh_noise ,null 
+02be 24610000 nrtn positive 
+02bf 6808c8e4 fetcht 1 ,mem_24g_kb_ch_number 
+02c0 20400441 call p_g24_ch_map_size 
+02c1 6008c8e4 storet 1 ,mem_24g_kb_ch_number 
+02c2 6000c8e3 store 1 ,mem_24g_kb_last_ch 
+02c3 20600000 rtn 
 
 p_g24_kb_config_ch_once:
-02bd 7048e501 jam 1 ,mem_24g_kb_config_ch_once 
-02be d8400000 arg 0 ,temp 
-02bf 2040043e call p_g24_ch_calc 
-02c0 6000c8e3 store 1 ,mem_24g_kb_last_ch 
-02c1 20600000 rtn 
+02c4 7048e501 jam 1 ,mem_24g_kb_config_ch_once 
+02c5 d8400000 arg 0 ,temp 
+02c6 20400445 call p_g24_ch_calc 
+02c7 6000c8e3 store 1 ,mem_24g_kb_last_ch 
+02c8 20600000 rtn 
 
 p_g24_rx_auto_bind_config_dongle:
-02c2 20400131 call p_g24_dongle_bind_ms_payload_cfg 
-02c3 680248a1 fetch 4 ,mem_24g_rx_addr 
-02c4 20400416 call p_g24_update_addr_and_synccrc8 
-02c5 6800c8e2 fetch 1 ,mem_24g_dg_config_ch_once 
-02c6 205a02d6 call p_g24_dg_config_ch_once ,blank 
-02c7 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
-02c8 6000c842 store 1 ,mem_24g_ch 
-02c9 6808c8f7 fetcht 1 ,mem_rssi_noise_dg_index 
-02ca da200e9e arg mem_rssi_noise_dg_buffer ,rega 
-02cb 2040040a call p_rssi_store 
-02cc 6008c8f7 storet 1 ,mem_rssi_noise_dg_index 
-02cd 20400411 call p_rssi_average 
-02ce 6008c8f4 storet 1 ,mem_rssi_noise_dg_avg 
-02cf 18467c50 sub temp ,rssi_thresh_noise ,null 
-02d0 24610000 nrtn positive 
-02d1 6808c8e1 fetcht 1 ,mem_24g_dg_ch_number 
-02d2 2040043a call p_g24_ch_map_size 
-02d3 6008c8e1 storet 1 ,mem_24g_dg_ch_number 
-02d4 6000c8e0 store 1 ,mem_24g_dg_last_ch 
-02d5 20600000 rtn 
+02c9 20400138 call p_g24_dongle_bind_ms_payload_cfg 
+02ca 680248a1 fetch 4 ,mem_24g_rx_addr 
+02cb 2040041d call p_g24_update_addr_and_synccrc8 
+02cc 6800c8e2 fetch 1 ,mem_24g_dg_config_ch_once 
+02cd 205a02dd call p_g24_dg_config_ch_once ,blank 
+02ce 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
+02cf 6000c842 store 1 ,mem_24g_ch 
+02d0 6808c8f7 fetcht 1 ,mem_rssi_noise_dg_index 
+02d1 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
+02d2 20400411 call p_rssi_store 
+02d3 6008c8f7 storet 1 ,mem_rssi_noise_dg_index 
+02d4 20400418 call p_rssi_average 
+02d5 6008c8f4 storet 1 ,mem_rssi_noise_dg_avg 
+02d6 18467c50 sub temp ,rssi_thresh_noise ,null 
+02d7 24610000 nrtn positive 
+02d8 6808c8e1 fetcht 1 ,mem_24g_dg_ch_number 
+02d9 20400441 call p_g24_ch_map_size 
+02da 6008c8e1 storet 1 ,mem_24g_dg_ch_number 
+02db 6000c8e0 store 1 ,mem_24g_dg_last_ch 
+02dc 20600000 rtn 
 
 p_g24_dg_config_ch_once:
-02d6 7048e201 jam 1 ,mem_24g_dg_config_ch_once 
-02d7 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
-02d8 6000c842 store 1 ,mem_24g_ch 
-02d9 20600000 rtn 
+02dd 7048e201 jam 1 ,mem_24g_dg_config_ch_once 
+02de 6800c8e0 fetch 1 ,mem_24g_dg_last_ch 
+02df 6000c842 store 1 ,mem_24g_ch 
+02e0 20600000 rtn 
 
 p_g24_read_len_pid_crc:
-02da 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
-02db 1fe97e00 rshift3 pdata ,pdata 
-02dc 6000c836 store 1 ,mem_24g_rxdata_length 
-02dd 1fe0fe01 increase 1 ,pdata 
-02de d8c047b3 arg mem_24g_rxbuf + 1 ,contr 
-02df 98c08c00 iadd contr ,contr 
-02e0 e8c18000 ifetch 3 ,contr 
-02e1 6001c875 store 3 ,mem_24g_sta_crc 
-02e2 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
-02e3 1fe37e00 rshift pdata ,pdata 
-02e4 1fe17e03 and pdata ,0x03 ,pdata 
-02e5 6000c87b store 1 ,mem_24g_sta_pid 
-02e6 20600000 rtn 
+02e1 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
+02e2 1fe97e00 rshift3 pdata ,pdata 
+02e3 6000c836 store 1 ,mem_24g_rxdata_length 
+02e4 1fe0fe01 increase 1 ,pdata 
+02e5 d8c047b3 arg mem_24g_rxbuf + 1 ,contr 
+02e6 98c08c00 iadd contr ,contr 
+02e7 e8c18000 ifetch 3 ,contr 
+02e8 6001c875 store 3 ,mem_24g_sta_crc 
+02e9 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
+02ea 1fe37e00 rshift pdata ,pdata 
+02eb 1fe17e03 and pdata ,0x03 ,pdata 
+02ec 6000c87b store 1 ,mem_24g_sta_pid 
+02ed 20600000 rtn 
 
 p_g24_transmit_ack:
-02e7 6800c7b2 fetch 1 ,mem_24g_rxbuf 
-02e8 6000c839 store 1 ,mem_24g_data_type 
-02e9 204002da call p_g24_read_len_pid_crc 
-02ea 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
-02eb 2feffe00 isolate1 bit_ack_24g ,pdata 
-02ec 202082f0 branch p_g24tx_no_ack ,true 
+02ee 6800c7b2 fetch 1 ,mem_24g_rxbuf 
+02ef 6000c839 store 1 ,mem_24g_data_type 
+02f0 204002e1 call p_g24_read_len_pid_crc 
+02f1 6800c7b3 fetch 1 ,mem_24g_rxbuf + 1 
+02f2 2feffe00 isolate1 bit_ack_24g ,pdata 
+02f3 202082f7 branch p_g24tx_no_ack ,true 
 
 p_g24tx_with_ack:
-02ed 204002f1 call p_g24_ackpayload_prep 
-02ee 20400424 call p_g24_transmit_prep 
-02ef 2040049a call p_g24_transmit 
+02f4 204002f8 call p_g24_ackpayload_prep 
+02f5 2040042b call p_g24_transmit_prep 
+02f6 204004a1 call p_g24_transmit 
 
 p_g24tx_no_ack:
-02f0 20200492 branch p_g24_end_of_packet 
+02f7 20200499 branch p_g24_end_of_packet 
 
 p_g24_ackpayload_prep:
-02f1 70483800 jam 0 ,mem_24g_datalen 
-02f2 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
-02f3 207a0000 rtn blank 
-02f4 c00082f8 beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
-02f5 c0010300 beq user_ackpayload ,p_g24_user_ackpayload_prep 
-02f6 c001830a beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
-02f7 20600000 rtn 
+02f8 70483800 jam 0 ,mem_24g_datalen 
+02f9 6800c8ba fetch 1 ,mem_24g_ackpayload_enable 
+02fa 207a0000 rtn blank 
+02fb c00082ff beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
+02fc c0010307 beq user_ackpayload ,p_g24_user_ackpayload_prep 
+02fd c0018311 beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
+02fe 20600000 rtn 
 
 p_g24_bind_ackpayload_prep:
-02f8 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
-02f9 20400111 call p_g24_dongle_binding_device_check 
-02fa 24778000 nrtn user3 
-02fb 70483808 jam 0x08 ,mem_24g_datalen 
-02fc df200008 arg 0x08 ,loopcnt 
-02fd d8c048aa arg mem_24g_bind_payload ,contr 
-02fe d8a047d4 arg mem_24g_txbuf ,contw 
-02ff 20207f01 branch memcpy 
+02ff 7048ba01 jam 1 ,mem_24g_ackpayload_enable 
+0300 20400118 call p_g24_dongle_binding_device_check 
+0301 24778000 nrtn user3 
+0302 70483808 jam 0x08 ,mem_24g_datalen 
+0303 df200008 arg 0x08 ,loopcnt 
+0304 d8c048aa arg mem_24g_bind_payload ,contr 
+0305 d8a047d4 arg mem_24g_txbuf ,contw 
+0306 20207f01 branch memcpy 
 
 p_g24_user_ackpayload_prep:
-0300 20400187 call p_g24_queue_read_point 
-0301 24740000 nrtn user 
-0302 7048381f jam 0x1f ,mem_24g_datalen 
-0303 df20001f arg 0x1f ,loopcnt 
-0304 1fe20c00 copy pdata ,contr 
-0305 d8a047d4 arg mem_24g_txbuf ,contw 
-0306 20407f01 call memcpy 
-0307 680147d7 fetch 2 ,mem_24g_txbuf + 3 
-0308 600148ed store 2 ,mem_24g_ota_sta_pid 
-0309 20600000 rtn 
+0307 2040018e call p_g24_queue_read_point 
+0308 24740000 nrtn user 
+0309 7048381f jam 0x1f ,mem_24g_datalen 
+030a df20001f arg 0x1f ,loopcnt 
+030b 1fe20c00 copy pdata ,contr 
+030c d8a047d4 arg mem_24g_txbuf ,contw 
+030d 20407f01 call memcpy 
+030e 680147d7 fetch 2 ,mem_24g_txbuf + 3 
+030f 600148ed store 2 ,mem_24g_ota_sta_pid 
+0310 20600000 rtn 
 
 p_g24_kb_led_ackpayload_prep:
-030a 6800c7b4 fetch 1 ,mem_24g_rxbuf + 2 
-030b c00082f8 beq 0x01 ,p_g24_bind_ackpayload_prep 
-030c c07f82f8 beq 0xff ,p_g24_bind_ackpayload_prep 
-030d 700d4300 jam 0 ,mem_usb_tx_win_enable 
-030e 70483801 jam 0x01 ,mem_24g_datalen 
-030f df200001 arg 0x01 ,loopcnt 
-0310 d8c0497a arg mem_24g_led_status ,contr 
-0311 d8a047d4 arg mem_24g_txbuf ,contw 
-0312 20207f01 branch memcpy 
+0311 6800c7b4 fetch 1 ,mem_24g_rxbuf + 2 
+0312 c00082ff beq 0x01 ,p_g24_bind_ackpayload_prep 
+0313 c07f82ff beq 0xff ,p_g24_bind_ackpayload_prep 
+0314 700d4300 jam 0 ,mem_usb_tx_win_enable 
+0315 70483801 jam 0x01 ,mem_24g_datalen 
+0316 df200001 arg 0x01 ,loopcnt 
+0317 d8c0497a arg mem_24g_led_status ,contr 
+0318 d8a047d4 arg mem_24g_txbuf ,contw 
+0319 20207f01 branch memcpy 
 
 p_g24_receive_packet_start:
-0313 20400246 call p_g24_receive_transmit_ack 
-0314 2437810e nbranch p_g24_rx_interrupt_clear ,user3 
-0315 20200316 branch p_g24_receive_packet_parse 
+031a 2040024d call p_g24_receive_transmit_ack 
+031b 24378115 nbranch p_g24_rx_interrupt_clear ,user3 
+031c 2020031d branch p_g24_receive_packet_parse 
 
 p_g24_receive_packet_parse:
-0316 20400327 call p_g24_receive_packet_parse_pid_crc 
-0317 2434010e nbranch p_g24_rx_interrupt_clear ,user 
-0318 6800c836 fetch 1 ,mem_24g_rxdata_length 
-0319 203a010e branch p_g24_rx_interrupt_clear ,blank 
-031a 1fe0fe02 increase 2 ,pdata 
-031b 98007200 iforce loopcnt 
-031c d8c047b2 arg mem_24g_rxbuf ,contr 
-031d d8a0487f arg mem_24g_rxdata_temp ,contw 
-031e 20407f01 call memcpy 
-031f 7048b900 jam 0 ,mem_24g_mode_switch 
-0320 6800c8bc fetch 1 ,mem_24g_pair_mode 
-0321 205a0236 call p_g24_enable_nodata_timer ,blank 
-0322 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
-0323 c0008335 beq 0x01 ,p_g24_data_type1 
-0324 c0010355 beq 0x02 ,p_g24_data_type2 
-0325 c07f83aa beq 0xff ,p_g24_data_attemp 
-0326 2020010e branch p_g24_rx_interrupt_clear 
+031d 2040032e call p_g24_receive_packet_parse_pid_crc 
+031e 24340115 nbranch p_g24_rx_interrupt_clear ,user 
+031f 6800c836 fetch 1 ,mem_24g_rxdata_length 
+0320 203a0115 branch p_g24_rx_interrupt_clear ,blank 
+0321 1fe0fe02 increase 2 ,pdata 
+0322 98007200 iforce loopcnt 
+0323 d8c047b2 arg mem_24g_rxbuf ,contr 
+0324 d8a0487f arg mem_24g_rxdata_temp ,contw 
+0325 20407f01 call memcpy 
+0326 7048b900 jam 0 ,mem_24g_mode_switch 
+0327 6800c8bc fetch 1 ,mem_24g_pair_mode 
+0328 205a023d call p_g24_enable_nodata_timer ,blank 
+0329 6800c881 fetch 1 ,mem_24g_rxdata_temp + 2 
+032a c000833c beq 0x01 ,p_g24_data_type1 
+032b c001035c beq 0x02 ,p_g24_data_type2 
+032c c07f83b1 beq 0xff ,p_g24_data_attemp 
+032d 20200115 branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_packet_parse_pid_crc:
-0327 20407fe9 call disable_user 
-0328 6800c87b fetch 1 ,mem_24g_sta_pid 
-0329 6808c87c fetcht 1 ,mem_24g_last_pid 
-032a 98467c00 isub temp ,null 
-032b 2442ffe7 ncall enable_user ,zero 
-032c 6800c87b fetch 1 ,mem_24g_sta_pid 
-032d 6000c87c store 1 ,mem_24g_last_pid 
-032e 6801c875 fetch 3 ,mem_24g_sta_crc 
-032f 6809c878 fetcht 3 ,mem_24g_last_crc 
-0330 98467c00 isub temp ,null 
-0331 2442ffe7 ncall enable_user ,zero 
-0332 6801c875 fetch 3 ,mem_24g_sta_crc 
-0333 6001c878 store 3 ,mem_24g_last_crc 
-0334 20600000 rtn 
+032e 20407fe9 call disable_user 
+032f 6800c87b fetch 1 ,mem_24g_sta_pid 
+0330 6808c87c fetcht 1 ,mem_24g_last_pid 
+0331 98467c00 isub temp ,null 
+0332 2442ffe7 ncall enable_user ,zero 
+0333 6800c87b fetch 1 ,mem_24g_sta_pid 
+0334 6000c87c store 1 ,mem_24g_last_pid 
+0335 6801c875 fetch 3 ,mem_24g_sta_crc 
+0336 6809c878 fetcht 3 ,mem_24g_last_crc 
+0337 98467c00 isub temp ,null 
+0338 2442ffe7 ncall enable_user ,zero 
+0339 6801c875 fetch 3 ,mem_24g_sta_crc 
+033a 6001c878 store 3 ,mem_24g_last_crc 
+033b 20600000 rtn 
 
 p_g24_data_type1:
-0335 20400120 call p_g24_dongle_binding_mouse_living 
-0336 204000d0 call p_g24_ch_timer_reinit 
-0337 6800c8b2 fetch 1 ,mem_24g_abort_packet 
-0338 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
-0339 284ffe03 isolate1 bit_abort ,temp 
-033a 7920fe00 setflag true ,0 ,pdata 
-033b 6000c8b2 store 1 ,mem_24g_abort_packet 
-033c c00083b4 beq 1 ,p_g24_data_attemp_mouse_abort 
-033d 6800c8bb fetch 1 ,mem_24g_hop_packet 
-033e 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
-033f 284ffe04 isolate1 bit_hop ,temp 
-0340 7920fe00 setflag true ,0 ,pdata 
-0341 6000c8bb store 1 ,mem_24g_hop_packet 
-0342 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0343 c06783b8 beq cmd_ota ,p_g24_ota_process 
-0344 58000001 setarg ms_report_id 
-0345 60008d54 store 1 ,mem_usb_mouse_data 
-0346 6803c882 fetch 7 ,mem_24g_rxdata_temp + 3 
-0347 e0a38000 istore 7 ,contw 
-0348 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-0349 245a034d ncall p_g24_ms_enable_blank_data_forcibly ,blank 
-034a 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-034b 205a0351 call p_g24_ms_disable_blank_data_forcibly ,blank 
-034c 202031b8 branch g24_data_type1_usbtx_enable 
+033c 20400127 call p_g24_dongle_binding_mouse_living 
+033d 204000d7 call p_g24_ch_timer_reinit 
+033e 6800c8b2 fetch 1 ,mem_24g_abort_packet 
+033f 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
+0340 284ffe03 isolate1 bit_abort ,temp 
+0341 7920fe00 setflag true ,0 ,pdata 
+0342 6000c8b2 store 1 ,mem_24g_abort_packet 
+0343 c00083bb beq 1 ,p_g24_data_attemp_mouse_abort 
+0344 6800c8bb fetch 1 ,mem_24g_hop_packet 
+0345 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
+0346 284ffe04 isolate1 bit_hop ,temp 
+0347 7920fe00 setflag true ,0 ,pdata 
+0348 6000c8bb store 1 ,mem_24g_hop_packet 
+0349 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+034a c06783bf beq cmd_ota ,p_g24_ota_process 
+034b 58000001 setarg ms_report_id 
+034c 60008d54 store 1 ,mem_usb_mouse_data 
+034d 6803c882 fetch 7 ,mem_24g_rxdata_temp + 3 
+034e e0a38000 istore 7 ,contw 
+034f 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0350 245a0354 ncall p_g24_ms_enable_blank_data_forcibly ,blank 
+0351 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0352 205a0358 call p_g24_ms_disable_blank_data_forcibly ,blank 
+0353 202031b8 branch g24_data_type1_usbtx_enable 
 
 p_g24_ms_enable_blank_data_forcibly:
-034d 7048d701 jam 1 ,mem_24g_ms_blank_data_enable 
-034e 58000180 setarg timer_new_ms_blank_delay 
-034f d8e0000b arg timer_new_ms_blank ,queue 
-0350 20207f08 branch timer_init 
+0354 7048d701 jam 1 ,mem_24g_ms_blank_data_enable 
+0355 58000180 setarg timer_new_ms_blank_delay 
+0356 d8e0000b arg timer_new_ms_blank ,queue 
+0357 20207f08 branch timer_init 
 
 p_g24_ms_disable_blank_data_forcibly:
-0351 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
-0352 58000000 setarg 0 
-0353 d8e0000b arg timer_new_ms_blank ,queue 
-0354 20207f08 branch timer_init 
+0358 7048d700 jam 0 ,mem_24g_ms_blank_data_enable 
+0359 58000000 setarg 0 
+035a d8e0000b arg timer_new_ms_blank ,queue 
+035b 20207f08 branch timer_init 
 
 p_g24_data_type2:
-0355 20400126 call p_g24_dongle_binding_keyboard_living 
-0356 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
-0357 284ffe03 isolate1 bit_abort ,temp 
-0358 202083b6 branch p_g24_data_attemp_kbd_abort ,true 
-0359 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-035a c000035e beq 0 ,p_g24_data_type2_data1 
-035b c0010393 beq 2 ,p_g24_data_type2_data3 
-035c c001837a beq 3 ,p_g24_data_type2_data2 
-035d 2020010e branch p_g24_rx_interrupt_clear 
+035c 2040012d call p_g24_dongle_binding_keyboard_living 
+035d 6808c87f fetcht 1 ,mem_24g_rxdata_temp 
+035e 284ffe03 isolate1 bit_abort ,temp 
+035f 202083bd branch p_g24_data_attemp_kbd_abort ,true 
+0360 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+0361 c0000365 beq 0 ,p_g24_data_type2_data1 
+0362 c001039a beq 2 ,p_g24_data_type2_data3 
+0363 c0018381 beq 3 ,p_g24_data_type2_data2 
+0364 20200115 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_data1:
-035e 6800c884 fetch 1 ,mem_24g_rxdata_temp + 5 
-035f 6000c8ba store 1 ,mem_24g_ackpayload_enable 
-0360 70488400 jam 0 ,mem_24g_rxdata_temp + 5 
-0361 d8a00d64 arg mem_usb_kb_data ,contw 
-0362 2040036f call p_g24_data_type2_copy_data1 
-0363 68040d64 fetch 8 ,mem_usb_kb_data 
-0364 245a0372 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
-0365 68040d64 fetch 8 ,mem_usb_kb_data 
-0366 205a0376 call p_g24_kb_disable_blank_data_forcibly ,blank 
-0367 68040d64 fetch 8 ,mem_usb_kb_data 
-0368 600448bf store 8 ,mem_24g_kb_data_sta_data 
-0369 680c48c7 fetcht 8 ,mem_24g_kb_data_last_data 
-036a 98467c00 isub temp ,null 
-036b 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
-036c 680448bf fetch 8 ,mem_24g_kb_data_sta_data 
-036d 600448c7 store 8 ,mem_24g_kb_data_last_data 
-036e 2020010e branch p_g24_rx_interrupt_clear 
+0365 6800c884 fetch 1 ,mem_24g_rxdata_temp + 5 
+0366 6000c8ba store 1 ,mem_24g_ackpayload_enable 
+0367 70488400 jam 0 ,mem_24g_rxdata_temp + 5 
+0368 d8a00d64 arg mem_usb_kb_data ,contw 
+0369 20400376 call p_g24_data_type2_copy_data1 
+036a 68040d64 fetch 8 ,mem_usb_kb_data 
+036b 245a0379 ncall p_g24_kb_enable_blank_data_forcibly ,blank 
+036c 68040d64 fetch 8 ,mem_usb_kb_data 
+036d 205a037d call p_g24_kb_disable_blank_data_forcibly ,blank 
+036e 68040d64 fetch 8 ,mem_usb_kb_data 
+036f 600448bf store 8 ,mem_24g_kb_data_sta_data 
+0370 680c48c7 fetcht 8 ,mem_24g_kb_data_last_data 
+0371 98467c00 isub temp ,null 
+0372 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
+0373 680448bf fetch 8 ,mem_24g_kb_data_sta_data 
+0374 600448c7 store 8 ,mem_24g_kb_data_last_data 
+0375 20200115 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data1:
-036f d8c04883 arg mem_24g_rxdata_temp + 4 ,contr 
-0370 df200008 arg 8 ,loopcnt 
-0371 20207f01 branch memcpy 
+0376 d8c04883 arg mem_24g_rxdata_temp + 4 ,contr 
+0377 df200008 arg 8 ,loopcnt 
+0378 20207f01 branch memcpy 
 
 p_g24_kb_enable_blank_data_forcibly:
-0372 7048d501 jam 1 ,mem_24g_kb_blank_data_enable 
-0373 58000180 setarg timer_new_kb_blank_delay 
-0374 d8e0000e arg timer_new_kb_blank ,queue 
-0375 20207f08 branch timer_init 
+0379 7048d501 jam 1 ,mem_24g_kb_blank_data_enable 
+037a 58000180 setarg timer_new_kb_blank_delay 
+037b d8e0000e arg timer_new_kb_blank ,queue 
+037c 20207f08 branch timer_init 
 
 p_g24_kb_disable_blank_data_forcibly:
-0376 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
-0377 58000000 setarg 0 
-0378 d8e0000e arg timer_new_kb_blank ,queue 
-0379 20207f08 branch timer_init 
+037d 7048d500 jam 0 ,mem_24g_kb_blank_data_enable 
+037e 58000000 setarg 0 
+037f d8e0000e arg timer_new_kb_blank ,queue 
+0380 20207f08 branch timer_init 
 
 p_g24_data_type2_data2:
-037a d8a00d74 arg mem_usb_kb_multikey ,contw 
-037b 20400388 call p_g24_data_type2_copy_data2 
-037c 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-037d 245a038b ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
-037e 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-037f 205a038f call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
-0380 68018d74 fetch 3 ,mem_usb_kb_multikey 
-0381 6001c8cf store 3 ,mem_24g_kb_multikey_sta_data 
-0382 6809c8d2 fetcht 3 ,mem_24g_kb_multikey_last_data 
-0383 98467c00 isub temp ,null 
-0384 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
-0385 6801c8cf fetch 3 ,mem_24g_kb_multikey_sta_data 
-0386 6001c8d2 store 3 ,mem_24g_kb_multikey_last_data 
-0387 2020010e branch p_g24_rx_interrupt_clear 
+0381 d8a00d74 arg mem_usb_kb_multikey ,contw 
+0382 2040038f call p_g24_data_type2_copy_data2 
+0383 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+0384 245a0392 ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
+0385 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+0386 205a0396 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
+0387 68018d74 fetch 3 ,mem_usb_kb_multikey 
+0388 6001c8cf store 3 ,mem_24g_kb_multikey_sta_data 
+0389 6809c8d2 fetcht 3 ,mem_24g_kb_multikey_last_data 
+038a 98467c00 isub temp ,null 
+038b 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+038c 6801c8cf fetch 3 ,mem_24g_kb_multikey_sta_data 
+038d 6001c8d2 store 3 ,mem_24g_kb_multikey_last_data 
+038e 20200115 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data2:
-0388 d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
-0389 df200003 arg 3 ,loopcnt 
-038a 20207f01 branch memcpy 
+038f d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
+0390 df200003 arg 3 ,loopcnt 
+0391 20207f01 branch memcpy 
 
 p_g24_kb_mul_enable_blank_data_forcibly:
-038b 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-038c 58000180 setarg timer_new_kb_mul_blank_delay 
-038d d8e0000c arg timer_new_kb_mul_blank ,queue 
-038e 20207f08 branch timer_init 
+0392 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+0393 58000180 setarg timer_new_kb_mul_blank_delay 
+0394 d8e0000c arg timer_new_kb_mul_blank ,queue 
+0395 20207f08 branch timer_init 
 
 p_g24_kb_mul_disable_blank_data_forcibly:
-038f 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-0390 58000000 setarg 0 
-0391 d8e0000c arg timer_new_kb_mul_blank ,queue 
-0392 20207f08 branch timer_init 
+0396 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+0397 58000000 setarg 0 
+0398 d8e0000c arg timer_new_kb_mul_blank ,queue 
+0399 20207f08 branch timer_init 
 
 p_g24_data_type2_data3:
-0393 d8a013bc arg mem_usb_kb_system ,contw 
-0394 2040039d call p_g24_data_type2_copy_data3 
-0395 680113bc fetch 2 ,mem_usb_kb_system 
-0396 600113cc store 2 ,mem_usb_kb_system_sta_data 
-0397 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
-0398 98467c00 isub temp ,null 
-0399 244283a8 ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
-039a 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
-039b 600113cf store 2 ,mem_usb_kb_system_last_data 
-039c 2020010e branch p_g24_rx_interrupt_clear 
+039a d8a013bc arg mem_usb_kb_system ,contw 
+039b 204003a4 call p_g24_data_type2_copy_data3 
+039c 680113bc fetch 2 ,mem_usb_kb_system 
+039d 600113cc store 2 ,mem_usb_kb_system_sta_data 
+039e 680913cf fetcht 2 ,mem_usb_kb_system_last_data 
+039f 98467c00 isub temp ,null 
+03a0 244283af ncall p_g24_kb_sys_data_into_ep2_fifo ,zero 
+03a1 680113cc fetch 2 ,mem_usb_kb_system_sta_data 
+03a2 600113cf store 2 ,mem_usb_kb_system_last_data 
+03a3 20200115 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data3:
-039d d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
-039e df200002 arg 2 ,loopcnt 
-039f 20207f01 branch memcpy 
+03a4 d8c04882 arg mem_24g_rxdata_temp + 3 ,contr 
+03a5 df200002 arg 2 ,loopcnt 
+03a6 20207f01 branch memcpy 
 
 p_g24_kb_sys_enable_blank_data_forcibly:
-03a0 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-03a1 58000180 setarg timer_new_kb_mul_blank_delay 
-03a2 d8e0000c arg timer_new_kb_mul_blank ,queue 
-03a3 20207f08 branch timer_init 
+03a7 7048d601 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+03a8 58000180 setarg timer_new_kb_mul_blank_delay 
+03a9 d8e0000c arg timer_new_kb_mul_blank ,queue 
+03aa 20207f08 branch timer_init 
 
 p_g24_kb_sys_disable_blank_data_forcibly:
-03a4 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-03a5 58000000 setarg 0 
-03a6 d8e0000c arg timer_new_kb_mul_blank ,queue 
-03a7 20207f08 branch timer_init 
+03ab 7048d600 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+03ac 58000000 setarg 0 
+03ad d8e0000c arg timer_new_kb_mul_blank ,queue 
+03ae 20207f08 branch timer_init 
 
 p_g24_kb_sys_data_into_ep2_fifo:
-03a8 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-03a9 202031b9 branch g24_data_type1_usbtx_enable_ep2 
+03af 700d5222 jam usb_ep2_systemkey ,mem_usb_ep2_data 
+03b0 202031b9 branch g24_data_type1_usbtx_enable_ep2 
 
 p_g24_data_attemp:
-03aa 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
-03ab c00083ae beq datatype_mouse ,p_g24_data_attemp_mouse 
-03ac c00103b1 beq datatype_keyboard ,p_g24_data_attemp_kbd 
-03ad 20600000 rtn 
+03b1 6800c882 fetch 1 ,mem_24g_rxdata_temp + 3 
+03b2 c00083b5 beq datatype_mouse ,p_g24_data_attemp_mouse 
+03b3 c00103b8 beq datatype_keyboard ,p_g24_data_attemp_kbd 
+03b4 20600000 rtn 
 
 p_g24_data_attemp_mouse:
-03ae 20400120 call p_g24_dongle_binding_mouse_living 
-03af 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
-03b0 2020016a branch p_g24_store_mouse_addr 
+03b5 20400127 call p_g24_dongle_binding_mouse_living 
+03b6 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+03b7 20200171 branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd:
-03b1 20400126 call p_g24_dongle_binding_keyboard_living 
-03b2 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
-03b3 2020016d branch p_g24_store_kbd_addr 
+03b8 2040012d call p_g24_dongle_binding_keyboard_living 
+03b9 68024883 fetch 4 ,mem_24g_rxdata_temp + 4 
+03ba 20200174 branch p_g24_store_kbd_addr 
 
 p_g24_data_attemp_mouse_abort:
-03b4 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
-03b5 2020016a branch p_g24_store_mouse_addr 
+03bb 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
+03bc 20200171 branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd_abort:
-03b6 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
-03b7 2020016d branch p_g24_store_kbd_addr 
+03bd 68024889 fetch 4 ,mem_24g_rxdata_temp + 10 
+03be 20200174 branch p_g24_store_kbd_addr 
 
 p_g24_ota_process:
-03b8 68014884 fetch 2 ,mem_24g_rxdata_temp + 5 
-03b9 680948ed fetcht 2 ,mem_24g_ota_sta_pid 
-03ba 98467c00 isub temp ,null 
-03bb 202283bd branch p_g24_ota_next_pac ,zero 
-03bc 20600000 rtn 
+03bf 68014884 fetch 2 ,mem_24g_rxdata_temp + 5 
+03c0 680948ed fetcht 2 ,mem_24g_ota_sta_pid 
+03c1 98467c00 isub temp ,null 
+03c2 202283c4 branch p_g24_ota_next_pac ,zero 
+03c3 20600000 rtn 
 
 p_g24_ota_next_pac:
-03bd 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
-03be c06103ca beq cmd_ota_exit ,p_g24_ota_exit_process 
-03bf 6800c902 fetch 1 ,mem_queue_ele_num 
-03c0 207a0000 rtn blank 
-03c1 58004903 setarg mem_queue_read 
-03c2 2040017e call p_g24_queue_increase 
-03c3 6800c902 fetch 1 ,mem_queue_ele_num 
-03c4 1fe0ffff increase -1 ,pdata 
-03c5 6000c902 store 1 ,mem_queue_ele_num 
-03c6 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
-03c7 c06081bf beq cmd_ota_data ,p_user_defined_queue_buff_free 
-03c8 c06103ca beq cmd_ota_exit ,p_g24_ota_exit_process 
-03c9 20600000 rtn 
+03c4 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
+03c5 c06103d1 beq cmd_ota_exit ,p_g24_ota_exit_process 
+03c6 6800c902 fetch 1 ,mem_queue_ele_num 
+03c7 207a0000 rtn blank 
+03c8 58004903 setarg mem_queue_read 
+03c9 20400185 call p_g24_queue_increase 
+03ca 6800c902 fetch 1 ,mem_queue_ele_num 
+03cb 1fe0ffff increase -1 ,pdata 
+03cc 6000c902 store 1 ,mem_queue_ele_num 
+03cd 6800c883 fetch 1 ,mem_24g_rxdata_temp + 4 
+03ce c06081c6 beq cmd_ota_data ,p_user_defined_queue_buff_free 
+03cf c06103d1 beq cmd_ota_exit ,p_g24_ota_exit_process 
+03d0 20600000 rtn 
 
 p_g24_ota_exit_process:
-03ca 58000000 setarg 0 
-03cb 600148ed store 2 ,mem_24g_ota_sta_pid 
-03cc 6000c8ba store 1 ,mem_24g_ackpayload_enable 
-03cd 2040016f call p_g24_queue_init 
-03ce 6800c886 fetch 1 ,mem_24g_rxdata_temp + 7 
-03cf c02a83d2 beq ota_sta_success ,p_g24_ota_exit_success 
-03d0 c05503d4 beq ota_sta_fail ,p_g24_ota_exit_fail 
-03d1 20600000 rtn 
+03d1 58000000 setarg 0 
+03d2 600148ed store 2 ,mem_24g_ota_sta_pid 
+03d3 6000c8ba store 1 ,mem_24g_ackpayload_enable 
+03d4 20400176 call p_g24_queue_init 
+03d5 6800c886 fetch 1 ,mem_24g_rxdata_temp + 7 
+03d6 c02a83d9 beq ota_sta_success ,p_g24_ota_exit_success 
+03d7 c05503db beq ota_sta_fail ,p_g24_ota_exit_fail 
+03d8 20600000 rtn 
 
 p_g24_ota_exit_success:
-03d2 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
-03d3 2020303f branch usb0_data_ready_report_set1 
+03d9 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
+03da 2020303f branch usb0_data_ready_report_set1 
 
 p_g24_ota_exit_fail:
-03d4 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
-03d5 2020303f branch usb0_data_ready_report_set1 
+03db 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
+03dc 2020303f branch usb0_data_ready_report_set1 
 
 p_set_freq_tx:
-03d6 60088017 storet 1 ,mem_last_freq 
-03d7 1840a200 add temp ,0 ,rega 
-03d8 20402981 call rf_write_freq 
-03d9 58000500 setarg param_pll_setup 
-03da 20402a8f call sleep 
+03dd 60088017 storet 1 ,mem_last_freq 
+03de 1840a200 add temp ,0 ,rega 
+03df 20402981 call rf_write_freq 
+03e0 58000500 setarg param_pll_setup 
+03e1 20402a8f call sleep 
 
 p_rf_tx_enable:
-03db 70890601 jam 0x1 ,rfen_adc 
-03dc 7089003c jam 0x3c ,rfen_rx 
-03dd 708901e0 jam 0xe0 ,rfen_tx 
-03de 2000000a nop 10 
-03df 70890201 jam 0x01 ,rfen_mdm 
-03e0 7089023d jam 0x3d ,rfen_mdm 
-03e1 2000000a nop 10 
-03e2 708903b7 jam 0xb7 ,rfen_sn 
-03e3 2000000a nop 10 
-03e4 7089027d jam 0x7d ,rfen_mdm 
-03e5 6800c1de fetch 1 ,mem_tx_power 
-03e6 c00203ef beq tx_power_f5db ,p_set_tx_power_f5db 
-03e7 202003e8 branch p_set_tx_power_5db 
+03e2 70890601 jam 0x1 ,rfen_adc 
+03e3 7089003c jam 0x3c ,rfen_rx 
+03e4 708901e0 jam 0xe0 ,rfen_tx 
+03e5 2000000a nop 10 
+03e6 70890201 jam 0x01 ,rfen_mdm 
+03e7 7089023d jam 0x3d ,rfen_mdm 
+03e8 2000000a nop 10 
+03e9 708903b7 jam 0xb7 ,rfen_sn 
+03ea 2000000a nop 10 
+03eb 7089027d jam 0x7d ,rfen_mdm 
+03ec 6800c1de fetch 1 ,mem_tx_power 
+03ed c00203f6 beq tx_power_f5db ,p_set_tx_power_f5db 
+03ee 202003ef branch p_set_tx_power_5db 
 
 p_set_tx_power_5db:
-03e8 70894bba jam 0xba ,0x894b 
-03e9 708955d0 jam 0xd0 ,0x8955 
-03ea 708956e0 jam 0xe0 ,0x8956 
-03eb 70895788 jam 0x88 ,0x8957 
-03ec 7089583c jam 0x3c ,0x8958 
-03ed 70895910 jam 0x10 ,0x8959 
-03ee 20202953 branch set_tx_power_5db 
-
-p_set_tx_power_f5db:
 03ef 70894bba jam 0xba ,0x894b 
 03f0 708955d0 jam 0xd0 ,0x8955 
-03f1 708956c0 jam 0xc0 ,0x8956 
+03f1 708956e0 jam 0xe0 ,0x8956 
 03f2 70895788 jam 0x88 ,0x8957 
-03f3 7089586c jam 0x6c ,0x8958 
+03f3 7089583c jam 0x3c ,0x8958 
 03f4 70895910 jam 0x10 ,0x8959 
-03f5 2020295b branch set_tx_power_f5db 
+03f5 20202953 branch set_tx_power_5db 
+
+p_set_tx_power_f5db:
+03f6 70894bba jam 0xba ,0x894b 
+03f7 708955d0 jam 0xd0 ,0x8955 
+03f8 708956c0 jam 0xc0 ,0x8956 
+03f9 70895788 jam 0x88 ,0x8957 
+03fa 7089586c jam 0x6c ,0x8958 
+03fb 70895910 jam 0x10 ,0x8959 
+03fc 2020295b branch set_tx_power_f5db 
 
 p_soft_reset:
-03f6 20800000 clear_stack 
-03f7 68108043 hfetch 1 ,core_config 
-03f8 79207e03 set1 watchdog_bit ,pdata 
-03f9 60108043 hstore 1 ,core_config 
-03fa 2040640d call spi_ncs_gpio_init 
-03fb 70895b86 jam 0x86 ,0x895b 
-03fc 70895ca0 jam 0xa0 ,0x895c 
-03fd 20202004 branch soft_reset + 3 
+03fd 20800000 clear_stack 
+03fe 68108043 hfetch 1 ,core_config 
+03ff 79207e03 set1 watchdog_bit ,pdata 
+0400 60108043 hstore 1 ,core_config 
+0401 2040640d call spi_ncs_gpio_init 
+0402 70895b86 jam 0x86 ,0x895b 
+0403 70895ca0 jam 0xa0 ,0x895c 
+0404 20202004 branch soft_reset + 3 
 
 p_shutdown_radio:
-03fe 18002a08 force 8 ,radio_ctrl 
-03ff 202028fa branch shutdown_radio + 1 
+0405 18002a08 force 8 ,radio_ctrl 
+0406 202028fa branch shutdown_radio + 1 
 
 p_initialize_radio_cont:
-0400 20402978 call initialize_radio_cont + 1 
-0401 70804205 jam clksel_dpll ,core_clksel 
-0402 20600000 rtn 
+0407 20402978 call initialize_radio_cont + 1 
+0408 70804205 jam clksel_dpll ,core_clksel 
+0409 20600000 rtn 
 
 p_rssi_noise:
-0403 204029bb call save_rssi 
-0404 207a0000 rtn blank 
-0405 6808c8f2 fetcht 1 ,mem_rssi_noise_index 
-0406 da200d9e arg mem_rssi_noise_buffer ,rega 
-0407 2040040a call p_rssi_store 
-0408 6008c8f2 storet 1 ,mem_rssi_noise_index 
-0409 20600000 rtn 
+040a 204029bb call save_rssi 
+040b 207a0000 rtn blank 
+040c 6808c8f2 fetcht 1 ,mem_rssi_noise_index 
+040d da200d9e arg mem_rssi_noise_buffer ,rega 
+040e 20400411 call p_rssi_store 
+040f 6008c8f2 storet 1 ,mem_rssi_noise_index 
+0410 20600000 rtn 
 
 p_rssi_store:
-040a 1a227e00 copy rega ,pdata 
-040b 98408a00 iadd temp ,contw 
-040c 68008018 fetch 1 ,mem_rssi 
-040d e0a08000 istore 1 ,contw 
-040e 18408401 increase 1 ,temp 
-040f 184104ff and_into rssi_buf_len_noise ,temp 
-0410 20600000 rtn 
+0411 1a227e00 copy rega ,pdata 
+0412 98408a00 iadd temp ,contw 
+0413 68008018 fetch 1 ,mem_rssi 
+0414 e0a08000 istore 1 ,contw 
+0415 18408401 increase 1 ,temp 
+0416 184104ff and_into rssi_buf_len_noise ,temp 
+0417 20600000 rtn 
 
 p_rssi_average:
-0411 d8400000 arg 0 ,temp 
-0412 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
-0413 1a220c00 copy rega ,contr 
-0414 20202e64 branch rssi_average_loop 
-0415 20600000 rtn 
+0418 d8400000 arg 0 ,temp 
+0419 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+041a 1a220c00 copy rega ,contr 
+041b 20202e64 branch rssi_average_loop 
+041c 20600000 rtn 
 
 p_g24_update_addr_and_synccrc8:
-0416 60024860 store 4 ,mem_24g_addr 
+041d 60024860 store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-0417 da200000 arg 0 ,rega 
-0418 df200004 arg 4 ,loopcnt 
-0419 d8c04860 arg mem_24g_addr ,contr 
+041e da200000 arg 0 ,rega 
+041f df200004 arg 4 ,loopcnt 
+0420 d8c04860 arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-041a e8c08000 ifetch 1 ,contr 
-041b 9a20a200 iadd rega ,rega 
-041c c200041a loop p_g24_syncword_crc8_loop 
-041d 1a227e00 copy rega ,pdata 
-041e 600148e9 store 2 ,mem_24g_syncword 
-041f 6800c8e9 fetch 1 ,mem_24g_syncword 
-0420 6808c8ea fetcht 1 ,mem_24g_syncword + 1 
-0421 9840fe00 iadd temp ,pdata 
-0422 6000c8eb store 1 ,mem_24g_syncword_crc8 
-0423 20600000 rtn 
+0421 e8c08000 ifetch 1 ,contr 
+0422 9a20a200 iadd rega ,rega 
+0423 c2000421 loop p_g24_syncword_crc8_loop 
+0424 1a227e00 copy rega ,pdata 
+0425 600148e9 store 2 ,mem_24g_syncword 
+0426 6800c8e9 fetch 1 ,mem_24g_syncword 
+0427 6808c8ea fetcht 1 ,mem_24g_syncword + 1 
+0428 9840fe00 iadd temp ,pdata 
+0429 6000c8eb store 1 ,mem_24g_syncword_crc8 
+042a 20600000 rtn 
 
 p_g24_transmit_prep:
-0424 6800c838 fetch 1 ,mem_24g_datalen 
-0425 1fe0fe02 increase 2 ,pdata 
-0426 6000c83a store 1 ,mem_24g_txlen 
-0427 6800c839 fetch 1 ,mem_24g_data_type 
-0428 6000c7f4 store 1 ,mem_24g_txpayload 
-0429 6800c838 fetch 1 ,mem_24g_datalen 
-042a 1fe9fe00 lshift3 pdata ,pdata 
-042b 6808c837 fetcht 1 ,mem_24g_pid 
-042c 18410403 and temp ,0x03 ,temp 
-042d 18438400 lshift temp ,temp 
-042e 9841fe00 ior temp ,pdata 
-042f 6808c874 fetcht 1 ,mem_24g_no_ack 
-0430 9840fe00 iadd temp ,pdata 
-0431 e0a08000 istore 1 ,contw 
-0432 6800c838 fetch 1 ,mem_24g_datalen 
-0433 98007200 iforce loopcnt 
-0434 d8c047d4 arg mem_24g_txbuf ,contr 
-0435 20207f01 branch memcpy 
+042b 6800c838 fetch 1 ,mem_24g_datalen 
+042c 1fe0fe02 increase 2 ,pdata 
+042d 6000c83a store 1 ,mem_24g_txlen 
+042e 6800c839 fetch 1 ,mem_24g_data_type 
+042f 6000c7f4 store 1 ,mem_24g_txpayload 
+0430 6800c838 fetch 1 ,mem_24g_datalen 
+0431 1fe9fe00 lshift3 pdata ,pdata 
+0432 6808c837 fetcht 1 ,mem_24g_pid 
+0433 18410403 and temp ,0x03 ,temp 
+0434 18438400 lshift temp ,temp 
+0435 9841fe00 ior temp ,pdata 
+0436 6808c874 fetcht 1 ,mem_24g_no_ack 
+0437 9840fe00 iadd temp ,pdata 
+0438 e0a08000 istore 1 ,contw 
+0439 6800c838 fetch 1 ,mem_24g_datalen 
+043a 98007200 iforce loopcnt 
+043b d8c047d4 arg mem_24g_txbuf ,contr 
+043c 20207f01 branch memcpy 
 
 p_g24_ch:
-0436 6808c843 fetcht 1 ,mem_24g_current_ch_number 
-0437 2040043a call p_g24_ch_map_size 
-0438 6008c843 storet 1 ,mem_24g_current_ch_number 
-0439 20600000 rtn 
+043d 6808c843 fetcht 1 ,mem_24g_current_ch_number 
+043e 20400441 call p_g24_ch_map_size 
+043f 6008c843 storet 1 ,mem_24g_current_ch_number 
+0440 20600000 rtn 
 
 p_g24_ch_map_size:
-043a 2040043e call p_g24_ch_calc 
-043b 18408401 increase 1 ,temp 
-043c 18410403 and_into 3 ,temp 
-043d 20600000 rtn 
+0441 20400445 call p_g24_ch_calc 
+0442 18408401 increase 1 ,temp 
+0443 18410403 and_into 3 ,temp 
+0444 20600000 rtn 
 
 p_g24_ch_calc:
-043e 6800c860 fetch 1 ,mem_24g_addr 
-043f 1fe17e03 and_into 0x03 ,pdata 
-0440 1fefa204 mul32 pdata ,4 ,rega 
-0441 58004849 setarg mem_24g_ch_map1 
-0442 9a20fe00 iadd rega ,pdata 
-0443 98408c00 iadd temp ,contr 
-0444 e8c08000 ifetch 1 ,contr 
-0445 6000c842 store 1 ,mem_24g_ch 
-0446 20600000 rtn 
+0445 6800c860 fetch 1 ,mem_24g_addr 
+0446 1fe17e03 and_into 0x03 ,pdata 
+0447 1fefa204 mul32 pdata ,4 ,rega 
+0448 58004849 setarg mem_24g_ch_map1 
+0449 9a20fe00 iadd rega ,pdata 
+044a 98408c00 iadd temp ,contr 
+044b e8c08000 ifetch 1 ,contr 
+044c 6000c842 store 1 ,mem_24g_ch 
+044d 20600000 rtn 
 
 p_g24_prep:
-0447 7844fc00 disable enable_crc 
-0448 7843fc00 disable enable_white 
-0449 58555555 setarg 0x555555 
-044a 98001e00 iforce crc24_init 
-044b 6800c842 fetch 1 ,mem_24g_ch 
-044c 1fed8400 reverse pdata ,temp 
-044d 79200401 set1 1 ,temp 
-044e 18431c00 rshift temp ,white_init 
-044f 20600000 rtn 
+044e 7844fc00 disable enable_crc 
+044f 7843fc00 disable enable_white 
+0450 58555555 setarg 0x555555 
+0451 98001e00 iforce crc24_init 
+0452 6800c842 fetch 1 ,mem_24g_ch 
+0453 1fed8400 reverse pdata ,temp 
+0454 79200401 set1 1 ,temp 
+0455 18431c00 rshift temp ,white_init 
+0456 20600000 rtn 
 
 p_g24_receive_packet:
-0450 204053c4 call le_enable 
-0451 68024860 fetch 4 ,mem_24g_addr 
-0452 98001200 iforce access 
-0453 20402918 call set_sync_on 
-0454 6808c842 fetcht 1 ,mem_24g_ch 
-0455 2040291f call set_freq_rx 
-0456 58000500 setarg param_pll_setup 
-0457 20402a8f call sleep 
-0458 20402924 call rf_rx_enable 
+0457 204053c4 call le_enable 
+0458 68024860 fetch 4 ,mem_24g_addr 
+0459 98001200 iforce access 
+045a 20402918 call set_sync_on 
+045b 6808c842 fetcht 1 ,mem_24g_ch 
+045c 2040291f call set_freq_rx 
+045d 58000500 setarg param_pll_setup 
+045e 20402a8f call sleep 
+045f 20402924 call rf_rx_enable 
 
 p_g24_receive_rxon:
-0459 20400447 call p_g24_prep 
-045a 7857fc00 disable user3 
-045b 7826fc00 enable decode_fec0 
-045c 7830fc00 enable is_rx 
-045d 78507c00 disable is_tx 
-045e 78287c00 enable swfine 
-045f 6801483b fetch 2 ,mem_24g_rx_window 
-0460 98003600 iforce stop_watch 
-0461 37c18400 correlate null ,timeout 
-0462 242c0495 nbranch p_g24_sync_timeout ,sync 
-0463 7846fc00 disable decode_fec0 
-0464 7825fc00 enable decode_fec1 
-0465 7823fc00 enable enable_white 
-0466 7824fc00 enable enable_crc 
-0467 09800008 parse demod ,bucket ,8 
-0468 19897e00 rshift3 pwindow ,pdata 
-0469 6000c8ec store 1 ,mem_24g_get_syncword_crc8 
-046a 6808c8eb fetcht 1 ,mem_24g_syncword_crc8 
-046b 98467c00 isub temp ,null 
-046c 24228492 nbranch p_g24_end_of_packet ,zero 
-046d 09800008 parse demod ,bucket ,8 
-046e 19897e00 rshift3 pwindow ,pdata 
-046f 6000c7b2 store 1 ,mem_24g_rxbuf 
-0470 6800c87e fetch 1 ,mem_24g_mode 
-0471 1fe67c02 sub pdata ,rx_24g ,null 
-0472 20228477 branch p_g24_receive_skip ,zero 
-0473 6800c7b2 fetch 1 ,mem_24g_rxbuf 
-0474 6808c839 fetcht 1 ,mem_24g_data_type 
-0475 a8400e00 icompare bits_data ,temp 
-0476 24208492 nbranch p_g24_end_of_packet ,true 
+0460 2040044e call p_g24_prep 
+0461 7857fc00 disable user3 
+0462 7826fc00 enable decode_fec0 
+0463 7830fc00 enable is_rx 
+0464 78507c00 disable is_tx 
+0465 78287c00 enable swfine 
+0466 6801483b fetch 2 ,mem_24g_rx_window 
+0467 98003600 iforce stop_watch 
+0468 37c18400 correlate null ,timeout 
+0469 242c049c nbranch p_g24_sync_timeout ,sync 
+046a 7846fc00 disable decode_fec0 
+046b 7825fc00 enable decode_fec1 
+046c 7823fc00 enable enable_white 
+046d 7824fc00 enable enable_crc 
+046e 09800008 parse demod ,bucket ,8 
+046f 19897e00 rshift3 pwindow ,pdata 
+0470 6000c8ec store 1 ,mem_24g_get_syncword_crc8 
+0471 6808c8eb fetcht 1 ,mem_24g_syncword_crc8 
+0472 98467c00 isub temp ,null 
+0473 24228499 nbranch p_g24_end_of_packet ,zero 
+0474 09800008 parse demod ,bucket ,8 
+0475 19897e00 rshift3 pwindow ,pdata 
+0476 6000c7b2 store 1 ,mem_24g_rxbuf 
+0477 6800c87e fetch 1 ,mem_24g_mode 
+0478 1fe67c02 sub pdata ,rx_24g ,null 
+0479 2022847e branch p_g24_receive_skip ,zero 
+047a 6800c7b2 fetch 1 ,mem_24g_rxbuf 
+047b 6808c839 fetcht 1 ,mem_24g_data_type 
+047c a8400e00 icompare bits_data ,temp 
+047d 24208499 nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-0477 09800008 parse demod ,bucket ,8 
-0478 19897e00 rshift3 pwindow ,pdata 
-0479 e0a08000 istore 1 ,contw 
-047a 1fe97e00 rshift3 pdata ,pdata 
-047b 1fe1721f and pdata ,0x1f ,loopcnt 
-047c 20228481 branch p_g24rx_nopayload ,zero 
+047e 09800008 parse demod ,bucket ,8 
+047f 19897e00 rshift3 pwindow ,pdata 
+0480 e0a08000 istore 1 ,contw 
+0481 1fe97e00 rshift3 pdata ,pdata 
+0482 1fe1721f and pdata ,0x1f ,loopcnt 
+0483 20228488 branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-047d 09800008 parse demod ,bucket ,8 
-047e 19897e00 rshift3 pwindow ,pdata 
-047f e0a08000 istore 1 ,contw 
-0480 c200047d loop p_g24rx_loop 
+0484 09800008 parse demod ,bucket ,8 
+0485 19897e00 rshift3 pwindow ,pdata 
+0486 e0a08000 istore 1 ,contw 
+0487 c2000484 loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-0481 09800018 parse demod ,bucket ,24 
-0482 78287c00 enable swfine 
-0483 db600664 arg param_sifs ,stop_watch 
-0484 1fef7e00 rshift32 pdata ,pdata 
-0485 1ff17e00 rshift16 pdata ,pdata 
-0486 e0a18000 istore 3 ,contw 
-0487 7845fc00 disable decode_fec1 
-0488 204029bb call save_rssi 
-0489 20230492 branch p_g24_end_of_packet ,crc_failed 
-048a 7837fc00 enable user3 
-048b 68008017 fetch 1 ,mem_last_freq 
-048c 1fe0a200 add pdata ,0 ,rega 
-048d 20402981 call rf_write_freq 
-048e 7846fc00 disable decode_fec0 
-048f 20402918 call set_sync_on 
-0490 20600000 rtn 
-0491 20600000 rtn 
+0488 09800018 parse demod ,bucket ,24 
+0489 78287c00 enable swfine 
+048a db600664 arg param_sifs ,stop_watch 
+048b 1fef7e00 rshift32 pdata ,pdata 
+048c 1ff17e00 rshift16 pdata ,pdata 
+048d e0a18000 istore 3 ,contw 
+048e 7845fc00 disable decode_fec1 
+048f 204029bb call save_rssi 
+0490 20230499 branch p_g24_end_of_packet ,crc_failed 
+0491 7837fc00 enable user3 
+0492 68008017 fetch 1 ,mem_last_freq 
+0493 1fe0a200 add pdata ,0 ,rega 
+0494 20402981 call rf_write_freq 
+0495 7846fc00 disable decode_fec0 
+0496 20402918 call set_sync_on 
+0497 20600000 rtn 
+0498 20600000 rtn 
 
 p_g24_end_of_packet:
-0492 784dfc00 disable encode_fec1 
-0493 7845fc00 disable decode_fec1 
-0494 2020264d branch end_of_packet 
+0499 784dfc00 disable encode_fec1 
+049a 7845fc00 disable decode_fec1 
+049b 2020264d branch end_of_packet 
 
 p_g24_sync_timeout:
-0495 20400403 call p_rssi_noise 
-0496 20200492 branch p_g24_end_of_packet 
+049c 2040040a call p_rssi_noise 
+049d 20200499 branch p_g24_end_of_packet 
 
 p_g24_set_freq_tx:
-0497 20402918 call set_sync_on 
-0498 6808c842 fetcht 1 ,mem_24g_ch 
-0499 20202933 branch set_freq_tx 
+049e 20402918 call set_sync_on 
+049f 6808c842 fetcht 1 ,mem_24g_ch 
+04a0 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-049a 204053c4 call le_enable 
-049b 68024860 fetch 4 ,mem_24g_addr 
-049c 98001200 iforce access 
-049d 20400447 call p_g24_prep 
-049e 20400497 call p_g24_set_freq_tx 
-049f 79202a00 set1 txgfsk ,radio_ctrl 
-04a0 782efc00 enable encode_fec0 
-04a1 78307c00 enable is_tx 
-04a2 7850fc00 disable is_rx 
-04a3 19317e00 rshift16 access ,pdata 
-04a4 1fecfe00 rshift8 pdata ,pdata 
-04a5 1ff1fe00 rshift4 pdata ,pdata 
-04a6 08008628 inject mod ,40 
-04a7 784efc00 disable encode_fec0 
-04a8 782dfc00 enable encode_fec1 
-04a9 7823fc00 enable enable_white 
-04aa 7824fc00 enable enable_crc 
-04ab 6800c8eb fetch 1 ,mem_24g_syncword_crc8 
-04ac 08008608 inject mod ,8 
-04ad 6800c83a fetch 1 ,mem_24g_txlen 
-04ae 98007200 iforce loopcnt 
-04af d8c047f4 arg mem_24g_txpayload ,contr 
+04a1 204053c4 call le_enable 
+04a2 68024860 fetch 4 ,mem_24g_addr 
+04a3 98001200 iforce access 
+04a4 2040044e call p_g24_prep 
+04a5 2040049e call p_g24_set_freq_tx 
+04a6 79202a00 set1 txgfsk ,radio_ctrl 
+04a7 782efc00 enable encode_fec0 
+04a8 78307c00 enable is_tx 
+04a9 7850fc00 disable is_rx 
+04aa 19317e00 rshift16 access ,pdata 
+04ab 1fecfe00 rshift8 pdata ,pdata 
+04ac 1ff1fe00 rshift4 pdata ,pdata 
+04ad 08008628 inject mod ,40 
+04ae 784efc00 disable encode_fec0 
+04af 782dfc00 enable encode_fec1 
+04b0 7823fc00 enable enable_white 
+04b1 7824fc00 enable enable_crc 
+04b2 6800c8eb fetch 1 ,mem_24g_syncword_crc8 
+04b3 08008608 inject mod ,8 
+04b4 6800c83a fetch 1 ,mem_24g_txlen 
+04b5 98007200 iforce loopcnt 
+04b6 d8c047f4 arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-04b0 e8c08000 ifetch 1 ,contr 
-04b1 08008608 inject mod ,8 
-04b2 c20004b0 loop p_g24tr_loop 
-04b3 6800c8f0 fetch 1 ,mem_rssi_hex 
-04b4 08008608 inject mod ,8 
-04b5 78247c00 enable enable_parity 
-04b6 08008618 inject mod ,24 
-04b7 78447c00 disable enable_parity 
-04b8 37d38200 until null ,tx_clear 
-04b9 20000064 nop 100 
-04ba 784efc00 disable encode_fec0 
-04bb 784dfc00 disable encode_fec1 
-04bc 20600000 rtn 
+04b7 e8c08000 ifetch 1 ,contr 
+04b8 08008608 inject mod ,8 
+04b9 c20004b7 loop p_g24tr_loop 
+04ba 6800c8f0 fetch 1 ,mem_rssi_hex 
+04bb 08008608 inject mod ,8 
+04bc 78247c00 enable enable_parity 
+04bd 08008618 inject mod ,24 
+04be 78447c00 disable enable_parity 
+04bf 37d38200 until null ,tx_clear 
+04c0 20000064 nop 100 
+04c1 784efc00 disable encode_fec0 
+04c2 784dfc00 disable encode_fec1 
+04c3 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /branch/USB/dongle_16M/program/patch.prog	(revision 3195)
+++ /branch/USB/dongle_16M/program/patch.prog	(working copy)
@@ -167,12 +167,17 @@
 	call p_dongle_init
 	call p_g24_queue_init
 	call p_dongle_iic_init
+	call p_dongle_firmware_version_store
 	fetch 1,mem_24g_pair_mode
 	beq 0x00,p_dongle_auto_bind
 	beq 0x01,p_dongle_pc_bind
 	beq 0x0f,p_dongle_all_powerful
 	rtn
 
+p_dongle_firmware_version_store:
+	call p_dongle_set_firmware_version_eeprom
+	branch iicd_write_protect_eep_data
+
 p_dongle_iic_init:
 	call iic_init_390k
 	call p_dongle_set_kb_bind_eeprom
@@ -195,6 +200,12 @@
 	arg 1,temp
 	rtn
 
+p_dongle_set_firmware_version_eeprom:
+	arg mem_firmware_version,rega
+	arg DONGLE_FIRMWARE_VERSION_OFFECT,regb
+	arg 3,temp
+	rtn
+
 p_dongle_init:
 	fetch 1,mem_tx_power
 	store 1,mem_tx_power_temp
Index: sched/usb.dat
===================================================================
--- /branch/USB/dongle_16M/sched/usb.dat	(revision 3195)
+++ /branch/USB/dongle_16M/sched/usb.dat	(working copy)
@@ -217,3 +217,6 @@
 mem_eeprom_block_size:20
 mem_eeprom_wp_gpio:14
 
+mem_firmware_version:01 00 16
+
+
