Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(revision 4377)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(working copy)
@@ -72,6 +72,20 @@
 2 mem_usb_website_ptr
 40 mem_usb_website_info
 22 mem_usb_website_info_sign
+
+//b5/b5 fuction
+1 mem_ms_b4_function_flag
+1 mem_ms_b4_function_flag_last
+1 mem_ms_b4_function_flag_temp
+1 mem_ms_b5_function_flag
+1 mem_ms_b5_function_flag_last
+1 mem_ms_b5_function_flag_temp
+1 mem_usb_delay_store_b4_flag_count
+1 mem_usb_delay_store_b5_flag_count
+2 mem_otp_offset_b4_addr
+2 mem_otp_offset_b4_addr_end
+2 mem_otp_offset_b5_addr
+2 mem_otp_offset_b5_addr_end
 )
 
 (
@@ -79,6 +93,9 @@
 0xaa PRESS
 0xff LONG_PRESS
 0xee LONG_RELEASE
+
+0x01 B5_DEFAULT
+0x02 B4_DEFAULT
 )
 
 (
@@ -112,6 +129,8 @@
 0x05 HCI_CMD_GET_SN
 0x06 HCI_CMD_SET_BATTERY
 0x07 HCI_CMD_GET_CONNECT_STATE
+0x08 HCI_CMD_SET_B4_FUCTION
+0x09 HCI_CMD_SET_B5_FUCTION
 
 //event
 0x01 HCI_EVENT_DEVICE_INFO_REP
@@ -127,7 +146,7 @@
 (
 0x5A DONGLE_KB_BIND_SUCCESS
 0x1fdf DONGLE_KB_BIND_EFUSE_OFFECT
-0x1f00 DONGLE_KB_BIND_OTP_OFFECT
+0x1fa6 DONGLE_KB_BIND_OTP_OFFECT
 )
 
 (
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(revision 4377)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-1a
-11
+c6
+12
 c2
 84
 00
@@ -23,63 +23,63 @@
 c0
 0a
 03
-b0
+c1
 c0
 0a
 80
-c9
+d0
 c0
 0c
 00
-d7
+de
 c0
 0c
 80
-7d
+84
 c0
 0d
 00
-3d
+40
 c0
 1b
 84
-34
+9d
 c0
 1c
 00
-9c
+a3
 c0
 1c
 80
-98
+9f
 c0
 1e
 84
-0a
+1b
 c0
 62
 80
-95
+9c
 c0
 6d
 03
-81
+92
 c0
 6e
 03
-91
+a2
 c0
 7f
 00
-e2
+e9
 c0
 7f
 81
-65
+76
 c0
 7e
 80
-de
+e5
 20
 20
 23
@@ -87,43 +87,43 @@
 c0
 00
 01
-89
+9a
 c0
 01
 01
-c8
+d9
 c0
 03
 01
-ec
+fd
 c0
 1c
 83
-cc
+dd
 c0
 26
 83
-d0
+e1
 c0
 37
 84
-3c
+a7
 c0
 41
 03
-d2
+e3
 c0
 42
 02
-05
+16
 c0
 44
+04
 03
-f2
 c0
 45
-03
-ff
+04
+10
 c1
 7f
 80
@@ -248,6 +248,18 @@
 60
 00
 00
+37
+d9
+82
+00
+70
+81
+3c
+58
+20
+20
+23
+e2
 70
 89
 46
@@ -258,6 +270,14 @@
 10
 70
 8a
+88
+40
+70
+8a
+13
+cd
+70
+8a
 06
 10
 70
@@ -275,7 +295,15 @@
 20
 40
 00
-9e
+a5
+70
+8a
+88
+40
+70
+8a
+13
+cd
 37
 d9
 82
@@ -291,7 +319,7 @@
 c0
 08
 00
-72
+79
 6f
 e0
 c4
@@ -335,7 +363,7 @@
 20
 40
 00
-64
+6b
 70
 80
 43
@@ -359,15 +387,15 @@
 20
 40
 03
-53
+64
 20
 40
 03
-7e
+8f
 20
 40
 00
-5e
+65
 70
 41
 48
@@ -379,7 +407,7 @@
 20
 20
 03
-80
+91
 20
 75
 80
@@ -411,7 +439,7 @@
 c0
 0c
 00
-6a
+71
 6f
 e0
 c4
@@ -503,7 +531,7 @@
 20
 20
 00
-50
+57
 6f
 e0
 c1
@@ -515,19 +543,19 @@
 c0
 05
 00
-84
+8b
 c0
 4f
 00
-89
+90
 c0
 4f
 80
-8d
+94
 c0
 50
 00
-91
+98
 20
 20
 22
@@ -623,7 +651,7 @@
 da
 40
 1f
-00
+a6
 20
 20
 6b
@@ -631,7 +659,7 @@
 da
 40
 1f
-00
+a6
 20
 20
 47
@@ -639,7 +667,7 @@
 20
 35
 80
-c5
+cc
 6f
 e2
 02
@@ -807,7 +835,7 @@
 20
 20
 00
-af
+b6
 20
 40
 68
@@ -903,7 +931,7 @@
 20
 40
 80
-e8
+ef
 20
 20
 79
@@ -927,7 +955,7 @@
 58
 00
 02
-1a
+2b
 67
 e1
 45
@@ -1091,7 +1119,7 @@
 20
 3a
 01
-5d
+66
 6f
 e0
 c6
@@ -1099,23 +1127,31 @@
 c0
 00
 81
-17
+20
 c0
 01
 81
-26
+2f
 c0
 02
 81
-30
+39
 c0
 03
 01
-39
+42
 c0
 03
 81
-51
+5a
+c0
+04
+01
+6e
+c0
+04
+81
+72
 20
 60
 00
@@ -1179,7 +1215,7 @@
 20
 20
 02
-84
+95
 70
 48
 9c
@@ -1219,7 +1255,7 @@
 20
 20
 02
-84
+95
 70
 48
 55
@@ -1255,7 +1291,7 @@
 20
 20
 02
-84
+95
 70
 48
 dd
@@ -1295,7 +1331,7 @@
 20
 20
 02
-84
+95
 70
 48
 55
@@ -1323,7 +1359,7 @@
 20
 20
 02
-84
+95
 70
 49
 18
@@ -1351,7 +1387,7 @@
 20
 20
 02
-84
+95
 6f
 e0
 c8
@@ -1359,11 +1395,11 @@
 c0
 00
 01
-5d
+66
 c0
 00
 81
-55
+5e
 20
 60
 00
@@ -1399,7 +1435,7 @@
 20
 20
 02
-84
+95
 70
 48
 14
@@ -1431,7 +1467,39 @@
 20
 20
 02
-84
+95
+6f
+e0
+88
+79
+67
+e0
+c9
+b7
+70
+49
+bd
+0a
+20
+60
+00
+00
+6f
+e0
+88
+79
+67
+e0
+c9
+b7
+70
+49
+be
+0a
+20
+60
+00
+00
 6f
 e0
 87
@@ -1463,7 +1531,7 @@
 c0
 00
 81
-79
+8a
 d8
 a0
 08
@@ -1475,7 +1543,7 @@
 20
 20
 01
-70
+81
 6f
 e0
 87
@@ -1499,7 +1567,7 @@
 20
 20
 01
-89
+9a
 6f
 e0
 88
@@ -1507,7 +1575,7 @@
 c0
 51
 01
-04
+0b
 20
 60
 00
@@ -1531,7 +1599,7 @@
 c0
 00
 81
-83
+94
 70
 08
 f7
@@ -1595,7 +1663,7 @@
 c0
 00
 01
-8f
+a0
 20
 20
 23
@@ -1619,11 +1687,11 @@
 c0
 00
 01
-97
+a8
 c0
 00
 81
-d2
+e3
 c0
 01
 79
@@ -1639,7 +1707,7 @@
 c0
 00
 81
-9f
+b0
 c0
 01
 fa
@@ -1655,7 +1723,7 @@
 c0
 05
 81
-b9
+ca
 c0
 03
 f9
@@ -1711,7 +1779,7 @@
 c0
 00
 01
-ae
+bf
 c0
 00
 fa
@@ -1839,7 +1907,7 @@
 c0
 01
 01
-cf
+e0
 c0
 01
 fa
@@ -1879,7 +1947,7 @@
 c0
 04
 81
-d7
+e8
 c0
 05
 fb
@@ -1902,12 +1970,12 @@
 75
 20
 40
-00
-fd
+01
+04
 20
 34
 01
-e4
+f5
 6f
 f1
 0c
@@ -1975,7 +2043,7 @@
 20
 40
 01
-e8
+f9
 6f
 e0
 89
@@ -2027,19 +2095,19 @@
 20
 40
 02
-8d
+9e
 6f
 e0
 c9
 74
 24
 5a
-01
-fd
+02
+0e
 20
 20
 03
-16
+27
 70
 09
 14
@@ -2074,8 +2142,8 @@
 00
 20
 40
-01
-ff
+02
+10
 58
 00
 00
@@ -2103,7 +2171,7 @@
 c2
 82
 02
-11
+22
 c2
 81
 b3
@@ -2111,11 +2179,11 @@
 c2
 82
 82
-11
+22
 c2
 83
 02
-11
+22
 20
 20
 33
@@ -2163,27 +2231,27 @@
 c2
 82
 02
-16
+27
 c2
 81
 82
-4b
+5c
 c2
 82
 82
-53
+64
 c2
 83
 02
-6d
+7e
 c2
 83
 82
-7e
+8f
 20
 20
 02
-21
+32
 6f
 e0
 c5
@@ -2195,11 +2263,11 @@
 20
 22
 82
-33
+44
 20
 40
 02
-33
+44
 6f
 e0
 c5
@@ -2235,23 +2303,23 @@
 c2
 82
 02
-16
+27
 c2
 81
 82
-4b
+5c
 c2
 82
 82
-53
+64
 c2
 83
 02
-6d
+7e
 c2
 83
 82
-7e
+8f
 20
 60
 00
@@ -2315,15 +2383,15 @@
 20
 22
 82
-44
+55
 20
 40
 02
-46
+57
 20
 20
 02
-48
+59
 6f
 e3
 49
@@ -2339,7 +2407,7 @@
 20
 20
 02
-84
+95
 6f
 e0
 89
@@ -2351,7 +2419,7 @@
 20
 20
 01
-4a
+53
 6f
 e0
 c5
@@ -2383,7 +2451,7 @@
 20
 20
 01
-43
+4c
 6f
 e1
 45
@@ -2407,7 +2475,7 @@
 24
 42
 82
-5e
+6f
 6f
 e0
 c8
@@ -2423,7 +2491,7 @@
 24
 42
 82
-61
+72
 20
 60
 00
@@ -2439,7 +2507,7 @@
 20
 20
 01
-27
+30
 6f
 e0
 c8
@@ -2451,11 +2519,11 @@
 c0
 2a
 82
-66
+77
 c0
 55
 02
-69
+7a
 20
 60
 00
@@ -2471,7 +2539,7 @@
 20
 20
 02
-6b
+7c
 6f
 e0
 c9
@@ -2487,7 +2555,7 @@
 20
 20
 01
-4a
+53
 6f
 20
 c5
@@ -2547,7 +2615,7 @@
 20
 40
 02
-55
+66
 6f
 e0
 c5
@@ -2555,7 +2623,7 @@
 20
 20
 02
-7f
+90
 6f
 e0
 c5
@@ -2579,7 +2647,7 @@
 20
 20
 01
-3a
+43
 6f
 e0
 89
@@ -2663,7 +2731,7 @@
 c0
 08
 82
-9a
+ab
 20
 20
 23
@@ -2675,43 +2743,43 @@
 c0
 00
 02
-a6
+b7
 c0
 00
 82
-a8
+b9
 c0
 01
 02
-b6
+c7
 c0
 01
 82
-ba
+cb
 c0
 02
 02
-ca
+db
 c0
 02
 82
-d1
+e2
 c0
 03
 02
-c0
+d1
 c0
 03
 82
-c4
+d5
 c0
 04
 02
-c6
+d7
 c0
 04
 82
-c8
+d9
 20
 60
 00
@@ -2739,11 +2807,11 @@
 c0
 00
 02
-ae
+bf
 c0
 00
 82
-b2
+c3
 20
 60
 00
@@ -2843,7 +2911,7 @@
 20
 20
 02
-bb
+cc
 70
 49
 74
@@ -2851,7 +2919,7 @@
 20
 20
 02
-c1
+d2
 70
 49
 74
@@ -2859,7 +2927,7 @@
 20
 20
 02
-bb
+cc
 6f
 e0
 c9
@@ -2895,11 +2963,11 @@
 c0
 00
 82
-bb
+cc
 c0
 00
 02
-d7
+e8
 20
 60
 00
@@ -2935,15 +3003,15 @@
 20
 22
 82
-d5
+e6
 20
 40
 02
-e7
+f8
 20
 40
 03
-09
+1a
 6f
 e0
 c9
@@ -2991,7 +3059,7 @@
 24
 21
 02
-ee
+ff
 da
 40
 00
@@ -3003,7 +3071,7 @@
 20
 21
 03
-05
+16
 ef
 e0
 80
@@ -3014,8 +3082,8 @@
 39
 24
 21
-02
-f4
+03
+05
 da
 40
 00
@@ -3027,23 +3095,23 @@
 20
 21
 03
-07
+18
 1f
 e6
 7c
 3a
 20
 22
-82
-fd
+83
+0e
 1f
 e6
 7c
 2f
 20
 22
-82
-ff
+83
+10
 1f
 e6
 7c
@@ -3051,7 +3119,7 @@
 20
 22
 83
-01
+12
 1f
 e6
 7c
@@ -3059,7 +3127,7 @@
 20
 22
 83
-03
+14
 20
 60
 00
@@ -3147,11 +3215,11 @@
 20
 22
 83
-14
+25
 c2
 00
 03
-0f
+20
 20
 60
 00
@@ -3227,27 +3295,27 @@
 c0
 12
 03
-3e
+4f
 c0
 13
 03
-36
+47
 c0
 14
 83
-36
+47
 c0
 11
 83
-36
+47
 c0
 18
 03
-4c
+5d
 c0
 12
 83
-45
+56
 c0
 10
 fc
@@ -3259,7 +3327,7 @@
 c0
 13
 83
-2f
+40
 20
 20
 23
@@ -3291,7 +3359,7 @@
 20
 20
 03
-3c
+4d
 6f
 e0
 c8
@@ -3351,7 +3419,7 @@
 20
 20
 03
-3c
+4d
 6f
 e0
 c8
@@ -3379,7 +3447,7 @@
 20
 20
 03
-3c
+4d
 6f
 e0
 c9
@@ -3407,7 +3475,7 @@
 20
 20
 03
-3c
+4d
 20
 75
 80
@@ -3459,7 +3527,7 @@
 20
 40
 03
-70
+81
 2a
 2f
 fe
@@ -3491,7 +3559,7 @@
 20
 40
 03
-70
+81
 d8
 a0
 8a
@@ -3519,7 +3587,7 @@
 20
 21
 03
-65
+76
 20
 20
 21
@@ -3623,7 +3691,7 @@
 20
 40
 03
-a9
+ba
 70
 8a
 08
@@ -3659,7 +3727,7 @@
 20
 40
 03
-9f
+b0
 6f
 f0
 8a
@@ -3703,7 +3771,7 @@
 20
 40
 03
-a9
+ba
 70
 80
 cd
@@ -3763,7 +3831,7 @@
 c3
 02
 83
-aa
+bb
 68
 59
 01
@@ -3799,7 +3867,7 @@
 c0
 08
 03
-c9
+da
 58
 00
 57
@@ -3843,7 +3911,7 @@
 c0
 08
 03
-c6
+d7
 58
 00
 2b
@@ -3879,7 +3947,7 @@
 20
 20
 03
-c2
+d3
 58
 00
 83
@@ -3891,7 +3959,7 @@
 20
 20
 03
-b7
+c8
 6f
 e0
 c3
@@ -3931,7 +3999,7 @@
 c0
 11
 03
-d8
+e9
 c0
 7f
 b5
@@ -3947,7 +4015,7 @@
 20
 3a
 03
-de
+ef
 6f
 e2
 45
@@ -3971,11 +4039,11 @@
 c0
 00
 83
-e2
+f3
 c0
 01
 03
-ea
+fb
 20
 60
 00
@@ -3995,7 +4063,7 @@
 c0
 01
 03
-e7
+f8
 20
 60
 00
@@ -4026,8 +4094,8 @@
 d4
 c0
 80
-03
-ef
+04
+00
 20
 60
 00
@@ -4107,7 +4175,7 @@
 20
 40
 04
-03
+14
 20
 20
 34
@@ -4143,11 +4211,11 @@
 20
 40
 04
-17
+28
 20
 40
 04
-19
+2a
 6f
 e0
 89
@@ -4191,7 +4259,7 @@
 20
 20
 01
-76
+87
 58
 00
 00
@@ -4215,11 +4283,19 @@
 20
 40
 04
-21
+34
 20
 40
 04
-24
+37
+20
+40
+04
+47
+20
+40
+04
+5e
 d8
 e0
 00
@@ -4243,7 +4319,7 @@
 20
 20
 02
-16
+27
 6f
 e0
 c6
@@ -4308,168 +4384,520 @@
 60
 00
 00
+da
+60
+49
+bd
+da
+40
+04
+4a
+20
+20
+42
+e0
+6a
+41
+49
+bf
+1a
+42
+26
+00
 20
 40
-47
-c3
+04
+7f
 6f
 e0
-c6
-95
+c9
+b9
+20
+3a
+04
+56
 67
 e0
-c5
-d1
-20
-40
-32
-81
+c9
+b8
+1a
+60
+a6
+01
 6f
-e0
-c6
-69
-c4
+e1
+49
+c1
+9a
+66
+7c
 00
+24
+61
 00
 00
-70
-45
-ca
-01
+1a
+62
+24
+00
 20
 20
-32
-84
+04
+4c
+68
+48
+c9
+b8
 6f
 e0
-c6
-69
-c3
-00
-31
-65
-78
-37
-fc
+c9
+b7
+98
+46
+7c
 00
 20
+62
+80
 00
-00
-18
-6f
-e0
-c4
-f8
-79
+da
+20
+49
+b7
+df
 20
-7e
 00
-67
-e0
-c4
-f8
+01
+1a
+62
+24
+00
 20
-40
-33
-a5
 20
+6b
+45
+da
+60
+49
+be
+da
 40
-31
-e5
+04
+61
 20
 20
-31
-95
-0a
-6b
-aa
-55
-40
-00
+42
+e0
+6a
+41
+49
+c3
+1a
+42
+26
 00
+20
 40
-05
-00
-32
-07
-00
-00
-80
-23
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
+04
+94
+6f
+e0
+c9
+bc
 20
-00
-00
-14
-00
-00
-00
+3a
+04
+6d
+67
 e0
-45
-00
-00
-00
+c9
+bb
+1a
+60
+a6
+01
+6f
+e1
+49
+c5
+9a
+66
+7c
 00
+24
+61
 00
 00
-02
+1a
+62
+24
 00
 20
+20
+04
+63
+68
+48
+c9
+bb
+6f
+e0
+c9
+ba
+98
+46
+7c
 00
-00
-00
+20
+62
 80
 00
+da
+20
+49
+ba
+20
+20
+04
+5b
+6a
+41
+49
+bf
+1a
+42
+26
 00
-14
-05
-00
-00
-00
-00
-00
+20
+40
+04
+7f
+6f
+e0
+c9
+b9
+20
+3a
+04
+82
+67
+e0
+c9
+b8
+1a
+60
+a6
+01
+6f
+e1
+49
+c1
+9a
+66
+7c
 00
+24
+21
+04
+82
+1a
+62
+24
 00
+20
+20
+04
+75
+df
+20
 00
+01
+da
+20
+49
+b9
+20
+20
+6b
+74
+6f
+e0
+c9
+b8
+20
+5a
+04
+86
+67
+e0
+c9
+b7
+20
+60
 00
 00
+58
 00
 00
+02
+20
+60
 00
 00
-aa
-55
-01
+6a
+41
+49
+c3
+1a
+42
+26
 00
-cb
-43
+20
+40
+04
+94
+6f
+e0
+c9
+bc
+20
+3a
+04
+97
+67
+e0
+c9
+bb
+1a
+60
+a6
+01
+6f
+e1
+49
+c5
+9a
+66
+7c
+00
+24
+21
+04
+97
+1a
+62
+24
+00
+20
+20
+04
+8a
+df
+20
+00
+01
+da
+20
+49
+bc
+20
+20
+6b
+74
+6f
+e0
+c9
+bb
+20
+5a
+04
+9b
+67
+e0
+c9
+ba
+20
+60
+00
+00
+58
+00
+00
+01
+20
+60
+00
+00
+20
+40
+47
+c3
+6f
+e0
+c6
+95
+67
+e0
+c5
+d1
+20
+40
+04
+73
+20
+40
+04
+88
+20
+40
+32
+81
+6f
+e0
+c6
+69
+c4
+00
+00
+00
+70
+45
+ca
+01
+20
+20
+32
+84
+6f
+e0
+c6
+69
+c3
+00
+31
+65
+78
+37
+fc
+00
+20
+00
+00
+18
+6f
+e0
+c4
+f8
+79
+20
+7e
+00
+67
+e0
+c4
+f8
+20
+40
+33
+a5
+20
+40
+31
+e5
+20
+20
+31
+95
+a6
+9a
+aa
+55
+40
+00
+00
+40
+05
+00
+32
+07
+00
+00
+80
+23
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+20
+00
+00
+14
+00
+00
+00
+e0
+45
+00
+00
+00
+00
+00
+00
+02
+00
+20
+00
+00
+00
+80
+00
+00
+14
+05
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+01
+00
+cb
+43
 04
 aa
 55
 01
 00
-ec
-44
-ff
-aa
-55
-01
-00
+ec
+44
+ff
+aa
+55
+01
+00
 1c
 02
 5a
@@ -4821,8 +5249,22 @@
 00
 0c
 48
+09
+00
+aa
+55
 08
 00
+bf
+49
+dd
+1e
+40
+1f
+41
+1f
+a4
+1f
 aa
 55
 09
@@ -4830,703 +5272,261 @@
 6a
 49
 08
-00
-15
-08
-00
-2c
-00
-00
-28
-aa
-55
-11
-00
-77
-49
-7a
-49
-0e
-77
-77
-77
-2e
-76
-64
-2d
-6d
-6b
-73
-2e
-63
-6f
-6d
-aa
-55
-16
-00
-a1
-49
-15
-7e
-21
-40
-23
-24
-25
-5e
-26
-2a
-28
-29
-5f
-2b
-7b
-7d
-7c
-22
-3a
-3e
-3f
-3c
-aa
-55
-01
-00
-48
-41
-0c
-aa
-55
-06
-00
-c3
-40
-35
-3f
-64
-db
-7b
-3b
-aa
-55
-01
-00
-a7
-40
-20
-aa
-55
-03
-00
-c9
-40
-00
-08
-a5
-aa
-55
-01
-00
-99
-40
-18
-aa
-55
-01
-00
-1c
-41
-3e
-aa
-55
-0c
-00
-16
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-aa
-55
-05
-00
-5e
-41
-08
-0e
-05
-03
-00
-aa
-55
-01
-00
-68
-41
-20
-aa
-55
-02
-00
-9a
-40
-00
-0c
-aa
-55
-05
-00
-43
-41
-ff
-04
-00
-00
-08
-aa
-55
-01
-00
-07
-44
-01
-aa
-55
-01
-00
-09
-44
-0a
-aa
-55
-01
-00
-08
-44
-00
-aa
-55
-01
-00
-11
-44
-00
-aa
-55
-04
-00
-0d
-44
-00
-07
-ff
-07
-aa
-55
-01
-00
-38
-44
-a0
-aa
-55
-02
-00
-3b
-44
-bc
-02
-aa
-55
-02
-00
-39
-44
-90
-01
-aa
-55
-02
-00
-3d
-44
-03
-09
-aa
-55
-01
-00
-49
-41
-ff
-aa
-55
-02
-00
-9c
-40
-49
-41
-55
-aa
-aa
-55
-e3
-96
-d8
-47
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+00
+15
+08
+00
+2c
+00
+00
+28
+aa
+55
+11
+00
+77
+49
+7a
+49
+0e
+77
+77
+77
+2e
+76
+64
+2d
+6d
+6b
+73
+2e
+63
+6f
+6d
+aa
+55
+16
+00
+a1
+49
+15
+7e
+21
+40
+23
+24
+25
+5e
+26
+2a
+28
+29
+5f
+2b
+7b
+7d
+7c
+22
+3a
+3e
+3f
+3c
+aa
+55
+01
+00
+48
+41
+0c
+aa
+55
+06
+00
+c3
+40
+35
+3f
+64
+db
+7b
+3b
+aa
+55
+01
+00
+a7
+40
+20
+aa
+55
+03
+00
+c9
+40
+00
+08
+a5
+aa
+55
+01
+00
+99
+40
+18
+aa
+55
+01
+00
+1c
+41
+3e
+aa
+55
+0c
+00
+16
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+05
+00
+5e
+41
+08
+0e
+05
+03
+00
+aa
+55
+01
+00
+68
+41
+20
+aa
+55
+02
+00
+9a
+40
+00
+0c
+aa
+55
+05
+00
+43
+41
 ff
+04
+00
+00
+08
+aa
+55
+01
+00
+07
+44
+01
+aa
+55
+01
+00
+09
+44
+0a
+aa
+55
+01
+00
+08
+44
+00
+aa
+55
+01
+00
+11
+44
+00
+aa
+55
+04
+00
+0d
+44
+00
+07
 ff
+07
+aa
+55
+01
+00
+38
+44
+a0
+aa
+55
+02
+00
+3b
+44
+bc
+02
+aa
+55
+02
+00
+39
+44
+90
+01
+aa
+55
+02
+00
+3d
+44
+03
+09
+aa
+55
+01
+00
+49
+41
 ff
+aa
+55
+02
+00
+9c
+40
+49
+41
+55
+aa
+aa
+55
+70
+9b
+08
+06
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-64
-4a
+f9
+93
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(revision 4377)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(working copy)
@@ -1523,6 +1523,18 @@
 0x4977 mem_usb_website_ptr
 0x4979 mem_usb_website_info
 0x49a1 mem_usb_website_info_sign
+0x49b7 mem_ms_b4_function_flag
+0x49b8 mem_ms_b4_function_flag_last
+0x49b9 mem_ms_b4_function_flag_temp
+0x49ba mem_ms_b5_function_flag
+0x49bb mem_ms_b5_function_flag_last
+0x49bc mem_ms_b5_function_flag_temp
+0x49bd mem_usb_delay_store_b4_flag_count
+0x49be mem_usb_delay_store_b5_flag_count
+0x49bf mem_otp_offset_b4_addr
+0x49c1 mem_otp_offset_b4_addr_end
+0x49c3 mem_otp_offset_b5_addr
+0x49c5 mem_otp_offset_b5_addr_end
 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 4377)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-1a
-11
+c6
+12
 c2
 84
 00
@@ -32,63 +32,63 @@
 c0
 0a
 03
-b0
+c1
 c0
 0a
 80
-c9
+d0
 c0
 0c
 00
-d7
+de
 c0
 0c
 80
-7d
+84
 c0
 0d
 00
-3d
+40
 c0
 1b
 84
-34
+9d
 c0
 1c
 00
-9c
+a3
 c0
 1c
 80
-98
+9f
 c0
 1e
 84
-0a
+1b
 c0
 62
 80
-95
+9c
 c0
 6d
 03
-81
+92
 c0
 6e
 03
-91
+a2
 c0
 7f
 00
-e2
+e9
 c0
 7f
 81
-65
+76
 c0
 7e
 80
-de
+e5
 20
 20
 23
@@ -96,43 +96,43 @@
 c0
 00
 01
-89
+9a
 c0
 01
 01
-c8
+d9
 c0
 03
 01
-ec
+fd
 c0
 1c
 83
-cc
+dd
 c0
 26
 83
-d0
+e1
 c0
 37
 84
-3c
+a7
 c0
 41
 03
-d2
+e3
 c0
 42
 02
-05
+16
 c0
 44
+04
 03
-f2
 c0
 45
-03
-ff
+04
+10
 c1
 7f
 80
@@ -257,6 +257,18 @@
 60
 00
 00
+37
+d9
+82
+00
+70
+81
+3c
+58
+20
+20
+23
+e2
 70
 89
 46
@@ -267,6 +279,14 @@
 10
 70
 8a
+88
+40
+70
+8a
+13
+cd
+70
+8a
 06
 10
 70
@@ -284,7 +304,15 @@
 20
 40
 00
-9e
+a5
+70
+8a
+88
+40
+70
+8a
+13
+cd
 37
 d9
 82
@@ -300,7 +328,7 @@
 c0
 08
 00
-72
+79
 6f
 e0
 c4
@@ -344,7 +372,7 @@
 20
 40
 00
-64
+6b
 70
 80
 43
@@ -368,15 +396,15 @@
 20
 40
 03
-53
+64
 20
 40
 03
-7e
+8f
 20
 40
 00
-5e
+65
 70
 41
 48
@@ -388,7 +416,7 @@
 20
 20
 03
-80
+91
 20
 75
 80
@@ -420,7 +448,7 @@
 c0
 0c
 00
-6a
+71
 6f
 e0
 c4
@@ -512,7 +540,7 @@
 20
 20
 00
-50
+57
 6f
 e0
 c1
@@ -524,19 +552,19 @@
 c0
 05
 00
-84
+8b
 c0
 4f
 00
-89
+90
 c0
 4f
 80
-8d
+94
 c0
 50
 00
-91
+98
 20
 20
 22
@@ -632,7 +660,7 @@
 da
 40
 1f
-00
+a6
 20
 20
 6b
@@ -640,7 +668,7 @@
 da
 40
 1f
-00
+a6
 20
 20
 47
@@ -648,7 +676,7 @@
 20
 35
 80
-c5
+cc
 6f
 e2
 02
@@ -816,7 +844,7 @@
 20
 20
 00
-af
+b6
 20
 40
 68
@@ -912,7 +940,7 @@
 20
 40
 80
-e8
+ef
 20
 20
 79
@@ -936,7 +964,7 @@
 58
 00
 02
-1a
+2b
 67
 e1
 45
@@ -1100,7 +1128,7 @@
 20
 3a
 01
-5d
+66
 6f
 e0
 c6
@@ -1108,23 +1136,31 @@
 c0
 00
 81
-17
+20
 c0
 01
 81
-26
+2f
 c0
 02
 81
-30
+39
 c0
 03
 01
-39
+42
 c0
 03
 81
-51
+5a
+c0
+04
+01
+6e
+c0
+04
+81
+72
 20
 60
 00
@@ -1188,7 +1224,7 @@
 20
 20
 02
-84
+95
 70
 48
 9c
@@ -1228,7 +1264,7 @@
 20
 20
 02
-84
+95
 70
 48
 55
@@ -1264,7 +1300,7 @@
 20
 20
 02
-84
+95
 70
 48
 dd
@@ -1304,7 +1340,7 @@
 20
 20
 02
-84
+95
 70
 48
 55
@@ -1332,7 +1368,7 @@
 20
 20
 02
-84
+95
 70
 49
 18
@@ -1360,7 +1396,7 @@
 20
 20
 02
-84
+95
 6f
 e0
 c8
@@ -1368,11 +1404,11 @@
 c0
 00
 01
-5d
+66
 c0
 00
 81
-55
+5e
 20
 60
 00
@@ -1408,7 +1444,7 @@
 20
 20
 02
-84
+95
 70
 48
 14
@@ -1440,7 +1476,39 @@
 20
 20
 02
-84
+95
+6f
+e0
+88
+79
+67
+e0
+c9
+b7
+70
+49
+bd
+0a
+20
+60
+00
+00
+6f
+e0
+88
+79
+67
+e0
+c9
+b7
+70
+49
+be
+0a
+20
+60
+00
+00
 6f
 e0
 87
@@ -1472,7 +1540,7 @@
 c0
 00
 81
-79
+8a
 d8
 a0
 08
@@ -1484,7 +1552,7 @@
 20
 20
 01
-70
+81
 6f
 e0
 87
@@ -1508,7 +1576,7 @@
 20
 20
 01
-89
+9a
 6f
 e0
 88
@@ -1516,7 +1584,7 @@
 c0
 51
 01
-04
+0b
 20
 60
 00
@@ -1540,7 +1608,7 @@
 c0
 00
 81
-83
+94
 70
 08
 f7
@@ -1604,7 +1672,7 @@
 c0
 00
 01
-8f
+a0
 20
 20
 23
@@ -1628,11 +1696,11 @@
 c0
 00
 01
-97
+a8
 c0
 00
 81
-d2
+e3
 c0
 01
 79
@@ -1648,7 +1716,7 @@
 c0
 00
 81
-9f
+b0
 c0
 01
 fa
@@ -1664,7 +1732,7 @@
 c0
 05
 81
-b9
+ca
 c0
 03
 f9
@@ -1720,7 +1788,7 @@
 c0
 00
 01
-ae
+bf
 c0
 00
 fa
@@ -1848,7 +1916,7 @@
 c0
 01
 01
-cf
+e0
 c0
 01
 fa
@@ -1888,7 +1956,7 @@
 c0
 04
 81
-d7
+e8
 c0
 05
 fb
@@ -1911,12 +1979,12 @@
 75
 20
 40
-00
-fd
+01
+04
 20
 34
 01
-e4
+f5
 6f
 f1
 0c
@@ -1984,7 +2052,7 @@
 20
 40
 01
-e8
+f9
 6f
 e0
 89
@@ -2036,19 +2104,19 @@
 20
 40
 02
-8d
+9e
 6f
 e0
 c9
 74
 24
 5a
-01
-fd
+02
+0e
 20
 20
 03
-16
+27
 70
 09
 14
@@ -2083,8 +2151,8 @@
 00
 20
 40
-01
-ff
+02
+10
 58
 00
 00
@@ -2112,7 +2180,7 @@
 c2
 82
 02
-11
+22
 c2
 81
 b3
@@ -2120,11 +2188,11 @@
 c2
 82
 82
-11
+22
 c2
 83
 02
-11
+22
 20
 20
 33
@@ -2172,27 +2240,27 @@
 c2
 82
 02
-16
+27
 c2
 81
 82
-4b
+5c
 c2
 82
 82
-53
+64
 c2
 83
 02
-6d
+7e
 c2
 83
 82
-7e
+8f
 20
 20
 02
-21
+32
 6f
 e0
 c5
@@ -2204,11 +2272,11 @@
 20
 22
 82
-33
+44
 20
 40
 02
-33
+44
 6f
 e0
 c5
@@ -2244,23 +2312,23 @@
 c2
 82
 02
-16
+27
 c2
 81
 82
-4b
+5c
 c2
 82
 82
-53
+64
 c2
 83
 02
-6d
+7e
 c2
 83
 82
-7e
+8f
 20
 60
 00
@@ -2324,15 +2392,15 @@
 20
 22
 82
-44
+55
 20
 40
 02
-46
+57
 20
 20
 02
-48
+59
 6f
 e3
 49
@@ -2348,7 +2416,7 @@
 20
 20
 02
-84
+95
 6f
 e0
 89
@@ -2360,7 +2428,7 @@
 20
 20
 01
-4a
+53
 6f
 e0
 c5
@@ -2392,7 +2460,7 @@
 20
 20
 01
-43
+4c
 6f
 e1
 45
@@ -2416,7 +2484,7 @@
 24
 42
 82
-5e
+6f
 6f
 e0
 c8
@@ -2432,7 +2500,7 @@
 24
 42
 82
-61
+72
 20
 60
 00
@@ -2448,7 +2516,7 @@
 20
 20
 01
-27
+30
 6f
 e0
 c8
@@ -2460,11 +2528,11 @@
 c0
 2a
 82
-66
+77
 c0
 55
 02
-69
+7a
 20
 60
 00
@@ -2480,7 +2548,7 @@
 20
 20
 02
-6b
+7c
 6f
 e0
 c9
@@ -2496,7 +2564,7 @@
 20
 20
 01
-4a
+53
 6f
 20
 c5
@@ -2556,7 +2624,7 @@
 20
 40
 02
-55
+66
 6f
 e0
 c5
@@ -2564,7 +2632,7 @@
 20
 20
 02
-7f
+90
 6f
 e0
 c5
@@ -2588,7 +2656,7 @@
 20
 20
 01
-3a
+43
 6f
 e0
 89
@@ -2672,7 +2740,7 @@
 c0
 08
 82
-9a
+ab
 20
 20
 23
@@ -2684,43 +2752,43 @@
 c0
 00
 02
-a6
+b7
 c0
 00
 82
-a8
+b9
 c0
 01
 02
-b6
+c7
 c0
 01
 82
-ba
+cb
 c0
 02
 02
-ca
+db
 c0
 02
 82
-d1
+e2
 c0
 03
 02
-c0
+d1
 c0
 03
 82
-c4
+d5
 c0
 04
 02
-c6
+d7
 c0
 04
 82
-c8
+d9
 20
 60
 00
@@ -2748,11 +2816,11 @@
 c0
 00
 02
-ae
+bf
 c0
 00
 82
-b2
+c3
 20
 60
 00
@@ -2852,7 +2920,7 @@
 20
 20
 02
-bb
+cc
 70
 49
 74
@@ -2860,7 +2928,7 @@
 20
 20
 02
-c1
+d2
 70
 49
 74
@@ -2868,7 +2936,7 @@
 20
 20
 02
-bb
+cc
 6f
 e0
 c9
@@ -2904,11 +2972,11 @@
 c0
 00
 82
-bb
+cc
 c0
 00
 02
-d7
+e8
 20
 60
 00
@@ -2944,15 +3012,15 @@
 20
 22
 82
-d5
+e6
 20
 40
 02
-e7
+f8
 20
 40
 03
-09
+1a
 6f
 e0
 c9
@@ -3000,7 +3068,7 @@
 24
 21
 02
-ee
+ff
 da
 40
 00
@@ -3012,7 +3080,7 @@
 20
 21
 03
-05
+16
 ef
 e0
 80
@@ -3023,8 +3091,8 @@
 39
 24
 21
-02
-f4
+03
+05
 da
 40
 00
@@ -3036,23 +3104,23 @@
 20
 21
 03
-07
+18
 1f
 e6
 7c
 3a
 20
 22
-82
-fd
+83
+0e
 1f
 e6
 7c
 2f
 20
 22
-82
-ff
+83
+10
 1f
 e6
 7c
@@ -3060,7 +3128,7 @@
 20
 22
 83
-01
+12
 1f
 e6
 7c
@@ -3068,7 +3136,7 @@
 20
 22
 83
-03
+14
 20
 60
 00
@@ -3156,11 +3224,11 @@
 20
 22
 83
-14
+25
 c2
 00
 03
-0f
+20
 20
 60
 00
@@ -3236,27 +3304,27 @@
 c0
 12
 03
-3e
+4f
 c0
 13
 03
-36
+47
 c0
 14
 83
-36
+47
 c0
 11
 83
-36
+47
 c0
 18
 03
-4c
+5d
 c0
 12
 83
-45
+56
 c0
 10
 fc
@@ -3268,7 +3336,7 @@
 c0
 13
 83
-2f
+40
 20
 20
 23
@@ -3300,7 +3368,7 @@
 20
 20
 03
-3c
+4d
 6f
 e0
 c8
@@ -3360,7 +3428,7 @@
 20
 20
 03
-3c
+4d
 6f
 e0
 c8
@@ -3388,7 +3456,7 @@
 20
 20
 03
-3c
+4d
 6f
 e0
 c9
@@ -3416,7 +3484,7 @@
 20
 20
 03
-3c
+4d
 20
 75
 80
@@ -3468,7 +3536,7 @@
 20
 40
 03
-70
+81
 2a
 2f
 fe
@@ -3500,7 +3568,7 @@
 20
 40
 03
-70
+81
 d8
 a0
 8a
@@ -3528,7 +3596,7 @@
 20
 21
 03
-65
+76
 20
 20
 21
@@ -3632,7 +3700,7 @@
 20
 40
 03
-a9
+ba
 70
 8a
 08
@@ -3668,7 +3736,7 @@
 20
 40
 03
-9f
+b0
 6f
 f0
 8a
@@ -3712,7 +3780,7 @@
 20
 40
 03
-a9
+ba
 70
 80
 cd
@@ -3772,7 +3840,7 @@
 c3
 02
 83
-aa
+bb
 68
 59
 01
@@ -3808,7 +3876,7 @@
 c0
 08
 03
-c9
+da
 58
 00
 57
@@ -3852,7 +3920,7 @@
 c0
 08
 03
-c6
+d7
 58
 00
 2b
@@ -3888,7 +3956,7 @@
 20
 20
 03
-c2
+d3
 58
 00
 83
@@ -3900,7 +3968,7 @@
 20
 20
 03
-b7
+c8
 6f
 e0
 c3
@@ -3940,7 +4008,7 @@
 c0
 11
 03
-d8
+e9
 c0
 7f
 b5
@@ -3956,7 +4024,7 @@
 20
 3a
 03
-de
+ef
 6f
 e2
 45
@@ -3980,11 +4048,11 @@
 c0
 00
 83
-e2
+f3
 c0
 01
 03
-ea
+fb
 20
 60
 00
@@ -4004,7 +4072,7 @@
 c0
 01
 03
-e7
+f8
 20
 60
 00
@@ -4035,8 +4103,8 @@
 d4
 c0
 80
-03
-ef
+04
+00
 20
 60
 00
@@ -4116,7 +4184,7 @@
 20
 40
 04
-03
+14
 20
 20
 34
@@ -4152,11 +4220,11 @@
 20
 40
 04
-17
+28
 20
 40
 04
-19
+2a
 6f
 e0
 89
@@ -4200,7 +4268,7 @@
 20
 20
 01
-76
+87
 58
 00
 00
@@ -4224,11 +4292,19 @@
 20
 40
 04
-21
+34
 20
 40
 04
-24
+37
+20
+40
+04
+47
+20
+40
+04
+5e
 d8
 e0
 00
@@ -4252,7 +4328,7 @@
 20
 20
 02
-16
+27
 6f
 e0
 c6
@@ -4317,44 +4393,396 @@
 60
 00
 00
+da
+60
+49
+bd
+da
+40
+04
+4a
+20
+20
+42
+e0
+6a
+41
+49
+bf
+1a
+42
+26
+00
 20
 40
-47
-c3
+04
+7f
 6f
 e0
-c6
-95
+c9
+b9
+20
+3a
+04
+56
 67
 e0
-c5
-d1
-20
-40
-32
-81
+c9
+b8
+1a
+60
+a6
+01
 6f
-e0
-c6
-69
-c4
+e1
+49
+c1
+9a
+66
+7c
 00
+24
+61
 00
 00
-70
-45
-ca
-01
+1a
+62
+24
+00
 20
 20
-32
-84
+04
+4c
+68
+48
+c9
+b8
 6f
 e0
-c6
-69
-c3
-00
+c9
+b7
+98
+46
+7c
+00
+20
+62
+80
+00
+da
+20
+49
+b7
+df
+20
+00
+01
+1a
+62
+24
+00
+20
+20
+6b
+45
+da
+60
+49
+be
+da
+40
+04
+61
+20
+20
+42
+e0
+6a
+41
+49
+c3
+1a
+42
+26
+00
+20
+40
+04
+94
+6f
+e0
+c9
+bc
+20
+3a
+04
+6d
+67
+e0
+c9
+bb
+1a
+60
+a6
+01
+6f
+e1
+49
+c5
+9a
+66
+7c
+00
+24
+61
+00
+00
+1a
+62
+24
+00
+20
+20
+04
+63
+68
+48
+c9
+bb
+6f
+e0
+c9
+ba
+98
+46
+7c
+00
+20
+62
+80
+00
+da
+20
+49
+ba
+20
+20
+04
+5b
+6a
+41
+49
+bf
+1a
+42
+26
+00
+20
+40
+04
+7f
+6f
+e0
+c9
+b9
+20
+3a
+04
+82
+67
+e0
+c9
+b8
+1a
+60
+a6
+01
+6f
+e1
+49
+c1
+9a
+66
+7c
+00
+24
+21
+04
+82
+1a
+62
+24
+00
+20
+20
+04
+75
+df
+20
+00
+01
+da
+20
+49
+b9
+20
+20
+6b
+74
+6f
+e0
+c9
+b8
+20
+5a
+04
+86
+67
+e0
+c9
+b7
+20
+60
+00
+00
+58
+00
+00
+02
+20
+60
+00
+00
+6a
+41
+49
+c3
+1a
+42
+26
+00
+20
+40
+04
+94
+6f
+e0
+c9
+bc
+20
+3a
+04
+97
+67
+e0
+c9
+bb
+1a
+60
+a6
+01
+6f
+e1
+49
+c5
+9a
+66
+7c
+00
+24
+21
+04
+97
+1a
+62
+24
+00
+20
+20
+04
+8a
+df
+20
+00
+01
+da
+20
+49
+bc
+20
+20
+6b
+74
+6f
+e0
+c9
+bb
+20
+5a
+04
+9b
+67
+e0
+c9
+ba
+20
+60
+00
+00
+58
+00
+00
+01
+20
+60
+00
+00
+20
+40
+47
+c3
+6f
+e0
+c6
+95
+67
+e0
+c5
+d1
+20
+40
+04
+73
+20
+40
+04
+88
+20
+40
+32
+81
+6f
+e0
+c6
+69
+c4
+00
+00
+00
+70
+45
+ca
+01
+20
+20
+32
+84
+6f
+e0
+c6
+69
+c3
+00
 31
 65
 78
@@ -4389,8 +4817,8 @@
 20
 31
 95
-0a
-6b
+a6
+9a
 aa
 55
 40
@@ -4830,8 +5258,22 @@
 00
 0c
 48
+09
+00
+aa
+55
 08
 00
+bf
+49
+dd
+1e
+40
+1f
+41
+1f
+a4
+1f
 aa
 55
 09
@@ -5090,8 +5532,8 @@
 aa
 aa
 55
-e3
-96
-d8
-47
+70
+9b
+08
+06
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(revision 4377)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(working copy)
@@ -4,34 +4,34 @@
 0001 c0000020 beq patch00_0 ,p_soft_reset 
 0002 c0010026 beq patch00_2 ,p_main_loop 
 0003 c008802f beq patch02_1 ,p_set_sync_on 
-0004 c00a03b0 beq patch02_4 ,p_set_lemode 
-0005 c00a80c9 beq patch02_5 ,p_rf_rx_enable 
-0006 c00c00d7 beq patch03_0 ,p_txon 
-0007 c00c807d beq patch03_1 ,p_set_tx_power 
-0008 c00d003d beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8434 beq patch06_7 ,p_dongle_default_init 
-000a c01c009c beq patch07_0 ,p_dongle_read_kb_bind_status 
-000b c01c8098 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e840a beq patch07_5 ,p_dongle_usb_dispatch 
-000d c0628095 beq patch18_5 ,p_otp_read_data 
-000e c06d0381 beq patch1b_2 ,p_sadc_calibration 
-000f c06e0391 beq patch1b_4 ,p_enable_adc 
-0010 c07f00e2 beq patch1f_6 ,p_usb_init 
-0011 c07f8165 beq patch1f_7 ,p_usb_rx 
-0012 c07e80de beq patch1f_5 ,p_usb_isr 
+0004 c00a03c1 beq patch02_4 ,p_set_lemode 
+0005 c00a80d0 beq patch02_5 ,p_rf_rx_enable 
+0006 c00c00de beq patch03_0 ,p_txon 
+0007 c00c8084 beq patch03_1 ,p_set_tx_power 
+0008 c00d0040 beq patch03_2 ,p_initialize_radio_cont 
+0009 c01b849d beq patch06_7 ,p_dongle_default_init 
+000a c01c00a3 beq patch07_0 ,p_dongle_read_kb_bind_status 
+000b c01c809f beq patch07_1 ,p_dongle_write_kb_bind_status 
+000c c01e841b beq patch07_5 ,p_dongle_usb_dispatch 
+000d c062809c beq patch18_5 ,p_otp_read_data 
+000e c06d0392 beq patch1b_2 ,p_sadc_calibration 
+000f c06e03a2 beq patch1b_4 ,p_enable_adc 
+0010 c07f00e9 beq patch1f_6 ,p_usb_init 
+0011 c07f8176 beq patch1f_7 ,p_usb_rx 
+0012 c07e80e5 beq patch1f_5 ,p_usb_isr 
 0013 2020235a branch assert 
 
 pf_patch_ext:
-0014 c0000189 beq patch20_0 ,p_usb_class_type 
-0015 c00101c8 beq patch20_2 ,p_usb0_request_get_descriptor 
-0016 c00301ec beq patch20_6 ,p_usb_tx 
-0017 c01c83cc beq patch27_1 ,p_le_parse 
-0018 c02683d0 beq patch29_5 ,p_le_init_adv 
-0019 c037843c beq patch2d_7 ,p_g24_receive_skip_end 
-001a c04103d2 beq patch30_2 ,p_g24_bind_data_parse_next 
-001b c0420205 beq patch30_4 ,p_g24_receive_packet_start1 
-001c c04403f2 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001d c04503ff beq patch31_2 ,p_g24_bind_mode_auto 
+0014 c000019a beq patch20_0 ,p_usb_class_type 
+0015 c00101d9 beq patch20_2 ,p_usb0_request_get_descriptor 
+0016 c00301fd beq patch20_6 ,p_usb_tx 
+0017 c01c83dd beq patch27_1 ,p_le_parse 
+0018 c02683e1 beq patch29_5 ,p_le_init_adv 
+0019 c03784a7 beq patch2d_7 ,p_g24_receive_skip_end 
+001a c04103e3 beq patch30_2 ,p_g24_bind_data_parse_next 
+001b c0420216 beq patch30_4 ,p_g24_receive_packet_start1 
+001c c0440403 beq patch31_0 ,p_g24_mode_switch_bind_search 
+001d c0450410 beq patch31_2 ,p_g24_bind_mode_auto 
 001e c17f8000 rtneq patch3f_7 
 001f 2020235a branch assert 
 
@@ -70,1336 +70,1487 @@
 003b 708a23dd jam 0xdd ,0x8a23 
 003c 20600000 rtn 
 
+p_set_ck2rfpll:
+003d 37d98200 until null ,lpo_edge 
+003e 70813c58 jam 0x58 ,0x813c 
+003f 202023e2 branch lpm_write_wait 
+
 p_initialize_radio_cont:
-003d 7089460d jam 0x0d ,0x8946 
-003e 70896f10 jam 0x10 ,0x896f 
-003f 708a0610 jam 0x10 ,0x8a06 
-0040 708a844a jam 0x4a ,0x8a84 
-0041 708a8540 jam 0x40 ,0x8a85 
-0042 708a16fe jam 0xfe ,0x8a16 
-0043 2040009e call p_set_otp_config 
-0044 37d98200 until null ,lpo_edge 
-0045 70813b5f jam 0x5f ,0x813b 
-0046 6fe0c099 fetch 1 ,mem_fcomp_div 
-0047 c0080072 beq xtal_16m ,p_initialize_radio_16m 
-0048 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0049 1fe1fe04 or_into 0x04 ,pdata 
-004a 67f08a02 store 1 ,0x8a02 
-004b 70890f01 jam 0x01 ,0x890f 
-004c 708a8024 jam 0x24 ,0x8a80 
-004d 708a8162 jam 0x62 ,0x8a81 
-004e 58e61212 setarg 0xe61212 
-004f 67f18a73 store 3 ,0x8a73 
+0040 7089460d jam 0x0d ,0x8946 
+0041 70896f10 jam 0x10 ,0x896f 
+0042 708a8840 jam 0x40 ,core_rx_cfg0 
+0043 708a13cd jam 0xcd ,0x8a13 
+0044 708a0610 jam 0x10 ,0x8a06 
+0045 708a844a jam 0x4a ,0x8a84 
+0046 708a8540 jam 0x40 ,0x8a85 
+0047 708a16fe jam 0xfe ,0x8a16 
+0048 204000a5 call p_set_otp_config 
+0049 708a8840 jam 0x40 ,core_rx_cfg0 
+004a 708a13cd jam 0xcd ,0x8a13 
+004b 37d98200 until null ,lpo_edge 
+004c 70813b5f jam 0x5f ,0x813b 
+004d 6fe0c099 fetch 1 ,mem_fcomp_div 
+004e c0080079 beq xtal_16m ,p_initialize_radio_16m 
+004f 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+0050 1fe1fe04 or_into 0x04 ,pdata 
+0051 67f08a02 store 1 ,0x8a02 
+0052 70890f01 jam 0x01 ,0x890f 
+0053 708a8024 jam 0x24 ,0x8a80 
+0054 708a8162 jam 0x62 ,0x8a81 
+0055 58e61212 setarg 0xe61212 
+0056 67f18a73 store 3 ,0x8a73 
 
 p_initialize_radio2:
-0050 708a8660 jam 0x60 ,0x8a86 
-0051 708a8b3b jam 0x3b ,0x8a8b 
-0052 20400064 call p_dpll_on 
-0053 70804300 jam 0 ,core_config 
-0054 70804205 jam clksel_dpll ,core_clksel 
-0055 58557474 setarg 0x557474 
-0056 67f18968 store 3 ,0x8968 
-0057 7089606e jam 0x6e ,0x8960 
-0058 20400353 call p_rx_dcoc 
-0059 2040037e call p_rfpll_aac_ghpc 
-005a 2040005e call p_set_xtal_cap 
-005b 7041480c jam system_clk_12m ,mem_system_clk 
-005c 20406f4e call sadc_calibration 
-005d 20200380 branch p_dpll_ring_ibias_calc 
+0057 708a8660 jam 0x60 ,0x8a86 
+0058 708a8b3b jam 0x3b ,0x8a8b 
+0059 2040006b call p_dpll_on 
+005a 70804300 jam 0 ,core_config 
+005b 70804205 jam clksel_dpll ,core_clksel 
+005c 58557474 setarg 0x557474 
+005d 67f18968 store 3 ,0x8968 
+005e 7089606e jam 0x6e ,0x8960 
+005f 20400364 call p_rx_dcoc 
+0060 2040038f call p_rfpll_aac_ghpc 
+0061 20400065 call p_set_xtal_cap 
+0062 7041480c jam system_clk_12m ,mem_system_clk 
+0063 20406f4e call sadc_calibration 
+0064 20200391 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
-005e 20758000 rtn wake 
-005f 37d98200 until null ,lpo_edge 
-0060 6fe0c11c fetch 1 ,mem_xtal_c_sel 
-0061 67f0813a store 1 ,core_xtal_cap 
-0062 37d98200 until null ,lpo_edge 
-0063 20600000 rtn 
+0065 20758000 rtn wake 
+0066 37d98200 until null ,lpo_edge 
+0067 6fe0c11c fetch 1 ,mem_xtal_c_sel 
+0068 67f0813a store 1 ,core_xtal_cap 
+0069 37d98200 until null ,lpo_edge 
+006a 20600000 rtn 
 
 p_dpll_on:
-0064 6fe0c099 fetch 1 ,mem_fcomp_div 
-0065 c00c006a beq xtal_24m ,p_dpll_on_24m 
-0066 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0067 1fe1fe06 or_into 0x06 ,pdata 
-0068 67f08a02 store 1 ,0x8a02 
-0069 708a05e0 jam 0xe0 ,0x8a05 
+006b 6fe0c099 fetch 1 ,mem_fcomp_div 
+006c c00c0071 beq xtal_24m ,p_dpll_on_24m 
+006d 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+006e 1fe1fe06 or_into 0x06 ,pdata 
+006f 67f08a02 store 1 ,0x8a02 
+0070 708a05e0 jam 0xe0 ,0x8a05 
 
 p_dpll_on_24m:
-006a 708a00d8 jam 0xd8 ,0x8a00 
-006b 2000003c nop 60 
-006c 708a01a0 jam 0xa0 ,0x8a01 
-006d 708a00df jam 0xdf ,0x8a00 
-006e 708a01fa jam 0xfa ,0x8a01 
-006f 20000014 nop 20 
-0070 708a009f jam 0x9f ,0x8a00 
-0071 20600000 rtn 
+0071 708a00d8 jam 0xd8 ,0x8a00 
+0072 2000003c nop 60 
+0073 708a01a0 jam 0xa0 ,0x8a01 
+0074 708a00df jam 0xdf ,0x8a00 
+0075 708a01fa jam 0xfa ,0x8a01 
+0076 20000014 nop 20 
+0077 708a009f jam 0x9f ,0x8a00 
+0078 20600000 rtn 
 
 p_initialize_radio_16m:
-0072 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
-0073 1fe1fe06 or_into 0x06 ,pdata 
-0074 67f08a02 store 1 ,0x8a02 
-0075 70890f00 jam 0x00 ,0x890f 
-0076 708a8023 jam 0x23 ,0x8a80 
-0077 708a81b0 jam 0xb0 ,0x8a81 
-0078 58e40909 setarg 0xe40909 
-0079 67f18a73 store 3 ,0x8a73 
-007a 708a762a jam 0x2a ,0x8a76 
-007b 70890204 jam 0x04 ,0x8902 
-007c 20200050 branch p_initialize_radio2 
+0079 6fe0c438 fetch 1 ,mem_ring_ibias_trim 
+007a 1fe1fe06 or_into 0x06 ,pdata 
+007b 67f08a02 store 1 ,0x8a02 
+007c 70890f00 jam 0x00 ,0x890f 
+007d 708a8023 jam 0x23 ,0x8a80 
+007e 708a81b0 jam 0xb0 ,0x8a81 
+007f 58e40909 setarg 0xe40909 
+0080 67f18a73 store 3 ,0x8a73 
+0081 708a762a jam 0x2a ,0x8a76 
+0082 70890204 jam 0x04 ,0x8902 
+0083 20200057 branch p_initialize_radio2 
 
 p_set_tx_power:
-007d 6fe0c141 fetch 1 ,mem_tx_power 
-007e c0032225 beq tx_power_6db ,set_tx_power_7db 
-007f c0050084 beq tx_power_10db ,p_set_tx_power_10db 
-0080 c04f0089 beq tx_power_f30db ,p_set_tx_power_f30db 
-0081 c04f808d beq tx_power_f35db ,p_set_tx_power_f35db 
-0082 c0500091 beq tx_power_f40db ,p_set_tx_power_f40db 
-0083 2020220e branch set_tx_power + 2 
+0084 6fe0c141 fetch 1 ,mem_tx_power 
+0085 c0032225 beq tx_power_6db ,set_tx_power_7db 
+0086 c005008b beq tx_power_10db ,p_set_tx_power_10db 
+0087 c04f0090 beq tx_power_f30db ,p_set_tx_power_f30db 
+0088 c04f8094 beq tx_power_f35db ,p_set_tx_power_f35db 
+0089 c0500098 beq tx_power_f40db ,p_set_tx_power_f40db 
+008a 2020220e branch set_tx_power + 2 
 
 p_set_tx_power_10db:
-0084 708a1425 jam 0x25 ,0x8a14 
-0085 58a93f3f setarg 0xa93f3f 
-0086 67f18a60 store 3 ,0x8a60 
-0087 708a631f jam 0x1f ,0x8a63 
-0088 20600000 rtn 
+008b 708a1425 jam 0x25 ,0x8a14 
+008c 58a93f3f setarg 0xa93f3f 
+008d 67f18a60 store 3 ,0x8a60 
+008e 708a631f jam 0x1f ,0x8a63 
+008f 20600000 rtn 
 
 p_set_tx_power_f30db:
-0089 708a1417 jam 0x17 ,0x8a14 
-008a 58250300 setarg 0x250300 
-008b 67f18a60 store 3 ,0x8a60 
-008c 2020221a branch set_tx_power_8a63_28 
+0090 708a1417 jam 0x17 ,0x8a14 
+0091 58250300 setarg 0x250300 
+0092 67f18a60 store 3 ,0x8a60 
+0093 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f35db:
-008d 708a1417 jam 0x17 ,0x8a14 
-008e 58250100 setarg 0x250100 
-008f 67f18a60 store 3 ,0x8a60 
-0090 2020221a branch set_tx_power_8a63_28 
+0094 708a1417 jam 0x17 ,0x8a14 
+0095 58250100 setarg 0x250100 
+0096 67f18a60 store 3 ,0x8a60 
+0097 2020221a branch set_tx_power_8a63_28 
 
 p_set_tx_power_f40db:
-0091 708a1417 jam 0x17 ,0x8a14 
-0092 58250000 setarg 0x250000 
-0093 67f18a60 store 3 ,0x8a60 
-0094 2020221a branch set_tx_power_8a63_28 
+0098 708a1417 jam 0x17 ,0x8a14 
+0099 58250000 setarg 0x250000 
+009a 67f18a60 store 3 ,0x8a60 
+009b 2020221a branch set_tx_power_8a63_28 
 
 p_otp_read_data:
-0095 20406b3a call enable_otp_read 
-0096 20406b75 call otp_read_data + 1 
-0097 20206b38 branch otp_disable_chgpump 
+009c 20406b3a call enable_otp_read 
+009d 20406b75 call otp_read_data + 1 
+009e 20206b38 branch otp_disable_chgpump 
 
 p_dongle_write_kb_bind_status:
-0098 df200001 arg 1 ,loopcnt 
-0099 da204648 arg mem_dg_kb_bind_flag ,rega 
-009a da401f00 arg dongle_kb_bind_otp_offect ,regb 
-009b 20206b45 branch otp_write 
+009f df200001 arg 1 ,loopcnt 
+00a0 da204648 arg mem_dg_kb_bind_flag ,rega 
+00a1 da401fa6 arg dongle_kb_bind_otp_offect ,regb 
+00a2 20206b45 branch otp_write 
 
 p_dongle_read_kb_bind_status:
-009c da401f00 arg dongle_kb_bind_otp_offect ,regb 
-009d 202047f1 branch dongle_read_kb_bind_status + 2 
+00a3 da401fa6 arg dongle_kb_bind_otp_offect ,regb 
+00a4 202047f1 branch dongle_read_kb_bind_status + 2 
 
 p_set_otp_config:
-009e 203580c5 branch p_set_otp_config_wake ,wake 
-009f 6fe2020d fetch 4 ,mem_otp_core_ldo 
-00a0 207a0000 rtn blank 
-00a1 37d98200 until null ,lpo_edge 
-00a2 6ff08136 fetch 1 ,0x8136 
-00a3 1fe17ef0 and pdata ,0xf0 ,pdata 
-00a4 6848820d fetcht 1 ,mem_otp_core_ldo 
-00a5 9841fe00 ior temp ,pdata 
-00a6 67f08136 store 1 ,0x8136 
-00a7 37d98200 until null ,lpo_edge 
-00a8 6ff08138 fetch 1 ,0x8138 
-00a9 1fe17e07 and pdata ,0x7 ,pdata 
-00aa 6848820e fetcht 1 ,mem_otp_verf_bg 
-00ab 18498400 lshift3 temp ,temp 
+00a5 203580cc branch p_set_otp_config_wake ,wake 
+00a6 6fe2020d fetch 4 ,mem_otp_core_ldo 
+00a7 207a0000 rtn blank 
+00a8 37d98200 until null ,lpo_edge 
+00a9 6ff08136 fetch 1 ,0x8136 
+00aa 1fe17ef0 and pdata ,0xf0 ,pdata 
+00ab 6848820d fetcht 1 ,mem_otp_core_ldo 
 00ac 9841fe00 ior temp ,pdata 
-00ad 67f08138 store 1 ,0x8138 
+00ad 67f08136 store 1 ,0x8136 
 00ae 37d98200 until null ,lpo_edge 
+00af 6ff08138 fetch 1 ,0x8138 
+00b0 1fe17e07 and pdata ,0x7 ,pdata 
+00b1 6848820e fetcht 1 ,mem_otp_verf_bg 
+00b2 18498400 lshift3 temp ,temp 
+00b3 9841fe00 ior temp ,pdata 
+00b4 67f08138 store 1 ,0x8138 
+00b5 37d98200 until null ,lpo_edge 
 
 p_set_otp_config2:
-00af 6ff08acb fetch 1 ,0x8acb 
-00b0 1fe17ef0 and pdata ,0xf0 ,pdata 
-00b1 6848820f fetcht 1 ,mem_otp_charge_pump 
-00b2 6048c15b storet 1 ,mem_otp_charge_pump_x 
-00b3 9841fe00 ior temp ,pdata 
-00b4 67f08acb store 1 ,0x8acb 
-00b5 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00b6 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
-00b7 2feffe03 isolate1 3 ,pdata 
-00b8 6ff08a06 fetch 1 ,0x8a06 
-00b9 7920fe07 setflag true ,7 ,pdata 
-00ba 67f08a06 store 1 ,0x8a06 
-00bb 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
-00bc 1fe10407 and pdata ,7 ,temp 
-00bd 18520400 lshift4 temp ,temp 
-00be 18438400 lshift temp ,temp 
-00bf 6048c438 storet 1 ,mem_ring_ibias_trim 
-00c0 6ff08a02 fetch 1 ,0x8a02 
-00c1 1fe17e1f and pdata ,0x1f ,pdata 
-00c2 9841fe00 ior temp ,pdata 
-00c3 67f08a02 store 1 ,0x8a02 
-00c4 20600000 rtn 
+00b6 6ff08acb fetch 1 ,0x8acb 
+00b7 1fe17ef0 and pdata ,0xf0 ,pdata 
+00b8 6848820f fetcht 1 ,mem_otp_charge_pump 
+00b9 6048c15b storet 1 ,mem_otp_charge_pump_x 
+00ba 9841fe00 ior temp ,pdata 
+00bb 67f08acb store 1 ,0x8acb 
+00bc 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00bd 67e0c15c store 1 ,mem_otp_dpll_ibais_x 
+00be 2feffe03 isolate1 3 ,pdata 
+00bf 6ff08a06 fetch 1 ,0x8a06 
+00c0 7920fe07 setflag true ,7 ,pdata 
+00c1 67f08a06 store 1 ,0x8a06 
+00c2 6fe08210 fetch 1 ,mem_otp_dpll_ibais 
+00c3 1fe10407 and pdata ,7 ,temp 
+00c4 18520400 lshift4 temp ,temp 
+00c5 18438400 lshift temp ,temp 
+00c6 6048c438 storet 1 ,mem_ring_ibias_trim 
+00c7 6ff08a02 fetch 1 ,0x8a02 
+00c8 1fe17e1f and pdata ,0x1f ,pdata 
+00c9 9841fe00 ior temp ,pdata 
+00ca 67f08a02 store 1 ,0x8a02 
+00cb 20600000 rtn 
 
 p_set_otp_config_wake:
-00c5 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
-00c6 207a0000 rtn blank 
-00c7 67e1020f store 2 ,mem_otp_charge_pump 
-00c8 202000af branch p_set_otp_config2 
+00cc 6fe1415b fetch 2 ,mem_otp_charge_pump_x 
+00cd 207a0000 rtn blank 
+00ce 67e1020f store 2 ,mem_otp_charge_pump 
+00cf 202000b6 branch p_set_otp_config2 
 
 p_rf_rx_enable:
-00c9 2040686f call rf_debug_rx_gpio_high 
-00ca 204021ba call rf_rx_agc_set 
-00cb 18002a08 force 8 ,radio_ctrl 
-00cc 18002a00 force 0 ,radio_ctrl 
-00cd 580aaada setarg 0x0aaada 
-00ce 67f18a0f store 3 ,0x8a0f 
-00cf 708a2540 jam 0x40 ,0x8a25 
-00d0 708a2610 jam 0x10 ,0x8a26 
-00d1 2000003c nop 60 
-00d2 708a01fb jam 0xfb ,0x8a01 
-00d3 708a25ff jam 0xff ,0x8a25 
-00d4 708a2630 jam 0x30 ,0x8a26 
-00d5 708a16fe jam 0xfe ,0x8a16 
-00d6 202021b4 branch rf_rx_enable + 14 
+00d0 2040686f call rf_debug_rx_gpio_high 
+00d1 204021ba call rf_rx_agc_set 
+00d2 18002a08 force 8 ,radio_ctrl 
+00d3 18002a00 force 0 ,radio_ctrl 
+00d4 580aaada setarg 0x0aaada 
+00d5 67f18a0f store 3 ,0x8a0f 
+00d6 708a2540 jam 0x40 ,0x8a25 
+00d7 708a2610 jam 0x10 ,0x8a26 
+00d8 2000003c nop 60 
+00d9 708a01fb jam 0xfb ,0x8a01 
+00da 708a25ff jam 0xff ,0x8a25 
+00db 708a2630 jam 0x30 ,0x8a26 
+00dc 708a16fe jam 0xfe ,0x8a16 
+00dd 202021b4 branch rf_rx_enable + 14 
 
 p_txon:
-00d7 580aaa7e setarg 0x0aaa7e 
-00d8 67f18a0f store 3 ,0x8a0f 
-00d9 2000003c nop 60 
-00da 708a2500 jam 0x00 ,0x8a25 
-00db 708a260d jam 0x0d ,0x8a26 
-00dc 708a16f6 jam 0xf6 ,0x8a16 
-00dd 20202203 branch txon + 7 
+00de 580aaa7e setarg 0x0aaa7e 
+00df 67f18a0f store 3 ,0x8a0f 
+00e0 2000003c nop 60 
+00e1 708a2500 jam 0x00 ,0x8a25 
+00e2 708a260d jam 0x0d ,0x8a26 
+00e3 708a16f6 jam 0xf6 ,0x8a16 
+00e4 20202203 branch txon + 7 
 
 p_usb_isr:
-00de 6ff08c22 fetch 1 ,core_usb_status 
-00df 2feffe03 isolate1 usb_status_reset ,pdata 
-00e0 204080e8 call p_usb_init_restart ,true 
-00e1 2020790a branch usb_isr + 4 
+00e5 6ff08c22 fetch 1 ,core_usb_status 
+00e6 2feffe03 isolate1 usb_status_reset ,pdata 
+00e7 204080ef call p_usb_init_restart ,true 
+00e8 2020790a branch usb_isr + 4 
 
 p_usb_init:
-00e2 20407396 call enable_authrom 
-00e3 20407932 call usb_init_param 
-00e4 58004723 setarg mem_usb_ep2_config 
-00e5 67e107a9 store 2 ,mem_hidreportdesc_m 
-00e6 5800021a setarg p_dongle_g24_mouse 
-00e7 67e145e4 store 2 ,mem_cb_24g_data_device1 
+00e9 20407396 call enable_authrom 
+00ea 20407932 call usb_init_param 
+00eb 58004723 setarg mem_usb_ep2_config 
+00ec 67e107a9 store 2 ,mem_hidreportdesc_m 
+00ed 5800022b setarg p_dongle_g24_mouse 
+00ee 67e145e4 store 2 ,mem_cb_24g_data_device1 
 
 p_usb_init_restart:
-00e8 708c0000 jam 0x00 ,core_usb_config 
-00e9 20002710 nop 10000 
-00ea 708c1200 jam 0x0 ,core_usb_hmode 
-00eb 6ff10050 fetch 2 ,core_clkoff 
-00ec 793ffe0a set0 clock_off_usb ,pdata 
-00ed 67f10050 store 2 ,core_clkoff 
-00ee 708c1021 jam 0x21 ,core_usb_epmap 
-00ef 708c119d jam 0x9d ,core_usb_pupd 
-00f0 708c003c jam 0x3c ,core_usb_config 
-00f1 58000d9f setarg mem_usb_buff_new 
-00f2 67f10c02 store 2 ,core_usb_rx_saddr 
-00f3 67f10c06 store 2 ,core_usb_rxptr 
-00f4 58000e9f setarg mem_usb_buff_new_end 
-00f5 67f10c04 store 2 ,core_usb_rx_eaddr 
-00f6 708c1280 jam 0x80 ,core_usb_hmode 
-00f7 708c0100 jam 0 ,core_usb_addr 
-00f8 708c22ff jam 0xff ,core_usb_status 
-00f9 5800095f setarg mem_usb_clear_mem_end 
-00fa d8a0086d arg mem_usb_clear_mem_start ,contw 
-00fb 98a67200 isub contw ,loopcnt 
-00fc 20207ca1 branch clear_mem 
+00ef 708c0000 jam 0x00 ,core_usb_config 
+00f0 20002710 nop 10000 
+00f1 708c1200 jam 0x0 ,core_usb_hmode 
+00f2 6ff10050 fetch 2 ,core_clkoff 
+00f3 793ffe0a set0 clock_off_usb ,pdata 
+00f4 67f10050 store 2 ,core_clkoff 
+00f5 708c1021 jam 0x21 ,core_usb_epmap 
+00f6 708c119d jam 0x9d ,core_usb_pupd 
+00f7 708c003c jam 0x3c ,core_usb_config 
+00f8 58000d9f setarg mem_usb_buff_new 
+00f9 67f10c02 store 2 ,core_usb_rx_saddr 
+00fa 67f10c06 store 2 ,core_usb_rxptr 
+00fb 58000e9f setarg mem_usb_buff_new_end 
+00fc 67f10c04 store 2 ,core_usb_rx_eaddr 
+00fd 708c1280 jam 0x80 ,core_usb_hmode 
+00fe 708c0100 jam 0 ,core_usb_addr 
+00ff 708c22ff jam 0xff ,core_usb_status 
+0100 5800095f setarg mem_usb_clear_mem_end 
+0101 d8a0086d arg mem_usb_clear_mem_start ,contw 
+0102 98a67200 isub contw ,loopcnt 
+0103 20207ca1 branch clear_mem 
 
 p_usb_rx_data:
-00fd 78547c00 disable user 
-00fe 6ff08c25 fetch 1 ,core_usb_txbusy 
-00ff c2837dba bbit1 usb_status_rxfull ,enable_user 
-0100 18a22200 copy contw ,rega 
-0101 20407989 call usb_rx_len 
-0102 1a220a00 copy rega ,contw 
-0103 20207994 branch usb_rx_read 
+0104 78547c00 disable user 
+0105 6ff08c25 fetch 1 ,core_usb_txbusy 
+0106 c2837dba bbit1 usb_status_rxfull ,enable_user 
+0107 18a22200 copy contw ,rega 
+0108 20407989 call usb_rx_len 
+0109 1a220a00 copy rega ,contw 
+010a 20207994 branch usb_rx_read 
 
 p_usb_rx_data_out:
-0104 6fe0870c fetch 1 ,mem_usb_read_len 
-0105 1fe67c02 sub pdata ,2 ,null 
-0106 20610000 rtn positive 
-0107 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
-0108 c1808000 rtnne 0x01 
-0109 efe08006 ifetch 1 ,contr 
-010a 67e0c6df store 1 ,mem_dongle_usb_opcode 
-010b e8408006 ifetcht 1 ,contr 
-010c 18c22200 copy contr ,rega 
-010d 6048c6e0 storet 1 ,mem_dongle_usb_len 
+010b 6fe0870c fetch 1 ,mem_usb_read_len 
+010c 1fe67c02 sub pdata ,2 ,null 
+010d 20610000 rtn positive 
+010e 6fe08877 fetch 1 ,mem_usb0_set_report_data + 2 
+010f c1808000 rtnne 0x01 
+0110 efe08006 ifetch 1 ,contr 
+0111 67e0c6df store 1 ,mem_dongle_usb_opcode 
+0112 e8408006 ifetcht 1 ,contr 
+0113 18c22200 copy contr ,rega 
+0114 6048c6e0 storet 1 ,mem_dongle_usb_len 
 
 p_dongle_usb_hci_cmd_control:
-010e 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-010f 203a015d branch p_dongle_usb_device_disconnect ,blank 
-0110 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
-0111 c0008117 beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
-0112 c0018126 beq hci_cmd_get_dpi ,p_dongle_usb_hci_cmd_get_dpi 
-0113 c0028130 beq hci_cmd_get_sn ,p_dongle_usb_hci_cmd_get_sn 
-0114 c0030139 beq hci_cmd_set_battery ,p_dongle_usb_hci_cmd_get_battery 
-0115 c0038151 beq hci_cmd_get_connect_state ,p_dongle_usb_hci_cmd_get_connect_state 
-0116 20600000 rtn 
+0115 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0116 203a0166 branch p_dongle_usb_device_disconnect ,blank 
+0117 6fe0c6df fetch 1 ,mem_dongle_usb_opcode 
+0118 c0008120 beq hci_cmd_get_device_info ,p_dongle_usb_hci_cmd_get_deivce_info 
+0119 c001812f beq hci_cmd_get_dpi ,p_dongle_usb_hci_cmd_get_dpi 
+011a c0028139 beq hci_cmd_get_sn ,p_dongle_usb_hci_cmd_get_sn 
+011b c0030142 beq hci_cmd_set_battery ,p_dongle_usb_hci_cmd_get_battery 
+011c c003815a beq hci_cmd_get_connect_state ,p_dongle_usb_hci_cmd_get_connect_state 
+011d c004016e beq hci_cmd_set_b4_fuction ,p_dongle_usb_hci_cmd_set_ms_b4_fuction 
+011e c0048172 beq hci_cmd_set_b5_fuction ,p_dongle_usb_hci_cmd_set_ms_b5_fuction 
+011f 20600000 rtn 
 
 p_dongle_usb_hci_cmd_get_deivce_info:
-0117 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
-0118 704856a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0119 70485702 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-011a 70485801 jam 0x01 ,mem_dongle_usb_ep2_data + 3 
-011b 7048590c jam 0x0c ,mem_dongle_usb_ep2_data + 4 
-011c 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
-011d 67e3485a store 6 ,mem_dongle_usb_ep2_data + 5 
-011e 6fe14808 fetch 2 ,mem_usb_get_report_mouse_version_data 
-011f 67e14860 store 2 ,mem_dongle_usb_ep2_data + 11 
-0120 6fe1480c fetch 2 ,mem_dongle_version 
-0121 67e14862 store 2 ,mem_dongle_usb_ep2_data + 13 
-0122 6fe1480a fetch 2 ,mem_usb_get_report_code_data 
-0123 67e14864 store 2 ,mem_dongle_usb_ep2_data + 15 
-0124 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
-0125 20200284 branch p_dongle_usb_tx_enable_ep2 
+0120 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
+0121 704856a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+0122 70485702 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+0123 70485801 jam 0x01 ,mem_dongle_usb_ep2_data + 3 
+0124 7048590c jam 0x0c ,mem_dongle_usb_ep2_data + 4 
+0125 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
+0126 67e3485a store 6 ,mem_dongle_usb_ep2_data + 5 
+0127 6fe14808 fetch 2 ,mem_usb_get_report_mouse_version_data 
+0128 67e14860 store 2 ,mem_dongle_usb_ep2_data + 11 
+0129 6fe1480c fetch 2 ,mem_dongle_version 
+012a 67e14862 store 2 ,mem_dongle_usb_ep2_data + 13 
+012b 6fe1480a fetch 2 ,mem_usb_get_report_code_data 
+012c 67e14864 store 2 ,mem_dongle_usb_ep2_data + 15 
+012d 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
+012e 20200295 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_dpi:
-0126 70489c01 jam 0x01 ,mem_usb_dpi_info_data + 6 
+012f 70489c01 jam 0x01 ,mem_usb_dpi_info_data + 6 
 
 p_dongle_usb_tx_ep2_dpi_data:
-0127 70489640 jam 0x40 ,mem_usb_dpi_info_data 
-0128 704897a1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
-0129 70489802 jam 0x02 ,mem_usb_dpi_info_data + 2 
-012a 70489902 jam 0x02 ,mem_usb_dpi_info_data + 3 
-012b 70489a01 jam 0x01 ,mem_usb_dpi_info_data + 4 
-012c 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-012d 67e0c89b store 1 ,mem_usb_dpi_info_data + 5 
-012e 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
-012f 20200284 branch p_dongle_usb_tx_enable_ep2 
+0130 70489640 jam 0x40 ,mem_usb_dpi_info_data 
+0131 704897a1 jam report_id_data_in ,mem_usb_dpi_info_data + 1 
+0132 70489802 jam 0x02 ,mem_usb_dpi_info_data + 2 
+0133 70489902 jam 0x02 ,mem_usb_dpi_info_data + 3 
+0134 70489a01 jam 0x01 ,mem_usb_dpi_info_data + 4 
+0135 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+0136 67e0c89b store 1 ,mem_usb_dpi_info_data + 5 
+0137 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
+0138 20200295 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_sn:
-0130 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
-0131 704856a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0132 70485702 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0133 70485803 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
-0134 70485906 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
-0135 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
-0136 67e3485a store 6 ,mem_dongle_usb_ep2_data + 5 
-0137 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
-0138 20200284 branch p_dongle_usb_tx_enable_ep2 
+0139 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
+013a 704856a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+013b 70485702 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+013c 70485803 jam 0x03 ,mem_dongle_usb_ep2_data + 3 
+013d 70485906 jam 0x06 ,mem_dongle_usb_ep2_data + 4 
+013e 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
+013f 67e3485a store 6 ,mem_dongle_usb_ep2_data + 5 
+0140 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
+0141 20200295 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_battery:
-0139 7048dd01 jam 0x01 ,mem_usb_battery_info_data + 6 
+0142 7048dd01 jam 0x01 ,mem_usb_battery_info_data + 6 
 
 p_dongle_usb_tx_ep2_battery_data:
-013a 7048d740 jam 0x40 ,mem_usb_battery_info_data 
-013b 7048d8a1 jam report_id_data_in ,mem_usb_battery_info_data + 1 
-013c 7048d902 jam 0x02 ,mem_usb_battery_info_data + 2 
-013d 7048da06 jam 0x06 ,mem_usb_battery_info_data + 3 
-013e 7048db01 jam 0x01 ,mem_usb_battery_info_data + 4 
-013f 6fe0c807 fetch 1 ,mem_usb_get_report_battery_data 
-0140 67e0c8dc store 1 ,mem_usb_battery_info_data + 5 
-0141 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
-0142 20200284 branch p_dongle_usb_tx_enable_ep2 
+0143 7048d740 jam 0x40 ,mem_usb_battery_info_data 
+0144 7048d8a1 jam report_id_data_in ,mem_usb_battery_info_data + 1 
+0145 7048d902 jam 0x02 ,mem_usb_battery_info_data + 2 
+0146 7048da06 jam 0x06 ,mem_usb_battery_info_data + 3 
+0147 7048db01 jam 0x01 ,mem_usb_battery_info_data + 4 
+0148 6fe0c807 fetch 1 ,mem_usb_get_report_battery_data 
+0149 67e0c8dc store 1 ,mem_usb_battery_info_data + 5 
+014a 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
+014b 20200295 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_ep2_app_data:
-0143 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
-0144 704856a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
-0145 70485702 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
-0146 70485808 jam 0x08 ,mem_dongle_usb_ep2_data + 3 
-0147 70485900 jam 0x00 ,mem_dongle_usb_ep2_data + 4 
-0148 70090c29 jam usb_ep2_app ,mem_usb_ep2_data 
-0149 20200284 branch p_dongle_usb_tx_enable_ep2 
+014c 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
+014d 704856a1 jam report_id_data_in ,mem_dongle_usb_ep2_data + 1 
+014e 70485702 jam 0x02 ,mem_dongle_usb_ep2_data + 2 
+014f 70485808 jam 0x08 ,mem_dongle_usb_ep2_data + 3 
+0150 70485900 jam 0x00 ,mem_dongle_usb_ep2_data + 4 
+0151 70090c29 jam usb_ep2_app ,mem_usb_ep2_data 
+0152 20200295 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_ep2_key_data:
-014a 70491840 jam 0x40 ,mem_usb_key_info_data 
-014b 704919a1 jam report_id_data_in ,mem_usb_key_info_data + 1 
-014c 70491a02 jam 0x02 ,mem_usb_key_info_data + 2 
-014d 70491b04 jam 0x04 ,mem_usb_key_info_data + 3 
-014e 70491c01 jam 0x01 ,mem_usb_key_info_data + 4 
-014f 70090c30 jam usb_ep2_key ,mem_usb_ep2_data 
-0150 20200284 branch p_dongle_usb_tx_enable_ep2 
+0153 70491840 jam 0x40 ,mem_usb_key_info_data 
+0154 704919a1 jam report_id_data_in ,mem_usb_key_info_data + 1 
+0155 70491a02 jam 0x02 ,mem_usb_key_info_data + 2 
+0156 70491b04 jam 0x04 ,mem_usb_key_info_data + 3 
+0157 70491c01 jam 0x01 ,mem_usb_key_info_data + 4 
+0158 70090c30 jam usb_ep2_key ,mem_usb_ep2_data 
+0159 20200295 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_connect_state:
-0151 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
-0152 c000015d beq 0 ,p_dongle_usb_device_disconnect 
-0153 c0008155 beq 1 ,p_dongle_usb_device_connect 
-0154 20600000 rtn 
+015a 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
+015b c0000166 beq 0 ,p_dongle_usb_device_disconnect 
+015c c000815e beq 1 ,p_dongle_usb_device_connect 
+015d 20600000 rtn 
 
 p_dongle_usb_device_connect:
-0155 70481440 jam 0x40 ,mem_usb_rf_state_data 
-0156 704815a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
-0157 70481602 jam 0x02 ,mem_usb_rf_state_data + 2 
-0158 70481705 jam 0x05 ,mem_usb_rf_state_data + 3 
-0159 70481801 jam 0x01 ,mem_usb_rf_state_data + 4 
-015a 70481901 jam 0x01 ,mem_usb_rf_state_data + 5 
-015b 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-015c 20200284 branch p_dongle_usb_tx_enable_ep2 
+015e 70481440 jam 0x40 ,mem_usb_rf_state_data 
+015f 704815a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+0160 70481602 jam 0x02 ,mem_usb_rf_state_data + 2 
+0161 70481705 jam 0x05 ,mem_usb_rf_state_data + 3 
+0162 70481801 jam 0x01 ,mem_usb_rf_state_data + 4 
+0163 70481901 jam 0x01 ,mem_usb_rf_state_data + 5 
+0164 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+0165 20200295 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_device_disconnect:
-015d 70481440 jam 0x40 ,mem_usb_rf_state_data 
-015e 704815a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
-015f 70481602 jam 0x02 ,mem_usb_rf_state_data + 2 
-0160 70481705 jam 0x05 ,mem_usb_rf_state_data + 3 
-0161 70481801 jam 0x01 ,mem_usb_rf_state_data + 4 
-0162 70481900 jam 0x00 ,mem_usb_rf_state_data + 5 
-0163 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-0164 20200284 branch p_dongle_usb_tx_enable_ep2 
+0166 70481440 jam 0x40 ,mem_usb_rf_state_data 
+0167 704815a1 jam report_id_data_in ,mem_usb_rf_state_data + 1 
+0168 70481602 jam 0x02 ,mem_usb_rf_state_data + 2 
+0169 70481705 jam 0x05 ,mem_usb_rf_state_data + 3 
+016a 70481801 jam 0x01 ,mem_usb_rf_state_data + 4 
+016b 70481900 jam 0x00 ,mem_usb_rf_state_data + 5 
+016c 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
+016d 20200295 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_usb_hci_cmd_set_ms_b4_fuction:
+016e 6fe08879 fetch 1 ,mem_usb0_set_report_data + 4 
+016f 67e0c9b7 store 1 ,mem_ms_b4_function_flag 
+0170 7049bd0a jam 10 ,mem_usb_delay_store_b4_flag_count 
+0171 20600000 rtn 
+
+p_dongle_usb_hci_cmd_set_ms_b5_fuction:
+0172 6fe08879 fetch 1 ,mem_usb0_set_report_data + 4 
+0173 67e0c9b7 store 1 ,mem_ms_b4_function_flag 
+0174 7049be0a jam 10 ,mem_usb_delay_store_b5_flag_count 
+0175 20600000 rtn 
 
 p_usb_rx:
-0165 6fe08709 fetch 1 ,mem_usb_status 
-0166 c4028000 rtnbit0 usb_status_rxready 
-0167 20407989 call usb_rx_len 
-0168 6048c697 storet 1 ,mem_usb_rx_endpoint 
-0169 2841fe0d compare 13 ,temp ,0xff 
-016a 2020f999 branch usb_rx_ep13 ,true 
-016b 6fe0c696 fetch 1 ,mem_setreport_count 
-016c c0008179 beq 1 ,p_setreport_next_page_data 
-016d d8a0086d arg mem_usb_setup ,contw 
-016e 20407994 call usb_rx_read 
-016f 20200170 branch p_usb_rx_next 
+0176 6fe08709 fetch 1 ,mem_usb_status 
+0177 c4028000 rtnbit0 usb_status_rxready 
+0178 20407989 call usb_rx_len 
+0179 6048c697 storet 1 ,mem_usb_rx_endpoint 
+017a 2841fe0d compare 13 ,temp ,0xff 
+017b 2020f999 branch usb_rx_ep13 ,true 
+017c 6fe0c696 fetch 1 ,mem_setreport_count 
+017d c000818a beq 1 ,p_setreport_next_page_data 
+017e d8a0086d arg mem_usb_setup ,contw 
+017f 20407994 call usb_rx_read 
+0180 20200181 branch p_usb_rx_next 
 
 p_usb_rx_next:
-0170 6fe0870c fetch 1 ,mem_usb_read_len 
-0171 c0007986 beq 0x00 ,usb_rx_no_data 
-0172 c000f9b6 beq 0x01 ,usb_out_one_byte 
-0173 1fe67c07 sub pdata ,7 ,null 
-0174 20610000 rtn positive 
-0175 20200189 branch p_usb_class_type 
+0181 6fe0870c fetch 1 ,mem_usb_read_len 
+0182 c0007986 beq 0x00 ,usb_rx_no_data 
+0183 c000f9b6 beq 0x01 ,usb_out_one_byte 
+0184 1fe67c07 sub pdata ,7 ,null 
+0185 20610000 rtn positive 
+0186 2020019a branch p_usb_class_type 
 
 p_dongle_usb_data_received_analysis:
-0176 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0177 c0510104 beq report_id_data_out ,p_usb_rx_data_out 
-0178 20600000 rtn 
+0187 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+0188 c051010b beq report_id_data_out ,p_usb_rx_data_out 
+0189 20600000 rtn 
 
 p_setreport_next_page_data:
-0179 d8a00875 arg mem_usb0_set_report_data ,contw 
-017a 20407994 call usb_rx_read 
-017b 70469600 jam 0 ,mem_setreport_count 
-017c 6fe0870c fetch 1 ,mem_usb_read_len 
-017d c0008183 beq 0x01 ,p_usb_out_one_byte 
-017e 7008f701 jam 1 ,mem_usb0_get_set_report 
-017f 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-0180 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-0181 708c1b03 jam 0x03 ,core_usb_clear_nak 
-0182 20600000 rtn 
+018a d8a00875 arg mem_usb0_set_report_data ,contw 
+018b 20407994 call usb_rx_read 
+018c 70469600 jam 0 ,mem_setreport_count 
+018d 6fe0870c fetch 1 ,mem_usb_read_len 
+018e c0008194 beq 0x01 ,p_usb_out_one_byte 
+018f 7008f701 jam 1 ,mem_usb0_get_set_report 
+0190 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+0191 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+0192 708c1b03 jam 0x03 ,core_usb_clear_nak 
+0193 20600000 rtn 
 
 p_usb_out_one_byte:
-0183 6fe0886d fetch 1 ,mem_usb_setup 
-0184 c3838000 rtnbit1 7 
-0185 6fe08875 fetch 1 ,mem_usb0_set_report_data 
-0186 20407b6a call usb_get_led_status 
-0187 708c1b01 jam 0x1 ,core_usb_clear_nak 
-0188 20600000 rtn 
+0194 6fe0886d fetch 1 ,mem_usb_setup 
+0195 c3838000 rtnbit1 7 
+0196 6fe08875 fetch 1 ,mem_usb0_set_report_data 
+0197 20407b6a call usb_get_led_status 
+0198 708c1b01 jam 0x1 ,core_usb_clear_nak 
+0199 20600000 rtn 
 
 p_usb_class_type:
-0189 793f8023 set0 mark_isstr ,mark 
-018a 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-018b 1fe17e80 and_into 0x80 ,pdata 
-018c c04079ba beq in_device ,usb_in_device 
-018d c000018f beq out_device ,p_usb_out_device 
-018e 2020235a branch assert 
+019a 793f8023 set0 mark_isstr ,mark 
+019b 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+019c 1fe17e80 and_into 0x80 ,pdata 
+019d c04079ba beq in_device ,usb_in_device 
+019e c00001a0 beq out_device ,p_usb_out_device 
+019f 2020235a branch assert 
 
 p_usb_out_device:
-018f 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-0190 1ff1fe00 rshift4 pdata ,pdata 
-0191 1fe37e00 rshift pdata ,pdata 
-0192 1fe17e03 and_into 0x03 ,pdata 
-0193 c0000197 beq standard_req ,p_usb_out_standard_req 
-0194 c00081d2 beq class_req ,p_usb_out_class_req 
-0195 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
-0196 2020235a branch assert 
+01a0 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01a1 1ff1fe00 rshift4 pdata ,pdata 
+01a2 1fe37e00 rshift pdata ,pdata 
+01a3 1fe17e03 and_into 0x03 ,pdata 
+01a4 c00001a8 beq standard_req ,p_usb_out_standard_req 
+01a5 c00081e3 beq class_req ,p_usb_out_class_req 
+01a6 c00179e3 beq manufacturer_req ,usb_out_manufacturer_req 
+01a7 2020235a branch assert 
 
 p_usb_out_standard_req:
-0197 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-0198 c000819f beq clear_feature ,p_usb0_request_clear_feature 
-0199 c001fadb beq set_feature ,usb0_request_set_feature 
-019a c002fb06 beq set_address ,usb0_request_set_address 
-019b c004fb1f beq set_configuration ,usb0_request_set_configuration 
-019c c00581b9 beq set_interface ,p_usb0_request_set_interface 
-019d c003f9e4 beq set_descriptor ,usb0_force_stall 
-019e 202079e4 branch usb0_force_stall 
+01a8 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01a9 c00081b0 beq clear_feature ,p_usb0_request_clear_feature 
+01aa c001fadb beq set_feature ,usb0_request_set_feature 
+01ab c002fb06 beq set_address ,usb0_request_set_address 
+01ac c004fb1f beq set_configuration ,usb0_request_set_configuration 
+01ad c00581ca beq set_interface ,p_usb0_request_set_interface 
+01ae c003f9e4 beq set_descriptor ,usb0_force_stall 
+01af 202079e4 branch usb0_force_stall 
 
 p_usb0_request_clear_feature:
-019f 6fe0886b fetch 1 ,mem_usb0_state 
-01a0 c08279e4 bne dev_configured ,usb0_force_stall 
-01a1 6fe08873 fetch 1 ,mem_usb_setup_blength 
-01a2 c08079e4 bne 0 ,usb0_force_stall 
-01a3 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
-01a4 c08079e4 bne 0 ,usb0_force_stall 
-01a5 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01a6 c08079e4 bne 0 ,usb0_force_stall 
-01a7 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
-01a8 c08079e4 bne 0 ,usb0_force_stall 
-01a9 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01aa c00001ae beq out_device ,p_usb0_request_clear_feature_out_device 
-01ab c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
-01ac c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
-01ad 202079e4 branch usb0_force_stall 
+01b0 6fe0886b fetch 1 ,mem_usb0_state 
+01b1 c08279e4 bne dev_configured ,usb0_force_stall 
+01b2 6fe08873 fetch 1 ,mem_usb_setup_blength 
+01b3 c08079e4 bne 0 ,usb0_force_stall 
+01b4 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+01b5 c08079e4 bne 0 ,usb0_force_stall 
+01b6 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01b7 c08079e4 bne 0 ,usb0_force_stall 
+01b8 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01b9 c08079e4 bne 0 ,usb0_force_stall 
+01ba 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01bb c00001bf beq out_device ,p_usb0_request_clear_feature_out_device 
+01bc c000fac8 beq out_interface ,usb0_request_clear_feature_out_interface 
+01bd c0017ac9 beq out_endpoint ,usb0_request_clear_feature_out_endpoint 
+01be 202079e4 branch usb0_force_stall 
 
 p_usb0_request_clear_feature_out_device:
-01ae 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01af c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
-01b0 6ff08c00 fetch 1 ,core_usb_config 
-01b1 793ffe07 set0 7 ,pdata 
-01b2 67f08c00 store 1 ,core_usb_config 
-01b3 70090100 jam 0 ,mem_usb_remote_wakeup 
-01b4 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
-01b5 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
-01b6 203a79e9 branch usb0_reply_zerolen ,blank 
-01b7 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
-01b8 202079e9 branch usb0_reply_zerolen 
+01bf 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+01c0 c080f9e4 bne device_remote_wakeup ,usb0_force_stall 
+01c1 6ff08c00 fetch 1 ,core_usb_config 
+01c2 793ffe07 set0 7 ,pdata 
+01c3 67f08c00 store 1 ,core_usb_config 
+01c4 70090100 jam 0 ,mem_usb_remote_wakeup 
+01c5 70090201 jam 1 ,mem_usb_clear_remote_wakeup 
+01c6 6fe08903 fetch 1 ,mem_sdsystem_wakeup_flag 
+01c7 203a79e9 branch usb0_reply_zerolen ,blank 
+01c8 70090300 jam 0 ,mem_sdsystem_wakeup_flag 
+01c9 202079e9 branch usb0_reply_zerolen 
 
 p_usb0_request_set_interface:
-01b9 6fe0886b fetch 1 ,mem_usb0_state 
-01ba c08279e4 bne dev_configured ,usb0_force_stall 
-01bb 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
-01bc c080f9e4 bne out_interface ,usb0_force_stall 
-01bd 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
-01be c08079e4 bne 0 ,usb0_force_stall 
-01bf 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01c0 c08079e4 bne 0 ,usb0_force_stall 
-01c1 6fe08873 fetch 1 ,mem_usb_setup_blength 
-01c2 c08079e4 bne 0 ,usb0_force_stall 
-01c3 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
-01c4 c08079e4 bne 0 ,usb0_force_stall 
-01c5 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
-01c6 c08079e4 bne 0 ,usb0_force_stall 
-01c7 202079e9 branch usb0_reply_zerolen 
+01ca 6fe0886b fetch 1 ,mem_usb0_state 
+01cb c08279e4 bne dev_configured ,usb0_force_stall 
+01cc 6fe0886d fetch 1 ,mem_usb_setup_bmrequesttype 
+01cd c080f9e4 bne out_interface ,usb0_force_stall 
+01ce 6fe0886f fetch 1 ,mem_usb_setup_bvalue 
+01cf c08079e4 bne 0 ,usb0_force_stall 
+01d0 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01d1 c08079e4 bne 0 ,usb0_force_stall 
+01d2 6fe08873 fetch 1 ,mem_usb_setup_blength 
+01d3 c08079e4 bne 0 ,usb0_force_stall 
+01d4 6fe08874 fetch 1 ,mem_usb_setup_blengthh 
+01d5 c08079e4 bne 0 ,usb0_force_stall 
+01d6 6fe08872 fetch 1 ,mem_usb_setup_windex + 1 
+01d7 c08079e4 bne 0 ,usb0_force_stall 
+01d8 202079e9 branch usb0_reply_zerolen 
 
 p_usb0_request_get_descriptor:
-01c8 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-01c9 c000fa14 beq dsc_device ,dsc_device_info 
-01ca c00101cf beq dsc_config ,p_dsc_config_info 
-01cb c001fa30 beq dsc_string ,dsc_string_info 
-01cc c010fa09 beq dsc_hid ,dsc_hid_info 
-01cd c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
-01ce 202079e4 branch usb0_force_stall 
+01d9 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+01da c000fa14 beq dsc_device ,dsc_device_info 
+01db c00101e0 beq dsc_config ,p_dsc_config_info 
+01dc c001fa30 beq dsc_string ,dsc_string_info 
+01dd c010fa09 beq dsc_hid ,dsc_hid_info 
+01de c0117a3e beq dsc_hid_report ,dsc_hid_report_info 
+01df 202079e4 branch usb0_force_stall 
 
 p_dsc_config_info:
-01cf 58004698 setarg mem_config_new 
-01d0 6848c698 fetcht 1 ,mem_config_new 
-01d1 20207a18 branch dsc_info_set_data_len 
+01e0 58004698 setarg mem_config_new 
+01e1 6848c698 fetcht 1 ,mem_config_new 
+01e2 20207a18 branch dsc_info_set_data_len 
 
 p_usb_out_class_req:
-01d2 6fe0886e fetch 1 ,mem_usb_setup_brequest 
-01d3 c0057b4b beq set_idle ,usb_set_idle 
-01d4 c00481d7 beq set_report ,p_usb_set_report 
-01d5 c005fb7c beq set_protocol ,usb_set_protocol_req 
-01d6 202079e4 branch usb0_force_stall 
+01e3 6fe0886e fetch 1 ,mem_usb_setup_brequest 
+01e4 c0057b4b beq set_idle ,usb_set_idle 
+01e5 c00481e8 beq set_report ,p_usb_set_report 
+01e6 c005fb7c beq set_protocol ,usb_set_protocol_req 
+01e7 202079e4 branch usb0_force_stall 
 
 p_usb_set_report:
-01d7 708c1b02 jam 0x2 ,core_usb_clear_nak 
-01d8 20003a98 nop 15000 
-01d9 d8a00875 arg mem_usb0_set_report_data ,contw 
-01da 204000fd call p_usb_rx_data 
-01db 203401e4 branch p_usb_set_report_delay ,user 
-01dc 6ff10c22 fetch 2 ,core_usb_status 
-01dd 67f10c22 store 2 ,core_usb_status 
-01de 7008f701 jam 1 ,mem_usb0_get_set_report 
-01df 20407b6e call usb_set_report_resume_judge 
-01e0 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
-01e1 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
-01e2 708c1b03 jam 0x3 ,core_usb_clear_nak 
-01e3 20207b65 branch usb_set_report_next 
+01e8 708c1b02 jam 0x2 ,core_usb_clear_nak 
+01e9 20003a98 nop 15000 
+01ea d8a00875 arg mem_usb0_set_report_data ,contw 
+01eb 20400104 call p_usb_rx_data 
+01ec 203401f5 branch p_usb_set_report_delay ,user 
+01ed 6ff10c22 fetch 2 ,core_usb_status 
+01ee 67f10c22 store 2 ,core_usb_status 
+01ef 7008f701 jam 1 ,mem_usb0_get_set_report 
+01f0 20407b6e call usb_set_report_resume_judge 
+01f1 6fe1086f fetch 2 ,mem_usb_setup_bvalue 
+01f2 67e108f5 store 2 ,mem_usb_setup_bvalue_temp 
+01f3 708c1b03 jam 0x3 ,core_usb_clear_nak 
+01f4 20207b65 branch usb_set_report_next 
 
 p_usb_set_report_delay:
-01e4 6fe0c696 fetch 1 ,mem_setreport_count 
-01e5 1fe0fe01 pincrease 1 
-01e6 67e0c696 store 1 ,mem_setreport_count 
-01e7 20600000 rtn 
+01f5 6fe0c696 fetch 1 ,mem_setreport_count 
+01f6 1fe0fe01 pincrease 1 
+01f7 67e0c696 store 1 ,mem_setreport_count 
+01f8 20600000 rtn 
 
 p_usb_tx_ep2_queue_buff_check:
-01e8 da204959 arg mem_usb_ep2_fifo ,rega 
-01e9 20407da3 call fifo_is_empty 
-01ea 207a0000 rtn blank 
-01eb 20204837 branch dongle_usb_tx_enable_ep2 
+01f9 da204959 arg mem_usb_ep2_fifo ,rega 
+01fa 20407da3 call fifo_is_empty 
+01fb 207a0000 rtn blank 
+01fc 20204837 branch dongle_usb_tx_enable_ep2 
 
 p_usb_tx:
-01ec 204001e8 call p_usb_tx_ep2_queue_buff_check 
-01ed 6fe0890d fetch 1 ,mem_usb_tx_enable 
-01ee 207a0000 rtn blank 
-01ef 6ff08c25 fetch 1 ,core_usb_txbusy 
-01f0 1fe17e0f and_into 0x0f ,pdata 
-01f1 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-01f2 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-01f3 203a7c06 branch usb_tx_fifo_release ,blank 
-01f4 6fe08900 fetch 1 ,mem_usb_state 
-01f5 c001fc40 beq usb_sleep ,usb_windows_wakeup 
-01f6 c0817c06 bne usb_connected ,usb_tx_fifo_release 
-01f7 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-01f8 243a7c06 nbranch usb_tx_fifo_release ,blank 
-01f9 2040028d call p_usb_tx_data_ep1 
-01fa 6fe0c974 fetch 1 ,mem_usb_website_step 
-01fb 245a01fd ncall p_usb_ms_data_clear_key_value ,blank 
-01fc 20200316 branch p_usb_tx_data_ep2 
+01fd 204001f9 call p_usb_tx_ep2_queue_buff_check 
+01fe 6fe0890d fetch 1 ,mem_usb_tx_enable 
+01ff 207a0000 rtn blank 
+0200 6ff08c25 fetch 1 ,core_usb_txbusy 
+0201 1fe17e0f and_into 0x0f ,pdata 
+0202 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+0203 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0204 203a7c06 branch usb_tx_fifo_release ,blank 
+0205 6fe08900 fetch 1 ,mem_usb_state 
+0206 c001fc40 beq usb_sleep ,usb_windows_wakeup 
+0207 c0817c06 bne usb_connected ,usb_tx_fifo_release 
+0208 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+0209 243a7c06 nbranch usb_tx_fifo_release ,blank 
+020a 2040029e call p_usb_tx_data_ep1 
+020b 6fe0c974 fetch 1 ,mem_usb_website_step 
+020c 245a020e ncall p_usb_ms_data_clear_key_value ,blank 
+020d 20200327 branch p_usb_tx_data_ep2 
 
 p_usb_ms_data_clear_key_value:
-01fd 70091400 jam 0 ,mem_usb_mouse_data + 1 
-01fe 20600000 rtn 
+020e 70091400 jam 0 ,mem_usb_mouse_data + 1 
+020f 20600000 rtn 
 
 p_dongle_usb_connect_mouse_check:
-01ff 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-0200 c4000000 rtnbit0 0 
-0201 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
-0202 247a0000 nrtn blank 
-0203 70480f01 jam 1 ,mem_dongle_connect_mouse_flag 
-0204 20600000 rtn 
+0210 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0211 c4000000 rtnbit0 0 
+0212 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
+0213 247a0000 nrtn blank 
+0214 70480f01 jam 1 ,mem_dongle_connect_mouse_flag 
+0215 20600000 rtn 
 
 p_g24_receive_packet_start1:
-0205 204001ff call p_dongle_usb_connect_mouse_check 
-0206 58000000 setarg 0 
-0207 67e14810 store 2 ,mem_dongle_no_data_count 
-0208 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0209 c000b3c4 beq datatype_device1 ,g24_data_device1 
-020a c00133d3 beq datatype_device2 ,g24_data_device2 
-020b c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-020c c2820211 bbit1 data_http ,p_g24_data_receive_device_http_dpi 
-020d c281b3c4 bbit1 data_app ,g24_data_device1 
-020e c2828211 bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
-020f c2830211 bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
-0210 202033be branch g24_rx_interrupt_clear 
+0216 20400210 call p_dongle_usb_connect_mouse_check 
+0217 58000000 setarg 0 
+0218 67e14810 store 2 ,mem_dongle_no_data_count 
+0219 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+021a c000b3c4 beq datatype_device1 ,g24_data_device1 
+021b c00133d3 beq datatype_device2 ,g24_data_device2 
+021c c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
+021d c2820222 bbit1 data_http ,p_g24_data_receive_device_http_dpi 
+021e c281b3c4 bbit1 data_app ,g24_data_device1 
+021f c2828222 bbit1 data_dpi ,p_g24_data_receive_device_http_dpi 
+0220 c2830222 bbit1 data_device_info ,p_g24_data_receive_device_http_dpi 
+0221 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_device_http_dpi:
-0211 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0212 1fe17e0f and pdata ,0x0f ,pdata 
-0213 c000b3c4 beq datatype_device1 ,g24_data_device1 
-0214 c00133d3 beq datatype_device2 ,g24_data_device2 
-0215 202033be branch g24_rx_interrupt_clear 
+0222 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0223 1fe17e0f and pdata ,0x0f ,pdata 
+0224 c000b3c4 beq datatype_device1 ,g24_data_device1 
+0225 c00133d3 beq datatype_device2 ,g24_data_device2 
+0226 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_usb_tx_http_data:
-0216 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-0217 d8a00923 arg mem_usb_kb_data ,contw 
-0218 20407c9a call memset0_8 
-0219 20204848 branch dongle_usb_tx_ep1_enable 
+0227 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
+0228 d8a00923 arg mem_usb_kb_data ,contw 
+0229 20407c9a call memset0_8 
+022a 20204848 branch dongle_usb_tx_ep1_enable 
 
 p_dongle_g24_mouse:
-021a 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-021b c2820216 bbit1 data_http ,p_dongle_usb_tx_http_data 
-021c c281824b bbit1 data_app ,p_dongle_receive_app_data 
-021d c2828253 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-021e c283026d bbit1 data_device_info ,p_dongle_receive_device_info_data 
-021f c283827e bbit1 data_battery ,p_dongle_receive_battery_data 
-0220 20200221 branch p_dongle_g24_mouse_next 
+022b 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+022c c2820227 bbit1 data_http ,p_dongle_usb_tx_http_data 
+022d c281825c bbit1 data_app ,p_dongle_receive_app_data 
+022e c2828264 bbit1 data_dpi ,p_dongle_receive_dpi_data 
+022f c283027e bbit1 data_device_info ,p_dongle_receive_device_info_data 
+0230 c283828f bbit1 data_battery ,p_dongle_receive_battery_data 
+0231 20200232 branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
-0221 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0222 1fe67c09 sub pdata ,0x09 ,null 
-0223 20228233 branch p_dongle_g24_mouse_data ,zero 
-0224 20400233 call p_dongle_g24_mouse_data 
-0225 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0226 1fe0fff8 add pdata ,-8 ,pdata 
-0227 67e0c57d store 1 ,mem_24g_rxdata_length 
-0228 1fe27200 copy pdata ,loopcnt 
-0229 d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
-022a d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
-022b 20407cda call memcpy 
-022c 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-022d c2820216 bbit1 data_http ,p_dongle_usb_tx_http_data 
-022e c281824b bbit1 data_app ,p_dongle_receive_app_data 
-022f c2828253 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-0230 c283026d bbit1 data_device_info ,p_dongle_receive_device_info_data 
-0231 c283827e bbit1 data_battery ,p_dongle_receive_battery_data 
-0232 20600000 rtn 
+0232 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0233 1fe67c09 sub pdata ,0x09 ,null 
+0234 20228244 branch p_dongle_g24_mouse_data ,zero 
+0235 20400244 call p_dongle_g24_mouse_data 
+0236 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0237 1fe0fff8 add pdata ,-8 ,pdata 
+0238 67e0c57d store 1 ,mem_24g_rxdata_length 
+0239 1fe27200 copy pdata ,loopcnt 
+023a d8a045ea arg mem_24g_rxdata_temp + 2 ,contw 
+023b d8c045f2 arg mem_24g_rxdata_temp + 10 ,contr 
+023c 20407cda call memcpy 
+023d 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+023e c2820227 bbit1 data_http ,p_dongle_usb_tx_http_data 
+023f c281825c bbit1 data_app ,p_dongle_receive_app_data 
+0240 c2828264 bbit1 data_dpi ,p_dongle_receive_dpi_data 
+0241 c283027e bbit1 data_device_info ,p_dongle_receive_device_info_data 
+0242 c283828f bbit1 data_battery ,p_dongle_receive_battery_data 
+0243 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-0233 58000001 setarg ms_report_id 
-0234 67e08913 store 1 ,mem_usb_mouse_data 
-0235 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
-0236 e7e38005 istore 7 ,contw 
-0237 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0238 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-0239 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-023a 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0244 58000001 setarg ms_report_id 
+0245 67e08913 store 1 ,mem_usb_mouse_data 
+0246 6fe3c5eb fetch 7 ,mem_24g_rxdata_temp + 3 
+0247 e7e38005 istore 7 ,contw 
+0248 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0249 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+024a 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+024b 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
 
 p_usb_tx_mouse_data_check:
-023b 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
-023c 67e3c962 store 7 ,mem_dg_mouse_data 
-023d 6fe0c962 fetch 1 ,mem_dg_mouse_data 
-023e 6848c969 fetcht 1 ,mem_dg_mouse_key_data_last 
-023f 67e0c969 store 1 ,mem_dg_mouse_key_data_last 
-0240 98467c00 isub temp ,null 
-0241 20228244 branch p_dongle_receive_mouse_data_check ,zero 
-0242 20400246 call p_dongle_mouse_data_tx_enable 
-0243 20200248 branch p_dongle_mouse_key_data_tx_enable 
+024c 6fe38914 fetch 7 ,mem_usb_mouse_data + 1 
+024d 67e3c962 store 7 ,mem_dg_mouse_data 
+024e 6fe0c962 fetch 1 ,mem_dg_mouse_data 
+024f 6848c969 fetcht 1 ,mem_dg_mouse_key_data_last 
+0250 67e0c969 store 1 ,mem_dg_mouse_key_data_last 
+0251 98467c00 isub temp ,null 
+0252 20228255 branch p_dongle_receive_mouse_data_check ,zero 
+0253 20400257 call p_dongle_mouse_data_tx_enable 
+0254 20200259 branch p_dongle_mouse_key_data_tx_enable 
 
 p_dongle_receive_mouse_data_check:
-0244 6fe34963 fetch 6 ,mem_dg_mouse_data + 1 
-0245 207a0000 rtn blank 
+0255 6fe34963 fetch 6 ,mem_dg_mouse_data + 1 
+0256 207a0000 rtn blank 
 
 p_dongle_mouse_data_tx_enable:
-0246 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0247 20200284 branch p_dongle_usb_tx_enable_ep2 
+0257 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0258 20200295 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_mouse_key_data_tx_enable:
-0248 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
-0249 67e0c91d store 1 ,mem_usb_key_info_data + 5 
-024a 2020014a branch p_dongle_usb_tx_ep2_key_data 
+0259 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+025a 67e0c91d store 1 ,mem_usb_key_info_data + 5 
+025b 20200153 branch p_dongle_usb_tx_ep2_key_data 
 
 p_dongle_receive_app_data:
-024b 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-024c 6848c80e fetcht 1 ,mem_dongle_app_data 
-024d 98467c00 isub temp ,null 
-024e 20628000 rtn zero 
-024f 67e0c80e store 1 ,mem_dongle_app_data 
-0250 6fe0c80e fetch 1 ,mem_dongle_app_data 
-0251 c1ff8000 rtnne long_press 
-0252 20200143 branch p_dongle_usb_tx_ep2_app_data 
+025c 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+025d 6848c80e fetcht 1 ,mem_dongle_app_data 
+025e 98467c00 isub temp ,null 
+025f 20628000 rtn zero 
+0260 67e0c80e store 1 ,mem_dongle_app_data 
+0261 6fe0c80e fetch 1 ,mem_dongle_app_data 
+0262 c1ff8000 rtnne long_press 
+0263 2020014c branch p_dongle_usb_tx_ep2_app_data 
 
 p_dongle_receive_dpi_data:
-0253 6fe145eb fetch 2 ,mem_24g_rxdata_temp + 3 
-0254 67e14805 store 2 ,mem_usb_get_report_dpi_data 
+0264 6fe145eb fetch 2 ,mem_24g_rxdata_temp + 3 
+0265 67e14805 store 2 ,mem_usb_get_report_dpi_data 
 
 p_dongle_receive_dpi_data_compare:
-0255 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-0256 6848c812 fetcht 1 ,mem_dongle_receive_dpi_data 
-0257 98467c00 isub temp ,null 
-0258 2442825e ncall p_dongle_usb_ep2_tx_dpi_data_enable ,zero 
-0259 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
-025a 6848c813 fetcht 1 ,mem_dongle_receive_dpi_data + 1 
-025b 98467c00 isub temp ,null 
-025c 24428261 ncall p_dongle_usb_ep2_tx_dpi_state_data_enable ,zero 
-025d 20600000 rtn 
+0266 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+0267 6848c812 fetcht 1 ,mem_dongle_receive_dpi_data 
+0268 98467c00 isub temp ,null 
+0269 2442826f ncall p_dongle_usb_ep2_tx_dpi_data_enable ,zero 
+026a 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
+026b 6848c813 fetcht 1 ,mem_dongle_receive_dpi_data + 1 
+026c 98467c00 isub temp ,null 
+026d 24428272 ncall p_dongle_usb_ep2_tx_dpi_state_data_enable ,zero 
+026e 20600000 rtn 
 
 p_dongle_usb_ep2_tx_dpi_data_enable:
-025e 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-025f 67e0c812 store 1 ,mem_dongle_receive_dpi_data 
-0260 20200127 branch p_dongle_usb_tx_ep2_dpi_data 
+026f 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+0270 67e0c812 store 1 ,mem_dongle_receive_dpi_data 
+0271 20200130 branch p_dongle_usb_tx_ep2_dpi_data 
 
 p_dongle_usb_ep2_tx_dpi_state_data_enable:
-0261 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
-0262 67e0c813 store 1 ,mem_dongle_receive_dpi_data + 1 
-0263 c02a8266 beq release ,p_dongle_dpi_key_release 
-0264 c0550269 beq press ,p_dongle_dpi_key_press 
-0265 20600000 rtn 
+0272 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
+0273 67e0c813 store 1 ,mem_dongle_receive_dpi_data + 1 
+0274 c02a8277 beq release ,p_dongle_dpi_key_release 
+0275 c055027a beq press ,p_dongle_dpi_key_press 
+0276 20600000 rtn 
 
 p_dongle_dpi_key_release:
-0266 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
-0267 793ffe05 set0 5 ,pdata 
-0268 2020026b branch p_dongle_dpi_key_press + 2 
+0277 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
+0278 793ffe05 set0 5 ,pdata 
+0279 2020027c branch p_dongle_dpi_key_press + 2 
 
 p_dongle_dpi_key_press:
-0269 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
-026a 79207e05 set1 5 ,pdata 
-026b 67e0c91d store 1 ,mem_usb_key_info_data + 5 
-026c 2020014a branch p_dongle_usb_tx_ep2_key_data 
+027a 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
+027b 79207e05 set1 5 ,pdata 
+027c 67e0c91d store 1 ,mem_usb_key_info_data + 5 
+027d 20200153 branch p_dongle_usb_tx_ep2_key_data 
 
 p_dongle_receive_device_info_data:
-026d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-026e 1f20f3ff increase -1 ,loopcnt 
-026f da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
-0270 da4047ff arg mem_usb_get_report_sn_data ,regb 
-0271 20407d64 call compare_loop 
-0272 20628000 rtn zero 
-0273 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
-0274 67e347ff store 6 ,mem_usb_get_report_sn_data 
-0275 6fe145f4 fetch 2 ,mem_24g_rxdata_temp + 12 
-0276 67e14808 store 2 ,mem_usb_get_report_mouse_version_data 
-0277 6fe145f1 fetch 2 ,mem_24g_rxdata_temp + 9 
-0278 67e14805 store 2 ,mem_usb_get_report_dpi_data 
-0279 6fe145f6 fetch 2 ,mem_24g_rxdata_temp + 14 
-027a 67e1480a store 2 ,mem_usb_get_report_code_data 
-027b 20400255 call p_dongle_receive_dpi_data_compare 
-027c 6fe0c5f3 fetch 1 ,mem_24g_rxdata_temp + 11 
-027d 2020027f branch p_dongle_receive_battery_data_compare 
+027e 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+027f 1f20f3ff increase -1 ,loopcnt 
+0280 da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
+0281 da4047ff arg mem_usb_get_report_sn_data ,regb 
+0282 20407d64 call compare_loop 
+0283 20628000 rtn zero 
+0284 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
+0285 67e347ff store 6 ,mem_usb_get_report_sn_data 
+0286 6fe145f4 fetch 2 ,mem_24g_rxdata_temp + 12 
+0287 67e14808 store 2 ,mem_usb_get_report_mouse_version_data 
+0288 6fe145f1 fetch 2 ,mem_24g_rxdata_temp + 9 
+0289 67e14805 store 2 ,mem_usb_get_report_dpi_data 
+028a 6fe145f6 fetch 2 ,mem_24g_rxdata_temp + 14 
+028b 67e1480a store 2 ,mem_usb_get_report_code_data 
+028c 20400266 call p_dongle_receive_dpi_data_compare 
+028d 6fe0c5f3 fetch 1 ,mem_24g_rxdata_temp + 11 
+028e 20200290 branch p_dongle_receive_battery_data_compare 
 
 p_dongle_receive_battery_data:
-027e 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+028f 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
 
 p_dongle_receive_battery_data_compare:
-027f 6848c807 fetcht 1 ,mem_usb_get_report_battery_data 
-0280 98467c00 isub temp ,null 
-0281 20628000 rtn zero 
-0282 67e0c807 store 1 ,mem_usb_get_report_battery_data 
-0283 2020013a branch p_dongle_usb_tx_ep2_battery_data 
+0290 6848c807 fetcht 1 ,mem_usb_get_report_battery_data 
+0291 98467c00 isub temp ,null 
+0292 20628000 rtn zero 
+0293 67e0c807 store 1 ,mem_usb_get_report_battery_data 
+0294 20200143 branch p_dongle_usb_tx_ep2_battery_data 
 
 p_dongle_usb_tx_enable_ep2:
-0284 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0285 207a0000 rtn blank 
-0286 da204959 arg mem_usb_ep2_fifo ,rega 
-0287 20407da5 call fifo_is_full 
-0288 247a0000 nrtn blank 
-0289 6fe0890c fetch 1 ,mem_usb_ep2_data 
-028a 67e0866f store 1 ,mem_fifo_temp 
-028b da204959 arg mem_usb_ep2_fifo ,rega 
-028c 20207d8b branch fifo_in 
+0295 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0296 207a0000 rtn blank 
+0297 da204959 arg mem_usb_ep2_fifo ,rega 
+0298 20407da5 call fifo_is_full 
+0299 247a0000 nrtn blank 
+029a 6fe0890c fetch 1 ,mem_usb_ep2_data 
+029b 67e0866f store 1 ,mem_fifo_temp 
+029c da204959 arg mem_usb_ep2_fifo ,rega 
+029d 20207d8b branch fifo_in 
 
 p_usb_tx_data_ep1:
-028d 6ff08c25 fetch 1 ,core_usb_txbusy 
-028e 1fe17e0f and_into 0x0f ,pdata 
-028f 247a0000 nrtn blank 
-0290 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0291 c4008000 rtnbit0 1 
-0292 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0293 793ffe01 set0 1 ,pdata 
-0294 67e0890d store 1 ,mem_usb_tx_enable 
-0295 6fe0890b fetch 1 ,mem_usb_ep1_data 
-0296 207a0000 rtn blank 
-0297 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-0298 c008829a beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-0299 2020235a branch assert 
+029e 6ff08c25 fetch 1 ,core_usb_txbusy 
+029f 1fe17e0f and_into 0x0f ,pdata 
+02a0 247a0000 nrtn blank 
+02a1 6fe0890d fetch 1 ,mem_usb_tx_enable 
+02a2 c4008000 rtnbit0 1 
+02a3 6fe0890d fetch 1 ,mem_usb_tx_enable 
+02a4 793ffe01 set0 1 ,pdata 
+02a5 67e0890d store 1 ,mem_usb_tx_enable 
+02a6 6fe0890b fetch 1 ,mem_usb_ep1_data 
+02a7 207a0000 rtn blank 
+02a8 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+02a9 c00882ab beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+02aa 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-029a 6fe0c974 fetch 1 ,mem_usb_website_step 
-029b c00002a6 beq key_release ,p_usb_webstie_key_release_data 
-029c c00082a8 beq website_win ,p_usb_website_winr_data 
-029d c00102b6 beq website_r_space_release ,p_usb_website_r_space_release_data 
-029e c00182ba beq website_win_release ,p_usb_website_win_release_data 
-029f c00202ca beq website_wait ,p_usb_website_wait_tx_data 
-02a0 c00282d1 beq website_data ,p_usb_website_data 
-02a1 c00302c0 beq website_enter_1 ,p_usb_website_enter_data1 
-02a2 c00382c4 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
-02a3 c00402c6 beq website_enter_2 ,p_usb_website_enter_data2 
-02a4 c00482c8 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
-02a5 20600000 rtn 
+02ab 6fe0c974 fetch 1 ,mem_usb_website_step 
+02ac c00002b7 beq key_release ,p_usb_webstie_key_release_data 
+02ad c00082b9 beq website_win ,p_usb_website_winr_data 
+02ae c00102c7 beq website_r_space_release ,p_usb_website_r_space_release_data 
+02af c00182cb beq website_win_release ,p_usb_website_win_release_data 
+02b0 c00202db beq website_wait ,p_usb_website_wait_tx_data 
+02b1 c00282e2 beq website_data ,p_usb_website_data 
+02b2 c00302d1 beq website_enter_1 ,p_usb_website_enter_data1 
+02b3 c00382d5 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
+02b4 c00402d7 beq website_enter_2 ,p_usb_website_enter_data2 
+02b5 c00482d9 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
+02b6 20600000 rtn 
 
 p_usb_webstie_key_release_data:
-02a6 70497401 jam website_win ,mem_usb_website_step 
-02a7 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
+02b7 70497401 jam website_win ,mem_usb_website_step 
+02b8 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
 
 p_usb_website_winr_data:
-02a8 dfe0497a arg mem_usb_website_info + 1 ,pdata 
-02a9 67e14977 store 2 ,mem_usb_website_ptr 
-02aa 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-02ab c00002ae beq 0 ,p_usb_tx_winos_winr_data 
-02ac c00082b2 beq 1 ,p_usb_tx_macos_winr_data 
-02ad 20600000 rtn 
+02b9 dfe0497a arg mem_usb_website_info + 1 ,pdata 
+02ba 67e14977 store 2 ,mem_usb_website_ptr 
+02bb 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+02bc c00002bf beq 0 ,p_usb_tx_winos_winr_data 
+02bd c00082c3 beq 1 ,p_usb_tx_macos_winr_data 
+02be 20600000 rtn 
 
 p_usb_tx_winos_winr_data:
-02ae 70497402 jam website_r_space_release ,mem_usb_website_step 
-02af 6fe1c96a fetch 3 ,mem_usb_win_cmd 
-02b0 67e18923 store 3 ,mem_usb_kb_data 
-02b1 20207c28 branch usb_tx_kb_normal_data 
+02bf 70497402 jam website_r_space_release ,mem_usb_website_step 
+02c0 6fe1c96a fetch 3 ,mem_usb_win_cmd 
+02c1 67e18923 store 3 ,mem_usb_kb_data 
+02c2 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_macos_winr_data:
-02b2 70497402 jam website_r_space_release ,mem_usb_website_step 
-02b3 6fe1c96d fetch 3 ,mem_usb_mac_cmd 
-02b4 67e18923 store 3 ,mem_usb_kb_data 
-02b5 20207c28 branch usb_tx_kb_normal_data 
+02c3 70497402 jam website_r_space_release ,mem_usb_website_step 
+02c4 6fe1c96d fetch 3 ,mem_usb_mac_cmd 
+02c5 67e18923 store 3 ,mem_usb_kb_data 
+02c6 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_r_space_release_data:
-02b6 70497403 jam website_win_release ,mem_usb_website_step 
-02b7 6fe0c96a fetch 1 ,mem_usb_win_cmd 
-02b8 67e08923 store 1 ,mem_usb_kb_data 
-02b9 20207c28 branch usb_tx_kb_normal_data 
+02c7 70497403 jam website_win_release ,mem_usb_website_step 
+02c8 6fe0c96a fetch 1 ,mem_usb_win_cmd 
+02c9 67e08923 store 1 ,mem_usb_kb_data 
+02ca 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_win_release_data:
-02ba 70497404 jam website_wait ,mem_usb_website_step 
+02cb 70497404 jam website_wait ,mem_usb_website_step 
 
 p_usb_webstie_release_data:
-02bb d8a00923 arg mem_usb_kb_data ,contw 
-02bc df200008 arg 8 ,loopcnt 
-02bd 20407ca3 call memset0 
-02be 70497600 jam 0 ,mem_usb_website_release_flag 
-02bf 20207c28 branch usb_tx_kb_normal_data 
+02cc d8a00923 arg mem_usb_kb_data ,contw 
+02cd df200008 arg 8 ,loopcnt 
+02ce 20407ca3 call memset0 
+02cf 70497600 jam 0 ,mem_usb_website_release_flag 
+02d0 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_data1:
-02c0 70497407 jam website_enter_release_1 ,mem_usb_website_step 
+02d1 70497407 jam website_enter_release_1 ,mem_usb_website_step 
 
 p_usb_webstie_enter_data:
-02c1 6fe1c970 fetch 3 ,mem_usb_kb_enter 
-02c2 67e18923 store 3 ,mem_usb_kb_data 
-02c3 20207c28 branch usb_tx_kb_normal_data 
+02d2 6fe1c970 fetch 3 ,mem_usb_kb_enter 
+02d3 67e18923 store 3 ,mem_usb_kb_data 
+02d4 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_release_data1:
-02c4 70497408 jam website_enter_2 ,mem_usb_website_step 
-02c5 202002bb branch p_usb_webstie_release_data 
+02d5 70497408 jam website_enter_2 ,mem_usb_website_step 
+02d6 202002cc branch p_usb_webstie_release_data 
 
 p_usb_website_enter_data2:
-02c6 70497409 jam website_enter_release_2 ,mem_usb_website_step 
-02c7 202002c1 branch p_usb_webstie_enter_data 
+02d7 70497409 jam website_enter_release_2 ,mem_usb_website_step 
+02d8 202002d2 branch p_usb_webstie_enter_data 
 
 p_usb_website_enter_release_data2:
-02c8 70497400 jam website_done ,mem_usb_website_step 
-02c9 202002bb branch p_usb_webstie_release_data 
+02d9 70497400 jam website_done ,mem_usb_website_step 
+02da 202002cc branch p_usb_webstie_release_data 
 
 p_usb_website_wait_tx_data:
-02ca 6fe0c973 fetch 1 ,mem_usb_website_wait_count 
-02cb 1fe0fe01 increase 1 ,pdata 
-02cc 67e0c973 store 1 ,mem_usb_website_wait_count 
-02cd c1878000 rtnne website_wait_count 
-02ce 70497300 jam 0 ,mem_usb_website_wait_count 
-02cf 70497405 jam website_data ,mem_usb_website_step 
-02d0 20600000 rtn 
+02db 6fe0c973 fetch 1 ,mem_usb_website_wait_count 
+02dc 1fe0fe01 increase 1 ,pdata 
+02dd 67e0c973 store 1 ,mem_usb_website_wait_count 
+02de c1878000 rtnne website_wait_count 
+02df 70497300 jam 0 ,mem_usb_website_wait_count 
+02e0 70497405 jam website_data ,mem_usb_website_step 
+02e1 20600000 rtn 
 
 p_usb_website_data:
-02d1 6fe0c976 fetch 1 ,mem_usb_website_release_flag 
-02d2 c00082bb beq 1 ,p_usb_webstie_release_data 
-02d3 c00002d7 beq 0 ,p_usb_website_info_data 
-02d4 20600000 rtn 
+02e2 6fe0c976 fetch 1 ,mem_usb_website_release_flag 
+02e3 c00082cc beq 1 ,p_usb_webstie_release_data 
+02e4 c00002e8 beq 0 ,p_usb_website_info_data 
+02e5 20600000 rtn 
 
 p_usb_webstie_info_data_done:
-02d5 70497406 jam website_enter_1 ,mem_usb_website_step 
-02d6 20600000 rtn 
+02e6 70497406 jam website_enter_1 ,mem_usb_website_step 
+02e7 20600000 rtn 
 
 p_usb_website_info_data:
-02d7 d840497a arg mem_usb_website_info + 1 ,temp 
-02d8 6fe0c979 fetch 1 ,mem_usb_website_info 
-02d9 98408400 iadd temp ,temp 
-02da 6fe14977 fetch 2 ,mem_usb_website_ptr 
-02db 98467c00 isub temp ,null 
-02dc 202282d5 branch p_usb_webstie_info_data_done ,zero 
-02dd 204002e7 call p_usb_tx_website_acii2hidkey 
-02de 20400309 call p_usb_tx_website_need_shift 
-02df 6fe0c975 fetch 1 ,mem_usb_website_shift_flag 
-02e0 67e08923 store 1 ,mem_usb_kb_data 
-02e1 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
-02e2 6fe14977 fetch 2 ,mem_usb_website_ptr 
-02e3 1fe0fe01 increase 1 ,pdata 
-02e4 67e14977 store 2 ,mem_usb_website_ptr 
-02e5 70497601 jam 1 ,mem_usb_website_release_flag 
-02e6 20207c28 branch usb_tx_kb_normal_data 
+02e8 d840497a arg mem_usb_website_info + 1 ,temp 
+02e9 6fe0c979 fetch 1 ,mem_usb_website_info 
+02ea 98408400 iadd temp ,temp 
+02eb 6fe14977 fetch 2 ,mem_usb_website_ptr 
+02ec 98467c00 isub temp ,null 
+02ed 202282e6 branch p_usb_webstie_info_data_done ,zero 
+02ee 204002f8 call p_usb_tx_website_acii2hidkey 
+02ef 2040031a call p_usb_tx_website_need_shift 
+02f0 6fe0c975 fetch 1 ,mem_usb_website_shift_flag 
+02f1 67e08923 store 1 ,mem_usb_kb_data 
+02f2 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
+02f3 6fe14977 fetch 2 ,mem_usb_website_ptr 
+02f4 1fe0fe01 increase 1 ,pdata 
+02f5 67e14977 store 2 ,mem_usb_website_ptr 
+02f6 70497601 jam 1 ,mem_usb_website_release_flag 
+02f7 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_website_acii2hidkey:
-02e7 68494977 fetcht 2 ,mem_usb_website_ptr 
-02e8 efe08002 ifetch 1 ,temp 
-02e9 1fe67c7a sub pdata ,0x7a ,null 
-02ea 242102ee nbranch p_usb_tx_website_acii2hidkey1 ,positive 
-02eb da400061 arg 0x61 ,regb 
-02ec 9a462200 isub regb ,rega 
-02ed 20210305 branch p_usb_tx_website_acii2keycode_a2z ,positive 
+02f8 68494977 fetcht 2 ,mem_usb_website_ptr 
+02f9 efe08002 ifetch 1 ,temp 
+02fa 1fe67c7a sub pdata ,0x7a ,null 
+02fb 242102ff nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+02fc da400061 arg 0x61 ,regb 
+02fd 9a462200 isub regb ,rega 
+02fe 20210316 branch p_usb_tx_website_acii2keycode_a2z ,positive 
 
 p_usb_tx_website_acii2hidkey1:
-02ee efe08002 ifetch 1 ,temp 
-02ef 1fe67c39 sub pdata ,0x39 ,null 
-02f0 242102f4 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
-02f1 da400030 arg 0x30 ,regb 
-02f2 9a462200 isub regb ,rega 
-02f3 20210307 branch p_usb_tx_website_acii2keycode_029 ,positive 
+02ff efe08002 ifetch 1 ,temp 
+0300 1fe67c39 sub pdata ,0x39 ,null 
+0301 24210305 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+0302 da400030 arg 0x30 ,regb 
+0303 9a462200 isub regb ,rega 
+0304 20210318 branch p_usb_tx_website_acii2keycode_029 ,positive 
 
 p_usb_tx_website_acii2keycode_sign:
-02f4 1fe67c3a sub pdata ,0x3a ,null 
-02f5 202282fd branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
-02f6 1fe67c2f sub pdata ,0x2f ,null 
-02f7 202282ff branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
-02f8 1fe67c2e sub pdata ,0x2e ,null 
-02f9 20228301 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
-02fa 1fe67c2d sub pdata ,0x2d ,null 
-02fb 20228303 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
-02fc 20600000 rtn 
+0305 1fe67c3a sub pdata ,0x3a ,null 
+0306 2022830e branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+0307 1fe67c2f sub pdata ,0x2f ,null 
+0308 20228310 branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+0309 1fe67c2e sub pdata ,0x2e ,null 
+030a 20228312 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+030b 1fe67c2d sub pdata ,0x2d ,null 
+030c 20228314 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
+030d 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_3a:
-02fd da200033 arg 0x33 ,rega 
-02fe 20600000 rtn 
+030e da200033 arg 0x33 ,rega 
+030f 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2f:
-02ff da200038 arg 0x38 ,rega 
-0300 20600000 rtn 
+0310 da200038 arg 0x38 ,rega 
+0311 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2e:
-0301 da200037 arg 0x37 ,rega 
-0302 20600000 rtn 
+0312 da200037 arg 0x37 ,rega 
+0313 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2d:
-0303 da20002d arg 0x2d ,rega 
-0304 20600000 rtn 
+0314 da20002d arg 0x2d ,rega 
+0315 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_a2z:
-0305 1a20a204 add rega ,4 ,rega 
-0306 20600000 rtn 
+0316 1a20a204 add rega ,4 ,rega 
+0317 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_029:
-0307 1a20a227 add rega ,0x27 ,rega 
-0308 20600000 rtn 
+0318 1a20a227 add rega ,0x27 ,rega 
+0319 20600000 rtn 
 
 p_usb_tx_website_need_shift:
-0309 70497500 jam 0 ,mem_usb_website_shift_flag 
-030a 6fe14977 fetch 2 ,mem_usb_website_ptr 
-030b efe0803f ifetch 1 ,pdata 
-030c d8c049a2 arg mem_usb_website_info_sign + 1 ,contr 
-030d 6848c9a1 fetcht 1 ,mem_usb_website_info_sign 
-030e 18427200 copy temp ,loopcnt 
+031a 70497500 jam 0 ,mem_usb_website_shift_flag 
+031b 6fe14977 fetch 2 ,mem_usb_website_ptr 
+031c efe0803f ifetch 1 ,pdata 
+031d d8c049a2 arg mem_usb_website_info_sign + 1 ,contr 
+031e 6848c9a1 fetcht 1 ,mem_usb_website_info_sign 
+031f 18427200 copy temp ,loopcnt 
 
 p_usb_tx_website_need_shift_check_loop:
-030f e8408006 ifetcht 1 ,contr 
-0310 98467c00 isub temp ,null 
-0311 20228314 branch p_usb_tx_website_need_shift_setflag ,zero 
-0312 c200030f loop p_usb_tx_website_need_shift_check_loop 
-0313 20600000 rtn 
+0320 e8408006 ifetcht 1 ,contr 
+0321 98467c00 isub temp ,null 
+0322 20228325 branch p_usb_tx_website_need_shift_setflag ,zero 
+0323 c2000320 loop p_usb_tx_website_need_shift_check_loop 
+0324 20600000 rtn 
 
 p_usb_tx_website_need_shift_setflag:
-0314 70497502 jam 2 ,mem_usb_website_shift_flag 
-0315 20600000 rtn 
+0325 70497502 jam 2 ,mem_usb_website_shift_flag 
+0326 20600000 rtn 
 
 p_usb_tx_data_ep2:
-0316 da204959 arg mem_usb_ep2_fifo ,rega 
-0317 20407da3 call fifo_is_empty 
-0318 207a0000 rtn blank 
-0319 6ff08c25 fetch 1 ,core_usb_txbusy 
-031a 1fe17e0f and_into 0x0f ,pdata 
-031b 247a0000 nrtn blank 
-031c 6fe0890d fetch 1 ,mem_usb_tx_enable 
-031d c4010000 rtnbit0 2 
-031e 6fe0890d fetch 1 ,mem_usb_tx_enable 
-031f 793ffe02 set0 2 ,pdata 
-0320 67e0890d store 1 ,mem_usb_tx_enable 
-0321 da204959 arg mem_usb_ep2_fifo ,rega 
-0322 20407d97 call fifo_out 
-0323 207a0000 rtn blank 
-0324 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0325 c012033e beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
-0326 c0130336 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
-0327 c0148336 beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
-0328 c0118336 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
-0329 c018034c beq usb_ep2_key ,p_usb_tx_dongle_ep2_key_data 
-032a c0128345 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
-032b c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-032c c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-032d c013832f beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-032e 2020235a branch assert 
+0327 da204959 arg mem_usb_ep2_fifo ,rega 
+0328 20407da3 call fifo_is_empty 
+0329 207a0000 rtn blank 
+032a 6ff08c25 fetch 1 ,core_usb_txbusy 
+032b 1fe17e0f and_into 0x0f ,pdata 
+032c 247a0000 nrtn blank 
+032d 6fe0890d fetch 1 ,mem_usb_tx_enable 
+032e c4010000 rtnbit0 2 
+032f 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0330 793ffe02 set0 2 ,pdata 
+0331 67e0890d store 1 ,mem_usb_tx_enable 
+0332 da204959 arg mem_usb_ep2_fifo ,rega 
+0333 20407d97 call fifo_out 
+0334 207a0000 rtn blank 
+0335 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+0336 c012034f beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
+0337 c0130347 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
+0338 c0148347 beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
+0339 c0118347 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
+033a c018035d beq usb_ep2_key ,p_usb_tx_dongle_ep2_key_data 
+033b c0128356 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
+033c c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+033d c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+033e c0138340 beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+033f 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-032f 6fe0c814 fetch 1 ,mem_usb_rf_state_data 
-0330 207a0000 rtn blank 
-0331 1fe27200 copy pdata ,loopcnt 
-0332 d8c04815 arg mem_usb_rf_state_data + 1 ,contr 
-0333 20407bdb call usb_tx_ep2 
-0334 d8a04814 arg mem_usb_rf_state_data ,contw 
-0335 2020033c branch p_usb_tx_buff_clr 
+0340 6fe0c814 fetch 1 ,mem_usb_rf_state_data 
+0341 207a0000 rtn blank 
+0342 1fe27200 copy pdata ,loopcnt 
+0343 d8c04815 arg mem_usb_rf_state_data + 1 ,contr 
+0344 20407bdb call usb_tx_ep2 
+0345 d8a04814 arg mem_usb_rf_state_data ,contw 
+0346 2020034d branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_data:
-0336 6fe0c855 fetch 1 ,mem_dongle_usb_ep2_data 
-0337 207a0000 rtn blank 
-0338 1fe27200 copy pdata ,loopcnt 
-0339 d8c04856 arg mem_dongle_usb_ep2_data + 1 ,contr 
-033a 20407bdb call usb_tx_ep2 
-033b d8a04855 arg mem_dongle_usb_ep2_data ,contw 
+0347 6fe0c855 fetch 1 ,mem_dongle_usb_ep2_data 
+0348 207a0000 rtn blank 
+0349 1fe27200 copy pdata ,loopcnt 
+034a d8c04856 arg mem_dongle_usb_ep2_data + 1 ,contr 
+034b 20407bdb call usb_tx_ep2 
+034c d8a04855 arg mem_dongle_usb_ep2_data ,contw 
 
 p_usb_tx_buff_clr:
-033c df200041 arg 65 ,loopcnt 
-033d 20207ca1 branch clear_mem 
+034d df200041 arg 65 ,loopcnt 
+034e 20207ca1 branch clear_mem 
 
 p_usb_tx_dongle_ep2_dpi_data:
-033e 6fe0c896 fetch 1 ,mem_usb_dpi_info_data 
-033f 207a0000 rtn blank 
-0340 1fe27200 copy pdata ,loopcnt 
-0341 d8c04897 arg mem_usb_dpi_info_data + 1 ,contr 
-0342 20407bdb call usb_tx_ep2 
-0343 d8a04896 arg mem_usb_dpi_info_data ,contw 
-0344 2020033c branch p_usb_tx_buff_clr 
+034f 6fe0c896 fetch 1 ,mem_usb_dpi_info_data 
+0350 207a0000 rtn blank 
+0351 1fe27200 copy pdata ,loopcnt 
+0352 d8c04897 arg mem_usb_dpi_info_data + 1 ,contr 
+0353 20407bdb call usb_tx_ep2 
+0354 d8a04896 arg mem_usb_dpi_info_data ,contw 
+0355 2020034d branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_battery_data:
-0345 6fe0c8d7 fetch 1 ,mem_usb_battery_info_data 
-0346 207a0000 rtn blank 
-0347 1fe27200 copy pdata ,loopcnt 
-0348 d8c048d8 arg mem_usb_battery_info_data + 1 ,contr 
-0349 20407bdb call usb_tx_ep2 
-034a d8a048d7 arg mem_usb_battery_info_data ,contw 
-034b 2020033c branch p_usb_tx_buff_clr 
+0356 6fe0c8d7 fetch 1 ,mem_usb_battery_info_data 
+0357 207a0000 rtn blank 
+0358 1fe27200 copy pdata ,loopcnt 
+0359 d8c048d8 arg mem_usb_battery_info_data + 1 ,contr 
+035a 20407bdb call usb_tx_ep2 
+035b d8a048d7 arg mem_usb_battery_info_data ,contw 
+035c 2020034d branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_key_data:
-034c 6fe0c918 fetch 1 ,mem_usb_key_info_data 
-034d 207a0000 rtn blank 
-034e 1fe27200 copy pdata ,loopcnt 
-034f d8c04919 arg mem_usb_key_info_data + 1 ,contr 
-0350 20407bdb call usb_tx_ep2 
-0351 d8a04918 arg mem_usb_key_info_data ,contw 
-0352 2020033c branch p_usb_tx_buff_clr 
+035d 6fe0c918 fetch 1 ,mem_usb_key_info_data 
+035e 207a0000 rtn blank 
+035f 1fe27200 copy pdata ,loopcnt 
+0360 d8c04919 arg mem_usb_key_info_data + 1 ,contr 
+0361 20407bdb call usb_tx_ep2 
+0362 d8a04918 arg mem_usb_key_info_data ,contw 
+0363 2020034d branch p_usb_tx_buff_clr 
 
 p_rx_dcoc:
-0353 20758000 rtn wake 
-0354 20402160 call set_sync_on 
-0355 d8400027 arg 39 ,temp 
-0356 2040216f call set_freq_rx 
-0357 204021a6 call rf_rx_enable 
-0358 708a257f jam 0x7f ,0x8a25 
-0359 708a301a jam 0x1a ,0x8a30 
-035a 708a3178 jam 0x78 ,0x8a31 
-035b 708a8fb2 jam 0xb2 ,0x8a8f 
-035c 708ac200 jam 0 ,0x8ac2 
-035d 708ac300 jam 0 ,0x8ac3 
-035e d8e00006 arg 6 ,queue 
-035f 20400370 call p_rx_dcoc_avg 
-0360 2a2ffe0d isolate1 13 ,rega 
-0361 2040211d call qset_start 
-0362 2a4ffe0d isolate1 13 ,regb 
-0363 2040211e call qset_p 
-0364 d8e00005 arg 5 ,queue 
+0364 20758000 rtn wake 
+0365 20402160 call set_sync_on 
+0366 d8400027 arg 39 ,temp 
+0367 2040216f call set_freq_rx 
+0368 204021a6 call rf_rx_enable 
+0369 708a257f jam 0x7f ,0x8a25 
+036a 708a301a jam 0x1a ,0x8a30 
+036b 708a3178 jam 0x78 ,0x8a31 
+036c 708a8fb2 jam 0xb2 ,0x8a8f 
+036d 708ac200 jam 0 ,0x8ac2 
+036e 708ac300 jam 0 ,0x8ac3 
+036f d8e00006 arg 6 ,queue 
+0370 20400381 call p_rx_dcoc_avg 
+0371 2a2ffe0d isolate1 13 ,rega 
+0372 2040211d call qset_start 
+0373 2a4ffe0d isolate1 13 ,regb 
+0374 2040211e call qset_p 
+0375 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0365 2040211c call qset1_p 
-0366 2040211e call qset_p 
-0367 20400370 call p_rx_dcoc_avg 
-0368 d8a08ac2 arg 0x8ac2 ,contw 
-0369 1a31fe00 rshift4 rega ,pdata 
-036a 20402117 call qsetxor 
-036b 1a51fe00 rshift4 regb ,pdata 
-036c 20402117 call qsetxor 
-036d 18e08fff increase -1 ,queue 
-036e 20210365 branch p_rx_dcoc_loop2 ,positive 
-036f 2020214f branch rx_dcoc_loop2 + 10 
+0376 2040211c call qset1_p 
+0377 2040211e call qset_p 
+0378 20400381 call p_rx_dcoc_avg 
+0379 d8a08ac2 arg 0x8ac2 ,contw 
+037a 1a31fe00 rshift4 rega ,pdata 
+037b 20402117 call qsetxor 
+037c 1a51fe00 rshift4 regb ,pdata 
+037d 20402117 call qsetxor 
+037e 18e08fff increase -1 ,queue 
+037f 20210376 branch p_rx_dcoc_loop2 ,positive 
+0380 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0370 2000003c nop 60 
-0371 58000f00 setarg mem_dcoc_buf 
-0372 67f10982 store 2 ,0x8982 
-0373 58000ff0 setarg mem_dcoc_buf_end 
-0374 67f10984 store 2 ,0x8984 
-0375 70898109 jam 0x9 ,0x8981 
-0376 70898103 jam 0x3 ,0x8981 
-0377 70898006 jam 0x6 ,0x8980 
-0378 2000003c nop 60 
-0379 da200000 arg 0 ,rega 
-037a da400000 arg 0 ,regb 
-037b df200010 arg 16 ,loopcnt 
-037c d8c00f00 arg mem_dcoc_buf ,contr 
-037d 2020212d branch rx_dcoc_loop 
+0381 2000003c nop 60 
+0382 58000f00 setarg mem_dcoc_buf 
+0383 67f10982 store 2 ,0x8982 
+0384 58000ff0 setarg mem_dcoc_buf_end 
+0385 67f10984 store 2 ,0x8984 
+0386 70898109 jam 0x9 ,0x8981 
+0387 70898103 jam 0x3 ,0x8981 
+0388 70898006 jam 0x6 ,0x8980 
+0389 2000003c nop 60 
+038a da200000 arg 0 ,rega 
+038b da400000 arg 0 ,regb 
+038c df200010 arg 16 ,loopcnt 
+038d d8c00f00 arg mem_dcoc_buf ,contr 
+038e 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-037e 20758000 rtn wake 
-037f 20202272 branch rfpll_aac_ghpc + 1 
+038f 20758000 rtn wake 
+0390 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-0380 20600000 rtn 
+0391 20600000 rtn 
 
 p_sadc_calibration:
-0381 20758000 rtn wake 
-0382 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0383 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0384 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0385 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0386 67f080cd store 1 ,core_sadc_clkdiv 
-0387 20000bb8 nop 3000 
-0388 204003a9 call p_sadc_read 
-0389 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-038a 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-038b df200008 arg 8 ,loopcnt 
-038c 20406f58 call sadc_cal_read + 1 
-038d 6fe0c419 fetch 1 ,mem_spi_write_addr 
-038e 67e0c433 store 1 ,mem_adc_cal_c7 
-038f 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0390 20600000 rtn 
+0392 20758000 rtn wake 
+0393 708a0777 jam 0x77 ,core_gpadc_ctrl 
+0394 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+0395 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+0396 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+0397 67f080cd store 1 ,core_sadc_clkdiv 
+0398 20000bb8 nop 3000 
+0399 204003ba call p_sadc_read 
+039a 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+039b 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+039c df200008 arg 8 ,loopcnt 
+039d 20406f58 call sadc_cal_read + 1 
+039e 6fe0c419 fetch 1 ,mem_spi_write_addr 
+039f 67e0c433 store 1 ,mem_adc_cal_c7 
+03a0 6240c419 storer regb ,1 ,mem_spi_write_addr 
+03a1 20600000 rtn 
 
 p_enable_adc:
-0391 2040039f call p_sadc_cal_write 
-0392 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-0393 793ffe07 set0 7 ,pdata 
-0394 67f08a09 store 1 ,core_gpadc_cfg1 
-0395 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0396 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0397 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0398 20406f90 call sadc_channel 
-0399 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-039a 67f080cd store 1 ,core_sadc_clkdiv 
-039b 20000bb8 nop 3000 
-039c 204003a9 call p_sadc_read 
-039d 7080cd00 jam 0 ,core_sadc_clkdiv 
-039e 20206fa1 branch sadc_dma 
+03a2 204003b0 call p_sadc_cal_write 
+03a3 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+03a4 793ffe07 set0 7 ,pdata 
+03a5 67f08a09 store 1 ,core_gpadc_cfg1 
+03a6 708a0777 jam 0x77 ,core_gpadc_ctrl 
+03a7 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+03a8 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+03a9 20406f90 call sadc_channel 
+03aa 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+03ab 67f080cd store 1 ,core_sadc_clkdiv 
+03ac 20000bb8 nop 3000 
+03ad 204003ba call p_sadc_read 
+03ae 7080cd00 jam 0 ,core_sadc_clkdiv 
+03af 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-039f 6ff080cc fetch 1 ,core_sadc_ctrl 
-03a0 79207e01 set1 1 ,pdata 
-03a1 67f080cc store 1 ,core_sadc_ctrl 
-03a2 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-03a3 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-03a4 67e0c419 store 1 ,mem_spi_write_addr 
-03a5 df200008 arg 8 ,loopcnt 
-03a6 20406f67 call sadc_cal_write + 4 
-03a7 6240c419 storer regb ,1 ,mem_spi_write_addr 
-03a8 20600000 rtn 
+03b0 6ff080cc fetch 1 ,core_sadc_ctrl 
+03b1 79207e01 set1 1 ,pdata 
+03b2 67f080cc store 1 ,core_sadc_ctrl 
+03b3 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+03b4 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+03b5 67e0c419 store 1 ,mem_spi_write_addr 
+03b6 df200008 arg 8 ,loopcnt 
+03b7 20406f67 call sadc_cal_write + 4 
+03b8 6240c419 storer regb ,1 ,mem_spi_write_addr 
+03b9 20600000 rtn 
 
 p_sadc_read:
-03a9 7080cc03 jam 0x03 ,core_sadc_ctrl 
+03ba 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-03aa 6ff08129 fetch 1 ,core_perf_status 
-03ab c30283aa bbit0 saradc_done ,p_sadc_read_wait 
-03ac 68590164 fetcht 2 ,core_sadc_data 
-03ad 6049440a storet 2 ,mem_adc_current_value 
-03ae 7080cc00 jam 0x00 ,core_sadc_ctrl 
-03af 20600000 rtn 
+03bb 6ff08129 fetch 1 ,core_perf_status 
+03bc c30283bb bbit0 saradc_done ,p_sadc_read_wait 
+03bd 68590164 fetcht 2 ,core_sadc_data 
+03be 6049440a storet 2 ,mem_adc_current_value 
+03bf 7080cc00 jam 0x00 ,core_sadc_ctrl 
+03c0 20600000 rtn 
 
 p_set_lemode:
-03b0 708a8211 jam 0x11 ,0x8a82 
-03b1 708a8d12 jam 0x12 ,0x8a8d 
-03b2 708a8e0a jam 0x0a ,0x8a8e 
-03b3 6fe0c099 fetch 1 ,mem_fcomp_div 
-03b4 c00803c9 beq xtal_16m ,p_set_lemode_2m_16m 
-03b5 58005762 setarg 0x5762 
-03b6 67f10907 store 2 ,0x8907 
+03c1 708a8211 jam 0x11 ,0x8a82 
+03c2 708a8d12 jam 0x12 ,0x8a8d 
+03c3 708a8e0a jam 0x0a ,0x8a8e 
+03c4 6fe0c099 fetch 1 ,mem_fcomp_div 
+03c5 c00803da beq xtal_16m ,p_set_lemode_2m_16m 
+03c6 58005762 setarg 0x5762 
+03c7 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-03b7 70890103 jam 3 ,0x8901 
-03b8 70893003 jam 3 ,0x8930 
-03b9 c6168000 rtnmark1 mark_ble_2m 
-03ba 70890101 jam 1 ,0x8901 
-03bb 708a8207 jam 0x07 ,0x8a82 
-03bc 708a8d44 jam 0x44 ,0x8a8d 
-03bd 708a8e0a jam 0x0a ,0x8a8e 
-03be 6fe0c099 fetch 1 ,mem_fcomp_div 
-03bf c00803c6 beq xtal_16m ,p_set_lemode_1m_16m 
-03c0 58002bb1 setarg 0x2bb1 
-03c1 67f10907 store 2 ,0x8907 
+03c8 70890103 jam 3 ,0x8901 
+03c9 70893003 jam 3 ,0x8930 
+03ca c6168000 rtnmark1 mark_ble_2m 
+03cb 70890101 jam 1 ,0x8901 
+03cc 708a8207 jam 0x07 ,0x8a82 
+03cd 708a8d44 jam 0x44 ,0x8a8d 
+03ce 708a8e0a jam 0x0a ,0x8a8e 
+03cf 6fe0c099 fetch 1 ,mem_fcomp_div 
+03d0 c00803d7 beq xtal_16m ,p_set_lemode_1m_16m 
+03d1 58002bb1 setarg 0x2bb1 
+03d2 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-03c2 c6978000 rtnmark0 mark_ble_lr 
-03c3 70893024 jam 0x24 ,0x8930 
-03c4 70890105 jam 5 ,0x8901 
-03c5 20600000 rtn 
+03d3 c6978000 rtnmark0 mark_ble_lr 
+03d4 70893024 jam 0x24 ,0x8930 
+03d5 70890105 jam 5 ,0x8901 
+03d6 20600000 rtn 
 
 p_set_lemode_1m_16m:
-03c6 58004189 setarg 0x4189 
-03c7 67f10907 store 2 ,0x8907 
-03c8 202003c2 branch p_set_lemode_1m 
+03d7 58004189 setarg 0x4189 
+03d8 67f10907 store 2 ,0x8907 
+03d9 202003d3 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-03c9 58008312 setarg 0x8312 
-03ca 67f10907 store 2 ,0x8907 
-03cb 202003b7 branch p_set_lemode_2m 
+03da 58008312 setarg 0x8312 
+03db 67f10907 store 2 ,0x8907 
+03dc 202003c8 branch p_set_lemode_2m 
 
 p_le_parse:
-03cc 6fe0c334 fetch 1 ,mem_le_packet_llid 
-03cd c1000000 rtneq llid_reserved 
-03ce c001b04a beq llid_le_ll ,le_parse_ll 
-03cf 202028e1 branch le_parse_l2cap 
+03dd 6fe0c334 fetch 1 ,mem_le_packet_llid 
+03de c1000000 rtneq llid_reserved 
+03df c001b04a beq llid_le_ll ,le_parse_ll 
+03e0 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-03d0 793f8030 set0 mark_ble_crc_fail ,mark 
-03d1 20202af6 branch le_init_adv + 1 
+03e1 793f8030 set0 mark_ble_crc_fail ,mark 
+03e2 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-03d2 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-03d3 c0553329 beq datatype_bind ,g24_bind_first_step 
-03d4 c02ab33a beq datatype_config ,g24_bind_second_step 
-03d5 c01103d8 beq datatype_ok ,p_g24_bind_third_step 
-03d6 c07fb59b beq datatype_attemp ,g24_data_attemp 
-03d7 20600000 rtn 
+03e3 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+03e4 c0553329 beq datatype_bind ,g24_bind_first_step 
+03e5 c02ab33a beq datatype_config ,g24_bind_second_step 
+03e6 c01103e9 beq datatype_ok ,p_g24_bind_third_step 
+03e7 c07fb59b beq datatype_attemp ,g24_data_attemp 
+03e8 20600000 rtn 
 
 p_g24_bind_third_step:
-03d8 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-03d9 203a03de branch p_g24_bind_third_step_skip ,blank 
-03da 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-03db 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-03dc 98467c00 isub temp ,null 
-03dd 24628000 nrtn zero 
+03e9 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+03ea 203a03ef branch p_g24_bind_third_step_skip ,blank 
+03eb 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+03ec 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+03ed 98467c00 isub temp ,null 
+03ee 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-03de 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-03df c00083e2 beq datatype_device1 ,p_g24_bind_third_step_device1 
-03e0 c00103ea beq datatype_device2 ,p_g24_bind_third_step_device2 
-03e1 20600000 rtn 
+03ef 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+03f0 c00083f3 beq datatype_device1 ,p_g24_bind_third_step_device1 
+03f1 c00103fb beq datatype_device2 ,p_g24_bind_third_step_device2 
+03f2 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-03e2 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-03e3 247a0000 nrtn blank 
-03e4 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03e5 c00103e7 beq 2 ,p_g24_bind_dvc1_step_success 
-03e6 20600000 rtn 
+03f3 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03f4 247a0000 nrtn blank 
+03f5 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+03f6 c00103f8 beq 2 ,p_g24_bind_dvc1_step_success 
+03f7 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-03e7 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-03e8 2040338d call g24_binding_dvc1_living 
-03e9 2020336b branch g24_bind_dvc1_step_success + 1 
+03f8 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03f9 2040338d call g24_binding_dvc1_living 
+03fa 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-03ea 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-03eb 247a0000 nrtn blank 
-03ec 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03ed c08003ef bne 0 ,p_g24_bind_dvc2_step_success 
-03ee 20600000 rtn 
+03fb 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+03fc 247a0000 nrtn blank 
+03fd 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+03fe c0800400 bne 0 ,p_g24_bind_dvc2_step_success 
+03ff 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-03ef 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-03f0 20403393 call g24_binding_dvc2_living 
-03f1 20203378 branch g24_bind_dvc2_step_success + 1 
+0400 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0401 20403393 call g24_binding_dvc2_living 
+0402 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-03f2 6fe0c616 fetch 1 ,mem_24g_work_mode 
-03f3 c1000000 rtneq dongle_work 
-03f4 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-03f5 247a0000 nrtn blank 
-03f6 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-03f7 247a0000 nrtn blank 
-03f8 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-03f9 207a0000 rtn blank 
-03fa 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-03fb c1800000 rtnne 0 
-03fc 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-03fd c1800000 rtnne 0 
-03fe 20203436 branch g24_mode_switch_bind_search + 9 
+0403 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0404 c1000000 rtneq dongle_work 
+0405 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+0406 247a0000 nrtn blank 
+0407 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0408 247a0000 nrtn blank 
+0409 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+040a 207a0000 rtn blank 
+040b 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+040c c1800000 rtnne 0 
+040d 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+040e c1800000 rtnne 0 
+040f 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-03ff 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0400 c1808000 rtnne dongle_bind 
-0401 20400403 call p_g24_bind_init 
-0402 2020346d branch g24_bind_mode_auto + 4 
+0410 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0411 c1808000 rtnne dongle_bind 
+0412 20400414 call p_g24_bind_init 
+0413 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0403 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0404 c3808000 rtnbit1 dongle_bind 
-0405 79207e01 set1 dongle_bind ,pdata 
-0406 67e0c615 store 1 ,mem_24g_mode_init 
-0407 58000000 setarg 0 
-0408 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-0409 20203307 branch g24_bind_init + 8 
+0414 6fe0c615 fetch 1 ,mem_24g_mode_init 
+0415 c3808000 rtnbit1 dongle_bind 
+0416 79207e01 set1 dongle_bind ,pdata 
+0417 67e0c615 store 1 ,mem_24g_mode_init 
+0418 58000000 setarg 0 
+0419 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+041a 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-040a 20400417 call p_wdt_kick 
-040b 20400419 call p_g24_100ms_timer_event 
-040c 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-040d 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-040e 20407906 call usb_isr 
-040f 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0410 207a0000 rtn blank 
-0411 7008f700 jam 0 ,mem_usb0_get_set_report 
-0412 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-0413 d84003a2 arg pc_set_report_protocol ,temp 
-0414 98467c00 isub temp ,null 
-0415 24628000 nrtn zero 
-0416 20200176 branch p_dongle_usb_data_received_analysis 
+041b 20400428 call p_wdt_kick 
+041c 2040042a call p_g24_100ms_timer_event 
+041d 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+041e 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+041f 20407906 call usb_isr 
+0420 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0421 207a0000 rtn blank 
+0422 7008f700 jam 0 ,mem_usb0_get_set_report 
+0423 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0424 d84003a2 arg pc_set_report_protocol ,temp 
+0425 98467c00 isub temp ,null 
+0426 24628000 nrtn zero 
+0427 20200187 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-0417 58000010 setarg 16 
-0418 202070c8 branch wdt_init_config 
+0428 58000010 setarg 16 
+0429 202070c8 branch wdt_init_config 
 
 p_g24_100ms_timer_event:
-0419 d8e00006 arg usb_timer_100ms ,queue 
-041a 20407cef call timer_check 
-041b 247a0000 nrtn blank 
-041c 20400421 call p_g24_http_over_pack_check 
-041d 20400424 call p_g24_dongle_disconnect_state_check 
+042a d8e00006 arg usb_timer_100ms ,queue 
+042b 20407cef call timer_check 
+042c 247a0000 nrtn blank 
+042d 20400434 call p_g24_http_over_pack_check 
+042e 20400437 call p_g24_dongle_disconnect_state_check 
+042f 20400447 call p_g24_dongle_store_b4_flag_check 
+0430 2040045e call p_g24_dongle_store_b5_flag_check 
 
 p_g24_100ms_timer_init:
-041e d8e00006 arg usb_timer_100ms ,queue 
-041f 58000028 setarg 40 
-0420 20207ce1 branch timer_init 
+0431 d8e00006 arg usb_timer_100ms ,queue 
+0432 58000028 setarg 40 
+0433 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-0421 6fe0c974 fetch 1 ,mem_usb_website_step 
-0422 207a0000 rtn blank 
-0423 20200216 branch p_dongle_usb_tx_http_data 
+0434 6fe0c974 fetch 1 ,mem_usb_website_step 
+0435 207a0000 rtn blank 
+0436 20200227 branch p_dongle_usb_tx_http_data 
 
 p_g24_dongle_disconnect_state_check:
-0424 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-0425 c4000000 rtnbit0 0 
-0426 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
-0427 207a0000 rtn blank 
-0428 6fe14810 fetch 2 ,mem_dongle_no_data_count 
-0429 1fe0fe01 increase 1 ,pdata 
-042a 67e14810 store 2 ,mem_dongle_no_data_count 
-042b d84004b0 arg 0x4b0 ,temp 
-042c 98467c00 isub temp ,null 
-042d 24610000 nrtn positive 
-042e 58000000 setarg 0 
-042f 67e14810 store 2 ,mem_dongle_no_data_count 
-0430 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
-0431 207a0000 rtn blank 
-0432 70480f00 jam 0 ,mem_dongle_connect_mouse_flag 
-0433 20600000 rtn 
+0437 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0438 c4000000 rtnbit0 0 
+0439 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
+043a 207a0000 rtn blank 
+043b 6fe14810 fetch 2 ,mem_dongle_no_data_count 
+043c 1fe0fe01 increase 1 ,pdata 
+043d 67e14810 store 2 ,mem_dongle_no_data_count 
+043e d84004b0 arg 0x4b0 ,temp 
+043f 98467c00 isub temp ,null 
+0440 24610000 nrtn positive 
+0441 58000000 setarg 0 
+0442 67e14810 store 2 ,mem_dongle_no_data_count 
+0443 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
+0444 207a0000 rtn blank 
+0445 70480f00 jam 0 ,mem_dongle_connect_mouse_flag 
+0446 20600000 rtn 
+
+p_g24_dongle_store_b4_flag_check:
+0447 da6049bd arg mem_usb_delay_store_b4_flag_count ,regc 
+0448 da40044a arg p_g24_dongle_store_b4_flag ,regb 
+0449 202042e0 branch timer_single_step 
+
+p_g24_dongle_store_b4_flag:
+044a 6a4149bf fetchr regb ,2 ,mem_otp_offset_b4_addr 
+044b 1a422600 copy regb ,regc 
+
+p_g24_dongle_store_b4_flag_loop:
+044c 2040047f call p_g24_dongle_load_b4_flag_comon 
+044d 6fe0c9b9 fetch 1 ,mem_ms_b4_function_flag_temp 
+044e 203a0456 branch p_g24_dongle_store_b4_flag_store ,blank 
+044f 67e0c9b8 store 1 ,mem_ms_b4_function_flag_last 
+0450 1a60a601 increase 1 ,regc 
+0451 6fe149c1 fetch 2 ,mem_otp_offset_b4_addr_end 
+0452 9a667c00 isub regc ,null 
+0453 24610000 nrtn positive 
+0454 1a622400 copy regc ,regb 
+0455 2020044c branch p_g24_dongle_store_b4_flag_loop 
+
+p_g24_dongle_store_b4_flag_store:
+0456 6848c9b8 fetcht 1 ,mem_ms_b4_function_flag_last 
+0457 6fe0c9b7 fetch 1 ,mem_ms_b4_function_flag 
+0458 98467c00 isub temp ,null 
+0459 20628000 rtn zero 
+045a da2049b7 arg mem_ms_b4_function_flag ,rega 
+
+p_otp_store_data:
+045b df200001 arg 1 ,loopcnt 
+045c 1a622400 copy regc ,regb 
+045d 20206b45 branch otp_write 
+
+p_g24_dongle_store_b5_flag_check:
+045e da6049be arg mem_usb_delay_store_b5_flag_count ,regc 
+045f da400461 arg p_g24_dongle_store_b5_flag ,regb 
+0460 202042e0 branch timer_single_step 
+
+p_g24_dongle_store_b5_flag:
+0461 6a4149c3 fetchr regb ,2 ,mem_otp_offset_b5_addr 
+0462 1a422600 copy regb ,regc 
+
+p_g24_dongle_store_b5_flag_loop:
+0463 20400494 call p_g24_dongle_load_b5_flag_comon 
+0464 6fe0c9bc fetch 1 ,mem_ms_b5_function_flag_temp 
+0465 203a046d branch p_g24_dongle_store_b5_flag_store ,blank 
+0466 67e0c9bb store 1 ,mem_ms_b5_function_flag_last 
+0467 1a60a601 increase 1 ,regc 
+0468 6fe149c5 fetch 2 ,mem_otp_offset_b5_addr_end 
+0469 9a667c00 isub regc ,null 
+046a 24610000 nrtn positive 
+046b 1a622400 copy regc ,regb 
+046c 20200463 branch p_g24_dongle_store_b5_flag_loop 
+
+p_g24_dongle_store_b5_flag_store:
+046d 6848c9bb fetcht 1 ,mem_ms_b5_function_flag_last 
+046e 6fe0c9ba fetch 1 ,mem_ms_b5_function_flag 
+046f 98467c00 isub temp ,null 
+0470 20628000 rtn zero 
+0471 da2049ba arg mem_ms_b5_function_flag ,rega 
+0472 2020045b branch p_otp_store_data 
+
+p_g24_dongle_load_b4_flag:
+0473 6a4149bf fetchr regb ,2 ,mem_otp_offset_b4_addr 
+0474 1a422600 copy regb ,regc 
+
+p_g24_dongle_load_b4_flag_loop:
+0475 2040047f call p_g24_dongle_load_b4_flag_comon 
+0476 6fe0c9b9 fetch 1 ,mem_ms_b4_function_flag_temp 
+0477 203a0482 branch p_g24_dongle_load_b4_flag_load ,blank 
+0478 67e0c9b8 store 1 ,mem_ms_b4_function_flag_last 
+0479 1a60a601 increase 1 ,regc 
+047a 6fe149c1 fetch 2 ,mem_otp_offset_b4_addr_end 
+047b 9a667c00 isub regc ,null 
+047c 24210482 nbranch p_g24_dongle_load_b4_flag_load ,positive 
+047d 1a622400 copy regc ,regb 
+047e 20200475 branch p_g24_dongle_load_b4_flag_loop 
+
+p_g24_dongle_load_b4_flag_comon:
+047f df200001 arg 1 ,loopcnt 
+0480 da2049b9 arg mem_ms_b4_function_flag_temp ,rega 
+0481 20206b74 branch otp_read_data 
+
+p_g24_dongle_load_b4_flag_load:
+0482 6fe0c9b8 fetch 1 ,mem_ms_b4_function_flag_last 
+0483 205a0486 call p_g24_donge_b4_default_set ,blank 
+0484 67e0c9b7 store 1 ,mem_ms_b4_function_flag 
+0485 20600000 rtn 
+
+p_g24_donge_b4_default_set:
+0486 58000002 setarg b4_default 
+0487 20600000 rtn 
+
+p_g24_dongle_load_b5_flag:
+0488 6a4149c3 fetchr regb ,2 ,mem_otp_offset_b5_addr 
+0489 1a422600 copy regb ,regc 
+
+p_g24_dongle_load_b5_flag_loop:
+048a 20400494 call p_g24_dongle_load_b5_flag_comon 
+048b 6fe0c9bc fetch 1 ,mem_ms_b5_function_flag_temp 
+048c 203a0497 branch p_g24_dongle_load_b5_flag_load ,blank 
+048d 67e0c9bb store 1 ,mem_ms_b5_function_flag_last 
+048e 1a60a601 increase 1 ,regc 
+048f 6fe149c5 fetch 2 ,mem_otp_offset_b5_addr_end 
+0490 9a667c00 isub regc ,null 
+0491 24210497 nbranch p_g24_dongle_load_b5_flag_load ,positive 
+0492 1a622400 copy regc ,regb 
+0493 2020048a branch p_g24_dongle_load_b5_flag_loop 
+
+p_g24_dongle_load_b5_flag_comon:
+0494 df200001 arg 1 ,loopcnt 
+0495 da2049bc arg mem_ms_b5_function_flag_temp ,rega 
+0496 20206b74 branch otp_read_data 
+
+p_g24_dongle_load_b5_flag_load:
+0497 6fe0c9bb fetch 1 ,mem_ms_b5_function_flag_last 
+0498 205a049b call p_g24_donge_b5_default_set ,blank 
+0499 67e0c9ba store 1 ,mem_ms_b5_function_flag 
+049a 20600000 rtn 
+
+p_g24_donge_b5_default_set:
+049b 58000001 setarg b5_default 
+049c 20600000 rtn 
 
 p_dongle_default_init:
-0434 204047c3 call dongle_default_init + 1 
-0435 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0436 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0437 20403281 call g24_enable_1m 
-0438 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0439 c4000000 rtnbit0 dg_enable_new_revision 
-043a 7045ca01 jam on ,mem_24g_disable_fec1 
-043b 20203284 branch g24_enable_2m 
+049d 204047c3 call dongle_default_init + 1 
+049e 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+049f 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+04a0 20400473 call p_g24_dongle_load_b4_flag 
+04a1 20400488 call p_g24_dongle_load_b5_flag 
+04a2 20403281 call g24_enable_1m 
+04a3 6fe0c669 fetch 1 ,mem_dg_sys_config 
+04a4 c4000000 rtnbit0 dg_enable_new_revision 
+04a5 7045ca01 jam on ,mem_24g_disable_fec1 
+04a6 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-043c 6fe0c669 fetch 1 ,mem_dg_sys_config 
-043d c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-043e 7837fc00 enable user3 
-043f 20000018 nop 24 
-0440 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0441 79207e00 set1 bit_ack_24g ,pdata 
-0442 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0443 204033a5 call g24_ackpayload_prep 
-0444 204031e5 call g24_transmit_prep 
-0445 20203195 branch g24_transmit 
+04a7 6fe0c669 fetch 1 ,mem_dg_sys_config 
+04a8 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+04a9 7837fc00 enable user3 
+04aa 20000018 nop 24 
+04ab 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+04ac 79207e00 set1 bit_ack_24g ,pdata 
+04ad 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+04ae 204033a5 call g24_ackpayload_prep 
+04af 204031e5 call g24_transmit_prep 
+04b0 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(revision 4377)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(working copy)
@@ -135,10 +135,18 @@
 	jam 0xdd,0x8a23
 	rtn
 
+p_set_ck2rfpll:
+	until null,lpo_edge
+	jam 0x58,0x813c
+	branch lpm_write_wait
+
 p_initialize_radio_cont:
 	jam 0x0d,0x8946
 	jam 0x10,0x896f
 
+	jam 0x40,core_rx_cfg0
+	jam 0xcd,0x8a13
+
 	jam 0x10,0x8a06
 	jam 0x4a,0x8a84
 	jam 0x40,0x8a85
@@ -147,6 +155,8 @@
 //	branch initialize_radio_cont+1
 	//fetch 1,mem_wdt_always_work
 	//call wdt_set_disable,blank
+	jam 0x40,core_rx_cfg0
+	jam 0xcd,0x8a13
 
 	until null,lpo_edge
 	jam 0x5f,0x813b
@@ -412,6 +422,8 @@
 	beq HCI_CMD_GET_SN,p_dongle_usb_hci_cmd_get_sn
 	beq HCI_CMD_SET_BATTERY,p_dongle_usb_hci_cmd_get_battery
 	beq HCI_CMD_GET_CONNECT_STATE,p_dongle_usb_hci_cmd_get_connect_state
+	beq HCI_CMD_SET_B4_FUCTION,p_dongle_usb_hci_cmd_set_ms_b4_fuction
+	beq HCI_CMD_SET_B5_FUCTION,p_dongle_usb_hci_cmd_set_ms_b5_fuction
 	rtn
 
 //02 01 0b+6byte sn mac+2byte ms version+2byte dg version + 4byte code
@@ -514,6 +526,27 @@
 	jam USB_EP2_MSKB_STATE,mem_usb_ep2_data
 	branch p_dongle_usb_tx_enable_ep2
 
+/****************************************************************************************
+* Description: 	receive b4 info
+* Parameters:  1byte cmd+1byte opcode+1byte len+1byte data
+* Data Parse:	01:forword  	02:back	 		03:prtcn   	04:boss
+			05:vol+	   	06:vol-    			07:sleep   08:light+
+			09:light-       	0a:powerdown 		0b:play   	0c:play stop
+			0d:forword vol   0e:next vol  
+******************************************************************************************/
+
+p_dongle_usb_hci_cmd_set_ms_b4_fuction:
+	fetch 1,mem_usb0_set_report_data+4
+	store 1,mem_ms_b4_function_flag
+	jam 10, mem_usb_delay_store_b4_flag_count
+	rtn
+
+p_dongle_usb_hci_cmd_set_ms_b5_fuction:
+	fetch 1,mem_usb0_set_report_data+4
+	store 1,mem_ms_b4_function_flag
+	jam 10,mem_usb_delay_store_b5_flag_count
+	rtn
+
 p_usb_rx:
 	fetch 1,mem_usb_status
 	rtnbit0 USB_STATUS_RXREADY
@@ -1405,6 +1438,8 @@
 	nrtn blank
 	call p_g24_http_over_pack_check
 	call p_g24_dongle_disconnect_state_check
+	call p_g24_dongle_store_b4_flag_check
+	call p_g24_dongle_store_b5_flag_check
 p_g24_100ms_timer_init:
 	arg USB_TIMER_100MS,queue
 	setarg 40		//25ms
@@ -1432,6 +1467,125 @@
 	rtn blank
 	jam 0,mem_dongle_connect_mouse_flag
 	rtn
+//========================b4 or b5 flag otp store===========================//
+p_g24_dongle_store_b4_flag_check:
+	arg mem_usb_delay_store_b4_flag_count,regc
+	arg p_g24_dongle_store_b4_flag,regb
+	branch timer_single_step
+
+p_g24_dongle_store_b4_flag:
+	fetchr regb,2,mem_otp_offset_b4_addr
+	copy regb,regc
+p_g24_dongle_store_b4_flag_loop:
+	call p_g24_dongle_load_b4_flag_comon
+	fetch 1,mem_ms_b4_function_flag_temp
+	branch p_g24_dongle_store_b4_flag_store,blank	
+	store 1,mem_ms_b4_function_flag_last
+	increase 1,regc
+	fetch 2,mem_otp_offset_b4_addr_end
+	isub regc,null
+	nrtn positive	//if read end,retention last value
+	copy regc,regb
+	branch p_g24_dongle_store_b4_flag_loop
+
+p_g24_dongle_store_b4_flag_store:
+	fetcht 1,mem_ms_b4_function_flag_last
+	fetch 1,mem_ms_b4_function_flag
+	isub temp,null
+	rtn zero
+	arg mem_ms_b4_function_flag,rega
+p_otp_store_data:
+	arg 1,loopcnt
+	copy regc,regb
+	branch otp_write			/* regb = otp address, rega pointers data, loopcnt is count */
+
+p_g24_dongle_store_b5_flag_check:
+	arg mem_usb_delay_store_b5_flag_count,regc
+	arg p_g24_dongle_store_b5_flag,regb
+	branch timer_single_step
+
+p_g24_dongle_store_b5_flag:
+	fetchr regb,2,mem_otp_offset_b5_addr
+	copy regb,regc
+p_g24_dongle_store_b5_flag_loop:
+	call p_g24_dongle_load_b5_flag_comon
+	fetch 1,mem_ms_b5_function_flag_temp
+	branch p_g24_dongle_store_b5_flag_store,blank	
+	store 1,mem_ms_b5_function_flag_last
+	increase 1,regc
+	fetch 2,mem_otp_offset_b5_addr_end
+	isub regc,null
+	nrtn positive	//if read end,retention last value
+	copy regc,regb
+	branch p_g24_dongle_store_b5_flag_loop
+
+p_g24_dongle_store_b5_flag_store:
+	fetcht 1,mem_ms_b5_function_flag_last
+	fetch 1,mem_ms_b5_function_flag
+	isub temp,null
+	rtn zero
+	arg mem_ms_b5_function_flag,rega
+	branch p_otp_store_data
+
+//========================b4 or b5 flag otp load===========================//
+p_g24_dongle_load_b4_flag:
+	fetchr regb,2,mem_otp_offset_b4_addr
+	copy regb,regc
+p_g24_dongle_load_b4_flag_loop:
+	call p_g24_dongle_load_b4_flag_comon
+	fetch 1,mem_ms_b4_function_flag_temp
+	branch p_g24_dongle_load_b4_flag_load,blank	
+	store 1,mem_ms_b4_function_flag_last
+	increase 1,regc
+	fetch 2,mem_otp_offset_b4_addr_end
+	isub regc,null
+	nbranch p_g24_dongle_load_b4_flag_load,positive	//if read end,retention last value
+	copy regc,regb
+	branch p_g24_dongle_load_b4_flag_loop
+
+p_g24_dongle_load_b4_flag_comon:
+	arg 1,loopcnt
+	arg mem_ms_b4_function_flag_temp,rega
+	branch otp_read_data				/* regb=otp address, rega points to data, loopcnt is count */
+	
+p_g24_dongle_load_b4_flag_load:
+	fetch 1,mem_ms_b4_function_flag_last
+	call p_g24_donge_b4_default_set,blank
+	store 1,mem_ms_b4_function_flag
+	rtn
+p_g24_donge_b4_default_set:
+	setarg B4_DEFAULT
+	rtn
+
+
+p_g24_dongle_load_b5_flag:
+	fetchr regb,2,mem_otp_offset_b5_addr
+	copy regb,regc
+p_g24_dongle_load_b5_flag_loop:
+	call p_g24_dongle_load_b5_flag_comon
+	fetch 1,mem_ms_b5_function_flag_temp
+	branch p_g24_dongle_load_b5_flag_load,blank	
+	store 1,mem_ms_b5_function_flag_last
+	increase 1,regc
+	fetch 2,mem_otp_offset_b5_addr_end
+	isub regc,null
+	nbranch p_g24_dongle_load_b5_flag_load,positive	//if read end,retention last value
+	copy regc,regb
+	branch p_g24_dongle_load_b5_flag_loop
+
+p_g24_dongle_load_b5_flag_comon:
+	arg 1,loopcnt
+	arg mem_ms_b5_function_flag_temp,rega
+	branch otp_read_data				/* regb=otp address, rega points to data, loopcnt is count */
+	
+p_g24_dongle_load_b5_flag_load:
+	fetch 1,mem_ms_b5_function_flag_last
+	call p_g24_donge_b5_default_set,blank
+	store 1,mem_ms_b5_function_flag
+	rtn
+p_g24_donge_b5_default_set:
+	setarg B5_DEFAULT
+	rtn
 
 p_dongle_default_init:
 ifdef UART_LOG
@@ -1441,6 +1595,8 @@
 
 	fetch 1,mem_24g_pair_tx_power_init
 	store 1,mem_24g_pair_tx_power
+	call p_g24_dongle_load_b4_flag
+	call p_g24_dongle_load_b5_flag
 	call g24_enable_1M
 	fetch 1,mem_dg_sys_config
 	rtnbit0 DG_ENABLE_NEW_REVISION
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(revision 4373)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/sched/dongle.dat	(working copy)
@@ -123,7 +123,12 @@
 81 02 
 C0
 
-mem_dongle_version:08 00
+mem_dongle_version:09 00
+
+mem_otp_offset_b4_addr:dd 1e		#7901
+mem_otp_offset_b4_addr_end:40 1f  #8000
+mem_otp_offset_b5_addr:41 1f 		#8001
+mem_otp_offset_b5_addr_end:a4 1f 	#8100
 
 mem_usb_win_cmd:08 00 15 	#win+r
 mem_usb_mac_cmd:08 00 2c 	#command+space
