Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(revision 4486)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(working copy)
@@ -62,6 +62,7 @@
 1 mem_dongle_freq_hop_flag
 7 mem_dg_mouse_data
 1 mem_dg_mouse_key_data_last
+1 mem_usb_mouse_data_last
 //http
 3 mem_usb_win_cmd
 3 mem_usb_mac_cmd
@@ -78,9 +79,13 @@
 1 mem_ms_b4_function_flag
 1 mem_ms_b4_function_flag_last
 1 mem_ms_b4_function_flag_temp
+1 mem_ms_b4_key_val
+1 mem_ms_b4_key_val_last
 1 mem_ms_b5_function_flag
 1 mem_ms_b5_function_flag_last
 1 mem_ms_b5_function_flag_temp
+1 mem_ms_b5_key_val
+1 mem_ms_b5_key_val_last
 1 mem_usb_delay_store_b4_flag_count
 1 mem_usb_delay_store_b5_flag_count
 1 mem_ms_key_function_flag_temp
@@ -103,10 +108,11 @@
 3 mem_usb_win_task_windows
 3 mem_usb_system_ctrl_release
 3 mem_usb_multkey_release
-
+3 mem_usb_win_task_windows_release
 1 mem_usb_normal_key_flag
 1 mem_usb_multikey_key_flag
 1 mem_usb_system_key_flag
+1 mem_usb_task_windows_key_flag
 
 )
 
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(revision 4486)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-f6
-16
+5a
+17
 c2
 84
 00
@@ -23,7 +23,7 @@
 c0
 0a
 04
-cd
+e6
 c0
 0a
 81
@@ -43,7 +43,7 @@
 c0
 1b
 85
-a9
+c2
 c0
 1c
 00
@@ -55,7 +55,7 @@
 c0
 1e
 85
-27
+40
 c0
 1f
 00
@@ -67,11 +67,11 @@
 c0
 6d
 04
-9e
+b7
 c0
 6e
 04
-ae
+c7
 c0
 7f
 01
@@ -102,20 +102,20 @@
 40
 c0
 1c
-84
-e9
+85
+02
 c0
 26
-84
-ed
+85
+06
 c0
 37
 85
-b3
+cc
 c0
 41
-04
-ef
+05
+08
 c0
 42
 02
@@ -123,11 +123,11 @@
 c0
 44
 05
-0f
+28
 c0
 45
 05
-1c
+35
 c1
 7f
 80
@@ -243,7 +243,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 c6
@@ -295,7 +295,7 @@
 20
 20
 03
-9d
+b6
 6f
 e0
 c6
@@ -347,7 +347,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 c6
@@ -399,7 +399,7 @@
 20
 20
 03
-94
+ad
 20
 40
 75
@@ -631,11 +631,11 @@
 20
 40
 04
-70
+89
 20
 40
 04
-9b
+b4
 20
 40
 00
@@ -651,7 +651,7 @@
 20
 20
 04
-9d
+b6
 20
 75
 80
@@ -1467,7 +1467,7 @@
 20
 20
 03
-94
+ad
 70
 48
 9c
@@ -1507,7 +1507,7 @@
 20
 20
 03
-94
+ad
 70
 48
 55
@@ -1543,7 +1543,7 @@
 20
 20
 03
-94
+ad
 70
 48
 dd
@@ -1583,7 +1583,7 @@
 20
 20
 03
-94
+ad
 70
 48
 55
@@ -1611,7 +1611,7 @@
 20
 20
 03
-94
+ad
 70
 49
 18
@@ -1639,7 +1639,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 c8
@@ -1687,7 +1687,7 @@
 20
 20
 03
-94
+ad
 70
 48
 14
@@ -1719,7 +1719,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 88
@@ -1727,10 +1727,10 @@
 67
 e0
 c9
-bf
+c0
 70
 49
-c5
+ca
 0a
 20
 60
@@ -1743,10 +1743,10 @@
 67
 e0
 c9
-c2
+c5
 70
 49
-c6
+cb
 0a
 20
 60
@@ -2367,11 +2367,11 @@
 20
 40
 03
-a6
+bf
 6f
 e0
 c9
-7c
+7d
 24
 5a
 02
@@ -2379,7 +2379,7 @@
 20
 20
 04
-33
+4c
 70
 09
 14
@@ -2495,7 +2495,7 @@
 20
 20
 03
-9d
+b6
 6f
 e0
 c5
@@ -2591,7 +2591,7 @@
 20
 20
 03
-9d
+b6
 d8
 a0
 09
@@ -2655,7 +2655,7 @@
 20
 20
 03
-94
+ad
 d8
 a0
 09
@@ -2719,7 +2719,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 c5
@@ -2731,19 +2731,19 @@
 c2
 81
 83
-5b
+74
 c2
 82
 83
-63
+7c
 c2
 83
 03
-7d
+96
 c2
 83
 83
-8e
+a7
 20
 20
 02
@@ -2803,19 +2803,19 @@
 c2
 81
 83
-5b
+74
 c2
 82
 83
-63
+7c
 c2
 83
 03
-7d
+96
 c2
 83
 83
-8e
+a7
 20
 60
 00
@@ -2860,6 +2860,14 @@
 e3
 c9
 6a
+20
+40
+02
+de
+20
+40
+02
+d4
 6f
 e0
 c9
@@ -2877,17 +2885,45 @@
 7c
 00
 20
+62
+80
+00
+6f
+e0
+89
+14
+67
+e0
+c9
+1d
+20
+20
+01
+92
+6f
+e0
+89
+14
+68
+48
+c9
+72
+67
+e0
+c9
+72
+98
+46
+7c
+00
+20
 22
 82
-d1
-20
-40
-02
-d3
+da
 20
 20
 02
-d6
+dc
 6f
 e3
 49
@@ -2896,10 +2932,6 @@
 7a
 00
 00
-20
-40
-02
-d9
 70
 09
 0c
@@ -2907,23 +2939,11 @@
 20
 20
 03
-94
-6f
-e0
-89
-14
-67
-e0
-c9
-1d
-20
-20
-01
-92
+ad
 6f
 e0
 c9
-bf
+c0
 1f
 e6
 7c
@@ -2931,19 +2951,19 @@
 24
 42
 82
-e0
+e5
 6f
 e0
 c9
-c2
+c5
 1f
 e6
 7c
 02
 24
 42
-83
-50
+82
+f4
 20
 60
 00
@@ -2956,61 +2976,157 @@
 3f
 fe
 04
-20
-40
-03
-11
+67
+e0
+89
+14
 6f
 e0
 c9
 6a
+1f
+e1
+7e
+10
+67
+e0
+c9
+c3
+6f
+e0
+c9
+c3
+68
+48
+c9
+c4
+67
+e0
+c9
+c4
+98
+46
+7c
+00
+20
+62
+80
+00
+6f
+e0
+c9
+c3
 2f
 ef
 fe
 04
 20
-40
-82
-fd
-24
-40
-82
-e8
 20
-60
-00
-00
+83
+22
+20
+20
+03
+03
 6f
 e0
-c9
-fa
-24
-5a
-02
-ef
-6f
+89
+14
+79
+3f
+fe
+03
+67
 e0
-c9
-fb
-24
-5a
-02
-f3
+89
+14
 6f
 e0
 c9
-fc
-24
-5a
-02
-f8
+6a
+1f
+e1
+7e
+08
+67
+e0
+c9
+c8
+6f
+e0
+c9
+c8
+68
+48
+c9
+c9
+67
+e0
+c9
+c9
+98
+46
+7c
+00
+20
+62
+80
+00
+6f
+e0
+c9
+c8
+2f
+ef
+fe
+03
+20
+20
+83
+1f
+20
+20
+03
+03
+6f
+e0
+ca
+02
+24
+5a
+03
+0c
+6f
+e0
+ca
+03
+24
+5a
+03
+10
+6f
+e0
+ca
+04
+24
+5a
+03
+15
+6f
+e0
+ca
+05
+24
+5a
+03
+1a
 20
 60
 00
 00
 70
-49
-fa
+4a
+02
 00
 d8
 a0
@@ -3023,10 +3139,10 @@
 20
 20
 03
-1a
+3f
 70
-49
-fb
+4a
+03
 00
 d8
 a0
@@ -3039,14 +3155,14 @@
 6f
 e1
 c9
-f7
+fc
 20
 20
 03
-28
+52
 70
-49
-fc
+4a
+04
 00
 d8
 a0
@@ -3059,79 +3175,111 @@
 6f
 e1
 c9
-f4
+f9
 20
 20
 03
-4c
+71
+70
+4a
+05
+00
+d8
+a0
+09
+43
+20
+40
+7c
+99
+6f
+e1
+c9
+ff
+20
+20
+03
+3f
 6f
 e0
 c9
-bf
+c5
 67
 e0
 c9
-c7
+cc
+20
+20
+03
+24
 6f
 e0
 c9
-c7
+c0
+67
+e0
+c9
+cc
+6f
+e0
+c9
+cc
 c0
 00
 83
-0f
+34
 c0
 01
 03
-13
+38
 c0
 01
 83
-16
+3b
 c0
 02
 03
-20
+45
 c0
 02
 83
-24
+4e
 c0
 03
 03
-2c
+55
 c0
 03
 83
-1c
+41
 c0
 04
 03
-30
+59
 c0
 04
 83
-34
+5d
 c0
 05
 03
-48
+6d
 c0
 05
 83
-38
+61
 c0
 06
 03
-3c
+65
 c0
 06
 83
-40
+69
 c0
 07
 03
-44
+49
 20
 60
 00
@@ -3163,7 +3311,7 @@
 20
 20
 03
-11
+36
 d8
 a0
 09
@@ -3175,10 +3323,10 @@
 6f
 e1
 c9
-d0
+d5
 70
-49
-fa
+4a
+02
 01
 67
 e1
@@ -3199,11 +3347,11 @@
 6f
 e1
 c9
-dc
+e1
 20
 20
 03
-19
+3e
 d8
 a0
 09
@@ -3215,11 +3363,11 @@
 6f
 e1
 c9
-d3
+d8
 20
 20
 03
-19
+3e
 d8
 a0
 09
@@ -3228,30 +3376,18 @@
 40
 7c
 99
-6f
-e1
-c9
-d6
 70
-49
-fb
+4a
+05
 01
-67
+6f
 e1
-89
-34
-70
-09
-33
-03
-70
-09
-0c
-21
+c9
+f6
 20
 20
 03
-94
+3f
 d8
 a0
 09
@@ -3263,11 +3399,23 @@
 6f
 e1
 c9
-d9
+db
+70
+4a
+03
+01
+67
+e1
+89
+33
+70
+09
+0c
+21
 20
 20
 03
-27
+ad
 d8
 a0
 09
@@ -3279,11 +3427,11 @@
 6f
 e1
 c9
-df
+de
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3295,11 +3443,11 @@
 6f
 e1
 c9
-e2
+e4
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3311,11 +3459,11 @@
 6f
 e1
 c9
-e8
+e7
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3327,11 +3475,11 @@
 6f
 e1
 c9
-eb
+ed
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3343,11 +3491,11 @@
 6f
 e1
 c9
-ee
+f0
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3359,11 +3507,11 @@
 6f
 e1
 c9
-f1
+f3
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3375,19 +3523,15 @@
 6f
 e1
 c9
-e5
+ea
 70
-49
-fc
+4a
+04
 01
 67
 e1
 89
-44
-70
-09
 43
-02
 70
 09
 0c
@@ -3395,51 +3539,7 @@
 20
 20
 03
-94
-6f
-e0
-89
-14
-79
-3f
-fe
-03
-20
-40
-03
-11
-6f
-e0
-c9
-6a
-2f
-ef
-fe
-03
-20
-40
-83
-58
-24
-40
-82
-e8
-20
-60
-00
-00
-6f
-e0
-c9
-c2
-67
-e0
-c9
-c7
-20
-20
-02
-ff
+ad
 6f
 e0
 c5
@@ -3495,7 +3595,7 @@
 24
 42
 83
-6e
+87
 6f
 e0
 c8
@@ -3511,7 +3611,7 @@
 24
 42
 83
-71
+8a
 20
 60
 00
@@ -3539,11 +3639,11 @@
 c0
 2a
 83
-76
+8f
 c0
 55
 03
-79
+92
 20
 60
 00
@@ -3559,7 +3659,7 @@
 20
 20
 03
-7b
+94
 6f
 e0
 c9
@@ -3635,7 +3735,7 @@
 20
 40
 03
-65
+7e
 6f
 e0
 c5
@@ -3643,7 +3743,7 @@
 20
 20
 03
-8f
+a8
 6f
 e0
 c5
@@ -3803,7 +3903,7 @@
 c0
 08
 83
-b7
+d0
 20
 20
 23
@@ -3811,54 +3911,54 @@
 6f
 e0
 c9
-7c
+7d
 c0
 00
 03
-c3
+dc
 c0
 00
 83
-c5
+de
 c0
 01
 03
-d3
+ec
 c0
 01
 83
-d7
+f0
 c0
 02
-03
-e7
+04
+00
 c0
 02
-83
-ee
+84
+07
 c0
 03
 03
-dd
+f6
 c0
 03
 83
-e1
+fa
 c0
 04
 03
-e3
+fc
 c0
 04
 83
-e5
+fe
 20
 60
 00
 00
 70
 49
-7c
+7d
 01
 20
 20
@@ -3867,11 +3967,11 @@
 df
 e0
 49
-82
+83
 67
 e1
 49
-7f
+80
 6f
 e0
 88
@@ -3879,23 +3979,23 @@
 c0
 00
 03
-cb
+e4
 c0
 00
 83
-cf
+e8
 20
 60
 00
 00
 70
 49
-7c
+7d
 02
 6f
 e1
 c9
-72
+73
 67
 e1
 89
@@ -3906,12 +4006,12 @@
 28
 70
 49
-7c
+7d
 02
 6f
 e1
 c9
-75
+76
 67
 e1
 89
@@ -3922,12 +4022,12 @@
 28
 70
 49
-7c
+7d
 03
 6f
 e0
 c9
-72
+73
 67
 e0
 89
@@ -3938,7 +4038,7 @@
 28
 70
 49
-7c
+7d
 04
 d8
 a0
@@ -3954,7 +4054,7 @@
 a3
 70
 49
-7e
+7f
 00
 20
 20
@@ -3962,12 +4062,12 @@
 28
 70
 49
-7c
+7d
 07
 6f
 e1
 c9
-78
+79
 67
 e1
 89
@@ -3978,32 +4078,32 @@
 28
 70
 49
-7c
+7d
 08
 20
 20
 03
-d8
+f1
 70
 49
-7c
+7d
 09
 20
 20
 03
-de
+f7
 70
 49
-7c
+7d
 00
 20
 20
 03
-d8
+f1
 6f
 e0
 c9
-7b
+7c
 1f
 e0
 fe
@@ -4011,18 +4111,18 @@
 67
 e0
 c9
-7b
+7c
 c1
 87
 80
 00
 70
 49
-7b
+7c
 00
 70
 49
-7c
+7d
 05
 20
 60
@@ -4031,22 +4131,22 @@
 6f
 e0
 c9
-7e
+7f
 c0
 00
 83
-d8
+f1
 c0
 00
-03
-f4
+04
+0d
 20
 60
 00
 00
 70
 49
-7c
+7d
 06
 20
 60
@@ -4055,11 +4155,11 @@
 d8
 40
 49
-82
+83
 6f
 e0
 c9
-81
+82
 98
 40
 84
@@ -4067,27 +4167,27 @@
 6f
 e1
 49
-7f
+80
 98
 46
 7c
 00
 20
 22
-83
-f2
+84
+0b
 20
 40
 04
-04
+1d
 20
 40
 04
-26
+3f
 6f
 e0
 c9
-7d
+7e
 67
 e0
 89
@@ -4099,7 +4199,7 @@
 6f
 e1
 49
-7f
+80
 1f
 e0
 fe
@@ -4107,10 +4207,10 @@
 67
 e1
 49
-7f
+80
 70
 49
-7e
+7f
 01
 20
 20
@@ -4119,7 +4219,7 @@
 68
 49
 49
-7f
+80
 ef
 e0
 80
@@ -4131,7 +4231,7 @@
 24
 21
 04
-0b
+24
 da
 40
 00
@@ -4143,7 +4243,7 @@
 20
 21
 04
-22
+3b
 ef
 e0
 80
@@ -4155,7 +4255,7 @@
 24
 21
 04
-11
+2a
 da
 40
 00
@@ -4167,7 +4267,7 @@
 20
 21
 04
-24
+3d
 1f
 e6
 7c
@@ -4175,7 +4275,7 @@
 20
 22
 84
-1a
+33
 1f
 e6
 7c
@@ -4183,7 +4283,7 @@
 20
 22
 84
-1c
+35
 1f
 e6
 7c
@@ -4191,7 +4291,7 @@
 20
 22
 84
-1e
+37
 1f
 e6
 7c
@@ -4199,7 +4299,7 @@
 20
 22
 84
-20
+39
 20
 60
 00
@@ -4254,12 +4354,12 @@
 00
 70
 49
-7d
+7e
 00
 6f
 e1
 49
-7f
+80
 ef
 e0
 80
@@ -4267,11 +4367,11 @@
 d8
 c0
 49
-aa
+ab
 68
 48
 c9
-a9
+aa
 18
 42
 72
@@ -4287,18 +4387,18 @@
 20
 22
 84
-31
+4a
 c2
 00
 04
-2c
+45
 20
 60
 00
 00
 70
 49
-7d
+7e
 02
 20
 60
@@ -4367,27 +4467,27 @@
 c0
 12
 04
-5b
+74
 c0
 13
 04
-53
+6c
 c0
 14
 84
-53
+6c
 c0
 11
 84
-53
+6c
 c0
 18
 04
-69
+82
 c0
 12
 84
-62
+7b
 c0
 10
 fc
@@ -4399,7 +4499,7 @@
 c0
 13
 84
-4c
+65
 20
 20
 23
@@ -4431,7 +4531,7 @@
 20
 20
 04
-59
+72
 6f
 e0
 c8
@@ -4491,7 +4591,7 @@
 20
 20
 04
-59
+72
 6f
 e0
 c8
@@ -4519,7 +4619,7 @@
 20
 20
 04
-59
+72
 6f
 e0
 c9
@@ -4547,7 +4647,7 @@
 20
 20
 04
-59
+72
 20
 75
 80
@@ -4599,7 +4699,7 @@
 20
 40
 04
-8d
+a6
 2a
 2f
 fe
@@ -4631,7 +4731,7 @@
 20
 40
 04
-8d
+a6
 d8
 a0
 8a
@@ -4659,7 +4759,7 @@
 20
 21
 04
-82
+9b
 20
 20
 21
@@ -4763,7 +4863,7 @@
 20
 40
 04
-c6
+df
 70
 8a
 08
@@ -4799,7 +4899,7 @@
 20
 40
 04
-bc
+d5
 6f
 f0
 8a
@@ -4843,7 +4943,7 @@
 20
 40
 04
-c6
+df
 70
 80
 cd
@@ -4903,7 +5003,7 @@
 c3
 02
 84
-c7
+e0
 68
 59
 01
@@ -4939,7 +5039,7 @@
 c0
 08
 04
-e6
+ff
 58
 00
 57
@@ -4983,7 +5083,7 @@
 c0
 08
 04
-e3
+fc
 58
 00
 2b
@@ -5019,7 +5119,7 @@
 20
 20
 04
-df
+f8
 58
 00
 83
@@ -5031,7 +5131,7 @@
 20
 20
 04
-d4
+ed
 6f
 e0
 c3
@@ -5070,8 +5170,8 @@
 3a
 c0
 11
-04
-f5
+05
+0e
 c0
 7f
 b5
@@ -5086,8 +5186,8 @@
 ae
 20
 3a
-04
-fb
+05
+14
 6f
 e2
 45
@@ -5110,12 +5210,12 @@
 eb
 c0
 00
-84
-ff
+85
+18
 c0
 01
 05
-07
+20
 20
 60
 00
@@ -5135,7 +5235,7 @@
 c0
 01
 05
-04
+1d
 20
 60
 00
@@ -5167,7 +5267,7 @@
 c0
 80
 05
-0c
+25
 20
 60
 00
@@ -5247,7 +5347,7 @@
 20
 40
 05
-20
+39
 20
 20
 34
@@ -5283,11 +5383,11 @@
 20
 40
 05
-34
+4d
 20
 40
 05
-36
+4f
 6f
 e0
 89
@@ -5355,19 +5455,19 @@
 20
 40
 05
-40
+59
 20
 40
 05
-43
+5c
 20
 40
 05
-53
+6c
 20
 40
 05
-6a
+83
 d8
 e0
 00
@@ -5383,7 +5483,7 @@
 6f
 e0
 c9
-7c
+7d
 20
 7a
 00
@@ -5459,11 +5559,11 @@
 da
 60
 49
-c5
+ca
 da
 40
 05
-56
+6f
 20
 20
 42
@@ -5471,7 +5571,7 @@
 6a
 41
 49
-c8
+cd
 1a
 42
 26
@@ -5479,19 +5579,19 @@
 20
 40
 05
-8b
+a4
 6f
 e0
 c9
-c1
+c2
 20
 3a
 05
-62
+7b
 67
 e0
 c9
-c0
+c1
 1a
 60
 a6
