Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(revision 3674)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(working copy)
@@ -45,7 +45,8 @@
 6 mem_usb_get_report_sn_data
 1 mem_usb_get_report_dpi_data
 1 mem_usb_get_report_battery_data
-65 mem_usb_dpi_data
+2 mem_usb_get_report_mouse_version_data
+2 mem_dongle_version
 65 mem_usb_rf_state_data
 65 mem_dongle_usb_ep2_data
 1 mem_usb_rf_state_report_flag
Index: format/usb.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/usb.format	(revision 3674)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/usb.format	(working copy)
@@ -196,7 +196,7 @@
 0x24 USB_EP2_DPI
 0x25 USB_EP2_BATTERY
 0x26 USB_EP2_SN
-0x27 USB_EP2_MSKB_STATE
+0x28 USB_EP2_MSKB_STATE
 0x01 MAC_BOOT_MODE
 0x02 R_KEY
 0x03 LR_KEY
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(revision 3674)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-4e
+92
 10
 c2
 84
@@ -23,7 +23,7 @@
 c0
 0a
 03
-9a
+ab
 c0
 0a
 81
@@ -43,7 +43,7 @@
 c0
 1b
 84
-01
+12
 c0
 1c
 00
@@ -54,8 +54,8 @@
 df
 c0
 1e
-83
-f3
+84
+04
 c0
 1f
 00
@@ -67,11 +67,11 @@
 c0
 6d
 03
-6b
+7c
 c0
 6e
 03
-7b
+8c
 c0
 7f
 01
@@ -79,7 +79,7 @@
 c0
 7f
 81
-99
+bb
 c0
 7e
 81
@@ -91,43 +91,43 @@
 c0
 00
 01
-bf
+e1
 c0
 01
-01
-fe
+02
+20
 c0
 03
 02
-1e
+40
 c0
 1c
 83
-b6
+c7
 c0
 26
 83
-ba
+cb
 c0
 37
 84
-09
+1a
 c0
 41
 03
-bc
+cd
 c0
 42
 02
-2f
+51
 c0
 44
 03
-db
+ec
 c0
 45
 03
-e8
+f9
 c1
 46
 80
@@ -223,18 +223,18 @@
 6f
 e0
 c8
-cc
+8f
 c1
 00
 80
 00
 70
 48
-cc
+8f
 01
 70
 48
-cb
+8e
 00
 20
 20
@@ -242,72 +242,72 @@
 3b
 70
 48
-49
+0c
 40
 70
 48
-4a
+0d
 a1
 70
 48
-4b
+0e
 02
 70
 48
-4c
+0f
 04
 70
 48
-4d
+10
 01
 70
 48
-4e
+11
 00
 70
 06
 6f
-27
+28
 da
 20
 48
-cd
+90
 20
 20
 7d
 8b
 70
 48
-49
+0c
 40
 70
 48
-4a
+0d
 a1
 70
 48
-4b
+0e
 02
 70
 48
-4c
+0f
 04
 70
 48
-4d
+10
 01
 70
 48
-4e
+11
 01
 70
 06
 6f
-27
+28
 da
 20
 48
-cd
+90
 20
 20
 7d
@@ -411,7 +411,7 @@
 20
 20
 02
-2f
+51
 70
 46
 14
@@ -643,11 +643,11 @@
 20
 40
 03
-3d
+4e
 20
 40
 03
-68
+79
 20
 40
 00
@@ -663,7 +663,7 @@
 20
 20
 03
-6a
+7b
 20
 75
 80
@@ -1219,7 +1219,7 @@
 58
 00
 02
-43
+65
 67
 e1
 45
@@ -1347,7 +1347,7 @@
 20
 21
 01
-65
+87
 6f
 e0
 88
@@ -1355,7 +1355,7 @@
 c0
 80
 81
-65
+87
 ef
 e0
 80
@@ -1381,13 +1381,25 @@
 c6
 df
 c0
+00
+81
+5f
+c0
+01
+81
+6c
+c0
 02
 81
-5c
+75
+c0
+03
+01
+7e
 20
 20
 01
-65
+87
 70
 46
 e1
@@ -1395,26 +1407,114 @@
 20
 20
 01
-7e
+a0
 70
 48
-8a
+4d
 40
 70
 48
-8b
+4e
 a1
 70
 48
-8c
+4f
 02
 70
 48
-8d
+50
+01
+70
+48
+51
+0b
+6f
+e3
+48
+00
+67
+e3
+48
+52
+6f
+e1
+48
+08
+67
+e1
+48
+58
+6f
+e1
+48
+0a
+67
+e1
+48
+5a
+70
+09
+0c
+23
+20
+20
+02
+92
+70
+48
+4d
+40
+70
+48
+4e
+a1
+70
+48
+4f
+02
+70
+48
+50
+02
+70
+48
+51
+01
+6f
+e0
+c8
+06
+67
+e0
+c8
+52
+70
+09
+0c
+24
+20
+20
+02
+92
+70
+48
+4d
+40
+70
+48
+4e
+a1
+70
+48
+4f
+02
+70
+48
+50
 03
 70
 48
-8e
+51
 06
 6f
 e3
@@ -1423,7 +1523,7 @@
 67
 e3
 48
-8f
+52
 70
 09
 0c
@@ -1431,14 +1531,50 @@
 20
 20
 02
-78
+92
 70
 48
-49
+4d
 40
 70
 48
-4a
+4e
+a1
+70
+48
+4f
+02
+70
+48
+50
+06
+70
+48
+51
+01
+6f
+e0
+c8
+07
+67
+e0
+c8
+52
+70
+09
+0c
+25
+20
+20
+02
+92
+70
+48
+0c
+40
+70
+48
+0d
 a1
 d8
 40
@@ -1487,7 +1623,7 @@
 d8
 a0
 48
-4b
+0e
 6f
 e1
 c6
@@ -1523,11 +1659,11 @@
 70
 06
 6f
-27
+28
 da
 20
 48
-cd
+90
 20
 20
 7d
@@ -1535,7 +1671,7 @@
 20
 40
 01
-87
+a9
 70
 46
 11
@@ -1627,7 +1763,7 @@
 20
 42
 81
-8a
+ac
 1f
 26
 7c
@@ -1651,7 +1787,7 @@
 20
 40
 01
-8a
+ac
 60
 48
 c6
@@ -1671,7 +1807,7 @@
 c0
 00
 81
-af
+d1
 1f
 26
 7c
@@ -1691,7 +1827,7 @@
 20
 20
 01
-a6
+c8
 6f
 e0
 87
@@ -1715,7 +1851,7 @@
 20
 20
 01
-bf
+e1
 6f
 e0
 88
@@ -1747,7 +1883,7 @@
 c0
 00
 81
-b9
+db
 70
 08
 f7
@@ -1811,7 +1947,7 @@
 c0
 00
 01
-c5
+e7
 20
 20
 23
@@ -1835,11 +1971,11 @@
 c0
 00
 01
-cd
+ef
 c0
 00
 82
-08
+2a
 c0
 01
 79
@@ -1855,7 +1991,7 @@
 c0
 00
 81
-d5
+f7
 c0
 01
 fa
@@ -1870,8 +2006,8 @@
 1f
 c0
 05
-81
-ef
+82
+11
 c0
 03
 f9
@@ -1926,8 +2062,8 @@
 6d
 c0
 00
-01
-e4
+02
+06
 c0
 00
 fa
@@ -2055,7 +2191,7 @@
 c0
 01
 02
-05
+27
 c0
 01
 fa
@@ -2095,7 +2231,7 @@
 c0
 04
 82
-0d
+2f
 c0
 05
 fb
@@ -2123,7 +2259,7 @@
 20
 34
 02
-1a
+3c
 6f
 f1
 0c
@@ -2215,26 +2351,26 @@
 20
 40
 02
-81
+9b
 20
 20
 03
-0f
+29
 6f
 e0
 c8
-cb
+8e
 c1
 00
 80
 00
 70
 48
-cc
+8f
 00
 70
 48
-cb
+8e
 01
 20
 20
@@ -2243,7 +2379,7 @@
 20
 40
 02
-2a
+4c
 70
 47
 ff
@@ -2271,15 +2407,15 @@
 c2
 82
 02
-3a
+5c
 c2
 82
 82
-3a
+5c
 c2
 83
 02
-3a
+5c
 20
 20
 33
@@ -2327,23 +2463,23 @@
 c2
 82
 02
-3f
+61
 c2
 82
 82
-64
+86
 c2
 83
 02
-6f
+89
 c2
 83
 82
-75
+8f
 20
 20
 02
-49
+6b
 6f
 e0
 c5
@@ -2355,11 +2491,11 @@
 20
 22
 82
-5a
+7c
 20
 40
 02
-5a
+7c
 6f
 e0
 c5
@@ -2395,19 +2531,19 @@
 c2
 82
 02
-3f
+61
 c2
 82
 82
-64
+86
 c2
 83
 02
-6f
+89
 c2
 83
 82
-75
+8f
 20
 60
 00
@@ -2451,31 +2587,7 @@
 20
 20
 02
-78
-58
-00
-00
-40
-67
-e0
-c8
-08
-70
-48
-09
-a1
-70
-48
-0a
-02
-70
-48
-0b
-02
-70
-48
-0c
-01
+92
 6f
 e0
 c5
@@ -2483,19 +2595,11 @@
 67
 e0
 c8
-0d
-67
-e0
-c8
 06
-70
-09
-0c
-24
 20
 20
-02
-78
+01
+6c
 6f
 e0
 c5
@@ -2543,7 +2647,7 @@
 da
 20
 48
-cd
+90
 20
 40
 7d
@@ -2563,7 +2667,7 @@
 da
 20
 48
-cd
+90
 20
 20
 7d
@@ -2615,7 +2719,7 @@
 c0
 08
 82
-8e
+a8
 20
 20
 23
@@ -2623,43 +2727,43 @@
 6f
 e0
 c8
-e0
+a3
 c0
 00
 02
-99
+b3
 c0
 00
 82
-a5
+bf
 c0
 01
 02
-a9
+c3
 c0
 01
 82
-b9
+d3
 c0
 02
 02
-c0
+da
 c0
 02
 82
-af
+c9
 c0
 03
 02
-b3
+cd
 c0
 03
 82
-b5
+cf
 c0
 04
 02
-b7
+d1
 20
 60
 00
@@ -2671,23 +2775,23 @@
 c0
 00
 02
-9d
+b7
 c0
 00
 82
-a1
+bb
 20
 60
 00
 00
 70
 48
-e0
+a3
 01
 6f
 e1
 c8
-d6
+99
 67
 e1
 89
@@ -2698,12 +2802,12 @@
 28
 70
 48
-e0
+a3
 01
 6f
 e1
 c8
-d9
+9c
 67
 e1
 89
@@ -2714,12 +2818,12 @@
 28
 70
 48
-e0
+a3
 02
 6f
 e0
 c8
-d6
+99
 67
 e0
 89
@@ -2730,7 +2834,7 @@
 28
 70
 48
-e0
+a3
 03
 d8
 a0
@@ -2746,7 +2850,7 @@
 a3
 70
 48
-e2
+a5
 00
 20
 20
@@ -2754,12 +2858,12 @@
 28
 70
 48
-e0
+a3
 06
 6f
 e1
 c8
-dc
+9f
 67
 e1
 89
@@ -2770,32 +2874,32 @@
 28
 70
 48
-e0
+a3
 07
 20
 20
 02
-aa
+c4
 70
 48
-e0
+a3
 08
 20
 20
 02
-b0
+ca
 70
 48
-e0
+a3
 00
 20
 20
 02
-aa
+c4
 6f
 e0
 c8
-df
+a2
 1f
 e0
 fe
@@ -2803,18 +2907,18 @@
 67
 e0
 c8
-df
+a2
 c1
 87
 80
 00
 70
 48
-df
+a2
 00
 70
 48
-e0
+a3
 04
 20
 60
@@ -2823,22 +2927,22 @@
 6f
 e0
 c8
-e2
+a5
 c0
 00
 82
-aa
+c4
 c0
 00
 02
-c6
+e0
 20
 60
 00
 00
 70
 48
-e0
+a3
 05
 20
 60
@@ -2847,11 +2951,11 @@
 d8
 40
 48
