Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(revision 3908)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(working copy)
@@ -42,10 +42,11 @@
 64 mem_dongle_g24_ack_data	//no use
 220 mem_usb_ep2_config
 6 mem_usb_get_report_sn_data
-1 mem_usb_get_report_dpi_data
+2 mem_usb_get_report_dpi_data
 1 mem_usb_get_report_battery_data
 2 mem_usb_get_report_mouse_version_data
 2 mem_dongle_version
+1 mem_dongle_app_data
 1 mem_dongle_connect_mouse_flag
 2 mem_dongle_no_data_count
 
@@ -53,6 +54,9 @@
 65 mem_dongle_usb_ep2_data
 65 mem_usb_dpi_info_data
 65 mem_usb_battery_info_data
+65 mem_usb_key_info_data
+8 mem_mouse_usb_data_sta
+8 mem_mouse_usb_data_last
 8 mem_usb_ep2_fifo
 1 mem_dongle_freq_hop_flag
 //http
@@ -69,6 +73,13 @@
 )
 
 (
+0x55 RELEASE
+0xaa PRESS
+0xff LONG_PRESS
+0xee LONG_RELEASE
+)
+
+(
 0 KEY_RELEASE
 1 WEBSITE_WIN
 2 WEBSITE_R_SPACE_RELEASE
Index: format/usb.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/usb.format	(revision 3936)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/usb.format	(working copy)
@@ -197,6 +197,7 @@
 0x26 USB_EP2_SN
 0x27 USB_EP2_MSKB_STATE
 0x29 USB_EP2_APP
+0x30 USB_EP2_KEY
 0x01 MAC_BOOT_MODE
 0x02 R_KEY
 0x03 LR_KEY
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(revision 3936)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-1e
+d6
 10
 c2
 84
@@ -23,7 +23,7 @@
 c0
 0a
 03
-71
+9f
 c0
 0a
 80
@@ -42,8 +42,8 @@
 3d
 c0
 1b
-83
-f5
+84
+23
 c0
 1c
 00
@@ -55,7 +55,7 @@
 c0
 1e
 83
-cb
+f9
 c0
 62
 80
@@ -63,11 +63,11 @@
 c0
 6d
 03
-42
+70
 c0
 6e
 03
-52
+80
 c0
 7f
 00
@@ -75,7 +75,7 @@
 c0
 7f
 81
-5c
+63
 c0
 7e
 80
@@ -87,43 +87,43 @@
 c0
 00
 01
-80
+87
 c0
 01
 01
-bf
+c6
 c0
 03
 01
-e3
+ea
 c0
 1c
 83
-8d
+bb
 c0
 26
 83
-91
+bf
 c0
 37
-83
-fd
+84
+2b
 c0
 41
 03
-93
+c1
 c0
 42
-01
-fc
+02
+03
 c0
 44
 03
-b3
+e1
 c0
 45
 03
-c0
+ee
 c1
 7f
 80
@@ -359,11 +359,11 @@
 20
 40
 03
-14
+42
 20
 40
 03
-3f
+6d
 20
 40
 00
@@ -379,7 +379,7 @@
 20
 20
 03
-41
+6f
 20
 75
 80
@@ -927,7 +927,7 @@
 58
 00
 02
-10
+18
 67
 e1
 45
@@ -1091,7 +1091,7 @@
 20
 3a
 01
-54
+5b
 6f
 e0
 c6
@@ -1115,30 +1115,30 @@
 c0
 03
 81
-48
+4f
 20
 60
 00
 00
 70
 48
-4f
+51
 40
 70
 48
-50
+52
 a1
 70
 48
-51
+53
 02
 70
 48
-52
+54
 01
 70
 48
-53
+55
 0b
 6f
 e3
@@ -1147,23 +1147,23 @@
 67
 e3
 48
-54
+56
 6f
 e1
 48
-07
+08
 67
 e1
 48
-5a
+5c
 6f
 e1
 48
-09
+0a
 67
 e1
 48
-5c
+5e
 70
 09
 0c
@@ -1171,30 +1171,30 @@
 20
 20
 02
-4d
+73
 70
 48
-96
+98
 01
 70
 48
-90
+92
 40
 70
 48
-91
+93
 a1
 70
 48
-92
+94
 02
 70
 48
-93
+95
 02
 70
 48
-94
+96
 01
 6f
 e0
@@ -1203,7 +1203,7 @@
 67
 e0
 c8
-95
+97
 70
 09
 0c
@@ -1211,26 +1211,26 @@
 20
 20
 02
-4d
+73
 70
 48
-4f
+51
 40
 70
 48
-50
+52
 a1
 70
 48
-51
+53
 02
 70
 48
-52
+54
 03
 70
 48
-53
+55
 06
 6f
 e3
@@ -1239,7 +1239,7 @@
 67
 e3
 48
-54
+56
 70
 09
 0c
@@ -1247,39 +1247,39 @@
 20
 20
 02
-4d
+73
 70
 48
-d7
+d9
 01
 70
 48
-d1
+d3
 40
 70
 48
-d2
+d4
 a1
 70
 48
-d3
+d5
 02
 70
 48
-d4
+d6
 06
 70
 48
-d5
+d7
 01
 6f
 e0
 c8
-06
+07
 67
 e0
 c8
-d6
+d8
 70
 09
 0c
@@ -1287,26 +1287,26 @@
 20
 20
 02
-4d
+73
 70
 48
-4f
+51
 40
 70
 48
-50
+52
 a1
 70
 48
-51
+53
 02
 70
 48
-52
+54
 08
 70
 48
-53
+55
 00
 70
 09
@@ -1315,46 +1315,74 @@
 20
 20
 02
-4d
+73
+70
+49
+14
+40
+70
+49
+15
+a1
+70
+49
+16
+02
+70
+49
+17
+04
+70
+49
+18
+01
+70
+09
+0c
+30
+20
+20
+02
+73
 6f
 e0
 c8
-0b
+0d
 c0
 00
 01
-54
+5b
 c0
 00
 81
-4c
+53
 20
 60
 00
 00
 70
 48
-0e
+10
 40
 70
 48
-0f
+11
 a1
 70
 48
-10
+12
 02
 70
 48
-11
+13
 05
 70
 48
-12
+14
 01
 70
 48
-13
+15
 01
 70
 09
@@ -1363,30 +1391,30 @@
 20
 20
 02
-4d
+73
 70
 48
-0e
+10
 40
 70
 48
-0f
+11
 a1
 70
 48
-10
+12
 02
 70
 48
-11
+13
 05
 70
 48
-12
+14
 01
 70
 48
-13
+15
 00
 70
 09
@@ -1395,7 +1423,7 @@
 20
 20
 02
-4d
+73
 6f
 e0
 87
@@ -1427,7 +1455,7 @@
 c0
 00
 81
-70
+77
 d8
 a0
 08
@@ -1439,7 +1467,7 @@
 20
 20
 01
-67
+6e
 6f
 e0
 87
@@ -1463,7 +1491,7 @@
 20
 20
 01
-80
+87
 6f
 e0
 88
@@ -1495,7 +1523,7 @@
 c0
 00
 81
-7a
+81
 70
 08
 f7
@@ -1559,7 +1587,7 @@
 c0
 00
 01
-86
+8d
 20
 20
 23
@@ -1583,11 +1611,11 @@
 c0
 00
 01
-8e
+95
 c0
 00
 81
-c9
+d0
 c0
 01
 79
@@ -1603,7 +1631,7 @@
 c0
 00
 81
-96
+9d
 c0
 01
 fa
@@ -1619,7 +1647,7 @@
 c0
 05
 81
-b0
+b7
 c0
 03
 f9
@@ -1675,7 +1703,7 @@
 c0
 00
 01
-a5
+ac
 c0
 00
 fa
@@ -1803,7 +1831,7 @@
 c0
 01
 01
-c6
+cd
 c0
 01
 fa
@@ -1843,7 +1871,7 @@
 c0
 04
 81
-ce
+d5
 c0
 05
 fb
@@ -1871,7 +1899,7 @@
 20
 34
 01
-db
+e2
 6f
 f1
 0c
@@ -1923,7 +1951,7 @@
 da
 20
 49
-12
+65
 20
 40
 7d
@@ -1939,7 +1967,7 @@
 20
 40
 01
-df
+e6
 6f
 e0
 89
@@ -1991,19 +2019,19 @@
 20
 40
 02
-56
+7c
 6f
 e0
 c9
-25
+78
 24
 5a
 01
-f4
+fb
 20
 20
-02
-df
+03
+05
 70
 09
 14
@@ -2023,14 +2051,14 @@
 6f
 e0
 c8
-0b
+0d
 24
 7a
 00
 00
 70
 48
-0b
+0d
 01
 20
 60
@@ -2039,7 +2067,7 @@
 20
 40
 01
-f6
+fd
 58
 00
 00
@@ -2047,7 +2075,7 @@
 67
 e1
 48
-0c
+0e
 6f
 e0
 c5
@@ -2067,15 +2095,19 @@
 c2
 82
 02
-07
+0f
+c2
+81
+b3
+c4
 c2
 82
 82
-07
+0f
 c2
 83
 02
-07
+0f
 20
 20
 33
@@ -2123,27 +2155,27 @@
 c2
 82
 02
-0c
+14
 c2
 81
-81
-41
+82
+46
 c2
 82
 82
-33
+4e
 c2
 83
 02
-39
+5f
 c2
 83
 82
-47
+6d
 20
 20
 02
-17
+1f
 6f
 e0
 c5
@@ -2155,11 +2187,11 @@
 20
 22
 82
-29
+31
 20
 40
 02
-29
+31
 6f
 e0
 c5
@@ -2195,23 +2227,23 @@
 c2
 82
 02
-0c
+14
 c2
 81
-81
-41
+82
+46
 c2
 82
 82
-33
+4e
 c2
 83
 02
-39
+5f
 c2
 83
 82
-47
+6d
 20
 60
 00
@@ -2248,14 +2280,58 @@
 5a
 48
 e1
+6f
+e4
+09
+13
+67
+e4
+49
+55
+68
+4c
+49
+5d
+98
+46
+7c
+00
+24
+42
+82
+41
+6f
+e4
+49
+55
+67
+e4
+49
+5d
+20
+60
+00
+00
 70
 09
 0c
 20
 20
-20
+40
 02
-4d
+73
+6f
+e0
+89
+14
+67
+e0
+c9
+19
+20
+20
+01
+48
 6f
 e0
 c5
@@ -2263,7 +2339,7 @@
 68
 48
 c8
-05
+0c
 98
 46
 7c
@@ -2275,12 +2351,88 @@
 67
 e0
 c8
+0c
+6f
+e0
+c8
+0c
+c1
+ff
+80
+00
+20
+20
+01
+41
+6f
+e1
+45
+eb
+68
+49
+48
 05
+98
+46
+7c
+00
 20
+62
+80
+00
+67
+e1
+48
+05
 20
+40
 01
 25
 6f
+e0
+c8
+05
+c0
+2a
+82
+58
+c0
+55
+02
+5b
+20
+60
+00
+00
+6f
+e0
+c9
+19
+79
+3f
+fe
+05
+20
+20
+02
+5d
+6f
+e0
+c9
+19
+79
+20
+7e
+05
+67
+e0
+c9
+19
+20
+20
+01
+48
+6f
 20
 c5
 7d
@@ -2315,27 +2467,27 @@
 6f
 e1
 45
-f3
+f4
 67
 e1
 48
-07
+08
 6f
-e0
-c5
+e1
+45
 f1
 20
 40
 02
-34
+4f
 6f
 e0
 c5
-f2
+f3
 20
 20
 02
-48
+6e
 6f
 e0
 c5
@@ -2343,7 +2495,7 @@
 68
 48
 c8
-06
+07
 98
 46
 7c
@@ -2355,7 +2507,7 @@
 67
 e0
 c8
-06
+07
 20
 20
 01
@@ -2371,7 +2523,7 @@
 da
 20
 49
-12
+65
 20
 40
 7d
@@ -2391,7 +2543,7 @@
 da
 20
 49
-12
+65
 20
 20
 7d
@@ -2443,7 +2595,7 @@
 c0
 08
 82
-63
+89
 20
 20
 23
@@ -2451,54 +2603,54 @@
 6f
 e0
 c9
-25
+78
 c0
 00
 02
-6f
+95
 c0
 00
 82
-71
+97
 c0
 01
 02
-7f
+a5
 c0
 01
 82
-83
+a9
 c0
 02
 02
-93
+b9
 c0
 02
 82
-9a
+c0
 c0
 03
 02
-89
+af
 c0
 03
 82
-8d
+b3
 c0
 04
 02
-8f
+b5
 c0
 04
 82
-91
+b7
 20
 60
 00
 00
 70
 49
-25
+78
 01
 20
 20
@@ -2507,11 +2659,11 @@
 df
 e0
 49
-2b
+7e
 67
 e1
 49
-28
+7b
 6f
 e0
 88
@@ -2519,23 +2671,23 @@
 c0
 00
 02
-77
+9d
 c0
 00
 82
-7b
+a1
 20
 60
 00
 00
 70
 49
-25
+78
 02
 6f
 e1
 c9
-1b
+6e
 67
 e1
 89
@@ -2546,12 +2698,12 @@
 28
 70
 49
-25
+78
 02
 6f
 e1
 c9
-1e
+71
 67
 e1
 89
@@ -2562,12 +2714,12 @@
 28
 70
 49
-25
+78
 03
 6f
 e0
 c9
-1b
+6e
 67
 e0
 89
@@ -2578,7 +2730,7 @@
 28
 70
 49
-25
+78
 04
 d8
 a0
@@ -2594,7 +2746,7 @@
 a3
 70
 49
-27
+7a
 00
 20
 20
@@ -2602,12 +2754,12 @@
 28
 70
 49
-25
+78
 07
 6f
 e1
 c9
-21
+74
 67
 e1
 89
@@ -2618,32 +2770,32 @@
 28
 70
 49
-25
+78
 08
 20
 20
 02
-84
+aa
 70
 49
-25
+78
 09
 20
 20
 02
-8a
+b0
 70
 49
-25
+78
 00
 20
 20
 02
-84
+aa
 6f
 e0
 c9
-24
+77
 1f
 e0
 fe
@@ -2651,18 +2803,18 @@
 67
 e0
 c9
-24
+77
 c1
 87
 80
 00
 70
 49
-24
+77
 00
 70
 49
-25
+78
 05
 20
 60
@@ -2671,22 +2823,22 @@
 6f
 e0
 c9
-27
+7a
 c0
 00
 82
-84
+aa
 c0
 00
 02
-a0
+c6
 20
 60
 00
 00
 70
 49
-25
+78
 06
 20
 60
@@ -2695,11 +2847,11 @@
 d8
 40
 49
-2b
+7e
 6f
 e0
 c9
-2a
+7d
 98
 40
 84
@@ -2707,7 +2859,7 @@
 6f
 e1
 49
-28
+7b
 98
 46
 7c
@@ -2715,19 +2867,19 @@
 20
 22
 82
-9e
+c4
 20
 40
 02
-b0
+d6
 20
 40
 02
-d2
+f8
 6f
 e0
 c9
-26
+79
 67
 e0
 89
@@ -2739,7 +2891,7 @@
 6f
 e1
 49
-28
+7b
 1f
 e0
 fe
@@ -2747,10 +2899,10 @@
 67
 e1
 49
-28
+7b
 70
 49
-27
+7a
 01
 20
 20
@@ -2759,7 +2911,7 @@
 68
 49
 49
-28
+7b
 ef
 e0
 80
@@ -2771,7 +2923,7 @@
 24
 21
 02
-b7
+dd
 da
 40
 00
@@ -2783,7 +2935,7 @@
 20
 21
 02
-ce
+f4
 ef
 e0
 80
@@ -2795,7 +2947,7 @@
 24
 21
 02
-bd
+e3
 da
 40
 00
@@ -2807,7 +2959,7 @@
 20
 21
 02
-d0
+f6
 1f
 e6
 7c
@@ -2815,7 +2967,7 @@
 20
 22
 82
-c6
+ec
 1f
 e6
 7c
@@ -2823,7 +2975,7 @@
 20
 22
 82
-c8
+ee
 1f
 e6
 7c
@@ -2831,7 +2983,7 @@
 20
 22
 82
-ca
+f0
 1f
 e6
 7c
@@ -2839,7 +2991,7 @@
 20
 22
 82
-cc
+f2
 20
 60
 00
@@ -2894,12 +3046,12 @@
 00
 70
 49
-26
+79
 00
 6f
 e1
 49
-28
+7b
 ef
 e0
 80
@@ -2907,11 +3059,11 @@
 d8
 c0
 49
-53
+a6
 68
 48
 c9
-52
+a5
 18
 42
 72
@@ -2926,19 +3078,19 @@
 00
 20
 22
-82
-dd
+83
+03
 c2
 00
 02
-d8
+fe
 20
 60
 00
 00
 70
 49
-26
+79
 02
 20
 60
@@ -2947,7 +3099,7 @@
 da
 20
 49
-12
+65
 20
 40
 7d
@@ -2991,7 +3143,7 @@
 da
 20
 49
-12
+65
 20
 40
 7d
@@ -3007,23 +3159,27 @@
 c0
 12
 03
-06
+2d
 c0
 13
-02
-fe
+03
+25
+c0
+14
+83
+25
 c0
 11
-82
-fe
+83
+25
 c0
-14
-82
-fe
+18
+03
+3b
 c0
 12
 83
-0d
+34
 c0
 10
 fc
@@ -3034,8 +3190,8 @@
 2c
 c0
 13
-82
-f7
+83
+1e
 20
 20
 23
@@ -3043,7 +3199,7 @@
 6f
 e0
 c8
-0e
+10
 20
 7a
 00
@@ -3055,7 +3211,7 @@
 d8
 c0
 48
-0f
+11
 20
 40
 7b
@@ -3063,15 +3219,15 @@
 d8
 a0
 48
-0e
+10
 20
 20
 03
-04
+2b
 6f
 e0
 c8
-4f
+51
 20
 7a
 00
@@ -3083,7 +3239,7 @@
 d8
 c0
 48
-50
+52
 20
 40
 7b
@@ -3091,7 +3247,7 @@
 d8
 a0
 48
-4f
+51
 df
 20
 00
@@ -3103,7 +3259,7 @@
 6f
 e0
 c8
-90
+92
 20
 7a
 00
@@ -3115,7 +3271,7 @@
 d8
 c0
 48
-91
+93
 20
 40
 7b
@@ -3123,15 +3279,15 @@
 d8
 a0
 48
-90
+92
 20
 20
 03
-04
+2b
 6f
 e0
 c8
-d1
+d3
 20
 7a
 00
@@ -3143,7 +3299,7 @@
 d8
 c0
 48
-d2
+d4
 20
 40
 7b
@@ -3151,11 +3307,39 @@
 d8
 a0
 48
-d1
+d3
 20
 20
 03
-04
+2b
+6f
+e0
+c9
+14
+20
+7a
+00
+00
+1f
+e2
+72
+00
+d8
+c0
+49
+15
+20
+40
+7b
+db
+d8
+a0
+49
+14
+20
+20
+03
+2b
 20
 75
 80
@@ -3207,7 +3391,7 @@
 20
 40
 03
-31
+5f
 2a
 2f
 fe
@@ -3239,7 +3423,7 @@
 20
 40
 03
-31
+5f
 d8
 a0
 8a
@@ -3267,7 +3451,7 @@
 20
 21
 03
-26
+54
 20
 20
 21
@@ -3371,7 +3555,7 @@
 20
 40
 03
-6a
+98
 70
 8a
 08
@@ -3407,7 +3591,7 @@
 20
 40
 03
-60
+8e
 6f
 f0
 8a
@@ -3451,7 +3635,7 @@
 20
 40
 03
-6a
+98
 70
 80
 cd
@@ -3511,7 +3695,7 @@
 c3
 02
 83
-6b
+99
 68
 59
 01
@@ -3547,7 +3731,7 @@
 c0
 08
 03
-8a
+b8
 58
 00
 57
@@ -3591,7 +3775,7 @@
 c0
 08
 03
-87
+b5
 58
 00
 2b
@@ -3627,7 +3811,7 @@
 20
 20
 03
-83
+b1
 58
 00
 83
@@ -3639,7 +3823,7 @@
 20
 20
 03
-78
+a6
 6f
 e0
 c3
@@ -3679,7 +3863,7 @@
 c0
 11
 03
-99
+c7
 c0
 7f
 b5
@@ -3695,7 +3879,7 @@
 20
 3a
 03
-9f
+cd
 6f
 e2
 45
@@ -3719,11 +3903,11 @@
 c0
 00
 83
-a3
+d1
 c0
 01
 03
-ab
+d9
 20
 60
 00
@@ -3743,7 +3927,7 @@
 c0
 01
 03
-a8
+d6
 20
 60
 00
@@ -3775,7 +3959,7 @@
 c0
 80
 03
-b0
+de
 20
 60
 00
@@ -3855,7 +4039,7 @@
 20
 40
 03
-c4
+f2
 20
 20
 34
@@ -3890,12 +4074,12 @@
 07
 20
 40
-03
-d8
+04
+06
 20
 40
-03
-da
+04
+08
 6f
 e0
 89
@@ -3939,7 +4123,7 @@
 20
 20
 01
-6d
+74
 58
 00
 00
@@ -3962,12 +4146,12 @@
 00
 20
 40
-03
-e2
+04
+10
 20
 40
-03
-e5
+04
+13
 d8
 e0
 00
@@ -3983,7 +4167,7 @@
 6f
 e0
 c9
-25
+78
 20
 7a
 00
@@ -3991,7 +4175,7 @@
 20
 20
 02
-0c
+14
 6f
 e0
 c6
@@ -4003,7 +4187,7 @@
 6f
 e0
 c8
-0b
+0d
 20
 7a
 00
@@ -4011,7 +4195,7 @@
 6f
 e1
 48
-0c
+0e
 1f
 e0
 fe
@@ -4019,7 +4203,7 @@
 67
 e1
 48
-0c
+0e
 d8
 40
 04
@@ -4039,18 +4223,18 @@
 67
 e1
 48
-0c
+0e
 6f
 e0
 c8
-0b
+0d
 20
 7a
 00
 00
 70
 48
-0b
+0d
 00
 20
 60
@@ -4128,8 +4312,8 @@
 20
 31
 95
-40
-94
+6b
+59
 aa
 55
 40
@@ -4567,15 +4751,15 @@
 55
 02
 00
-09
+0a
 48
-04
+05
 00
 aa
 55
 09
 00
-1b
+6e
 49
 08
 00
@@ -4590,9 +4774,9 @@
 55
 11
 00
-28
+7b
 49
-2b
+7e
 49
 0e
 77
@@ -4613,7 +4797,7 @@
 55
 16
 00
-52
+a5
 49
 15
 7e
@@ -4829,10 +5013,10 @@
 aa
 aa
 55
-aa
-95
-f6
+f8
 96
+a0
+57
 ff
 ff
 ff
@@ -8004,189 +8188,5 @@
 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
-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
-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
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-03
-03
+1a
+57
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(revision 3908)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(working copy)
@@ -1496,27 +1496,31 @@
 0x4723 mem_usb_ep2_config
 0x47ff mem_usb_get_report_sn_data
 0x4805 mem_usb_get_report_dpi_data
-0x4806 mem_usb_get_report_battery_data
-0x4807 mem_usb_get_report_mouse_version_data
-0x4809 mem_dongle_version
-0x480b mem_dongle_connect_mouse_flag
-0x480c mem_dongle_no_data_count
-0x480e mem_usb_rf_state_data
-0x484f mem_dongle_usb_ep2_data
-0x4890 mem_usb_dpi_info_data
-0x48d1 mem_usb_battery_info_data
-0x4912 mem_usb_ep2_fifo
-0x491a mem_dongle_freq_hop_flag
-0x491b mem_usb_win_cmd
-0x491e mem_usb_mac_cmd
-0x4921 mem_usb_kb_enter
-0x4924 mem_usb_website_wait_count
-0x4925 mem_usb_website_step
-0x4926 mem_usb_website_shift_flag
-0x4927 mem_usb_website_release_flag
-0x4928 mem_usb_website_ptr
-0x492a mem_usb_website_info
-0x4952 mem_usb_website_info_sign
+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_usb_rf_state_data
+0x4851 mem_dongle_usb_ep2_data
+0x4892 mem_usb_dpi_info_data
+0x48d3 mem_usb_battery_info_data
+0x4914 mem_usb_key_info_data
+0x4955 mem_mouse_usb_data_sta
+0x495d mem_mouse_usb_data_last
+0x4965 mem_usb_ep2_fifo
+0x496d mem_dongle_freq_hop_flag
+0x496e mem_usb_win_cmd
+0x4971 mem_usb_mac_cmd
+0x4974 mem_usb_kb_enter
+0x4977 mem_usb_website_wait_count
+0x4978 mem_usb_website_step
+0x4979 mem_usb_website_shift_flag
+0x497a mem_usb_website_release_flag
+0x497b mem_usb_website_ptr
+0x497d mem_usb_website_info
+0x49a5 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 3936)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-1e
+d6
 10
 c2
 84