@@ -5499,7 +5599,7 @@
 6f
 e1
 49
-ca
+cf
 9a
 66
 7c
@@ -5515,15 +5615,15 @@
 20
 20
 05
-58
+71
 68
 48
 c9
-c0
+c1
 6f
 e0
 c9
-bf
+c0
 98
 46
 7c
@@ -5535,7 +5635,7 @@
 da
 20
 49
-bf
+c0
 df
 20
 00
@@ -5551,11 +5651,11 @@
 da
 60
 49
-c6
+cb
 da
 40
 05
-6d
+86
 20
 20
 42
@@ -5563,7 +5663,7 @@
 6a
 41
 49
-cc
+d1
 1a
 42
 26
@@ -5571,19 +5671,19 @@
 20
 40
 05
-a0
+b9
 6f
 e0
 c9
-c4
+c7
 20
 3a
 05
-79
+92
 67
 e0
 c9
-c3
+c6
 1a
 60
 a6
@@ -5591,7 +5691,7 @@
 6f
 e1
 49
-ce
+d3
 9a
 66
 7c
@@ -5607,15 +5707,15 @@
 20
 20
 05
-6f
+88
 68
 48
 c9
-c3
+c6
 6f
 e0
 c9
-c2
+c5
 98
 46
 7c
@@ -5627,15 +5727,15 @@
 da
 20
 49
-c2
+c5
 20
 20
 05
-67
+80
 6a
 41
 49
-c8
+cd
 1a
 42
 26
@@ -5643,19 +5743,19 @@
 20
 40
 05
-8b
+a4
 6f
 e0
 c9
-c1
+c2
 20
 3a
 05
-8e
+a7
 67
 e0
 c9
-c0
+c1
 1a
 60
 a6
@@ -5663,7 +5763,7 @@
 6f
 e1
 49
-ca
+cf
 9a
 66
 7c
@@ -5671,7 +5771,7 @@
 24
 21
 05
-8e
+a7
 1a
 62
 24
@@ -5679,7 +5779,7 @@
 20
 20
 05
-81
+9a
 df
 20
 00
@@ -5687,7 +5787,7 @@
 da
 20
 49
-c1
+c2
 20
 20
 6b
@@ -5695,15 +5795,15 @@
 6f
 e0
 c9
-c0
+c1
 20
 5a
 05
-92
+ab
 67
 e0
 c9
-bf
+c0
 20
 60
 00
@@ -5719,7 +5819,7 @@
 6a
 41
 49
-cc
+d1
 1a
 42
 26
@@ -5727,19 +5827,19 @@
 20
 40
 05
-a0
+b9
 6f
 e0
 c9
-c4
+c7
 20
 3a
 05
-a3
+bc
 67
 e0
 c9
-c3
+c6
 1a
 60
 a6
@@ -5747,7 +5847,7 @@
 6f
 e1
 49
-ce
+d3
 9a
 66
 7c
@@ -5755,7 +5855,7 @@
 24
 21
 05
-a3
+bc
 1a
 62
 24
@@ -5763,7 +5863,7 @@
 20
 20
 05
-96
+af
 df
 20
 00
@@ -5771,7 +5871,7 @@
 da
 20
 49
-c4
+c7
 20
 20
 6b
@@ -5779,15 +5879,15 @@
 6f
 e0
 c9
-c3
+c6
 20
 5a
 05
-a7
+c0
 67
 e0
 c9
-c2
+c5
 20
 60
 00
@@ -5815,11 +5915,11 @@
 20
 40
 05
-7f
+98
 20
 40
 05
-94
+ad
 20
 40
 32
@@ -5880,8 +5980,8 @@
 20
 31
 95
-30
-c1
+ba
+b2
 aa
 55
 40
@@ -6325,9 +6425,9 @@
 00
 aa
 55
-2a
+2d
 00
-d0
+d5
 49
 04
 00
@@ -6371,11 +6471,14 @@
 03
 00
 00
+04
+00
+00
 aa
 55
 08
 00
-c8
+cd
 49
 dd
 1e
@@ -6389,7 +6492,7 @@
 55
 09
 00
-72
+73
 49
 08
 00
@@ -6404,9 +6507,9 @@
 55
 11
 00
-7f
+80
 49
-82
+83
 49
 0e
 77
@@ -6427,7 +6530,7 @@
 55
 16
 00
-a9
+aa
 49
 15
 7e
@@ -6643,113 +6746,10 @@
 aa
 aa
 55
-7f
+94
 a3
-32
-2e
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+dd
+53
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-ea
-c7
+13
+a8
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(revision 4486)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(working copy)
@@ -1514,46 +1514,53 @@
 0x4969 mem_dongle_freq_hop_flag
 0x496a mem_dg_mouse_data
 0x4971 mem_dg_mouse_key_data_last
-0x4972 mem_usb_win_cmd
-0x4975 mem_usb_mac_cmd
-0x4978 mem_usb_kb_enter
-0x497b mem_usb_website_wait_count
-0x497c mem_usb_website_step
-0x497d mem_usb_website_shift_flag
-0x497e mem_usb_website_release_flag
-0x497f mem_usb_website_ptr
-0x4981 mem_usb_website_info
-0x49a9 mem_usb_website_info_sign
-0x49bf mem_ms_b4_function_flag
-0x49c0 mem_ms_b4_function_flag_last
-0x49c1 mem_ms_b4_function_flag_temp
-0x49c2 mem_ms_b5_function_flag
-0x49c3 mem_ms_b5_function_flag_last
-0x49c4 mem_ms_b5_function_flag_temp
-0x49c5 mem_usb_delay_store_b4_flag_count
-0x49c6 mem_usb_delay_store_b5_flag_count
-0x49c7 mem_ms_key_function_flag_temp
-0x49c8 mem_otp_offset_b4_addr
-0x49ca mem_otp_offset_b4_addr_end
-0x49cc mem_otp_offset_b5_addr
-0x49ce mem_otp_offset_b5_addr_end
-0x49d0 mem_usb_win_alt_a
-0x49d3 mem_usb_win_win_d
-0x49d6 mem_usb_win_vol_add
-0x49d9 mem_usb_win_vol_decrease
-0x49dc mem_usb_win_sleep
-0x49df mem_usb_win_light_add
-0x49e2 mem_usb_win_light_decrease
-0x49e5 mem_usb_win_powerdown
-0x49e8 mem_usb_win_play
-0x49eb mem_usb_win_forword_play
-0x49ee mem_usb_win_next_play
-0x49f1 mem_usb_win_task_windows
-0x49f4 mem_usb_system_ctrl_release
-0x49f7 mem_usb_multkey_release
-0x49fa mem_usb_normal_key_flag
-0x49fb mem_usb_multikey_key_flag
-0x49fc mem_usb_system_key_flag
+0x4972 mem_usb_mouse_data_last
+0x4973 mem_usb_win_cmd
+0x4976 mem_usb_mac_cmd
+0x4979 mem_usb_kb_enter
+0x497c mem_usb_website_wait_count
+0x497d mem_usb_website_step
+0x497e mem_usb_website_shift_flag
+0x497f mem_usb_website_release_flag
+0x4980 mem_usb_website_ptr
+0x4982 mem_usb_website_info
+0x49aa mem_usb_website_info_sign
+0x49c0 mem_ms_b4_function_flag
+0x49c1 mem_ms_b4_function_flag_last
+0x49c2 mem_ms_b4_function_flag_temp
+0x49c3 mem_ms_b4_key_val
+0x49c4 mem_ms_b4_key_val_last
+0x49c5 mem_ms_b5_function_flag
+0x49c6 mem_ms_b5_function_flag_last
+0x49c7 mem_ms_b5_function_flag_temp
+0x49c8 mem_ms_b5_key_val
+0x49c9 mem_ms_b5_key_val_last
+0x49ca mem_usb_delay_store_b4_flag_count
+0x49cb mem_usb_delay_store_b5_flag_count
+0x49cc mem_ms_key_function_flag_temp
+0x49cd mem_otp_offset_b4_addr
+0x49cf mem_otp_offset_b4_addr_end
+0x49d1 mem_otp_offset_b5_addr
+0x49d3 mem_otp_offset_b5_addr_end
+0x49d5 mem_usb_win_alt_a
+0x49d8 mem_usb_win_win_d
+0x49db mem_usb_win_vol_add
+0x49de mem_usb_win_vol_decrease
+0x49e1 mem_usb_win_sleep
+0x49e4 mem_usb_win_light_add
+0x49e7 mem_usb_win_light_decrease
+0x49ea mem_usb_win_powerdown
+0x49ed mem_usb_win_play
+0x49f0 mem_usb_win_forword_play
+0x49f3 mem_usb_win_next_play
+0x49f6 mem_usb_win_task_windows
+0x49f9 mem_usb_system_ctrl_release
+0x49fc mem_usb_multkey_release
+0x49ff mem_usb_win_task_windows_release
+0x4a02 mem_usb_normal_key_flag
+0x4a03 mem_usb_multikey_key_flag
+0x4a04 mem_usb_system_key_flag
+0x4a05 mem_usb_task_windows_key_flag
 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 4486)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-f6
-16
+5a
+17
 c2
 84
 00
@@ -32,7 +32,7 @@
 c0
 0a
 04
-cd
+e6
 c0
 0a
 81
@@ -52,7 +52,7 @@
 c0
 1b
 85
-a9
+c2
 c0
 1c
 00
@@ -64,7 +64,7 @@
 c0
 1e
 85
-27
+40
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 04
-9e
+b7
 c0
 6e
 04
-ae
+c7
 c0
 7f
 01
@@ -111,20 +111,20 @@
 40
 c0
 1c
-84
-e9
+85
+02
 c0
 26
-84
-ed
+85
+06
 c0
 37
 85
-b3
+cc
 c0
 41
-04
-ef
+05
+08
 c0
 42
 02
@@ -132,11 +132,11 @@
 c0
 44
 05
-0f
+28
 c0
 45
 05
-1c
+35
 c1
 7f
 80
@@ -252,7 +252,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 c6
@@ -304,7 +304,7 @@
 20
 20
 03
-9d
+b6
 6f
 e0
 c6
@@ -356,7 +356,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 c6
@@ -408,7 +408,7 @@
 20
 20
 03
-94
+ad
 20
 40
 75
@@ -640,11 +640,11 @@
 20
 40
 04
-70
+89
 20
 40
 04
-9b
+b4
 20
 40
 00
@@ -660,7 +660,7 @@
 20
 20
 04
-9d
+b6
 20
 75
 80
@@ -1476,7 +1476,7 @@
 20
 20
 03
-94
+ad
 70
 48
 9c
@@ -1516,7 +1516,7 @@
 20
 20
 03
-94
+ad
 70
 48
 55
@@ -1552,7 +1552,7 @@
 20
 20
 03
-94
+ad
 70
 48
 dd
@@ -1592,7 +1592,7 @@
 20
 20
 03
-94
+ad
 70
 48
 55
@@ -1620,7 +1620,7 @@
 20
 20
 03
-94
+ad
 70
 49
 18
@@ -1648,7 +1648,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 c8
@@ -1696,7 +1696,7 @@
 20
 20
 03
-94
+ad
 70
 48
 14
@@ -1728,7 +1728,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 88
@@ -1736,10 +1736,10 @@
 67
 e0
 c9
-bf
+c0
 70
 49
-c5
+ca
 0a
 20
 60
@@ -1752,10 +1752,10 @@
 67
 e0
 c9
-c2
+c5
 70
 49
-c6
+cb
 0a
 20
 60
@@ -2376,11 +2376,11 @@
 20
 40
 03
-a6
+bf
 6f
 e0
 c9
-7c
+7d
 24
 5a
 02
@@ -2388,7 +2388,7 @@
 20
 20
 04
-33
+4c
 70
 09
 14
@@ -2504,7 +2504,7 @@
 20
 20
 03
-9d
+b6
 6f
 e0
 c5
@@ -2600,7 +2600,7 @@
 20
 20
 03
-9d
+b6
 d8
 a0
 09
@@ -2664,7 +2664,7 @@
 20
 20
 03
-94
+ad
 d8
 a0
 09
@@ -2728,7 +2728,7 @@
 20
 20
 03
-94
+ad
 6f
 e0
 c5
@@ -2740,19 +2740,19 @@
 c2
 81
 83
-5b
+74
 c2
 82
 83
-63
+7c
 c2
 83
 03
-7d
+96
 c2
 83
 83
-8e
+a7
 20
 20
 02
@@ -2812,19 +2812,19 @@
 c2
 81
 83
-5b
+74
 c2
 82
 83
-63
+7c
 c2
 83
 03
-7d
+96
 c2
 83
 83
-8e
+a7
 20
 60
 00
@@ -2869,6 +2869,14 @@
 e3
 c9
 6a
+20
+40
+02
+de
+20
+40
+02
+d4
 6f
 e0
 c9
@@ -2886,17 +2894,45 @@
 7c
 00
 20
+62
+80
+00
+6f
+e0
+89
+14
+67
+e0
+c9
+1d
+20
+20
+01
+92
+6f
+e0
+89
+14
+68
+48
+c9
+72
+67
+e0
+c9
+72
+98
+46
+7c
+00
+20
 22
 82
-d1
-20
-40
-02
-d3
+da
 20
 20
 02
-d6
+dc
 6f
 e3
 49
@@ -2905,10 +2941,6 @@
 7a
 00
 00
-20
-40
-02
-d9
 70
 09
 0c
@@ -2916,23 +2948,11 @@
 20
 20
 03
-94
-6f
-e0
-89
-14
-67
-e0
-c9
-1d
-20
-20
-01
-92
+ad
 6f
 e0
 c9
-bf
+c0
 1f
 e6
 7c
@@ -2940,19 +2960,19 @@
 24
 42
 82
-e0
+e5
 6f
 e0
 c9
-c2
+c5
 1f
 e6
 7c
 02
 24
 42
-83
-50
+82
+f4
 20
 60
 00
@@ -2965,61 +2985,157 @@
 3f
 fe
 04
-20
-40
-03
-11
+67
+e0
+89
+14
 6f
 e0
 c9
 6a
+1f
+e1
+7e
+10
+67
+e0
+c9
+c3
+6f
+e0
+c9
+c3
+68
+48
+c9
+c4
+67
+e0
+c9
+c4
+98
+46
+7c
+00
+20
+62
+80
+00
+6f
+e0
+c9
+c3
 2f
 ef
 fe
 04
 20
-40
-82
-fd
-24
-40
-82
-e8
 20
-60
-00
-00
+83
+22
+20
+20
+03
+03
 6f
 e0
-c9
-fa
-24
-5a
-02
-ef
-6f
+89
+14
+79
+3f
+fe
+03
+67
 e0
-c9
-fb
-24
-5a
-02
-f3
+89
+14
 6f
 e0
 c9
-fc
-24
-5a
-02
-f8
+6a
+1f
+e1
+7e
+08
+67
+e0
+c9
+c8
+6f
+e0
+c9
+c8
+68
+48
+c9
+c9
+67
+e0
+c9
+c9
+98
+46
+7c
+00
+20
+62
+80
+00
+6f
+e0
+c9
+c8
+2f
+ef
+fe
+03
+20
+20
+83
+1f
+20
+20
+03
+03
+6f
+e0
+ca
+02
+24
+5a
+03
+0c
+6f
+e0
+ca
+03
+24
+5a
+03
+10
+6f
+e0
+ca
+04
+24
+5a
+03
+15
+6f
+e0
+ca
+05
+24
+5a
+03
+1a
 20
 60
 00
 00
 70
-49
-fa
+4a
+02
 00
 d8
 a0
@@ -3032,10 +3148,10 @@
 20
 20
 03
-1a
+3f
 70
-49
-fb
+4a
+03
 00
 d8
 a0
@@ -3048,14 +3164,14 @@
 6f
 e1
 c9
-f7
+fc
 20
 20
 03
-28
+52
 70
-49
-fc
+4a
+04
 00
 d8
 a0
@@ -3068,79 +3184,111 @@
 6f
 e1
 c9
-f4
+f9
 20
 20
 03
-4c
+71
+70
+4a
+05
+00
+d8
+a0
+09
+43
+20
+40
+7c
+99
+6f
+e1
+c9
+ff
+20
+20
+03
+3f
 6f
 e0
 c9
-bf
+c5
 67
 e0
 c9
-c7
+cc
+20
+20
+03
+24
 6f
 e0
 c9
-c7
+c0
+67
+e0
+c9
+cc
+6f
+e0
+c9
+cc
 c0
 00
 83
-0f
+34
 c0
 01
 03
-13
+38
 c0
 01
 83
-16
+3b
 c0
 02
 03
-20
+45
 c0
 02
 83
-24
+4e
 c0
 03
 03
-2c
+55
 c0
 03
 83
-1c
+41
 c0
 04
 03
-30
+59
 c0
 04
 83
-34
+5d
 c0
 05
 03
-48
+6d
 c0
 05
 83
-38
+61
 c0
 06
 03
-3c
+65
 c0
 06
 83
-40
+69
 c0
 07
 03
-44
+49
 20
 60
 00
@@ -3172,7 +3320,7 @@
 20
 20
 03
-11
+36
 d8
 a0
 09
@@ -3184,10 +3332,10 @@
 6f
 e1
 c9
-d0
+d5
 70
-49
-fa
+4a
+02
 01
 67
 e1
@@ -3208,11 +3356,11 @@
 6f
 e1
 c9
-dc
+e1
 20
 20
 03
-19
+3e
 d8
 a0
 09
@@ -3224,11 +3372,11 @@
 6f
 e1
 c9
-d3
+d8
 20
 20
 03
-19
+3e
 d8
 a0
 09
@@ -3237,30 +3385,18 @@
 40
 7c
 99
-6f
-e1
-c9
-d6
 70
-49
-fb
+4a
+05
 01
-67
+6f
 e1
-89
-34
-70
-09
-33
-03
-70
-09
-0c
-21
+c9
+f6
 20
 20
 03
-94
+3f
 d8
 a0
 09
@@ -3272,11 +3408,23 @@
 6f
 e1
 c9
-d9
+db
+70
+4a
+03
+01
+67
+e1
+89
+33
+70
+09
+0c
+21
 20
 20
 03
-27
+ad
 d8
 a0
 09
@@ -3288,11 +3436,11 @@
 6f
 e1
 c9
-df
+de
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3304,11 +3452,11 @@
 6f
 e1
 c9
-e2
+e4
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3320,11 +3468,11 @@
 6f
 e1
 c9
-e8
+e7
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3336,11 +3484,11 @@
 6f
 e1
 c9
-eb
+ed
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3352,11 +3500,11 @@
 6f
 e1
 c9
-ee
+f0
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3368,11 +3516,11 @@
 6f
 e1
 c9
-f1
+f3
 20
 20
 03
-27
+51
 d8
 a0
 09
@@ -3384,19 +3532,15 @@
 6f
 e1
 c9
-e5
+ea
 70
-49
-fc
+4a
+04
 01
 67
 e1
 89
-44
-70
-09
 43
-02
 70
 09
 0c
@@ -3404,51 +3548,7 @@
 20
 20
 03
-94
-6f
-e0
-89
-14
-79
-3f
-fe
-03
-20
-40
-03
-11
-6f
-e0
-c9
-6a
-2f
-ef
-fe
-03
-20
-40
-83
-58
-24
-40
-82
-e8
-20
-60
-00
-00
-6f
-e0
-c9
-c2
-67
-e0
-c9
-c7
-20
-20
-02
-ff
+ad
 6f
 e0
 c5
@@ -3504,7 +3604,7 @@
 24
 42
 83
-6e
+87
 6f
 e0
 c8
@@ -3520,7 +3620,7 @@
 24
 42
 83
-71
+8a
 20
 60
 00
@@ -3548,11 +3648,11 @@
 c0
 2a
 83
-76
+8f
 c0
 55
 03
-79
+92
 20
 60
 00
@@ -3568,7 +3668,7 @@
 20
 20
 03
-7b
+94
 6f
 e0
 c9
@@ -3644,7 +3744,7 @@
 20
 40
 03
-65
+7e
 6f
 e0
 c5
@@ -3652,7 +3752,7 @@
 20
 20
 03
-8f
+a8
 6f
 e0
 c5
@@ -3812,7 +3912,7 @@
 c0
 08
 83
-b7
+d0
 20
 20
 23
@@ -3820,54 +3920,54 @@
 6f
 e0
 c9
-7c
+7d
 c0
 00
 03
-c3
+dc
 c0
 00
 83
-c5
+de
 c0
 01
 03
-d3
+ec
 c0
 01
 83
-d7
+f0
 c0
 02
-03
-e7
+04
+00
 c0
 02
-83
-ee
+84
+07
 c0
 03
 03
-dd
+f6
 c0
 03
 83
-e1
+fa
 c0
 04
 03
-e3
+fc
 c0
 04
 83
-e5
+fe
 20
 60
 00
 00
 70
 49
-7c
+7d
 01
 20
 20
@@ -3876,11 +3976,11 @@
 df
 e0
 49
-82
+83
 67
 e1
 49
-7f
+80
 6f
 e0
 88
@@ -3888,23 +3988,23 @@
 c0
 00
 03
-cb
+e4
 c0
 00
 83
-cf
+e8
 20
 60
 00
 00
 70
 49
-7c
+7d
 02
 6f
 e1
 c9
-72
+73
 67
 e1
 89
