Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(revision 4033)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(working copy)
@@ -45,6 +45,7 @@
 2 mem_usb_get_report_dpi_data
 1 mem_usb_get_report_battery_data
 2 mem_usb_get_report_mouse_version_data
+4 mem_usb_get_report_code_data
 2 mem_dongle_version
 1 mem_dongle_app_data
 1 mem_dongle_connect_mouse_flag
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(revision 4120)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-0a
+1a
 11
 c2
 84
@@ -23,7 +23,7 @@
 c0
 0a
 03
-ac
+b0
 c0
 0a
 80
@@ -43,7 +43,7 @@
 c0
 1b
 84
-30
+34
 c0
 1c
 00
@@ -55,7 +55,7 @@
 c0
 1e
 84
-06
+0a
 c0
 62
 80
@@ -63,11 +63,11 @@
 c0
 6d
 03
-7d
+81
 c0
 6e
 03
-8d
+91
 c0
 7f
 00
@@ -75,7 +75,7 @@
 c0
 7f
 81
-63
+65
 c0
 7e
 80
@@ -87,43 +87,43 @@
 c0
 00
 01
-87
+89
 c0
 01
 01
-c6
+c8
 c0
 03
 01
-ea
+ec
 c0
 1c
 83
-c8
+cc
 c0
 26
 83
-cc
+d0
 c0
 37
 84
-38
+3c
 c0
 41
 03
-ce
+d2
 c0
 42
 02
-03
+05
 c0
 44
 03
-ee
+f2
 c0
 45
 03
-fb
+ff
 c1
 7f
 80
@@ -359,11 +359,11 @@
 20
 40
 03
-4f
+53
 20
 40
 03
-7a
+7e
 20
 40
 00
@@ -379,7 +379,7 @@
 20
 20
 03
-7c
+80
 20
 75
 80
@@ -927,7 +927,7 @@
 58
 00
 02
-18
+1a
 67
 e1
 45
@@ -1091,7 +1091,7 @@
 20
 3a
 01
-5b
+5d
 6f
 e0
 c6
@@ -1103,43 +1103,43 @@
 c0
 01
 81
-24
+26
 c0
 02
 81
-2e
+30
 c0
 03
 01
-37
+39
 c0
 03
 81
-4f
+51
 20
 60
 00
 00
 70
 48
-53
+57
 40
 70
 48
-54
+58
 a1
 70
 48
-55
+59
 02
 70
 48
-56
+5a
 01
 70
 48
-57
-0b
+5b
+0e
 6f
 e3
 47
@@ -1147,7 +1147,7 @@
 67
 e3
 48
-58
+5c
 6f
 e1
 48
@@ -1155,15 +1155,23 @@
 67
 e1
 48
-5e
+62
 6f
 e1
 48
-0a
+0e
 67
 e1
 48
-60
+64
+6f
+e2
+48
+0a
+67
+e2
+48
+66
 70
 09
 0c
@@ -1171,30 +1179,30 @@
 20
 20
 02
-80
+84
 70
 48
-9a
+9e
 01
 70
 48
-94
+98
 40
 70
 48
-95
+99
 a1
 70
 48
-96
+9a
 02
 70
 48
-97
+9b
 02
 70
 48
-98
+9c
 01
 6f
 e0
@@ -1203,7 +1211,7 @@
 67
 e0
 c8
-99
+9d
 70
 09
 0c
@@ -1211,26 +1219,26 @@
 20
 20
 02
-80
+84
 70
 48
-53
+57
 40
 70
 48
-54
+58
 a1
 70
 48
-55
+59
 02
 70
 48
-56
+5a
 03
 70
 48
-57
+5b
 06
 6f
 e3
@@ -1239,7 +1247,7 @@
 67
 e3
 48
-58
+5c
 70
 09
 0c
@@ -1247,30 +1255,30 @@
 20
 20
 02
-80
+84
 70
 48
-db
+df
 01
 70
 48
-d5
+d9
 40
 70
 48
-d6
+da
 a1
 70
 48
-d7
+db
 02
 70
 48
-d8
+dc
 06
 70
 48
-d9
+dd
 01
 6f
 e0
@@ -1279,7 +1287,7 @@
 67
 e0
 c8
-da
+de
 70
 09
 0c
@@ -1287,26 +1295,26 @@
 20
 20
 02
-80
+84
 70
 48
-53
+57
 40
 70
 48
-54
+58
 a1
 70
 48
-55
+59
 02
 70
 48
-56
+5a
 08
 70
 48
-57
+5b
 00
 70
 09
@@ -1315,26 +1323,26 @@
 20
 20
 02
-80
+84
 70
 49
-16
+1a
 40
 70
 49
-17
+1b
 a1
 70
 49
-18
+1c
 02
 70
 49
-19
+1d
 04
 70
 49
-1a
+1e
 01
 70
 09
@@ -1343,46 +1351,46 @@
 20
 20
 02
-80
+84
 6f
 e0
 c8
-0d
+11
 c0
 00
 01
-5b
+5d
 c0
 00
 81
-53
+55
 20
 60
 00
 00
 70
 48
-12
+16
 40
 70
 48
-13
+17
 a1
 70
 48
-14
+18
 02
 70
 48
-15
+19
 05
 70
 48
-16
+1a
 01
 70
 48
-17
+1b
 01
 70
 09
@@ -1391,30 +1399,30 @@
 20
 20
 02
-80
+84
 70
 48
-12
+16
 40
 70
 48
-13
+17
 a1
 70
 48
-14
+18
 02
 70
 48
-15
+19
 05
 70
 48
-16
+1a
 01
 70
 48
-17
+1b
 00
 70
 09
@@ -1423,7 +1431,7 @@
 20
 20
 02
-80
+84
 6f
 e0
 87
@@ -1455,7 +1463,7 @@
 c0
 00
 81
-77
+79
 d8
 a0
 08
@@ -1467,7 +1475,7 @@
 20
 20
 01
-6e
+70
 6f
 e0
 87
@@ -1491,7 +1499,7 @@
 20
 20
 01
-87
+89
 6f
 e0
 88
@@ -1523,7 +1531,7 @@
 c0
 00
 81
-81
+83
 70
 08
 f7
@@ -1587,7 +1595,7 @@
 c0
 00
 01
-8d
+8f
 20
 20
 23
@@ -1611,11 +1619,11 @@
 c0
 00
 01
-95
+97
 c0
 00
 81
-d0
+d2
 c0
 01
 79
@@ -1631,7 +1639,7 @@
 c0
 00
 81
-9d
+9f
 c0
 01
 fa
@@ -1647,7 +1655,7 @@
 c0
 05
 81
-b7
+b9
 c0
 03
 f9
@@ -1703,7 +1711,7 @@
 c0
 00
 01
-ac
+ae
 c0
 00
 fa
@@ -1831,7 +1839,7 @@
 c0
 01
 01
-cd
+cf
 c0
 01
 fa
@@ -1871,7 +1879,7 @@
 c0
 04
 81
-d5
+d7
 c0
 05
 fb
@@ -1899,7 +1907,7 @@
 20
 34
 01
-e2
+e4
 6f
 f1
 0c
@@ -1951,7 +1959,7 @@
 da
 20
 49
-57
+5b
 20
 40
 7d
@@ -1967,7 +1975,7 @@
 20
 40
 01
-e6
+e8
 6f
 e0
 89
@@ -2019,19 +2027,19 @@
 20
 40
 02
-89
+8d
 6f
 e0
 c9
-72
+76
 24
 5a
 01
-fb
+fd
 20
 20
 03
-12
+16
 70
 09
 14
@@ -2051,14 +2059,14 @@
 6f
 e0
 c8
-0d
+11
 24
 7a
 00
 00
 70
 48
-0d
+11
 01
 20
 60
@@ -2067,7 +2075,7 @@
 20
 40
 01
-fd
+ff
 58
 00
 00
@@ -2075,7 +2083,7 @@
 67
 e1
 48
-0e
+12
 6f
 e0
 c5
@@ -2095,7 +2103,7 @@
 c2
 82
 02
-0f
+11
 c2
 81
 b3
@@ -2103,11 +2111,11 @@
 c2
 82
 82
-0f
+11
 c2
 83
 02
-0f
+11
 20
 20
 33
@@ -2155,27 +2163,27 @@
 c2
 82
 02
-14
+16
 c2
 81
 82
-49
+4b
 c2
 82
 82
-51
+53
 c2
 83
 02
-6b
+6d
 c2
 83
 82
-7a
+7e
 20
 20
 02
-1f
+21
 6f
 e0
 c5
@@ -2187,11 +2195,11 @@
 20
 22
 82
-31
+33
 20
 40
 02
-31
+33
 6f
 e0
 c5
@@ -2227,23 +2235,23 @@
 c2
 82
 02
-14
+16
 c2
 81
 82
-49
+4b
 c2
 82
 82
-51
+53
 c2
 83
 02
-6b
+6d
 c2
 83
 82
-7a
+7e
 20
 60
 00
@@ -2287,19 +2295,19 @@
 67
 e3
 c9
-60
+64
 6f
 e0
 c9
-60
+64
 68
 48
 c9
-67
+6b
 67
 e0
 c9
-67
+6b
 98
 46
 7c
@@ -2307,19 +2315,19 @@
 20
 22
 82
-42
+44
 20
 40
 02
-44
+46
 20
 20
 02
-46
+48
 6f
 e3
 49
-61
+65
 20
 7a
 00
@@ -2331,7 +2339,7 @@
 20
 20
 02
-80
+84
 6f
 e0
 89
@@ -2339,11 +2347,11 @@
 67
 e0
 c9
-1b
+1f
 20
 20
 01
-48
+4a
 6f
 e0
 c5
@@ -2351,7 +2359,7 @@
 68
 48
 c8
-0c
+10
 98
 46
 7c
@@ -2363,11 +2371,11 @@
 67
 e0
 c8
-0c
+10
 6f
 e0
 c8
-0c
+10
 c1
 ff
 80
@@ -2375,7 +2383,7 @@
 20
 20
 01
-41
+43
 6f
 e1
 45
@@ -2391,7 +2399,7 @@
 68
 48
 c8
-10
+14
 98
 46
 7c
@@ -2399,7 +2407,7 @@
 24
 42
 82
-5c
+5e
 6f
 e0
 c8
@@ -2407,7 +2415,7 @@
 68
 48
 c8
-11
+15
 98
 46
 7c
@@ -2415,7 +2423,7 @@
 24
 42
 82
-5f
+61
 20
 60
 00
@@ -2427,11 +2435,11 @@
 67
 e0
 c8
-10
+14
 20
 20
 01
-25
+27
 6f
 e0
 c8
@@ -2439,15 +2447,15 @@
 67
 e0
 c8
-11
+15
 c0
 2a
 82
-64
+66
 c0
 55
 02
-67
+69
 20
 60
 00
@@ -2455,7 +2463,7 @@
 6f
 e0
 c9
-1b
+1f
 79
 3f
 fe
@@ -2463,11 +2471,11 @@
 20
 20
 02
-69
+6b
 6f
 e0
 c9
-1b
+1f
 79
 20
 7e
@@ -2475,11 +2483,11 @@
 67
 e0
 c9
-1b
+1f
 20
 20
 01
-48
+4a
 6f
 20
 c5
@@ -2528,10 +2536,18 @@
 e1
 48
 05
+6f
+e2
+45
+f6
+67
+e2
+48
+0a
 20
 40
 02
-53
+55
 6f
 e0
 c5
@@ -2539,7 +2555,7 @@
 20
 20
 02
-7b
+7f
 6f
 e0
 c5
@@ -2563,7 +2579,7 @@
 20
 20
 01
-38
+3a
 6f
 e0
 89
@@ -2575,7 +2591,7 @@
 da
 20
 49
-57
+5b
 20
 40
 7d
@@ -2595,7 +2611,7 @@
 da
 20
 49
-57
+5b
 20
 20
 7d
@@ -2647,7 +2663,7 @@
 c0
 08
 82
-96
+9a
 20
 20
 23
@@ -2655,54 +2671,54 @@
 6f
 e0
 c9
-72
+76
 c0
 00
 02
-a2
+a6
 c0
 00
 82
-a4
+a8
 c0
 01
 02
-b2
+b6
 c0
 01
 82
-b6
+ba
 c0
 02
 02
-c6
+ca
 c0
 02
 82
-cd
+d1
 c0
 03
 02
-bc
+c0
 c0
 03
 82
-c0
+c4
 c0
 04
 02
-c2
+c6
 c0
 04
 82
-c4
+c8
 20
 60
 00
 00
 70
 49
-72
+76
 01
 20
 20
@@ -2711,11 +2727,11 @@
 df
 e0
 49
-78
+7c
 67
 e1
 49
-75
+79
 6f
 e0
 88
@@ -2723,23 +2739,23 @@
 c0
 00
 02
-aa
+ae
 c0
 00
 82
-ae
+b2
 20
 60
 00
 00
 70
 49
-72
+76
 02
 6f
 e1
 c9
-68
+6c
 67
 e1
 89
@@ -2750,12 +2766,12 @@
 28
 70
 49
-72
+76
 02
 6f
 e1
 c9
-6b
+6f
 67
 e1
 89
@@ -2766,12 +2782,12 @@
 28
 70
 49
-72
+76
 03
 6f
 e0
 c9
-68
+6c
 67
 e0
 89
@@ -2782,7 +2798,7 @@
 28
 70
 49
-72
+76
 04
 d8
 a0
@@ -2798,7 +2814,7 @@
 a3
 70
 49
-74
+78
 00
 20
 20
@@ -2806,12 +2822,12 @@
 28
 70
 49
-72
+76
 07
 6f
 e1
 c9
-6e
+72
 67
 e1
 89
@@ -2822,32 +2838,32 @@
 28
 70
 49
-72
+76
 08
 20
 20
 02
-b7
+bb
 70
 49
-72
+76
 09
 20
 20
 02
-bd
+c1
 70
 49
-72
+76
 00
 20
 20
 02
-b7
+bb
 6f
 e0
 c9
-71
+75
 1f
 e0
 fe
@@ -2855,18 +2871,18 @@
 67
 e0
 c9
-71
+75
 c1
 87
 80
 00
 70
 49
-71
+75
 00
 70
 49
-72
+76
 05
 20
 60
@@ -2875,22 +2891,22 @@
 6f
 e0
 c9
-74
+78
 c0
 00
 82
-b7
+bb
 c0
 00
 02
-d3
+d7
 20
 60
 00
 00
 70
 49
-72
+76
 06
 20
 60
@@ -2899,11 +2915,11 @@
 d8
 40
 49
-78
+7c
 6f
 e0
 c9
-77
+7b
 98
 40
 84
@@ -2911,7 +2927,7 @@
 6f
 e1
 49
-75
+79
 98
 46
 7c
@@ -2919,19 +2935,19 @@
 20
 22
 82
-d1
+d5
 20
 40
 02
-e3
+e7
 20
 40
 03
-05
+09
 6f
 e0
 c9
-73
+77
 67
 e0
 89
@@ -2943,7 +2959,7 @@
 6f
 e1
 49
-75
+79
 1f
 e0
 fe
@@ -2951,10 +2967,10 @@
 67
 e1
 49
-75
+79
 70
 49
-74
+78
 01
 20
 20
@@ -2963,7 +2979,7 @@
 68
 49
 49
-75
+79
 ef
 e0
 80
@@ -2975,7 +2991,7 @@
 24
 21
 02
-ea
+ee
 da
 40
 00
@@ -2987,7 +3003,7 @@
 20
 21
 03
-01
+05
 ef
 e0
 80
@@ -2999,7 +3015,7 @@
 24
 21
 02
-f0
+f4
 da
 40
 00
@@ -3011,7 +3027,7 @@
 20
 21
 03
-03
+07
 1f
 e6
 7c
@@ -3019,7 +3035,7 @@
 20
 22
 82
-f9
+fd
 1f
 e6
 7c
@@ -3027,23 +3043,23 @@
 20
 22
 82
-fb
+ff
 1f
 e6
 7c
 2e
 20
 22
-82
-fd
+83
+01
 1f
 e6
 7c
 2d
 20
 22
-82
-ff
+83
+03
 20
 60
 00
@@ -3098,12 +3114,12 @@
 00
 70
 49
-73
+77
 00
 6f
 e1
 49
-75
+79
 ef
 e0
 80
@@ -3111,11 +3127,11 @@
 d8
 c0
 49
-a0
+a4
 68
 48
 c9
-9f
+a3
 18
 42
 72
@@ -3131,18 +3147,18 @@
 20
 22
 83
-10
+14
 c2
 00
 03
-0b
+0f
 20
 60
 00
 00
 70
 49
-73
+77
 02
 20
 60
@@ -3151,7 +3167,7 @@
 da
 20
 49
-57
+5b
 20
 40
 7d
@@ -3195,7 +3211,7 @@
 da
 20
 49
-57
+5b
 20
 40
 7d
@@ -3211,27 +3227,27 @@
 c0
 12
 03
-3a
+3e
 c0
 13
 03
-32
+36
 c0
 14
 83
-32
+36
 c0
 11
 83
-32
+36
 c0
 18
 03
-48
+4c
 c0
 12
 83
-41
+45
 c0
 10
 fc
@@ -3243,7 +3259,7 @@
 c0
 13
 83
-2b
+2f
 20
 20
 23
@@ -3251,7 +3267,7 @@
 6f
 e0
 c8
-12
+16
 20
 7a
 00
@@ -3263,7 +3279,7 @@
 d8
 c0
 48
-13
+17
 20
 40
 7b
@@ -3271,15 +3287,15 @@
 d8
 a0
 48
-12
+16
 20
 20
 03
-38
+3c
 6f
 e0
 c8
-53
+57
 20
 7a
 00
@@ -3291,7 +3307,7 @@
 d8
 c0
 48
-54
+58
 20
 40
 7b
@@ -3299,7 +3315,7 @@
 d8
 a0
 48
-53
+57
 df
 20
 00
@@ -3311,7 +3327,7 @@
 6f
 e0
 c8
-94
+98
 20
 7a
 00
@@ -3323,7 +3339,7 @@
 d8
 c0
 48
-95
+99
 20
 40
 7b
@@ -3331,15 +3347,15 @@
 d8
 a0
 48
-94
+98
 20
 20
 03
-38
+3c
 6f
 e0
 c8