@@ -32,7 +32,7 @@
 c0
 0a
 03
-71
+9f
 c0
 0a
 80
@@ -51,8 +51,8 @@
 3d
 c0
 1b
-83
-f5
+84
+23
 c0
 1c
 00
@@ -64,7 +64,7 @@
 c0
 1e
 83
-cb
+f9
 c0
 62
 80
@@ -72,11 +72,11 @@
 c0
 6d
 03
-42
+70
 c0
 6e
 03
-52
+80
 c0
 7f
 00
@@ -84,7 +84,7 @@
 c0
 7f
 81
-5c
+63
 c0
 7e
 80
@@ -96,43 +96,43 @@
 c0
 00
 01
-80
+87
 c0
 01
 01
-bf
+c6
 c0
 03
 01
-e3
+ea
 c0
 1c
 83
-8d
+bb
 c0
 26
 83
-91
+bf
 c0
 37
-83
-fd
+84
+2b
 c0
 41
 03
-93
+c1
 c0
 42
-01
-fc
+02
+03
 c0
 44
 03
-b3
+e1
 c0
 45
 03
-c0
+ee
 c1
 7f
 80
@@ -368,11 +368,11 @@
 20
 40
 03
-14
+42
 20
 40
 03
-3f
+6d
 20
 40
 00
@@ -388,7 +388,7 @@
 20
 20
 03
-41
+6f
 20
 75
 80
@@ -936,7 +936,7 @@
 58
 00
 02
-10
+18
 67
 e1
 45
@@ -1100,7 +1100,7 @@
 20
 3a
 01
-54
+5b
 6f
 e0
 c6
@@ -1124,30 +1124,30 @@
 c0
 03
 81
-48
+4f
 20
 60
 00
 00
 70
 48
-4f
+51
 40
 70
 48
-50
+52
 a1
 70
 48
-51
+53
 02
 70
 48
-52
+54
 01
 70
 48
-53
+55
 0b
 6f
 e3
@@ -1156,23 +1156,23 @@
 67
 e3
 48
-54
+56
 6f
 e1
 48
-07
+08
 67
 e1
 48
-5a
+5c
 6f
 e1
 48
-09
+0a
 67
 e1
 48
-5c
+5e
 70
 09
 0c
@@ -1180,30 +1180,30 @@
 20
 20
 02
-4d
+73
 70
 48
-96
+98
 01
 70
 48
-90
+92
 40
 70
 48
-91
+93
 a1
 70
 48
-92
+94
 02
 70
 48
-93
+95
 02
 70
 48
-94
+96
 01
 6f
 e0
@@ -1212,7 +1212,7 @@
 67
 e0
 c8
-95
+97
 70
 09
 0c
@@ -1220,26 +1220,26 @@
 20
 20
 02
-4d
+73
 70
 48
-4f
+51
 40
 70
 48
-50
+52
 a1
 70
 48
-51
+53
 02
 70
 48
-52
+54
 03
 70
 48
-53
+55
 06
 6f
 e3
@@ -1248,7 +1248,7 @@
 67
 e3
 48
-54
+56
 70
 09
 0c
@@ -1256,39 +1256,39 @@
 20
 20
 02
-4d
+73
 70
 48
-d7
+d9
 01
 70
 48
-d1
+d3
 40
 70
 48
-d2
+d4
 a1
 70
 48
-d3
+d5
 02
 70
 48
-d4
+d6
 06
 70
 48
-d5
+d7
 01
 6f
 e0
 c8
-06
+07
 67
 e0
 c8
-d6
+d8
 70
 09
 0c
@@ -1296,26 +1296,26 @@
 20
 20
 02
-4d
+73
 70
 48
-4f
+51
 40
 70
 48
-50
+52
 a1
 70
 48
-51
+53
 02
 70
 48
-52
+54
 08
 70
 48
-53
+55
 00
 70
 09
@@ -1324,46 +1324,74 @@
 20
 20
 02
-4d
+73
+70
+49
+14
+40
+70
+49
+15
+a1
+70
+49
+16
+02
+70
+49
+17
+04
+70
+49
+18
+01
+70
+09
+0c
+30
+20
+20
+02
+73
 6f
 e0
 c8
-0b
+0d
 c0
 00
 01
-54
+5b
 c0
 00
 81
-4c
+53
 20
 60
 00
 00
 70
 48
-0e
+10
 40
 70
 48
-0f
+11
 a1
 70
 48
-10
+12
 02
 70
 48
-11
+13
 05
 70
 48
-12
+14
 01
 70
 48
-13
+15
 01
 70
 09
@@ -1372,30 +1400,30 @@
 20
 20
 02
-4d
+73
 70
 48
-0e
+10
 40
 70
 48
-0f
+11
 a1
 70
 48
-10
+12
 02
 70
 48
-11
+13
 05
 70
 48
-12
+14
 01
 70
 48
-13
+15
 00
 70
 09
@@ -1404,7 +1432,7 @@
 20
 20
 02
-4d
+73
 6f
 e0
 87
@@ -1436,7 +1464,7 @@
 c0
 00
 81
-70
+77
 d8
 a0
 08
@@ -1448,7 +1476,7 @@
 20
 20
 01
-67
+6e
 6f
 e0
 87
@@ -1472,7 +1500,7 @@
 20
 20
 01
-80
+87
 6f
 e0
 88
@@ -1504,7 +1532,7 @@
 c0
 00
 81
-7a
+81
 70
 08
 f7
@@ -1568,7 +1596,7 @@
 c0
 00
 01
-86
+8d
 20
 20
 23
@@ -1592,11 +1620,11 @@
 c0
 00
 01
-8e
+95
 c0
 00
 81
-c9
+d0
 c0
 01
 79
@@ -1612,7 +1640,7 @@
 c0
 00
 81
-96
+9d
 c0
 01
 fa
@@ -1628,7 +1656,7 @@
 c0
 05
 81
-b0
+b7
 c0
 03
 f9
@@ -1684,7 +1712,7 @@
 c0
 00
 01
-a5
+ac
 c0
 00
 fa
@@ -1812,7 +1840,7 @@
 c0
 01
 01
-c6
+cd
 c0
 01
 fa
@@ -1852,7 +1880,7 @@
 c0
 04
 81
-ce
+d5
 c0
 05
 fb
@@ -1880,7 +1908,7 @@
 20
 34
 01
-db
+e2
 6f
 f1
 0c
@@ -1932,7 +1960,7 @@
 da
 20
 49
-12
+65
 20
 40
 7d
@@ -1948,7 +1976,7 @@
 20
 40
 01
-df
+e6
 6f
 e0
 89
@@ -2000,19 +2028,19 @@
 20
 40
 02
-56
+7c
 6f
 e0
 c9
-25
+78
 24
 5a
 01
-f4
+fb
 20
 20
-02
-df
+03
+05
 70
 09
 14
@@ -2032,14 +2060,14 @@
 6f
 e0
 c8
-0b
+0d
 24
 7a
 00
 00
 70
 48
-0b
+0d
 01
 20
 60
@@ -2048,7 +2076,7 @@
 20
 40
 01
-f6
+fd
 58
 00
 00
@@ -2056,7 +2084,7 @@
 67
 e1
 48
-0c
+0e
 6f
 e0
 c5
@@ -2076,15 +2104,19 @@
 c2
 82
 02
-07
+0f
+c2
+81
+b3
+c4
 c2
 82
 82
-07
+0f
 c2
 83
 02
-07
+0f
 20
 20
 33
@@ -2132,27 +2164,27 @@
 c2
 82
 02
-0c
+14
 c2
 81
-81
-41
+82
+46
 c2
 82
 82
-33
+4e
 c2
 83
 02
-39
+5f
 c2
 83
 82
-47
+6d
 20
 20
 02
-17
+1f
 6f
 e0
 c5
@@ -2164,11 +2196,11 @@
 20
 22
 82
-29
+31
 20
 40
 02
-29
+31
 6f
 e0
 c5
@@ -2204,23 +2236,23 @@
 c2
 82
 02
-0c
+14
 c2
 81
-81
-41
+82
+46
 c2
 82
 82
-33
+4e
 c2
 83
 02
-39
+5f
 c2
 83
 82
-47
+6d
 20
 60
 00
@@ -2257,14 +2289,58 @@
 5a
 48
 e1
+6f
+e4
+09
+13
+67
+e4
+49
+55
+68
+4c
+49
+5d
+98
+46
+7c
+00
+24
+42
+82
+41
+6f
+e4
+49
+55
+67
+e4
+49
+5d
+20
+60
+00
+00
 70
 09
 0c
 20
 20
