Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(revision 3327)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(working copy)
@@ -54,12 +54,15 @@
 170 mem_usb_ep2_config
 1 mem_24g_ackpayload_enable_temp
 
-65 mem_24g_rxdata_temp_new
+70 mem_24g_rxdata_temp_new
 65 mem_24g_txbuf_new
 69 mem_24g_txpayload_new
 65 mem_usb_protocol_data
 65 mem_usb_protocol_data_sta
 65 mem_usb_protocol_data_last
+
+
+8 mem_usb_ep2_fifo
 )
 (
 0xA0 REPORT_ID_AUDIO_DATA_IN
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(revision 3327)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(working copy)
@@ -1507,11 +1507,12 @@
 0x499a mem_usb_ep2_config
 0x4a44 mem_24g_ackpayload_enable_temp
 0x4a45 mem_24g_rxdata_temp_new
-0x4a86 mem_24g_txbuf_new
-0x4ac7 mem_24g_txpayload_new
-0x4b0c mem_usb_protocol_data
-0x4b4d mem_usb_protocol_data_sta
-0x4b8e mem_usb_protocol_data_last
+0x4a8b mem_24g_txbuf_new
+0x4acc mem_24g_txpayload_new
+0x4b11 mem_usb_protocol_data
+0x4b52 mem_usb_protocol_data_sta
+0x4b93 mem_usb_protocol_data_last
+0x4bd4 mem_usb_ep2_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_1m_mingjian/output/otp.dat	(revision 3327)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-c6
-12
+0a
+13
 c2
 84
 00
@@ -32,7 +32,7 @@
 c0
 0a
 03
-da
+eb
 c0
 0a
 81
@@ -52,7 +52,7 @@
 c0
 1b
 84
-51
+62
 c0
 1c
 01
@@ -64,7 +64,7 @@
 c0
 1e
 84
-43
+54
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 03
-ab
+bc
 c0
 6e
 03
-bb
+cc
 c0
 7f
 01
@@ -111,20 +111,20 @@
 65
 c0
 1c
-83
-f6
+84
+07
 c0
 26
-83
-fa
+84
+0b
 c0
 37
 04
-5a
+6b
 c0
 37
 84
-74
+85
 c0
 39
 00
@@ -136,7 +136,7 @@
 c0
 3a
 84
-7e
+8f
 c0
 3f
 80
@@ -144,23 +144,23 @@
 c0
 40
 84
-8e
+9f
 c0
 41
-03
-fc
+04
+0d
 c0
 42
 02
-73
+74
 c0
 44
 04
-2b
+3c
 c0
 45
 04
-38
+49
 c0
 48
 80
@@ -376,7 +376,7 @@
 d8
 a0
 4a
-86
+8b
 20
 20
 7c
@@ -408,7 +408,7 @@
 67
 e0
 ca
-c7
+cc
 6f
 e0
 c5
@@ -464,7 +464,7 @@
 d8
 c0
 4a
-86
+8b
 20
 40
 7c
@@ -508,7 +508,7 @@
 67
 e0
 ca
-c7
+cc
 6f
 e0
 c5
@@ -595,7 +595,7 @@
 00
 70
 4a
-86
+8b
 ff
 20
 20
@@ -619,7 +619,7 @@
 36
 70
 4a
-86
+8b
 aa
 20
 20
@@ -627,7 +627,7 @@
 a0
 70
 4a
-86
+8b
 55
 6f
 e0
@@ -644,14 +644,14 @@
 67
 e2
 4a
-88
+8d
 20
 20
 00
 a2
 70
 4a
-86
+8b
 22
 6f
 e2
@@ -660,7 +660,7 @@
 67
 e2
 4a
-88
+8d
 6f
 e0
 c5
@@ -672,10 +672,10 @@
 67
 e0
 ca
-87
+8c
 70
 4a
-8c
+91
 00
 70
 45
@@ -724,7 +724,7 @@
 d8
 c0
 4a
-c7
+cc
 20
 20
 31
@@ -756,7 +756,7 @@
 d8
 a0
 4a
-86
+8b
 20
 20
 7c
@@ -784,7 +784,7 @@
 67
 e0
 ca
-86
+8b
 20
 60
 00
@@ -828,7 +828,7 @@
 20
 20
 03
-3a
+4f
 6f
 e0
 c6
@@ -1056,11 +1056,11 @@
 20
 40
 03
-7d
+8e
 20
 40
 03
-a8
+b9
 20
 40
 01
@@ -1076,7 +1076,7 @@
 20
 20
 03
-aa
+bb
 20
 75
 80
@@ -1624,7 +1624,7 @@
 58
 00
 02
-a4
+a5
 67
 e1
 45
@@ -1632,7 +1632,7 @@
 58
 00
 03
-1e
+33
 67
 e1
 45
@@ -1640,7 +1640,7 @@
 58
 00
 03
-33
+48
 67
 e1
 45
@@ -2465,10 +2465,14 @@
 60
 00
 00
-6f
-e0
-89
-0d
+da
+20
+4b
+d4
+20
+40
+7d
+a3
 20
 7a
 00
@@ -2516,11 +2520,11 @@
 20
 40
 03
-47
+5c
 20
 20
 03
-4b
+60
 70
 4a
 44
@@ -2536,31 +2540,31 @@
 c0
 00
 82
-85
+86
 c0
 01
 02
-9e
+9f
 c0
 7f
 82
-83
+84
 c2
 83
 82
-7e
+7f
 c2
 83
 02
-7e
+7f
 c2
 82
 82
-7e
+7f
 c2
 82
 02
-7e
+7f
 20
 20
 33
@@ -2588,11 +2592,11 @@
 20
 40
 04
-ad
+be
 20
 20
 04
-02
+13
 20
 40
 33
@@ -2624,7 +2628,7 @@
 c0
 00
 82
-94
+95
 6f
 e0
 c6
@@ -2708,7 +2712,7 @@
 20
 20
 82
-9c
+9d
 6f
 e1
 45
@@ -2724,23 +2728,83 @@
 c2
 83
 82
-cf
+e0
 c2
 83
 02
-e5
+f6
 c2
 82
 82
-b3
+c4
 c2
 82
 02
-b9
+ca
 20
 20
 02
-aa
+ab
+6f
+e0
+c5
+7d
+1f
+e6
+7c
+09
+20
+22
+82
+ba
+20
+40
+02
+ba
+6f
+e0
+c5
+7d
+1f
+e0
+ff
+f8
+67
+e0
+c5
+7d
+1f
+e2
+72
+00
+d8
+a0
+4a
+47
+d8
+c0
+4a
+4f
+20
+40
+7c
+da
+6f
+e0
+ca
+47
+c2
+83
+02
+f6
+c2
+82
+02
+ca
+20
+60
+00
+00
 58
 00
 00
@@ -2773,10 +2837,14 @@
 5a
 48
 e1
+70
+09
+0c
 20
 20
-48
-36
+20
+03
+2f
 6f
 e0
 c8
@@ -2812,7 +2880,7 @@
 d8
 a0
 4b
-0e
+13
 d8
 c0
 4a
@@ -2832,11 +2900,11 @@
 d8
 a0
 4b
-4d
+52
 d8
 c0
 4b
-0e
+13
 20
 40
 7c
@@ -2852,19 +2920,19 @@
 da
 40
 4b
-4d
+52
 da
 20
 4b
-8e
+93
 20
 40
 7d
 64
 24
 42
-82
-fc
+83
+0d
 6f
 20
 c5
@@ -2876,11 +2944,11 @@
 d8
 c0
 4b
-4d
+52
 d8
 a0
 4b
-8e
+93
 20
 40
 7c
@@ -2952,7 +3020,7 @@
 24
 42
 83
-07
+18
 6f
 20
 c5
@@ -3040,7 +3108,7 @@
 24
 42
 83
-11
+22
 6f
 20
 c5
@@ -3068,7 +3136,7 @@
 20
 20
 02
-b3
+c4
 58
 00
 00
@@ -3076,10 +3144,10 @@
 67
 e0
 cb
-0c
+11
 70
 4b
-0d
+12
 a1
 6f
 e0
@@ -3096,11 +3164,11 @@
 d8
 c0
 4b
-0e
+13
 d8
 a0
 4b
-4d
+52
 20
 40
 7c
@@ -3111,8 +3179,8 @@
 23
 20
 20
-48
-37
+03
+2f
 70
 47
 a2
@@ -3151,8 +3219,8 @@
 24
 20
 20
-48
-37
+03
+2f
 58
 00
 00
@@ -3203,8 +3271,24 @@
 26
 20
 20
-48
-37
+03
+2f
+6f
+e0
+89
+0c
+67
+e0
+86
+6f
+da
+20
+4b
+d4
+20
+20
+7d
+8b
 6f
 e0
 ca
@@ -3212,15 +3296,15 @@
 c2
 83
 82
-cf
+e0
 c2
 83
 02
-e5
+f6
 20
 20
 03
-22
+37
 6f
 e0
 ca
@@ -3228,15 +3312,15 @@
 c0
 00
 03
-27
+3c
 c0
 01
 03
-2d
+42
 c0
 01
 83
-30
+45
 20
 20
 33
@@ -3296,7 +3380,7 @@
 c0
 00
 83
-37
+4c
 c0
 01
 00
@@ -3304,7 +3388,7 @@
 20
 20
 03
-37
+4c
 6f
 e0
 c6
@@ -3316,7 +3400,7 @@
 20
 20
 03
-3a
+4f
 6f
 e0
 c6
@@ -3332,7 +3416,7 @@
 c0
 51
 03
-3f
+54
 20
 60
 00
@@ -3364,7 +3448,7 @@
 d8
 a0
 4a
-86
+8b
 20
 20
 7c
@@ -3397,30 +3481,14 @@
 7a
 00
 00
-6f
-e0
-89
-0d
-c4
-01
-00
-00
-6f
-e0
-89
-0d
-79
-3f
-fe
-02
-67
-e0
-89
-0d
-6f
-e0
-89
-0c
+da
+20
+4b
+d4
+20
+40
+7d
+97
 20
 7a
 00
@@ -3432,7 +3500,7 @@
 c0
 13
 03
-5c
+6d
 c0
 10
 fc
@@ -3444,11 +3512,11 @@
 c0
 12
 03
-67
+78
 c0
 11
 83
-72
+83
 20
 20
 23
@@ -3484,7 +3552,7 @@
 20
 20
 03
-64
+75
 d8
 a0
 46
@@ -3528,7 +3596,7 @@
 20
 20
 03
-6f
+80
 d8
 a0
 47
@@ -3548,11 +3616,11 @@
 6f
 20
 cb
-0c
+11
 d8
 c0
 4b
-0d
+12
 d8
 e0
 00
@@ -3572,11 +3640,11 @@
 20
 20
 03
-7a
+8b
 d8
 a0
 4b
-0c
+11
 df
 20
 00
@@ -3636,7 +3704,7 @@
 20
 40
 03
-9a
+ab
 2a
 2f
 fe
@@ -3668,7 +3736,7 @@
 20
 40
 03
-9a
+ab
 d8
 a0
 8a
@@ -3696,7 +3764,7 @@
 20
 21
 03
-8f
+a0
 20
 20
 21
@@ -3800,7 +3868,7 @@
 20
 40
 03
-d3
+e4
 70
 8a
 08
@@ -3836,7 +3904,7 @@
 20
 40
 03
-c9
+da
 6f
 f0
 8a
@@ -3880,7 +3948,7 @@
 20
 40
 03
-d3
+e4
 70
 80
 cd
@@ -3940,7 +4008,7 @@
 c3
 02
 83
-d4
+e5
 68
 59
 01
@@ -3975,8 +4043,8 @@
 99
 c0
 08
-03
-f3
+04
+04
 58
 00
 57
@@ -4019,8 +4087,8 @@
 99
 c0
 08
-03
-f0
+04
+01
 58
 00
 2b
@@ -4056,7 +4124,7 @@
 20
 20
 03
-ec
+fd
 58
 00
 83
@@ -4068,7 +4136,7 @@
 20
 20
 03
-e1
+f2
 6f
 e0
 c3
@@ -4108,11 +4176,11 @@
 c0
 11
 04
-12
+23
 c0
 7f
 84
-02
+13
 20
 60
 00
@@ -4124,11 +4192,11 @@
 c0
 00
 84
-06
+17
 c0
 01
 04
-0c
+1d
 20
 60
 00
@@ -4188,7 +4256,7 @@
 20
 3a
 04
-18
+29
 6f
 e2
 4a
@@ -4212,11 +4280,11 @@
 c0
 00
 84
-1c
+2d
 c0
 01
 04
-23
+34
 20
 60
 00
@@ -4236,7 +4304,7 @@
 c0
 01
 04
-21
+32
 20
 60
 00
@@ -4264,7 +4332,7 @@
 c0
 80
 04
-28
+39
 20
 60
 00
@@ -4344,7 +4412,7 @@
 20
 40
 04
-3c
+4d
 20
 20
 34
@@ -4496,7 +4564,7 @@
 c5
 13
 84
-65
+76
 6f
 e0
 c4
@@ -4540,7 +4608,7 @@
 20
 40
 84
-72
+83
 18
 42
 7e
@@ -4628,7 +4696,7 @@
 20
 40
 84
-72
+83
 18
 42
 7e
@@ -4692,7 +4760,7 @@
 20
 40
 04
-95
+a6
 20
 40
 00
@@ -4700,7 +4768,7 @@
 20
 40
 04
-ab
+bc
 20
 20
 33
@@ -4728,15 +4796,15 @@
 c0
 55
 04
-9f
+b0
 c0
 2a
 84
-a1
+b2
 c0
 11
 04
-12
+23
 c0
 7f
 b5
@@ -4760,7 +4828,7 @@
 20
 3a
 04
-a7
+b8
 6f
 e2
 4a
@@ -4817,8 +4885,8 @@
 60
 00
 00
-77
-60
+32
+67
 aa
 55
 40
@@ -5490,6 +5558,6 @@
 55
 1d
 94
-34
-ce
+77
+40
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(revision 3327)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(working copy)
@@ -4,19 +4,19 @@
 0001 c000002a beq patch00_0 ,p_soft_reset 
 0002 c00100d0 beq patch00_2 ,p_main_loop 
 0003 c00880d9 beq patch02_1 ,p_set_sync_on 
-0004 c00a03da beq patch02_4 ,p_set_lemode 
+0004 c00a03eb beq patch02_4 ,p_set_lemode 
 0005 c00a8175 beq patch02_5 ,p_rf_rx_enable 
 0006 c00c0183 beq patch03_0 ,p_txon 
 0007 c00c8129 beq patch03_1 ,p_set_tx_power 
 0008 c00d00e7 beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8451 beq patch06_7 ,p_dongle_default_init 
+0009 c01b8462 beq patch06_7 ,p_dongle_default_init 
 000a c01c0148 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c8144 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e8443 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e8454 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f003d beq patch07_6 ,p_dongle_work_mode_auto 
 000e c0628141 beq patch18_5 ,p_otp_read_data 
-000f c06d03ab beq patch1b_2 ,p_sadc_calibration 
-0010 c06e03bb beq patch1b_4 ,p_enable_adc 
+000f c06d03bc beq patch1b_2 ,p_sadc_calibration 
+0010 c06e03cc beq patch1b_4 ,p_enable_adc 
 0011 c07f018e beq patch1f_6 ,p_usb_init 
 0012 c07f81f4 beq patch1f_7 ,p_usb_rx 
 0013 c07e818a beq patch1f_5 ,p_usb_isr 
@@ -26,19 +26,19 @@
 0015 c000021d beq patch20_0 ,p_usb_class_type 
 0016 c0010247 beq patch20_2 ,p_usb0_request_get_descriptor 
 0017 c0030265 beq patch20_6 ,p_usb_tx 
-0018 c01c83f6 beq patch27_1 ,p_le_parse 
-0019 c02683fa beq patch29_5 ,p_le_init_adv 
-001a c037045a beq patch2d_6 ,p_g24_receive_skip_fec1 
-001b c0378474 beq patch2d_7 ,p_g24_receive_skip_end 
+0018 c01c8407 beq patch27_1 ,p_le_parse 
+0019 c026840b beq patch29_5 ,p_le_init_adv 
+001a c037046b beq patch2d_6 ,p_g24_receive_skip_fec1 
+001b c0378485 beq patch2d_7 ,p_g24_receive_skip_end 
 001c c03900a8 beq patch2e_2 ,p_g24_transmit_packet 
 001d c039805c beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a847e beq patch2e_5 ,p_g24_read_len_pid_crc 
+001e c03a848f beq patch2e_5 ,p_g24_read_len_pid_crc 
 001f c03f8083 beq patch2f_7 ,p_g24_pair_dispatch 
-0020 c040848e beq patch30_1 ,p_g24_bind_data_process 
-0021 c04103fc beq patch30_2 ,p_g24_bind_data_parse_next 
-0022 c0420273 beq patch30_4 ,p_g24_receive_packet_start1 
-0023 c044042b beq patch31_0 ,p_g24_mode_switch_bind_search 
-0024 c0450438 beq patch31_2 ,p_g24_bind_mode_auto 
+0020 c040849f beq patch30_1 ,p_g24_bind_data_process 
+0021 c041040d beq patch30_2 ,p_g24_bind_data_parse_next 
+0022 c0420274 beq patch30_4 ,p_g24_receive_packet_start1 
+0023 c044043c beq patch31_0 ,p_g24_mode_switch_bind_search 
+0024 c0450449 beq patch31_2 ,p_g24_bind_mode_auto 
 0025 c0488059 beq patch32_1 ,p_g24_txbuf_clear 
 0026 c0458030 beq patch31_3 ,p_g24_search_mode_auto 
 0027 c1468000 rtneq patch31_5 
@@ -114,7 +114,7 @@
 
 p_g24_txbuf_clear:
 0059 df200041 arg 65 ,loopcnt 
-005a d8a04a86 arg mem_24g_txbuf_new ,contw 
+005a d8a04a8b arg mem_24g_txbuf_new ,contw 
 005b 20207ca3 branch memset0 
 
 p_g24_transmit_prep:
@@ -124,7 +124,7 @@
 005f 1fe0fe03 increase 3 ,pdata 
 0060 67e0c58a store 1 ,mem_24g_txlen 
 0061 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
-0062 67e0cac7 store 1 ,mem_24g_txpayload_new 
+0062 67e0cacc store 1 ,mem_24g_txpayload_new 
 0063 6fe0c589 fetch 1 ,mem_24g_data_type 
 0064 e7e08005 istore 1 ,contw 
 0065 6fe0c588 fetch 1 ,mem_24g_datalen 
@@ -140,7 +140,7 @@
 006d e7e08005 istore 1 ,contw 
 006e 6fe0c588 fetch 1 ,mem_24g_datalen 
 006f 98007200 iforce loopcnt 
-0070 d8c04a86 arg mem_24g_txbuf_new ,contr 
+0070 d8c04a8b arg mem_24g_txbuf_new ,contr 
 0071 20407cda call memcpy 
 0072 202031fd branch g24_transmit_prep_pdu_next 
 
@@ -157,7 +157,7 @@
 p_g24_lr_transmit_prep_skip:
 0079 67e0c58a store 1 ,mem_24g_txlen 
 007a 6fe0c5ac fetch 1 ,mem_24g_syncword_crc8 
-007b 67e0cac7 store 1 ,mem_24g_txpayload_new 
+007b 67e0cacc store 1 ,mem_24g_txpayload_new 
 007c 6fe0c58a fetch 1 ,mem_24g_txlen 
 007d 1fe0fffe increase -2 ,pdata 
 007e e7e08005 istore 1 ,contw 
@@ -183,7 +183,7 @@
 0090 20600000 rtn 
 
 p_g24_pair_sm_1:
-0091 704a86ff jam datatype_attemp ,mem_24g_txbuf_new 
+0091 704a8bff jam datatype_attemp ,mem_24g_txbuf_new 
 0092 202000a0 branch p_g24_pair_sm_prep 
 
 p_g24_pair_sm_2:
@@ -193,29 +193,29 @@
 0096 20403236 call g24_update_addr_and_synccrc8 
 
 p_g24_pair_sm_2_skip:
-0097 704a86aa jam datatype_bind ,mem_24g_txbuf_new 
+0097 704a8baa jam datatype_bind ,mem_24g_txbuf_new 
 0098 202000a0 branch p_g24_pair_sm_prep 
 
 p_g24_pair_sm_3:
-0099 704a8655 jam datatype_config ,mem_24g_txbuf_new 
+0099 704a8b55 jam datatype_config ,mem_24g_txbuf_new 
 009a 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
 009b 203a00a0 branch p_g24_pair_sm_prep ,blank 
 009c 6fe245e8 fetch 4 ,mem_24g_receiver_addr 
-009d 67e24a88 store 4 ,mem_24g_txbuf_new + 2 
+009d 67e24a8d store 4 ,mem_24g_txbuf_new + 2 
 009e 202000a2 branch p_g24_pair_sm_common 
 
 p_g24_pair_sm_4:
-009f 704a8622 jam datatype_ok ,mem_24g_txbuf_new 
+009f 704a8b22 jam datatype_ok ,mem_24g_txbuf_new 
 
 p_g24_pair_sm_prep:
 00a0 6fe24604 fetch 4 ,mem_24g_device_addr 
-00a1 67e24a88 store 4 ,mem_24g_txbuf_new + 2 
+00a1 67e24a8d store 4 ,mem_24g_txbuf_new + 2 
 
 p_g24_pair_sm_common:
 00a2 6fe0c589 fetch 1 ,mem_24g_data_type 
 00a3 1fe17e07 and_into bits_data ,pdata 
-00a4 67e0ca87 store 1 ,mem_24g_txbuf_new + 1 
-00a5 704a8c00 jam 0 ,mem_24g_txbuf_new + 6 
+00a4 67e0ca8c store 1 ,mem_24g_txbuf_new + 1 
+00a5 704a9100 jam 0 ,mem_24g_txbuf_new + 6 
 00a6 70458807 jam 7 ,mem_24g_datalen 
 00a7 202032c8 branch g24_pair_sm_common_next 
 
@@ -231,7 +231,7 @@
 00ae 7824fc00 enable enable_crc 
 00af 6fe0c58a fetch 1 ,mem_24g_txlen 
 00b0 98007200 iforce loopcnt 
-00b1 d8c04ac7 arg mem_24g_txpayload_new ,contr 
+00b1 d8c04acc arg mem_24g_txpayload_new ,contr 
 00b2 202031b3 branch g24tr_loop 
 
 p_dongle_g24_bind_ackpayload_prep:
@@ -243,7 +243,7 @@
 00b6 70461101 jam 1 ,mem_24g_ackpayload_enable 
 00b7 70458808 jam 0x08 ,mem_24g_datalen 
 00b8 d8c045d6 arg mem_24g_bind_payload ,contr 
-00b9 d8a04a86 arg mem_24g_txbuf_new ,contw 
+00b9 d8a04a8b arg mem_24g_txbuf_new ,contw 
 00ba 20207c89 branch memcpy8 
 
 p_dongle_pc_sleep_ackpayload_prep_mouse:
@@ -256,7 +256,7 @@
 00bf 580000ff setarg 0xff 
 
 p_dongle_txbuf_new_store:
-00c0 67e0ca86 store 1 ,mem_24g_txbuf_new 
+00c0 67e0ca8b store 1 ,mem_24g_txbuf_new 
 00c1 20600000 rtn 
 
 p_dongle_g24_kb_led_ackpayload_prep:
@@ -271,7 +271,7 @@
 p_dongle_ackpayload_prep_keyboard:
 00c9 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
 00ca c28080cc bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
-00cb 2020033a branch p_dongle_ackpayload_prep_end 
+00cb 2020034f branch p_dongle_ackpayload_prep_end 
 
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
 00cc 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
@@ -338,12 +338,12 @@
 0101 58557474 setarg 0x557474 
 0102 67f18968 store 3 ,0x8968 
 0103 7089606e jam 0x6e ,0x8960 
-0104 2040037d call p_rx_dcoc 
-0105 204003a8 call p_rfpll_aac_ghpc 
+0104 2040038e call p_rx_dcoc 
+0105 204003b9 call p_rfpll_aac_ghpc 
 0106 2040010a call p_set_xtal_cap 
 0107 7041480c jam system_clk_12m ,mem_system_clk 
 0108 20406f4e call sadc_calibration 
-0109 202003aa branch p_dpll_ring_ibias_calc 
+0109 202003bb branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 010a 20758000 rtn wake 
@@ -518,11 +518,11 @@
 018f 20407932 call usb_init_param 
 0190 5800499a setarg mem_usb_ep2_config 
 0191 67e107a9 store 2 ,mem_hidreportdesc_m 
-0192 580002a4 setarg p_dongle_g24_mouse 
+0192 580002a5 setarg p_dongle_g24_mouse 
 0193 67e145e4 store 2 ,mem_cb_24g_data_device1 
-0194 5800031e setarg p_dongle_g24_keyboard 
+0194 58000333 setarg p_dongle_g24_keyboard 
 0195 67e145e6 store 2 ,mem_cb_24g_data_device2 
-0196 58000333 setarg p_dongle_ackpayload_prep 
+0196 58000348 setarg p_dongle_ackpayload_prep 
 0197 67e145e2 store 2 ,mem_cb_24g_ackpayload 
 
 p_usb_init_restart:
@@ -793,762 +793,783 @@
 0264 20600000 rtn 
 
 p_usb_tx:
-0265 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0266 207a0000 rtn blank 
-0267 6ff08c25 fetch 1 ,core_usb_txbusy 
-0268 1fe17e0f and_into 0x0f ,pdata 
-0269 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
-026a 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-026b 203a7c06 branch usb_tx_fifo_release ,blank 
-026c 6fe08900 fetch 1 ,mem_usb_state 
-026d c001fc40 beq usb_sleep ,usb_windows_wakeup 
-026e c0817c06 bne usb_connected ,usb_tx_fifo_release 
-026f 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
-0270 243a7c06 nbranch usb_tx_fifo_release ,blank 
-0271 20400347 call p_usb_tx_data_ep1 
-0272 2020034b branch p_usb_tx_data_ep2 
+0265 da204bd4 arg mem_usb_ep2_fifo ,rega 
+0266 20407da3 call fifo_is_empty 
+0267 207a0000 rtn blank 
+0268 6ff08c25 fetch 1 ,core_usb_txbusy 
+0269 1fe17e0f and_into 0x0f ,pdata 
+026a 243a7c30 nbranch usb_inwake_state_tx_dispose ,blank 
+026b 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+026c 203a7c06 branch usb_tx_fifo_release ,blank 
+026d 6fe08900 fetch 1 ,mem_usb_state 
+026e c001fc40 beq usb_sleep ,usb_windows_wakeup 
+026f c0817c06 bne usb_connected ,usb_tx_fifo_release 
+0270 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
+0271 243a7c06 nbranch usb_tx_fifo_release ,blank 
+0272 2040035c call p_usb_tx_data_ep1 
+0273 20200360 branch p_usb_tx_data_ep2 
 
 p_g24_receive_packet_start1:
-0273 704a4400 jam 0 ,mem_24g_ackpayload_enable_temp 
-0274 70461100 jam 0 ,mem_24g_ackpayload_enable 
-0275 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0276 c0008285 beq datatype_device1 ,p_g24_data_device1 
-0277 c001029e beq datatype_device2 ,p_g24_data_device2 
-0278 c07f8283 beq datatype_attemp ,p_g24_data_receive_attemp 
-0279 c283827e bbit1 datatype_audio ,p_g24_data_receive_heart_authca_audio 
-027a c283027e bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
-027b c282827e bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
-027c c282027e bbit1 datatype_protocol ,p_g24_data_receive_heart_authca_audio 
-027d 202033be branch g24_rx_interrupt_clear 
+0274 704a4400 jam 0 ,mem_24g_ackpayload_enable_temp 
+0275 70461100 jam 0 ,mem_24g_ackpayload_enable 
+0276 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0277 c0008286 beq datatype_device1 ,p_g24_data_device1 
+0278 c001029f beq datatype_device2 ,p_g24_data_device2 
+0279 c07f8284 beq datatype_attemp ,p_g24_data_receive_attemp 
+027a c283827f bbit1 datatype_audio ,p_g24_data_receive_heart_authca_audio 
+027b c283027f bbit1 datatype_authca ,p_g24_data_receive_heart_authca_audio 
+027c c282827f bbit1 datatype_heart ,p_g24_data_receive_heart_authca_audio 
+027d c282027f bbit1 datatype_protocol ,p_g24_data_receive_heart_authca_audio 
+027e 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_heart_authca_audio:
-027e 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-027f 1fe17e0f and pdata ,0x0f ,pdata 
-0280 c000b3c4 beq datatype_device1 ,g24_data_device1 
-0281 c00133d3 beq datatype_device2 ,g24_data_device2 
-0282 202033be branch g24_rx_interrupt_clear 
+027f 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0280 1fe17e0f and pdata ,0x0f ,pdata 
+0281 c000b3c4 beq datatype_device1 ,g24_data_device1 
+0282 c00133d3 beq datatype_device2 ,g24_data_device2 
+0283 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_attemp:
-0283 204004ad call p_g24_bind_device_status 
-0284 20200402 branch p_g24_data_attemp 
+0284 204004be call p_g24_bind_device_status 
+0285 20200413 branch p_g24_data_attemp 
 
 p_g24_data_device1:
-0285 2040338d call g24_binding_dvc1_living 
-0286 2040352e call g24_ch_timer_reinit 
-0287 6fe0c60a fetch 1 ,mem_24g_abort_packet 
-0288 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
-0289 284ffe03 isolate1 bit_abort ,temp 
-028a 7920fe00 setflag true ,0 ,pdata 
-028b 67e0c60a store 1 ,mem_24g_abort_packet 
-028c c0008294 beq 1 ,p_g24_data_attemp_device1_abort 
-028d 6fe0c612 fetch 1 ,mem_24g_hop_packet 
-028e 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
-028f 284ffe04 isolate1 bit_hop ,temp 
-0290 7920fe00 setflag true ,0 ,pdata 
-0291 67e0c612 store 1 ,mem_24g_hop_packet 
-0292 6fe145e4 fetch 2 ,mem_cb_24g_data_device1 
-0293 20207d79 branch callback_func 
+0286 2040338d call g24_binding_dvc1_living 
+0287 2040352e call g24_ch_timer_reinit 
+0288 6fe0c60a fetch 1 ,mem_24g_abort_packet 
+0289 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
+028a 284ffe03 isolate1 bit_abort ,temp 
+028b 7920fe00 setflag true ,0 ,pdata 
+028c 67e0c60a store 1 ,mem_24g_abort_packet 
+028d c0008295 beq 1 ,p_g24_data_attemp_device1_abort 
+028e 6fe0c612 fetch 1 ,mem_24g_hop_packet 
+028f 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
+0290 284ffe04 isolate1 bit_hop ,temp 
+0291 7920fe00 setflag true ,0 ,pdata 
+0292 67e0c612 store 1 ,mem_24g_hop_packet 
+0293 6fe145e4 fetch 2 ,mem_cb_24g_data_device1 
+0294 20207d79 branch callback_func 
 
 p_g24_data_attemp_device1_abort:
-0294 6fe0c3cb fetch 1 ,mem_device_option 
-0295 1fe67c0e sub pdata ,dvc_op_car ,null 
-0296 2042c469 call car_stop_blink ,zero 
-0297 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0298 247a0000 nrtn blank 
-0299 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-029a 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
-029b 202035a3 branch g24_store_device1_addr 
+0295 6fe0c3cb fetch 1 ,mem_device_option 
+0296 1fe67c0e sub pdata ,dvc_op_car ,null 
+0297 2042c469 call car_stop_blink ,zero 
+0298 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0299 247a0000 nrtn blank 
+029a 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+029b 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
+029c 202035a3 branch g24_store_device1_addr 
 
 p_g24_data_attemp_device2_abort:
-029c 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
-029d 202035a9 branch g24_store_device2_addr 
+029d 6fe24a4f fetch 4 ,mem_24g_rxdata_temp_new + 10 
+029e 202035a9 branch g24_store_device2_addr 
 
 p_g24_data_device2:
-029e 20403393 call g24_binding_dvc2_living 
-029f 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
-02a0 284ffe03 isolate1 bit_abort ,temp 
-02a1 2020829c branch p_g24_data_attemp_device2_abort ,true 
-02a2 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
-02a3 20207d79 branch callback_func 
+029f 20403393 call g24_binding_dvc2_living 
+02a0 6848ca45 fetcht 1 ,mem_24g_rxdata_temp_new 
+02a1 284ffe03 isolate1 bit_abort ,temp 
+02a2 2020829d branch p_g24_data_attemp_device2_abort ,true 
+02a3 6fe145e6 fetch 2 ,mem_cb_24g_data_device2 
+02a4 20207d79 branch callback_func 
 
 p_dongle_g24_mouse:
-02a4 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-02a5 c28382cf bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-02a6 c28302e5 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-02a7 c28282b3 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
-02a8 c28202b9 bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
-02a9 202002aa branch p_dongle_g24_mouse_next 
+02a5 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02a6 c28382e0 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+02a7 c28302f6 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+02a8 c28282c4 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
+02a9 c28202ca bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
+02aa 202002ab branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
-02aa 58000001 setarg ms_report_id 
-02ab 67e08913 store 1 ,mem_usb_mouse_data 
-02ac 6fe3ca48 fetch 7 ,mem_24g_rxdata_temp_new + 3 
-02ad e7e38005 istore 7 ,contw 
-02ae 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-02af 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
-02b0 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-02b1 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-02b2 20204836 branch dongle_usb_tx_ms_data 
+02ab 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02ac 1fe67c09 sub pdata ,0x09 ,null 
+02ad 202282ba branch p_dongle_g24_mouse_data ,zero 
+02ae 204002ba call p_dongle_g24_mouse_data 
+02af 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02b0 1fe0fff8 add pdata ,-8 ,pdata 
+02b1 67e0c57d store 1 ,mem_24g_rxdata_length 
+02b2 1fe27200 copy pdata ,loopcnt 
+02b3 d8a04a47 arg mem_24g_rxdata_temp_new + 2 ,contw 
+02b4 d8c04a4f arg mem_24g_rxdata_temp_new + 10 ,contr 
+02b5 20407cda call memcpy 
+02b6 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02b7 c28302f6 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+02b8 c28202ca bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
+02b9 20600000 rtn 
+
+p_dongle_g24_mouse_data:
+02ba 58000001 setarg ms_report_id 
+02bb 67e08913 store 1 ,mem_usb_mouse_data 
+02bc 6fe3ca48 fetch 7 ,mem_24g_rxdata_temp_new + 3 
+02bd e7e38005 istore 7 ,contw 
+02be 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+02bf 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+02c0 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+02c1 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+02c2 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+02c3 2020032f branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_mouse_heart_data:
-02b3 6fe0c896 fetch 1 ,mem_dongle_usb_ep2_data_flag 
-02b4 207a0000 rtn blank 
-02b5 70489600 jam 0 ,mem_dongle_usb_ep2_data_flag 
+02c4 6fe0c896 fetch 1 ,mem_dongle_usb_ep2_data_flag 
+02c5 207a0000 rtn blank 
+02c6 70489600 jam 0 ,mem_dongle_usb_ep2_data_flag 
 
 p_24g_ackpayload_enable_set:
-02b6 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-02b7 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-02b8 20600000 rtn 
+02c7 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+02c8 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+02c9 20600000 rtn 
 
 p_g24_data_receive_protocol_data:
-02b9 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02ba 1f20f3ff increase -1 ,loopcnt 
-02bb d8a04b0e arg mem_usb_protocol_data + 2 ,contw 
-02bc d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-02bd 20407cda call memcpy 
-02be 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02bf 1fe0ffff increase -1 ,pdata 
-02c0 d8a04b4d arg mem_usb_protocol_data_sta ,contw 
-02c1 d8c04b0e arg mem_usb_protocol_data + 2 ,contr 
-02c2 20407cda call memcpy 
-02c3 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02c4 1fe0ffff increase -1 ,pdata 
-02c5 da404b4d arg mem_usb_protocol_data_sta ,regb 
-02c6 da204b8e arg mem_usb_protocol_data_last ,rega 
-02c7 20407d64 call compare_loop 
-02c8 244282fc ncall p_dongle_usb_tx_protocol_data ,zero 
-02c9 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02ca 1fe0ffff increase -1 ,pdata 
-02cb d8c04b4d arg mem_usb_protocol_data_sta ,contr 
-02cc d8a04b8e arg mem_usb_protocol_data_last ,contw 
-02cd 20407cda call memcpy 
-02ce 202033be branch g24_rx_interrupt_clear 
-
-p_dongle_g24_mouse_audio_data:
+02ca 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02cb 1f20f3ff increase -1 ,loopcnt 
+02cc d8a04b13 arg mem_usb_protocol_data + 2 ,contw 
+02cd d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+02ce 20407cda call memcpy 
 02cf 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02d0 1f20f3ff increase -1 ,loopcnt 
-02d1 d8a047a3 arg mem_usb_audio_data + 2 ,contw 
-02d2 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+02d0 1fe0ffff increase -1 ,pdata 
+02d1 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
+02d2 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
 02d3 20407cda call memcpy 
 02d4 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
 02d5 1fe0ffff increase -1 ,pdata 
-02d6 d8a047e1 arg mem_usb_audio_data_sta ,contw 
-02d7 d8c047a3 arg mem_usb_audio_data + 2 ,contr 
-02d8 20407cda call memcpy 
-02d9 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02da 1fe0ffff increase -1 ,pdata 
-02db da4047e1 arg mem_usb_audio_data_sta ,regb 
-02dc da204821 arg mem_usb_audio_data_last ,rega 
-02dd 20407d64 call compare_loop 
-02de 24428307 ncall p_dongle_usb_tx_audio_data ,zero 
-02df 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02e0 1fe0ffff increase -1 ,pdata 
-02e1 d8c047e1 arg mem_usb_audio_data_sta ,contr 
-02e2 d8a04821 arg mem_usb_audio_data_last ,contw 
-02e3 20407cda call memcpy 
-02e4 202033be branch g24_rx_interrupt_clear 
+02d6 da404b52 arg mem_usb_protocol_data_sta ,regb 
+02d7 da204b93 arg mem_usb_protocol_data_last ,rega 
+02d8 20407d64 call compare_loop 
+02d9 2442830d ncall p_dongle_usb_tx_protocol_data ,zero 
+02da 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02db 1fe0ffff increase -1 ,pdata 
+02dc d8c04b52 arg mem_usb_protocol_data_sta ,contr 
+02dd d8a04b93 arg mem_usb_protocol_data_last ,contw 
+02de 20407cda call memcpy 
+02df 202033be branch g24_rx_interrupt_clear 
 
-p_dongle_g24_mouse_authca_data:
+p_dongle_g24_mouse_audio_data:
+02e0 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02e1 1f20f3ff increase -1 ,loopcnt 
+02e2 d8a047a3 arg mem_usb_audio_data + 2 ,contw 
+02e3 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+02e4 20407cda call memcpy 
 02e5 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02e6 1f20f3ff increase -1 ,loopcnt 
-02e7 d8a046e0 arg mem_usb_authca_data + 2 ,contw 
-02e8 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+02e6 1fe0ffff increase -1 ,pdata 
+02e7 d8a047e1 arg mem_usb_audio_data_sta ,contw 
+02e8 d8c047a3 arg mem_usb_audio_data + 2 ,contr 
 02e9 20407cda call memcpy 
 02ea 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
 02eb 1fe0ffff increase -1 ,pdata 
-02ec d8a0471f arg mem_usb_authca_data_sta ,contw 
-02ed d8c046e0 arg mem_usb_authca_data + 2 ,contr 
-02ee 20407cda call memcpy 
-02ef 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02f0 1fe0ffff increase -1 ,pdata 
-02f1 da40471f arg mem_usb_authca_data_sta ,regb 
-02f2 da204760 arg mem_usb_authca_data_last ,rega 
-02f3 20407d64 call compare_loop 
-02f4 24428311 ncall p_dongle_usb_tx_authca_data ,zero 
-02f5 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-02f6 1fe0ffff increase -1 ,pdata 
-02f7 d8c0471f arg mem_usb_authca_data_sta ,contr 
-02f8 d8a04760 arg mem_usb_authca_data_last ,contw 
-02f9 20407cda call memcpy 
-02fa 204033be call g24_rx_interrupt_clear 
-02fb 202002b3 branch p_dongle_g24_mouse_heart_data 
+02ec da4047e1 arg mem_usb_audio_data_sta ,regb 
+02ed da204821 arg mem_usb_audio_data_last ,rega 
+02ee 20407d64 call compare_loop 
+02ef 24428318 ncall p_dongle_usb_tx_audio_data ,zero 
+02f0 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02f1 1fe0ffff increase -1 ,pdata 
+02f2 d8c047e1 arg mem_usb_audio_data_sta ,contr 
+02f3 d8a04821 arg mem_usb_audio_data_last ,contw 
+02f4 20407cda call memcpy 
+02f5 202033be branch g24_rx_interrupt_clear 
+
+p_dongle_g24_mouse_authca_data:
+02f6 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02f7 1f20f3ff increase -1 ,loopcnt 
+02f8 d8a046e0 arg mem_usb_authca_data + 2 ,contw 
+02f9 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+02fa 20407cda call memcpy 
+02fb 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+02fc 1fe0ffff increase -1 ,pdata 
+02fd d8a0471f arg mem_usb_authca_data_sta ,contw 
+02fe d8c046e0 arg mem_usb_authca_data + 2 ,contr 
+02ff 20407cda call memcpy 
+0300 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0301 1fe0ffff increase -1 ,pdata 
+0302 da40471f arg mem_usb_authca_data_sta ,regb 
+0303 da204760 arg mem_usb_authca_data_last ,rega 
+0304 20407d64 call compare_loop 
+0305 24428322 ncall p_dongle_usb_tx_authca_data ,zero 
+0306 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0307 1fe0ffff increase -1 ,pdata 
+0308 d8c0471f arg mem_usb_authca_data_sta ,contr 
+0309 d8a04760 arg mem_usb_authca_data_last ,contw 
+030a 20407cda call memcpy 
+030b 204033be call g24_rx_interrupt_clear 
+030c 202002c4 branch p_dongle_g24_mouse_heart_data 
 
 p_dongle_usb_tx_protocol_data:
-02fc 58000040 setarg 0x40 
-02fd 67e0cb0c store 1 ,mem_usb_protocol_data 
-02fe 704b0da1 jam report_id_data_in ,mem_usb_protocol_data + 1 
-02ff 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0300 1fe0ffff increase -1 ,pdata 
-0301 1fe27200 copy pdata ,loopcnt 
-0302 d8c04b0e arg mem_usb_protocol_data + 2 ,contr 
-0303 d8a04b4d arg mem_usb_protocol_data_sta ,contw 
-0304 20407cda call memcpy 
-0305 70090c23 jam usb_ep2_protocol ,mem_usb_ep2_data 
-0306 20204837 branch dongle_usb_tx_enable_ep2 
+030d 58000040 setarg 0x40 
+030e 67e0cb11 store 1 ,mem_usb_protocol_data 
+030f 704b12a1 jam report_id_data_in ,mem_usb_protocol_data + 1 
+0310 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0311 1fe0ffff increase -1 ,pdata 
+0312 1fe27200 copy pdata ,loopcnt 
+0313 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
+0314 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
+0315 20407cda call memcpy 
+0316 70090c23 jam usb_ep2_protocol ,mem_usb_ep2_data 
+0317 2020032f branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_audio_data:
-0307 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
-0308 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0309 1fe0ffff increase -1 ,pdata 
-030a 67e0c7a1 store 1 ,mem_usb_audio_data 
-030b 1fe27200 copy pdata ,loopcnt 
-030c d8c047a4 arg mem_usb_audio_data + 3 ,contr 
-030d d8a047e1 arg mem_usb_audio_data_sta ,contw 
-030e 20407cda call memcpy 
-030f 70090c24 jam usb_ep2_audio ,mem_usb_ep2_data 
-0310 20204837 branch dongle_usb_tx_enable_ep2 
+0318 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
+0319 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+031a 1fe0ffff increase -1 ,pdata 
+031b 67e0c7a1 store 1 ,mem_usb_audio_data 
+031c 1fe27200 copy pdata ,loopcnt 
+031d d8c047a4 arg mem_usb_audio_data + 3 ,contr 
+031e d8a047e1 arg mem_usb_audio_data_sta ,contw 
+031f 20407cda call memcpy 
+0320 70090c24 jam usb_ep2_audio ,mem_usb_ep2_data 
+0321 2020032f branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_authca_data:
-0311 58000040 setarg 0x40 
-0312 67e0c6de store 1 ,mem_usb_authca_data 
-0313 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
-0314 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0315 1fe0ffff increase -1 ,pdata 
-0316 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
-0317 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0318 1fe0ffff increase -1 ,pdata 
-0319 d8a046e1 arg mem_usb_authca_data + 3 ,contw 
-031a d8c0471f arg mem_usb_authca_data_sta ,contr 
-031b 20407cda call memcpy 
-031c 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
-031d 20204837 branch dongle_usb_tx_enable_ep2 
+0322 58000040 setarg 0x40 
+0323 67e0c6de store 1 ,mem_usb_authca_data 
+0324 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
+0325 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0326 1fe0ffff increase -1 ,pdata 
+0327 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
+0328 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0329 1fe0ffff increase -1 ,pdata 
+032a d8a046e1 arg mem_usb_authca_data + 3 ,contw 
+032b d8c0471f arg mem_usb_authca_data_sta ,contr 
+032c 20407cda call memcpy 
+032d 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
+032e 2020032f branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_usb_tx_enable_ep2:
+032f 6fe0890c fetch 1 ,mem_usb_ep2_data 
+0330 67e0866f store 1 ,mem_fifo_temp 
+0331 da204bd4 arg mem_usb_ep2_fifo ,rega 
+0332 20207d8b branch fifo_in 
 
 p_dongle_g24_keyboard:
-031e 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-031f c28382cf bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-0320 c28302e5 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-0321 20200322 branch p_dongle_g24_kb 
+0333 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+0334 c28382e0 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+0335 c28302f6 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+0336 20200337 branch p_dongle_g24_kb 
 
 p_dongle_g24_kb:
-0322 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0323 c0000327 beq 0 ,p_dongle_g24_kb_type0 
-0324 c001032d beq 2 ,p_dongle_g24_kb_type2 
-0325 c0018330 beq 3 ,p_dongle_g24_kb_type3 
-0326 202033be branch g24_rx_interrupt_clear 
+0337 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0338 c000033c beq 0 ,p_dongle_g24_kb_type0 
+0339 c0010342 beq 2 ,p_dongle_g24_kb_type2 
+033a c0018345 beq 3 ,p_dongle_g24_kb_type3 
+033b 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_kb_type0:
-0327 6fe0ca4a fetch 1 ,mem_24g_rxdata_temp_new + 5 
-0328 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-0329 704a4a00 jam 0 ,mem_24g_rxdata_temp_new + 5 
-032a d8a00923 arg mem_usb_kb_data ,contw 
-032b d8c04a49 arg mem_24g_rxdata_temp_new + 4 ,contr 
-032c 202048ef branch dongle_g24_kb_type0 + 5 
+033c 6fe0ca4a fetch 1 ,mem_24g_rxdata_temp_new + 5 
+033d 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+033e 704a4a00 jam 0 ,mem_24g_rxdata_temp_new + 5 
+033f d8a00923 arg mem_usb_kb_data ,contw 
+0340 d8c04a49 arg mem_24g_rxdata_temp_new + 4 ,contr 
+0341 202048ef branch dongle_g24_kb_type0 + 5 
 
 p_dongle_g24_kb_type2:
-032d d8a00943 arg mem_usb_kb_system ,contw 
-032e d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-032f 2020491f branch dongle_g24_kb_type2 + 2 
+0342 d8a00943 arg mem_usb_kb_system ,contw 
+0343 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+0344 2020491f branch dongle_g24_kb_type2 + 2 
 
 p_dongle_g24_kb_type3:
-0330 d8a00933 arg mem_usb_kb_multikey ,contw 
-0331 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-0332 20204907 branch dongle_g24_kb_type3 + 2 
+0345 d8a00933 arg mem_usb_kb_multikey ,contw 
+0346 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+0347 20204907 branch dongle_g24_kb_type3 + 2 
 
 p_dongle_ackpayload_prep:
-0333 6fe0c589 fetch 1 ,mem_24g_data_type 
-0334 c0008337 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-0335 c00100c9 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
-0336 20200337 branch p_dongle_ackpayload_prep_mouse 
+0348 6fe0c589 fetch 1 ,mem_24g_data_type 
+0349 c000834c beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+034a c00100c9 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+034b 2020034c branch p_dongle_ackpayload_prep_mouse 
 
 p_dongle_ackpayload_prep_mouse:
-0337 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0338 c28000bb bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
-0339 2020033a branch p_dongle_ackpayload_prep_end 
+034c 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+034d c28000bb bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+034e 2020034f branch p_dongle_ackpayload_prep_end 
 
 p_dongle_ackpayload_prep_end:
-033a 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-033b c00080b3 beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
-033c c00180c2 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
-033d c051033f beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
-033e 20600000 rtn 
+034f 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0350 c00080b3 beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+0351 c00180c2 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+0352 c0510354 beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
+0353 20600000 rtn 
 
 p_dongle_ep2_ackpayload_prep:
-033f 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-0340 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-0341 6fe0c897 fetch 1 ,mem_dongle_usb_ep2_data_len 
-0342 67e0c588 store 1 ,mem_24g_datalen 
-0343 1fe27200 copy pdata ,loopcnt 
-0344 d8c04898 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
-0345 d8a04a86 arg mem_24g_txbuf_new ,contw 
-0346 20207cda branch memcpy 
+0354 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+0355 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+0356 6fe0c897 fetch 1 ,mem_dongle_usb_ep2_data_len 
+0357 67e0c588 store 1 ,mem_24g_datalen 
+0358 1fe27200 copy pdata ,loopcnt 
+0359 d8c04898 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
+035a d8a04a8b arg mem_24g_txbuf_new ,contw 
+035b 20207cda branch memcpy 
 
 p_usb_tx_data_ep1:
-0347 6ff08c25 fetch 1 ,core_usb_txbusy 
-0348 1fe17e0f and_into 0x0f ,pdata 
-0349 247a0000 nrtn blank 
-034a 20207bf0 branch usb_tx_data_ep1 + 2 
+035c 6ff08c25 fetch 1 ,core_usb_txbusy 
+035d 1fe17e0f and_into 0x0f ,pdata 
+035e 247a0000 nrtn blank 
+035f 20207bf0 branch usb_tx_data_ep1 + 2 
 
 p_usb_tx_data_ep2:
-034b 6ff08c25 fetch 1 ,core_usb_txbusy 
-034c 1fe17e0f and_into 0x0f ,pdata 
-034d 247a0000 nrtn blank 
-034e 6fe0890d fetch 1 ,mem_usb_tx_enable 
-034f c4010000 rtnbit0 2 
-0350 6fe0890d fetch 1 ,mem_usb_tx_enable 
-0351 793ffe02 set0 2 ,pdata 
-0352 67e0890d store 1 ,mem_usb_tx_enable 
-0353 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0354 207a0000 rtn blank 
-0355 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0356 c013035c beq usb_ep2_authca ,p_usb_tx_authca_data 
-0357 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0358 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-0359 c0120367 beq usb_ep2_audio ,p_usb_tx_audio_data 
-035a c0118372 beq usb_ep2_protocol ,p_usb_tx_protocol_data 
-035b 2020235a branch assert 
+0360 6ff08c25 fetch 1 ,core_usb_txbusy 
+0361 1fe17e0f and_into 0x0f ,pdata 
+0362 247a0000 nrtn blank 
+0363 da204bd4 arg mem_usb_ep2_fifo ,rega 
+0364 20407d97 call fifo_out 
+0365 207a0000 rtn blank 
+0366 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+0367 c013036d beq usb_ep2_authca ,p_usb_tx_authca_data 
+0368 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0369 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+036a c0120378 beq usb_ep2_audio ,p_usb_tx_audio_data 
+036b c0118383 beq usb_ep2_protocol ,p_usb_tx_protocol_data 
+036c 2020235a branch assert 
 
 p_usb_tx_authca_data:
-035c 70090c00 jam 0 ,mem_usb_ep2_data 
-035d 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
-035e d8c046df arg mem_usb_authca_data + 1 ,contr 
+036d 70090c00 jam 0 ,mem_usb_ep2_data 
+036e 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
+036f d8c046df arg mem_usb_authca_data + 1 ,contr 
 
 p_usb_tx_authca_ep2:
-035f d8e00002 arg 2 ,queue 
-0360 da200759 arg mem_usb_txbuf2 ,rega 
-0361 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0362 20407bd2 call usb_tx_buf 
-0363 20200364 branch p_usb_release_authca_buf 
+0370 d8e00002 arg 2 ,queue 
+0371 da200759 arg mem_usb_txbuf2 ,rega 
+0372 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0373 20407bd2 call usb_tx_buf 
+0374 20200375 branch p_usb_release_authca_buf 
 
 p_usb_release_authca_buf:
-0364 d8a046de arg mem_usb_authca_data ,contw 
-0365 df200040 arg 64 ,loopcnt 
-0366 20207ca1 branch clear_mem 
+0375 d8a046de arg mem_usb_authca_data ,contw 
+0376 df200040 arg 64 ,loopcnt 
+0377 20207ca1 branch clear_mem 
 
 p_usb_tx_audio_data:
-0367 70090c00 jam 0 ,mem_usb_ep2_data 
-0368 6f20c7a1 fetchr loopcnt ,1 ,mem_usb_audio_data 
-0369 d8c047a3 arg mem_usb_audio_data + 2 ,contr 
+0378 70090c00 jam 0 ,mem_usb_ep2_data 
+0379 6f20c7a1 fetchr loopcnt ,1 ,mem_usb_audio_data 
+037a d8c047a3 arg mem_usb_audio_data + 2 ,contr 
 
 p_usb_tx_audio_ep2:
-036a d8e00002 arg 2 ,queue 
-036b da200759 arg mem_usb_txbuf2 ,rega 
-036c 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-036d 20407bd2 call usb_tx_buf 
-036e 2020036f branch p_usb_release_audio_buf 
+037b d8e00002 arg 2 ,queue 
+037c da200759 arg mem_usb_txbuf2 ,rega 
+037d 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+037e 20407bd2 call usb_tx_buf 
+037f 20200380 branch p_usb_release_audio_buf 
 
 p_usb_release_audio_buf:
-036f d8a047a1 arg mem_usb_audio_data ,contw 
-0370 df200040 arg 64 ,loopcnt 
-0371 20207ca1 branch clear_mem 
+0380 d8a047a1 arg mem_usb_audio_data ,contw 
+0381 df200040 arg 64 ,loopcnt 
+0382 20207ca1 branch clear_mem 
 
 p_usb_tx_protocol_data:
-0372 70090c00 jam 0 ,mem_usb_ep2_data 
-0373 6f20cb0c fetchr loopcnt ,1 ,mem_usb_protocol_data 
-0374 d8c04b0d arg mem_usb_protocol_data + 1 ,contr 
+0383 70090c00 jam 0 ,mem_usb_ep2_data 
+0384 6f20cb11 fetchr loopcnt ,1 ,mem_usb_protocol_data 
+0385 d8c04b12 arg mem_usb_protocol_data + 1 ,contr 
 
 p_usb_tx_protocol_ep2:
-0375 d8e00002 arg 2 ,queue 
-0376 da200759 arg mem_usb_txbuf2 ,rega 
-0377 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0378 20407bd2 call usb_tx_buf 
-0379 2020037a branch p_usb_release_protocol_buf 
+0386 d8e00002 arg 2 ,queue 
+0387 da200759 arg mem_usb_txbuf2 ,rega 
+0388 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0389 20407bd2 call usb_tx_buf 
+038a 2020038b branch p_usb_release_protocol_buf 
 
 p_usb_release_protocol_buf:
-037a d8a04b0c arg mem_usb_protocol_data ,contw 
-037b df200041 arg 65 ,loopcnt 
-037c 20207ca1 branch clear_mem 
+038b d8a04b11 arg mem_usb_protocol_data ,contw 
+038c df200041 arg 65 ,loopcnt 
+038d 20207ca1 branch clear_mem 
 
 p_rx_dcoc:
-037d 20758000 rtn wake 
-037e 20402160 call set_sync_on 
-037f d8400027 arg 39 ,temp 
-0380 2040216f call set_freq_rx 
-0381 204021a6 call rf_rx_enable 
-0382 708a257f jam 0x7f ,0x8a25 
-0383 708a301a jam 0x1a ,0x8a30 
-0384 708a3178 jam 0x78 ,0x8a31 
-0385 708a8fb2 jam 0xb2 ,0x8a8f 
-0386 708ac200 jam 0 ,0x8ac2 
-0387 708ac300 jam 0 ,0x8ac3 
-0388 d8e00006 arg 6 ,queue 
-0389 2040039a call p_rx_dcoc_avg 
-038a 2a2ffe0d isolate1 13 ,rega 
-038b 2040211d call qset_start 
-038c 2a4ffe0d isolate1 13 ,regb 
-038d 2040211e call qset_p 
-038e d8e00005 arg 5 ,queue 
+038e 20758000 rtn wake 
+038f 20402160 call set_sync_on 
+0390 d8400027 arg 39 ,temp 
+0391 2040216f call set_freq_rx 
+0392 204021a6 call rf_rx_enable 
+0393 708a257f jam 0x7f ,0x8a25 
+0394 708a301a jam 0x1a ,0x8a30 
+0395 708a3178 jam 0x78 ,0x8a31 
+0396 708a8fb2 jam 0xb2 ,0x8a8f 
+0397 708ac200 jam 0 ,0x8ac2 
+0398 708ac300 jam 0 ,0x8ac3 
+0399 d8e00006 arg 6 ,queue 
+039a 204003ab call p_rx_dcoc_avg 
+039b 2a2ffe0d isolate1 13 ,rega 
+039c 2040211d call qset_start 
+039d 2a4ffe0d isolate1 13 ,regb 
+039e 2040211e call qset_p 
+039f d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-038f 2040211c call qset1_p 
-0390 2040211e call qset_p 
-0391 2040039a call p_rx_dcoc_avg 
-0392 d8a08ac2 arg 0x8ac2 ,contw 
-0393 1a31fe00 rshift4 rega ,pdata 
-0394 20402117 call qsetxor 
-0395 1a51fe00 rshift4 regb ,pdata 
-0396 20402117 call qsetxor 
-0397 18e08fff increase -1 ,queue 
-0398 2021038f branch p_rx_dcoc_loop2 ,positive 
-0399 2020214f branch rx_dcoc_loop2 + 10 
+03a0 2040211c call qset1_p 
+03a1 2040211e call qset_p 
+03a2 204003ab call p_rx_dcoc_avg 
+03a3 d8a08ac2 arg 0x8ac2 ,contw 
+03a4 1a31fe00 rshift4 rega ,pdata 
+03a5 20402117 call qsetxor 
+03a6 1a51fe00 rshift4 regb ,pdata 
+03a7 20402117 call qsetxor 
+03a8 18e08fff increase -1 ,queue 
+03a9 202103a0 branch p_rx_dcoc_loop2 ,positive 
+03aa 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-039a 2000003c nop 60 
-039b 58000f00 setarg mem_dcoc_buf 
-039c 67f10982 store 2 ,0x8982 
-039d 58000ff0 setarg mem_dcoc_buf_end 
-039e 67f10984 store 2 ,0x8984 
-039f 70898109 jam 0x9 ,0x8981 
-03a0 70898103 jam 0x3 ,0x8981 
-03a1 70898006 jam 0x6 ,0x8980 
-03a2 2000003c nop 60 
-03a3 da200000 arg 0 ,rega 
-03a4 da400000 arg 0 ,regb 
-03a5 df200010 arg 16 ,loopcnt 
-03a6 d8c00f00 arg mem_dcoc_buf ,contr 
-03a7 2020212d branch rx_dcoc_loop 
+03ab 2000003c nop 60 
+03ac 58000f00 setarg mem_dcoc_buf 
+03ad 67f10982 store 2 ,0x8982 
+03ae 58000ff0 setarg mem_dcoc_buf_end 
+03af 67f10984 store 2 ,0x8984 
+03b0 70898109 jam 0x9 ,0x8981 
+03b1 70898103 jam 0x3 ,0x8981 
+03b2 70898006 jam 0x6 ,0x8980 
+03b3 2000003c nop 60 
+03b4 da200000 arg 0 ,rega 
+03b5 da400000 arg 0 ,regb 
+03b6 df200010 arg 16 ,loopcnt 
+03b7 d8c00f00 arg mem_dcoc_buf ,contr 
+03b8 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-03a8 20758000 rtn wake 
-03a9 20202272 branch rfpll_aac_ghpc + 1 
+03b9 20758000 rtn wake 
+03ba 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-03aa 20600000 rtn 
+03bb 20600000 rtn 
 
 p_sadc_calibration:
-03ab 20758000 rtn wake 
-03ac 708a0777 jam 0x77 ,core_gpadc_ctrl 
-03ad 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-03ae 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-03af 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-03b0 67f080cd store 1 ,core_sadc_clkdiv 
-03b1 20000bb8 nop 3000 
-03b2 204003d3 call p_sadc_read 
-03b3 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-03b4 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-03b5 df200008 arg 8 ,loopcnt 
-03b6 20406f58 call sadc_cal_read + 1 
-03b7 6fe0c419 fetch 1 ,mem_spi_write_addr 
-03b8 67e0c433 store 1 ,mem_adc_cal_c7 
-03b9 6240c419 storer regb ,1 ,mem_spi_write_addr 
-03ba 20600000 rtn 
+03bc 20758000 rtn wake 
+03bd 708a0777 jam 0x77 ,core_gpadc_ctrl 
+03be 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+03bf 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+03c0 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+03c1 67f080cd store 1 ,core_sadc_clkdiv 
+03c2 20000bb8 nop 3000 
+03c3 204003e4 call p_sadc_read 
+03c4 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+03c5 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+03c6 df200008 arg 8 ,loopcnt 
+03c7 20406f58 call sadc_cal_read + 1 
+03c8 6fe0c419 fetch 1 ,mem_spi_write_addr 
+03c9 67e0c433 store 1 ,mem_adc_cal_c7 
+03ca 6240c419 storer regb ,1 ,mem_spi_write_addr 
+03cb 20600000 rtn 
 
 p_enable_adc:
-03bb 204003c9 call p_sadc_cal_write 
-03bc 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-03bd 793ffe07 set0 7 ,pdata 
-03be 67f08a09 store 1 ,core_gpadc_cfg1 
-03bf 708a0777 jam 0x77 ,core_gpadc_ctrl 
-03c0 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-03c1 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-03c2 20406f90 call sadc_channel 
-03c3 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-03c4 67f080cd store 1 ,core_sadc_clkdiv 
-03c5 20000bb8 nop 3000 
-03c6 204003d3 call p_sadc_read 
-03c7 7080cd00 jam 0 ,core_sadc_clkdiv 
-03c8 20206fa1 branch sadc_dma 
+03cc 204003da call p_sadc_cal_write 
+03cd 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+03ce 793ffe07 set0 7 ,pdata 
+03cf 67f08a09 store 1 ,core_gpadc_cfg1 
+03d0 708a0777 jam 0x77 ,core_gpadc_ctrl 
+03d1 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+03d2 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+03d3 20406f90 call sadc_channel 
+03d4 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+03d5 67f080cd store 1 ,core_sadc_clkdiv 
+03d6 20000bb8 nop 3000 
+03d7 204003e4 call p_sadc_read 
+03d8 7080cd00 jam 0 ,core_sadc_clkdiv 
+03d9 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-03c9 6ff080cc fetch 1 ,core_sadc_ctrl 
-03ca 79207e01 set1 1 ,pdata 
-03cb 67f080cc store 1 ,core_sadc_ctrl 
-03cc 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-03cd 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-03ce 67e0c419 store 1 ,mem_spi_write_addr 
-03cf df200008 arg 8 ,loopcnt 
-03d0 20406f67 call sadc_cal_write + 4 
-03d1 6240c419 storer regb ,1 ,mem_spi_write_addr 
-03d2 20600000 rtn 
+03da 6ff080cc fetch 1 ,core_sadc_ctrl 
+03db 79207e01 set1 1 ,pdata 
+03dc 67f080cc store 1 ,core_sadc_ctrl 
+03dd 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+03de 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+03df 67e0c419 store 1 ,mem_spi_write_addr 
+03e0 df200008 arg 8 ,loopcnt 
+03e1 20406f67 call sadc_cal_write + 4 
+03e2 6240c419 storer regb ,1 ,mem_spi_write_addr 
+03e3 20600000 rtn 
 
 p_sadc_read:
-03d3 7080cc03 jam 0x03 ,core_sadc_ctrl 
+03e4 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-03d4 6ff08129 fetch 1 ,core_perf_status 
-03d5 c30283d4 bbit0 saradc_done ,p_sadc_read_wait 
-03d6 68590164 fetcht 2 ,core_sadc_data 
-03d7 6049440a storet 2 ,mem_adc_current_value 
-03d8 7080cc00 jam 0x00 ,core_sadc_ctrl 
-03d9 20600000 rtn 
+03e5 6ff08129 fetch 1 ,core_perf_status 
+03e6 c30283e5 bbit0 saradc_done ,p_sadc_read_wait 
+03e7 68590164 fetcht 2 ,core_sadc_data 
+03e8 6049440a storet 2 ,mem_adc_current_value 
+03e9 7080cc00 jam 0x00 ,core_sadc_ctrl 
+03ea 20600000 rtn 
 
 p_set_lemode:
-03da 708a8211 jam 0x11 ,0x8a82 
-03db 708a8d12 jam 0x12 ,0x8a8d 
-03dc 708a8e0a jam 0x0a ,0x8a8e 
-03dd 6fe0c099 fetch 1 ,mem_fcomp_div 
-03de c00803f3 beq xtal_16m ,p_set_lemode_2m_16m 
-03df 58005762 setarg 0x5762 
-03e0 67f10907 store 2 ,0x8907 
+03eb 708a8211 jam 0x11 ,0x8a82 
+03ec 708a8d12 jam 0x12 ,0x8a8d 
+03ed 708a8e0a jam 0x0a ,0x8a8e 
+03ee 6fe0c099 fetch 1 ,mem_fcomp_div 
+03ef c0080404 beq xtal_16m ,p_set_lemode_2m_16m 
+03f0 58005762 setarg 0x5762 
+03f1 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-03e1 70890103 jam 3 ,0x8901 
-03e2 70893003 jam 3 ,0x8930 
-03e3 c6168000 rtnmark1 mark_ble_2m 
-03e4 70890101 jam 1 ,0x8901 
-03e5 708a8207 jam 0x07 ,0x8a82 
-03e6 708a8d44 jam 0x44 ,0x8a8d 
-03e7 708a8e0a jam 0x0a ,0x8a8e 
-03e8 6fe0c099 fetch 1 ,mem_fcomp_div 
-03e9 c00803f0 beq xtal_16m ,p_set_lemode_1m_16m 
-03ea 58002bb1 setarg 0x2bb1 
-03eb 67f10907 store 2 ,0x8907 
+03f2 70890103 jam 3 ,0x8901 
+03f3 70893003 jam 3 ,0x8930 
+03f4 c6168000 rtnmark1 mark_ble_2m 
+03f5 70890101 jam 1 ,0x8901 
+03f6 708a8207 jam 0x07 ,0x8a82 
+03f7 708a8d44 jam 0x44 ,0x8a8d 
+03f8 708a8e0a jam 0x0a ,0x8a8e 
+03f9 6fe0c099 fetch 1 ,mem_fcomp_div 
+03fa c0080401 beq xtal_16m ,p_set_lemode_1m_16m 
+03fb 58002bb1 setarg 0x2bb1 
+03fc 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-03ec c6978000 rtnmark0 mark_ble_lr 
-03ed 70893024 jam 0x24 ,0x8930 
-03ee 70890105 jam 5 ,0x8901 
-03ef 20600000 rtn 
+03fd c6978000 rtnmark0 mark_ble_lr 
+03fe 70893024 jam 0x24 ,0x8930 
+03ff 70890105 jam 5 ,0x8901 
+0400 20600000 rtn 
 
 p_set_lemode_1m_16m:
-03f0 58004189 setarg 0x4189 
-03f1 67f10907 store 2 ,0x8907 
-03f2 202003ec branch p_set_lemode_1m 
+0401 58004189 setarg 0x4189 
+0402 67f10907 store 2 ,0x8907 
+0403 202003fd branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-03f3 58008312 setarg 0x8312 
-03f4 67f10907 store 2 ,0x8907 
-03f5 202003e1 branch p_set_lemode_2m 
+0404 58008312 setarg 0x8312 
+0405 67f10907 store 2 ,0x8907 
+0406 202003f2 branch p_set_lemode_2m 
 
 p_le_parse:
-03f6 6fe0c334 fetch 1 ,mem_le_packet_llid 
-03f7 c1000000 rtneq llid_reserved 
-03f8 c001b04a beq llid_le_ll ,le_parse_ll 
-03f9 202028e1 branch le_parse_l2cap 
+0407 6fe0c334 fetch 1 ,mem_le_packet_llid 
+0408 c1000000 rtneq llid_reserved 
+0409 c001b04a beq llid_le_ll ,le_parse_ll 
+040a 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-03fa 793f8030 set0 mark_ble_crc_fail ,mark 
-03fb 20202af6 branch le_init_adv + 1 
+040b 793f8030 set0 mark_ble_crc_fail ,mark 
+040c 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-03fc 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-03fd c0553329 beq datatype_bind ,g24_bind_first_step 
-03fe c02ab33a beq datatype_config ,g24_bind_second_step 
-03ff c0110412 beq datatype_ok ,p_g24_bind_third_step 
-0400 c07f8402 beq datatype_attemp ,p_g24_data_attemp 
-0401 20600000 rtn 
+040d 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+040e c0553329 beq datatype_bind ,g24_bind_first_step 
+040f c02ab33a beq datatype_config ,g24_bind_second_step 
+0410 c0110423 beq datatype_ok ,p_g24_bind_third_step 
+0411 c07f8413 beq datatype_attemp ,p_g24_data_attemp 
+0412 20600000 rtn 
 
 p_g24_data_attemp:
-0402 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0403 c0008406 beq datatype_device1 ,p_g24_data_attemp_device1 
-0404 c001040c beq datatype_device2 ,p_g24_data_attemp_device2 
-0405 20600000 rtn 
+0413 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0414 c0008417 beq datatype_device1 ,p_g24_data_attemp_device1 
+0415 c001041d beq datatype_device2 ,p_g24_data_attemp_device2 
+0416 20600000 rtn 
 
 p_g24_data_attemp_device1:
-0406 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0407 247a0000 nrtn blank 
-0408 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0409 67e2462c store 4 ,mem_24g_transmitter_addr 
+0417 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0418 247a0000 nrtn blank 
+0419 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+041a 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device1_addr:
-040a 67e24630 store 4 ,mem_24g_device1_addr 
-040b 20600000 rtn 
+041b 67e24630 store 4 ,mem_24g_device1_addr 
+041c 20600000 rtn 
 
 p_g24_data_attemp_device2:
-040c 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-040d 247a0000 nrtn blank 
-040e 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-040f 67e2462c store 4 ,mem_24g_transmitter_addr 
+041d 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+041e 247a0000 nrtn blank 
+041f 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0420 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device2_addr:
-0410 67e24634 store 4 ,mem_24g_device2_addr 
-0411 20600000 rtn 
+0421 67e24634 store 4 ,mem_24g_device2_addr 
+0422 20600000 rtn 
 
 p_g24_bind_third_step:
-0412 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-0413 203a0418 branch p_g24_bind_third_step_skip ,blank 
-0414 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0415 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-0416 98467c00 isub temp ,null 
-0417 24628000 nrtn zero 
+0423 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0424 203a0429 branch p_g24_bind_third_step_skip ,blank 
+0425 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0426 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+0427 98467c00 isub temp ,null 
+0428 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-0418 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0419 c000841c beq datatype_device1 ,p_g24_bind_third_step_device1 
-041a c0010423 beq datatype_device2 ,p_g24_bind_third_step_device2 
-041b 20600000 rtn 
+0429 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+042a c000842d beq datatype_device1 ,p_g24_bind_third_step_device1 
+042b c0010434 beq datatype_device2 ,p_g24_bind_third_step_device2 
+042c 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-041c 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-041d 247a0000 nrtn blank 
-041e 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-041f c0010421 beq 2 ,p_g24_bind_dvc1_step_success 
-0420 20600000 rtn 
+042d 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+042e 247a0000 nrtn blank 
+042f 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0430 c0010432 beq 2 ,p_g24_bind_dvc1_step_success 
+0431 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-0421 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-0422 2020336b branch g24_bind_dvc1_step_success + 1 
+0432 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0433 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0423 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0424 247a0000 nrtn blank 
-0425 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0426 c0800428 bne 0 ,p_g24_bind_dvc2_step_success 
-0427 20600000 rtn 
+0434 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0435 247a0000 nrtn blank 
+0436 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0437 c0800439 bne 0 ,p_g24_bind_dvc2_step_success 
+0438 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0428 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0429 20403393 call g24_binding_dvc2_living 
-042a 20203378 branch g24_bind_dvc2_step_success + 1 
+0439 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+043a 20403393 call g24_binding_dvc2_living 
+043b 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-042b 6fe0c616 fetch 1 ,mem_24g_work_mode 
-042c c1000000 rtneq dongle_work 
-042d 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-042e 247a0000 nrtn blank 
-042f 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-0430 247a0000 nrtn blank 
-0431 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-0432 207a0000 rtn blank 
-0433 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0434 c1800000 rtnne 0 
-0435 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0436 c1800000 rtnne 0 
-0437 20203436 branch g24_mode_switch_bind_search + 9 
+043c 6fe0c616 fetch 1 ,mem_24g_work_mode 
+043d c1000000 rtneq dongle_work 
+043e 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+043f 247a0000 nrtn blank 
+0440 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0441 247a0000 nrtn blank 
+0442 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+0443 207a0000 rtn blank 
+0444 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0445 c1800000 rtnne 0 
+0446 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0447 c1800000 rtnne 0 
+0448 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0438 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0439 c1808000 rtnne dongle_bind 
-043a 2040043c call p_g24_bind_init 
-043b 2020346d branch g24_bind_mode_auto + 4 
+0449 6fe0c616 fetch 1 ,mem_24g_work_mode 
+044a c1808000 rtnne dongle_bind 
+044b 2040044d call p_g24_bind_init 
+044c 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-043c 6fe0c615 fetch 1 ,mem_24g_mode_init 
-043d c3808000 rtnbit1 dongle_bind 
-043e 79207e01 set1 dongle_bind ,pdata 
-043f 67e0c615 store 1 ,mem_24g_mode_init 
-0440 58000000 setarg 0 
-0441 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-0442 20203307 branch g24_bind_init + 8 
+044d 6fe0c615 fetch 1 ,mem_24g_mode_init 
+044e c3808000 rtnbit1 dongle_bind 
+044f 79207e01 set1 dongle_bind ,pdata 
+0450 67e0c615 store 1 ,mem_24g_mode_init 
+0451 58000000 setarg 0 
+0452 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+0453 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-0443 70804300 jam 0 ,0x8043 
-0444 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-0445 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-0446 20407906 call usb_isr 
-0447 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0448 207a0000 rtn blank 
-0449 7008f700 jam 0 ,mem_usb0_get_set_report 
-044a 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-044b d84002a4 arg pc_set_report ,temp 
-044c 98467c00 isub temp ,null 
-044d 24628000 nrtn zero 
-044e 20200205 branch p_dongle_usb_data_received_analysis 
+0454 70804300 jam 0 ,0x8043 
+0455 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+0456 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+0457 20407906 call usb_isr 
+0458 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0459 207a0000 rtn blank 
+045a 7008f700 jam 0 ,mem_usb0_get_set_report 
+045b 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+045c d84002a4 arg pc_set_report ,temp 
+045d 98467c00 isub temp ,null 
+045e 24628000 nrtn zero 
+045f 20200205 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-044f 58000010 setarg 16 
-0450 202070c8 branch wdt_init_config 
+0460 58000010 setarg 16 
+0461 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-0451 204047c3 call dongle_default_init + 1 
-0452 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0453 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0454 7045ca01 jam on ,mem_24g_disable_fec1 
-0455 20403281 call g24_enable_1m 
-0456 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0457 c4000000 rtnbit0 dg_enable_new_revision 
-0458 7045ca01 jam on ,mem_24g_disable_fec1 
-0459 20203284 branch g24_enable_2m 
+0462 204047c3 call dongle_default_init + 1 
+0463 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0464 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0465 7045ca01 jam on ,mem_24g_disable_fec1 
+0466 20403281 call g24_enable_1m 
+0467 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0468 c4000000 rtnbit0 dg_enable_new_revision 
+0469 7045ca01 jam on ,mem_24g_disable_fec1 
+046a 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_fec1:
-045a 7858fc00 disable user7 
-045b 280ffe2f isolate1 mark_ble_lr ,mark 
-045c 2040b16f call g24_lr_receive_pdu_len ,true 
-045d 2038b18a branch g24_lr_len_error ,user7 
-045e 2040317d call g24_receive_byte 
-045f 67e0c4f7 store 1 ,mem_24g_rxbuf 
-0460 c5138465 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-0461 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
-0462 6848c589 fetcht 1 ,mem_24g_data_type 
-0463 a8400e00 icompare bits_data ,temp 
-0464 2420b18c nbranch g24_type_error ,true 
+046b 7858fc00 disable user7 
+046c 280ffe2f isolate1 mark_ble_lr ,mark 
+046d 2040b16f call g24_lr_receive_pdu_len ,true 
+046e 2038b18a branch g24_lr_len_error ,user7 
+046f 2040317d call g24_receive_byte 
+0470 67e0c4f7 store 1 ,mem_24g_rxbuf 
+0471 c5138476 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0472 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
+0473 6848c589 fetcht 1 ,mem_24g_data_type 
+0474 a8400e00 icompare bits_data ,temp 
+0475 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0465 2040317d call g24_receive_byte 
-0466 280ffe2f isolate1 mark_ble_lr ,mark 
-0467 2040b178 call g24_lr_receive_payload_len ,true 
-0468 e7e08005 istore 1 ,contw 
-0469 1fe90400 rshift3 pdata ,temp 
-046a 2feffe00 isolate1 0 ,pdata 
-046b 20408472 call p_g24_receive_payload_len_ext ,true 
-046c 18427e00 copy temp ,pdata 
-046d 1fe67c3f sub pdata ,0x3f ,null 
-046e 2421318e nbranch g24_len_over_error ,positive 
-046f 1fe27200 copy pdata ,loopcnt 
-0470 2022b154 branch g24rx_nopayload ,zero 
-0471 20203151 branch g24rx_loop 
+0476 2040317d call g24_receive_byte 
+0477 280ffe2f isolate1 mark_ble_lr ,mark 
+0478 2040b178 call g24_lr_receive_payload_len ,true 
+0479 e7e08005 istore 1 ,contw 
+047a 1fe90400 rshift3 pdata ,temp 
+047b 2feffe00 isolate1 0 ,pdata 
+047c 20408483 call p_g24_receive_payload_len_ext ,true 
+047d 18427e00 copy temp ,pdata 
+047e 1fe67c3f sub pdata ,0x3f ,null 
+047f 2421318e nbranch g24_len_over_error ,positive 
+0480 1fe27200 copy pdata ,loopcnt 
+0481 2022b154 branch g24rx_nopayload ,zero 
+0482 20203151 branch g24rx_loop 
 
 p_g24_receive_payload_len_ext:
-0472 79200405 set1 5 ,temp 
-0473 20600000 rtn 
+0483 79200405 set1 5 ,temp 
+0484 20600000 rtn 
 
 p_g24_receive_skip_end:
-0474 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0475 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0476 7837fc00 enable user3 
-0477 20000018 nop 24 
-0478 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0479 79207e00 set1 bit_ack_24g ,pdata 
-047a 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-047b 204033a5 call g24_ackpayload_prep 
-047c 204031e5 call g24_transmit_prep 
-047d 20203195 branch g24_transmit 
+0485 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0486 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+0487 7837fc00 enable user3 
+0488 20000018 nop 24 
+0489 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+048a 79207e00 set1 bit_ack_24g ,pdata 
+048b 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+048c 204033a5 call g24_ackpayload_prep 
+048d 204031e5 call g24_transmit_prep 
+048e 20203195 branch g24_transmit 
 
 p_g24_read_len_pid_crc:
-047e 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-047f 1fe90400 rshift3 pdata ,temp 
-0480 2feffe00 isolate1 0 ,pdata 
-0481 20408472 call p_g24_receive_payload_len_ext ,true 
-0482 18427e00 copy temp ,pdata 
-0483 67e0c57d store 1 ,mem_24g_rxdata_length 
-0484 1fe0fe01 increase 1 ,pdata 
-0485 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
-0486 98c08c00 iadd contr ,contr 
-0487 efe18006 ifetch 3 ,contr 
-0488 67e1c580 store 3 ,mem_24g_sta_crc 
-0489 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-048a 1fe37e00 rshift pdata ,pdata 
-048b 1fe17e03 and pdata ,0x03 ,pdata 
-048c 67e0c586 store 1 ,mem_24g_sta_pid 
-048d 20600000 rtn 
+048f 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0490 1fe90400 rshift3 pdata ,temp 
+0491 2feffe00 isolate1 0 ,pdata 
+0492 20408483 call p_g24_receive_payload_len_ext ,true 
+0493 18427e00 copy temp ,pdata 
+0494 67e0c57d store 1 ,mem_24g_rxdata_length 
+0495 1fe0fe01 increase 1 ,pdata 
+0496 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
+0497 98c08c00 iadd contr ,contr 
+0498 efe18006 ifetch 3 ,contr 
+0499 67e1c580 store 3 ,mem_24g_sta_crc 
+049a 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+049b 1fe37e00 rshift pdata ,pdata 
+049c 1fe17e03 and pdata ,0x03 ,pdata 
+049d 67e0c586 store 1 ,mem_24g_sta_pid 
+049e 20600000 rtn 
 
 p_g24_bind_data_process:
-048e 204033be call g24_rx_interrupt_clear 
-048f 20403119 call g24_receive_packet 
-0490 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-0491 20400495 call p_g24_bind_data_parse 
-0492 20400039 call p_g24_transmit_ack 
-0493 204004ab call p_g24_bind_device_status_check 
-0494 20203316 branch g24_bind_data_process + 7 
+049f 204033be call g24_rx_interrupt_clear 
+04a0 20403119 call g24_receive_packet 
+04a1 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+04a2 204004a6 call p_g24_bind_data_parse 
+04a3 20400039 call p_g24_transmit_ack 
+04a4 204004bc call p_g24_bind_device_status_check 
+04a5 20203316 branch g24_bind_data_process + 7 
 
 p_g24_bind_data_parse:
-0495 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-0496 d8c044f7 arg mem_24g_rxbuf ,contr 
-0497 d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
-0498 20407c89 call memcpy8 
-0499 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-049a c055049f beq datatype_bind ,p_g24_bind_first_step 
-049b c02a84a1 beq datatype_config ,p_g24_bind_second_step 
-049c c0110412 beq datatype_ok ,p_g24_bind_third_step 
-049d c07fb59b beq datatype_attemp ,g24_data_attemp 
-049e 20600000 rtn 
+04a6 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+04a7 d8c044f7 arg mem_24g_rxbuf ,contr 
+04a8 d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
+04a9 20407c89 call memcpy8 
+04aa 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+04ab c05504b0 beq datatype_bind ,p_g24_bind_first_step 
+04ac c02a84b2 beq datatype_config ,p_g24_bind_second_step 
+04ad c0110423 beq datatype_ok ,p_g24_bind_third_step 
+04ae c07fb59b beq datatype_attemp ,g24_data_attemp 
+04af 20600000 rtn 
 
 p_g24_bind_first_step:
-049f 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-04a0 2020332a branch g24_bind_first_step + 1 
+04b0 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04b1 2020332a branch g24_bind_first_step + 1 
 
 p_g24_bind_second_step:
-04a1 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-04a2 203a04a7 branch p_g24_bind_second_step_skip ,blank 
-04a3 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-04a4 684a44f1 fetcht 4 ,mem_24g_lap 
-04a5 98467c00 isub temp ,null 
-04a6 24628000 nrtn zero 
+04b2 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+04b3 203a04b8 branch p_g24_bind_second_step_skip ,blank 
+04b4 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+04b5 684a44f1 fetcht 4 ,mem_24g_lap 
+04b6 98467c00 isub temp ,null 
+04b7 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-04a7 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-04a8 c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
-04a9 c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
-04aa 20600000 rtn 
+04b8 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04b9 c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
+04ba c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
+04bb 20600000 rtn 
 
 p_g24_bind_device_status_check:
-04ab 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-04ac 207a0000 rtn blank 
+04bc 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+04bd 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-04ad 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-04ae c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
-04af c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
-04b0 20600000 rtn 
+04be 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04bf c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
+04c0 c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
+04c1 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(revision 3327)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(working copy)
@@ -810,7 +810,8 @@
 	rtn
 
 p_usb_tx:
-	fetch 1,mem_usb_tx_enable
+	arg mem_usb_ep2_fifo,rega
+	call fifo_is_empty
 	rtn blank
 	fetch 1,core_usb_txbusy
 	and_into 0x0f,pdata
@@ -896,6 +897,22 @@
 	branch p_dongle_g24_mouse_next
 
 p_dongle_g24_mouse_next:
+	fetch 1,mem_24g_rxdata_length
+	sub pdata,0x09,null
+	branch p_dongle_g24_mouse_data,zero
+	call p_dongle_g24_mouse_data
+	fetch 1,mem_24g_rxdata_length
+	add pdata,-8,pdata
+	store 1,mem_24g_rxdata_length
+	copy pdata,loopcnt
+	arg mem_24g_rxdata_temp_new+2,contw
+	arg mem_24g_rxdata_temp_new+10,contr
+	call memcpy
+	fetch 1,mem_24g_rxdata_temp_new+2
+	bbit1 DATATYPE_AUTHCA,p_dongle_g24_mouse_authca_data
+	bbit1 DATATYPE_PROTOCOL,p_g24_data_receive_protocol_data
+	rtn
+p_dongle_g24_mouse_data:	
 	setarg MS_REPORT_ID
 	store 1,mem_usb_mouse_data	//report id
 	fetch 7,mem_24g_rxdata_temp_new+3	//key
@@ -904,7 +921,8 @@
 	ncall dongle_g24_ms_enable_blank_data_forcibly,blank//get kb data
 	fetch 1,mem_24g_rxdata_temp_new+3	//key
 	call dongle_g24_ms_disable_blank_data_forcibly,blank
-	branch dongle_usb_tx_ms_data
+	jam USB_EP2_MS,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
 
 p_dongle_g24_mouse_heart_data:
 	fetch 1,mem_dongle_usb_ep2_data_flag
@@ -1002,7 +1020,7 @@
 	arg mem_usb_protocol_data_sta,contw
 	call memcpy
 	jam USB_EP2_PROTOCOL,mem_usb_ep2_data
-	branch dongle_usb_tx_enable_ep2
+	branch p_dongle_usb_tx_enable_ep2
 
 
 p_dongle_usb_tx_audio_data:	// all length 1B + IN_DATA_ID 1B + payload length 1B + payload N*B
@@ -1015,7 +1033,7 @@
 	arg mem_usb_audio_data_sta,contw					//mem_usb0_get_report_data a1 02 02 00
 	call memcpy
 	jam USB_EP2_AUDIO,mem_usb_ep2_data
-	branch dongle_usb_tx_enable_ep2
+	branch p_dongle_usb_tx_enable_ep2
 
 
 p_dongle_usb_tx_authca_data:
@@ -1033,13 +1051,22 @@
 	call memcpy
 
 	jam USB_EP2_AUTHCA,mem_usb_ep2_data
-	branch dongle_usb_tx_enable_ep2
+	branch p_dongle_usb_tx_enable_ep2
 	// copy pdata,loopcnt
 	// arg mem_usb_authca_data+1,contr
 	// arg mem_usb0_get_report_data,contw
 	// call memcpy
 	// branch p_usb_get_report_enable
 	//branch p_usb_get_report_data_self
+
+// 
+p_dongle_usb_tx_enable_ep2:
+	fetch 1,mem_usb_ep2_data
+	store 1,mem_fifo_temp
+	arg mem_usb_ep2_fifo,rega
+	branch fifo_in
+	
+	
 p_dongle_g24_keyboard:
 	fetch 1,mem_24g_rxdata_temp_new+2
 	bbit1 DATATYPE_AUDIO,p_dongle_g24_mouse_audio_data		//reserve
@@ -1106,13 +1133,10 @@
 	fetch 1,core_usb_txbusy
 	and_into 0x0f,pdata
 	nrtn blank
-	fetch 1,mem_usb_tx_enable
-	rtnbit0 2
-	fetch 1,mem_usb_tx_enable
-	set0 2,pdata
-	store 1,mem_usb_tx_enable
-	fetch 1,mem_usb_ep2_data
+	arg mem_usb_ep2_fifo,rega
+	call fifo_out
 	rtn blank
+
 	beq USB_EP2_MS,usb_tx_ms_data
 	beq USB_EP2_AUTHCA,p_usb_tx_authca_data
 	beq USB_EP2_MULTIKEY,usb_tx_kb_multikey_data