@@ -3915,12 +4015,12 @@
 28
 70
 49
-7c
+7d
 02
 6f
 e1
 c9
-75
+76
 67
 e1
 89
@@ -3931,12 +4031,12 @@
 28
 70
 49
-7c
+7d
 03
 6f
 e0
 c9
-72
+73
 67
 e0
 89
@@ -3947,7 +4047,7 @@
 28
 70
 49
-7c
+7d
 04
 d8
 a0
@@ -3963,7 +4063,7 @@
 a3
 70
 49
-7e
+7f
 00
 20
 20
@@ -3971,12 +4071,12 @@
 28
 70
 49
-7c
+7d
 07
 6f
 e1
 c9
-78
+79
 67
 e1
 89
@@ -3987,32 +4087,32 @@
 28
 70
 49
-7c
+7d
 08
 20
 20
 03
-d8
+f1
 70
 49
-7c
+7d
 09
 20
 20
 03
-de
+f7
 70
 49
-7c
+7d
 00
 20
 20
 03
-d8
+f1
 6f
 e0
 c9
-7b
+7c
 1f
 e0
 fe
@@ -4020,18 +4120,18 @@
 67
 e0
 c9
-7b
+7c
 c1
 87
 80
 00
 70
 49
-7b
+7c
 00
 70
 49
-7c
+7d
 05
 20
 60
@@ -4040,22 +4140,22 @@
 6f
 e0
 c9
-7e
+7f
 c0
 00
 83
-d8
+f1
 c0
 00
-03
-f4
+04
+0d
 20
 60
 00
 00
 70
 49
-7c
+7d
 06
 20
 60
@@ -4064,11 +4164,11 @@
 d8
 40
 49
-82
+83
 6f
 e0
 c9
-81
+82
 98
 40
 84
@@ -4076,27 +4176,27 @@
 6f
 e1
 49
-7f
+80
 98
 46
 7c
 00
 20
 22
-83
-f2
+84
+0b
 20
 40
 04
-04
+1d
 20
 40
 04
-26
+3f
 6f
 e0
 c9
-7d
+7e
 67
 e0
 89
@@ -4108,7 +4208,7 @@
 6f
 e1
 49
-7f
+80
 1f
 e0
 fe
@@ -4116,10 +4216,10 @@
 67
 e1
 49
-7f
+80
 70
 49
-7e
+7f
 01
 20
 20
@@ -4128,7 +4228,7 @@
 68
 49
 49
-7f
+80
 ef
 e0
 80
@@ -4140,7 +4240,7 @@
 24
 21
 04
-0b
+24
 da
 40
 00
@@ -4152,7 +4252,7 @@
 20
 21
 04
-22
+3b
 ef
 e0
 80
@@ -4164,7 +4264,7 @@
 24
 21
 04
-11
+2a
 da
 40
 00
@@ -4176,7 +4276,7 @@
 20
 21
 04
-24
+3d
 1f
 e6
 7c
@@ -4184,7 +4284,7 @@
 20
 22
 84
-1a
+33
 1f
 e6
 7c
@@ -4192,7 +4292,7 @@
 20
 22
 84
-1c
+35
 1f
 e6
 7c
@@ -4200,7 +4300,7 @@
 20
 22
 84
-1e
+37
 1f
 e6
 7c
@@ -4208,7 +4308,7 @@
 20
 22
 84
-20
+39
 20
 60
 00
@@ -4263,12 +4363,12 @@
 00
 70
 49
-7d
+7e
 00
 6f
 e1
 49
-7f
+80
 ef
 e0
 80
@@ -4276,11 +4376,11 @@
 d8
 c0
 49
-aa
+ab
 68
 48
 c9
-a9
+aa
 18
 42
 72
@@ -4296,18 +4396,18 @@
 20
 22
 84
-31
+4a
 c2
 00
 04
-2c
+45
 20
 60
 00
 00
 70
 49
-7d
+7e
 02
 20
 60
@@ -4376,27 +4476,27 @@
 c0
 12
 04
-5b
+74
 c0
 13
 04
-53
+6c
 c0
 14
 84
-53
+6c
 c0
 11
 84
-53
+6c
 c0
 18
 04
-69
+82
 c0
 12
 84
-62
+7b
 c0
 10
 fc
@@ -4408,7 +4508,7 @@
 c0
 13
 84
-4c
+65
 20
 20
 23
@@ -4440,7 +4540,7 @@
 20
 20
 04
-59
+72
 6f
 e0
 c8
@@ -4500,7 +4600,7 @@
 20
 20
 04
-59
+72
 6f
 e0
 c8
@@ -4528,7 +4628,7 @@
 20
 20
 04
-59
+72
 6f
 e0
 c9
@@ -4556,7 +4656,7 @@
 20
 20
 04
-59
+72
 20
 75
 80
@@ -4608,7 +4708,7 @@
 20
 40
 04
-8d
+a6
 2a
 2f
 fe
@@ -4640,7 +4740,7 @@
 20
 40
 04
-8d
+a6
 d8
 a0
 8a
@@ -4668,7 +4768,7 @@
 20
 21
 04
-82
+9b
 20
 20
 21
@@ -4772,7 +4872,7 @@
 20
 40
 04
-c6
+df
 70
 8a
 08
@@ -4808,7 +4908,7 @@
 20
 40
 04
-bc
+d5
 6f
 f0
 8a
@@ -4852,7 +4952,7 @@
 20
 40
 04
-c6
+df
 70
 80
 cd
@@ -4912,7 +5012,7 @@
 c3
 02
 84
-c7
+e0
 68
 59
 01
@@ -4948,7 +5048,7 @@
 c0
 08
 04
-e6
+ff
 58
 00
 57
@@ -4992,7 +5092,7 @@
 c0
 08
 04
-e3
+fc
 58
 00
 2b
@@ -5028,7 +5128,7 @@
 20
 20
 04
-df
+f8
 58
 00
 83
@@ -5040,7 +5140,7 @@
 20
 20
 04
-d4
+ed
 6f
 e0
 c3
@@ -5079,8 +5179,8 @@
 3a
 c0
 11
-04
-f5
+05
+0e
 c0
 7f
 b5
@@ -5095,8 +5195,8 @@
 ae
 20
 3a
-04
-fb
+05
+14
 6f
 e2
 45
@@ -5119,12 +5219,12 @@
 eb
 c0
 00
-84
-ff
+85
+18
 c0
 01
 05
-07
+20
 20
 60
 00
@@ -5144,7 +5244,7 @@
 c0
 01
 05
-04
+1d
 20
 60
 00
@@ -5176,7 +5276,7 @@
 c0
 80
 05
-0c
+25
 20
 60
 00
@@ -5256,7 +5356,7 @@
 20
 40
 05
-20
+39
 20
 20
 34
@@ -5292,11 +5392,11 @@
 20
 40
 05
-34
+4d
 20
 40
 05
-36
+4f
 6f
 e0
 89
@@ -5364,19 +5464,19 @@
 20
 40
 05
-40
+59
 20
 40
 05
-43
+5c
 20
 40
 05
-53
+6c
 20
 40
 05
-6a
+83
 d8
 e0
 00
@@ -5392,7 +5492,7 @@
 6f
 e0
 c9
-7c
+7d
 20
 7a
 00
@@ -5468,11 +5568,11 @@
 da
 60
 49
-c5
+ca
 da
 40
 05
-56
+6f
 20
 20
 42
@@ -5480,7 +5580,7 @@
 6a
 41
 49
-c8
+cd
 1a
 42
 26
@@ -5488,19 +5588,19 @@
 20
 40
 05
-8b
+a4
 6f
 e0
 c9
-c1
+c2
 20
 3a
 05
-62
+7b
 67
 e0
 c9
-c0
+c1
 1a
 60
 a6
@@ -5508,7 +5608,7 @@
 6f
 e1
 49
-ca
+cf
 9a
 66
 7c
@@ -5524,15 +5624,15 @@
 20
 20
 05
-58
+71
 68
 48
 c9
-c0
+c1
 6f
 e0
 c9
-bf
+c0
 98
 46
 7c
@@ -5544,7 +5644,7 @@
 da
 20
 49
-bf
+c0
 df
 20
 00
@@ -5560,11 +5660,11 @@
 da
 60
 49
-c6
+cb
 da
 40
 05
-6d
+86
 20
 20
 42
@@ -5572,7 +5672,7 @@
 6a
 41
 49
-cc
+d1
 1a
 42
 26
@@ -5580,19 +5680,19 @@
 20
 40
 05
-a0
+b9
 6f
 e0
 c9
-c4
+c7
 20
 3a
 05
-79
+92
 67
 e0
 c9
-c3
+c6
 1a
 60
 a6
@@ -5600,7 +5700,7 @@
 6f
 e1
 49
-ce
+d3
 9a
 66
 7c
@@ -5616,15 +5716,15 @@
 20
 20
 05
-6f
+88
 68
 48
 c9
-c3
+c6
 6f
 e0
 c9
-c2
+c5
 98
 46
 7c
@@ -5636,15 +5736,15 @@
 da
 20
 49
-c2
+c5
 20
 20
 05
-67
+80
 6a
 41
 49
-c8
+cd
 1a
 42
 26
@@ -5652,19 +5752,19 @@
 20
 40
 05
-8b
+a4
 6f
 e0
 c9
-c1
+c2
 20
 3a
 05
-8e
+a7
 67
 e0
 c9
-c0
+c1
 1a
 60
 a6
@@ -5672,7 +5772,7 @@
 6f
 e1
 49
-ca
+cf
 9a
 66
 7c
@@ -5680,7 +5780,7 @@
 24
 21
 05
-8e
+a7
 1a
 62
 24
@@ -5688,7 +5788,7 @@
 20
 20
 05
-81
+9a
 df
 20
 00
@@ -5696,7 +5796,7 @@
 da
 20
 49
-c1
+c2
 20
 20
 6b
@@ -5704,15 +5804,15 @@
 6f
 e0
 c9
-c0
+c1
 20
 5a
 05
-92
+ab
 67
 e0
 c9
-bf
+c0
 20
 60
 00
@@ -5728,7 +5828,7 @@
 6a
 41
 49
-cc
+d1
 1a
 42
 26
@@ -5736,19 +5836,19 @@
 20
 40
 05
-a0
+b9
 6f
 e0
 c9
-c4
+c7
 20
 3a
 05
-a3
+bc
 67
 e0
 c9
-c3
+c6
 1a
 60
 a6
@@ -5756,7 +5856,7 @@
 6f
 e1
 49
-ce
+d3
 9a
 66
 7c
@@ -5764,7 +5864,7 @@
 24
 21
 05
-a3
+bc
 1a
 62
 24
@@ -5772,7 +5872,7 @@
 20
 20
 05
-96
+af
 df
 20
 00
@@ -5780,7 +5880,7 @@
 da
 20
 49
-c4
+c7
 20
 20
 6b
@@ -5788,15 +5888,15 @@
 6f
 e0
 c9
-c3
+c6
 20
 5a
 05
-a7
+c0
 67
 e0
 c9
-c2
+c5
 20
 60
 00
@@ -5824,11 +5924,11 @@
 20
 40
 05
-7f
+98
 20
 40
 05
-94
+ad
 20
 40
 32
@@ -5889,8 +5989,8 @@
 20
 31
 95
-30
-c1
+ba
+b2
 aa
 55
 40
@@ -6334,9 +6434,9 @@
 00
 aa
 55
-2a
+2d
 00
-d0
+d5
 49
 04
 00
@@ -6380,11 +6480,14 @@
 03
 00
 00
+04
+00
+00
 aa
 55
 08
 00
-c8
+cd
 49
 dd
 1e
@@ -6398,7 +6501,7 @@
 55
 09
 00
-72
+73
 49
 08
 00
@@ -6413,9 +6516,9 @@
 55
 11
 00
-7f
+80
 49
-82
+83
 49
 0e
 77
@@ -6436,7 +6539,7 @@
 55
 16
 00
-a9
+aa
 49
 15
 7e
@@ -6652,8 +6755,8 @@
 aa
 aa
 55
-7f
+94
 a3
-32
-2e
+dd
+53
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(revision 4486)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(working copy)
@@ -4,19 +4,19 @@
 0001 c0000021 beq patch00_0 ,p_soft_reset 
 0002 c0010063 beq patch00_2 ,p_main_loop 
 0003 c008806c beq patch02_1 ,p_set_sync_on 
-0004 c00a04cd beq patch02_4 ,p_set_lemode 
+0004 c00a04e6 beq patch02_4 ,p_set_lemode 
 0005 c00a810d beq patch02_5 ,p_rf_rx_enable 
 0006 c00c011b beq patch03_0 ,p_txon 
 0007 c00c80c1 beq patch03_1 ,p_set_tx_power 
 0008 c00d007d beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b85a9 beq patch06_7 ,p_dongle_default_init 
+0009 c01b85c2 beq patch06_7 ,p_dongle_default_init 
 000a c01c00e0 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c80dc beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e8527 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e8540 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f0027 beq patch07_6 ,p_dongle_work_mode_auto 
 000e c06280d9 beq patch18_5 ,p_otp_read_data 
-000f c06d049e beq patch1b_2 ,p_sadc_calibration 
-0010 c06e04ae beq patch1b_4 ,p_enable_adc 
+000f c06d04b7 beq patch1b_2 ,p_sadc_calibration 
+0010 c06e04c7 beq patch1b_4 ,p_enable_adc 
 0011 c07f0126 beq patch1f_6 ,p_usb_init 
 0012 c07f81b5 beq patch1f_7 ,p_usb_rx 
 0013 c07e8122 beq patch1f_5 ,p_usb_isr 
@@ -26,13 +26,13 @@
 0015 c00001d9 beq patch20_0 ,p_usb_class_type 
 0016 c0010218 beq patch20_2 ,p_usb0_request_get_descriptor 
 0017 c0030240 beq patch20_6 ,p_usb_tx 
-0018 c01c84e9 beq patch27_1 ,p_le_parse 
-0019 c02684ed beq patch29_5 ,p_le_init_adv 
-001a c03785b3 beq patch2d_7 ,p_g24_receive_skip_end 
-001b c04104ef beq patch30_2 ,p_g24_bind_data_parse_next 
+0018 c01c8502 beq patch27_1 ,p_le_parse 
+0019 c0268506 beq patch29_5 ,p_le_init_adv 
+001a c03785cc beq patch2d_7 ,p_g24_receive_skip_end 
+001b c0410508 beq patch30_2 ,p_g24_bind_data_parse_next 
 001c c042025a beq patch30_4 ,p_g24_receive_packet_start1 
-001d c044050f beq patch31_0 ,p_g24_mode_switch_bind_search 
-001e c045051c beq patch31_2 ,p_g24_bind_mode_auto 
+001d c0440528 beq patch31_0 ,p_g24_mode_switch_bind_search 
+001e c0450535 beq patch31_2 ,p_g24_bind_mode_auto 
 001f c17f8000 rtneq patch3f_7 
 0020 2020235a branch assert 
 
@@ -71,7 +71,7 @@
 0038 58000000 setarg 0 
 0039 e7e38005 istore 7 ,contw 
 003a 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-003b 20200394 branch p_dongle_usb_tx_enable_ep2 
+003b 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_kb_blank_data:
 003c 6fe0c665 fetch 1 ,mem_dg_kb_blank_data_enable 
@@ -86,7 +86,7 @@
 0045 67e44651 store 8 ,mem_dg_kb_data_last_data 
 0046 70092300 jam kb_normal_report_id ,mem_usb_kb_data 
 0047 70090b10 jam usb_ep1_kb ,mem_usb_ep1_data 
-0048 2020039d branch p_dongle_usb_tx_enable_ep1 
+0048 202003b6 branch p_dongle_usb_tx_enable_ep1 
 
 p_dongle_g24_kb_sys_ctrl_blank_data:
 0049 6fe0c667 fetch 1 ,mem_dg_kb_system_crtl_blank_data_enable 
@@ -101,7 +101,7 @@
 0052 6fe10943 fetch 2 ,mem_usb_kb_system 
 0053 67e1465f store 2 ,mem_dg_kb_system_sta_data 
 0054 70090c22 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-0055 20200394 branch p_dongle_usb_tx_enable_ep2 
+0055 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_kb_mul_blank_data:
 0056 6fe0c666 fetch 1 ,mem_dg_kb_mul_blank_data_enable 
@@ -116,7 +116,7 @@
 005f 6fe18933 fetch 3 ,mem_usb_kb_multikey 
 0060 67e1c65c store 3 ,mem_dg_kb_multikey_last_data 
 0061 70090c21 jam usb_ep2_multikey ,mem_usb_ep2_data 
-0062 20200394 branch p_dongle_usb_tx_enable_ep2 
+0062 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_main_loop:
 0063 20407552 call sp_calc_sequence_256 
@@ -184,12 +184,12 @@
 0099 58557474 setarg 0x557474 
 009a 67f18968 store 3 ,0x8968 
 009b 7089606e jam 0x6e ,0x8960 
-009c 20400470 call p_rx_dcoc 
-009d 2040049b call p_rfpll_aac_ghpc 
+009c 20400489 call p_rx_dcoc 
+009d 204004b4 call p_rfpll_aac_ghpc 
 009e 204000a2 call p_set_xtal_cap 
 009f 7041480c jam system_clk_12m ,mem_system_clk 
 00a0 20406f4e call sadc_calibration 
-00a1 2020049d branch p_dpll_ring_ibias_calc 
+00a1 202004b6 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 00a2 20758000 rtn wake 
@@ -441,7 +441,7 @@
 016a 6fe1480a fetch 2 ,mem_usb_get_report_code_data 
 016b 67e14864 store 2 ,mem_dongle_usb_ep2_data + 15 
 016c 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
-016d 20200394 branch p_dongle_usb_tx_enable_ep2 
+016d 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_dpi:
 016e 70489c01 jam 0x01 ,mem_usb_dpi_info_data + 6 
@@ -455,7 +455,7 @@
 0174 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
 0175 67e0c89b store 1 ,mem_usb_dpi_info_data + 5 
 0176 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
-0177 20200394 branch p_dongle_usb_tx_enable_ep2 
+0177 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_sn:
 0178 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
@@ -466,7 +466,7 @@
 017d 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
 017e 67e3485a store 6 ,mem_dongle_usb_ep2_data + 5 
 017f 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
-0180 20200394 branch p_dongle_usb_tx_enable_ep2 
+0180 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_battery:
 0181 7048dd01 jam 0x01 ,mem_usb_battery_info_data + 6 
@@ -480,7 +480,7 @@
 0187 6fe0c807 fetch 1 ,mem_usb_get_report_battery_data 
 0188 67e0c8dc store 1 ,mem_usb_battery_info_data + 5 
 0189 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
-018a 20200394 branch p_dongle_usb_tx_enable_ep2 
+018a 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_ep2_app_data:
 018b 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
@@ -489,7 +489,7 @@
 018e 70485808 jam 0x08 ,mem_dongle_usb_ep2_data + 3 
 018f 70485900 jam 0x00 ,mem_dongle_usb_ep2_data + 4 
 0190 70090c29 jam usb_ep2_app ,mem_usb_ep2_data 
-0191 20200394 branch p_dongle_usb_tx_enable_ep2 
+0191 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_ep2_key_data:
 0192 70491840 jam 0x40 ,mem_usb_key_info_data 
@@ -498,7 +498,7 @@
 0195 70491b04 jam 0x04 ,mem_usb_key_info_data + 3 
 0196 70491c01 jam 0x01 ,mem_usb_key_info_data + 4 
 0197 70090c30 jam usb_ep2_key ,mem_usb_ep2_data 
-0198 20200394 branch p_dongle_usb_tx_enable_ep2 
+0198 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_connect_state:
 0199 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
@@ -514,7 +514,7 @@
 01a1 70481801 jam 0x01 ,mem_usb_rf_state_data + 4 
 01a2 70481901 jam 0x01 ,mem_usb_rf_state_data + 5 
 01a3 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-01a4 20200394 branch p_dongle_usb_tx_enable_ep2 
+01a4 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_device_disconnect:
 01a5 70481440 jam 0x40 ,mem_usb_rf_state_data 
@@ -524,18 +524,18 @@
 01a9 70481801 jam 0x01 ,mem_usb_rf_state_data + 4 
 01aa 70481900 jam 0x00 ,mem_usb_rf_state_data + 5 
 01ab 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-01ac 20200394 branch p_dongle_usb_tx_enable_ep2 
+01ac 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_set_ms_b4_fuction:
 01ad 6fe0887a fetch 1 ,mem_usb0_set_report_data + 5 
-01ae 67e0c9bf store 1 ,mem_ms_b4_function_flag 
-01af 7049c50a jam 10 ,mem_usb_delay_store_b4_flag_count 
+01ae 67e0c9c0 store 1 ,mem_ms_b4_function_flag 
+01af 7049ca0a jam 10 ,mem_usb_delay_store_b4_flag_count 
 01b0 20600000 rtn 
 
 p_dongle_usb_hci_cmd_set_ms_b5_fuction:
 01b1 6fe0887a fetch 1 ,mem_usb0_set_report_data + 5 
-01b2 67e0c9c2 store 1 ,mem_ms_b5_function_flag 
-01b3 7049c60a jam 10 ,mem_usb_delay_store_b5_flag_count 
+01b2 67e0c9c5 store 1 ,mem_ms_b5_function_flag 
+01b3 7049cb0a jam 10 ,mem_usb_delay_store_b5_flag_count 
 01b4 20600000 rtn 
 
 p_usb_rx:
@@ -728,10 +728,10 @@
 024b c0817c06 bne usb_connected ,usb_tx_fifo_release 
 024c 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
 024d 243a7c06 nbranch usb_tx_fifo_release ,blank 
-024e 204003a6 call p_usb_tx_data_ep1 
-024f 6fe0c97c fetch 1 ,mem_usb_website_step 
+024e 204003bf call p_usb_tx_data_ep1 
+024f 6fe0c97d fetch 1 ,mem_usb_website_step 
 0250 245a0252 ncall p_usb_ms_data_clear_key_value ,blank 
-0251 20200433 branch p_usb_tx_data_ep2 
+0251 2020044c branch p_usb_tx_data_ep2 
 
 p_usb_ms_data_clear_key_value:
 0252 70091400 jam 0 ,mem_usb_mouse_data + 1 
@@ -770,7 +770,7 @@
 026b d8a00923 arg mem_usb_kb_data ,contw 
 026c 20407c9a call memset0_8 
 026d 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-026e 2020039d branch p_dongle_usb_tx_enable_ep1 
+026e 202003b6 branch p_dongle_usb_tx_enable_ep1 
 
 p_dongle_g24_kb:
 026f 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
@@ -800,7 +800,7 @@
 
 p_dongle_usb_tx_normal_data_enable:
 0285 70090b10 jam usb_ep1_kb ,mem_usb_ep1_data 
-0286 2020039d branch p_dongle_usb_tx_enable_ep1 
+0286 202003b6 branch p_dongle_usb_tx_enable_ep1 
 
 p_dongle_g24_kb_type2:
 0287 d8a00943 arg mem_usb_kb_system ,contw 
@@ -820,7 +820,7 @@
 
 p_dongle_usb_tx_system_data_enable:
 0295 70090c22 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-0296 20200394 branch p_dongle_usb_tx_enable_ep2 
+0296 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_kb_type3:
 0297 d8a00933 arg mem_usb_kb_multikey ,contw 
@@ -840,15 +840,15 @@
 
 p_dongle_usb_tx_multikey_data_enable:
 02a5 70090c21 jam usb_ep2_multikey ,mem_usb_ep2_data 
-02a6 20200394 branch p_dongle_usb_tx_enable_ep2 
+02a6 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_mouse:
 02a7 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
 02a8 c282026b bbit1 data_http ,p_dongle_usb_tx_http_data 
-02a9 c281835b bbit1 data_app ,p_dongle_receive_app_data 
-02aa c2828363 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-02ab c283037d bbit1 data_device_info ,p_dongle_receive_device_info_data 
-02ac c283838e bbit1 data_battery ,p_dongle_receive_battery_data 
+02a9 c2818374 bbit1 data_app ,p_dongle_receive_app_data 
+02aa c282837c bbit1 data_dpi ,p_dongle_receive_dpi_data 
+02ab c2830396 bbit1 data_device_info ,p_dongle_receive_device_info_data 
+02ac c28383a7 bbit1 data_battery ,p_dongle_receive_battery_data 
 02ad 202002ae branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
@@ -865,10 +865,10 @@
 02b8 20407cda call memcpy 
 02b9 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
 02ba c282026b bbit1 data_http ,p_dongle_usb_tx_http_data 
-02bb c281835b bbit1 data_app ,p_dongle_receive_app_data 
-02bc c2828363 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-02bd c283037d bbit1 data_device_info ,p_dongle_receive_device_info_data 
-02be c283838e bbit1 data_battery ,p_dongle_receive_battery_data 
+02bb c2818374 bbit1 data_app ,p_dongle_receive_app_data 
+02bc c282837c bbit1 data_dpi ,p_dongle_receive_dpi_data 
+02bd c2830396 bbit1 data_device_info ,p_dongle_receive_device_info_data 
+02be c28383a7 bbit1 data_battery ,p_dongle_receive_battery_data 
 02bf 20600000 rtn 
 
 p_dongle_g24_mouse_data:
@@ -884,1029 +884,1058 @@
 p_usb_tx_mouse_data_check:
 02c8 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
 02c9 67e3c96a store 7 ,mem_dg_mouse_data 
-02ca 6fe0c96a fetch 1 ,mem_dg_mouse_data 
-02cb 6848c971 fetcht 1 ,mem_dg_mouse_key_data_last 
-02cc 67e0c971 store 1 ,mem_dg_mouse_key_data_last 
-02cd 98467c00 isub temp ,null 
-02ce 202282d1 branch p_dongle_receive_mouse_data_check ,zero 
-02cf 204002d3 call p_dongle_mouse_data_tx_enable 
-02d0 202002d6 branch p_dongle_mouse_key_data_tx_enable 
+02ca 204002de call p_dongle_receive_b4_b5_flag_check 
+02cb 204002d4 call p_dongle_ms_data_tx_check 
+02cc 6fe0c96a fetch 1 ,mem_dg_mouse_data 
+02cd 6848c971 fetcht 1 ,mem_dg_mouse_key_data_last 
+02ce 67e0c971 store 1 ,mem_dg_mouse_key_data_last 
+02cf 98467c00 isub temp ,null 
+02d0 20628000 rtn zero 
+
+p_dongle_mouse_key_data_tx_enable:
+02d1 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+02d2 67e0c91d store 1 ,mem_usb_key_info_data + 5 
+02d3 20200192 branch p_dongle_usb_tx_ep2_key_data 
+
+p_dongle_ms_data_tx_check:
+02d4 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+02d5 6848c972 fetcht 1 ,mem_usb_mouse_data_last 
+02d6 67e0c972 store 1 ,mem_usb_mouse_data_last 
+02d7 98467c00 isub temp ,null 
+02d8 202282da branch p_dongle_receive_mouse_data_check ,zero 
+02d9 202002dc branch p_dongle_mouse_data_tx_enable 
 
 p_dongle_receive_mouse_data_check:
-02d1 6fe3496b fetch 6 ,mem_dg_mouse_data + 1 
-02d2 207a0000 rtn blank 
+02da 6fe3496b fetch 6 ,mem_dg_mouse_data + 1 
+02db 207a0000 rtn blank 
 
 p_dongle_mouse_data_tx_enable:
-02d3 204002d9 call p_dongle_receive_b4_b5_flag_check 
-02d4 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-02d5 20200394 branch p_dongle_usb_tx_enable_ep2 
-
-p_dongle_mouse_key_data_tx_enable:
-02d6 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
-02d7 67e0c91d store 1 ,mem_usb_key_info_data + 5 
-02d8 20200192 branch p_dongle_usb_tx_ep2_key_data 
+02dc 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+02dd 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_receive_b4_b5_flag_check:
-02d9 6fe0c9bf fetch 1 ,mem_ms_b4_function_flag 
-02da 1fe67c01 sub pdata ,b4_default ,null 
-02db 244282e0 ncall p_dongle_b4_fuction_change_set ,zero 
-02dc 6fe0c9c2 fetch 1 ,mem_ms_b5_function_flag 
-02dd 1fe67c02 sub pdata ,b5_default ,null 
-02de 24428350 ncall p_dongle_b5_fuction_change_set ,zero 
-02df 20600000 rtn 
-
-p_dongle_b4_fuction_change_set:
-02e0 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
-02e1 793ffe04 set0 b4_bit ,pdata 
-02e2 20400311 call p_dongle_usb_mouse_dat_store 
-02e3 6fe0c96a fetch 1 ,mem_dg_mouse_data 
-02e4 2feffe04 isolate1 b4_bit ,pdata 
-02e5 204082fd call p_donge_ms_b4_key_press_set ,true 
-02e6 244082e8 ncall p_donge_ms_fuction_key_release_set ,true 
-02e7 20600000 rtn 
+02de 6fe0c9c0 fetch 1 ,mem_ms_b4_function_flag 
+02df 1fe67c01 sub pdata ,b4_default ,null 
+02e0 244282e5 ncall p_dongle_b4_fuction_flag_change ,zero 
+02e1 6fe0c9c5 fetch 1 ,mem_ms_b5_function_flag 
+02e2 1fe67c02 sub pdata ,b5_default ,null 
+02e3 244282f4 ncall p_dongle_b5_fuction_flag_change ,zero 
+02e4 20600000 rtn 
+
+p_dongle_b4_fuction_flag_change:
+02e5 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+02e6 793ffe04 set0 b4_bit ,pdata 
+02e7 67e08914 store 1 ,mem_usb_mouse_data + 1 
+02e8 6fe0c96a fetch 1 ,mem_dg_mouse_data 
+02e9 1fe17e10 and pdata ,0x10 ,pdata 
+02ea 67e0c9c3 store 1 ,mem_ms_b4_key_val 
+02eb 6fe0c9c3 fetch 1 ,mem_ms_b4_key_val 
+02ec 6848c9c4 fetcht 1 ,mem_ms_b4_key_val_last 
+02ed 67e0c9c4 store 1 ,mem_ms_b4_key_val_last 
+02ee 98467c00 isub temp ,null 
+02ef 20628000 rtn zero 
+02f0 6fe0c9c3 fetch 1 ,mem_ms_b4_key_val 
+02f1 2feffe04 isolate1 b4_bit ,pdata 
+02f2 20208322 branch p_donge_ms_b4_key_press_set ,true 
+02f3 20200303 branch p_donge_ms_fuction_key_release_set 
+
+p_dongle_b5_fuction_flag_change:
+02f4 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+02f5 793ffe03 set0 b5_bit ,pdata 
+02f6 67e08914 store 1 ,mem_usb_mouse_data + 1 
+02f7 6fe0c96a fetch 1 ,mem_dg_mouse_data 
+02f8 1fe17e08 and pdata ,0x08 ,pdata 
+02f9 67e0c9c8 store 1 ,mem_ms_b5_key_val 
+02fa 6fe0c9c8 fetch 1 ,mem_ms_b5_key_val 
+02fb 6848c9c9 fetcht 1 ,mem_ms_b5_key_val_last 
+02fc 67e0c9c9 store 1 ,mem_ms_b5_key_val_last 
+02fd 98467c00 isub temp ,null 
+02fe 20628000 rtn zero 
+02ff 6fe0c9c8 fetch 1 ,mem_ms_b5_key_val 
+0300 2feffe03 isolate1 b5_bit ,pdata 
+0301 2020831f branch p_donge_ms_b5_key_press_set ,true 
+0302 20200303 branch p_donge_ms_fuction_key_release_set 
 
 p_donge_ms_fuction_key_release_set:
-02e8 6fe0c9fa fetch 1 ,mem_usb_normal_key_flag 
-02e9 245a02ef ncall p_dongle_ms_normal_key_release ,blank 
-02ea 6fe0c9fb fetch 1 ,mem_usb_multikey_key_flag 
-02eb 245a02f3 ncall p_dongle_ms_multikey_key_release ,blank 
-02ec 6fe0c9fc fetch 1 ,mem_usb_system_key_flag 
-02ed 245a02f8 ncall p_dongle_ms_system_key_release ,blank 
-02ee 20600000 rtn 
+0303 6fe0ca02 fetch 1 ,mem_usb_normal_key_flag 
+0304 245a030c ncall p_dongle_ms_normal_key_release ,blank 
+0305 6fe0ca03 fetch 1 ,mem_usb_multikey_key_flag 
+0306 245a0310 ncall p_dongle_ms_multikey_key_release ,blank 
+0307 6fe0ca04 fetch 1 ,mem_usb_system_key_flag 
+0308 245a0315 ncall p_dongle_ms_system_key_release ,blank 
+0309 6fe0ca05 fetch 1 ,mem_usb_task_windows_key_flag 
+030a 245a031a ncall p_dongle_ms_task_windows_key_release ,blank 
+030b 20600000 rtn 
 
 p_dongle_ms_normal_key_release:
-02ef 7049fa00 jam 0 ,mem_usb_normal_key_flag 
-02f0 d8a00923 arg mem_usb_kb_data ,contw 
-02f1 20407c99 call memset0_16 
-02f2 2020031a branch p_dongle_ms_tx_normal_data + 1 
+030c 704a0200 jam 0 ,mem_usb_normal_key_flag 
+030d d8a00923 arg mem_usb_kb_data ,contw 
+030e 20407c99 call memset0_16 
+030f 2020033f branch p_dongle_ms_tx_normal_data + 1 
 
 p_dongle_ms_multikey_key_release:
-02f3 7049fb00 jam 0 ,mem_usb_multikey_key_flag 
-02f4 d8a00933 arg mem_usb_kb_multikey ,contw 
-02f5 20407c99 call memset0_16 
-02f6 6fe1c9f7 fetch 3 ,mem_usb_multkey_release 
-02f7 20200328 branch p_dongle_ms_tx_multikey_data + 1 
+0310 704a0300 jam 0 ,mem_usb_multikey_key_flag 
+0311 d8a00933 arg mem_usb_kb_multikey ,contw 
+0312 20407c99 call memset0_16 
+0313 6fe1c9fc fetch 3 ,mem_usb_multkey_release 
+0314 20200352 branch p_dongle_ms_tx_multikey_data + 1 
 
 p_dongle_ms_system_key_release:
-02f8 7049fc00 jam 0 ,mem_usb_system_key_flag 
-02f9 d8a00943 arg mem_usb_kb_system ,contw 
-02fa 20407c99 call memset0_16 
-02fb 6fe1c9f4 fetch 3 ,mem_usb_system_ctrl_release 
-02fc 2020034c branch p_dongle_ms_tx_system_data + 1 
+0315 704a0400 jam 0 ,mem_usb_system_key_flag 
+0316 d8a00943 arg mem_usb_kb_system ,contw 
+0317 20407c99 call memset0_16 
+0318 6fe1c9f9 fetch 3 ,mem_usb_system_ctrl_release 
+0319 20200371 branch p_dongle_ms_tx_system_data + 1 
+
+p_dongle_ms_task_windows_key_release:
+031a 704a0500 jam 0 ,mem_usb_task_windows_key_flag 
+031b d8a00943 arg mem_usb_kb_system ,contw 
+031c 20407c99 call memset0_16 
+031d 6fe1c9ff fetch 3 ,mem_usb_win_task_windows_release 
+031e 2020033f branch p_dongle_ms_tx_normal_data + 1 
+
+p_donge_ms_b5_key_press_set:
+031f 6fe0c9c5 fetch 1 ,mem_ms_b5_function_flag 
+0320 67e0c9cc store 1 ,mem_ms_key_function_flag_temp 
+0321 20200324 branch p_dongle_ms_key_press_val_set 
 
 p_donge_ms_b4_key_press_set:
-02fd 6fe0c9bf fetch 1 ,mem_ms_b4_function_flag 
-02fe 67e0c9c7 store 1 ,mem_ms_key_function_flag_temp 
+0322 6fe0c9c0 fetch 1 ,mem_ms_b4_function_flag 
+0323 67e0c9cc store 1 ,mem_ms_key_function_flag_temp 
 
 p_dongle_ms_key_press_val_set:
-02ff 6fe0c9c7 fetch 1 ,mem_ms_key_function_flag_temp 
-0300 c000830f beq forword ,p_dongle_ms_forword_val_set 
-0301 c0010313 beq backword ,p_dongle_ms_back_val_set 
-0302 c0018316 beq alt_a ,p_dongle_ms_alt_a_val_set 
-0303 c0020320 beq boss ,p_dongle_ms_boss_val_set 
-0304 c0028324 beq vol_add ,p_dongle_ms_vol_add_val_set 
-0305 c003032c beq vol_down ,p_dongle_ms_vol_down_val_set 
-0306 c003831c beq pc_sleep ,p_dongle_ms_pc_sleep_val_set 
-0307 c0040330 beq light_add ,p_dongle_ms_light_add_val_set 
-0308 c0048334 beq light_down ,p_dongle_ms_light_down_val_set 
-0309 c0050348 beq powerdown ,p_dongle_ms_powerdown_val_set 
-030a c0058338 beq play ,p_dongle_ms_play_set 
-030b c006033c beq paly_forword ,p_dongle_ms_play_forword_set 
-030c c0068340 beq play_next ,p_dongle_ms_play_next_set 
-030d c0070344 beq task_windows ,p_dongle_ms_task_windows_set 
-030e 20600000 rtn 
+0324 6fe0c9cc fetch 1 ,mem_ms_key_function_flag_temp 
+0325 c0008334 beq forword ,p_dongle_ms_forword_val_set 
+0326 c0010338 beq backword ,p_dongle_ms_back_val_set 
+0327 c001833b beq alt_a ,p_dongle_ms_alt_a_val_set 
+0328 c0020345 beq boss ,p_dongle_ms_boss_val_set 
+0329 c002834e beq vol_add ,p_dongle_ms_vol_add_val_set 
+032a c0030355 beq vol_down ,p_dongle_ms_vol_down_val_set 
+032b c0038341 beq pc_sleep ,p_dongle_ms_pc_sleep_val_set 
+032c c0040359 beq light_add ,p_dongle_ms_light_add_val_set 
+032d c004835d beq light_down ,p_dongle_ms_light_down_val_set 
+032e c005036d beq powerdown ,p_dongle_ms_powerdown_val_set 
+032f c0058361 beq play ,p_dongle_ms_play_set 
+0330 c0060365 beq paly_forword ,p_dongle_ms_play_forword_set 
+0331 c0068369 beq play_next ,p_dongle_ms_play_next_set 
+0332 c0070349 beq task_windows ,p_dongle_ms_task_windows_set 
+0333 20600000 rtn 
 
 p_dongle_ms_forword_val_set:
-030f 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
-0310 79207e03 set1 b5_bit ,pdata 
+0334 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+0335 79207e03 set1 b5_bit ,pdata 
 
 p_dongle_usb_mouse_dat_store:
-0311 67e08914 store 1 ,mem_usb_mouse_data + 1 
-0312 20600000 rtn 
+0336 67e08914 store 1 ,mem_usb_mouse_data + 1 
+0337 20600000 rtn 
 
 p_dongle_ms_back_val_set:
-0313 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
-0314 79207e04 set1 b4_bit ,pdata 
-0315 20200311 branch p_dongle_usb_mouse_dat_store 
+0338 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+0339 79207e04 set1 b4_bit ,pdata 
+033a 20200336 branch p_dongle_usb_mouse_dat_store 
 
 p_dongle_ms_alt_a_val_set:
-0316 d8a00923 arg mem_usb_kb_data ,contw 
-0317 20407c99 call memset0_16 
-0318 6fe1c9d0 fetch 3 ,mem_usb_win_alt_a 
+033b d8a00923 arg mem_usb_kb_data ,contw 
+033c 20407c99 call memset0_16 
+033d 6fe1c9d5 fetch 3 ,mem_usb_win_alt_a 
 
 p_dongle_ms_tx_normal_data:
-0319 7049fa01 jam 1 ,mem_usb_normal_key_flag 
-031a 67e18923 store 3 ,mem_usb_kb_data 
-031b 20200285 branch p_dongle_usb_tx_normal_data_enable 
+033e 704a0201 jam 1 ,mem_usb_normal_key_flag 
+033f 67e18923 store 3 ,mem_usb_kb_data 
+0340 20200285 branch p_dongle_usb_tx_normal_data_enable 
 
 p_dongle_ms_pc_sleep_val_set:
-031c d8a00923 arg mem_usb_kb_data ,contw 
-031d 20407c99 call memset0_16 
-031e 6fe1c9dc fetch 3 ,mem_usb_win_sleep 
-031f 20200319 branch p_dongle_ms_tx_normal_data 
+0341 d8a00923 arg mem_usb_kb_data ,contw 
+0342 20407c99 call memset0_16 
+0343 6fe1c9e1 fetch 3 ,mem_usb_win_sleep 
+0344 2020033e branch p_dongle_ms_tx_normal_data 
 
 p_dongle_ms_boss_val_set:
-0320 d8a00923 arg mem_usb_kb_data ,contw 
-0321 20407c99 call memset0_16 
-0322 6fe1c9d3 fetch 3 ,mem_usb_win_win_d 
-0323 20200319 branch p_dongle_ms_tx_normal_data 
+0345 d8a00923 arg mem_usb_kb_data ,contw 
+0346 20407c99 call memset0_16 
+0347 6fe1c9d8 fetch 3 ,mem_usb_win_win_d 
+0348 2020033e branch p_dongle_ms_tx_normal_data 
+
+p_dongle_ms_task_windows_set:
+0349 d8a00933 arg mem_usb_kb_multikey ,contw 
+034a 20407c99 call memset0_16 
+034b 704a0501 jam 1 ,mem_usb_task_windows_key_flag 
+034c 6fe1c9f6 fetch 3 ,mem_usb_win_task_windows 
+034d 2020033f branch p_dongle_ms_tx_normal_data + 1 
 
 p_dongle_ms_vol_add_val_set:
-0324 d8a00933 arg mem_usb_kb_multikey ,contw 
-0325 20407c99 call memset0_16 
-0326 6fe1c9d6 fetch 3 ,mem_usb_win_vol_add 
+034e d8a00933 arg mem_usb_kb_multikey ,contw 
+034f 20407c99 call memset0_16 
+0350 6fe1c9db fetch 3 ,mem_usb_win_vol_add 
 
 p_dongle_ms_tx_multikey_data:
-0327 7049fb01 jam 1 ,mem_usb_multikey_key_flag 
-0328 67e18934 store 3 ,mem_usb_kb_multikey + 1 
-0329 70093303 jam kb_multikey_report_id ,mem_usb_kb_multikey 
-032a 70090c21 jam usb_ep2_multikey ,mem_usb_ep2_data 
-032b 20200394 branch p_dongle_usb_tx_enable_ep2 
+0351 704a0301 jam 1 ,mem_usb_multikey_key_flag 
+0352 67e18933 store 3 ,mem_usb_kb_multikey 
+0353 70090c21 jam usb_ep2_multikey ,mem_usb_ep2_data 
+0354 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_ms_vol_down_val_set:
-032c d8a00933 arg mem_usb_kb_multikey ,contw 
-032d 20407c99 call memset0_16 
-032e 6fe1c9d9 fetch 3 ,mem_usb_win_vol_decrease 
-032f 20200327 branch p_dongle_ms_tx_multikey_data 
+0355 d8a00933 arg mem_usb_kb_multikey ,contw 
+0356 20407c99 call memset0_16 
+0357 6fe1c9de fetch 3 ,mem_usb_win_vol_decrease 
+0358 20200351 branch p_dongle_ms_tx_multikey_data 
 
 p_dongle_ms_light_add_val_set:
-0330 d8a00933 arg mem_usb_kb_multikey ,contw 
-0331 20407c99 call memset0_16 
-0332 6fe1c9df fetch 3 ,mem_usb_win_light_add 
-0333 20200327 branch p_dongle_ms_tx_multikey_data 
+0359 d8a00933 arg mem_usb_kb_multikey ,contw 
+035a 20407c99 call memset0_16 
+035b 6fe1c9e4 fetch 3 ,mem_usb_win_light_add 
+035c 20200351 branch p_dongle_ms_tx_multikey_data 
 
 p_dongle_ms_light_down_val_set:
-0334 d8a00933 arg mem_usb_kb_multikey ,contw 
-0335 20407c99 call memset0_16 
-0336 6fe1c9e2 fetch 3 ,mem_usb_win_light_decrease 
-0337 20200327 branch p_dongle_ms_tx_multikey_data 
+035d d8a00933 arg mem_usb_kb_multikey ,contw 
+035e 20407c99 call memset0_16 
+035f 6fe1c9e7 fetch 3 ,mem_usb_win_light_decrease 
+0360 20200351 branch p_dongle_ms_tx_multikey_data 
 
 p_dongle_ms_play_set:
-0338 d8a00933 arg mem_usb_kb_multikey ,contw 
-0339 20407c99 call memset0_16 
-033a 6fe1c9e8 fetch 3 ,mem_usb_win_play 
-033b 20200327 branch p_dongle_ms_tx_multikey_data 
+0361 d8a00933 arg mem_usb_kb_multikey ,contw 
+0362 20407c99 call memset0_16 
+0363 6fe1c9ed fetch 3 ,mem_usb_win_play 
+0364 20200351 branch p_dongle_ms_tx_multikey_data 
 
 p_dongle_ms_play_forword_set:
-033c d8a00933 arg mem_usb_kb_multikey ,contw 
-033d 20407c99 call memset0_16 
-033e 6fe1c9eb fetch 3 ,mem_usb_win_forword_play 
-033f 20200327 branch p_dongle_ms_tx_multikey_data 
+0365 d8a00933 arg mem_usb_kb_multikey ,contw 
+0366 20407c99 call memset0_16 
+0367 6fe1c9f0 fetch 3 ,mem_usb_win_forword_play 
+0368 20200351 branch p_dongle_ms_tx_multikey_data 
 
 p_dongle_ms_play_next_set:
-0340 d8a00933 arg mem_usb_kb_multikey ,contw 
-0341 20407c99 call memset0_16 
-0342 6fe1c9ee fetch 3 ,mem_usb_win_next_play 
-0343 20200327 branch p_dongle_ms_tx_multikey_data 
-
-p_dongle_ms_task_windows_set:
-0344 d8a00933 arg mem_usb_kb_multikey ,contw 
-0345 20407c99 call memset0_16 
-0346 6fe1c9f1 fetch 3 ,mem_usb_win_task_windows 
-0347 20200327 branch p_dongle_ms_tx_multikey_data 
+0369 d8a00933 arg mem_usb_kb_multikey ,contw 
+036a 20407c99 call memset0_16 
+036b 6fe1c9f3 fetch 3 ,mem_usb_win_next_play 
+036c 20200351 branch p_dongle_ms_tx_multikey_data 
 
 p_dongle_ms_powerdown_val_set:
-0348 d8a00943 arg mem_usb_kb_system ,contw 
-0349 20407c99 call memset0_16 
-034a 6fe1c9e5 fetch 3 ,mem_usb_win_powerdown 
+036d d8a00943 arg mem_usb_kb_system ,contw 
+036e 20407c99 call memset0_16 
+036f 6fe1c9ea fetch 3 ,mem_usb_win_powerdown 
 
 p_dongle_ms_tx_system_data:
-034b 7049fc01 jam 1 ,mem_usb_system_key_flag 
-034c 67e18944 store 3 ,mem_usb_kb_system + 1 
-034d 70094302 jam kb_system_conctrl_report_id ,mem_usb_kb_system 
-034e 70090c22 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-034f 20200394 branch p_dongle_usb_tx_enable_ep2 
-
-p_dongle_b5_fuction_change_set:
-0350 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
-0351 793ffe03 set0 b5_bit ,pdata 
-0352 20400311 call p_dongle_usb_mouse_dat_store 
-0353 6fe0c96a fetch 1 ,mem_dg_mouse_data 
-0354 2feffe03 isolate1 b5_bit ,pdata 
-0355 20408358 call p_donge_ms_b5_key_press_set ,true 
-0356 244082e8 ncall p_donge_ms_fuction_key_release_set ,true 
-0357 20600000 rtn 
-
-p_donge_ms_b5_key_press_set:
-0358 6fe0c9c2 fetch 1 ,mem_ms_b5_function_flag 
-0359 67e0c9c7 store 1 ,mem_ms_key_function_flag_temp 
-035a 202002ff branch p_dongle_ms_key_press_val_set 
+0370 704a0401 jam 1 ,mem_usb_system_key_flag 
+0371 67e18943 store 3 ,mem_usb_kb_system 
+0372 70090c22 jam usb_ep2_systemkey ,mem_usb_ep2_data 
+0373 202003ad branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_receive_app_data:
-035b 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-035c 6848c80e fetcht 1 ,mem_dongle_app_data 
-035d 98467c00 isub temp ,null 
-035e 20628000 rtn zero 
-035f 67e0c80e store 1 ,mem_dongle_app_data 
-0360 6fe0c80e fetch 1 ,mem_dongle_app_data 
-0361 c1ff8000 rtnne long_press 
-0362 2020018b branch p_dongle_usb_tx_ep2_app_data 
+0374 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0375 6848c80e fetcht 1 ,mem_dongle_app_data 
+0376 98467c00 isub temp ,null 
+0377 20628000 rtn zero 
+0378 67e0c80e store 1 ,mem_dongle_app_data 
+0379 6fe0c80e fetch 1 ,mem_dongle_app_data 
+037a c1ff8000 rtnne long_press 
+037b 2020018b branch p_dongle_usb_tx_ep2_app_data 
 
 p_dongle_receive_dpi_data:
-0363 6fe145eb fetch 2 ,mem_24g_rxdata_temp + 3 
-0364 67e14805 store 2 ,mem_usb_get_report_dpi_data 
+037c 6fe145eb fetch 2 ,mem_24g_rxdata_temp + 3 
+037d 67e14805 store 2 ,mem_usb_get_report_dpi_data 
 
 p_dongle_receive_dpi_data_compare:
-0365 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-0366 6848c812 fetcht 1 ,mem_dongle_receive_dpi_data 
-0367 98467c00 isub temp ,null 
-0368 2442836e ncall p_dongle_usb_ep2_tx_dpi_data_enable ,zero 
-0369 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
-036a 6848c813 fetcht 1 ,mem_dongle_receive_dpi_data + 1 
-036b 98467c00 isub temp ,null 
-036c 24428371 ncall p_dongle_usb_ep2_tx_dpi_state_data_enable ,zero 
-036d 20600000 rtn 
+037e 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+037f 6848c812 fetcht 1 ,mem_dongle_receive_dpi_data 
+0380 98467c00 isub temp ,null 
+0381 24428387 ncall p_dongle_usb_ep2_tx_dpi_data_enable ,zero 
+0382 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
+0383 6848c813 fetcht 1 ,mem_dongle_receive_dpi_data + 1 
+0384 98467c00 isub temp ,null 
+0385 2442838a ncall p_dongle_usb_ep2_tx_dpi_state_data_enable ,zero 
+0386 20600000 rtn 
 
 p_dongle_usb_ep2_tx_dpi_data_enable:
-036e 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-036f 67e0c812 store 1 ,mem_dongle_receive_dpi_data 
-0370 2020016f branch p_dongle_usb_tx_ep2_dpi_data 
+0387 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+0388 67e0c812 store 1 ,mem_dongle_receive_dpi_data 
+0389 2020016f branch p_dongle_usb_tx_ep2_dpi_data 
 
 p_dongle_usb_ep2_tx_dpi_state_data_enable:
-0371 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
-0372 67e0c813 store 1 ,mem_dongle_receive_dpi_data + 1 
-0373 c02a8376 beq release ,p_dongle_dpi_key_release 
-0374 c0550379 beq press ,p_dongle_dpi_key_press 
-0375 20600000 rtn 
+038a 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
+038b 67e0c813 store 1 ,mem_dongle_receive_dpi_data + 1 
+038c c02a838f beq release ,p_dongle_dpi_key_release 
+038d c0550392 beq press ,p_dongle_dpi_key_press 
+038e 20600000 rtn 
 
 p_dongle_dpi_key_release:
-0376 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
-0377 793ffe05 set0 5 ,pdata 
-0378 2020037b branch p_dongle_dpi_key_press + 2 
+038f 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
+0390 793ffe05 set0 5 ,pdata 
+0391 20200394 branch p_dongle_dpi_key_press + 2 
 
 p_dongle_dpi_key_press:
-0379 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
-037a 79207e05 set1 5 ,pdata 
-037b 67e0c91d store 1 ,mem_usb_key_info_data + 5 
-037c 20200192 branch p_dongle_usb_tx_ep2_key_data 
+0392 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
+0393 79207e05 set1 5 ,pdata 
+0394 67e0c91d store 1 ,mem_usb_key_info_data + 5 
+0395 20200192 branch p_dongle_usb_tx_ep2_key_data 
 
 p_dongle_receive_device_info_data:
-037d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-037e 1f20f3ff increase -1 ,loopcnt 
-037f da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
-0380 da4047ff arg mem_usb_get_report_sn_data ,regb 
-0381 20407d64 call compare_loop 
-0382 20628000 rtn zero 
-0383 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
-0384 67e347ff store 6 ,mem_usb_get_report_sn_data 
-0385 6fe145f4 fetch 2 ,mem_24g_rxdata_temp + 12 
-0386 67e14808 store 2 ,mem_usb_get_report_mouse_version_data 
-0387 6fe145f1 fetch 2 ,mem_24g_rxdata_temp + 9 
-0388 67e14805 store 2 ,mem_usb_get_report_dpi_data 
-0389 6fe145f6 fetch 2 ,mem_24g_rxdata_temp + 14 
-038a 67e1480a store 2 ,mem_usb_get_report_code_data 
-038b 20400365 call p_dongle_receive_dpi_data_compare 
-038c 6fe0c5f3 fetch 1 ,mem_24g_rxdata_temp + 11 
-038d 2020038f branch p_dongle_receive_battery_data_compare 
+0396 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0397 1f20f3ff increase -1 ,loopcnt 
+0398 da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
+0399 da4047ff arg mem_usb_get_report_sn_data ,regb 
+039a 20407d64 call compare_loop 
+039b 20628000 rtn zero 
+039c 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
+039d 67e347ff store 6 ,mem_usb_get_report_sn_data 
+039e 6fe145f4 fetch 2 ,mem_24g_rxdata_temp + 12 
+039f 67e14808 store 2 ,mem_usb_get_report_mouse_version_data 
+03a0 6fe145f1 fetch 2 ,mem_24g_rxdata_temp + 9 
+03a1 67e14805 store 2 ,mem_usb_get_report_dpi_data 
+03a2 6fe145f6 fetch 2 ,mem_24g_rxdata_temp + 14 
+03a3 67e1480a store 2 ,mem_usb_get_report_code_data 
+03a4 2040037e call p_dongle_receive_dpi_data_compare 
+03a5 6fe0c5f3 fetch 1 ,mem_24g_rxdata_temp + 11 
+03a6 202003a8 branch p_dongle_receive_battery_data_compare 
 
 p_dongle_receive_battery_data:
-038e 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+03a7 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
 
 p_dongle_receive_battery_data_compare:
-038f 6848c807 fetcht 1 ,mem_usb_get_report_battery_data 
-0390 98467c00 isub temp ,null 
-0391 20628000 rtn zero 
-0392 67e0c807 store 1 ,mem_usb_get_report_battery_data 
-0393 20200182 branch p_dongle_usb_tx_ep2_battery_data 
+03a8 6848c807 fetcht 1 ,mem_usb_get_report_battery_data 
+03a9 98467c00 isub temp ,null 
+03aa 20628000 rtn zero 
+03ab 67e0c807 store 1 ,mem_usb_get_report_battery_data 
+03ac 20200182 branch p_dongle_usb_tx_ep2_battery_data 
 
 p_dongle_usb_tx_enable_ep2:
-0394 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0395 207a0000 rtn blank 
-0396 da204959 arg mem_usb_ep2_fifo ,rega 
-0397 20407da5 call fifo_is_full 
-0398 247a0000 nrtn blank 
-0399 6fe0890c fetch 1 ,mem_usb_ep2_data 
-039a 67e0866f store 1 ,mem_fifo_temp 
-039b da204959 arg mem_usb_ep2_fifo ,rega 
-039c 20207d8b branch fifo_in 
+03ad 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+03ae 207a0000 rtn blank 
+03af da204959 arg mem_usb_ep2_fifo ,rega 
+03b0 20407da5 call fifo_is_full 
+03b1 247a0000 nrtn blank 
+03b2 6fe0890c fetch 1 ,mem_usb_ep2_data 
+03b3 67e0866f store 1 ,mem_fifo_temp 
+03b4 da204959 arg mem_usb_ep2_fifo ,rega 
+03b5 20207d8b branch fifo_in 
 
 p_dongle_usb_tx_enable_ep1:
-039d 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-039e 207a0000 rtn blank 
-039f da204961 arg mem_usb_ep1_fifo ,rega 
-03a0 20407da5 call fifo_is_full 
-03a1 247a0000 nrtn blank 
-03a2 6fe0890b fetch 1 ,mem_usb_ep1_data 
-03a3 67e0866f store 1 ,mem_fifo_temp 
-03a4 da204961 arg mem_usb_ep1_fifo ,rega 
-03a5 20207d8b branch fifo_in 
+03b6 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+03b7 207a0000 rtn blank 
+03b8 da204961 arg mem_usb_ep1_fifo ,rega 
+03b9 20407da5 call fifo_is_full 
+03ba 247a0000 nrtn blank 
+03bb 6fe0890b fetch 1 ,mem_usb_ep1_data 
+03bc 67e0866f store 1 ,mem_fifo_temp 
+03bd da204961 arg mem_usb_ep1_fifo ,rega 
+03be 20207d8b branch fifo_in 
 
 p_usb_tx_data_ep1:
-03a6 da204961 arg mem_usb_ep1_fifo ,rega 
-03a7 20407da3 call fifo_is_empty 
-03a8 207a0000 rtn blank 
-03a9 6ff08c25 fetch 1 ,core_usb_txbusy 
-03aa 1fe17e0f and_into 0x0f ,pdata 
-03ab 247a0000 nrtn blank 
-03ac 6fe0890d fetch 1 ,mem_usb_tx_enable 
-03ad c4008000 rtnbit0 1 
-03ae 6fe0890d fetch 1 ,mem_usb_tx_enable 
-03af 793ffe01 set0 1 ,pdata 
-03b0 67e0890d store 1 ,mem_usb_tx_enable 
-03b1 da204961 arg mem_usb_ep1_fifo ,rega 
-03b2 20407d97 call fifo_out 
-03b3 207a0000 rtn blank 
-03b4 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-03b5 c00883b7 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-03b6 2020235a branch assert 
+03bf da204961 arg mem_usb_ep1_fifo ,rega 
+03c0 20407da3 call fifo_is_empty 
+03c1 207a0000 rtn blank 
+03c2 6ff08c25 fetch 1 ,core_usb_txbusy 
+03c3 1fe17e0f and_into 0x0f ,pdata 
+03c4 247a0000 nrtn blank 
+03c5 6fe0890d fetch 1 ,mem_usb_tx_enable 
+03c6 c4008000 rtnbit0 1 
+03c7 6fe0890d fetch 1 ,mem_usb_tx_enable 
+03c8 793ffe01 set0 1 ,pdata 
+03c9 67e0890d store 1 ,mem_usb_tx_enable 
+03ca da204961 arg mem_usb_ep1_fifo ,rega 
+03cb 20407d97 call fifo_out 
+03cc 207a0000 rtn blank 
+03cd c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+03ce c00883d0 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+03cf 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-03b7 6fe0c97c fetch 1 ,mem_usb_website_step 
-03b8 c00003c3 beq key_release ,p_usb_webstie_key_release_data 
-03b9 c00083c5 beq website_win ,p_usb_website_winr_data 
-03ba c00103d3 beq website_r_space_release ,p_usb_website_r_space_release_data 
-03bb c00183d7 beq website_win_release ,p_usb_website_win_release_data 
-03bc c00203e7 beq website_wait ,p_usb_website_wait_tx_data 
-03bd c00283ee beq website_data ,p_usb_website_data 
-03be c00303dd beq website_enter_1 ,p_usb_website_enter_data1 
-03bf c00383e1 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
-03c0 c00403e3 beq website_enter_2 ,p_usb_website_enter_data2 
-03c1 c00483e5 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
-03c2 20600000 rtn 
+03d0 6fe0c97d fetch 1 ,mem_usb_website_step 
+03d1 c00003dc beq key_release ,p_usb_webstie_key_release_data 
+03d2 c00083de beq website_win ,p_usb_website_winr_data 
+03d3 c00103ec beq website_r_space_release ,p_usb_website_r_space_release_data 
+03d4 c00183f0 beq website_win_release ,p_usb_website_win_release_data 
+03d5 c0020400 beq website_wait ,p_usb_website_wait_tx_data 
+03d6 c0028407 beq website_data ,p_usb_website_data 
+03d7 c00303f6 beq website_enter_1 ,p_usb_website_enter_data1 
+03d8 c00383fa beq website_enter_release_1 ,p_usb_website_enter_release_data1 
+03d9 c00403fc beq website_enter_2 ,p_usb_website_enter_data2 
+03da c00483fe beq website_enter_release_2 ,p_usb_website_enter_release_data2 
+03db 20600000 rtn 
 
 p_usb_webstie_key_release_data:
-03c3 70497c01 jam website_win ,mem_usb_website_step 
-03c4 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
+03dc 70497d01 jam website_win ,mem_usb_website_step 
+03dd 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
 
 p_usb_website_winr_data:
-03c5 dfe04982 arg mem_usb_website_info + 1 ,pdata 
-03c6 67e1497f store 2 ,mem_usb_website_ptr 
-03c7 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-03c8 c00003cb beq 0 ,p_usb_tx_winos_winr_data 
-03c9 c00083cf beq 1 ,p_usb_tx_macos_winr_data 
-03ca 20600000 rtn 
+03de dfe04983 arg mem_usb_website_info + 1 ,pdata 
+03df 67e14980 store 2 ,mem_usb_website_ptr 
+03e0 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+03e1 c00003e4 beq 0 ,p_usb_tx_winos_winr_data 
+03e2 c00083e8 beq 1 ,p_usb_tx_macos_winr_data 
+03e3 20600000 rtn 
 
 p_usb_tx_winos_winr_data:
-03cb 70497c02 jam website_r_space_release ,mem_usb_website_step 
-03cc 6fe1c972 fetch 3 ,mem_usb_win_cmd 
-03cd 67e18923 store 3 ,mem_usb_kb_data 
-03ce 20207c28 branch usb_tx_kb_normal_data 
+03e4 70497d02 jam website_r_space_release ,mem_usb_website_step 
+03e5 6fe1c973 fetch 3 ,mem_usb_win_cmd 
+03e6 67e18923 store 3 ,mem_usb_kb_data 
+03e7 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_macos_winr_data:
-03cf 70497c02 jam website_r_space_release ,mem_usb_website_step 
-03d0 6fe1c975 fetch 3 ,mem_usb_mac_cmd 
-03d1 67e18923 store 3 ,mem_usb_kb_data 
-03d2 20207c28 branch usb_tx_kb_normal_data 
+03e8 70497d02 jam website_r_space_release ,mem_usb_website_step 
+03e9 6fe1c976 fetch 3 ,mem_usb_mac_cmd 
+03ea 67e18923 store 3 ,mem_usb_kb_data 
+03eb 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_r_space_release_data:
-03d3 70497c03 jam website_win_release ,mem_usb_website_step 
-03d4 6fe0c972 fetch 1 ,mem_usb_win_cmd 
-03d5 67e08923 store 1 ,mem_usb_kb_data 
-03d6 20207c28 branch usb_tx_kb_normal_data 
+03ec 70497d03 jam website_win_release ,mem_usb_website_step 
+03ed 6fe0c973 fetch 1 ,mem_usb_win_cmd 
+03ee 67e08923 store 1 ,mem_usb_kb_data 
+03ef 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_win_release_data:
-03d7 70497c04 jam website_wait ,mem_usb_website_step 
+03f0 70497d04 jam website_wait ,mem_usb_website_step 
 
 p_usb_webstie_release_data:
-03d8 d8a00923 arg mem_usb_kb_data ,contw 
-03d9 df200008 arg 8 ,loopcnt 
-03da 20407ca3 call memset0 
-03db 70497e00 jam 0 ,mem_usb_website_release_flag 
-03dc 20207c28 branch usb_tx_kb_normal_data 
+03f1 d8a00923 arg mem_usb_kb_data ,contw 
+03f2 df200008 arg 8 ,loopcnt 
+03f3 20407ca3 call memset0 
+03f4 70497f00 jam 0 ,mem_usb_website_release_flag 
+03f5 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_data1:
-03dd 70497c07 jam website_enter_release_1 ,mem_usb_website_step 
+03f6 70497d07 jam website_enter_release_1 ,mem_usb_website_step 
 
 p_usb_webstie_enter_data:
-03de 6fe1c978 fetch 3 ,mem_usb_kb_enter 
-03df 67e18923 store 3 ,mem_usb_kb_data 
-03e0 20207c28 branch usb_tx_kb_normal_data 
+03f7 6fe1c979 fetch 3 ,mem_usb_kb_enter 
+03f8 67e18923 store 3 ,mem_usb_kb_data 
+03f9 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_release_data1:
-03e1 70497c08 jam website_enter_2 ,mem_usb_website_step 
-03e2 202003d8 branch p_usb_webstie_release_data 
+03fa 70497d08 jam website_enter_2 ,mem_usb_website_step 
+03fb 202003f1 branch p_usb_webstie_release_data 
 
 p_usb_website_enter_data2:
-03e3 70497c09 jam website_enter_release_2 ,mem_usb_website_step 
-03e4 202003de branch p_usb_webstie_enter_data 
+03fc 70497d09 jam website_enter_release_2 ,mem_usb_website_step 
+03fd 202003f7 branch p_usb_webstie_enter_data 
 
 p_usb_website_enter_release_data2:
-03e5 70497c00 jam website_done ,mem_usb_website_step 
-03e6 202003d8 branch p_usb_webstie_release_data 
+03fe 70497d00 jam website_done ,mem_usb_website_step 
+03ff 202003f1 branch p_usb_webstie_release_data 
 
 p_usb_website_wait_tx_data:
-03e7 6fe0c97b fetch 1 ,mem_usb_website_wait_count 
-03e8 1fe0fe01 increase 1 ,pdata 
-03e9 67e0c97b store 1 ,mem_usb_website_wait_count 
-03ea c1878000 rtnne website_wait_count 
-03eb 70497b00 jam 0 ,mem_usb_website_wait_count 
-03ec 70497c05 jam website_data ,mem_usb_website_step 
-03ed 20600000 rtn 
+0400 6fe0c97c fetch 1 ,mem_usb_website_wait_count 
+0401 1fe0fe01 increase 1 ,pdata 
+0402 67e0c97c store 1 ,mem_usb_website_wait_count 
+0403 c1878000 rtnne website_wait_count 
+0404 70497c00 jam 0 ,mem_usb_website_wait_count 
+0405 70497d05 jam website_data ,mem_usb_website_step 
+0406 20600000 rtn 
 
 p_usb_website_data:
-03ee 6fe0c97e fetch 1 ,mem_usb_website_release_flag 
-03ef c00083d8 beq 1 ,p_usb_webstie_release_data 
-03f0 c00003f4 beq 0 ,p_usb_website_info_data 
-03f1 20600000 rtn 
+0407 6fe0c97f fetch 1 ,mem_usb_website_release_flag 
+0408 c00083f1 beq 1 ,p_usb_webstie_release_data 
+0409 c000040d beq 0 ,p_usb_website_info_data 
+040a 20600000 rtn 
 
 p_usb_webstie_info_data_done:
-03f2 70497c06 jam website_enter_1 ,mem_usb_website_step 
-03f3 20600000 rtn 
+040b 70497d06 jam website_enter_1 ,mem_usb_website_step 
+040c 20600000 rtn 
 
 p_usb_website_info_data:
-03f4 d8404982 arg mem_usb_website_info + 1 ,temp 
-03f5 6fe0c981 fetch 1 ,mem_usb_website_info 
-03f6 98408400 iadd temp ,temp 
-03f7 6fe1497f fetch 2 ,mem_usb_website_ptr 
-03f8 98467c00 isub temp ,null 
-03f9 202283f2 branch p_usb_webstie_info_data_done ,zero 
-03fa 20400404 call p_usb_tx_website_acii2hidkey 
-03fb 20400426 call p_usb_tx_website_need_shift 
-03fc 6fe0c97d fetch 1 ,mem_usb_website_shift_flag 
-03fd 67e08923 store 1 ,mem_usb_kb_data 
-03fe 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
-03ff 6fe1497f fetch 2 ,mem_usb_website_ptr 
-0400 1fe0fe01 increase 1 ,pdata 
-0401 67e1497f store 2 ,mem_usb_website_ptr 
-0402 70497e01 jam 1 ,mem_usb_website_release_flag 
-0403 20207c28 branch usb_tx_kb_normal_data 
+040d d8404983 arg mem_usb_website_info + 1 ,temp 
+040e 6fe0c982 fetch 1 ,mem_usb_website_info 
+040f 98408400 iadd temp ,temp 
+0410 6fe14980 fetch 2 ,mem_usb_website_ptr 
+0411 98467c00 isub temp ,null 
+0412 2022840b branch p_usb_webstie_info_data_done ,zero 
+0413 2040041d call p_usb_tx_website_acii2hidkey 
+0414 2040043f call p_usb_tx_website_need_shift 
+0415 6fe0c97e fetch 1 ,mem_usb_website_shift_flag 
+0416 67e08923 store 1 ,mem_usb_kb_data 
+0417 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
+0418 6fe14980 fetch 2 ,mem_usb_website_ptr 
+0419 1fe0fe01 increase 1 ,pdata 
+041a 67e14980 store 2 ,mem_usb_website_ptr 
+041b 70497f01 jam 1 ,mem_usb_website_release_flag 
+041c 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_website_acii2hidkey:
-0404 6849497f fetcht 2 ,mem_usb_website_ptr 
-0405 efe08002 ifetch 1 ,temp 
-0406 1fe67c7a sub pdata ,0x7a ,null 
-0407 2421040b nbranch p_usb_tx_website_acii2hidkey1 ,positive 
-0408 da400061 arg 0x61 ,regb 
-0409 9a462200 isub regb ,rega 
-040a 20210422 branch p_usb_tx_website_acii2keycode_a2z ,positive 
+041d 68494980 fetcht 2 ,mem_usb_website_ptr 
+041e efe08002 ifetch 1 ,temp 
+041f 1fe67c7a sub pdata ,0x7a ,null 
+0420 24210424 nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+0421 da400061 arg 0x61 ,regb 
+0422 9a462200 isub regb ,rega 
+0423 2021043b branch p_usb_tx_website_acii2keycode_a2z ,positive 
 
 p_usb_tx_website_acii2hidkey1:
-040b efe08002 ifetch 1 ,temp 
-040c 1fe67c39 sub pdata ,0x39 ,null 
-040d 24210411 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
-040e da400030 arg 0x30 ,regb 
-040f 9a462200 isub regb ,rega 
-0410 20210424 branch p_usb_tx_website_acii2keycode_029 ,positive 
+0424 efe08002 ifetch 1 ,temp 
+0425 1fe67c39 sub pdata ,0x39 ,null 
+0426 2421042a nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+0427 da400030 arg 0x30 ,regb 
+0428 9a462200 isub regb ,rega 
+0429 2021043d branch p_usb_tx_website_acii2keycode_029 ,positive 
 
 p_usb_tx_website_acii2keycode_sign:
-0411 1fe67c3a sub pdata ,0x3a ,null 
-0412 2022841a branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
-0413 1fe67c2f sub pdata ,0x2f ,null 
-0414 2022841c branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
-0415 1fe67c2e sub pdata ,0x2e ,null 
-0416 2022841e branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
-0417 1fe67c2d sub pdata ,0x2d ,null 
-0418 20228420 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
-0419 20600000 rtn 
+042a 1fe67c3a sub pdata ,0x3a ,null 
+042b 20228433 branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+042c 1fe67c2f sub pdata ,0x2f ,null 
+042d 20228435 branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+042e 1fe67c2e sub pdata ,0x2e ,null 
+042f 20228437 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+0430 1fe67c2d sub pdata ,0x2d ,null 
+0431 20228439 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
+0432 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_3a:
-041a da200033 arg 0x33 ,rega 
-041b 20600000 rtn 
+0433 da200033 arg 0x33 ,rega 
+0434 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2f:
-041c da200038 arg 0x38 ,rega 
-041d 20600000 rtn 
+0435 da200038 arg 0x38 ,rega 
+0436 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2e:
-041e da200037 arg 0x37 ,rega 
-041f 20600000 rtn 
+0437 da200037 arg 0x37 ,rega 
+0438 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2d:
-0420 da20002d arg 0x2d ,rega 
-0421 20600000 rtn 
+0439 da20002d arg 0x2d ,rega 
+043a 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_a2z:
-0422 1a20a204 add rega ,4 ,rega 
-0423 20600000 rtn 
+043b 1a20a204 add rega ,4 ,rega 
+043c 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_029:
-0424 1a20a227 add rega ,0x27 ,rega 
-0425 20600000 rtn 
+043d 1a20a227 add rega ,0x27 ,rega 
+043e 20600000 rtn 
 
 p_usb_tx_website_need_shift:
-0426 70497d00 jam 0 ,mem_usb_website_shift_flag 
-0427 6fe1497f fetch 2 ,mem_usb_website_ptr 
-0428 efe0803f ifetch 1 ,pdata 
-0429 d8c049aa arg mem_usb_website_info_sign + 1 ,contr 
-042a 6848c9a9 fetcht 1 ,mem_usb_website_info_sign 
-042b 18427200 copy temp ,loopcnt 
+043f 70497e00 jam 0 ,mem_usb_website_shift_flag 
+0440 6fe14980 fetch 2 ,mem_usb_website_ptr 
+0441 efe0803f ifetch 1 ,pdata 
+0442 d8c049ab arg mem_usb_website_info_sign + 1 ,contr 
+0443 6848c9aa fetcht 1 ,mem_usb_website_info_sign 
+0444 18427200 copy temp ,loopcnt 
 
 p_usb_tx_website_need_shift_check_loop:
-042c e8408006 ifetcht 1 ,contr 
-042d 98467c00 isub temp ,null 
-042e 20228431 branch p_usb_tx_website_need_shift_setflag ,zero 
-042f c200042c loop p_usb_tx_website_need_shift_check_loop 
-0430 20600000 rtn 
+0445 e8408006 ifetcht 1 ,contr 
+0446 98467c00 isub temp ,null 
+0447 2022844a branch p_usb_tx_website_need_shift_setflag ,zero 
+0448 c2000445 loop p_usb_tx_website_need_shift_check_loop 
+0449 20600000 rtn 
 
 p_usb_tx_website_need_shift_setflag:
-0431 70497d02 jam 2 ,mem_usb_website_shift_flag 
-0432 20600000 rtn 
+044a 70497e02 jam 2 ,mem_usb_website_shift_flag 
+044b 20600000 rtn 
 
 p_usb_tx_data_ep2:
-0433 da204959 arg mem_usb_ep2_fifo ,rega 
-0434 20407da3 call fifo_is_empty 
-0435 207a0000 rtn blank 
-0436 6ff08c25 fetch 1 ,core_usb_txbusy 
-0437 1fe17e0f and_into 0x0f ,pdata 
-0438 247a0000 nrtn blank 
-0439 6fe0890d fetch 1 ,mem_usb_tx_enable 
-043a c4010000 rtnbit0 2 
-043b 6fe0890d fetch 1 ,mem_usb_tx_enable 
-043c 793ffe02 set0 2 ,pdata 
-043d 67e0890d store 1 ,mem_usb_tx_enable 
-043e da204959 arg mem_usb_ep2_fifo ,rega 
-043f 20407d97 call fifo_out 
-0440 207a0000 rtn blank 
-0441 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0442 c012045b beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
-0443 c0130453 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
-0444 c0148453 beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
-0445 c0118453 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
-0446 c0180469 beq usb_ep2_key ,p_usb_tx_dongle_ep2_key_data 
-0447 c0128462 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
-0448 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0449 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-044a c013844c beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-044b 2020235a branch assert 
+044c da204959 arg mem_usb_ep2_fifo ,rega 
+044d 20407da3 call fifo_is_empty 
+044e 207a0000 rtn blank 
+044f 6ff08c25 fetch 1 ,core_usb_txbusy 
+0450 1fe17e0f and_into 0x0f ,pdata 
+0451 247a0000 nrtn blank 
+0452 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0453 c4010000 rtnbit0 2 
+0454 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0455 793ffe02 set0 2 ,pdata 
+0456 67e0890d store 1 ,mem_usb_tx_enable 
+0457 da204959 arg mem_usb_ep2_fifo ,rega 
+0458 20407d97 call fifo_out 
+0459 207a0000 rtn blank 
+045a c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+045b c0120474 beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
+045c c013046c beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
+045d c014846c beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
+045e c011846c beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
+045f c0180482 beq usb_ep2_key ,p_usb_tx_dongle_ep2_key_data 
+0460 c012847b beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
+0461 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0462 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+0463 c0138465 beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+0464 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-044c 6fe0c814 fetch 1 ,mem_usb_rf_state_data 
-044d 207a0000 rtn blank 
-044e 1fe27200 copy pdata ,loopcnt 
-044f d8c04815 arg mem_usb_rf_state_data + 1 ,contr 
-0450 20407bdb call usb_tx_ep2 
-0451 d8a04814 arg mem_usb_rf_state_data ,contw 
-0452 20200459 branch p_usb_tx_buff_clr 
+0465 6fe0c814 fetch 1 ,mem_usb_rf_state_data 
+0466 207a0000 rtn blank 
+0467 1fe27200 copy pdata ,loopcnt 
+0468 d8c04815 arg mem_usb_rf_state_data + 1 ,contr 
+0469 20407bdb call usb_tx_ep2 
+046a d8a04814 arg mem_usb_rf_state_data ,contw 
+046b 20200472 branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_data:
-0453 6fe0c855 fetch 1 ,mem_dongle_usb_ep2_data 
-0454 207a0000 rtn blank 
-0455 1fe27200 copy pdata ,loopcnt 
-0456 d8c04856 arg mem_dongle_usb_ep2_data + 1 ,contr 
-0457 20407bdb call usb_tx_ep2 
-0458 d8a04855 arg mem_dongle_usb_ep2_data ,contw 
+046c 6fe0c855 fetch 1 ,mem_dongle_usb_ep2_data 
+046d 207a0000 rtn blank 
+046e 1fe27200 copy pdata ,loopcnt 
+046f d8c04856 arg mem_dongle_usb_ep2_data + 1 ,contr 
+0470 20407bdb call usb_tx_ep2 
+0471 d8a04855 arg mem_dongle_usb_ep2_data ,contw 
 
 p_usb_tx_buff_clr:
-0459 df200041 arg 65 ,loopcnt 
-045a 20207ca1 branch clear_mem 
+0472 df200041 arg 65 ,loopcnt 
+0473 20207ca1 branch clear_mem 
 
 p_usb_tx_dongle_ep2_dpi_data:
-045b 6fe0c896 fetch 1 ,mem_usb_dpi_info_data 
-045c 207a0000 rtn blank 
-045d 1fe27200 copy pdata ,loopcnt 
-045e d8c04897 arg mem_usb_dpi_info_data + 1 ,contr 
-045f 20407bdb call usb_tx_ep2 
-0460 d8a04896 arg mem_usb_dpi_info_data ,contw 
-0461 20200459 branch p_usb_tx_buff_clr 
+0474 6fe0c896 fetch 1 ,mem_usb_dpi_info_data 
+0475 207a0000 rtn blank 
+0476 1fe27200 copy pdata ,loopcnt 
+0477 d8c04897 arg mem_usb_dpi_info_data + 1 ,contr 
+0478 20407bdb call usb_tx_ep2 
+0479 d8a04896 arg mem_usb_dpi_info_data ,contw 
+047a 20200472 branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_battery_data:
-0462 6fe0c8d7 fetch 1 ,mem_usb_battery_info_data 
-0463 207a0000 rtn blank 
-0464 1fe27200 copy pdata ,loopcnt 
-0465 d8c048d8 arg mem_usb_battery_info_data + 1 ,contr 
-0466 20407bdb call usb_tx_ep2 
-0467 d8a048d7 arg mem_usb_battery_info_data ,contw 
-0468 20200459 branch p_usb_tx_buff_clr 
+047b 6fe0c8d7 fetch 1 ,mem_usb_battery_info_data 
+047c 207a0000 rtn blank 
+047d 1fe27200 copy pdata ,loopcnt 
+047e d8c048d8 arg mem_usb_battery_info_data + 1 ,contr 
+047f 20407bdb call usb_tx_ep2 
+0480 d8a048d7 arg mem_usb_battery_info_data ,contw 
+0481 20200472 branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_key_data:
-0469 6fe0c918 fetch 1 ,mem_usb_key_info_data 
-046a 207a0000 rtn blank 
-046b 1fe27200 copy pdata ,loopcnt 
-046c d8c04919 arg mem_usb_key_info_data + 1 ,contr 
-046d 20407bdb call usb_tx_ep2 
-046e d8a04918 arg mem_usb_key_info_data ,contw 
-046f 20200459 branch p_usb_tx_buff_clr 
+0482 6fe0c918 fetch 1 ,mem_usb_key_info_data 
+0483 207a0000 rtn blank 
+0484 1fe27200 copy pdata ,loopcnt 
+0485 d8c04919 arg mem_usb_key_info_data + 1 ,contr 
+0486 20407bdb call usb_tx_ep2 
+0487 d8a04918 arg mem_usb_key_info_data ,contw 
+0488 20200472 branch p_usb_tx_buff_clr 
 
 p_rx_dcoc:
-0470 20758000 rtn wake 
-0471 20402160 call set_sync_on 
-0472 d8400027 arg 39 ,temp 
-0473 2040216f call set_freq_rx 
-0474 204021a6 call rf_rx_enable 
-0475 708a257f jam 0x7f ,0x8a25 
-0476 708a301a jam 0x1a ,0x8a30 
-0477 708a3178 jam 0x78 ,0x8a31 
-0478 708a8fb2 jam 0xb2 ,0x8a8f 
-0479 708ac200 jam 0 ,0x8ac2 
-047a 708ac300 jam 0 ,0x8ac3 
-047b d8e00006 arg 6 ,queue 
-047c 2040048d call p_rx_dcoc_avg 
-047d 2a2ffe0d isolate1 13 ,rega 
-047e 2040211d call qset_start 
-047f 2a4ffe0d isolate1 13 ,regb 
-0480 2040211e call qset_p 
-0481 d8e00005 arg 5 ,queue 
+0489 20758000 rtn wake 
+048a 20402160 call set_sync_on 
+048b d8400027 arg 39 ,temp 
+048c 2040216f call set_freq_rx 
+048d 204021a6 call rf_rx_enable 
+048e 708a257f jam 0x7f ,0x8a25 
+048f 708a301a jam 0x1a ,0x8a30 
+0490 708a3178 jam 0x78 ,0x8a31 
+0491 708a8fb2 jam 0xb2 ,0x8a8f 
+0492 708ac200 jam 0 ,0x8ac2 
+0493 708ac300 jam 0 ,0x8ac3 
+0494 d8e00006 arg 6 ,queue 
+0495 204004a6 call p_rx_dcoc_avg 
+0496 2a2ffe0d isolate1 13 ,rega 
+0497 2040211d call qset_start 
+0498 2a4ffe0d isolate1 13 ,regb 
+0499 2040211e call qset_p 
+049a d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0482 2040211c call qset1_p 
-0483 2040211e call qset_p 
-0484 2040048d call p_rx_dcoc_avg 
-0485 d8a08ac2 arg 0x8ac2 ,contw 
-0486 1a31fe00 rshift4 rega ,pdata 
-0487 20402117 call qsetxor 
-0488 1a51fe00 rshift4 regb ,pdata 
-0489 20402117 call qsetxor 
-048a 18e08fff increase -1 ,queue 
-048b 20210482 branch p_rx_dcoc_loop2 ,positive 
-048c 2020214f branch rx_dcoc_loop2 + 10 
+049b 2040211c call qset1_p 
+049c 2040211e call qset_p 
+049d 204004a6 call p_rx_dcoc_avg 
+049e d8a08ac2 arg 0x8ac2 ,contw 
+049f 1a31fe00 rshift4 rega ,pdata 
+04a0 20402117 call qsetxor 
+04a1 1a51fe00 rshift4 regb ,pdata 
+04a2 20402117 call qsetxor 
+04a3 18e08fff increase -1 ,queue 
+04a4 2021049b branch p_rx_dcoc_loop2 ,positive 
+04a5 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-048d 2000003c nop 60 
-048e 58000f00 setarg mem_dcoc_buf 
-048f 67f10982 store 2 ,0x8982 
-0490 58000ff0 setarg mem_dcoc_buf_end 
-0491 67f10984 store 2 ,0x8984 
-0492 70898109 jam 0x9 ,0x8981 
-0493 70898103 jam 0x3 ,0x8981 
-0494 70898006 jam 0x6 ,0x8980 
-0495 2000003c nop 60 
-0496 da200000 arg 0 ,rega 
-0497 da400000 arg 0 ,regb 
-0498 df200010 arg 16 ,loopcnt 
-0499 d8c00f00 arg mem_dcoc_buf ,contr 
-049a 2020212d branch rx_dcoc_loop 
+04a6 2000003c nop 60 
+04a7 58000f00 setarg mem_dcoc_buf 
+04a8 67f10982 store 2 ,0x8982 
+04a9 58000ff0 setarg mem_dcoc_buf_end 
+04aa 67f10984 store 2 ,0x8984 
+04ab 70898109 jam 0x9 ,0x8981 
+04ac 70898103 jam 0x3 ,0x8981 
+04ad 70898006 jam 0x6 ,0x8980 
+04ae 2000003c nop 60 
+04af da200000 arg 0 ,rega 
+04b0 da400000 arg 0 ,regb 
+04b1 df200010 arg 16 ,loopcnt 
+04b2 d8c00f00 arg mem_dcoc_buf ,contr 
+04b3 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-049b 20758000 rtn wake 
-049c 20202272 branch rfpll_aac_ghpc + 1 
+04b4 20758000 rtn wake 
+04b5 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-049d 20600000 rtn 
+04b6 20600000 rtn 
 
 p_sadc_calibration:
-049e 20758000 rtn wake 
-049f 708a0777 jam 0x77 ,core_gpadc_ctrl 
-04a0 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-04a1 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-04a2 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-04a3 67f080cd store 1 ,core_sadc_clkdiv 
-04a4 20000bb8 nop 3000 
-04a5 204004c6 call p_sadc_read 
-04a6 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-04a7 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-04a8 df200008 arg 8 ,loopcnt 
-04a9 20406f58 call sadc_cal_read + 1 
-04aa 6fe0c419 fetch 1 ,mem_spi_write_addr 
-04ab 67e0c433 store 1 ,mem_adc_cal_c7 
-04ac 6240c419 storer regb ,1 ,mem_spi_write_addr 
-04ad 20600000 rtn 
+04b7 20758000 rtn wake 
+04b8 708a0777 jam 0x77 ,core_gpadc_ctrl 
+04b9 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+04ba 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+04bb 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+04bc 67f080cd store 1 ,core_sadc_clkdiv 
+04bd 20000bb8 nop 3000 
+04be 204004df call p_sadc_read 
+04bf 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+04c0 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+04c1 df200008 arg 8 ,loopcnt 
+04c2 20406f58 call sadc_cal_read + 1 
+04c3 6fe0c419 fetch 1 ,mem_spi_write_addr 
+04c4 67e0c433 store 1 ,mem_adc_cal_c7 
+04c5 6240c419 storer regb ,1 ,mem_spi_write_addr 
+04c6 20600000 rtn 
 
 p_enable_adc:
-04ae 204004bc call p_sadc_cal_write 
-04af 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-04b0 793ffe07 set0 7 ,pdata 
-04b1 67f08a09 store 1 ,core_gpadc_cfg1 
-04b2 708a0777 jam 0x77 ,core_gpadc_ctrl 
-04b3 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-04b4 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-04b5 20406f90 call sadc_channel 
-04b6 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-04b7 67f080cd store 1 ,core_sadc_clkdiv 
-04b8 20000bb8 nop 3000 
-04b9 204004c6 call p_sadc_read 
-04ba 7080cd00 jam 0 ,core_sadc_clkdiv 
-04bb 20206fa1 branch sadc_dma 
+04c7 204004d5 call p_sadc_cal_write 
+04c8 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+04c9 793ffe07 set0 7 ,pdata 
+04ca 67f08a09 store 1 ,core_gpadc_cfg1 
+04cb 708a0777 jam 0x77 ,core_gpadc_ctrl 
+04cc 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+04cd 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+04ce 20406f90 call sadc_channel 
+04cf 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+04d0 67f080cd store 1 ,core_sadc_clkdiv 
+04d1 20000bb8 nop 3000 
+04d2 204004df call p_sadc_read 
+04d3 7080cd00 jam 0 ,core_sadc_clkdiv 
+04d4 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-04bc 6ff080cc fetch 1 ,core_sadc_ctrl 
-04bd 79207e01 set1 1 ,pdata 
-04be 67f080cc store 1 ,core_sadc_ctrl 
-04bf 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-04c0 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-04c1 67e0c419 store 1 ,mem_spi_write_addr 
-04c2 df200008 arg 8 ,loopcnt 
-04c3 20406f67 call sadc_cal_write + 4 
-04c4 6240c419 storer regb ,1 ,mem_spi_write_addr 
-04c5 20600000 rtn 
+04d5 6ff080cc fetch 1 ,core_sadc_ctrl 
+04d6 79207e01 set1 1 ,pdata 
+04d7 67f080cc store 1 ,core_sadc_ctrl 
+04d8 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+04d9 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+04da 67e0c419 store 1 ,mem_spi_write_addr 
+04db df200008 arg 8 ,loopcnt 
+04dc 20406f67 call sadc_cal_write + 4 
+04dd 6240c419 storer regb ,1 ,mem_spi_write_addr 
+04de 20600000 rtn 
 
 p_sadc_read:
-04c6 7080cc03 jam 0x03 ,core_sadc_ctrl 
+04df 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-04c7 6ff08129 fetch 1 ,core_perf_status 
-04c8 c30284c7 bbit0 saradc_done ,p_sadc_read_wait 
-04c9 68590164 fetcht 2 ,core_sadc_data 
-04ca 6049440a storet 2 ,mem_adc_current_value 
-04cb 7080cc00 jam 0x00 ,core_sadc_ctrl 
-04cc 20600000 rtn 
+04e0 6ff08129 fetch 1 ,core_perf_status 
+04e1 c30284e0 bbit0 saradc_done ,p_sadc_read_wait 
+04e2 68590164 fetcht 2 ,core_sadc_data 
+04e3 6049440a storet 2 ,mem_adc_current_value 
+04e4 7080cc00 jam 0x00 ,core_sadc_ctrl 
+04e5 20600000 rtn 
 
 p_set_lemode:
-04cd 708a8211 jam 0x11 ,0x8a82 
-04ce 708a8d12 jam 0x12 ,0x8a8d 
-04cf 708a8e0a jam 0x0a ,0x8a8e 
-04d0 6fe0c099 fetch 1 ,mem_fcomp_div 
-04d1 c00804e6 beq xtal_16m ,p_set_lemode_2m_16m 
-04d2 58005762 setarg 0x5762 
-04d3 67f10907 store 2 ,0x8907 
+04e6 708a8211 jam 0x11 ,0x8a82 
+04e7 708a8d12 jam 0x12 ,0x8a8d 
+04e8 708a8e0a jam 0x0a ,0x8a8e 
+04e9 6fe0c099 fetch 1 ,mem_fcomp_div 
+04ea c00804ff beq xtal_16m ,p_set_lemode_2m_16m 
+04eb 58005762 setarg 0x5762 
+04ec 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-04d4 70890103 jam 3 ,0x8901 
-04d5 70893003 jam 3 ,0x8930 
-04d6 c6168000 rtnmark1 mark_ble_2m 
-04d7 70890101 jam 1 ,0x8901 
-04d8 708a8207 jam 0x07 ,0x8a82 
-04d9 708a8d44 jam 0x44 ,0x8a8d 
-04da 708a8e0a jam 0x0a ,0x8a8e 
-04db 6fe0c099 fetch 1 ,mem_fcomp_div 
-04dc c00804e3 beq xtal_16m ,p_set_lemode_1m_16m 
-04dd 58002bb1 setarg 0x2bb1 
-04de 67f10907 store 2 ,0x8907 
+04ed 70890103 jam 3 ,0x8901 
+04ee 70893003 jam 3 ,0x8930 
+04ef c6168000 rtnmark1 mark_ble_2m 
+04f0 70890101 jam 1 ,0x8901 
+04f1 708a8207 jam 0x07 ,0x8a82 
+04f2 708a8d44 jam 0x44 ,0x8a8d 
+04f3 708a8e0a jam 0x0a ,0x8a8e 
+04f4 6fe0c099 fetch 1 ,mem_fcomp_div 
+04f5 c00804fc beq xtal_16m ,p_set_lemode_1m_16m 
+04f6 58002bb1 setarg 0x2bb1 
+04f7 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-04df c6978000 rtnmark0 mark_ble_lr 
-04e0 70893024 jam 0x24 ,0x8930 
-04e1 70890105 jam 5 ,0x8901 
-04e2 20600000 rtn 
+04f8 c6978000 rtnmark0 mark_ble_lr 
+04f9 70893024 jam 0x24 ,0x8930 
+04fa 70890105 jam 5 ,0x8901 
+04fb 20600000 rtn 
 
 p_set_lemode_1m_16m:
-04e3 58004189 setarg 0x4189 
-04e4 67f10907 store 2 ,0x8907 
-04e5 202004df branch p_set_lemode_1m 
+04fc 58004189 setarg 0x4189 
+04fd 67f10907 store 2 ,0x8907 
+04fe 202004f8 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-04e6 58008312 setarg 0x8312 
-04e7 67f10907 store 2 ,0x8907 
-04e8 202004d4 branch p_set_lemode_2m 
+04ff 58008312 setarg 0x8312 
+0500 67f10907 store 2 ,0x8907 
+0501 202004ed branch p_set_lemode_2m 
 
 p_le_parse:
-04e9 6fe0c334 fetch 1 ,mem_le_packet_llid 
-04ea c1000000 rtneq llid_reserved 
-04eb c001b04a beq llid_le_ll ,le_parse_ll 
-04ec 202028e1 branch le_parse_l2cap 
+0502 6fe0c334 fetch 1 ,mem_le_packet_llid 
+0503 c1000000 rtneq llid_reserved 
+0504 c001b04a beq llid_le_ll ,le_parse_ll 
+0505 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-04ed 793f8030 set0 mark_ble_crc_fail ,mark 
-04ee 20202af6 branch le_init_adv + 1 
+0506 793f8030 set0 mark_ble_crc_fail ,mark 
+0507 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-04ef 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-04f0 c0553329 beq datatype_bind ,g24_bind_first_step 
-04f1 c02ab33a beq datatype_config ,g24_bind_second_step 
-04f2 c01104f5 beq datatype_ok ,p_g24_bind_third_step 
-04f3 c07fb59b beq datatype_attemp ,g24_data_attemp 
-04f4 20600000 rtn 
+0508 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0509 c0553329 beq datatype_bind ,g24_bind_first_step 
+050a c02ab33a beq datatype_config ,g24_bind_second_step 
+050b c011050e beq datatype_ok ,p_g24_bind_third_step 
+050c c07fb59b beq datatype_attemp ,g24_data_attemp 
+050d 20600000 rtn 
 
 p_g24_bind_third_step:
-04f5 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-04f6 203a04fb branch p_g24_bind_third_step_skip ,blank 
-04f7 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-04f8 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-04f9 98467c00 isub temp ,null 
-04fa 24628000 nrtn zero 
+050e 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+050f 203a0514 branch p_g24_bind_third_step_skip ,blank 
+0510 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+0511 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+0512 98467c00 isub temp ,null 
+0513 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-04fb 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-04fc c00084ff beq datatype_device1 ,p_g24_bind_third_step_device1 
-04fd c0010507 beq datatype_device2 ,p_g24_bind_third_step_device2 
-04fe 20600000 rtn 
+0514 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0515 c0008518 beq datatype_device1 ,p_g24_bind_third_step_device1 
+0516 c0010520 beq datatype_device2 ,p_g24_bind_third_step_device2 
+0517 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-04ff 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0500 247a0000 nrtn blank 
-0501 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0502 c0010504 beq 2 ,p_g24_bind_dvc1_step_success 
-0503 20600000 rtn 
+0518 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0519 247a0000 nrtn blank 
+051a 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+051b c001051d beq 2 ,p_g24_bind_dvc1_step_success 
+051c 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-0504 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-0505 2040338d call g24_binding_dvc1_living 
-0506 2020336b branch g24_bind_dvc1_step_success + 1 
+051d 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+051e 2040338d call g24_binding_dvc1_living 
+051f 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0507 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0508 247a0000 nrtn blank 
-0509 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-050a c080050c bne 0 ,p_g24_bind_dvc2_step_success 
-050b 20600000 rtn 
+0520 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0521 247a0000 nrtn blank 
+0522 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0523 c0800525 bne 0 ,p_g24_bind_dvc2_step_success 
+0524 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-050c 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-050d 20403393 call g24_binding_dvc2_living 
-050e 20203378 branch g24_bind_dvc2_step_success + 1 
+0525 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0526 20403393 call g24_binding_dvc2_living 
+0527 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-050f 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0510 c1000000 rtneq dongle_work 
-0511 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-0512 247a0000 nrtn blank 
-0513 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-0514 247a0000 nrtn blank 
-0515 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-0516 207a0000 rtn blank 
-0517 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0518 c1800000 rtnne 0 
-0519 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-051a c1800000 rtnne 0 
-051b 20203436 branch g24_mode_switch_bind_search + 9 
+0528 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0529 c1000000 rtneq dongle_work 
+052a 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+052b 247a0000 nrtn blank 
+052c 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+052d 247a0000 nrtn blank 
+052e 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+052f 207a0000 rtn blank 
+0530 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0531 c1800000 rtnne 0 
+0532 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0533 c1800000 rtnne 0 
+0534 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-051c 6fe0c616 fetch 1 ,mem_24g_work_mode 
-051d c1808000 rtnne dongle_bind 
-051e 20400520 call p_g24_bind_init 
-051f 2020346d branch g24_bind_mode_auto + 4 
+0535 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0536 c1808000 rtnne dongle_bind 
+0537 20400539 call p_g24_bind_init 
+0538 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0520 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0521 c3808000 rtnbit1 dongle_bind 
-0522 79207e01 set1 dongle_bind ,pdata 
-0523 67e0c615 store 1 ,mem_24g_mode_init 
-0524 58000000 setarg 0 
-0525 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-0526 20203307 branch g24_bind_init + 8 
+0539 6fe0c615 fetch 1 ,mem_24g_mode_init 
+053a c3808000 rtnbit1 dongle_bind 
+053b 79207e01 set1 dongle_bind ,pdata 
+053c 67e0c615 store 1 ,mem_24g_mode_init 
+053d 58000000 setarg 0 
+053e 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+053f 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-0527 20400534 call p_wdt_kick 
-0528 20400536 call p_g24_100ms_timer_event 
-0529 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-052a 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-052b 20407906 call usb_isr 
-052c 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-052d 207a0000 rtn blank 
-052e 7008f700 jam 0 ,mem_usb0_get_set_report 
-052f 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-0530 d84003a2 arg pc_set_report_protocol ,temp 
-0531 98467c00 isub temp ,null 
-0532 24628000 nrtn zero 
-0533 202001c6 branch p_dongle_usb_data_received_analysis 
+0540 2040054d call p_wdt_kick 
+0541 2040054f call p_g24_100ms_timer_event 
+0542 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+0543 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+0544 20407906 call usb_isr 
+0545 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0546 207a0000 rtn blank 
+0547 7008f700 jam 0 ,mem_usb0_get_set_report 
+0548 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0549 d84003a2 arg pc_set_report_protocol ,temp 
+054a 98467c00 isub temp ,null 
+054b 24628000 nrtn zero 
+054c 202001c6 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-0534 58000010 setarg 16 
-0535 202070c8 branch wdt_init_config 
+054d 58000010 setarg 16 
+054e 202070c8 branch wdt_init_config 
 
 p_g24_100ms_timer_event:
-0536 d8e00006 arg usb_timer_100ms ,queue 
-0537 20407cef call timer_check 
-0538 247a0000 nrtn blank 
-0539 20400540 call p_g24_http_over_pack_check 
-053a 20400543 call p_g24_dongle_disconnect_state_check 
-053b 20400553 call p_g24_dongle_store_b4_flag_check 
-053c 2040056a call p_g24_dongle_store_b5_flag_check 
+054f d8e00006 arg usb_timer_100ms ,queue 
+0550 20407cef call timer_check 
+0551 247a0000 nrtn blank 
+0552 20400559 call p_g24_http_over_pack_check 
+0553 2040055c call p_g24_dongle_disconnect_state_check 
+0554 2040056c call p_g24_dongle_store_b4_flag_check 
+0555 20400583 call p_g24_dongle_store_b5_flag_check 
 
 p_g24_100ms_timer_init:
-053d d8e00006 arg usb_timer_100ms ,queue 
-053e 58000028 setarg 40 
-053f 20207ce1 branch timer_init 
+0556 d8e00006 arg usb_timer_100ms ,queue 
+0557 58000028 setarg 40 
+0558 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-0540 6fe0c97c fetch 1 ,mem_usb_website_step 
-0541 207a0000 rtn blank 
-0542 2020026b branch p_dongle_usb_tx_http_data 
+0559 6fe0c97d fetch 1 ,mem_usb_website_step 
+055a 207a0000 rtn blank 
+055b 2020026b branch p_dongle_usb_tx_http_data 
 
 p_g24_dongle_disconnect_state_check:
-0543 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-0544 c4000000 rtnbit0 0 
-0545 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
-0546 207a0000 rtn blank 
-0547 6fe14810 fetch 2 ,mem_dongle_no_data_count 
-0548 1fe0fe01 increase 1 ,pdata 
-0549 67e14810 store 2 ,mem_dongle_no_data_count 
-054a d84004b0 arg 0x4b0 ,temp 
-054b 98467c00 isub temp ,null 
-054c 24610000 nrtn positive 
-054d 58000000 setarg 0 
-054e 67e14810 store 2 ,mem_dongle_no_data_count 
-054f 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
-0550 207a0000 rtn blank 
-0551 70480f00 jam 0 ,mem_dongle_connect_mouse_flag 
-0552 20600000 rtn 
+055c 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+055d c4000000 rtnbit0 0 
+055e 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
+055f 207a0000 rtn blank 
+0560 6fe14810 fetch 2 ,mem_dongle_no_data_count 
+0561 1fe0fe01 increase 1 ,pdata 
+0562 67e14810 store 2 ,mem_dongle_no_data_count 
+0563 d84004b0 arg 0x4b0 ,temp 
+0564 98467c00 isub temp ,null 
+0565 24610000 nrtn positive 
+0566 58000000 setarg 0 
+0567 67e14810 store 2 ,mem_dongle_no_data_count 
+0568 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
+0569 207a0000 rtn blank 
+056a 70480f00 jam 0 ,mem_dongle_connect_mouse_flag 
+056b 20600000 rtn 
 
 p_g24_dongle_store_b4_flag_check:
-0553 da6049c5 arg mem_usb_delay_store_b4_flag_count ,regc 
-0554 da400556 arg p_g24_dongle_store_b4_flag ,regb 
-0555 202042e0 branch timer_single_step 
+056c da6049ca arg mem_usb_delay_store_b4_flag_count ,regc 
+056d da40056f arg p_g24_dongle_store_b4_flag ,regb 
+056e 202042e0 branch timer_single_step 
 
 p_g24_dongle_store_b4_flag:
-0556 6a4149c8 fetchr regb ,2 ,mem_otp_offset_b4_addr 
-0557 1a422600 copy regb ,regc 
+056f 6a4149cd fetchr regb ,2 ,mem_otp_offset_b4_addr 
+0570 1a422600 copy regb ,regc 
 
 p_g24_dongle_store_b4_flag_loop:
-0558 2040058b call p_g24_dongle_load_b4_flag_comon 
-0559 6fe0c9c1 fetch 1 ,mem_ms_b4_function_flag_temp 
-055a 203a0562 branch p_g24_dongle_store_b4_flag_store ,blank 
-055b 67e0c9c0 store 1 ,mem_ms_b4_function_flag_last 
-055c 1a60a601 increase 1 ,regc 
-055d 6fe149ca fetch 2 ,mem_otp_offset_b4_addr_end 
-055e 9a667c00 isub regc ,null 
-055f 24610000 nrtn positive 
-0560 1a622400 copy regc ,regb 
-0561 20200558 branch p_g24_dongle_store_b4_flag_loop 
+0571 204005a4 call p_g24_dongle_load_b4_flag_comon 
+0572 6fe0c9c2 fetch 1 ,mem_ms_b4_function_flag_temp 
+0573 203a057b branch p_g24_dongle_store_b4_flag_store ,blank 
+0574 67e0c9c1 store 1 ,mem_ms_b4_function_flag_last 
+0575 1a60a601 increase 1 ,regc 
+0576 6fe149cf fetch 2 ,mem_otp_offset_b4_addr_end 
+0577 9a667c00 isub regc ,null 
+0578 24610000 nrtn positive 
+0579 1a622400 copy regc ,regb 
+057a 20200571 branch p_g24_dongle_store_b4_flag_loop 
 
 p_g24_dongle_store_b4_flag_store:
-0562 6848c9c0 fetcht 1 ,mem_ms_b4_function_flag_last 
-0563 6fe0c9bf fetch 1 ,mem_ms_b4_function_flag 
-0564 98467c00 isub temp ,null 
-0565 20628000 rtn zero 
-0566 da2049bf arg mem_ms_b4_function_flag ,rega 
+057b 6848c9c1 fetcht 1 ,mem_ms_b4_function_flag_last 
+057c 6fe0c9c0 fetch 1 ,mem_ms_b4_function_flag 
+057d 98467c00 isub temp ,null 
+057e 20628000 rtn zero 
+057f da2049c0 arg mem_ms_b4_function_flag ,rega 
 
 p_otp_store_data:
-0567 df200001 arg 1 ,loopcnt 
-0568 1a622400 copy regc ,regb 
-0569 20206b45 branch otp_write 
+0580 df200001 arg 1 ,loopcnt 
+0581 1a622400 copy regc ,regb 
+0582 20206b45 branch otp_write 
 
 p_g24_dongle_store_b5_flag_check:
-056a da6049c6 arg mem_usb_delay_store_b5_flag_count ,regc 
-056b da40056d arg p_g24_dongle_store_b5_flag ,regb 
-056c 202042e0 branch timer_single_step 
+0583 da6049cb arg mem_usb_delay_store_b5_flag_count ,regc 
+0584 da400586 arg p_g24_dongle_store_b5_flag ,regb 
+0585 202042e0 branch timer_single_step 
 
 p_g24_dongle_store_b5_flag:
-056d 6a4149cc fetchr regb ,2 ,mem_otp_offset_b5_addr 
-056e 1a422600 copy regb ,regc 
+0586 6a4149d1 fetchr regb ,2 ,mem_otp_offset_b5_addr 
+0587 1a422600 copy regb ,regc 
 
 p_g24_dongle_store_b5_flag_loop:
-056f 204005a0 call p_g24_dongle_load_b5_flag_comon 
-0570 6fe0c9c4 fetch 1 ,mem_ms_b5_function_flag_temp 
-0571 203a0579 branch p_g24_dongle_store_b5_flag_store ,blank 
-0572 67e0c9c3 store 1 ,mem_ms_b5_function_flag_last 
-0573 1a60a601 increase 1 ,regc 
-0574 6fe149ce fetch 2 ,mem_otp_offset_b5_addr_end 
-0575 9a667c00 isub regc ,null 
-0576 24610000 nrtn positive 
-0577 1a622400 copy regc ,regb 
-0578 2020056f branch p_g24_dongle_store_b5_flag_loop 
+0588 204005b9 call p_g24_dongle_load_b5_flag_comon 
+0589 6fe0c9c7 fetch 1 ,mem_ms_b5_function_flag_temp 
+058a 203a0592 branch p_g24_dongle_store_b5_flag_store ,blank 
+058b 67e0c9c6 store 1 ,mem_ms_b5_function_flag_last 
+058c 1a60a601 increase 1 ,regc 
+058d 6fe149d3 fetch 2 ,mem_otp_offset_b5_addr_end 
+058e 9a667c00 isub regc ,null 
+058f 24610000 nrtn positive 
+0590 1a622400 copy regc ,regb 
+0591 20200588 branch p_g24_dongle_store_b5_flag_loop 
 
 p_g24_dongle_store_b5_flag_store:
-0579 6848c9c3 fetcht 1 ,mem_ms_b5_function_flag_last 
-057a 6fe0c9c2 fetch 1 ,mem_ms_b5_function_flag 
-057b 98467c00 isub temp ,null 
-057c 20628000 rtn zero 
-057d da2049c2 arg mem_ms_b5_function_flag ,rega 
-057e 20200567 branch p_otp_store_data 
+0592 6848c9c6 fetcht 1 ,mem_ms_b5_function_flag_last 
+0593 6fe0c9c5 fetch 1 ,mem_ms_b5_function_flag 
+0594 98467c00 isub temp ,null 
+0595 20628000 rtn zero 
+0596 da2049c5 arg mem_ms_b5_function_flag ,rega 
+0597 20200580 branch p_otp_store_data 
 
 p_g24_dongle_load_b4_flag:
-057f 6a4149c8 fetchr regb ,2 ,mem_otp_offset_b4_addr 
-0580 1a422600 copy regb ,regc 
+0598 6a4149cd fetchr regb ,2 ,mem_otp_offset_b4_addr 
+0599 1a422600 copy regb ,regc 
 
 p_g24_dongle_load_b4_flag_loop:
-0581 2040058b call p_g24_dongle_load_b4_flag_comon 
-0582 6fe0c9c1 fetch 1 ,mem_ms_b4_function_flag_temp 
-0583 203a058e branch p_g24_dongle_load_b4_flag_load ,blank 
-0584 67e0c9c0 store 1 ,mem_ms_b4_function_flag_last 
-0585 1a60a601 increase 1 ,regc 
-0586 6fe149ca fetch 2 ,mem_otp_offset_b4_addr_end 
-0587 9a667c00 isub regc ,null 
-0588 2421058e nbranch p_g24_dongle_load_b4_flag_load ,positive 
-0589 1a622400 copy regc ,regb 
-058a 20200581 branch p_g24_dongle_load_b4_flag_loop 
+059a 204005a4 call p_g24_dongle_load_b4_flag_comon 
+059b 6fe0c9c2 fetch 1 ,mem_ms_b4_function_flag_temp 
+059c 203a05a7 branch p_g24_dongle_load_b4_flag_load ,blank 
+059d 67e0c9c1 store 1 ,mem_ms_b4_function_flag_last 
+059e 1a60a601 increase 1 ,regc 
+059f 6fe149cf fetch 2 ,mem_otp_offset_b4_addr_end 
+05a0 9a667c00 isub regc ,null 
+05a1 242105a7 nbranch p_g24_dongle_load_b4_flag_load ,positive 
+05a2 1a622400 copy regc ,regb 
+05a3 2020059a branch p_g24_dongle_load_b4_flag_loop 
 
 p_g24_dongle_load_b4_flag_comon:
-058b df200001 arg 1 ,loopcnt 
-058c da2049c1 arg mem_ms_b4_function_flag_temp ,rega 
-058d 20206b74 branch otp_read_data 
+05a4 df200001 arg 1 ,loopcnt 
+05a5 da2049c2 arg mem_ms_b4_function_flag_temp ,rega 
+05a6 20206b74 branch otp_read_data 
 
 p_g24_dongle_load_b4_flag_load:
-058e 6fe0c9c0 fetch 1 ,mem_ms_b4_function_flag_last 
-058f 205a0592 call p_g24_donge_b4_default_set ,blank 
-0590 67e0c9bf store 1 ,mem_ms_b4_function_flag 
-0591 20600000 rtn 
+05a7 6fe0c9c1 fetch 1 ,mem_ms_b4_function_flag_last 
+05a8 205a05ab call p_g24_donge_b4_default_set ,blank 
+05a9 67e0c9c0 store 1 ,mem_ms_b4_function_flag 
+05aa 20600000 rtn 
 
 p_g24_donge_b4_default_set:
-0592 58000001 setarg b4_default 
-0593 20600000 rtn 
+05ab 58000001 setarg b4_default 
+05ac 20600000 rtn 
 
 p_g24_dongle_load_b5_flag:
-0594 6a4149cc fetchr regb ,2 ,mem_otp_offset_b5_addr 
-0595 1a422600 copy regb ,regc 
+05ad 6a4149d1 fetchr regb ,2 ,mem_otp_offset_b5_addr 
+05ae 1a422600 copy regb ,regc 
 
 p_g24_dongle_load_b5_flag_loop:
-0596 204005a0 call p_g24_dongle_load_b5_flag_comon 
-0597 6fe0c9c4 fetch 1 ,mem_ms_b5_function_flag_temp 
-0598 203a05a3 branch p_g24_dongle_load_b5_flag_load ,blank 
-0599 67e0c9c3 store 1 ,mem_ms_b5_function_flag_last 
-059a 1a60a601 increase 1 ,regc 
-059b 6fe149ce fetch 2 ,mem_otp_offset_b5_addr_end 
-059c 9a667c00 isub regc ,null 
-059d 242105a3 nbranch p_g24_dongle_load_b5_flag_load ,positive 
-059e 1a622400 copy regc ,regb 
-059f 20200596 branch p_g24_dongle_load_b5_flag_loop 
+05af 204005b9 call p_g24_dongle_load_b5_flag_comon 
+05b0 6fe0c9c7 fetch 1 ,mem_ms_b5_function_flag_temp 
+05b1 203a05bc branch p_g24_dongle_load_b5_flag_load ,blank 
+05b2 67e0c9c6 store 1 ,mem_ms_b5_function_flag_last 
+05b3 1a60a601 increase 1 ,regc 
+05b4 6fe149d3 fetch 2 ,mem_otp_offset_b5_addr_end 
+05b5 9a667c00 isub regc ,null 
+05b6 242105bc nbranch p_g24_dongle_load_b5_flag_load ,positive 
+05b7 1a622400 copy regc ,regb 
+05b8 202005af branch p_g24_dongle_load_b5_flag_loop 
 
 p_g24_dongle_load_b5_flag_comon:
-05a0 df200001 arg 1 ,loopcnt 
-05a1 da2049c4 arg mem_ms_b5_function_flag_temp ,rega 
-05a2 20206b74 branch otp_read_data 
+05b9 df200001 arg 1 ,loopcnt 
+05ba da2049c7 arg mem_ms_b5_function_flag_temp ,rega 
+05bb 20206b74 branch otp_read_data 
 
 p_g24_dongle_load_b5_flag_load:
-05a3 6fe0c9c3 fetch 1 ,mem_ms_b5_function_flag_last 
-05a4 205a05a7 call p_g24_donge_b5_default_set ,blank 
-05a5 67e0c9c2 store 1 ,mem_ms_b5_function_flag 
-05a6 20600000 rtn 
+05bc 6fe0c9c6 fetch 1 ,mem_ms_b5_function_flag_last 
+05bd 205a05c0 call p_g24_donge_b5_default_set ,blank 
+05be 67e0c9c5 store 1 ,mem_ms_b5_function_flag 
+05bf 20600000 rtn 
 
 p_g24_donge_b5_default_set:
-05a7 58000002 setarg b5_default 
-05a8 20600000 rtn 
+05c0 58000002 setarg b5_default 
+05c1 20600000 rtn 
 
 p_dongle_default_init:
-05a9 204047c3 call dongle_default_init + 1 
-05aa 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-05ab 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-05ac 2040057f call p_g24_dongle_load_b4_flag 
-05ad 20400594 call p_g24_dongle_load_b5_flag 
-05ae 20403281 call g24_enable_1m 
-05af 6fe0c669 fetch 1 ,mem_dg_sys_config 
-05b0 c4000000 rtnbit0 dg_enable_new_revision 
-05b1 7045ca01 jam on ,mem_24g_disable_fec1 
-05b2 20203284 branch g24_enable_2m 
+05c2 204047c3 call dongle_default_init + 1 
+05c3 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+05c4 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+05c5 20400598 call p_g24_dongle_load_b4_flag 
+05c6 204005ad call p_g24_dongle_load_b5_flag 
+05c7 20403281 call g24_enable_1m 
+05c8 6fe0c669 fetch 1 ,mem_dg_sys_config 
+05c9 c4000000 rtnbit0 dg_enable_new_revision 
+05ca 7045ca01 jam on ,mem_24g_disable_fec1 
+05cb 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-05b3 6fe0c669 fetch 1 ,mem_dg_sys_config 
-05b4 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-05b5 7837fc00 enable user3 
-05b6 20000018 nop 24 
-05b7 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-05b8 79207e00 set1 bit_ack_24g ,pdata 
-05b9 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-05ba 204033a5 call g24_ackpayload_prep 
-05bb 204031e5 call g24_transmit_prep 
-05bc 20203195 branch g24_transmit 
+05cc 6fe0c669 fetch 1 ,mem_dg_sys_config 
+05cd c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+05ce 7837fc00 enable user3 
+05cf 20000018 nop 24 
+05d0 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+05d1 79207e00 set1 bit_ack_24g ,pdata 
+05d2 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+05d3 204033a5 call g24_ackpayload_prep 
+05d4 204031e5 call g24_transmit_prep 
+05d5 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(revision 4486)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(working copy)
@@ -909,27 +909,35 @@
 p_usb_tx_mouse_data_check:
 	fetch 7,mem_usb_mouse_data+1
 	store 7,mem_dg_mouse_data
+	call p_dongle_receive_b4_b5_flag_check
+	call p_dongle_ms_data_tx_check
+//==================protocol key tx check====================//
 	fetch 1,mem_dg_mouse_data
 	fetcht 1,mem_dg_mouse_key_data_last
 	store 1,mem_dg_mouse_key_data_last
 	isub temp,null
+	rtn zero
+p_dongle_mouse_key_data_tx_enable:
+	fetch 1,mem_usb_mouse_data+1
+	store 1,mem_usb_key_info_data+5
+	branch p_dongle_usb_tx_ep2_key_data
+
+//====================ms data and key =====================//
+p_dongle_ms_data_tx_check:
+	fetch 1,mem_usb_mouse_data+1
+	fetcht 1,mem_usb_mouse_data_last
+	store 1,mem_usb_mouse_data_last
+	isub temp,null
 	branch p_dongle_receive_mouse_data_check,zero
-	call p_dongle_mouse_data_tx_enable
-	branch p_dongle_mouse_key_data_tx_enable
+	branch p_dongle_mouse_data_tx_enable
 
 p_dongle_receive_mouse_data_check:	
 	fetch 6,mem_dg_mouse_data+1
 	rtn blank
 p_dongle_mouse_data_tx_enable:
-	call p_dongle_receive_b4_b5_flag_check
 	jam USB_EP2_MS,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
-p_dongle_mouse_key_data_tx_enable:
-	fetch 1,mem_usb_mouse_data+1
-	store 1,mem_usb_key_info_data+5
-	branch p_dongle_usb_tx_ep2_key_data
-
 /***********************************************************************************
 * Description: 	b4 fuction check
 * Parameters:  change:b4 bit val=0 and send new fuction
@@ -937,21 +945,47 @@
 p_dongle_receive_b4_b5_flag_check:
 	fetch 1,mem_ms_b4_function_flag
 	sub pdata,B4_DEFAULT,null
-	ncall p_dongle_b4_fuction_change_set,zero
+	ncall p_dongle_b4_fuction_flag_change,zero
 	fetch 1,mem_ms_b5_function_flag
 	sub pdata,B5_DEFAULT,null
-	ncall p_dongle_b5_fuction_change_set,zero
+	ncall p_dongle_b5_fuction_flag_change,zero
 	rtn
 
-p_dongle_b4_fuction_change_set:
+p_dongle_b4_fuction_flag_change:
 	fetch 1,mem_usb_mouse_data+1
 	set0 B4_BIT,pdata
-	call p_dongle_usb_mouse_dat_store
-	fetch 1,mem_dg_mouse_data
+	store 1,mem_usb_mouse_data+1
+	fetch 1,mem_dg_mouse_data	//b4:0x10
+	and pdata,0x10,pdata
+	store 1,mem_ms_b4_key_val
+	fetch 1,mem_ms_b4_key_val
+	fetcht 1,mem_ms_b4_key_val_last
+	store 1,mem_ms_b4_key_val_last
+	isub temp,null
+	rtn zero						//val change-->data in fifo
+	fetch 1,mem_ms_b4_key_val
 	isolate1 B4_BIT,pdata
-	call p_donge_ms_b4_key_press_set,true
-	ncall p_donge_ms_fuction_key_release_set,true
-	rtn
+	branch p_donge_ms_b4_key_press_set,true
+	branch p_donge_ms_fuction_key_release_set
+	
+p_dongle_b5_fuction_flag_change:
+	fetch 1,mem_usb_mouse_data+1
+	set0 B5_BIT,pdata
+	store 1,mem_usb_mouse_data+1
+	fetch 1,mem_dg_mouse_data	//b5:0x08
+	and pdata,0x08,pdata
+	store 1,mem_ms_b5_key_val
+	fetch 1,mem_ms_b5_key_val
+	fetcht 1,mem_ms_b5_key_val_last
+	store 1,mem_ms_b5_key_val_last
+	isub temp,null
+	rtn zero						//val change-->data in fifo
+	fetch 1,mem_ms_b5_key_val
+	isolate1 B5_BIT,pdata
+	branch p_donge_ms_b5_key_press_set,true
+	branch p_donge_ms_fuction_key_release_set
+
+//==================fuction key release===================//
 
 p_donge_ms_fuction_key_release_set:
 	fetch 1,mem_usb_normal_key_flag
@@ -960,9 +994,10 @@
 	ncall p_dongle_ms_multikey_key_release,blank
 	fetch 1,mem_usb_system_key_flag
 	ncall p_dongle_ms_system_key_release,blank
+	fetch 1,mem_usb_task_windows_key_flag
+	ncall p_dongle_ms_task_windows_key_release,blank
 	rtn
 
-
 p_dongle_ms_normal_key_release:
 	jam 0,mem_usb_normal_key_flag
 	arg mem_usb_kb_data,contw
@@ -983,6 +1018,20 @@
 	fetch 3,mem_usb_system_ctrl_release
 	branch p_dongle_ms_tx_system_data+1
 
+p_dongle_ms_task_windows_key_release:
+	jam 0,mem_usb_task_windows_key_flag
+	arg mem_usb_kb_system,contw
+	call memset0_16
+	fetch 3,mem_usb_win_task_windows_release
+	branch p_dongle_ms_tx_normal_data+1
+
+//==================fuction key press===================//
+
+p_donge_ms_b5_key_press_set:
+	fetch 1,mem_ms_b5_function_flag
+	store 1,mem_ms_key_function_flag_temp
+	branch p_dongle_ms_key_press_val_set
+
 p_donge_ms_b4_key_press_set:
 	fetch 1,mem_ms_b4_function_flag
 	store 1,mem_ms_key_function_flag_temp
@@ -1038,6 +1087,13 @@
 	fetch 3,mem_usb_win_win_d
 	branch p_dongle_ms_tx_normal_data
 
+p_dongle_ms_task_windows_set:
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	jam 1,mem_usb_task_windows_key_flag
+	fetch 3,mem_usb_win_task_windows
+	branch p_dongle_ms_tx_normal_data+1
+
 //======================multikey key==========================//
 p_dongle_ms_vol_add_val_set:
 	arg mem_usb_kb_multikey,contw
@@ -1045,8 +1101,7 @@
 	fetch 3,mem_usb_win_vol_add
 p_dongle_ms_tx_multikey_data:
 	jam 1,mem_usb_multikey_key_flag
-	store 3,mem_usb_kb_multikey+1
-	jam KB_MULTIKEY_REPORT_ID,mem_usb_kb_multikey
+	store 3,mem_usb_kb_multikey
 	jam USB_EP2_MULTIKEY,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
@@ -1086,12 +1141,6 @@
 	fetch 3,mem_usb_win_next_play
 	branch p_dongle_ms_tx_multikey_data
 
-p_dongle_ms_task_windows_set:
-	arg mem_usb_kb_multikey,contw
-	call memset0_16
-	fetch 3,mem_usb_win_task_windows
-	branch p_dongle_ms_tx_multikey_data
-
 //======================system key==========================//
 p_dongle_ms_powerdown_val_set:
 	arg mem_usb_kb_system,contw
@@ -1099,33 +1148,10 @@
 	fetch 3,mem_usb_win_powerdown
 p_dongle_ms_tx_system_data:
 	jam 1,mem_usb_system_key_flag
-	store 3,mem_usb_kb_system+1
-	jam KB_SYSTEM_CONCTRL_REPORT_ID,mem_usb_kb_system
+	store 3,mem_usb_kb_system
 	jam USB_EP2_SYSTEMKEY,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
-/***********************************************************************************
-* Description: 	b4 fuction check
-* Parameters:  change:b5 bit val=0 and send new fuction
-************************************************************************************/
-p_dongle_b5_fuction_change_set:
-	fetch 1,mem_usb_mouse_data+1
-	set0 B5_BIT,pdata
-	call p_dongle_usb_mouse_dat_store
-	fetch 1,mem_dg_mouse_data
-	isolate1 B5_BIT,pdata
-	call p_donge_ms_b5_key_press_set,true
-	ncall p_donge_ms_fuction_key_release_set,true
-	rtn
-
-p_donge_ms_b5_key_press_set:
-	fetch 1,mem_ms_b5_function_flag
-	store 1,mem_ms_key_function_flag_temp
-	branch p_dongle_ms_key_press_val_set
-
-
-	
-
 //=================tx app data===================//
 p_dongle_receive_app_data:
 	fetch 1,mem_24g_rxdata_temp+3
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(revision 4481)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(working copy)
@@ -139,6 +139,7 @@
 mem_usb_win_task_windows:04 00 2b
 mem_usb_system_ctrl_release:02 00 00
 mem_usb_multkey_release:03 00 00
+mem_usb_win_task_windows_release:04 00 00
 
 mem_otp_offset_b4_addr:dd 1e		#7901
 mem_otp_offset_b4_addr_end:40 1f  #8000