-d5
+d9
 20
 7a
 00
@@ -3351,7 +3367,7 @@
 d8
 c0
 48
-d6
+da
 20
 40
 7b
@@ -3359,15 +3375,15 @@
 d8
 a0
 48
-d5
+d9
 20
 20
 03
-38
+3c
 6f
 e0
 c9
-16
+1a
 20
 7a
 00
@@ -3379,7 +3395,7 @@
 d8
 c0
 49
-17
+1b
 20
 40
 7b
@@ -3387,11 +3403,11 @@
 d8
 a0
 49
-16
+1a
 20
 20
 03
-38
+3c
 20
 75
 80
@@ -3443,7 +3459,7 @@
 20
 40
 03
-6c
+70
 2a
 2f
 fe
@@ -3475,7 +3491,7 @@
 20
 40
 03
-6c
+70
 d8
 a0
 8a
@@ -3503,7 +3519,7 @@
 20
 21
 03
-61
+65
 20
 20
 21
@@ -3607,7 +3623,7 @@
 20
 40
 03
-a5
+a9
 70
 8a
 08
@@ -3643,7 +3659,7 @@
 20
 40
 03
-9b
+9f
 6f
 f0
 8a
@@ -3687,7 +3703,7 @@
 20
 40
 03
-a5
+a9
 70
 80
 cd
@@ -3747,7 +3763,7 @@
 c3
 02
 83
-a6
+aa
 68
 59
 01
@@ -3783,7 +3799,7 @@
 c0
 08
 03
-c5
+c9
 58
 00
 57
@@ -3827,7 +3843,7 @@
 c0
 08
 03
-c2
+c6
 58
 00
 2b
@@ -3863,7 +3879,7 @@
 20
 20
 03
-be
+c2
 58
 00
 83
@@ -3875,7 +3891,7 @@
 20
 20
 03
-b3
+b7
 6f
 e0
 c3
@@ -3915,7 +3931,7 @@
 c0
 11
 03
-d4
+d8
 c0
 7f
 b5
@@ -3931,7 +3947,7 @@
 20
 3a
 03
-da
+de
 6f
 e2
 45
@@ -3955,11 +3971,11 @@
 c0
 00
 83
-de
+e2
 c0
 01
 03
-e6
+ea
 20
 60
 00
@@ -3979,7 +3995,7 @@
 c0
 01
 03
-e3
+e7
 20
 60
 00
@@ -4011,7 +4027,7 @@
 c0
 80
 03
-eb
+ef
 20
 60
 00
@@ -4090,8 +4106,8 @@
 00
 20
 40
+04
 03
-ff
 20
 20
 34
@@ -4127,11 +4143,11 @@
 20
 40
 04
-13
+17
 20
 40
 04
-15
+19
 6f
 e0
 89
@@ -4175,7 +4191,7 @@
 20
 20
 01
-74
+76
 58
 00
 00
@@ -4199,11 +4215,11 @@
 20
 40
 04
-1d
+21
 20
 40
 04
-20
+24
 d8
 e0
 00
@@ -4219,7 +4235,7 @@
 6f
 e0
 c9
-72
+76
 20
 7a
 00
@@ -4227,7 +4243,7 @@
 20
 20
 02
-14
+16
 6f
 e0
 c6
@@ -4239,7 +4255,7 @@
 6f
 e0
 c8
-0d
+11
 20
 7a
 00
@@ -4247,7 +4263,7 @@
 6f
 e1
 48
-0e
+12
 1f
 e0
 fe
@@ -4255,7 +4271,7 @@
 67
 e1
 48
-0e
+12
 d8
 40
 04
@@ -4275,18 +4291,18 @@
 67
 e1
 48
-0e
+12
 6f
 e0
 c8
-0d
+11
 20
 7a
 00
 00
 70
 48
-0d
+11
 00
 20
 60
@@ -4364,8 +4380,8 @@
 20
 31
 95
-89
-6f
+d5
+5a
 aa
 55
 40
@@ -4803,15 +4819,15 @@
 55
 02
 00
-0a
+0e
 48
-07
+08
 00
 aa
 55
 09
 00
-68
+6c
 49
 08
 00
@@ -4826,9 +4842,9 @@
 55
 11
 00
-75
+79
 49
-78
+7c
 49
 0e
 77
@@ -4849,7 +4865,7 @@
 55
 16
 00
-9f
+a3
 49
 15
 7e
@@ -5065,26 +5081,10 @@
 aa
 aa
 55
-d8
+ed
 96
-29
-bf
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+d8
+6a
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-0a
-3a
+64
+4a
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(revision 4033)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(working copy)
@@ -1498,30 +1498,31 @@
 0x4805 mem_usb_get_report_dpi_data
 0x4807 mem_usb_get_report_battery_data
 0x4808 mem_usb_get_report_mouse_version_data
-0x480a mem_dongle_version
-0x480c mem_dongle_app_data
-0x480d mem_dongle_connect_mouse_flag
-0x480e mem_dongle_no_data_count
-0x4810 mem_dongle_receive_dpi_data
-0x4812 mem_usb_rf_state_data
-0x4853 mem_dongle_usb_ep2_data
-0x4894 mem_usb_dpi_info_data
-0x48d5 mem_usb_battery_info_data
-0x4916 mem_usb_key_info_data
-0x4957 mem_usb_ep2_fifo
-0x495f mem_dongle_freq_hop_flag
-0x4960 mem_dg_mouse_data
-0x4967 mem_dg_mouse_key_data_last
-0x4968 mem_usb_win_cmd
-0x496b mem_usb_mac_cmd
-0x496e mem_usb_kb_enter
-0x4971 mem_usb_website_wait_count
-0x4972 mem_usb_website_step
-0x4973 mem_usb_website_shift_flag
-0x4974 mem_usb_website_release_flag
-0x4975 mem_usb_website_ptr
-0x4977 mem_usb_website_info
-0x499f mem_usb_website_info_sign
+0x480a mem_usb_get_report_code_data
+0x480e mem_dongle_version
+0x4810 mem_dongle_app_data
+0x4811 mem_dongle_connect_mouse_flag
+0x4812 mem_dongle_no_data_count
+0x4814 mem_dongle_receive_dpi_data
+0x4816 mem_usb_rf_state_data
+0x4857 mem_dongle_usb_ep2_data
+0x4898 mem_usb_dpi_info_data
+0x48d9 mem_usb_battery_info_data
+0x491a mem_usb_key_info_data
+0x495b mem_usb_ep2_fifo
+0x4963 mem_dongle_freq_hop_flag
+0x4964 mem_dg_mouse_data
+0x496b mem_dg_mouse_key_data_last
+0x496c mem_usb_win_cmd
+0x496f mem_usb_mac_cmd
+0x4972 mem_usb_kb_enter
+0x4975 mem_usb_website_wait_count
+0x4976 mem_usb_website_step
+0x4977 mem_usb_website_shift_flag
+0x4978 mem_usb_website_release_flag
+0x4979 mem_usb_website_ptr
+0x497b mem_usb_website_info
+0x49a3 mem_usb_website_info_sign
 0x45d3 mem_rssi_hex_received
 0x45d4 mem_24g_pair_sm
 0x45d5 mem_24g_pair_no_ack
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(revision 4120)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-0a
+1a
 11
 c2
 84
@@ -32,7 +32,7 @@
 c0
 0a
 03
-ac
+b0
 c0
 0a
 80
@@ -52,7 +52,7 @@
 c0
 1b
 84
-30
+34
 c0
 1c
 00
@@ -64,7 +64,7 @@
 c0
 1e
 84
-06
+0a
 c0
 62
 80
@@ -72,11 +72,11 @@
 c0
 6d
 03
-7d
+81
 c0
 6e
 03
-8d
+91
 c0
 7f
 00
@@ -84,7 +84,7 @@
 c0
 7f
 81
-63
+65
 c0
 7e
 80
@@ -96,43 +96,43 @@
 c0
 00
 01
-87
+89
 c0
 01
 01
-c6
+c8
 c0
 03
 01
-ea
+ec
 c0
 1c
 83
-c8
+cc
 c0
 26
 83
-cc
+d0
 c0
 37
 84
-38
+3c
 c0
 41
 03
-ce
+d2
 c0
 42
 02
-03
+05
 c0
 44
 03
-ee
+f2
 c0
 45
 03
-fb
+ff
 c1
 7f
 80
@@ -368,11 +368,11 @@
 20
 40
 03
-4f
+53
 20
 40
 03
-7a
+7e
 20
 40
 00
@@ -388,7 +388,7 @@
 20
 20
 03
-7c
+80
 20
 75
 80
@@ -936,7 +936,7 @@
 58
 00
 02
-18
+1a
 67
 e1
 45
@@ -1100,7 +1100,7 @@
 20
 3a
 01
-5b
+5d
 6f
 e0
 c6
@@ -1112,43 +1112,43 @@
 c0
 01
 81
-24
+26
 c0
 02
 81
-2e
+30
 c0
 03
 01
-37
+39
 c0
 03
 81
-4f
+51
 20
 60
 00
 00
 70
 48
-53
+57
 40
 70
 48
-54
+58
 a1
 70
 48
-55
+59
 02
 70
 48
-56
+5a
 01
 70
 48
-57
-0b
+5b
+0e
 6f
 e3
 47
@@ -1156,7 +1156,7 @@
 67
 e3
 48
-58
+5c
 6f
 e1
 48
@@ -1164,15 +1164,23 @@
 67
 e1
 48
-5e
+62
 6f
 e1
 48
-0a
+0e
 67
 e1
 48
-60
+64
+6f
+e2
+48
+0a
+67
+e2
+48
+66
 70
 09
 0c
@@ -1180,30 +1188,30 @@
 20
 20
 02
-80
+84
 70
 48
-9a
+9e
 01
 70
 48
-94
+98
 40
 70
 48
-95
+99
 a1
 70
 48
-96
+9a
 02
 70
 48
-97
+9b
 02
 70
 48
-98
+9c
 01
 6f
 e0
@@ -1212,7 +1220,7 @@
 67
 e0
 c8
-99
+9d
 70
 09
 0c
@@ -1220,26 +1228,26 @@
 20
 20
 02
-80
+84
 70
 48
-53
+57
 40
 70
 48
-54
+58
 a1
 70
 48
-55
+59
 02
 70
 48
-56
+5a
 03
 70
 48
-57
+5b
 06
 6f
 e3
@@ -1248,7 +1256,7 @@
 67
 e3
 48
-58
+5c
 70
 09
 0c
@@ -1256,30 +1264,30 @@
 20
 20
 02
-80
+84
 70
 48
-db
+df
 01
 70
 48
-d5
+d9
 40
 70
 48
-d6
+da
 a1
 70
 48
-d7
+db
 02
 70
 48
-d8
+dc
 06
 70
 48
-d9
+dd
 01
 6f
 e0
@@ -1288,7 +1296,7 @@
 67
 e0
 c8
-da
+de
 70
 09
 0c
@@ -1296,26 +1304,26 @@
 20
 20
 02
-80
+84
 70
 48
-53
+57
 40
 70
 48
-54
+58
 a1
 70
 48
-55
+59
 02
 70
 48
-56
+5a
 08
 70
 48
-57
+5b
 00
 70
 09
@@ -1324,26 +1332,26 @@
 20
 20
 02
-80
+84
 70
 49
-16
+1a
 40
 70
 49
-17
+1b
 a1
 70
 49
-18
+1c
 02
 70
 49
-19
+1d
 04
 70
 49
-1a
+1e
 01
 70
 09
@@ -1352,46 +1360,46 @@
 20
 20
 02
-80
+84
 6f
 e0
 c8
-0d
+11
 c0
 00
 01
-5b
+5d
 c0
 00
 81
-53
+55
 20
 60
 00
 00
 70
 48
-12
+16
 40
 70
 48
-13
+17
 a1
 70
 48
-14
+18
 02
 70
 48
-15
+19
 05
 70
 48
-16
+1a
 01
 70
 48
-17
+1b
 01
 70
 09
@@ -1400,30 +1408,30 @@
 20
 20
 02
-80
+84
 70
 48
-12
+16
 40
 70
 48
-13
+17
 a1
 70
 48
-14
+18
 02
 70
 48
-15
+19
 05
 70
 48
-16
+1a
 01
 70
 48
-17
+1b
 00
 70
 09
@@ -1432,7 +1440,7 @@
 20
 20
 02
-80
+84
 6f
 e0
 87
@@ -1464,7 +1472,7 @@
 c0
 00
 81
-77
+79
 d8
 a0
 08
@@ -1476,7 +1484,7 @@
 20
 20
 01
-6e
+70
 6f
 e0
 87
@@ -1500,7 +1508,7 @@
 20
 20
 01
-87
+89
 6f
 e0
 88
@@ -1532,7 +1540,7 @@
 c0
 00
 81
-81
+83
 70
 08
 f7
@@ -1596,7 +1604,7 @@
 c0
 00
 01
-8d
+8f
 20
 20
 23
@@ -1620,11 +1628,11 @@
 c0
 00
 01
-95
+97
 c0
 00
 81
-d0
+d2
 c0
 01
 79
@@ -1640,7 +1648,7 @@
 c0
 00
 81
-9d
+9f
 c0
 01
 fa
@@ -1656,7 +1664,7 @@
 c0
 05
 81
-b7
+b9
 c0
 03
 f9
@@ -1712,7 +1720,7 @@
 c0
 00
 01
-ac
+ae
 c0
 00
 fa
@@ -1840,7 +1848,7 @@
 c0
 01
 01
-cd
+cf
 c0
 01
 fa
@@ -1880,7 +1888,7 @@
 c0
 04
 81
-d5
+d7
 c0
 05
 fb
@@ -1908,7 +1916,7 @@
 20
 34
 01
-e2
+e4
 6f
 f1
 0c
@@ -1960,7 +1968,7 @@
 da
 20
 49
-57
+5b
 20
 40
 7d
@@ -1976,7 +1984,7 @@
 20
 40
 01
-e6
+e8
 6f
 e0
 89
@@ -2028,19 +2036,19 @@
 20
 40
 02
-89
+8d
 6f
 e0
 c9
-72
+76
 24
 5a
 01
-fb
+fd
 20
 20
 03
-12
+16
 70
 09
 14
@@ -2060,14 +2068,14 @@
 6f
 e0
 c8
-0d
+11
 24
 7a
 00
 00
 70
 48
-0d
+11
 01
 20
 60
@@ -2076,7 +2084,7 @@
 20
 40
 01
-fd
+ff
 58
 00
 00
@@ -2084,7 +2092,7 @@
 67
 e1
 48
-0e
+12
 6f
 e0
 c5
@@ -2104,7 +2112,7 @@
 c2
 82
 02
-0f
+11
 c2
 81
 b3
@@ -2112,11 +2120,11 @@
 c2
 82
 82
-0f
+11
 c2
 83
 02
-0f
+11
 20
 20
 33
@@ -2164,27 +2172,27 @@
 c2
 82
 02
-14
+16
 c2
 81
 82
-49
+4b
 c2
 82
 82
-51
+53
 c2
 83
 02
-6b
+6d
 c2
 83
 82
-7a
+7e
 20
 20
 02
-1f
+21
 6f
 e0
 c5
@@ -2196,11 +2204,11 @@
 20
 22
 82
-31
+33
 20
 40
 02
-31
+33
 6f
 e0
 c5
@@ -2236,23 +2244,23 @@
 c2
 82
 02
-14
+16
 c2
 81
 82
-49
+4b
 c2
 82
 82
-51
+53
 c2
 83
 02
-6b
+6d
 c2
 83
 82
-7a
+7e
 20
 60
 00
@@ -2296,19 +2304,19 @@
 67
 e3
 c9
-60
+64
 6f
 e0
 c9
-60
+64
 68
 48
 c9
-67
+6b
 67
 e0
 c9
-67
+6b
 98
 46
 7c
@@ -2316,19 +2324,19 @@
 20
 22
 82
-42
+44
 20
 40
 02
-44
+46
 20
 20
 02
-46
+48
 6f
 e3
 49
-61
+65
 20
 7a
 00
@@ -2340,7 +2348,7 @@
 20
 20
 02
-80
+84
 6f
 e0
 89
@@ -2348,11 +2356,11 @@
 67
 e0
 c9
-1b
+1f
 20
 20
 01
-48
+4a
 6f
 e0
 c5
@@ -2360,7 +2368,7 @@
 68
 48
 c8
-0c
+10
 98
 46
 7c
@@ -2372,11 +2380,11 @@
 67
 e0
 c8
-0c
+10
 6f
 e0
 c8
-0c
+10
 c1
 ff
 80
@@ -2384,7 +2392,7 @@
 20
 20
 01
-41
+43
 6f
 e1
 45
@@ -2400,7 +2408,7 @@
 68
 48
 c8
-10
+14
 98
 46
 7c
@@ -2408,7 +2416,7 @@
 24
 42
 82
-5c
+5e
 6f
 e0
 c8
@@ -2416,7 +2424,7 @@
 68
 48
 c8
-11
+15
 98
 46
 7c
@@ -2424,7 +2432,7 @@
 24
 42
 82
-5f
+61
 20
 60
 00
@@ -2436,11 +2444,11 @@
 67
 e0
 c8
-10
+14
 20
 20
 01
-25
+27
 6f
 e0
 c8
@@ -2448,15 +2456,15 @@
 67
 e0
 c8
-11
+15
 c0
 2a
 82
-64
+66
 c0
 55
 02
-67
+69
 20
 60
 00
@@ -2464,7 +2472,7 @@
 6f
 e0
 c9
-1b
+1f
 79
 3f
 fe
@@ -2472,11 +2480,11 @@
 20
 20
 02
-69
+6b
 6f
 e0
 c9
-1b
+1f
 79
 20
 7e
@@ -2484,11 +2492,11 @@
 67
 e0
 c9
-1b
+1f
 20
 20
 01
-48
+4a
 6f
 20
 c5
@@ -2537,10 +2545,18 @@
 e1
 48
 05
+6f
+e2
+45
+f6
+67
+e2
+48
+0a
 20
 40
 02
-53
+55
 6f
 e0
 c5
@@ -2548,7 +2564,7 @@
 20
 20
 02
-7b
+7f
 6f
 e0
 c5
@@ -2572,7 +2588,7 @@
 20
 20
 01