-20
+40
 02
-4d
+73
+6f
+e0
+89
+14
+67
+e0
+c9
+19
+20
+20
+01
+48
 6f
 e0
 c5
@@ -2272,7 +2348,7 @@
 68
 48
 c8
-05
+0c
 98
 46
 7c
@@ -2284,12 +2360,88 @@
 67
 e0
 c8
+0c
+6f
+e0
+c8
+0c
+c1
+ff
+80
+00
+20
+20
+01
+41
+6f
+e1
+45
+eb
+68
+49
+48
 05
+98
+46
+7c
+00
 20
+62
+80
+00
+67
+e1
+48
+05
 20
+40
 01
 25
 6f
+e0
+c8
+05
+c0
+2a
+82
+58
+c0
+55
+02
+5b
+20
+60
+00
+00
+6f
+e0
+c9
+19
+79
+3f
+fe
+05
+20
+20
+02
+5d
+6f
+e0
+c9
+19
+79
+20
+7e
+05
+67
+e0
+c9
+19
+20
+20
+01
+48
+6f
 20
 c5
 7d
@@ -2324,27 +2476,27 @@
 6f
 e1
 45
-f3
+f4
 67
 e1
 48
-07
+08
 6f
-e0
-c5
+e1
+45
 f1
 20
 40
 02
-34
+4f
 6f
 e0
 c5
-f2
+f3
 20
 20
 02
-48
+6e
 6f
 e0
 c5
@@ -2352,7 +2504,7 @@
 68
 48
 c8
-06
+07
 98
 46
 7c
@@ -2364,7 +2516,7 @@
 67
 e0
 c8
-06
+07
 20
 20
 01
@@ -2380,7 +2532,7 @@
 da
 20
 49
-12
+65
 20
 40
 7d
@@ -2400,7 +2552,7 @@
 da
 20
 49
-12
+65
 20
 20
 7d
@@ -2452,7 +2604,7 @@
 c0
 08
 82
-63
+89
 20
 20
 23
@@ -2460,54 +2612,54 @@
 6f
 e0
 c9
-25
+78
 c0
 00
 02
-6f
+95
 c0
 00
 82
-71
+97
 c0
 01
 02
-7f
+a5
 c0
 01
 82
-83
+a9
 c0
 02
 02
-93
+b9
 c0
 02
 82
-9a
+c0
 c0
 03
 02
-89
+af
 c0
 03
 82
-8d
+b3
 c0
 04
 02
-8f
+b5
 c0
 04
 82
-91
+b7
 20
 60
 00
 00
 70
 49
-25
+78
 01
 20
 20
@@ -2516,11 +2668,11 @@
 df
 e0
 49
-2b
+7e
 67
 e1
 49
-28
+7b
 6f
 e0
 88
@@ -2528,23 +2680,23 @@
 c0
 00
 02
-77
+9d
 c0
 00
 82
-7b
+a1
 20
 60
 00
 00
 70
 49
-25
+78
 02
 6f
 e1
 c9
-1b
+6e
 67
 e1
 89
@@ -2555,12 +2707,12 @@
 28
 70
 49
-25
+78
 02
 6f
 e1
 c9
-1e
+71
 67
 e1
 89
@@ -2571,12 +2723,12 @@
 28
 70
 49
-25
+78
 03
 6f
 e0
 c9
-1b
+6e
 67
 e0
 89
@@ -2587,7 +2739,7 @@
 28
 70
 49
-25
+78
 04
 d8
 a0
@@ -2603,7 +2755,7 @@
 a3
 70
 49
-27
+7a
 00
 20
 20
@@ -2611,12 +2763,12 @@
 28
 70
 49
-25
+78
 07
 6f
 e1
 c9
-21
+74
 67
 e1
 89
@@ -2627,32 +2779,32 @@
 28
 70
 49
-25
+78
 08
 20
 20
 02
-84
+aa
 70
 49
-25
+78
 09
 20
 20
 02
-8a
+b0
 70
 49
-25
+78
 00
 20
 20
 02
-84
+aa
 6f
 e0
 c9
-24
+77
 1f
 e0
 fe
@@ -2660,18 +2812,18 @@
 67
 e0
 c9
-24
+77
 c1
 87
 80
 00
 70
 49
-24
+77
 00
 70
 49
-25
+78
 05
 20
 60
@@ -2680,22 +2832,22 @@
 6f
 e0
 c9
-27
+7a
 c0
 00
 82
-84
+aa
 c0
 00
 02
-a0
+c6
 20
 60
 00
 00
 70
 49
-25
+78
 06
 20
 60
@@ -2704,11 +2856,11 @@
 d8
 40
 49
-2b
+7e
 6f
 e0
 c9
-2a
+7d
 98
 40
 84
@@ -2716,7 +2868,7 @@
 6f
 e1
 49
-28
+7b
 98
 46
 7c
@@ -2724,19 +2876,19 @@
 20
 22
 82
-9e
+c4
 20
 40
 02
-b0
+d6
 20
 40
 02
-d2
+f8
 6f
 e0
 c9
-26
+79
 67
 e0
 89
@@ -2748,7 +2900,7 @@
 6f
 e1
 49
-28
+7b
 1f
 e0
 fe
@@ -2756,10 +2908,10 @@
 67
 e1
 49
-28
+7b
 70
 49
-27
+7a
 01
 20
 20
@@ -2768,7 +2920,7 @@
 68
 49
 49
-28
+7b
 ef
 e0
 80
@@ -2780,7 +2932,7 @@
 24
 21
 02
-b7
+dd
 da
 40
 00
@@ -2792,7 +2944,7 @@
 20
 21
 02
-ce
+f4
 ef
 e0
 80
@@ -2804,7 +2956,7 @@
 24
 21
 02
-bd
+e3
 da
 40
 00
@@ -2816,7 +2968,7 @@
 20
 21
 02
-d0
+f6
 1f
 e6
 7c
@@ -2824,7 +2976,7 @@
 20
 22
 82
-c6
+ec
 1f
 e6
 7c
@@ -2832,7 +2984,7 @@
 20
 22
 82
-c8
+ee
 1f
 e6
 7c
@@ -2840,7 +2992,7 @@
 20
 22
 82
-ca
+f0
 1f
 e6
 7c
@@ -2848,7 +3000,7 @@
 20
 22
 82
-cc
+f2
 20
 60
 00
@@ -2903,12 +3055,12 @@
 00
 70
 49
-26
+79
 00
 6f
 e1
 49
-28
+7b
 ef
 e0
 80
@@ -2916,11 +3068,11 @@
 d8
 c0
 49
-53
+a6
 68
 48
 c9
-52
+a5
 18
 42
 72
@@ -2935,19 +3087,19 @@
 00
 20
 22
-82
-dd
+83
+03
 c2
 00
 02
-d8
+fe
 20
 60
 00
 00
 70
 49
-26
+79
 02
 20
 60
@@ -2956,7 +3108,7 @@
 da
 20
 49
-12
+65
 20
 40
 7d
@@ -3000,7 +3152,7 @@
 da
 20
 49
-12
+65
 20
 40
 7d
@@ -3016,23 +3168,27 @@
 c0
 12
 03
-06
+2d
 c0
 13
-02
-fe
+03
+25
+c0
+14
+83
+25
 c0
 11
-82
-fe
+83
+25
 c0
-14
-82
-fe
+18
+03
+3b
 c0
 12
 83
-0d
+34
 c0
 10
 fc
@@ -3043,8 +3199,8 @@
 2c
 c0
 13
-82
-f7
+83
+1e
 20
 20
 23
@@ -3052,7 +3208,7 @@
 6f
 e0
 c8
-0e
+10
 20
 7a
 00
@@ -3064,7 +3220,7 @@
 d8
 c0
 48
-0f
+11
 20
 40
 7b
@@ -3072,15 +3228,15 @@
 d8
 a0
 48
-0e
+10
 20
 20
 03
-04
+2b
 6f
 e0
 c8
-4f
+51
 20
 7a
 00
@@ -3092,7 +3248,7 @@
 d8
 c0
 48
-50
+52
 20
 40
 7b
@@ -3100,7 +3256,7 @@
 d8
 a0
 48
-4f
+51
 df
 20
 00
@@ -3112,7 +3268,7 @@
 6f
 e0
 c8
-90
+92
 20
 7a
 00
@@ -3124,7 +3280,7 @@
 d8
 c0
 48
-91
+93
 20
 40
 7b
@@ -3132,15 +3288,15 @@
 d8
 a0
 48
-90
+92
 20
 20
 03
-04
+2b
 6f
 e0
 c8
-d1
+d3
 20
 7a
 00
@@ -3152,7 +3308,7 @@
 d8
 c0
 48
-d2
+d4
 20
 40
 7b
@@ -3160,11 +3316,39 @@
 d8
 a0
 48
-d1
+d3
 20
 20
 03
-04
+2b
+6f
+e0
+c9
+14
+20
+7a
+00
+00
+1f
+e2
+72
+00
+d8
+c0
+49
+15
+20
+40
+7b
+db
+d8
+a0
+49
+14
+20
+20
+03
+2b
 20
 75
 80
@@ -3216,7 +3400,7 @@
 20
 40
 03
-31
+5f
 2a
 2f
 fe
@@ -3248,7 +3432,7 @@
 20
 40
 03
-31
+5f
 d8
 a0
 8a
@@ -3276,7 +3460,7 @@
 20
 21
 03
-26
+54
 20
 20
 21
@@ -3380,7 +3564,7 @@
 20
 40
 03
-6a
+98
 70
 8a
 08
@@ -3416,7 +3600,7 @@
 20
 40
 03
-60
+8e
 6f
 f0
 8a
@@ -3460,7 +3644,7 @@
 20
 40
 03
-6a
+98
 70
 80
 cd
@@ -3520,7 +3704,7 @@
 c3
 02
 83
-6b
+99
 68
 59
 01
@@ -3556,7 +3740,7 @@
 c0
 08
 03
-8a
+b8
 58
 00
 57
@@ -3600,7 +3784,7 @@
 c0
 08
 03
-87
+b5
 58
 00
 2b
@@ -3636,7 +3820,7 @@
 20
 20
 03
-83
+b1
 58
 00
 83
@@ -3648,7 +3832,7 @@
 20
 20
 03
-78
+a6
 6f
 e0
 c3
@@ -3688,7 +3872,7 @@
 c0
 11
 03
-99
+c7
 c0
 7f
 b5
@@ -3704,7 +3888,7 @@
 20
 3a
 03
-9f
+cd
 6f
 e2
 45
@@ -3728,11 +3912,11 @@
 c0
 00
 83
-a3
+d1
 c0
 01
 03
-ab
+d9
 20
 60
 00
@@ -3752,7 +3936,7 @@
 c0
 01
 03
-a8
+d6
 20
 60
 00
@@ -3784,7 +3968,7 @@
 c0
 80
 03
-b0
+de
 20
 60
 00
@@ -3864,7 +4048,7 @@
 20
 40
 03
-c4
+f2
 20
 20
 34
@@ -3899,12 +4083,12 @@
 07
 20
 40
-03
-d8
+04
+06
 20
 40
-03
-da
+04
+08
 6f
 e0
 89
@@ -3948,7 +4132,7 @@
 20
 20
 01
-6d
+74
 58
 00
 00
@@ -3971,12 +4155,12 @@
 00
 20
 40
-03
-e2
+04
+10
 20
 40
-03
-e5
+04
+13
 d8
 e0
 00
@@ -3992,7 +4176,7 @@
 6f
 e0
 c9
-25
+78
 20
 7a
 00
@@ -4000,7 +4184,7 @@
 20
 20
 02
-0c
+14
 6f
 e0
 c6
@@ -4012,7 +4196,7 @@
 6f
 e0
 c8
-0b
+0d
 20
 7a
 00
@@ -4020,7 +4204,7 @@
 6f
 e1
 48
-0c
+0e
 1f
 e0
 fe
@@ -4028,7 +4212,7 @@
 67
 e1
 48
-0c
+0e
 d8
 40
 04
@@ -4048,18 +4232,18 @@
 67
 e1
 48
-0c
+0e
 6f
 e0
 c8
-0b
+0d
 20
 7a
 00
 00
 70
 48
-0b
+0d
 00
 20
 60
@@ -4137,8 +4321,8 @@
 20
 31
 95
-40
-94
+6b
+59
 aa
 55
 40
@@ -4576,15 +4760,15 @@
 55
 02
 00
-09
+0a
 48
-04
+05
 00
 aa
 55
 09
 00
-1b
+6e
 49
 08
 00
@@ -4599,9 +4783,9 @@
 55
 11
 00
-28
+7b
 49
-2b
+7e
 49
 0e
 77
@@ -4622,7 +4806,7 @@
 55
 16
 00
-52
+a5
 49
 15
 7e
@@ -4838,8 +5022,8 @@
 aa
 aa
 55
-aa
-95
-f6
+f8
 96
+a0
+57
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(revision 3936)
+++ /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 c00a0371 beq patch02_4 ,p_set_lemode 
+0004 c00a039f 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 c01b83f5 beq patch06_7 ,p_dongle_default_init 
+0009 c01b8423 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 c01e83cb beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e83f9 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c0628095 beq patch18_5 ,p_otp_read_data 
-000e c06d0342 beq patch1b_2 ,p_sadc_calibration 
-000f c06e0352 beq patch1b_4 ,p_enable_adc 
+000e c06d0370 beq patch1b_2 ,p_sadc_calibration 
+000f c06e0380 beq patch1b_4 ,p_enable_adc 
 0010 c07f00e2 beq patch1f_6 ,p_usb_init 
-0011 c07f815c beq patch1f_7 ,p_usb_rx 
+0011 c07f8163 beq patch1f_7 ,p_usb_rx 
 0012 c07e80de beq patch1f_5 ,p_usb_isr 
 0013 2020235a branch assert 
 
 pf_patch_ext:
-0014 c0000180 beq patch20_0 ,p_usb_class_type 
-0015 c00101bf beq patch20_2 ,p_usb0_request_get_descriptor 
-0016 c00301e3 beq patch20_6 ,p_usb_tx 
-0017 c01c838d beq patch27_1 ,p_le_parse 
-0018 c0268391 beq patch29_5 ,p_le_init_adv 
-0019 c03783fd beq patch2d_7 ,p_g24_receive_skip_end 
-001a c0410393 beq patch30_2 ,p_g24_bind_data_parse_next 
-001b c04201fc beq patch30_4 ,p_g24_receive_packet_start1 
-001c c04403b3 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001d c04503c0 beq patch31_2 ,p_g24_bind_mode_auto 
+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 c01c83bb beq patch27_1 ,p_le_parse 
+0018 c02683bf beq patch29_5 ,p_le_init_adv 
+0019 c037842b beq patch2d_7 ,p_g24_receive_skip_end 
+001a c04103c1 beq patch30_2 ,p_g24_bind_data_parse_next 
+001b c0420203 beq patch30_4 ,p_g24_receive_packet_start1 
+001c c04403e1 beq patch31_0 ,p_g24_mode_switch_bind_search 
+001d c04503ee 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 20400314 call p_rx_dcoc 
-0059 2040033f call p_rfpll_aac_ghpc 
+0058 20400342 call p_rx_dcoc 
+0059 2040036d 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 20200341 branch p_dpll_ring_ibias_calc 
+005d 2020036f 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 58000210 setarg p_dongle_g24_mouse 
+00e6 58000218 setarg p_dongle_g24_mouse 
 00e7 67e145e4 store 2 ,mem_cb_24g_data_device1 
 
 p_usb_init_restart:
@@ -329,992 +329,1050 @@
 
 p_dongle_usb_hci_cmd_control:
 010e 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-010f 203a0154 branch p_dongle_usb_device_disconnect ,blank 
+010f 203a015b 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 c0038148 beq hci_cmd_get_connect_state ,p_dongle_usb_hci_cmd_get_connect_state 
+0115 c003814f 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 70484f40 jam 0x40 ,mem_dongle_usb_ep2_data 
-0118 704850a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0119 70485102 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-011a 70485201 jam 0x01 ,mem_dongle_usb_ep2_data + 3 
-011b 7048530b jam 0x0b ,mem_dongle_usb_ep2_data + 4 
+0117 70485140 jam 0x40 ,mem_dongle_usb_ep2_data 
+0118 704852a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0119 70485302 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+011a 70485401 jam 0x01 ,mem_dongle_usb_ep2_data + 3 
+011b 7048550b jam 0x0b ,mem_dongle_usb_ep2_data + 4 
 011c 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