-e6
+a9
 6f
 e0
 c8
-e5
+a8
 98
 40
 84
@@ -2859,7 +2963,7 @@
 6f
 e1
 48
-e3
+a6
 98
 46
 7c
@@ -2867,19 +2971,19 @@
 20
 22
 82
-c4
+de
 20
 40
 02
-d6
+f0
 20
 40
-02
-f8
+03
+12
 6f
 e0
 c8
-e1
+a4
 67
 e0
 89
@@ -2891,7 +2995,7 @@
 6f
 e1
 48
-e3
+a6
 1f
 e0
 fe
@@ -2899,10 +3003,10 @@
 67
 e1
 48
-e3
+a6
 70
 48
-e2
+a5
 01
 20
 20
@@ -2911,7 +3015,7 @@
 68
 49
 48
-e3
+a6
 ef
 e0
 80
@@ -2923,7 +3027,7 @@
 24
 21
 02
-dd
+f7
 da
 40
 00
@@ -2934,8 +3038,8 @@
 00
 20
 21
-02
-f4
+03
+0e
 ef
 e0
 80
@@ -2947,7 +3051,7 @@
 24
 21
 02
-e3
+fd
 da
 40
 00
@@ -2958,40 +3062,40 @@
 00
 20
 21
-02
-f6
+03
+10
 1f
 e6
 7c
 3a
 20
 22
-82
-ec
+83
+06
 1f
 e6
 7c
 2f
 20
 22
-82
-ee
+83
+08
 1f
 e6
 7c
 2e
 20
 22
-82
-f0
+83
+0a
 1f
 e6
 7c
 2d
 20
 22
-82
-f2
+83
+0c
 20
 60
 00
@@ -3046,24 +3150,24 @@
 00
 70
 48
-e1
+a4
 00
 6f
 e1
 48
-e3
+a6
 ef
 e0
 80
 3f
 d8
 c0
-49
-0e
+48
+d1
 68
 48
-c9
-0d
+c8
+d0
 18
 42
 72
@@ -3079,18 +3183,18 @@
 20
 22
 83
-03
+1d
 c2
 00
-02
-fe
+03
+18
 20
 60
 00
 00
 70
 48
-e1
+a4
 02
 20
 60
@@ -3111,7 +3215,7 @@
 20
 40
 03
-0c
+26
 d8
 e0
 00
@@ -3127,7 +3231,7 @@
 6f
 e0
 c8
-e0
+a3
 20
 7a
 00
@@ -3135,11 +3239,11 @@
 20
 20
 02
-3f
+61
 da
 20
 48
-cd
+90
 20
 40
 7d
@@ -3163,7 +3267,7 @@
 da
 20
 48
-cd
+90
 20
 40
 7d
@@ -3179,11 +3283,15 @@
 c0
 12
 03
-28
+43
 c0
 13
 03
-33
+43
+c0
+11
+83
+43
 c0
 10
 fc
@@ -3193,9 +3301,9 @@
 7c
 2c
 c0
-13
-83
-1f
+14
+03
+3a
 20
 20
 23
@@ -3203,7 +3311,7 @@
 6f
 20
 c8
-49
+0c
 20
 7a
 00
@@ -3211,7 +3319,7 @@
 d8
 c0
 48
-4a
+0d
 d8
 e0
 00
@@ -3231,15 +3339,15 @@
 d8
 a0
 48
-49
+0c
 20
 20
 03
-31
+4c
 6f
 e0
 c8
-08
+4d
 20
 7a
 00
@@ -3251,7 +3359,7 @@
 d8
 c0
 48
-09
+4e
 d8
 e0
 00
@@ -3271,7 +3379,7 @@
 d8
 a0
 48
-08
+4d
 df
 20
 00
@@ -3279,47 +3387,7 @@
 20
 20
 7c
-a1
-6f
-e0
-c8
-8a
-20
-7a
-00
-00
-1f
-e2
-72
-00
-d8
-c0
-48
-8b
-d8
-e0
-00
-02
-da
-20
-07
-59
-62
-31
-0c
-0c
-20
-40
-7b
-d2
-d8
-a0
-48
-8a
-20
-20
-03
-31
+a3
 20
 75
 80
@@ -3371,7 +3439,7 @@
 20
 40
 03
-5a
+6b
 2a
 2f
 fe
@@ -3403,7 +3471,7 @@
 20
 40
 03
-5a
+6b
 d8
 a0
 8a
@@ -3431,7 +3499,7 @@
 20
 21
 03
-4f
+60
 20
 20
 21
@@ -3535,7 +3603,7 @@
 20
 40
 03
-93
+a4
 70
 8a
 08
@@ -3571,7 +3639,7 @@
 20
 40
 03
-89
+9a
 6f
 f0
 8a
@@ -3615,7 +3683,7 @@
 20
 40
 03
-93
+a4
 70
 80
 cd
@@ -3675,7 +3743,7 @@
 c3
 02
 83
-94
+a5
 68
 59
 01
@@ -3711,7 +3779,7 @@
 c0
 08
 03
-b3
+c4
 58
 00
 57
@@ -3755,7 +3823,7 @@
 c0
 08
 03
-b0
+c1
 58
 00
 2b
@@ -3791,7 +3859,7 @@
 20
 20
 03
-ac
+bd
 58
 00
 83
@@ -3803,7 +3871,7 @@
 20
 20
 03
-a1
+b2
 6f
 e0
 c3
@@ -3843,7 +3911,7 @@
 c0
 11
 03
-c2
+d3
 c0
 7f
 b5
@@ -3859,7 +3927,7 @@
 20
 3a
 03
-c8
+d9
 6f
 e2
 45
@@ -3883,11 +3951,11 @@
 c0
 00
 83
-cc
+dd
 c0
 01
 03
-d3
+e4
 20
 60
 00
@@ -3907,7 +3975,7 @@
 c0
 01
 03
-d1
+e2
 20
 60
 00
@@ -3935,7 +4003,7 @@
 c0
 80
 03
-d8
+e9
 20
 60
 00
@@ -4015,7 +4083,7 @@
 20
 40
 03
-ec
+fd
 20
 20
 34
@@ -4051,7 +4119,7 @@
 20
 40
 03
-05
+1f
 6f
 e0
 89
@@ -4095,7 +4163,7 @@
 20
 20
 01
-ac
+ce
 58
 00
 00
@@ -4176,8 +4244,8 @@
 20
 31
 95
-82
-e9
+62
+16
 aa
 55
 40
@@ -4649,9 +4717,17 @@
 c0
 aa
 55
+02
+00
+0a
+48
+01
+00
+aa
+55
 09
 00
-d6
+99
 48
 08
 00
@@ -4666,9 +4742,9 @@
 55
 11
 00
-e3
+a6
 48
-e6
+a9
 48
 0e
 77
@@ -4689,8 +4765,8 @@
 55
 16
 00
-0d
-49
+d0
+48
 15
 7e
 21
@@ -4715,14 +4791,6 @@
 3c
 aa
 55
-02
-00
-3f
-44
-87
-88
-aa
-55
 01
 00
 48
@@ -4913,7 +4981,7 @@
 aa
 aa
 55
-4e
-a5
-fd
-02
+1a
+a4
+1a
+62
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(revision 3674)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(working copy)
@@ -1499,23 +1499,24 @@
 0x4800 mem_usb_get_report_sn_data
 0x4806 mem_usb_get_report_dpi_data
 0x4807 mem_usb_get_report_battery_data
-0x4808 mem_usb_dpi_data
-0x4849 mem_usb_rf_state_data
-0x488a mem_dongle_usb_ep2_data
-0x48cb mem_usb_rf_state_report_flag
-0x48cc mem_usb_rf_state_report_flag1
-0x48cd mem_usb_ep2_fifo
-0x48d5 mem_dongle_freq_hop_flag
-0x48d6 mem_usb_win_cmd
-0x48d9 mem_usb_mac_cmd
-0x48dc mem_usb_kb_enter
-0x48df mem_usb_website_wait_count
-0x48e0 mem_usb_website_step
-0x48e1 mem_usb_website_shift_flag
-0x48e2 mem_usb_website_release_flag
-0x48e3 mem_usb_website_ptr
-0x48e5 mem_usb_website_info
-0x490d mem_usb_website_info_sign
+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
 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 3674)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-4e
+92
 10
 c2
 84
@@ -32,7 +32,7 @@
 c0
 0a
 03
-9a
+ab
 c0
 0a
 81
@@ -52,7 +52,7 @@
 c0
 1b
 84
-01
+12
 c0
 1c
 00
@@ -63,8 +63,8 @@
 df
 c0
 1e
-83
-f3
+84
+04
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 03
-6b
+7c
 c0
 6e
 03
-7b
+8c
 c0
 7f
 01
@@ -88,7 +88,7 @@
 c0
 7f
 81
-99
+bb
 c0
 7e
 81
@@ -100,43 +100,43 @@
 c0
 00
 01
-bf
+e1
 c0
 01
-01
-fe
+02
+20
 c0
 03
 02
-1e
+40
 c0
 1c
 83
-b6
+c7
 c0
 26
 83
-ba
+cb
 c0
 37
 84
-09
+1a
 c0
 41
 03
-bc
+cd
 c0
 42
 02
-2f
+51
 c0
 44
 03
-db
+ec
 c0
 45
 03
-e8
+f9
 c1
 46
 80
@@ -232,18 +232,18 @@
 6f
 e0
 c8
-cc
+8f
 c1
 00
 80
 00
 70
 48
-cc
+8f
 01
 70
 48
-cb
+8e
 00
 20
 20
@@ -251,72 +251,72 @@
 3b
 70
 48
-49
+0c
 40
 70
 48
-4a
+0d
 a1
 70
 48
-4b
+0e
 02
 70
 48
-4c
+0f
 04
 70
 48
-4d
+10
 01
 70
 48
-4e
+11
 00
 70
 06
 6f
-27
+28
 da
 20
 48
-cd
+90
 20
 20
 7d
 8b
 70
 48
-49
+0c
 40
 70
 48
-4a
+0d
 a1
 70
 48
-4b
+0e
 02
 70
 48
-4c
+0f
 04
 70
 48
-4d
+10
 01
 70
 48
-4e
+11
 01
 70
 06
 6f
-27
+28
 da
 20
 48
-cd
+90
 20
 20
 7d
@@ -420,7 +420,7 @@
 20
 20
 02
-2f
+51
 70
 46
 14
@@ -652,11 +652,11 @@
 20
 40
 03
-3d
+4e
 20
 40
 03
-68
+79
 20
 40
 00
@@ -672,7 +672,7 @@
 20
 20
 03
-6a
+7b
 20
 75
 80
@@ -1228,7 +1228,7 @@
 58
 00
 02
-43
+65
 67
 e1
 45
@@ -1356,7 +1356,7 @@
 20
 21
 01
-65
+87
 6f
 e0
 88
@@ -1364,7 +1364,7 @@
 c0
 80
 81
-65
+87
 ef
 e0
 80
@@ -1390,13 +1390,25 @@
 c6
 df
 c0
+00
+81
+5f
+c0
+01
+81
+6c
+c0
 02
 81
-5c
+75
+c0
+03
+01
+7e
 20
 20
 01
-65
+87
 70
 46
 e1
@@ -1404,26 +1416,114 @@
 20
 20
 01
-7e
+a0
 70
 48
-8a
+4d
 40
 70
 48
-8b
+4e
 a1
 70
 48
-8c
+4f
 02
 70
 48
-8d
+50
+01
+70
+48
+51
+0b
+6f
+e3
+48
+00
+67
+e3
+48
+52
+6f
+e1
+48
+08
+67
+e1
+48
+58
+6f
+e1
+48
+0a
+67
+e1
+48
+5a
+70
+09
+0c
+23
+20
+20
+02
+92
+70
+48
+4d
+40
+70
+48
+4e
+a1
+70
+48
+4f
+02
+70
+48
+50
+02
+70
+48
+51
+01
+6f
+e0
+c8
+06
+67
+e0
+c8
+52
+70
+09
+0c
+24
+20
+20
+02
+92
+70
+48
+4d
+40
+70
+48
+4e
+a1
+70
+48
+4f
+02
+70
+48
+50
 03
 70
 48
