Index: output/eeprom.dat
===================================================================
--- /YC1308AF/branch/usb/USB-1303-F-64K-1M/output/eeprom.dat	(revision 2172)
+++ /YC1308AF/branch/usb/USB-1303-F-64K-1M/output/eeprom.dat	(working copy)
@@ -2,44 +2,48 @@
 02
 aa
 55
-ee
-04
+a2
+05
 c2
 84
 00
-0a
+0b
+c0
+00
+00
+12
 c0
 41
 80
-21
+26
 c0
 42
 80
-28
+2d
 c0
 45
 00
-36
+3b
 c0
 45
 80
-3c
+41
 c0
 46
 00
-a4
+a9
 c0
 56
 80
-11
+16
 c0
 5d
 01
-39
+66
 c0
 5d
 80
-74
+79
 20
 20
 13
@@ -47,35 +51,51 @@
 c0
 46
 00
-bf
+c4
 c0
 47
 00
-c3
+c8
 c0
 49
 80
-e0
+e5
 c0
 53
 80
-b9
+be
 c0
 72
 00
-f7
+fc
 c0
 73
 00
-47
+4c
 20
 20
 13
 7e
+20
+80
+00
+00
+20
+40
+31
+66
+70
+48
+80
+9e
+20
+20
+08
+04
 58
 00
 00
-14
+19
 67
 e1
 48
@@ -91,7 +111,7 @@
 c0
 00
 00
-19
+1e
 c0
 00
 b6
@@ -99,7 +119,7 @@
 c0
 07
 80
-95
+9a
 20
 60
 00
@@ -115,7 +135,7 @@
 20
 40
 00
-5a
+5f
 20
 40
 37
@@ -135,7 +155,7 @@
 20
 20
 00
-1a
+1f
 70
 89
 00
@@ -171,7 +191,7 @@
 24
 3a
 00
-31
+36
 20
 40
 4d
@@ -227,7 +247,7 @@
 24
 3a
 00
-39
+3e
 20
 20
 12
@@ -279,7 +299,7 @@
 20
 20
 00
-99
+9e
 58
 00
 00
@@ -303,7 +323,7 @@
 20
 40
 00
-4c
+51
 20
 20
 24
@@ -327,7 +347,7 @@
 20
 40
 00
-52
+57
 20
 20
 23
@@ -478,12 +498,12 @@
 00
 20
 40
-24
-97
+01
+3e
 20
 40
 00
-79
+7e
 20
 20
 37
@@ -495,11 +515,11 @@
 20
 40
 00
-7c
+81
 20
 20
 00
-88
+8d
 6f
 e0
 c9
@@ -615,7 +635,7 @@
 20
 20
 00
-96
+9b
 6f
 e0
 c8
@@ -623,7 +643,7 @@
 c0
 07
 80
-9d
+a2
 70
 49
 40
@@ -707,7 +727,7 @@
 20
 40
 00
-9f
+a4
 1f
 e6
 7e
@@ -731,7 +751,7 @@
 24
 20
 80
-b7
+bc
 58
 00
 00
@@ -799,11 +819,11 @@
 c0
 40
 00
-c9
+ce
 c0
 00
 00
-d5
+da
 20
 20
 13
@@ -831,7 +851,7 @@
 c0
 00
 80
-d0
+d5
 20
 20
 7a
@@ -847,7 +867,7 @@
 c0
 00
 80
-d4
+d9
 20
 20
 7a
@@ -875,7 +895,7 @@
 c0
 00
 80
-db
+e0
 20
 20
 7a
@@ -887,7 +907,7 @@
 c0
 04
 80
-de
+e3
 20
 20
 7a
@@ -998,20 +1018,20 @@
 97
 c0
 55
-00
-fd
+01
+02
 c0
 2a
 81
-07
+0c
 c0
 11
 01
-17
+1c
 c0
 7f
 81
-2f
+34
 20
 60
 00
@@ -1023,11 +1043,11 @@
 c0
 00
 81
-01
+06
 c0
 01
 01
-04
+09
 20
 60
 00
@@ -1063,7 +1083,7 @@
 20
 3a
 01
-0d
+12
 6f
 e2
 48
@@ -1087,11 +1107,11 @@
 c0
 00
 81
-11
+16
 c0
 01
 01
-14
+19
 20
 60
 00
@@ -1127,7 +1147,7 @@
 20
 3a
 01
-1d
+22
 6f
 e2
 48
@@ -1151,11 +1171,11 @@
 c0
 00
 81
-21
+26
 c0
 01
 01
-28
+2d
 20
 60
 00
@@ -1175,7 +1195,7 @@
 c0
 01
 01
-26
+2b
 20
 60
 00
@@ -1203,7 +1223,7 @@
 c0
 80
 01
-2d
+32
 20
 60
 00
@@ -1223,11 +1243,11 @@
 c0
 00
 81
-33
+38
 c0
 01
 01
-36
+3b
 20
 60
 00
@@ -1247,7 +1267,7 @@
 6f
 e0
 c9
-41
+42
 24
 7a
 00
@@ -1256,23 +1276,183 @@
 20
 25
 c6
+6f
+e0
+c8
+c3
+c1
+80
+00
+00
+20
+40
+24
+85
 20
 40
+25
+47
+20
+20
+01
+43
+20
+40
+24
+29
+24
+37
+a3
+fa
+20
+40
+24
+1b
+24
+34
+23
+fa
+6f
+e0
+c8
+2d
+20
+3a
+23
+fa
+1f
+e0
+fe
+02
+98
 00
-45
+72
+00
+d8
+c0
+47
+a7
+d8
+a0
+48
+95
+20
+40
+7d
+d4
+70
+48
+c0
+00
+6f
+e0
+c8
+bd
+20
+5a
+24
+36
+6f
+e0
+c8
+97
+c0
+00
+81
+56
+c0
+01
+24
+0e
+c0
+7f
+81
+64
+20
+20
+23
+fa
+20
+40
+23
+ca
+20
+40
+25
+5c
+6f
+e0
+c8
+b7
+68
+48
+c8
+95
+28
+4f
+fe
+03
+79
+20
+fe
+00
+67
+e0
+c8
+b7
+c0
+00
+81
+5f
+20
+20
+24
+07
+6f
+e0
+c9
+41
+24
+7a
+00
+00
+70
+49
+41
+01
+6f
+e2
+48
+9f
+20
+20
+25
+c4
+20
+40
+23
+d8
+20
+20
+01
+34
+20
+40
+00
+4a
 20
 20
 37
 30
-5c
-18
+b9
+bb
 aa
 55
 40
 00
 00
 40
-00
+01
 00
 00
 00
@@ -1415,190 +1595,10 @@
 aa
 aa
 55
-35
+36
 15
-ba
-b6
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+46
+ca
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-43
-3e
+07
+bf
Index: output/program.lis
===================================================================
--- /YC1308AF/branch/usb/USB-1303-F-64K-1M/output/program.lis	(revision 2172)
+++ /YC1308AF/branch/usb/USB-1303-F-64K-1M/output/program.lis	(working copy)
@@ -1,438 +1,497 @@
               include "bt_format "
               org 0x0000
