Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(revision 3727)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-d6
-0f
+0e
+10
 c2
 84
 00
@@ -23,7 +23,7 @@
 c0
 0a
 03
-5f
+6d
 c0
 0a
 80
@@ -43,7 +43,7 @@
 c0
 1b
 83
-e3
+f1
 c0
 1c
 00
@@ -55,7 +55,7 @@
 c0
 1e
 83
-b9
+c7
 c0
 62
 80
@@ -63,11 +63,11 @@
 c0
 6d
 03
-30
+3e
 c0
 6e
 03
-40
+4e
 c0
 7f
 00
@@ -75,7 +75,7 @@
 c0
 7f
 81
-78
+7a
 c0
 7e
 80
@@ -87,43 +87,43 @@
 c0
 00
 01
-9c
+9e
 c0
 01
 01
-db
+dd
 c0
 03
+02
 01
-fb
 c0
 1c
 83
-7b
+89
 c0
 26
 83
-7f
+8d
 c0
 37
 83
-eb
+f9
 c0
 41
 03
-81
+8f
 c0
 42
 02
-0d
+16
 c0
 44
 03
-a1
+af
 c0
 45
 03
-ae
+bc
 c1
 7f
 80
@@ -359,11 +359,11 @@
 20
 40
 03
-02
+10
 20
 40
 03
-2d
+3b
 20
 40
 00
@@ -379,7 +379,7 @@
 20
 20
 03
-2f
+3d
 20
 75
 80
@@ -927,7 +927,7 @@
 58
 00
 02
-21
+2a
 67
 e1
 45
@@ -1055,7 +1055,7 @@
 20
 21
 01
-53
+55
 6f
 e0
 88
@@ -1063,7 +1063,7 @@
 c0
 80
 81
-53
+55
 ef
 e0
 80
@@ -1091,7 +1091,7 @@
 20
 3a
 01
-4b
+4d
 6f
 e0
 c6
@@ -1107,19 +1107,19 @@
 c0
 02
 81
-2d
+2e
 c0
 03
 01
-36
+37
 c0
 03
 81
-3f
+41
 20
 20
 01
-53
+55
 70
 48
 50
@@ -1171,7 +1171,11 @@
 20
 20
 02
-4e
+57
+70
+48
+56
+01
 70
 48
 50
@@ -1207,7 +1211,7 @@
 20
 20
 02
-4e
+57
 70
 48
 50
@@ -1243,7 +1247,11 @@
 20
 20
 02
-4e
+57
+70
+48
+56
+01
 70
 48
 50
@@ -1279,7 +1287,7 @@
 20
 20
 02
-4e
+57
 6f
 e0
 c8
@@ -1287,11 +1295,11 @@
 c0
 00
 01
-4b
+4d
 c0
 00
 81
-43
+45
 20
 60
 00
@@ -1327,7 +1335,7 @@
 20
 20
 02
-4e
+57
 70
 48
 0f
@@ -1359,7 +1367,7 @@
 20
 20
 02
-4e
+57
 70
 48
 0f
@@ -1455,7 +1463,7 @@
 20
 20
 02
-4e
+57
 69
 51
 0c
@@ -1503,7 +1511,7 @@
 20
 42
 81
-6b
+6d
 20
 60
 00
@@ -1519,7 +1527,7 @@
 20
 40
 01
-6b
+6d
 60
 48
 c6
@@ -1539,7 +1547,7 @@
 c0
 00
 81
-8c
+8e
 d8
 a0
 08
@@ -1551,7 +1559,7 @@
 20
 20
 01
-83
+85
 6f
 e0
 87
@@ -1575,7 +1583,7 @@
 20
 20
 01
-9c
+9e
 6f
 e0
 88
@@ -1607,7 +1615,7 @@
 c0
 00
 81
-96
+98
 70
 08
 f7
@@ -1671,7 +1679,7 @@
 c0
 00
 01
-a2
+a4
 20
 20
 23
@@ -1695,11 +1703,11 @@
 c0
 00
 01
-aa
+ac
 c0
 00
 81
-e5
+e7
 c0
 01
 79
@@ -1715,7 +1723,7 @@
 c0
 00
 81
-b2
+b4
 c0
 01
 fa
@@ -1731,7 +1739,7 @@
 c0
 05
 81
-cc
+ce
 c0
 03
 f9
@@ -1787,7 +1795,7 @@
 c0
 00
 01
-c1
+c3
 c0
 00
 fa
@@ -1915,7 +1923,7 @@
 c0
 01
 01
-e2
+e4
 c0
 01
 fa
@@ -1955,7 +1963,7 @@
 c0
 04
 81
-ea
+ec
 c0
 05
 fb
@@ -1983,7 +1991,7 @@
 20
 34
 01
-f7
+f9
 6f
 f1
 0c
@@ -2032,6 +2040,34 @@
 60
 00
 00
+da
+20
+48
+91
+20
+40
+7d
+a3
+20
+7a
+00
+00
+20
+20
+48
+37
+20
+40
+01
+fd
+6f
+e0
+89
+0d
+20
+7a
+00
+00
 6f
 f0
 8c
@@ -2075,11 +2111,11 @@
 20
 40
 02
-57
+60
 20
 20
 02
-db
+e4
 6f
 e0
 c6
@@ -2107,7 +2143,7 @@
 20
 40
 02
-07
+10
 58
 00
 00
@@ -2135,15 +2171,15 @@
 c2
 82
 02
-18
+21
 c2
 82
 82
-18
+21
 c2
 83
 02
-18
+21
 20
 20
 33
@@ -2191,23 +2227,23 @@
 c2
 82
 02
-1d
+26
 c2
 82
 82
-42
+4b
 c2
 83
 02
-45
+4e
 c2
 83
 82
-4b
+54
 20
 20
 02
-27
+30
 6f
 e0
 c5
@@ -2219,11 +2255,11 @@
 20
 22
 82
-38
+41
 20
 40
 02
-38
+41
 6f
 e0
 c5
@@ -2259,19 +2295,19 @@
 c2
 82
 02
-1d
+26
 c2
 82
 82
-42
+4b
 c2
 83
 02
-45
+4e
 c2
 83
 82
-4b
+54
 20
 60
 00
@@ -2315,7 +2351,7 @@
 20
 20
 02
-4e
+57
 6f
 e0
 c5
@@ -2327,7 +2363,7 @@
 20
 20
 01
-24
+25
 6f
 e0
 c5
@@ -2361,9 +2397,9 @@
 c8
 06
 20
-60
-00
-00
+20
+01
+38
 6f
 e0
 89
@@ -2447,7 +2483,7 @@
 c0
 08
 82
-64
+6d
 20
 20
 23
@@ -2459,39 +2495,39 @@
 c0
 00
 02
-6f
+78
 c0
 00
 82
-7b
+84
 c0
 01
 02
-7f
+88
 c0
 01
 82
-8f
+98
 c0
 02
 02
-96
+9f
 c0
 02
 82
-85
+8e
 c0
 03
 02
-89
+92
 c0
 03
 82
-8b
+94
 c0
 04
 02
-8d
+96
 20
 60
 00
@@ -2503,11 +2539,11 @@
 c0
 00
 02
-73
+7c
 c0
 00
 82
-77
+80
 20
 60
 00
@@ -2607,7 +2643,7 @@
 20
 20
 02
-80
+89
 70
 48
 a4
@@ -2615,7 +2651,7 @@
 20
 20
 02
-86
+8f
 70
 48
 a4
@@ -2623,7 +2659,7 @@
 20
 20
 02
-80
+89
 6f
 e0
 c8
@@ -2659,11 +2695,11 @@
 c0
 00
 82
-80
+89
 c0
 00
 02
-9c
+a5
 20
 60
 00
@@ -2699,15 +2735,15 @@
 20
 22
 82
-9a
+a3
 20
 40
 02
-ac
+b5
 20
 40
 02
-ce
+d7
 6f
 e0
 c8
@@ -2755,7 +2791,7 @@
 24
 21
 02
-b3
+bc
 da
 40
 00
@@ -2767,7 +2803,7 @@
 20
 21
 02
-ca
+d3
 ef
 e0
 80
@@ -2779,7 +2815,7 @@
 24
 21
 02
-b9
+c2
 da
 40
 00
@@ -2791,7 +2827,7 @@
 20
 21
 02
-cc
+d5
 1f
 e6
 7c
@@ -2799,7 +2835,7 @@
 20
 22
 82
-c2
+cb
 1f
 e6
 7c
@@ -2807,7 +2843,7 @@
 20
 22
 82
-c4
+cd
 1f
 e6
 7c
@@ -2815,7 +2851,7 @@
 20
 22
 82
-c6
+cf
 1f
 e6
 7c
@@ -2823,7 +2859,7 @@
 20
 22
 82
-c8
+d1
 20
 60
 00
@@ -2911,11 +2947,11 @@
 20
 22
 82
-d9
+e2
 c2
 00
 02
-d4
+dd
 20
 60
 00
@@ -2952,6 +2988,26 @@
 7a
 00
 00
+6f
+e0
+89
+0d
+c4
+01
+00
+00
+6f
+e0
+89
+0d
+79
+3f
+fe
+02
+67
+e0
+89
+0d
 da
 20
 48
@@ -2970,20 +3026,20 @@
 09
 c0
 12
-02
-f7
+03
+05
 c0
 13
-02
-f7
+03
+05
 c0
 11
-82
-f7
+83
+05
 c0
 12
-82
-f7
+83
+05
 c0
 10
 fc
@@ -2995,7 +3051,7 @@
 c0
 13
 82
-ed
+fb
 20
 20
 23
@@ -3039,7 +3095,7 @@
 20
 20
 03
-00
+0e
 6f
 e0
 c8
@@ -3135,7 +3191,7 @@
 20
 40
 03
-1f
+2d
 2a
 2f
 fe
@@ -3167,7 +3223,7 @@
 20
 40
 03
-1f
+2d
 d8
 a0
 8a
@@ -3195,7 +3251,7 @@
 20
 21
 03
-14
+22
 20
 20
 21
@@ -3299,7 +3355,7 @@
 20
 40
 03
-58
+66
 70
 8a
 08
@@ -3335,7 +3391,7 @@
 20
 40
 03
-4e
+5c
 6f
 f0
 8a
@@ -3379,7 +3435,7 @@
 20
 40
 03
-58
+66
 70
 80
 cd
@@ -3439,7 +3495,7 @@
 c3
 02
 83
-59
+67
 68
 59
 01
@@ -3475,7 +3531,7 @@
 c0
 08
 03
-78
+86
 58
 00
 57
@@ -3519,7 +3575,7 @@
 c0
 08
 03
-75
+83
 58
 00
 2b
@@ -3555,7 +3611,7 @@
 20
 20
 03
-71
+7f
 58
 00
 83
@@ -3567,7 +3623,7 @@
 20
 20
 03
-66
+74
 6f
 e0
 c3
@@ -3607,7 +3663,7 @@
 c0
 11
 03
-87
+95
 c0
 7f
 b5
@@ -3623,7 +3679,7 @@
 20
 3a
 03
-8d
+9b
 6f
 e2
 45
@@ -3647,11 +3703,11 @@
 c0
 00
 83
-91
+9f
 c0
 01
 03
-99
+a7
 20
 60
 00
@@ -3671,7 +3727,7 @@
 c0
 01
 03
-96
+a4
 20
 60
 00
@@ -3703,7 +3759,7 @@
 c0
 80
 03
-9e
+ac
 20
 60
 00
@@ -3783,7 +3839,7 @@
 20
 40
 03
-b2
+c0
 20
 20
 34
@@ -3819,11 +3875,11 @@
 20
 40
 03
-c6
+d4
 20
 40
 03
-c8
+d6
 6f
 e0
 89
@@ -3867,7 +3923,7 @@
 20
 20
 01
-89
+8b
 58
 00
 00
@@ -3891,11 +3947,11 @@
 20
 40
 03
-d0
+de
 20
 40
 03
-d3
+e1
 d8
 e0
 00
@@ -3919,7 +3975,7 @@
 20
 20
 02
-1d
+26
 6f
 e0
 c6
@@ -4056,8 +4112,8 @@
 20
 31
 95
-79
-0c
+25
+71
 aa
 55
 40
@@ -4533,7 +4589,7 @@
 00
 09
 48
-01
+02
 00
 aa
 55
@@ -4793,66 +4849,10 @@
 aa
 aa
 55
-ac
+ad
 a3
-5a
-96
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+51
+46
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-7e
-a5
+3a
+fc
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(revision 3727)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-d6
-0f
+0e
+10
 c2
 84
 00
@@ -32,7 +32,7 @@
 c0
 0a
 03
-5f
+6d
 c0
 0a
 80
@@ -52,7 +52,7 @@
 c0
 1b
 83
-e3
+f1
 c0
 1c
 00
@@ -64,7 +64,7 @@
 c0
 1e
 83
-b9
+c7
 c0
 62
 80
@@ -72,11 +72,11 @@
 c0
 6d
 03
-30
+3e
 c0
 6e
 03
-40
+4e
 c0
 7f
 00
@@ -84,7 +84,7 @@
 c0
 7f
 81
-78
+7a
 c0
 7e
 80
@@ -96,43 +96,43 @@
 c0
 00
 01
-9c
+9e
 c0
 01
 01
-db
+dd
 c0
 03
+02
 01
-fb
 c0
 1c
 83
-7b
+89
 c0
 26
 83
-7f
+8d
 c0
 37
 83
-eb
+f9
 c0
 41
 03
-81
+8f
 c0
 42
 02
-0d
+16
 c0
 44
 03
-a1
+af
 c0
 45
 03
-ae
+bc
 c1
 7f
 80
@@ -368,11 +368,11 @@
 20
 40
 03
-02
+10
 20
 40
 03
-2d
+3b
 20
 40
 00
@@ -388,7 +388,7 @@
 20
 20
 03
-2f
+3d
 20
 75
 80
@@ -936,7 +936,7 @@
 58
 00
 02
-21
+2a
 67
 e1
 45
@@ -1064,7 +1064,7 @@
 20
 21
 01
-53
+55
 6f
 e0
 88
@@ -1072,7 +1072,7 @@
 c0
 80
 81
-53
+55
 ef
 e0
 80
@@ -1100,7 +1100,7 @@
 20
 3a
 01
-4b
+4d
 6f
 e0
 c6
@@ -1116,19 +1116,19 @@
 c0
 02
 81
-2d
+2e
 c0
 03
 01
-36
+37
 c0
 03
 81
-3f
+41
 20
 20
 01
-53
+55
 70
 48
 50
@@ -1180,7 +1180,11 @@
 20
 20
 02
-4e
+57
+70
+48
+56
+01
 70
 48
 50
@@ -1216,7 +1220,7 @@
 20
 20
 02
-4e
+57
 70
 48
 50
@@ -1252,7 +1256,11 @@
 20
 20
 02
-4e
+57
+70
+48
+56
+01
 70
 48
 50
@@ -1288,7 +1296,7 @@
 20
 20
 02
-4e
+57
 6f
 e0
 c8
@@ -1296,11 +1304,11 @@
 c0
 00
 01
-4b
+4d
 c0
 00
 81
-43
+45
 20
 60
 00
@@ -1336,7 +1344,7 @@
 20
 20
 02
-4e
+57
 70
 48
 0f
@@ -1368,7 +1376,7 @@
 20
 20
 02
-4e
+57
 70
 48
 0f
@@ -1464,7 +1472,7 @@
 20
 20
 02
-4e
+57
 69
 51
 0c
@@ -1512,7 +1520,7 @@
 20
 42
 81
-6b
+6d
 20
 60
 00
@@ -1528,7 +1536,7 @@
 20
 40
 01
-6b
+6d
 60
 48
 c6
@@ -1548,7 +1556,7 @@
 c0
 00
 81
-8c
+8e
 d8
 a0
 08
@@ -1560,7 +1568,7 @@
 20
 20
 01
-83
+85
 6f
 e0
 87
@@ -1584,7 +1592,7 @@
 20
 20
 01
-9c
+9e
 6f
 e0
 88
@@ -1616,7 +1624,7 @@
 c0
 00
 81
-96
+98
 70
 08
 f7
@@ -1680,7 +1688,7 @@
 c0
 00
 01
-a2
+a4
 20
 20
 23
@@ -1704,11 +1712,11 @@
 c0
 00
 01
-aa
+ac
 c0
 00
 81
-e5
+e7
 c0
 01
 79
@@ -1724,7 +1732,7 @@
 c0
 00
 81
-b2
+b4
 c0
 01
 fa
@@ -1740,7 +1748,7 @@
 c0
 05
 81
-cc
+ce
 c0
 03
 f9
@@ -1796,7 +1804,7 @@
 c0
 00
 01
-c1
+c3
 c0
 00
 fa
@@ -1924,7 +1932,7 @@
 c0
 01
 01
-e2
+e4
 c0
 01
 fa
@@ -1964,7 +1972,7 @@
 c0
 04
 81
-ea
+ec
 c0
 05
 fb
@@ -1992,7 +2000,7 @@
 20
 34
 01
-f7
+f9
 6f
 f1
 0c
@@ -2041,6 +2049,34 @@
 60
 00
 00
+da
+20
+48
+91
+20
+40
+7d
+a3
+20
+7a
+00
+00
+20
+20
+48
+37
+20
+40
+01
+fd
+6f
+e0
+89
+0d
+20
+7a
+00
+00
 6f
 f0
 8c
@@ -2084,11 +2120,11 @@
 20
 40
 02
-57
+60
 20
 20
 02
-db
+e4
 6f
 e0
 c6
@@ -2116,7 +2152,7 @@
 20
 40
 02
-07
+10
 58
 00
 00
@@ -2144,15 +2180,15 @@
 c2
 82
 02
-18
+21
 c2
 82
 82
-18
+21
 c2
 83
 02
-18
+21
 20
 20
 33
@@ -2200,23 +2236,23 @@
 c2
 82
 02
-1d
+26
 c2
 82
 82
-42
+4b
 c2
 83
 02
-45
+4e
 c2
 83
 82
-4b
+54
 20
 20
 02
-27
+30
 6f
 e0
 c5
@@ -2228,11 +2264,11 @@
 20
 22
 82
-38
+41
 20
 40
 02
-38
+41
 6f
 e0
 c5
@@ -2268,19 +2304,19 @@
 c2
 82
 02
-1d
+26
 c2
 82
 82
-42
+4b
 c2
 83
 02
-45
+4e
 c2
 83
 82
-4b
+54
 20
 60
 00
@@ -2324,7 +2360,7 @@
 20
 20
 02
-4e
+57
 6f
 e0
 c5
@@ -2336,7 +2372,7 @@
 20
 20
 01
-24
+25
 6f
 e0
 c5
@@ -2370,9 +2406,9 @@
 c8
 06
 20
-60
-00
-00
+20
+01
+38
 6f
 e0
 89
@@ -2456,7 +2492,7 @@
 c0
 08
 82
-64
+6d
 20
 20
 23
@@ -2468,39 +2504,39 @@
 c0
 00
 02
-6f
+78
 c0
 00
 82
-7b
+84
 c0
 01
 02
-7f
+88
 c0
 01
 82
-8f
+98
 c0
 02
 02
-96
+9f
 c0
 02
 82
-85
+8e
 c0
 03
 02
-89
+92
 c0
 03
 82
-8b
+94
 c0
 04
 02
-8d
+96
 20
 60
 00
@@ -2512,11 +2548,11 @@
 c0
 00
 02
-73
+7c
 c0
 00
 82
-77
+80
 20
 60
 00
@@ -2616,7 +2652,7 @@
 20
 20
 02
-80
+89
 70
 48
 a4
@@ -2624,7 +2660,7 @@
 20
 20
 02
-86
+8f
 70
 48
 a4
@@ -2632,7 +2668,7 @@
 20
 20
 02
-80
+89
 6f
 e0
 c8
@@ -2668,11 +2704,11 @@
 c0
 00
 82
-80
+89
 c0
 00
 02
-9c
+a5
 20
 60
 00
@@ -2708,15 +2744,15 @@
 20
 22
 82
-9a
+a3
 20
 40
 02
-ac
+b5
 20
 40
 02
-ce
+d7
 6f
 e0
 c8
@@ -2764,7 +2800,7 @@
 24
 21
 02
-b3
+bc
 da
 40
 00
@@ -2776,7 +2812,7 @@
 20
 21
 02
-ca
+d3
 ef
 e0
 80
@@ -2788,7 +2824,7 @@
 24
 21
 02
-b9
+c2
 da
 40
 00
@@ -2800,7 +2836,7 @@
 20
 21
 02
-cc
+d5
 1f
 e6
 7c
@@ -2808,7 +2844,7 @@
 20
 22
 82
-c2
+cb
 1f
 e6
 7c
@@ -2816,7 +2852,7 @@
 20
 22
 82
-c4
+cd
 1f
 e6
 7c
@@ -2824,7 +2860,7 @@
 20
 22
 82
-c6
+cf
 1f
 e6
 7c
@@ -2832,7 +2868,7 @@
 20
 22
 82
-c8
+d1
 20
 60
 00
@@ -2920,11 +2956,11 @@
 20
 22
 82
-d9
+e2
 c2
 00
 02
-d4
+dd
 20
 60
 00
@@ -2961,6 +2997,26 @@
 7a
 00
 00
+6f
+e0
+89
+0d
+c4
+01
+00
+00
+6f
+e0
+89
+0d
+79
+3f
+fe
+02
+67
+e0
+89
+0d
 da
 20
 48
@@ -2979,20 +3035,20 @@
 09
 c0
 12
-02
-f7
+03
+05
 c0
 13
-02
-f7
+03
+05
 c0
 11
-82
-f7
+83
+05
 c0
 12
-82
-f7
+83
+05
 c0
 10
 fc
@@ -3004,7 +3060,7 @@
 c0
 13
 82
-ed
+fb
 20
 20
 23
@@ -3048,7 +3104,7 @@
 20
 20
 03
-00
+0e
 6f
 e0
 c8
@@ -3144,7 +3200,7 @@
 20
 40
 03
-1f
+2d
 2a
 2f
 fe
@@ -3176,7 +3232,7 @@
 20
 40
 03
-1f
+2d
 d8
 a0
 8a
@@ -3204,7 +3260,7 @@
 20
 21
 03
-14
+22
 20
 20
 21
@@ -3308,7 +3364,7 @@
 20
 40
 03
-58
+66
 70
 8a
 08
@@ -3344,7 +3400,7 @@
 20
 40
 03
-4e
+5c
 6f
 f0
 8a
@@ -3388,7 +3444,7 @@
 20
 40
 03
-58
+66
 70
 80
 cd
@@ -3448,7 +3504,7 @@
 c3
 02
 83
-59
+67
 68
 59
 01
@@ -3484,7 +3540,7 @@
 c0
 08
 03
-78
+86
 58
 00
 57
@@ -3528,7 +3584,7 @@
 c0
 08
 03
-75
+83
 58
 00
 2b
@@ -3564,7 +3620,7 @@
 20
 20
 03
-71
+7f
 58
 00
 83
@@ -3576,7 +3632,7 @@
 20
 20
 03
-66
+74
 6f
 e0
 c3
@@ -3616,7 +3672,7 @@
 c0
 11
 03
-87
+95
 c0
 7f
 b5
@@ -3632,7 +3688,7 @@
 20
 3a
 03
-8d
+9b
 6f
 e2
 45
@@ -3656,11 +3712,11 @@
 c0
 00
 83
-91
+9f
 c0
 01
 03
-99
+a7
 20
 60
 00
@@ -3680,7 +3736,7 @@
 c0
 01
 03
-96
+a4
 20
 60
 00
@@ -3712,7 +3768,7 @@
 c0
 80
 03
-9e
+ac
 20
 60
 00
@@ -3792,7 +3848,7 @@
 20
 40
 03
-b2
+c0
 20
 20
 34
@@ -3828,11 +3884,11 @@
 20
 40
 03
-c6
+d4
 20
 40
 03
-c8
+d6
 6f
 e0
 89
@@ -3876,7 +3932,7 @@
 20
 20
 01
-89
+8b
 58
 00
 00
@@ -3900,11 +3956,11 @@
 20
 40
 03
-d0
+de
 20
 40
 03
-d3
+e1
 d8
 e0
 00
@@ -3928,7 +3984,7 @@
 20
 20
 02
-1d
+26
 6f
 e0
 c6
@@ -4065,8 +4121,8 @@
 20
 31
 95
-79
-0c
+25
+71
 aa
 55
 40
@@ -4542,7 +4598,7 @@
 00
 09
 48
-01
+02
 00
 aa
 55
@@ -4802,8 +4858,8 @@
 aa
 aa
 55
-ac
+ad
 a3
-5a
-96
+51
+46
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(revision 3727)
+++ /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 c00a035f beq patch02_4 ,p_set_lemode 
+0004 c00a036d 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 c01b83e3 beq patch06_7 ,p_dongle_default_init 
+0009 c01b83f1 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 c01e83b9 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e83c7 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c0628095 beq patch18_5 ,p_otp_read_data 
-000e c06d0330 beq patch1b_2 ,p_sadc_calibration 
-000f c06e0340 beq patch1b_4 ,p_enable_adc 
+000e c06d033e beq patch1b_2 ,p_sadc_calibration 
+000f c06e034e beq patch1b_4 ,p_enable_adc 
 0010 c07f00e2 beq patch1f_6 ,p_usb_init 
-0011 c07f8178 beq patch1f_7 ,p_usb_rx 
+0011 c07f817a beq patch1f_7 ,p_usb_rx 
 0012 c07e80de beq patch1f_5 ,p_usb_isr 
 0013 2020235a branch assert 
 
 pf_patch_ext:
-0014 c000019c beq patch20_0 ,p_usb_class_type 
-0015 c00101db beq patch20_2 ,p_usb0_request_get_descriptor 
-0016 c00301fb beq patch20_6 ,p_usb_tx 
-0017 c01c837b beq patch27_1 ,p_le_parse 
-0018 c026837f beq patch29_5 ,p_le_init_adv 
-0019 c03783eb beq patch2d_7 ,p_g24_receive_skip_end 
-001a c0410381 beq patch30_2 ,p_g24_bind_data_parse_next 
-001b c042020d beq patch30_4 ,p_g24_receive_packet_start1 
-001c c04403a1 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001d c04503ae beq patch31_2 ,p_g24_bind_mode_auto 
+0014 c000019e beq patch20_0 ,p_usb_class_type 
+0015 c00101dd beq patch20_2 ,p_usb0_request_get_descriptor 
+0016 c0030201 beq patch20_6 ,p_usb_tx 
+0017 c01c8389 beq patch27_1 ,p_le_parse 
+0018 c026838d beq patch29_5 ,p_le_init_adv 
+0019 c03783f9 beq patch2d_7 ,p_g24_receive_skip_end 
+001a c041038f beq patch30_2 ,p_g24_bind_data_parse_next 
+001b c0420216 beq patch30_4 ,p_g24_receive_packet_start1 
+001c c04403af beq patch31_0 ,p_g24_mode_switch_bind_search 
+001d c04503bc 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 20400302 call p_rx_dcoc 
-0059 2040032d call p_rfpll_aac_ghpc 
+0058 20400310 call p_rx_dcoc 
+0059 2040033b 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 2020032f branch p_dpll_ring_ibias_calc 
+005d 2020033d 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 58000221 setarg p_dongle_g24_mouse 
+00e6 5800022a setarg p_dongle_g24_mouse 
 00e7 67e145e4 store 2 ,mem_cb_24g_data_device1 
 
 p_usb_init_restart:
@@ -318,9 +318,9 @@
 p_usb_rx_data_out:
 0104 6fe0870c fetch 1 ,mem_usb_read_len 
 0105 1fe67c02 sub pdata ,2 ,null 
-0106 20210153 branch p_dongle_hci_event_invalid_packet ,positive 
+0106 20210155 branch p_dongle_hci_event_invalid_packet ,positive 
 0107 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-0108 c0808153 bne 0x01 ,p_dongle_hci_event_invalid_packet 
+0108 c0808155 bne 0x01 ,p_dongle_hci_event_invalid_packet 
 0109 efe08006 ifetch 1 ,contr 
 010a 67e0c6df store 1 ,mem_dongle_usb_opcode 
 010b e8408006 ifetcht 1 ,contr 
@@ -329,14 +329,14 @@
 
 p_dongle_usb_hci_cmd_control:
 010e 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-010f 203a014b branch p_dongle_usb_device_disconnect ,blank 
+010f 203a014d 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 c002812d beq hci_cmd_get_sn ,p_dongle_usb_hci_cmd_get_sn 
-0114 c0030136 beq hci_cmd_set_battery ,p_dongle_usb_hci_cmd_get_battery 
-0115 c003813f beq hci_cmd_get_connect_state ,p_dongle_usb_hci_cmd_get_connect_state 
-0116 20200153 branch p_dongle_hci_event_invalid_packet 
+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 c0038141 beq hci_cmd_get_connect_state ,p_dongle_usb_hci_cmd_get_connect_state 
+0116 20200155 branch p_dongle_hci_event_invalid_packet 
 
 p_dongle_usb_hci_cmd_get_deivce_info:
 0117 70485040 jam 0x40 ,mem_dongle_usb_ep2_data 
@@ -351,940 +351,960 @@
 0120 6fe14809 fetch 2 ,mem_dongle_version 
 0121 67e1485d store 2 ,mem_dongle_usb_ep2_data + 13 
 0122 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
-0123 2020024e branch p_dongle_usb_tx_enable_ep2 
+0123 20200257 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_dpi:
-0124 70485040 jam 0x40 ,mem_dongle_usb_ep2_data 
-0125 704851a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0126 70485202 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0127 70485302 jam 0x02 ,mem_dongle_usb_ep2_data + 3 
-0128 70485401 jam 0x01 ,mem_dongle_usb_ep2_data + 4 
-0129 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-012a 67e0c855 store 1 ,mem_dongle_usb_ep2_data + 5 
-012b 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
-012c 2020024e branch p_dongle_usb_tx_enable_ep2 
+0124 70485601 jam 0x01 ,mem_dongle_usb_ep2_data + 6 
+
+p_dongle_usb_tx_ep2_dpi_data:
+0125 70485040 jam 0x40 ,mem_dongle_usb_ep2_data 
+0126 704851a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0127 70485202 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+0128 70485302 jam 0x02 ,mem_dongle_usb_ep2_data + 3 
+0129 70485401 jam 0x01 ,mem_dongle_usb_ep2_data + 4 
+012a 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+012b 67e0c855 store 1 ,mem_dongle_usb_ep2_data + 5 
+012c 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
+012d 20200257 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_sn:
-012d 70485040 jam 0x40 ,mem_dongle_usb_ep2_data 
-012e 704851a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-012f 70485202 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0130 70485303 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
-0131 70485406 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
-0132 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
-0133 67e34855 store 6 ,mem_dongle_usb_ep2_data + 5 
-0134 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
-0135 2020024e branch p_dongle_usb_tx_enable_ep2 
+012e 70485040 jam 0x40 ,mem_dongle_usb_ep2_data 
+012f 704851a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0130 70485202 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+0131 70485303 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
+0132 70485406 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
+0133 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
+0134 67e34855 store 6 ,mem_dongle_usb_ep2_data + 5 
+0135 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
+0136 20200257 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_battery:
-0136 70485040 jam 0x40 ,mem_dongle_usb_ep2_data 
-0137 704851a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0138 70485202 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0139 70485306 jam 0x06 ,mem_dongle_usb_ep2_data + 3 
-013a 70485401 jam 0x01 ,mem_dongle_usb_ep2_data + 4 
-013b 6fe0c806 fetch 1 ,mem_usb_get_report_battery_data 
-013c 67e0c855 store 1 ,mem_dongle_usb_ep2_data + 5 
-013d 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
-013e 2020024e branch p_dongle_usb_tx_enable_ep2 
+0137 70485601 jam 0x01 ,mem_dongle_usb_ep2_data + 6 
+
+p_dongle_usb_tx_ep2_battery_data:
+0138 70485040 jam 0x40 ,mem_dongle_usb_ep2_data 
+0139 704851a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+013a 70485202 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+013b 70485306 jam 0x06 ,mem_dongle_usb_ep2_data + 3 
+013c 70485401 jam 0x01 ,mem_dongle_usb_ep2_data + 4 
+013d 6fe0c806 fetch 1 ,mem_usb_get_report_battery_data 
+013e 67e0c855 store 1 ,mem_dongle_usb_ep2_data + 5 
+013f 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
+0140 20200257 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_connect_state:
-013f 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
-0140 c000014b beq 0 ,p_dongle_usb_device_disconnect 
-0141 c0008143 beq 1 ,p_dongle_usb_device_connect 
-0142 20600000 rtn 
+0141 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
+0142 c000014d beq 0 ,p_dongle_usb_device_disconnect 
+0143 c0008145 beq 1 ,p_dongle_usb_device_connect 
+0144 20600000 rtn 
 
 p_dongle_usb_device_connect:
-0143 70480f40 jam 0x40 ,mem_usb_rf_state_data 
-0144 704810a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
-0145 70481102 jam 0x02 ,mem_usb_rf_state_data + 2 
-0146 70481205 jam 0x05 ,mem_usb_rf_state_data + 3 
-0147 70481301 jam 0x01 ,mem_usb_rf_state_data + 4 
-0148 70481401 jam 0x01 ,mem_usb_rf_state_data + 5 
-0149 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-014a 2020024e branch p_dongle_usb_tx_enable_ep2 
+0145 70480f40 jam 0x40 ,mem_usb_rf_state_data 
+0146 704810a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+0147 70481102 jam 0x02 ,mem_usb_rf_state_data + 2 
+0148 70481205 jam 0x05 ,mem_usb_rf_state_data + 3 
+0149 70481301 jam 0x01 ,mem_usb_rf_state_data + 4 
+014a 70481401 jam 0x01 ,mem_usb_rf_state_data + 5 
+014b 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+014c 20200257 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_device_disconnect:
-014b 70480f40 jam 0x40 ,mem_usb_rf_state_data 
-014c 704810a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
-014d 70481102 jam 0x02 ,mem_usb_rf_state_data + 2 
-014e 70481205 jam 0x05 ,mem_usb_rf_state_data + 3 
-014f 70481301 jam 0x01 ,mem_usb_rf_state_data + 4 
-0150 70481400 jam 0x00 ,mem_usb_rf_state_data + 5 
-0151 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-0152 2020024e branch p_dongle_usb_tx_enable_ep2 
+014d 70480f40 jam 0x40 ,mem_usb_rf_state_data 
+014e 704810a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+014f 70481102 jam 0x02 ,mem_usb_rf_state_data + 2 
+0150 70481205 jam 0x05 ,mem_usb_rf_state_data + 3 
+0151 70481301 jam 0x01 ,mem_usb_rf_state_data + 4 
+0152 70481400 jam 0x00 ,mem_usb_rf_state_data + 5 
+0153 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+0154 20200257 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_hci_event_invalid_packet:
-0153 70480f40 jam 0x40 ,mem_usb_rf_state_data 
-0154 704810a1 jam 0xA1 ,mem_usb_rf_state_data + 1 
-0155 d8400001 arg 1 ,temp 
+0155 70480f40 jam 0x40 ,mem_usb_rf_state_data 
+0156 704810a1 jam 0xA1 ,mem_usb_rf_state_data + 1 
+0157 d8400001 arg 1 ,temp 
 
 p_dongle_hci_event_ack_packet:
-0156 da200000 arg 0 ,rega 
-0157 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
-0158 1fe22600 copy pdata ,regc 
+0158 da200000 arg 0 ,rega 
+0159 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
+015a 1fe22600 copy pdata ,regc 
 
 p_dongle_hci_event_packet:
-0159 7046df06 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
-015a 58000002 setarg 2 
-015b 9a20fe00 iadd rega ,pdata 
-015c 7046de02 jam 0x02 ,mem_dongle_usb_header 
-015d 67e0c6e0 store 1 ,mem_dongle_usb_len 
-015e 604c0678 storet 8 ,mem_temp 
-015f 684c0678 fetcht 8 ,mem_temp 
-0160 d8a04811 arg mem_usb_rf_state_data + 2 ,contw 
-0161 6fe1c6de fetch 3 ,mem_dongle_usb_header 
-0162 e7e18005 istore 3 ,contw 
-0163 1a627e00 copy regc ,pdata 
-0164 e7e08005 istore 1 ,contw 
-0165 e0408005 istoret 1 ,contw 
-0166 1a227200 copy rega ,loopcnt 
-0167 1a420c00 copy regb ,contr 
-0168 20407cda call memcpy 
-0169 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-016a 2020024e branch p_dongle_usb_tx_enable_ep2 
+015b 7046df06 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
+015c 58000002 setarg 2 
+015d 9a20fe00 iadd rega ,pdata 
+015e 7046de02 jam 0x02 ,mem_dongle_usb_header 
+015f 67e0c6e0 store 1 ,mem_dongle_usb_len 
+0160 604c0678 storet 8 ,mem_temp 
+0161 684c0678 fetcht 8 ,mem_temp 
+0162 d8a04811 arg mem_usb_rf_state_data + 2 ,contw 
+0163 6fe1c6de fetch 3 ,mem_dongle_usb_header 
+0164 e7e18005 istore 3 ,contw 
+0165 1a627e00 copy regc ,pdata 
+0166 e7e08005 istore 1 ,contw 
+0167 e0408005 istoret 1 ,contw 
+0168 1a227200 copy rega ,loopcnt 
+0169 1a420c00 copy regb ,contr 
+016a 20407cda call memcpy 
+016b 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+016c 20200257 branch p_dongle_usb_tx_enable_ep2 
 
 p_usb_rx_len:
-016b 69510c02 fetchr contus ,2 ,core_usb_rx_saddr 
-016c 6a110c04 fetchr contue ,2 ,core_usb_rx_eaddr 
-016d 68710c06 fetchr contu ,2 ,core_usb_rxptr 
-016e 18627e00 copy contu ,pdata 
-016f efe10003 ifetch 2 ,contu 
-0170 1fec8400 rshift8 pdata ,temp 
-0171 18518400 rshift4 temp ,temp 
-0172 d8c00fff arg 0xfff ,contr 
-0173 98c17200 iand contr ,loopcnt 
-0174 6721070c storer loopcnt ,2 ,mem_usb_read_len 
-0175 1f267c00 sub loopcnt ,0 ,null 
-0176 2042816b call p_usb_rx_len ,zero 
-0177 20600000 rtn 
+016d 69510c02 fetchr contus ,2 ,core_usb_rx_saddr 
+016e 6a110c04 fetchr contue ,2 ,core_usb_rx_eaddr 
+016f 68710c06 fetchr contu ,2 ,core_usb_rxptr 
+0170 18627e00 copy contu ,pdata 
+0171 efe10003 ifetch 2 ,contu 
+0172 1fec8400 rshift8 pdata ,temp 
+0173 18518400 rshift4 temp ,temp 
+0174 d8c00fff arg 0xfff ,contr 
+0175 98c17200 iand contr ,loopcnt 
+0176 6721070c storer loopcnt ,2 ,mem_usb_read_len 
+0177 1f267c00 sub loopcnt ,0 ,null 
+0178 2042816d call p_usb_rx_len ,zero 
+0179 20600000 rtn 
 
 p_usb_rx:
-0178 6fe08709 fetch 1 ,mem_usb_status 
-0179 c4028000 rtnbit0 usb_status_rxready 
-017a 2040016b call p_usb_rx_len 
-017b 6048c697 storet 1 ,mem_usb_rx_endpoint 
-017c 2841fe0d compare 13 ,temp ,0xff 
-017d 2020f999 branch usb_rx_ep13 ,true 
-017e 6fe0c696 fetch 1 ,mem_setreport_count 
-017f c000818c beq 1 ,p_setreport_next_page_data 
-0180 d8a0086d arg mem_usb_setup ,contw 
-0181 20407994 call usb_rx_read 
-0182 20200183 branch p_usb_rx_next 
+017a 6fe08709 fetch 1 ,mem_usb_status 
+017b c4028000 rtnbit0 usb_status_rxready 
+017c 2040016d call p_usb_rx_len 
+017d 6048c697 storet 1 ,mem_usb_rx_endpoint 
+017e 2841fe0d compare 13 ,temp ,0xff 
+017f 2020f999 branch usb_rx_ep13 ,true 
+0180 6fe0c696 fetch 1 ,mem_setreport_count 
+0181 c000818e beq 1 ,p_setreport_next_page_data 
+0182 d8a0086d arg mem_usb_setup ,contw 
+0183 20407994 call usb_rx_read 
+0184 20200185 branch p_usb_rx_next 
 
 p_usb_rx_next:
-0183 6fe0870c fetch 1 ,mem_usb_read_len 
-0184 c0007986 beq 0x00 ,usb_rx_no_data 
-0185 c000f9b6 beq 0x01 ,usb_out_one_byte 
-0186 1fe67c07 sub pdata ,7 ,null 
-0187 20610000 rtn positive 
-0188 2020019c branch p_usb_class_type 
+0185 6fe0870c fetch 1 ,mem_usb_read_len 
+0186 c0007986 beq 0x00 ,usb_rx_no_data 
+0187 c000f9b6 beq 0x01 ,usb_out_one_byte 
+0188 1fe67c07 sub pdata ,7 ,null 
+0189 20610000 rtn positive 
+018a 2020019e branch p_usb_class_type 
 
 p_dongle_usb_data_received_analysis:
-0189 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-018a c0510104 beq report_id_data_out ,p_usb_rx_data_out 
-018b 20600000 rtn 
+018b 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+018c c0510104 beq report_id_data_out ,p_usb_rx_data_out 
+018d 20600000 rtn 
 
 p_setreport_next_page_data:
-018c d8a00875 arg mem_usb0_set_report_data ,contw 
-018d 20407994 call usb_rx_read 
-018e 70469600 jam 0 ,mem_setreport_count 
-018f 6fe0870c fetch 1 ,mem_usb_read_len 
-0190 c0008196 beq 0x01 ,p_usb_out_one_byte 
-0191 7008f701 jam 1 ,mem_usb0_get_set_report 
-0192 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-0193 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-0194 708c1b03 jam 0x03 ,core_usb_clear_nak 
-0195 20600000 rtn 
+018e d8a00875 arg mem_usb0_set_report_data ,contw 
+018f 20407994 call usb_rx_read 
+0190 70469600 jam 0 ,mem_setreport_count 
+0191 6fe0870c fetch 1 ,mem_usb_read_len 
+0192 c0008198 beq 0x01 ,p_usb_out_one_byte 
+0193 7008f701 jam 1 ,mem_usb0_get_set_report 
+0194 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+0195 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+0196 708c1b03 jam 0x03 ,core_usb_clear_nak 
+0197 20600000 rtn 
 
 p_usb_out_one_byte:
-0196 6fe0886d fetch 1 ,mem_usb_setup 
-0197 c3838000 rtnbit1 7 
-0198 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0199 20407b6a call usb_get_led_status 
-019a 708c1b01 jam 0x1 ,core_usb_clear_nak 
-019b 20600000 rtn 
+0198 6fe0886d fetch 1 ,mem_usb_setup 
+0199 c3838000 rtnbit1 7 
+019a 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+019b 20407b6a call usb_get_led_status 
+019c 708c1b01 jam 0x1 ,core_usb_clear_nak 
+019d 20600000 rtn 
 
 p_usb_class_type:
-019c 793f8023 set0 mark_isstr ,mark 
-019d 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-019e 1fe17e80 and_into 0x80 ,pdata 
-019f c04079ba beq in_device ,usb_in_device 
-01a0 c00001a2 beq out_device ,p_usb_out_device 
-01a1 2020235a branch assert 
+019e 793f8023 set0 mark_isstr ,mark 
+019f 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01a0 1fe17e80 and_into 0x80 ,pdata 
+01a1 c04079ba beq in_device ,usb_in_device 
+01a2 c00001a4 beq out_device ,p_usb_out_device 
+01a3 2020235a branch assert 
 
 p_usb_out_device:
-01a2 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01a3 1ff1fe00 rshift4 pdata ,pdata 
-01a4 1fe37e00 rshift pdata ,pdata 
-01a5 1fe17e03 and_into 0x03 ,pdata 
-01a6 c00001aa beq standard_req ,p_usb_out_standard_req 
-01a7 c00081e5 beq class_req ,p_usb_out_class_req 
-01a8 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-01a9 2020235a branch assert 
+01a4 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01a5 1ff1fe00 rshift4 pdata ,pdata 
+01a6 1fe37e00 rshift pdata ,pdata 
+01a7 1fe17e03 and_into 0x03 ,pdata 
+01a8 c00001ac beq standard_req ,p_usb_out_standard_req 
+01a9 c00081e7 beq class_req ,p_usb_out_class_req 
+01aa c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+01ab 2020235a branch assert 
 
 p_usb_out_standard_req:
-01aa 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-01ab c00081b2 beq clear_feature ,p_usb0_request_clear_feature 
-01ac c001fadb beq set_feature ,usb0_request_set_feature 
-01ad c002fb06 beq set_address ,usb0_request_set_address 
-01ae c004fb1f beq set_configuration ,usb0_request_set_configuration 
-01af c00581cc beq set_interface ,p_usb0_request_set_interface 
-01b0 c003f9e4 beq set_descriptor ,usb0_force_stall 
-01b1 202079e4 branch usb0_force_stall 
+01ac 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01ad c00081b4 beq clear_feature ,p_usb0_request_clear_feature 
+01ae c001fadb beq set_feature ,usb0_request_set_feature 
+01af c002fb06 beq set_address ,usb0_request_set_address 
+01b0 c004fb1f beq set_configuration ,usb0_request_set_configuration 
+01b1 c00581ce beq set_interface ,p_usb0_request_set_interface 
+01b2 c003f9e4 beq set_descriptor ,usb0_force_stall 
+01b3 202079e4 branch usb0_force_stall 
 
 p_usb0_request_clear_feature:
-01b2 6fe0886b fetch 1 ,mem_usb0_state 
-01b3 c08279e4 bne dev_configured ,usb0_force_stall 
-01b4 6fe08873 fetch 1 ,mem_usb_setup_blength 
-01b5 c08079e4 bne 0 ,usb0_force_stall 
-01b6 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+01b4 6fe0886b fetch 1 ,mem_usb0_state 
+01b5 c08279e4 bne dev_configured ,usb0_force_stall 
+01b6 6fe08873 fetch 1 ,mem_usb_setup_blength 
 01b7 c08079e4 bne 0 ,usb0_force_stall 
-01b8 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01b8 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
 01b9 c08079e4 bne 0 ,usb0_force_stall 
-01ba 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01ba 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
 01bb c08079e4 bne 0 ,usb0_force_stall 
-01bc 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01bd c00001c1 beq out_device ,p_usb0_request_clear_feature_out_device 
-01be c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
-01bf c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
-01c0 202079e4 branch usb0_force_stall 
+01bc 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01bd c08079e4 bne 0 ,usb0_force_stall 
+01be 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01bf c00001c3 beq out_device ,p_usb0_request_clear_feature_out_device 
+01c0 c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
+01c1 c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+01c2 202079e4 branch usb0_force_stall 
 
 p_usb0_request_clear_feature_out_device:
-01c1 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01c2 c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
-01c3 6ff08c00 fetch 1 ,core_usb_config 
-01c4 793ffe07 set0 7 ,pdata 
-01c5 67f08c00 store 1 ,core_usb_config 
-01c6 70090100 jam 0 ,mem_usb_remote_wakeup 
-01c7 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
-01c8 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
-01c9 203a79e9 branch usb0_reply_zerolen ,blank 
-01ca 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
-01cb 202079e9 branch usb0_reply_zerolen 
+01c3 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+01c4 c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
+01c5 6ff08c00 fetch 1 ,core_usb_config 
+01c6 793ffe07 set0 7 ,pdata 
+01c7 67f08c00 store 1 ,core_usb_config 
+01c8 70090100 jam 0 ,mem_usb_remote_wakeup 
+01c9 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
+01ca 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
+01cb 203a79e9 branch usb0_reply_zerolen ,blank 
+01cc 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
+01cd 202079e9 branch usb0_reply_zerolen 
 
 p_usb0_request_set_interface:
-01cc 6fe0886b fetch 1 ,mem_usb0_state 
-01cd c08279e4 bne dev_configured ,usb0_force_stall 
-01ce 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01cf c080f9e4 bne out_interface ,usb0_force_stall 
-01d0 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01d1 c08079e4 bne 0 ,usb0_force_stall 
-01d2 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01ce 6fe0886b fetch 1 ,mem_usb0_state 
+01cf c08279e4 bne dev_configured ,usb0_force_stall 
+01d0 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01d1 c080f9e4 bne out_interface ,usb0_force_stall 
+01d2 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
 01d3 c08079e4 bne 0 ,usb0_force_stall 
-01d4 6fe08873 fetch 1 ,mem_usb_setup_blength 
+01d4 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
 01d5 c08079e4 bne 0 ,usb0_force_stall 
-01d6 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+01d6 6fe08873 fetch 1 ,mem_usb_setup_blength 
 01d7 c08079e4 bne 0 ,usb0_force_stall 
-01d8 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01d8 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
 01d9 c08079e4 bne 0 ,usb0_force_stall 
-01da 202079e9 branch usb0_reply_zerolen 
+01da 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01db c08079e4 bne 0 ,usb0_force_stall 
+01dc 202079e9 branch usb0_reply_zerolen 
 
 p_usb0_request_get_descriptor:
-01db 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01dc c000fa14 beq dsc_device ,dsc_device_info 
-01dd c00101e2 beq dsc_config ,p_dsc_config_info 
-01de c001fa30 beq dsc_string ,dsc_string_info 
-01df c010fa09 beq dsc_hid ,dsc_hid_info 
-01e0 c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
-01e1 202079e4 branch usb0_force_stall 
+01dd 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01de c000fa14 beq dsc_device ,dsc_device_info 
+01df c00101e4 beq dsc_config ,p_dsc_config_info 
+01e0 c001fa30 beq dsc_string ,dsc_string_info 
+01e1 c010fa09 beq dsc_hid ,dsc_hid_info 
+01e2 c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
+01e3 202079e4 branch usb0_force_stall 
 
 p_dsc_config_info:
-01e2 58004698 setarg mem_config_new 
-01e3 6848c698 fetcht 1 ,mem_config_new 
-01e4 20207a18 branch dsc_info_set_data_len 
+01e4 58004698 setarg mem_config_new 
+01e5 6848c698 fetcht 1 ,mem_config_new 
+01e6 20207a18 branch dsc_info_set_data_len 
 
 p_usb_out_class_req:
-01e5 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-01e6 c0057b4b beq set_idle ,usb_set_idle 
-01e7 c00481ea beq set_report ,p_usb_set_report 
-01e8 c005fb7c beq set_protocol ,usb_set_protocol_req 
-01e9 202079e4 branch usb0_force_stall 
+01e7 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01e8 c0057b4b beq set_idle ,usb_set_idle 
+01e9 c00481ec beq set_report ,p_usb_set_report 
+01ea c005fb7c beq set_protocol ,usb_set_protocol_req 
+01eb 202079e4 branch usb0_force_stall 
 
 p_usb_set_report:
-01ea 708c1b02 jam 0x2 ,core_usb_clear_nak 
-01eb 20003a98 nop 15000 
-01ec d8a00875 arg mem_usb0_set_report_data ,contw 
-01ed 204000fd call p_usb_rx_data 
-01ee 203401f7 branch p_usb_set_report_delay ,user 
-01ef 6ff10c22 fetch 2 ,core_usb_status 
-01f0 67f10c22 store 2 ,core_usb_status 
-01f1 7008f701 jam 1 ,mem_usb0_get_set_report 
-01f2 20407b6e call usb_set_report_resume_judge 
-01f3 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-01f4 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-01f5 708c1b03 jam 0x3 ,core_usb_clear_nak 
-01f6 20207b65 branch usb_set_report_next 
+01ec 708c1b02 jam 0x2 ,core_usb_clear_nak 
+01ed 20003a98 nop 15000 
+01ee d8a00875 arg mem_usb0_set_report_data ,contw 
+01ef 204000fd call p_usb_rx_data 
+01f0 203401f9 branch p_usb_set_report_delay ,user 
+01f1 6ff10c22 fetch 2 ,core_usb_status 
+01f2 67f10c22 store 2 ,core_usb_status 
+01f3 7008f701 jam 1 ,mem_usb0_get_set_report 
+01f4 20407b6e call usb_set_report_resume_judge 
+01f5 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+01f6 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+01f7 708c1b03 jam 0x3 ,core_usb_clear_nak 
+01f8 20207b65 branch usb_set_report_next 
 
 p_usb_set_report_delay:
-01f7 6fe0c696 fetch 1 ,mem_setreport_count 
-01f8 1fe0fe01 pincrease 1 
-01f9 67e0c696 store 1 ,mem_setreport_count 
-01fa 20600000 rtn 
+01f9 6fe0c696 fetch 1 ,mem_setreport_count 
+01fa 1fe0fe01 pincrease 1 
+01fb 67e0c696 store 1 ,mem_setreport_count 
+01fc 20600000 rtn 
+
+p_usb_tx_ep2_queue_buff_check:
+01fd da204891 arg mem_usb_ep2_fifo ,rega 
+01fe 20407da3 call fifo_is_empty 
+01ff 207a0000 rtn blank 
+0200 20204837 branch dongle_usb_tx_enable_ep2 
 
 p_usb_tx:
-01fb 6ff08c25 fetch 1 ,core_usb_txbusy 
-01fc 1fe17e0f and_into 0x0f ,pdata 
-01fd 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-01fe 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-01ff 203a7c06 branch usb_tx_fifo_release ,blank 
-0200 6fe08900 fetch 1 ,mem_usb_state 
-0201 c001fc40 beq usb_sleep ,usb_windows_wakeup 
-0202 c0817c06 bne usb_connected ,usb_tx_fifo_release 
-0203 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-0204 243a7c06 nbranch usb_tx_fifo_release ,blank 
-0205 20400257 call p_usb_tx_data_ep1 
-0206 202002db branch p_usb_tx_data_ep2 
+0201 204001fd call p_usb_tx_ep2_queue_buff_check 
+0202 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0203 207a0000 rtn blank 
+0204 6ff08c25 fetch 1 ,core_usb_txbusy 
+0205 1fe17e0f and_into 0x0f ,pdata 
+0206 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+0207 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0208 203a7c06 branch usb_tx_fifo_release ,blank 
+0209 6fe08900 fetch 1 ,mem_usb_state 
+020a c001fc40 beq usb_sleep ,usb_windows_wakeup 
+020b c0817c06 bne usb_connected ,usb_tx_fifo_release 
+020c 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+020d 243a7c06 nbranch usb_tx_fifo_release ,blank 
+020e 20400260 call p_usb_tx_data_ep1 
+020f 202002e4 branch p_usb_tx_data_ep2 
 
 p_dongle_usb_connect_mouse_check:
-0207 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-0208 c4000000 rtnbit0 0 
-0209 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
-020a 247a0000 nrtn blank 
-020b 70480b01 jam 1 ,mem_dongle_connect_mouse_flag 
-020c 20600000 rtn 
+0210 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0211 c4000000 rtnbit0 0 
+0212 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
+0213 247a0000 nrtn blank 
+0214 70480b01 jam 1 ,mem_dongle_connect_mouse_flag 
+0215 20600000 rtn 
 
 p_g24_receive_packet_start1:
-020d 20400207 call p_dongle_usb_connect_mouse_check 
-020e 58000000 setarg 0 
-020f 67e1c80c store 3 ,mem_dongle_no_data_flag 
-0210 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0211 c000b3c4 beq datatype_device1 ,g24_data_device1 
-0212 c00133d3 beq datatype_device2 ,g24_data_device2 
-0213 c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-0214 c2820218 bbit1 data_http ,p_g24_data_receive_device_http_dpi 
-0215 c2828218 bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
-0216 c2830218 bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
-0217 202033be branch g24_rx_interrupt_clear 
-
-p_g24_data_receive_device_http_dpi:
-0218 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0219 1fe17e0f and pdata ,0x0f ,pdata 
+0216 20400210 call p_dongle_usb_connect_mouse_check 
+0217 58000000 setarg 0 
+0218 67e1c80c store 3 ,mem_dongle_no_data_flag 
+0219 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
 021a c000b3c4 beq datatype_device1 ,g24_data_device1 
 021b c00133d3 beq datatype_device2 ,g24_data_device2 
-021c 202033be branch g24_rx_interrupt_clear 
+021c c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
+021d c2820221 bbit1 data_http ,p_g24_data_receive_device_http_dpi 
+021e c2828221 bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
+021f c2830221 bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
+0220 202033be branch g24_rx_interrupt_clear 
+
+p_g24_data_receive_device_http_dpi:
+0221 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0222 1fe17e0f and pdata ,0x0f ,pdata 
+0223 c000b3c4 beq datatype_device1 ,g24_data_device1 
+0224 c00133d3 beq datatype_device2 ,g24_data_device2 
+0225 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_http_data:
-021d 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-021e d8a00923 arg mem_usb_kb_data ,contw 
-021f 20407c9a call memset0_8 
-0220 20204848 branch dongle_usb_tx_ep1_enable 
+0226 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
+0227 d8a00923 arg mem_usb_kb_data ,contw 
+0228 20407c9a call memset0_8 
+0229 20204848 branch dongle_usb_tx_ep1_enable 
 
 p_dongle_g24_mouse:
-0221 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0222 c282021d bbit1 data_http ,p_dongle_usb_tx_http_data 
-0223 c2828242 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-0224 c2830245 bbit1 data_device_info ,p_dongle_receive_device_info_data 
-0225 c283824b bbit1 data_battery ,p_dongle_receive_battery_data 
-0226 20200227 branch p_dongle_g24_mouse_next 
+022a 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+022b c2820226 bbit1 data_http ,p_dongle_usb_tx_http_data 
+022c c282824b bbit1 data_dpi ,p_dongle_receive_dpi_data 
+022d c283024e bbit1 data_device_info ,p_dongle_receive_device_info_data 
+022e c2838254 bbit1 data_battery ,p_dongle_receive_battery_data 
+022f 20200230 branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
-0227 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0228 1fe67c09 sub pdata ,0x09 ,null 
-0229 20228238 branch p_dongle_g24_mouse_data ,zero 
-022a 20400238 call p_dongle_g24_mouse_data 
-022b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-022c 1fe0fff8 add pdata ,-8 ,pdata 
-022d 67e0c57d store 1 ,mem_24g_rxdata_length 
-022e 1fe27200 copy pdata ,loopcnt 
-022f d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
-0230 d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
-0231 20407cda call memcpy 
-0232 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0233 c282021d bbit1 data_http ,p_dongle_usb_tx_http_data 
-0234 c2828242 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-0235 c2830245 bbit1 data_device_info ,p_dongle_receive_device_info_data 
-0236 c283824b bbit1 data_battery ,p_dongle_receive_battery_data 
-0237 20600000 rtn 
+0230 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0231 1fe67c09 sub pdata ,0x09 ,null 
+0232 20228241 branch p_dongle_g24_mouse_data ,zero 
+0233 20400241 call p_dongle_g24_mouse_data 
+0234 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0235 1fe0fff8 add pdata ,-8 ,pdata 
+0236 67e0c57d store 1 ,mem_24g_rxdata_length 
+0237 1fe27200 copy pdata ,loopcnt 
+0238 d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
+0239 d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
+023a 20407cda call memcpy 
+023b 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+023c c2820226 bbit1 data_http ,p_dongle_usb_tx_http_data 
+023d c282824b bbit1 data_dpi ,p_dongle_receive_dpi_data 
+023e c283024e bbit1 data_device_info ,p_dongle_receive_device_info_data 
+023f c2838254 bbit1 data_battery ,p_dongle_receive_battery_data 
+0240 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-0238 58000001 setarg ms_report_id 
-0239 67e08913 store 1 ,mem_usb_mouse_data 
-023a 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
-023b e7e38005 istore 7 ,contw 
-023c 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-023d 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-023e 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-023f 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-0240 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0241 2020024e branch p_dongle_usb_tx_enable_ep2 
+0241 58000001 setarg ms_report_id 
+0242 67e08913 store 1 ,mem_usb_mouse_data 
+0243 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
+0244 e7e38005 istore 7 ,contw 
+0245 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0246 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+0247 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0248 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0249 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+024a 20200257 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_receive_dpi_data:
-0242 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0243 67e0c805 store 1 ,mem_usb_get_report_dpi_data 
-0244 20200124 branch p_dongle_usb_hci_cmd_get_dpi 
+024b 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+024c 67e0c805 store 1 ,mem_usb_get_report_dpi_data 
+024d 20200125 branch p_dongle_usb_tx_ep2_dpi_data 
 
 p_dongle_receive_device_info_data:
-0245 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0246 1fe0ffff increase -1 ,pdata 
-0247 1fe27200 copy pdata ,loopcnt 
-0248 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
-0249 d8a047ff arg mem_usb_get_report_sn_data ,contw 
-024a 20207cda branch memcpy 
+024e 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+024f 1fe0ffff increase -1 ,pdata 
+0250 1fe27200 copy pdata ,loopcnt 
+0251 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
+0252 d8a047ff arg mem_usb_get_report_sn_data ,contw 
+0253 20207cda branch memcpy 
 
 p_dongle_receive_battery_data:
-024b 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-024c 67e0c806 store 1 ,mem_usb_get_report_battery_data 
-024d 20600000 rtn 
+0254 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0255 67e0c806 store 1 ,mem_usb_get_report_battery_data 
+0256 20200138 branch p_dongle_usb_tx_ep2_battery_data 
 
 p_dongle_usb_tx_enable_ep2:
-024e 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-024f 207a0000 rtn blank 
-0250 da204891 arg mem_usb_ep2_fifo ,rega 
-0251 20407da5 call fifo_is_full 
-0252 247a0000 nrtn blank 
-0253 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0254 67e0866f store 1 ,mem_fifo_temp 
-0255 da204891 arg mem_usb_ep2_fifo ,rega 
-0256 20207d8b branch fifo_in 
+0257 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0258 207a0000 rtn blank 
+0259 da204891 arg mem_usb_ep2_fifo ,rega 
+025a 20407da5 call fifo_is_full 
+025b 247a0000 nrtn blank 
+025c 6fe0890c fetch 1 ,mem_usb_ep2_data 
+025d 67e0866f store 1 ,mem_fifo_temp 
+025e da204891 arg mem_usb_ep2_fifo ,rega 
+025f 20207d8b branch fifo_in 
 
 p_usb_tx_data_ep1:
-0257 6ff08c25 fetch 1 ,core_usb_txbusy 
-0258 1fe17e0f and_into 0x0f ,pdata 
-0259 247a0000 nrtn blank 
-025a 6fe0890d fetch 1 ,mem_usb_tx_enable 
-025b c4008000 rtnbit0 1 
-025c 6fe0890d fetch 1 ,mem_usb_tx_enable 
-025d 793ffe01 set0 1 ,pdata 
-025e 67e0890d store 1 ,mem_usb_tx_enable 
-025f 6fe0890b fetch 1 ,mem_usb_ep1_data 
-0260 207a0000 rtn blank 
-0261 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-0262 c0088264 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-0263 2020235a branch assert 
+0260 6ff08c25 fetch 1 ,core_usb_txbusy 
+0261 1fe17e0f and_into 0x0f ,pdata 
+0262 247a0000 nrtn blank 
+0263 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0264 c4008000 rtnbit0 1 
+0265 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0266 793ffe01 set0 1 ,pdata 
+0267 67e0890d store 1 ,mem_usb_tx_enable 
+0268 6fe0890b fetch 1 ,mem_usb_ep1_data 
+0269 207a0000 rtn blank 
+026a c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+026b c008826d beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+026c 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-0264 6fe0c8a4 fetch 1 ,mem_usb_website_step 
-0265 c000026f beq website_win ,p_usb_website_winr_data 
-0266 c000827b beq website_r_space_release ,p_usb_website_r_space_release_data 
-0267 c001027f beq website_win_release ,p_usb_website_win_release_data 
-0268 c001828f beq website_wait ,p_usb_website_wait_tx_data 
-0269 c0020296 beq website_data ,p_usb_website_data 
-026a c0028285 beq website_enter_1 ,p_usb_website_enter_data1 
-026b c0030289 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
-026c c003828b beq website_enter_2 ,p_usb_website_enter_data2 
-026d c004028d beq website_enter_release_2 ,p_usb_website_enter_release_data2 
-026e 20600000 rtn 
+026d 6fe0c8a4 fetch 1 ,mem_usb_website_step 
+026e c0000278 beq website_win ,p_usb_website_winr_data 
+026f c0008284 beq website_r_space_release ,p_usb_website_r_space_release_data 
+0270 c0010288 beq website_win_release ,p_usb_website_win_release_data 
+0271 c0018298 beq website_wait ,p_usb_website_wait_tx_data 
+0272 c002029f beq website_data ,p_usb_website_data 
+0273 c002828e beq website_enter_1 ,p_usb_website_enter_data1 
+0274 c0030292 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
+0275 c0038294 beq website_enter_2 ,p_usb_website_enter_data2 
+0276 c0040296 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
+0277 20600000 rtn 
 
 p_usb_website_winr_data:
-026f 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-0270 c0000273 beq 0 ,p_usb_tx_winos_winr_data 
-0271 c0008277 beq 1 ,p_usb_tx_macos_winr_data 
-0272 20600000 rtn 
+0278 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+0279 c000027c beq 0 ,p_usb_tx_winos_winr_data 
+027a c0008280 beq 1 ,p_usb_tx_macos_winr_data 
+027b 20600000 rtn 
 
 p_usb_tx_winos_winr_data:
-0273 7048a401 jam website_r_space_release ,mem_usb_website_step 
-0274 6fe1c89a fetch 3 ,mem_usb_win_cmd 
-0275 67e18923 store 3 ,mem_usb_kb_data 
-0276 20207c28 branch usb_tx_kb_normal_data 
+027c 7048a401 jam website_r_space_release ,mem_usb_website_step 
+027d 6fe1c89a fetch 3 ,mem_usb_win_cmd 
+027e 67e18923 store 3 ,mem_usb_kb_data 
+027f 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_macos_winr_data:
-0277 7048a401 jam website_r_space_release ,mem_usb_website_step 
-0278 6fe1c89d fetch 3 ,mem_usb_mac_cmd 
-0279 67e18923 store 3 ,mem_usb_kb_data 
-027a 20207c28 branch usb_tx_kb_normal_data 
+0280 7048a401 jam website_r_space_release ,mem_usb_website_step 
+0281 6fe1c89d fetch 3 ,mem_usb_mac_cmd 
+0282 67e18923 store 3 ,mem_usb_kb_data 
+0283 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_r_space_release_data:
-027b 7048a402 jam website_win_release ,mem_usb_website_step 
-027c 6fe0c89a fetch 1 ,mem_usb_win_cmd 
-027d 67e08923 store 1 ,mem_usb_kb_data 
-027e 20207c28 branch usb_tx_kb_normal_data 
+0284 7048a402 jam website_win_release ,mem_usb_website_step 
+0285 6fe0c89a fetch 1 ,mem_usb_win_cmd 
+0286 67e08923 store 1 ,mem_usb_kb_data 
+0287 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_win_release_data:
-027f 7048a403 jam website_wait ,mem_usb_website_step 
+0288 7048a403 jam website_wait ,mem_usb_website_step 
 
 p_usb_webstie_release_data:
-0280 d8a00923 arg mem_usb_kb_data ,contw 
-0281 df200008 arg 8 ,loopcnt 
-0282 20407ca3 call memset0 
-0283 7048a600 jam 0 ,mem_usb_website_release_flag 
-0284 20207c28 branch usb_tx_kb_normal_data 
+0289 d8a00923 arg mem_usb_kb_data ,contw 
+028a df200008 arg 8 ,loopcnt 
+028b 20407ca3 call memset0 
+028c 7048a600 jam 0 ,mem_usb_website_release_flag 
+028d 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_data1:
-0285 7048a406 jam website_enter_release_1 ,mem_usb_website_step 
+028e 7048a406 jam website_enter_release_1 ,mem_usb_website_step 
 
 p_usb_webstie_enter_data:
-0286 6fe1c8a0 fetch 3 ,mem_usb_kb_enter 
-0287 67e18923 store 3 ,mem_usb_kb_data 
-0288 20207c28 branch usb_tx_kb_normal_data 
+028f 6fe1c8a0 fetch 3 ,mem_usb_kb_enter 
+0290 67e18923 store 3 ,mem_usb_kb_data 
+0291 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_release_data1:
-0289 7048a407 jam website_enter_2 ,mem_usb_website_step 
-028a 20200280 branch p_usb_webstie_release_data 
+0292 7048a407 jam website_enter_2 ,mem_usb_website_step 
+0293 20200289 branch p_usb_webstie_release_data 
 
 p_usb_website_enter_data2:
-028b 7048a408 jam website_enter_release_2 ,mem_usb_website_step 
-028c 20200286 branch p_usb_webstie_enter_data 
+0294 7048a408 jam website_enter_release_2 ,mem_usb_website_step 
+0295 2020028f branch p_usb_webstie_enter_data 
 
 p_usb_website_enter_release_data2:
-028d 7048a400 jam website_done ,mem_usb_website_step 
-028e 20200280 branch p_usb_webstie_release_data 
+0296 7048a400 jam website_done ,mem_usb_website_step 
+0297 20200289 branch p_usb_webstie_release_data 
 
 p_usb_website_wait_tx_data:
-028f 6fe0c8a3 fetch 1 ,mem_usb_website_wait_count 
-0290 1fe0fe01 increase 1 ,pdata 
-0291 67e0c8a3 store 1 ,mem_usb_website_wait_count 
-0292 c1878000 rtnne website_wait_count 
-0293 7048a300 jam 0 ,mem_usb_website_wait_count 
-0294 7048a404 jam website_data ,mem_usb_website_step 
-0295 20600000 rtn 
+0298 6fe0c8a3 fetch 1 ,mem_usb_website_wait_count 
+0299 1fe0fe01 increase 1 ,pdata 
+029a 67e0c8a3 store 1 ,mem_usb_website_wait_count 
+029b c1878000 rtnne website_wait_count 
+029c 7048a300 jam 0 ,mem_usb_website_wait_count 
+029d 7048a404 jam website_data ,mem_usb_website_step 
+029e 20600000 rtn 
 
 p_usb_website_data:
-0296 6fe0c8a6 fetch 1 ,mem_usb_website_release_flag 
-0297 c0008280 beq 1 ,p_usb_webstie_release_data 
-0298 c000029c beq 0 ,p_usb_website_info_data 
-0299 20600000 rtn 
+029f 6fe0c8a6 fetch 1 ,mem_usb_website_release_flag 
+02a0 c0008289 beq 1 ,p_usb_webstie_release_data 
+02a1 c00002a5 beq 0 ,p_usb_website_info_data 
+02a2 20600000 rtn 
 
 p_usb_webstie_info_data_done:
-029a 7048a405 jam website_enter_1 ,mem_usb_website_step 
-029b 20600000 rtn 
+02a3 7048a405 jam website_enter_1 ,mem_usb_website_step 
+02a4 20600000 rtn 
 
 p_usb_website_info_data:
-029c d84048aa arg mem_usb_website_info + 1 ,temp 
-029d 6fe0c8a9 fetch 1 ,mem_usb_website_info 
-029e 98408400 iadd temp ,temp 
-029f 6fe148a7 fetch 2 ,mem_usb_website_ptr 
-02a0 98467c00 isub temp ,null 
-02a1 2022829a branch p_usb_webstie_info_data_done ,zero 
-02a2 204002ac call p_usb_tx_website_acii2hidkey 
-02a3 204002ce call p_usb_tx_website_need_shift 
-02a4 6fe0c8a5 fetch 1 ,mem_usb_website_shift_flag 
-02a5 67e08923 store 1 ,mem_usb_kb_data 
-02a6 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
-02a7 6fe148a7 fetch 2 ,mem_usb_website_ptr 
-02a8 1fe0fe01 increase 1 ,pdata 
-02a9 67e148a7 store 2 ,mem_usb_website_ptr 
-02aa 7048a601 jam 1 ,mem_usb_website_release_flag 
-02ab 20207c28 branch usb_tx_kb_normal_data 
+02a5 d84048aa arg mem_usb_website_info + 1 ,temp 
+02a6 6fe0c8a9 fetch 1 ,mem_usb_website_info 
+02a7 98408400 iadd temp ,temp 
+02a8 6fe148a7 fetch 2 ,mem_usb_website_ptr 
+02a9 98467c00 isub temp ,null 
+02aa 202282a3 branch p_usb_webstie_info_data_done ,zero 
+02ab 204002b5 call p_usb_tx_website_acii2hidkey 
+02ac 204002d7 call p_usb_tx_website_need_shift 
+02ad 6fe0c8a5 fetch 1 ,mem_usb_website_shift_flag 
+02ae 67e08923 store 1 ,mem_usb_kb_data 
+02af 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
+02b0 6fe148a7 fetch 2 ,mem_usb_website_ptr 
+02b1 1fe0fe01 increase 1 ,pdata 
+02b2 67e148a7 store 2 ,mem_usb_website_ptr 
+02b3 7048a601 jam 1 ,mem_usb_website_release_flag 
+02b4 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_website_acii2hidkey:
-02ac 684948a7 fetcht 2 ,mem_usb_website_ptr 
-02ad efe08002 ifetch 1 ,temp 
-02ae 1fe67c7a sub pdata ,0x7a ,null 
-02af 242102b3 nbranch p_usb_tx_website_acii2hidkey1 ,positive 
-02b0 da400061 arg 0x61 ,regb 
-02b1 9a462200 isub regb ,rega 
-02b2 202102ca branch p_usb_tx_website_acii2keycode_a2z ,positive 
+02b5 684948a7 fetcht 2 ,mem_usb_website_ptr 
+02b6 efe08002 ifetch 1 ,temp 
+02b7 1fe67c7a sub pdata ,0x7a ,null 
+02b8 242102bc nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+02b9 da400061 arg 0x61 ,regb 
+02ba 9a462200 isub regb ,rega 
+02bb 202102d3 branch p_usb_tx_website_acii2keycode_a2z ,positive 
 
 p_usb_tx_website_acii2hidkey1:
-02b3 efe08002 ifetch 1 ,temp 
-02b4 1fe67c39 sub pdata ,0x39 ,null 
-02b5 242102b9 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
-02b6 da400030 arg 0x30 ,regb 
-02b7 9a462200 isub regb ,rega 
-02b8 202102cc branch p_usb_tx_website_acii2keycode_029 ,positive 
+02bc efe08002 ifetch 1 ,temp 
+02bd 1fe67c39 sub pdata ,0x39 ,null 
+02be 242102c2 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+02bf da400030 arg 0x30 ,regb 
+02c0 9a462200 isub regb ,rega 
+02c1 202102d5 branch p_usb_tx_website_acii2keycode_029 ,positive 
 
 p_usb_tx_website_acii2keycode_sign:
-02b9 1fe67c3a sub pdata ,0x3a ,null 
-02ba 202282c2 branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
-02bb 1fe67c2f sub pdata ,0x2f ,null 
-02bc 202282c4 branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
-02bd 1fe67c2e sub pdata ,0x2e ,null 
-02be 202282c6 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
-02bf 1fe67c2d sub pdata ,0x2d ,null 
-02c0 202282c8 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
-02c1 20600000 rtn 
+02c2 1fe67c3a sub pdata ,0x3a ,null 
+02c3 202282cb branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+02c4 1fe67c2f sub pdata ,0x2f ,null 
+02c5 202282cd branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+02c6 1fe67c2e sub pdata ,0x2e ,null 
+02c7 202282cf branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+02c8 1fe67c2d sub pdata ,0x2d ,null 
+02c9 202282d1 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
+02ca 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_3a:
-02c2 da200033 arg 0x33 ,rega 
-02c3 20600000 rtn 
+02cb da200033 arg 0x33 ,rega 
+02cc 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2f:
-02c4 da200038 arg 0x38 ,rega 
-02c5 20600000 rtn 
+02cd da200038 arg 0x38 ,rega 
+02ce 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2e:
-02c6 da200037 arg 0x37 ,rega 
-02c7 20600000 rtn 
+02cf da200037 arg 0x37 ,rega 
+02d0 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2d:
-02c8 da20002d arg 0x2d ,rega 
-02c9 20600000 rtn 
+02d1 da20002d arg 0x2d ,rega 
+02d2 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_a2z:
-02ca 1a20a204 add rega ,4 ,rega 
-02cb 20600000 rtn 
+02d3 1a20a204 add rega ,4 ,rega 
+02d4 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_029:
-02cc 1a20a227 add rega ,0x27 ,rega 
-02cd 20600000 rtn 
+02d5 1a20a227 add rega ,0x27 ,rega 
+02d6 20600000 rtn 
 
 p_usb_tx_website_need_shift:
-02ce 7048a500 jam 0 ,mem_usb_website_shift_flag 
-02cf 6fe148a7 fetch 2 ,mem_usb_website_ptr 
-02d0 efe0803f ifetch 1 ,pdata 
-02d1 d8c048d2 arg mem_usb_website_info_sign + 1 ,contr 
-02d2 6848c8d1 fetcht 1 ,mem_usb_website_info_sign 
-02d3 18427200 copy temp ,loopcnt 
+02d7 7048a500 jam 0 ,mem_usb_website_shift_flag 
+02d8 6fe148a7 fetch 2 ,mem_usb_website_ptr 
+02d9 efe0803f ifetch 1 ,pdata 
+02da d8c048d2 arg mem_usb_website_info_sign + 1 ,contr 
+02db 6848c8d1 fetcht 1 ,mem_usb_website_info_sign 
+02dc 18427200 copy temp ,loopcnt 
 
 p_usb_tx_website_need_shift_check_loop:
-02d4 e8408006 ifetcht 1 ,contr 
-02d5 98467c00 isub temp ,null 
-02d6 202282d9 branch p_usb_tx_website_need_shift_setflag ,zero 
-02d7 c20002d4 loop p_usb_tx_website_need_shift_check_loop 
-02d8 20600000 rtn 
+02dd e8408006 ifetcht 1 ,contr 
+02de 98467c00 isub temp ,null 
+02df 202282e2 branch p_usb_tx_website_need_shift_setflag ,zero 
+02e0 c20002dd loop p_usb_tx_website_need_shift_check_loop 
+02e1 20600000 rtn 
 
 p_usb_tx_website_need_shift_setflag:
-02d9 7048a502 jam 2 ,mem_usb_website_shift_flag 
-02da 20600000 rtn 
+02e2 7048a502 jam 2 ,mem_usb_website_shift_flag 
+02e3 20600000 rtn 
 
 p_usb_tx_data_ep2:
-02db da204891 arg mem_usb_ep2_fifo ,rega 
-02dc 20407da3 call fifo_is_empty 
-02dd 207a0000 rtn blank 
-02de 6ff08c25 fetch 1 ,core_usb_txbusy 
-02df 1fe17e0f and_into 0x0f ,pdata 
-02e0 247a0000 nrtn blank 
-02e1 da204891 arg mem_usb_ep2_fifo ,rega 
-02e2 20407d97 call fifo_out 
-02e3 207a0000 rtn blank 
-02e4 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-02e5 c01202f7 beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_data 
-02e6 c01302f7 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
-02e7 c01182f7 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
-02e8 c01282f7 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_data 
-02e9 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-02ea c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-02eb c01382ed beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-02ec 2020235a branch assert 
+02e4 da204891 arg mem_usb_ep2_fifo ,rega 
+02e5 20407da3 call fifo_is_empty 
+02e6 207a0000 rtn blank 
+02e7 6ff08c25 fetch 1 ,core_usb_txbusy 
+02e8 1fe17e0f and_into 0x0f ,pdata 
+02e9 247a0000 nrtn blank 
+02ea 6fe0890d fetch 1 ,mem_usb_tx_enable 
+02eb c4010000 rtnbit0 2 
+02ec 6fe0890d fetch 1 ,mem_usb_tx_enable 
+02ed 793ffe02 set0 2 ,pdata 
+02ee 67e0890d store 1 ,mem_usb_tx_enable 
+02ef da204891 arg mem_usb_ep2_fifo ,rega 
+02f0 20407d97 call fifo_out 
+02f1 207a0000 rtn blank 
+02f2 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+02f3 c0120305 beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_data 
+02f4 c0130305 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
+02f5 c0118305 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
+02f6 c0128305 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_data 
+02f7 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+02f8 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+02f9 c01382fb beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+02fa 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-02ed 6fe0c80f fetch 1 ,mem_usb_rf_state_data 
-02ee 207a0000 rtn blank 
-02ef 1fe27200 copy pdata ,loopcnt 
-02f0 d8c04810 arg mem_usb_rf_state_data + 1 ,contr 
-02f1 d8e00002 arg 2 ,queue 
-02f2 da200759 arg mem_usb_txbuf2 ,rega 
-02f3 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-02f4 20407bd2 call usb_tx_buf 
-02f5 d8a0480f arg mem_usb_rf_state_data ,contw 
-02f6 20200300 branch p_usb_tx_buff_clr 
+02fb 6fe0c80f fetch 1 ,mem_usb_rf_state_data 
+02fc 207a0000 rtn blank 
+02fd 1fe27200 copy pdata ,loopcnt 
+02fe d8c04810 arg mem_usb_rf_state_data + 1 ,contr 
+02ff d8e00002 arg 2 ,queue 
+0300 da200759 arg mem_usb_txbuf2 ,rega 
+0301 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0302 20407bd2 call usb_tx_buf 
+0303 d8a0480f arg mem_usb_rf_state_data ,contw 
+0304 2020030e branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_data:
-02f7 6fe0c850 fetch 1 ,mem_dongle_usb_ep2_data 
-02f8 207a0000 rtn blank 
-02f9 1fe27200 copy pdata ,loopcnt 
-02fa d8c04851 arg mem_dongle_usb_ep2_data + 1 ,contr 
-02fb d8e00002 arg 2 ,queue 
-02fc da200759 arg mem_usb_txbuf2 ,rega 
-02fd 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-02fe 20407bd2 call usb_tx_buf 
-02ff d8a04850 arg mem_dongle_usb_ep2_data ,contw 
+0305 6fe0c850 fetch 1 ,mem_dongle_usb_ep2_data 
+0306 207a0000 rtn blank 
+0307 1fe27200 copy pdata ,loopcnt 
+0308 d8c04851 arg mem_dongle_usb_ep2_data + 1 ,contr 
+0309 d8e00002 arg 2 ,queue 
+030a da200759 arg mem_usb_txbuf2 ,rega 
+030b 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+030c 20407bd2 call usb_tx_buf 
+030d d8a04850 arg mem_dongle_usb_ep2_data ,contw 
 
 p_usb_tx_buff_clr:
-0300 df200041 arg 65 ,loopcnt 
-0301 20207ca1 branch clear_mem 
+030e df200041 arg 65 ,loopcnt 
+030f 20207ca1 branch clear_mem 
 
 p_rx_dcoc:
-0302 20758000 rtn wake 
-0303 20402160 call set_sync_on 
-0304 d8400027 arg 39 ,temp 
-0305 2040216f call set_freq_rx 
-0306 204021a6 call rf_rx_enable 
-0307 708a257f jam 0x7f ,0x8a25 
-0308 708a301a jam 0x1a ,0x8a30 
-0309 708a3178 jam 0x78 ,0x8a31 
-030a 708a8fb2 jam 0xb2 ,0x8a8f 
-030b 708ac200 jam 0 ,0x8ac2 
-030c 708ac300 jam 0 ,0x8ac3 
-030d d8e00006 arg 6 ,queue 
-030e 2040031f call p_rx_dcoc_avg 
-030f 2a2ffe0d isolate1 13 ,rega 
-0310 2040211d call qset_start 
-0311 2a4ffe0d isolate1 13 ,regb 
-0312 2040211e call qset_p 
-0313 d8e00005 arg 5 ,queue 
+0310 20758000 rtn wake 
+0311 20402160 call set_sync_on 
+0312 d8400027 arg 39 ,temp 
+0313 2040216f call set_freq_rx 
+0314 204021a6 call rf_rx_enable 
+0315 708a257f jam 0x7f ,0x8a25 
+0316 708a301a jam 0x1a ,0x8a30 
+0317 708a3178 jam 0x78 ,0x8a31 
+0318 708a8fb2 jam 0xb2 ,0x8a8f 
+0319 708ac200 jam 0 ,0x8ac2 
+031a 708ac300 jam 0 ,0x8ac3 
+031b d8e00006 arg 6 ,queue 
+031c 2040032d call p_rx_dcoc_avg 
+031d 2a2ffe0d isolate1 13 ,rega 
+031e 2040211d call qset_start 
+031f 2a4ffe0d isolate1 13 ,regb 
+0320 2040211e call qset_p 
+0321 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0314 2040211c call qset1_p 
-0315 2040211e call qset_p 
-0316 2040031f call p_rx_dcoc_avg 
-0317 d8a08ac2 arg 0x8ac2 ,contw 
-0318 1a31fe00 rshift4 rega ,pdata 
-0319 20402117 call qsetxor 
-031a 1a51fe00 rshift4 regb ,pdata 
-031b 20402117 call qsetxor 
-031c 18e08fff increase -1 ,queue 
-031d 20210314 branch p_rx_dcoc_loop2 ,positive 
-031e 2020214f branch rx_dcoc_loop2 + 10 
+0322 2040211c call qset1_p 
+0323 2040211e call qset_p 
+0324 2040032d call p_rx_dcoc_avg 
+0325 d8a08ac2 arg 0x8ac2 ,contw 
+0326 1a31fe00 rshift4 rega ,pdata 
+0327 20402117 call qsetxor 
+0328 1a51fe00 rshift4 regb ,pdata 
+0329 20402117 call qsetxor 
+032a 18e08fff increase -1 ,queue 
+032b 20210322 branch p_rx_dcoc_loop2 ,positive 
+032c 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-031f 2000003c nop 60 
-0320 58000f00 setarg mem_dcoc_buf 
-0321 67f10982 store 2 ,0x8982 
-0322 58000ff0 setarg mem_dcoc_buf_end 
-0323 67f10984 store 2 ,0x8984 
-0324 70898109 jam 0x9 ,0x8981 
-0325 70898103 jam 0x3 ,0x8981 
-0326 70898006 jam 0x6 ,0x8980 
-0327 2000003c nop 60 
-0328 da200000 arg 0 ,rega 
-0329 da400000 arg 0 ,regb 
-032a df200010 arg 16 ,loopcnt 
-032b d8c00f00 arg mem_dcoc_buf ,contr 
-032c 2020212d branch rx_dcoc_loop 
+032d 2000003c nop 60 
+032e 58000f00 setarg mem_dcoc_buf 
+032f 67f10982 store 2 ,0x8982 
+0330 58000ff0 setarg mem_dcoc_buf_end 
+0331 67f10984 store 2 ,0x8984 
+0332 70898109 jam 0x9 ,0x8981 
+0333 70898103 jam 0x3 ,0x8981 
+0334 70898006 jam 0x6 ,0x8980 
+0335 2000003c nop 60 
+0336 da200000 arg 0 ,rega 
+0337 da400000 arg 0 ,regb 
+0338 df200010 arg 16 ,loopcnt 
+0339 d8c00f00 arg mem_dcoc_buf ,contr 
+033a 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-032d 20758000 rtn wake 
-032e 20202272 branch rfpll_aac_ghpc + 1 
+033b 20758000 rtn wake 
+033c 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-032f 20600000 rtn 
+033d 20600000 rtn 
 
 p_sadc_calibration:
-0330 20758000 rtn wake 
-0331 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0332 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0333 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0334 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0335 67f080cd store 1 ,core_sadc_clkdiv 
-0336 20000bb8 nop 3000 
-0337 20400358 call p_sadc_read 
-0338 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0339 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-033a df200008 arg 8 ,loopcnt 
-033b 20406f58 call sadc_cal_read + 1 
-033c 6fe0c419 fetch 1 ,mem_spi_write_addr 
-033d 67e0c433 store 1 ,mem_adc_cal_c7 
-033e 6240c419 storer regb ,1 ,mem_spi_write_addr 
-033f 20600000 rtn 
+033e 20758000 rtn wake 
+033f 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0340 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+0341 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0342 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0343 67f080cd store 1 ,core_sadc_clkdiv 
+0344 20000bb8 nop 3000 
+0345 20400366 call p_sadc_read 
+0346 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0347 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0348 df200008 arg 8 ,loopcnt 
+0349 20406f58 call sadc_cal_read + 1 
+034a 6fe0c419 fetch 1 ,mem_spi_write_addr 
+034b 67e0c433 store 1 ,mem_adc_cal_c7 
+034c 6240c419 storer regb ,1 ,mem_spi_write_addr 
+034d 20600000 rtn 
 
 p_enable_adc:
-0340 2040034e call p_sadc_cal_write 
-0341 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-0342 793ffe07 set0 7 ,pdata 
-0343 67f08a09 store 1 ,core_gpadc_cfg1 
-0344 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0345 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0346 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0347 20406f90 call sadc_channel 
-0348 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0349 67f080cd store 1 ,core_sadc_clkdiv 
-034a 20000bb8 nop 3000 
-034b 20400358 call p_sadc_read 
-034c 7080cd00 jam 0 ,core_sadc_clkdiv 
-034d 20206fa1 branch sadc_dma 
+034e 2040035c call p_sadc_cal_write 
+034f 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+0350 793ffe07 set0 7 ,pdata 
+0351 67f08a09 store 1 ,core_gpadc_cfg1 
+0352 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0353 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0354 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0355 20406f90 call sadc_channel 
+0356 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0357 67f080cd store 1 ,core_sadc_clkdiv 
+0358 20000bb8 nop 3000 
+0359 20400366 call p_sadc_read 
+035a 7080cd00 jam 0 ,core_sadc_clkdiv 
+035b 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-034e 6ff080cc fetch 1 ,core_sadc_ctrl 
-034f 79207e01 set1 1 ,pdata 
-0350 67f080cc store 1 ,core_sadc_ctrl 
-0351 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0352 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-0353 67e0c419 store 1 ,mem_spi_write_addr 
-0354 df200008 arg 8 ,loopcnt 
-0355 20406f67 call sadc_cal_write + 4 
-0356 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0357 20600000 rtn 
+035c 6ff080cc fetch 1 ,core_sadc_ctrl 
+035d 79207e01 set1 1 ,pdata 
+035e 67f080cc store 1 ,core_sadc_ctrl 
+035f 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0360 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+0361 67e0c419 store 1 ,mem_spi_write_addr 
+0362 df200008 arg 8 ,loopcnt 
+0363 20406f67 call sadc_cal_write + 4 
+0364 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0365 20600000 rtn 
 
 p_sadc_read:
-0358 7080cc03 jam 0x03 ,core_sadc_ctrl 
+0366 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-0359 6ff08129 fetch 1 ,core_perf_status 
-035a c3028359 bbit0 saradc_done ,p_sadc_read_wait 
-035b 68590164 fetcht 2 ,core_sadc_data 
-035c 6049440a storet 2 ,mem_adc_current_value 
-035d 7080cc00 jam 0x00 ,core_sadc_ctrl 
-035e 20600000 rtn 
+0367 6ff08129 fetch 1 ,core_perf_status 
+0368 c3028367 bbit0 saradc_done ,p_sadc_read_wait 
+0369 68590164 fetcht 2 ,core_sadc_data 
+036a 6049440a storet 2 ,mem_adc_current_value 
+036b 7080cc00 jam 0x00 ,core_sadc_ctrl 
+036c 20600000 rtn 
 
 p_set_lemode:
-035f 708a8211 jam 0x11 ,0x8a82 
-0360 708a8d12 jam 0x12 ,0x8a8d 
-0361 708a8e0a jam 0x0a ,0x8a8e 
-0362 6fe0c099 fetch 1 ,mem_fcomp_div 
-0363 c0080378 beq xtal_16m ,p_set_lemode_2m_16m 
-0364 58005762 setarg 0x5762 
-0365 67f10907 store 2 ,0x8907 
+036d 708a8211 jam 0x11 ,0x8a82 
+036e 708a8d12 jam 0x12 ,0x8a8d 
+036f 708a8e0a jam 0x0a ,0x8a8e 
+0370 6fe0c099 fetch 1 ,mem_fcomp_div 
+0371 c0080386 beq xtal_16m ,p_set_lemode_2m_16m 
+0372 58005762 setarg 0x5762 
+0373 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-0366 70890103 jam 3 ,0x8901 
-0367 70893003 jam 3 ,0x8930 
-0368 c6168000 rtnmark1 mark_ble_2m 
-0369 70890101 jam 1 ,0x8901 
-036a 708a8207 jam 0x07 ,0x8a82 
-036b 708a8d44 jam 0x44 ,0x8a8d 
-036c 708a8e0a jam 0x0a ,0x8a8e 
-036d 6fe0c099 fetch 1 ,mem_fcomp_div 
-036e c0080375 beq xtal_16m ,p_set_lemode_1m_16m 
-036f 58002bb1 setarg 0x2bb1 
-0370 67f10907 store 2 ,0x8907 
+0374 70890103 jam 3 ,0x8901 
+0375 70893003 jam 3 ,0x8930 
+0376 c6168000 rtnmark1 mark_ble_2m 
+0377 70890101 jam 1 ,0x8901 
+0378 708a8207 jam 0x07 ,0x8a82 
+0379 708a8d44 jam 0x44 ,0x8a8d 
+037a 708a8e0a jam 0x0a ,0x8a8e 
+037b 6fe0c099 fetch 1 ,mem_fcomp_div 
+037c c0080383 beq xtal_16m ,p_set_lemode_1m_16m 
+037d 58002bb1 setarg 0x2bb1 
+037e 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-0371 c6978000 rtnmark0 mark_ble_lr 
-0372 70893024 jam 0x24 ,0x8930 
-0373 70890105 jam 5 ,0x8901 
-0374 20600000 rtn 
+037f c6978000 rtnmark0 mark_ble_lr 
+0380 70893024 jam 0x24 ,0x8930 
+0381 70890105 jam 5 ,0x8901 
+0382 20600000 rtn 
 
 p_set_lemode_1m_16m:
-0375 58004189 setarg 0x4189 
-0376 67f10907 store 2 ,0x8907 
-0377 20200371 branch p_set_lemode_1m 
+0383 58004189 setarg 0x4189 
+0384 67f10907 store 2 ,0x8907 
+0385 2020037f branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-0378 58008312 setarg 0x8312 
-0379 67f10907 store 2 ,0x8907 
-037a 20200366 branch p_set_lemode_2m 
+0386 58008312 setarg 0x8312 
+0387 67f10907 store 2 ,0x8907 
+0388 20200374 branch p_set_lemode_2m 
 
 p_le_parse:
-037b 6fe0c334 fetch 1 ,mem_le_packet_llid 
-037c c1000000 rtneq llid_reserved 
-037d c001b04a beq llid_le_ll ,le_parse_ll 
-037e 202028e1 branch le_parse_l2cap 
+0389 6fe0c334 fetch 1 ,mem_le_packet_llid 
+038a c1000000 rtneq llid_reserved 
+038b c001b04a beq llid_le_ll ,le_parse_ll 
+038c 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-037f 793f8030 set0 mark_ble_crc_fail ,mark 
-0380 20202af6 branch le_init_adv + 1 
+038d 793f8030 set0 mark_ble_crc_fail ,mark 
+038e 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-0381 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0382 c0553329 beq datatype_bind ,g24_bind_first_step 
-0383 c02ab33a beq datatype_config ,g24_bind_second_step 
-0384 c0110387 beq datatype_ok ,p_g24_bind_third_step 
-0385 c07fb59b beq datatype_attemp ,g24_data_attemp 
-0386 20600000 rtn 
+038f 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0390 c0553329 beq datatype_bind ,g24_bind_first_step 
+0391 c02ab33a beq datatype_config ,g24_bind_second_step 
+0392 c0110395 beq datatype_ok ,p_g24_bind_third_step 
+0393 c07fb59b beq datatype_attemp ,g24_data_attemp 
+0394 20600000 rtn 
 
 p_g24_bind_third_step:
-0387 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-0388 203a038d branch p_g24_bind_third_step_skip ,blank 
-0389 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-038a 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-038b 98467c00 isub temp ,null 
-038c 24628000 nrtn zero 
+0395 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0396 203a039b branch p_g24_bind_third_step_skip ,blank 
+0397 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+0398 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+0399 98467c00 isub temp ,null 
+039a 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-038d 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-038e c0008391 beq datatype_device1 ,p_g24_bind_third_step_device1 
-038f c0010399 beq datatype_device2 ,p_g24_bind_third_step_device2 
-0390 20600000 rtn 
+039b 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+039c c000839f beq datatype_device1 ,p_g24_bind_third_step_device1 
+039d c00103a7 beq datatype_device2 ,p_g24_bind_third_step_device2 
+039e 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-0391 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0392 247a0000 nrtn blank 
-0393 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0394 c0010396 beq 2 ,p_g24_bind_dvc1_step_success 
-0395 20600000 rtn 
+039f 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03a0 247a0000 nrtn blank 
+03a1 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03a2 c00103a4 beq 2 ,p_g24_bind_dvc1_step_success 
+03a3 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-0396 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-0397 2040338d call g24_binding_dvc1_living 
-0398 2020336b branch g24_bind_dvc1_step_success + 1 
+03a4 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03a5 2040338d call g24_binding_dvc1_living 
+03a6 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0399 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-039a 247a0000 nrtn blank 
-039b 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-039c c080039e bne 0 ,p_g24_bind_dvc2_step_success 
-039d 20600000 rtn 
+03a7 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+03a8 247a0000 nrtn blank 
+03a9 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03aa c08003ac bne 0 ,p_g24_bind_dvc2_step_success 
+03ab 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-039e 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-039f 20403393 call g24_binding_dvc2_living 
-03a0 20203378 branch g24_bind_dvc2_step_success + 1 
+03ac 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+03ad 20403393 call g24_binding_dvc2_living 
+03ae 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-03a1 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03a2 c1000000 rtneq dongle_work 
-03a3 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-03a4 247a0000 nrtn blank 
-03a5 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-03a6 247a0000 nrtn blank 
-03a7 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-03a8 207a0000 rtn blank 
-03a9 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03aa c1800000 rtnne 0 
-03ab 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03ac c1800000 rtnne 0 
-03ad 20203436 branch g24_mode_switch_bind_search + 9 
+03af 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03b0 c1000000 rtneq dongle_work 
+03b1 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+03b2 247a0000 nrtn blank 
+03b3 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+03b4 247a0000 nrtn blank 
+03b5 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+03b6 207a0000 rtn blank 
+03b7 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03b8 c1800000 rtnne 0 
+03b9 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03ba c1800000 rtnne 0 
+03bb 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-03ae 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03af c1808000 rtnne dongle_bind 
-03b0 204003b2 call p_g24_bind_init 
-03b1 2020346d branch g24_bind_mode_auto + 4 
+03bc 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03bd c1808000 rtnne dongle_bind 
+03be 204003c0 call p_g24_bind_init 
+03bf 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-03b2 6fe0c615 fetch 1 ,mem_24g_mode_init 
-03b3 c3808000 rtnbit1 dongle_bind 
-03b4 79207e01 set1 dongle_bind ,pdata 
-03b5 67e0c615 store 1 ,mem_24g_mode_init 
-03b6 58000000 setarg 0 
-03b7 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-03b8 20203307 branch g24_bind_init + 8 
+03c0 6fe0c615 fetch 1 ,mem_24g_mode_init 
+03c1 c3808000 rtnbit1 dongle_bind 
+03c2 79207e01 set1 dongle_bind ,pdata 
+03c3 67e0c615 store 1 ,mem_24g_mode_init 
+03c4 58000000 setarg 0 
+03c5 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+03c6 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-03b9 204003c6 call p_wdt_kick 
-03ba 204003c8 call p_g24_100ms_timer_event 
-03bb 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-03bc 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-03bd 20407906 call usb_isr 
-03be 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-03bf 207a0000 rtn blank 
-03c0 7008f700 jam 0 ,mem_usb0_get_set_report 
-03c1 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-03c2 d84003a2 arg pc_set_report_protocol ,temp 
-03c3 98467c00 isub temp ,null 
-03c4 24628000 nrtn zero 
-03c5 20200189 branch p_dongle_usb_data_received_analysis 
+03c7 204003d4 call p_wdt_kick 
+03c8 204003d6 call p_g24_100ms_timer_event 
+03c9 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+03ca 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+03cb 20407906 call usb_isr 
+03cc 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+03cd 207a0000 rtn blank 
+03ce 7008f700 jam 0 ,mem_usb0_get_set_report 
+03cf 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+03d0 d84003a2 arg pc_set_report_protocol ,temp 
+03d1 98467c00 isub temp ,null 
+03d2 24628000 nrtn zero 
+03d3 2020018b branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-03c6 58000010 setarg 16 
-03c7 202070c8 branch wdt_init_config 
+03d4 58000010 setarg 16 
+03d5 202070c8 branch wdt_init_config 
 
 p_g24_100ms_timer_event:
-03c8 d8e00006 arg usb_timer_100ms ,queue 
-03c9 20407cef call timer_check 
-03ca 247a0000 nrtn blank 
-03cb 204003d0 call p_g24_http_over_pack_check 
-03cc 204003d3 call p_g24_dongle_disconnect_state_check 
+03d6 d8e00006 arg usb_timer_100ms ,queue 
+03d7 20407cef call timer_check 
+03d8 247a0000 nrtn blank 
+03d9 204003de call p_g24_http_over_pack_check 
+03da 204003e1 call p_g24_dongle_disconnect_state_check 
 
 p_g24_100ms_timer_init:
-03cd d8e00006 arg usb_timer_100ms ,queue 
-03ce 58000028 setarg 40 
-03cf 20207ce1 branch timer_init 
+03db d8e00006 arg usb_timer_100ms ,queue 
+03dc 58000028 setarg 40 
+03dd 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-03d0 6fe0c8a4 fetch 1 ,mem_usb_website_step 
-03d1 207a0000 rtn blank 
-03d2 2020021d branch p_dongle_usb_tx_http_data 
+03de 6fe0c8a4 fetch 1 ,mem_usb_website_step 
+03df 207a0000 rtn blank 
+03e0 20200226 branch p_dongle_usb_tx_http_data 
 
 p_g24_dongle_disconnect_state_check:
-03d3 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-03d4 c4000000 rtnbit0 0 
-03d5 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03d6 c1800000 rtnne dongle_work 
-03d7 6fe1480d fetch 2 ,mem_dongle_no_data_count 
-03d8 1fe0fe01 increase 1 ,pdata 
-03d9 67e1480d store 2 ,mem_dongle_no_data_count 
-03da d84004b0 arg 0x4b0 ,temp 
-03db 98467c00 isub temp ,null 
-03dc 24610000 nrtn positive 
-03dd 58000000 setarg 0 
-03de 67e1480d store 2 ,mem_dongle_no_data_count 
-03df 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
-03e0 207a0000 rtn blank 
-03e1 70480b00 jam 0 ,mem_dongle_connect_mouse_flag 
-03e2 20600000 rtn 
+03e1 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+03e2 c4000000 rtnbit0 0 
+03e3 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03e4 c1800000 rtnne dongle_work 
+03e5 6fe1480d fetch 2 ,mem_dongle_no_data_count 
+03e6 1fe0fe01 increase 1 ,pdata 
+03e7 67e1480d store 2 ,mem_dongle_no_data_count 
+03e8 d84004b0 arg 0x4b0 ,temp 
+03e9 98467c00 isub temp ,null 
+03ea 24610000 nrtn positive 
+03eb 58000000 setarg 0 
+03ec 67e1480d store 2 ,mem_dongle_no_data_count 
+03ed 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
+03ee 207a0000 rtn blank 
+03ef 70480b00 jam 0 ,mem_dongle_connect_mouse_flag 
+03f0 20600000 rtn 
 
 p_dongle_default_init:
-03e3 204047c3 call dongle_default_init + 1 
-03e4 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-03e5 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-03e6 20403281 call g24_enable_1m 
-03e7 6fe0c669 fetch 1 ,mem_dg_sys_config 
-03e8 c4000000 rtnbit0 dg_enable_new_revision 
-03e9 7045ca01 jam on ,mem_24g_disable_fec1 
-03ea 20203284 branch g24_enable_2m 
+03f1 204047c3 call dongle_default_init + 1 
+03f2 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+03f3 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+03f4 20403281 call g24_enable_1m 
+03f5 6fe0c669 fetch 1 ,mem_dg_sys_config 
+03f6 c4000000 rtnbit0 dg_enable_new_revision 
+03f7 7045ca01 jam on ,mem_24g_disable_fec1 
+03f8 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-03eb 6fe0c669 fetch 1 ,mem_dg_sys_config 
-03ec c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-03ed 7837fc00 enable user3 
-03ee 20000018 nop 24 
-03ef 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-03f0 79207e00 set1 bit_ack_24g ,pdata 
-03f1 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-03f2 204033a5 call g24_ackpayload_prep 
-03f3 204031e5 call g24_transmit_prep 
-03f4 20203195 branch g24_transmit 
+03f9 6fe0c669 fetch 1 ,mem_dg_sys_config 
+03fa c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+03fb 7837fc00 enable user3 
+03fc 20000018 nop 24 
+03fd 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+03fe 79207e00 set1 bit_ack_24g ,pdata 
+03ff 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0400 204033a5 call g24_ackpayload_prep 
+0401 204031e5 call g24_transmit_prep 
+0402 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(revision 3727)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(working copy)
@@ -429,7 +429,9 @@
 	jam USB_EP2_DEVICE_INFO,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
-p_dongle_usb_hci_cmd_get_dpi:	//02 02 01 +dpi
+p_dongle_usb_hci_cmd_get_dpi:	//02 02 01 +dpi +00/01
+	jam 0x01,mem_dongle_usb_ep2_data+6	//01->get report, 00 ->in
+p_dongle_usb_tx_ep2_dpi_data:	
 	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
@@ -452,6 +454,8 @@
 	branch p_dongle_usb_tx_enable_ep2
 
 p_dongle_usb_hci_cmd_get_battery:
+	jam 0x01,mem_dongle_usb_ep2_data+6	//01->get report, 00 ->in
+p_dongle_usb_tx_ep2_battery_data:
 	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
@@ -695,7 +699,16 @@
 	store 1,mem_setreport_count
 	rtn
 
+p_usb_tx_ep2_queue_buff_check:
+	arg mem_usb_ep2_fifo,rega
+	call fifo_is_empty
+	rtn blank
+	branch dongle_usb_tx_enable_ep2
+
 p_usb_tx:
+	call p_usb_tx_ep2_queue_buff_check
+	fetch 1,mem_usb_tx_enable
+	rtn blank
 	fetch 1,core_usb_txbusy
 	and_into 0x0f,pdata
 	nbranch usb_inwake_state_tx_dispose,blank
@@ -783,7 +796,7 @@
 p_dongle_receive_dpi_data:	//rsp=len+a1+02 02 01 +dpi level
 	fetch 1,mem_24g_rxdata_temp+3
 	store 1,mem_usb_get_report_dpi_data
-	branch p_dongle_usb_hci_cmd_get_dpi
+	branch p_dongle_usb_tx_ep2_dpi_data
 
 p_dongle_receive_device_info_data:	//len+6byte mac+1byte dpi+1bye battery +2byte version
 	fetch 1,mem_24g_rxdata_length
@@ -796,7 +809,7 @@
 p_dongle_receive_battery_data:		//1byte battery
 	fetch 1,mem_24g_rxdata_temp+3
 	store 1,mem_usb_get_report_battery_data
-	rtn
+	branch p_dongle_usb_tx_ep2_battery_data
 	
 p_dongle_usb_tx_enable_ep2:
 	fetch 1,mem_usb_device_enumeration_endflag
@@ -990,6 +1003,11 @@
 	fetch 1,core_usb_txbusy
 	and_into 0x0f,pdata
 	nrtn blank
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 2
+	fetch 1,mem_usb_tx_enable
+	set0 2,pdata
+	store 1,mem_usb_tx_enable
 	arg mem_usb_ep2_fifo,rega
 	call fifo_out
 	rtn blank
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(revision 3703)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(working copy)
@@ -141,7 +141,7 @@
 81 02 
 C0
 
-mem_dongle_version:01 00
+mem_dongle_version:02 00
 
 mem_usb_win_cmd:08 00 15 	#win+r
 mem_usb_mac_cmd:08 00 2c 	#command+space