-8e
+51
 06
 6f
 e3
@@ -1432,7 +1532,7 @@
 67
 e3
 48
-8f
+52
 70
 09
 0c
@@ -1440,14 +1540,50 @@
 20
 20
 02
-78
+92
 70
 48
-49
+4d
 40
 70
 48
-4a
+4e
+a1
+70
+48
+4f
+02
+70
+48
+50
+06
+70
+48
+51
+01
+6f
+e0
+c8
+07
+67
+e0
+c8
+52
+70
+09
+0c
+25
+20
+20
+02
+92
+70
+48
+0c
+40
+70
+48
+0d
 a1
 d8
 40
@@ -1496,7 +1632,7 @@
 d8
 a0
 48
-4b
+0e
 6f
 e1
 c6
@@ -1532,11 +1668,11 @@
 70
 06
 6f
-27
+28
 da
 20
 48
-cd
+90
 20
 20
 7d
@@ -1544,7 +1680,7 @@
 20
 40
 01
-87
+a9
 70
 46
 11
@@ -1636,7 +1772,7 @@
 20
 42
 81
-8a
+ac
 1f
 26
 7c
@@ -1660,7 +1796,7 @@
 20
 40
 01
-8a
+ac
 60
 48
 c6
@@ -1680,7 +1816,7 @@
 c0
 00
 81
-af
+d1
 1f
 26
 7c
@@ -1700,7 +1836,7 @@
 20
 20
 01
-a6
+c8
 6f
 e0
 87
@@ -1724,7 +1860,7 @@
 20
 20
 01
-bf
+e1
 6f
 e0
 88
@@ -1756,7 +1892,7 @@
 c0
 00
 81
-b9
+db
 70
 08
 f7
@@ -1820,7 +1956,7 @@
 c0
 00
 01
-c5
+e7
 20
 20
 23
@@ -1844,11 +1980,11 @@
 c0
 00
 01
-cd
+ef
 c0
 00
 82
-08
+2a
 c0
 01
 79
@@ -1864,7 +2000,7 @@
 c0
 00
 81
-d5
+f7
 c0
 01
 fa
@@ -1879,8 +2015,8 @@
 1f
 c0
 05
-81
-ef
+82
+11
 c0
 03
 f9
@@ -1935,8 +2071,8 @@
 6d
 c0
 00
-01
-e4
+02
+06
 c0
 00
 fa
@@ -2064,7 +2200,7 @@
 c0
 01
 02
-05
+27
 c0
 01
 fa
@@ -2104,7 +2240,7 @@
 c0
 04
 82
-0d
+2f
 c0
 05
 fb
@@ -2132,7 +2268,7 @@
 20
 34
 02
-1a
+3c
 6f
 f1
 0c
@@ -2224,26 +2360,26 @@
 20
 40
 02
-81
+9b
 20
 20
 03
-0f
+29
 6f
 e0
 c8
-cb
+8e
 c1
 00
 80
 00
 70
 48
-cc
+8f
 00
 70
 48
-cb
+8e
 01
 20
 20
@@ -2252,7 +2388,7 @@
 20
 40
 02
-2a
+4c
 70
 47
 ff
@@ -2280,15 +2416,15 @@
 c2
 82
 02
-3a
+5c
 c2
 82
 82
-3a
+5c
 c2
 83
 02
-3a
+5c
 20
 20
 33
@@ -2336,23 +2472,23 @@
 c2
 82
 02
-3f
+61
 c2
 82
 82
-64
+86
 c2
 83
 02
-6f
+89
 c2
 83
 82
-75
+8f
 20
 20
 02
-49
+6b
 6f
 e0
 c5
@@ -2364,11 +2500,11 @@
 20
 22
 82
-5a
+7c
 20
 40
 02
-5a
+7c
 6f
 e0
 c5
@@ -2404,19 +2540,19 @@
 c2
 82
 02
-3f
+61
 c2
 82
 82
-64
+86
 c2
 83
 02
-6f
+89
 c2
 83
 82
-75
+8f
 20
 60
 00
@@ -2460,31 +2596,7 @@
 20
 20
 02
-78
-58
-00
-00
-40
-67
-e0
-c8
-08
-70
-48
-09
-a1
-70
-48
-0a
-02
-70
-48
-0b
-02
-70
-48
-0c
-01
+92
 6f
 e0
 c5
@@ -2492,19 +2604,11 @@
 67
 e0
 c8
-0d
-67
-e0
-c8
 06
-70
-09
-0c
-24
 20
 20
-02
-78
+01
+6c
 6f
 e0
 c5
@@ -2552,7 +2656,7 @@
 da
 20
 48
-cd
+90
 20
 40
 7d
@@ -2572,7 +2676,7 @@
 da
 20
 48
-cd
+90
 20
 20
 7d
@@ -2624,7 +2728,7 @@
 c0
 08
 82
-8e
+a8
 20
 20
 23
@@ -2632,43 +2736,43 @@
 6f
 e0
 c8
-e0
+a3
 c0
 00
 02
-99
+b3
 c0
 00
 82
-a5
+bf
 c0
 01
 02
-a9
+c3
 c0
 01
 82
-b9
+d3
 c0
 02
 02
-c0
+da
 c0
 02
 82
-af
+c9
 c0
 03
 02
-b3
+cd
 c0
 03
 82
-b5
+cf
 c0
 04
 02
-b7
+d1
 20
 60
 00
@@ -2680,23 +2784,23 @@
 c0
 00
 02
-9d
+b7
 c0
 00
 82
-a1
+bb
 20
 60
 00
 00
 70
 48
-e0
+a3
 01
 6f
 e1
 c8
-d6
+99
 67
 e1
 89
@@ -2707,12 +2811,12 @@
 28
 70
 48
-e0
+a3
 01
 6f
 e1
 c8
-d9
+9c
 67
 e1
 89
@@ -2723,12 +2827,12 @@
 28
 70
 48
-e0
+a3
 02
 6f
 e0
 c8
-d6
+99
 67
 e0
 89
@@ -2739,7 +2843,7 @@
 28
 70
 48
-e0
+a3
 03
 d8
 a0
@@ -2755,7 +2859,7 @@
 a3
 70
 48
-e2
+a5
 00
 20
 20
@@ -2763,12 +2867,12 @@
 28
 70
 48
-e0
+a3
 06
 6f
 e1
 c8
-dc
+9f
 67
 e1
 89
@@ -2779,32 +2883,32 @@
 28
 70
 48
-e0
+a3
 07
 20
 20
 02
-aa
+c4
 70
 48
-e0
+a3
 08
 20
 20
 02
-b0
+ca
 70
 48
-e0
+a3
 00
 20
 20
 02
-aa
+c4
 6f
 e0
 c8
-df
+a2
 1f
 e0
 fe
@@ -2812,18 +2916,18 @@
 67
 e0
 c8
-df
+a2
 c1
 87
 80
 00
 70
 48
-df
+a2
 00
 70
 48
-e0
+a3
 04
 20
 60
@@ -2832,22 +2936,22 @@
 6f
 e0
 c8
-e2
+a5
 c0
 00
 82
-aa
+c4
 c0
 00
 02
-c6
+e0
 20
 60
 00
 00
 70
 48
-e0
+a3
 05
 20
 60
@@ -2856,11 +2960,11 @@
 d8
 40
 48
-e6
+a9
 6f
 e0
 c8
-e5
+a8
 98
 40
 84
@@ -2868,7 +2972,7 @@
 6f
 e1
 48
-e3
+a6
 98
 46
 7c
@@ -2876,19 +2980,19 @@
 20
 22
 82
-c4
+de
 20
 40
 02
-d6
+f0
 20
 40
-02
-f8
+03
+12
 6f
 e0
 c8
-e1
+a4
 67
 e0
 89
@@ -2900,7 +3004,7 @@
 6f
 e1
 48
-e3
+a6
 1f
 e0
 fe
@@ -2908,10 +3012,10 @@
 67
 e1
 48
-e3
+a6
 70
 48
-e2
+a5
 01
 20
 20
@@ -2920,7 +3024,7 @@
 68
 49
 48
-e3
+a6
 ef
 e0
 80
@@ -2932,7 +3036,7 @@
 24
 21
 02
-dd
+f7
 da
 40
 00
@@ -2943,8 +3047,8 @@
 00
 20
 21
-02
-f4
+03
+0e
 ef
 e0
 80
@@ -2956,7 +3060,7 @@
 24
 21
 02
-e3
+fd
 da
 40
 00
@@ -2967,40 +3071,40 @@
 00
 20
 21
-02
-f6
+03
+10
 1f
 e6
 7c
 3a
 20
 22
-82
-ec
+83
+06
 1f
 e6
 7c
 2f
 20
 22
-82
-ee
+83
+08
 1f
 e6
 7c
 2e
 20
 22
-82
-f0
+83
+0a
 1f
 e6
 7c
 2d
 20
 22
-82
-f2
+83
+0c
 20
 60
 00
@@ -3055,24 +3159,24 @@
 00
 70
 48
-e1
+a4
 00
 6f
 e1
 48
-e3
+a6
 ef
 e0
 80
 3f
 d8
 c0
-49
-0e
+48
+d1
 68
 48
-c9
-0d
+c8
+d0
 18
 42
 72
@@ -3088,18 +3192,18 @@
 20
 22
 83
-03
+1d
 c2
 00
-02
-fe
+03
+18
 20
 60
 00
 00
 70
 48
-e1
+a4
 02
 20
 60
@@ -3120,7 +3224,7 @@
 20
 40
 03
-0c
+26
 d8
 e0
 00
@@ -3136,7 +3240,7 @@
 6f
 e0
 c8
-e0
+a3
 20
 7a
 00
@@ -3144,11 +3248,11 @@
 20
 20
 02
-3f
+61
 da
 20
 48
-cd
+90
 20
 40
 7d
@@ -3172,7 +3276,7 @@
 da
 20
 48
-cd
+90
 20
 40
 7d
@@ -3188,11 +3292,15 @@
 c0
 12
 03
-28
+43
 c0
 13
 03
-33
+43
+c0
+11
+83
+43
 c0
 10
 fc
@@ -3202,9 +3310,9 @@
 7c
 2c
 c0
-13
-83
-1f
+14
+03
+3a
 20
 20
 23
@@ -3212,7 +3320,7 @@
 6f
 20
 c8
-49
+0c
 20
 7a
 00
@@ -3220,7 +3328,7 @@
 d8
 c0
 48
-4a
+0d
 d8
 e0
 00
@@ -3240,15 +3348,15 @@
 d8
 a0
 48
-49
+0c
 20
 20
 03
-31
+4c
 6f
 e0
 c8
-08
+4d
 20
 7a
 00
@@ -3260,7 +3368,7 @@
 d8
 c0
 48
-09
+4e
 d8
 e0
 00
@@ -3280,7 +3388,7 @@
 d8
 a0
 48
-08
+4d
 df
 20
 00
@@ -3288,47 +3396,7 @@
 20
 20
 7c
-a1
-6f
-e0
-c8
-8a
-20
-7a
-00
-00
-1f
-e2
-72
-00
-d8
-c0
-48
-8b
-d8
-e0
-00
-02
-da
-20
-07
-59
-62
-31
-0c
-0c
-20
-40
-7b
-d2
-d8
-a0
-48
-8a
-20
-20
-03
-31
+a3
 20
 75
 80
@@ -3380,7 +3448,7 @@
 20
 40
 03
-5a
+6b
 2a
 2f
 fe
@@ -3412,7 +3480,7 @@
 20
 40
 03
-5a
+6b
 d8
 a0
 8a
@@ -3440,7 +3508,7 @@
 20
 21
 03
-4f
+60
 20
 20
 21
@@ -3544,7 +3612,7 @@
 20
 40
 03
-93
+a4
 70
 8a
 08
@@ -3580,7 +3648,7 @@
 20
 40
 03
-89
+9a
 6f
 f0
 8a
@@ -3624,7 +3692,7 @@
 20
 40
 03
-93
+a4
 70
 80
 cd
@@ -3684,7 +3752,7 @@
 c3
 02
 83
-94
+a5
 68
 59
 01
@@ -3720,7 +3788,7 @@
 c0
 08
 03
-b3
+c4
 58
 00
 57