-0000 c284000a bbit1 8 ,pf_patch_ext 
-0001 c0418021 beq patch10_3 ,p_set_sync_on 
-0002 c0428028 beq patch10_5 ,p_rf_rx_enable 
-0003 c0450036 beq patch11_2 ,p_txon_next 
-0004 c045803c beq patch11_3 ,p_initialize_radio_cont 
-0005 c04600a4 beq patch11_4 ,p_save_rssi 
-0006 c0568011 beq patch15_5 ,p_app_init 
-0007 c05d0139 beq patch17_2 ,p_dongle_usb_dispatch 
-0008 c05d8074 beq patch17_3 ,p_dongle_work_mode_auto 
-0009 2020137e branch loop 
+0000 c284000b bbit1 8 ,pf_patch_ext 
+0001 c0000012 beq patch00_0 ,p_soft_reset 
+0002 c0418026 beq patch10_3 ,p_set_sync_on 
+0003 c042802d beq patch10_5 ,p_rf_rx_enable 
+0004 c045003b beq patch11_2 ,p_txon_next 
+0005 c0458041 beq patch11_3 ,p_initialize_radio_cont 
+0006 c04600a9 beq patch11_4 ,p_save_rssi 
+0007 c0568016 beq patch15_5 ,p_app_init 
+0008 c05d0166 beq patch17_2 ,p_dongle_usb_dispatch 
+0009 c05d8079 beq patch17_3 ,p_dongle_work_mode_auto 
+000a 2020137e branch loop 
 
 pf_patch_ext:
-000a c04600bf beq patch31_4 ,p_usb_init 
-000b c04700c3 beq patch31_6 ,p_usb_class_type 
-000c c04980e0 beq patch32_3 ,p_usb_tx 
-000d c05380b9 beq patch34_7 ,p_le_enable 
-000e c07200f7 beq patch3c_4 ,p_g24_bind_data_parse_next 
-000f c0730047 beq patch3c_6 ,p_g24_bind_mode_auto 
-0010 2020137e branch loop 
+000b c04600c4 beq patch31_4 ,p_usb_init 
+000c c04700c8 beq patch31_6 ,p_usb_class_type 
+000d c04980e5 beq patch32_3 ,p_usb_tx 
+000e c05380be beq patch34_7 ,p_le_enable 
+000f c07200fc beq patch3c_4 ,p_g24_bind_data_parse_next 
+0010 c073004c beq patch3c_6 ,p_g24_bind_mode_auto 
+0011 2020137e branch loop 
+
+p_soft_reset:
+0012 20800000 clear_stack 
+0013 20403166 call app_param_init 
+0014 7048809e jam tx_power_f30db ,mem_24g_pair_tx_power 
+0015 20200804 branch soft_reset + 3 
 
 p_app_init:
 
 p_dongle_init:
-0011 58000014 setarg p_dongle_dispatch 
-0012 67e1488d store 2 ,mem_cb_24g_receive_process 
-0013 2020369c branch dongle_init + 2 
+0016 58000019 setarg p_dongle_dispatch 
+0017 67e1488d store 2 ,mem_cb_24g_receive_process 
+0018 2020369c branch dongle_init + 2 
 
 p_dongle_dispatch:
-0014 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
-0015 c0000019 beq 0x00 ,p_dongle_auto_bind 
-0016 c000b6fd beq 0x01 ,dongle_pc_bind 
-0017 c0078095 beq 0x0f ,p_dongle_all_powerful 
-0018 20600000 rtn 
+0019 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
+001a c000001e beq 0x00 ,p_dongle_auto_bind 
+001b c000b6fd beq 0x01 ,dongle_pc_bind 
+001c c007809a beq 0x0f ,p_dongle_all_powerful 
+001d 20600000 rtn 
 
 p_dongle_auto_bind:
-0019 2040243a call g24_mode_switch_init 
+001e 2040243a call g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-001a 2040243e call g24_mode_switch_bind_work 
-001b 2040005a call p_g24_mode_switch_bind_search 
-001c 2040376b call dongle_work_mode_auto 
-001d 2040249c call g24_bind_mode_auto 
-001e 204024b9 call g24_search_mode_auto 
-001f 2040372f call dongle_usb_dispatch 
-0020 2020001a branch p_dongle_auto_bind_loop 
+001f 2040243e call g24_mode_switch_bind_work 
+0020 2040005f call p_g24_mode_switch_bind_search 
+0021 2040376b call dongle_work_mode_auto 
+0022 2040249c call g24_bind_mode_auto 
+0023 204024b9 call g24_search_mode_auto 
+0024 2040372f call dongle_usb_dispatch 
+0025 2020001f branch p_dongle_auto_bind_loop 
 
 p_set_sync_on:
-0021 70890005 jam 0x5 ,modem_en 
-0022 20000002 nop 2 
-0023 70890000 jam 0x0 ,modem_en 
-0024 6fe0c0c5 fetch 1 ,mem_fcomp_div 
-0025 c0841164 bne xtal_16m ,set_sync_on_24m 
+0026 70890005 jam 0x5 ,modem_en 
+0027 20000002 nop 2 
+0028 70890000 jam 0x0 ,modem_en 
+0029 6fe0c0c5 fetch 1 ,mem_fcomp_div 
+002a c0841164 bne xtal_16m ,set_sync_on_24m 
 
 p_set_sync_on_16m:
-0026 708a8729 jam 0x29 ,core_syn_afc_cfg1 
-0027 20201179 branch set_sync_on_16m 
+002b 708a8729 jam 0x29 ,core_syn_afc_cfg1 
+002c 20201179 branch set_sync_on_16m 
 
 p_rf_rx_enable:
-0028 6fe0c940 fetch 1 ,mem_soft_agc_en 
-0029 243a0031 nbranch p_rf_rx_enable_soft_agc ,blank 
-002a 20404d05 call rf_debug_rx_gpio_high 
-002b d8c041eb arg mem_gain_table ,contr 
-002c 98c08c00 iadd contr ,contr 
-002d efe08006 ifetch 1 ,contr 
-002e 67f08961 store 1 ,core_rf_rx_gain_fix 
-002f 7089602e jam 0x2e ,core_rf_rx_agc_ctrl 
-0030 202011af branch rf_rx_enable_no_soft_agc_next 
+002d 6fe0c940 fetch 1 ,mem_soft_agc_en 
+002e 243a0036 nbranch p_rf_rx_enable_soft_agc ,blank 
+002f 20404d05 call rf_debug_rx_gpio_high 
+0030 d8c041eb arg mem_gain_table ,contr 
+0031 98c08c00 iadd contr ,contr 
+0032 efe08006 ifetch 1 ,contr 
+0033 67f08961 store 1 ,core_rf_rx_gain_fix 
+0034 7089602e jam 0x2e ,core_rf_rx_agc_ctrl 
+0035 202011af branch rf_rx_enable_no_soft_agc_next 
 
 p_rf_rx_enable_soft_agc:
-0031 6ff08960 fetch 1 ,core_rf_rx_agc_ctrl 
-0032 1fe1fe01 or pdata ,0x01 ,pdata 
-0033 67f08960 store 1 ,core_rf_rx_agc_ctrl 
-0034 70896108 jam 0x08 ,core_rf_rx_gain_fix 
-0035 202011af branch rf_rx_enable_no_soft_agc_next 
+0036 6ff08960 fetch 1 ,core_rf_rx_agc_ctrl 
+0037 1fe1fe01 or pdata ,0x01 ,pdata 
+0038 67f08960 store 1 ,core_rf_rx_agc_ctrl 
+0039 70896108 jam 0x08 ,core_rf_rx_gain_fix 
+003a 202011af branch rf_rx_enable_no_soft_agc_next 
 
 p_txon_next:
-0036 6fe0c940 fetch 1 ,mem_soft_agc_en 
-0037 243a0039 nbranch p_set_tx_power_f20db ,blank 
-0038 20201237 branch set_tx_power_10db 
+003b 6fe0c940 fetch 1 ,mem_soft_agc_en 
+003c 243a003e nbranch p_set_tx_power_f20db ,blank 
+003d 20201237 branch set_tx_power_10db 
 
 p_set_tx_power_f20db:
-0039 708a3953 jam 0x53 ,core_tx_pwr_ctrl0 
-003a 708a3a01 jam 0x01 ,core_tx_pwr_ctrl1 
-003b 20201226 branch set_rf_ldo_cfg89 
+003e 708a3953 jam 0x53 ,core_tx_pwr_ctrl0 
+003f 708a3a01 jam 0x01 ,core_tx_pwr_ctrl1 
+0040 20201226 branch set_rf_ldo_cfg89 
 
 p_initialize_radio_cont:
-003c 7041eaff jam 0xff ,mem_gain_fix 
-003d 708a8500 jam 0x00 ,core_syn_loopdiv_dsm_cfg 
-003e 70892140 jam 0x40 ,0x8921 
-003f 70486701 jam 0x01 ,mem_24g_rx_phy 
-0040 70486801 jam 0x01 ,mem_24g_tx_phy 
-0041 70487a00 jam 0x00 ,mem_24g_disable_fec1 
-0042 7048bc1e jam 0x1e ,mem_24g_hop_interval 
-0043 20401252 call initialize_radio_cont + 1 
-0044 20200099 branch p_g24_fast_conn_mode_check 
+0041 7041eaff jam 0xff ,mem_gain_fix 
+0042 708a8500 jam 0x00 ,core_syn_loopdiv_dsm_cfg 
+0043 70892140 jam 0x40 ,0x8921 
+0044 70486701 jam 0x01 ,mem_24g_rx_phy 
+0045 70486801 jam 0x01 ,mem_24g_tx_phy 
+0046 70487a00 jam 0x00 ,mem_24g_disable_fec1 
+0047 7048bc1e jam 0x1e ,mem_24g_hop_interval 
+0048 20401252 call initialize_radio_cont + 1 
+0049 2020009e branch p_g24_fast_conn_mode_check 
 
 p_wdt_kick:
-0045 5800007d setarg 125 
-0046 20206295 branch wdt_init_config 
+004a 5800007d setarg 125 
+004b 20206295 branch wdt_init_config 
 
 p_g24_bind_mode_auto:
-0047 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
-0048 c1808000 rtnne dongle_bind 
-0049 2040234b call g24_bind_init 
-004a 2040004c call p_g24_bind_data_process 
-004b 202024a1 branch g24_bind_mode_auto + 5 
+004c 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
+004d c1808000 rtnne dongle_bind 
+004e 2040234b call g24_bind_init 
+004f 20400051 call p_g24_bind_data_process 
+0050 202024a1 branch g24_bind_mode_auto + 5 
 
 p_g24_bind_data_process:
-004c 204023fa call g24_rx_interrupt_clear 
-004d 20402187 call g24_receive_packet 
-004e 2437a3fa nbranch g24_rx_interrupt_clear ,user3 
-004f 20402367 call g24_bind_data_parse 
-0050 20400052 call p_g24_bind_transmit_ack 
-0051 2020235e branch g24_bind_data_process + 5 
+0051 204023fa call g24_rx_interrupt_clear 
+0052 20402187 call g24_receive_packet 
+0053 2437a3fa nbranch g24_rx_interrupt_clear ,user3 
+0054 20402367 call g24_bind_data_parse 
+0055 20400057 call p_g24_bind_transmit_ack 
+0056 2020235e branch g24_bind_data_process + 5 
 
 p_g24_bind_transmit_ack:
-0052 6fe0c7a7 fetch 1 ,mem_24g_rxbuf 
-0053 67e0c839 store 1 ,mem_24g_data_type 
-0054 20402274 call g24_read_len_pid_crc 
-0055 204023e3 call g24_ackpayload_prep 
-0056 2437a1f1 nbranch g24_end_of_packet ,user3 
-0057 20402247 call g24_transmit_prep 
-0058 204021f8 call g24_transmit 
-0059 202021f1 branch g24_end_of_packet 
+0057 6fe0c7a7 fetch 1 ,mem_24g_rxbuf 
+0058 67e0c839 store 1 ,mem_24g_data_type 
+0059 20402274 call g24_read_len_pid_crc 
+005a 204023e3 call g24_ackpayload_prep 
+005b 2437a1f1 nbranch g24_end_of_packet ,user3 
+005c 20402247 call g24_transmit_prep 
+005d 204021f8 call g24_transmit 
+005e 202021f1 branch g24_end_of_packet 
 
 p_g24_mode_switch_bind_search:
-005a 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
-005b c1000000 rtneq dongle_work 
-005c 6fe0c8d7 fetch 1 ,mem_24g_b_s_mode_switch_disable 
-005d 247a0000 nrtn blank 
-005e 6fe0c8d5 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-005f 247a0000 nrtn blank 
-0060 6fe0c8d1 fetch 1 ,mem_24g_mode_b_s_switch 
-0061 207a0000 rtn blank 
-0062 6fe0c8d8 fetch 1 ,mem_24g_bind_device_living 
-0063 2fe00603 compare 3 ,pdata ,3 
-0064 2020a47f branch g24_mode_b_s_switch_exit ,true 
-0065 204022a0 call g24_timer_check 
-0066 24740000 nrtn user 
-0067 6fe148d3 fetch 2 ,mem_24g_mode_b_s_switch_cnt 
-0068 1fe0fe01 increase 1 ,pdata 
-0069 67e148d3 store 2 ,mem_24g_mode_b_s_switch_cnt 
-006a d84007d0 arg 0x7d0 ,temp 
-006b 98467c00 isub temp ,null 
-006c 2021247f branch g24_mode_b_s_switch_exit ,positive 
-006d 6fe0c8d6 fetch 1 ,mem_24g_b_s_time_slice 
-006e 1fe0fe01 increase 1 ,pdata 
-006f 1fe17e01 and_into 1 ,pdata 
-0070 67e0c8d6 store 1 ,mem_24g_b_s_time_slice 
-0071 c0002544 beq 0 ,g24_search_mode_enable 
-0072 c000a348 beq 1 ,g24_bind_mode_enable 
-0073 20600000 rtn 
+005f 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
+0060 c1000000 rtneq dongle_work 
+0061 6fe0c8d7 fetch 1 ,mem_24g_b_s_mode_switch_disable 
+0062 247a0000 nrtn blank 
+0063 6fe0c8d5 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0064 247a0000 nrtn blank 
+0065 6fe0c8d1 fetch 1 ,mem_24g_mode_b_s_switch 
+0066 207a0000 rtn blank 
+0067 6fe0c8d8 fetch 1 ,mem_24g_bind_device_living 
+0068 2fe00603 compare 3 ,pdata ,3 
+0069 2020a47f branch g24_mode_b_s_switch_exit ,true 
+006a 204022a0 call g24_timer_check 
+006b 24740000 nrtn user 
+006c 6fe148d3 fetch 2 ,mem_24g_mode_b_s_switch_cnt 
+006d 1fe0fe01 increase 1 ,pdata 
+006e 67e148d3 store 2 ,mem_24g_mode_b_s_switch_cnt 
+006f d84007d0 arg 0x7d0 ,temp 
+0070 98467c00 isub temp ,null 
+0071 2021247f branch g24_mode_b_s_switch_exit ,positive 
+0072 6fe0c8d6 fetch 1 ,mem_24g_b_s_time_slice 
+0073 1fe0fe01 increase 1 ,pdata 
+0074 1fe17e01 and_into 1 ,pdata 
+0075 67e0c8d6 store 1 ,mem_24g_b_s_time_slice 
+0076 c0002544 beq 0 ,g24_search_mode_enable 
+0077 c000a348 beq 1 ,g24_bind_mode_enable 
+0078 20600000 rtn 
 
 p_dongle_work_mode_auto:
-0074 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
-0075 c1800000 rtnne dongle_work 
-0076 20402497 call g24_work_mode_start 
-0077 20400079 call p_dongle_g24_blank_data_process 
-0078 20203770 branch dongle_work_mode_auto + 5 
+0079 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
+007a c1800000 rtnne dongle_work 
+007b 2040013e call p_g24_work_mode_start 
+007c 2040007e call p_dongle_g24_blank_data_process 
+007d 20203770 branch dongle_work_mode_auto + 5 
 
 p_dongle_g24_blank_data_process:
-0079 20403705 call dongle_g24_ms_blank_data 
-007a 2040007c call p_dongle_g24_kb_blank_data 
-007b 20200088 branch p_dongle_g24_kb_mul_blank_data 
+007e 20403705 call dongle_g24_ms_blank_data 
+007f 20400081 call p_dongle_g24_kb_blank_data 
+0080 2020008d branch p_dongle_g24_kb_mul_blank_data 
 
 p_dongle_g24_kb_blank_data:
-007c 6fe0c912 fetch 1 ,mem_dg_kb_blank_data_enable 
-007d 207a0000 rtn blank 
-007e d8e0000e arg timer_kb_blank ,queue 
-007f 20407de9 call timer_check 
-0080 247a0000 nrtn blank 
-0081 70491200 jam 0 ,mem_dg_kb_blank_data_enable 
-0082 d8a00c0f arg mem_usb_kb_data ,contw 
-0083 df200002 arg 2 ,loopcnt 
-0084 20407d8c call memset0 
-0085 6fe40c0f fetch 8 ,mem_usb_kb_data 
-0086 67e448fe store 8 ,mem_dg_kb_data_last_data 
-0087 2020371d branch dongle_usb_tx_kb_data 
+0081 6fe0c912 fetch 1 ,mem_dg_kb_blank_data_enable 
+0082 207a0000 rtn blank 
+0083 d8e0000e arg timer_kb_blank ,queue 
+0084 20407de9 call timer_check 
+0085 247a0000 nrtn blank 
+0086 70491200 jam 0 ,mem_dg_kb_blank_data_enable 
+0087 d8a00c0f arg mem_usb_kb_data ,contw 
+0088 df200002 arg 2 ,loopcnt 
+0089 20407d8c call memset0 
+008a 6fe40c0f fetch 8 ,mem_usb_kb_data 
+008b 67e448fe store 8 ,mem_dg_kb_data_last_data 
+008c 2020371d branch dongle_usb_tx_kb_data 
 
 p_dongle_g24_kb_mul_blank_data:
-0088 6fe0c913 fetch 1 ,mem_dg_kb_mul_blank_data_enable 
-0089 207a0000 rtn blank 
-008a d8e0000c arg timer_kb_mul_blank ,queue 
-008b 20407de9 call timer_check 
-008c 247a0000 nrtn blank 
-008d 70491300 jam 0 ,mem_dg_kb_mul_blank_data_enable 
-008e d8a00c1f arg mem_usb_kb_multikey ,contw 
-008f df200002 arg 2 ,loopcnt 
-0090 20407d8c call memset0 
-0091 700c1f03 jam kb_multikey_report_id ,mem_usb_kb_multikey 
-0092 6fe18c1f fetch 3 ,mem_usb_kb_multikey 
-0093 67e1c909 store 3 ,mem_dg_kb_multikey_last_data 
-0094 2020372d branch dongle_usb_tx_multikey_data 
+008d 6fe0c913 fetch 1 ,mem_dg_kb_mul_blank_data_enable 
+008e 207a0000 rtn blank 
+008f d8e0000c arg timer_kb_mul_blank ,queue 
+0090 20407de9 call timer_check 
+0091 247a0000 nrtn blank 
+0092 70491300 jam 0 ,mem_dg_kb_mul_blank_data_enable 
+0093 d8a00c1f arg mem_usb_kb_multikey ,contw 
+0094 df200002 arg 2 ,loopcnt 
+0095 20407d8c call memset0 
+0096 700c1f03 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+0097 6fe18c1f fetch 3 ,mem_usb_kb_multikey 
+0098 67e1c909 store 3 ,mem_dg_kb_multikey_last_data 
+0099 2020372d branch dongle_usb_tx_multikey_data 
 
 p_dongle_all_powerful:
-0095 20402493 call g24_switch_work_mode 
+009a 20402493 call g24_switch_work_mode 
 
 p_dongle_all_powerful_loop:
-0096 2040376b call dongle_work_mode_auto 
-0097 2040372f call dongle_usb_dispatch 
-0098 20200096 branch p_dongle_all_powerful_loop 
+009b 2040376b call dongle_work_mode_auto 
+009c 2040372f call dongle_usb_dispatch 
+009d 2020009b branch p_dongle_all_powerful_loop 
 
 p_g24_fast_conn_mode_check:
-0099 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
-009a c007809d beq 0x0f ,p_soft_agc_en_true 
+009e 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
+009f c00780a2 beq 0x0f ,p_soft_agc_en_true 
 
 p_soft_agc_en_false:
-009b 70494000 jam 0 ,mem_soft_agc_en 
-009c 20600000 rtn 
+00a0 70494000 jam 0 ,mem_soft_agc_en 
+00a1 20600000 rtn 
 
 p_soft_agc_en_true:
-009d 70494001 jam 1 ,mem_soft_agc_en 
-009e 20600000 rtn 
+00a2 70494001 jam 1 ,mem_soft_agc_en 
+00a3 20600000 rtn 
 
 p_byte_sign_extern:
-009f 2feffe07 isolate1 7 ,pdata 
-00a0 24608000 nrtn true 
-00a1 d840ff00 arg 0xff00 ,temp 
-00a2 9841fe00 ior temp ,pdata 
-00a3 20600000 rtn 
+00a4 2feffe07 isolate1 7 ,pdata 
+00a5 24608000 nrtn true 
+00a6 d840ff00 arg 0xff00 ,temp 
+00a7 9841fe00 ior temp ,pdata 
+00a8 20600000 rtn 
 
 p_save_rssi:
-00a4 6ff089a2 fetch 1 ,modem_nb_pow 
-00a5 2feffe06 isolate1 6 ,pdata 
-00a6 7920fe07 setflag true ,7 ,pdata 
-00a7 67e0c1e9 store 1 ,mem_modem_rssi 
-00a8 6ff089a3 fetch 1 ,modem_gain 
-00a9 1fe1040f and pdata ,0x0f ,temp 
-00aa 18438400 lshift temp ,temp 
-00ab 1ff1fe00 rshift4 pdata ,pdata 
-00ac 98408400 iadd temp ,temp 
-00ad 184fa203 mul32 temp ,3 ,rega 
-00ae 6fe0c1e9 fetch 1 ,mem_modem_rssi 
-00af 2040009f call p_byte_sign_extern 
-00b0 1fe67e00 sub pdata ,0 ,pdata 
-00b1 9a20fe00 iadd rega ,pdata 
-00b2 1fe0fff7 increase -9 ,pdata 
-00b3 1fe17fff and pdata ,0x1ff ,pdata 
-00b4 2feffe08 isolate1 8 ,pdata 
-00b5 242080b7 nbranch p_save_rssi_store ,true 
-00b6 58000000 setarg 0 
+00a9 6ff089a2 fetch 1 ,modem_nb_pow 
+00aa 2feffe06 isolate1 6 ,pdata 
+00ab 7920fe07 setflag true ,7 ,pdata 
+00ac 67e0c1e9 store 1 ,mem_modem_rssi 
+00ad 6ff089a3 fetch 1 ,modem_gain 
+00ae 1fe1040f and pdata ,0x0f ,temp 
+00af 18438400 lshift temp ,temp 
+00b0 1ff1fe00 rshift4 pdata ,pdata 
+00b1 98408400 iadd temp ,temp 
+00b2 184fa203 mul32 temp ,3 ,rega 
+00b3 6fe0c1e9 fetch 1 ,mem_modem_rssi 
+00b4 204000a4 call p_byte_sign_extern 
+00b5 1fe67e00 sub pdata ,0 ,pdata 
+00b6 9a20fe00 iadd rega ,pdata 
+00b7 1fe0fff7 increase -9 ,pdata 
+00b8 1fe17fff and pdata ,0x1ff ,pdata 
+00b9 2feffe08 isolate1 8 ,pdata 
+00ba 242080bc nbranch p_save_rssi_store ,true 
+00bb 58000000 setarg 0 
 
 p_save_rssi_store:
-00b7 67e08154 store 1 ,mem_rssi_hex 
-00b8 20201293 branch rssi_hex2dec 
+00bc 67e08154 store 1 ,mem_rssi_hex 
+00bd 20201293 branch rssi_hex2dec 
 
 p_le_enable:
-00b9 20401652 call le_enable + 1 
-00ba 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
-00bb 6ff08a43 fetch 1 ,core_syn_cal_ctrl 
-00bc 1fe1fe0f or pdata ,0x0f ,pdata 
-00bd 67f08a43 store 1 ,core_syn_cal_ctrl 
-00be 20600000 rtn 
+00be 20401652 call le_enable + 1 
+00bf 708a6d89 jam 0x89 ,core_rx_bq_cfg0 
+00c0 6ff08a43 fetch 1 ,core_syn_cal_ctrl 
+00c1 1fe1fe0f or pdata ,0x0f ,pdata 
+00c2 67f08a43 store 1 ,core_syn_cal_ctrl 
+00c3 20600000 rtn 
 
 p_usb_init:
-00bf 20406e5e call enable_authrom 
-00c0 20407a27 call usb_init_param 
-00c1 700aa803 jam 0x03 ,mem_devicedesc + 17 
-00c2 20207a0b branch usb_init_next 
+00c4 20406e5e call enable_authrom 
+00c5 20407a27 call usb_init_param 
+00c6 700aa803 jam 0x03 ,mem_devicedesc + 17 
+00c7 20207a0b branch usb_init_next 
 
 p_usb_class_type:
-00c3 793f8023 set0 mark_isstr ,mark 
-00c4 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
-00c5 1fe17e80 and_into 0x80 ,pdata 
-00c6 c04000c9 beq in_device ,p_usb_in_device 
-00c7 c00000d5 beq out_device ,p_usb_out_device 
-00c8 2020137c branch assert 
+00c8 793f8023 set0 mark_isstr ,mark 
+00c9 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
+00ca 1fe17e80 and_into 0x80 ,pdata 
+00cb c04000ce beq in_device ,p_usb_in_device 
+00cc c00000da beq out_device ,p_usb_out_device 
+00cd 2020137c branch assert 
 
 p_usb_in_device:
-00c9 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
-00ca 1ff1fe00 rshift4 pdata ,pdata 
-00cb 1fe37e00 rshift pdata ,pdata 
-00cc 1fe17e03 and_into 0x03 ,pdata 
-00cd c0007ab8 beq standard_req ,usb_in_standard_req 
-00ce c00080d0 beq class_req ,p_usb_in_class_req 
-00cf 20207aae branch usb_in_device + 6 
+00ce 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
+00cf 1ff1fe00 rshift4 pdata ,pdata 
+00d0 1fe37e00 rshift pdata ,pdata 
+00d1 1fe17e03 and_into 0x03 ,pdata 
+00d2 c0007ab8 beq standard_req ,usb_in_standard_req 
+00d3 c00080d5 beq class_req ,p_usb_in_class_req 
+00d4 20207aae branch usb_in_device + 6 
 
 p_usb_in_class_req:
-00d0 6fe08b5a fetch 1 ,mem_usb_setup_brequest 
-00d1 c0017b7a beq get_idle ,usb_get_idle 
-00d2 c00080d4 beq get_report ,p_usb_get_report 
-00d3 20207ac1 branch usb_in_class_req + 3 
+00d5 6fe08b5a fetch 1 ,mem_usb_setup_brequest 
+00d6 c0017b7a beq get_idle ,usb_get_idle 
+00d7 c00080d9 beq get_report ,p_usb_get_report 
+00d8 20207ac1 branch usb_in_class_req + 3 
 
 p_usb_get_report:
-00d4 20207b82 branch usb_get_report_dispose 
+00d9 20207b82 branch usb_get_report_dispose 
 
 p_usb_out_device:
-00d5 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
-00d6 1ff1fe00 rshift4 pdata ,pdata 
-00d7 1fe37e00 rshift pdata ,pdata 
-00d8 1fe17e03 and_into 0x03 ,pdata 
-00d9 c00080db beq class_req ,p_usb_out_class_req 
-00da 20207ab4 branch usb_out_device + 4 
+00da 6fe08b59 fetch 1 ,mem_usb_setup_bmrequesttype 
+00db 1ff1fe00 rshift4 pdata ,pdata 
+00dc 1fe37e00 rshift pdata ,pdata 
+00dd 1fe17e03 and_into 0x03 ,pdata 
+00de c00080e0 beq class_req ,p_usb_out_class_req 
+00df 20207ab4 branch usb_out_device + 4 
 
 p_usb_out_class_req:
-00db 6fe08b5a fetch 1 ,mem_usb_setup_brequest 
-00dc c00480de beq set_report ,p_usb_set_report 
-00dd 20207acd branch usb_out_class_req + 1 
+00e0 6fe08b5a fetch 1 ,mem_usb_setup_brequest 
+00e1 c00480e3 beq set_report ,p_usb_set_report 
+00e2 20207acd branch usb_out_class_req + 1 
 
 p_usb_set_report:
-00de 20003a98 nop 15000 
-00df 20207c4a branch usb_set_report 
+00e3 20003a98 nop 15000 
+00e4 20207c4a branch usb_set_report 
 
 p_usb_tx:
-00e0 6fe08bf9 fetch 1 ,mem_usb_tx_enable 
-00e1 207a0000 rtn blank 
-00e2 6ff08c24 fetch 1 ,core_usb_txbusy 
-00e3 1fe17e0f and_into 0x0f ,pdata 
-00e4 243a7d17 nbranch usb_inwake_state_tx_dispose ,blank 
-00e5 20207ccc branch usb_tx + 3 
+00e5 6fe08bf9 fetch 1 ,mem_usb_tx_enable 
+00e6 207a0000 rtn blank 
+00e7 6ff08c24 fetch 1 ,core_usb_txbusy 
+00e8 1fe17e0f and_into 0x0f ,pdata 
+00e9 243a7d17 nbranch usb_inwake_state_tx_dispose ,blank 
+00ea 20207ccc branch usb_tx + 3 
 
 p_g24_receive_skip_end:
-00e6 6fe0c868 fetch 1 ,mem_24g_tx_phy 
-00e7 20401637 call le_enable_phy_by_pdata 
-00e8 6fe2483f fetch 4 ,mem_24g_addr 
-00e9 98001200 iforce access 
-00ea 20402181 call g24_prep 
-00eb 2040115d call set_sync_on 
-00ec 6848c83d fetcht 1 ,mem_24g_ch 
-00ed 708a3d12 jam 0x12 ,core_syn_top_ctrl 
-00ee 60488017 storet 1 ,mem_last_freq 
-00ef 1840a202 add temp ,2 ,rega 
-00f0 204011c6 call rf_tx_write_freq 
-00f1 20401207 call txon 
-00f2 20000064 nop 100 
-00f3 204023e3 call g24_ackpayload_prep 
-00f4 20402247 call g24_transmit_prep 
-00f5 204021ff call g24_transmit + 7 
-00f6 202021d6 branch g24_receive_skip_end 
+00eb 6fe0c868 fetch 1 ,mem_24g_tx_phy 
+00ec 20401637 call le_enable_phy_by_pdata 
+00ed 6fe2483f fetch 4 ,mem_24g_addr 
+00ee 98001200 iforce access 
+00ef 20402181 call g24_prep 
+00f0 2040115d call set_sync_on 
+00f1 6848c83d fetcht 1 ,mem_24g_ch 
+00f2 708a3d12 jam 0x12 ,core_syn_top_ctrl 
+00f3 60488017 storet 1 ,mem_last_freq 
+00f4 1840a202 add temp ,2 ,rega 
+00f5 204011c6 call rf_tx_write_freq 
+00f6 20401207 call txon 
+00f7 20000064 nop 100 
+00f8 204023e3 call g24_ackpayload_prep 
+00f9 20402247 call g24_transmit_prep 
+00fa 204021ff call g24_transmit + 7 
+00fb 202021d6 branch g24_receive_skip_end 
 
 p_g24_bind_data_parse_next:
-00f7 6fe0c897 fetch 1 ,mem_24g_rxdata_temp + 2 
-00f8 c05500fd beq datatype_bind ,p_g24_bind_first_step 
-00f9 c02a8107 beq datatype_config ,p_g24_bind_second_step 
-00fa c0110117 beq datatype_ok ,p_g24_bind_third_step 
-00fb c07f812f beq datatype_attemp ,p_g24_data_attemp 
-00fc 20600000 rtn 
+00fc 6fe0c897 fetch 1 ,mem_24g_rxdata_temp + 2 
+00fd c0550102 beq datatype_bind ,p_g24_bind_first_step 
+00fe c02a810c beq datatype_config ,p_g24_bind_second_step 
+00ff c011011c beq datatype_ok ,p_g24_bind_third_step 
+0100 c07f8134 beq datatype_attemp ,p_g24_data_attemp 
+0101 20600000 rtn 
 
 p_g24_bind_first_step:
-00fd 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
-00fe c0008101 beq datatype_device1 ,p_g24_bind_first_step_device1 
-00ff c0010104 beq datatype_device2 ,p_g24_bind_first_step_device2 
-0100 20600000 rtn 
+0102 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
+0103 c0008106 beq datatype_device1 ,p_g24_bind_first_step_device1 
+0104 c0010109 beq datatype_device2 ,p_g24_bind_first_step_device2 
+0105 20600000 rtn 
 
 p_g24_bind_first_step_device1:
-0101 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
-0102 247a0000 nrtn blank 
-0103 20202376 branch g24_bind_first_step_device1 
+0106 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
+0107 247a0000 nrtn blank 
+0108 20202376 branch g24_bind_first_step_device1 
 
 p_g24_bind_first_step_device2:
-0104 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
-0105 247a0000 nrtn blank 
-0106 2020237c branch g24_bind_first_step_device2 
+0109 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
+010a 247a0000 nrtn blank 
+010b 2020237c branch g24_bind_first_step_device2 
 
 p_g24_bind_second_step:
-0107 6fe0c85e fetch 1 ,mem_24g_pair_switch 
-0108 203a010d branch p_g24_bind_second_step_skip ,blank 
-0109 6fe24899 fetch 4 ,mem_24g_rxdata_temp + 4 
-010a 684a40a8 fetcht 4 ,mem_lap 
-010b 98467c00 isub temp ,null 
-010c 24628000 nrtn zero 
+010c 6fe0c85e fetch 1 ,mem_24g_pair_switch 
+010d 203a0112 branch p_g24_bind_second_step_skip ,blank 
+010e 6fe24899 fetch 4 ,mem_24g_rxdata_temp + 4 
+010f 684a40a8 fetcht 4 ,mem_lap 
+0110 98467c00 isub temp ,null 
+0111 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-010d 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
-010e c0008111 beq datatype_device1 ,p_g24_bind_second_step_device1 
-010f c0010114 beq datatype_device2 ,p_g24_bind_second_step_device2 
-0110 20600000 rtn 
+0112 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
+0113 c0008116 beq datatype_device1 ,p_g24_bind_second_step_device1 
+0114 c0010119 beq datatype_device2 ,p_g24_bind_second_step_device2 
+0115 20600000 rtn 
 
 p_g24_bind_second_step_device1:
-0111 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
-0112 247a0000 nrtn blank 
-0113 20202389 branch g24_bind_second_step_device1 
+0116 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
+0117 247a0000 nrtn blank 
+0118 20202389 branch g24_bind_second_step_device1 
 
 p_g24_bind_second_step_device2:
-0114 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
-0115 247a0000 nrtn blank 
-0116 20202394 branch g24_bind_second_step_device2 
+0119 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
+011a 247a0000 nrtn blank 
+011b 20202394 branch g24_bind_second_step_device2 
 
 p_g24_bind_third_step:
-0117 6fe0c85e fetch 1 ,mem_24g_pair_switch 
-0118 203a011d branch p_g24_bind_third_step_skip ,blank 
-0119 6fe24899 fetch 4 ,mem_24g_rxdata_temp + 4 
-011a 684a48d9 fetcht 4 ,mem_24g_transmitter_addr 
-011b 98467c00 isub temp ,null 
-011c 24628000 nrtn zero 
+011c 6fe0c85e fetch 1 ,mem_24g_pair_switch 
+011d 203a0122 branch p_g24_bind_third_step_skip ,blank 
+011e 6fe24899 fetch 4 ,mem_24g_rxdata_temp + 4 
+011f 684a48d9 fetcht 4 ,mem_24g_transmitter_addr 
+0120 98467c00 isub temp ,null 
+0121 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-011d 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
-011e c0008121 beq datatype_device1 ,p_g24_bind_third_step_device1 
-011f c0010128 beq datatype_device2 ,p_g24_bind_third_step_device2 
-0120 20600000 rtn 
+0122 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
+0123 c0008126 beq datatype_device1 ,p_g24_bind_third_step_device1 
+0124 c001012d beq datatype_device2 ,p_g24_bind_third_step_device2 
+0125 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-0121 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
-0122 247a0000 nrtn blank 
-0123 6fe0c882 fetch 1 ,mem_24g_device1_bind_step 
-0124 c0010126 beq 2 ,p_g24_bind_dvc1_step_success 
-0125 20600000 rtn 
+0126 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
+0127 247a0000 nrtn blank 
+0128 6fe0c882 fetch 1 ,mem_24g_device1_bind_step 
+0129 c001012b beq 2 ,p_g24_bind_dvc1_step_success 
+012a 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-0126 70494101 jam 1 ,mem_24g_mouse_bind_enable 
-0127 202023aa branch g24_bind_dvc1_step_success + 1 
+012b 70494101 jam 1 ,mem_24g_mouse_bind_enable 
+012c 202023aa branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0128 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
-0129 247a0000 nrtn blank 
-012a 6fe0c883 fetch 1 ,mem_24g_device2_bind_step 
-012b c080012d bne 0 ,p_g24_bind_dvc2_step_success 
-012c 20600000 rtn 
+012d 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
+012e 247a0000 nrtn blank 
+012f 6fe0c883 fetch 1 ,mem_24g_device2_bind_step 
+0130 c0800132 bne 0 ,p_g24_bind_dvc2_step_success 
+0131 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-012d 70494201 jam 1 ,mem_24g_keyboard_bind_enable 
-012e 202023b5 branch g24_bind_dvc2_step_success + 1 
+0132 70494201 jam 1 ,mem_24g_keyboard_bind_enable 
+0133 202023b5 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_data_attemp:
-012f 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
-0130 c0008133 beq datatype_device1 ,p_g24_data_attemp_device1 
-0131 c0010136 beq datatype_device2 ,p_g24_data_attemp_device2 
-0132 20600000 rtn 
+0134 6fe0c898 fetch 1 ,mem_24g_rxdata_temp + 3 
+0135 c0008138 beq datatype_device1 ,p_g24_data_attemp_device1 
+0136 c001013b beq datatype_device2 ,p_g24_data_attemp_device2 
+0137 20600000 rtn 
 
 p_g24_data_attemp_device1:
-0133 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
-0134 247a0000 nrtn blank 
-0135 202025c2 branch g24_data_attemp_device1 
+0138 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
+0139 247a0000 nrtn blank 
+013a 202025c2 branch g24_data_attemp_device1 
 
 p_g24_data_attemp_device2:
-0136 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
-0137 247a0000 nrtn blank 
-0138 202025c6 branch g24_data_attemp_device2 
+013b 6fe0c942 fetch 1 ,mem_24g_keyboard_bind_enable 
+013c 247a0000 nrtn blank 
+013d 202025c6 branch g24_data_attemp_device2 
+
+p_g24_work_mode_start:
+013e 6fe0c8c3 fetch 1 ,mem_24g_work_mode 
+013f c1800000 rtnne dongle_work 
+0140 20402485 call g24_work_init 
+0141 20402547 call g24_ch_process 
+0142 20200143 branch p_g24_receive_packet_start 
+
+p_g24_receive_packet_start:
+0143 20402429 call g24_receive_transmit_ack 
+0144 2437a3fa nbranch g24_rx_interrupt_clear ,user3 
+
+p_g24_receive_packet_parse:
+0145 2040241b call g24_receive_packet_parse_pid_crc 
+0146 243423fa nbranch g24_rx_interrupt_clear ,user 
+0147 6fe0c82d fetch 1 ,mem_24g_rxdata_length 
+0148 203a23fa branch g24_rx_interrupt_clear ,blank 
+0149 1fe0fe02 increase 2 ,pdata 
+014a 98007200 iforce loopcnt 
+014b d8c047a7 arg mem_24g_rxbuf ,contr 
+014c d8a04895 arg mem_24g_rxdata_temp ,contw 
+014d 20407dd4 call memcpy 
+014e 7048c000 jam 0 ,mem_24g_mode_switch 
+014f 6fe0c8bd fetch 1 ,mem_24g_pair_mode 
+0150 205a2436 call g24_enable_nodata_timer ,blank 
+0151 6fe0c897 fetch 1 ,mem_24g_rxdata_temp + 2 
+0152 c0008156 beq datatype_device1 ,p_g24_data_device1 
+0153 c001240e beq datatype_device2 ,g24_data_device2 
+0154 c07f8164 beq datatype_attemp ,p_g24_data_receive_attemp 
+0155 202023fa branch g24_rx_interrupt_clear 
+
+p_g24_data_device1:
+0156 204023ca call g24_binding_dvc1_living 
+0157 2040255c call g24_ch_timer_reinit 
+0158 6fe0c8b7 fetch 1 ,mem_24g_abort_packet 
+0159 6848c895 fetcht 1 ,mem_24g_rxdata_temp 
+015a 284ffe03 isolate1 bit_abort ,temp 
+015b 7920fe00 setflag true ,0 ,pdata 
+015c 67e0c8b7 store 1 ,mem_24g_abort_packet 
+015d c000815f beq 1 ,p_g24_data_attemp_device1_abort 
+015e 20202407 branch g24_data_device1 + 8 
+
+p_g24_data_attemp_device1_abort:
+015f 6fe0c941 fetch 1 ,mem_24g_mouse_bind_enable 
+0160 247a0000 nrtn blank 
+0161 70494101 jam 1 ,mem_24g_mouse_bind_enable 
+0162 6fe2489f fetch 4 ,mem_24g_rxdata_temp + 10 
+0163 202025c4 branch g24_store_device1_addr 
+
+p_g24_data_receive_attemp:
+0164 204023d8 call g24_bind_device_status 
+0165 20200134 branch p_g24_data_attemp 
 
 p_dongle_usb_dispatch:
-0139 20400045 call p_wdt_kick 
-013a 20203730 branch dongle_usb_dispatch + 1 
+0166 2040004a call p_wdt_kick 
+0167 20203730 branch dongle_usb_dispatch + 1 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AF/branch/usb/USB-1303-F-64K-1M/program/patch.prog	(revision 2172)
+++ /YC1308AF/branch/usb/USB-1303-F-64K-1M/program/patch.prog	(working copy)
@@ -2,6 +2,7 @@
 //define FCC
 
 	bbit1 8,pf_patch_ext
+	beq patch00_0,p_soft_reset
 	beq patch10_3,p_set_sync_on
 	beq patch10_5,p_rf_rx_enable
 	beq patch11_2,p_txon_next
@@ -24,6 +25,12 @@
 	beq patch3c_6,p_g24_bind_mode_auto
 	branch loop
 
+p_soft_reset:
+	clear_stack
+	call app_param_init
+	jam TX_POWER_F30DB,mem_24g_pair_tx_power
+	branch soft_reset+3
+
 p_app_init:
 p_dongle_init:
 	setarg p_dongle_dispatch
@@ -179,7 +186,7 @@
 p_dongle_work_mode_auto:
 	fetch 1,mem_24g_work_mode
 	rtnne DONGLE_WORK
-	call g24_work_mode_start
+	call p_g24_work_mode_start
 	call p_dongle_g24_blank_data_process
 	branch dongle_work_mode_auto+5
 
@@ -452,11 +459,67 @@
 	branch g24_data_attemp_device1
 
 p_g24_data_attemp_device2:
-	fetch 1,mem_24g_mouse_bind_enable
+	fetch 1,mem_24g_keyboard_bind_enable
 	nrtn blank
 	branch g24_data_attemp_device2
 
 
+p_g24_work_mode_start:
+	fetch 1,mem_24g_work_mode
+	rtnne DONGLE_WORK
+	call g24_work_init
+	call g24_ch_process
+	branch p_g24_receive_packet_start
+
+	
+p_g24_receive_packet_start:
+	call g24_receive_transmit_ack
+	nbranch g24_rx_interrupt_clear,user3
+p_g24_receive_packet_parse:
+	call g24_receive_packet_parse_pid_crc
+	nbranch g24_rx_interrupt_clear,user
+	fetch 1,mem_24g_rxdata_length
+	branch g24_rx_interrupt_clear,blank
+	increase 2,pdata
+	iforce loopcnt
+	arg mem_24g_rxbuf,contr
+	arg mem_24g_rxdata_temp,contw
+	call memcpy
+	
+	jam 0,mem_24g_mode_switch
+	fetch 1,mem_24g_pair_mode
+	call g24_enable_nodata_timer,blank
+	fetch 1,mem_24g_rxdata_temp+2
+	beq DATATYPE_DEVICE1,p_g24_data_device1	//mouse
+	beq DATATYPE_DEVICE2,g24_data_device2	//keyboard
+	beq DATATYPE_ATTEMP,p_g24_data_receive_attemp	//reconn packet
+	branch g24_rx_interrupt_clear
+
+p_g24_data_device1:
+	call g24_binding_dvc1_living	//works on auto pair only
+	call g24_ch_timer_reinit
+	fetch 1,mem_24g_abort_packet
+	fetcht 1,mem_24g_rxdata_temp
+	isolate1 bit_abort,temp
+	setflag true,0,pdata
+	store 1,mem_24g_abort_packet
+	beq 1,p_g24_data_attemp_device1_abort
+	branch g24_data_device1+8
+	
+p_g24_data_attemp_device1_abort:
+//	fetch 1,mem_device_option
+//	sub pdata,dvc_op_car,null
+//	call car_stop_blink,zero
+	fetch 1,mem_24g_mouse_bind_enable
+	nrtn blank
+	jam 1,mem_24g_mouse_bind_enable
+	fetch 4,mem_24g_rxdata_temp+10
+	branch g24_store_device1_addr
+	
+p_g24_data_receive_attemp:
+	call g24_bind_device_status		//works on auto pair only
+	branch p_g24_data_attemp
+
 /************************fcc test**********/
 ifdef FCC
 //mem_usb0_set_report_data
@@ -521,7 +584,7 @@
 	
 p_dongle_dispose_cmd_fixed_freq:
 	call p_dongle_dispose_cmd_value_judge
-	nrtn positive
+	rtn positive
 	fetch 1,mem_fcc_ch_new
 	store 1,mem_fcc_ch_last_value
 	
@@ -546,7 +609,7 @@
 	rtnne COMMAND_TYPE_ASSIGN_FREQ_MODE
 	
 	call p_dongle_dispose_cmd_value_judge
-	nrtn positive
+	rtn positive
 	store 1,mem_fcc_ch_new
 	branch p_dongle_set_report_data_clear
 
@@ -554,7 +617,7 @@
 p_dongle_dispose_cmd_value_judge:
 	fetch 1,mem_usb0_set_report_data+3
 	arg 0x50,temp
-	isub pdata,null
+	isub temp,null
 	rtn
 	
 p_dongle_dispose_cmd_modulation_send:
