Index: do.bat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/do.bat	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/do.bat	(working copy)
@@ -83,7 +83,17 @@
 perl  ../util/mergepatch.pl otp
 
 
-
+if "%device_option%" equ "dongle" (
+cd ..\output
+copy eeprom.dat ..\util\eeprom.dat
+cd ..\util
+eeprom2fulleeprom.exe eeprom.dat 64>compare2.dat
+crc16.exe compare2.dat 2 >..\output\eeprom.dat
+del eeprom.dat
+del compare2.dat
+cd ..\output
+copy eeprom.dat ..\output\flash.dat 
+)
 
 cd ..
 call set_chip_type_flag.bat 
Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(revision 3675)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(working copy)
@@ -37,9 +37,9 @@
 1 mem_dongle_usb_header
 1 mem_dongle_usb_opcode
 1 mem_dongle_usb_len
-1 mem_dongle_24g_data_ack_flag
-1 mem_dongle_24g_data_ack_len
-64 mem_dongle_g24_ack_data
+1 mem_dongle_24g_data_ack_flag	//no use
+1 mem_dongle_24g_data_ack_len	//no use
+64 mem_dongle_g24_ack_data	//no use
 220 mem_usb_ep2_config
 1 mem_24g_ackpayload_enable_temp
 6 mem_usb_get_report_sn_data
@@ -47,10 +47,12 @@
 1 mem_usb_get_report_battery_data
 2 mem_usb_get_report_mouse_version_data
 2 mem_dongle_version
+1 mem_dongle_connect_mouse_flag
+1 mem_dongle_no_data_flag
+2 mem_dongle_no_data_count
+
 65 mem_usb_rf_state_data
 65 mem_dongle_usb_ep2_data
-1 mem_usb_rf_state_report_flag
-1 mem_usb_rf_state_report_flag1
 8 mem_usb_ep2_fifo
 1 mem_dongle_freq_hop_flag
 //http
@@ -191,10 +193,6 @@
 1 MS_REPORT_ID
 2 KB_SYSTEM_CONCTRL_REPORT_ID
 3 KB_MULTIKEY_REPORT_ID
-
-0x5F MS_AUDIO_IN_ID
-0x60 MS_AUDIO_OUT_ID
-0x61 MS_AUTHCA_IN_ID
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(revision 3675)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-92
+b6
 10
 c2
 84
@@ -15,47 +15,47 @@
 c0
 01
 00
-6d
+57
 c0
 08
 80
-76
+60
 c0
 0a
 03
-ab
+98
 c0
 0a
-81
-10
+80
+fa
 c0
 0c
 01
-1e
+08
 c0
 0c
 80
-c4
+ae
 c0
 0d
 00
-84
+6e
 c0
 1b
 84
-12
+1b
 c0
 1c
 00
-e3
+cd
 c0
 1c
 80
-df
+c9
 c0
 1e
-84
-04
+83
+f2
 c0
 1f
 00
@@ -63,27 +63,27 @@
 c0
 62
 80
-dc
+c6
 c0
 6d
 03
-7c
+69
 c0
 6e
 03
-8c
+79
 c0
 7f
 01
-29
+13
 c0
 7f
 81
-bb
+ae
 c0
 7e
 81
-25
+0f
 20
 20
 23
@@ -91,43 +91,43 @@
 c0
 00
 01
-e1
+d4
 c0
 01
 02
-20
+13
 c0
 03
 02
-40
+33
 c0
 1c
 83
-c7
+b4
 c0
 26
 83
-cb
+b8
 c0
 37
 84
-1a
+23
 c0
 41
 03
-cd
+ba
 c0
 42
 02
-51
+45
 c0
 44
 03
-ec
+da
 c0
 45
 03
-f9
+e7
 c1
 46
 80
@@ -175,11 +175,11 @@
 20
 40
 00
-6a
+54
 20
 40
 00
-4d
+37
 20
 40
 00
@@ -216,102 +216,14 @@
 7a
 00
 00
-20
-40
-35
-1b
-6f
-e0
-c8
-8f
-c1
-00
-80
-00
-70
-48
-8f
-01
-70
-48
-8e
-00
-20
-20
-00
-3b
-70
-48
-0c
-40
-70
-48
-0d
-a1
-70
-48
-0e
-02
-70
-48
-0f
-04
-70
-48
-10
-01
-70
-48
-11
-00
-70
-06
-6f
-28
-da
-20
-48
-90
-20
-20
-7d
-8b
-70
-48
-0c
-40
 70
 48
 0d
-a1
-70
-48
-0e
-02
-70
-48
-0f
-04
-70
-48
-10
-01
-70
-48
-11
 01
-70
-06
-6f
-28
-da
-20
-48
-90
 20
 20
-7d
-8b
+35
+1b
 6f
 e0
 c6
@@ -327,11 +239,11 @@
 20
 40
 00
-52
+3c
 20
 20
 00
-57
+41
 6f
 e0
 c6
@@ -407,11 +319,11 @@
 20
 5a
 00
-66
+50
 20
 20
 02
-51
+45
 70
 46
 14
@@ -475,7 +387,7 @@
 20
 20
 00
-6d
+57
 70
 8a
 0f
@@ -559,7 +471,7 @@
 20
 40
 00
-e5
+cf
 37
 d9
 82
@@ -575,7 +487,7 @@
 c0
 08
 00
-b9
+a3
 6f
 e0
 c4
@@ -619,7 +531,7 @@
 20
 40
 00
-ab
+95
 70
 80
 43
@@ -643,15 +555,15 @@
 20
 40
 03
-4e
+3b
 20
 40
 03
-79
+66
 20
 40
 00
-a5
+8f
 70
 41
 48
@@ -663,7 +575,7 @@
 20
 20
 03
-7b
+68
 20
 75
 80
@@ -695,7 +607,7 @@
 c0
 0c
 00
-b1
+9b
 6f
 e0
 c4
@@ -787,7 +699,7 @@
 20
 20
 00
-97
+81
 6f
 e0
 c1
@@ -799,19 +711,19 @@
 c0
 05
 00
-cb
+b5
 c0
 4f
 00
-d0
+ba
 c0
 4f
 80
-d4
+be
 c0
 50
 00
-d8
+c2
 20
 20
 22
@@ -922,8 +834,8 @@
 f1
 20
 35
-81
-0c
+80
+f6
 6f
 e2
 02
@@ -1091,7 +1003,7 @@
 20
 20
 00
-f6
+e0
 20
 40
 68
@@ -1187,7 +1099,7 @@
 20
 40
 81
-31
+1b
 20
 20
 79
@@ -1219,7 +1131,7 @@
 58
 00
 02
-65
+5b
 67
 e1
 45
@@ -1347,7 +1259,7 @@
 20
 21
 01
-87
+86
 6f
 e0
 88
@@ -1355,7 +1267,7 @@
 c0
 80
 81
-87
+86
 ef
 e0
 80
@@ -1379,54 +1291,58 @@
 6f
 e0
 c6
+2b
+20
+3a
+01
+7e
+6f
+e0
+c6
 df
 c0
 00
 81
-5f
+4a
 c0
 01
 81
-6c
+57
 c0
 02
 81
-75
+60
 c0
 03
 01
-7e
-20
-20
-01
-87
-70
-46
-e1
-a2
+69
+c0
+03
+81
+72
 20
 20
 01
-a0
+86
 70
 48
-4d
+51
 40
 70
 48
-4e
+52
 a1
 70
 48
-4f
+53
 02
 70
 48
-50
+54
 01
 70
 48
-51
+55
 0b
 6f
 e3
@@ -1435,7 +1351,7 @@
 67
 e3
 48
-52
+56
 6f
 e1
 48
@@ -1443,7 +1359,7 @@
 67
 e1
 48
-58
+5c
 6f
 e1
 48
@@ -1451,7 +1367,7 @@
 67
 e1
 48
-5a
+5e
 70
 09
 0c
@@ -1459,26 +1375,26 @@
 20
 20
 02
-92
+88
 70
 48
-4d
+51
 40
 70
 48
-4e
+52
 a1
 70
 48
-4f
+53
 02
 70
 48
-50
+54
 02
 70
 48
-51
+55
 01
 6f
 e0
@@ -1487,7 +1403,7 @@
 67
 e0
 c8
-52
+56
 70
 09
 0c
@@ -1495,26 +1411,26 @@
 20
 20
 02
-92
+88
 70
 48
-4d
+51
 40
 70
 48
-4e
+52
 a1
 70
 48
-4f
+53
 02
 70
 48
-50
+54
 03
 70
 48
-51
+55
 06
 6f
 e3
@@ -1523,7 +1439,7 @@
 67
 e3
 48
-52
+56
 70
 09
 0c
@@ -1531,26 +1447,26 @@
 20
 20
 02
-92
+88
 70
 48
-4d
+51
 40
 70
 48
-4e
+52
 a1
 70
 48
-4f
+53
 02
 70
 48
-50
+54
 06
 70
 48
-51
+55
 01
 6f
 e0
@@ -1559,7 +1475,7 @@
 67
 e0
 c8
-52
+56
 70
 09
 0c
@@ -1567,14 +1483,94 @@
 20
 20
 02
-92
+88
+6f
+e0
+c8
+0c
+c0
+00
+01
+7e
+c0
+00
+81
+76
+20
+60
+00
+00
+70
+48
+10
+40
+70
+48
+11
+a1
+70
+48
+12
+02
+70
+48
+13
+05
+70
+48
+14
+01
 70
 48
+15
+01
+70
+09
 0c
+28
+20
+20
+02
+88
+70
+48
+10
 40
 70
 48
-0d
+11
+a1
+70
+48
+12
+02
+70
+48
+13
+05
+70
+48
+14
+01
+70
+48
+15
+00
+70
+09
+0c
+28
+20
+20
+02
+88
+70
+48
+10
+40
+70
+48
+11
 a1
 d8
 40
@@ -1623,7 +1619,7 @@
 d8
 a0
 48
-0e
+12
 6f
 e1
 c6
@@ -1663,59 +1659,11 @@
 da
 20
 48
-90
+92
 20
 20
 7d
 8b
-20
-40
-01
-a9
-70
-46
-11
-a2
-70
-47
-ff
-a2
-6f
-20
-88
-76
-1f
-20
-f2
-02
-67
-20
-c6
-e2
-d8
-c0
-08
-75
-d8
-a0
-46
-e3
-20
-20
-7c
-da
-df
-20
-00
-40
-d8
-a0
-46
-e3
-20
-20
-7c
-a1
 69
 51
 0c
@@ -1763,7 +1711,7 @@
 20
 42
 81
-ac
+9f
 1f
 26
 7c
@@ -1787,7 +1735,7 @@
 20
 40
 01
-ac
+9f
 60
 48
 c6
@@ -1807,7 +1755,7 @@
 c0
 00
 81
-d1
+c4
 1f
 26
 7c
@@ -1827,7 +1775,7 @@
 20
 20
 01
-c8
+bb
 6f
 e0
 87
@@ -1851,7 +1799,7 @@
 20
 20
 01
-e1
+d4
 6f
 e0
 88
@@ -1859,7 +1807,7 @@
 c0
 51
 01
-4d
+37
 20
 60
 00
@@ -1883,7 +1831,7 @@
 c0
 00
 81
-db
+ce
 70
 08
 f7
@@ -1947,7 +1895,7 @@
 c0
 00
 01
-e7
+da
 20
 20
 23
@@ -1971,11 +1919,11 @@
 c0
 00
 01
-ef
+e2
 c0
 00
 82
-2a
+1d
 c0
 01
 79
@@ -1991,7 +1939,7 @@
 c0
 00
 81
-f7
+ea
 c0
 01
 fa
@@ -2007,7 +1955,7 @@
 c0
 05
 82
-11
+04
 c0
 03
 f9
@@ -2062,8 +2010,8 @@
 6d
 c0
 00
-02
-06
+01
+f9
 c0
 00
 fa
@@ -2191,7 +2139,7 @@
 c0
 01
 02
-27
+1a
 c0
 01
 fa
@@ -2231,7 +2179,7 @@
 c0
 04
 82
-2f
+22
 c0
 05
 fb
@@ -2255,11 +2203,11 @@
 20
 40
 01
-46
+30
 20
 34
 02
-3c
+2f
 6f
 f1
 0c
@@ -2351,35 +2299,39 @@
 20
 40
 02
-9b
+91
 20
 20
 03
-29
+15
 6f
 e0
-c8
-8e
-c1
+c6
+2b
+c4
 00
-80
 00
-70
-48
-8f
+00
+6f
+e0
+c8
+0c
+24
+7a
+00
 00
 70
 48
-8e
+0c
 01
 20
-20
+60
+00
 00
-44
 20
 40
 02
-4c
+3f
 70
 47
 ff
@@ -2388,6 +2340,14 @@
 46
 11
 00
+58
+00
+00
+00
+67
+e1
+c8
+0d
 6f
 e0
 c5
@@ -2407,15 +2367,15 @@
 c2
 82
 02
-5c
+52
 c2
 82
 82
-5c
+52
 c2
 83
 02
-5c
+52
 20
 20
 33
@@ -2463,23 +2423,23 @@
 c2
 82
 02
-61
+57
 c2
 82
 82
-86
+7c
 c2
 83
 02
-89
+7f
 c2
 83
 82
-8f
+85
 20
 20
 02
-6b
+61
 6f
 e0
 c5
@@ -2491,11 +2451,11 @@
 20
 22
 82
-7c
+72
 20
 40
 02
-7c
+72
 6f
 e0
 c5
@@ -2531,19 +2491,19 @@
 c2
 82
 02
-61
+57
 c2
 82
 82
-86
+7c
 c2
 83
 02
-89
+7f
 c2
 83
 82
-8f
+85
 20
 60
 00
@@ -2587,7 +2547,7 @@
 20
 20
 02
-92
+88
 6f
 e0
 c5
@@ -2599,7 +2559,7 @@
 20
 20
 01
-6c
+57
 6f
 e0
 c5
@@ -2647,7 +2607,7 @@
 da
 20
 48
-90
+92
 20
 40
 7d
@@ -2667,7 +2627,7 @@
 da
 20
 48
-90
+92
 20
 20
 7d
@@ -2719,7 +2679,7 @@
 c0
 08
 82
-a8
+9e
 20
 20
 23
@@ -2727,43 +2687,43 @@
 6f
 e0
 c8
-a3
+a5
 c0
 00
 02
-b3
+a9
 c0
 00
 82
-bf
+b5
 c0
 01
 02
-c3
+b9
 c0
 01
 82
-d3
+c9
 c0
 02
 02
-da
+d0
 c0
 02
 82
-c9
+bf
 c0
 03
 02
-cd
+c3
 c0
 03
 82
-cf
+c5
 c0
 04
 02
-d1
+c7
 20
 60
 00
@@ -2775,23 +2735,23 @@
 c0
 00
 02
-b7
+ad
 c0
 00
 82
-bb
+b1
 20
 60
 00
 00
 70
 48
-a3
+a5
 01
 6f
 e1
 c8
-99
+9b
 67
 e1
 89
@@ -2802,12 +2762,12 @@
 28
 70
 48
-a3
+a5
 01
 6f
 e1
 c8
-9c
+9e
 67
 e1
 89
@@ -2818,12 +2778,12 @@
 28
 70
 48
-a3
+a5
 02
 6f
 e0
 c8
-99
+9b
 67
 e0
 89
@@ -2834,7 +2794,7 @@
 28
 70
 48
-a3
+a5
 03
 d8
 a0
@@ -2850,7 +2810,7 @@
 a3
 70
 48
-a5
+a7
 00
 20
 20
@@ -2858,12 +2818,12 @@
 28
 70
 48
-a3
+a5
 06
 6f
 e1
 c8
-9f
+a1
 67
 e1
 89
@@ -2874,32 +2834,32 @@
 28
 70
 48
-a3
+a5
 07
 20
 20
 02
-c4
+ba
 70
 48
-a3
+a5
 08
 20
 20
 02
-ca
+c0
 70
 48
-a3
+a5
 00
 20
 20
 02
-c4
+ba
 6f
 e0
 c8
-a2
+a4
 1f
 e0
 fe
@@ -2907,18 +2867,18 @@
 67
 e0
 c8
-a2
+a4
 c1
 87
 80
 00
 70
 48
-a2
+a4
 00
 70
 48
-a3
+a5
 04
 20
 60
@@ -2927,22 +2887,22 @@
 6f
 e0
 c8
-a5
+a7
 c0
 00
 82
-c4
+ba
 c0
 00
 02
-e0
+d6
 20
 60
 00
 00
 70
 48
-a3
+a5
 05
 20
 60
@@ -2951,11 +2911,11 @@
 d8
 40
 48
-a9
+ab
 6f
 e0
 c8
-a8
+aa
 98
 40
 84
@@ -2963,7 +2923,7 @@
 6f
 e1
 48
-a6
+a8
 98
 46
 7c
@@ -2971,19 +2931,19 @@
 20
 22
 82
-de
+d4
 20
 40
 02
-f0
+e6
 20
 40
 03
-12
+08
 6f
 e0
 c8
-a4
+a6
 67
 e0
 89
@@ -2995,7 +2955,7 @@
 6f
 e1
 48
-a6
+a8
 1f
 e0
 fe
@@ -3003,10 +2963,10 @@
 67
 e1
 48
-a6
+a8
 70
 48
-a5
+a7
 01
 20
 20
@@ -3015,7 +2975,7 @@
 68
 49
 48
-a6
+a8
 ef
 e0
 80
@@ -3027,7 +2987,7 @@
 24
 21
 02
-f7
+ed
 da
 40
 00
@@ -3039,7 +2999,7 @@
 20
 21
 03
-0e
+04
 ef
 e0
 80
@@ -3051,7 +3011,7 @@
 24
 21
 02
-fd
+f3
 da
 40
 00
@@ -3063,23 +3023,23 @@
 20
 21
 03
-10
+06
 1f
 e6
 7c
 3a
 20
 22
-83
-06
+82
+fc
 1f
 e6
 7c
 2f
 20
 22
-83
-08
+82
+fe
 1f
 e6
 7c
@@ -3087,7 +3047,7 @@
 20
 22
 83
-0a
+00
 1f
 e6
 7c
@@ -3095,7 +3055,7 @@
 20
 22
 83
-0c
+02
 20
 60
 00
@@ -3150,12 +3110,12 @@
 00
 70
 48
-a4
+a6
 00
 6f
 e1
 48
-a6
+a8
 ef
 e0
 80
@@ -3163,11 +3123,11 @@
 d8
 c0
 48
-d1
+d3
 68
 48
 c8
-d0
+d2
 18
 42
 72
@@ -3183,67 +3143,27 @@
 20
 22
 83
-1d
+13
 c2
 00
 03
-18
+0e
 20
 60
 00
 00
 70
 48
-a4
+a6
 02
 20
 60
 00
 00
-d8
-e0
-00
-06
-20
-40
-7c
-ef
-24
-7a
-00
-00
-20
-40
-03
-26
-d8
-e0
-00
-06
-58
-00
-00
-28
-20
-20
-7c
-e1
-6f
-e0
-c8
-a3
-20
-7a
-00
-00
-20
-20
-02
-61
 da
 20
 48
-90
+92
 20
 40
 7d
@@ -3267,7 +3187,7 @@
 da
 20
 48
-90
+92
 20
 40
 7d
@@ -3283,15 +3203,19 @@
 c0
 12
 03
-43
+30
 c0
 13
 03
-43
+30
 c0
 11
 83
-43
+30
+c0
+12
+83
+30
 c0
 10
 fc
@@ -3303,7 +3227,7 @@
 c0
 14
 03
-3a
+27
 20
 20
 23
@@ -3311,7 +3235,7 @@
 6f
 20
 c8
-0c
+10
 20
 7a
 00
@@ -3319,7 +3243,7 @@
 d8
 c0
 48
-0d
+11
 d8
 e0
 00
@@ -3339,15 +3263,15 @@
 d8
 a0
 48
-0c
+10
 20
 20
 03
-4c
+39
 6f
 e0
 c8
-4d
+51
 20
 7a
 00
@@ -3359,7 +3283,7 @@
 d8
 c0
 48
-4e
+52
 d8
 e0
 00
@@ -3379,7 +3303,7 @@
 d8
 a0
 48
-4d
+51
 df
 20
 00
@@ -3439,7 +3363,7 @@
 20
 40
 03
-6b
+58
 2a
 2f
 fe
@@ -3471,7 +3395,7 @@
 20
 40
 03
-6b
+58
 d8
 a0
 8a
@@ -3499,7 +3423,7 @@
 20
 21
 03
-60
+4d
 20
 20
 21
@@ -3603,7 +3527,7 @@
 20
 40
 03
-a4
+91
 70
 8a
 08
@@ -3639,7 +3563,7 @@
 20
 40
 03
-9a
+87
 6f
 f0
 8a
@@ -3683,7 +3607,7 @@
 20
 40
 03
-a4
+91
 70
 80
 cd
@@ -3743,7 +3667,7 @@
 c3
 02
 83
-a5
+92
 68
 59
 01
@@ -3779,7 +3703,7 @@
 c0
 08
 03
-c4
+b1
 58
 00
 57
@@ -3823,7 +3747,7 @@
 c0
 08
 03
-c1
+ae
 58
 00
 2b
@@ -3859,7 +3783,7 @@
 20
 20
 03
-bd
+aa
 58
 00
 83
@@ -3871,7 +3795,7 @@
 20
 20
 03
-b2
+9f
 6f
 e0
 c3
@@ -3911,7 +3835,7 @@
 c0
 11
 03
-d3
+c0
 c0
 7f
 b5
@@ -3927,7 +3851,7 @@
 20
 3a
 03
-d9
+c6
 6f
 e2
 45
@@ -3951,11 +3875,11 @@
 c0
 00
 83
-dd
+ca
 c0
 01
 03
-e4
+d2
 20
 60
 00
@@ -3975,7 +3899,7 @@
 c0
 01
 03
-e2
+cf
 20
 60
 00
@@ -3985,6 +3909,10 @@
 de
 01
 20
+40
+33
+8d
+20
 20
 33
 6b
@@ -4003,7 +3931,7 @@
 c0
 80
 03
-e9
+d7
 20
 60
 00
@@ -4083,7 +4011,7 @@
 20
 40
 03
-fd
+eb
 20
 20
 34
@@ -4118,8 +4046,8 @@
 07
 20
 40
-03
-1f
+04
+00
 6f
 e0
 89
@@ -4163,7 +4091,7 @@
 20
 20
 01
-ce
+c1
 58
 00
 00
@@ -4172,8 +4100,116 @@
 20
 70
 c8
-20
-40
+d8
+e0
+00
+06
+20
+40
+7c
+ef
+24
+7a
+00
+00
+20
+40
+04
+08
+20
+40
+04
+0b
+d8
+e0
+00
+06
+58
+00
+00
+28
+20
+20
+7c
+e1
+6f
+e0
+c8
+a5
+20
+7a
+00
+00
+20
+20
+02
+57
+6f
+e0
+c6
+2b
+c4
+00
+00
+00
+6f
+e0
+c8
+0d
+20
+7a
+00
+00
+6f
+e1
+48
+0e
+1f
+e0
+fe
+01
+67
+e1
+48
+0e
+d8
+40
+04
+b0
+98
+46
+7c
+00
+24
+61
+00
+00
+58
+00
+00
+00
+67
+e1
+48
+0e
+6f
+e0
+c8
+0c
+20
+7a
+00
+00
+70
+48
+0c
+00
+20
+60
+00
+00
+20
+40
 47
 c3
 6f
@@ -4244,8 +4280,8 @@
 20
 31
 95
-62
-16
+b5
+02
 aa
 55
 40
@@ -4394,7 +4430,7 @@
 00
 f1
 44
-10
+21
 12
 23
 74
@@ -4727,7 +4763,7 @@
 55
 09
 00
-99
+9b
 48
 08
 00
@@ -4742,9 +4778,9 @@
 55
 11
 00
-a6
+a8
 48
-a9
+ab
 48
 0e
 77
@@ -4765,7 +4801,7 @@
 55
 16
 00
-d0
+d2
 48
 15
 7e
@@ -4837,7 +4873,7 @@
 00
 1c
 41
-7f
+3e
 aa
 55
 0c
@@ -4981,7 +5017,3176 @@
 aa
 aa
 55
-1a
-a4
-1a
-62
+f2
+a3
+de
+24
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+d2
+17
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(revision 3675)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(working copy)
@@ -1491,9 +1491,9 @@
 0x46de mem_dongle_usb_header
 0x46df mem_dongle_usb_opcode
 0x46e0 mem_dongle_usb_len
-0x46e1 mem_dongle_24g_data_ack_flag
-0x46e2 mem_dongle_24g_data_ack_len
-0x46e3 mem_dongle_g24_ack_data
+0x46e1 mem_dongle_24g_data_ack_flag//no use
+0x46e2 mem_dongle_24g_data_ack_len//no use
+0x46e3 mem_dongle_g24_ack_data//no use
 0x4723 mem_usb_ep2_config
 0x47ff mem_24g_ackpayload_enable_temp
 0x4800 mem_usb_get_report_sn_data
@@ -1501,22 +1501,23 @@
 0x4807 mem_usb_get_report_battery_data
 0x4808 mem_usb_get_report_mouse_version_data
 0x480a mem_dongle_version
-0x480c mem_usb_rf_state_data
-0x484d mem_dongle_usb_ep2_data
-0x488e mem_usb_rf_state_report_flag
-0x488f mem_usb_rf_state_report_flag1
-0x4890 mem_usb_ep2_fifo
-0x4898 mem_dongle_freq_hop_flag
-0x4899 mem_usb_win_cmd
-0x489c mem_usb_mac_cmd
-0x489f mem_usb_kb_enter
-0x48a2 mem_usb_website_wait_count
-0x48a3 mem_usb_website_step
-0x48a4 mem_usb_website_shift_flag
-0x48a5 mem_usb_website_release_flag
-0x48a6 mem_usb_website_ptr
-0x48a8 mem_usb_website_info
-0x48d0 mem_usb_website_info_sign
+0x480c mem_dongle_connect_mouse_flag
+0x480d mem_dongle_no_data_flag
+0x480e mem_dongle_no_data_count
+0x4810 mem_usb_rf_state_data
+0x4851 mem_dongle_usb_ep2_data
+0x4892 mem_usb_ep2_fifo
+0x489a mem_dongle_freq_hop_flag
+0x489b mem_usb_win_cmd
+0x489e mem_usb_mac_cmd
+0x48a1 mem_usb_kb_enter
+0x48a4 mem_usb_website_wait_count
+0x48a5 mem_usb_website_step
+0x48a6 mem_usb_website_shift_flag
+0x48a7 mem_usb_website_release_flag
+0x48a8 mem_usb_website_ptr
+0x48aa mem_usb_website_info
+0x48d2 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 3675)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-92
+b6
 10
 c2
 84
@@ -24,47 +24,47 @@
 c0
 01
 00
-6d
+57
 c0
 08
 80
-76
+60
 c0
 0a
 03
-ab
+98
 c0
 0a
-81
-10
+80
+fa
 c0
 0c
 01
-1e
+08
 c0
 0c
 80
-c4
+ae
 c0
 0d
 00
-84
+6e
 c0
 1b
 84
-12
+1b
 c0
 1c
 00
-e3
+cd
 c0
 1c
 80
-df
+c9
 c0
 1e
-84
-04
+83
+f2
 c0
 1f
 00
@@ -72,27 +72,27 @@
 c0
 62
 80
-dc
+c6
 c0
 6d
 03
-7c
+69
 c0
 6e
 03
-8c
+79
 c0
 7f
 01
-29
+13
 c0
 7f
 81
-bb
+ae
 c0
 7e
 81
-25
+0f
 20
 20
 23
@@ -100,43 +100,43 @@
 c0
 00
 01
-e1
+d4
 c0
 01
 02
-20
+13
 c0
 03
 02
-40
+33
 c0
 1c
 83
-c7
+b4
 c0
 26
 83
-cb
+b8
 c0
 37
 84
-1a
+23
 c0
 41
 03
-cd
+ba
 c0
 42
 02
-51
+45
 c0
 44
 03
-ec
+da
 c0
 45
 03
-f9
+e7
 c1
 46
 80
@@ -184,11 +184,11 @@
 20
 40
 00
-6a
+54
 20
 40
 00
-4d
+37
 20
 40
 00
@@ -225,102 +225,14 @@
 7a
 00
 00
-20
-40
-35
-1b
-6f
-e0
-c8
-8f
-c1
-00
-80
-00
-70
-48
-8f
-01
-70
-48
-8e
-00
-20
-20
-00
-3b
-70
-48
-0c
-40
-70
-48
-0d
-a1
-70
-48
-0e
-02
-70
-48
-0f
-04
-70
-48
-10
-01
-70
-48
-11
-00
-70
-06
-6f
-28
-da
-20
-48
-90
-20
-20
-7d
-8b
-70
-48
-0c
-40
 70
 48
 0d
-a1
-70
-48
-0e
-02
-70
-48
-0f
-04
-70
-48
-10
-01
-70
-48
-11
 01
-70
-06
-6f
-28
-da
 20
-48
-90
 20
-20
-7d
-8b
+35
+1b
 6f
 e0
 c6
@@ -336,11 +248,11 @@
 20
 40
 00
-52
+3c
 20
 20
 00
-57
+41
 6f
 e0
 c6
@@ -416,11 +328,11 @@
 20
 5a
 00
-66
+50
 20
 20
 02
-51
+45
 70
 46
 14
@@ -484,7 +396,7 @@
 20
 20
 00
-6d
+57
 70
 8a
 0f
@@ -568,7 +480,7 @@
 20
 40
 00
-e5
+cf
 37
 d9
 82
@@ -584,7 +496,7 @@
 c0
 08
 00
-b9
+a3
 6f
 e0
 c4
@@ -628,7 +540,7 @@
 20
 40
 00
-ab
+95
 70
 80
 43
@@ -652,15 +564,15 @@
 20
 40
 03
-4e
+3b
 20
 40
 03
-79
+66
 20
 40
 00
-a5
+8f
 70
 41
 48
@@ -672,7 +584,7 @@
 20
 20
 03
-7b
+68
 20
 75
 80
@@ -704,7 +616,7 @@
 c0
 0c
 00
-b1
+9b
 6f
 e0
 c4
@@ -796,7 +708,7 @@
 20
 20
 00
-97
+81
 6f
 e0
 c1
@@ -808,19 +720,19 @@
 c0
 05
 00
-cb
+b5
 c0
 4f
 00
-d0
+ba
 c0
 4f
 80
-d4
+be
 c0
 50
 00
-d8
+c2
 20
 20
 22
@@ -931,8 +843,8 @@
 f1
 20
 35
-81
-0c
+80
+f6
 6f
 e2
 02
@@ -1100,7 +1012,7 @@
 20
 20
 00
-f6
+e0
 20
 40
 68
@@ -1196,7 +1108,7 @@
 20
 40
 81
-31
+1b
 20
 20
 79
@@ -1228,7 +1140,7 @@
 58
 00
 02
-65
+5b
 67
 e1
 45
@@ -1356,7 +1268,7 @@
 20
 21
 01
-87
+86
 6f
 e0
 88
@@ -1364,7 +1276,7 @@
 c0
 80
 81
-87
+86
 ef
 e0
 80
@@ -1388,54 +1300,58 @@
 6f
 e0
 c6
+2b
+20
+3a
+01
+7e
+6f
+e0
+c6
 df
 c0
 00
 81
-5f
+4a
 c0
 01
 81
-6c
+57
 c0
 02
 81
-75
+60
 c0
 03
 01
-7e
-20
-20
-01
-87
-70
-46
-e1
-a2
+69
+c0
+03
+81
+72
 20
 20
 01
-a0
+86
 70
 48
-4d
+51
 40
 70
 48
-4e
+52
 a1
 70
 48
-4f
+53
 02
 70
 48
-50
+54
 01
 70
 48
-51
+55
 0b
 6f
 e3
@@ -1444,7 +1360,7 @@
 67
 e3
 48
-52
+56
 6f
 e1
 48
@@ -1452,7 +1368,7 @@
 67
 e1
 48
-58
+5c
 6f
 e1
 48
@@ -1460,7 +1376,7 @@
 67
 e1
 48
-5a
+5e
 70
 09
 0c
@@ -1468,26 +1384,26 @@
 20
 20
 02
-92
+88
 70
 48
-4d
+51
 40
 70
 48
-4e
+52
 a1
 70
 48
-4f
+53
 02
 70
 48
-50
+54
 02
 70
 48
-51
+55
 01
 6f
 e0
@@ -1496,7 +1412,7 @@
 67
 e0
 c8
-52
+56
 70
 09
 0c
@@ -1504,26 +1420,26 @@
 20
 20
 02
-92
+88
 70
 48
-4d
+51
 40
 70
 48
-4e
+52
 a1
 70
 48
-4f
+53
 02
 70
 48
-50
+54
 03
 70
 48
-51
+55
 06
 6f
 e3
@@ -1532,7 +1448,7 @@
 67
 e3
 48
-52
+56
 70
 09
 0c
@@ -1540,26 +1456,26 @@
 20
 20
 02
-92
+88
 70
 48
-4d
+51
 40
 70
 48
-4e
+52
 a1
 70
 48
-4f
+53
 02
 70
 48
-50
+54
 06
 70
 48
-51
+55
 01
 6f
 e0
@@ -1568,7 +1484,7 @@
 67
 e0
 c8
-52
+56
 70
 09
 0c
@@ -1576,14 +1492,94 @@
 20
 20
 02
-92
+88
+6f
+e0
+c8
+0c
+c0
+00
+01
+7e
+c0
+00
+81
+76
+20
+60
+00
+00
+70
+48
+10
+40
+70
+48
+11
+a1
+70
+48
+12
+02
+70
+48
+13
+05
+70
+48
+14
+01
+70
+48
+15
+01
+70
+09
+0c
+28
+20
+20
+02
+88
+70
+48
+10
+40
+70
+48
+11
+a1
+70
+48
+12
+02
+70
+48
+13
+05
+70
+48
+14
+01
 70
 48
+15
+00
+70
+09
 0c
+28
+20
+20
+02
+88
+70
+48
+10
 40
 70
 48
-0d
+11
 a1
 d8
 40
@@ -1632,7 +1628,7 @@
 d8
 a0
 48
-0e
+12
 6f
 e1
 c6
@@ -1645,86 +1641,38 @@
 62
 7e
 00
-e7
-e0
-80
-05
-e0
-40
-80
-05
-1a
-22
-72
-00
-1a
-42
-0c
-00
-20
-40
-7c
-da
-70
-06
-6f
-28
-da
-20
-48
-90
-20
-20
-7d
-8b
-20
-40
-01
-a9
-70
-46
-11
-a2
-70
-47
-ff
-a2
-6f
-20
-88
-76
-1f
-20
-f2
-02
-67
-20
-c6
-e2
-d8
-c0
-08
-75
-d8
-a0
-46
-e3
-20
+e7
+e0
+80
+05
+e0
+40
+80
+05
+1a
+22
+72
+00
+1a
+42
+0c
+00
 20
+40
 7c
 da
-df
+70
+06
+6f
+28
+da
 20
-00
-40
-d8
-a0
-46
-e3
+48
+92
 20
 20
-7c
-a1
+7d
+8b
 69
 51
 0c
@@ -1772,7 +1720,7 @@
 20
 42
 81
-ac
+9f
 1f
 26
 7c
@@ -1796,7 +1744,7 @@
 20
 40
 01
-ac
+9f
 60
 48
 c6
@@ -1816,7 +1764,7 @@
 c0
 00
 81
-d1
+c4
 1f
 26
 7c
@@ -1836,7 +1784,7 @@
 20
 20
 01
-c8
+bb
 6f
 e0
 87
@@ -1860,7 +1808,7 @@
 20
 20
 01
-e1
+d4
 6f
 e0
 88
@@ -1868,7 +1816,7 @@
 c0
 51
 01
-4d
+37
 20
 60
 00
@@ -1892,7 +1840,7 @@
 c0
 00
 81
-db
+ce
 70
 08
 f7
@@ -1956,7 +1904,7 @@
 c0
 00
 01
-e7
+da
 20
 20
 23
@@ -1980,11 +1928,11 @@
 c0
 00
 01
-ef
+e2
 c0
 00
 82
-2a
+1d
 c0
 01
 79
@@ -2000,7 +1948,7 @@
 c0
 00
 81
-f7
+ea
 c0
 01
 fa
@@ -2016,7 +1964,7 @@
 c0
 05
 82
-11
+04
 c0
 03
 f9
@@ -2071,8 +2019,8 @@
 6d
 c0
 00
-02
-06
+01
+f9
 c0
 00
 fa
@@ -2200,7 +2148,7 @@
 c0
 01
 02
-27
+1a
 c0
 01
 fa
@@ -2240,7 +2188,7 @@
 c0
 04
 82
-2f
+22
 c0
 05
 fb
@@ -2264,11 +2212,11 @@
 20
 40
 01
-46
+30
 20
 34
 02
-3c
+2f
 6f
 f1
 0c
@@ -2360,35 +2308,39 @@
 20
 40
 02
-9b
+91
 20
 20
 03
-29
+15
 6f
 e0
-c8
-8e
-c1
+c6
+2b
+c4
 00
-80
 00
-70
-48
-8f
+00
+6f
+e0
+c8
+0c
+24
+7a
+00
 00
 70
 48
-8e
+0c
 01
 20
-20
+60
+00
 00
-44
 20
 40
 02
-4c
+3f
 70
 47
 ff
@@ -2397,6 +2349,14 @@
 46
 11
 00
+58
+00
+00
+00
+67
+e1
+c8
+0d
 6f
 e0
 c5
@@ -2416,15 +2376,15 @@
 c2
 82
 02
-5c
+52
 c2
 82
 82
-5c
+52
 c2
 83
 02
-5c
+52
 20
 20
 33
@@ -2472,23 +2432,23 @@
 c2
 82
 02
-61
+57
 c2
 82
 82
-86
+7c
 c2
 83
 02
-89
+7f
 c2
 83
 82
-8f
+85
 20
 20
 02
-6b
+61
 6f
 e0
 c5
@@ -2500,11 +2460,11 @@
 20
 22
 82
-7c
+72
 20
 40
 02
-7c
+72
 6f
 e0
 c5
@@ -2540,19 +2500,19 @@
 c2
 82
 02
-61
+57
 c2
 82
 82
-86
+7c
 c2
 83
 02
-89
+7f
 c2
 83
 82
-8f
+85
 20
 60
 00
@@ -2596,7 +2556,7 @@
 20
 20
 02
-92
+88
 6f
 e0
 c5
@@ -2608,7 +2568,7 @@
 20
 20
 01
-6c
+57
 6f
 e0
 c5
@@ -2656,7 +2616,7 @@
 da
 20
 48
-90
+92
 20
 40
 7d
@@ -2676,7 +2636,7 @@
 da
 20
 48
-90
+92
 20
 20
 7d
@@ -2728,7 +2688,7 @@
 c0
 08
 82
-a8
+9e
 20
 20
 23
@@ -2736,43 +2696,43 @@
 6f
 e0
 c8
-a3
+a5
 c0
 00
 02
-b3
+a9
 c0
 00
 82
-bf
+b5
 c0
 01
 02
-c3
+b9
 c0
 01
 82
-d3
+c9
 c0
 02
 02
-da
+d0
 c0
 02
 82
-c9
+bf
 c0
 03
 02
-cd
+c3
 c0
 03
 82
-cf
+c5
 c0
 04
 02
-d1
+c7
 20
 60
 00
@@ -2784,23 +2744,23 @@
 c0
 00
 02
-b7
+ad
 c0
 00
 82
-bb
+b1
 20
 60
 00
 00
 70
 48
-a3
+a5
 01
 6f
 e1
 c8
-99
+9b
 67
 e1
 89
@@ -2811,12 +2771,12 @@
 28
 70
 48
-a3
+a5
 01
 6f
 e1
 c8
-9c
+9e
 67
 e1
 89
@@ -2827,12 +2787,12 @@
 28
 70
 48
-a3
+a5
 02
 6f
 e0
 c8
-99
+9b
 67
 e0
 89
@@ -2843,7 +2803,7 @@
 28
 70
 48
-a3
+a5
 03
 d8
 a0
@@ -2859,7 +2819,7 @@
 a3
 70
 48
-a5
+a7
 00
 20
 20
@@ -2867,12 +2827,12 @@
 28
 70
 48
-a3
+a5
 06
 6f
 e1
 c8
-9f
+a1
 67
 e1
 89
@@ -2883,32 +2843,32 @@
 28
 70
 48
-a3
+a5
 07
 20
 20
 02
-c4
+ba
 70
 48
-a3
+a5
 08
 20
 20
 02
-ca
+c0
 70
 48
-a3
+a5
 00
 20
 20
 02
-c4
+ba
 6f
 e0
 c8
-a2
+a4
 1f
 e0
 fe
@@ -2916,18 +2876,18 @@
 67
 e0
 c8
-a2
+a4
 c1
 87
 80
 00
 70
 48
-a2
+a4
 00
 70
 48
-a3
+a5
 04
 20
 60
@@ -2936,22 +2896,22 @@
 6f
 e0
 c8
-a5
+a7
 c0
 00
 82
-c4
+ba
 c0
 00
 02
-e0
+d6
 20
 60
 00
 00
 70
 48
-a3
+a5
 05
 20
 60
@@ -2960,11 +2920,11 @@
 d8
 40
 48
-a9
+ab
 6f
 e0
 c8
-a8
+aa
 98
 40
 84
@@ -2972,7 +2932,7 @@
 6f
 e1
 48
-a6
+a8
 98
 46
 7c
@@ -2980,19 +2940,19 @@
 20
 22
 82
-de
+d4
 20
 40
 02
-f0
+e6
 20
 40
 03
-12
+08
 6f
 e0
 c8
-a4
+a6
 67
 e0
 89
@@ -3004,7 +2964,7 @@
 6f
 e1
 48
-a6
+a8
 1f
 e0
 fe
@@ -3012,10 +2972,10 @@
 67
 e1
 48
-a6
+a8
 70
 48
-a5
+a7
 01
 20
 20
@@ -3024,7 +2984,7 @@
 68
 49
 48
-a6
+a8
 ef
 e0
 80
@@ -3036,7 +2996,7 @@
 24
 21
 02
-f7
+ed
 da
 40
 00
@@ -3048,7 +3008,7 @@
 20
 21
 03
-0e
+04
 ef
 e0
 80
@@ -3060,7 +3020,7 @@
 24
 21
 02
-fd
+f3
 da
 40
 00
@@ -3072,23 +3032,23 @@
 20
 21
 03
-10
+06
 1f
 e6
 7c
 3a
 20
 22
-83
-06
+82
+fc
 1f
 e6
 7c
 2f
 20
 22
-83
-08
+82
+fe
 1f
 e6
 7c
@@ -3096,7 +3056,7 @@
 20
 22
 83
-0a
+00
 1f
 e6
 7c
@@ -3104,7 +3064,7 @@
 20
 22
 83
-0c
+02
 20
 60
 00
@@ -3159,12 +3119,12 @@
 00
 70
 48
-a4
+a6
 00
 6f
 e1
 48
-a6
+a8
 ef
 e0
 80
@@ -3172,11 +3132,11 @@
 d8
 c0
 48
-d1
+d3
 68
 48
 c8
-d0
+d2
 18
 42
 72
@@ -3192,67 +3152,27 @@
 20
 22
 83
-1d
+13
 c2
 00
 03
-18
+0e
 20
 60
 00
 00
 70
 48
-a4
+a6
 02
 20
 60
 00
 00
-d8
-e0
-00
-06
-20
-40
-7c
-ef
-24
-7a
-00
-00
-20
-40
-03
-26
-d8
-e0
-00
-06
-58
-00
-00
-28
-20
-20
-7c
-e1
-6f
-e0
-c8
-a3
-20
-7a
-00
-00
-20
-20
-02
-61
 da
 20
 48
-90
+92
 20
 40
 7d
@@ -3276,7 +3196,7 @@
 da
 20
 48
-90
+92
 20
 40
 7d
@@ -3292,15 +3212,19 @@
 c0
 12
 03
-43
+30
 c0
 13
 03
-43
+30
 c0
 11
 83
-43
+30
+c0
+12
+83
+30
 c0
 10
 fc
@@ -3312,7 +3236,7 @@
 c0
 14
 03
-3a
+27
 20
 20
 23
@@ -3320,7 +3244,7 @@
 6f
 20
 c8
-0c
+10
 20
 7a
 00
@@ -3328,7 +3252,7 @@
 d8
 c0
 48
-0d
+11
 d8
 e0
 00