-38
+3a
 6f
 e0
 89
@@ -2584,7 +2600,7 @@
 da
 20
 49
-57
+5b
 20
 40
 7d
@@ -2604,7 +2620,7 @@
 da
 20
 49
-57
+5b
 20
 20
 7d
@@ -2656,7 +2672,7 @@
 c0
 08
 82
-96
+9a
 20
 20
 23
@@ -2664,54 +2680,54 @@
 6f
 e0
 c9
-72
+76
 c0
 00
 02
-a2
+a6
 c0
 00
 82
-a4
+a8
 c0
 01
 02
-b2
+b6
 c0
 01
 82
-b6
+ba
 c0
 02
 02
-c6
+ca
 c0
 02
 82
-cd
+d1
 c0
 03
 02
-bc
+c0
 c0
 03
 82
-c0
+c4
 c0
 04
 02
-c2
+c6
 c0
 04
 82
-c4
+c8
 20
 60
 00
 00
 70
 49
-72
+76
 01
 20
 20
@@ -2720,11 +2736,11 @@
 df
 e0
 49
-78
+7c
 67
 e1
 49
-75
+79
 6f
 e0
 88
@@ -2732,23 +2748,23 @@
 c0
 00
 02
-aa
+ae
 c0
 00
 82
-ae
+b2
 20
 60
 00
 00
 70
 49
-72
+76
 02
 6f
 e1
 c9
-68
+6c
 67
 e1
 89
@@ -2759,12 +2775,12 @@
 28
 70
 49
-72
+76
 02
 6f
 e1
 c9
-6b
+6f
 67
 e1
 89
@@ -2775,12 +2791,12 @@
 28
 70
 49
-72
+76
 03
 6f
 e0
 c9
-68
+6c
 67
 e0
 89
@@ -2791,7 +2807,7 @@
 28
 70
 49
-72
+76
 04
 d8
 a0
@@ -2807,7 +2823,7 @@
 a3
 70
 49
-74
+78
 00
 20
 20
@@ -2815,12 +2831,12 @@
 28
 70
 49
-72
+76
 07
 6f
 e1
 c9
-6e
+72
 67
 e1
 89
@@ -2831,32 +2847,32 @@
 28
 70
 49
-72
+76
 08
 20
 20
 02
-b7
+bb
 70
 49
-72
+76
 09
 20
 20
 02
-bd
+c1
 70
 49
-72
+76
 00
 20
 20
 02
-b7
+bb
 6f
 e0
 c9
-71
+75
 1f
 e0
 fe
@@ -2864,18 +2880,18 @@
 67
 e0
 c9
-71
+75
 c1
 87
 80
 00
 70
 49
-71
+75
 00
 70
 49
-72
+76
 05
 20
 60
@@ -2884,22 +2900,22 @@
 6f
 e0
 c9
-74
+78
 c0
 00
 82
-b7
+bb
 c0
 00
 02
-d3
+d7
 20
 60
 00
 00
 70
 49
-72
+76
 06
 20
 60
@@ -2908,11 +2924,11 @@
 d8
 40
 49
-78
+7c
 6f
 e0
 c9
-77
+7b
 98
 40
 84
@@ -2920,7 +2936,7 @@
 6f
 e1
 49
-75
+79
 98
 46
 7c
@@ -2928,19 +2944,19 @@
 20
 22
 82
-d1
+d5
 20
 40
 02
-e3
+e7
 20
 40
 03
-05
+09
 6f
 e0
 c9
-73
+77
 67
 e0
 89
@@ -2952,7 +2968,7 @@
 6f
 e1
 49
-75
+79
 1f
 e0
 fe
@@ -2960,10 +2976,10 @@
 67
 e1
 49
-75
+79
 70
 49
-74
+78
 01
 20
 20
@@ -2972,7 +2988,7 @@
 68
 49
 49
-75
+79
 ef
 e0
 80
@@ -2984,7 +3000,7 @@
 24
 21
 02
-ea
+ee
 da
 40
 00
@@ -2996,7 +3012,7 @@
 20
 21
 03
-01
+05
 ef
 e0
 80
@@ -3008,7 +3024,7 @@
 24
 21
 02
-f0
+f4
 da
 40
 00
@@ -3020,7 +3036,7 @@
 20
 21
 03
-03
+07
 1f
 e6
 7c
@@ -3028,7 +3044,7 @@
 20
 22
 82
-f9
+fd
 1f
 e6
 7c
@@ -3036,23 +3052,23 @@
 20
 22
 82
-fb
+ff
 1f
 e6
 7c
 2e
 20
 22
-82
-fd
+83
+01
 1f
 e6
 7c
 2d
 20
 22
-82
-ff
+83
+03
 20
 60
 00
@@ -3107,12 +3123,12 @@
 00
 70
 49
-73
+77
 00
 6f
 e1
 49
-75
+79
 ef
 e0
 80
@@ -3120,11 +3136,11 @@
 d8
 c0
 49
-a0
+a4
 68
 48
 c9
-9f
+a3
 18
 42
 72
@@ -3140,18 +3156,18 @@
 20
 22
 83
-10
+14
 c2
 00
 03
-0b
+0f
 20
 60
 00
 00
 70
 49
-73
+77
 02
 20
 60
@@ -3160,7 +3176,7 @@
 da
 20
 49
-57
+5b
 20
 40
 7d
@@ -3204,7 +3220,7 @@
 da
 20
 49
-57
+5b
 20
 40
 7d
@@ -3220,27 +3236,27 @@
 c0
 12
 03
-3a
+3e
 c0
 13
 03
-32
+36
 c0
 14
 83
-32
+36
 c0
 11
 83
-32
+36
 c0
 18
 03
-48
+4c
 c0
 12
 83
-41
+45
 c0
 10
 fc
@@ -3252,7 +3268,7 @@
 c0
 13
 83
-2b
+2f
 20
 20
 23
@@ -3260,7 +3276,7 @@
 6f
 e0
 c8
-12
+16
 20
 7a
 00
@@ -3272,7 +3288,7 @@
 d8
 c0
 48
-13
+17
 20
 40
 7b
@@ -3280,15 +3296,15 @@
 d8
 a0
 48
-12
+16
 20
 20
 03
-38
+3c
 6f
 e0
 c8
-53
+57
 20
 7a
 00
@@ -3300,7 +3316,7 @@
 d8
 c0
 48
-54
+58
 20
 40
 7b
@@ -3308,7 +3324,7 @@
 d8
 a0
 48
-53
+57
 df
 20
 00
@@ -3320,7 +3336,7 @@
 6f
 e0
 c8
-94
+98
 20
 7a
 00
@@ -3332,7 +3348,7 @@
 d8
 c0
 48
-95
+99
 20
 40
 7b
@@ -3340,15 +3356,15 @@
 d8
 a0
 48
-94
+98
 20
 20
 03
-38
+3c
 6f
 e0
 c8
-d5
+d9
 20
 7a
 00
@@ -3360,7 +3376,7 @@
 d8
 c0
 48
-d6
+da
 20
 40
 7b
@@ -3368,15 +3384,15 @@
 d8
 a0
 48
-d5
+d9
 20
 20
 03
-38
+3c
 6f
 e0
 c9
-16
+1a
 20
 7a
 00
@@ -3388,7 +3404,7 @@
 d8
 c0
 49
-17
+1b
 20
 40
 7b
@@ -3396,11 +3412,11 @@
 d8
 a0
 49
-16
+1a
 20
 20
 03
-38
+3c
 20
 75
 80
@@ -3452,7 +3468,7 @@
 20
 40
 03
-6c
+70
 2a
 2f
 fe
@@ -3484,7 +3500,7 @@
 20
 40
 03
-6c
+70
 d8
 a0
 8a
@@ -3512,7 +3528,7 @@
 20
 21
 03
-61
+65
 20
 20
 21
@@ -3616,7 +3632,7 @@
 20
 40
 03
-a5
+a9
 70
 8a
 08
@@ -3652,7 +3668,7 @@
 20
 40
 03
-9b
+9f
 6f
 f0
 8a
@@ -3696,7 +3712,7 @@
 20
 40
 03
-a5
+a9
 70
 80
 cd
@@ -3756,7 +3772,7 @@
 c3
 02
 83
-a6
+aa
 68
 59
 01
@@ -3792,7 +3808,7 @@
 c0
 08
 03
-c5
+c9
 58
 00
 57
@@ -3836,7 +3852,7 @@
 c0
 08
 03
-c2
+c6
 58
 00
 2b
@@ -3872,7 +3888,7 @@
 20
 20
 03
-be
+c2
 58
 00
 83
@@ -3884,7 +3900,7 @@
 20
 20
 03
-b3
+b7
 6f
 e0
 c3
@@ -3924,7 +3940,7 @@
 c0
 11
 03
-d4
+d8
 c0
 7f
 b5
@@ -3940,7 +3956,7 @@
 20
 3a
 03
-da
+de
 6f
 e2
 45
@@ -3964,11 +3980,11 @@
 c0
 00
 83
-de
+e2
 c0
 01
 03
-e6
+ea
 20
 60
 00
@@ -3988,7 +4004,7 @@
 c0
 01
 03
-e3
+e7
 20
 60
 00
@@ -4020,7 +4036,7 @@
 c0
 80
 03
-eb
+ef
 20
 60
 00
@@ -4099,8 +4115,8 @@
 00
 20
 40
+04
 03
-ff
 20
 20
 34
@@ -4136,11 +4152,11 @@
 20
 40
 04
-13
+17
 20
 40
 04
-15
+19
 6f
 e0
 89
@@ -4184,7 +4200,7 @@
 20
 20
 01
-74
+76
 58
 00
 00
@@ -4208,11 +4224,11 @@
 20
 40
 04
-1d
+21
 20
 40
 04
-20
+24
 d8
 e0
 00
@@ -4228,7 +4244,7 @@
 6f
 e0
 c9
-72
+76
 20
 7a
 00
@@ -4236,7 +4252,7 @@
 20
 20
 02
-14
+16
 6f
 e0
 c6
@@ -4248,7 +4264,7 @@
 6f
 e0
 c8
-0d
+11
 20
 7a
 00
@@ -4256,7 +4272,7 @@
 6f
 e1
 48
-0e
+12
 1f
 e0
 fe
@@ -4264,7 +4280,7 @@
 67
 e1
 48
-0e
+12
 d8
 40
 04
@@ -4284,18 +4300,18 @@
 67
 e1
 48
-0e
+12
 6f
 e0
 c8
-0d
+11
 20
 7a
 00
 00
 70
 48
-0d
+11
 00
 20
 60
@@ -4373,8 +4389,8 @@
 20
 31
 95
-89
-6f
+d5
+5a
 aa
 55
 40
@@ -4812,15 +4828,15 @@
 55
 02
 00
-0a
+0e
 48
-07
+08
 00
 aa
 55
 09
 00
-68
+6c
 49
 08
 00
@@ -4835,9 +4851,9 @@
 55
 11
 00
-75
+79
 49
-78
+7c
 49
 0e
 77
@@ -4858,7 +4874,7 @@
 55
 16
 00
-9f
+a3
 49
 15
 7e
@@ -5074,8 +5090,8 @@
 aa
 aa
 55
-d8
+ed
 96
-29
-bf
+d8
+6a
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(revision 4120)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(working copy)
@@ -4,34 +4,34 @@
 0001 c0000020 beq patch00_0 ,p_soft_reset 
 0002 c0010026 beq patch00_2 ,p_main_loop 
 0003 c008802f beq patch02_1 ,p_set_sync_on 
-0004 c00a03ac beq patch02_4 ,p_set_lemode 
+0004 c00a03b0 beq patch02_4 ,p_set_lemode 
 0005 c00a80c9 beq patch02_5 ,p_rf_rx_enable 
 0006 c00c00d7 beq patch03_0 ,p_txon 
 0007 c00c807d beq patch03_1 ,p_set_tx_power 
 0008 c00d003d beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8430 beq patch06_7 ,p_dongle_default_init 
+0009 c01b8434 beq patch06_7 ,p_dongle_default_init 
 000a c01c009c beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c8098 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e8406 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e840a beq patch07_5 ,p_dongle_usb_dispatch 
 000d c0628095 beq patch18_5 ,p_otp_read_data 
-000e c06d037d beq patch1b_2 ,p_sadc_calibration 
-000f c06e038d beq patch1b_4 ,p_enable_adc 
+000e c06d0381 beq patch1b_2 ,p_sadc_calibration 
+000f c06e0391 beq patch1b_4 ,p_enable_adc 
 0010 c07f00e2 beq patch1f_6 ,p_usb_init 
-0011 c07f8163 beq patch1f_7 ,p_usb_rx 
+0011 c07f8165 beq patch1f_7 ,p_usb_rx 
 0012 c07e80de beq patch1f_5 ,p_usb_isr 
 0013 2020235a branch assert 
 
 pf_patch_ext:
-0014 c0000187 beq patch20_0 ,p_usb_class_type 
-0015 c00101c6 beq patch20_2 ,p_usb0_request_get_descriptor 
-0016 c00301ea beq patch20_6 ,p_usb_tx 
-0017 c01c83c8 beq patch27_1 ,p_le_parse 
-0018 c02683cc beq patch29_5 ,p_le_init_adv 
-0019 c0378438 beq patch2d_7 ,p_g24_receive_skip_end 
-001a c04103ce beq patch30_2 ,p_g24_bind_data_parse_next 
-001b c0420203 beq patch30_4 ,p_g24_receive_packet_start1 
-001c c04403ee beq patch31_0 ,p_g24_mode_switch_bind_search 
-001d c04503fb beq patch31_2 ,p_g24_bind_mode_auto 
+0014 c0000189 beq patch20_0 ,p_usb_class_type 
+0015 c00101c8 beq patch20_2 ,p_usb0_request_get_descriptor 
+0016 c00301ec beq patch20_6 ,p_usb_tx 
+0017 c01c83cc beq patch27_1 ,p_le_parse 
+0018 c02683d0 beq patch29_5 ,p_le_init_adv 
+0019 c037843c beq patch2d_7 ,p_g24_receive_skip_end 
+001a c04103d2 beq patch30_2 ,p_g24_bind_data_parse_next 
+001b c0420205 beq patch30_4 ,p_g24_receive_packet_start1 
+001c c04403f2 beq patch31_0 ,p_g24_mode_switch_bind_search 
+001d c04503ff beq patch31_2 ,p_g24_bind_mode_auto 
 001e c17f8000 rtneq patch3f_7 
 001f 2020235a branch assert 
 
@@ -100,12 +100,12 @@
 0055 58557474 setarg 0x557474 
 0056 67f18968 store 3 ,0x8968 
 0057 7089606e jam 0x6e ,0x8960 
-0058 2040034f call p_rx_dcoc 
-0059 2040037a call p_rfpll_aac_ghpc 
+0058 20400353 call p_rx_dcoc 
+0059 2040037e call p_rfpll_aac_ghpc 
 005a 2040005e call p_set_xtal_cap 
 005b 7041480c jam system_clk_12m ,mem_system_clk 
 005c 20406f4e call sadc_calibration 
-005d 2020037c branch p_dpll_ring_ibias_calc 
+005d 20200380 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 005e 20758000 rtn wake 
@@ -280,7 +280,7 @@
 00e3 20407932 call usb_init_param 
 00e4 58004723 setarg mem_usb_ep2_config 
 00e5 67e107a9 store 2 ,mem_hidreportdesc_m 
-00e6 58000218 setarg p_dongle_g24_mouse 
+00e6 5800021a setarg p_dongle_g24_mouse 
 00e7 67e145e4 store 2 ,mem_cb_24g_data_device1 
 
 p_usb_init_restart:
@@ -329,1073 +329,1077 @@
 
 p_dongle_usb_hci_cmd_control:
 010e 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-010f 203a015b branch p_dongle_usb_device_disconnect ,blank 
+010f 203a015d branch p_dongle_usb_device_disconnect ,blank 
 0110 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
 0111 c0008117 beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
-0112 c0018124 beq hci_cmd_get_dpi ,p_dongle_usb_hci_cmd_get_dpi 
-0113 c002812e beq hci_cmd_get_sn ,p_dongle_usb_hci_cmd_get_sn 
-0114 c0030137 beq hci_cmd_set_battery ,p_dongle_usb_hci_cmd_get_battery 
-0115 c003814f beq hci_cmd_get_connect_state ,p_dongle_usb_hci_cmd_get_connect_state 
+0112 c0018126 beq hci_cmd_get_dpi ,p_dongle_usb_hci_cmd_get_dpi 
+0113 c0028130 beq hci_cmd_get_sn ,p_dongle_usb_hci_cmd_get_sn 
+0114 c0030139 beq hci_cmd_set_battery ,p_dongle_usb_hci_cmd_get_battery 
+0115 c0038151 beq hci_cmd_get_connect_state ,p_dongle_usb_hci_cmd_get_connect_state 
 0116 20600000 rtn 
 
 p_dongle_usb_hci_cmd_get_deivce_info:
-0117 70485340 jam 0x40 ,mem_dongle_usb_ep2_data 
-0118 704854a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0119 70485502 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-011a 70485601 jam 0x01 ,mem_dongle_usb_ep2_data + 3 
-011b 7048570b jam 0x0b ,mem_dongle_usb_ep2_data + 4 
+0117 70485740 jam 0x40 ,mem_dongle_usb_ep2_data 
+0118 704858a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0119 70485902 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+011a 70485a01 jam 0x01 ,mem_dongle_usb_ep2_data + 3 
+011b 70485b0e jam 0x0e ,mem_dongle_usb_ep2_data + 4 
 011c 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
-011d 67e34858 store 6 ,mem_dongle_usb_ep2_data + 5 
+011d 67e3485c store 6 ,mem_dongle_usb_ep2_data + 5 
 011e 6fe14808 fetch 2 ,mem_usb_get_report_mouse_version_data 
