Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/format/app_dongle.format	(revision 4745)
+++ /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/format/app_dongle.format	(working copy)
@@ -41,16 +41,8 @@
 1 mem_usb_rxbuf_new_end		//must be even address
 
 0 mem_usb_clear_mem0_start
-64 mem_usb_txbuf3
-64 mem_usb_rxbuf_temp
-1 mem_usb_ep3_out_data_len
-1 mem_usb_ep3_in_data_len
-1 mem_usb_ep3_out_data_flag
-64 mem_usb_ep3_in_data
-64 mem_usb_ep3_out_data
-1 mem_usb_rxptr_add
+65 mem_usb_txbuf3
 0 mem_usb_clear_mem0_end
-
 //g24 buff
 80 mem_24g_rxbuf_new
 80 mem_24g_txbuf_new
@@ -77,7 +69,8 @@
 65 mem_dg_ms_audio_data
 64 mem_dg_ms_protocol_data_sta
 65 mem_dg_ms_protocol_data
-8 mem_usb_ep3_data
+1 mem_usb_ep3_data
+8 mem_usb_ep3_fifo
 )
 
 (
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/output/eeprom.dat	(revision 4745)
+++ /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-7a
-10
+2a
+11
 c2
 84
 00
@@ -22,8 +22,8 @@
 38
 c0
 0a
-01
-e5
+02
+11
 c0
 0a
 80
@@ -47,7 +47,7 @@
 c0
 1b
 82
-a2
+ce
 c0
 1c
 00
@@ -59,15 +59,15 @@
 c0
 1e
 82
-9f
+cb
 c0
 1f
 03
-4a
+76
 c0
 58
 82
-b9
+e5
 c0
 62
 80
@@ -75,19 +75,19 @@
 c0
 6d
 01
-b6
+e2
 c0
 6e
 01
-c6
+f2
 c0
 7e
 82
-40
+6c
 c0
 7f
 02
-2b
+57
 c0
 7f
 80
@@ -103,63 +103,63 @@
 c0
 01
 02
-01
+2d
 c0
 03
 01
-72
+78
 c0
 37
 03
-10
+3c
 c0
 37
 82
-ab
+d7
 c0
 39
 03
-05
+31
 c0
 39
-82
-f0
+83
+1c
 c0
 3a
 83
-1f
+4b
 c0
 3f
 02
-b5
+e1
 c0
 40
 83
-2f
+5b
 c0
 41
 02
-4f
+7b
 c0
 42
 03
-70
+9c
 c0
 42
 83
-75
+a1
 c0
 44
 02
-87
+b3
 c0
 45
 02
-94
+c0
 c0
 45
 82
-44
+70
 c1
 7f
 80
@@ -463,11 +463,11 @@
 20
 40
 01
-88
+b4
 20
 40
 01
-b3
+df
 20
 40
 00
@@ -483,7 +483,7 @@
 20
 20
 01
-b5
+e1
 20
 75
 80
@@ -1484,6 +1484,34 @@
 20
 7b
 65
+da
+20
+4b
+29
+20
+40
+7d
+a3
+20
+7a
+00
+00
+6f
+e0
+89
+0d
+79
+20
+7e
+03
+20
+20
+48
+39
+20
+40
+01
+72
 6f
 e0
 89
@@ -1535,11 +1563,15 @@
 20
 40
 01
-80
+88
+20
+40
+01
+8c
 20
 20
 01
-84
+90
 6f
 f0
 8c
@@ -1572,6 +1604,150 @@
 20
 7b
 fb
+da
+20
+4b
+29
+20
+40
+7d
+a3
+20
+7a
+00
+00
+6f
+f0
+8c
+25
+1f
+e1
+7e
+0f
+24
+7a
+00
+00
+6f
+e0
+89
+0d
+c4
+01
+80
+00
+79
+3f
+fe
+03
+67
+e0
+89
+0d
+da
+20
+4b
+29
+20
+40
+7d
+97
+20
+7a
+00
+00
+70
+4b
+28
+00
+c0
+18
+01
+a1
+c0
+18
+81
+a9
+20
+20
+23
+5a
+6f
+e0
+ca
+66
+20
+7a
+00
+00
+1f
+e2
+72
+00
+d8
+c0
+4a
+67
+20
+40
+01
+b0
+d8
+a0
+4a
+66
+df
+20
+00
+41
+20
+20
+7c
+a1
+6f
+e0
+ca
+e7
+20
+7a
+00
+00
+1f
+e2
+72
+00
+d8
+c0
+4a
+e8
+20
+40
+01
+b0
+d8
+a0
+4a
+e7
+20
+20
+01
+a7
+d8
+e0
+00
+03
+da
+20
+48
+56
+62
+31
+0c
+0e
+20
+20
+7b
+d2
 20
 75
 80
@@ -1623,7 +1799,7 @@
 20
 40
 01
-a5
+d1
 2a
 2f
 fe
@@ -1655,7 +1831,7 @@
 20
 40
 01
-a5
+d1
 d8
 a0
 8a
@@ -1683,7 +1859,7 @@
 20
 21
 01
-9a
+c6
 20
 20
 21
@@ -1786,8 +1962,8 @@
 b8
 20
 40
-01
-de
+02
+0a
 70
 8a
 08
@@ -1822,8 +1998,8 @@
 00
 20
 40
-01
-d4
+02
+00
 6f
 f0
 8a
@@ -1866,9 +2042,9 @@
 b8
 20
 40
-01
-de
-70
+02
+0a
+70
 80
 cd
 00
@@ -1926,8 +2102,8 @@
 29
 c3
 02
-81
-df
+82
+0b
 68
 59
 01
@@ -1962,8 +2138,8 @@
 99
 c0
 08
-01
-fe
+02
+2a
 58
 00
 57
@@ -2006,8 +2182,8 @@
 99
 c0
 08
-01
-fb
+02
+27
 58
 00
 2b
@@ -2042,8 +2218,8 @@
 07
 20
 20
-01
-f7
+02
+23
 58
 00
 83
@@ -2054,8 +2230,8 @@
 07
 20
 20
-01
-ec
+02
+18
 6f
 e0
 88
@@ -2067,7 +2243,7 @@
 c0
 01
 02
-08
+34
 c0
 01
 fa
@@ -2075,11 +2251,11 @@
 c0
 10
 82
-0b
+37
 c0
 11
 02
-1a
+46
 20
 20
 79
@@ -2107,15 +2283,15 @@
 c0
 00
 02
-11
+3d
 c0
 00
 82
-14
+40
 c0
 01
 02
-17
+43
 20
 20
 79
@@ -2163,15 +2339,15 @@
 c0
 00
 02
-1f
+4b
 c0
 00
 82
-22
+4e
 c0
 01
 02
-24
+50
 20
 20
 79
@@ -2187,7 +2363,7 @@
 20
 20
 02
-28
+54
 6a
 21
 07
@@ -2234,8 +2410,8 @@
 32
 58
 00
-49
-5a
+48
+97
 d8
 a0
 48
@@ -2319,7 +2495,7 @@
 20
 40
 82
-2d
+59
 20
 20
 79
@@ -2343,7 +2519,7 @@
 20
 40
 03
-3b
+67
 24
 37
 b3
@@ -2355,7 +2531,7 @@
 20
 42
 83
-64
+90
 6f
 e0
 c6
@@ -2370,32 +2546,32 @@
 93
 6f
 e0
-ca
-4c
+c9
+89
 c0
 55
 02
-55
+81
 c0
 2a
 82
-57
+83
 c0
 11
 02
-6d
+99
 c0
 7f
 82
-5f
+8b
 20
 60
 00
 00
 6f
 e0
-ca
-4d
+c9
+8a
 20
 20
 33
@@ -2407,11 +2583,11 @@
 20
 3a
 02
-5d
+89
 6f
 e2
-4a
-4e
+49
+8b
 68
 4a
 44
@@ -2426,24 +2602,24 @@
 00
 6f
 e0
-ca
-4d
+c9
+8a
 20
 20
 33
 41
 6f
 e0
-ca
-4d
+c9
+8a
 c0
 00
 82
-63
+8f
 c0
 01
 02
-68
+94
 20
 60
 00
@@ -2458,8 +2634,8 @@
 00
 6f
 e2
-4a
-4e
+49
+8b
 67
 e2
 46
@@ -2478,8 +2654,8 @@
 00
 6f
 e2
-4a
-4e
+49
+8b
 67
 e2
 46
@@ -2495,11 +2671,11 @@
 20
 3a
 02
-73
+9f
 6f
 e2
-4a
-4e
+49
+8b
 68
 4a
 46
@@ -2514,16 +2690,16 @@
 00
 6f
 e0
-ca
-4d
+c9
+8a
 c0
 00
 82
-77
+a3
 c0
 01
 02
-7f
+ab
 20
 60
 00
@@ -2543,7 +2719,7 @@
 c0
 01
 02
-7c
+a8
 20
 60
 00
@@ -2575,7 +2751,7 @@
 c0
 80
 02
-84
+b0
 20
 60
 00
@@ -2655,7 +2831,7 @@
 20
 40
 02
-98
+c4
 20
 20
 34
@@ -2754,16 +2930,16 @@
 18
 6f
 e0
-c9
-5b
+c8
+98
 79
 20
 7e
 00
 67
 e0
-c9
-5b
+c8
+98
 20
 40
 33
@@ -2782,8 +2958,8 @@
 4a
 6f
 e2
-4a
-9b
+49
+d8
 67
 e2
 45
@@ -2803,7 +2979,7 @@
 58
 00
 03
-97
+c3
 67
 e1
 45
@@ -2811,7 +2987,7 @@
 58
 00
 04
-0d
+39
 67
 e1
 45
@@ -2819,7 +2995,7 @@
 58
 00
 02
-c4
+f0
 67
 e1
 45
@@ -2843,11 +3019,11 @@
 c0
 00
 82
-c7
+f3
 c0
 01
 02
-ce
+fa
 6f
 e0
 c6
@@ -2855,11 +3031,11 @@
 c2
 80
 02
-ca
+f6
 20
 20
 02
-d0
+fc
 6f
 e0
 c6
@@ -2874,28 +3050,28 @@
 93
 20
 20
-02
-d7
+03
+03
 6f
 e0
 c6
 93
 c2
 80
-82
-d4
+83
+00
 6f
 e0
 c6
 11
 c0
 00
-82
-db
+83
+07
 c0
 01
-82
-e3
+83
+0f
 20
 60
 00
@@ -2922,8 +3098,8 @@
 ff
 67
 e0
-c9
-aa
+c8
+e7
 20
 60
 00
@@ -2934,8 +3110,8 @@
 01
 20
 40
-02
-ea
+03
+16
 24
 77
 80
@@ -2954,24 +3130,24 @@
 d6
 d8
 a0
-49
-aa
+48
+e7
 20
 20
 7c
 89
 6f
 e0
-c9
-5c
+c8
+99
 c0
 00
-82
-db
+83
+07
 c0
 7f
-82
-db
+83
+07
 70
 08
 f9
@@ -2986,8 +3162,8 @@
 21
 20
 20
-02
-d9
+03
+05
 6f
 e0
 c6
@@ -3006,8 +3182,8 @@
 00
 6f
 e0
-c9
-5d
+c8
+9a
 20
 20
 33
@@ -3031,7 +3207,7 @@
 67
 e0
 c9
-fa
+37
 6f
 e0
 c5
@@ -3086,8 +3262,8 @@
 00
 d8
 c0
-49
-aa
+48
+e7
 20
 40
 7c
@@ -3099,7 +3275,7 @@
 c5
 17
 83
-0a
+36
 6f
 e0
 c5
@@ -3107,7 +3283,7 @@
 24
 3a
 03
-0a
+36
 78
 4e
 fc
@@ -3135,7 +3311,7 @@
 d8
 c0
 49
-fa
+37
 20
 20
 31
@@ -3146,16 +3322,16 @@
 7d
 67
 e0
-c9
-5a
+c8
+97
 c5
 13
 83
-18
+44
 6f
 e0
-c9
-5a
+c8
+97
 1f
 e9
 7e
@@ -3202,8 +3378,8 @@
 51
 6f
 e0
-c9
-5b
+c8
+98
 67
 e0
 c5
@@ -3214,8 +3390,8 @@
 01
 d8
 c0
-49
-5b
+48
+98
 98
 c0
 8c
@@ -3230,16 +3406,16 @@
 80
 6f
 e0
-c9
-5a
+c8
+97
 1f
 e1
 04
 01
 60
 48
-ca
-9a
+c9
+d7
 1f
 e3
 04
@@ -3258,8 +3434,8 @@
 00
 67
 e0
-c9
-5a
+c8
+97
 20
 60
 00
@@ -3279,15 +3455,15 @@
 20
 40
 03
-36
+62
 20
 40
 03
-3e
+6a
 20
 40
 03
-46
+72
 20
 20
 33
@@ -3298,12 +3474,12 @@
 05
 d8
 c0
-49
-5a
+48
+97
 d8
 a0
-4a
-4a
+49
+87
 20
 40
 7c
@@ -3326,8 +3502,8 @@
 00
 6f
 e0
-c9
-5a
+c8
+97
 1f
 e9
 7e
@@ -3339,11 +3515,11 @@
 20
 40
 03
-1f
+4b
 6f
 e0
-ca
-9a
+c9
+d7
 2f
 ef
 fe
@@ -3366,8 +3542,8 @@
 00
 6f
 e0
-ca
-4d
+c9
+8a
 20
 20
 33
@@ -3383,7 +3559,7 @@
 20
 40
 03
-5e
+8a
 20
 40
 48
@@ -3467,11 +3643,11 @@
 20
 40
 03
-59
+85
 20
 40
 03
-3b
+67
 24
 37
 b3
@@ -3502,12 +3678,12 @@
 00
 d8
 c0
-49
-5a
+48
+97
 d8
 a0
-4a
-4a
+49
+87
 20
 40
 7c
@@ -3523,15 +3699,15 @@
 20
 5a
 03
-78
+a4
 6f
 e0
-ca
-4c
+c9
+89
 c0
 7f
 83
-7e
+aa
 1f
 e1
 7e
@@ -3539,15 +3715,15 @@
 c0
 00
 83
-80
+ac
 c0
 01
 03
-90
+bc
 d8
 a0
-49
-5a
+48
+97
 df
 20
 00
@@ -3583,11 +3759,11 @@
 20
 40
 03
-48
+74
 20
 20
 02
-5f
+8b
 20
 40
 33
@@ -3602,8 +3778,8 @@
 0a
 68
 48
-ca
-4a
+c9
+87
 28
 4f
 fe
@@ -3619,15 +3795,15 @@
 c0
 00
 83
-8b
+b7
 6f
 e0
 c6
 12
 68
 48
-ca
-4a
+c9
+87
 20
 20
 33
@@ -3646,8 +3822,8 @@
 01
 6f
 e2
-4a
-54
+49
+91
 20
 20
 35
@@ -3658,8 +3834,8 @@
 93
 68
 48
-ca
-4a
+c9
+87
 28
 4f
 fe
@@ -3667,43 +3843,43 @@
 20
 20
 83
-95
+c1
 20
 20
 33
 d7
 6f
 e2
-4a
-54
+49
+91
 20
 20
 35
 a9
 6f
 e0
-ca
-4c
+c9
+89
 c2
 81
 03
-bf
+eb
 c2
 81
-83
-de
+84
+0a
 c2
 82
-03
-dd
+04
+09
 c2
 82
-83
-f6
+84
+22
 c2
 83
-03
-fb
+04
+27
 6f
 e0
 c5
@@ -3715,11 +3891,11 @@
 20
 22
 83
-af
+db
 20
 40
 03
-af
+db
 6f
 e0
 c5
@@ -3738,40 +3914,40 @@
 00
 d8
 a0
-4a
-4c
+49
+89
 d8
 c0
-4a
-54
+49
+91
 20
 40
 7c
 da
 6f
 e0
-ca
-4c
+c9
+89
 c2
 81
 03
-bf
+eb
 c2
 81
-83
-de
+84
+0a
 c2
 82
-03
-dd
+04
+09
 c2
 82
-83
-f6
+84
+22
 c2
 83
-03
-fb
+04
+27
 20
 60
 00
@@ -3786,40 +3962,40 @@
 13
 6f
 e3
-ca
-4d
+c9
+8a
 e7
 e3
 80
 05
 6f
 e0
-ca
-4d
+c9
+8a
 24
 5a
 48
 dd
 6f
 e0
-ca
-4d
+c9
+8a
 20
 5a
 48
 e1
 6f
 e0
-ca
-4d
+c9
+8a
 68
 48
-ca
-9f
+c9
+dc
 67
 e0
-ca
-9f
+c9
+dc
 98
 46
 7c
@@ -3830,8 +4006,8 @@
 36
 6f
 e3
-4a
-4e
+49
+8b
 20
 7a
 00
@@ -3842,8 +4018,8 @@
 36
 6f
 e0
-ca
-4d
+c9
+8a
 c1
 81
 00
@@ -3858,12 +4034,12 @@
 ff
 da
 40
-4a
-4d
+49
+8a
 da
 20
-4b
-6a
+4a
+a7
 20
 40
 7d
@@ -3882,23 +4058,23 @@
 ff
 d8
 c0
-4a
-4d
+49
+8a
 d8
 a0
-4b
-6a
+4a
+a7
 20
 40
 7c
 da
 70
-4b
-aa
+4a
+e7
 40
 70
-4b
-ab
+4a
+e8
 a1
 6f
 20
@@ -3910,48 +4086,48 @@
 ff
 d8
 c0
-4b
-6a
+4a
+a7
 d8
 a0
-4b
-ac
+4a
+e9
 20
 40
 7c
 da
 6f
 e1
-4b
-ad
+4a
+ea
 1f
 e6
 7d
 0c
 20
 42
-83
-d8
+84
+04
 70
 4b
-eb
+28
 31
 20
 20
 04
-04
+30
 68
 49
-4b
-b7
+4a
+f4
 6f
 e1
-4a
-a5
+49
+e2
 67
 e1
-4b
-b7
+4a
+f4
 60
 49
 00
@@ -3974,12 +4150,12 @@
 ff
 da
 40
-4a
-4d
+49
+8a
 da
 20
 4a
-e9
+26
 20
 40
 7d
@@ -3998,23 +4174,23 @@
 ff
 d8
 c0
-4a
-4d
+49
+8a
 d8
 a0
 4a
-e9
+26
 20
 40
 7c
 da
 70
-4b
-29
+4a
+66
 40
 70
-4b
-2a
+4a
+67
 a1
 6f
 e0
@@ -4026,8 +4202,8 @@
 ff
 67
 e0
-cb
-2b
+ca
+68
 6f
 20
 c5
@@ -4039,11 +4215,11 @@
 d8
 c0
 4a
-e9
+26
 d8
 a0
-4b
-2c
+4a
+69
 20
 40
 7c
@@ -4051,26 +4227,26 @@
 20
 40
 03
-75
+a1
 70
 4b
-eb
+28
 30
 20
 20
 04
-04
+30
 6f
 e0
-ca
-a7
+c9
+e4
 20
 7a
 00
 00
 70
-4a
-a7
+49
+e4
 00
 70
 46
@@ -4082,12 +4258,12 @@
 00
 6f
 e2
-ca
-4d
+c9
+8a
 68
 4a
-ca
-a0
+c9
+dd
 98
 46
 7c
@@ -4098,24 +4274,24 @@
 00
 67
 e2
-ca
-a0
+c9
+dd
 67
 e2
-cb
-ac
+ca
+e9
 70
-4b
-aa
+4a
+e7
 40
 70
-4b
-ab
+4a
+e8
 a1
 20
 20
-03
-d6
+04
+02
 6f
 e0
 89
@@ -4127,7 +4303,7 @@
 da
 20
 4b
-eb
+29
 20
 40
 7d
@@ -4138,8 +4314,8 @@
 00
 6f
 e0
-89
-0c
+cb
+28
 67
 e0
 86
@@ -4147,42 +4323,42 @@
 da
 20
 4b
-eb
+29
 20
 20
 7d
 8b
 6f
 e0
-ca
-4d
+c9
+8a
 c0
 00
 04
-12
+3e
 c0
 01
 04
-18
+44
 c0
 01
 84
-1b
+47
 20
 20
 33
 be
 6f
 e0
-ca
-4f
+c9
+8c
 67
 e0
 c6
 11
 70
-4a
-4f
+49
+8c
 00
 d8
 a0
@@ -4190,8 +4366,8 @@
 23
 d8
 c0
-4a
-4e
+49
+8b
 20
 20
 48
@@ -4202,8 +4378,8 @@
 43
 d8
 c0
-4a
-4d
+49
+8a
 20
 20
 49
@@ -4214,14 +4390,14 @@
 33
 d8
 c0
-4a
-4d
+49
+8a
 20
 20
 49
 07
-27
-5a
+f3
+4e
 aa
 55
 40
@@ -4419,8 +4595,8 @@
 55
 04
 00
-9b
-4a
+d8
+49
 25
 20
 15
@@ -4429,8 +4605,8 @@
 55
 02
 00
-a5
-4a
+e2
+49
 01
 00
 aa
@@ -4892,186 +5068,10 @@
 aa
 aa
 55
-3f
+b7
 90
-c9
-62
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+5a
+7f
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-c9
-48
+64
+c8
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/output/memmap.format	(revision 4745)
+++ /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/output/memmap.format	(working copy)
@@ -1490,36 +1490,30 @@
 0x4855 mem_usb_rxbuf_new_end//must be even address
 0x4856 mem_usb_clear_mem0_start
 0x4856 mem_usb_txbuf3
-0x4896 mem_usb_rxbuf_temp
-0x48d6 mem_usb_ep3_out_data_len
-0x48d7 mem_usb_ep3_in_data_len
-0x48d8 mem_usb_ep3_out_data_flag
-0x48d9 mem_usb_ep3_in_data
-0x4919 mem_usb_ep3_out_data
-0x4959 mem_usb_rxptr_add
-0x495a mem_usb_clear_mem0_end
-0x495a mem_24g_rxbuf_new
-0x49aa mem_24g_txbuf_new
-0x49fa mem_24g_txpayload_new
-0x4a4a mem_24g_rxdata_temp_new
-0x4a9a mem_24g_rxdata_ack_flag
-0x4a9b mem_24g_pair_addr_new
-0x4a9f mem_dg_ms_rf_key_last
-0x4aa0 mem_dg_ms_battery_start
-0x4aa0 mem_dg_ms_battery_event
-0x4aa1 mem_dg_ms_battery_opcode
-0x4aa2 mem_dg_ms_battery_len
-0x4aa3 mem_dg_ms_battery_data
-0x4aa4 mem_dg_ms_battery_data_in_type
-0x4aa5 mem_dg_ms_battery_end
-0x4aa5 mem_dg_version
-0x4aa7 mem_dg_rep_ms_ack_data_flag
-0x4aa8 mem_dg_rep_ms_ack_data
-0x4ae9 mem_dg_ms_audio_data_sta
-0x4b29 mem_dg_ms_audio_data
-0x4b6a mem_dg_ms_protocol_data_sta
-0x4baa mem_dg_ms_protocol_data
-0x4beb mem_usb_ep3_data
+0x4897 mem_usb_clear_mem0_end
+0x4897 mem_24g_rxbuf_new
+0x48e7 mem_24g_txbuf_new
+0x4937 mem_24g_txpayload_new
+0x4987 mem_24g_rxdata_temp_new
+0x49d7 mem_24g_rxdata_ack_flag
+0x49d8 mem_24g_pair_addr_new
+0x49dc mem_dg_ms_rf_key_last
+0x49dd mem_dg_ms_battery_start
+0x49dd mem_dg_ms_battery_event
+0x49de mem_dg_ms_battery_opcode
+0x49df mem_dg_ms_battery_len
+0x49e0 mem_dg_ms_battery_data
+0x49e1 mem_dg_ms_battery_data_in_type
+0x49e2 mem_dg_ms_battery_end
+0x49e2 mem_dg_version
+0x49e4 mem_dg_rep_ms_ack_data_flag
+0x49e5 mem_dg_rep_ms_ack_data
+0x4a26 mem_dg_ms_audio_data_sta
+0x4a66 mem_dg_ms_audio_data
+0x4aa7 mem_dg_ms_protocol_data_sta
+0x4ae7 mem_dg_ms_protocol_data
+0x4b28 mem_usb_ep3_data
+0x4b29 mem_usb_ep3_fifo
 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_pc/xzr_project/usb_pc_ai_voice/output/otp.dat	(revision 4745)
+++ /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-7a
-10
+2a
+11
 c2
 84
 00
@@ -31,8 +31,8 @@
 38
 c0
 0a
-01
-e5
+02
+11
 c0
 0a
 80
@@ -56,7 +56,7 @@
 c0
 1b
 82
-a2
+ce
 c0
 1c
 00
@@ -68,15 +68,15 @@
 c0
 1e
 82
-9f
+cb
 c0
 1f
 03
-4a
+76
 c0
 58
 82
-b9
+e5
 c0
 62
 80
@@ -84,19 +84,19 @@
 c0
 6d
 01
-b6
+e2
 c0
 6e
 01
-c6
+f2
 c0
 7e
 82
-40
+6c
 c0
 7f
 02
-2b
+57
 c0
 7f
 80
@@ -112,63 +112,63 @@
 c0
 01
 02
-01
+2d
 c0
 03
 01
-72
+78
 c0
 37
 03
-10
+3c
 c0
 37
 82
-ab
+d7
 c0
 39
 03
-05
+31
 c0
 39
-82
-f0
+83
+1c
 c0
 3a
 83
-1f
+4b
 c0
 3f
 02
-b5
+e1
 c0
 40
 83
-2f
+5b
 c0
 41
 02
-4f
+7b
 c0
 42
 03
-70
+9c
 c0
 42
 83
-75
+a1
 c0
 44
 02
-87
+b3
 c0
 45
 02
-94
+c0
 c0
 45
 82
-44
+70
 c1
 7f
 80
@@ -472,11 +472,11 @@
 20
 40
 01
-88
+b4
 20
 40
 01
-b3
+df
 20
 40
 00
@@ -492,7 +492,7 @@
 20
 20
 01
-b5
+e1
 20
 75
 80
@@ -1493,6 +1493,34 @@
 20
 7b
 65
+da
+20
+4b
+29
+20
+40
+7d
+a3
+20
+7a
+00
+00
+6f
+e0
+89
+0d
+79
+20
+7e
+03
+20
+20
+48
+39
+20
+40
+01
+72
 6f
 e0
 89
@@ -1544,11 +1572,15 @@
 20
 40
 01
-80
+88
+20
+40
+01
+8c
 20
 20
 01
-84
+90
 6f
 f0
 8c
@@ -1581,6 +1613,150 @@
 20
 7b
 fb
+da
+20
+4b
+29
+20
+40
+7d
+a3
+20
+7a
+00
+00
+6f
+f0
+8c
+25
+1f
+e1
+7e
+0f
+24
+7a
+00
+00
+6f
+e0
+89
+0d
+c4
+01
+80
+00
+79
+3f
+fe
+03
+67
+e0
+89
+0d
+da
+20
+4b
+29
+20
+40
+7d
+97
+20
+7a
+00
+00
+70
+4b
+28
+00
+c0
+18
+01
+a1
+c0
+18
+81
+a9
+20
+20
+23
+5a
+6f
+e0
+ca
+66
+20
+7a
+00
+00
+1f
+e2
+72
+00
+d8
+c0
+4a
+67
+20
+40
+01
+b0
+d8
+a0
+4a
+66
+df
+20
+00
+41
+20
+20
+7c
+a1
+6f
+e0
+ca
+e7
+20
+7a
+00
+00
+1f
+e2
+72
+00
+d8
+c0
+4a
+e8
+20
+40
+01
+b0
+d8
+a0
+4a
+e7
+20
+20
+01
+a7
+d8
+e0
+00
+03
+da
+20
+48
+56
+62
+31
+0c
+0e
+20
+20
+7b
+d2
 20
 75
 80
@@ -1632,7 +1808,7 @@
 20
 40
 01
-a5
+d1
 2a
 2f
 fe
@@ -1664,7 +1840,7 @@
 20
 40
 01
-a5
+d1
 d8
 a0
 8a
@@ -1692,7 +1868,7 @@
 20
 21
 01
-9a
+c6
 20
 20
 21
@@ -1795,8 +1971,8 @@
 b8
 20
 40
-01
-de
+02
+0a
 70
 8a
 08
@@ -1831,8 +2007,8 @@
 00
 20
 40
-01
-d4
+02
+00
 6f
 f0
 8a
@@ -1875,9 +2051,9 @@
 b8
 20
 40
-01
-de
-70
+02
+0a
+70
 80
 cd
 00
@@ -1935,8 +2111,8 @@
 29
 c3
 02
-81
-df
+82
+0b
 68
 59
 01
@@ -1971,8 +2147,8 @@
 99
 c0
 08
-01
-fe
+02
+2a
 58
 00
 57
@@ -2015,8 +2191,8 @@
 99
 c0
 08
-01
-fb
+02
+27
 58
 00
 2b
@@ -2051,8 +2227,8 @@
 07
 20
 20
-01
-f7
+02
+23
 58
 00
 83
@@ -2063,8 +2239,8 @@
 07
 20
 20
-01
-ec
+02
+18
 6f
 e0
 88
@@ -2076,7 +2252,7 @@
 c0
 01
 02
-08
+34
 c0
 01
 fa
@@ -2084,11 +2260,11 @@
 c0
 10
 82
-0b
+37
 c0
 11
 02
-1a
+46
 20
 20
 79
@@ -2116,15 +2292,15 @@
 c0
 00
 02
-11
+3d
 c0
 00
 82
-14
+40
 c0
 01
 02
-17
+43
 20
 20
 79
@@ -2172,15 +2348,15 @@
 c0
 00
 02
-1f
+4b
 c0
 00
 82
-22
+4e
 c0
 01
 02
-24
+50
 20
 20
 79
@@ -2196,7 +2372,7 @@
 20
 20
 02
-28
+54
 6a
 21
 07
@@ -2243,8 +2419,8 @@
 32
 58
 00
-49
-5a
+48
+97
 d8
 a0
 48
@@ -2328,7 +2504,7 @@
 20
 40
 82
-2d
+59
 20
 20
 79
@@ -2352,7 +2528,7 @@
 20
 40
 03
-3b
+67
 24
 37
 b3
@@ -2364,7 +2540,7 @@
 20
 42
 83
-64
+90
 6f
 e0
 c6
@@ -2379,32 +2555,32 @@
 93
 6f
 e0
-ca
-4c
+c9
+89
 c0
 55
 02
-55
+81
 c0
 2a
 82
-57
+83
 c0
 11
 02
-6d
+99
 c0
 7f
 82
-5f
+8b
 20
 60
 00
 00
 6f
 e0
-ca
-4d
+c9
+8a
 20
 20
 33
@@ -2416,11 +2592,11 @@
 20
 3a
 02
-5d
+89
 6f
 e2
-4a
-4e
+49
+8b
 68
 4a
 44
@@ -2435,24 +2611,24 @@
 00
 6f
 e0
-ca
-4d
+c9
+8a
 20
 20
 33
 41
 6f
 e0
-ca
-4d
+c9
+8a
 c0
 00
 82
-63
+8f
 c0
 01
 02
-68
+94
 20
 60
 00
@@ -2467,8 +2643,8 @@
 00
 6f
 e2
-4a
-4e
+49
+8b
 67
 e2
 46
@@ -2487,8 +2663,8 @@
 00
 6f
 e2
-4a
-4e
+49
+8b
 67
 e2
 46
@@ -2504,11 +2680,11 @@
 20
 3a
 02
-73
+9f
 6f
 e2
-4a
-4e
+49
+8b
 68
 4a
 46
@@ -2523,16 +2699,16 @@
 00
 6f
 e0
-ca
-4d
+c9
+8a
 c0
 00
 82
-77
+a3
 c0
 01
 02
-7f
+ab
 20
 60
 00
@@ -2552,7 +2728,7 @@
 c0
 01
 02
-7c
+a8
 20
 60
 00
@@ -2584,7 +2760,7 @@
 c0
 80
 02
-84
+b0
 20
 60
 00
@@ -2664,7 +2840,7 @@
 20
 40
 02
-98
+c4
 20
 20
 34
@@ -2763,16 +2939,16 @@
 18
 6f
 e0
-c9
-5b
+c8
+98
 79
 20
 7e
 00
 67
 e0
-c9
-5b
+c8
+98
 20
 40
 33
@@ -2791,8 +2967,8 @@
 4a
 6f
 e2
-4a
-9b
+49
+d8
 67
 e2
 45
@@ -2812,7 +2988,7 @@
 58
 00
 03
-97
+c3
 67
 e1
 45
@@ -2820,7 +2996,7 @@
 58
 00
 04
-0d
+39
 67
 e1
 45
@@ -2828,7 +3004,7 @@
 58
 00
 02
-c4
+f0
 67
 e1
 45
@@ -2852,11 +3028,11 @@
 c0
 00
 82
-c7
+f3
 c0
 01
 02
-ce
+fa
 6f
 e0
 c6
@@ -2864,11 +3040,11 @@
 c2
 80
 02
-ca
+f6
 20
 20
 02
-d0
+fc
 6f
 e0
 c6
@@ -2883,28 +3059,28 @@
 93
 20
 20
-02
-d7
+03
+03
 6f
 e0
 c6
 93
 c2
 80
-82
-d4
+83
+00
 6f
 e0
 c6
 11
 c0
 00
-82
-db
+83
+07
 c0
 01
-82
-e3
+83
+0f
 20
 60
 00
@@ -2931,8 +3107,8 @@
 ff
 67
 e0
-c9
-aa
+c8
+e7
 20
 60
 00
@@ -2943,8 +3119,8 @@
 01
 20
 40
-02
-ea
+03
+16
 24
 77
 80
@@ -2963,24 +3139,24 @@
 d6
 d8
 a0
-49
-aa
+48
+e7
 20
 20
 7c
 89
 6f
 e0
-c9
-5c
+c8
+99
 c0
 00
-82
-db
+83
+07
 c0
 7f
-82
-db
+83
+07
 70
 08
 f9
@@ -2995,8 +3171,8 @@
 21
 20
 20
-02
-d9
+03
+05
 6f
 e0
 c6
@@ -3015,8 +3191,8 @@
 00
 6f
 e0
-c9
-5d
+c8
+9a
 20
 20
 33
@@ -3040,7 +3216,7 @@
 67
 e0
 c9
-fa
+37
 6f
 e0
 c5
@@ -3095,8 +3271,8 @@
 00
 d8
 c0
-49
-aa
+48
+e7
 20
 40
 7c
@@ -3108,7 +3284,7 @@
 c5
 17
 83
-0a
+36
 6f
 e0
 c5
@@ -3116,7 +3292,7 @@
 24
 3a
 03
-0a
+36
 78
 4e
 fc
@@ -3144,7 +3320,7 @@
 d8
 c0
 49
-fa
+37
 20
 20
 31
@@ -3155,16 +3331,16 @@
 7d
 67
 e0
-c9
-5a
+c8
+97
 c5
 13
 83
-18
+44
 6f
 e0
-c9
-5a
+c8
+97
 1f
 e9
 7e
@@ -3211,8 +3387,8 @@
 51
 6f
 e0
-c9
-5b
+c8
+98
 67
 e0
 c5
@@ -3223,8 +3399,8 @@
 01
 d8
 c0
-49
-5b
+48
+98
 98
 c0
 8c
@@ -3239,16 +3415,16 @@
 80
 6f
 e0
-c9
-5a
+c8
+97
 1f
 e1
 04
 01
 60
 48
-ca
-9a
+c9
+d7
 1f
 e3
 04
@@ -3267,8 +3443,8 @@
 00
 67
 e0
-c9
-5a
+c8
+97
 20
 60
 00
@@ -3288,15 +3464,15 @@
 20
 40
 03
-36
+62
 20
 40
 03
-3e
+6a
 20
 40
 03
-46
+72
 20
 20
 33
@@ -3307,12 +3483,12 @@
 05
 d8
 c0
-49
-5a
+48
+97
 d8
 a0
-4a
-4a
+49
+87
 20
 40
 7c
@@ -3335,8 +3511,8 @@
 00
 6f
 e0
-c9
-5a
+c8
+97
 1f
 e9
 7e
@@ -3348,11 +3524,11 @@
 20
 40
 03
-1f
+4b
 6f
 e0
-ca
-9a
+c9
+d7
 2f
 ef
 fe
@@ -3375,8 +3551,8 @@
 00
 6f
 e0
-ca
-4d
+c9
+8a
 20
 20
 33
@@ -3392,7 +3568,7 @@
 20
 40
 03
-5e
+8a
 20
 40
 48
@@ -3476,11 +3652,11 @@
 20
 40
 03
-59
+85
 20
 40
 03
-3b
+67
 24
 37
 b3
@@ -3511,12 +3687,12 @@
 00
 d8
 c0
-49
-5a
+48
+97
 d8
 a0
-4a
-4a
+49
+87
 20
 40
 7c
@@ -3532,15 +3708,15 @@
 20
 5a
 03
-78
+a4
 6f
 e0
-ca
-4c
+c9
+89
 c0
 7f
 83
-7e
+aa
 1f
 e1
 7e
@@ -3548,15 +3724,15 @@
 c0
 00
 83
-80
+ac
 c0
 01
 03
-90
+bc
 d8
 a0
-49
-5a
+48
+97
 df
 20
 00
@@ -3592,11 +3768,11 @@
 20
 40
 03
-48
+74
 20
 20
 02
-5f
+8b
 20
 40
 33
@@ -3611,8 +3787,8 @@
 0a
 68
 48
-ca
-4a
+c9
+87
 28
 4f
 fe
@@ -3628,15 +3804,15 @@
 c0
 00
 83
-8b
+b7
 6f
 e0
 c6
 12
 68
 48
-ca
-4a
+c9
+87
 20
 20
 33
@@ -3655,8 +3831,8 @@
 01
 6f
 e2
-4a
-54
+49
+91
 20
 20
 35
@@ -3667,8 +3843,8 @@
 93
 68
 48
-ca
-4a
+c9
+87
 28
 4f
 fe
@@ -3676,43 +3852,43 @@
 20
 20
 83
-95
+c1
 20
 20
 33
 d7
 6f
 e2
-4a
-54
+49
+91
 20
 20
 35
 a9
 6f
 e0
-ca
-4c
+c9
+89
 c2
 81
 03
-bf
+eb
 c2
 81
-83
-de
+84
+0a
 c2
 82
-03
-dd
+04
+09
 c2
 82
-83
-f6
+84
+22
 c2
 83
-03
-fb
+04
+27
 6f
 e0
 c5
@@ -3724,11 +3900,11 @@
 20
 22
 83
-af
+db
 20
 40
 03
-af
+db
 6f
 e0
 c5
@@ -3747,40 +3923,40 @@
 00
 d8
 a0
-4a
-4c
+49
+89
 d8
 c0
-4a
-54
+49
+91
 20
 40
 7c
 da
 6f
 e0
-ca
-4c
+c9
+89
 c2
 81
 03
-bf
+eb
 c2
 81
-83
-de
+84
+0a
 c2
 82
-03
-dd
+04
+09
 c2
 82
-83
-f6
+84
+22
 c2
 83
-03
-fb
+04
+27
 20
 60
 00
@@ -3795,40 +3971,40 @@
 13
 6f
 e3
-ca
-4d
+c9
+8a
 e7
 e3
 80
 05
 6f
 e0
-ca
-4d
+c9
+8a
 24
 5a
 48
 dd
 6f
 e0
-ca
-4d
+c9
+8a
 20
 5a
 48
 e1
 6f
 e0
-ca
-4d
+c9
+8a
 68
 48
-ca
-9f
+c9
+dc
 67
 e0
-ca
-9f
+c9
+dc
 98
 46
 7c
@@ -3839,8 +4015,8 @@
 36
 6f
 e3
-4a
-4e
+49
+8b
 20
 7a
 00
@@ -3851,8 +4027,8 @@
 36
 6f
 e0
-ca
-4d
+c9
+8a
 c1
 81
 00
@@ -3867,12 +4043,12 @@
 ff
 da
 40
-4a
-4d
+49
+8a
 da
 20
-4b
-6a
+4a
+a7
 20
 40
 7d
@@ -3891,23 +4067,23 @@
 ff
 d8
 c0
-4a
-4d
+49
+8a
 d8
 a0
-4b
-6a
+4a
+a7
 20
 40
 7c
 da
 70
-4b
-aa
+4a
+e7
 40
 70
-4b
-ab
+4a
+e8
 a1
 6f
 20
@@ -3919,48 +4095,48 @@
 ff
 d8
 c0
-4b
-6a
+4a
+a7
 d8
 a0
-4b
-ac
+4a
+e9
 20
 40
 7c
 da
 6f
 e1
-4b
-ad
+4a
+ea
 1f
 e6
 7d
 0c
 20
 42
-83
-d8
+84
+04
 70
 4b
-eb
+28
 31
 20
 20
 04
-04
+30
 68
 49
-4b
-b7
+4a
+f4
 6f
 e1
-4a
-a5
+49
+e2
 67
 e1
-4b
-b7
+4a
+f4
 60
 49
 00
@@ -3983,12 +4159,12 @@
 ff
 da
 40
-4a
-4d
+49
+8a
 da
 20
 4a
-e9
+26
 20
 40
 7d
@@ -4007,23 +4183,23 @@
 ff
 d8
 c0
-4a
-4d
+49
+8a
 d8
 a0
 4a
-e9
+26
 20
 40
 7c
 da
 70
-4b
-29
+4a
+66
 40
 70
-4b
-2a
+4a
+67
 a1
 6f
 e0
@@ -4035,8 +4211,8 @@
 ff
 67
 e0
-cb
-2b
+ca
+68
 6f
 20
 c5
@@ -4048,11 +4224,11 @@
 d8
 c0
 4a
-e9
+26
 d8
 a0
-4b
-2c
+4a
+69
 20
 40
 7c
@@ -4060,26 +4236,26 @@
 20
 40
 03
-75
+a1
 70
 4b
-eb
+28
 30
 20
 20
 04
-04
+30
 6f
 e0
-ca
-a7
+c9
+e4
 20
 7a
 00
 00
 70
-4a
-a7
+49
+e4
 00
 70
 46
@@ -4091,12 +4267,12 @@
 00
 6f
 e2
-ca
-4d
+c9
+8a
 68
 4a
-ca
-a0
+c9
+dd
 98
 46
 7c
@@ -4107,24 +4283,24 @@
 00
 67
 e2
-ca
-a0
+c9
+dd
 67
 e2
-cb
-ac
+ca
+e9
 70
-4b
-aa
+4a
+e7
 40
 70
-4b
-ab
+4a
+e8
 a1
 20
 20
-03
-d6
+04
+02
 6f
 e0
 89
@@ -4136,7 +4312,7 @@
 da
 20
 4b
-eb
+29
 20
 40
 7d
@@ -4147,8 +4323,8 @@
 00
 6f
 e0
-89
-0c
+cb
+28
 67
 e0
 86
@@ -4156,42 +4332,42 @@
 da
 20
 4b
-eb
+29
 20
 20
 7d
 8b
 6f
 e0
-ca
-4d
+c9
+8a
 c0
 00
 04
-12
+3e
 c0
 01
 04
-18
+44
 c0
 01
 84
-1b
+47
 20
 20
 33
 be
 6f
 e0
-ca
-4f
+c9
+8c
 67
 e0
 c6
 11
 70
-4a
-4f
+49
+8c
 00
 d8
 a0
@@ -4199,8 +4375,8 @@
 23
 d8
 c0
-4a
-4e
+49
+8b
 20
 20
 48
@@ -4211,8 +4387,8 @@
 43
 d8
 c0
-4a
-4d
+49
+8a
 20
 20
 49
@@ -4223,14 +4399,14 @@
 33
 d8
 c0
-4a
-4d
+49
+8a
 20
 20
 49
 07
-27
-5a
+f3
+4e
 aa
 55
 40
@@ -4428,8 +4604,8 @@
 55
 04
 00
-9b
-4a
+d8
+49
 25
 20
 15
@@ -4438,8 +4614,8 @@
 55
 02
 00
-a5
-4a
+e2
+49
 01
 00
 aa
@@ -4901,8 +5077,8 @@
 aa
 aa
 55
-3f
+b7
 90
-c9
-62
+5a
+7f
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/output/program.lis	(revision 4745)
+++ /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/output/program.lis	(working copy)
@@ -4,43 +4,43 @@
 0001 c0000029 beq patch00_0 ,p_soft_reset 
 0002 c001002f beq patch00_2 ,p_main_loop 
 0003 c0088038 beq patch02_1 ,p_set_sync_on 
-0004 c00a01e5 beq patch02_4 ,p_set_lemode 
+0004 c00a0211 beq patch02_4 ,p_set_lemode 
 0005 c00a80dc beq patch02_5 ,p_rf_rx_enable 
 0006 c00c00ea beq patch03_0 ,p_txon 
 0007 c00c8096 beq patch03_1 ,p_set_tx_power 
 0008 c00d0052 beq patch03_2 ,p_initialize_radio_cont 
 0009 c00e0041 beq patch03_4 ,p_aac_ghpc 
-000a c01b82a2 beq patch06_7 ,p_dongle_default_init 
+000a c01b82ce beq patch06_7 ,p_dongle_default_init 
 000b c01c00af beq patch07_0 ,p_dongle_read_kb_bind_status 
 000c c01c80ab beq patch07_1 ,p_dongle_write_kb_bind_status 
-000d c01e829f beq patch07_5 ,p_dongle_usb_dispatch 
-000e c01f034a beq patch07_6 ,p_dongle_work_mode_auto 
-000f c05882b9 beq patch16_1 ,p_app_init 
+000d c01e82cb beq patch07_5 ,p_dongle_usb_dispatch 
+000e c01f0376 beq patch07_6 ,p_dongle_work_mode_auto 
+000f c05882e5 beq patch16_1 ,p_app_init 
 0010 c06280a8 beq patch18_5 ,p_otp_read_data 
-0011 c06d01b6 beq patch1b_2 ,p_sadc_calibration 
-0012 c06e01c6 beq patch1b_4 ,p_enable_adc 
-0013 c07e8240 beq patch1f_5 ,p_usb_isr 
-0014 c07f022b beq patch1f_6 ,p_usb_init 
+0011 c06d01e2 beq patch1b_2 ,p_sadc_calibration 
+0012 c06e01f2 beq patch1b_4 ,p_enable_adc 
+0013 c07e826c beq patch1f_5 ,p_usb_isr 
+0014 c07f0257 beq patch1f_6 ,p_usb_init 
 0015 c07f80f4 beq patch1f_7 ,p_usb_rx 
 0016 2020235a branch assert 
 
 pf_patch_ext:
 0017 c000010f beq patch20_0 ,p_usb_class_type 
-0018 c0010201 beq patch20_2 ,p_usb0_request_get_descriptor 
-0019 c0030172 beq patch20_6 ,p_usb_tx 
-001a c0370310 beq patch2d_6 ,p_g24_receive_update_rxbuff 
-001b c03782ab beq patch2d_7 ,p_g24_receive_skip_end 
-001c c0390305 beq patch2e_2 ,p_g24_transmit_packet 
-001d c03982f0 beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a831f beq patch2e_5 ,p_g24_read_len_pid_crc 
-001f c03f02b5 beq patch2f_6 ,p_g24_pair_param_init 
-0020 c040832f beq patch30_1 ,p_g24_bind_data_process 
-0021 c041024f beq patch30_2 ,p_g24_bind_data_parse_next 
-0022 c0420370 beq patch30_4 ,p_g24_receive_packet_parse_end 
-0023 c0428375 beq patch30_5 ,p_g24_rx_interrupt_clear 
-0024 c0440287 beq patch31_0 ,p_g24_mode_switch_bind_search 
-0025 c0450294 beq patch31_2 ,p_g24_bind_mode_auto 
-0026 c0458244 beq patch31_3 ,p_g24_search_mode_auto 
+0018 c001022d beq patch20_2 ,p_usb0_request_get_descriptor 
+0019 c0030178 beq patch20_6 ,p_usb_tx 
+001a c037033c beq patch2d_6 ,p_g24_receive_update_rxbuff 
+001b c03782d7 beq patch2d_7 ,p_g24_receive_skip_end 
+001c c0390331 beq patch2e_2 ,p_g24_transmit_packet 
+001d c039831c beq patch2e_3 ,p_g24_transmit_prep 
+001e c03a834b beq patch2e_5 ,p_g24_read_len_pid_crc 
+001f c03f02e1 beq patch2f_6 ,p_g24_pair_param_init 
+0020 c040835b beq patch30_1 ,p_g24_bind_data_process 
+0021 c041027b beq patch30_2 ,p_g24_bind_data_parse_next 
+0022 c042039c beq patch30_4 ,p_g24_receive_packet_parse_end 
+0023 c04283a1 beq patch30_5 ,p_g24_rx_interrupt_clear 
+0024 c04402b3 beq patch31_0 ,p_g24_mode_switch_bind_search 
+0025 c04502c0 beq patch31_2 ,p_g24_bind_mode_auto 
+0026 c0458270 beq patch31_3 ,p_g24_search_mode_auto 
 0027 c17f8000 rtneq patch3f_7 
 0028 2020235a branch assert 
 
@@ -132,12 +132,12 @@
 006f 58557474 setarg 0x557474 
 0070 67f18968 store 3 ,0x8968 
 0071 7089606e jam 0x6e ,0x8960 
-0072 20400188 call p_rx_dcoc 
-0073 204001b3 call p_rfpll_aac_ghpc 
+0072 204001b4 call p_rx_dcoc 
+0073 204001df call p_rfpll_aac_ghpc 
 0074 20400078 call p_set_xtal_cap 
 0075 7041480c jam system_clk_12m ,mem_system_clk 
 0076 20406f4e call sadc_calibration 
-0077 202001b5 branch p_dpll_ring_ibias_calc 
+0077 202001e1 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 0078 20758000 rtn wake 
@@ -457,903 +457,961 @@
 0170 708c1b02 jam 0x2 ,core_usb_clear_nak 
 0171 20207b65 branch usb_set_report_next 
 
+p_usb_tx_ep3_queue_buff_check:
+0172 da204b29 arg mem_usb_ep3_fifo ,rega 
+0173 20407da3 call fifo_is_empty 
+0174 207a0000 rtn blank 
+
+p_usb_ep3_tx_enable:
+0175 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0176 79207e03 set1 3 ,pdata 
+0177 20204839 branch dongle_usb_tx_enable 
+
 p_usb_tx:
-0172 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0173 207a0000 rtn blank 
-0174 6ff08c25 fetch 1 ,core_usb_txbusy 
-0175 1fe17e0f and_into 0x0f ,pdata 
-0176 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-0177 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0178 203a7c06 branch usb_tx_fifo_release ,blank 
-0179 6fe08900 fetch 1 ,mem_usb_state 
-017a c001fc40 beq usb_sleep ,usb_windows_wakeup 
-017b c0817c06 bne usb_connected ,usb_tx_fifo_release 
-017c 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-017d 243a7c06 nbranch usb_tx_fifo_release ,blank 
-017e 20400180 call p_usb_tx_data_ep1 
-017f 20200184 branch p_usb_tx_data_ep2 
+0178 20400172 call p_usb_tx_ep3_queue_buff_check 
+0179 6fe0890d fetch 1 ,mem_usb_tx_enable 
+017a 207a0000 rtn blank 
+017b 6ff08c25 fetch 1 ,core_usb_txbusy 
+017c 1fe17e0f and_into 0x0f ,pdata 
+017d 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+017e 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+017f 203a7c06 branch usb_tx_fifo_release ,blank 
+0180 6fe08900 fetch 1 ,mem_usb_state 
+0181 c001fc40 beq usb_sleep ,usb_windows_wakeup 
+0182 c0817c06 bne usb_connected ,usb_tx_fifo_release 
+0183 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+0184 243a7c06 nbranch usb_tx_fifo_release ,blank 
+0185 20400188 call p_usb_tx_data_ep1 
+0186 2040018c call p_usb_tx_data_ep2 
+0187 20200190 branch p_usb_tx_data_ep3 
 
 p_usb_tx_data_ep1:
-0180 6ff08c25 fetch 1 ,core_usb_txbusy 
-0181 1fe17e0f and_into 0x0f ,pdata 
-0182 247a0000 nrtn blank 
-0183 20207bf0 branch usb_tx_data_ep1 + 2 
+0188 6ff08c25 fetch 1 ,core_usb_txbusy 
+0189 1fe17e0f and_into 0x0f ,pdata 
+018a 247a0000 nrtn blank 
+018b 20207bf0 branch usb_tx_data_ep1 + 2 
 
 p_usb_tx_data_ep2:
-0184 6ff08c25 fetch 1 ,core_usb_txbusy 
-0185 1fe17e0f and_into 0x0f ,pdata 
-0186 247a0000 nrtn blank 
-0187 20207bfb branch usb_tx_data_ep2 + 2 
+018c 6ff08c25 fetch 1 ,core_usb_txbusy 
+018d 1fe17e0f and_into 0x0f ,pdata 
+018e 247a0000 nrtn blank 
+018f 20207bfb branch usb_tx_data_ep2 + 2 
+
+p_usb_tx_data_ep3:
+0190 da204b29 arg mem_usb_ep3_fifo ,rega 
+0191 20407da3 call fifo_is_empty 
+0192 207a0000 rtn blank 
+0193 6ff08c25 fetch 1 ,core_usb_txbusy 
+0194 1fe17e0f and_into 0x0f ,pdata 
+0195 247a0000 nrtn blank 
+0196 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0197 c4018000 rtnbit0 3 
+0198 793ffe03 set0 3 ,pdata 
+0199 67e0890d store 1 ,mem_usb_tx_enable 
+019a da204b29 arg mem_usb_ep3_fifo ,rega 
+019b 20407d97 call fifo_out 
+019c 207a0000 rtn blank 
+019d 704b2800 jam 0 ,mem_usb_ep3_data 
+019e c01801a1 beq usb_ep3_audio ,p_usb_tx_audio_data 
+019f c01881a9 beq usb_ep3_protocol ,p_usb_tx_protocol_data 
+01a0 2020235a branch assert 
+
+p_usb_tx_audio_data:
+01a1 6fe0ca66 fetch 1 ,mem_dg_ms_audio_data 
+01a2 207a0000 rtn blank 
+01a3 1fe27200 copy pdata ,loopcnt 
+01a4 d8c04a67 arg mem_dg_ms_audio_data + 1 ,contr 
+01a5 204001b0 call p_usb_tx_ep3 
+01a6 d8a04a66 arg mem_dg_ms_audio_data ,contw 
+
+p_usb_tx_buff_realease:
+01a7 df200041 arg 65 ,loopcnt 
+01a8 20207ca1 branch clear_mem 
+
+p_usb_tx_protocol_data:
+01a9 6fe0cae7 fetch 1 ,mem_dg_ms_protocol_data 
+01aa 207a0000 rtn blank 
+01ab 1fe27200 copy pdata ,loopcnt 
+01ac d8c04ae8 arg mem_dg_ms_protocol_data + 1 ,contr 
+01ad 204001b0 call p_usb_tx_ep3 
+01ae d8a04ae7 arg mem_dg_ms_protocol_data ,contw 
+01af 202001a7 branch p_usb_tx_buff_realease 
+
+p_usb_tx_ep3:
+01b0 d8e00003 arg 3 ,queue 
+01b1 da204856 arg mem_usb_txbuf3 ,rega 
+01b2 62310c0e storer rega ,2 ,core_usb_tx_saddr3 
+01b3 20207bd2 branch usb_tx_buf 
 
 p_rx_dcoc:
-0188 20758000 rtn wake 
-0189 20402160 call set_sync_on 
-018a d8400027 arg 39 ,temp 
-018b 2040216f call set_freq_rx 
-018c 204021a6 call rf_rx_enable 
-018d 708a257f jam 0x7f ,0x8a25 
-018e 708a301a jam 0x1a ,0x8a30 
-018f 708a3178 jam 0x78 ,0x8a31 
-0190 708a8fb2 jam 0xb2 ,0x8a8f 
-0191 708ac200 jam 0 ,0x8ac2 
-0192 708ac300 jam 0 ,0x8ac3 
-0193 d8e00006 arg 6 ,queue 
-0194 204001a5 call p_rx_dcoc_avg 
-0195 2a2ffe0d isolate1 13 ,rega 
-0196 2040211d call qset_start 
-0197 2a4ffe0d isolate1 13 ,regb 
-0198 2040211e call qset_p 
-0199 d8e00005 arg 5 ,queue 
+01b4 20758000 rtn wake 
+01b5 20402160 call set_sync_on 
+01b6 d8400027 arg 39 ,temp 
+01b7 2040216f call set_freq_rx 
+01b8 204021a6 call rf_rx_enable 
+01b9 708a257f jam 0x7f ,0x8a25 
+01ba 708a301a jam 0x1a ,0x8a30 
+01bb 708a3178 jam 0x78 ,0x8a31 
+01bc 708a8fb2 jam 0xb2 ,0x8a8f 
+01bd 708ac200 jam 0 ,0x8ac2 
+01be 708ac300 jam 0 ,0x8ac3 
+01bf d8e00006 arg 6 ,queue 
+01c0 204001d1 call p_rx_dcoc_avg 
+01c1 2a2ffe0d isolate1 13 ,rega 
+01c2 2040211d call qset_start 
+01c3 2a4ffe0d isolate1 13 ,regb 
+01c4 2040211e call qset_p 
+01c5 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-019a 2040211c call qset1_p 
-019b 2040211e call qset_p 
-019c 204001a5 call p_rx_dcoc_avg 
-019d d8a08ac2 arg 0x8ac2 ,contw 
-019e 1a31fe00 rshift4 rega ,pdata 
-019f 20402117 call qsetxor 
-01a0 1a51fe00 rshift4 regb ,pdata 
-01a1 20402117 call qsetxor 
-01a2 18e08fff increase -1 ,queue 
-01a3 2021019a branch p_rx_dcoc_loop2 ,positive 
-01a4 2020214f branch rx_dcoc_loop2 + 10 
+01c6 2040211c call qset1_p 
+01c7 2040211e call qset_p 
+01c8 204001d1 call p_rx_dcoc_avg 
+01c9 d8a08ac2 arg 0x8ac2 ,contw 
+01ca 1a31fe00 rshift4 rega ,pdata 
+01cb 20402117 call qsetxor 
+01cc 1a51fe00 rshift4 regb ,pdata 
+01cd 20402117 call qsetxor 
+01ce 18e08fff increase -1 ,queue 
+01cf 202101c6 branch p_rx_dcoc_loop2 ,positive 
+01d0 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-01a5 2000003c nop 60 
-01a6 58000f00 setarg mem_dcoc_buf 
-01a7 67f10982 store 2 ,0x8982 
-01a8 58000ff0 setarg mem_dcoc_buf_end 
-01a9 67f10984 store 2 ,0x8984 
-01aa 70898109 jam 0x9 ,0x8981 
-01ab 70898103 jam 0x3 ,0x8981 
-01ac 70898006 jam 0x6 ,0x8980 
-01ad 2000003c nop 60 
-01ae da200000 arg 0 ,rega 
-01af da400000 arg 0 ,regb 
-01b0 df200010 arg 16 ,loopcnt 
-01b1 d8c00f00 arg mem_dcoc_buf ,contr 
-01b2 2020212d branch rx_dcoc_loop 
+01d1 2000003c nop 60 
+01d2 58000f00 setarg mem_dcoc_buf 
+01d3 67f10982 store 2 ,0x8982 
+01d4 58000ff0 setarg mem_dcoc_buf_end 
+01d5 67f10984 store 2 ,0x8984 
+01d6 70898109 jam 0x9 ,0x8981 
+01d7 70898103 jam 0x3 ,0x8981 
+01d8 70898006 jam 0x6 ,0x8980 
+01d9 2000003c nop 60 
+01da da200000 arg 0 ,rega 
+01db da400000 arg 0 ,regb 
+01dc df200010 arg 16 ,loopcnt 
+01dd d8c00f00 arg mem_dcoc_buf ,contr 
+01de 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-01b3 20758000 rtn wake 
-01b4 20202272 branch rfpll_aac_ghpc + 1 
+01df 20758000 rtn wake 
+01e0 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-01b5 20600000 rtn 
+01e1 20600000 rtn 
 
 p_sadc_calibration:
-01b6 20758000 rtn wake 
-01b7 708a0777 jam 0x77 ,core_gpadc_ctrl 
-01b8 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-01b9 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-01ba 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-01bb 67f080cd store 1 ,core_sadc_clkdiv 
-01bc 20000bb8 nop 3000 
-01bd 204001de call p_sadc_read 
-01be 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-01bf 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-01c0 df200008 arg 8 ,loopcnt 
-01c1 20406f58 call sadc_cal_read + 1 
-01c2 6fe0c419 fetch 1 ,mem_spi_write_addr 
-01c3 67e0c433 store 1 ,mem_adc_cal_c7 
-01c4 6240c419 storer regb ,1 ,mem_spi_write_addr 
-01c5 20600000 rtn 
+01e2 20758000 rtn wake 
+01e3 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01e4 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+01e5 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+01e6 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+01e7 67f080cd store 1 ,core_sadc_clkdiv 
+01e8 20000bb8 nop 3000 
+01e9 2040020a call p_sadc_read 
+01ea 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01eb 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+01ec df200008 arg 8 ,loopcnt 
+01ed 20406f58 call sadc_cal_read + 1 
+01ee 6fe0c419 fetch 1 ,mem_spi_write_addr 
+01ef 67e0c433 store 1 ,mem_adc_cal_c7 
+01f0 6240c419 storer regb ,1 ,mem_spi_write_addr 
+01f1 20600000 rtn 
 
 p_enable_adc:
-01c6 204001d4 call p_sadc_cal_write 
-01c7 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-01c8 793ffe07 set0 7 ,pdata 
-01c9 67f08a09 store 1 ,core_gpadc_cfg1 
-01ca 708a0777 jam 0x77 ,core_gpadc_ctrl 
-01cb 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-01cc 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-01cd 20406f90 call sadc_channel 
-01ce 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-01cf 67f080cd store 1 ,core_sadc_clkdiv 
-01d0 20000bb8 nop 3000 
-01d1 204001de call p_sadc_read 
-01d2 7080cd00 jam 0 ,core_sadc_clkdiv 
-01d3 20206fa1 branch sadc_dma 
+01f2 20400200 call p_sadc_cal_write 
+01f3 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+01f4 793ffe07 set0 7 ,pdata 
+01f5 67f08a09 store 1 ,core_gpadc_cfg1 
+01f6 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01f7 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01f8 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+01f9 20406f90 call sadc_channel 
+01fa 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+01fb 67f080cd store 1 ,core_sadc_clkdiv 
+01fc 20000bb8 nop 3000 
+01fd 2040020a call p_sadc_read 
+01fe 7080cd00 jam 0 ,core_sadc_clkdiv 
+01ff 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-01d4 6ff080cc fetch 1 ,core_sadc_ctrl 
-01d5 79207e01 set1 1 ,pdata 
-01d6 67f080cc store 1 ,core_sadc_ctrl 
-01d7 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-01d8 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-01d9 67e0c419 store 1 ,mem_spi_write_addr 
-01da df200008 arg 8 ,loopcnt 
-01db 20406f67 call sadc_cal_write + 4 
-01dc 6240c419 storer regb ,1 ,mem_spi_write_addr 
-01dd 20600000 rtn 
+0200 6ff080cc fetch 1 ,core_sadc_ctrl 
+0201 79207e01 set1 1 ,pdata 
+0202 67f080cc store 1 ,core_sadc_ctrl 
+0203 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0204 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+0205 67e0c419 store 1 ,mem_spi_write_addr 
+0206 df200008 arg 8 ,loopcnt 
+0207 20406f67 call sadc_cal_write + 4 
+0208 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0209 20600000 rtn 
 
 p_sadc_read:
-01de 7080cc03 jam 0x03 ,core_sadc_ctrl 
+020a 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-01df 6ff08129 fetch 1 ,core_perf_status 
-01e0 c30281df bbit0 saradc_done ,p_sadc_read_wait 
-01e1 68590164 fetcht 2 ,core_sadc_data 
-01e2 6049440a storet 2 ,mem_adc_current_value 
-01e3 7080cc00 jam 0x00 ,core_sadc_ctrl 
-01e4 20600000 rtn 
+020b 6ff08129 fetch 1 ,core_perf_status 
+020c c302820b bbit0 saradc_done ,p_sadc_read_wait 
+020d 68590164 fetcht 2 ,core_sadc_data 
+020e 6049440a storet 2 ,mem_adc_current_value 
+020f 7080cc00 jam 0x00 ,core_sadc_ctrl 
+0210 20600000 rtn 
 
 p_set_lemode:
-01e5 708a8211 jam 0x11 ,0x8a82 
-01e6 708a8d12 jam 0x12 ,0x8a8d 
-01e7 708a8e0a jam 0x0a ,0x8a8e 
-01e8 6fe0c099 fetch 1 ,mem_fcomp_div 
-01e9 c00801fe beq xtal_16m ,p_set_lemode_2m_16m 
-01ea 58005762 setarg 0x5762 
-01eb 67f10907 store 2 ,0x8907 
+0211 708a8211 jam 0x11 ,0x8a82 
+0212 708a8d12 jam 0x12 ,0x8a8d 
+0213 708a8e0a jam 0x0a ,0x8a8e 
+0214 6fe0c099 fetch 1 ,mem_fcomp_div 
+0215 c008022a beq xtal_16m ,p_set_lemode_2m_16m 
+0216 58005762 setarg 0x5762 
+0217 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-01ec 70890103 jam 3 ,0x8901 
-01ed 70893003 jam 3 ,0x8930 
-01ee c6168000 rtnmark1 mark_ble_2m 
-01ef 70890101 jam 1 ,0x8901 
-01f0 708a8207 jam 0x07 ,0x8a82 
-01f1 708a8d44 jam 0x44 ,0x8a8d 
-01f2 708a8e0a jam 0x0a ,0x8a8e 
-01f3 6fe0c099 fetch 1 ,mem_fcomp_div 
-01f4 c00801fb beq xtal_16m ,p_set_lemode_1m_16m 
-01f5 58002bb1 setarg 0x2bb1 
-01f6 67f10907 store 2 ,0x8907 
+0218 70890103 jam 3 ,0x8901 
+0219 70893003 jam 3 ,0x8930 
+021a c6168000 rtnmark1 mark_ble_2m 
+021b 70890101 jam 1 ,0x8901 
+021c 708a8207 jam 0x07 ,0x8a82 
+021d 708a8d44 jam 0x44 ,0x8a8d 
+021e 708a8e0a jam 0x0a ,0x8a8e 
+021f 6fe0c099 fetch 1 ,mem_fcomp_div 
+0220 c0080227 beq xtal_16m ,p_set_lemode_1m_16m 
+0221 58002bb1 setarg 0x2bb1 
+0222 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-01f7 c6978000 rtnmark0 mark_ble_lr 
-01f8 70893024 jam 0x24 ,0x8930 
-01f9 70890105 jam 5 ,0x8901 
-01fa 20600000 rtn 
+0223 c6978000 rtnmark0 mark_ble_lr 
+0224 70893024 jam 0x24 ,0x8930 
+0225 70890105 jam 5 ,0x8901 
+0226 20600000 rtn 
 
 p_set_lemode_1m_16m:
-01fb 58004189 setarg 0x4189 
-01fc 67f10907 store 2 ,0x8907 
-01fd 202001f7 branch p_set_lemode_1m 
+0227 58004189 setarg 0x4189 
+0228 67f10907 store 2 ,0x8907 
+0229 20200223 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-01fe 58008312 setarg 0x8312 
-01ff 67f10907 store 2 ,0x8907 
-0200 202001ec branch p_set_lemode_2m 
+022a 58008312 setarg 0x8312 
+022b 67f10907 store 2 ,0x8907 
+022c 20200218 branch p_set_lemode_2m 
 
 p_usb0_request_get_descriptor:
-0201 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
-0202 c000fa14 beq dsc_device ,dsc_device_info 
-0203 c0010208 beq dsc_config ,p_dsc_config_info 
-0204 c001fa30 beq dsc_string ,dsc_string_info 
-0205 c010820b beq dsc_hid ,p_dsc_hid_info 
-0206 c011021a beq dsc_hid_report ,p_dsc_hid_report_info 
-0207 202079e4 branch usb0_force_stall 
+022d 6fe08870 fetch 1 ,mem_usb_setup_bvalueh 
+022e c000fa14 beq dsc_device ,dsc_device_info 
+022f c0010234 beq dsc_config ,p_dsc_config_info 
+0230 c001fa30 beq dsc_string ,dsc_string_info 
+0231 c0108237 beq dsc_hid ,p_dsc_hid_info 
+0232 c0110246 beq dsc_hid_report ,p_dsc_hid_report_info 
+0233 202079e4 branch usb0_force_stall 
 
 p_dsc_config_info:
-0208 58004755 setarg mem_confdesc_all 
-0209 6848c755 fetcht 1 ,mem_confdesc_all 
-020a 20207a18 branch dsc_info_set_data_len 
+0234 58004755 setarg mem_confdesc_all 
+0235 6848c755 fetcht 1 ,mem_confdesc_all 
+0236 20207a18 branch dsc_info_set_data_len 
 
 p_dsc_hid_info:
-020b 7008fd00 jam 0 ,mem_usb_get_protocol_flag 
-020c 6fe08871 fetch 1 ,mem_usb_setup_windex 
-020d c0000211 beq 0 ,p_dsc_hid_info_interface0 
-020e c0008214 beq 1 ,p_dsc_hid_info_interface1 
-020f c0010217 beq 2 ,p_dsc_hid_info_interface2 
-0210 202079e4 branch usb0_force_stall 
+0237 7008fd00 jam 0 ,mem_usb_get_protocol_flag 
+0238 6fe08871 fetch 1 ,mem_usb_setup_windex 
+0239 c000023d beq 0 ,p_dsc_hid_info_interface0 
+023a c0008240 beq 1 ,p_dsc_hid_info_interface1 
+023b c0010243 beq 2 ,p_dsc_hid_info_interface2 
+023c 202079e4 branch usb0_force_stall 
 
 p_dsc_hid_info_interface0:
-0211 6a40c768 fetchr regb ,1 ,mem_confdesc_all + 19 
-0212 da204768 arg mem_confdesc_all + 19 ,rega 
-0213 20207b8b branch usb0_respond 
+023d 6a40c768 fetchr regb ,1 ,mem_confdesc_all + 19 
+023e da204768 arg mem_confdesc_all + 19 ,rega 
+023f 20207b8b branch usb0_respond 
 
 p_dsc_hid_info_interface1:
-0214 6a40c781 fetchr regb ,1 ,mem_confdesc_all + 44 
-0215 da204781 arg mem_confdesc_all + 44 ,rega 
-0216 20207b8b branch usb0_respond 
+0240 6a40c781 fetchr regb ,1 ,mem_confdesc_all + 44 
+0241 da204781 arg mem_confdesc_all + 44 ,rega 
+0242 20207b8b branch usb0_respond 
 
 p_dsc_hid_info_interface2:
-0217 6a40c79a fetchr regb ,1 ,mem_confdesc_all + 69 
-0218 da20479a arg mem_confdesc_all + 69 ,rega 
-0219 20207b8b branch usb0_respond 
+0243 6a40c79a fetchr regb ,1 ,mem_confdesc_all + 69 
+0244 da20479a arg mem_confdesc_all + 69 ,rega 
+0245 20207b8b branch usb0_respond 
 
 p_dsc_hid_report_info:
-021a 6fe10871 fetch 2 ,mem_usb_setup_windex 
-021b c000021f beq 0 ,p_dsc_hid_report_info0 
-021c c0008222 beq 1 ,p_dsc_hid_report_info1 
-021d c0010224 beq 2 ,p_dsc_hid_report_info2 
-021e 202079e4 branch usb0_force_stall 
+0246 6fe10871 fetch 2 ,mem_usb_setup_windex 
+0247 c000024b beq 0 ,p_dsc_hid_report_info0 
+0248 c000824e beq 1 ,p_dsc_hid_report_info1 
+0249 c0010250 beq 2 ,p_dsc_hid_report_info2 
+024a 202079e4 branch usb0_force_stall 
 
 p_dsc_hid_report_info0:
-021f 6a40c697 fetchr regb ,1 ,mem_hidreportdesc_interface0_kb 
-0220 58004697 setarg mem_hidreportdesc_interface0_kb 
-0221 20200228 branch p_usb0_respond_set 
+024b 6a40c697 fetchr regb ,1 ,mem_hidreportdesc_interface0_kb 
+024c 58004697 setarg mem_hidreportdesc_interface0_kb 
+024d 20200254 branch p_usb0_respond_set 
 
 p_dsc_hid_report_info1:
-0222 6a2107a9 fetchr rega ,2 ,mem_hidreportdesc_m 
-0223 20207b89 branch usb0_respond_length 
+024e 6a2107a9 fetchr rega ,2 ,mem_hidreportdesc_m 
+024f 20207b89 branch usb0_respond_length 
 
 p_dsc_hid_report_info2:
-0224 70090e01 jam 1 ,mem_usb_device_enumeration_endflag 
-0225 70090001 jam usb_got_report_req ,mem_usb_state 
-0226 6a40c6dd fetchr regb ,1 ,mem_hidreportdesc_interface2_pc 
-0227 580046dd setarg mem_hidreportdesc_interface2_pc 
+0250 70090e01 jam 1 ,mem_usb_device_enumeration_endflag 
+0251 70090001 jam usb_got_report_req ,mem_usb_state 
+0252 6a40c6dd fetchr regb ,1 ,mem_hidreportdesc_interface2_pc 
+0253 580046dd setarg mem_hidreportdesc_interface2_pc 
 
 p_usb0_respond_set:
-0228 1fe0fe01 increase 1 ,pdata 
-0229 1fe22200 copy pdata ,rega 
-022a 20207b8b branch usb0_respond 
+0254 1fe0fe01 increase 1 ,pdata 
+0255 1fe22200 copy pdata ,rega 
+0256 20207b8b branch usb0_respond 
 
 p_usb_init:
-022b 20407396 call enable_authrom 
-022c 20407932 call usb_init_param 
+0257 20407396 call enable_authrom 
+0258 20407932 call usb_init_param 
 
 p_usb_init_restart:
-022d 5800495a setarg mem_usb_clear_mem0_end 
-022e d8a04856 arg mem_usb_clear_mem0_start ,contw 
-022f 98a67200 isub contw ,loopcnt 
-0230 20407ca1 call clear_mem 
-0231 708c0000 jam 0x00 ,core_usb_config 
-0232 20002710 nop 10000 
-0233 708c1200 jam 0x0 ,core_usb_hmode 
-0234 6ff10050 fetch 2 ,core_clkoff 
-0235 793ffe0a set0 clock_off_usb ,pdata 
-0236 67f10050 store 2 ,core_clkoff 
-0237 708c1021 jam 0x21 ,core_usb_epmap 
-0238 708c119d jam 0x9d ,core_usb_pupd 
-0239 708c003c jam 0x3c ,core_usb_config 
-023a 580047b9 setarg mem_usb_rxbuf_new 
-023b 67f10c02 store 2 ,core_usb_rx_saddr 
-023c 67f10c06 store 2 ,core_usb_rxptr 
-023d 58004855 setarg mem_usb_rxbuf_new_end 
-023e 67f10c04 store 2 ,core_usb_rx_eaddr 
-023f 20207923 branch usb_init_next 
+0259 58004897 setarg mem_usb_clear_mem0_end 
+025a d8a04856 arg mem_usb_clear_mem0_start ,contw 
+025b 98a67200 isub contw ,loopcnt 
+025c 20407ca1 call clear_mem 
+025d 708c0000 jam 0x00 ,core_usb_config 
+025e 20002710 nop 10000 
+025f 708c1200 jam 0x0 ,core_usb_hmode 
+0260 6ff10050 fetch 2 ,core_clkoff 
+0261 793ffe0a set0 clock_off_usb ,pdata 
+0262 67f10050 store 2 ,core_clkoff 
+0263 708c1021 jam 0x21 ,core_usb_epmap 
+0264 708c119d jam 0x9d ,core_usb_pupd 
+0265 708c003c jam 0x3c ,core_usb_config 
+0266 580047b9 setarg mem_usb_rxbuf_new 
+0267 67f10c02 store 2 ,core_usb_rx_saddr 
+0268 67f10c06 store 2 ,core_usb_rxptr 
+0269 58004855 setarg mem_usb_rxbuf_new_end 
+026a 67f10c04 store 2 ,core_usb_rx_eaddr 
+026b 20207923 branch usb_init_next 
 
 p_usb_isr:
-0240 6ff08c22 fetch 1 ,core_usb_status 
-0241 2feffe03 isolate1 usb_status_reset ,pdata 
-0242 2040822d call p_usb_init_restart ,true 
-0243 2020790a branch usb_isr + 4 
+026c 6ff08c22 fetch 1 ,core_usb_status 
+026d 2feffe03 isolate1 usb_status_reset ,pdata 
+026e 20408259 call p_usb_init_restart ,true 
+026f 2020790a branch usb_isr + 4 
 
 p_g24_search_mode_auto:
-0244 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0245 c1838000 rtnne dongle_search 
-0246 20403476 call g24_search_mode_init 
-0247 204034ae call g24_auto_addr_ch_search 
-0248 2040033b call p_g24_receive_transmit_ack 
-0249 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-024a 20403506 call g24_receiver_addr_check 
-024b 20428364 call p_g24_receive_packet_parse ,zero 
-024c 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-024d 205a344d call g24_mode_b_s_switch_stop ,blank 
-024e 20203493 branch g24_search_mode_auto + 11 
+0270 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0271 c1838000 rtnne dongle_search 
+0272 20403476 call g24_search_mode_init 
+0273 204034ae call g24_auto_addr_ch_search 
+0274 20400367 call p_g24_receive_transmit_ack 
+0275 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0276 20403506 call g24_receiver_addr_check 
+0277 20428390 call p_g24_receive_packet_parse ,zero 
+0278 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+0279 205a344d call g24_mode_b_s_switch_stop ,blank 
+027a 20203493 branch g24_search_mode_auto + 11 
 
 p_g24_bind_data_parse_next:
-024f 6fe0ca4c fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0250 c0550255 beq datatype_bind ,p_g24_bind_first_step 
-0251 c02a8257 beq datatype_config ,p_g24_bind_second_step 
-0252 c011026d beq datatype_ok ,p_g24_bind_third_step 
-0253 c07f825f beq datatype_attemp ,p_g24_data_attemp 
-0254 20600000 rtn 
+027b 6fe0c989 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+027c c0550281 beq datatype_bind ,p_g24_bind_first_step 
+027d c02a8283 beq datatype_config ,p_g24_bind_second_step 
+027e c0110299 beq datatype_ok ,p_g24_bind_third_step 
+027f c07f828b beq datatype_attemp ,p_g24_data_attemp 
+0280 20600000 rtn 
 
 p_g24_bind_first_step:
-0255 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0256 2020332a branch g24_bind_first_step + 1 
+0281 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0282 2020332a branch g24_bind_first_step + 1 
 
 p_g24_bind_second_step:
-0257 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-0258 203a025d branch p_g24_bind_second_step_skip ,blank 
-0259 6fe24a4e fetch 4 ,mem_24g_rxdata_temp_new + 4 
-025a 684a44f1 fetcht 4 ,mem_24g_lap 
-025b 98467c00 isub temp ,null 
-025c 24628000 nrtn zero 
+0283 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0284 203a0289 branch p_g24_bind_second_step_skip ,blank 
+0285 6fe2498b fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0286 684a44f1 fetcht 4 ,mem_24g_lap 
+0287 98467c00 isub temp ,null 
+0288 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-025d 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-025e 20203341 branch g24_bind_second_step_skip + 1 
+0289 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+028a 20203341 branch g24_bind_second_step_skip + 1 
 
 p_g24_data_attemp:
-025f 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0260 c0008263 beq datatype_device1 ,p_g24_data_attemp_device1 
-0261 c0010268 beq datatype_device2 ,p_g24_data_attemp_device2 
-0262 20600000 rtn 
+028b 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+028c c000828f beq datatype_device1 ,p_g24_data_attemp_device1 
+028d c0010294 beq datatype_device2 ,p_g24_data_attemp_device2 
+028e 20600000 rtn 
 
 p_g24_data_attemp_device1:
-0263 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0264 247a0000 nrtn blank 
-0265 6fe24a4e fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0266 67e2462c store 4 ,mem_24g_transmitter_addr 
-0267 202035a3 branch g24_store_device1_addr 
+028f 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0290 247a0000 nrtn blank 
+0291 6fe2498b fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0292 67e2462c store 4 ,mem_24g_transmitter_addr 
+0293 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_attemp_device2:
-0268 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0269 247a0000 nrtn blank 
-026a 6fe24a4e fetch 4 ,mem_24g_rxdata_temp_new + 4 
-026b 67e2462c store 4 ,mem_24g_transmitter_addr 
-026c 202035a9 branch g24_store_device2_addr 
+0294 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0295 247a0000 nrtn blank 
+0296 6fe2498b fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0297 67e2462c store 4 ,mem_24g_transmitter_addr 
+0298 202035a9 branch g24_store_device2_addr 
 
 p_g24_bind_third_step:
-026d 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-026e 203a0273 branch p_g24_bind_third_step_skip ,blank 
-026f 6fe24a4e fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0270 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-0271 98467c00 isub temp ,null 
-0272 24628000 nrtn zero 
+0299 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+029a 203a029f branch p_g24_bind_third_step_skip ,blank 
+029b 6fe2498b fetch 4 ,mem_24g_rxdata_temp_new + 4 
+029c 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+029d 98467c00 isub temp ,null 
+029e 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-0273 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0274 c0008277 beq datatype_device1 ,p_g24_bind_third_step_device1 
-0275 c001027f beq datatype_device2 ,p_g24_bind_third_step_device2 
-0276 20600000 rtn 
+029f 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+02a0 c00082a3 beq datatype_device1 ,p_g24_bind_third_step_device1 
+02a1 c00102ab beq datatype_device2 ,p_g24_bind_third_step_device2 
+02a2 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-0277 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0278 247a0000 nrtn blank 
-0279 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-027a c001027c beq 2 ,p_g24_bind_dvc1_step_success 
-027b 20600000 rtn 
+02a3 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+02a4 247a0000 nrtn blank 
+02a5 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+02a6 c00102a8 beq 2 ,p_g24_bind_dvc1_step_success 
+02a7 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-027c 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-027d 2040338d call g24_binding_dvc1_living 
-027e 2020336b branch g24_bind_dvc1_step_success + 1 
+02a8 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+02a9 2040338d call g24_binding_dvc1_living 
+02aa 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-027f 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0280 247a0000 nrtn blank 
-0281 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0282 c0800284 bne 0 ,p_g24_bind_dvc2_step_success 
-0283 20600000 rtn 
+02ab 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+02ac 247a0000 nrtn blank 
+02ad 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+02ae c08002b0 bne 0 ,p_g24_bind_dvc2_step_success 
+02af 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0284 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0285 20403393 call g24_binding_dvc2_living 
-0286 20203378 branch g24_bind_dvc2_step_success + 1 
+02b0 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+02b1 20403393 call g24_binding_dvc2_living 
+02b2 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-0287 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0288 c1000000 rtneq dongle_work 
-0289 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-028a 247a0000 nrtn blank 
-028b 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-028c 247a0000 nrtn blank 
-028d 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-028e 207a0000 rtn blank 
-028f 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0290 c1800000 rtnne 0 
-0291 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0292 c1800000 rtnne 0 
-0293 20203436 branch g24_mode_switch_bind_search + 9 
+02b3 6fe0c616 fetch 1 ,mem_24g_work_mode 
+02b4 c1000000 rtneq dongle_work 
+02b5 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+02b6 247a0000 nrtn blank 
+02b7 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+02b8 247a0000 nrtn blank 
+02b9 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+02ba 207a0000 rtn blank 
+02bb 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+02bc c1800000 rtnne 0 
+02bd 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+02be c1800000 rtnne 0 
+02bf 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0294 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0295 c1808000 rtnne dongle_bind 
-0296 20400298 call p_g24_bind_init 
-0297 2020346d branch g24_bind_mode_auto + 4 
+02c0 6fe0c616 fetch 1 ,mem_24g_work_mode 
+02c1 c1808000 rtnne dongle_bind 
+02c2 204002c4 call p_g24_bind_init 
+02c3 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0298 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0299 c3808000 rtnbit1 dongle_bind 
-029a 79207e01 set1 dongle_bind ,pdata 
-029b 67e0c615 store 1 ,mem_24g_mode_init 
-029c 58000000 setarg 0 
-029d 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-029e 20203307 branch g24_bind_init + 8 
+02c4 6fe0c615 fetch 1 ,mem_24g_mode_init 
+02c5 c3808000 rtnbit1 dongle_bind 
+02c6 79207e01 set1 dongle_bind ,pdata 
+02c7 67e0c615 store 1 ,mem_24g_mode_init 
+02c8 58000000 setarg 0 
+02c9 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+02ca 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-029f 20204868 branch dongle_usb_dispatch + 1 
+02cb 20204868 branch dongle_usb_dispatch + 1 
 
 p_wdt_kick:
-02a0 58000010 setarg 16 
-02a1 202070c8 branch wdt_init_config 
+02cc 58000010 setarg 16 
+02cd 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-02a2 204047c3 call dongle_default_init + 1 
-02a3 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-02a4 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-02a5 7045ca01 jam on ,mem_24g_disable_fec1 
-02a6 20403281 call g24_enable_1m 
-02a7 6fe0c669 fetch 1 ,mem_dg_sys_config 
-02a8 c4000000 rtnbit0 dg_enable_new_revision 
-02a9 7045ca01 jam on ,mem_24g_disable_fec1 
-02aa 20203284 branch g24_enable_2m 
+02ce 204047c3 call dongle_default_init + 1 
+02cf 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+02d0 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+02d1 7045ca01 jam on ,mem_24g_disable_fec1 
+02d2 20403281 call g24_enable_1m 
+02d3 6fe0c669 fetch 1 ,mem_dg_sys_config 
+02d4 c4000000 rtnbit0 dg_enable_new_revision 
+02d5 7045ca01 jam on ,mem_24g_disable_fec1 
+02d6 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-02ab 6fe0c669 fetch 1 ,mem_dg_sys_config 
-02ac c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-02ad 7837fc00 enable user3 
-02ae 20000018 nop 24 
-02af 6fe0c95b fetch 1 ,mem_24g_rxbuf_new + 1 
-02b0 79207e00 set1 bit_ack_24g ,pdata 
-02b1 67e0c95b store 1 ,mem_24g_rxbuf_new + 1 
-02b2 204033a5 call g24_ackpayload_prep 
-02b3 204031e5 call g24_transmit_prep 
-02b4 20203195 branch g24_transmit 
+02d7 6fe0c669 fetch 1 ,mem_dg_sys_config 
+02d8 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+02d9 7837fc00 enable user3 
+02da 20000018 nop 24 
+02db 6fe0c898 fetch 1 ,mem_24g_rxbuf_new + 1 
+02dc 79207e00 set1 bit_ack_24g ,pdata 
+02dd 67e0c898 store 1 ,mem_24g_rxbuf_new + 1 
+02de 204033a5 call g24_ackpayload_prep 
+02df 204031e5 call g24_transmit_prep 
+02e0 20203195 branch g24_transmit 
 
 p_g24_pair_param_init:
-02b5 7045d04a jam 0x4a ,mem_24g_pair_ch 
-02b6 6fe24a9b fetch 4 ,mem_24g_pair_addr_new 
-02b7 67e245cc store 4 ,mem_24g_pair_addr 
-02b8 20600000 rtn 
+02e1 7045d04a jam 0x4a ,mem_24g_pair_ch 
+02e2 6fe249d8 fetch 4 ,mem_24g_pair_addr_new 
+02e3 67e245cc store 4 ,mem_24g_pair_addr 
+02e4 20600000 rtn 
 
 p_app_init:
-02b9 580047ea setarg dongle_dispatch 
-02ba 67e145e0 store 2 ,mem_cb_24g_receive_process 
-02bb 58000397 setarg p_dongle_g24_mouse 
-02bc 67e145e4 store 2 ,mem_cb_24g_data_device1 
-02bd 5800040d setarg p_dongle_g24_kb 
-02be 67e145e6 store 2 ,mem_cb_24g_data_device2 
-02bf 580002c4 setarg p_dongle_ackpayload_prep 
-02c0 67e145e2 store 2 ,mem_cb_24g_ackpayload 
-02c1 580047f9 setarg dongle_usb_config 
-02c2 67e10859 store 2 ,mem_cb_usb_config 
-02c3 20207912 branch usb_init 
+02e5 580047ea setarg dongle_dispatch 
+02e6 67e145e0 store 2 ,mem_cb_24g_receive_process 
+02e7 580003c3 setarg p_dongle_g24_mouse 
+02e8 67e145e4 store 2 ,mem_cb_24g_data_device1 
+02e9 58000439 setarg p_dongle_g24_kb 
+02ea 67e145e6 store 2 ,mem_cb_24g_data_device2 
+02eb 580002f0 setarg p_dongle_ackpayload_prep 
+02ec 67e145e2 store 2 ,mem_cb_24g_ackpayload 
+02ed 580047f9 setarg dongle_usb_config 
+02ee 67e10859 store 2 ,mem_cb_usb_config 
+02ef 20207912 branch usb_init 
 
 p_dongle_ackpayload_prep:
-02c4 6fe0c589 fetch 1 ,mem_24g_data_type 
-02c5 c00082c7 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-02c6 c00102ce beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+02f0 6fe0c589 fetch 1 ,mem_24g_data_type 
+02f1 c00082f3 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+02f2 c00102fa beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
 
 p_dongle_ackpayload_prep_mouse:
-02c7 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-02c8 c28002ca bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
-02c9 202002d0 branch p_dongle_ackpayload_prep_end 
+02f3 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+02f4 c28002f6 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+02f5 202002fc branch p_dongle_ackpayload_prep_end 
 
 p_dongle_pc_sleep_ackpayload_prep_mouse:
-02ca 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-02cb 793ffe00 set0 0 ,pdata 
-02cc 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
-02cd 202002d7 branch p_dongle_pc_sleep_ackpayload_prep 
+02f6 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+02f7 793ffe00 set0 0 ,pdata 
+02f8 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+02f9 20200303 branch p_dongle_pc_sleep_ackpayload_prep 
 
 p_dongle_ackpayload_prep_keyboard:
-02ce 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-02cf c28082d4 bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
+02fa 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+02fb c2808300 bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
 
 p_dongle_ackpayload_prep_end:
-02d0 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-02d1 c00082db beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
-02d2 c00182e3 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
-02d3 20600000 rtn 
+02fc 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+02fd c0008307 beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+02fe c001830f beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+02ff 20600000 rtn 
 
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
-02d4 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-02d5 793ffe01 set0 1 ,pdata 
-02d6 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
+0300 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0301 793ffe01 set0 1 ,pdata 
+0302 67e0c693 store 1 ,mem_dg_pc_sleep_flag 
 
 p_dongle_pc_sleep_ackpayload_prep:
-02d7 70458801 jam 0x01 ,mem_24g_datalen 
-02d8 580000ff setarg 0xff 
+0303 70458801 jam 0x01 ,mem_24g_datalen 
+0304 580000ff setarg 0xff 
 
 p_dongle_24g_txbuf_new_store:
-02d9 67e0c9aa store 1 ,mem_24g_txbuf_new 
-02da 20600000 rtn 
+0305 67e0c8e7 store 1 ,mem_24g_txbuf_new 
+0306 20600000 rtn 
 
 p_dongle_g24_bind_ackpayload_prep:
-02db 70461101 jam 1 ,mem_24g_ackpayload_enable 
-02dc 204002ea call p_g24_binding_device_check 
-02dd 24778000 nrtn user3 
+0307 70461101 jam 1 ,mem_24g_ackpayload_enable 
+0308 20400316 call p_g24_binding_device_check 
+0309 24778000 nrtn user3 
 
 p_g24_bind_ackpayload_prep:
-02de 70461101 jam 1 ,mem_24g_ackpayload_enable 
-02df 70458808 jam 0x08 ,mem_24g_datalen 
-02e0 d8c045d6 arg mem_24g_bind_payload ,contr 
-02e1 d8a049aa arg mem_24g_txbuf_new ,contw 
-02e2 20207c89 branch memcpy8 
+030a 70461101 jam 1 ,mem_24g_ackpayload_enable 
+030b 70458808 jam 0x08 ,mem_24g_datalen 
+030c d8c045d6 arg mem_24g_bind_payload ,contr 
+030d d8a048e7 arg mem_24g_txbuf_new ,contw 
+030e 20207c89 branch memcpy8 
 
 p_dongle_g24_kb_led_ackpayload_prep:
-02e3 6fe0c95c fetch 1 ,mem_24g_rxbuf_new + 2 
-02e4 c00082db beq datatype_device1 ,p_dongle_g24_bind_ackpayload_prep 
-02e5 c07f82db beq datatype_attemp ,p_dongle_g24_bind_ackpayload_prep 
-02e6 7008f900 jam 0 ,mem_usb_tx_win_enable 
-02e7 70458801 jam 0x01 ,mem_24g_datalen 
-02e8 6fe0c621 fetch 1 ,mem_24g_led_status 
-02e9 202002d9 branch p_dongle_24g_txbuf_new_store 
+030f 6fe0c899 fetch 1 ,mem_24g_rxbuf_new + 2 
+0310 c0008307 beq datatype_device1 ,p_dongle_g24_bind_ackpayload_prep 
+0311 c07f8307 beq datatype_attemp ,p_dongle_g24_bind_ackpayload_prep 
+0312 7008f900 jam 0 ,mem_usb_tx_win_enable 
+0313 70458801 jam 0x01 ,mem_24g_datalen 
+0314 6fe0c621 fetch 1 ,mem_24g_led_status 
+0315 20200305 branch p_dongle_24g_txbuf_new_store 
 
 p_g24_binding_device_check:
-02ea 6fe0c616 fetch 1 ,mem_24g_work_mode 
-02eb c1808000 rtnne dongle_bind 
-02ec 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-02ed 247a0000 nrtn blank 
-02ee 6fe0c95d fetch 1 ,mem_24g_rxbuf_new + 3 
-02ef 20203383 branch g24_binding_device_check + 5 
+0316 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0317 c1808000 rtnne dongle_bind 
+0318 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+0319 247a0000 nrtn blank 
+031a 6fe0c89a fetch 1 ,mem_24g_rxbuf_new + 3 
+031b 20203383 branch g24_binding_device_check + 5 
 
 p_g24_transmit_prep:
-02f0 6fe0c588 fetch 1 ,mem_24g_datalen 
-02f1 1fe0fe03 increase 3 ,pdata 
-02f2 67e0c58a store 1 ,mem_24g_txlen 
-02f3 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
-02f4 67e0c9fa store 1 ,mem_24g_txpayload_new 
-02f5 6fe0c589 fetch 1 ,mem_24g_data_type 
-02f6 1fe9fe00 lshift3 pdata ,pdata 
-02f7 6848c57e fetcht 1 ,mem_24g_pid 
-02f8 18410403 and temp ,0x03 ,temp 
-02f9 18438400 lshift temp ,temp 
-02fa 9841fe00 ior temp ,pdata 
-02fb 6848c57f fetcht 1 ,mem_24g_no_ack 
-02fc 9840fe00 iadd temp ,pdata 
-02fd e7e08005 istore 1 ,contw 
-02fe 6fe0c588 fetch 1 ,mem_24g_datalen 
-02ff e7e08005 istore 1 ,contw 
-0300 6fe0c588 fetch 1 ,mem_24g_datalen 
-0301 98007200 iforce loopcnt 
-0302 d8c049aa arg mem_24g_txbuf_new ,contr 
-0303 20407cda call memcpy 
-0304 202031fc branch g24_transmit_prep_pdu_end 
+031c 6fe0c588 fetch 1 ,mem_24g_datalen 
+031d 1fe0fe03 increase 3 ,pdata 
+031e 67e0c58a store 1 ,mem_24g_txlen 
+031f 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
+0320 67e0c937 store 1 ,mem_24g_txpayload_new 
+0321 6fe0c589 fetch 1 ,mem_24g_data_type 
+0322 1fe9fe00 lshift3 pdata ,pdata 
+0323 6848c57e fetcht 1 ,mem_24g_pid 
+0324 18410403 and temp ,0x03 ,temp 
+0325 18438400 lshift temp ,temp 
+0326 9841fe00 ior temp ,pdata 
+0327 6848c57f fetcht 1 ,mem_24g_no_ack 
+0328 9840fe00 iadd temp ,pdata 
+0329 e7e08005 istore 1 ,contw 
+032a 6fe0c588 fetch 1 ,mem_24g_datalen 
+032b e7e08005 istore 1 ,contw 
+032c 6fe0c588 fetch 1 ,mem_24g_datalen 
+032d 98007200 iforce loopcnt 
+032e d8c048e7 arg mem_24g_txbuf_new ,contr 
+032f 20407cda call memcpy 
+0330 202031fc branch g24_transmit_prep_pdu_end 
 
 p_g24_transmit_packet:
-0305 c517830a bmark1 mark_ble_lr ,p_g24_transmit_nolr 
-0306 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
-0307 243a030a nbranch p_g24_transmit_nolr ,blank 
-0308 784efc00 disable encode_fec0 
-0309 782dfc00 enable encode_fec1 
+0331 c5178336 bmark1 mark_ble_lr ,p_g24_transmit_nolr 
+0332 6fe0c5ca fetch 1 ,mem_24g_disable_fec1 
+0333 243a0336 nbranch p_g24_transmit_nolr ,blank 
+0334 784efc00 disable encode_fec0 
+0335 782dfc00 enable encode_fec1 
 
 p_g24_transmit_nolr:
-030a 7823fc00 enable enable_white 
-030b 7824fc00 enable enable_crc 
-030c 6fe0c58a fetch 1 ,mem_24g_txlen 
-030d 98007200 iforce loopcnt 
-030e d8c049fa arg mem_24g_txpayload_new ,contr 
-030f 202031b3 branch g24tr_loop 
+0336 7823fc00 enable enable_white 
+0337 7824fc00 enable enable_crc 
+0338 6fe0c58a fetch 1 ,mem_24g_txlen 
+0339 98007200 iforce loopcnt 
+033a d8c04937 arg mem_24g_txpayload_new ,contr 
+033b 202031b3 branch g24tr_loop 
 
 p_g24_receive_update_rxbuff:
-0310 2040317d call g24_receive_byte 
-0311 67e0c95a store 1 ,mem_24g_rxbuf_new 
-0312 c5138318 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-0313 6fe0c95a fetch 1 ,mem_24g_rxbuf_new 
-0314 1fe97e00 rshift3 pdata ,pdata 
-0315 6848c589 fetcht 1 ,mem_24g_data_type 
-0316 a8400e00 icompare bits_data ,temp 
-0317 2420b18c nbranch g24_type_error ,true 
+033c 2040317d call g24_receive_byte 
+033d 67e0c897 store 1 ,mem_24g_rxbuf_new 
+033e c5138344 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+033f 6fe0c897 fetch 1 ,mem_24g_rxbuf_new 
+0340 1fe97e00 rshift3 pdata ,pdata 
+0341 6848c589 fetcht 1 ,mem_24g_data_type 
+0342 a8400e00 icompare bits_data ,temp 
+0343 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0318 2040317d call g24_receive_byte 
-0319 e7e08005 istore 1 ,contw 
-031a 1fe67c4e sub pdata ,78 ,null 
-031b 2421318e nbranch g24_len_over_error ,positive 
-031c 1fe27200 copy pdata ,loopcnt 
-031d 2022b154 branch g24rx_nopayload ,zero 
-031e 20203151 branch g24rx_loop 
+0344 2040317d call g24_receive_byte 
+0345 e7e08005 istore 1 ,contw 
+0346 1fe67c4e sub pdata ,78 ,null 
+0347 2421318e nbranch g24_len_over_error ,positive 
+0348 1fe27200 copy pdata ,loopcnt 
+0349 2022b154 branch g24rx_nopayload ,zero 
+034a 20203151 branch g24rx_loop 
 
 p_g24_read_len_pid_crc:
-031f 6fe0c95b fetch 1 ,mem_24g_rxbuf_new + 1 
-0320 67e0c57d store 1 ,mem_24g_rxdata_length 
-0321 1fe0fe01 increase 1 ,pdata 
-0322 d8c0495b arg mem_24g_rxbuf_new + 1 ,contr 
-0323 98c08c00 iadd contr ,contr 
-0324 efe18006 ifetch 3 ,contr 
-0325 67e1c580 store 3 ,mem_24g_sta_crc 
-0326 6fe0c95a fetch 1 ,mem_24g_rxbuf_new 
-0327 1fe10401 and pdata ,0x01 ,temp 
-0328 6048ca9a storet 1 ,mem_24g_rxdata_ack_flag 
-0329 1fe30400 rshift pdata ,temp 
-032a 18410403 and temp ,0x03 ,temp 
-032b 6048c586 storet 1 ,mem_24g_sta_pid 
-032c 1fe97e00 rshift3 pdata ,pdata 
-032d 67e0c95a store 1 ,mem_24g_rxbuf_new 
-032e 20600000 rtn 
+034b 6fe0c898 fetch 1 ,mem_24g_rxbuf_new + 1 
+034c 67e0c57d store 1 ,mem_24g_rxdata_length 
+034d 1fe0fe01 increase 1 ,pdata 
+034e d8c04898 arg mem_24g_rxbuf_new + 1 ,contr 
+034f 98c08c00 iadd contr ,contr 
+0350 efe18006 ifetch 3 ,contr 
+0351 67e1c580 store 3 ,mem_24g_sta_crc 
+0352 6fe0c897 fetch 1 ,mem_24g_rxbuf_new 
+0353 1fe10401 and pdata ,0x01 ,temp 
+0354 6048c9d7 storet 1 ,mem_24g_rxdata_ack_flag 
+0355 1fe30400 rshift pdata ,temp 
+0356 18410403 and temp ,0x03 ,temp 
+0357 6048c586 storet 1 ,mem_24g_sta_pid 
+0358 1fe97e00 rshift3 pdata ,pdata 
+0359 67e0c897 store 1 ,mem_24g_rxbuf_new 
+035a 20600000 rtn 
 
 p_g24_bind_data_process:
-032f 204033be call g24_rx_interrupt_clear 
-0330 20403119 call g24_receive_packet 
-0331 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0332 20400336 call p_g24_bind_data_parse 
-0333 2040033e call p_g24_transmit_ack 
-0334 20400346 call p_g24_bind_device_status_check 
-0335 20203316 branch g24_bind_data_process + 7 
+035b 204033be call g24_rx_interrupt_clear 
+035c 20403119 call g24_receive_packet 
+035d 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+035e 20400362 call p_g24_bind_data_parse 
+035f 2040036a call p_g24_transmit_ack 
+0360 20400372 call p_g24_bind_device_status_check 
+0361 20203316 branch g24_bind_data_process + 7 
 
 p_g24_bind_data_parse:
-0336 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-0337 d8c0495a arg mem_24g_rxbuf_new ,contr 
-0338 d8a04a4a arg mem_24g_rxdata_temp_new ,contw 
-0339 20407c89 call memcpy8 
-033a 20203322 branch g24_bind_data_parse_next 
+0362 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+0363 d8c04897 arg mem_24g_rxbuf_new ,contr 
+0364 d8a04987 arg mem_24g_rxdata_temp_new ,contw 
+0365 20407c89 call memcpy8 
+0366 20203322 branch g24_bind_data_parse_next 
 
 p_g24_receive_transmit_ack:
-033b 204033be call g24_rx_interrupt_clear 
-033c 20403119 call g24_receive_packet 
-033d 24778000 nrtn user3 
+0367 204033be call g24_rx_interrupt_clear 
+0368 20403119 call g24_receive_packet 
+0369 24778000 nrtn user3 
 
 p_g24_transmit_ack:
-033e 6fe0c95a fetch 1 ,mem_24g_rxbuf_new 
-033f 1fe97e00 rshift3 pdata ,pdata 
-0340 67e0c589 store 1 ,mem_24g_data_type 
-0341 2040031f call p_g24_read_len_pid_crc 
-0342 6fe0ca9a fetch 1 ,mem_24g_rxdata_ack_flag 
-0343 2feffe00 isolate1 bit_ack_24g ,pdata 
-0344 2020b3fd branch g24tx_no_ack ,true 
-0345 202033fa branch g24tx_with_ack 
+036a 6fe0c897 fetch 1 ,mem_24g_rxbuf_new 
+036b 1fe97e00 rshift3 pdata ,pdata 
+036c 67e0c589 store 1 ,mem_24g_data_type 
+036d 2040034b call p_g24_read_len_pid_crc 
+036e 6fe0c9d7 fetch 1 ,mem_24g_rxdata_ack_flag 
+036f 2feffe00 isolate1 bit_ack_24g ,pdata 
+0370 2020b3fd branch g24tx_no_ack ,true 
+0371 202033fa branch g24tx_with_ack 
 
 p_g24_bind_device_status_check:
-0346 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-0347 207a0000 rtn blank 
+0372 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+0373 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-0348 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0349 2020339c branch g24_bind_device_status + 1 
+0374 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0375 2020339c branch g24_bind_device_status + 1 
 
 p_dongle_work_mode_auto:
-034a 6fe0c616 fetch 1 ,mem_24g_work_mode 
-034b c1800000 rtnne dongle_work 
-034c 2040035e call p_g24_work_mode_start 
-034d 20404827 call dongle_g24_blank_data_process 
-034e 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-034f 247a0000 nrtn blank 
-0350 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-0351 c1800000 rtnne 0 
-0352 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
-0353 207a0000 rtn blank 
-0354 d8e00008 arg g24_timer_nodata ,queue 
-0355 20407cef call timer_check 
-0356 247a0000 nrtn blank 
-0357 2040351b call g24_ch_process + 3 
-0358 20203511 branch g24_nodata_timer_over 
+0376 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0377 c1800000 rtnne dongle_work 
+0378 2040038a call p_g24_work_mode_start 
+0379 20404827 call dongle_g24_blank_data_process 
+037a 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+037b 247a0000 nrtn blank 
+037c 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+037d c1800000 rtnne 0 
+037e 6fe0c614 fetch 1 ,mem_24g_nodata_timer_enable 
+037f 207a0000 rtn blank 
+0380 d8e00008 arg g24_timer_nodata ,queue 
+0381 20407cef call timer_check 
+0382 247a0000 nrtn blank 
+0383 2040351b call g24_ch_process + 3 
+0384 20203511 branch g24_nodata_timer_over 
 
 p_g24_ch_process:
-0359 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-035a c000b5ea beq 1 ,rssi_noise_monitor 
-035b 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-035c c000b52c beq 1 ,g24_ch_receive_hop_pac 
-035d 20600000 rtn 
+0385 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+0386 c000b5ea beq 1 ,rssi_noise_monitor 
+0387 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+0388 c000b52c beq 1 ,g24_ch_receive_hop_pac 
+0389 20600000 rtn 
 
 p_g24_work_mode_start:
-035e 6fe0c616 fetch 1 ,mem_24g_work_mode 
-035f c1800000 rtnne dongle_work 
-0360 20403451 call g24_work_init 
-0361 20400359 call p_g24_ch_process 
+038a 6fe0c616 fetch 1 ,mem_24g_work_mode 
+038b c1800000 rtnne dongle_work 
+038c 20403451 call g24_work_init 
+038d 20400385 call p_g24_ch_process 
 
 p_g24_receive_packet_start:
-0362 2040033b call p_g24_receive_transmit_ack 
-0363 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+038e 20400367 call p_g24_receive_transmit_ack 
+038f 2437b3be nbranch g24_rx_interrupt_clear ,user3 
 
 p_g24_receive_packet_parse:
-0364 204033e3 call g24_receive_packet_parse_pid_crc 
-0365 243433be nbranch g24_rx_interrupt_clear ,user 
-0366 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0367 203a33be branch g24_rx_interrupt_clear ,blank 
-0368 1fe0fe02 increase 2 ,pdata 
-0369 98007200 iforce loopcnt 
-036a d8c0495a arg mem_24g_rxbuf_new ,contr 
-036b d8a04a4a arg mem_24g_rxdata_temp_new ,contw 
-036c 20407cda call memcpy 
-036d 70461300 jam 0 ,mem_24g_mode_switch 
-036e 6fe0c610 fetch 1 ,mem_24g_pair_mode 
-036f 205a0378 call p_g24_enable_nodata_timer ,blank 
+0390 204033e3 call g24_receive_packet_parse_pid_crc 
+0391 243433be nbranch g24_rx_interrupt_clear ,user 
+0392 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0393 203a33be branch g24_rx_interrupt_clear ,blank 
+0394 1fe0fe02 increase 2 ,pdata 
+0395 98007200 iforce loopcnt 
+0396 d8c04897 arg mem_24g_rxbuf_new ,contr 
+0397 d8a04987 arg mem_24g_rxdata_temp_new ,contw 
+0398 20407cda call memcpy 
+0399 70461300 jam 0 ,mem_24g_mode_switch 
+039a 6fe0c610 fetch 1 ,mem_24g_pair_mode 
+039b 205a03a4 call p_g24_enable_nodata_timer ,blank 
 
 p_g24_receive_packet_parse_end:
-0370 6fe0ca4c fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0371 c07f837e beq datatype_attemp ,p_g24_data_receive_attemp 
-0372 1fe17e03 and pdata ,0x03 ,pdata 
-0373 c0008380 beq datatype_device1 ,p_g24_data_device1 
-0374 c0010390 beq datatype_device2 ,p_g24_data_device2 
+039c 6fe0c989 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+039d c07f83aa beq datatype_attemp ,p_g24_data_receive_attemp 
+039e 1fe17e03 and pdata ,0x03 ,pdata 
+039f c00083ac beq datatype_device1 ,p_g24_data_device1 
+03a0 c00103bc beq datatype_device2 ,p_g24_data_device2 
 
 p_g24_rx_interrupt_clear:
-0375 d8a0495a arg mem_24g_rxbuf_new ,contw 
-0376 df200046 arg 70 ,loopcnt 
-0377 20207ca1 branch clear_mem 
+03a1 d8a04897 arg mem_24g_rxbuf_new ,contw 
+03a2 df200046 arg 70 ,loopcnt 
+03a3 20207ca1 branch clear_mem 
 
 p_g24_enable_nodata_timer:
-0378 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-0379 203a33fe branch g24_enable_nodata_timer ,blank 
-037a 70461401 jam 1 ,mem_24g_nodata_timer_enable 
-037b 58000640 setarg 1600 
-037c d8e00008 arg g24_timer_nodata ,queue 
-037d 20207ce1 branch timer_init 
+03a4 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+03a5 203a33fe branch g24_enable_nodata_timer ,blank 
+03a6 70461401 jam 1 ,mem_24g_nodata_timer_enable 
+03a7 58000640 setarg 1600 
+03a8 d8e00008 arg g24_timer_nodata ,queue 
+03a9 20207ce1 branch timer_init 
 
 p_g24_data_receive_attemp:
-037e 20400348 call p_g24_bind_device_status 
-037f 2020025f branch p_g24_data_attemp 
+03aa 20400374 call p_g24_bind_device_status 
+03ab 2020028b branch p_g24_data_attemp 
 
 p_g24_data_device1:
-0380 2040338d call g24_binding_dvc1_living 
-0381 2040352e call g24_ch_timer_reinit 
-0382 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-0383 6848ca4a fetcht 1 ,mem_24g_rxdata_temp_new 
-0384 284ffe03 isolate1 bit_abort ,temp 
-0385 7920fe00 setflag true ,0 ,pdata 
-0386 67e0c60a store 1 ,mem_24g_abort_packet 
-0387 c000838b beq 1 ,p_g24_data_attemp_device1_abort 
-0388 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-0389 6848ca4a fetcht 1 ,mem_24g_rxdata_temp_new 
-038a 202033ce branch g24_data_device1_next 
+03ac 2040338d call g24_binding_dvc1_living 
+03ad 2040352e call g24_ch_timer_reinit 
+03ae 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+03af 6848c987 fetcht 1 ,mem_24g_rxdata_temp_new 
+03b0 284ffe03 isolate1 bit_abort ,temp 
+03b1 7920fe00 setflag true ,0 ,pdata 
+03b2 67e0c60a store 1 ,mem_24g_abort_packet 
+03b3 c00083b7 beq 1 ,p_g24_data_attemp_device1_abort 
+03b4 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+03b5 6848c987 fetcht 1 ,mem_24g_rxdata_temp_new 
+03b6 202033ce branch g24_data_device1_next 
 
 p_g24_data_attemp_device1_abort:
-038b 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-038c 247a0000 nrtn blank 
-038d 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-038e 6fe24a54 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-038f 202035a3 branch g24_store_device1_addr 
+03b7 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+03b8 247a0000 nrtn blank 
+03b9 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+03ba 6fe24991 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+03bb 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_device2:
-0390 20403393 call g24_binding_dvc2_living 
-0391 6848ca4a fetcht 1 ,mem_24g_rxdata_temp_new 
-0392 284ffe03 isolate1 bit_abort ,temp 
-0393 20208395 branch p_g24_data_attemp_device2_abort ,true 
-0394 202033d7 branch g24_data_device2 + 4 
+03bc 20403393 call g24_binding_dvc2_living 
+03bd 6848c987 fetcht 1 ,mem_24g_rxdata_temp_new 
+03be 284ffe03 isolate1 bit_abort ,temp 
+03bf 202083c1 branch p_g24_data_attemp_device2_abort ,true 
+03c0 202033d7 branch g24_data_device2 + 4 
 
 p_g24_data_attemp_device2_abort:
-0395 6fe24a54 fetch 4 ,mem_24g_rxdata_temp_new + 10 
-0396 202035a9 branch g24_store_device2_addr 
+03c1 6fe24991 fetch 4 ,mem_24g_rxdata_temp_new + 10 
+03c2 202035a9 branch g24_store_device2_addr 
 
 p_dongle_g24_mouse:
-0397 6fe0ca4c fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0398 c28103bf bbit1 protocol_bit ,p_dongle_receive_ms_protocol_data 
-0399 c28183de bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
-039a c28203dd bbit1 http_bit ,p_dongle_receive_ms_http_data 
-039b c28283f6 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
-039c c28303fb bbit1 battery_bit ,p_dongle_receive_ms_battery_data 
+03c3 6fe0c989 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03c4 c28103eb bbit1 protocol_bit ,p_dongle_receive_ms_protocol_data 
+03c5 c281840a bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
+03c6 c2820409 bbit1 http_bit ,p_dongle_receive_ms_http_data 
+03c7 c2828422 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
+03c8 c2830427 bbit1 battery_bit ,p_dongle_receive_ms_battery_data 
 
 p_dongle_g24_mouse_next:
-039d 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-039e 1fe67c09 sub pdata ,0x09 ,null 
-039f 202283af branch p_dongle_g24_mouse_data ,zero 
-03a0 204003af call p_dongle_g24_mouse_data 
-03a1 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-03a2 1fe0fff8 add pdata ,-8 ,pdata 
-03a3 67e0c57d store 1 ,mem_24g_rxdata_length 
-03a4 1fe27200 copy pdata ,loopcnt 
-03a5 d8a04a4c arg mem_24g_rxdata_temp_new + 2 ,contw 
-03a6 d8c04a54 arg mem_24g_rxdata_temp_new + 10 ,contr 
-03a7 20407cda call memcpy 
-03a8 6fe0ca4c fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03a9 c28103bf bbit1 protocol_bit ,p_dongle_receive_ms_protocol_data 
-03aa c28183de bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
-03ab c28203dd bbit1 http_bit ,p_dongle_receive_ms_http_data 
-03ac c28283f6 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
-03ad c28303fb bbit1 battery_bit ,p_dongle_receive_ms_battery_data 
-03ae 20600000 rtn 
+03c9 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+03ca 1fe67c09 sub pdata ,0x09 ,null 
+03cb 202283db branch p_dongle_g24_mouse_data ,zero 
+03cc 204003db call p_dongle_g24_mouse_data 
+03cd 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+03ce 1fe0fff8 add pdata ,-8 ,pdata 
+03cf 67e0c57d store 1 ,mem_24g_rxdata_length 
+03d0 1fe27200 copy pdata ,loopcnt 
+03d1 d8a04989 arg mem_24g_rxdata_temp_new + 2 ,contw 
+03d2 d8c04991 arg mem_24g_rxdata_temp_new + 10 ,contr 
+03d3 20407cda call memcpy 
+03d4 6fe0c989 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+03d5 c28103eb bbit1 protocol_bit ,p_dongle_receive_ms_protocol_data 
+03d6 c281840a bbit1 audio_bit ,p_dongle_receive_ms_audio_data 
+03d7 c2820409 bbit1 http_bit ,p_dongle_receive_ms_http_data 
+03d8 c2828422 bbit1 heart_bit ,p_dongle_receive_ms_heart_data 
+03d9 c2830427 bbit1 battery_bit ,p_dongle_receive_ms_battery_data 
+03da 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-03af 58000001 setarg ms_report_id 
-03b0 67e08913 store 1 ,mem_usb_mouse_data 
-03b1 6fe3ca4d fetch 7 ,mem_24g_rxdata_temp_new + 3 
-03b2 e7e38005 istore 7 ,contw 
-03b3 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03b4 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-03b5 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03b6 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-03b7 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03b8 6848ca9f fetcht 1 ,mem_dg_ms_rf_key_last 
-03b9 67e0ca9f store 1 ,mem_dg_ms_rf_key_last 
-03ba 98467c00 isub temp ,null 
-03bb 2422c836 nbranch dongle_usb_tx_ms_data ,zero 
-03bc 6fe34a4e fetch 6 ,mem_24g_rxdata_temp_new + 4 
-03bd 207a0000 rtn blank 
-03be 20204836 branch dongle_usb_tx_ms_data 
+03db 58000001 setarg ms_report_id 
+03dc 67e08913 store 1 ,mem_usb_mouse_data 
+03dd 6fe3c98a fetch 7 ,mem_24g_rxdata_temp_new + 3 
+03de e7e38005 istore 7 ,contw 
+03df 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03e0 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+03e1 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03e2 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+03e3 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03e4 6848c9dc fetcht 1 ,mem_dg_ms_rf_key_last 
+03e5 67e0c9dc store 1 ,mem_dg_ms_rf_key_last 
+03e6 98467c00 isub temp ,null 
+03e7 2422c836 nbranch dongle_usb_tx_ms_data ,zero 
+03e8 6fe3498b fetch 6 ,mem_24g_rxdata_temp_new + 4 
+03e9 207a0000 rtn blank 
+03ea 20204836 branch dongle_usb_tx_ms_data 
 
 p_dongle_receive_ms_protocol_data:
-03bf 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-03c0 c1810000 rtnne hci_evt_header 
-03c1 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03c2 1f20f3ff increase -1 ,loopcnt 
-03c3 da404a4d arg mem_24g_rxdata_temp_new + 3 ,regb 
-03c4 da204b6a arg mem_dg_ms_protocol_data_sta ,rega 
-03c5 20407d64 call compare_loop 
-03c6 c1028000 rtneq zero 
-03c7 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03c8 1f20f3ff increase -1 ,loopcnt 
-03c9 d8c04a4d arg mem_24g_rxdata_temp_new + 3 ,contr 
-03ca d8a04b6a arg mem_dg_ms_protocol_data_sta ,contw 
-03cb 20407cda call memcpy 
-03cc 704baa40 jam 0x40 ,mem_dg_ms_protocol_data 
-03cd 704baba1 jam report_id_data_in ,mem_dg_ms_protocol_data + 1 
-03ce 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03cf 1f20f3ff increase -1 ,loopcnt 
-03d0 d8c04b6a arg mem_dg_ms_protocol_data_sta ,contr 
-03d1 d8a04bac arg mem_dg_ms_protocol_data + 2 ,contw 
-03d2 20407cda call memcpy 
-03d3 6fe14bad fetch 2 ,mem_dg_ms_protocol_data + 3 
-03d4 1fe67d0c sub pdata ,device_info_rep ,null 
-03d5 204283d8 call p_dongle_receive_ms_device_info_data ,zero 
+03eb 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+03ec c1810000 rtnne hci_evt_header 
+03ed 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+03ee 1f20f3ff increase -1 ,loopcnt 
+03ef da40498a arg mem_24g_rxdata_temp_new + 3 ,regb 
+03f0 da204aa7 arg mem_dg_ms_protocol_data_sta ,rega 
+03f1 20407d64 call compare_loop 
+03f2 c1028000 rtneq zero 
+03f3 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+03f4 1f20f3ff increase -1 ,loopcnt 
+03f5 d8c0498a arg mem_24g_rxdata_temp_new + 3 ,contr 
+03f6 d8a04aa7 arg mem_dg_ms_protocol_data_sta ,contw 
+03f7 20407cda call memcpy 
+03f8 704ae740 jam 0x40 ,mem_dg_ms_protocol_data 
+03f9 704ae8a1 jam report_id_data_in ,mem_dg_ms_protocol_data + 1 
+03fa 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+03fb 1f20f3ff increase -1 ,loopcnt 
+03fc d8c04aa7 arg mem_dg_ms_protocol_data_sta ,contr 
+03fd d8a04ae9 arg mem_dg_ms_protocol_data + 2 ,contw 
+03fe 20407cda call memcpy 
+03ff 6fe14aea fetch 2 ,mem_dg_ms_protocol_data + 3 
+0400 1fe67d0c sub pdata ,device_info_rep ,null 
+0401 20428404 call p_dongle_receive_ms_device_info_data ,zero 
 
 p_dongle_usb_tx_protocol_data_enable:
-03d6 704beb31 jam usb_ep3_protocol ,mem_usb_ep3_data 
-03d7 20200404 branch p_dongle_usb_tx_enable_ep3 
+0402 704b2831 jam usb_ep3_protocol ,mem_usb_ep3_data 
+0403 20200430 branch p_dongle_usb_tx_enable_ep3 
 
 p_dongle_receive_ms_device_info_data:
-03d8 68494bb7 fetcht 2 ,mem_dg_ms_protocol_data + 13 
-03d9 6fe14aa5 fetch 2 ,mem_dg_version 
-03da 67e14bb7 store 2 ,mem_dg_ms_protocol_data + 13 
-03db 60490005 storet 2 ,contw 
-03dc 20600000 rtn 
+0404 68494af4 fetcht 2 ,mem_dg_ms_protocol_data + 13 
+0405 6fe149e2 fetch 2 ,mem_dg_version 
+0406 67e14af4 store 2 ,mem_dg_ms_protocol_data + 13 
+0407 60490005 storet 2 ,contw 
+0408 20600000 rtn 
 
 p_dongle_receive_ms_http_data:
-03dd 20600000 rtn 
+0409 20600000 rtn 
 
 p_dongle_receive_ms_audio_data:
-03de 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03df 1f20f3ff increase -1 ,loopcnt 
-03e0 da404a4d arg mem_24g_rxdata_temp_new + 3 ,regb 
-03e1 da204ae9 arg mem_dg_ms_audio_data_sta ,rega 
-03e2 20407d64 call compare_loop 
-03e3 c1028000 rtneq zero 
-03e4 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03e5 1f20f3ff increase -1 ,loopcnt 
-03e6 d8c04a4d arg mem_24g_rxdata_temp_new + 3 ,contr 
-03e7 d8a04ae9 arg mem_dg_ms_audio_data_sta ,contw 
-03e8 20407cda call memcpy 
-03e9 704b2940 jam 0x40 ,mem_dg_ms_audio_data 
-03ea 704b2aa1 jam report_id_data_in ,mem_dg_ms_audio_data + 1 
-03eb 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-03ec 1fe0ffff increase -1 ,pdata 
-03ed 67e0cb2b store 1 ,mem_dg_ms_audio_data + 2 
-03ee 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-03ef 1f20f3ff increase -1 ,loopcnt 
-03f0 d8c04ae9 arg mem_dg_ms_audio_data_sta ,contr 
-03f1 d8a04b2c arg mem_dg_ms_audio_data + 3 ,contw 
-03f2 20407cda call memcpy 
-03f3 20400375 call p_g24_rx_interrupt_clear 
-03f4 704beb30 jam usb_ep3_audio ,mem_usb_ep3_data 
-03f5 20200404 branch p_dongle_usb_tx_enable_ep3 
+040a 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+040b 1f20f3ff increase -1 ,loopcnt 
+040c da40498a arg mem_24g_rxdata_temp_new + 3 ,regb 
+040d da204a26 arg mem_dg_ms_audio_data_sta ,rega 
+040e 20407d64 call compare_loop 
+040f c1028000 rtneq zero 
+0410 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0411 1f20f3ff increase -1 ,loopcnt 
+0412 d8c0498a arg mem_24g_rxdata_temp_new + 3 ,contr 
+0413 d8a04a26 arg mem_dg_ms_audio_data_sta ,contw 
+0414 20407cda call memcpy 
+0415 704a6640 jam 0x40 ,mem_dg_ms_audio_data 
+0416 704a67a1 jam report_id_data_in ,mem_dg_ms_audio_data + 1 
+0417 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0418 1fe0ffff increase -1 ,pdata 
+0419 67e0ca68 store 1 ,mem_dg_ms_audio_data + 2 
+041a 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+041b 1f20f3ff increase -1 ,loopcnt 
+041c d8c04a26 arg mem_dg_ms_audio_data_sta ,contr 
+041d d8a04a69 arg mem_dg_ms_audio_data + 3 ,contw 
+041e 20407cda call memcpy 
+041f 204003a1 call p_g24_rx_interrupt_clear 
+0420 704b2830 jam usb_ep3_audio ,mem_usb_ep3_data 
+0421 20200430 branch p_dongle_usb_tx_enable_ep3 
 
 p_dongle_receive_ms_heart_data:
-03f6 6fe0caa7 fetch 1 ,mem_dg_rep_ms_ack_data_flag 
-03f7 207a0000 rtn blank 
-03f8 704aa700 jam 0 ,mem_dg_rep_ms_ack_data_flag 
-03f9 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
-03fa 20600000 rtn 
+0422 6fe0c9e4 fetch 1 ,mem_dg_rep_ms_ack_data_flag 
+0423 207a0000 rtn blank 
+0424 7049e400 jam 0 ,mem_dg_rep_ms_ack_data_flag 
+0425 70461108 jam protocol_ackpayload ,mem_24g_ackpayload_enable 
+0426 20600000 rtn 
 
 p_dongle_receive_ms_battery_data:
-03fb 6fe2ca4d fetch 5 ,mem_24g_rxdata_temp_new + 3 
-03fc 684acaa0 fetcht 5 ,mem_dg_ms_battery_start 
-03fd 98467c00 isub temp ,null 
-03fe 24628000 nrtn zero 
-03ff 67e2caa0 store 5 ,mem_dg_ms_battery_start 
-0400 67e2cbac store 5 ,mem_dg_ms_protocol_data + 2 
-0401 704baa40 jam 0x40 ,mem_dg_ms_protocol_data 
-0402 704baba1 jam report_id_data_in ,mem_dg_ms_protocol_data + 1 
-0403 202003d6 branch p_dongle_usb_tx_protocol_data_enable 
+0427 6fe2c98a fetch 5 ,mem_24g_rxdata_temp_new + 3 
+0428 684ac9dd fetcht 5 ,mem_dg_ms_battery_start 
+0429 98467c00 isub temp ,null 
+042a 24628000 nrtn zero 
+042b 67e2c9dd store 5 ,mem_dg_ms_battery_start 
+042c 67e2cae9 store 5 ,mem_dg_ms_protocol_data + 2 
+042d 704ae740 jam 0x40 ,mem_dg_ms_protocol_data 
+042e 704ae8a1 jam report_id_data_in ,mem_dg_ms_protocol_data + 1 
+042f 20200402 branch p_dongle_usb_tx_protocol_data_enable 
 
 p_dongle_usb_tx_enable_ep3:
-0404 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0405 207a0000 rtn blank 
-0406 da204beb arg mem_usb_ep3_data ,rega 
-0407 20407da5 call fifo_is_full 
-0408 247a0000 nrtn blank 
-0409 6fe0890c fetch 1 ,mem_usb_ep2_data 
-040a 67e0866f store 1 ,mem_fifo_temp 
-040b da204beb arg mem_usb_ep3_data ,rega 
-040c 20207d8b branch fifo_in 
+0430 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0431 207a0000 rtn blank 
+0432 da204b29 arg mem_usb_ep3_fifo ,rega 
+0433 20407da5 call fifo_is_full 
+0434 247a0000 nrtn blank 
+0435 6fe0cb28 fetch 1 ,mem_usb_ep3_data 
+0436 67e0866f store 1 ,mem_fifo_temp 
+0437 da204b29 arg mem_usb_ep3_fifo ,rega 
+0438 20207d8b branch fifo_in 
 
 p_dongle_g24_kb:
-040d 6fe0ca4d fetch 1 ,mem_24g_rxdata_temp_new + 3 
-040e c0000412 beq 0 ,p_dongle_g24_kb_type0 
-040f c0010418 beq 2 ,p_dongle_g24_kb_type2 
-0410 c001841b beq 3 ,p_dongle_g24_kb_type3 
-0411 202033be branch g24_rx_interrupt_clear 
+0439 6fe0c98a fetch 1 ,mem_24g_rxdata_temp_new + 3 
+043a c000043e beq 0 ,p_dongle_g24_kb_type0 
+043b c0010444 beq 2 ,p_dongle_g24_kb_type2 
+043c c0018447 beq 3 ,p_dongle_g24_kb_type3 
+043d 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_kb_type0:
-0412 6fe0ca4f fetch 1 ,mem_24g_rxdata_temp_new + 5 
-0413 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-0414 704a4f00 jam 0 ,mem_24g_rxdata_temp_new + 5 
-0415 d8a00923 arg mem_usb_kb_data ,contw 
-0416 d8c04a4e arg mem_24g_rxdata_temp_new + 4 ,contr 
-0417 202048ef branch dongle_g24_kb_type0 + 5 
+043e 6fe0c98c fetch 1 ,mem_24g_rxdata_temp_new + 5 
+043f 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+0440 70498c00 jam 0 ,mem_24g_rxdata_temp_new + 5 
+0441 d8a00923 arg mem_usb_kb_data ,contw 
+0442 d8c0498b arg mem_24g_rxdata_temp_new + 4 ,contr 
+0443 202048ef branch dongle_g24_kb_type0 + 5 
 
 p_dongle_g24_kb_type2:
-0418 d8a00943 arg mem_usb_kb_system ,contw 
-0419 d8c04a4d arg mem_24g_rxdata_temp_new + 3 ,contr 
-041a 2020491f branch dongle_g24_kb_type2 + 2 
+0444 d8a00943 arg mem_usb_kb_system ,contw 
+0445 d8c0498a arg mem_24g_rxdata_temp_new + 3 ,contr 
+0446 2020491f branch dongle_g24_kb_type2 + 2 
 
 p_dongle_g24_kb_type3:
-041b d8a00933 arg mem_usb_kb_multikey ,contw 
-041c d8c04a4d arg mem_24g_rxdata_temp_new + 3 ,contr 
-041d 20204907 branch dongle_g24_kb_type3 + 2 
+0447 d8a00933 arg mem_usb_kb_multikey ,contw 
+0448 d8c0498a arg mem_24g_rxdata_temp_new + 3 ,contr 
+0449 20204907 branch dongle_g24_kb_type3 + 2 
               org 0x2000
 
 start:
@@ -15002,6 +15060,8 @@
 dongle_usb_tx_enable_ep2:
 4837 6fe0890d fetch 1 ,mem_usb_tx_enable 
 4838 79207e02 set1 2 ,pdata 
+
+dongle_usb_tx_enable:
 4839 67e0890d store 1 ,mem_usb_tx_enable 
 483a 20600000 rtn 
 
Index: program/app_dongle.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/program/app_dongle.prog	(revision 4731)
+++ /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/program/app_dongle.prog	(working copy)
@@ -174,6 +174,7 @@
 dongle_usb_tx_enable_ep2:
 	fetch 1,mem_usb_tx_enable
 	set1 2,pdata
+dongle_usb_tx_enable:
 	store 1,mem_usb_tx_enable
 	rtn
 
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/program/patch.prog	(revision 4745)
+++ /1121s/branch/dongle/1m/usb_pc/xzr_project/usb_pc_ai_voice/program/patch.prog	(working copy)
@@ -308,7 +308,7 @@
 	jam 0xf6,0x8a16
 	branch txon+7
 
-
+//================================================usb endpoint rx data==============================================//
 p_usb_rx_data:
 	fetch 1,core_usb_txbusy
 	rtnbit1 USB_STATUS_RXFULL
@@ -482,7 +482,18 @@
 	jam 0x2,core_usb_clear_nak
 	branch usb_set_report_next
 
+//================================================usb endpoint tx data==============================================//
+p_usb_tx_ep3_queue_buff_check:
+	arg mem_usb_ep3_fifo,rega
+	call fifo_is_empty
+	rtn blank
+p_usb_ep3_tx_enable:
+	fetch 1,mem_usb_tx_enable
+	set1 3,pdata
+	branch dongle_usb_tx_enable
+
 p_usb_tx:
+	call p_usb_tx_ep3_queue_buff_check
 	fetch 1,mem_usb_tx_enable
 	rtn blank
 	fetch 1,core_usb_txbusy
@@ -496,7 +507,8 @@
 	fetch 1,mem_usb_clear_remote_wakeup
 	nbranch usb_tx_fifo_release,blank
 	call p_usb_tx_data_ep1
-	branch p_usb_tx_data_ep2
+	call p_usb_tx_data_ep2
+	branch p_usb_tx_data_ep3
 
 p_usb_tx_data_ep1:
 	fetch 1,core_usb_txbusy
@@ -509,6 +521,52 @@
 	nrtn blank
 	branch usb_tx_data_ep2+2
 
+p_usb_tx_data_ep3:
+	arg mem_usb_ep3_fifo,rega
+	call fifo_is_empty
+	rtn blank
+	fetch 1,core_usb_txbusy
+	and_into 0x0f,pdata
+	nrtn blank
+	fetch 1,mem_usb_tx_enable
+	rtnbit0 3
+	set0 3,pdata
+	store 1,mem_usb_tx_enable
+	arg mem_usb_ep3_fifo,rega
+	call fifo_out
+	rtn blank
+	jam 0,mem_usb_ep3_data
+	beq USB_EP3_AUDIO,p_usb_tx_audio_data
+	beq USB_EP3_PROTOCOL,p_usb_tx_protocol_data
+	branch assert
+
+p_usb_tx_audio_data:
+	fetch 1,mem_dg_ms_audio_data
+	rtn blank
+	copy pdata,loopcnt
+	arg mem_dg_ms_audio_data+1,contr
+	call p_usb_tx_ep3
+	arg mem_dg_ms_audio_data,contw
+p_usb_tx_buff_realease:
+	arg 65,loopcnt
+	branch clear_mem
+
+p_usb_tx_protocol_data:
+	fetch 1,mem_dg_ms_protocol_data
+	rtn blank
+	copy pdata,loopcnt
+	arg mem_dg_ms_protocol_data+1,contr
+	call p_usb_tx_ep3
+	arg mem_dg_ms_protocol_data,contw
+	branch p_usb_tx_buff_realease
+
+p_usb_tx_ep3:
+	arg 3,queue
+	arg mem_usb_txbuf3,rega
+	storer rega,2,core_usb_tx_saddr3
+	branch usb_tx_buf
+	
+//================================================yichip ic  bug fixed==============================================//
 p_rx_dcoc:
 	rtn wake
 	call set_sync_on
@@ -1371,13 +1429,14 @@
 p_dongle_usb_tx_enable_ep3:
 	fetch 1,mem_usb_device_enumeration_endflag
 	rtn blank
-	arg mem_usb_ep3_data,rega
+	arg mem_usb_ep3_fifo,rega
 	call fifo_is_full
 	nrtn blank
-	fetch 1,mem_usb_ep2_data
+	fetch 1,mem_usb_ep3_data
 	store 1,mem_fifo_temp
-	arg mem_usb_ep3_data,rega
+	arg mem_usb_ep3_fifo,rega
 	branch fifo_in
+	
 //===============================================keyboard data parase=============================================//
 p_dongle_g24_kb:
 	fetch 1,mem_24g_rxdata_temp_new+3