@@ -3764,7 +3832,7 @@
 c0
 08
 03
-b0
+c1
 58
 00
 2b
@@ -3800,7 +3868,7 @@
 20
 20
 03
-ac
+bd
 58
 00
 83
@@ -3812,7 +3880,7 @@
 20
 20
 03
-a1
+b2
 6f
 e0
 c3
@@ -3852,7 +3920,7 @@
 c0
 11
 03
-c2
+d3
 c0
 7f
 b5
@@ -3868,7 +3936,7 @@
 20
 3a
 03
-c8
+d9
 6f
 e2
 45
@@ -3892,11 +3960,11 @@
 c0
 00
 83
-cc
+dd
 c0
 01
 03
-d3
+e4
 20
 60
 00
@@ -3916,7 +3984,7 @@
 c0
 01
 03
-d1
+e2
 20
 60
 00
@@ -3944,7 +4012,7 @@
 c0
 80
 03
-d8
+e9
 20
 60
 00
@@ -4024,7 +4092,7 @@
 20
 40
 03
-ec
+fd
 20
 20
 34
@@ -4060,7 +4128,7 @@
 20
 40
 03
-05
+1f
 6f
 e0
 89
@@ -4104,7 +4172,7 @@
 20
 20
 01
-ac
+ce
 58
 00
 00
@@ -4185,8 +4253,8 @@
 20
 31
 95
-82
-e9
+62
+16
 aa
 55
 40
@@ -4658,9 +4726,17 @@
 c0
 aa
 55
+02
+00
+0a
+48
+01
+00
+aa
+55
 09
 00
-d6
+99
 48
 08
 00
@@ -4675,9 +4751,9 @@
 55
 11
 00
-e3
+a6
 48
-e6
+a9
 48
 0e
 77
@@ -4698,8 +4774,8 @@
 55
 16
 00
-0d
-49
+d0
+48
 15
 7e
 21
@@ -4724,14 +4800,6 @@
 3c
 aa
 55
-02
-00
-3f
-44
-87
-88
-aa
-55
 01
 00
 48
@@ -4922,8 +4990,8 @@
 aa
 aa
 55
-4e
-a5
-fd
-02
+1a
+a4
+1a
+62
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(revision 3674)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(working copy)
@@ -4,35 +4,35 @@
 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 c00a039a beq patch02_4 ,p_set_lemode 
+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 c01b8401 beq patch06_7 ,p_dongle_default_init 
+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 c01e83f3 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e8404 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 c06d036b beq patch1b_2 ,p_sadc_calibration 
-0010 c06e037b beq patch1b_4 ,p_enable_adc 
+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 c07f8199 beq patch1f_7 ,p_usb_rx 
+0012 c07f81bb beq patch1f_7 ,p_usb_rx 
 0013 c07e8125 beq patch1f_5 ,p_usb_isr 
 0014 2020235a branch assert 
 
 pf_patch_ext:
-0015 c00001bf beq patch20_0 ,p_usb_class_type 
-0016 c00101fe beq patch20_2 ,p_usb0_request_get_descriptor 
-0017 c003021e beq patch20_6 ,p_usb_tx 
-0018 c01c83b6 beq patch27_1 ,p_le_parse 
-0019 c02683ba beq patch29_5 ,p_le_init_adv 
-001a c0378409 beq patch2d_7 ,p_g24_receive_skip_end 
-001b c04103bc beq patch30_2 ,p_g24_bind_data_parse_next 
-001c c042022f beq patch30_4 ,p_g24_receive_packet_start1 
-001d c04403db beq patch31_0 ,p_g24_mode_switch_bind_search 
-001e c04503e8 beq patch31_2 ,p_g24_bind_mode_auto 
+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 
 001f c1468000 rtneq patch31_5 
 0020 c17f8000 rtneq patch3f_7 
 0021 2020235a branch assert 
@@ -62,32 +62,32 @@
 0033 20407cef call timer_check 
 0034 247a0000 nrtn blank 
 0035 2040351b call g24_ch_process + 3 
-0036 6fe0c8cc fetch 1 ,mem_usb_rf_state_report_flag1 
+0036 6fe0c88f fetch 1 ,mem_usb_rf_state_report_flag1 
 0037 c1008000 rtneq 0x1 
-0038 7048cc01 jam 0x1 ,mem_usb_rf_state_report_flag1 
-0039 7048cb00 jam 0x0 ,mem_usb_rf_state_report_flag 
+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 70484940 jam 0x40 ,mem_usb_rf_state_data 
-003c 70484aa1 jam 0xa1 ,mem_usb_rf_state_data + 1 
-003d 70484b02 jam 0x2 ,mem_usb_rf_state_data + 2 
-003e 70484c04 jam 0x4 ,mem_usb_rf_state_data + 3 
-003f 70484d01 jam 0x1 ,mem_usb_rf_state_data + 4 
-0040 70484e00 jam 0x0 ,mem_usb_rf_state_data + 5 
-0041 70066f27 jam usb_ep2_mskb_state ,mem_fifo_temp 
-0042 da2048cd arg mem_usb_ep2_fifo ,rega 
+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 70484940 jam 0x40 ,mem_usb_rf_state_data 
-0045 70484aa1 jam 0xa1 ,mem_usb_rf_state_data + 1 
-0046 70484b02 jam 0x2 ,mem_usb_rf_state_data + 2 
-0047 70484c04 jam 0x4 ,mem_usb_rf_state_data + 3 
-0048 70484d01 jam 0x1 ,mem_usb_rf_state_data + 4 
-0049 70484e01 jam 0x1 ,mem_usb_rf_state_data + 5 
-004a 70066f27 jam usb_ep2_mskb_state ,mem_fifo_temp 
-004b da2048cd arg mem_usb_ep2_fifo ,rega 
+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 
 
 p_g24_work_mode_start:
@@ -123,7 +123,7 @@
 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 2020022f branch p_g24_receive_packet_start1 
+0065 20200251 branch p_g24_receive_packet_start1 
 
 p_g24_enable_nodata_timer:
 0066 70461401 jam 1 ,mem_24g_nodata_timer_enable 
@@ -193,12 +193,12 @@
 009c 58557474 setarg 0x557474 
 009d 67f18968 store 3 ,0x8968 
 009e 7089606e jam 0x6e ,0x8960 
-009f 2040033d call p_rx_dcoc 
-00a0 20400368 call p_rfpll_aac_ghpc 
+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 2020036a branch p_dpll_ring_ibias_calc 
+00a4 2020037b branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 00a5 20758000 rtn wake 
@@ -375,7 +375,7 @@
 012c 20407932 call usb_init_param 
 012d 58004723 setarg mem_usb_ep2_config 
 012e 67e107a9 store 2 ,mem_hidreportdesc_m 
-012f 58000243 setarg p_dongle_g24_mouse 
+012f 58000265 setarg p_dongle_g24_mouse 
 0130 67e145e4 store 2 ,mem_cb_24g_data_device1 
 
 p_usb_init_restart:
@@ -413,9 +413,9 @@
 p_usb_rx_data_out:
 014d 6fe0870c fetch 1 ,mem_usb_read_len 
 014e 1fe67c02 sub pdata ,2 ,null 
-014f 20210165 branch p_dongle_hci_event_invalid_packet ,positive 
+014f 20210187 branch p_dongle_hci_event_invalid_packet ,positive 
 0150 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-0151 c0808165 bne 0x01 ,p_dongle_hci_event_invalid_packet 
+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 
@@ -424,919 +424,934 @@
 
 p_dongle_usb_hci_cmd_control:
 0157 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
-0158 c002815c beq hci_cmd_get_sn ,p_dongle_usb_hci_cmd_get_sn 
-0159 20200165 branch p_dongle_hci_event_invalid_packet 
+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 
 
-p_dongle_usb_hci_cmd_set_sn:
-015a 7046e1a2 jam report_id_data_out ,mem_dongle_24g_data_ack_flag 
-015b 2020017e branch p_dongle_usb_ack_prep 
+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 
+
+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 
 
 p_dongle_usb_hci_cmd_get_sn:
-015c 70488a40 jam 0x40 ,mem_dongle_usb_ep2_data 
-015d 70488ba1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-015e 70488c02 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-015f 70488d03 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
-0160 70488e06 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
-0161 6fe34800 fetch 6 ,mem_usb_get_report_sn_data 
-0162 67e3488f store 6 ,mem_dongle_usb_ep2_data + 5 
-0163 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
-0164 20200278 branch p_dongle_usb_tx_enable_ep2 
+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 
+
+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 
 
 p_dongle_hci_event_invalid_packet:
-0165 70484940 jam 0x40 ,mem_usb_rf_state_data 
-0166 70484aa1 jam 0xA1 ,mem_usb_rf_state_data + 1 
-0167 d8400001 arg 1 ,temp 
+0187 70480c40 jam 0x40 ,mem_usb_rf_state_data 
+0188 70480da1 jam 0xA1 ,mem_usb_rf_state_data + 1 
+0189 d8400001 arg 1 ,temp 
 
 p_dongle_hci_event_ack_packet:
-0168 da200000 arg 0 ,rega 
-0169 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
-016a 1fe22600 copy pdata ,regc 
+018a da200000 arg 0 ,rega 
+018b 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
+018c 1fe22600 copy pdata ,regc 
 
 p_dongle_hci_event_packet:
-016b 7046df06 jam hci_event_cmd_res ,mem_dongle_usb_opcode 
-016c 58000002 setarg 2 
-016d 9a20fe00 iadd rega ,pdata 
-016e 7046de02 jam 0x02 ,mem_dongle_usb_header 
-016f 67e0c6e0 store 1 ,mem_dongle_usb_len 
-0170 604c0678 storet 8 ,mem_temp 
-0171 684c0678 fetcht 8 ,mem_temp 
-0172 d8a0484b arg mem_usb_rf_state_data + 2 ,contw 
-0173 6fe1c6de fetch 3 ,mem_dongle_usb_header 
-0174 e7e18005 istore 3 ,contw 
-0175 1a627e00 copy regc ,pdata 
-0176 e7e08005 istore 1 ,contw 
-0177 e0408005 istoret 1 ,contw 
-0178 1a227200 copy rega ,loopcnt 
-0179 1a420c00 copy regb ,contr 
-017a 20407cda call memcpy 
-017b 70066f27 jam usb_ep2_mskb_state ,mem_fifo_temp 
-017c da2048cd arg mem_usb_ep2_fifo ,rega 
-017d 20207d8b branch fifo_in 
+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:
-017e 20400187 call p_dongle_g24_ack_data_clr 
-017f 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-0180 7047ffa2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-0181 6f208876 fetchr loopcnt ,1 ,mem_usb0_set_report_data + 1 
-0182 1f20f202 increase 2 ,loopcnt 
-0183 6720c6e2 storer loopcnt ,1 ,mem_dongle_24g_data_ack_len 
-0184 d8c00875 arg mem_usb0_set_report_data ,contr 
-0185 d8a046e3 arg mem_dongle_g24_ack_data ,contw 
-0186 20207cda branch memcpy 
+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:
-0187 df200040 arg 64 ,loopcnt 
-0188 d8a046e3 arg mem_dongle_g24_ack_data ,contw 
-0189 20207ca1 branch clear_mem 
+01a9 df200040 arg 64 ,loopcnt 
+01aa d8a046e3 arg mem_dongle_g24_ack_data ,contw 
+01ab 20207ca1 branch clear_mem 
 
 p_usb_rx_len:
-018a 69510c02 fetchr contus ,2 ,core_usb_rx_saddr 
-018b 6a110c04 fetchr contue ,2 ,core_usb_rx_eaddr 
-018c 68710c06 fetchr contu ,2 ,core_usb_rxptr 
-018d 18627e00 copy contu ,pdata 
-018e efe10003 ifetch 2 ,contu 
-018f 1fec8400 rshift8 pdata ,temp 
-0190 18518400 rshift4 temp ,temp 
-0191 d8c00fff arg 0xfff ,contr 
-0192 98c17200 iand contr ,loopcnt 
-0193 6721070c storer loopcnt ,2 ,mem_usb_read_len 
-0194 1f267c00 sub loopcnt ,0 ,null 
-0195 2042818a call p_usb_rx_len ,zero 
-0196 1f267c00 sub loopcnt ,0 ,null 
-0197 2042fd7c call ice_break ,zero 
-0198 20600000 rtn 
+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 
 
 p_usb_rx:
-0199 6fe08709 fetch 1 ,mem_usb_status 
-019a c4028000 rtnbit0 usb_status_rxready 
-019b 2040018a call p_usb_rx_len 
-019c 6048c697 storet 1 ,mem_usb_rx_endpoint 
-019d 2841fe0d compare 13 ,temp ,0xff 
-019e 2020f999 branch usb_rx_ep13 ,true 
-019f 6fe0c696 fetch 1 ,mem_setreport_count 
-01a0 c00081af beq 1 ,p_setreport_next_page_data 
-01a1 1f267c00 sub loopcnt ,0 ,null 
-01a2 2042fd7c call ice_break ,zero 
-01a3 d8a0086d arg mem_usb_setup ,contw 
-01a4 20407994 call usb_rx_read 
-01a5 202001a6 branch p_usb_rx_next 
+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 
 
 p_usb_rx_next:
-01a6 6fe0870c fetch 1 ,mem_usb_read_len 
-01a7 c0007986 beq 0x00 ,usb_rx_no_data 
-01a8 c000f9b6 beq 0x01 ,usb_out_one_byte 
-01a9 1fe67c07 sub pdata ,7 ,null 
-01aa 20610000 rtn positive 
-01ab 202001bf branch p_usb_class_type 
+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 
 
 p_dongle_usb_data_received_analysis:
-01ac 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-01ad c051014d beq report_id_data_out ,p_usb_rx_data_out 
-01ae 20600000 rtn 
+01ce 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+01cf c051014d beq report_id_data_out ,p_usb_rx_data_out 
+01d0 20600000 rtn 
 
 p_setreport_next_page_data:
-01af d8a00875 arg mem_usb0_set_report_data ,contw 
-01b0 20407994 call usb_rx_read 
-01b1 70469600 jam 0 ,mem_setreport_count 
-01b2 6fe0870c fetch 1 ,mem_usb_read_len 
-01b3 c00081b9 beq 0x01 ,p_usb_out_one_byte 
-01b4 7008f701 jam 1 ,mem_usb0_get_set_report 
-01b5 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-01b6 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-01b7 708c1b03 jam 0x03 ,core_usb_clear_nak 
-01b8 20600000 rtn 
+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 
 
 p_usb_out_one_byte:
-01b9 6fe0886d fetch 1 ,mem_usb_setup 
-01ba c3838000 rtnbit1 7 
-01bb 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-01bc 20407b6a call usb_get_led_status 
-01bd 708c1b01 jam 0x1 ,core_usb_clear_nak 
-01be 20600000 rtn 
+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 
 
 p_usb_class_type:
-01bf 793f8023 set0 mark_isstr ,mark 
-01c0 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01c1 1fe17e80 and_into 0x80 ,pdata 
-01c2 c04079ba beq in_device ,usb_in_device 
-01c3 c00001c5 beq out_device ,p_usb_out_device 
-01c4 2020235a branch assert 
+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 
 
 p_usb_out_device:
-01c5 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01c6 1ff1fe00 rshift4 pdata ,pdata 
-01c7 1fe37e00 rshift pdata ,pdata 
-01c8 1fe17e03 and_into 0x03 ,pdata 
-01c9 c00001cd beq standard_req ,p_usb_out_standard_req 
-01ca c0008208 beq class_req ,p_usb_out_class_req 
-01cb c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-01cc 2020235a branch assert 
+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 
 
 p_usb_out_standard_req:
-01cd 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-01ce c00081d5 beq clear_feature ,p_usb0_request_clear_feature 
-01cf c001fadb beq set_feature ,usb0_request_set_feature 
-01d0 c002fb06 beq set_address ,usb0_request_set_address 
-01d1 c004fb1f beq set_configuration ,usb0_request_set_configuration 
-01d2 c00581ef beq set_interface ,p_usb0_request_set_interface 
-01d3 c003f9e4 beq set_descriptor ,usb0_force_stall 
-01d4 202079e4 branch usb0_force_stall 
+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 
 
 p_usb0_request_clear_feature:
-01d5 6fe0886b fetch 1 ,mem_usb0_state 
-01d6 c08279e4 bne dev_configured ,usb0_force_stall 
-01d7 6fe08873 fetch 1 ,mem_usb_setup_blength 
-01d8 c08079e4 bne 0 ,usb0_force_stall 
-01d9 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
-01da c08079e4 bne 0 ,usb0_force_stall 
-01db 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01dc c08079e4 bne 0 ,usb0_force_stall 
-01dd 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
-01de c08079e4 bne 0 ,usb0_force_stall 
-01df 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01e0 c00001e4 beq out_device ,p_usb0_request_clear_feature_out_device 
-01e1 c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
-01e2 c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
-01e3 202079e4 branch usb0_force_stall 
+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 
 
 p_usb0_request_clear_feature_out_device:
-01e4 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01e5 c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
-01e6 6ff08c00 fetch 1 ,core_usb_config 
-01e7 793ffe07 set0 7 ,pdata 
-01e8 67f08c00 store 1 ,core_usb_config 
-01e9 70090100 jam 0 ,mem_usb_remote_wakeup 
-01ea 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
-01eb 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
-01ec 203a79e9 branch usb0_reply_zerolen ,blank 
-01ed 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
-01ee 202079e9 branch usb0_reply_zerolen 
+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 
 
 p_usb0_request_set_interface:
-01ef 6fe0886b fetch 1 ,mem_usb0_state 
-01f0 c08279e4 bne dev_configured ,usb0_force_stall 
-01f1 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01f2 c080f9e4 bne out_interface ,usb0_force_stall 
-01f3 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01f4 c08079e4 bne 0 ,usb0_force_stall 
-01f5 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01f6 c08079e4 bne 0 ,usb0_force_stall 
-01f7 6fe08873 fetch 1 ,mem_usb_setup_blength 
-01f8 c08079e4 bne 0 ,usb0_force_stall 
-01f9 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
-01fa c08079e4 bne 0 ,usb0_force_stall 
-01fb 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
-01fc c08079e4 bne 0 ,usb0_force_stall 
-01fd 202079e9 branch usb0_reply_zerolen 
+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 
 
 p_usb0_request_get_descriptor:
-01fe 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01ff c000fa14 beq dsc_device ,dsc_device_info 
-0200 c0010205 beq dsc_config ,p_dsc_config_info 
-0201 c001fa30 beq dsc_string ,dsc_string_info 
-0202 c010fa09 beq dsc_hid ,dsc_hid_info 
-0203 c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
-0204 202079e4 branch usb0_force_stall 
+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 
 
 p_dsc_config_info:
-0205 58004698 setarg mem_config_new 
-0206 6848c698 fetcht 1 ,mem_config_new 
-0207 20207a18 branch dsc_info_set_data_len 
+0227 58004698 setarg mem_config_new 
+0228 6848c698 fetcht 1 ,mem_config_new 
+0229 20207a18 branch dsc_info_set_data_len 
 
 p_usb_out_class_req:
-0208 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-0209 c0057b4b beq set_idle ,usb_set_idle 
-020a c004820d beq set_report ,p_usb_set_report 
-020b c005fb7c beq set_protocol ,usb_set_protocol_req 
-020c 202079e4 branch usb0_force_stall 
+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 
 
 p_usb_set_report:
-020d 708c1b02 jam 0x2 ,core_usb_clear_nak 
-020e 20003a98 nop 15000 
-020f d8a00875 arg mem_usb0_set_report_data ,contw 
-0210 20400146 call p_usb_rx_data 
-0211 2034021a branch p_usb_set_report_delay ,user 
-0212 6ff10c22 fetch 2 ,core_usb_status 
-0213 67f10c22 store 2 ,core_usb_status 
-0214 7008f701 jam 1 ,mem_usb0_get_set_report 
-0215 20407b6e call usb_set_report_resume_judge 
-0216 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-0217 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-0218 708c1b03 jam 0x3 ,core_usb_clear_nak 
-0219 20207b65 branch usb_set_report_next 
+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 
 
 p_usb_set_report_delay:
-021a 6fe0c696 fetch 1 ,mem_setreport_count 
-021b 1fe0fe01 pincrease 1 
-021c 67e0c696 store 1 ,mem_setreport_count 
-021d 20600000 rtn 
+023c 6fe0c696 fetch 1 ,mem_setreport_count 
+023d 1fe0fe01 pincrease 1 
+023e 67e0c696 store 1 ,mem_setreport_count 
+023f 20600000 rtn 
 
 p_usb_tx:
-021e 6ff08c25 fetch 1 ,core_usb_txbusy 
-021f 1fe17e0f and_into 0x0f ,pdata 
-0220 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-0221 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0222 203a7c06 branch usb_tx_fifo_release ,blank 
-0223 6fe08900 fetch 1 ,mem_usb_state 
-0224 c001fc40 beq usb_sleep ,usb_windows_wakeup 
-0225 c0817c06 bne usb_connected ,usb_tx_fifo_release 
-0226 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-0227 243a7c06 nbranch usb_tx_fifo_release ,blank 
-0228 20400281 call p_usb_tx_data_ep1 
-0229 2020030f branch p_usb_tx_data_ep2 
+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:
-022a 6fe0c8cb fetch 1 ,mem_usb_rf_state_report_flag 
-022b c1008000 rtneq 0x1 
-022c 7048cc00 jam 0x0 ,mem_usb_rf_state_report_flag1 
-022d 7048cb01 jam 0x1 ,mem_usb_rf_state_report_flag 
-022e 20200044 branch p_dongle_usb_ep2_connect_report 
+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 
 
 p_g24_receive_packet_start1:
-022f 2040022a call p_dongle_usb_ep2_connect_report_send 
-0230 7047ff00 jam 0 ,mem_24g_ackpayload_enable_temp 
-0231 70461100 jam 0 ,mem_24g_ackpayload_enable 
-0232 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0233 c000b3c4 beq datatype_device1 ,g24_data_device1 
-0234 c00133d3 beq datatype_device2 ,g24_data_device2 
-0235 c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-0236 c282023a bbit1 data_http ,p_g24_data_receive_device_http_dpi 
-0237 c282823a bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
-0238 c283023a bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
-0239 202033be branch g24_rx_interrupt_clear 
+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 
 
 p_g24_data_receive_device_http_dpi:
-023a 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-023b 1fe17e0f and pdata ,0x0f ,pdata 
-023c c000b3c4 beq datatype_device1 ,g24_data_device1 
-023d c00133d3 beq datatype_device2 ,g24_data_device2 
-023e 202033be branch g24_rx_interrupt_clear 
+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 
 
 p_dongle_usb_tx_http_data:
-023f 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-0240 d8a00923 arg mem_usb_kb_data ,contw 
-0241 20407c9a call memset0_8 
-0242 20204848 branch dongle_usb_tx_ep1_enable 
+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 
 
 p_dongle_g24_mouse:
-0243 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0244 c282023f bbit1 data_http ,p_dongle_usb_tx_http_data 
-0245 c2828264 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-0246 c283026f bbit1 data_device_info ,p_dongle_receive_device_info_data 
-0247 c2838275 bbit1 data_battery ,p_dongle_receive_battery_data 
-0248 20200249 branch p_dongle_g24_mouse_next 
+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 
 
 p_dongle_g24_mouse_next:
-0249 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-024a 1fe67c09 sub pdata ,0x09 ,null 
-024b 2022825a branch p_dongle_g24_mouse_data ,zero 
-024c 2040025a call p_dongle_g24_mouse_data 
-024d 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-024e 1fe0fff8 add pdata ,-8 ,pdata 
-024f 67e0c57d store 1 ,mem_24g_rxdata_length 
-0250 1fe27200 copy pdata ,loopcnt 
-0251 d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
-0252 d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
-0253 20407cda call memcpy 
-0254 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0255 c282023f bbit1 data_http ,p_dongle_usb_tx_http_data 
-0256 c2828264 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-0257 c283026f bbit1 data_device_info ,p_dongle_receive_device_info_data 
-0258 c2838275 bbit1 data_battery ,p_dongle_receive_battery_data 
-0259 20600000 rtn 
+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 
 
 p_dongle_g24_mouse_data:
-025a 58000001 setarg ms_report_id 
-025b 67e08913 store 1 ,mem_usb_mouse_data 
-025c 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
-025d e7e38005 istore 7 ,contw 
-025e 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-025f 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-0260 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0261 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-0262 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0263 20200278 branch p_dongle_usb_tx_enable_ep2 
+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 
 
 p_dongle_receive_dpi_data:
-0264 58000040 setarg 0x40 
-0265 67e0c808 store 1 ,mem_usb_dpi_data 
-0266 704809a1 jam report_id_data_in ,mem_usb_dpi_data + 1 
-0267 70480a02 jam 0x02 ,mem_usb_dpi_data + 2 
-0268 70480b02 jam 0x02 ,mem_usb_dpi_data + 3 
-0269 70480c01 jam 0x01 ,mem_usb_dpi_data + 4 
-026a 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-026b 67e0c80d store 1 ,mem_usb_dpi_data + 5 
-026c 67e0c806 store 1 ,mem_usb_get_report_dpi_data 
-026d 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
-026e 20200278 branch p_dongle_usb_tx_enable_ep2 
+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 
 
 p_dongle_receive_device_info_data:
-026f 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0270 1fe0ffff increase -1 ,pdata 
-0271 1fe27200 copy pdata ,loopcnt 
-0272 d8c045eb arg mem_24g_rxdata_temp + 3 ,contr 
-0273 d8a04800 arg mem_usb_get_report_sn_data ,contw 
-0274 20207cda branch memcpy 
+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 
 
 p_dongle_receive_battery_data:
-0275 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0276 67e0c807 store 1 ,mem_usb_get_report_battery_data 
-0277 20600000 rtn 
+028f 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0290 67e0c807 store 1 ,mem_usb_get_report_battery_data 
+0291 20600000 rtn 
 
 p_dongle_usb_tx_enable_ep2:
-0278 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0279 207a0000 rtn blank 
-027a da2048cd arg mem_usb_ep2_fifo ,rega 
-027b 20407da5 call fifo_is_full 
-027c 247a0000 nrtn blank 
-027d 6fe0890c fetch 1 ,mem_usb_ep2_data 
-027e 67e0866f store 1 ,mem_fifo_temp 
-027f da2048cd arg mem_usb_ep2_fifo ,rega 
-0280 20207d8b branch fifo_in 
+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 
 
 p_usb_tx_data_ep1:
-0281 6ff08c25 fetch 1 ,core_usb_txbusy 
-0282 1fe17e0f and_into 0x0f ,pdata 
-0283 247a0000 nrtn blank 
-0284 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0285 c4008000 rtnbit0 1 
-0286 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0287 793ffe01 set0 1 ,pdata 
-0288 67e0890d store 1 ,mem_usb_tx_enable 
-0289 6fe0890b fetch 1 ,mem_usb_ep1_data 
-028a 207a0000 rtn blank 
-028b c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-028c c008828e beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-028d 2020235a branch assert 
+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 
 
 p_usb_tx_http_data_set:
-028e 6fe0c8e0 fetch 1 ,mem_usb_website_step 
-028f c0000299 beq website_win ,p_usb_website_winr_data 
-0290 c00082a5 beq website_r_space_release ,p_usb_website_r_space_release_data 
-0291 c00102a9 beq website_win_release ,p_usb_website_win_release_data 
-0292 c00182b9 beq website_wait ,p_usb_website_wait_tx_data 
-0293 c00202c0 beq website_data ,p_usb_website_data 
-0294 c00282af beq website_enter_1 ,p_usb_website_enter_data1 
-0295 c00302b3 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
-0296 c00382b5 beq website_enter_2 ,p_usb_website_enter_data2 
-0297 c00402b7 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
-0298 20600000 rtn 
+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 
 
 p_usb_website_winr_data:
-0299 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-029a c000029d beq 0 ,p_usb_tx_winos_winr_data 
-029b c00082a1 beq 1 ,p_usb_tx_macos_winr_data 
-029c 20600000 rtn 
+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 
 
 p_usb_tx_winos_winr_data:
-029d 7048e001 jam website_r_space_release ,mem_usb_website_step 
-029e 6fe1c8d6 fetch 3 ,mem_usb_win_cmd 
-029f 67e18923 store 3 ,mem_usb_kb_data 
-02a0 20207c28 branch usb_tx_kb_normal_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 
 
 p_usb_tx_macos_winr_data:
-02a1 7048e001 jam website_r_space_release ,mem_usb_website_step 
-02a2 6fe1c8d9 fetch 3 ,mem_usb_mac_cmd 
-02a3 67e18923 store 3 ,mem_usb_kb_data 
-02a4 20207c28 branch usb_tx_kb_normal_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 
 
 p_usb_website_r_space_release_data:
-02a5 7048e002 jam website_win_release ,mem_usb_website_step 
-02a6 6fe0c8d6 fetch 1 ,mem_usb_win_cmd 
-02a7 67e08923 store 1 ,mem_usb_kb_data 
-02a8 20207c28 branch usb_tx_kb_normal_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 
 
 p_usb_website_win_release_data:
-02a9 7048e003 jam website_wait ,mem_usb_website_step 
+02c3 7048a303 jam website_wait ,mem_usb_website_step 
 
 p_usb_webstie_release_data:
-02aa d8a00923 arg mem_usb_kb_data ,contw 
-02ab df200008 arg 8 ,loopcnt 
-02ac 20407ca3 call memset0 
-02ad 7048e200 jam 0 ,mem_usb_website_release_flag 
-02ae 20207c28 branch usb_tx_kb_normal_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 
 
 p_usb_website_enter_data1:
-02af 7048e006 jam website_enter_release_1 ,mem_usb_website_step 
+02c9 7048a306 jam website_enter_release_1 ,mem_usb_website_step 
 
 p_usb_webstie_enter_data:
-02b0 6fe1c8dc fetch 3 ,mem_usb_kb_enter 
-02b1 67e18923 store 3 ,mem_usb_kb_data 
-02b2 20207c28 branch usb_tx_kb_normal_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 
 
 p_usb_website_enter_release_data1:
-02b3 7048e007 jam website_enter_2 ,mem_usb_website_step 
-02b4 202002aa branch p_usb_webstie_release_data 
+02cd 7048a307 jam website_enter_2 ,mem_usb_website_step 
+02ce 202002c4 branch p_usb_webstie_release_data 
 
 p_usb_website_enter_data2:
-02b5 7048e008 jam website_enter_release_2 ,mem_usb_website_step 
-02b6 202002b0 branch p_usb_webstie_enter_data 
+02cf 7048a308 jam website_enter_release_2 ,mem_usb_website_step 
+02d0 202002ca branch p_usb_webstie_enter_data 
 
 p_usb_website_enter_release_data2:
-02b7 7048e000 jam website_done ,mem_usb_website_step 
-02b8 202002aa branch p_usb_webstie_release_data 
+02d1 7048a300 jam website_done ,mem_usb_website_step 
+02d2 202002c4 branch p_usb_webstie_release_data 
 
 p_usb_website_wait_tx_data:
-02b9 6fe0c8df fetch 1 ,mem_usb_website_wait_count 
-02ba 1fe0fe01 increase 1 ,pdata 
-02bb 67e0c8df store 1 ,mem_usb_website_wait_count 
-02bc c1878000 rtnne website_wait_count 
-02bd 7048df00 jam 0 ,mem_usb_website_wait_count 
-02be 7048e004 jam website_data ,mem_usb_website_step 
-02bf 20600000 rtn 
+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 
 
 p_usb_website_data:
-02c0 6fe0c8e2 fetch 1 ,mem_usb_website_release_flag 
-02c1 c00082aa beq 1 ,p_usb_webstie_release_data 
-02c2 c00002c6 beq 0 ,p_usb_website_info_data 
-02c3 20600000 rtn 
+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 
 
 p_usb_webstie_info_data_done:
-02c4 7048e005 jam website_enter_1 ,mem_usb_website_step 
-02c5 20600000 rtn 
+02de 7048a305 jam website_enter_1 ,mem_usb_website_step 
+02df 20600000 rtn 
 
 p_usb_website_info_data:
-02c6 d84048e6 arg mem_usb_website_info + 1 ,temp 
-02c7 6fe0c8e5 fetch 1 ,mem_usb_website_info 
-02c8 98408400 iadd temp ,temp 
-02c9 6fe148e3 fetch 2 ,mem_usb_website_ptr 
-02ca 98467c00 isub temp ,null 
-02cb 202282c4 branch p_usb_webstie_info_data_done ,zero 
-02cc 204002d6 call p_usb_tx_website_acii2hidkey 
-02cd 204002f8 call p_usb_tx_website_need_shift 
-02ce 6fe0c8e1 fetch 1 ,mem_usb_website_shift_flag 
-02cf 67e08923 store 1 ,mem_usb_kb_data 
-02d0 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
-02d1 6fe148e3 fetch 2 ,mem_usb_website_ptr 
-02d2 1fe0fe01 increase 1 ,pdata 
-02d3 67e148e3 store 2 ,mem_usb_website_ptr 
-02d4 7048e201 jam 1 ,mem_usb_website_release_flag 
-02d5 20207c28 branch usb_tx_kb_normal_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 
 
 p_usb_tx_website_acii2hidkey:
-02d6 684948e3 fetcht 2 ,mem_usb_website_ptr 
-02d7 efe08002 ifetch 1 ,temp 
-02d8 1fe67c7a sub pdata ,0x7a ,null 
-02d9 242102dd nbranch p_usb_tx_website_acii2hidkey1 ,positive 
-02da da400061 arg 0x61 ,regb 
-02db 9a462200 isub regb ,rega 
-02dc 202102f4 branch p_usb_tx_website_acii2keycode_a2z ,positive 
+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 
 
 p_usb_tx_website_acii2hidkey1:
-02dd efe08002 ifetch 1 ,temp 
-02de 1fe67c39 sub pdata ,0x39 ,null 
-02df 242102e3 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
-02e0 da400030 arg 0x30 ,regb 
-02e1 9a462200 isub regb ,rega 
-02e2 202102f6 branch p_usb_tx_website_acii2keycode_029 ,positive 
+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 
 
 p_usb_tx_website_acii2keycode_sign:
-02e3 1fe67c3a sub pdata ,0x3a ,null 
-02e4 202282ec branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
-02e5 1fe67c2f sub pdata ,0x2f ,null 
-02e6 202282ee branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
-02e7 1fe67c2e sub pdata ,0x2e ,null 
-02e8 202282f0 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
-02e9 1fe67c2d sub pdata ,0x2d ,null 
-02ea 202282f2 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
-02eb 20600000 rtn 
+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 
 
 p_usb_tx_website_acii2keycode_sign_3a:
-02ec da200033 arg 0x33 ,rega 
-02ed 20600000 rtn 
+0306 da200033 arg 0x33 ,rega 
+0307 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2f:
-02ee da200038 arg 0x38 ,rega 
-02ef 20600000 rtn 
+0308 da200038 arg 0x38 ,rega 
+0309 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2e:
-02f0 da200037 arg 0x37 ,rega 
-02f1 20600000 rtn 
+030a da200037 arg 0x37 ,rega 
+030b 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2d:
-02f2 da20002d arg 0x2d ,rega 
-02f3 20600000 rtn 
+030c da20002d arg 0x2d ,rega 
+030d 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_a2z:
-02f4 1a20a204 add rega ,4 ,rega 
-02f5 20600000 rtn 
+030e 1a20a204 add rega ,4 ,rega 
+030f 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_029:
-02f6 1a20a227 add rega ,0x27 ,rega 
-02f7 20600000 rtn 
+0310 1a20a227 add rega ,0x27 ,rega 
+0311 20600000 rtn 
 
 p_usb_tx_website_need_shift:
-02f8 7048e100 jam 0 ,mem_usb_website_shift_flag 
-02f9 6fe148e3 fetch 2 ,mem_usb_website_ptr 
-02fa efe0803f ifetch 1 ,pdata 
-02fb d8c0490e arg mem_usb_website_info_sign + 1 ,contr 
-02fc 6848c90d fetcht 1 ,mem_usb_website_info_sign 
-02fd 18427200 copy temp ,loopcnt 
+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 
 
 p_usb_tx_website_need_shift_check_loop:
-02fe e8408006 ifetcht 1 ,contr 
-02ff 98467c00 isub temp ,null 
-0300 20228303 branch p_usb_tx_website_need_shift_setflag ,zero 
-0301 c20002fe loop p_usb_tx_website_need_shift_check_loop 
-0302 20600000 rtn 
+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 
 
 p_usb_tx_website_need_shift_setflag:
-0303 7048e102 jam 2 ,mem_usb_website_shift_flag 
-0304 20600000 rtn 
+031d 7048a402 jam 2 ,mem_usb_website_shift_flag 
+031e 20600000 rtn 
 
 p_g24_100ms_timer_event:
-0305 d8e00006 arg usb_timer_100ms ,queue 
-0306 20407cef call timer_check 
-0307 247a0000 nrtn blank 
-0308 2040030c call p_g24_http_over_pack_check 
+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:
-0309 d8e00006 arg usb_timer_100ms ,queue 
-030a 58000028 setarg 40 
-030b 20207ce1 branch timer_init 
+0323 d8e00006 arg usb_timer_100ms ,queue 
+0324 58000028 setarg 40 
+0325 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-030c 6fe0c8e0 fetch 1 ,mem_usb_website_step 
-030d 207a0000 rtn blank 
-030e 2020023f branch p_dongle_usb_tx_http_data 
+0326 6fe0c8a3 fetch 1 ,mem_usb_website_step 
+0327 207a0000 rtn blank 
+0328 20200261 branch p_dongle_usb_tx_http_data 
 
 p_usb_tx_data_ep2:
-030f da2048cd arg mem_usb_ep2_fifo ,rega 
-0310 20407da3 call fifo_is_empty 
-0311 207a0000 rtn blank 
-0312 6ff08c25 fetch 1 ,core_usb_txbusy 
-0313 1fe17e0f and_into 0x0f ,pdata 
-0314 247a0000 nrtn blank 
-0315 da2048cd arg mem_usb_ep2_fifo ,rega 
-0316 20407d97 call fifo_out 
-0317 207a0000 rtn blank 
-0318 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0319 c0120328 beq usb_ep2_dpi ,p_usb_tx_dpi_data 
-031a c0130333 beq usb_ep2_sn ,p_usb_tx_sn_data 
-031b c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-031c c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-031d c013831f beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-031e 2020235a branch assert 
+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 
 
 p_usb_tx_rf_state_data:
-031f 6f20c849 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
-0320 207a0000 rtn blank 
-0321 d8c0484a arg mem_usb_rf_state_data + 1 ,contr 
-0322 d8e00002 arg 2 ,queue 
-0323 da200759 arg mem_usb_txbuf2 ,rega 
-0324 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0325 20407bd2 call usb_tx_buf 
-0326 d8a04849 arg mem_usb_rf_state_data ,contw 
-0327 20200331 branch p_usb_release_dpi_buf + 1 
-
-p_usb_tx_dpi_data:
-0328 6fe0c808 fetch 1 ,mem_usb_dpi_data 
-0329 207a0000 rtn blank 
-032a 1fe27200 copy pdata ,loopcnt 
-032b d8c04809 arg mem_usb_dpi_data + 1 ,contr 
-
-p_usb_tx_dpi_ep2:
-032c d8e00002 arg 2 ,queue 
-032d da200759 arg mem_usb_txbuf2 ,rega 
-032e 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-032f 20407bd2 call usb_tx_buf 
-
-p_usb_release_dpi_buf:
-0330 d8a04808 arg mem_usb_dpi_data ,contw 
-0331 df200041 arg 65 ,loopcnt 
-0332 20207ca1 branch clear_mem 
-
-p_usb_tx_sn_data:
-0333 6fe0c88a fetch 1 ,mem_dongle_usb_ep2_data 
-0334 207a0000 rtn blank 
-0335 1fe27200 copy pdata ,loopcnt 
-0336 d8c0488b arg mem_dongle_usb_ep2_data + 1 ,contr 
-
-p_usb_tx_sn_ep2:
-0337 d8e00002 arg 2 ,queue 
-0338 da200759 arg mem_usb_txbuf2 ,rega 
-0339 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-033a 20407bd2 call usb_tx_buf 
-033b d8a0488a arg mem_dongle_usb_ep2_data ,contw 
-033c 20200331 branch p_usb_release_dpi_buf + 1 
+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 
+
+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 
+
+p_usb_tx_buff_clr:
+034c df200041 arg 65 ,loopcnt 
+034d 20207ca3 branch memset0 
 
 p_rx_dcoc:
-033d 20758000 rtn wake 
-033e 20402160 call set_sync_on 
-033f d8400027 arg 39 ,temp 
-0340 2040216f call set_freq_rx 
-0341 204021a6 call rf_rx_enable 
-0342 708a257f jam 0x7f ,0x8a25 
-0343 708a301a jam 0x1a ,0x8a30 
-0344 708a3178 jam 0x78 ,0x8a31 
-0345 708a8fb2 jam 0xb2 ,0x8a8f 
-0346 708ac200 jam 0 ,0x8ac2 
-0347 708ac300 jam 0 ,0x8ac3 
-0348 d8e00006 arg 6 ,queue 
-0349 2040035a call p_rx_dcoc_avg 
-034a 2a2ffe0d isolate1 13 ,rega 
-034b 2040211d call qset_start 
-034c 2a4ffe0d isolate1 13 ,regb 
-034d 2040211e call qset_p 
-034e d8e00005 arg 5 ,queue 
+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 
 
 p_rx_dcoc_loop2:
-034f 2040211c call qset1_p 
-0350 2040211e call qset_p 
-0351 2040035a call p_rx_dcoc_avg 
-0352 d8a08ac2 arg 0x8ac2 ,contw 
-0353 1a31fe00 rshift4 rega ,pdata 
-0354 20402117 call qsetxor 
-0355 1a51fe00 rshift4 regb ,pdata 
-0356 20402117 call qsetxor 
-0357 18e08fff increase -1 ,queue 
-0358 2021034f branch p_rx_dcoc_loop2 ,positive 
-0359 2020214f branch rx_dcoc_loop2 + 10 
+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 
 
 p_rx_dcoc_avg:
-035a 2000003c nop 60 
-035b 58000f00 setarg mem_dcoc_buf 
-035c 67f10982 store 2 ,0x8982 
-035d 58000ff0 setarg mem_dcoc_buf_end 
-035e 67f10984 store 2 ,0x8984 
-035f 70898109 jam 0x9 ,0x8981 
-0360 70898103 jam 0x3 ,0x8981 
-0361 70898006 jam 0x6 ,0x8980 
-0362 2000003c nop 60 
-0363 da200000 arg 0 ,rega 
-0364 da400000 arg 0 ,regb 
-0365 df200010 arg 16 ,loopcnt 
-0366 d8c00f00 arg mem_dcoc_buf ,contr 
-0367 2020212d branch rx_dcoc_loop 
+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 
 
 p_rfpll_aac_ghpc:
-0368 20758000 rtn wake 
-0369 20202272 branch rfpll_aac_ghpc + 1 
+0379 20758000 rtn wake 
+037a 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-036a 20600000 rtn 
+037b 20600000 rtn 
 
 p_sadc_calibration:
-036b 20758000 rtn wake 
-036c 708a0777 jam 0x77 ,core_gpadc_ctrl 
-036d 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-036e 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-036f 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0370 67f080cd store 1 ,core_sadc_clkdiv 
-0371 20000bb8 nop 3000 
-0372 20400393 call p_sadc_read 
-0373 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0374 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0375 df200008 arg 8 ,loopcnt 
-0376 20406f58 call sadc_cal_read + 1 
-0377 6fe0c419 fetch 1 ,mem_spi_write_addr 
-0378 67e0c433 store 1 ,mem_adc_cal_c7 
-0379 6240c419 storer regb ,1 ,mem_spi_write_addr 
-037a 20600000 rtn 
+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 
 
 p_enable_adc:
-037b 20400389 call p_sadc_cal_write 
-037c 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-037d 793ffe07 set0 7 ,pdata 
-037e 67f08a09 store 1 ,core_gpadc_cfg1 
-037f 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0380 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0381 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0382 20406f90 call sadc_channel 
-0383 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0384 67f080cd store 1 ,core_sadc_clkdiv 
-0385 20000bb8 nop 3000 
-0386 20400393 call p_sadc_read 
-0387 7080cd00 jam 0 ,core_sadc_clkdiv 
-0388 20206fa1 branch sadc_dma 
+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 
 
 p_sadc_cal_write:
-0389 6ff080cc fetch 1 ,core_sadc_ctrl 
-038a 79207e01 set1 1 ,pdata 
-038b 67f080cc store 1 ,core_sadc_ctrl 
-038c 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-038d 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-038e 67e0c419 store 1 ,mem_spi_write_addr 
-038f df200008 arg 8 ,loopcnt 
-0390 20406f67 call sadc_cal_write + 4 
-0391 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0392 20600000 rtn 
+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 
 
 p_sadc_read:
-0393 7080cc03 jam 0x03 ,core_sadc_ctrl 
+03a4 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-0394 6ff08129 fetch 1 ,core_perf_status 
-0395 c3028394 bbit0 saradc_done ,p_sadc_read_wait 
-0396 68590164 fetcht 2 ,core_sadc_data 
-0397 6049440a storet 2 ,mem_adc_current_value 
-0398 7080cc00 jam 0x00 ,core_sadc_ctrl 
-0399 20600000 rtn 
+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 
 
 p_set_lemode:
-039a 708a8211 jam 0x11 ,0x8a82 
-039b 708a8d12 jam 0x12 ,0x8a8d 
-039c 708a8e0a jam 0x0a ,0x8a8e 
-039d 6fe0c099 fetch 1 ,mem_fcomp_div 
-039e c00803b3 beq xtal_16m ,p_set_lemode_2m_16m 
-039f 58005762 setarg 0x5762 
-03a0 67f10907 store 2 ,0x8907 
+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 
 
 p_set_lemode_2m:
-03a1 70890103 jam 3 ,0x8901 
-03a2 70893003 jam 3 ,0x8930 
-03a3 c6168000 rtnmark1 mark_ble_2m 
-03a4 70890101 jam 1 ,0x8901 
-03a5 708a8207 jam 0x07 ,0x8a82 
-03a6 708a8d44 jam 0x44 ,0x8a8d 
-03a7 708a8e0a jam 0x0a ,0x8a8e 
-03a8 6fe0c099 fetch 1 ,mem_fcomp_div 
-03a9 c00803b0 beq xtal_16m ,p_set_lemode_1m_16m 
-03aa 58002bb1 setarg 0x2bb1 
-03ab 67f10907 store 2 ,0x8907 
+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 
 
 p_set_lemode_1m:
-03ac c6978000 rtnmark0 mark_ble_lr 
-03ad 70893024 jam 0x24 ,0x8930 
-03ae 70890105 jam 5 ,0x8901 
-03af 20600000 rtn 
+03bd c6978000 rtnmark0 mark_ble_lr 
+03be 70893024 jam 0x24 ,0x8930 
+03bf 70890105 jam 5 ,0x8901 
+03c0 20600000 rtn 
 
 p_set_lemode_1m_16m:
-03b0 58004189 setarg 0x4189 
-03b1 67f10907 store 2 ,0x8907 
-03b2 202003ac branch p_set_lemode_1m 
+03c1 58004189 setarg 0x4189 
+03c2 67f10907 store 2 ,0x8907 
+03c3 202003bd branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-03b3 58008312 setarg 0x8312 
-03b4 67f10907 store 2 ,0x8907 
-03b5 202003a1 branch p_set_lemode_2m 
+03c4 58008312 setarg 0x8312 
+03c5 67f10907 store 2 ,0x8907 
+03c6 202003b2 branch p_set_lemode_2m 
 
 p_le_parse:
-03b6 6fe0c334 fetch 1 ,mem_le_packet_llid 
-03b7 c1000000 rtneq llid_reserved 
-03b8 c001b04a beq llid_le_ll ,le_parse_ll 
-03b9 202028e1 branch le_parse_l2cap 
+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 
 
 p_le_init_adv:
-03ba 793f8030 set0 mark_ble_crc_fail ,mark 
-03bb 20202af6 branch le_init_adv + 1 
+03cb 793f8030 set0 mark_ble_crc_fail ,mark 
+03cc 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-03bc 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-03bd c0553329 beq datatype_bind ,g24_bind_first_step 
-03be c02ab33a beq datatype_config ,g24_bind_second_step 
-03bf c01103c2 beq datatype_ok ,p_g24_bind_third_step 
-03c0 c07fb59b beq datatype_attemp ,g24_data_attemp 
-03c1 20600000 rtn 
+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 
 
 p_g24_bind_third_step:
-03c2 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-03c3 203a03c8 branch p_g24_bind_third_step_skip ,blank 
-03c4 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-03c5 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-03c6 98467c00 isub temp ,null 
-03c7 24628000 nrtn zero 
+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 
 
 p_g24_bind_third_step_skip:
-03c8 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-03c9 c00083cc beq datatype_device1 ,p_g24_bind_third_step_device1 
-03ca c00103d3 beq datatype_device2 ,p_g24_bind_third_step_device2 
-03cb 20600000 rtn 
+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 
 
 p_g24_bind_third_step_device1:
-03cc 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03cd 247a0000 nrtn blank 
-03ce 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03cf c00103d1 beq 2 ,p_g24_bind_dvc1_step_success 
-03d0 20600000 rtn 
+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 
 
 p_g24_bind_dvc1_step_success:
-03d1 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-03d2 2020336b branch g24_bind_dvc1_step_success + 1 
+03e2 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03e3 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-03d3 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-03d4 247a0000 nrtn blank 
-03d5 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03d6 c08003d8 bne 0 ,p_g24_bind_dvc2_step_success 
-03d7 20600000 rtn 
+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 
 
 p_g24_bind_dvc2_step_success:
-03d8 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-03d9 20403393 call g24_binding_dvc2_living 
-03da 20203378 branch g24_bind_dvc2_step_success + 1 
+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 
 
 p_g24_mode_switch_bind_search:
-03db 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03dc c1000000 rtneq dongle_work 
-03dd 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-03de 247a0000 nrtn blank 
-03df 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-03e0 247a0000 nrtn blank 
-03e1 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-03e2 207a0000 rtn blank 
-03e3 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03e4 c1800000 rtnne 0 
-03e5 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03e6 c1800000 rtnne 0 
-03e7 20203436 branch g24_mode_switch_bind_search + 9 
+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 
 
 p_g24_bind_mode_auto:
-03e8 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03e9 c1808000 rtnne dongle_bind 
-03ea 204003ec call p_g24_bind_init 
-03eb 2020346d branch g24_bind_mode_auto + 4 
+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 
 
 p_g24_bind_init:
-03ec 6fe0c615 fetch 1 ,mem_24g_mode_init 
-03ed c3808000 rtnbit1 dongle_bind 
-03ee 79207e01 set1 dongle_bind ,pdata 
-03ef 67e0c615 store 1 ,mem_24g_mode_init 
-03f0 58000000 setarg 0 
-03f1 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-03f2 20203307 branch g24_bind_init + 8 
+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 
 
 p_dongle_usb_dispatch:
-03f3 20400305 call p_g24_100ms_timer_event 
-03f4 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-03f5 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-03f6 20407906 call usb_isr 
-03f7 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-03f8 207a0000 rtn blank 
-03f9 7008f700 jam 0 ,mem_usb0_get_set_report 
-03fa 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-03fb d84003a2 arg pc_set_report_protocol ,temp 
-03fc 98467c00 isub temp ,null 
-03fd 24628000 nrtn zero 
-03fe 202001ac branch p_dongle_usb_data_received_analysis 
+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 
 
 p_wdt_kick:
-03ff 58000010 setarg 16 
-0400 202070c8 branch wdt_init_config 
+0410 58000010 setarg 16 
+0411 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-0401 204047c3 call dongle_default_init + 1 
-0402 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0403 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0404 20403281 call g24_enable_1m 
-0405 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0406 c4000000 rtnbit0 dg_enable_new_revision 
-0407 7045ca01 jam on ,mem_24g_disable_fec1 
-0408 20203284 branch g24_enable_2m 
+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 
 
 p_g24_receive_skip_end:
-0409 6fe0c669 fetch 1 ,mem_dg_sys_config 
-040a c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-040b 7837fc00 enable user3 
-040c 20000018 nop 24 
-040d 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-040e 79207e00 set1 bit_ack_24g ,pdata 
-040f 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0410 204033a5 call g24_ackpayload_prep 
-0411 204031e5 call g24_transmit_prep 
-0412 20203195 branch g24_transmit 
+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 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(revision 3674)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(working copy)
@@ -346,7 +346,6 @@
 	branch p_set_otp_config2
 
 p_rf_rx_enable:
-//	bpatch patch02_5,mem_patch02
 	call rf_debug_rx_gpio_high
 	call rf_rx_agc_set
 	force 8,radio_ctrl
@@ -440,27 +439,43 @@
 //	fetch 1,mem_24g_bind_device_living
 //	branch p_dongle_hci_event_invalid_packet,blank
 	fetch 1,mem_dongle_usb_opcode
-//	beq HCI_CMD_GET_DEVICE_INFO,p_dongle_usb_hci_cmd_get_deivce_info
+	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_SET_SN,p_dongle_usb_hci_cmd_set_sn
+	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_SET_BATTERY,p_dongle_usb_hci_cmd_get_battery
 //	beq HCI_CMD_GET_CONNECT_STATE,p_dongle_usb_hci_cmd_get_conn_state
 	branch p_dongle_hci_event_invalid_packet
 	
 p_dongle_usb_hci_cmd_set_dpi:
-p_dongle_usb_hci_cmd_set_sn:
 	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 REPORT_ID_DATA_IN,mem_usb0_get_report_data
-	jam 0x02,mem_usb0_get_report_data+1
-	jam 0x01,mem_usb0_get_report_data+2
-	jam 0x0b,mem_usb0_get_report_data+3
-	rtn
-*/
+	jam 0x40,mem_dongle_usb_ep2_data
+	jam REPORT_ID_DATA_IN,mem_dongle_usb_ep2_data+1
+	jam 0x02,mem_dongle_usb_ep2_data+2
+	jam 0x01,mem_dongle_usb_ep2_data+3
+	jam 0x0b,mem_dongle_usb_ep2_data+4
+	fetch 6,mem_usb_get_report_sn_data
+	store 6,mem_dongle_usb_ep2_data+5
+	fetch 2,mem_usb_get_report_mouse_version_data
+	store 2,mem_dongle_usb_ep2_data+11
+	fetch 2,mem_dongle_version
+	store 2,mem_dongle_usb_ep2_data+13
+	jam USB_EP2_DEVICE_INFO,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+
+p_dongle_usb_hci_cmd_get_dpi:	//02 02 01 +dpi
+	jam 0x40,mem_dongle_usb_ep2_data
+	jam REPORT_ID_DATA_IN,mem_dongle_usb_ep2_data+1
+	jam 0x02,mem_dongle_usb_ep2_data+2
+	jam 0x02,mem_dongle_usb_ep2_data+3
+	jam 0x01,mem_dongle_usb_ep2_data+4
+	fetch 1,mem_usb_get_report_dpi_data
+	store 1,mem_dongle_usb_ep2_data+5
+	jam USB_EP2_DPI,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
 
 p_dongle_usb_hci_cmd_get_sn:	//02 03 06 +6byte mac
 	jam 0x40,mem_dongle_usb_ep2_data
@@ -473,6 +488,16 @@
 	jam USB_EP2_SN,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
+p_dongle_usb_hci_cmd_get_battery:
+	jam 0x40,mem_dongle_usb_ep2_data
+	jam REPORT_ID_DATA_IN,mem_dongle_usb_ep2_data+1
+	jam 0x02,mem_dongle_usb_ep2_data+2
+	jam 0x06,mem_dongle_usb_ep2_data+3
+	jam 0x01,mem_dongle_usb_ep2_data+4
+	fetch 1,mem_usb_get_report_battery_data
+	store 1,mem_dongle_usb_ep2_data+5
+	jam USB_EP2_BATTERY,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
 
 p_dongle_hci_event_invalid_packet:
 	jam 0x40,mem_usb_rf_state_data
@@ -788,19 +813,11 @@
 	branch p_dongle_usb_tx_enable_ep2
 
 p_dongle_receive_dpi_data:	//rsp=len+a1+02 02 01 +dpi level
-	setarg 0x40
-	store 1,mem_usb_dpi_data
-	jam REPORT_ID_DATA_IN,mem_usb_dpi_data+1
-	jam 0x02,mem_usb_dpi_data+2
-	jam 0x02,mem_usb_dpi_data+3
-	jam 0x01,mem_usb_dpi_data+4
 	fetch 1,mem_24g_rxdata_temp+3
-	store 1,mem_usb_dpi_data+5
-	store 1,mem_usb_get_report_dpi_data		//updata dpi
-	jam USB_EP2_DPI,mem_usb_ep2_data
-	branch p_dongle_usb_tx_enable_ep2
+	store 1,mem_usb_get_report_dpi_data
+	branch p_dongle_usb_hci_cmd_get_dpi
 
-p_dongle_receive_device_info_data:	//len+6byte mac+1byte dpi+1bye battery
+p_dongle_receive_device_info_data:	//len+6byte mac+1byte dpi+1bye battery +2byte version
 	fetch 1,mem_24g_rxdata_length
 	increase -1,pdata
 	copy pdata,loopcnt
@@ -1024,8 +1041,9 @@
 	call fifo_out
 	rtn blank
 	beq USB_EP2_MS,usb_tx_ms_data
-	beq USB_EP2_DPI,p_usb_tx_dpi_data
-	beq USB_EP2_SN,p_usb_tx_sn_data
+	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_MULTIKEY,usb_tx_kb_multikey_data
 	beq USB_EP2_SYSTEMKEY,usb_tx_kb_systemkey_data
@@ -1040,35 +1058,21 @@
 	storer rega,2,core_usb_tx_saddr2
 	call usb_tx_buf
 	arg mem_usb_rf_state_data,contw
-	branch p_usb_release_dpi_buf+1
-	
-p_usb_tx_dpi_data:
-	fetch 1,mem_usb_dpi_data
-	rtn blank
-	copy pdata,loopcnt
-	arg mem_usb_dpi_data+1,contr
-p_usb_tx_dpi_ep2:
-	arg 2,queue
-	arg mem_usb_txbuf2,rega
-	storer rega,2,core_usb_tx_saddr2
-	call usb_tx_buf
-p_usb_release_dpi_buf:
-	arg mem_usb_dpi_data,contw
-	arg 65,loopcnt
-	branch clear_mem
+	branch p_usb_tx_buff_clr
 
-p_usb_tx_sn_data:
+p_usb_tx_dongle_ep2_data:
 	fetch 1,mem_dongle_usb_ep2_data
 	rtn blank
 	copy pdata,loopcnt
 	arg mem_dongle_usb_ep2_data+1,contr
-p_usb_tx_sn_ep2:
 	arg 2,queue
 	arg mem_usb_txbuf2,rega
 	storer rega,2,core_usb_tx_saddr2
 	call usb_tx_buf
 	arg mem_dongle_usb_ep2_data,contw
-	branch p_usb_release_dpi_buf+1
+p_usb_tx_buff_clr:
+	arg 65,loopcnt
+	branch memset0
 
 p_rx_dcoc:
 	rtn wake
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(revision 3674)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(working copy)
@@ -141,6 +141,8 @@
 81 02 
 C0
 
+mem_dongle_version:01 00
+
 mem_usb_win_cmd:08 00 15 	#win+r
 mem_usb_mac_cmd:08 00 2c 	#command+space
 mem_usb_kb_enter:00 00 28	#shift
@@ -150,8 +152,8 @@
 mem_usb_website_info_sign:
 '~!@#$%^&*()_+{}|":>?<
 
-mem_rf_debug_rx_gpio:87
-mem_rf_debug_tx_gpio:88
+#mem_rf_debug_rx_gpio:87
+#mem_rf_debug_tx_gpio:88
 #uart config
 #mem_device_uart_tx_gpio:09	#08
 #mem_device_uart_rx_gpio:ff