-011f 67e1485e store 2 ,mem_dongle_usb_ep2_data + 11 
-0120 6fe1480a fetch 2 ,mem_dongle_version 
-0121 67e14860 store 2 ,mem_dongle_usb_ep2_data + 13 
-0122 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
-0123 20200280 branch p_dongle_usb_tx_enable_ep2 
+011f 67e14862 store 2 ,mem_dongle_usb_ep2_data + 11 
+0120 6fe1480e fetch 2 ,mem_dongle_version 
+0121 67e14864 store 2 ,mem_dongle_usb_ep2_data + 13 
+0122 6fe2480a fetch 4 ,mem_usb_get_report_code_data 
+0123 67e24866 store 4 ,mem_dongle_usb_ep2_data + 15 
+0124 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
+0125 20200284 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_dpi:
-0124 70489a01 jam 0x01 ,mem_usb_dpi_info_data + 6 
+0126 70489e01 jam 0x01 ,mem_usb_dpi_info_data + 6 
 
 p_dongle_usb_tx_ep2_dpi_data:
-0125 70489440 jam 0x40 ,mem_usb_dpi_info_data 
-0126 704895a1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
-0127 70489602 jam 0x02 ,mem_usb_dpi_info_data + 2 
-0128 70489702 jam 0x02 ,mem_usb_dpi_info_data + 3 
-0129 70489801 jam 0x01 ,mem_usb_dpi_info_data + 4 
-012a 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-012b 67e0c899 store 1 ,mem_usb_dpi_info_data + 5 
-012c 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
-012d 20200280 branch p_dongle_usb_tx_enable_ep2 
+0127 70489840 jam 0x40 ,mem_usb_dpi_info_data 
+0128 704899a1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
+0129 70489a02 jam 0x02 ,mem_usb_dpi_info_data + 2 
+012a 70489b02 jam 0x02 ,mem_usb_dpi_info_data + 3 
+012b 70489c01 jam 0x01 ,mem_usb_dpi_info_data + 4 
+012c 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+012d 67e0c89d store 1 ,mem_usb_dpi_info_data + 5 
+012e 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
+012f 20200284 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_sn:
-012e 70485340 jam 0x40 ,mem_dongle_usb_ep2_data 
-012f 704854a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0130 70485502 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0131 70485603 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
-0132 70485706 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
-0133 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
-0134 67e34858 store 6 ,mem_dongle_usb_ep2_data + 5 
-0135 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
-0136 20200280 branch p_dongle_usb_tx_enable_ep2 
+0130 70485740 jam 0x40 ,mem_dongle_usb_ep2_data 
+0131 704858a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0132 70485902 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+0133 70485a03 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
+0134 70485b06 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
+0135 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
+0136 67e3485c store 6 ,mem_dongle_usb_ep2_data + 5 
+0137 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
+0138 20200284 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_battery:
-0137 7048db01 jam 0x01 ,mem_usb_battery_info_data + 6 
+0139 7048df01 jam 0x01 ,mem_usb_battery_info_data + 6 
 
 p_dongle_usb_tx_ep2_battery_data:
-0138 7048d540 jam 0x40 ,mem_usb_battery_info_data 
-0139 7048d6a1 jam report_id_data_in ,mem_usb_battery_info_data + 1 
-013a 7048d702 jam 0x02 ,mem_usb_battery_info_data + 2 
-013b 7048d806 jam 0x06 ,mem_usb_battery_info_data + 3 
-013c 7048d901 jam 0x01 ,mem_usb_battery_info_data + 4 
-013d 6fe0c807 fetch 1 ,mem_usb_get_report_battery_data 
-013e 67e0c8da store 1 ,mem_usb_battery_info_data + 5 
-013f 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
-0140 20200280 branch p_dongle_usb_tx_enable_ep2 
+013a 7048d940 jam 0x40 ,mem_usb_battery_info_data 
+013b 7048daa1 jam report_id_data_in ,mem_usb_battery_info_data + 1 
+013c 7048db02 jam 0x02 ,mem_usb_battery_info_data + 2 
+013d 7048dc06 jam 0x06 ,mem_usb_battery_info_data + 3 
+013e 7048dd01 jam 0x01 ,mem_usb_battery_info_data + 4 
+013f 6fe0c807 fetch 1 ,mem_usb_get_report_battery_data 
+0140 67e0c8de store 1 ,mem_usb_battery_info_data + 5 
+0141 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
+0142 20200284 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_ep2_app_data:
-0141 70485340 jam 0x40 ,mem_dongle_usb_ep2_data 
-0142 704854a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0143 70485502 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0144 70485608 jam 0x08 ,mem_dongle_usb_ep2_data + 3 
-0145 70485700 jam 0x00 ,mem_dongle_usb_ep2_data + 4 
-0146 70090c29 jam usb_ep2_app ,mem_usb_ep2_data 
-0147 20200280 branch p_dongle_usb_tx_enable_ep2 
+0143 70485740 jam 0x40 ,mem_dongle_usb_ep2_data 
+0144 704858a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0145 70485902 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+0146 70485a08 jam 0x08 ,mem_dongle_usb_ep2_data + 3 
+0147 70485b00 jam 0x00 ,mem_dongle_usb_ep2_data + 4 
+0148 70090c29 jam usb_ep2_app ,mem_usb_ep2_data 
+0149 20200284 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_ep2_key_data:
-0148 70491640 jam 0x40 ,mem_usb_key_info_data 
-0149 704917a1 jam report_id_data_in ,mem_usb_key_info_data + 1 
-014a 70491802 jam 0x02 ,mem_usb_key_info_data + 2 
-014b 70491904 jam 0x04 ,mem_usb_key_info_data + 3 
-014c 70491a01 jam 0x01 ,mem_usb_key_info_data + 4 
-014d 70090c30 jam usb_ep2_key ,mem_usb_ep2_data 
-014e 20200280 branch p_dongle_usb_tx_enable_ep2 
+014a 70491a40 jam 0x40 ,mem_usb_key_info_data 
+014b 70491ba1 jam report_id_data_in ,mem_usb_key_info_data + 1 
+014c 70491c02 jam 0x02 ,mem_usb_key_info_data + 2 
+014d 70491d04 jam 0x04 ,mem_usb_key_info_data + 3 
+014e 70491e01 jam 0x01 ,mem_usb_key_info_data + 4 
+014f 70090c30 jam usb_ep2_key ,mem_usb_ep2_data 
+0150 20200284 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_connect_state:
-014f 6fe0c80d fetch 1 ,mem_dongle_connect_mouse_flag 
-0150 c000015b beq 0 ,p_dongle_usb_device_disconnect 
-0151 c0008153 beq 1 ,p_dongle_usb_device_connect 
-0152 20600000 rtn 
+0151 6fe0c811 fetch 1 ,mem_dongle_connect_mouse_flag 
+0152 c000015d beq 0 ,p_dongle_usb_device_disconnect 
+0153 c0008155 beq 1 ,p_dongle_usb_device_connect 
+0154 20600000 rtn 
 
 p_dongle_usb_device_connect:
-0153 70481240 jam 0x40 ,mem_usb_rf_state_data 
-0154 704813a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
-0155 70481402 jam 0x02 ,mem_usb_rf_state_data + 2 
-0156 70481505 jam 0x05 ,mem_usb_rf_state_data + 3 
-0157 70481601 jam 0x01 ,mem_usb_rf_state_data + 4 
-0158 70481701 jam 0x01 ,mem_usb_rf_state_data + 5 
-0159 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-015a 20200280 branch p_dongle_usb_tx_enable_ep2 
+0155 70481640 jam 0x40 ,mem_usb_rf_state_data 
+0156 704817a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+0157 70481802 jam 0x02 ,mem_usb_rf_state_data + 2 
+0158 70481905 jam 0x05 ,mem_usb_rf_state_data + 3 
+0159 70481a01 jam 0x01 ,mem_usb_rf_state_data + 4 
+015a 70481b01 jam 0x01 ,mem_usb_rf_state_data + 5 
+015b 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+015c 20200284 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_device_disconnect:
-015b 70481240 jam 0x40 ,mem_usb_rf_state_data 
-015c 704813a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
-015d 70481402 jam 0x02 ,mem_usb_rf_state_data + 2 
-015e 70481505 jam 0x05 ,mem_usb_rf_state_data + 3 
-015f 70481601 jam 0x01 ,mem_usb_rf_state_data + 4 
-0160 70481700 jam 0x00 ,mem_usb_rf_state_data + 5 
-0161 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-0162 20200280 branch p_dongle_usb_tx_enable_ep2 
+015d 70481640 jam 0x40 ,mem_usb_rf_state_data 
+015e 704817a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+015f 70481802 jam 0x02 ,mem_usb_rf_state_data + 2 
+0160 70481905 jam 0x05 ,mem_usb_rf_state_data + 3 
+0161 70481a01 jam 0x01 ,mem_usb_rf_state_data + 4 
+0162 70481b00 jam 0x00 ,mem_usb_rf_state_data + 5 
+0163 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+0164 20200284 branch p_dongle_usb_tx_enable_ep2 
 
 p_usb_rx:
-0163 6fe08709 fetch 1 ,mem_usb_status 
-0164 c4028000 rtnbit0 usb_status_rxready 
-0165 20407989 call usb_rx_len 
-0166 6048c697 storet 1 ,mem_usb_rx_endpoint 
-0167 2841fe0d compare 13 ,temp ,0xff 
-0168 2020f999 branch usb_rx_ep13 ,true 
-0169 6fe0c696 fetch 1 ,mem_setreport_count 
-016a c0008177 beq 1 ,p_setreport_next_page_data 
-016b d8a0086d arg mem_usb_setup ,contw 
-016c 20407994 call usb_rx_read 
-016d 2020016e branch p_usb_rx_next 
+0165 6fe08709 fetch 1 ,mem_usb_status 
+0166 c4028000 rtnbit0 usb_status_rxready 
+0167 20407989 call usb_rx_len 
+0168 6048c697 storet 1 ,mem_usb_rx_endpoint 
+0169 2841fe0d compare 13 ,temp ,0xff 
+016a 2020f999 branch usb_rx_ep13 ,true 
+016b 6fe0c696 fetch 1 ,mem_setreport_count 
+016c c0008179 beq 1 ,p_setreport_next_page_data 
+016d d8a0086d arg mem_usb_setup ,contw 
+016e 20407994 call usb_rx_read 
+016f 20200170 branch p_usb_rx_next 
 
 p_usb_rx_next:
-016e 6fe0870c fetch 1 ,mem_usb_read_len 
-016f c0007986 beq 0x00 ,usb_rx_no_data 
-0170 c000f9b6 beq 0x01 ,usb_out_one_byte 
-0171 1fe67c07 sub pdata ,7 ,null 
-0172 20610000 rtn positive 
-0173 20200187 branch p_usb_class_type 
+0170 6fe0870c fetch 1 ,mem_usb_read_len 
+0171 c0007986 beq 0x00 ,usb_rx_no_data 
+0172 c000f9b6 beq 0x01 ,usb_out_one_byte 
+0173 1fe67c07 sub pdata ,7 ,null 
+0174 20610000 rtn positive 
+0175 20200189 branch p_usb_class_type 
 
 p_dongle_usb_data_received_analysis:
-0174 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0175 c0510104 beq report_id_data_out ,p_usb_rx_data_out 
-0176 20600000 rtn 
+0176 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+0177 c0510104 beq report_id_data_out ,p_usb_rx_data_out 
+0178 20600000 rtn 
 
 p_setreport_next_page_data:
-0177 d8a00875 arg mem_usb0_set_report_data ,contw 
-0178 20407994 call usb_rx_read 
-0179 70469600 jam 0 ,mem_setreport_count 
-017a 6fe0870c fetch 1 ,mem_usb_read_len 
-017b c0008181 beq 0x01 ,p_usb_out_one_byte 
-017c 7008f701 jam 1 ,mem_usb0_get_set_report 
-017d 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-017e 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-017f 708c1b03 jam 0x03 ,core_usb_clear_nak 
-0180 20600000 rtn 
+0179 d8a00875 arg mem_usb0_set_report_data ,contw 
+017a 20407994 call usb_rx_read 
+017b 70469600 jam 0 ,mem_setreport_count 
+017c 6fe0870c fetch 1 ,mem_usb_read_len 
+017d c0008183 beq 0x01 ,p_usb_out_one_byte 
+017e 7008f701 jam 1 ,mem_usb0_get_set_report 
+017f 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+0180 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+0181 708c1b03 jam 0x03 ,core_usb_clear_nak 
+0182 20600000 rtn 
 
 p_usb_out_one_byte:
-0181 6fe0886d fetch 1 ,mem_usb_setup 
-0182 c3838000 rtnbit1 7 
-0183 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0184 20407b6a call usb_get_led_status 
-0185 708c1b01 jam 0x1 ,core_usb_clear_nak 
-0186 20600000 rtn 
+0183 6fe0886d fetch 1 ,mem_usb_setup 
+0184 c3838000 rtnbit1 7 
+0185 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+0186 20407b6a call usb_get_led_status 
+0187 708c1b01 jam 0x1 ,core_usb_clear_nak 
+0188 20600000 rtn 
 
 p_usb_class_type:
-0187 793f8023 set0 mark_isstr ,mark 
-0188 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0189 1fe17e80 and_into 0x80 ,pdata 
-018a c04079ba beq in_device ,usb_in_device 
-018b c000018d beq out_device ,p_usb_out_device 
-018c 2020235a branch assert 
+0189 793f8023 set0 mark_isstr ,mark 
+018a 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+018b 1fe17e80 and_into 0x80 ,pdata 
+018c c04079ba beq in_device ,usb_in_device 
+018d c000018f beq out_device ,p_usb_out_device 
+018e 2020235a branch assert 
 
 p_usb_out_device:
-018d 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-018e 1ff1fe00 rshift4 pdata ,pdata 
-018f 1fe37e00 rshift pdata ,pdata 
-0190 1fe17e03 and_into 0x03 ,pdata 
-0191 c0000195 beq standard_req ,p_usb_out_standard_req 
-0192 c00081d0 beq class_req ,p_usb_out_class_req 
-0193 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-0194 2020235a branch assert 
+018f 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0190 1ff1fe00 rshift4 pdata ,pdata 
+0191 1fe37e00 rshift pdata ,pdata 
+0192 1fe17e03 and_into 0x03 ,pdata 
+0193 c0000197 beq standard_req ,p_usb_out_standard_req 
+0194 c00081d2 beq class_req ,p_usb_out_class_req 
+0195 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+0196 2020235a branch assert 
 
 p_usb_out_standard_req:
-0195 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-0196 c000819d beq clear_feature ,p_usb0_request_clear_feature 
-0197 c001fadb beq set_feature ,usb0_request_set_feature 
-0198 c002fb06 beq set_address ,usb0_request_set_address 
-0199 c004fb1f beq set_configuration ,usb0_request_set_configuration 
-019a c00581b7 beq set_interface ,p_usb0_request_set_interface 
-019b c003f9e4 beq set_descriptor ,usb0_force_stall 
-019c 202079e4 branch usb0_force_stall 
+0197 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+0198 c000819f beq clear_feature ,p_usb0_request_clear_feature 
+0199 c001fadb beq set_feature ,usb0_request_set_feature 
+019a c002fb06 beq set_address ,usb0_request_set_address 
+019b c004fb1f beq set_configuration ,usb0_request_set_configuration 
+019c c00581b9 beq set_interface ,p_usb0_request_set_interface 
+019d c003f9e4 beq set_descriptor ,usb0_force_stall 
+019e 202079e4 branch usb0_force_stall 
 
 p_usb0_request_clear_feature:
-019d 6fe0886b fetch 1 ,mem_usb0_state 
-019e c08279e4 bne dev_configured ,usb0_force_stall 
-019f 6fe08873 fetch 1 ,mem_usb_setup_blength 
-01a0 c08079e4 bne 0 ,usb0_force_stall 
-01a1 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+019f 6fe0886b fetch 1 ,mem_usb0_state 
+01a0 c08279e4 bne dev_configured ,usb0_force_stall 
+01a1 6fe08873 fetch 1 ,mem_usb_setup_blength 
 01a2 c08079e4 bne 0 ,usb0_force_stall 
-01a3 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01a3 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
 01a4 c08079e4 bne 0 ,usb0_force_stall 
-01a5 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01a5 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
 01a6 c08079e4 bne 0 ,usb0_force_stall 
-01a7 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01a8 c00001ac beq out_device ,p_usb0_request_clear_feature_out_device 
-01a9 c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
-01aa c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
-01ab 202079e4 branch usb0_force_stall 
+01a7 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01a8 c08079e4 bne 0 ,usb0_force_stall 
+01a9 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01aa c00001ae beq out_device ,p_usb0_request_clear_feature_out_device 
+01ab c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
+01ac c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+01ad 202079e4 branch usb0_force_stall 
 
 p_usb0_request_clear_feature_out_device:
-01ac 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01ad c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
-01ae 6ff08c00 fetch 1 ,core_usb_config 
-01af 793ffe07 set0 7 ,pdata 
-01b0 67f08c00 store 1 ,core_usb_config 
-01b1 70090100 jam 0 ,mem_usb_remote_wakeup 
-01b2 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
-01b3 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
-01b4 203a79e9 branch usb0_reply_zerolen ,blank 
-01b5 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
-01b6 202079e9 branch usb0_reply_zerolen 
+01ae 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+01af c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
+01b0 6ff08c00 fetch 1 ,core_usb_config 
+01b1 793ffe07 set0 7 ,pdata 
+01b2 67f08c00 store 1 ,core_usb_config 
+01b3 70090100 jam 0 ,mem_usb_remote_wakeup 
+01b4 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
+01b5 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
+01b6 203a79e9 branch usb0_reply_zerolen ,blank 
+01b7 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
+01b8 202079e9 branch usb0_reply_zerolen 
 
 p_usb0_request_set_interface:
-01b7 6fe0886b fetch 1 ,mem_usb0_state 
-01b8 c08279e4 bne dev_configured ,usb0_force_stall 
-01b9 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01ba c080f9e4 bne out_interface ,usb0_force_stall 
-01bb 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01bc c08079e4 bne 0 ,usb0_force_stall 
-01bd 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01b9 6fe0886b fetch 1 ,mem_usb0_state 
+01ba c08279e4 bne dev_configured ,usb0_force_stall 
+01bb 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01bc c080f9e4 bne out_interface ,usb0_force_stall 
+01bd 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
 01be c08079e4 bne 0 ,usb0_force_stall 
-01bf 6fe08873 fetch 1 ,mem_usb_setup_blength 
+01bf 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
 01c0 c08079e4 bne 0 ,usb0_force_stall 
-01c1 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+01c1 6fe08873 fetch 1 ,mem_usb_setup_blength 
 01c2 c08079e4 bne 0 ,usb0_force_stall 