-011d 67e34854 store 6 ,mem_dongle_usb_ep2_data + 5 
-011e 6fe14807 fetch 2 ,mem_usb_get_report_mouse_version_data 
-011f 67e1485a store 2 ,mem_dongle_usb_ep2_data + 11 
-0120 6fe14809 fetch 2 ,mem_dongle_version 
-0121 67e1485c store 2 ,mem_dongle_usb_ep2_data + 13 
+011d 67e34856 store 6 ,mem_dongle_usb_ep2_data + 5 
+011e 6fe14808 fetch 2 ,mem_usb_get_report_mouse_version_data 
+011f 67e1485c store 2 ,mem_dongle_usb_ep2_data + 11 
+0120 6fe1480a fetch 2 ,mem_dongle_version 
+0121 67e1485e store 2 ,mem_dongle_usb_ep2_data + 13 
 0122 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
-0123 2020024d branch p_dongle_usb_tx_enable_ep2 
+0123 20200273 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_dpi:
-0124 70489601 jam 0x01 ,mem_usb_dpi_info_data + 6 
+0124 70489801 jam 0x01 ,mem_usb_dpi_info_data + 6 
 
 p_dongle_usb_tx_ep2_dpi_data:
-0125 70489040 jam 0x40 ,mem_usb_dpi_info_data 
-0126 704891a1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
-0127 70489202 jam 0x02 ,mem_usb_dpi_info_data + 2 
-0128 70489302 jam 0x02 ,mem_usb_dpi_info_data + 3 
-0129 70489401 jam 0x01 ,mem_usb_dpi_info_data + 4 
+0125 70489240 jam 0x40 ,mem_usb_dpi_info_data 
+0126 704893a1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
+0127 70489402 jam 0x02 ,mem_usb_dpi_info_data + 2 
+0128 70489502 jam 0x02 ,mem_usb_dpi_info_data + 3 
+0129 70489601 jam 0x01 ,mem_usb_dpi_info_data + 4 
 012a 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-012b 67e0c895 store 1 ,mem_usb_dpi_info_data + 5 
+012b 67e0c897 store 1 ,mem_usb_dpi_info_data + 5 
 012c 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
-012d 2020024d branch p_dongle_usb_tx_enable_ep2 
+012d 20200273 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_sn:
-012e 70484f40 jam 0x40 ,mem_dongle_usb_ep2_data 
-012f 704850a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0130 70485102 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0131 70485203 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
-0132 70485306 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
+012e 70485140 jam 0x40 ,mem_dongle_usb_ep2_data 
+012f 704852a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0130 70485302 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+0131 70485403 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
+0132 70485506 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
 0133 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
-0134 67e34854 store 6 ,mem_dongle_usb_ep2_data + 5 
+0134 67e34856 store 6 ,mem_dongle_usb_ep2_data + 5 
 0135 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
-0136 2020024d branch p_dongle_usb_tx_enable_ep2 
+0136 20200273 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_battery:
-0137 7048d701 jam 0x01 ,mem_usb_battery_info_data + 6 
+0137 7048d901 jam 0x01 ,mem_usb_battery_info_data + 6 
 
 p_dongle_usb_tx_ep2_battery_data:
-0138 7048d140 jam 0x40 ,mem_usb_battery_info_data 
-0139 7048d2a1 jam report_id_data_in ,mem_usb_battery_info_data + 1 
-013a 7048d302 jam 0x02 ,mem_usb_battery_info_data + 2 
-013b 7048d406 jam 0x06 ,mem_usb_battery_info_data + 3 
-013c 7048d501 jam 0x01 ,mem_usb_battery_info_data + 4 
-013d 6fe0c806 fetch 1 ,mem_usb_get_report_battery_data 
-013e 67e0c8d6 store 1 ,mem_usb_battery_info_data + 5 
+0138 7048d340 jam 0x40 ,mem_usb_battery_info_data 
+0139 7048d4a1 jam report_id_data_in ,mem_usb_battery_info_data + 1 
+013a 7048d502 jam 0x02 ,mem_usb_battery_info_data + 2 
+013b 7048d606 jam 0x06 ,mem_usb_battery_info_data + 3 
+013c 7048d701 jam 0x01 ,mem_usb_battery_info_data + 4 
+013d 6fe0c807 fetch 1 ,mem_usb_get_report_battery_data 
+013e 67e0c8d8 store 1 ,mem_usb_battery_info_data + 5 
 013f 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
-0140 2020024d branch p_dongle_usb_tx_enable_ep2 
+0140 20200273 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_ep2_app_data:
-0141 70484f40 jam 0x40 ,mem_dongle_usb_ep2_data 
-0142 704850a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0143 70485102 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0144 70485208 jam 0x08 ,mem_dongle_usb_ep2_data + 3 
-0145 70485300 jam 0x00 ,mem_dongle_usb_ep2_data + 4 
+0141 70485140 jam 0x40 ,mem_dongle_usb_ep2_data 
+0142 704852a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0143 70485302 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+0144 70485408 jam 0x08 ,mem_dongle_usb_ep2_data + 3 
+0145 70485500 jam 0x00 ,mem_dongle_usb_ep2_data + 4 
 0146 70090c29 jam usb_ep2_app ,mem_usb_ep2_data 
-0147 2020024d branch p_dongle_usb_tx_enable_ep2 
+0147 20200273 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_usb_tx_ep2_key_data:
+0148 70491440 jam 0x40 ,mem_usb_key_info_data 
+0149 704915a1 jam report_id_data_in ,mem_usb_key_info_data + 1 
+014a 70491602 jam 0x02 ,mem_usb_key_info_data + 2 
+014b 70491704 jam 0x04 ,mem_usb_key_info_data + 3 
+014c 70491801 jam 0x01 ,mem_usb_key_info_data + 4 
+014d 70090c30 jam usb_ep2_key ,mem_usb_ep2_data 
+014e 20200273 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_connect_state:
-0148 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
-0149 c0000154 beq 0 ,p_dongle_usb_device_disconnect 
-014a c000814c beq 1 ,p_dongle_usb_device_connect 
-014b 20600000 rtn 
+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 
 
 p_dongle_usb_device_connect:
-014c 70480e40 jam 0x40 ,mem_usb_rf_state_data 
-014d 70480fa1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
-014e 70481002 jam 0x02 ,mem_usb_rf_state_data + 2 
-014f 70481105 jam 0x05 ,mem_usb_rf_state_data + 3 
-0150 70481201 jam 0x01 ,mem_usb_rf_state_data + 4 
-0151 70481301 jam 0x01 ,mem_usb_rf_state_data + 5 
-0152 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-0153 2020024d branch p_dongle_usb_tx_enable_ep2 
+0153 70481040 jam 0x40 ,mem_usb_rf_state_data 
+0154 704811a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+0155 70481202 jam 0x02 ,mem_usb_rf_state_data + 2 
+0156 70481305 jam 0x05 ,mem_usb_rf_state_data + 3 
+0157 70481401 jam 0x01 ,mem_usb_rf_state_data + 4 
+0158 70481501 jam 0x01 ,mem_usb_rf_state_data + 5 
+0159 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+015a 20200273 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_device_disconnect:
-0154 70480e40 jam 0x40 ,mem_usb_rf_state_data 
-0155 70480fa1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
-0156 70481002 jam 0x02 ,mem_usb_rf_state_data + 2 
-0157 70481105 jam 0x05 ,mem_usb_rf_state_data + 3 
-0158 70481201 jam 0x01 ,mem_usb_rf_state_data + 4 
-0159 70481300 jam 0x00 ,mem_usb_rf_state_data + 5 
-015a 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-015b 2020024d branch p_dongle_usb_tx_enable_ep2 
+015b 70481040 jam 0x40 ,mem_usb_rf_state_data 
+015c 704811a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+015d 70481202 jam 0x02 ,mem_usb_rf_state_data + 2 
+015e 70481305 jam 0x05 ,mem_usb_rf_state_data + 3 
+015f 70481401 jam 0x01 ,mem_usb_rf_state_data + 4 
+0160 70481500 jam 0x00 ,mem_usb_rf_state_data + 5 
+0161 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+0162 20200273 branch p_dongle_usb_tx_enable_ep2 
 
 p_usb_rx:
-015c 6fe08709 fetch 1 ,mem_usb_status 
-015d c4028000 rtnbit0 usb_status_rxready 
-015e 20407989 call usb_rx_len 
-015f 6048c697 storet 1 ,mem_usb_rx_endpoint 
-0160 2841fe0d compare 13 ,temp ,0xff 
-0161 2020f999 branch usb_rx_ep13 ,true 
-0162 6fe0c696 fetch 1 ,mem_setreport_count 
-0163 c0008170 beq 1 ,p_setreport_next_page_data 
-0164 d8a0086d arg mem_usb_setup ,contw 
-0165 20407994 call usb_rx_read 
-0166 20200167 branch p_usb_rx_next 
+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 
 
 p_usb_rx_next:
-0167 6fe0870c fetch 1 ,mem_usb_read_len 
-0168 c0007986 beq 0x00 ,usb_rx_no_data 
-0169 c000f9b6 beq 0x01 ,usb_out_one_byte 
-016a 1fe67c07 sub pdata ,7 ,null 
-016b 20610000 rtn positive 
-016c 20200180 branch p_usb_class_type 
+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 
 
 p_dongle_usb_data_received_analysis:
-016d 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-016e c0510104 beq report_id_data_out ,p_usb_rx_data_out 
-016f 20600000 rtn 
+0174 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+0175 c0510104 beq report_id_data_out ,p_usb_rx_data_out 
+0176 20600000 rtn 
 
 p_setreport_next_page_data:
-0170 d8a00875 arg mem_usb0_set_report_data ,contw 
-0171 20407994 call usb_rx_read 
-0172 70469600 jam 0 ,mem_setreport_count 
-0173 6fe0870c fetch 1 ,mem_usb_read_len 
-0174 c000817a beq 0x01 ,p_usb_out_one_byte 
-0175 7008f701 jam 1 ,mem_usb0_get_set_report 
-0176 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-0177 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-0178 708c1b03 jam 0x03 ,core_usb_clear_nak 
-0179 20600000 rtn 
+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 
 
 p_usb_out_one_byte:
-017a 6fe0886d fetch 1 ,mem_usb_setup 
-017b c3838000 rtnbit1 7 
-017c 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-017d 20407b6a call usb_get_led_status 
-017e 708c1b01 jam 0x1 ,core_usb_clear_nak 
-017f 20600000 rtn 
+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 
 
 p_usb_class_type:
-0180 793f8023 set0 mark_isstr ,mark 
-0181 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0182 1fe17e80 and_into 0x80 ,pdata 
-0183 c04079ba beq in_device ,usb_in_device 
-0184 c0000186 beq out_device ,p_usb_out_device 
-0185 2020235a branch assert 
+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 
 
 p_usb_out_device:
-0186 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0187 1ff1fe00 rshift4 pdata ,pdata 
-0188 1fe37e00 rshift pdata ,pdata 
-0189 1fe17e03 and_into 0x03 ,pdata 
-018a c000018e beq standard_req ,p_usb_out_standard_req 
-018b c00081c9 beq class_req ,p_usb_out_class_req 
-018c c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-018d 2020235a branch assert 
+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 
 
 p_usb_out_standard_req:
-018e 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-018f c0008196 beq clear_feature ,p_usb0_request_clear_feature 
-0190 c001fadb beq set_feature ,usb0_request_set_feature 
-0191 c002fb06 beq set_address ,usb0_request_set_address 
-0192 c004fb1f beq set_configuration ,usb0_request_set_configuration 
-0193 c00581b0 beq set_interface ,p_usb0_request_set_interface 
-0194 c003f9e4 beq set_descriptor ,usb0_force_stall 
-0195 202079e4 branch usb0_force_stall 
+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 
 
 p_usb0_request_clear_feature:
-0196 6fe0886b fetch 1 ,mem_usb0_state 
-0197 c08279e4 bne dev_configured ,usb0_force_stall 
-0198 6fe08873 fetch 1 ,mem_usb_setup_blength 
-0199 c08079e4 bne 0 ,usb0_force_stall 
-019a 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
-019b c08079e4 bne 0 ,usb0_force_stall 
-019c 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-019d c08079e4 bne 0 ,usb0_force_stall 
-019e 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
-019f c08079e4 bne 0 ,usb0_force_stall 
-01a0 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01a1 c00001a5 beq out_device ,p_usb0_request_clear_feature_out_device 
-01a2 c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
-01a3 c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
-01a4 202079e4 branch usb0_force_stall 
+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 
+01a2 c08079e4 bne 0 ,usb0_force_stall 
+01a3 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01a4 c08079e4 bne 0 ,usb0_force_stall 
+01a5 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+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 
 
 p_usb0_request_clear_feature_out_device:
-01a5 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01a6 c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
-01a7 6ff08c00 fetch 1 ,core_usb_config 
-01a8 793ffe07 set0 7 ,pdata 
-01a9 67f08c00 store 1 ,core_usb_config 
-01aa 70090100 jam 0 ,mem_usb_remote_wakeup 
-01ab 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
-01ac 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
-01ad 203a79e9 branch usb0_reply_zerolen ,blank 
-01ae 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
-01af 202079e9 branch usb0_reply_zerolen 
+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 
 
 p_usb0_request_set_interface:
-01b0 6fe0886b fetch 1 ,mem_usb0_state 
-01b1 c08279e4 bne dev_configured ,usb0_force_stall 
-01b2 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01b3 c080f9e4 bne out_interface ,usb0_force_stall 
-01b4 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01b5 c08079e4 bne 0 ,usb0_force_stall 
-01b6 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01b7 c08079e4 bne 0 ,usb0_force_stall 
-01b8 6fe08873 fetch 1 ,mem_usb_setup_blength 
-01b9 c08079e4 bne 0 ,usb0_force_stall 
-01ba 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
-01bb c08079e4 bne 0 ,usb0_force_stall 
-01bc 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
-01bd c08079e4 bne 0 ,usb0_force_stall 
-01be 202079e9 branch usb0_reply_zerolen 
+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 
+01be c08079e4 bne 0 ,usb0_force_stall 
+01bf 6fe08873 fetch 1 ,mem_usb_setup_blength 
+01c0 c08079e4 bne 0 ,usb0_force_stall 
+01c1 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+01c2 c08079e4 bne 0 ,usb0_force_stall 
+01c3 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01c4 c08079e4 bne 0 ,usb0_force_stall 
+01c5 202079e9 branch usb0_reply_zerolen 
 
 p_usb0_request_get_descriptor:
-01bf 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01c0 c000fa14 beq dsc_device ,dsc_device_info 
-01c1 c00101c6 beq dsc_config ,p_dsc_config_info 
-01c2 c001fa30 beq dsc_string ,dsc_string_info 
-01c3 c010fa09 beq dsc_hid ,dsc_hid_info 
-01c4 c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
-01c5 202079e4 branch usb0_force_stall 
+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 
 
 p_dsc_config_info:
-01c6 58004698 setarg mem_config_new 
-01c7 6848c698 fetcht 1 ,mem_config_new 
-01c8 20207a18 branch dsc_info_set_data_len 
+01cd 58004698 setarg mem_config_new 
+01ce 6848c698 fetcht 1 ,mem_config_new 
+01cf 20207a18 branch dsc_info_set_data_len 
 
 p_usb_out_class_req:
-01c9 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-01ca c0057b4b beq set_idle ,usb_set_idle 
-01cb c00481ce beq set_report ,p_usb_set_report 
-01cc c005fb7c beq set_protocol ,usb_set_protocol_req 
-01cd 202079e4 branch usb0_force_stall 
+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 
 
 p_usb_set_report:
-01ce 708c1b02 jam 0x2 ,core_usb_clear_nak 
-01cf 20003a98 nop 15000 
-01d0 d8a00875 arg mem_usb0_set_report_data ,contw 
-01d1 204000fd call p_usb_rx_data 
-01d2 203401db branch p_usb_set_report_delay ,user 
-01d3 6ff10c22 fetch 2 ,core_usb_status 
-01d4 67f10c22 store 2 ,core_usb_status 
-01d5 7008f701 jam 1 ,mem_usb0_get_set_report 
-01d6 20407b6e call usb_set_report_resume_judge 
-01d7 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-01d8 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-01d9 708c1b03 jam 0x3 ,core_usb_clear_nak 
-01da 20207b65 branch usb_set_report_next 
+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 
 
 p_usb_set_report_delay:
-01db 6fe0c696 fetch 1 ,mem_setreport_count 
-01dc 1fe0fe01 pincrease 1 
-01dd 67e0c696 store 1 ,mem_setreport_count 
-01de 20600000 rtn 
+01e2 6fe0c696 fetch 1 ,mem_setreport_count 
+01e3 1fe0fe01 pincrease 1 
+01e4 67e0c696 store 1 ,mem_setreport_count 
+01e5 20600000 rtn 
 
 p_usb_tx_ep2_queue_buff_check:
-01df da204912 arg mem_usb_ep2_fifo ,rega 
-01e0 20407da3 call fifo_is_empty 
-01e1 207a0000 rtn blank 
-01e2 20204837 branch dongle_usb_tx_enable_ep2 
+01e6 da204965 arg mem_usb_ep2_fifo ,rega 
+01e7 20407da3 call fifo_is_empty 
+01e8 207a0000 rtn blank 
+01e9 20204837 branch dongle_usb_tx_enable_ep2 
 
 p_usb_tx:
-01e3 204001df call p_usb_tx_ep2_queue_buff_check 
-01e4 6fe0890d fetch 1 ,mem_usb_tx_enable 
-01e5 207a0000 rtn blank 
-01e6 6ff08c25 fetch 1 ,core_usb_txbusy 
-01e7 1fe17e0f and_into 0x0f ,pdata 
-01e8 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-01e9 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-01ea 203a7c06 branch usb_tx_fifo_release ,blank 
-01eb 6fe08900 fetch 1 ,mem_usb_state 
-01ec c001fc40 beq usb_sleep ,usb_windows_wakeup 
-01ed c0817c06 bne usb_connected ,usb_tx_fifo_release 
-01ee 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-01ef 243a7c06 nbranch usb_tx_fifo_release ,blank 
-01f0 20400256 call p_usb_tx_data_ep1 
-01f1 6fe0c925 fetch 1 ,mem_usb_website_step 
-01f2 245a01f4 ncall p_usb_ms_data_clear_key_value ,blank 
-01f3 202002df branch p_usb_tx_data_ep2 
+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 2040027c call p_usb_tx_data_ep1 
+01f8 6fe0c978 fetch 1 ,mem_usb_website_step 
+01f9 245a01fb ncall p_usb_ms_data_clear_key_value ,blank 
+01fa 20200305 branch p_usb_tx_data_ep2 
 
 p_usb_ms_data_clear_key_value:
-01f4 70091400 jam 0 ,mem_usb_mouse_data + 1 
-01f5 20600000 rtn 
+01fb 70091400 jam 0 ,mem_usb_mouse_data + 1 
+01fc 20600000 rtn 
 
 p_dongle_usb_connect_mouse_check:
-01f6 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-01f7 c4000000 rtnbit0 0 
-01f8 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
-01f9 247a0000 nrtn blank 
-01fa 70480b01 jam 1 ,mem_dongle_connect_mouse_flag 
-01fb 20600000 rtn 
+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 
 
 p_g24_receive_packet_start1:
-01fc 204001f6 call p_dongle_usb_connect_mouse_check 
-01fd 58000000 setarg 0 
-01fe 67e1480c store 2 ,mem_dongle_no_data_count 
-01ff 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0200 c000b3c4 beq datatype_device1 ,g24_data_device1 
-0201 c00133d3 beq datatype_device2 ,g24_data_device2 
-0202 c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-0203 c2820207 bbit1 data_http ,p_g24_data_receive_device_http_dpi 
-0204 c2828207 bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
-0205 c2830207 bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
-0206 202033be branch g24_rx_interrupt_clear 
+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 
 
 p_g24_data_receive_device_http_dpi:
-0207 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0208 1fe17e0f and pdata ,0x0f ,pdata 
-0209 c000b3c4 beq datatype_device1 ,g24_data_device1 
-020a c00133d3 beq datatype_device2 ,g24_data_device2 
-020b 202033be branch g24_rx_interrupt_clear 
+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 
 
 p_dongle_usb_tx_http_data:
-020c 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-020d d8a00923 arg mem_usb_kb_data ,contw 
-020e 20407c9a call memset0_8 
-020f 20204848 branch dongle_usb_tx_ep1_enable 
+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 
 
 p_dongle_g24_mouse:
-0210 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0211 c282020c bbit1 data_http ,p_dongle_usb_tx_http_data 
-0212 c2818141 bbit1 data_app ,p_dongle_usb_tx_ep2_app_data 
-0213 c2828233 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-0214 c2830239 bbit1 data_device_info ,p_dongle_receive_device_info_data 
-0215 c2838247 bbit1 data_battery ,p_dongle_receive_battery_data 
-0216 20200217 branch p_dongle_g24_mouse_next 
+0218 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0219 c2820214 bbit1 data_http ,p_dongle_usb_tx_http_data 
+021a c2818246 bbit1 data_app ,p_dongle_receive_app_data 
+021b c282824e bbit1 data_dpi ,p_dongle_receive_dpi_data 
+021c c283025f bbit1 data_device_info ,p_dongle_receive_device_info_data 
+021d c283826d bbit1 data_battery ,p_dongle_receive_battery_data 
+021e 2020021f branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
-0217 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0218 1fe67c09 sub pdata ,0x09 ,null 
-0219 20228229 branch p_dongle_g24_mouse_data ,zero 
-021a 20400229 call p_dongle_g24_mouse_data 
-021b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-021c 1fe0fff8 add pdata ,-8 ,pdata 
-021d 67e0c57d store 1 ,mem_24g_rxdata_length 
-021e 1fe27200 copy pdata ,loopcnt 
-021f d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
-0220 d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
-0221 20407cda call memcpy 
-0222 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0223 c282020c bbit1 data_http ,p_dongle_usb_tx_http_data 
-0224 c2818141 bbit1 data_app ,p_dongle_usb_tx_ep2_app_data 
-0225 c2828233 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-0226 c2830239 bbit1 data_device_info ,p_dongle_receive_device_info_data 
-0227 c2838247 bbit1 data_battery ,p_dongle_receive_battery_data 
-0228 20600000 rtn 
+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 c2818246 bbit1 data_app ,p_dongle_receive_app_data 
+022d c282824e bbit1 data_dpi ,p_dongle_receive_dpi_data 
+022e c283025f bbit1 data_device_info ,p_dongle_receive_device_info_data 
+022f c283826d bbit1 data_battery ,p_dongle_receive_battery_data 
+0230 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-0229 58000001 setarg ms_report_id 
-022a 67e08913 store 1 ,mem_usb_mouse_data 
-022b 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
-022c e7e38005 istore 7 ,contw 
-022d 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-022e 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-022f 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0230 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-0231 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0232 2020024d branch p_dongle_usb_tx_enable_ep2 
+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 
+0237 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0238 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0239 6fe40913 fetch 8 ,mem_usb_mouse_data 
+023a 67e44955 store 8 ,mem_mouse_usb_data_sta 
+023b 684c495d fetcht 8 ,mem_mouse_usb_data_last 
+023c 98467c00 isub temp ,null 
+023d 24428241 ncall p_usb_tx_mouse_data_enable ,zero 
+023e 6fe44955 fetch 8 ,mem_mouse_usb_data_sta 
+023f 67e4495d store 8 ,mem_mouse_usb_data_last 
+0240 20600000 rtn 
+
+p_usb_tx_mouse_data_enable:
+0241 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0242 20400273 call p_dongle_usb_tx_enable_ep2 
+0243 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+0244 67e0c919 store 1 ,mem_usb_key_info_data + 5 
+0245 20200148 branch p_dongle_usb_tx_ep2_key_data 
+
+p_dongle_receive_app_data:
+0246 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0247 6848c80c fetcht 1 ,mem_dongle_app_data 
+0248 98467c00 isub temp ,null 
+0249 20628000 rtn zero 
+024a 67e0c80c store 1 ,mem_dongle_app_data 
+024b 6fe0c80c fetch 1 ,mem_dongle_app_data 
+024c c1ff8000 rtnne long_press 
+024d 20200141 branch p_dongle_usb_tx_ep2_app_data 
 
 p_dongle_receive_dpi_data:
-0233 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+024e 6fe145eb fetch 2 ,mem_24g_rxdata_temp + 3 
 
 p_dongle_receive_dpi_data_compare:
-0234 6848c805 fetcht 1 ,mem_usb_get_report_dpi_data 
-0235 98467c00 isub temp ,null 
-0236 20628000 rtn zero 
-0237 67e0c805 store 1 ,mem_usb_get_report_dpi_data 
-0238 20200125 branch p_dongle_usb_tx_ep2_dpi_data 
+024f 68494805 fetcht 2 ,mem_usb_get_report_dpi_data 
+0250 98467c00 isub temp ,null 
+0251 20628000 rtn zero 
+0252 67e14805 store 2 ,mem_usb_get_report_dpi_data 
+0253 20400125 call p_dongle_usb_tx_ep2_dpi_data 
+0254 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+0255 c02a8258 beq release ,p_dongle_dpi_key_release 
+0256 c055025b beq press ,p_dongle_dpi_key_press 
+0257 20600000 rtn 
+
+p_dongle_dpi_key_release:
+0258 6fe0c919 fetch 1 ,mem_usb_key_info_data + 5 
+0259 793ffe05 set0 5 ,pdata 
+025a 2020025d branch p_dongle_dpi_key_press + 2 
+
+p_dongle_dpi_key_press:
+025b 6fe0c919 fetch 1 ,mem_usb_key_info_data + 5 
+025c 79207e05 set1 5 ,pdata 
+025d 67e0c919 store 1 ,mem_usb_key_info_data + 5 
+025e 20200148 branch p_dongle_usb_tx_ep2_key_data 
 
 p_dongle_receive_device_info_data:
-0239 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-023a 1f20f3ff increase -1 ,loopcnt 
-023b da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
-023c da4047ff arg mem_usb_get_report_sn_data ,regb 
-023d 20407d64 call compare_loop 
-023e 20628000 rtn zero 
-023f 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
-0240 67e347ff store 6 ,mem_usb_get_report_sn_data 
-0241 6fe145f3 fetch 2 ,mem_24g_rxdata_temp + 11 
-0242 67e14807 store 2 ,mem_usb_get_report_mouse_version_data 
-0243 6fe0c5f1 fetch 1 ,mem_24g_rxdata_temp + 9 
-0244 20400234 call p_dongle_receive_dpi_data_compare 
-0245 6fe0c5f2 fetch 1 ,mem_24g_rxdata_temp + 10 
-0246 20200248 branch p_dongle_receive_battery_data_compare 
+025f 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0260 1f20f3ff increase -1 ,loopcnt 
+0261 da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
+0262 da4047ff arg mem_usb_get_report_sn_data ,regb 
+0263 20407d64 call compare_loop 
+0264 20628000 rtn zero 
+0265 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
+0266 67e347ff store 6 ,mem_usb_get_report_sn_data 
+0267 6fe145f4 fetch 2 ,mem_24g_rxdata_temp + 12 
+0268 67e14808 store 2 ,mem_usb_get_report_mouse_version_data 
+0269 6fe145f1 fetch 2 ,mem_24g_rxdata_temp + 9 
+026a 2040024f call p_dongle_receive_dpi_data_compare 
+026b 6fe0c5f3 fetch 1 ,mem_24g_rxdata_temp + 11 
+026c 2020026e branch p_dongle_receive_battery_data_compare 
 
 p_dongle_receive_battery_data:
-0247 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+026d 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
 
 p_dongle_receive_battery_data_compare:
-0248 6848c806 fetcht 1 ,mem_usb_get_report_battery_data 
-0249 98467c00 isub temp ,null 
-024a 20628000 rtn zero 
-024b 67e0c806 store 1 ,mem_usb_get_report_battery_data 
-024c 20200138 branch p_dongle_usb_tx_ep2_battery_data 
+026e 6848c807 fetcht 1 ,mem_usb_get_report_battery_data 
+026f 98467c00 isub temp ,null 
+0270 20628000 rtn zero 
+0271 67e0c807 store 1 ,mem_usb_get_report_battery_data 
+0272 20200138 branch p_dongle_usb_tx_ep2_battery_data 
 
 p_dongle_usb_tx_enable_ep2:
-024d 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-024e 207a0000 rtn blank 
-024f da204912 arg mem_usb_ep2_fifo ,rega 
-0250 20407da5 call fifo_is_full 
-0251 247a0000 nrtn blank 
-0252 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0253 67e0866f store 1 ,mem_fifo_temp 
-0254 da204912 arg mem_usb_ep2_fifo ,rega 
-0255 20207d8b branch fifo_in 
+0273 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0274 207a0000 rtn blank 
+0275 da204965 arg mem_usb_ep2_fifo ,rega 
+0276 20407da5 call fifo_is_full 
+0277 247a0000 nrtn blank 
+0278 6fe0890c fetch 1 ,mem_usb_ep2_data 
+0279 67e0866f store 1 ,mem_fifo_temp 
+027a da204965 arg mem_usb_ep2_fifo ,rega 
+027b 20207d8b branch fifo_in 
 
 p_usb_tx_data_ep1:
-0256 6ff08c25 fetch 1 ,core_usb_txbusy 
-0257 1fe17e0f and_into 0x0f ,pdata 
-0258 247a0000 nrtn blank 
-0259 6fe0890d fetch 1 ,mem_usb_tx_enable 
-025a c4008000 rtnbit0 1 
-025b 6fe0890d fetch 1 ,mem_usb_tx_enable 
-025c 793ffe01 set0 1 ,pdata 
-025d 67e0890d store 1 ,mem_usb_tx_enable 
-025e 6fe0890b fetch 1 ,mem_usb_ep1_data 
-025f 207a0000 rtn blank 
-0260 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-0261 c0088263 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-0262 2020235a branch assert 
+027c 6ff08c25 fetch 1 ,core_usb_txbusy 
+027d 1fe17e0f and_into 0x0f ,pdata 
+027e 247a0000 nrtn blank 
+027f 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0280 c4008000 rtnbit0 1 
+0281 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0282 793ffe01 set0 1 ,pdata 
+0283 67e0890d store 1 ,mem_usb_tx_enable 
+0284 6fe0890b fetch 1 ,mem_usb_ep1_data 
+0285 207a0000 rtn blank 
+0286 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+0287 c0088289 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+0288 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-0263 6fe0c925 fetch 1 ,mem_usb_website_step 
-0264 c000026f beq key_release ,p_usb_webstie_key_release_data 
-0265 c0008271 beq website_win ,p_usb_website_winr_data 
-0266 c001027f beq website_r_space_release ,p_usb_website_r_space_release_data 
-0267 c0018283 beq website_win_release ,p_usb_website_win_release_data 
-0268 c0020293 beq website_wait ,p_usb_website_wait_tx_data 
-0269 c002829a beq website_data ,p_usb_website_data 
-026a c0030289 beq website_enter_1 ,p_usb_website_enter_data1 
-026b c003828d beq website_enter_release_1 ,p_usb_website_enter_release_data1 
-026c c004028f beq website_enter_2 ,p_usb_website_enter_data2 
-026d c0048291 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
-026e 20600000 rtn 
+0289 6fe0c978 fetch 1 ,mem_usb_website_step 
+028a c0000295 beq key_release ,p_usb_webstie_key_release_data 
+028b c0008297 beq website_win ,p_usb_website_winr_data 
+028c c00102a5 beq website_r_space_release ,p_usb_website_r_space_release_data 
+028d c00182a9 beq website_win_release ,p_usb_website_win_release_data 
+028e c00202b9 beq website_wait ,p_usb_website_wait_tx_data 
+028f c00282c0 beq website_data ,p_usb_website_data 
+0290 c00302af beq website_enter_1 ,p_usb_website_enter_data1 
+0291 c00382b3 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
+0292 c00402b5 beq website_enter_2 ,p_usb_website_enter_data2 
+0293 c00482b7 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
+0294 20600000 rtn 
 
 p_usb_webstie_key_release_data:
-026f 70492501 jam website_win ,mem_usb_website_step 
-0270 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
+0295 70497801 jam website_win ,mem_usb_website_step 
+0296 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
 
 p_usb_website_winr_data:
-0271 dfe0492b arg mem_usb_website_info + 1 ,pdata 
-0272 67e14928 store 2 ,mem_usb_website_ptr 
-0273 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-0274 c0000277 beq 0 ,p_usb_tx_winos_winr_data 
-0275 c000827b beq 1 ,p_usb_tx_macos_winr_data 
-0276 20600000 rtn 
+0297 dfe0497e arg mem_usb_website_info + 1 ,pdata 
+0298 67e1497b store 2 ,mem_usb_website_ptr 
+0299 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+029a c000029d beq 0 ,p_usb_tx_winos_winr_data 
+029b c00082a1 beq 1 ,p_usb_tx_macos_winr_data 
+029c 20600000 rtn 
 
 p_usb_tx_winos_winr_data:
-0277 70492502 jam website_r_space_release ,mem_usb_website_step 
-0278 6fe1c91b fetch 3 ,mem_usb_win_cmd 
-0279 67e18923 store 3 ,mem_usb_kb_data 
-027a 20207c28 branch usb_tx_kb_normal_data 
+029d 70497802 jam website_r_space_release ,mem_usb_website_step 
+029e 6fe1c96e fetch 3 ,mem_usb_win_cmd 
+029f 67e18923 store 3 ,mem_usb_kb_data 
+02a0 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_macos_winr_data:
-027b 70492502 jam website_r_space_release ,mem_usb_website_step 
-027c 6fe1c91e fetch 3 ,mem_usb_mac_cmd 
-027d 67e18923 store 3 ,mem_usb_kb_data 
-027e 20207c28 branch usb_tx_kb_normal_data 
+02a1 70497802 jam website_r_space_release ,mem_usb_website_step 
+02a2 6fe1c971 fetch 3 ,mem_usb_mac_cmd 
+02a3 67e18923 store 3 ,mem_usb_kb_data 
+02a4 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_r_space_release_data:
-027f 70492503 jam website_win_release ,mem_usb_website_step 
-0280 6fe0c91b fetch 1 ,mem_usb_win_cmd 
-0281 67e08923 store 1 ,mem_usb_kb_data 
-0282 20207c28 branch usb_tx_kb_normal_data 
+02a5 70497803 jam website_win_release ,mem_usb_website_step 
+02a6 6fe0c96e fetch 1 ,mem_usb_win_cmd 
+02a7 67e08923 store 1 ,mem_usb_kb_data 
+02a8 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_win_release_data:
-0283 70492504 jam website_wait ,mem_usb_website_step 
+02a9 70497804 jam website_wait ,mem_usb_website_step 
 
 p_usb_webstie_release_data:
-0284 d8a00923 arg mem_usb_kb_data ,contw 
-0285 df200008 arg 8 ,loopcnt 
-0286 20407ca3 call memset0 
-0287 70492700 jam 0 ,mem_usb_website_release_flag 
-0288 20207c28 branch usb_tx_kb_normal_data 
+02aa d8a00923 arg mem_usb_kb_data ,contw 
+02ab df200008 arg 8 ,loopcnt 
+02ac 20407ca3 call memset0 
+02ad 70497a00 jam 0 ,mem_usb_website_release_flag 
+02ae 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_data1:
-0289 70492507 jam website_enter_release_1 ,mem_usb_website_step 
+02af 70497807 jam website_enter_release_1 ,mem_usb_website_step 
 
 p_usb_webstie_enter_data:
-028a 6fe1c921 fetch 3 ,mem_usb_kb_enter 
-028b 67e18923 store 3 ,mem_usb_kb_data 
-028c 20207c28 branch usb_tx_kb_normal_data 
+02b0 6fe1c974 fetch 3 ,mem_usb_kb_enter 
+02b1 67e18923 store 3 ,mem_usb_kb_data 
+02b2 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_release_data1:
-028d 70492508 jam website_enter_2 ,mem_usb_website_step 
-028e 20200284 branch p_usb_webstie_release_data 
+02b3 70497808 jam website_enter_2 ,mem_usb_website_step 
+02b4 202002aa branch p_usb_webstie_release_data 
 
 p_usb_website_enter_data2:
-028f 70492509 jam website_enter_release_2 ,mem_usb_website_step 
-0290 2020028a branch p_usb_webstie_enter_data 
+02b5 70497809 jam website_enter_release_2 ,mem_usb_website_step 
+02b6 202002b0 branch p_usb_webstie_enter_data 
 
 p_usb_website_enter_release_data2:
-0291 70492500 jam website_done ,mem_usb_website_step 
-0292 20200284 branch p_usb_webstie_release_data 
+02b7 70497800 jam website_done ,mem_usb_website_step 
+02b8 202002aa branch p_usb_webstie_release_data 
 
 p_usb_website_wait_tx_data:
-0293 6fe0c924 fetch 1 ,mem_usb_website_wait_count 
-0294 1fe0fe01 increase 1 ,pdata 
-0295 67e0c924 store 1 ,mem_usb_website_wait_count 
-0296 c1878000 rtnne website_wait_count 
-0297 70492400 jam 0 ,mem_usb_website_wait_count 
-0298 70492505 jam website_data ,mem_usb_website_step 
-0299 20600000 rtn 
+02b9 6fe0c977 fetch 1 ,mem_usb_website_wait_count 
+02ba 1fe0fe01 increase 1 ,pdata 
+02bb 67e0c977 store 1 ,mem_usb_website_wait_count 
+02bc c1878000 rtnne website_wait_count 
+02bd 70497700 jam 0 ,mem_usb_website_wait_count 
+02be 70497805 jam website_data ,mem_usb_website_step 
+02bf 20600000 rtn 
 
 p_usb_website_data:
-029a 6fe0c927 fetch 1 ,mem_usb_website_release_flag 
-029b c0008284 beq 1 ,p_usb_webstie_release_data 
-029c c00002a0 beq 0 ,p_usb_website_info_data 
-029d 20600000 rtn 
+02c0 6fe0c97a fetch 1 ,mem_usb_website_release_flag 
+02c1 c00082aa beq 1 ,p_usb_webstie_release_data 
+02c2 c00002c6 beq 0 ,p_usb_website_info_data 
+02c3 20600000 rtn 
 
 p_usb_webstie_info_data_done:
-029e 70492506 jam website_enter_1 ,mem_usb_website_step 
-029f 20600000 rtn 
+02c4 70497806 jam website_enter_1 ,mem_usb_website_step 
+02c5 20600000 rtn 
 
 p_usb_website_info_data:
-02a0 d840492b arg mem_usb_website_info + 1 ,temp 
-02a1 6fe0c92a fetch 1 ,mem_usb_website_info 
-02a2 98408400 iadd temp ,temp 
-02a3 6fe14928 fetch 2 ,mem_usb_website_ptr 
-02a4 98467c00 isub temp ,null 
-02a5 2022829e branch p_usb_webstie_info_data_done ,zero 
-02a6 204002b0 call p_usb_tx_website_acii2hidkey 
-02a7 204002d2 call p_usb_tx_website_need_shift 
-02a8 6fe0c926 fetch 1 ,mem_usb_website_shift_flag 
-02a9 67e08923 store 1 ,mem_usb_kb_data 
-02aa 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
-02ab 6fe14928 fetch 2 ,mem_usb_website_ptr 
-02ac 1fe0fe01 increase 1 ,pdata 
-02ad 67e14928 store 2 ,mem_usb_website_ptr 
-02ae 70492701 jam 1 ,mem_usb_website_release_flag 
-02af 20207c28 branch usb_tx_kb_normal_data 
+02c6 d840497e arg mem_usb_website_info + 1 ,temp 
+02c7 6fe0c97d fetch 1 ,mem_usb_website_info 
+02c8 98408400 iadd temp ,temp 
+02c9 6fe1497b fetch 2 ,mem_usb_website_ptr 
+02ca 98467c00 isub temp ,null 
+02cb 202282c4 branch p_usb_webstie_info_data_done ,zero 
+02cc 204002d6 call p_usb_tx_website_acii2hidkey 
+02cd 204002f8 call p_usb_tx_website_need_shift 
+02ce 6fe0c979 fetch 1 ,mem_usb_website_shift_flag 
+02cf 67e08923 store 1 ,mem_usb_kb_data 
+02d0 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
+02d1 6fe1497b fetch 2 ,mem_usb_website_ptr 
+02d2 1fe0fe01 increase 1 ,pdata 
+02d3 67e1497b store 2 ,mem_usb_website_ptr 
+02d4 70497a01 jam 1 ,mem_usb_website_release_flag 
+02d5 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_website_acii2hidkey:
-02b0 68494928 fetcht 2 ,mem_usb_website_ptr 
-02b1 efe08002 ifetch 1 ,temp 
-02b2 1fe67c7a sub pdata ,0x7a ,null 
-02b3 242102b7 nbranch p_usb_tx_website_acii2hidkey1 ,positive 
-02b4 da400061 arg 0x61 ,regb 
-02b5 9a462200 isub regb ,rega 
-02b6 202102ce branch p_usb_tx_website_acii2keycode_a2z ,positive 
+02d6 6849497b fetcht 2 ,mem_usb_website_ptr 
+02d7 efe08002 ifetch 1 ,temp 
+02d8 1fe67c7a sub pdata ,0x7a ,null 
+02d9 242102dd nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+02da da400061 arg 0x61 ,regb 
+02db 9a462200 isub regb ,rega 
+02dc 202102f4 branch p_usb_tx_website_acii2keycode_a2z ,positive 
 
 p_usb_tx_website_acii2hidkey1:
-02b7 efe08002 ifetch 1 ,temp 
-02b8 1fe67c39 sub pdata ,0x39 ,null 
-02b9 242102bd nbranch p_usb_tx_website_acii2keycode_sign ,positive 
-02ba da400030 arg 0x30 ,regb 
-02bb 9a462200 isub regb ,rega 
-02bc 202102d0 branch p_usb_tx_website_acii2keycode_029 ,positive 
+02dd efe08002 ifetch 1 ,temp 
+02de 1fe67c39 sub pdata ,0x39 ,null 
+02df 242102e3 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+02e0 da400030 arg 0x30 ,regb 
+02e1 9a462200 isub regb ,rega 
+02e2 202102f6 branch p_usb_tx_website_acii2keycode_029 ,positive 
 
 p_usb_tx_website_acii2keycode_sign:
-02bd 1fe67c3a sub pdata ,0x3a ,null 
-02be 202282c6 branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
-02bf 1fe67c2f sub pdata ,0x2f ,null 
-02c0 202282c8 branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
-02c1 1fe67c2e sub pdata ,0x2e ,null 
-02c2 202282ca branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
-02c3 1fe67c2d sub pdata ,0x2d ,null 
-02c4 202282cc branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
-02c5 20600000 rtn 
+02e3 1fe67c3a sub pdata ,0x3a ,null 
+02e4 202282ec branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+02e5 1fe67c2f sub pdata ,0x2f ,null 
+02e6 202282ee branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+02e7 1fe67c2e sub pdata ,0x2e ,null 
+02e8 202282f0 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+02e9 1fe67c2d sub pdata ,0x2d ,null 
+02ea 202282f2 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
+02eb 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_3a:
-02c6 da200033 arg 0x33 ,rega 
-02c7 20600000 rtn 
+02ec da200033 arg 0x33 ,rega 
+02ed 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2f:
-02c8 da200038 arg 0x38 ,rega 
-02c9 20600000 rtn 
+02ee da200038 arg 0x38 ,rega 
+02ef 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2e:
-02ca da200037 arg 0x37 ,rega 
-02cb 20600000 rtn 
+02f0 da200037 arg 0x37 ,rega 
+02f1 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2d:
-02cc da20002d arg 0x2d ,rega 
-02cd 20600000 rtn 
+02f2 da20002d arg 0x2d ,rega 
+02f3 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_a2z:
-02ce 1a20a204 add rega ,4 ,rega 
-02cf 20600000 rtn 
+02f4 1a20a204 add rega ,4 ,rega 
+02f5 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_029:
-02d0 1a20a227 add rega ,0x27 ,rega 
-02d1 20600000 rtn 
+02f6 1a20a227 add rega ,0x27 ,rega 
+02f7 20600000 rtn 
 
 p_usb_tx_website_need_shift:
-02d2 70492600 jam 0 ,mem_usb_website_shift_flag 
-02d3 6fe14928 fetch 2 ,mem_usb_website_ptr 
-02d4 efe0803f ifetch 1 ,pdata 
-02d5 d8c04953 arg mem_usb_website_info_sign + 1 ,contr 
-02d6 6848c952 fetcht 1 ,mem_usb_website_info_sign 
-02d7 18427200 copy temp ,loopcnt 
+02f8 70497900 jam 0 ,mem_usb_website_shift_flag 
+02f9 6fe1497b fetch 2 ,mem_usb_website_ptr 
+02fa efe0803f ifetch 1 ,pdata 
+02fb d8c049a6 arg mem_usb_website_info_sign + 1 ,contr 
+02fc 6848c9a5 fetcht 1 ,mem_usb_website_info_sign 
+02fd 18427200 copy temp ,loopcnt 
 
 p_usb_tx_website_need_shift_check_loop:
-02d8 e8408006 ifetcht 1 ,contr 
-02d9 98467c00 isub temp ,null 
-02da 202282dd branch p_usb_tx_website_need_shift_setflag ,zero 
-02db c20002d8 loop p_usb_tx_website_need_shift_check_loop 
-02dc 20600000 rtn 
+02fe e8408006 ifetcht 1 ,contr 
+02ff 98467c00 isub temp ,null 
+0300 20228303 branch p_usb_tx_website_need_shift_setflag ,zero 
+0301 c20002fe loop p_usb_tx_website_need_shift_check_loop 
+0302 20600000 rtn 
 
 p_usb_tx_website_need_shift_setflag:
-02dd 70492602 jam 2 ,mem_usb_website_shift_flag 
-02de 20600000 rtn 
+0303 70497902 jam 2 ,mem_usb_website_shift_flag 
+0304 20600000 rtn 
 
 p_usb_tx_data_ep2:
-02df da204912 arg mem_usb_ep2_fifo ,rega 
-02e0 20407da3 call fifo_is_empty 
-02e1 207a0000 rtn blank 
-02e2 6ff08c25 fetch 1 ,core_usb_txbusy 
-02e3 1fe17e0f and_into 0x0f ,pdata 
-02e4 247a0000 nrtn blank 
-02e5 6fe0890d fetch 1 ,mem_usb_tx_enable 
-02e6 c4010000 rtnbit0 2 
-02e7 6fe0890d fetch 1 ,mem_usb_tx_enable 
-02e8 793ffe02 set0 2 ,pdata 
-02e9 67e0890d store 1 ,mem_usb_tx_enable 
-02ea da204912 arg mem_usb_ep2_fifo ,rega 
-02eb 20407d97 call fifo_out 
-02ec 207a0000 rtn blank 
-02ed c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-02ee c0120306 beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
-02ef c01302fe beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
-02f0 c01182fe beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
-02f1 c01482fe beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
-02f2 c012830d beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
-02f3 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-02f4 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-02f5 c01382f7 beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-02f6 2020235a branch assert 
+0305 da204965 arg mem_usb_ep2_fifo ,rega 
+0306 20407da3 call fifo_is_empty 
+0307 207a0000 rtn blank 
+0308 6ff08c25 fetch 1 ,core_usb_txbusy 
+0309 1fe17e0f and_into 0x0f ,pdata 
+030a 247a0000 nrtn blank 
+030b 6fe0890d fetch 1 ,mem_usb_tx_enable 
+030c c4010000 rtnbit0 2 
+030d 6fe0890d fetch 1 ,mem_usb_tx_enable 
+030e 793ffe02 set0 2 ,pdata 
+030f 67e0890d store 1 ,mem_usb_tx_enable 
+0310 da204965 arg mem_usb_ep2_fifo ,rega 
+0311 20407d97 call fifo_out 
+0312 207a0000 rtn blank 
+0313 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+0314 c012032d beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
+0315 c0130325 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
+0316 c0148325 beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
+0317 c0118325 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
+0318 c018033b beq usb_ep2_key ,p_usb_tx_dongle_ep2_key_data 
+0319 c0128334 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
+031a c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+031b c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+031c c013831e beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+031d 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-02f7 6fe0c80e fetch 1 ,mem_usb_rf_state_data 
-02f8 207a0000 rtn blank 
-02f9 1fe27200 copy pdata ,loopcnt 
-02fa d8c0480f arg mem_usb_rf_state_data + 1 ,contr 
-02fb 20407bdb call usb_tx_ep2 
-02fc d8a0480e arg mem_usb_rf_state_data ,contw 
-02fd 20200304 branch p_usb_tx_buff_clr 
+031e 6fe0c810 fetch 1 ,mem_usb_rf_state_data 
+031f 207a0000 rtn blank 
+0320 1fe27200 copy pdata ,loopcnt 
+0321 d8c04811 arg mem_usb_rf_state_data + 1 ,contr 
+0322 20407bdb call usb_tx_ep2 
+0323 d8a04810 arg mem_usb_rf_state_data ,contw 
+0324 2020032b branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_data:
-02fe 6fe0c84f fetch 1 ,mem_dongle_usb_ep2_data 
-02ff 207a0000 rtn blank 
-0300 1fe27200 copy pdata ,loopcnt 
-0301 d8c04850 arg mem_dongle_usb_ep2_data + 1 ,contr 
-0302 20407bdb call usb_tx_ep2 
-0303 d8a0484f arg mem_dongle_usb_ep2_data ,contw 
+0325 6fe0c851 fetch 1 ,mem_dongle_usb_ep2_data 
+0326 207a0000 rtn blank 
+0327 1fe27200 copy pdata ,loopcnt 
+0328 d8c04852 arg mem_dongle_usb_ep2_data + 1 ,contr 
+0329 20407bdb call usb_tx_ep2 
+032a d8a04851 arg mem_dongle_usb_ep2_data ,contw 
 
 p_usb_tx_buff_clr:
-0304 df200041 arg 65 ,loopcnt 
-0305 20207ca1 branch clear_mem 
+032b df200041 arg 65 ,loopcnt 
+032c 20207ca1 branch clear_mem 
 
 p_usb_tx_dongle_ep2_dpi_data:
-0306 6fe0c890 fetch 1 ,mem_usb_dpi_info_data 
-0307 207a0000 rtn blank 
-0308 1fe27200 copy pdata ,loopcnt 
-0309 d8c04891 arg mem_usb_dpi_info_data + 1 ,contr 
-030a 20407bdb call usb_tx_ep2 
-030b d8a04890 arg mem_usb_dpi_info_data ,contw 
-030c 20200304 branch p_usb_tx_buff_clr 
+032d 6fe0c892 fetch 1 ,mem_usb_dpi_info_data 
+032e 207a0000 rtn blank 
+032f 1fe27200 copy pdata ,loopcnt 
+0330 d8c04893 arg mem_usb_dpi_info_data + 1 ,contr 
+0331 20407bdb call usb_tx_ep2 
+0332 d8a04892 arg mem_usb_dpi_info_data ,contw 
+0333 2020032b branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_battery_data:
-030d 6fe0c8d1 fetch 1 ,mem_usb_battery_info_data 
-030e 207a0000 rtn blank 
-030f 1fe27200 copy pdata ,loopcnt 
-0310 d8c048d2 arg mem_usb_battery_info_data + 1 ,contr 
-0311 20407bdb call usb_tx_ep2 
-0312 d8a048d1 arg mem_usb_battery_info_data ,contw 
-0313 20200304 branch p_usb_tx_buff_clr 
+0334 6fe0c8d3 fetch 1 ,mem_usb_battery_info_data 
+0335 207a0000 rtn blank 
+0336 1fe27200 copy pdata ,loopcnt 
+0337 d8c048d4 arg mem_usb_battery_info_data + 1 ,contr 
+0338 20407bdb call usb_tx_ep2 
+0339 d8a048d3 arg mem_usb_battery_info_data ,contw 
+033a 2020032b branch p_usb_tx_buff_clr 
+
+p_usb_tx_dongle_ep2_key_data:
+033b 6fe0c914 fetch 1 ,mem_usb_key_info_data 
+033c 207a0000 rtn blank 
+033d 1fe27200 copy pdata ,loopcnt 
+033e d8c04915 arg mem_usb_key_info_data + 1 ,contr 
+033f 20407bdb call usb_tx_ep2 
+0340 d8a04914 arg mem_usb_key_info_data ,contw 
+0341 2020032b branch p_usb_tx_buff_clr 
 
 p_rx_dcoc:
-0314 20758000 rtn wake 
-0315 20402160 call set_sync_on 
-0316 d8400027 arg 39 ,temp 
-0317 2040216f call set_freq_rx 
-0318 204021a6 call rf_rx_enable 
-0319 708a257f jam 0x7f ,0x8a25 
-031a 708a301a jam 0x1a ,0x8a30 
-031b 708a3178 jam 0x78 ,0x8a31 
-031c 708a8fb2 jam 0xb2 ,0x8a8f 
-031d 708ac200 jam 0 ,0x8ac2 
-031e 708ac300 jam 0 ,0x8ac3 
-031f d8e00006 arg 6 ,queue 
-0320 20400331 call p_rx_dcoc_avg 
-0321 2a2ffe0d isolate1 13 ,rega 
-0322 2040211d call qset_start 
-0323 2a4ffe0d isolate1 13 ,regb 
-0324 2040211e call qset_p 
-0325 d8e00005 arg 5 ,queue 
+0342 20758000 rtn wake 
+0343 20402160 call set_sync_on 
+0344 d8400027 arg 39 ,temp 
+0345 2040216f call set_freq_rx 
+0346 204021a6 call rf_rx_enable 
+0347 708a257f jam 0x7f ,0x8a25 
+0348 708a301a jam 0x1a ,0x8a30 
+0349 708a3178 jam 0x78 ,0x8a31 
+034a 708a8fb2 jam 0xb2 ,0x8a8f 
+034b 708ac200 jam 0 ,0x8ac2 
+034c 708ac300 jam 0 ,0x8ac3 
+034d d8e00006 arg 6 ,queue 
+034e 2040035f call p_rx_dcoc_avg 
+034f 2a2ffe0d isolate1 13 ,rega 
+0350 2040211d call qset_start 
+0351 2a4ffe0d isolate1 13 ,regb 
+0352 2040211e call qset_p 
+0353 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0326 2040211c call qset1_p 
-0327 2040211e call qset_p 
-0328 20400331 call p_rx_dcoc_avg 
-0329 d8a08ac2 arg 0x8ac2 ,contw 
-032a 1a31fe00 rshift4 rega ,pdata 
-032b 20402117 call qsetxor 
-032c 1a51fe00 rshift4 regb ,pdata 
-032d 20402117 call qsetxor 
-032e 18e08fff increase -1 ,queue 
-032f 20210326 branch p_rx_dcoc_loop2 ,positive 
-0330 2020214f branch rx_dcoc_loop2 + 10 
+0354 2040211c call qset1_p 
+0355 2040211e call qset_p 
+0356 2040035f call p_rx_dcoc_avg 
+0357 d8a08ac2 arg 0x8ac2 ,contw 
+0358 1a31fe00 rshift4 rega ,pdata 
+0359 20402117 call qsetxor 
+035a 1a51fe00 rshift4 regb ,pdata 
+035b 20402117 call qsetxor 
+035c 18e08fff increase -1 ,queue 
+035d 20210354 branch p_rx_dcoc_loop2 ,positive 
+035e 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0331 2000003c nop 60 
-0332 58000f00 setarg mem_dcoc_buf 
-0333 67f10982 store 2 ,0x8982 
-0334 58000ff0 setarg mem_dcoc_buf_end 
-0335 67f10984 store 2 ,0x8984 
-0336 70898109 jam 0x9 ,0x8981 
-0337 70898103 jam 0x3 ,0x8981 
-0338 70898006 jam 0x6 ,0x8980 
-0339 2000003c nop 60 
-033a da200000 arg 0 ,rega 
-033b da400000 arg 0 ,regb 
-033c df200010 arg 16 ,loopcnt 
-033d d8c00f00 arg mem_dcoc_buf ,contr 
-033e 2020212d branch rx_dcoc_loop 
+035f 2000003c nop 60 
+0360 58000f00 setarg mem_dcoc_buf 
+0361 67f10982 store 2 ,0x8982 
+0362 58000ff0 setarg mem_dcoc_buf_end 
+0363 67f10984 store 2 ,0x8984 
+0364 70898109 jam 0x9 ,0x8981 
+0365 70898103 jam 0x3 ,0x8981 
+0366 70898006 jam 0x6 ,0x8980 
+0367 2000003c nop 60 
+0368 da200000 arg 0 ,rega 
+0369 da400000 arg 0 ,regb 
+036a df200010 arg 16 ,loopcnt 
+036b d8c00f00 arg mem_dcoc_buf ,contr 
+036c 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-033f 20758000 rtn wake 
-0340 20202272 branch rfpll_aac_ghpc + 1 
+036d 20758000 rtn wake 
+036e 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-0341 20600000 rtn 
+036f 20600000 rtn 
 
 p_sadc_calibration:
-0342 20758000 rtn wake 
-0343 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0344 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0345 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0346 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0347 67f080cd store 1 ,core_sadc_clkdiv 
-0348 20000bb8 nop 3000 
-0349 2040036a call p_sadc_read 
-034a 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-034b 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-034c df200008 arg 8 ,loopcnt 
-034d 20406f58 call sadc_cal_read + 1 
-034e 6fe0c419 fetch 1 ,mem_spi_write_addr 
-034f 67e0c433 store 1 ,mem_adc_cal_c7 
-0350 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0351 20600000 rtn 
+0370 20758000 rtn wake 
+0371 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0372 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+0373 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0374 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0375 67f080cd store 1 ,core_sadc_clkdiv 
+0376 20000bb8 nop 3000 
+0377 20400398 call p_sadc_read 
+0378 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0379 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+037a df200008 arg 8 ,loopcnt 
+037b 20406f58 call sadc_cal_read + 1 
+037c 6fe0c419 fetch 1 ,mem_spi_write_addr 
+037d 67e0c433 store 1 ,mem_adc_cal_c7 
+037e 6240c419 storer regb ,1 ,mem_spi_write_addr 
+037f 20600000 rtn 
 
 p_enable_adc:
-0352 20400360 call p_sadc_cal_write 
-0353 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-0354 793ffe07 set0 7 ,pdata 
-0355 67f08a09 store 1 ,core_gpadc_cfg1 
-0356 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0357 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0358 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0359 20406f90 call sadc_channel 
-035a 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-035b 67f080cd store 1 ,core_sadc_clkdiv 
-035c 20000bb8 nop 3000 
-035d 2040036a call p_sadc_read 
-035e 7080cd00 jam 0 ,core_sadc_clkdiv 
-035f 20206fa1 branch sadc_dma 
+0380 2040038e call p_sadc_cal_write 
+0381 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+0382 793ffe07 set0 7 ,pdata 
+0383 67f08a09 store 1 ,core_gpadc_cfg1 
+0384 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0385 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0386 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0387 20406f90 call sadc_channel 
+0388 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0389 67f080cd store 1 ,core_sadc_clkdiv 
+038a 20000bb8 nop 3000 
+038b 20400398 call p_sadc_read 
+038c 7080cd00 jam 0 ,core_sadc_clkdiv 
+038d 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-0360 6ff080cc fetch 1 ,core_sadc_ctrl 
-0361 79207e01 set1 1 ,pdata 
-0362 67f080cc store 1 ,core_sadc_ctrl 
-0363 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0364 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-0365 67e0c419 store 1 ,mem_spi_write_addr 
-0366 df200008 arg 8 ,loopcnt 
-0367 20406f67 call sadc_cal_write + 4 
-0368 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0369 20600000 rtn 
+038e 6ff080cc fetch 1 ,core_sadc_ctrl 
+038f 79207e01 set1 1 ,pdata 
+0390 67f080cc store 1 ,core_sadc_ctrl 
+0391 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0392 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+0393 67e0c419 store 1 ,mem_spi_write_addr 
+0394 df200008 arg 8 ,loopcnt 
+0395 20406f67 call sadc_cal_write + 4 
+0396 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0397 20600000 rtn 
 
 p_sadc_read:
-036a 7080cc03 jam 0x03 ,core_sadc_ctrl 
+0398 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-036b 6ff08129 fetch 1 ,core_perf_status 
-036c c302836b bbit0 saradc_done ,p_sadc_read_wait 
-036d 68590164 fetcht 2 ,core_sadc_data 
-036e 6049440a storet 2 ,mem_adc_current_value 
-036f 7080cc00 jam 0x00 ,core_sadc_ctrl 
-0370 20600000 rtn 
+0399 6ff08129 fetch 1 ,core_perf_status 
+039a c3028399 bbit0 saradc_done ,p_sadc_read_wait 
+039b 68590164 fetcht 2 ,core_sadc_data 
+039c 6049440a storet 2 ,mem_adc_current_value 
+039d 7080cc00 jam 0x00 ,core_sadc_ctrl 
+039e 20600000 rtn 
 
 p_set_lemode:
-0371 708a8211 jam 0x11 ,0x8a82 
-0372 708a8d12 jam 0x12 ,0x8a8d 
-0373 708a8e0a jam 0x0a ,0x8a8e 
-0374 6fe0c099 fetch 1 ,mem_fcomp_div 
-0375 c008038a beq xtal_16m ,p_set_lemode_2m_16m 
-0376 58005762 setarg 0x5762 
-0377 67f10907 store 2 ,0x8907 
+039f 708a8211 jam 0x11 ,0x8a82 
+03a0 708a8d12 jam 0x12 ,0x8a8d 
+03a1 708a8e0a jam 0x0a ,0x8a8e 
+03a2 6fe0c099 fetch 1 ,mem_fcomp_div 
+03a3 c00803b8 beq xtal_16m ,p_set_lemode_2m_16m 
+03a4 58005762 setarg 0x5762 
+03a5 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-0378 70890103 jam 3 ,0x8901 
-0379 70893003 jam 3 ,0x8930 
-037a c6168000 rtnmark1 mark_ble_2m 
-037b 70890101 jam 1 ,0x8901 
-037c 708a8207 jam 0x07 ,0x8a82 
-037d 708a8d44 jam 0x44 ,0x8a8d 
-037e 708a8e0a jam 0x0a ,0x8a8e 
-037f 6fe0c099 fetch 1 ,mem_fcomp_div 
-0380 c0080387 beq xtal_16m ,p_set_lemode_1m_16m 
-0381 58002bb1 setarg 0x2bb1 
-0382 67f10907 store 2 ,0x8907 
+03a6 70890103 jam 3 ,0x8901 
+03a7 70893003 jam 3 ,0x8930 
+03a8 c6168000 rtnmark1 mark_ble_2m 
+03a9 70890101 jam 1 ,0x8901 
+03aa 708a8207 jam 0x07 ,0x8a82 
+03ab 708a8d44 jam 0x44 ,0x8a8d 
+03ac 708a8e0a jam 0x0a ,0x8a8e 
+03ad 6fe0c099 fetch 1 ,mem_fcomp_div 
+03ae c00803b5 beq xtal_16m ,p_set_lemode_1m_16m 
+03af 58002bb1 setarg 0x2bb1 
+03b0 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-0383 c6978000 rtnmark0 mark_ble_lr 
-0384 70893024 jam 0x24 ,0x8930 
-0385 70890105 jam 5 ,0x8901 
-0386 20600000 rtn 
+03b1 c6978000 rtnmark0 mark_ble_lr 
+03b2 70893024 jam 0x24 ,0x8930 
+03b3 70890105 jam 5 ,0x8901 
+03b4 20600000 rtn 
 
 p_set_lemode_1m_16m:
-0387 58004189 setarg 0x4189 
-0388 67f10907 store 2 ,0x8907 
-0389 20200383 branch p_set_lemode_1m 
+03b5 58004189 setarg 0x4189 
+03b6 67f10907 store 2 ,0x8907 
+03b7 202003b1 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-038a 58008312 setarg 0x8312 
-038b 67f10907 store 2 ,0x8907 
-038c 20200378 branch p_set_lemode_2m 
+03b8 58008312 setarg 0x8312 
+03b9 67f10907 store 2 ,0x8907 
+03ba 202003a6 branch p_set_lemode_2m 
 
 p_le_parse:
-038d 6fe0c334 fetch 1 ,mem_le_packet_llid 
-038e c1000000 rtneq llid_reserved 
-038f c001b04a beq llid_le_ll ,le_parse_ll 
-0390 202028e1 branch le_parse_l2cap 
+03bb 6fe0c334 fetch 1 ,mem_le_packet_llid 
+03bc c1000000 rtneq llid_reserved 
+03bd c001b04a beq llid_le_ll ,le_parse_ll 
+03be 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-0391 793f8030 set0 mark_ble_crc_fail ,mark 
-0392 20202af6 branch le_init_adv + 1 
+03bf 793f8030 set0 mark_ble_crc_fail ,mark 
+03c0 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-0393 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0394 c0553329 beq datatype_bind ,g24_bind_first_step 
-0395 c02ab33a beq datatype_config ,g24_bind_second_step 
-0396 c0110399 beq datatype_ok ,p_g24_bind_third_step 
-0397 c07fb59b beq datatype_attemp ,g24_data_attemp 
-0398 20600000 rtn 
+03c1 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+03c2 c0553329 beq datatype_bind ,g24_bind_first_step 
+03c3 c02ab33a beq datatype_config ,g24_bind_second_step 
+03c4 c01103c7 beq datatype_ok ,p_g24_bind_third_step 
+03c5 c07fb59b beq datatype_attemp ,g24_data_attemp 
+03c6 20600000 rtn 
 
 p_g24_bind_third_step:
-0399 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-039a 203a039f branch p_g24_bind_third_step_skip ,blank 
-039b 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-039c 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-039d 98467c00 isub temp ,null 
-039e 24628000 nrtn zero 
+03c7 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+03c8 203a03cd branch p_g24_bind_third_step_skip ,blank 
+03c9 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+03ca 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+03cb 98467c00 isub temp ,null 
+03cc 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-039f 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-03a0 c00083a3 beq datatype_device1 ,p_g24_bind_third_step_device1 
-03a1 c00103ab beq datatype_device2 ,p_g24_bind_third_step_device2 
-03a2 20600000 rtn 
+03cd 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+03ce c00083d1 beq datatype_device1 ,p_g24_bind_third_step_device1 
+03cf c00103d9 beq datatype_device2 ,p_g24_bind_third_step_device2 
+03d0 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-03a3 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03a4 247a0000 nrtn blank 
-03a5 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03a6 c00103a8 beq 2 ,p_g24_bind_dvc1_step_success 
-03a7 20600000 rtn 
+03d1 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03d2 247a0000 nrtn blank 
+03d3 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03d4 c00103d6 beq 2 ,p_g24_bind_dvc1_step_success 
+03d5 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-03a8 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-03a9 2040338d call g24_binding_dvc1_living 
-03aa 2020336b branch g24_bind_dvc1_step_success + 1 
+03d6 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03d7 2040338d call g24_binding_dvc1_living 
+03d8 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-03ab 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-03ac 247a0000 nrtn blank 
-03ad 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03ae c08003b0 bne 0 ,p_g24_bind_dvc2_step_success 
-03af 20600000 rtn 
+03d9 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+03da 247a0000 nrtn blank 
+03db 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03dc c08003de bne 0 ,p_g24_bind_dvc2_step_success 
+03dd 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-03b0 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-03b1 20403393 call g24_binding_dvc2_living 
-03b2 20203378 branch g24_bind_dvc2_step_success + 1 
+03de 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+03df 20403393 call g24_binding_dvc2_living 
+03e0 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-03b3 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03b4 c1000000 rtneq dongle_work 
-03b5 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-03b6 247a0000 nrtn blank 
-03b7 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-03b8 247a0000 nrtn blank 
-03b9 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-03ba 207a0000 rtn blank 
-03bb 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03bc c1800000 rtnne 0 
-03bd 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03be c1800000 rtnne 0 
-03bf 20203436 branch g24_mode_switch_bind_search + 9 
+03e1 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03e2 c1000000 rtneq dongle_work 
+03e3 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+03e4 247a0000 nrtn blank 
+03e5 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+03e6 247a0000 nrtn blank 
+03e7 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+03e8 207a0000 rtn blank 
+03e9 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03ea c1800000 rtnne 0 
+03eb 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03ec c1800000 rtnne 0 
+03ed 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-03c0 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03c1 c1808000 rtnne dongle_bind 
-03c2 204003c4 call p_g24_bind_init 
-03c3 2020346d branch g24_bind_mode_auto + 4 
+03ee 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03ef c1808000 rtnne dongle_bind 
+03f0 204003f2 call p_g24_bind_init 
+03f1 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-03c4 6fe0c615 fetch 1 ,mem_24g_mode_init 
-03c5 c3808000 rtnbit1 dongle_bind 
-03c6 79207e01 set1 dongle_bind ,pdata 
-03c7 67e0c615 store 1 ,mem_24g_mode_init 
-03c8 58000000 setarg 0 
-03c9 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-03ca 20203307 branch g24_bind_init + 8 
+03f2 6fe0c615 fetch 1 ,mem_24g_mode_init 
+03f3 c3808000 rtnbit1 dongle_bind 
+03f4 79207e01 set1 dongle_bind ,pdata 
+03f5 67e0c615 store 1 ,mem_24g_mode_init 
+03f6 58000000 setarg 0 
+03f7 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+03f8 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-03cb 204003d8 call p_wdt_kick 
-03cc 204003da call p_g24_100ms_timer_event 
-03cd 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-03ce 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-03cf 20407906 call usb_isr 
-03d0 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-03d1 207a0000 rtn blank 
-03d2 7008f700 jam 0 ,mem_usb0_get_set_report 
-03d3 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-03d4 d84003a2 arg pc_set_report_protocol ,temp 
-03d5 98467c00 isub temp ,null 
-03d6 24628000 nrtn zero 
-03d7 2020016d branch p_dongle_usb_data_received_analysis 
+03f9 20400406 call p_wdt_kick 
+03fa 20400408 call p_g24_100ms_timer_event 
+03fb 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+03fc 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+03fd 20407906 call usb_isr 
+03fe 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+03ff 207a0000 rtn blank 
+0400 7008f700 jam 0 ,mem_usb0_get_set_report 
+0401 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0402 d84003a2 arg pc_set_report_protocol ,temp 
+0403 98467c00 isub temp ,null 
+0404 24628000 nrtn zero 
+0405 20200174 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-03d8 58000010 setarg 16 
-03d9 202070c8 branch wdt_init_config 
+0406 58000010 setarg 16 
+0407 202070c8 branch wdt_init_config 
 
 p_g24_100ms_timer_event:
-03da d8e00006 arg usb_timer_100ms ,queue 
-03db 20407cef call timer_check 
-03dc 247a0000 nrtn blank 
-03dd 204003e2 call p_g24_http_over_pack_check 
-03de 204003e5 call p_g24_dongle_disconnect_state_check 
+0408 d8e00006 arg usb_timer_100ms ,queue 
+0409 20407cef call timer_check 
+040a 247a0000 nrtn blank 
+040b 20400410 call p_g24_http_over_pack_check 
+040c 20400413 call p_g24_dongle_disconnect_state_check 
 
 p_g24_100ms_timer_init:
-03df d8e00006 arg usb_timer_100ms ,queue 
-03e0 58000028 setarg 40 
-03e1 20207ce1 branch timer_init 
+040d d8e00006 arg usb_timer_100ms ,queue 
+040e 58000028 setarg 40 
+040f 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-03e2 6fe0c925 fetch 1 ,mem_usb_website_step 
-03e3 207a0000 rtn blank 
-03e4 2020020c branch p_dongle_usb_tx_http_data 
+0410 6fe0c978 fetch 1 ,mem_usb_website_step 
+0411 207a0000 rtn blank 
+0412 20200214 branch p_dongle_usb_tx_http_data 
 
 p_g24_dongle_disconnect_state_check:
-03e5 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-03e6 c4000000 rtnbit0 0 
-03e7 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
-03e8 207a0000 rtn blank 
-03e9 6fe1480c fetch 2 ,mem_dongle_no_data_count 
-03ea 1fe0fe01 increase 1 ,pdata 
-03eb 67e1480c store 2 ,mem_dongle_no_data_count 
-03ec d84004b0 arg 0x4b0 ,temp 
-03ed 98467c00 isub temp ,null 
-03ee 24610000 nrtn positive 
-03ef 58000000 setarg 0 
-03f0 67e1480c store 2 ,mem_dongle_no_data_count 
-03f1 6fe0c80b fetch 1 ,mem_dongle_connect_mouse_flag 
-03f2 207a0000 rtn blank 
-03f3 70480b00 jam 0 ,mem_dongle_connect_mouse_flag 
-03f4 20600000 rtn 
+0413 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0414 c4000000 rtnbit0 0 
+0415 6fe0c80d fetch 1 ,mem_dongle_connect_mouse_flag 
+0416 207a0000 rtn blank 
+0417 6fe1480e fetch 2 ,mem_dongle_no_data_count 
+0418 1fe0fe01 increase 1 ,pdata 
+0419 67e1480e store 2 ,mem_dongle_no_data_count 
+041a d84004b0 arg 0x4b0 ,temp 
+041b 98467c00 isub temp ,null 
+041c 24610000 nrtn positive 
+041d 58000000 setarg 0 
+041e 67e1480e store 2 ,mem_dongle_no_data_count 
+041f 6fe0c80d fetch 1 ,mem_dongle_connect_mouse_flag 
+0420 207a0000 rtn blank 
+0421 70480d00 jam 0 ,mem_dongle_connect_mouse_flag 
+0422 20600000 rtn 
 
 p_dongle_default_init:
-03f5 204047c3 call dongle_default_init + 1 
-03f6 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-03f7 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-03f8 20403281 call g24_enable_1m 
-03f9 6fe0c669 fetch 1 ,mem_dg_sys_config 
-03fa c4000000 rtnbit0 dg_enable_new_revision 
-03fb 7045ca01 jam on ,mem_24g_disable_fec1 
-03fc 20203284 branch g24_enable_2m 
+0423 204047c3 call dongle_default_init + 1 
+0424 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0425 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0426 20403281 call g24_enable_1m 
+0427 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0428 c4000000 rtnbit0 dg_enable_new_revision 
+0429 7045ca01 jam on ,mem_24g_disable_fec1 
+042a 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-03fd 6fe0c669 fetch 1 ,mem_dg_sys_config 
-03fe c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-03ff 7837fc00 enable user3 
-0400 20000018 nop 24 
-0401 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0402 79207e00 set1 bit_ack_24g ,pdata 
-0403 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0404 204033a5 call g24_ackpayload_prep 
-0405 204031e5 call g24_transmit_prep 
-0406 20203195 branch g24_transmit 
+042b 6fe0c669 fetch 1 ,mem_dg_sys_config 
+042c c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+042d 7837fc00 enable user3 
+042e 20000018 nop 24 
+042f 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0430 79207e00 set1 bit_ack_24g ,pdata 
+0431 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0432 204033a5 call g24_ackpayload_prep 
+0433 204031e5 call g24_transmit_prep 
+0434 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(revision 3936)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(working copy)
@@ -466,7 +466,7 @@
 	jam USB_EP2_BATTERY,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
-p_dongle_usb_tx_ep2_app_data:
+p_dongle_usb_tx_ep2_app_data:	//02 08 00->open app
 	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
@@ -475,6 +475,16 @@
 	jam USB_EP2_APP,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
+p_dongle_usb_tx_ep2_key_data:	//02 04 01+data->key info
+	jam 0x40,mem_usb_key_info_data
+	jam REPORT_ID_DATA_IN,mem_usb_key_info_data+1
+	jam 0x02,mem_usb_key_info_data+2
+	jam 0x04,mem_usb_key_info_data+3
+	jam 0x01,mem_usb_key_info_data+4
+	jam USB_EP2_KEY,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+	
+
 p_dongle_usb_hci_cmd_get_connect_state:
 	fetch 1,mem_dongle_connect_mouse_flag
 	beq 0,p_dongle_usb_device_disconnect
@@ -711,6 +721,7 @@
 	beq DATATYPE_DEVICE2,g24_data_device2	//keyboard
 	beq DATATYPE_ATTEMP,g24_data_receive_attemp	//reconn packet
 	bbit1 DATA_HTTP,p_g24_data_receive_device_http_dpi
+	bbit1 DATA_APP,g24_data_device1
 	bbit1 DATA_DPI,p_g24_data_receive_device_http_dpi
 	bbit1 DATA_DEVICE_INFO,p_g24_data_receive_device_http_dpi
 	branch g24_rx_interrupt_clear
@@ -730,7 +741,7 @@
 p_dongle_g24_mouse:
 	fetch 1,mem_24g_rxdata_temp+2
 	bbit1 DATA_HTTP,p_dongle_usb_tx_http_data
-	bbit1 DATA_APP,p_dongle_usb_tx_ep2_app_data
+	bbit1 DATA_APP,p_dongle_receive_app_data
 	bbit1 DATA_DPI,p_dongle_receive_dpi_data
 	bbit1 DATA_DEVICE_INFO,p_dongle_receive_device_info_data
 	bbit1 DATA_BATTERY,p_dongle_receive_battery_data
@@ -750,7 +761,7 @@
 	call memcpy
 	fetch 1,mem_24g_rxdata_temp+2
 	bbit1 DATA_HTTP,p_dongle_usb_tx_http_data
-	bbit1 DATA_APP,p_dongle_usb_tx_ep2_app_data
+	bbit1 DATA_APP,p_dongle_receive_app_data
 	bbit1 DATA_DPI,p_dongle_receive_dpi_data
 	bbit1 DATA_DEVICE_INFO,p_dongle_receive_device_info_data
 	bbit1 DATA_BATTERY,p_dongle_receive_battery_data
@@ -764,17 +775,61 @@
 	ncall dongle_g24_ms_enable_blank_data_forcibly,blank//get kb data
 	fetch 1,mem_24g_rxdata_temp+3	//key
 	call dongle_g24_ms_disable_blank_data_forcibly,blank
+	fetch 8,mem_usb_mouse_data
+	store 8,mem_mouse_usb_data_sta
+	fetcht 8,mem_mouse_usb_data_last
+	isub temp,null
+	ncall p_usb_tx_mouse_data_enable,zero
+	fetch 8,mem_mouse_usb_data_sta
+	store 8,mem_mouse_usb_data_last
+	rtn
+
+//=================tx mouse data===================//
+p_usb_tx_mouse_data_enable:
 	jam USB_EP2_MS,mem_usb_ep2_data
-	branch p_dongle_usb_tx_enable_ep2
+	call p_dongle_usb_tx_enable_ep2
 
-p_dongle_receive_dpi_data:	//rsp=len+a1+02 02 01 +dpi level
+	fetch 1,mem_usb_mouse_data+1
+	store 1,mem_usb_key_info_data+5
+	branch p_dongle_usb_tx_ep2_key_data
+
+//=================tx app data===================//
+p_dongle_receive_app_data:
 	fetch 1,mem_24g_rxdata_temp+3
+	fetcht 1,mem_dongle_app_data
+	isub temp,null
+	rtn zero
+	store 1,mem_dongle_app_data
+	fetch 1,mem_dongle_app_data
+	rtnne LONG_PRESS
+	branch p_dongle_usb_tx_ep2_app_data	
+
+//=================tx dpi data===================//
+
+p_dongle_receive_dpi_data:	//rsp=len+a1+02 02 01 +dpi level
+	fetch 2,mem_24g_rxdata_temp+3
 p_dongle_receive_dpi_data_compare:
-	fetcht 1,mem_usb_get_report_dpi_data
+	fetcht 2,mem_usb_get_report_dpi_data
 	isub temp,null
 	rtn zero
-	store 1,mem_usb_get_report_dpi_data
-	branch p_dongle_usb_tx_ep2_dpi_data
+	store 2,mem_usb_get_report_dpi_data
+	call p_dongle_usb_tx_ep2_dpi_data
+	fetch 1,mem_usb_get_report_dpi_data
+	beq RELEASE,p_dongle_dpi_key_release
+	beq PRESS,p_dongle_dpi_key_press
+	rtn
+p_dongle_dpi_key_release:
+	fetch 1,mem_usb_key_info_data+5
+	set0 5,pdata
+	branch p_dongle_dpi_key_press+2
+	
+p_dongle_dpi_key_press:
+	fetch 1,mem_usb_key_info_data+5
+	set1 5,pdata
+	store 1,mem_usb_key_info_data+5
+	branch p_dongle_usb_tx_ep2_key_data
+
+//=================tx device info  data===================//
 
 p_dongle_receive_device_info_data:	//len+6byte mac+1byte dpi+1bye battery +2byte version
 	fetchr loopcnt,1,mem_24g_rxdata_length
@@ -785,13 +840,15 @@
 	rtn zero
 	fetch 6,mem_24g_rxdata_temp+3
 	store 6,mem_usb_get_report_sn_data
-	fetch 2,mem_24g_rxdata_temp+11
+	fetch 2,mem_24g_rxdata_temp+12
 	store 2,mem_usb_get_report_mouse_version_data
-	fetch 1,mem_24g_rxdata_temp+9
+	fetch 2,mem_24g_rxdata_temp+9
 	call p_dongle_receive_dpi_data_compare
-	fetch 1,mem_24g_rxdata_temp+10
+	fetch 1,mem_24g_rxdata_temp+11
 	branch p_dongle_receive_battery_data_compare
 
+//=================tx battery data===================//
+
 p_dongle_receive_battery_data:		//1byte battery
 	fetch 1,mem_24g_rxdata_temp+3
 p_dongle_receive_battery_data_compare:
@@ -1011,8 +1068,9 @@
 	beq USB_EP2_MS,usb_tx_ms_data
 	beq USB_EP2_DPI,p_usb_tx_dongle_ep2_dpi_data
 	beq USB_EP2_SN,p_usb_tx_dongle_ep2_data
-	beq USB_EP2_DEVICE_INFO,p_usb_tx_dongle_ep2_data
 	beq USB_EP2_APP,p_usb_tx_dongle_ep2_data
+	beq USB_EP2_DEVICE_INFO,p_usb_tx_dongle_ep2_data
+	beq USB_EP2_KEY,p_usb_tx_dongle_ep2_key_data
 	beq USB_EP2_BATTERY,p_usb_tx_dongle_ep2_battery_data
 	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
 	beq USB_EP2_SYSTEMKEY,usb_tx_kb_systemkey_data
@@ -1056,6 +1114,15 @@
 	arg mem_usb_battery_info_data,contw
 	branch p_usb_tx_buff_clr
 
+p_usb_tx_dongle_ep2_key_data:
+	fetch 1,mem_usb_key_info_data
+	rtn blank
+	copy pdata,loopcnt
+	arg mem_usb_key_info_data+1,contr
+	call usb_tx_ep2
+	arg mem_usb_key_info_data,contw
+	branch p_usb_tx_buff_clr
+
 p_rx_dcoc:
 	rtn wake
 	call set_sync_on
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(revision 3936)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(working copy)
@@ -123,7 +123,7 @@
 81 02 
 C0
 
-mem_dongle_version:04 00
+mem_dongle_version:05 00
 
 mem_usb_win_cmd:08 00 15 	#win+r
 mem_usb_mac_cmd:08 00 2c 	#command+space