@@ -3348,15 +3272,15 @@
 d8
 a0
 48
-0c
+10
 20
 20
 03
-4c
+39
 6f
 e0
 c8
-4d
+51
 20
 7a
 00
@@ -3368,7 +3292,7 @@
 d8
 c0
 48
-4e
+52
 d8
 e0
 00
@@ -3388,7 +3312,7 @@
 d8
 a0
 48
-4d
+51
 df
 20
 00
@@ -3448,7 +3372,7 @@
 20
 40
 03
-6b
+58
 2a
 2f
 fe
@@ -3480,7 +3404,7 @@
 20
 40
 03
-6b
+58
 d8
 a0
 8a
@@ -3508,7 +3432,7 @@
 20
 21
 03
-60
+4d
 20
 20
 21
@@ -3612,7 +3536,7 @@
 20
 40
 03
-a4
+91
 70
 8a
 08
@@ -3648,7 +3572,7 @@
 20
 40
 03
-9a
+87
 6f
 f0
 8a
@@ -3692,7 +3616,7 @@
 20
 40
 03
-a4
+91
 70
 80
 cd
@@ -3752,7 +3676,7 @@
 c3
 02
 83
-a5
+92
 68
 59
 01
@@ -3788,7 +3712,7 @@
 c0
 08
 03
-c4
+b1
 58
 00
 57
@@ -3832,7 +3756,7 @@
 c0
 08
 03
-c1
+ae
 58
 00
 2b
@@ -3868,7 +3792,7 @@
 20
 20
 03
-bd
+aa
 58
 00
 83
@@ -3880,7 +3804,7 @@
 20
 20
 03
-b2
+9f
 6f
 e0
 c3
@@ -3920,7 +3844,7 @@
 c0
 11
 03
-d3
+c0
 c0
 7f
 b5
@@ -3936,7 +3860,7 @@
 20
 3a
 03
-d9
+c6
 6f
 e2
 45
@@ -3960,11 +3884,11 @@
 c0
 00
 83
-dd
+ca
 c0
 01
 03
-e4
+d2
 20
 60
 00
@@ -3984,7 +3908,7 @@
 c0
 01
 03
-e2
+cf
 20
 60
 00
@@ -3994,6 +3918,10 @@
 de
 01
 20
+40
+33
+8d
+20
 20
 33
 6b
@@ -4012,7 +3940,7 @@
 c0
 80
 03
-e9
+d7
 20
 60
 00
@@ -4092,7 +4020,7 @@
 20
 40
 03
-fd
+eb
 20
 20
 34
@@ -4127,8 +4055,8 @@
 07
 20
 40
-03
-1f
+04
+00
 6f
 e0
 89
@@ -4172,7 +4100,7 @@
 20
 20
 01
-ce
+c1
 58
 00
 00
@@ -4181,6 +4109,114 @@
 20
 70
 c8
+d8
+e0
+00
+06
+20
+40
+7c
+ef
+24
+7a
+00
+00
+20
+40
+04
+08
+20
+40
+04
+0b
+d8
+e0
+00
+06
+58
+00
+00
+28
+20
+20
+7c
+e1
+6f
+e0
+c8
+a5
+20
+7a
+00
+00
+20
+20
+02
+57
+6f
+e0
+c6
+2b
+c4
+00
+00
+00
+6f
+e0
+c8
+0d
+20
+7a
+00
+00
+6f
+e1
+48
+0e
+1f
+e0
+fe
+01
+67
+e1
+48
+0e
+d8
+40
+04
+b0
+98
+46
+7c
+00
+24
+61
+00
+00
+58
+00
+00
+00
+67
+e1
+48
+0e
+6f
+e0
+c8
+0c
+20
+7a
+00
+00
+70
+48
+0c
+00
+20
+60
+00
+00
 20
 40
 47
@@ -4253,8 +4289,8 @@
 20
 31
 95
-62
-16
+b5
+02
 aa
 55
 40
@@ -4403,7 +4439,7 @@
 00
 f1
 44
-10
+21
 12
 23
 74
@@ -4736,7 +4772,7 @@
 55
 09
 00
-99
+9b
 48
 08
 00
@@ -4751,9 +4787,9 @@
 55
 11
 00
-a6
+a8
 48
-a9
+ab
 48
 0e
 77
@@ -4774,7 +4810,7 @@
 55
 16
 00
-d0
+d2
 48
 15
 7e
@@ -4846,7 +4882,7 @@
 00
 1c
 41
-7f
+3e
 aa
 55
 0c
@@ -4990,8 +5026,8 @@
 aa
 aa
 55
-1a
-a4
-1a
-62
+f2
+a3
+de
+24
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(revision 3675)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(working copy)
@@ -2,37 +2,37 @@
               org 0x0000
 0000 c2840015 bbit1 8 ,pf_patch_ext 
 0001 c0000022 beq patch00_0 ,p_soft_reset 
-0002 c001006d beq patch00_2 ,p_main_loop 
-0003 c0088076 beq patch02_1 ,p_set_sync_on 
-0004 c00a03ab beq patch02_4 ,p_set_lemode 
-0005 c00a8110 beq patch02_5 ,p_rf_rx_enable 
-0006 c00c011e beq patch03_0 ,p_txon 
-0007 c00c80c4 beq patch03_1 ,p_set_tx_power 
-0008 c00d0084 beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8412 beq patch06_7 ,p_dongle_default_init 
-000a c01c00e3 beq patch07_0 ,p_dongle_read_kb_bind_status 
-000b c01c80df beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e8404 beq patch07_5 ,p_dongle_usb_dispatch 
+0002 c0010057 beq patch00_2 ,p_main_loop 
+0003 c0088060 beq patch02_1 ,p_set_sync_on 
+0004 c00a0398 beq patch02_4 ,p_set_lemode 
+0005 c00a80fa beq patch02_5 ,p_rf_rx_enable 
+0006 c00c0108 beq patch03_0 ,p_txon 
+0007 c00c80ae beq patch03_1 ,p_set_tx_power 
+0008 c00d006e beq patch03_2 ,p_initialize_radio_cont 
+0009 c01b841b beq patch06_7 ,p_dongle_default_init 
+000a c01c00cd beq patch07_0 ,p_dongle_read_kb_bind_status 
+000b c01c80c9 beq patch07_1 ,p_dongle_write_kb_bind_status 
+000c c01e83f2 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f0028 beq patch07_6 ,p_dongle_work_mode_auto 
-000e c06280dc beq patch18_5 ,p_otp_read_data 
-000f c06d037c beq patch1b_2 ,p_sadc_calibration 
-0010 c06e038c beq patch1b_4 ,p_enable_adc 
-0011 c07f0129 beq patch1f_6 ,p_usb_init 
-0012 c07f81bb beq patch1f_7 ,p_usb_rx 
-0013 c07e8125 beq patch1f_5 ,p_usb_isr 
+000e c06280c6 beq patch18_5 ,p_otp_read_data 
+000f c06d0369 beq patch1b_2 ,p_sadc_calibration 
+0010 c06e0379 beq patch1b_4 ,p_enable_adc 
+0011 c07f0113 beq patch1f_6 ,p_usb_init 
+0012 c07f81ae beq patch1f_7 ,p_usb_rx 
+0013 c07e810f beq patch1f_5 ,p_usb_isr 
 0014 2020235a branch assert 
 
 pf_patch_ext:
-0015 c00001e1 beq patch20_0 ,p_usb_class_type 
-0016 c0010220 beq patch20_2 ,p_usb0_request_get_descriptor 
-0017 c0030240 beq patch20_6 ,p_usb_tx 
-0018 c01c83c7 beq patch27_1 ,p_le_parse 
-0019 c02683cb beq patch29_5 ,p_le_init_adv 
-001a c037841a beq patch2d_7 ,p_g24_receive_skip_end 
-001b c04103cd beq patch30_2 ,p_g24_bind_data_parse_next 
-001c c0420251 beq patch30_4 ,p_g24_receive_packet_start1 
-001d c04403ec beq patch31_0 ,p_g24_mode_switch_bind_search 
-001e c04503f9 beq patch31_2 ,p_g24_bind_mode_auto 
+0015 c00001d4 beq patch20_0 ,p_usb_class_type 
+0016 c0010213 beq patch20_2 ,p_usb0_request_get_descriptor 
+0017 c0030233 beq patch20_6 ,p_usb_tx 
+0018 c01c83b4 beq patch27_1 ,p_le_parse 
+0019 c02683b8 beq patch29_5 ,p_le_init_adv 
+001a c0378423 beq patch2d_7 ,p_g24_receive_skip_end 
+001b c04103ba beq patch30_2 ,p_g24_bind_data_parse_next 
+001c c0420245 beq patch30_4 ,p_g24_receive_packet_start1 
+001d c04403da beq patch31_0 ,p_g24_mode_switch_bind_search 
+001e c04503e7 beq patch31_2 ,p_g24_bind_mode_auto 
 001f c1468000 rtneq patch31_5 
 0020 c17f8000 rtneq patch3f_7 
 0021 2020235a branch assert 
@@ -48,8 +48,8 @@
 p_dongle_work_mode_auto:
 0028 6fe0c616 fetch 1 ,mem_24g_work_mode 
 0029 c1800000 rtnne dongle_work 
-002a 2040006a call p_mouse_ackpayload_set 
-002b 2040004d call p_g24_work_mode_start 
+002a 20400054 call p_mouse_ackpayload_set 
+002b 20400037 call p_g24_work_mode_start 
 002c 2040002e call p_g24_nodata_process 
 002d 20204827 branch dongle_g24_blank_data_process 
 
@@ -61,1297 +61,1304 @@
 0032 d8e00008 arg g24_timer_nodata ,queue 
 0033 20407cef call timer_check 
 0034 247a0000 nrtn blank 
-0035 2040351b call g24_ch_process + 3 
-0036 6fe0c88f fetch 1 ,mem_usb_rf_state_report_flag1 
-0037 c1008000 rtneq 0x1 
-0038 70488f01 jam 0x1 ,mem_usb_rf_state_report_flag1 
-0039 70488e00 jam 0x0 ,mem_usb_rf_state_report_flag 
-003a 2020003b branch p_dongle_usb_ep2_disconnect_report 
-
-p_dongle_usb_ep2_disconnect_report:
-003b 70480c40 jam 0x40 ,mem_usb_rf_state_data 
-003c 70480da1 jam 0xa1 ,mem_usb_rf_state_data + 1 
-003d 70480e02 jam 0x2 ,mem_usb_rf_state_data + 2 
-003e 70480f04 jam 0x4 ,mem_usb_rf_state_data + 3 
-003f 70481001 jam 0x1 ,mem_usb_rf_state_data + 4 
-0040 70481100 jam 0x0 ,mem_usb_rf_state_data + 5 
-0041 70066f28 jam usb_ep2_mskb_state ,mem_fifo_temp 
-0042 da204890 arg mem_usb_ep2_fifo ,rega 
-0043 20207d8b branch fifo_in 
-
-p_dongle_usb_ep2_connect_report:
-0044 70480c40 jam 0x40 ,mem_usb_rf_state_data 
-0045 70480da1 jam 0xa1 ,mem_usb_rf_state_data + 1 
-0046 70480e02 jam 0x2 ,mem_usb_rf_state_data + 2 
-0047 70480f04 jam 0x4 ,mem_usb_rf_state_data + 3 
-0048 70481001 jam 0x1 ,mem_usb_rf_state_data + 4 
-0049 70481101 jam 0x1 ,mem_usb_rf_state_data + 5 
-004a 70066f28 jam usb_ep2_mskb_state ,mem_fifo_temp 
-004b da204890 arg mem_usb_ep2_fifo ,rega 
-004c 20207d8b branch fifo_in 
+0035 70480d01 jam 1 ,mem_dongle_no_data_flag 
+0036 2020351b branch g24_ch_process + 3 
 
 p_g24_work_mode_start:
-004d 6fe0c616 fetch 1 ,mem_24g_work_mode 
-004e c1800000 rtnne dongle_work 
-004f 20403451 call g24_work_init 
-0050 20400052 call p_g24_ch_process_check 
-0051 20200057 branch p_g24_receive_packet_start 
+0037 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0038 c1800000 rtnne dongle_work 
+0039 20403451 call g24_work_init 
+003a 2040003c call p_g24_ch_process_check 
+003b 20200041 branch p_g24_receive_packet_start 
 
 p_g24_ch_process_check:
 
 p_g24_ch_process:
-0052 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-0053 c000b5ea beq 1 ,rssi_noise_monitor 
-0054 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-0055 c000b52c beq 1 ,g24_ch_receive_hop_pac 
-0056 20600000 rtn 
+003c 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+003d c000b5ea beq 1 ,rssi_noise_monitor 
+003e 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+003f c000b52c beq 1 ,g24_ch_receive_hop_pac 
+0040 20600000 rtn 
 
 p_g24_receive_packet_start:
-0057 204033f1 call g24_receive_transmit_ack 
-0058 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0041 204033f1 call g24_receive_transmit_ack 
+0042 2437b3be nbranch g24_rx_interrupt_clear ,user3 
 
 p_g24_receive_packet_parse2:
-0059 204033e3 call g24_receive_packet_parse_pid_crc 
-005a 243433be nbranch g24_rx_interrupt_clear ,user 
-005b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-005c 203a33be branch g24_rx_interrupt_clear ,blank 
-005d 1fe0fe02 increase 2 ,pdata 
-005e 98007200 iforce loopcnt 
-005f d8c044f7 arg mem_24g_rxbuf ,contr 
-0060 d8a045e8 arg mem_24g_rxdata_temp ,contw 
-0061 20407cda call memcpy 
-0062 70461300 jam 0 ,mem_24g_mode_switch 
-0063 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-0064 205a0066 call p_g24_enable_nodata_timer ,blank 
-0065 20200251 branch p_g24_receive_packet_start1 
+0043 204033e3 call g24_receive_packet_parse_pid_crc 
+0044 243433be nbranch g24_rx_interrupt_clear ,user 
+0045 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0046 203a33be branch g24_rx_interrupt_clear ,blank 
+0047 1fe0fe02 increase 2 ,pdata 
+0048 98007200 iforce loopcnt 
+0049 d8c044f7 arg mem_24g_rxbuf ,contr 
+004a d8a045e8 arg mem_24g_rxdata_temp ,contw 
+004b 20407cda call memcpy 
+004c 70461300 jam 0 ,mem_24g_mode_switch 
+004d 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+004e 205a0050 call p_g24_enable_nodata_timer ,blank 
+004f 20200245 branch p_g24_receive_packet_start1 
 
 p_g24_enable_nodata_timer:
-0066 70461401 jam 1 ,mem_24g_nodata_timer_enable 
-0067 58000640 setarg 1600 
-0068 d8e00008 arg g24_timer_nodata ,queue 
-0069 20207ce1 branch timer_init 
+0050 70461401 jam 1 ,mem_24g_nodata_timer_enable 
+0051 58000640 setarg 1600 
+0052 d8e00008 arg g24_timer_nodata ,queue 
+0053 20207ce1 branch timer_init 
 
 p_mouse_ackpayload_set:
-006a 6fe0c7ff fetch 1 ,mem_24g_ackpayload_enable_temp 
-006b 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-006c 20600000 rtn 
+0054 6fe0c7ff fetch 1 ,mem_24g_ackpayload_enable_temp 
+0055 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+0056 20600000 rtn 
 
 p_main_loop:
-006d 20407552 call sp_calc_sequence_256 
-006e 20407448 call sp_calc_sequence_256_check 
-006f 20402a45 call le_advertising_dispatch 
-0070 2040202a call idle_dispatch 
-0071 204042ad call app_process_idle 
-0072 20402018 call connection_dispatch 
-0073 2040310f call g24_dispatch 
-0074 2040248c call lpm_dispatch 
-0075 2020006d branch p_main_loop 
+0057 20407552 call sp_calc_sequence_256 
+0058 20407448 call sp_calc_sequence_256_check 
+0059 20402a45 call le_advertising_dispatch 
+005a 2040202a call idle_dispatch 
+005b 204042ad call app_process_idle 
+005c 20402018 call connection_dispatch 
+005d 2040310f call g24_dispatch 
+005e 2040248c call lpm_dispatch 
+005f 20200057 branch p_main_loop 
 
 p_set_sync_on:
-0076 708a0f60 jam 0x60 ,0x8a0f 
-0077 708a10aa jam 0xaa ,0x8a10 
-0078 708a127a jam 0x7a ,0x8a12 
-0079 708a2500 jam 0x00 ,0x8a25 
-007a 708a2600 jam 0x00 ,0x8a26 
-007b 2000003c nop 60 
-007c 708a2020 jam 0x20 ,0x8a20 
-007d 708a23f5 jam 0xf5 ,0x8a23 
-007e 708a2412 jam 0x12 ,0x8a24 
-007f 708a2410 jam 0x10 ,0x8a24 
-0080 2000003c nop 60 
-0081 708a1260 jam 0x60 ,0x8a12 
-0082 708a23dd jam 0xdd ,0x8a23 
-0083 20600000 rtn 
+0060 708a0f60 jam 0x60 ,0x8a0f 
+0061 708a10aa jam 0xaa ,0x8a10 
+0062 708a127a jam 0x7a ,0x8a12 
+0063 708a2500 jam 0x00 ,0x8a25 
+0064 708a2600 jam 0x00 ,0x8a26 
+0065 2000003c nop 60 
+0066 708a2020 jam 0x20 ,0x8a20 
+0067 708a23f5 jam 0xf5 ,0x8a23 
+0068 708a2412 jam 0x12 ,0x8a24 
+0069 708a2410 jam 0x10 ,0x8a24 
+006a 2000003c nop 60 
+006b 708a1260 jam 0x60 ,0x8a12 
+006c 708a23dd jam 0xdd ,0x8a23 
+006d 20600000 rtn 
 
 p_initialize_radio_cont:
-0084 7089460d jam 0x0d ,0x8946 
-0085 70896f10 jam 0x10 ,0x896f 
-0086 708a0610 jam 0x10 ,0x8a06 
-0087 708a844a jam 0x4a ,0x8a84 
-0088 708a8540 jam 0x40 ,0x8a85 
-0089 708a16fe jam 0xfe ,0x8a16 
-008a 204000e5 call p_set_otp_config 
-008b 37d98200 until null ,lpo_edge 
-008c 70813b5f jam 0x5f ,0x813b 
-008d 6fe0c099 fetch 1 ,mem_fcomp_div 
-008e c00800b9 beq xtal_16m ,p_initialize_radio_16m 
-008f 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0090 1fe1fe04 or_into 0x04 ,pdata 
-0091 67f08a02 store 1 ,0x8a02 
-0092 70890f01 jam 0x01 ,0x890f 
-0093 708a8024 jam 0x24 ,0x8a80 
-0094 708a8162 jam 0x62 ,0x8a81 
-0095 58e61212 setarg 0xe61212 
-0096 67f18a73 store 3 ,0x8a73 
+006e 7089460d jam 0x0d ,0x8946 
+006f 70896f10 jam 0x10 ,0x896f 
+0070 708a0610 jam 0x10 ,0x8a06 
+0071 708a844a jam 0x4a ,0x8a84 
+0072 708a8540 jam 0x40 ,0x8a85 
+0073 708a16fe jam 0xfe ,0x8a16 
+0074 204000cf call p_set_otp_config 
+0075 37d98200 until null ,lpo_edge 
+0076 70813b5f jam 0x5f ,0x813b 
+0077 6fe0c099 fetch 1 ,mem_fcomp_div 
+0078 c00800a3 beq xtal_16m ,p_initialize_radio_16m 
+0079 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+007a 1fe1fe04 or_into 0x04 ,pdata 
+007b 67f08a02 store 1 ,0x8a02 
+007c 70890f01 jam 0x01 ,0x890f 
+007d 708a8024 jam 0x24 ,0x8a80 
+007e 708a8162 jam 0x62 ,0x8a81 
+007f 58e61212 setarg 0xe61212 
+0080 67f18a73 store 3 ,0x8a73 
 
 p_initialize_radio2:
-0097 708a8660 jam 0x60 ,0x8a86 
-0098 708a8b3b jam 0x3b ,0x8a8b 
-0099 204000ab call p_dpll_on 
-009a 70804300 jam 0 ,core_config 
-009b 70804205 jam clksel_dpll ,core_clksel 
-009c 58557474 setarg 0x557474 
-009d 67f18968 store 3 ,0x8968 
-009e 7089606e jam 0x6e ,0x8960 
-009f 2040034e call p_rx_dcoc 
-00a0 20400379 call p_rfpll_aac_ghpc 
-00a1 204000a5 call p_set_xtal_cap 
-00a2 7041480c jam system_clk_12m ,mem_system_clk 
-00a3 20406f4e call sadc_calibration 
-00a4 2020037b branch p_dpll_ring_ibias_calc 
+0081 708a8660 jam 0x60 ,0x8a86 
+0082 708a8b3b jam 0x3b ,0x8a8b 
+0083 20400095 call p_dpll_on 
+0084 70804300 jam 0 ,core_config 
+0085 70804205 jam clksel_dpll ,core_clksel 
+0086 58557474 setarg 0x557474 
+0087 67f18968 store 3 ,0x8968 
+0088 7089606e jam 0x6e ,0x8960 
+0089 2040033b call p_rx_dcoc 
+008a 20400366 call p_rfpll_aac_ghpc 
+008b 2040008f call p_set_xtal_cap 
+008c 7041480c jam system_clk_12m ,mem_system_clk 
+008d 20406f4e call sadc_calibration 
+008e 20200368 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
-00a5 20758000 rtn wake 
-00a6 37d98200 until null ,lpo_edge 
-00a7 6fe0c11c fetch 1 ,mem_xtal_c_sel 
-00a8 67f0813a store 1 ,core_xtal_cap 
-00a9 37d98200 until null ,lpo_edge 
-00aa 20600000 rtn 
+008f 20758000 rtn wake 
+0090 37d98200 until null ,lpo_edge 
+0091 6fe0c11c fetch 1 ,mem_xtal_c_sel 
+0092 67f0813a store 1 ,core_xtal_cap 
+0093 37d98200 until null ,lpo_edge 
+0094 20600000 rtn 
 
 p_dpll_on:
-00ab 6fe0c099 fetch 1 ,mem_fcomp_div 
-00ac c00c00b1 beq xtal_24m ,p_dpll_on_24m 
-00ad 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-00ae 1fe1fe06 or_into 0x06 ,pdata 
-00af 67f08a02 store 1 ,0x8a02 
-00b0 708a05e0 jam 0xe0 ,0x8a05 
+0095 6fe0c099 fetch 1 ,mem_fcomp_div 
+0096 c00c009b beq xtal_24m ,p_dpll_on_24m 
+0097 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+0098 1fe1fe06 or_into 0x06 ,pdata 
+0099 67f08a02 store 1 ,0x8a02 
+009a 708a05e0 jam 0xe0 ,0x8a05 
 
 p_dpll_on_24m:
-00b1 708a00d8 jam 0xd8 ,0x8a00 
-00b2 2000003c nop 60 
-00b3 708a01a0 jam 0xa0 ,0x8a01 
-00b4 708a00df jam 0xdf ,0x8a00 
-00b5 708a01fa jam 0xfa ,0x8a01 
-00b6 20000014 nop 20 
-00b7 708a009f jam 0x9f ,0x8a00 
-00b8 20600000 rtn 
+009b 708a00d8 jam 0xd8 ,0x8a00 
+009c 2000003c nop 60 
+009d 708a01a0 jam 0xa0 ,0x8a01 
+009e 708a00df jam 0xdf ,0x8a00 
+009f 708a01fa jam 0xfa ,0x8a01 
+00a0 20000014 nop 20 
+00a1 708a009f jam 0x9f ,0x8a00 
+00a2 20600000 rtn 
 
 p_initialize_radio_16m:
-00b9 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-00ba 1fe1fe06 or_into 0x06 ,pdata 
-00bb 67f08a02 store 1 ,0x8a02 
-00bc 70890f00 jam 0x00 ,0x890f 
-00bd 708a8023 jam 0x23 ,0x8a80 
-00be 708a81b0 jam 0xb0 ,0x8a81 
-00bf 58e40909 setarg 0xe40909 
-00c0 67f18a73 store 3 ,0x8a73 
-00c1 708a762a jam 0x2a ,0x8a76 
-00c2 70890204 jam 0x04 ,0x8902 
-00c3 20200097 branch p_initialize_radio2 
+00a3 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+00a4 1fe1fe06 or_into 0x06 ,pdata 
+00a5 67f08a02 store 1 ,0x8a02 
+00a6 70890f00 jam 0x00 ,0x890f 
+00a7 708a8023 jam 0x23 ,0x8a80 
+00a8 708a81b0 jam 0xb0 ,0x8a81 
+00a9 58e40909 setarg 0xe40909 
+00aa 67f18a73 store 3 ,0x8a73 
+00ab 708a762a jam 0x2a ,0x8a76 
+00ac 70890204 jam 0x04 ,0x8902 
+00ad 20200081 branch p_initialize_radio2 
 
 p_set_tx_power:
-00c4 6fe0c141 fetch 1 ,mem_tx_power 
-00c5 c0032225 beq tx_power_6db ,set_tx_power_7db 
-00c6 c00500cb beq tx_power_10db ,p_set_tx_power_10db 
-00c7 c04f00d0 beq tx_power_f30db ,p_set_tx_power_f30db 
-00c8 c04f80d4 beq tx_power_f35db ,p_set_tx_power_f35db 
-00c9 c05000d8 beq tx_power_f40db ,p_set_tx_power_f40db 
-00ca 2020220e branch set_tx_power + 2 
+00ae 6fe0c141 fetch 1 ,mem_tx_power 
+00af c0032225 beq tx_power_6db ,set_tx_power_7db 
+00b0 c00500b5 beq tx_power_10db ,p_set_tx_power_10db 
+00b1 c04f00ba beq tx_power_f30db ,p_set_tx_power_f30db 
+00b2 c04f80be beq tx_power_f35db ,p_set_tx_power_f35db 
+00b3 c05000c2 beq tx_power_f40db ,p_set_tx_power_f40db 
+00b4 2020220e branch set_tx_power + 2 
 
 p_set_tx_power_10db:
-00cb 708a1425 jam 0x25 ,0x8a14 
-00cc 58a93f3f setarg 0xa93f3f 
-00cd 67f18a60 store 3 ,0x8a60 
-00ce 708a631f jam 0x1f ,0x8a63 
-00cf 20600000 rtn 
+00b5 708a1425 jam 0x25 ,0x8a14 
+00b6 58a93f3f setarg 0xa93f3f 
+00b7 67f18a60 store 3 ,0x8a60 
+00b8 708a631f jam 0x1f ,0x8a63 
+00b9 20600000 rtn 
 
 p_set_tx_power_f30db:
-00d0 708a1417 jam 0x17 ,0x8a14 
-00d1 58250300 setarg 0x250300 
-00d2 67f18a60 store 3 ,0x8a60 
-00d3 2020221a branch set_tx_power_8a63_28 
+00ba 708a1417 jam 0x17 ,0x8a14 
+00bb 58250300 setarg 0x250300 
+00bc 67f18a60 store 3 ,0x8a60 
+00bd 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f35db:
-00d4 708a1417 jam 0x17 ,0x8a14 
-00d5 58250100 setarg 0x250100 
-00d6 67f18a60 store 3 ,0x8a60 
-00d7 2020221a branch set_tx_power_8a63_28 
+00be 708a1417 jam 0x17 ,0x8a14 
+00bf 58250100 setarg 0x250100 
+00c0 67f18a60 store 3 ,0x8a60 
+00c1 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f40db:
-00d8 708a1417 jam 0x17 ,0x8a14 
-00d9 58250000 setarg 0x250000 
-00da 67f18a60 store 3 ,0x8a60 
-00db 2020221a branch set_tx_power_8a63_28 
+00c2 708a1417 jam 0x17 ,0x8a14 
+00c3 58250000 setarg 0x250000 
+00c4 67f18a60 store 3 ,0x8a60 
+00c5 2020221a branch set_tx_power_8a63_28 
 
 p_otp_read_data:
-00dc 20406b3a call enable_otp_read 
-00dd 20406b75 call otp_read_data + 1 
-00de 20206b38 branch otp_disable_chgpump 
+00c6 20406b3a call enable_otp_read 
+00c7 20406b75 call otp_read_data + 1 
+00c8 20206b38 branch otp_disable_chgpump 
 
 p_dongle_write_kb_bind_status:
-00df df200001 arg 1 ,loopcnt 
-00e0 da204648 arg mem_dg_kb_bind_flag ,rega 
-00e1 da401f00 arg dongle_kb_bind_otp_offect ,regb 
-00e2 20206b45 branch otp_write 
+00c9 df200001 arg 1 ,loopcnt 
+00ca da204648 arg mem_dg_kb_bind_flag ,rega 
+00cb da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00cc 20206b45 branch otp_write 
 
 p_dongle_read_kb_bind_status:
-00e3 da401f00 arg dongle_kb_bind_otp_offect ,regb 
-00e4 202047f1 branch dongle_read_kb_bind_status + 2 
+00cd da401f00 arg dongle_kb_bind_otp_offect ,regb 
+00ce 202047f1 branch dongle_read_kb_bind_status + 2 
 
 p_set_otp_config:
-00e5 2035810c branch p_set_otp_config_wake ,wake 
-00e6 6fe2020d fetch 4 ,mem_otp_core_ldo 
-00e7 207a0000 rtn blank 
-00e8 37d98200 until null ,lpo_edge 
-00e9 6ff08136 fetch 1 ,0x8136 
-00ea 1fe17ef0 and pdata ,0xf0 ,pdata 
-00eb 6848820d fetcht 1 ,mem_otp_core_ldo 
-00ec 9841fe00 ior temp ,pdata 
-00ed 67f08136 store 1 ,0x8136 
-00ee 37d98200 until null ,lpo_edge 
-00ef 6ff08138 fetch 1 ,0x8138 
-00f0 1fe17e07 and pdata ,0x7 ,pdata 
-00f1 6848820e fetcht 1 ,mem_otp_verf_bg 
-00f2 18498400 lshift3 temp ,temp 
-00f3 9841fe00 ior temp ,pdata 
-00f4 67f08138 store 1 ,0x8138 
-00f5 37d98200 until null ,lpo_edge 
+00cf 203580f6 branch p_set_otp_config_wake ,wake 
+00d0 6fe2020d fetch 4 ,mem_otp_core_ldo 
+00d1 207a0000 rtn blank 
+00d2 37d98200 until null ,lpo_edge 
+00d3 6ff08136 fetch 1 ,0x8136 
+00d4 1fe17ef0 and pdata ,0xf0 ,pdata 
+00d5 6848820d fetcht 1 ,mem_otp_core_ldo 
+00d6 9841fe00 ior temp ,pdata 
+00d7 67f08136 store 1 ,0x8136 
+00d8 37d98200 until null ,lpo_edge 
+00d9 6ff08138 fetch 1 ,0x8138 
+00da 1fe17e07 and pdata ,0x7 ,pdata 
+00db 6848820e fetcht 1 ,mem_otp_verf_bg 
+00dc 18498400 lshift3 temp ,temp 
+00dd 9841fe00 ior temp ,pdata 
+00de 67f08138 store 1 ,0x8138 
+00df 37d98200 until null ,lpo_edge 
 
 p_set_otp_config2:
-00f6 6ff08acb fetch 1 ,0x8acb 
-00f7 1fe17ef0 and pdata ,0xf0 ,pdata 
-00f8 6848820f fetcht 1 ,mem_otp_charge_pump 
-00f9 6048c15b storet 1 ,mem_otp_charge_pump_x 
-00fa 9841fe00 ior temp ,pdata 
-00fb 67f08acb store 1 ,0x8acb 
-00fc 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00fd 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
-00fe 2feffe03 isolate1 3 ,pdata 
-00ff 6ff08a06 fetch 1 ,0x8a06 
-0100 7920fe07 setflag true ,7 ,pdata 
-0101 67f08a06 store 1 ,0x8a06 
-0102 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-0103 1fe10407 and pdata ,7 ,temp 
-0104 18520400 lshift4 temp ,temp 
-0105 18438400 lshift temp ,temp 
-0106 6048c438 storet 1 ,mem_ring_ibias_trim 
-0107 6ff08a02 fetch 1 ,0x8a02 
-0108 1fe17e1f and pdata ,0x1f ,pdata 
-0109 9841fe00 ior temp ,pdata 
-010a 67f08a02 store 1 ,0x8a02 
-010b 20600000 rtn 
+00e0 6ff08acb fetch 1 ,0x8acb 
+00e1 1fe17ef0 and pdata ,0xf0 ,pdata 
+00e2 6848820f fetcht 1 ,mem_otp_charge_pump 
+00e3 6048c15b storet 1 ,mem_otp_charge_pump_x 
+00e4 9841fe00 ior temp ,pdata 
+00e5 67f08acb store 1 ,0x8acb 
+00e6 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00e7 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
+00e8 2feffe03 isolate1 3 ,pdata 
+00e9 6ff08a06 fetch 1 ,0x8a06 
+00ea 7920fe07 setflag true ,7 ,pdata 
+00eb 67f08a06 store 1 ,0x8a06 
+00ec 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00ed 1fe10407 and pdata ,7 ,temp 
+00ee 18520400 lshift4 temp ,temp 
+00ef 18438400 lshift temp ,temp 
+00f0 6048c438 storet 1 ,mem_ring_ibias_trim 
+00f1 6ff08a02 fetch 1 ,0x8a02 
+00f2 1fe17e1f and pdata ,0x1f ,pdata 
+00f3 9841fe00 ior temp ,pdata 
+00f4 67f08a02 store 1 ,0x8a02 
+00f5 20600000 rtn 
 
 p_set_otp_config_wake:
-010c 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
-010d 207a0000 rtn blank 
-010e 67e1020f store 2 ,mem_otp_charge_pump 
-010f 202000f6 branch p_set_otp_config2 
+00f6 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
+00f7 207a0000 rtn blank 
+00f8 67e1020f store 2 ,mem_otp_charge_pump 
+00f9 202000e0 branch p_set_otp_config2 
 
 p_rf_rx_enable:
-0110 2040686f call rf_debug_rx_gpio_high 
-0111 204021ba call rf_rx_agc_set 
-0112 18002a08 force 8 ,radio_ctrl 
-0113 18002a00 force 0 ,radio_ctrl 
-0114 580aaada setarg 0x0aaada 
-0115 67f18a0f store 3 ,0x8a0f 
-0116 708a2540 jam 0x40 ,0x8a25 
-0117 708a2610 jam 0x10 ,0x8a26 
-0118 2000003c nop 60 
-0119 708a01fb jam 0xfb ,0x8a01 
-011a 708a25ff jam 0xff ,0x8a25 
-011b 708a2630 jam 0x30 ,0x8a26 
-011c 708a16fe jam 0xfe ,0x8a16 
-011d 202021b4 branch rf_rx_enable + 14 
+00fa 2040686f call rf_debug_rx_gpio_high 
+00fb 204021ba call rf_rx_agc_set 
+00fc 18002a08 force 8 ,radio_ctrl 
+00fd 18002a00 force 0 ,radio_ctrl 
+00fe 580aaada setarg 0x0aaada 
+00ff 67f18a0f store 3 ,0x8a0f 
+0100 708a2540 jam 0x40 ,0x8a25 
+0101 708a2610 jam 0x10 ,0x8a26 
+0102 2000003c nop 60 
+0103 708a01fb jam 0xfb ,0x8a01 
+0104 708a25ff jam 0xff ,0x8a25 
+0105 708a2630 jam 0x30 ,0x8a26 
+0106 708a16fe jam 0xfe ,0x8a16 
+0107 202021b4 branch rf_rx_enable + 14 
 
 p_txon:
-011e 580aaa7e setarg 0x0aaa7e 
-011f 67f18a0f store 3 ,0x8a0f 
-0120 2000003c nop 60 
-0121 708a2500 jam 0x00 ,0x8a25 
-0122 708a260d jam 0x0d ,0x8a26 
-0123 708a16f6 jam 0xf6 ,0x8a16 
-0124 20202203 branch txon + 7 
+0108 580aaa7e setarg 0x0aaa7e 
+0109 67f18a0f store 3 ,0x8a0f 
+010a 2000003c nop 60 
+010b 708a2500 jam 0x00 ,0x8a25 
+010c 708a260d jam 0x0d ,0x8a26 
+010d 708a16f6 jam 0xf6 ,0x8a16 
+010e 20202203 branch txon + 7 
 
 p_usb_isr:
-0125 6ff08c22 fetch 1 ,core_usb_status 
-0126 2feffe03 isolate1 usb_status_reset ,pdata 
-0127 20408131 call p_usb_init_restart ,true 
-0128 2020790a branch usb_isr + 4 
+010f 6ff08c22 fetch 1 ,core_usb_status 
+0110 2feffe03 isolate1 usb_status_reset ,pdata 
+0111 2040811b call p_usb_init_restart ,true 
+0112 2020790a branch usb_isr + 4 
 
 p_usb_init:
-0129 58000aa0 setarg mem_dg_rssi_noise_dg_buffer 
-012a 20407d88 call ice_set_write_bp 
-012b 20407396 call enable_authrom 
-012c 20407932 call usb_init_param 
-012d 58004723 setarg mem_usb_ep2_config 
-012e 67e107a9 store 2 ,mem_hidreportdesc_m 
-012f 58000265 setarg p_dongle_g24_mouse 
-0130 67e145e4 store 2 ,mem_cb_24g_data_device1 
+0113 58000aa0 setarg mem_dg_rssi_noise_dg_buffer 
+0114 20407d88 call ice_set_write_bp 
+0115 20407396 call enable_authrom 
+0116 20407932 call usb_init_param 
+0117 58004723 setarg mem_usb_ep2_config 
+0118 67e107a9 store 2 ,mem_hidreportdesc_m 
+0119 5800025b setarg p_dongle_g24_mouse 
+011a 67e145e4 store 2 ,mem_cb_24g_data_device1 
 
 p_usb_init_restart:
-0131 708c0000 jam 0x00 ,core_usb_config 
-0132 20002710 nop 10000 
-0133 708c1200 jam 0x0 ,core_usb_hmode 
-0134 6ff10050 fetch 2 ,core_clkoff 
-0135 793ffe0a set0 clock_off_usb ,pdata 
-0136 67f10050 store 2 ,core_clkoff 
-0137 708c1021 jam 0x21 ,core_usb_epmap 
-0138 708c119d jam 0x9d ,core_usb_pupd 
-0139 708c003c jam 0x3c ,core_usb_config 
-013a 58000da0 setarg mem_usb_buff_new 
-013b 67f10c02 store 2 ,core_usb_rx_saddr 
-013c 67f10c06 store 2 ,core_usb_rxptr 
-013d 58000ea0 setarg mem_usb_buff_new_end 
-013e 67f10c04 store 2 ,core_usb_rx_eaddr 
-013f 708c1280 jam 0x80 ,core_usb_hmode 
-0140 708c0100 jam 0 ,core_usb_addr 
-0141 708c22ff jam 0xff ,core_usb_status 
-0142 5800095f setarg mem_usb_clear_mem_end 
-0143 d8a0086d arg mem_usb_clear_mem_start ,contw 
-0144 98a67200 isub contw ,loopcnt 
-0145 20207ca1 branch clear_mem 
+011b 708c0000 jam 0x00 ,core_usb_config 
+011c 20002710 nop 10000 
+011d 708c1200 jam 0x0 ,core_usb_hmode 
+011e 6ff10050 fetch 2 ,core_clkoff 
+011f 793ffe0a set0 clock_off_usb ,pdata 
+0120 67f10050 store 2 ,core_clkoff 
+0121 708c1021 jam 0x21 ,core_usb_epmap 
+0122 708c119d jam 0x9d ,core_usb_pupd 
+0123 708c003c jam 0x3c ,core_usb_config 
+0124 58000da0 setarg mem_usb_buff_new 
+0125 67f10c02 store 2 ,core_usb_rx_saddr 
+0126 67f10c06 store 2 ,core_usb_rxptr 
+0127 58000ea0 setarg mem_usb_buff_new_end 
+0128 67f10c04 store 2 ,core_usb_rx_eaddr 
+0129 708c1280 jam 0x80 ,core_usb_hmode 
+012a 708c0100 jam 0 ,core_usb_addr 
+012b 708c22ff jam 0xff ,core_usb_status 
+012c 5800095f setarg mem_usb_clear_mem_end 
+012d d8a0086d arg mem_usb_clear_mem_start ,contw 
+012e 98a67200 isub contw ,loopcnt 
+012f 20207ca1 branch clear_mem 
 
 p_usb_rx_data:
-0146 78547c00 disable user 
-0147 6ff08c25 fetch 1 ,core_usb_txbusy 
-0148 c2837dba bbit1 usb_status_rxfull ,enable_user 
-0149 18a22200 copy contw ,rega 
-014a 20407989 call usb_rx_len 
-014b 1a220a00 copy rega ,contw 
-014c 20207994 branch usb_rx_read 
+0130 78547c00 disable user 
+0131 6ff08c25 fetch 1 ,core_usb_txbusy 
+0132 c2837dba bbit1 usb_status_rxfull ,enable_user 
+0133 18a22200 copy contw ,rega 
+0134 20407989 call usb_rx_len 
+0135 1a220a00 copy rega ,contw 
+0136 20207994 branch usb_rx_read 
 
 p_usb_rx_data_out:
-014d 6fe0870c fetch 1 ,mem_usb_read_len 
-014e 1fe67c02 sub pdata ,2 ,null 
-014f 20210187 branch p_dongle_hci_event_invalid_packet ,positive 
-0150 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-0151 c0808187 bne 0x01 ,p_dongle_hci_event_invalid_packet 
-0152 efe08006 ifetch 1 ,contr 
-0153 67e0c6df store 1 ,mem_dongle_usb_opcode 
-0154 e8408006 ifetcht 1 ,contr 
-0155 18c22200 copy contr ,rega 
-0156 6048c6e0 storet 1 ,mem_dongle_usb_len 
+0137 6fe0870c fetch 1 ,mem_usb_read_len 
+0138 1fe67c02 sub pdata ,2 ,null 
+0139 20210186 branch p_dongle_hci_event_invalid_packet ,positive 
+013a 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+013b c0808186 bne 0x01 ,p_dongle_hci_event_invalid_packet 
+013c efe08006 ifetch 1 ,contr 
+013d 67e0c6df store 1 ,mem_dongle_usb_opcode 
+013e e8408006 ifetcht 1 ,contr 
+013f 18c22200 copy contr ,rega 
+0140 6048c6e0 storet 1 ,mem_dongle_usb_len 
 
 p_dongle_usb_hci_cmd_control:
-0157 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
-0158 c000815f beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
-0159 c001816c beq hci_cmd_get_dpi ,p_dongle_usb_hci_cmd_get_dpi 
-015a c0028175 beq hci_cmd_get_sn ,p_dongle_usb_hci_cmd_get_sn 
-015b c003017e beq hci_cmd_set_battery ,p_dongle_usb_hci_cmd_get_battery 
-015c 20200187 branch p_dongle_hci_event_invalid_packet 
-
-p_dongle_usb_hci_cmd_set_dpi:
-015d 7046e1a2 jam report_id_data_out ,mem_dongle_24g_data_ack_flag 
-015e 202001a0 branch p_dongle_usb_ack_prep 
+0141 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0142 203a017e branch p_dongle_usb_device_disconnect ,blank 
+0143 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
+0144 c000814a beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
+0145 c0018157 beq hci_cmd_get_dpi ,p_dongle_usb_hci_cmd_get_dpi 
+0146 c0028160 beq hci_cmd_get_sn ,p_dongle_usb_hci_cmd_get_sn 
+0147 c0030169 beq hci_cmd_set_battery ,p_dongle_usb_hci_cmd_get_battery 
+0148 c0038172 beq hci_cmd_get_connect_state ,p_dongle_usb_hci_cmd_get_connect_state 
+0149 20200186 branch p_dongle_hci_event_invalid_packet 
 
 p_dongle_usb_hci_cmd_get_deivce_info:
-015f 70484d40 jam 0x40 ,mem_dongle_usb_ep2_data 
-0160 70484ea1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0161 70484f02 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0162 70485001 jam 0x01 ,mem_dongle_usb_ep2_data + 3 
-0163 7048510b jam 0x0b ,mem_dongle_usb_ep2_data + 4 
-0164 6fe34800 fetch 6 ,mem_usb_get_report_sn_data 
-0165 67e34852 store 6 ,mem_dongle_usb_ep2_data + 5 
-0166 6fe14808 fetch 2 ,mem_usb_get_report_mouse_version_data 
-0167 67e14858 store 2 ,mem_dongle_usb_ep2_data + 11 
-0168 6fe1480a fetch 2 ,mem_dongle_version 
-0169 67e1485a store 2 ,mem_dongle_usb_ep2_data + 13 
-016a 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
-016b 20200292 branch p_dongle_usb_tx_enable_ep2 
+014a 70485140 jam 0x40 ,mem_dongle_usb_ep2_data 
+014b 704852a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+014c 70485302 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+014d 70485401 jam 0x01 ,mem_dongle_usb_ep2_data + 3 
+014e 7048550b jam 0x0b ,mem_dongle_usb_ep2_data + 4 
+014f 6fe34800 fetch 6 ,mem_usb_get_report_sn_data 
+0150 67e34856 store 6 ,mem_dongle_usb_ep2_data + 5 
+0151 6fe14808 fetch 2 ,mem_usb_get_report_mouse_version_data 
+0152 67e1485c store 2 ,mem_dongle_usb_ep2_data + 11 
+0153 6fe1480a fetch 2 ,mem_dongle_version 
+0154 67e1485e store 2 ,mem_dongle_usb_ep2_data + 13 
+0155 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
+0156 20200288 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_dpi:
-016c 70484d40 jam 0x40 ,mem_dongle_usb_ep2_data 
-016d 70484ea1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-016e 70484f02 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-016f 70485002 jam 0x02 ,mem_dongle_usb_ep2_data + 3 
-0170 70485101 jam 0x01 ,mem_dongle_usb_ep2_data + 4 
-0171 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data 
-0172 67e0c852 store 1 ,mem_dongle_usb_ep2_data + 5 
-0173 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
-0174 20200292 branch p_dongle_usb_tx_enable_ep2 
+0157 70485140 jam 0x40 ,mem_dongle_usb_ep2_data 
+0158 704852a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0159 70485302 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+015a 70485402 jam 0x02 ,mem_dongle_usb_ep2_data + 3 
+015b 70485501 jam 0x01 ,mem_dongle_usb_ep2_data + 4 
+015c 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data 
+015d 67e0c856 store 1 ,mem_dongle_usb_ep2_data + 5 
+015e 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
+015f 20200288 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_sn:
-0175 70484d40 jam 0x40 ,mem_dongle_usb_ep2_data 
-0176 70484ea1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0177 70484f02 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0178 70485003 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
-0179 70485106 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
-017a 6fe34800 fetch 6 ,mem_usb_get_report_sn_data 
-017b 67e34852 store 6 ,mem_dongle_usb_ep2_data + 5 
-017c 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
-017d 20200292 branch p_dongle_usb_tx_enable_ep2 
+0160 70485140 jam 0x40 ,mem_dongle_usb_ep2_data 
+0161 704852a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0162 70485302 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+0163 70485403 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
+0164 70485506 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
+0165 6fe34800 fetch 6 ,mem_usb_get_report_sn_data 
+0166 67e34856 store 6 ,mem_dongle_usb_ep2_data + 5 
+0167 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
+0168 20200288 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_battery:
-017e 70484d40 jam 0x40 ,mem_dongle_usb_ep2_data 
-017f 70484ea1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0180 70484f02 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0181 70485006 jam 0x06 ,mem_dongle_usb_ep2_data + 3 
-0182 70485101 jam 0x01 ,mem_dongle_usb_ep2_data + 4 
-0183 6fe0c807 fetch 1 ,mem_usb_get_report_battery_data 
-0184 67e0c852 store 1 ,mem_dongle_usb_ep2_data + 5 
-0185 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
-0186 20200292 branch p_dongle_usb_tx_enable_ep2 
+0169 70485140 jam 0x40 ,mem_dongle_usb_ep2_data 
+016a 704852a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+016b 70485302 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+016c 70485406 jam 0x06 ,mem_dongle_usb_ep2_data + 3 
+016d 70485501 jam 0x01 ,mem_dongle_usb_ep2_data + 4 
+016e 6fe0c807 fetch 1 ,mem_usb_get_report_battery_data 
+016f 67e0c856 store 1 ,mem_dongle_usb_ep2_data + 5 
+0170 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
+0171 20200288 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_usb_hci_cmd_get_connect_state:
+0172 6fe0c80c fetch 1 ,mem_dongle_connect_mouse_flag 
+0173 c000017e beq 0 ,p_dongle_usb_device_disconnect 
+0174 c0008176 beq 1 ,p_dongle_usb_device_connect 
+0175 20600000 rtn 
+
+p_dongle_usb_device_connect:
+0176 70481040 jam 0x40 ,mem_usb_rf_state_data 
+0177 704811a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+0178 70481202 jam 0x02 ,mem_usb_rf_state_data + 2 
+0179 70481305 jam 0x05 ,mem_usb_rf_state_data + 3 
+017a 70481401 jam 0x01 ,mem_usb_rf_state_data + 4 
+017b 70481501 jam 0x01 ,mem_usb_rf_state_data + 5 
+017c 70090c28 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+017d 20200288 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_usb_device_disconnect:
+017e 70481040 jam 0x40 ,mem_usb_rf_state_data 
+017f 704811a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+0180 70481202 jam 0x02 ,mem_usb_rf_state_data + 2 
+0181 70481305 jam 0x05 ,mem_usb_rf_state_data + 3 
+0182 70481401 jam 0x01 ,mem_usb_rf_state_data + 4 
+0183 70481500 jam 0x00 ,mem_usb_rf_state_data + 5 
+0184 70090c28 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+0185 20200288 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_hci_event_invalid_packet:
-0187 70480c40 jam 0x40 ,mem_usb_rf_state_data 
-0188 70480da1 jam 0xA1 ,mem_usb_rf_state_data + 1 
-0189 d8400001 arg 1 ,temp 
+0186 70481040 jam 0x40 ,mem_usb_rf_state_data 
+0187 704811a1 jam 0xA1 ,mem_usb_rf_state_data + 1 
+0188 d8400001 arg 1 ,temp 
 
 p_dongle_hci_event_ack_packet:
-018a da200000 arg 0 ,rega 
-018b 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
-018c 1fe22600 copy pdata ,regc 
+0189 da200000 arg 0 ,rega 
+018a 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
+018b 1fe22600 copy pdata ,regc 
 
 p_dongle_hci_event_packet:
-018d 7046df06 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
-018e 58000002 setarg 2 
-018f 9a20fe00 iadd rega ,pdata 
-0190 7046de02 jam 0x02 ,mem_dongle_usb_header 
-0191 67e0c6e0 store 1 ,mem_dongle_usb_len 
-0192 604c0678 storet 8 ,mem_temp 
-0193 684c0678 fetcht 8 ,mem_temp 
-0194 d8a0480e arg mem_usb_rf_state_data + 2 ,contw 
-0195 6fe1c6de fetch 3 ,mem_dongle_usb_header 
-0196 e7e18005 istore 3 ,contw 
-0197 1a627e00 copy regc ,pdata 
-0198 e7e08005 istore 1 ,contw 
-0199 e0408005 istoret 1 ,contw 
-019a 1a227200 copy rega ,loopcnt 
-019b 1a420c00 copy regb ,contr 
-019c 20407cda call memcpy 
-019d 70066f28 jam usb_ep2_mskb_state ,mem_fifo_temp 
-019e da204890 arg mem_usb_ep2_fifo ,rega 
-019f 20207d8b branch fifo_in 
-
-p_dongle_usb_ack_prep:
-01a0 204001a9 call p_dongle_g24_ack_data_clr 
-01a1 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-01a2 7047ffa2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-01a3 6f208876 fetchr loopcnt ,1 ,mem_usb0_set_report_data + 1 
-01a4 1f20f202 increase 2 ,loopcnt 
-01a5 6720c6e2 storer loopcnt ,1 ,mem_dongle_24g_data_ack_len 
-01a6 d8c00875 arg mem_usb0_set_report_data ,contr 
-01a7 d8a046e3 arg mem_dongle_g24_ack_data ,contw 
-01a8 20207cda branch memcpy 
-
-p_dongle_g24_ack_data_clr:
-01a9 df200040 arg 64 ,loopcnt 
-01aa d8a046e3 arg mem_dongle_g24_ack_data ,contw 
-01ab 20207ca1 branch clear_mem 
+018c 7046df06 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
+018d 58000002 setarg 2 
+018e 9a20fe00 iadd rega ,pdata 
+018f 7046de02 jam 0x02 ,mem_dongle_usb_header 
+0190 67e0c6e0 store 1 ,mem_dongle_usb_len 
+0191 604c0678 storet 8 ,mem_temp 
+0192 684c0678 fetcht 8 ,mem_temp 
+0193 d8a04812 arg mem_usb_rf_state_data + 2 ,contw 
+0194 6fe1c6de fetch 3 ,mem_dongle_usb_header 
+0195 e7e18005 istore 3 ,contw 
+0196 1a627e00 copy regc ,pdata 
+0197 e7e08005 istore 1 ,contw 
+0198 e0408005 istoret 1 ,contw 
+0199 1a227200 copy rega ,loopcnt 
+019a 1a420c00 copy regb ,contr 
+019b 20407cda call memcpy 
+019c 70066f28 jam usb_ep2_mskb_state ,mem_fifo_temp 
+019d da204892 arg mem_usb_ep2_fifo ,rega 
+019e 20207d8b branch fifo_in 
 
 p_usb_rx_len:
-01ac 69510c02 fetchr contus ,2 ,core_usb_rx_saddr 
-01ad 6a110c04 fetchr contue ,2 ,core_usb_rx_eaddr 
-01ae 68710c06 fetchr contu ,2 ,core_usb_rxptr 
-01af 18627e00 copy contu ,pdata 
-01b0 efe10003 ifetch 2 ,contu 
-01b1 1fec8400 rshift8 pdata ,temp 
-01b2 18518400 rshift4 temp ,temp 
-01b3 d8c00fff arg 0xfff ,contr 
-01b4 98c17200 iand contr ,loopcnt 
-01b5 6721070c storer loopcnt ,2 ,mem_usb_read_len 
-01b6 1f267c00 sub loopcnt ,0 ,null 
-01b7 204281ac call p_usb_rx_len ,zero 
-01b8 1f267c00 sub loopcnt ,0 ,null 
-01b9 2042fd7c call ice_break ,zero 
-01ba 20600000 rtn 
+019f 69510c02 fetchr contus ,2 ,core_usb_rx_saddr 
+01a0 6a110c04 fetchr contue ,2 ,core_usb_rx_eaddr 
+01a1 68710c06 fetchr contu ,2 ,core_usb_rxptr 
+01a2 18627e00 copy contu ,pdata 
+01a3 efe10003 ifetch 2 ,contu 
+01a4 1fec8400 rshift8 pdata ,temp 
+01a5 18518400 rshift4 temp ,temp 
+01a6 d8c00fff arg 0xfff ,contr 
+01a7 98c17200 iand contr ,loopcnt 
+01a8 6721070c storer loopcnt ,2 ,mem_usb_read_len 
+01a9 1f267c00 sub loopcnt ,0 ,null 
+01aa 2042819f call p_usb_rx_len ,zero 
+01ab 1f267c00 sub loopcnt ,0 ,null 
+01ac 2042fd7c call ice_break ,zero 
+01ad 20600000 rtn 
 
 p_usb_rx:
-01bb 6fe08709 fetch 1 ,mem_usb_status 
-01bc c4028000 rtnbit0 usb_status_rxready 
-01bd 204001ac call p_usb_rx_len 
-01be 6048c697 storet 1 ,mem_usb_rx_endpoint 
-01bf 2841fe0d compare 13 ,temp ,0xff 
-01c0 2020f999 branch usb_rx_ep13 ,true 
-01c1 6fe0c696 fetch 1 ,mem_setreport_count 
-01c2 c00081d1 beq 1 ,p_setreport_next_page_data 
-01c3 1f267c00 sub loopcnt ,0 ,null 
-01c4 2042fd7c call ice_break ,zero 
-01c5 d8a0086d arg mem_usb_setup ,contw 
-01c6 20407994 call usb_rx_read 
-01c7 202001c8 branch p_usb_rx_next 
+01ae 6fe08709 fetch 1 ,mem_usb_status 
+01af c4028000 rtnbit0 usb_status_rxready 
+01b0 2040019f call p_usb_rx_len 
+01b1 6048c697 storet 1 ,mem_usb_rx_endpoint 
+01b2 2841fe0d compare 13 ,temp ,0xff 
+01b3 2020f999 branch usb_rx_ep13 ,true 
+01b4 6fe0c696 fetch 1 ,mem_setreport_count 
+01b5 c00081c4 beq 1 ,p_setreport_next_page_data 
+01b6 1f267c00 sub loopcnt ,0 ,null 
+01b7 2042fd7c call ice_break ,zero 
+01b8 d8a0086d arg mem_usb_setup ,contw 
+01b9 20407994 call usb_rx_read 
+01ba 202001bb branch p_usb_rx_next 
 
 p_usb_rx_next:
-01c8 6fe0870c fetch 1 ,mem_usb_read_len 
-01c9 c0007986 beq 0x00 ,usb_rx_no_data 
-01ca c000f9b6 beq 0x01 ,usb_out_one_byte 
-01cb 1fe67c07 sub pdata ,7 ,null 
-01cc 20610000 rtn positive 
-01cd 202001e1 branch p_usb_class_type 
+01bb 6fe0870c fetch 1 ,mem_usb_read_len 
+01bc c0007986 beq 0x00 ,usb_rx_no_data 
+01bd c000f9b6 beq 0x01 ,usb_out_one_byte 
+01be 1fe67c07 sub pdata ,7 ,null 
+01bf 20610000 rtn positive 
+01c0 202001d4 branch p_usb_class_type 
 
 p_dongle_usb_data_received_analysis:
-01ce 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-01cf c051014d beq report_id_data_out ,p_usb_rx_data_out 
-01d0 20600000 rtn 
+01c1 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+01c2 c0510137 beq report_id_data_out ,p_usb_rx_data_out 
+01c3 20600000 rtn 
 
 p_setreport_next_page_data:
-01d1 d8a00875 arg mem_usb0_set_report_data ,contw 
-01d2 20407994 call usb_rx_read 
-01d3 70469600 jam 0 ,mem_setreport_count 
-01d4 6fe0870c fetch 1 ,mem_usb_read_len 
-01d5 c00081db beq 0x01 ,p_usb_out_one_byte 
-01d6 7008f701 jam 1 ,mem_usb0_get_set_report 
-01d7 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-01d8 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-01d9 708c1b03 jam 0x03 ,core_usb_clear_nak 
-01da 20600000 rtn 
+01c4 d8a00875 arg mem_usb0_set_report_data ,contw 
+01c5 20407994 call usb_rx_read 
+01c6 70469600 jam 0 ,mem_setreport_count 
+01c7 6fe0870c fetch 1 ,mem_usb_read_len 
+01c8 c00081ce beq 0x01 ,p_usb_out_one_byte 
+01c9 7008f701 jam 1 ,mem_usb0_get_set_report 
+01ca 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+01cb 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+01cc 708c1b03 jam 0x03 ,core_usb_clear_nak 
+01cd 20600000 rtn 
 
 p_usb_out_one_byte:
-01db 6fe0886d fetch 1 ,mem_usb_setup 
-01dc c3838000 rtnbit1 7 
-01dd 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-01de 20407b6a call usb_get_led_status 
-01df 708c1b01 jam 0x1 ,core_usb_clear_nak 
-01e0 20600000 rtn 
+01ce 6fe0886d fetch 1 ,mem_usb_setup 
+01cf c3838000 rtnbit1 7 
+01d0 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+01d1 20407b6a call usb_get_led_status 
+01d2 708c1b01 jam 0x1 ,core_usb_clear_nak 
+01d3 20600000 rtn 
 
 p_usb_class_type:
-01e1 793f8023 set0 mark_isstr ,mark 
-01e2 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01e3 1fe17e80 and_into 0x80 ,pdata 
-01e4 c04079ba beq in_device ,usb_in_device 
-01e5 c00001e7 beq out_device ,p_usb_out_device 
-01e6 2020235a branch assert 
+01d4 793f8023 set0 mark_isstr ,mark 
+01d5 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01d6 1fe17e80 and_into 0x80 ,pdata 
+01d7 c04079ba beq in_device ,usb_in_device 
+01d8 c00001da beq out_device ,p_usb_out_device 
+01d9 2020235a branch assert 
 
 p_usb_out_device:
-01e7 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01e8 1ff1fe00 rshift4 pdata ,pdata 
-01e9 1fe37e00 rshift pdata ,pdata 
-01ea 1fe17e03 and_into 0x03 ,pdata 
-01eb c00001ef beq standard_req ,p_usb_out_standard_req 
-01ec c000822a beq class_req ,p_usb_out_class_req 
-01ed c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-01ee 2020235a branch assert 
+01da 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01db 1ff1fe00 rshift4 pdata ,pdata 
+01dc 1fe37e00 rshift pdata ,pdata 
+01dd 1fe17e03 and_into 0x03 ,pdata 
+01de c00001e2 beq standard_req ,p_usb_out_standard_req 
+01df c000821d beq class_req ,p_usb_out_class_req 
+01e0 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+01e1 2020235a branch assert 
 
 p_usb_out_standard_req:
-01ef 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-01f0 c00081f7 beq clear_feature ,p_usb0_request_clear_feature 
-01f1 c001fadb beq set_feature ,usb0_request_set_feature 
-01f2 c002fb06 beq set_address ,usb0_request_set_address 
-01f3 c004fb1f beq set_configuration ,usb0_request_set_configuration 
-01f4 c0058211 beq set_interface ,p_usb0_request_set_interface 
-01f5 c003f9e4 beq set_descriptor ,usb0_force_stall 
-01f6 202079e4 branch usb0_force_stall 
+01e2 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01e3 c00081ea beq clear_feature ,p_usb0_request_clear_feature 
+01e4 c001fadb beq set_feature ,usb0_request_set_feature 
+01e5 c002fb06 beq set_address ,usb0_request_set_address 
+01e6 c004fb1f beq set_configuration ,usb0_request_set_configuration 
+01e7 c0058204 beq set_interface ,p_usb0_request_set_interface 
+01e8 c003f9e4 beq set_descriptor ,usb0_force_stall 
+01e9 202079e4 branch usb0_force_stall 
 
 p_usb0_request_clear_feature:
-01f7 6fe0886b fetch 1 ,mem_usb0_state 
-01f8 c08279e4 bne dev_configured ,usb0_force_stall 
-01f9 6fe08873 fetch 1 ,mem_usb_setup_blength 
-01fa c08079e4 bne 0 ,usb0_force_stall 
-01fb 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
-01fc c08079e4 bne 0 ,usb0_force_stall 
-01fd 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01fe c08079e4 bne 0 ,usb0_force_stall 
-01ff 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
-0200 c08079e4 bne 0 ,usb0_force_stall 
-0201 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0202 c0000206 beq out_device ,p_usb0_request_clear_feature_out_device 
-0203 c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
-0204 c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
-0205 202079e4 branch usb0_force_stall 
+01ea 6fe0886b fetch 1 ,mem_usb0_state 
+01eb c08279e4 bne dev_configured ,usb0_force_stall 
+01ec 6fe08873 fetch 1 ,mem_usb_setup_blength 
+01ed c08079e4 bne 0 ,usb0_force_stall 
+01ee 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+01ef c08079e4 bne 0 ,usb0_force_stall 
+01f0 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01f1 c08079e4 bne 0 ,usb0_force_stall 
+01f2 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01f3 c08079e4 bne 0 ,usb0_force_stall 
+01f4 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01f5 c00001f9 beq out_device ,p_usb0_request_clear_feature_out_device 
+01f6 c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
+01f7 c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+01f8 202079e4 branch usb0_force_stall 
 
 p_usb0_request_clear_feature_out_device:
-0206 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-0207 c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
-0208 6ff08c00 fetch 1 ,core_usb_config 
-0209 793ffe07 set0 7 ,pdata 
-020a 67f08c00 store 1 ,core_usb_config 
-020b 70090100 jam 0 ,mem_usb_remote_wakeup 
-020c 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
-020d 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
-020e 203a79e9 branch usb0_reply_zerolen ,blank 
-020f 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
-0210 202079e9 branch usb0_reply_zerolen 
+01f9 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+01fa c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
+01fb 6ff08c00 fetch 1 ,core_usb_config 
+01fc 793ffe07 set0 7 ,pdata 
+01fd 67f08c00 store 1 ,core_usb_config 
+01fe 70090100 jam 0 ,mem_usb_remote_wakeup 
+01ff 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
+0200 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
+0201 203a79e9 branch usb0_reply_zerolen ,blank 
+0202 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
+0203 202079e9 branch usb0_reply_zerolen 
 
 p_usb0_request_set_interface:
-0211 6fe0886b fetch 1 ,mem_usb0_state 
-0212 c08279e4 bne dev_configured ,usb0_force_stall 
-0213 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0214 c080f9e4 bne out_interface ,usb0_force_stall 
-0215 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-0216 c08079e4 bne 0 ,usb0_force_stall 
-0217 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-0218 c08079e4 bne 0 ,usb0_force_stall 
-0219 6fe08873 fetch 1 ,mem_usb_setup_blength 
-021a c08079e4 bne 0 ,usb0_force_stall 
-021b 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
-021c c08079e4 bne 0 ,usb0_force_stall 
-021d 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
-021e c08079e4 bne 0 ,usb0_force_stall 
-021f 202079e9 branch usb0_reply_zerolen 
+0204 6fe0886b fetch 1 ,mem_usb0_state 
+0205 c08279e4 bne dev_configured ,usb0_force_stall 
+0206 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+0207 c080f9e4 bne out_interface ,usb0_force_stall 
+0208 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+0209 c08079e4 bne 0 ,usb0_force_stall 
+020a 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+020b c08079e4 bne 0 ,usb0_force_stall 
+020c 6fe08873 fetch 1 ,mem_usb_setup_blength 
+020d c08079e4 bne 0 ,usb0_force_stall 
+020e 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+020f c08079e4 bne 0 ,usb0_force_stall 
+0210 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+0211 c08079e4 bne 0 ,usb0_force_stall 
+0212 202079e9 branch usb0_reply_zerolen 
 
 p_usb0_request_get_descriptor:
-0220 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-0221 c000fa14 beq dsc_device ,dsc_device_info 
-0222 c0010227 beq dsc_config ,p_dsc_config_info 
-0223 c001fa30 beq dsc_string ,dsc_string_info 
-0224 c010fa09 beq dsc_hid ,dsc_hid_info 
-0225 c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
-0226 202079e4 branch usb0_force_stall 
+0213 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+0214 c000fa14 beq dsc_device ,dsc_device_info 
+0215 c001021a beq dsc_config ,p_dsc_config_info 
+0216 c001fa30 beq dsc_string ,dsc_string_info 
+0217 c010fa09 beq dsc_hid ,dsc_hid_info 
+0218 c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
+0219 202079e4 branch usb0_force_stall 
 
 p_dsc_config_info:
-0227 58004698 setarg mem_config_new 
-0228 6848c698 fetcht 1 ,mem_config_new 
-0229 20207a18 branch dsc_info_set_data_len 
+021a 58004698 setarg mem_config_new 
+021b 6848c698 fetcht 1 ,mem_config_new 
+021c 20207a18 branch dsc_info_set_data_len 
 
 p_usb_out_class_req:
-022a 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-022b c0057b4b beq set_idle ,usb_set_idle 
-022c c004822f beq set_report ,p_usb_set_report 
-022d c005fb7c beq set_protocol ,usb_set_protocol_req 
-022e 202079e4 branch usb0_force_stall 
+021d 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+021e c0057b4b beq set_idle ,usb_set_idle 
+021f c0048222 beq set_report ,p_usb_set_report 
+0220 c005fb7c beq set_protocol ,usb_set_protocol_req 
+0221 202079e4 branch usb0_force_stall 
 
 p_usb_set_report:
-022f 708c1b02 jam 0x2 ,core_usb_clear_nak 
-0230 20003a98 nop 15000 
-0231 d8a00875 arg mem_usb0_set_report_data ,contw 
-0232 20400146 call p_usb_rx_data 
-0233 2034023c branch p_usb_set_report_delay ,user 
-0234 6ff10c22 fetch 2 ,core_usb_status 
-0235 67f10c22 store 2 ,core_usb_status 
-0236 7008f701 jam 1 ,mem_usb0_get_set_report 
-0237 20407b6e call usb_set_report_resume_judge 
-0238 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-0239 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-023a 708c1b03 jam 0x3 ,core_usb_clear_nak 
-023b 20207b65 branch usb_set_report_next 
+0222 708c1b02 jam 0x2 ,core_usb_clear_nak 
+0223 20003a98 nop 15000 
+0224 d8a00875 arg mem_usb0_set_report_data ,contw 
+0225 20400130 call p_usb_rx_data 
+0226 2034022f branch p_usb_set_report_delay ,user 
+0227 6ff10c22 fetch 2 ,core_usb_status 
+0228 67f10c22 store 2 ,core_usb_status 
+0229 7008f701 jam 1 ,mem_usb0_get_set_report 
+022a 20407b6e call usb_set_report_resume_judge 
+022b 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+022c 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+022d 708c1b03 jam 0x3 ,core_usb_clear_nak 
+022e 20207b65 branch usb_set_report_next 
 
 p_usb_set_report_delay:
-023c 6fe0c696 fetch 1 ,mem_setreport_count 
-023d 1fe0fe01 pincrease 1 
-023e 67e0c696 store 1 ,mem_setreport_count 
-023f 20600000 rtn 
+022f 6fe0c696 fetch 1 ,mem_setreport_count 
+0230 1fe0fe01 pincrease 1 
+0231 67e0c696 store 1 ,mem_setreport_count 
+0232 20600000 rtn 
 
 p_usb_tx:
-0240 6ff08c25 fetch 1 ,core_usb_txbusy 
-0241 1fe17e0f and_into 0x0f ,pdata 
-0242 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-0243 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0244 203a7c06 branch usb_tx_fifo_release ,blank 
-0245 6fe08900 fetch 1 ,mem_usb_state 
-0246 c001fc40 beq usb_sleep ,usb_windows_wakeup 
-0247 c0817c06 bne usb_connected ,usb_tx_fifo_release 
-0248 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-0249 243a7c06 nbranch usb_tx_fifo_release ,blank 
-024a 2040029b call p_usb_tx_data_ep1 
-024b 20200329 branch p_usb_tx_data_ep2 
-
-p_dongle_usb_ep2_connect_report_send:
-024c 6fe0c88e fetch 1 ,mem_usb_rf_state_report_flag 
-024d c1008000 rtneq 0x1 
-024e 70488f00 jam 0x0 ,mem_usb_rf_state_report_flag1 
-024f 70488e01 jam 0x1 ,mem_usb_rf_state_report_flag 
-0250 20200044 branch p_dongle_usb_ep2_connect_report 
+0233 6ff08c25 fetch 1 ,core_usb_txbusy 
+0234 1fe17e0f and_into 0x0f ,pdata 
+0235 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+0236 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0237 203a7c06 branch usb_tx_fifo_release ,blank 
+0238 6fe08900 fetch 1 ,mem_usb_state 
+0239 c001fc40 beq usb_sleep ,usb_windows_wakeup 
+023a c0817c06 bne usb_connected ,usb_tx_fifo_release 
+023b 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+023c 243a7c06 nbranch usb_tx_fifo_release ,blank 
+023d 20400291 call p_usb_tx_data_ep1 
+023e 20200315 branch p_usb_tx_data_ep2 
+
+p_dongle_usb_connect_mouse_check:
+023f 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0240 c4000000 rtnbit0 0 
+0241 6fe0c80c fetch 1 ,mem_dongle_connect_mouse_flag 
+0242 247a0000 nrtn blank 
+0243 70480c01 jam 1 ,mem_dongle_connect_mouse_flag 
+0244 20600000 rtn 
 
 p_g24_receive_packet_start1:
-0251 2040024c call p_dongle_usb_ep2_connect_report_send 
-0252 7047ff00 jam 0 ,mem_24g_ackpayload_enable_temp 
-0253 70461100 jam 0 ,mem_24g_ackpayload_enable 
-0254 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0255 c000b3c4 beq datatype_device1 ,g24_data_device1 
-0256 c00133d3 beq datatype_device2 ,g24_data_device2 
-0257 c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-0258 c282025c bbit1 data_http ,p_g24_data_receive_device_http_dpi 
-0259 c282825c bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
-025a c283025c bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
-025b 202033be branch g24_rx_interrupt_clear 
+0245 2040023f call p_dongle_usb_connect_mouse_check 
+0246 7047ff00 jam 0 ,mem_24g_ackpayload_enable_temp 
+0247 70461100 jam 0 ,mem_24g_ackpayload_enable 
+0248 58000000 setarg 0 
+0249 67e1c80d store 3 ,mem_dongle_no_data_flag 
+024a 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+024b c000b3c4 beq datatype_device1 ,g24_data_device1 
+024c c00133d3 beq datatype_device2 ,g24_data_device2 
+024d c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
+024e c2820252 bbit1 data_http ,p_g24_data_receive_device_http_dpi 
+024f c2828252 bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
+0250 c2830252 bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
+0251 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_device_http_dpi:
-025c 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-025d 1fe17e0f and pdata ,0x0f ,pdata 
-025e c000b3c4 beq datatype_device1 ,g24_data_device1 
-025f c00133d3 beq datatype_device2 ,g24_data_device2 
-0260 202033be branch g24_rx_interrupt_clear 
+0252 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0253 1fe17e0f and pdata ,0x0f ,pdata 
+0254 c000b3c4 beq datatype_device1 ,g24_data_device1 
+0255 c00133d3 beq datatype_device2 ,g24_data_device2 
+0256 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_http_data:
-0261 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-0262 d8a00923 arg mem_usb_kb_data ,contw 
-0263 20407c9a call memset0_8 
-0264 20204848 branch dongle_usb_tx_ep1_enable 
+0257 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
+0258 d8a00923 arg mem_usb_kb_data ,contw 
+0259 20407c9a call memset0_8 
+025a 20204848 branch dongle_usb_tx_ep1_enable 
 
 p_dongle_g24_mouse:
-0265 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0266 c2820261 bbit1 data_http ,p_dongle_usb_tx_http_data 
-0267 c2828286 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-0268 c2830289 bbit1 data_device_info ,p_dongle_receive_device_info_data 
-0269 c283828f bbit1 data_battery ,p_dongle_receive_battery_data 
-026a 2020026b branch p_dongle_g24_mouse_next 
+025b 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+025c c2820257 bbit1 data_http ,p_dongle_usb_tx_http_data 
+025d c282827c bbit1 data_dpi ,p_dongle_receive_dpi_data 
+025e c283027f bbit1 data_device_info ,p_dongle_receive_device_info_data 
+025f c2838285 bbit1 data_battery ,p_dongle_receive_battery_data 
+0260 20200261 branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
-026b 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-026c 1fe67c09 sub pdata ,0x09 ,null 
-026d 2022827c branch p_dongle_g24_mouse_data ,zero 
-026e 2040027c call p_dongle_g24_mouse_data 
-026f 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0270 1fe0fff8 add pdata ,-8 ,pdata 
-0271 67e0c57d store 1 ,mem_24g_rxdata_length 
-0272 1fe27200 copy pdata ,loopcnt 
-0273 d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
-0274 d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
-0275 20407cda call memcpy 
-0276 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0277 c2820261 bbit1 data_http ,p_dongle_usb_tx_http_data 
-0278 c2828286 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-0279 c2830289 bbit1 data_device_info ,p_dongle_receive_device_info_data 
-027a c283828f bbit1 data_battery ,p_dongle_receive_battery_data 
-027b 20600000 rtn 
+0261 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0262 1fe67c09 sub pdata ,0x09 ,null 
+0263 20228272 branch p_dongle_g24_mouse_data ,zero 
+0264 20400272 call p_dongle_g24_mouse_data 
+0265 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0266 1fe0fff8 add pdata ,-8 ,pdata 
+0267 67e0c57d store 1 ,mem_24g_rxdata_length 
+0268 1fe27200 copy pdata ,loopcnt 
+0269 d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
+026a d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
+026b 20407cda call memcpy 
+026c 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+026d c2820257 bbit1 data_http ,p_dongle_usb_tx_http_data 
+026e c282827c bbit1 data_dpi ,p_dongle_receive_dpi_data 
+026f c283027f bbit1 data_device_info ,p_dongle_receive_device_info_data 
+0270 c2838285 bbit1 data_battery ,p_dongle_receive_battery_data 
+0271 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-027c 58000001 setarg ms_report_id 
-027d 67e08913 store 1 ,mem_usb_mouse_data 
-027e 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
-027f e7e38005 istore 7 ,contw 
-0280 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0281 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-0282 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0283 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-0284 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0285 20200292 branch p_dongle_usb_tx_enable_ep2 
+0272 58000001 setarg ms_report_id 
+0273 67e08913 store 1 ,mem_usb_mouse_data 
+0274 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
+0275 e7e38005 istore 7 ,contw 
+0276 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0277 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+0278 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0279 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+027a 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+027b 20200288 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_receive_dpi_data:
-0286 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0287 67e0c806 store 1 ,mem_usb_get_report_dpi_data 
-0288 2020016c branch p_dongle_usb_hci_cmd_get_dpi 
+027c 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+027d 67e0c806 store 1 ,mem_usb_get_report_dpi_data 
+027e 20200157 branch p_dongle_usb_hci_cmd_get_dpi 
 
 p_dongle_receive_device_info_data:
-0289 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-028a 1fe0ffff increase -1 ,pdata 
-028b 1fe27200 copy pdata ,loopcnt 
-028c d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
-028d d8a04800 arg mem_usb_get_report_sn_data ,contw 
-028e 20207cda branch memcpy 
+027f 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0280 1fe0ffff increase -1 ,pdata 
+0281 1fe27200 copy pdata ,loopcnt 
+0282 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
+0283 d8a04800 arg mem_usb_get_report_sn_data ,contw 
+0284 20207cda branch memcpy 
 
 p_dongle_receive_battery_data:
-028f 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0290 67e0c807 store 1 ,mem_usb_get_report_battery_data 
-0291 20600000 rtn 
+0285 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0286 67e0c807 store 1 ,mem_usb_get_report_battery_data 
+0287 20600000 rtn 
 
 p_dongle_usb_tx_enable_ep2:
-0292 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0293 207a0000 rtn blank 
-0294 da204890 arg mem_usb_ep2_fifo ,rega 
-0295 20407da5 call fifo_is_full 
-0296 247a0000 nrtn blank 
-0297 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0298 67e0866f store 1 ,mem_fifo_temp 
-0299 da204890 arg mem_usb_ep2_fifo ,rega 
-029a 20207d8b branch fifo_in 
+0288 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0289 207a0000 rtn blank 
+028a da204892 arg mem_usb_ep2_fifo ,rega 
+028b 20407da5 call fifo_is_full 
+028c 247a0000 nrtn blank 
+028d 6fe0890c fetch 1 ,mem_usb_ep2_data 
+028e 67e0866f store 1 ,mem_fifo_temp 
+028f da204892 arg mem_usb_ep2_fifo ,rega 
+0290 20207d8b branch fifo_in 
 
 p_usb_tx_data_ep1:
-029b 6ff08c25 fetch 1 ,core_usb_txbusy 
-029c 1fe17e0f and_into 0x0f ,pdata 
-029d 247a0000 nrtn blank 
-029e 6fe0890d fetch 1 ,mem_usb_tx_enable 
-029f c4008000 rtnbit0 1 
-02a0 6fe0890d fetch 1 ,mem_usb_tx_enable 
-02a1 793ffe01 set0 1 ,pdata 
-02a2 67e0890d store 1 ,mem_usb_tx_enable 
-02a3 6fe0890b fetch 1 ,mem_usb_ep1_data 
-02a4 207a0000 rtn blank 
-02a5 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-02a6 c00882a8 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-02a7 2020235a branch assert 
+0291 6ff08c25 fetch 1 ,core_usb_txbusy 
+0292 1fe17e0f and_into 0x0f ,pdata 
+0293 247a0000 nrtn blank 
+0294 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0295 c4008000 rtnbit0 1 
+0296 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0297 793ffe01 set0 1 ,pdata 
+0298 67e0890d store 1 ,mem_usb_tx_enable 
+0299 6fe0890b fetch 1 ,mem_usb_ep1_data 
+029a 207a0000 rtn blank 
+029b c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+029c c008829e beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+029d 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-02a8 6fe0c8a3 fetch 1 ,mem_usb_website_step 
-02a9 c00002b3 beq website_win ,p_usb_website_winr_data 
-02aa c00082bf beq website_r_space_release ,p_usb_website_r_space_release_data 
-02ab c00102c3 beq website_win_release ,p_usb_website_win_release_data 
-02ac c00182d3 beq website_wait ,p_usb_website_wait_tx_data 
-02ad c00202da beq website_data ,p_usb_website_data 
-02ae c00282c9 beq website_enter_1 ,p_usb_website_enter_data1 
-02af c00302cd beq website_enter_release_1 ,p_usb_website_enter_release_data1 
-02b0 c00382cf beq website_enter_2 ,p_usb_website_enter_data2 
-02b1 c00402d1 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
-02b2 20600000 rtn 
+029e 6fe0c8a5 fetch 1 ,mem_usb_website_step 
+029f c00002a9 beq website_win ,p_usb_website_winr_data 
+02a0 c00082b5 beq website_r_space_release ,p_usb_website_r_space_release_data 
+02a1 c00102b9 beq website_win_release ,p_usb_website_win_release_data 
+02a2 c00182c9 beq website_wait ,p_usb_website_wait_tx_data 
+02a3 c00202d0 beq website_data ,p_usb_website_data 
+02a4 c00282bf beq website_enter_1 ,p_usb_website_enter_data1 
+02a5 c00302c3 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
+02a6 c00382c5 beq website_enter_2 ,p_usb_website_enter_data2 
+02a7 c00402c7 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
+02a8 20600000 rtn 
 
 p_usb_website_winr_data:
-02b3 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-02b4 c00002b7 beq 0 ,p_usb_tx_winos_winr_data 
-02b5 c00082bb beq 1 ,p_usb_tx_macos_winr_data 
-02b6 20600000 rtn 
+02a9 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+02aa c00002ad beq 0 ,p_usb_tx_winos_winr_data 
+02ab c00082b1 beq 1 ,p_usb_tx_macos_winr_data 
+02ac 20600000 rtn 
 
 p_usb_tx_winos_winr_data:
-02b7 7048a301 jam website_r_space_release ,mem_usb_website_step 
-02b8 6fe1c899 fetch 3 ,mem_usb_win_cmd 
-02b9 67e18923 store 3 ,mem_usb_kb_data 
-02ba 20207c28 branch usb_tx_kb_normal_data 
+02ad 7048a501 jam website_r_space_release ,mem_usb_website_step 
+02ae 6fe1c89b fetch 3 ,mem_usb_win_cmd 
+02af 67e18923 store 3 ,mem_usb_kb_data 
+02b0 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_macos_winr_data:
-02bb 7048a301 jam website_r_space_release ,mem_usb_website_step 
-02bc 6fe1c89c fetch 3 ,mem_usb_mac_cmd 
-02bd 67e18923 store 3 ,mem_usb_kb_data 
-02be 20207c28 branch usb_tx_kb_normal_data 
+02b1 7048a501 jam website_r_space_release ,mem_usb_website_step 
+02b2 6fe1c89e fetch 3 ,mem_usb_mac_cmd 
+02b3 67e18923 store 3 ,mem_usb_kb_data 
+02b4 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_r_space_release_data:
-02bf 7048a302 jam website_win_release ,mem_usb_website_step 
-02c0 6fe0c899 fetch 1 ,mem_usb_win_cmd 
-02c1 67e08923 store 1 ,mem_usb_kb_data 
-02c2 20207c28 branch usb_tx_kb_normal_data 
+02b5 7048a502 jam website_win_release ,mem_usb_website_step 
+02b6 6fe0c89b fetch 1 ,mem_usb_win_cmd 
+02b7 67e08923 store 1 ,mem_usb_kb_data 
+02b8 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_win_release_data:
-02c3 7048a303 jam website_wait ,mem_usb_website_step 
+02b9 7048a503 jam website_wait ,mem_usb_website_step 
 
 p_usb_webstie_release_data:
-02c4 d8a00923 arg mem_usb_kb_data ,contw 
-02c5 df200008 arg 8 ,loopcnt 
-02c6 20407ca3 call memset0 
-02c7 7048a500 jam 0 ,mem_usb_website_release_flag 
-02c8 20207c28 branch usb_tx_kb_normal_data 
+02ba d8a00923 arg mem_usb_kb_data ,contw 
+02bb df200008 arg 8 ,loopcnt 
+02bc 20407ca3 call memset0 
+02bd 7048a700 jam 0 ,mem_usb_website_release_flag 
+02be 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_data1:
-02c9 7048a306 jam website_enter_release_1 ,mem_usb_website_step 
+02bf 7048a506 jam website_enter_release_1 ,mem_usb_website_step 
 
 p_usb_webstie_enter_data:
-02ca 6fe1c89f fetch 3 ,mem_usb_kb_enter 
-02cb 67e18923 store 3 ,mem_usb_kb_data 
-02cc 20207c28 branch usb_tx_kb_normal_data 
+02c0 6fe1c8a1 fetch 3 ,mem_usb_kb_enter 
+02c1 67e18923 store 3 ,mem_usb_kb_data 
+02c2 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_release_data1:
-02cd 7048a307 jam website_enter_2 ,mem_usb_website_step 
-02ce 202002c4 branch p_usb_webstie_release_data 
+02c3 7048a507 jam website_enter_2 ,mem_usb_website_step 
+02c4 202002ba branch p_usb_webstie_release_data 
 
 p_usb_website_enter_data2:
-02cf 7048a308 jam website_enter_release_2 ,mem_usb_website_step 
-02d0 202002ca branch p_usb_webstie_enter_data 
+02c5 7048a508 jam website_enter_release_2 ,mem_usb_website_step 
+02c6 202002c0 branch p_usb_webstie_enter_data 
 
 p_usb_website_enter_release_data2:
-02d1 7048a300 jam website_done ,mem_usb_website_step 
-02d2 202002c4 branch p_usb_webstie_release_data 
+02c7 7048a500 jam website_done ,mem_usb_website_step 
+02c8 202002ba branch p_usb_webstie_release_data 
 
 p_usb_website_wait_tx_data:
-02d3 6fe0c8a2 fetch 1 ,mem_usb_website_wait_count 
-02d4 1fe0fe01 increase 1 ,pdata 
-02d5 67e0c8a2 store 1 ,mem_usb_website_wait_count 
-02d6 c1878000 rtnne website_wait_count 
-02d7 7048a200 jam 0 ,mem_usb_website_wait_count 
-02d8 7048a304 jam website_data ,mem_usb_website_step 
-02d9 20600000 rtn 
+02c9 6fe0c8a4 fetch 1 ,mem_usb_website_wait_count 
+02ca 1fe0fe01 increase 1 ,pdata 
+02cb 67e0c8a4 store 1 ,mem_usb_website_wait_count 
+02cc c1878000 rtnne website_wait_count 
+02cd 7048a400 jam 0 ,mem_usb_website_wait_count 
+02ce 7048a504 jam website_data ,mem_usb_website_step 
+02cf 20600000 rtn 
 
 p_usb_website_data:
-02da 6fe0c8a5 fetch 1 ,mem_usb_website_release_flag 
-02db c00082c4 beq 1 ,p_usb_webstie_release_data 
-02dc c00002e0 beq 0 ,p_usb_website_info_data 
-02dd 20600000 rtn 
+02d0 6fe0c8a7 fetch 1 ,mem_usb_website_release_flag 
+02d1 c00082ba beq 1 ,p_usb_webstie_release_data 
+02d2 c00002d6 beq 0 ,p_usb_website_info_data 
+02d3 20600000 rtn 
 
 p_usb_webstie_info_data_done:
-02de 7048a305 jam website_enter_1 ,mem_usb_website_step 
-02df 20600000 rtn 
+02d4 7048a505 jam website_enter_1 ,mem_usb_website_step 
+02d5 20600000 rtn 
 
 p_usb_website_info_data:
-02e0 d84048a9 arg mem_usb_website_info + 1 ,temp 
-02e1 6fe0c8a8 fetch 1 ,mem_usb_website_info 
-02e2 98408400 iadd temp ,temp 
-02e3 6fe148a6 fetch 2 ,mem_usb_website_ptr 
-02e4 98467c00 isub temp ,null 
-02e5 202282de branch p_usb_webstie_info_data_done ,zero 
-02e6 204002f0 call p_usb_tx_website_acii2hidkey 
-02e7 20400312 call p_usb_tx_website_need_shift 
-02e8 6fe0c8a4 fetch 1 ,mem_usb_website_shift_flag 
-02e9 67e08923 store 1 ,mem_usb_kb_data 
-02ea 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
-02eb 6fe148a6 fetch 2 ,mem_usb_website_ptr 
-02ec 1fe0fe01 increase 1 ,pdata 
-02ed 67e148a6 store 2 ,mem_usb_website_ptr 
-02ee 7048a501 jam 1 ,mem_usb_website_release_flag 
-02ef 20207c28 branch usb_tx_kb_normal_data 
+02d6 d84048ab arg mem_usb_website_info + 1 ,temp 
+02d7 6fe0c8aa fetch 1 ,mem_usb_website_info 
+02d8 98408400 iadd temp ,temp 
+02d9 6fe148a8 fetch 2 ,mem_usb_website_ptr 
+02da 98467c00 isub temp ,null 
+02db 202282d4 branch p_usb_webstie_info_data_done ,zero 
+02dc 204002e6 call p_usb_tx_website_acii2hidkey 
+02dd 20400308 call p_usb_tx_website_need_shift 
+02de 6fe0c8a6 fetch 1 ,mem_usb_website_shift_flag 
+02df 67e08923 store 1 ,mem_usb_kb_data 
+02e0 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
+02e1 6fe148a8 fetch 2 ,mem_usb_website_ptr 
+02e2 1fe0fe01 increase 1 ,pdata 
+02e3 67e148a8 store 2 ,mem_usb_website_ptr 
+02e4 7048a701 jam 1 ,mem_usb_website_release_flag 
+02e5 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_website_acii2hidkey:
-02f0 684948a6 fetcht 2 ,mem_usb_website_ptr 
-02f1 efe08002 ifetch 1 ,temp 
-02f2 1fe67c7a sub pdata ,0x7a ,null 
-02f3 242102f7 nbranch p_usb_tx_website_acii2hidkey1 ,positive 
-02f4 da400061 arg 0x61 ,regb 
-02f5 9a462200 isub regb ,rega 
-02f6 2021030e branch p_usb_tx_website_acii2keycode_a2z ,positive 
+02e6 684948a8 fetcht 2 ,mem_usb_website_ptr 
+02e7 efe08002 ifetch 1 ,temp 
+02e8 1fe67c7a sub pdata ,0x7a ,null 
+02e9 242102ed nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+02ea da400061 arg 0x61 ,regb 
+02eb 9a462200 isub regb ,rega 
+02ec 20210304 branch p_usb_tx_website_acii2keycode_a2z ,positive 
 
 p_usb_tx_website_acii2hidkey1:
-02f7 efe08002 ifetch 1 ,temp 
-02f8 1fe67c39 sub pdata ,0x39 ,null 
-02f9 242102fd nbranch p_usb_tx_website_acii2keycode_sign ,positive 
-02fa da400030 arg 0x30 ,regb 
-02fb 9a462200 isub regb ,rega 
-02fc 20210310 branch p_usb_tx_website_acii2keycode_029 ,positive 
+02ed efe08002 ifetch 1 ,temp 
+02ee 1fe67c39 sub pdata ,0x39 ,null 
+02ef 242102f3 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+02f0 da400030 arg 0x30 ,regb 
+02f1 9a462200 isub regb ,rega 
+02f2 20210306 branch p_usb_tx_website_acii2keycode_029 ,positive 
 
 p_usb_tx_website_acii2keycode_sign:
-02fd 1fe67c3a sub pdata ,0x3a ,null 
-02fe 20228306 branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
-02ff 1fe67c2f sub pdata ,0x2f ,null 
-0300 20228308 branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
-0301 1fe67c2e sub pdata ,0x2e ,null 
-0302 2022830a branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
-0303 1fe67c2d sub pdata ,0x2d ,null 
-0304 2022830c branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
-0305 20600000 rtn 
+02f3 1fe67c3a sub pdata ,0x3a ,null 
+02f4 202282fc branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+02f5 1fe67c2f sub pdata ,0x2f ,null 
+02f6 202282fe branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+02f7 1fe67c2e sub pdata ,0x2e ,null 
+02f8 20228300 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+02f9 1fe67c2d sub pdata ,0x2d ,null 
+02fa 20228302 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
+02fb 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_3a:
-0306 da200033 arg 0x33 ,rega 
-0307 20600000 rtn 
+02fc da200033 arg 0x33 ,rega 
+02fd 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2f:
-0308 da200038 arg 0x38 ,rega 
-0309 20600000 rtn 
+02fe da200038 arg 0x38 ,rega 
+02ff 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2e:
-030a da200037 arg 0x37 ,rega 
-030b 20600000 rtn 
+0300 da200037 arg 0x37 ,rega 
+0301 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2d:
-030c da20002d arg 0x2d ,rega 
-030d 20600000 rtn 
+0302 da20002d arg 0x2d ,rega 
+0303 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_a2z:
-030e 1a20a204 add rega ,4 ,rega 
-030f 20600000 rtn 
+0304 1a20a204 add rega ,4 ,rega 
+0305 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_029:
-0310 1a20a227 add rega ,0x27 ,rega 
-0311 20600000 rtn 
+0306 1a20a227 add rega ,0x27 ,rega 
+0307 20600000 rtn 
 
 p_usb_tx_website_need_shift:
-0312 7048a400 jam 0 ,mem_usb_website_shift_flag 
-0313 6fe148a6 fetch 2 ,mem_usb_website_ptr 
-0314 efe0803f ifetch 1 ,pdata 
-0315 d8c048d1 arg mem_usb_website_info_sign + 1 ,contr 
-0316 6848c8d0 fetcht 1 ,mem_usb_website_info_sign 
-0317 18427200 copy temp ,loopcnt 
+0308 7048a600 jam 0 ,mem_usb_website_shift_flag 
+0309 6fe148a8 fetch 2 ,mem_usb_website_ptr 
+030a efe0803f ifetch 1 ,pdata 
+030b d8c048d3 arg mem_usb_website_info_sign + 1 ,contr 
+030c 6848c8d2 fetcht 1 ,mem_usb_website_info_sign 
+030d 18427200 copy temp ,loopcnt 
 
 p_usb_tx_website_need_shift_check_loop:
-0318 e8408006 ifetcht 1 ,contr 
-0319 98467c00 isub temp ,null 
-031a 2022831d branch p_usb_tx_website_need_shift_setflag ,zero 
-031b c2000318 loop p_usb_tx_website_need_shift_check_loop 
-031c 20600000 rtn 
+030e e8408006 ifetcht 1 ,contr 
+030f 98467c00 isub temp ,null 
+0310 20228313 branch p_usb_tx_website_need_shift_setflag ,zero 
+0311 c200030e loop p_usb_tx_website_need_shift_check_loop 
+0312 20600000 rtn 
 
 p_usb_tx_website_need_shift_setflag:
-031d 7048a402 jam 2 ,mem_usb_website_shift_flag 
-031e 20600000 rtn 
-
-p_g24_100ms_timer_event:
-031f d8e00006 arg usb_timer_100ms ,queue 
-0320 20407cef call timer_check 
-0321 247a0000 nrtn blank 
-0322 20400326 call p_g24_http_over_pack_check 
-
-p_g24_100ms_timer_init:
-0323 d8e00006 arg usb_timer_100ms ,queue 
-0324 58000028 setarg 40 
-0325 20207ce1 branch timer_init 
-
-p_g24_http_over_pack_check:
-0326 6fe0c8a3 fetch 1 ,mem_usb_website_step 
-0327 207a0000 rtn blank 
-0328 20200261 branch p_dongle_usb_tx_http_data 
+0313 7048a602 jam 2 ,mem_usb_website_shift_flag 
+0314 20600000 rtn 
 
 p_usb_tx_data_ep2:
-0329 da204890 arg mem_usb_ep2_fifo ,rega 
-032a 20407da3 call fifo_is_empty 
-032b 207a0000 rtn blank 
-032c 6ff08c25 fetch 1 ,core_usb_txbusy 
-032d 1fe17e0f and_into 0x0f ,pdata 
-032e 247a0000 nrtn blank 
-032f da204890 arg mem_usb_ep2_fifo ,rega 
-0330 20407d97 call fifo_out 
-0331 207a0000 rtn blank 
-0332 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0333 c0120343 beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_data 
-0334 c0130343 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
-0335 c0118343 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
-0336 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0337 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-0338 c014033a beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-0339 2020235a branch assert 
+0315 da204892 arg mem_usb_ep2_fifo ,rega 
+0316 20407da3 call fifo_is_empty 
+0317 207a0000 rtn blank 
+0318 6ff08c25 fetch 1 ,core_usb_txbusy 
+0319 1fe17e0f and_into 0x0f ,pdata 
+031a 247a0000 nrtn blank 
+031b da204892 arg mem_usb_ep2_fifo ,rega 
+031c 20407d97 call fifo_out 
+031d 207a0000 rtn blank 
+031e c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+031f c0120330 beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_data 
+0320 c0130330 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
+0321 c0118330 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
+0322 c0128330 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_data 
+0323 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0324 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+0325 c0140327 beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+0326 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-033a 6f20c80c fetchr loopcnt ,1 ,mem_usb_rf_state_data 
-033b 207a0000 rtn blank 
-033c d8c0480d arg mem_usb_rf_state_data + 1 ,contr 
-033d d8e00002 arg 2 ,queue 
-033e da200759 arg mem_usb_txbuf2 ,rega 
-033f 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0340 20407bd2 call usb_tx_buf 
-0341 d8a0480c arg mem_usb_rf_state_data ,contw 
-0342 2020034c branch p_usb_tx_buff_clr 
+0327 6f20c810 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
+0328 207a0000 rtn blank 
+0329 d8c04811 arg mem_usb_rf_state_data + 1 ,contr 
+032a d8e00002 arg 2 ,queue 
+032b da200759 arg mem_usb_txbuf2 ,rega 
+032c 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+032d 20407bd2 call usb_tx_buf 
+032e d8a04810 arg mem_usb_rf_state_data ,contw 
+032f 20200339 branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_data:
-0343 6fe0c84d fetch 1 ,mem_dongle_usb_ep2_data 
-0344 207a0000 rtn blank 
-0345 1fe27200 copy pdata ,loopcnt 
-0346 d8c0484e arg mem_dongle_usb_ep2_data + 1 ,contr 
-0347 d8e00002 arg 2 ,queue 
-0348 da200759 arg mem_usb_txbuf2 ,rega 
-0349 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-034a 20407bd2 call usb_tx_buf 
-034b d8a0484d arg mem_dongle_usb_ep2_data ,contw 
+0330 6fe0c851 fetch 1 ,mem_dongle_usb_ep2_data 
+0331 207a0000 rtn blank 
+0332 1fe27200 copy pdata ,loopcnt 
+0333 d8c04852 arg mem_dongle_usb_ep2_data + 1 ,contr 
+0334 d8e00002 arg 2 ,queue 
+0335 da200759 arg mem_usb_txbuf2 ,rega 
+0336 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0337 20407bd2 call usb_tx_buf 
+0338 d8a04851 arg mem_dongle_usb_ep2_data ,contw 
 
 p_usb_tx_buff_clr:
-034c df200041 arg 65 ,loopcnt 
-034d 20207ca3 branch memset0 
+0339 df200041 arg 65 ,loopcnt 
+033a 20207ca3 branch memset0 
 
 p_rx_dcoc:
-034e 20758000 rtn wake 
-034f 20402160 call set_sync_on 
-0350 d8400027 arg 39 ,temp 
-0351 2040216f call set_freq_rx 
-0352 204021a6 call rf_rx_enable 
-0353 708a257f jam 0x7f ,0x8a25 
-0354 708a301a jam 0x1a ,0x8a30 
-0355 708a3178 jam 0x78 ,0x8a31 
-0356 708a8fb2 jam 0xb2 ,0x8a8f 
-0357 708ac200 jam 0 ,0x8ac2 
-0358 708ac300 jam 0 ,0x8ac3 
-0359 d8e00006 arg 6 ,queue 
-035a 2040036b call p_rx_dcoc_avg 
-035b 2a2ffe0d isolate1 13 ,rega 
-035c 2040211d call qset_start 
-035d 2a4ffe0d isolate1 13 ,regb 
-035e 2040211e call qset_p 
-035f d8e00005 arg 5 ,queue 
+033b 20758000 rtn wake 
+033c 20402160 call set_sync_on 
+033d d8400027 arg 39 ,temp 
+033e 2040216f call set_freq_rx 
+033f 204021a6 call rf_rx_enable 
+0340 708a257f jam 0x7f ,0x8a25 
+0341 708a301a jam 0x1a ,0x8a30 
+0342 708a3178 jam 0x78 ,0x8a31 
+0343 708a8fb2 jam 0xb2 ,0x8a8f 
+0344 708ac200 jam 0 ,0x8ac2 
+0345 708ac300 jam 0 ,0x8ac3 
+0346 d8e00006 arg 6 ,queue 
+0347 20400358 call p_rx_dcoc_avg 
+0348 2a2ffe0d isolate1 13 ,rega 
+0349 2040211d call qset_start 
+034a 2a4ffe0d isolate1 13 ,regb 
+034b 2040211e call qset_p 
+034c d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0360 2040211c call qset1_p 
-0361 2040211e call qset_p 
-0362 2040036b call p_rx_dcoc_avg 
-0363 d8a08ac2 arg 0x8ac2 ,contw 
-0364 1a31fe00 rshift4 rega ,pdata 
-0365 20402117 call qsetxor 
-0366 1a51fe00 rshift4 regb ,pdata 
-0367 20402117 call qsetxor 
-0368 18e08fff increase -1 ,queue 
-0369 20210360 branch p_rx_dcoc_loop2 ,positive 
-036a 2020214f branch rx_dcoc_loop2 + 10 
+034d 2040211c call qset1_p 
+034e 2040211e call qset_p 
+034f 20400358 call p_rx_dcoc_avg 
+0350 d8a08ac2 arg 0x8ac2 ,contw 
+0351 1a31fe00 rshift4 rega ,pdata 
+0352 20402117 call qsetxor 
+0353 1a51fe00 rshift4 regb ,pdata 
+0354 20402117 call qsetxor 
+0355 18e08fff increase -1 ,queue 
+0356 2021034d branch p_rx_dcoc_loop2 ,positive 
+0357 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-036b 2000003c nop 60 
-036c 58000f00 setarg mem_dcoc_buf 
-036d 67f10982 store 2 ,0x8982 
-036e 58000ff0 setarg mem_dcoc_buf_end 
-036f 67f10984 store 2 ,0x8984 
-0370 70898109 jam 0x9 ,0x8981 
-0371 70898103 jam 0x3 ,0x8981 
-0372 70898006 jam 0x6 ,0x8980 
-0373 2000003c nop 60 
-0374 da200000 arg 0 ,rega 
-0375 da400000 arg 0 ,regb 
-0376 df200010 arg 16 ,loopcnt 
-0377 d8c00f00 arg mem_dcoc_buf ,contr 
-0378 2020212d branch rx_dcoc_loop 
+0358 2000003c nop 60 
+0359 58000f00 setarg mem_dcoc_buf 
+035a 67f10982 store 2 ,0x8982 
+035b 58000ff0 setarg mem_dcoc_buf_end 
+035c 67f10984 store 2 ,0x8984 
+035d 70898109 jam 0x9 ,0x8981 
+035e 70898103 jam 0x3 ,0x8981 
+035f 70898006 jam 0x6 ,0x8980 
+0360 2000003c nop 60 
+0361 da200000 arg 0 ,rega 
+0362 da400000 arg 0 ,regb 
+0363 df200010 arg 16 ,loopcnt 
+0364 d8c00f00 arg mem_dcoc_buf ,contr 
+0365 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-0379 20758000 rtn wake 
-037a 20202272 branch rfpll_aac_ghpc + 1 
+0366 20758000 rtn wake 
+0367 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-037b 20600000 rtn 
+0368 20600000 rtn 
 
 p_sadc_calibration:
-037c 20758000 rtn wake 
-037d 708a0777 jam 0x77 ,core_gpadc_ctrl 
-037e 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-037f 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0380 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0381 67f080cd store 1 ,core_sadc_clkdiv 
-0382 20000bb8 nop 3000 
-0383 204003a4 call p_sadc_read 
-0384 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0385 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0386 df200008 arg 8 ,loopcnt 
-0387 20406f58 call sadc_cal_read + 1 
-0388 6fe0c419 fetch 1 ,mem_spi_write_addr 
-0389 67e0c433 store 1 ,mem_adc_cal_c7 
-038a 6240c419 storer regb ,1 ,mem_spi_write_addr 
-038b 20600000 rtn 
+0369 20758000 rtn wake 
+036a 708a0777 jam 0x77 ,core_gpadc_ctrl 
+036b 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+036c 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+036d 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+036e 67f080cd store 1 ,core_sadc_clkdiv 
+036f 20000bb8 nop 3000 
+0370 20400391 call p_sadc_read 
+0371 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0372 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0373 df200008 arg 8 ,loopcnt 
+0374 20406f58 call sadc_cal_read + 1 
+0375 6fe0c419 fetch 1 ,mem_spi_write_addr 
+0376 67e0c433 store 1 ,mem_adc_cal_c7 
+0377 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0378 20600000 rtn 
 
 p_enable_adc:
-038c 2040039a call p_sadc_cal_write 
-038d 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-038e 793ffe07 set0 7 ,pdata 
-038f 67f08a09 store 1 ,core_gpadc_cfg1 
-0390 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0391 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0392 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0393 20406f90 call sadc_channel 
-0394 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0395 67f080cd store 1 ,core_sadc_clkdiv 
-0396 20000bb8 nop 3000 
-0397 204003a4 call p_sadc_read 
-0398 7080cd00 jam 0 ,core_sadc_clkdiv 
-0399 20206fa1 branch sadc_dma 
+0379 20400387 call p_sadc_cal_write 
+037a 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+037b 793ffe07 set0 7 ,pdata 
+037c 67f08a09 store 1 ,core_gpadc_cfg1 
+037d 708a0777 jam 0x77 ,core_gpadc_ctrl 
+037e 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+037f 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0380 20406f90 call sadc_channel 
+0381 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0382 67f080cd store 1 ,core_sadc_clkdiv 
+0383 20000bb8 nop 3000 
+0384 20400391 call p_sadc_read 
+0385 7080cd00 jam 0 ,core_sadc_clkdiv 
+0386 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-039a 6ff080cc fetch 1 ,core_sadc_ctrl 
-039b 79207e01 set1 1 ,pdata 
-039c 67f080cc store 1 ,core_sadc_ctrl 
-039d 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-039e 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-039f 67e0c419 store 1 ,mem_spi_write_addr 
-03a0 df200008 arg 8 ,loopcnt 
-03a1 20406f67 call sadc_cal_write + 4 
-03a2 6240c419 storer regb ,1 ,mem_spi_write_addr 
-03a3 20600000 rtn 
+0387 6ff080cc fetch 1 ,core_sadc_ctrl 
+0388 79207e01 set1 1 ,pdata 
+0389 67f080cc store 1 ,core_sadc_ctrl 
+038a 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+038b 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+038c 67e0c419 store 1 ,mem_spi_write_addr 
+038d df200008 arg 8 ,loopcnt 
+038e 20406f67 call sadc_cal_write + 4 
+038f 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0390 20600000 rtn 
 
 p_sadc_read:
-03a4 7080cc03 jam 0x03 ,core_sadc_ctrl 
+0391 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-03a5 6ff08129 fetch 1 ,core_perf_status 
-03a6 c30283a5 bbit0 saradc_done ,p_sadc_read_wait 
-03a7 68590164 fetcht 2 ,core_sadc_data 
-03a8 6049440a storet 2 ,mem_adc_current_value 
-03a9 7080cc00 jam 0x00 ,core_sadc_ctrl 
-03aa 20600000 rtn 
+0392 6ff08129 fetch 1 ,core_perf_status 
+0393 c3028392 bbit0 saradc_done ,p_sadc_read_wait 
+0394 68590164 fetcht 2 ,core_sadc_data 
+0395 6049440a storet 2 ,mem_adc_current_value 
+0396 7080cc00 jam 0x00 ,core_sadc_ctrl 
+0397 20600000 rtn 
 
 p_set_lemode:
-03ab 708a8211 jam 0x11 ,0x8a82 
-03ac 708a8d12 jam 0x12 ,0x8a8d 
-03ad 708a8e0a jam 0x0a ,0x8a8e 
-03ae 6fe0c099 fetch 1 ,mem_fcomp_div 
-03af c00803c4 beq xtal_16m ,p_set_lemode_2m_16m 
-03b0 58005762 setarg 0x5762 
-03b1 67f10907 store 2 ,0x8907 
+0398 708a8211 jam 0x11 ,0x8a82 
+0399 708a8d12 jam 0x12 ,0x8a8d 
+039a 708a8e0a jam 0x0a ,0x8a8e 
+039b 6fe0c099 fetch 1 ,mem_fcomp_div 
+039c c00803b1 beq xtal_16m ,p_set_lemode_2m_16m 
+039d 58005762 setarg 0x5762 
+039e 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-03b2 70890103 jam 3 ,0x8901 
-03b3 70893003 jam 3 ,0x8930 
-03b4 c6168000 rtnmark1 mark_ble_2m 
-03b5 70890101 jam 1 ,0x8901 
-03b6 708a8207 jam 0x07 ,0x8a82 
-03b7 708a8d44 jam 0x44 ,0x8a8d 
-03b8 708a8e0a jam 0x0a ,0x8a8e 
-03b9 6fe0c099 fetch 1 ,mem_fcomp_div 
-03ba c00803c1 beq xtal_16m ,p_set_lemode_1m_16m 
-03bb 58002bb1 setarg 0x2bb1 
-03bc 67f10907 store 2 ,0x8907 
+039f 70890103 jam 3 ,0x8901 
+03a0 70893003 jam 3 ,0x8930 
+03a1 c6168000 rtnmark1 mark_ble_2m 
+03a2 70890101 jam 1 ,0x8901 
+03a3 708a8207 jam 0x07 ,0x8a82 
+03a4 708a8d44 jam 0x44 ,0x8a8d 
+03a5 708a8e0a jam 0x0a ,0x8a8e 
+03a6 6fe0c099 fetch 1 ,mem_fcomp_div 
+03a7 c00803ae beq xtal_16m ,p_set_lemode_1m_16m 
+03a8 58002bb1 setarg 0x2bb1 
+03a9 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-03bd c6978000 rtnmark0 mark_ble_lr 
-03be 70893024 jam 0x24 ,0x8930 
-03bf 70890105 jam 5 ,0x8901 
-03c0 20600000 rtn 
+03aa c6978000 rtnmark0 mark_ble_lr 
+03ab 70893024 jam 0x24 ,0x8930 
+03ac 70890105 jam 5 ,0x8901 
+03ad 20600000 rtn 
 
 p_set_lemode_1m_16m:
-03c1 58004189 setarg 0x4189 
-03c2 67f10907 store 2 ,0x8907 
-03c3 202003bd branch p_set_lemode_1m 
+03ae 58004189 setarg 0x4189 
+03af 67f10907 store 2 ,0x8907 
+03b0 202003aa branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-03c4 58008312 setarg 0x8312 
-03c5 67f10907 store 2 ,0x8907 
-03c6 202003b2 branch p_set_lemode_2m 
+03b1 58008312 setarg 0x8312 
+03b2 67f10907 store 2 ,0x8907 
+03b3 2020039f branch p_set_lemode_2m 
 
 p_le_parse:
-03c7 6fe0c334 fetch 1 ,mem_le_packet_llid 
-03c8 c1000000 rtneq llid_reserved 
-03c9 c001b04a beq llid_le_ll ,le_parse_ll 
-03ca 202028e1 branch le_parse_l2cap 
+03b4 6fe0c334 fetch 1 ,mem_le_packet_llid 
+03b5 c1000000 rtneq llid_reserved 
+03b6 c001b04a beq llid_le_ll ,le_parse_ll 
+03b7 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-03cb 793f8030 set0 mark_ble_crc_fail ,mark 
-03cc 20202af6 branch le_init_adv + 1 
+03b8 793f8030 set0 mark_ble_crc_fail ,mark 
+03b9 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-03cd 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-03ce c0553329 beq datatype_bind ,g24_bind_first_step 
-03cf c02ab33a beq datatype_config ,g24_bind_second_step 
-03d0 c01103d3 beq datatype_ok ,p_g24_bind_third_step 
-03d1 c07fb59b beq datatype_attemp ,g24_data_attemp 
-03d2 20600000 rtn 
+03ba 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+03bb c0553329 beq datatype_bind ,g24_bind_first_step 
+03bc c02ab33a beq datatype_config ,g24_bind_second_step 
+03bd c01103c0 beq datatype_ok ,p_g24_bind_third_step 
+03be c07fb59b beq datatype_attemp ,g24_data_attemp 
+03bf 20600000 rtn 
 
 p_g24_bind_third_step:
-03d3 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-03d4 203a03d9 branch p_g24_bind_third_step_skip ,blank 
-03d5 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-03d6 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-03d7 98467c00 isub temp ,null 
-03d8 24628000 nrtn zero 
+03c0 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+03c1 203a03c6 branch p_g24_bind_third_step_skip ,blank 
+03c2 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+03c3 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+03c4 98467c00 isub temp ,null 
+03c5 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-03d9 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-03da c00083dd beq datatype_device1 ,p_g24_bind_third_step_device1 
-03db c00103e4 beq datatype_device2 ,p_g24_bind_third_step_device2 
-03dc 20600000 rtn 
+03c6 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+03c7 c00083ca beq datatype_device1 ,p_g24_bind_third_step_device1 
+03c8 c00103d2 beq datatype_device2 ,p_g24_bind_third_step_device2 
+03c9 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-03dd 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03de 247a0000 nrtn blank 
-03df 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03e0 c00103e2 beq 2 ,p_g24_bind_dvc1_step_success 
-03e1 20600000 rtn 
+03ca 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03cb 247a0000 nrtn blank 
+03cc 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03cd c00103cf beq 2 ,p_g24_bind_dvc1_step_success 
+03ce 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-03e2 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-03e3 2020336b branch g24_bind_dvc1_step_success + 1 
+03cf 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03d0 2040338d call g24_binding_dvc1_living 
+03d1 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-03e4 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-03e5 247a0000 nrtn blank 
-03e6 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03e7 c08003e9 bne 0 ,p_g24_bind_dvc2_step_success 
-03e8 20600000 rtn 
+03d2 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+03d3 247a0000 nrtn blank 
+03d4 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03d5 c08003d7 bne 0 ,p_g24_bind_dvc2_step_success 
+03d6 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-03e9 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-03ea 20403393 call g24_binding_dvc2_living 
-03eb 20203378 branch g24_bind_dvc2_step_success + 1 
+03d7 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+03d8 20403393 call g24_binding_dvc2_living 
+03d9 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-03ec 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03ed c1000000 rtneq dongle_work 
-03ee 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-03ef 247a0000 nrtn blank 
-03f0 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-03f1 247a0000 nrtn blank 
-03f2 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-03f3 207a0000 rtn blank 
-03f4 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03f5 c1800000 rtnne 0 
-03f6 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03f7 c1800000 rtnne 0 
-03f8 20203436 branch g24_mode_switch_bind_search + 9 
+03da 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03db c1000000 rtneq dongle_work 
+03dc 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+03dd 247a0000 nrtn blank 
+03de 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+03df 247a0000 nrtn blank 
+03e0 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+03e1 207a0000 rtn blank 
+03e2 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03e3 c1800000 rtnne 0 
+03e4 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03e5 c1800000 rtnne 0 
+03e6 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-03f9 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03fa c1808000 rtnne dongle_bind 
-03fb 204003fd call p_g24_bind_init 
-03fc 2020346d branch g24_bind_mode_auto + 4 
+03e7 6fe0c616 fetch 1 ,mem_24g_work_mode 
+03e8 c1808000 rtnne dongle_bind 
+03e9 204003eb call p_g24_bind_init 
+03ea 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-03fd 6fe0c615 fetch 1 ,mem_24g_mode_init 
-03fe c3808000 rtnbit1 dongle_bind 
-03ff 79207e01 set1 dongle_bind ,pdata 
-0400 67e0c615 store 1 ,mem_24g_mode_init 
-0401 58000000 setarg 0 
-0402 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-0403 20203307 branch g24_bind_init + 8 
+03eb 6fe0c615 fetch 1 ,mem_24g_mode_init 
+03ec c3808000 rtnbit1 dongle_bind 
+03ed 79207e01 set1 dongle_bind ,pdata 
+03ee 67e0c615 store 1 ,mem_24g_mode_init 
+03ef 58000000 setarg 0 
+03f0 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+03f1 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-0404 2040031f call p_g24_100ms_timer_event 
-0405 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-0406 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-0407 20407906 call usb_isr 
-0408 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0409 207a0000 rtn blank 
-040a 7008f700 jam 0 ,mem_usb0_get_set_report 
-040b 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-040c d84003a2 arg pc_set_report_protocol ,temp 
-040d 98467c00 isub temp ,null 
-040e 24628000 nrtn zero 
-040f 202001ce branch p_dongle_usb_data_received_analysis 
+03f2 20400400 call p_g24_100ms_timer_event 
+03f3 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+03f4 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+03f5 20407906 call usb_isr 
+03f6 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+03f7 207a0000 rtn blank 
+03f8 7008f700 jam 0 ,mem_usb0_get_set_report 
+03f9 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+03fa d84003a2 arg pc_set_report_protocol ,temp 
+03fb 98467c00 isub temp ,null 
+03fc 24628000 nrtn zero 
+03fd 202001c1 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-0410 58000010 setarg 16 
-0411 202070c8 branch wdt_init_config 
+03fe 58000010 setarg 16 
+03ff 202070c8 branch wdt_init_config 
+
+p_g24_100ms_timer_event:
+0400 d8e00006 arg usb_timer_100ms ,queue 
+0401 20407cef call timer_check 
+0402 247a0000 nrtn blank 
+0403 20400408 call p_g24_http_over_pack_check 
+0404 2040040b call p_g24_dongle_disconnect_state_check 
+
+p_g24_100ms_timer_init:
+0405 d8e00006 arg usb_timer_100ms ,queue 
+0406 58000028 setarg 40 
+0407 20207ce1 branch timer_init 
+
+p_g24_http_over_pack_check:
+0408 6fe0c8a5 fetch 1 ,mem_usb_website_step 
+0409 207a0000 rtn blank 
+040a 20200257 branch p_dongle_usb_tx_http_data 
+
+p_g24_dongle_disconnect_state_check:
+040b 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+040c c4000000 rtnbit0 0 
+040d 6fe0c80d fetch 1 ,mem_dongle_no_data_flag 
+040e 207a0000 rtn blank 
+040f 6fe1480e fetch 2 ,mem_dongle_no_data_count 
+0410 1fe0fe01 increase 1 ,pdata 
+0411 67e1480e store 2 ,mem_dongle_no_data_count 
+0412 d84004b0 arg 0x4b0 ,temp 
+0413 98467c00 isub temp ,null 
+0414 24610000 nrtn positive 
+0415 58000000 setarg 0 
+0416 67e1480e store 2 ,mem_dongle_no_data_count 
+0417 6fe0c80c fetch 1 ,mem_dongle_connect_mouse_flag 
+0418 207a0000 rtn blank 
+0419 70480c00 jam 0 ,mem_dongle_connect_mouse_flag 
+041a 20600000 rtn 
 
 p_dongle_default_init:
-0412 204047c3 call dongle_default_init + 1 
-0413 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0414 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0415 20403281 call g24_enable_1m 
-0416 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0417 c4000000 rtnbit0 dg_enable_new_revision 
-0418 7045ca01 jam on ,mem_24g_disable_fec1 
-0419 20203284 branch g24_enable_2m 
+041b 204047c3 call dongle_default_init + 1 
+041c 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+041d 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+041e 20403281 call g24_enable_1m 
+041f 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0420 c4000000 rtnbit0 dg_enable_new_revision 
+0421 7045ca01 jam on ,mem_24g_disable_fec1 
+0422 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-041a 6fe0c669 fetch 1 ,mem_dg_sys_config 
-041b c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-041c 7837fc00 enable user3 
-041d 20000018 nop 24 
-041e 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-041f 79207e00 set1 bit_ack_24g ,pdata 
-0420 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0421 204033a5 call g24_ackpayload_prep 
-0422 204031e5 call g24_transmit_prep 
-0423 20203195 branch g24_transmit 
+0423 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0424 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+0425 7837fc00 enable user3 
+0426 20000018 nop 24 
+0427 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0428 79207e00 set1 bit_ack_24g ,pdata 
+0429 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+042a 204033a5 call g24_ackpayload_prep 
+042b 204031e5 call g24_transmit_prep 
+042c 20203195 branch g24_transmit 
               org 0x2000
 
 start:
@@ -7657,8 +7664,6 @@
 32c5 67e0c51a store 1 ,mem_24g_txbuf + 1 
 32c6 70451f00 jam 0 ,mem_24g_txbuf + 6 
 32c7 70458807 jam 7 ,mem_24g_datalen 
-
-g24_pair_sm_common_next:
 32c8 204031e5 call g24_transmit_prep 
 32c9 20403651 call g24_transmit_receive_ack 
 32ca 246c0000 nrtn sync 
Index: program/g24_protocol_stack/24g_pair.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/g24_protocol_stack/24g_pair.prog	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/g24_protocol_stack/24g_pair.prog	(working copy)
@@ -89,7 +89,6 @@
 	store 1,mem_24g_txbuf+1
 	jam 0,mem_24g_txbuf+6
 	jam 7,mem_24g_datalen
-g24_pair_sm_common_next:
 	call g24_transmit_prep
 	call g24_transmit_receive_ack
 	nrtn sync
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(revision 3675)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(working copy)
@@ -61,32 +61,8 @@
 	arg G24_TIMER_NODATA,queue
 	call timer_check
 	nrtn blank
-	call g24_ch_process+3
-	fetch 1,mem_usb_rf_state_report_flag1
-	rtneq 0x1
-	jam 0x1,mem_usb_rf_state_report_flag1
-	jam 0x0,mem_usb_rf_state_report_flag
-	branch p_dongle_usb_ep2_disconnect_report
-p_dongle_usb_ep2_disconnect_report:
-	jam 0x40,mem_usb_rf_state_data
-	jam 0xa1,mem_usb_rf_state_data+1
-	jam 0x2,mem_usb_rf_state_data+2
-	jam 0x4,mem_usb_rf_state_data+3
-	jam 0x1,mem_usb_rf_state_data+4
-	jam 0x0,mem_usb_rf_state_data+5
-	jam USB_EP2_MSKB_STATE,mem_fifo_temp
-	arg mem_usb_ep2_fifo,rega
-	branch fifo_in
-p_dongle_usb_ep2_connect_report:
-	jam 0x40,mem_usb_rf_state_data
-	jam 0xa1,mem_usb_rf_state_data+1
-	jam 0x2,mem_usb_rf_state_data+2
-	jam 0x4,mem_usb_rf_state_data+3
-	jam 0x1,mem_usb_rf_state_data+4
-	jam 0x1,mem_usb_rf_state_data+5
-	jam USB_EP2_MSKB_STATE,mem_fifo_temp
-	arg mem_usb_ep2_fifo,rega
-	branch fifo_in
+	jam 1,mem_dongle_no_data_flag
+	branch g24_ch_process+3
 
 p_g24_work_mode_start:
 	fetch 1,mem_24g_work_mode
@@ -436,20 +412,15 @@
 	copy contr,rega
 	storet 1,mem_dongle_usb_len
 p_dongle_usb_hci_cmd_control:
-//	fetch 1,mem_24g_bind_device_living
-//	branch p_dongle_hci_event_invalid_packet,blank
+	fetch 1,mem_24g_bind_device_living
+	branch p_dongle_usb_device_disconnect,blank
 	fetch 1,mem_dongle_usb_opcode
 	beq HCI_CMD_GET_DEVICE_INFO,p_dongle_usb_hci_cmd_get_deivce_info
-//	beq HCI_CMD_SET_DPI,p_dongle_usb_hci_cmd_set_dpi
 	beq HCI_CMD_GET_DPI,p_dongle_usb_hci_cmd_get_dpi
 	beq HCI_CMD_GET_SN,p_dongle_usb_hci_cmd_get_sn
 	beq HCI_CMD_SET_BATTERY,p_dongle_usb_hci_cmd_get_battery
-//	beq HCI_CMD_GET_CONNECT_STATE,p_dongle_usb_hci_cmd_get_conn_state
+	beq HCI_CMD_GET_CONNECT_STATE,p_dongle_usb_hci_cmd_get_connect_state
 	branch p_dongle_hci_event_invalid_packet
-	
-p_dongle_usb_hci_cmd_set_dpi:
-	jam REPORT_ID_DATA_OUT,mem_dongle_24g_data_ack_flag
-	branch p_dongle_usb_ack_prep
 
 p_dongle_usb_hci_cmd_get_deivce_info:	//02 01 0b
 	jam 0x40,mem_dongle_usb_ep2_data
@@ -499,6 +470,32 @@
 	jam USB_EP2_BATTERY,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
+	beq 1,p_dongle_usb_device_connect
+	rtn
+
+p_dongle_usb_device_connect:	//02 05 01 01-->connect
+	jam 0x40,mem_usb_rf_state_data
+	jam REPORT_ID_DATA_IN,mem_usb_rf_state_data+1
+	jam 0x02,mem_usb_rf_state_data+2
+	jam 0x05,mem_usb_rf_state_data+3
+	jam 0x01,mem_usb_rf_state_data+4
+	jam 0x01,mem_usb_rf_state_data+5
+	jam USB_EP2_MSKB_STATE,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+
+p_dongle_usb_device_disconnect:	//02 05 01 00-->disconnect
+	jam 0x40,mem_usb_rf_state_data
+	jam REPORT_ID_DATA_IN,mem_usb_rf_state_data+1
+	jam 0x02,mem_usb_rf_state_data+2
+	jam 0x05,mem_usb_rf_state_data+3
+	jam 0x01,mem_usb_rf_state_data+4
+	jam 0x00,mem_usb_rf_state_data+5
+	jam USB_EP2_MSKB_STATE,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+
 p_dongle_hci_event_invalid_packet:
 	jam 0x40,mem_usb_rf_state_data
 	jam 0xA1,mem_usb_rf_state_data+1
@@ -528,23 +525,6 @@
 	arg mem_usb_ep2_fifo,rega
 	branch fifo_in
 
-
-p_dongle_usb_ack_prep:
-	call p_dongle_g24_ack_data_clr
-	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable
-	jam REPORT_ID_DATA_OUT,mem_24g_ackpayload_enable_temp
-	fetchr loopcnt,1,mem_usb0_set_report_data+1		//a4(1byte)+len(1byte)+n(byte)data
-	increase 2,loopcnt
-	storer loopcnt,1,mem_dongle_24g_data_ack_len
-	arg mem_usb0_set_report_data,contr
-	arg mem_dongle_g24_ack_data,contw
-	branch memcpy
-
-p_dongle_g24_ack_data_clr:
-	arg 64,loopcnt
-	arg mem_dongle_g24_ack_data,contw
-	branch clear_mem
-
 p_usb_rx_len:
 	fetchr contus,2,core_usb_rx_saddr
 	fetchr contue,2,core_usb_rx_eaddr
@@ -742,17 +722,20 @@
 	call p_usb_tx_data_ep1
 	branch p_usb_tx_data_ep2
 
-p_dongle_usb_ep2_connect_report_send:	
-	fetch 1,mem_usb_rf_state_report_flag
-	rtneq 0x1
-	jam 0x0,mem_usb_rf_state_report_flag1
-	jam 0x1,mem_usb_rf_state_report_flag
-	branch p_dongle_usb_ep2_connect_report
+p_dongle_usb_connect_mouse_check:	
+	fetch 1,mem_24g_bind_device_living
+	rtnbit0 0
+	fetch 1,mem_dongle_connect_mouse_flag
+	nrtn blank
+	jam 1,mem_dongle_connect_mouse_flag
+	rtn
 
 p_g24_receive_packet_start1:
-	call p_dongle_usb_ep2_connect_report_send
+	call p_dongle_usb_connect_mouse_check
 	jam 0,mem_24g_ackpayload_enable_temp
 	jam 0,mem_24g_ackpayload_enable
+	setarg 0
+	store 3,mem_dongle_no_data_flag
 	fetch 1,mem_24g_rxdata_temp+2
 	beq DATATYPE_DEVICE1,g24_data_device1	//mouse
 	beq DATATYPE_DEVICE2,g24_data_device2	//keyboard
@@ -1012,21 +995,6 @@
 p_usb_tx_website_need_shift_setflag:
 	jam 2,mem_usb_website_shift_flag
 	rtn
-
-p_g24_100ms_timer_event:
-	arg USB_TIMER_100MS,queue
-	call timer_check
-	nrtn blank
-	call p_g24_http_over_pack_check
-p_g24_100ms_timer_init:
-	arg USB_TIMER_100MS,queue
-	setarg 40		//10ms
-	branch timer_init
-
-p_g24_http_over_pack_check:
-	fetch 1,mem_usb_website_step
-	rtn blank
-	branch p_dongle_usb_tx_http_data
 	
 //=========================HTTP END======================//
 
@@ -1044,7 +1012,7 @@
 	beq USB_EP2_DPI,p_usb_tx_dongle_ep2_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_BATTERY,p_usb_tx_battery_data
+	beq USB_EP2_BATTERY,p_usb_tx_dongle_ep2_data
 	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
 	beq USB_EP2_SYSTEMKEY,usb_tx_kb_systemkey_data
 	beq USB_EP2_MSKB_STATE,p_usb_tx_rf_state_data
@@ -1261,7 +1229,7 @@
 	rtn
 p_g24_bind_dvc1_step_success:
 	jam 1,mem_24g_device1_bind_disable
-//	call g24_binding_dvc1_living	//works on auto pair only
+	call g24_binding_dvc1_living	//works on auto pair only
 	branch g24_bind_dvc1_step_success+1
 
 p_g24_bind_third_step_device2:
@@ -1324,6 +1292,40 @@
 	setarg 16	//about 125ms
 	branch wdt_init_config
 
+p_g24_100ms_timer_event:
+	arg USB_TIMER_100MS,queue
+	call timer_check
+	nrtn blank
+	call p_g24_http_over_pack_check
+	call p_g24_dongle_disconnect_state_check
+p_g24_100ms_timer_init:
+	arg USB_TIMER_100MS,queue
+	setarg 40		//25ms
+	branch timer_init
+
+p_g24_http_over_pack_check:
+	fetch 1,mem_usb_website_step
+	rtn blank
+	branch p_dongle_usb_tx_http_data
+
+p_g24_dongle_disconnect_state_check:
+	fetch 1,mem_24g_bind_device_living
+	rtnbit0 0
+	fetch 1,mem_dongle_no_data_flag
+	rtn blank
+	fetch 2,mem_dongle_no_data_count
+	increase 1,pdata
+	store 2,mem_dongle_no_data_count
+	arg 0x4b0,temp		//25ms*1200=30000ms=30s
+	isub temp,null
+	nrtn positive
+	setarg 0
+	store 2,mem_dongle_no_data_count
+	fetch 1,mem_dongle_connect_mouse_flag
+	rtn blank
+	jam 0,mem_dongle_connect_mouse_flag
+	rtn
+
 p_dongle_default_init:
 ifdef UART_LOG
 	call p_device_hardware_init
Index: sched/1305.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/1305.dat	(revision 3558)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/1305.dat	(working copy)
@@ -9,7 +9,7 @@
 mem_lpm_hv_sel:a5
 
 mem_fcomp_div:18
-mem_xtal_c_sel:7f#3e
+mem_xtal_c_sel:3e
 mem_gpio_wakeup_cfg:00 00 00 00 00 00 00 00 00 00 00 00
 
 mem_version:08 0e 05 03 00
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(revision 3675)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(working copy)
@@ -34,7 +34,7 @@
 mem_24g_pair_tx_power_init:94 #94: -20dBm  9e: -30dBm  9f: -35dBm a0: -40dBm 
 
 #rf config
-mem_24g_lap:10 12 23 74 12 23#low 4B used for 24g rxaddr
+mem_24g_lap:21 12 23 74 12 23#low 4B used for 24g rxaddr
 #mem_24g_tx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
 #mem_24g_rx_phy:01#0x01:1M/0x02:2M/0x04:S2/0x84:S8
 #mem_24g_no_ack:00#no ack