-01c3 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01c3 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
 01c4 c08079e4 bne 0 ,usb0_force_stall 
-01c5 202079e9 branch usb0_reply_zerolen 
+01c5 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01c6 c08079e4 bne 0 ,usb0_force_stall 
+01c7 202079e9 branch usb0_reply_zerolen 
 
 p_usb0_request_get_descriptor:
-01c6 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01c7 c000fa14 beq dsc_device ,dsc_device_info 
-01c8 c00101cd beq dsc_config ,p_dsc_config_info 
-01c9 c001fa30 beq dsc_string ,dsc_string_info 
-01ca c010fa09 beq dsc_hid ,dsc_hid_info 
-01cb c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
-01cc 202079e4 branch usb0_force_stall 
+01c8 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01c9 c000fa14 beq dsc_device ,dsc_device_info 
+01ca c00101cf beq dsc_config ,p_dsc_config_info 
+01cb c001fa30 beq dsc_string ,dsc_string_info 
+01cc c010fa09 beq dsc_hid ,dsc_hid_info 
+01cd c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
+01ce 202079e4 branch usb0_force_stall 
 
 p_dsc_config_info:
-01cd 58004698 setarg mem_config_new 
-01ce 6848c698 fetcht 1 ,mem_config_new 
-01cf 20207a18 branch dsc_info_set_data_len 
+01cf 58004698 setarg mem_config_new 
+01d0 6848c698 fetcht 1 ,mem_config_new 
+01d1 20207a18 branch dsc_info_set_data_len 
 
 p_usb_out_class_req:
-01d0 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-01d1 c0057b4b beq set_idle ,usb_set_idle 
-01d2 c00481d5 beq set_report ,p_usb_set_report 
-01d3 c005fb7c beq set_protocol ,usb_set_protocol_req 
-01d4 202079e4 branch usb0_force_stall 
+01d2 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01d3 c0057b4b beq set_idle ,usb_set_idle 
+01d4 c00481d7 beq set_report ,p_usb_set_report 
+01d5 c005fb7c beq set_protocol ,usb_set_protocol_req 
+01d6 202079e4 branch usb0_force_stall 
 
 p_usb_set_report:
-01d5 708c1b02 jam 0x2 ,core_usb_clear_nak 
-01d6 20003a98 nop 15000 
-01d7 d8a00875 arg mem_usb0_set_report_data ,contw 
-01d8 204000fd call p_usb_rx_data 
-01d9 203401e2 branch p_usb_set_report_delay ,user 
-01da 6ff10c22 fetch 2 ,core_usb_status 
-01db 67f10c22 store 2 ,core_usb_status 
-01dc 7008f701 jam 1 ,mem_usb0_get_set_report 
-01dd 20407b6e call usb_set_report_resume_judge 
-01de 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-01df 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-01e0 708c1b03 jam 0x3 ,core_usb_clear_nak 
-01e1 20207b65 branch usb_set_report_next 
+01d7 708c1b02 jam 0x2 ,core_usb_clear_nak 
+01d8 20003a98 nop 15000 
+01d9 d8a00875 arg mem_usb0_set_report_data ,contw 
+01da 204000fd call p_usb_rx_data 
+01db 203401e4 branch p_usb_set_report_delay ,user 
+01dc 6ff10c22 fetch 2 ,core_usb_status 
+01dd 67f10c22 store 2 ,core_usb_status 
+01de 7008f701 jam 1 ,mem_usb0_get_set_report 
+01df 20407b6e call usb_set_report_resume_judge 
+01e0 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+01e1 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+01e2 708c1b03 jam 0x3 ,core_usb_clear_nak 
+01e3 20207b65 branch usb_set_report_next 
 
 p_usb_set_report_delay:
-01e2 6fe0c696 fetch 1 ,mem_setreport_count 
-01e3 1fe0fe01 pincrease 1 
-01e4 67e0c696 store 1 ,mem_setreport_count 
-01e5 20600000 rtn 
+01e4 6fe0c696 fetch 1 ,mem_setreport_count 
+01e5 1fe0fe01 pincrease 1 
+01e6 67e0c696 store 1 ,mem_setreport_count 
+01e7 20600000 rtn 
 
 p_usb_tx_ep2_queue_buff_check:
-01e6 da204957 arg mem_usb_ep2_fifo ,rega 
-01e7 20407da3 call fifo_is_empty 
-01e8 207a0000 rtn blank 
-01e9 20204837 branch dongle_usb_tx_enable_ep2 
+01e8 da20495b arg mem_usb_ep2_fifo ,rega 
+01e9 20407da3 call fifo_is_empty 
+01ea 207a0000 rtn blank 
+01eb 20204837 branch dongle_usb_tx_enable_ep2 
 
 p_usb_tx:
-01ea 204001e6 call p_usb_tx_ep2_queue_buff_check 
-01eb 6fe0890d fetch 1 ,mem_usb_tx_enable 
-01ec 207a0000 rtn blank 
-01ed 6ff08c25 fetch 1 ,core_usb_txbusy 
-01ee 1fe17e0f and_into 0x0f ,pdata 
-01ef 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-01f0 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-01f1 203a7c06 branch usb_tx_fifo_release ,blank 
-01f2 6fe08900 fetch 1 ,mem_usb_state 
-01f3 c001fc40 beq usb_sleep ,usb_windows_wakeup 
-01f4 c0817c06 bne usb_connected ,usb_tx_fifo_release 
-01f5 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-01f6 243a7c06 nbranch usb_tx_fifo_release ,blank 
-01f7 20400289 call p_usb_tx_data_ep1 
-01f8 6fe0c972 fetch 1 ,mem_usb_website_step 
-01f9 245a01fb ncall p_usb_ms_data_clear_key_value ,blank 
-01fa 20200312 branch p_usb_tx_data_ep2 
+01ec 204001e8 call p_usb_tx_ep2_queue_buff_check 
+01ed 6fe0890d fetch 1 ,mem_usb_tx_enable 
+01ee 207a0000 rtn blank 
+01ef 6ff08c25 fetch 1 ,core_usb_txbusy 
+01f0 1fe17e0f and_into 0x0f ,pdata 
+01f1 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+01f2 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+01f3 203a7c06 branch usb_tx_fifo_release ,blank 
+01f4 6fe08900 fetch 1 ,mem_usb_state 
+01f5 c001fc40 beq usb_sleep ,usb_windows_wakeup 
+01f6 c0817c06 bne usb_connected ,usb_tx_fifo_release 
+01f7 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+01f8 243a7c06 nbranch usb_tx_fifo_release ,blank 
+01f9 2040028d call p_usb_tx_data_ep1 
+01fa 6fe0c976 fetch 1 ,mem_usb_website_step 
+01fb 245a01fd ncall p_usb_ms_data_clear_key_value ,blank 
+01fc 20200316 branch p_usb_tx_data_ep2 
 
 p_usb_ms_data_clear_key_value:
-01fb 70091400 jam 0 ,mem_usb_mouse_data + 1 
-01fc 20600000 rtn 
+01fd 70091400 jam 0 ,mem_usb_mouse_data + 1 
+01fe 20600000 rtn 
 
 p_dongle_usb_connect_mouse_check:
-01fd 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-01fe c4000000 rtnbit0 0 
-01ff 6fe0c80d fetch 1 ,mem_dongle_connect_mouse_flag 
-0200 247a0000 nrtn blank 
-0201 70480d01 jam 1 ,mem_dongle_connect_mouse_flag 
-0202 20600000 rtn 
+01ff 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0200 c4000000 rtnbit0 0 
+0201 6fe0c811 fetch 1 ,mem_dongle_connect_mouse_flag 
+0202 247a0000 nrtn blank 
+0203 70481101 jam 1 ,mem_dongle_connect_mouse_flag 
+0204 20600000 rtn 
 
 p_g24_receive_packet_start1:
-0203 204001fd call p_dongle_usb_connect_mouse_check 
-0204 58000000 setarg 0 
-0205 67e1480e store 2 ,mem_dongle_no_data_count 
-0206 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0207 c000b3c4 beq datatype_device1 ,g24_data_device1 
-0208 c00133d3 beq datatype_device2 ,g24_data_device2 
-0209 c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-020a c282020f bbit1 data_http ,p_g24_data_receive_device_http_dpi 
-020b c281b3c4 bbit1 data_app ,g24_data_device1 
-020c c282820f bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
-020d c283020f bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
-020e 202033be branch g24_rx_interrupt_clear 
+0205 204001ff call p_dongle_usb_connect_mouse_check 
+0206 58000000 setarg 0 
+0207 67e14812 store 2 ,mem_dongle_no_data_count 
+0208 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0209 c000b3c4 beq datatype_device1 ,g24_data_device1 
+020a c00133d3 beq datatype_device2 ,g24_data_device2 
+020b c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
+020c c2820211 bbit1 data_http ,p_g24_data_receive_device_http_dpi 
+020d c281b3c4 bbit1 data_app ,g24_data_device1 
+020e c2828211 bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
+020f c2830211 bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
+0210 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_device_http_dpi:
-020f 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0210 1fe17e0f and pdata ,0x0f ,pdata 
-0211 c000b3c4 beq datatype_device1 ,g24_data_device1 
-0212 c00133d3 beq datatype_device2 ,g24_data_device2 
-0213 202033be branch g24_rx_interrupt_clear 
+0211 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0212 1fe17e0f and pdata ,0x0f ,pdata 
+0213 c000b3c4 beq datatype_device1 ,g24_data_device1 
+0214 c00133d3 beq datatype_device2 ,g24_data_device2 
+0215 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_http_data:
-0214 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-0215 d8a00923 arg mem_usb_kb_data ,contw 
-0216 20407c9a call memset0_8 
-0217 20204848 branch dongle_usb_tx_ep1_enable 
+0216 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
+0217 d8a00923 arg mem_usb_kb_data ,contw 
+0218 20407c9a call memset0_8 
+0219 20204848 branch dongle_usb_tx_ep1_enable 
 
 p_dongle_g24_mouse:
-0218 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0219 c2820214 bbit1 data_http ,p_dongle_usb_tx_http_data 
-021a c2818249 bbit1 data_app ,p_dongle_receive_app_data 
-021b c2828251 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-021c c283026b bbit1 data_device_info ,p_dongle_receive_device_info_data 
-021d c283827a bbit1 data_battery ,p_dongle_receive_battery_data 
-021e 2020021f branch p_dongle_g24_mouse_next 
+021a 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+021b c2820216 bbit1 data_http ,p_dongle_usb_tx_http_data 
+021c c281824b bbit1 data_app ,p_dongle_receive_app_data 
+021d c2828253 bbit1 data_dpi ,p_dongle_receive_dpi_data 
+021e c283026d bbit1 data_device_info ,p_dongle_receive_device_info_data 
+021f c283827e bbit1 data_battery ,p_dongle_receive_battery_data 
+0220 20200221 branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
-021f 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0220 1fe67c09 sub pdata ,0x09 ,null 
-0221 20228231 branch p_dongle_g24_mouse_data ,zero 
-0222 20400231 call p_dongle_g24_mouse_data 
-0223 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0224 1fe0fff8 add pdata ,-8 ,pdata 
-0225 67e0c57d store 1 ,mem_24g_rxdata_length 
-0226 1fe27200 copy pdata ,loopcnt 
-0227 d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
-0228 d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
-0229 20407cda call memcpy 
-022a 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-022b c2820214 bbit1 data_http ,p_dongle_usb_tx_http_data 
-022c c2818249 bbit1 data_app ,p_dongle_receive_app_data 
-022d c2828251 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-022e c283026b bbit1 data_device_info ,p_dongle_receive_device_info_data 
-022f c283827a bbit1 data_battery ,p_dongle_receive_battery_data 
-0230 20600000 rtn 
+0221 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0222 1fe67c09 sub pdata ,0x09 ,null 
+0223 20228233 branch p_dongle_g24_mouse_data ,zero 
+0224 20400233 call p_dongle_g24_mouse_data 
+0225 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0226 1fe0fff8 add pdata ,-8 ,pdata 
+0227 67e0c57d store 1 ,mem_24g_rxdata_length 
+0228 1fe27200 copy pdata ,loopcnt 
+0229 d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
+022a d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
+022b 20407cda call memcpy 
+022c 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+022d c2820216 bbit1 data_http ,p_dongle_usb_tx_http_data 
+022e c281824b bbit1 data_app ,p_dongle_receive_app_data 
+022f c2828253 bbit1 data_dpi ,p_dongle_receive_dpi_data 
+0230 c283026d bbit1 data_device_info ,p_dongle_receive_device_info_data 
+0231 c283827e bbit1 data_battery ,p_dongle_receive_battery_data 
+0232 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-0231 58000001 setarg ms_report_id 
-0232 67e08913 store 1 ,mem_usb_mouse_data 
-0233 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
-0234 e7e38005 istore 7 ,contw 
-0235 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0236 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+0233 58000001 setarg ms_report_id 
+0234 67e08913 store 1 ,mem_usb_mouse_data 
+0235 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
+0236 e7e38005 istore 7 ,contw 
 0237 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0238 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0238 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+0239 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+023a 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
 
 p_usb_tx_mouse_data_check:
-0239 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
-023a 67e3c960 store 7 ,mem_dg_mouse_data 
-023b 6fe0c960 fetch 1 ,mem_dg_mouse_data 
-023c 6848c967 fetcht 1 ,mem_dg_mouse_key_data_last 
-023d 67e0c967 store 1 ,mem_dg_mouse_key_data_last 
-023e 98467c00 isub temp ,null 
-023f 20228242 branch p_dongle_receive_mouse_data_check ,zero 
-0240 20400244 call p_dongle_mouse_data_tx_enable 
-0241 20200246 branch p_dongle_mouse_key_data_tx_enable 
+023b 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
+023c 67e3c964 store 7 ,mem_dg_mouse_data 
+023d 6fe0c964 fetch 1 ,mem_dg_mouse_data 
+023e 6848c96b fetcht 1 ,mem_dg_mouse_key_data_last 
+023f 67e0c96b store 1 ,mem_dg_mouse_key_data_last 
+0240 98467c00 isub temp ,null 
+0241 20228244 branch p_dongle_receive_mouse_data_check ,zero 
+0242 20400246 call p_dongle_mouse_data_tx_enable 
+0243 20200248 branch p_dongle_mouse_key_data_tx_enable 
 
 p_dongle_receive_mouse_data_check:
-0242 6fe34961 fetch 6 ,mem_dg_mouse_data + 1 
-0243 207a0000 rtn blank 
+0244 6fe34965 fetch 6 ,mem_dg_mouse_data + 1 
+0245 207a0000 rtn blank 
 
 p_dongle_mouse_data_tx_enable:
-0244 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0245 20200280 branch p_dongle_usb_tx_enable_ep2 
+0246 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0247 20200284 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_mouse_key_data_tx_enable:
-0246 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
-0247 67e0c91b store 1 ,mem_usb_key_info_data + 5 
-0248 20200148 branch p_dongle_usb_tx_ep2_key_data 
+0248 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+0249 67e0c91f store 1 ,mem_usb_key_info_data + 5 
+024a 2020014a branch p_dongle_usb_tx_ep2_key_data 
 
 p_dongle_receive_app_data:
-0249 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-024a 6848c80c fetcht 1 ,mem_dongle_app_data 
-024b 98467c00 isub temp ,null 
-024c 20628000 rtn zero 
-024d 67e0c80c store 1 ,mem_dongle_app_data 
-024e 6fe0c80c fetch 1 ,mem_dongle_app_data 
-024f c1ff8000 rtnne long_press 
-0250 20200141 branch p_dongle_usb_tx_ep2_app_data 
+024b 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+024c 6848c810 fetcht 1 ,mem_dongle_app_data 
+024d 98467c00 isub temp ,null 
+024e 20628000 rtn zero 
+024f 67e0c810 store 1 ,mem_dongle_app_data 
+0250 6fe0c810 fetch 1 ,mem_dongle_app_data 
+0251 c1ff8000 rtnne long_press 
+0252 20200143 branch p_dongle_usb_tx_ep2_app_data 
 
 p_dongle_receive_dpi_data:
-0251 6fe145eb fetch 2 ,mem_24g_rxdata_temp + 3 
-0252 67e14805 store 2 ,mem_usb_get_report_dpi_data 
+0253 6fe145eb fetch 2 ,mem_24g_rxdata_temp + 3 
+0254 67e14805 store 2 ,mem_usb_get_report_dpi_data 
 
 p_dongle_receive_dpi_data_compare:
-0253 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-0254 6848c810 fetcht 1 ,mem_dongle_receive_dpi_data 
-0255 98467c00 isub temp ,null 
-0256 2442825c ncall p_dongle_usb_ep2_tx_dpi_data_enable ,zero 
-0257 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
-0258 6848c811 fetcht 1 ,mem_dongle_receive_dpi_data + 1 
-0259 98467c00 isub temp ,null 
-025a 2442825f ncall p_dongle_usb_ep2_tx_dpi_state_data_enable ,zero 
-025b 20600000 rtn 
+0255 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+0256 6848c814 fetcht 1 ,mem_dongle_receive_dpi_data 
+0257 98467c00 isub temp ,null 
+0258 2442825e ncall p_dongle_usb_ep2_tx_dpi_data_enable ,zero 
+0259 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
+025a 6848c815 fetcht 1 ,mem_dongle_receive_dpi_data + 1 
+025b 98467c00 isub temp ,null 
+025c 24428261 ncall p_dongle_usb_ep2_tx_dpi_state_data_enable ,zero 
+025d 20600000 rtn 
 
 p_dongle_usb_ep2_tx_dpi_data_enable:
-025c 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-025d 67e0c810 store 1 ,mem_dongle_receive_dpi_data 
-025e 20200125 branch p_dongle_usb_tx_ep2_dpi_data 
+025e 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+025f 67e0c814 store 1 ,mem_dongle_receive_dpi_data 
+0260 20200127 branch p_dongle_usb_tx_ep2_dpi_data 
 
 p_dongle_usb_ep2_tx_dpi_state_data_enable:
-025f 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
-0260 67e0c811 store 1 ,mem_dongle_receive_dpi_data + 1 
-0261 c02a8264 beq release ,p_dongle_dpi_key_release 
-0262 c0550267 beq press ,p_dongle_dpi_key_press 
-0263 20600000 rtn 
+0261 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
+0262 67e0c815 store 1 ,mem_dongle_receive_dpi_data + 1 
+0263 c02a8266 beq release ,p_dongle_dpi_key_release 
+0264 c0550269 beq press ,p_dongle_dpi_key_press 
+0265 20600000 rtn 
 
 p_dongle_dpi_key_release:
-0264 6fe0c91b fetch 1 ,mem_usb_key_info_data + 5 
-0265 793ffe05 set0 5 ,pdata 
-0266 20200269 branch p_dongle_dpi_key_press + 2 
+0266 6fe0c91f fetch 1 ,mem_usb_key_info_data + 5 
+0267 793ffe05 set0 5 ,pdata 
+0268 2020026b branch p_dongle_dpi_key_press + 2 
 
 p_dongle_dpi_key_press:
-0267 6fe0c91b fetch 1 ,mem_usb_key_info_data + 5 
-0268 79207e05 set1 5 ,pdata 
-0269 67e0c91b store 1 ,mem_usb_key_info_data + 5 
-026a 20200148 branch p_dongle_usb_tx_ep2_key_data 
+0269 6fe0c91f fetch 1 ,mem_usb_key_info_data + 5 
+026a 79207e05 set1 5 ,pdata 
+026b 67e0c91f store 1 ,mem_usb_key_info_data + 5 
+026c 2020014a branch p_dongle_usb_tx_ep2_key_data 
 
 p_dongle_receive_device_info_data:
-026b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-026c 1f20f3ff increase -1 ,loopcnt 
-026d da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
-026e da4047ff arg mem_usb_get_report_sn_data ,regb 
-026f 20407d64 call compare_loop 
-0270 20628000 rtn zero 
-0271 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
-0272 67e347ff store 6 ,mem_usb_get_report_sn_data 
-0273 6fe145f4 fetch 2 ,mem_24g_rxdata_temp + 12 
-0274 67e14808 store 2 ,mem_usb_get_report_mouse_version_data 
-0275 6fe145f1 fetch 2 ,mem_24g_rxdata_temp + 9 
-0276 67e14805 store 2 ,mem_usb_get_report_dpi_data 
-0277 20400253 call p_dongle_receive_dpi_data_compare 
-0278 6fe0c5f3 fetch 1 ,mem_24g_rxdata_temp + 11 
-0279 2020027b branch p_dongle_receive_battery_data_compare 
+026d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+026e 1f20f3ff increase -1 ,loopcnt 
+026f da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
+0270 da4047ff arg mem_usb_get_report_sn_data ,regb 
+0271 20407d64 call compare_loop 
+0272 20628000 rtn zero 
+0273 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
+0274 67e347ff store 6 ,mem_usb_get_report_sn_data 
+0275 6fe145f4 fetch 2 ,mem_24g_rxdata_temp + 12 
+0276 67e14808 store 2 ,mem_usb_get_report_mouse_version_data 
+0277 6fe145f1 fetch 2 ,mem_24g_rxdata_temp + 9 
+0278 67e14805 store 2 ,mem_usb_get_report_dpi_data 
+0279 6fe245f6 fetch 4 ,mem_24g_rxdata_temp + 14 
+027a 67e2480a store 4 ,mem_usb_get_report_code_data 
+027b 20400255 call p_dongle_receive_dpi_data_compare 
+027c 6fe0c5f3 fetch 1 ,mem_24g_rxdata_temp + 11 
+027d 2020027f branch p_dongle_receive_battery_data_compare 
 
 p_dongle_receive_battery_data:
-027a 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+027e 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
 
 p_dongle_receive_battery_data_compare:
-027b 6848c807 fetcht 1 ,mem_usb_get_report_battery_data 
-027c 98467c00 isub temp ,null 
-027d 20628000 rtn zero 
-027e 67e0c807 store 1 ,mem_usb_get_report_battery_data 
-027f 20200138 branch p_dongle_usb_tx_ep2_battery_data 
+027f 6848c807 fetcht 1 ,mem_usb_get_report_battery_data 
+0280 98467c00 isub temp ,null 
+0281 20628000 rtn zero 
+0282 67e0c807 store 1 ,mem_usb_get_report_battery_data 
+0283 2020013a branch p_dongle_usb_tx_ep2_battery_data 
 
 p_dongle_usb_tx_enable_ep2:
-0280 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0281 207a0000 rtn blank 
-0282 da204957 arg mem_usb_ep2_fifo ,rega 
-0283 20407da5 call fifo_is_full 
-0284 247a0000 nrtn blank 
-0285 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0286 67e0866f store 1 ,mem_fifo_temp 
-0287 da204957 arg mem_usb_ep2_fifo ,rega 
-0288 20207d8b branch fifo_in 
+0284 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0285 207a0000 rtn blank 
+0286 da20495b arg mem_usb_ep2_fifo ,rega 
+0287 20407da5 call fifo_is_full 
+0288 247a0000 nrtn blank 
+0289 6fe0890c fetch 1 ,mem_usb_ep2_data 
+028a 67e0866f store 1 ,mem_fifo_temp 
+028b da20495b arg mem_usb_ep2_fifo ,rega 
+028c 20207d8b branch fifo_in 
 
 p_usb_tx_data_ep1:
-0289 6ff08c25 fetch 1 ,core_usb_txbusy 
-028a 1fe17e0f and_into 0x0f ,pdata 
-028b 247a0000 nrtn blank 
-028c 6fe0890d fetch 1 ,mem_usb_tx_enable 
-028d c4008000 rtnbit0 1 
-028e 6fe0890d fetch 1 ,mem_usb_tx_enable 
-028f 793ffe01 set0 1 ,pdata 
-0290 67e0890d store 1 ,mem_usb_tx_enable 
-0291 6fe0890b fetch 1 ,mem_usb_ep1_data 
-0292 207a0000 rtn blank 
-0293 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-0294 c0088296 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-0295 2020235a branch assert 
+028d 6ff08c25 fetch 1 ,core_usb_txbusy 
+028e 1fe17e0f and_into 0x0f ,pdata 
+028f 247a0000 nrtn blank 
+0290 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0291 c4008000 rtnbit0 1 
+0292 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0293 793ffe01 set0 1 ,pdata 
+0294 67e0890d store 1 ,mem_usb_tx_enable 
+0295 6fe0890b fetch 1 ,mem_usb_ep1_data 
+0296 207a0000 rtn blank 
+0297 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+0298 c008829a beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+0299 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-0296 6fe0c972 fetch 1 ,mem_usb_website_step 
-0297 c00002a2 beq key_release ,p_usb_webstie_key_release_data 
-0298 c00082a4 beq website_win ,p_usb_website_winr_data 
-0299 c00102b2 beq website_r_space_release ,p_usb_website_r_space_release_data 
-029a c00182b6 beq website_win_release ,p_usb_website_win_release_data 
-029b c00202c6 beq website_wait ,p_usb_website_wait_tx_data 
-029c c00282cd beq website_data ,p_usb_website_data 
-029d c00302bc beq website_enter_1 ,p_usb_website_enter_data1 
-029e c00382c0 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
-029f c00402c2 beq website_enter_2 ,p_usb_website_enter_data2 
-02a0 c00482c4 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
-02a1 20600000 rtn 
+029a 6fe0c976 fetch 1 ,mem_usb_website_step 
+029b c00002a6 beq key_release ,p_usb_webstie_key_release_data 
+029c c00082a8 beq website_win ,p_usb_website_winr_data 
+029d c00102b6 beq website_r_space_release ,p_usb_website_r_space_release_data 
+029e c00182ba beq website_win_release ,p_usb_website_win_release_data 
+029f c00202ca beq website_wait ,p_usb_website_wait_tx_data 
+02a0 c00282d1 beq website_data ,p_usb_website_data 
+02a1 c00302c0 beq website_enter_1 ,p_usb_website_enter_data1 
+02a2 c00382c4 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
+02a3 c00402c6 beq website_enter_2 ,p_usb_website_enter_data2 
+02a4 c00482c8 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
+02a5 20600000 rtn 
 
 p_usb_webstie_key_release_data:
-02a2 70497201 jam website_win ,mem_usb_website_step 
-02a3 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
+02a6 70497601 jam website_win ,mem_usb_website_step 
+02a7 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
 
 p_usb_website_winr_data:
-02a4 dfe04978 arg mem_usb_website_info + 1 ,pdata 
-02a5 67e14975 store 2 ,mem_usb_website_ptr 
-02a6 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-02a7 c00002aa beq 0 ,p_usb_tx_winos_winr_data 
-02a8 c00082ae beq 1 ,p_usb_tx_macos_winr_data 
-02a9 20600000 rtn 
+02a8 dfe0497c arg mem_usb_website_info + 1 ,pdata 
+02a9 67e14979 store 2 ,mem_usb_website_ptr 
+02aa 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+02ab c00002ae beq 0 ,p_usb_tx_winos_winr_data 
+02ac c00082b2 beq 1 ,p_usb_tx_macos_winr_data 
+02ad 20600000 rtn 
 
 p_usb_tx_winos_winr_data:
-02aa 70497202 jam website_r_space_release ,mem_usb_website_step 
-02ab 6fe1c968 fetch 3 ,mem_usb_win_cmd 
-02ac 67e18923 store 3 ,mem_usb_kb_data 
-02ad 20207c28 branch usb_tx_kb_normal_data 
-
-p_usb_tx_macos_winr_data:
-02ae 70497202 jam website_r_space_release ,mem_usb_website_step 
-02af 6fe1c96b fetch 3 ,mem_usb_mac_cmd 
+02ae 70497602 jam website_r_space_release ,mem_usb_website_step 
+02af 6fe1c96c fetch 3 ,mem_usb_win_cmd 
 02b0 67e18923 store 3 ,mem_usb_kb_data 
 02b1 20207c28 branch usb_tx_kb_normal_data 
 
-p_usb_website_r_space_release_data:
-02b2 70497203 jam website_win_release ,mem_usb_website_step 
-02b3 6fe0c968 fetch 1 ,mem_usb_win_cmd 
-02b4 67e08923 store 1 ,mem_usb_kb_data 
+p_usb_tx_macos_winr_data:
+02b2 70497602 jam website_r_space_release ,mem_usb_website_step 
+02b3 6fe1c96f fetch 3 ,mem_usb_mac_cmd 
+02b4 67e18923 store 3 ,mem_usb_kb_data 
 02b5 20207c28 branch usb_tx_kb_normal_data 
 
+p_usb_website_r_space_release_data:
+02b6 70497603 jam website_win_release ,mem_usb_website_step 
+02b7 6fe0c96c fetch 1 ,mem_usb_win_cmd 
+02b8 67e08923 store 1 ,mem_usb_kb_data 
+02b9 20207c28 branch usb_tx_kb_normal_data 
+
 p_usb_website_win_release_data:
-02b6 70497204 jam website_wait ,mem_usb_website_step 
+02ba 70497604 jam website_wait ,mem_usb_website_step 
 
 p_usb_webstie_release_data:
-02b7 d8a00923 arg mem_usb_kb_data ,contw 
-02b8 df200008 arg 8 ,loopcnt 
-02b9 20407ca3 call memset0 
-02ba 70497400 jam 0 ,mem_usb_website_release_flag 
-02bb 20207c28 branch usb_tx_kb_normal_data 
+02bb d8a00923 arg mem_usb_kb_data ,contw 
+02bc df200008 arg 8 ,loopcnt 
+02bd 20407ca3 call memset0 
+02be 70497800 jam 0 ,mem_usb_website_release_flag 
+02bf 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_data1:
-02bc 70497207 jam website_enter_release_1 ,mem_usb_website_step 
+02c0 70497607 jam website_enter_release_1 ,mem_usb_website_step 
 
 p_usb_webstie_enter_data:
-02bd 6fe1c96e fetch 3 ,mem_usb_kb_enter 
-02be 67e18923 store 3 ,mem_usb_kb_data 
-02bf 20207c28 branch usb_tx_kb_normal_data 
+02c1 6fe1c972 fetch 3 ,mem_usb_kb_enter 
+02c2 67e18923 store 3 ,mem_usb_kb_data 
+02c3 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_release_data1:
-02c0 70497208 jam website_enter_2 ,mem_usb_website_step 
-02c1 202002b7 branch p_usb_webstie_release_data 
+02c4 70497608 jam website_enter_2 ,mem_usb_website_step 
+02c5 202002bb branch p_usb_webstie_release_data 
 
 p_usb_website_enter_data2:
-02c2 70497209 jam website_enter_release_2 ,mem_usb_website_step 
-02c3 202002bd branch p_usb_webstie_enter_data 
+02c6 70497609 jam website_enter_release_2 ,mem_usb_website_step 
+02c7 202002c1 branch p_usb_webstie_enter_data 
 
 p_usb_website_enter_release_data2:
-02c4 70497200 jam website_done ,mem_usb_website_step 
-02c5 202002b7 branch p_usb_webstie_release_data 
+02c8 70497600 jam website_done ,mem_usb_website_step 
+02c9 202002bb branch p_usb_webstie_release_data 
 
 p_usb_website_wait_tx_data:
-02c6 6fe0c971 fetch 1 ,mem_usb_website_wait_count 
-02c7 1fe0fe01 increase 1 ,pdata 
-02c8 67e0c971 store 1 ,mem_usb_website_wait_count 
-02c9 c1878000 rtnne website_wait_count 
-02ca 70497100 jam 0 ,mem_usb_website_wait_count 
-02cb 70497205 jam website_data ,mem_usb_website_step 
-02cc 20600000 rtn 
+02ca 6fe0c975 fetch 1 ,mem_usb_website_wait_count 
+02cb 1fe0fe01 increase 1 ,pdata 
+02cc 67e0c975 store 1 ,mem_usb_website_wait_count 
+02cd c1878000 rtnne website_wait_count 
+02ce 70497500 jam 0 ,mem_usb_website_wait_count 
+02cf 70497605 jam website_data ,mem_usb_website_step 
+02d0 20600000 rtn 
 
 p_usb_website_data:
-02cd 6fe0c974 fetch 1 ,mem_usb_website_release_flag 
-02ce c00082b7 beq 1 ,p_usb_webstie_release_data 
-02cf c00002d3 beq 0 ,p_usb_website_info_data 
-02d0 20600000 rtn 
+02d1 6fe0c978 fetch 1 ,mem_usb_website_release_flag 
+02d2 c00082bb beq 1 ,p_usb_webstie_release_data 
+02d3 c00002d7 beq 0 ,p_usb_website_info_data 
+02d4 20600000 rtn 
 
 p_usb_webstie_info_data_done:
-02d1 70497206 jam website_enter_1 ,mem_usb_website_step 
-02d2 20600000 rtn 
+02d5 70497606 jam website_enter_1 ,mem_usb_website_step 
+02d6 20600000 rtn 
 
 p_usb_website_info_data:
-02d3 d8404978 arg mem_usb_website_info + 1 ,temp 
-02d4 6fe0c977 fetch 1 ,mem_usb_website_info 
-02d5 98408400 iadd temp ,temp 
-02d6 6fe14975 fetch 2 ,mem_usb_website_ptr 
-02d7 98467c00 isub temp ,null 
-02d8 202282d1 branch p_usb_webstie_info_data_done ,zero 
-02d9 204002e3 call p_usb_tx_website_acii2hidkey 
-02da 20400305 call p_usb_tx_website_need_shift 
-02db 6fe0c973 fetch 1 ,mem_usb_website_shift_flag 
-02dc 67e08923 store 1 ,mem_usb_kb_data 
-02dd 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
-02de 6fe14975 fetch 2 ,mem_usb_website_ptr 
-02df 1fe0fe01 increase 1 ,pdata 
-02e0 67e14975 store 2 ,mem_usb_website_ptr 
-02e1 70497401 jam 1 ,mem_usb_website_release_flag 
-02e2 20207c28 branch usb_tx_kb_normal_data 
+02d7 d840497c arg mem_usb_website_info + 1 ,temp 
+02d8 6fe0c97b fetch 1 ,mem_usb_website_info 
+02d9 98408400 iadd temp ,temp 
+02da 6fe14979 fetch 2 ,mem_usb_website_ptr 
+02db 98467c00 isub temp ,null 
+02dc 202282d5 branch p_usb_webstie_info_data_done ,zero 
+02dd 204002e7 call p_usb_tx_website_acii2hidkey 
+02de 20400309 call p_usb_tx_website_need_shift 
+02df 6fe0c977 fetch 1 ,mem_usb_website_shift_flag 
+02e0 67e08923 store 1 ,mem_usb_kb_data 
+02e1 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
+02e2 6fe14979 fetch 2 ,mem_usb_website_ptr 
+02e3 1fe0fe01 increase 1 ,pdata 
+02e4 67e14979 store 2 ,mem_usb_website_ptr 
+02e5 70497801 jam 1 ,mem_usb_website_release_flag 
+02e6 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_website_acii2hidkey:
-02e3 68494975 fetcht 2 ,mem_usb_website_ptr 
-02e4 efe08002 ifetch 1 ,temp 
-02e5 1fe67c7a sub pdata ,0x7a ,null 
-02e6 242102ea nbranch p_usb_tx_website_acii2hidkey1 ,positive 
-02e7 da400061 arg 0x61 ,regb 
-02e8 9a462200 isub regb ,rega 
-02e9 20210301 branch p_usb_tx_website_acii2keycode_a2z ,positive 
+02e7 68494979 fetcht 2 ,mem_usb_website_ptr 
+02e8 efe08002 ifetch 1 ,temp 
+02e9 1fe67c7a sub pdata ,0x7a ,null 
+02ea 242102ee nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+02eb da400061 arg 0x61 ,regb 
+02ec 9a462200 isub regb ,rega 
+02ed 20210305 branch p_usb_tx_website_acii2keycode_a2z ,positive 
 
 p_usb_tx_website_acii2hidkey1:
-02ea efe08002 ifetch 1 ,temp 
-02eb 1fe67c39 sub pdata ,0x39 ,null 
-02ec 242102f0 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
-02ed da400030 arg 0x30 ,regb 
-02ee 9a462200 isub regb ,rega 
-02ef 20210303 branch p_usb_tx_website_acii2keycode_029 ,positive 
+02ee efe08002 ifetch 1 ,temp 
+02ef 1fe67c39 sub pdata ,0x39 ,null 
+02f0 242102f4 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+02f1 da400030 arg 0x30 ,regb 
+02f2 9a462200 isub regb ,rega 
+02f3 20210307 branch p_usb_tx_website_acii2keycode_029 ,positive 
 
 p_usb_tx_website_acii2keycode_sign:
-02f0 1fe67c3a sub pdata ,0x3a ,null 
-02f1 202282f9 branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
-02f2 1fe67c2f sub pdata ,0x2f ,null 
-02f3 202282fb branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
-02f4 1fe67c2e sub pdata ,0x2e ,null 
-02f5 202282fd branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
-02f6 1fe67c2d sub pdata ,0x2d ,null 
-02f7 202282ff branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
-02f8 20600000 rtn 
+02f4 1fe67c3a sub pdata ,0x3a ,null 
+02f5 202282fd branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+02f6 1fe67c2f sub pdata ,0x2f ,null 
+02f7 202282ff branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+02f8 1fe67c2e sub pdata ,0x2e ,null 
+02f9 20228301 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+02fa 1fe67c2d sub pdata ,0x2d ,null 
+02fb 20228303 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
+02fc 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_3a:
-02f9 da200033 arg 0x33 ,rega 
-02fa 20600000 rtn 
+02fd da200033 arg 0x33 ,rega 
+02fe 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2f:
-02fb da200038 arg 0x38 ,rega 
-02fc 20600000 rtn 
+02ff da200038 arg 0x38 ,rega 
+0300 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2e:
-02fd da200037 arg 0x37 ,rega 
-02fe 20600000 rtn 
+0301 da200037 arg 0x37 ,rega 
+0302 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2d:
-02ff da20002d arg 0x2d ,rega 
-0300 20600000 rtn 
+0303 da20002d arg 0x2d ,rega 
+0304 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_a2z:
-0301 1a20a204 add rega ,4 ,rega 
-0302 20600000 rtn 
+0305 1a20a204 add rega ,4 ,rega 
+0306 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_029:
-0303 1a20a227 add rega ,0x27 ,rega 
-0304 20600000 rtn 
+0307 1a20a227 add rega ,0x27 ,rega 
+0308 20600000 rtn 
 
 p_usb_tx_website_need_shift:
-0305 70497300 jam 0 ,mem_usb_website_shift_flag 
-0306 6fe14975 fetch 2 ,mem_usb_website_ptr 
-0307 efe0803f ifetch 1 ,pdata 
-0308 d8c049a0 arg mem_usb_website_info_sign + 1 ,contr 
-0309 6848c99f fetcht 1 ,mem_usb_website_info_sign 
-030a 18427200 copy temp ,loopcnt 
+0309 70497700 jam 0 ,mem_usb_website_shift_flag 
+030a 6fe14979 fetch 2 ,mem_usb_website_ptr 
+030b efe0803f ifetch 1 ,pdata 
+030c d8c049a4 arg mem_usb_website_info_sign + 1 ,contr 
+030d 6848c9a3 fetcht 1 ,mem_usb_website_info_sign 
+030e 18427200 copy temp ,loopcnt 
 
 p_usb_tx_website_need_shift_check_loop:
-030b e8408006 ifetcht 1 ,contr 
-030c 98467c00 isub temp ,null 
-030d 20228310 branch p_usb_tx_website_need_shift_setflag ,zero 
-030e c200030b loop p_usb_tx_website_need_shift_check_loop 
-030f 20600000 rtn 
+030f e8408006 ifetcht 1 ,contr 
+0310 98467c00 isub temp ,null 
+0311 20228314 branch p_usb_tx_website_need_shift_setflag ,zero 
+0312 c200030f loop p_usb_tx_website_need_shift_check_loop 
+0313 20600000 rtn 
 
 p_usb_tx_website_need_shift_setflag:
-0310 70497302 jam 2 ,mem_usb_website_shift_flag 
-0311 20600000 rtn 
+0314 70497702 jam 2 ,mem_usb_website_shift_flag 
+0315 20600000 rtn 
 
 p_usb_tx_data_ep2:
-0312 da204957 arg mem_usb_ep2_fifo ,rega 
-0313 20407da3 call fifo_is_empty 
-0314 207a0000 rtn blank 
-0315 6ff08c25 fetch 1 ,core_usb_txbusy 
-0316 1fe17e0f and_into 0x0f ,pdata 
-0317 247a0000 nrtn blank 
-0318 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0319 c4010000 rtnbit0 2 
-031a 6fe0890d fetch 1 ,mem_usb_tx_enable 
-031b 793ffe02 set0 2 ,pdata 
-031c 67e0890d store 1 ,mem_usb_tx_enable 
-031d da204957 arg mem_usb_ep2_fifo ,rega 
-031e 20407d97 call fifo_out 
-031f 207a0000 rtn blank 
-0320 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0321 c012033a beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
-0322 c0130332 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
-0323 c0148332 beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
-0324 c0118332 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
-0325 c0180348 beq usb_ep2_key ,p_usb_tx_dongle_ep2_key_data 
-0326 c0128341 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
-0327 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0328 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-0329 c013832b beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-032a 2020235a branch assert 
+0316 da20495b arg mem_usb_ep2_fifo ,rega 
+0317 20407da3 call fifo_is_empty 
+0318 207a0000 rtn blank 
+0319 6ff08c25 fetch 1 ,core_usb_txbusy 
+031a 1fe17e0f and_into 0x0f ,pdata 
+031b 247a0000 nrtn blank 
+031c 6fe0890d fetch 1 ,mem_usb_tx_enable 
+031d c4010000 rtnbit0 2 
+031e 6fe0890d fetch 1 ,mem_usb_tx_enable 
+031f 793ffe02 set0 2 ,pdata 
+0320 67e0890d store 1 ,mem_usb_tx_enable 
+0321 da20495b arg mem_usb_ep2_fifo ,rega 
+0322 20407d97 call fifo_out 
+0323 207a0000 rtn blank 
+0324 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+0325 c012033e beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
+0326 c0130336 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
+0327 c0148336 beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
+0328 c0118336 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
+0329 c018034c beq usb_ep2_key ,p_usb_tx_dongle_ep2_key_data 
+032a c0128345 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
+032b c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+032c c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+032d c013832f beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+032e 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-032b 6fe0c812 fetch 1 ,mem_usb_rf_state_data 
-032c 207a0000 rtn blank 
-032d 1fe27200 copy pdata ,loopcnt 
-032e d8c04813 arg mem_usb_rf_state_data + 1 ,contr 
-032f 20407bdb call usb_tx_ep2 
-0330 d8a04812 arg mem_usb_rf_state_data ,contw 
-0331 20200338 branch p_usb_tx_buff_clr 
+032f 6fe0c816 fetch 1 ,mem_usb_rf_state_data 
+0330 207a0000 rtn blank 
+0331 1fe27200 copy pdata ,loopcnt 
+0332 d8c04817 arg mem_usb_rf_state_data + 1 ,contr 
+0333 20407bdb call usb_tx_ep2 
+0334 d8a04816 arg mem_usb_rf_state_data ,contw 
+0335 2020033c branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_data:
-0332 6fe0c853 fetch 1 ,mem_dongle_usb_ep2_data 
-0333 207a0000 rtn blank 
-0334 1fe27200 copy pdata ,loopcnt 
-0335 d8c04854 arg mem_dongle_usb_ep2_data + 1 ,contr 
-0336 20407bdb call usb_tx_ep2 
-0337 d8a04853 arg mem_dongle_usb_ep2_data ,contw 
+0336 6fe0c857 fetch 1 ,mem_dongle_usb_ep2_data 
+0337 207a0000 rtn blank 
+0338 1fe27200 copy pdata ,loopcnt 
+0339 d8c04858 arg mem_dongle_usb_ep2_data + 1 ,contr 
+033a 20407bdb call usb_tx_ep2 
+033b d8a04857 arg mem_dongle_usb_ep2_data ,contw 
 
 p_usb_tx_buff_clr:
-0338 df200041 arg 65 ,loopcnt 
-0339 20207ca1 branch clear_mem 
+033c df200041 arg 65 ,loopcnt 
+033d 20207ca1 branch clear_mem 
 
 p_usb_tx_dongle_ep2_dpi_data:
-033a 6fe0c894 fetch 1 ,mem_usb_dpi_info_data 
-033b 207a0000 rtn blank 
-033c 1fe27200 copy pdata ,loopcnt 
-033d d8c04895 arg mem_usb_dpi_info_data + 1 ,contr 
-033e 20407bdb call usb_tx_ep2 
-033f d8a04894 arg mem_usb_dpi_info_data ,contw 
-0340 20200338 branch p_usb_tx_buff_clr 
+033e 6fe0c898 fetch 1 ,mem_usb_dpi_info_data 
+033f 207a0000 rtn blank 
+0340 1fe27200 copy pdata ,loopcnt 
+0341 d8c04899 arg mem_usb_dpi_info_data + 1 ,contr 
+0342 20407bdb call usb_tx_ep2 
+0343 d8a04898 arg mem_usb_dpi_info_data ,contw 
+0344 2020033c branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_battery_data:
-0341 6fe0c8d5 fetch 1 ,mem_usb_battery_info_data 
-0342 207a0000 rtn blank 
-0343 1fe27200 copy pdata ,loopcnt 
-0344 d8c048d6 arg mem_usb_battery_info_data + 1 ,contr 
-0345 20407bdb call usb_tx_ep2 
-0346 d8a048d5 arg mem_usb_battery_info_data ,contw 
-0347 20200338 branch p_usb_tx_buff_clr 
+0345 6fe0c8d9 fetch 1 ,mem_usb_battery_info_data 
+0346 207a0000 rtn blank 
+0347 1fe27200 copy pdata ,loopcnt 
+0348 d8c048da arg mem_usb_battery_info_data + 1 ,contr 
+0349 20407bdb call usb_tx_ep2 
+034a d8a048d9 arg mem_usb_battery_info_data ,contw 
+034b 2020033c branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_key_data:
-0348 6fe0c916 fetch 1 ,mem_usb_key_info_data 
-0349 207a0000 rtn blank 
-034a 1fe27200 copy pdata ,loopcnt 
-034b d8c04917 arg mem_usb_key_info_data + 1 ,contr 
-034c 20407bdb call usb_tx_ep2 
-034d d8a04916 arg mem_usb_key_info_data ,contw 
-034e 20200338 branch p_usb_tx_buff_clr 
+034c 6fe0c91a fetch 1 ,mem_usb_key_info_data 
+034d 207a0000 rtn blank 
+034e 1fe27200 copy pdata ,loopcnt 
+034f d8c0491b arg mem_usb_key_info_data + 1 ,contr 
+0350 20407bdb call usb_tx_ep2 
+0351 d8a0491a arg mem_usb_key_info_data ,contw 
+0352 2020033c branch p_usb_tx_buff_clr 
 
 p_rx_dcoc:
-034f 20758000 rtn wake 
-0350 20402160 call set_sync_on 
-0351 d8400027 arg 39 ,temp 
-0352 2040216f call set_freq_rx 
-0353 204021a6 call rf_rx_enable 
-0354 708a257f jam 0x7f ,0x8a25 
-0355 708a301a jam 0x1a ,0x8a30 
-0356 708a3178 jam 0x78 ,0x8a31 
-0357 708a8fb2 jam 0xb2 ,0x8a8f 
-0358 708ac200 jam 0 ,0x8ac2 
-0359 708ac300 jam 0 ,0x8ac3 
-035a d8e00006 arg 6 ,queue 
-035b 2040036c call p_rx_dcoc_avg 
-035c 2a2ffe0d isolate1 13 ,rega 
-035d 2040211d call qset_start 
-035e 2a4ffe0d isolate1 13 ,regb 
-035f 2040211e call qset_p 
-0360 d8e00005 arg 5 ,queue 
+0353 20758000 rtn wake 
+0354 20402160 call set_sync_on 
+0355 d8400027 arg 39 ,temp 
+0356 2040216f call set_freq_rx 
+0357 204021a6 call rf_rx_enable 
+0358 708a257f jam 0x7f ,0x8a25 
+0359 708a301a jam 0x1a ,0x8a30 
+035a 708a3178 jam 0x78 ,0x8a31 
+035b 708a8fb2 jam 0xb2 ,0x8a8f 
+035c 708ac200 jam 0 ,0x8ac2 
+035d 708ac300 jam 0 ,0x8ac3 
+035e d8e00006 arg 6 ,queue 
+035f 20400370 call p_rx_dcoc_avg 
+0360 2a2ffe0d isolate1 13 ,rega 
+0361 2040211d call qset_start 
+0362 2a4ffe0d isolate1 13 ,regb 
+0363 2040211e call qset_p 
+0364 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0361 2040211c call qset1_p 
-0362 2040211e call qset_p 
-0363 2040036c call p_rx_dcoc_avg 
-0364 d8a08ac2 arg 0x8ac2 ,contw 
-0365 1a31fe00 rshift4 rega ,pdata 
-0366 20402117 call qsetxor 
-0367 1a51fe00 rshift4 regb ,pdata 
-0368 20402117 call qsetxor 
-0369 18e08fff increase -1 ,queue 
-036a 20210361 branch p_rx_dcoc_loop2 ,positive 
-036b 2020214f branch rx_dcoc_loop2 + 10 
+0365 2040211c call qset1_p 
+0366 2040211e call qset_p 
+0367 20400370 call p_rx_dcoc_avg 
+0368 d8a08ac2 arg 0x8ac2 ,contw 
+0369 1a31fe00 rshift4 rega ,pdata 
+036a 20402117 call qsetxor 
+036b 1a51fe00 rshift4 regb ,pdata 
+036c 20402117 call qsetxor 
+036d 18e08fff increase -1 ,queue 
+036e 20210365 branch p_rx_dcoc_loop2 ,positive 
+036f 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-036c 2000003c nop 60 
-036d 58000f00 setarg mem_dcoc_buf 
-036e 67f10982 store 2 ,0x8982 
-036f 58000ff0 setarg mem_dcoc_buf_end 
-0370 67f10984 store 2 ,0x8984 
-0371 70898109 jam 0x9 ,0x8981 
-0372 70898103 jam 0x3 ,0x8981 
-0373 70898006 jam 0x6 ,0x8980 
-0374 2000003c nop 60 
-0375 da200000 arg 0 ,rega 
-0376 da400000 arg 0 ,regb 
-0377 df200010 arg 16 ,loopcnt 
-0378 d8c00f00 arg mem_dcoc_buf ,contr 
-0379 2020212d branch rx_dcoc_loop 
+0370 2000003c nop 60 
+0371 58000f00 setarg mem_dcoc_buf 
+0372 67f10982 store 2 ,0x8982 
+0373 58000ff0 setarg mem_dcoc_buf_end 
+0374 67f10984 store 2 ,0x8984 
+0375 70898109 jam 0x9 ,0x8981 
+0376 70898103 jam 0x3 ,0x8981 
+0377 70898006 jam 0x6 ,0x8980 
+0378 2000003c nop 60 
+0379 da200000 arg 0 ,rega 
+037a da400000 arg 0 ,regb 
+037b df200010 arg 16 ,loopcnt 
+037c d8c00f00 arg mem_dcoc_buf ,contr 
+037d 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-037a 20758000 rtn wake 
-037b 20202272 branch rfpll_aac_ghpc + 1 
+037e 20758000 rtn wake 
+037f 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-037c 20600000 rtn 
+0380 20600000 rtn 
 
 p_sadc_calibration:
-037d 20758000 rtn wake 
-037e 708a0777 jam 0x77 ,core_gpadc_ctrl 
-037f 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0380 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0381 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0382 67f080cd store 1 ,core_sadc_clkdiv 
-0383 20000bb8 nop 3000 
-0384 204003a5 call p_sadc_read 
-0385 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0386 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0387 df200008 arg 8 ,loopcnt 
-0388 20406f58 call sadc_cal_read + 1 
-0389 6fe0c419 fetch 1 ,mem_spi_write_addr 
-038a 67e0c433 store 1 ,mem_adc_cal_c7 
-038b 6240c419 storer regb ,1 ,mem_spi_write_addr 
-038c 20600000 rtn 
+0381 20758000 rtn wake 
+0382 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0383 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+0384 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0385 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0386 67f080cd store 1 ,core_sadc_clkdiv 
+0387 20000bb8 nop 3000 
+0388 204003a9 call p_sadc_read 
+0389 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+038a 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+038b df200008 arg 8 ,loopcnt 
+038c 20406f58 call sadc_cal_read + 1 
+038d 6fe0c419 fetch 1 ,mem_spi_write_addr 
+038e 67e0c433 store 1 ,mem_adc_cal_c7 
+038f 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0390 20600000 rtn 
 
 p_enable_adc:
-038d 2040039b call p_sadc_cal_write 
-038e 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-038f 793ffe07 set0 7 ,pdata 
-0390 67f08a09 store 1 ,core_gpadc_cfg1 
-0391 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0392 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0393 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0394 20406f90 call sadc_channel 
-0395 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0396 67f080cd store 1 ,core_sadc_clkdiv 
-0397 20000bb8 nop 3000 
-0398 204003a5 call p_sadc_read 
-0399 7080cd00 jam 0 ,core_sadc_clkdiv 
-039a 20206fa1 branch sadc_dma 
+0391 2040039f call p_sadc_cal_write 
+0392 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+0393 793ffe07 set0 7 ,pdata 
+0394 67f08a09 store 1 ,core_gpadc_cfg1 
+0395 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0396 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0397 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0398 20406f90 call sadc_channel 
+0399 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+039a 67f080cd store 1 ,core_sadc_clkdiv 
+039b 20000bb8 nop 3000 
+039c 204003a9 call p_sadc_read 
+039d 7080cd00 jam 0 ,core_sadc_clkdiv 
+039e 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-039b 6ff080cc fetch 1 ,core_sadc_ctrl 
-039c 79207e01 set1 1 ,pdata 
-039d 67f080cc store 1 ,core_sadc_ctrl 
-039e 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-039f 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-03a0 67e0c419 store 1 ,mem_spi_write_addr 
-03a1 df200008 arg 8 ,loopcnt 
-03a2 20406f67 call sadc_cal_write + 4 
-03a3 6240c419 storer regb ,1 ,mem_spi_write_addr 
-03a4 20600000 rtn 
+039f 6ff080cc fetch 1 ,core_sadc_ctrl 
+03a0 79207e01 set1 1 ,pdata 
+03a1 67f080cc store 1 ,core_sadc_ctrl 
+03a2 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+03a3 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+03a4 67e0c419 store 1 ,mem_spi_write_addr 
+03a5 df200008 arg 8 ,loopcnt 
+03a6 20406f67 call sadc_cal_write + 4 
+03a7 6240c419 storer regb ,1 ,mem_spi_write_addr 
+03a8 20600000 rtn 
 
 p_sadc_read:
-03a5 7080cc03 jam 0x03 ,core_sadc_ctrl 
+03a9 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-03a6 6ff08129 fetch 1 ,core_perf_status 
-03a7 c30283a6 bbit0 saradc_done ,p_sadc_read_wait 
-03a8 68590164 fetcht 2 ,core_sadc_data 
-03a9 6049440a storet 2 ,mem_adc_current_value 
-03aa 7080cc00 jam 0x00 ,core_sadc_ctrl 
-03ab 20600000 rtn 
+03aa 6ff08129 fetch 1 ,core_perf_status 
+03ab c30283aa bbit0 saradc_done ,p_sadc_read_wait 
+03ac 68590164 fetcht 2 ,core_sadc_data 
+03ad 6049440a storet 2 ,mem_adc_current_value 
+03ae 7080cc00 jam 0x00 ,core_sadc_ctrl 
+03af 20600000 rtn 
 
 p_set_lemode:
-03ac 708a8211 jam 0x11 ,0x8a82 
-03ad 708a8d12 jam 0x12 ,0x8a8d 
-03ae 708a8e0a jam 0x0a ,0x8a8e 
-03af 6fe0c099 fetch 1 ,mem_fcomp_div 
-03b0 c00803c5 beq xtal_16m ,p_set_lemode_2m_16m 
-03b1 58005762 setarg 0x5762 
-03b2 67f10907 store 2 ,0x8907 
+03b0 708a8211 jam 0x11 ,0x8a82 
+03b1 708a8d12 jam 0x12 ,0x8a8d 
+03b2 708a8e0a jam 0x0a ,0x8a8e 
+03b3 6fe0c099 fetch 1 ,mem_fcomp_div 
+03b4 c00803c9 beq xtal_16m ,p_set_lemode_2m_16m 
+03b5 58005762 setarg 0x5762 
+03b6 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-03b3 70890103 jam 3 ,0x8901 
-03b4 70893003 jam 3 ,0x8930 
-03b5 c6168000 rtnmark1 mark_ble_2m 
-03b6 70890101 jam 1 ,0x8901 
-03b7 708a8207 jam 0x07 ,0x8a82 
-03b8 708a8d44 jam 0x44 ,0x8a8d 
-03b9 708a8e0a jam 0x0a ,0x8a8e 
-03ba 6fe0c099 fetch 1 ,mem_fcomp_div 
-03bb c00803c2 beq xtal_16m ,p_set_lemode_1m_16m 
-03bc 58002bb1 setarg 0x2bb1 
-03bd 67f10907 store 2 ,0x8907 
+03b7 70890103 jam 3 ,0x8901 
+03b8 70893003 jam 3 ,0x8930 
+03b9 c6168000 rtnmark1 mark_ble_2m 
+03ba 70890101 jam 1 ,0x8901 
+03bb 708a8207 jam 0x07 ,0x8a82 
+03bc 708a8d44 jam 0x44 ,0x8a8d 
+03bd 708a8e0a jam 0x0a ,0x8a8e 
+03be 6fe0c099 fetch 1 ,mem_fcomp_div 
+03bf c00803c6 beq xtal_16m ,p_set_lemode_1m_16m 
+03c0 58002bb1 setarg 0x2bb1 
+03c1 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-03be c6978000 rtnmark0 mark_ble_lr 
-03bf 70893024 jam 0x24 ,0x8930 
-03c0 70890105 jam 5 ,0x8901 
-03c1 20600000 rtn 
+03c2 c6978000 rtnmark0 mark_ble_lr 
+03c3 70893024 jam 0x24 ,0x8930 
+03c4 70890105 jam 5 ,0x8901 
+03c5 20600000 rtn 
 
 p_set_lemode_1m_16m:
-03c2 58004189 setarg 0x4189 
-03c3 67f10907 store 2 ,0x8907 
-03c4 202003be branch p_set_lemode_1m 
+03c6 58004189 setarg 0x4189 
+03c7 67f10907 store 2 ,0x8907 
+03c8 202003c2 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-03c5 58008312 setarg 0x8312 
-03c6 67f10907 store 2 ,0x8907 
-03c7 202003b3 branch p_set_lemode_2m 
+03c9 58008312 setarg 0x8312 
+03ca 67f10907 store 2 ,0x8907 
+03cb 202003b7 branch p_set_lemode_2m 
 
 p_le_parse:
-03c8 6fe0c334 fetch 1 ,mem_le_packet_llid 
-03c9 c1000000 rtneq llid_reserved 
-03ca c001b04a beq llid_le_ll ,le_parse_ll 
-03cb 202028e1 branch le_parse_l2cap 
+03cc 6fe0c334 fetch 1 ,mem_le_packet_llid 
+03cd c1000000 rtneq llid_reserved 
+03ce c001b04a beq llid_le_ll ,le_parse_ll 
+03cf 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-03cc 793f8030 set0 mark_ble_crc_fail ,mark 
-03cd 20202af6 branch le_init_adv + 1 
+03d0 793f8030 set0 mark_ble_crc_fail ,mark 
+03d1 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-03ce 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-03cf c0553329 beq datatype_bind ,g24_bind_first_step 
-03d0 c02ab33a beq datatype_config ,g24_bind_second_step 
-03d1 c01103d4 beq datatype_ok ,p_g24_bind_third_step 
-03d2 c07fb59b beq datatype_attemp ,g24_data_attemp 
-03d3 20600000 rtn 
+03d2 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+03d3 c0553329 beq datatype_bind ,g24_bind_first_step 
+03d4 c02ab33a beq datatype_config ,g24_bind_second_step 
+03d5 c01103d8 beq datatype_ok ,p_g24_bind_third_step 
+03d6 c07fb59b beq datatype_attemp ,g24_data_attemp 
+03d7 20600000 rtn 
 
 p_g24_bind_third_step:
-03d4 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-03d5 203a03da branch p_g24_bind_third_step_skip ,blank 
-03d6 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-03d7 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-03d8 98467c00 isub temp ,null 
-03d9 24628000 nrtn zero 
+03d8 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+03d9 203a03de branch p_g24_bind_third_step_skip ,blank 
+03da 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+03db 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+03dc 98467c00 isub temp ,null 
+03dd 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-03da 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-03db c00083de beq datatype_device1 ,p_g24_bind_third_step_device1 
-03dc c00103e6 beq datatype_device2 ,p_g24_bind_third_step_device2 
-03dd 20600000 rtn 
+03de 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+03df c00083e2 beq datatype_device1 ,p_g24_bind_third_step_device1 
+03e0 c00103ea beq datatype_device2 ,p_g24_bind_third_step_device2 
+03e1 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-03de 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03df 247a0000 nrtn blank 
-03e0 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03e1 c00103e3 beq 2 ,p_g24_bind_dvc1_step_success 
-03e2 20600000 rtn 
+03e2 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03e3 247a0000 nrtn blank 
+03e4 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03e5 c00103e7 beq 2 ,p_g24_bind_dvc1_step_success 
+03e6 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-03e3 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-03e4 2040338d call g24_binding_dvc1_living 
-03e5 2020336b branch g24_bind_dvc1_step_success + 1 
+03e7 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03e8 2040338d call g24_binding_dvc1_living 
+03e9 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-03e6 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-03e7 247a0000 nrtn blank 
-03e8 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03e9 c08003eb bne 0 ,p_g24_bind_dvc2_step_success 
-03ea 20600000 rtn 
+03ea 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+03eb 247a0000 nrtn blank 
+03ec 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03ed c08003ef bne 0 ,p_g24_bind_dvc2_step_success 
+03ee 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-03eb 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-03ec 20403393 call g24_binding_dvc2_living 
-03ed 20203378 branch g24_bind_dvc2_step_success + 1 
+03ef 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+03f0 20403393 call g24_binding_dvc2_living 
+03f1 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-03ee 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03ef c1000000 rtneq dongle_work 
-03f0 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-03f1 247a0000 nrtn blank 
-03f2 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-03f3 247a0000 nrtn blank 
-03f4 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-03f5 207a0000 rtn blank 
-03f6 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03f7 c1800000 rtnne 0 
-03f8 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03f9 c1800000 rtnne 0 
-03fa 20203436 branch g24_mode_switch_bind_search + 9 
+03f2 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03f3 c1000000 rtneq dongle_work 
+03f4 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+03f5 247a0000 nrtn blank 
+03f6 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+03f7 247a0000 nrtn blank 
+03f8 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+03f9 207a0000 rtn blank 
+03fa 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03fb c1800000 rtnne 0 
+03fc 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03fd c1800000 rtnne 0 
+03fe 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-03fb 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03fc c1808000 rtnne dongle_bind 
-03fd 204003ff call p_g24_bind_init 
-03fe 2020346d branch g24_bind_mode_auto + 4 
+03ff 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0400 c1808000 rtnne dongle_bind 
+0401 20400403 call p_g24_bind_init 
+0402 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-03ff 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0400 c3808000 rtnbit1 dongle_bind 
-0401 79207e01 set1 dongle_bind ,pdata 
-0402 67e0c615 store 1 ,mem_24g_mode_init 
-0403 58000000 setarg 0 
-0404 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-0405 20203307 branch g24_bind_init + 8 
+0403 6fe0c615 fetch 1 ,mem_24g_mode_init 
+0404 c3808000 rtnbit1 dongle_bind 
+0405 79207e01 set1 dongle_bind ,pdata 
+0406 67e0c615 store 1 ,mem_24g_mode_init 
+0407 58000000 setarg 0 
+0408 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+0409 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-0406 20400413 call p_wdt_kick 
-0407 20400415 call p_g24_100ms_timer_event 
-0408 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-0409 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-040a 20407906 call usb_isr 
-040b 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-040c 207a0000 rtn blank 
-040d 7008f700 jam 0 ,mem_usb0_get_set_report 
-040e 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-040f d84003a2 arg pc_set_report_protocol ,temp 
-0410 98467c00 isub temp ,null 
-0411 24628000 nrtn zero 
-0412 20200174 branch p_dongle_usb_data_received_analysis 
+040a 20400417 call p_wdt_kick 
+040b 20400419 call p_g24_100ms_timer_event 
+040c 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+040d 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+040e 20407906 call usb_isr 
+040f 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0410 207a0000 rtn blank 
+0411 7008f700 jam 0 ,mem_usb0_get_set_report 
+0412 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0413 d84003a2 arg pc_set_report_protocol ,temp 
+0414 98467c00 isub temp ,null 
+0415 24628000 nrtn zero 
+0416 20200176 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-0413 58000010 setarg 16 
-0414 202070c8 branch wdt_init_config 
+0417 58000010 setarg 16 
+0418 202070c8 branch wdt_init_config 
 
 p_g24_100ms_timer_event:
-0415 d8e00006 arg usb_timer_100ms ,queue 
-0416 20407cef call timer_check 
-0417 247a0000 nrtn blank 
-0418 2040041d call p_g24_http_over_pack_check 
-0419 20400420 call p_g24_dongle_disconnect_state_check 
+0419 d8e00006 arg usb_timer_100ms ,queue 
+041a 20407cef call timer_check 
+041b 247a0000 nrtn blank 
+041c 20400421 call p_g24_http_over_pack_check 
+041d 20400424 call p_g24_dongle_disconnect_state_check 
 
 p_g24_100ms_timer_init:
-041a d8e00006 arg usb_timer_100ms ,queue 
-041b 58000028 setarg 40 
-041c 20207ce1 branch timer_init 
+041e d8e00006 arg usb_timer_100ms ,queue 
+041f 58000028 setarg 40 
+0420 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-041d 6fe0c972 fetch 1 ,mem_usb_website_step 
-041e 207a0000 rtn blank 
-041f 20200214 branch p_dongle_usb_tx_http_data 
+0421 6fe0c976 fetch 1 ,mem_usb_website_step 
+0422 207a0000 rtn blank 
+0423 20200216 branch p_dongle_usb_tx_http_data 
 
 p_g24_dongle_disconnect_state_check:
-0420 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-0421 c4000000 rtnbit0 0 
-0422 6fe0c80d fetch 1 ,mem_dongle_connect_mouse_flag 
-0423 207a0000 rtn blank 
-0424 6fe1480e fetch 2 ,mem_dongle_no_data_count 
-0425 1fe0fe01 increase 1 ,pdata 
-0426 67e1480e store 2 ,mem_dongle_no_data_count 
-0427 d84004b0 arg 0x4b0 ,temp 
-0428 98467c00 isub temp ,null 
-0429 24610000 nrtn positive 
-042a 58000000 setarg 0 
-042b 67e1480e store 2 ,mem_dongle_no_data_count 
-042c 6fe0c80d fetch 1 ,mem_dongle_connect_mouse_flag 
-042d 207a0000 rtn blank 
-042e 70480d00 jam 0 ,mem_dongle_connect_mouse_flag 
-042f 20600000 rtn 
+0424 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0425 c4000000 rtnbit0 0 
+0426 6fe0c811 fetch 1 ,mem_dongle_connect_mouse_flag 
+0427 207a0000 rtn blank 
+0428 6fe14812 fetch 2 ,mem_dongle_no_data_count 
+0429 1fe0fe01 increase 1 ,pdata 
+042a 67e14812 store 2 ,mem_dongle_no_data_count 
+042b d84004b0 arg 0x4b0 ,temp 
+042c 98467c00 isub temp ,null 
+042d 24610000 nrtn positive 
+042e 58000000 setarg 0 
+042f 67e14812 store 2 ,mem_dongle_no_data_count 
+0430 6fe0c811 fetch 1 ,mem_dongle_connect_mouse_flag 
+0431 207a0000 rtn blank 
+0432 70481100 jam 0 ,mem_dongle_connect_mouse_flag 
+0433 20600000 rtn 
 
 p_dongle_default_init:
-0430 204047c3 call dongle_default_init + 1 
-0431 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0432 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0433 20403281 call g24_enable_1m 
-0434 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0435 c4000000 rtnbit0 dg_enable_new_revision 
-0436 7045ca01 jam on ,mem_24g_disable_fec1 
-0437 20203284 branch g24_enable_2m 
+0434 204047c3 call dongle_default_init + 1 
+0435 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0436 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0437 20403281 call g24_enable_1m 
+0438 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0439 c4000000 rtnbit0 dg_enable_new_revision 
+043a 7045ca01 jam on ,mem_24g_disable_fec1 
+043b 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-0438 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0439 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-043a 7837fc00 enable user3 
-043b 20000018 nop 24 
-043c 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-043d 79207e00 set1 bit_ack_24g ,pdata 
-043e 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-043f 204033a5 call g24_ackpayload_prep 
-0440 204031e5 call g24_transmit_prep 
-0441 20203195 branch g24_transmit 
+043c 6fe0c669 fetch 1 ,mem_dg_sys_config 
+043d c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+043e 7837fc00 enable user3 
+043f 20000018 nop 24 
+0440 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0441 79207e00 set1 bit_ack_24g ,pdata 
+0442 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0443 204033a5 call g24_ackpayload_prep 
+0444 204031e5 call g24_transmit_prep 
+0445 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(revision 4120)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(working copy)
@@ -413,19 +413,22 @@
 	beq HCI_CMD_SET_BATTERY,p_dongle_usb_hci_cmd_get_battery
 	beq HCI_CMD_GET_CONNECT_STATE,p_dongle_usb_hci_cmd_get_connect_state
 	rtn
-	
-p_dongle_usb_hci_cmd_get_deivce_info:	//02 01 0b
+
+//02 01 0b+6byte sn mac+2byte ms version+2byte dg version + 4byte code
+p_dongle_usb_hci_cmd_get_deivce_info:
 	jam 0x40,mem_dongle_usb_ep2_data
 	jam REPORT_ID_DATA_IN,mem_dongle_usb_ep2_data+1
 	jam 0x02,mem_dongle_usb_ep2_data+2
 	jam 0x01,mem_dongle_usb_ep2_data+3
-	jam 0x0b,mem_dongle_usb_ep2_data+4
+	jam 0x0e,mem_dongle_usb_ep2_data+4
 	fetch 6,mem_usb_get_report_sn_data
 	store 6,mem_dongle_usb_ep2_data+5
 	fetch 2,mem_usb_get_report_mouse_version_data
 	store 2,mem_dongle_usb_ep2_data+11
 	fetch 2,mem_dongle_version
 	store 2,mem_dongle_usb_ep2_data+13
+	fetch 4,mem_usb_get_report_code_data
+	store 4,mem_dongle_usb_ep2_data+15
 	jam USB_EP2_DEVICE_INFO,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
@@ -850,7 +853,8 @@
 
 //=================tx device info  data===================//
 
-p_dongle_receive_device_info_data:	//len+6byte mac+1byte dpi+1bye battery +2byte version
+//len+6byte mac+1byte dpi+1byte dpi state + 1bye battery + 2byte ms version +4byte code
+p_dongle_receive_device_info_data:	
 	fetchr loopcnt,1,mem_24g_rxdata_length
 	increase -1,loopcnt
 	arg mem_24g_rxdata_temp+3,rega
@@ -863,6 +867,8 @@
 	store 2,mem_usb_get_report_mouse_version_data
 	fetch 2,mem_24g_rxdata_temp+9
 	store 2,mem_usb_get_report_dpi_data
+	fetch 4,mem_24g_rxdata_temp+14
+	store 4,mem_usb_get_report_code_data
 	call p_dongle_receive_dpi_data_compare
 	fetch 1,mem_24g_rxdata_temp+11
 	branch p_dongle_receive_battery_data_compare
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(revision 4120)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(working copy)
@@ -123,7 +123,7 @@
 81 02 
 C0
 
-mem_dongle_version:07 00
+mem_dongle_version:08 00
 
 mem_usb_win_cmd:08 00 15 	#win+r
 mem_usb_mac_cmd:08 00 2c 	#command+space
