Index: output/eeprom.dat
===================================================================
--- /branch/USB/dongle/output/eeprom.dat	(revision 5412)
+++ /branch/USB/dongle/output/eeprom.dat	(working copy)
@@ -663,7 +663,7 @@
 20
 40
 01
-a8
+a4
 20
 40
 00
@@ -679,7 +679,7 @@
 c0
 00
 01
-fe
+fa
 c0
 00
 80
@@ -779,7 +779,7 @@
 20
 40
 01
-c6
+c2
 20
 20
 00
@@ -799,7 +799,7 @@
 20
 40
 01
-c6
+c2
 20
 20
 00
@@ -1211,7 +1211,7 @@
 20
 40
 02
-83
+7f
 24
 37
 81
@@ -1243,19 +1243,19 @@
 c0
 55
 01
-57
+53
 c0
 2a
 81
-68
+64
 c0
 11
 01
-7c
+78
 c0
 7f
 81
-9e
+9a
 d8
 a0
 47
@@ -1270,32 +1270,16 @@
 d4
 68
 00
-c8
-a4
-c1
-80
-80
-00
-68
-00
-c8
-ba
-24
-7a
-00
-00
-68
-00
 c7
 b3
 c0
 00
 81
-44
+40
 c0
 01
 01
-48
+44
 20
 60
 00
@@ -1327,7 +1311,7 @@
 20
 20
 01
-46
+42
 68
 00
 c8
@@ -1383,11 +1367,11 @@
 c0
 00
 81
-5b
+57
 c0
 01
 01
-63
+5f
 20
 60
 00
@@ -1443,7 +1427,7 @@
 20
 20
 01
-5f
+5b
 68
 00
 c8
@@ -1451,11 +1435,11 @@
 c0
 00
 81
-6c
+68
 c0
 01
 01
-74
+70
 20
 60
 00
@@ -1471,7 +1455,7 @@
 20
 40
 01
-5e
+5a
 68
 00
 c8
@@ -1479,7 +1463,7 @@
 c0
 00
 81
-72
+6e
 20
 60
 00
@@ -1503,7 +1487,7 @@
 20
 40
 01
-66
+62
 68
 00
 c8
@@ -1511,7 +1495,7 @@
 c0
 00
 81
-7a
+76
 20
 60
 00
@@ -1531,11 +1515,11 @@
 c0
 00
 81
-80
+7c
 c0
 01
 01
-8d
+89
 20
 60
 00
@@ -1555,7 +1539,7 @@
 c0
 01
 01
-85
+81
 20
 60
 00
@@ -1567,7 +1551,7 @@
 20
 40
 01
-4b
+47
 68
 00
 c8
@@ -1607,7 +1591,7 @@
 c0
 80
 01
-92
+8e
 20
 60
 00
@@ -1619,7 +1603,7 @@
 20
 40
 01
-51
+4d
 68
 00
 c8
@@ -1635,7 +1619,7 @@
 20
 40
 01
-8a
+86
 68
 00
 91
@@ -1667,11 +1651,11 @@
 c0
 00
 81
-a2
+9e
 c0
 01
 01
-a5
+a1
 20
 60
 00
@@ -1783,7 +1767,7 @@
 24
 21
 01
-be
+ba
 58
 00
 49
@@ -1831,7 +1815,7 @@
 20
 5a
 03
-35
+31
 20
 40
 48
@@ -1879,11 +1863,11 @@
 c0
 50
 01
-e5
+e1
 c0
 50
 81
-db
+d7
 c0
 53
 30
@@ -1891,15 +1875,15 @@
 c0
 53
 81
-ea
+e6
 c0
 54
 81
-f0
+ec
 c0
 58
 01
-f2
+ee
 20
 20
 30
@@ -1911,11 +1895,11 @@
 c0
 00
 81
-e0
+dc
 c0
 42
 01
-e3
+df
 c0
 53
 b0
@@ -1943,7 +1927,7 @@
 20
 20
 01
-e0
+dc
 68
 00
 8c
@@ -1951,7 +1935,7 @@
 c0
 40
 81
-e8
+e4
 20
 20
 30
@@ -1959,7 +1943,7 @@
 20
 40
 02
-45
+41
 20
 20
 30
@@ -1971,7 +1955,7 @@
 c0
 00
 01
-ee
+ea
 c0
 00
 b0
@@ -2015,11 +1999,11 @@
 c0
 01
 81
-fc
+f8
 20
 40
 01
-ad
+a9
 68
 00
 c9
@@ -2027,7 +2011,7 @@
 c0
 01
 81
-fc
+f8
 70
 0c
 f7
@@ -2047,35 +2031,35 @@
 20
 40
 02
-23
+1f
 20
 40
 02
-29
+25
 20
 40
 02
-54
+50
 20
 40
 02
-06
+02
 20
 40
 02
-0a
+06
 20
 40
 02
-87
+83
 20
 40
 01
-c6
+c2
 20
 20
 01
-ff
+fb
 68
 00
 c8
@@ -2091,7 +2075,7 @@
 20
 20
 02
-75
+71
 68
 00
 c8
@@ -2127,11 +2111,11 @@
 20
 40
 02
-73
+6f
 20
 20
 02
-26
+22
 20
 40
 7f
@@ -2227,7 +2211,7 @@
 20
 40
 02
-14
+10
 24
 74
 00
@@ -2235,11 +2219,11 @@
 20
 40
 02
-3e
+3a
 20
 40
 02
-36
+32
 68
 00
 c8
@@ -2259,11 +2243,11 @@
 c0
 00
 02
-3b
+37
 c0
 00
 82
-43
+3f
 20
 60
 00
@@ -2295,7 +2279,7 @@
 24
 3a
 02
-45
+41
 20
 20
 00
@@ -2347,7 +2331,7 @@
 20
 5a
 02
-71
+6d
 68
 00
 c9
@@ -2387,7 +2371,7 @@
 20
 20
 02
-26
+22
 68
 00
 c8
@@ -2415,7 +2399,7 @@
 20
 40
 02
-14
+10
 24
 74
 00
@@ -2443,11 +2427,11 @@
 20
 21
 02
-6d
+69
 20
 40
 02
-36
+32
 68
 00
 c9
@@ -2467,11 +2451,11 @@
 c0
 00
 02
-6a
+66
 c0
 00
 82
-45
+41
 20
 60
 00
@@ -2483,11 +2467,11 @@
 24
 3a
 02
-45
+41
 20
 20
 02
-80
+7c
 70
 49
 81
@@ -2495,7 +2479,7 @@
 20
 20
 02
-80
+7c
 70
 49
 7d
@@ -2563,7 +2547,7 @@
 20
 40
 02
-48
+44
 70
 48
 a4
@@ -2591,7 +2575,7 @@
 20
 20
 03
-24
+20
 68
 00
 c8
@@ -2603,15 +2587,15 @@
 20
 40
 02
-ae
+aa
 20
 40
 02
-c2
+be
 20
 40
 02
-83
+7f
 24
 37
 81
@@ -2619,7 +2603,7 @@
 20
 40
 02
-be
+ba
 20
 42
 83
@@ -2631,7 +2615,7 @@
 20
 5a
 02
-6f
+6b
 70
 48
 a4
@@ -2659,7 +2643,7 @@
 24
 42
 82
-a5
+a1
 20
 40
 01
@@ -2667,15 +2651,15 @@
 20
 40
 02
-73
+6f
 20
 40
 02
-be
+ba
 20
 22
 82
-a7
+a3
 68
 02
 48
@@ -2691,7 +2675,7 @@
 20
 22
 82
-aa
+a6
 68
 02
 48
@@ -2707,7 +2691,7 @@
 20
 22
 82
-ac
+a8
 20
 60
 00
@@ -2739,7 +2723,7 @@
 20
 20
 02
-a8
+a4
 68
 00
 c8
@@ -2747,7 +2731,7 @@
 20
 20
 02
-a8
+a4
 68
 00
 c8
@@ -2787,7 +2771,7 @@
 20
 40
 02
-be
+ba
 24
 62
 80
@@ -2847,19 +2831,19 @@
 c0
 00
 02
-e5
+e1
 c0
 00
 82
-ff
+fb
 c0
 01
 02
-cb
+c7
 c0
 01
 82
-ff
+fb
 20
 60
 00
@@ -2867,7 +2851,7 @@
 20
 40
 01
-5e
+5a
 68
 02
 48
@@ -2875,7 +2859,7 @@
 20
 3a
 02
-c2
+be
 20
 40
 04
@@ -2887,7 +2871,7 @@
 20
 5a
 02
-e0
+dc
 68
 00
 c8
@@ -2971,7 +2955,7 @@
 20
 40
 01
-66
+62
 68
 02
 48
@@ -2979,7 +2963,7 @@
 20
 3a
 02
-c2
+be
 20
 40
 04
@@ -2991,7 +2975,7 @@
 20
 5a
 02
-fa
+f6
 68
 00
 c8
@@ -3075,7 +3059,7 @@
 20
 40
 01
-5e
+5a
 68
 02
 48
@@ -3091,7 +3075,7 @@
 20
 5a
 03
-13
+0f
 68
 00
 c8
@@ -3231,7 +3215,7 @@
 20
 40
 03
-17
+13
 68
 00
 c7
@@ -3243,11 +3227,11 @@
 20
 20
 83
-2d
+29
 20
 40
 03
-2e
+2a
 20
 40
 04
@@ -3271,11 +3255,11 @@
 c0
 00
 83
-32
+2e
 c0
 01
 03
-37
+33
 68
 00
 c9
@@ -3283,11 +3267,11 @@
 c2
 80
 03
-3f
+3b
 20
 20
 03
-39
+35
 70
 49
 7a
@@ -3303,7 +3287,7 @@
 c2
 80
 83
-43
+3f
 68
 00
 c8
@@ -3315,7 +3299,7 @@
 c0
 00
 83
-4a
+46
 c0
 01
 03
@@ -3343,7 +3327,7 @@
 20
 20
 03
-46
+42
 68
 00
 c9
@@ -3376,6 +3360,22 @@
 48
 b8
 01
+68
+00
+c8
+a4
+c1
+00
+00
+00
+68
+00
+c8
+ba
+24
+7a
+00
+00
 20
 40
 01
@@ -3407,7 +3407,7 @@
 20
 40
 01
-c0
+bc
 24
 74
 00
@@ -3451,11 +3451,11 @@
 c0
 00
 83
-4a
+4d
 c0
 7f
 83
-4a
+4d
 70
 0d
 43
@@ -3483,7 +3483,7 @@
 20
 40
 02
-83
+7f
 24
 37
 81
@@ -3539,7 +3539,7 @@
 20
 5a
 02
-73
+6f
 68
 00
 c8
@@ -3619,7 +3619,7 @@
 20
 40
 01
-4b
+47
 20
 40
 00
@@ -3747,7 +3747,7 @@
 20
 40
 01
-51
+4d
 68
 08
 c8
@@ -4103,7 +4103,7 @@
 20
 40
 01
-4b
+47
 68
 02
 48
@@ -4111,11 +4111,11 @@
 20
 20
 01
-a3
+9f
 20
 40
 01
-51
+4d
 68
 02
 48
@@ -4123,7 +4123,7 @@
 20
 20
 01
-a6
+a2
 68
 02
 48
@@ -4131,7 +4131,7 @@
 20
 20
 01
-a3
+9f
 68
 02
 48
@@ -4139,7 +4139,7 @@
 20
 20
 01
-a6
+a2
 68
 01
 48
@@ -4183,7 +4183,7 @@
 20
 40
 01
-b7
+b3
 68
 00
 c9
@@ -4203,7 +4203,7 @@
 c0
 60
 81
-fa
+f6
 c0
 61
 04
@@ -4227,7 +4227,7 @@
 20
 40
 01
-a8
+a4
 68
 00
 c8
@@ -5172,8 +5172,8 @@
 60
 00
 00
-e0
-8a
+f5
+0a
 aa
 55
 01
Index: output/program.lis
===================================================================
--- /branch/USB/dongle/output/program.lis	(revision 5412)
+++ /branch/USB/dongle/output/program.lis	(working copy)
@@ -224,11 +224,11 @@
 00a1 6808c23a fetcht 1 ,mem_eeprom_wp_gpio 
 00a2 2040680e call gpio_config_output 
 00a3 204000b9 call p_dongle_init 
-00a4 204001a8 call p_g24_queue_init 
+00a4 204001a4 call p_g24_queue_init 
 00a5 204000ae call p_dongle_iic_init 
 00a6 204000ac call p_dongle_firmware_version_store 
 00a7 6800c8ba fetch 1 ,mem_24g_pair_mode 
-00a8 c00001fe beq 0x00 ,p_dongle_auto_bind 
+00a8 c00001fa beq 0x00 ,p_dongle_auto_bind 
 00a9 c00080c3 beq 0x01 ,p_dongle_pc_bind 
 00aa c00780bf beq 0x0f ,p_dongle_all_powerful 
 00ab 20600000 rtn 
@@ -267,7 +267,7 @@
 
 p_dongle_all_powerful_loop:
 00c0 204000cc call p_g24_dongle_work_mode 
-00c1 204001c6 call p_dongle_usb_dispatch 
+00c1 204001c2 call p_dongle_usb_dispatch 
 00c2 202000c0 branch p_dongle_all_powerful_loop 
 
 p_dongle_pc_bind:
@@ -276,7 +276,7 @@
 p_dongle_pc_bind_loop:
 00c4 204000cc call p_g24_dongle_work_mode 
 00c5 2040011d call p_g24_dongle_bind_mode 
-00c6 204001c6 call p_dongle_usb_dispatch 
+00c6 204001c2 call p_dongle_usb_dispatch 
 00c7 202000c4 branch p_dongle_pc_bind_loop 
 
 p_dongle_check_mode:
@@ -411,7 +411,7 @@
 012c 20200465 branch p_g24_update_addr_and_synccrc8 
 
 p_g24_dongle_bind_data_process:
-012d 20400283 call p_g24_receive_transmit_ack 
+012d 2040027f call p_g24_receive_transmit_ack 
 012e 24378139 nbranch p_g24_rx_interrupt_clear ,user3 
 012f 70497c05 jam g24_work_mode_delay ,mem_24g_work_delay_count 
 0130 d8c047b0 arg mem_24g_rxbuf ,contr 
@@ -419,10 +419,10 @@
 0132 df200008 arg 8 ,loopcnt 
 0133 20407f01 call memcpy 
 0134 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
-0135 c0550157 beq datatype_bind ,p_g24_dongle_bind_first_step 
-0136 c02a8168 beq datatype_config ,p_g24_dongle_bind_second_step 
-0137 c011017c beq datatype_ok ,p_g24_dongle_bind_third_step 
-0138 c07f819e beq 0xff ,p_g24_data_attemp_bind 
+0135 c0550153 beq datatype_bind ,p_g24_dongle_bind_first_step 
+0136 c02a8164 beq datatype_config ,p_g24_dongle_bind_second_step 
+0137 c0110178 beq datatype_ok ,p_g24_dongle_bind_third_step 
+0138 c07f819a beq 0xff ,p_g24_data_attemp_bind 
 
 p_g24_rx_interrupt_clear:
 0139 d8a047b0 arg mem_24g_rxbuf ,contw 
@@ -430,729 +430,731 @@
 013b 20207ed4 branch clear_mem 
 
 p_g24_dongle_binding_device_check:
-013c 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-013d c1808000 rtnne dongle_bind 
-013e 6800c8ba fetch 1 ,mem_24g_pair_mode 
-013f 247a0000 nrtn blank 
-0140 6800c7b3 fetch 1 ,mem_24g_rxbuf + 3 
-0141 c0008144 beq bind_mouse ,p_g24_dongle_binding_mouse_status 
-0142 c0010148 beq bind_keyboard ,p_g24_dongle_binding_keyboard_status 
-0143 20600000 rtn 
+013c 6800c7b3 fetch 1 ,mem_24g_rxbuf + 3 
+013d c0008140 beq bind_mouse ,p_g24_dongle_binding_mouse_status 
+013e c0010144 beq bind_keyboard ,p_g24_dongle_binding_keyboard_status 
+013f 20600000 rtn 
 
 p_g24_dongle_binding_mouse_status:
-0144 6800c983 fetch 1 ,mem_dongle_bind_device_living 
-0145 c4000000 rtnbit0 0 
+0140 6800c983 fetch 1 ,mem_dongle_bind_device_living 
+0141 c4000000 rtnbit0 0 
 
 disable_user3:
-0146 7857fc00 disable user3 
-0147 20600000 rtn 
+0142 7857fc00 disable user3 
+0143 20600000 rtn 
 
 p_g24_dongle_binding_keyboard_status:
-0148 6800c983 fetch 1 ,mem_dongle_bind_device_living 
-0149 c4008000 rtnbit0 1 
-014a 20200146 branch disable_user3 
+0144 6800c983 fetch 1 ,mem_dongle_bind_device_living 
+0145 c4008000 rtnbit0 1 
+0146 20200142 branch disable_user3 
 
 p_g24_dongle_binding_mouse_living:
-014b 6800c8ba fetch 1 ,mem_24g_pair_mode 
-014c 247a0000 nrtn blank 
-014d 6800c983 fetch 1 ,mem_dongle_bind_device_living 
-014e 1fe1fe01 or_into 0x01 ,pdata 
-014f 6000c983 store 1 ,mem_dongle_bind_device_living 
-0150 20600000 rtn 
+0147 6800c8ba fetch 1 ,mem_24g_pair_mode 
+0148 247a0000 nrtn blank 
+0149 6800c983 fetch 1 ,mem_dongle_bind_device_living 
+014a 1fe1fe01 or_into 0x01 ,pdata 
+014b 6000c983 store 1 ,mem_dongle_bind_device_living 
+014c 20600000 rtn 
 
 p_g24_dongle_binding_keyboard_living:
-0151 6800c8ba fetch 1 ,mem_24g_pair_mode 
-0152 247a0000 nrtn blank 
-0153 6800c983 fetch 1 ,mem_dongle_bind_device_living 
-0154 1fe1fe02 or_into 0x02 ,pdata 
-0155 6000c983 store 1 ,mem_dongle_bind_device_living 
-0156 20600000 rtn 
+014d 6800c8ba fetch 1 ,mem_24g_pair_mode 
+014e 247a0000 nrtn blank 
+014f 6800c983 fetch 1 ,mem_dongle_bind_device_living 
+0150 1fe1fe02 or_into 0x02 ,pdata 
+0151 6000c983 store 1 ,mem_dongle_bind_device_living 
+0152 20600000 rtn 
 
 p_g24_dongle_bind_first_step:
-0157 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0158 c000815b beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
-0159 c0010163 beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
-015a 20600000 rtn 
+0153 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0154 c0008157 beq bind_mouse ,p_g24_dongle_bind_first_step_mouse 
+0155 c001015f beq bind_keyboard ,p_g24_dongle_bind_first_step_keyboard 
+0156 20600000 rtn 
 
 p_g24_dongle_bind_first_step_mouse:
-015b 6800c988 fetch 1 ,mem_24g_mouse_bind_enable 
-015c 247a0000 nrtn blank 
-015d 7048a501 jam 1 ,mem_dongle_ms_bind_step 
+0157 6800c988 fetch 1 ,mem_24g_mouse_bind_enable 
+0158 247a0000 nrtn blank 
+0159 7048a501 jam 1 ,mem_dongle_ms_bind_step 
 
 p_g24_dongle_bind_ms_payload_cfg:
-015e 7048a801 jam datatype_mouse ,mem_24g_bind_payload 
+015a 7048a801 jam datatype_mouse ,mem_24g_bind_payload 
 
 p_g24_dongle_bind_payload_cfg:
-015f 7048a980 jam 0x80 ,mem_24g_bind_payload + 1 
-0160 6803489f fetch 6 ,mem_24g_rx_addr 
-0161 600348aa store 6 ,mem_24g_bind_payload + 2 
-0162 20600000 rtn 
+015b 7048a980 jam 0x80 ,mem_24g_bind_payload + 1 
+015c 6803489f fetch 6 ,mem_24g_rx_addr 
+015d 600348aa store 6 ,mem_24g_bind_payload + 2 
+015e 20600000 rtn 
 
 p_g24_dongle_bind_first_step_keyboard:
-0163 6800c989 fetch 1 ,mem_24g_keyboard_bind_enable 
-0164 247a0000 nrtn blank 
-0165 7048a601 jam 1 ,mem_dongle_kb_bind_step 
+015f 6800c989 fetch 1 ,mem_24g_keyboard_bind_enable 
+0160 247a0000 nrtn blank 
+0161 7048a601 jam 1 ,mem_dongle_kb_bind_step 
 
 p_g24_dongle_bind_kb_payload_cfg:
-0166 7048a802 jam datatype_keyboard ,mem_24g_bind_payload 
-0167 2020015f branch p_g24_dongle_bind_payload_cfg 
+0162 7048a802 jam datatype_keyboard ,mem_24g_bind_payload 
+0163 2020015b branch p_g24_dongle_bind_payload_cfg 
 
 p_g24_dongle_bind_second_step:
-0168 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-0169 c000816c beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
-016a c0010174 beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
-016b 20600000 rtn 
+0164 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0165 c0008168 beq bind_mouse ,p_g24_dongle_bind_second_step_mouse 
+0166 c0010170 beq bind_keyboard ,p_g24_dongle_bind_second_step_keyboard 
+0167 20600000 rtn 
 
 p_g24_dongle_bind_second_step_mouse:
-016c 6800c988 fetch 1 ,mem_24g_mouse_bind_enable 
-016d 247a0000 nrtn blank 
-016e 2040015e call p_g24_dongle_bind_ms_payload_cfg 
-016f 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
-0170 c0008172 beq 1 ,p_g24_dongle_ms_bind_step_set2 
-0171 20600000 rtn 
+0168 6800c988 fetch 1 ,mem_24g_mouse_bind_enable 
+0169 247a0000 nrtn blank 
+016a 2040015a call p_g24_dongle_bind_ms_payload_cfg 
+016b 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
+016c c000816e beq 1 ,p_g24_dongle_ms_bind_step_set2 
+016d 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_set2:
-0172 7048a502 jam 2 ,mem_dongle_ms_bind_step 
-0173 20600000 rtn 
+016e 7048a502 jam 2 ,mem_dongle_ms_bind_step 
+016f 20600000 rtn 
 
 p_g24_dongle_bind_second_step_keyboard:
-0174 6800c989 fetch 1 ,mem_24g_keyboard_bind_enable 
-0175 247a0000 nrtn blank 
-0176 20400166 call p_g24_dongle_bind_kb_payload_cfg 
-0177 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
-0178 c000817a beq 1 ,p_g24_dongle_kb_bind_step_set2 
-0179 20600000 rtn 
+0170 6800c989 fetch 1 ,mem_24g_keyboard_bind_enable 
+0171 247a0000 nrtn blank 
+0172 20400162 call p_g24_dongle_bind_kb_payload_cfg 
+0173 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
+0174 c0008176 beq 1 ,p_g24_dongle_kb_bind_step_set2 
+0175 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_set2:
-017a 7048a602 jam 2 ,mem_dongle_kb_bind_step 
-017b 20600000 rtn 
+0176 7048a602 jam 2 ,mem_dongle_kb_bind_step 
+0177 20600000 rtn 
 
 p_g24_dongle_bind_third_step:
-017c 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-017d c0008180 beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
-017e c001018d beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
-017f 20600000 rtn 
+0178 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+0179 c000817c beq bind_mouse ,p_g24_dongle_bind_third_step_mouse 
+017a c0010189 beq bind_keyboard ,p_g24_dongle_bind_third_step_keyboard 
+017b 20600000 rtn 
 
 p_g24_dongle_bind_third_step_mouse:
-0180 6800c988 fetch 1 ,mem_24g_mouse_bind_enable 
-0181 247a0000 nrtn blank 
-0182 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
-0183 c0010185 beq 2 ,p_g24_dongle_ms_bind_step_success 
-0184 20600000 rtn 
+017c 6800c988 fetch 1 ,mem_24g_mouse_bind_enable 
+017d 247a0000 nrtn blank 
+017e 6800c8a5 fetch 1 ,mem_dongle_ms_bind_step 
+017f c0010181 beq 2 ,p_g24_dongle_ms_bind_step_success 
+0180 20600000 rtn 
 
 p_g24_dongle_ms_bind_step_success:
-0185 70498801 jam 1 ,mem_24g_mouse_bind_enable 
-0186 2040014b call p_g24_dongle_binding_mouse_living 
-0187 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-0188 1fe1fe01 or_into 0x01 ,pdata 
-0189 6000c8a7 store 1 ,mem_dongle_bind_device_status 
+0181 70498801 jam 1 ,mem_24g_mouse_bind_enable 
+0182 20400147 call p_g24_dongle_binding_mouse_living 
+0183 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+0184 1fe1fe01 or_into 0x01 ,pdata 
+0185 6000c8a7 store 1 ,mem_dongle_bind_device_status 
 
 p_g24_dongle_bind_exit:
-018a 58000000 setarg 0 
-018b 600148a5 store 2 ,mem_dongle_ms_bind_step 
-018c 20200139 branch p_g24_rx_interrupt_clear 
+0186 58000000 setarg 0 
+0187 600148a5 store 2 ,mem_dongle_ms_bind_step 
+0188 20200139 branch p_g24_rx_interrupt_clear 
 
 p_g24_dongle_bind_third_step_keyboard:
-018d 6800c989 fetch 1 ,mem_24g_keyboard_bind_enable 
-018e 247a0000 nrtn blank 
-018f 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
-0190 c0800192 bne 0 ,p_g24_dongle_kb_bind_step_success 
-0191 20600000 rtn 
+0189 6800c989 fetch 1 ,mem_24g_keyboard_bind_enable 
+018a 247a0000 nrtn blank 
+018b 6800c8a6 fetch 1 ,mem_dongle_kb_bind_step 
+018c c080018e bne 0 ,p_g24_dongle_kb_bind_step_success 
+018d 20600000 rtn 
 
 p_g24_dongle_kb_bind_step_success:
-0192 70498901 jam 1 ,mem_24g_keyboard_bind_enable 
-0193 20400151 call p_g24_dongle_binding_keyboard_living 
-0194 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-0195 1fe1fe02 or_into 0x02 ,pdata 
-0196 6000c8a7 store 1 ,mem_dongle_bind_device_status 
-0197 2040018a call p_g24_dongle_bind_exit 
+018e 70498901 jam 1 ,mem_24g_keyboard_bind_enable 
+018f 2040014d call p_g24_dongle_binding_keyboard_living 
+0190 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+0191 1fe1fe02 or_into 0x02 ,pdata 
+0192 6000c8a7 store 1 ,mem_dongle_bind_device_status 
+0193 20400186 call p_g24_dongle_bind_exit 
 
 p_g24_dongle_store_kb_bind_flag:
-0198 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
-0199 c12d0000 rtneq dongle_kb_bind_success 
-019a 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
-019b 204000b1 call p_dongle_set_kb_bind_eeprom 
-019c 204065d1 call iicd_write_protect_eep_data 
-019d 2020659a branch soft_reset_chip 
+0194 680091c7 fetch 1 ,mem_dongle_kb_bind_flag 
+0195 c12d0000 rtneq dongle_kb_bind_success 
+0196 7011c75a jam dongle_kb_bind_success ,mem_dongle_kb_bind_flag 
+0197 204000b1 call p_dongle_set_kb_bind_eeprom 
+0198 204065d1 call iicd_write_protect_eep_data 
+0199 2020659a branch soft_reset_chip 
 
 p_g24_data_attemp_bind:
-019e 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-019f c00081a2 beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
-01a0 c00101a5 beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
-01a1 20600000 rtn 
+019a 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+019b c000819e beq datatype_mouse ,p_g24_data_attemp_mouse_bind 
+019c c00101a1 beq datatype_keyboard ,p_g24_data_attemp_kbd_bind 
+019d 20600000 rtn 
 
 p_g24_data_attemp_mouse_bind:
-01a2 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+019e 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_mouse_addr:
-01a3 600248da store 4 ,mem_24g_ms_addr 
-01a4 20600000 rtn 
+019f 600248da store 4 ,mem_24g_ms_addr 
+01a0 20600000 rtn 
 
 p_g24_data_attemp_kbd_bind:
-01a5 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+01a1 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
 
 p_g24_store_kbd_addr:
-01a6 600248d6 store 4 ,mem_24g_kb_addr 
-01a7 20600000 rtn 
+01a2 600248d6 store 4 ,mem_24g_kb_addr 
+01a3 20600000 rtn 
 
 p_g24_queue_init:
-01a8 70490000 jam 0 ,mem_queue_ele_num 
-01a9 58004905 setarg mem_queue_start 
-01aa 60014901 store 2 ,mem_queue_read 
-01ab 60014903 store 2 ,mem_queue_write 
-01ac 20600000 rtn 
+01a4 70490000 jam 0 ,mem_queue_ele_num 
+01a5 58004905 setarg mem_queue_start 
+01a6 60014901 store 2 ,mem_queue_read 
+01a7 60014903 store 2 ,mem_queue_write 
+01a8 20600000 rtn 
 
 p_g24_queue_put:
-01ad df20001f arg 0x1f ,loopcnt 
-01ae d8400cb6 arg mem_usb0_set_report_data ,temp 
-01af 68014903 fetch 2 ,mem_queue_write 
-01b0 1fe20a00 copy pdata ,contw 
-01b1 18420c00 copy temp ,contr 
-01b2 20407f01 call memcpy 
-01b3 6800c900 fetch 1 ,mem_queue_ele_num 
-01b4 1fe0fe01 increase 1 ,pdata 
-01b5 6000c900 store 1 ,mem_queue_ele_num 
-01b6 58004903 setarg mem_queue_write 
+01a9 df20001f arg 0x1f ,loopcnt 
+01aa d8400cb6 arg mem_usb0_set_report_data ,temp 
+01ab 68014903 fetch 2 ,mem_queue_write 
+01ac 1fe20a00 copy pdata ,contw 
+01ad 18420c00 copy temp ,contr 
+01ae 20407f01 call memcpy 
+01af 6800c900 fetch 1 ,mem_queue_ele_num 
+01b0 1fe0fe01 increase 1 ,pdata 
+01b1 6000c900 store 1 ,mem_queue_ele_num 
+01b2 58004903 setarg mem_queue_write 
 
 p_g24_queue_increase:
-01b7 1fe22200 copy pdata ,rega 
-01b8 d8404965 arg mem_queue_end ,temp 
-01b9 ea210000 ifetch 2 ,rega 
-01ba 1fe0fe20 increase queue_ele_length ,pdata 
-01bb 98467c00 isub temp ,null 
-01bc 242101be nbranch p_g24_queue_put_end ,positive 
-01bd 58004905 setarg mem_queue_start 
+01b3 1fe22200 copy pdata ,rega 
+01b4 d8404965 arg mem_queue_end ,temp 
+01b5 ea210000 ifetch 2 ,rega 
+01b6 1fe0fe20 increase queue_ele_length ,pdata 
+01b7 98467c00 isub temp ,null 
+01b8 242101ba nbranch p_g24_queue_put_end ,positive 
+01b9 58004905 setarg mem_queue_start 
 
 p_g24_queue_put_end:
-01be e2210000 istore 2 ,rega 
-01bf 20600000 rtn 
+01ba e2210000 istore 2 ,rega 
+01bb 20600000 rtn 
 
 p_g24_queue_read_point:
-01c0 78547c00 disable user 
-01c1 6800c900 fetch 1 ,mem_queue_ele_num 
-01c2 207a0000 rtn blank 
-01c3 78347c00 enable user 
-01c4 68014901 fetch 2 ,mem_queue_read 
-01c5 20600000 rtn 
+01bc 78547c00 disable user 
+01bd 6800c900 fetch 1 ,mem_queue_ele_num 
+01be 207a0000 rtn blank 
+01bf 78347c00 enable user 
+01c0 68014901 fetch 2 ,mem_queue_read 
+01c1 20600000 rtn 
 
 p_dongle_usb_dispatch:
-01c6 708004ff jam 0xff ,core_write_watchdog 
-01c7 68008d39 fetch 1 ,mem_usb_remote_wakeup 
-01c8 205a0335 call p_g24_clear_pc_sleep_flag ,blank 
-01c9 204048d3 call usb_isr 
-01ca 68008d50 fetch 1 ,mem_usb0_get_set_report 
-01cb 207a0000 rtn blank 
-01cc 700d5000 jam 0 ,mem_usb0_get_set_report 
-01cd 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
-01ce d84002ba arg pc_set_report ,temp 
-01cf 98467c00 isub temp ,null 
-01d0 24628000 nrtn zero 
-01d1 68008cb6 fetch 1 ,mem_usb0_set_report_data 
-01d2 c1dd0000 rtnne pc_report_id 
-01d3 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
-01d4 c05001e5 beq command_mode ,p_dongle_dispose_cmd_mode 
-01d5 c05081db beq command_bind ,p_dongle_dispose_cmd_bind 
-01d6 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
-01d7 c05381ea beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
-01d8 c05481f0 beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
-01d9 c05801f2 beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
-01da 2020302a branch usb0_data_ready_report_set0 
+01c2 708004ff jam 0xff ,core_write_watchdog 
+01c3 68008d39 fetch 1 ,mem_usb_remote_wakeup 
+01c4 205a0331 call p_g24_clear_pc_sleep_flag ,blank 
+01c5 204048d3 call usb_isr 
+01c6 68008d50 fetch 1 ,mem_usb0_get_set_report 
+01c7 207a0000 rtn blank 
+01c8 700d5000 jam 0 ,mem_usb0_get_set_report 
+01c9 68010d4e fetch 2 ,mem_usb_setup_bvalue_temp 
+01ca d84002ba arg pc_set_report ,temp 
+01cb 98467c00 isub temp ,null 
+01cc 24628000 nrtn zero 
+01cd 68008cb6 fetch 1 ,mem_usb0_set_report_data 
+01ce c1dd0000 rtnne pc_report_id 
+01cf 68008cb7 fetch 1 ,mem_usb0_set_report_data + 1 
+01d0 c05001e1 beq command_mode ,p_dongle_dispose_cmd_mode 
+01d1 c05081d7 beq command_bind ,p_dongle_dispose_cmd_bind 
+01d2 c0533041 beq command_current_project ,dongle_dispose_cmd_current_project 
+01d3 c05381e6 beq command_current_mode ,p_dongle_dispose_cmd_current_mode 
+01d4 c05481ec beq command_current_fw_version ,p_dongle_dispose_cmd_current_fw_version 
+01d5 c05801ee beq command_user_defined ,p_dongle_dispose_cmd_user_defined 
+01d6 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_bind:
-01db 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01dc c00081e0 beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
-01dd c04201e3 beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
-01de c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
-01df 2020302a branch usb0_data_ready_report_set0 
+01d7 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01d8 c00081dc beq com_bind_get ,p_dongle_dispose_cmd_get_bind 
+01d9 c04201df beq com_bind_exit ,p_dongle_dispose_cmd_exit_bind 
+01da c053b039 beq com_read_mode ,dongle_dispose_cmd_read_mode 
+01db 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_dispose_cmd_get_bind:
-01e0 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-01e1 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
-01e2 2020303f branch usb0_data_ready_report_set1 
+01dc 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+01dd 60008cf7 store 1 ,mem_usb0_get_report_data + 1 
+01de 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_exit_bind:
-01e3 204000c9 call p_dongle_work_mode_enable 
-01e4 202001e0 branch p_dongle_dispose_cmd_get_bind 
+01df 204000c9 call p_dongle_work_mode_enable 
+01e0 202001dc branch p_dongle_dispose_cmd_get_bind 
 
 p_dongle_dispose_cmd_mode:
-01e5 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01e6 c04081e8 beq com_mode_bind ,p_dongle_enter_bind_mode 
-01e7 2020302a branch usb0_data_ready_report_set0 
+01e1 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01e2 c04081e4 beq com_mode_bind ,p_dongle_enter_bind_mode 
+01e3 2020302a branch usb0_data_ready_report_set0 
 
 p_dongle_enter_bind_mode:
-01e8 20400245 call p_g24_bind_mode_enable 
-01e9 2020303f branch usb0_data_ready_report_set1 
+01e4 20400241 call p_g24_bind_mode_enable 
+01e5 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_mode:
-01ea 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-01eb c00001ee beq dongle_work ,p_dongle_dispose_in_work_mode 
-01ec c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
-01ed 20600000 rtn 
+01e6 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+01e7 c00001ea beq dongle_work ,p_dongle_dispose_in_work_mode 
+01e8 c000b039 beq dongle_bind ,dongle_dispose_in_bind_mode 
+01e9 20600000 rtn 
 
 p_dongle_dispose_in_work_mode:
-01ee 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
-01ef 2020303f branch usb0_data_ready_report_set1 
+01ea 700cf7a0 jam command_mode ,mem_usb0_get_report_data + 1 
+01eb 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_dispose_cmd_current_fw_version:
-01f0 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
-01f1 20203049 branch dongle_dispose_cmd_current_fw_version 
+01ec 700cfa07 jam fw_version3 ,mem_usb0_get_report_data + 4 
+01ed 20203049 branch dongle_dispose_cmd_current_fw_version 
 
 p_dongle_dispose_cmd_user_defined:
-01f2 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
-01f3 c07fe59a beq 0xff ,soft_reset_chip 
+01ee 68008cb8 fetch 1 ,mem_usb0_set_report_data + 2 
+01ef c07fe59a beq 0xff ,soft_reset_chip 
 
 p_dongle_dispose_cmd_ota:
-01f4 7048b802 jam 2 ,mem_24g_ackpayload_enable 
-01f5 6800c900 fetch 1 ,mem_queue_ele_num 
-01f6 c00181fc beq queue_ele_count ,p_user_defined_queue_buff_full 
-01f7 204001ad call p_g24_queue_put 
-01f8 6800c900 fetch 1 ,mem_queue_ele_num 
-01f9 c00181fc beq queue_ele_count ,p_user_defined_queue_buff_full 
+01f0 7048b802 jam 2 ,mem_24g_ackpayload_enable 
+01f1 6800c900 fetch 1 ,mem_queue_ele_num 
+01f2 c00181f8 beq queue_ele_count ,p_user_defined_queue_buff_full 
+01f3 204001a9 call p_g24_queue_put 
+01f4 6800c900 fetch 1 ,mem_queue_ele_num 
+01f5 c00181f8 beq queue_ele_count ,p_user_defined_queue_buff_full 
 
 p_user_defined_queue_buff_free:
-01fa 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
-01fb 2020303f branch usb0_data_ready_report_set1 
+01f6 700cf700 jam 0 ,mem_usb0_get_report_data + 1 
+01f7 2020303f branch usb0_data_ready_report_set1 
 
 p_user_defined_queue_buff_full:
-01fc 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
-01fd 2020303f branch usb0_data_ready_report_set1 
+01f8 700cf701 jam 1 ,mem_usb0_get_report_data + 1 
+01f9 2020303f branch usb0_data_ready_report_set1 
 
 p_dongle_auto_bind:
-01fe 20400223 call p_g24_mode_switch_init 
+01fa 2040021f call p_g24_mode_switch_init 
 
 p_dongle_auto_bind_loop:
-01ff 20400229 call p_g24_mode_switch 
-0200 20400254 call p_g24_mode_switch_2 
-0201 20400206 call p_g24_dongle_work_mode_auto 
-0202 2040020a call p_g24_dongle_bind_mode_auto 
-0203 20400287 call p_g24_dongle_search_mode_auto 
-0204 204001c6 call p_dongle_usb_dispatch 
-0205 202001ff branch p_dongle_auto_bind_loop 
+01fb 20400225 call p_g24_mode_switch 
+01fc 20400250 call p_g24_mode_switch_2 
+01fd 20400202 call p_g24_dongle_work_mode_auto 
+01fe 20400206 call p_g24_dongle_bind_mode_auto 
+01ff 20400283 call p_g24_dongle_search_mode_auto 
+0200 204001c2 call p_dongle_usb_dispatch 
+0201 202001fb branch p_dongle_auto_bind_loop 
 
 p_g24_dongle_work_mode_auto:
-0206 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-0207 c1800000 rtnne dongle_work 
-0208 204000ce call p_g24_dongle_work_mode_start 
-0209 20200275 branch p_g24_rx_nodata_process 
+0202 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+0203 c1800000 rtnne dongle_work 
+0204 204000ce call p_g24_dongle_work_mode_start 
+0205 20200271 branch p_g24_rx_nodata_process 
 
 p_g24_dongle_bind_mode_auto:
-020a 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-020b c1808000 rtnne dongle_bind 
-020c 20400121 call p_g24_dongle_bind_init 
-020d 2040012d call p_g24_dongle_bind_data_process 
-020e 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
-020f 207a0000 rtn blank 
-0210 7048b700 jam 0 ,mem_24g_mode_switch 
-0211 204000c8 call p_dongle_check_mode 
-0212 20400273 call p_g24_enable_nodata_timer 
-0213 20200226 branch p_g24_timer_init 
+0206 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+0207 c1808000 rtnne dongle_bind 
+0208 20400121 call p_g24_dongle_bind_init 
+0209 2040012d call p_g24_dongle_bind_data_process 
+020a 6800c8a7 fetch 1 ,mem_dongle_bind_device_status 
+020b 207a0000 rtn blank 
+020c 7048b700 jam 0 ,mem_24g_mode_switch 
+020d 204000c8 call p_dongle_check_mode 
+020e 2040026f call p_g24_enable_nodata_timer 
+020f 20200222 branch p_g24_timer_init 
 
 p_g24_timer_check:
-0214 20407fe9 call disable_user 
-0215 680a4857 fetcht 4 ,mem_24g_tx_btclk 
-0216 1c427e00 copy clkn_bt ,pdata 
-0217 98467c00 isub temp ,null 
-0218 24412d18 ncall g24_timer_timeout ,positive 
-0219 1fe22400 copy pdata ,regb 
-021a 68024857 fetch 4 ,mem_24g_tx_btclk 
-021b 6808c85b fetcht 1 ,mem_24g_interval 
-021c 98408400 iadd temp ,temp 
-021d 1a427e00 copy regb ,pdata 
-021e 98467c00 isub temp ,null 
-021f 24610000 nrtn positive 
-0220 793ffe1c set0 28 ,pdata 
-0221 60024857 store 4 ,mem_24g_tx_btclk 
-0222 20207fe7 branch enable_user 
+0210 20407fe9 call disable_user 
+0211 680a4857 fetcht 4 ,mem_24g_tx_btclk 
+0212 1c427e00 copy clkn_bt ,pdata 
+0213 98467c00 isub temp ,null 
+0214 24412d18 ncall g24_timer_timeout ,positive 
+0215 1fe22400 copy pdata ,regb 
+0216 68024857 fetch 4 ,mem_24g_tx_btclk 
+0217 6808c85b fetcht 1 ,mem_24g_interval 
+0218 98408400 iadd temp ,temp 
+0219 1a427e00 copy regb ,pdata 
+021a 98467c00 isub temp ,null 
+021b 24610000 nrtn positive 
+021c 793ffe1c set0 28 ,pdata 
+021d 60024857 store 4 ,mem_24g_tx_btclk 
+021e 20207fe7 branch enable_user 
 
 p_g24_mode_switch_init:
-0223 7048b701 jam 1 ,mem_24g_mode_switch 
-0224 7048bc00 jam 0 ,mem_24g_time_slice 
-0225 70485bff jam 0xff ,mem_24g_interval 
+021f 7048b701 jam 1 ,mem_24g_mode_switch 
+0220 7048bc00 jam 0 ,mem_24g_time_slice 
+0221 70485bff jam 0xff ,mem_24g_interval 
 
 p_g24_timer_init:
-0226 58000000 setarg 0 
-0227 60024857 store 4 ,mem_24g_tx_btclk 
-0228 20600000 rtn 
+0222 58000000 setarg 0 
+0223 60024857 store 4 ,mem_24g_tx_btclk 
+0224 20600000 rtn 
 
 p_g24_mode_switch:
-0229 6800c8b7 fetch 1 ,mem_24g_mode_switch 
-022a 207a0000 rtn blank 
-022b 20400214 call p_g24_timer_check 
-022c 24740000 nrtn user 
-022d 2040023e call p_g24_bind_mode_delay 
-022e 20400236 call p_g24_work_mode_delay 
-022f 6800c8bc fetch 1 ,mem_24g_time_slice 
-0230 1fe0fe01 increase 1 ,pdata 
-0231 1fe17e01 and_into 1 ,pdata 
-0232 6000c8bc store 1 ,mem_24g_time_slice 
-0233 c000023b beq 0 ,p_g24_mode_switch_work 
-0234 c0008243 beq 1 ,p_g24_mode_switch_bind 
-0235 20600000 rtn 
+0225 6800c8b7 fetch 1 ,mem_24g_mode_switch 
+0226 207a0000 rtn blank 
+0227 20400210 call p_g24_timer_check 
+0228 24740000 nrtn user 
+0229 2040023a call p_g24_bind_mode_delay 
+022a 20400232 call p_g24_work_mode_delay 
+022b 6800c8bc fetch 1 ,mem_24g_time_slice 
+022c 1fe0fe01 increase 1 ,pdata 
+022d 1fe17e01 and_into 1 ,pdata 
+022e 6000c8bc store 1 ,mem_24g_time_slice 
+022f c0000237 beq 0 ,p_g24_mode_switch_work 
+0230 c000823f beq 1 ,p_g24_mode_switch_bind 
+0231 20600000 rtn 
 
 p_g24_work_mode_delay:
-0236 6800c97c fetch 1 ,mem_24g_work_delay_count 
-0237 207a0000 rtn blank 
-0238 1fe0ffff increase -1 ,pdata 
-0239 6000c97c store 1 ,mem_24g_work_delay_count 
-023a 20600000 rtn 
+0232 6800c97c fetch 1 ,mem_24g_work_delay_count 
+0233 207a0000 rtn blank 
+0234 1fe0ffff increase -1 ,pdata 
+0235 6000c97c store 1 ,mem_24g_work_delay_count 
+0236 20600000 rtn 
 
 p_g24_mode_switch_work:
-023b 6800c97c fetch 1 ,mem_24g_work_delay_count 
-023c 243a0245 nbranch p_g24_bind_mode_enable ,blank 
-023d 202000c8 branch p_dongle_check_mode 
+0237 6800c97c fetch 1 ,mem_24g_work_delay_count 
+0238 243a0241 nbranch p_g24_bind_mode_enable ,blank 
+0239 202000c8 branch p_dongle_check_mode 
 
 p_g24_bind_mode_delay:
-023e 6800c97b fetch 1 ,mem_24g_bind_delay_count 
-023f 207a0000 rtn blank 
-0240 1fe0ffff increase -1 ,pdata 
-0241 6000c97b store 1 ,mem_24g_bind_delay_count 
-0242 20600000 rtn 
+023a 6800c97b fetch 1 ,mem_24g_bind_delay_count 
+023b 207a0000 rtn blank 
+023c 1fe0ffff increase -1 ,pdata 
+023d 6000c97b store 1 ,mem_24g_bind_delay_count 
+023e 20600000 rtn 
 
 p_g24_mode_switch_bind:
-0243 6800c97b fetch 1 ,mem_24g_bind_delay_count 
-0244 243a00c8 nbranch p_dongle_check_mode ,blank 
+023f 6800c97b fetch 1 ,mem_24g_bind_delay_count 
+0240 243a00c8 nbranch p_dongle_check_mode ,blank 
 
 p_g24_bind_mode_enable:
-0245 7048a401 jam dongle_bind ,mem_dongle_work_mode 
-0246 7048a300 jam clear_init ,mem_dongle_mode_init 
-0247 20600000 rtn 
+0241 7048a401 jam dongle_bind ,mem_dongle_work_mode 
+0242 7048a300 jam clear_init ,mem_dongle_mode_init 
+0243 20600000 rtn 
 
 p_g24_mode_switch_init_2:
-0248 6800c981 fetch 1 ,mem_24g_mode_switch_exit_2 
-0249 205a0271 call p_g24_mode_switch_start_2 ,blank 
-024a 6800c97e fetch 1 ,mem_24g_mode_switch_2_init 
-024b c3800000 rtnbit1 0 
-024c 79207e00 set1 0 ,pdata 
-024d 6000c97e store 1 ,mem_24g_mode_switch_2_init 
-024e 70497d01 jam 1 ,mem_24g_mode_switch_2 
-024f 70498200 jam 0 ,mem_24g_time_slice_2 
-0250 58000000 setarg 0 
-0251 6001497f store 2 ,mem_24g_mode_switch_cnt_2 
-0252 70485b60 jam 0x60 ,mem_24g_interval 
-0253 20200226 branch p_g24_timer_init 
+0244 6800c981 fetch 1 ,mem_24g_mode_switch_exit_2 
+0245 205a026d call p_g24_mode_switch_start_2 ,blank 
+0246 6800c97e fetch 1 ,mem_24g_mode_switch_2_init 
+0247 c3800000 rtnbit1 0 
+0248 79207e00 set1 0 ,pdata 
+0249 6000c97e store 1 ,mem_24g_mode_switch_2_init 
+024a 70497d01 jam 1 ,mem_24g_mode_switch_2 
+024b 70498200 jam 0 ,mem_24g_time_slice_2 
+024c 58000000 setarg 0 
+024d 6001497f store 2 ,mem_24g_mode_switch_cnt_2 
+024e 70485b60 jam 0x60 ,mem_24g_interval 
+024f 20200222 branch p_g24_timer_init 
 
 p_g24_mode_switch_2:
-0254 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-0255 c1000000 rtneq dongle_work 
-0256 6800c981 fetch 1 ,mem_24g_mode_switch_exit_2 
-0257 247a0000 nrtn blank 
-0258 6800c97d fetch 1 ,mem_24g_mode_switch_2 
-0259 207a0000 rtn blank 
-025a 20400214 call p_g24_timer_check 
-025b 24740000 nrtn user 
-025c 6801497f fetch 2 ,mem_24g_mode_switch_cnt_2 
-025d 1fe0fe01 increase 1 ,pdata 
-025e 6001497f store 2 ,mem_24g_mode_switch_cnt_2 
-025f d84007d0 arg 0x7d0 ,temp 
-0260 98467c00 isub temp ,null 
-0261 2021026d branch p_g24_mode_switch_exit_2 ,positive 
-0262 20400236 call p_g24_work_mode_delay 
-0263 6800c982 fetch 1 ,mem_24g_time_slice_2 
-0264 1fe0fe01 increase 1 ,pdata 
-0265 1fe17e01 and_into 1 ,pdata 
-0266 6000c982 store 1 ,mem_24g_time_slice_2 
-0267 c000026a beq 0 ,p_g24_mode_switch_search 
-0268 c0008245 beq 1 ,p_g24_bind_mode_enable 
-0269 20600000 rtn 
+0250 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+0251 c1000000 rtneq dongle_work 
+0252 6800c981 fetch 1 ,mem_24g_mode_switch_exit_2 
+0253 247a0000 nrtn blank 
+0254 6800c97d fetch 1 ,mem_24g_mode_switch_2 
+0255 207a0000 rtn blank 
+0256 20400210 call p_g24_timer_check 
+0257 24740000 nrtn user 
+0258 6801497f fetch 2 ,mem_24g_mode_switch_cnt_2 
+0259 1fe0fe01 increase 1 ,pdata 
+025a 6001497f store 2 ,mem_24g_mode_switch_cnt_2 
+025b d84007d0 arg 0x7d0 ,temp 
+025c 98467c00 isub temp ,null 
+025d 20210269 branch p_g24_mode_switch_exit_2 ,positive 
+025e 20400232 call p_g24_work_mode_delay 
+025f 6800c982 fetch 1 ,mem_24g_time_slice_2 
+0260 1fe0fe01 increase 1 ,pdata 
+0261 1fe17e01 and_into 1 ,pdata 
+0262 6000c982 store 1 ,mem_24g_time_slice_2 
+0263 c0000266 beq 0 ,p_g24_mode_switch_search 
+0264 c0008241 beq 1 ,p_g24_bind_mode_enable 
+0265 20600000 rtn 
 
 p_g24_mode_switch_search:
-026a 6800c97c fetch 1 ,mem_24g_work_delay_count 
-026b 243a0245 nbranch p_g24_bind_mode_enable ,blank 
-026c 20200280 branch p_g24_search_mode_enable 
+0266 6800c97c fetch 1 ,mem_24g_work_delay_count 
+0267 243a0241 nbranch p_g24_bind_mode_enable ,blank 
+0268 2020027c branch p_g24_search_mode_enable 
 
 p_g24_mode_switch_exit_2:
-026d 70498101 jam 1 ,mem_24g_mode_switch_exit_2 
-026e 20200280 branch p_g24_search_mode_enable 
+0269 70498101 jam 1 ,mem_24g_mode_switch_exit_2 
+026a 2020027c branch p_g24_search_mode_enable 
 
 p_g24_mode_switch_stop_2:
-026f 70497d00 jam 0 ,mem_24g_mode_switch_2 
-0270 20600000 rtn 
+026b 70497d00 jam 0 ,mem_24g_mode_switch_2 
+026c 20600000 rtn 
 
 p_g24_mode_switch_start_2:
-0271 70497d01 jam 1 ,mem_24g_mode_switch_2 
-0272 20600000 rtn 
+026d 70497d01 jam 1 ,mem_24g_mode_switch_2 
+026e 20600000 rtn 
 
 p_g24_enable_nodata_timer:
-0273 7048bb01 jam 1 ,mem_24g_nodata_timer_enable 
-0274 20203095 branch g24_enable_nodata_timer_init 
+026f 7048bb01 jam 1 ,mem_24g_nodata_timer_enable 
+0270 20203095 branch g24_enable_nodata_timer_init 
 
 p_g24_rx_nodata_process:
-0275 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
-0276 c1010000 rtneq 2 
-0277 6800c8bb fetch 1 ,mem_24g_nodata_timer_enable 
-0278 207a0000 rtn blank 
-0279 d8e00008 arg timer_nodata ,queue 
-027a 20407f16 call timer_check 
-027b 247a0000 nrtn blank 
-027c 7048bb00 jam 0 ,mem_24g_nodata_timer_enable 
-027d 70497b00 jam 0 ,mem_24g_bind_delay_count 
-027e 70497c00 jam 0 ,mem_24g_work_delay_count 
-027f 20400248 call p_g24_mode_switch_init_2 
+0271 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
+0272 c1010000 rtneq 2 
+0273 6800c8bb fetch 1 ,mem_24g_nodata_timer_enable 
+0274 207a0000 rtn blank 
+0275 d8e00008 arg timer_nodata ,queue 
+0276 20407f16 call timer_check 
+0277 247a0000 nrtn blank 
+0278 7048bb00 jam 0 ,mem_24g_nodata_timer_enable 
+0279 70497b00 jam 0 ,mem_24g_bind_delay_count 
+027a 70497c00 jam 0 ,mem_24g_work_delay_count 
+027b 20400244 call p_g24_mode_switch_init_2 
 
 p_g24_search_mode_enable:
-0280 7048a407 jam dongle_search ,mem_dongle_work_mode 
-0281 7048a300 jam clear_init ,mem_dongle_mode_init 
-0282 20200139 branch p_g24_rx_interrupt_clear 
+027c 7048a407 jam dongle_search ,mem_dongle_work_mode 
+027d 7048a300 jam clear_init ,mem_dongle_mode_init 
+027e 20200139 branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_transmit_ack:
-0283 20400139 call p_g24_rx_interrupt_clear 
-0284 2040049f call p_g24_receive_packet 
-0285 24778000 nrtn user3 
-0286 20200324 branch p_g24_transmit_ack 
+027f 20400139 call p_g24_rx_interrupt_clear 
+0280 2040049f call p_g24_receive_packet 
+0281 24778000 nrtn user3 
+0282 20200320 branch p_g24_transmit_ack 
 
 p_g24_dongle_search_mode_auto:
-0287 6800c8a4 fetch 1 ,mem_dongle_work_mode 
-0288 c1838000 rtnne dongle_search 
-0289 204002ae call p_g24_dongle_search_mode_init 
-028a 204002c2 call p_g24_rx_auto_addr_ch_search 
-028b 20400283 call p_g24_receive_transmit_ack 
-028c 24378139 nbranch p_g24_rx_interrupt_clear ,user3 
-028d 204002be call p_g24_rx_addr_check 
-028e 20428368 call p_g24_receive_packet_parse ,zero 
-028f 6800c8b0 fetch 1 ,mem_24g_abort_packet 
-0290 205a026f call p_g24_mode_switch_stop_2 ,blank 
-0291 7048a400 jam dongle_work ,mem_dongle_work_mode 
-0292 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-0293 79207e00 set1 dongle_work ,pdata 
-0294 6000c8a3 store 1 ,mem_dongle_mode_init 
-0295 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
-0296 1fe67c02 sub pdata ,2 ,null 
-0297 244282a5 ncall p_g24_ackpayload_disable ,zero 
-0298 20400139 call p_g24_rx_interrupt_clear 
-0299 20400273 call p_g24_enable_nodata_timer 
-029a 204002be call p_g24_rx_addr_check 
-029b 202282a7 branch p_g24_dg_ch_num_reinit ,zero 
+0283 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+0284 c1838000 rtnne dongle_search 
+0285 204002aa call p_g24_dongle_search_mode_init 
+0286 204002be call p_g24_rx_auto_addr_ch_search 
+0287 2040027f call p_g24_receive_transmit_ack 
+0288 24378139 nbranch p_g24_rx_interrupt_clear ,user3 
+0289 204002ba call p_g24_rx_addr_check 
+028a 20428368 call p_g24_receive_packet_parse ,zero 
+028b 6800c8b0 fetch 1 ,mem_24g_abort_packet 
+028c 205a026b call p_g24_mode_switch_stop_2 ,blank 
+028d 7048a400 jam dongle_work ,mem_dongle_work_mode 
+028e 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+028f 79207e00 set1 dongle_work ,pdata 
+0290 6000c8a3 store 1 ,mem_dongle_mode_init 
+0291 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
+0292 1fe67c02 sub pdata ,2 ,null 
+0293 244282a1 ncall p_g24_ackpayload_disable ,zero 
+0294 20400139 call p_g24_rx_interrupt_clear 
+0295 2040026f call p_g24_enable_nodata_timer 
+0296 204002ba call p_g24_rx_addr_check 
+0297 202282a3 branch p_g24_dg_ch_num_reinit ,zero 
+0298 6802485e fetch 4 ,mem_24g_addr 
+0299 680a48d6 fetcht 4 ,mem_24g_kb_addr 
+029a 98467c00 isub temp ,null 
+029b 202282a6 branch p_g24_kb_ch_num_reinit ,zero 
 029c 6802485e fetch 4 ,mem_24g_addr 
-029d 680a48d6 fetcht 4 ,mem_24g_kb_addr 
+029d 680a48da fetcht 4 ,mem_24g_ms_addr 
 029e 98467c00 isub temp ,null 
-029f 202282aa branch p_g24_kb_ch_num_reinit ,zero 
-02a0 6802485e fetch 4 ,mem_24g_addr 
-02a1 680a48da fetcht 4 ,mem_24g_ms_addr 
-02a2 98467c00 isub temp ,null 
-02a3 202282ac branch p_g24_ms_ch_num_reinit ,zero 
-02a4 20600000 rtn 
+029f 202282a8 branch p_g24_ms_ch_num_reinit ,zero 
+02a0 20600000 rtn 
 
 p_g24_ackpayload_disable:
-02a5 7048b800 jam 0 ,mem_24g_ackpayload_enable 
-02a6 20600000 rtn 
+02a1 7048b800 jam 0 ,mem_24g_ackpayload_enable 
+02a2 20600000 rtn 
 
 p_g24_dg_ch_num_reinit:
-02a7 6800c8df fetch 1 ,mem_24g_dg_ch_number 
+02a3 6800c8df fetch 1 ,mem_24g_dg_ch_number 
 
 p_g24_current_ch_num_reinit:
-02a8 6000c841 store 1 ,mem_24g_current_ch_number 
-02a9 20600000 rtn 
+02a4 6000c841 store 1 ,mem_24g_current_ch_number 
+02a5 20600000 rtn 
 
 p_g24_kb_ch_num_reinit:
-02aa 6800c8e2 fetch 1 ,mem_24g_kb_ch_number 
-02ab 202002a8 branch p_g24_current_ch_num_reinit 
+02a6 6800c8e2 fetch 1 ,mem_24g_kb_ch_number 
+02a7 202002a4 branch p_g24_current_ch_num_reinit 
 
 p_g24_ms_ch_num_reinit:
-02ac 6800c8e5 fetch 1 ,mem_24g_ms_ch_number 
-02ad 202002a8 branch p_g24_current_ch_num_reinit 
+02a8 6800c8e5 fetch 1 ,mem_24g_ms_ch_number 
+02a9 202002a4 branch p_g24_current_ch_num_reinit 
 
 p_g24_dongle_search_mode_init:
-02ae 6800c8a3 fetch 1 ,mem_dongle_mode_init 
-02af c3838000 rtnbit1 dongle_search 
-02b0 79207e07 set1 dongle_search ,pdata 
-02b1 6000c8a3 store 1 ,mem_dongle_mode_init 
-02b2 7048bc00 jam 0 ,mem_24g_time_slice 
-02b3 7048b801 jam 1 ,mem_24g_ackpayload_enable 
-02b4 58000000 setarg 0 
-02b5 6001c8f5 store 3 ,mem_rssi_noise_dg_index 
-02b6 6003c8e0 store 7 ,mem_24g_dg_config_ch_once 
-02b7 204002be call p_g24_rx_addr_check 
-02b8 24628000 nrtn zero 
-02b9 6800c841 fetch 1 ,mem_24g_current_ch_number 
-02ba 6000c8df store 1 ,mem_24g_dg_ch_number 
-02bb 6800c840 fetch 1 ,mem_24g_ch 
-02bc 6000c8de store 1 ,mem_24g_dg_last_ch 
-02bd 20600000 rtn 
+02aa 6800c8a3 fetch 1 ,mem_dongle_mode_init 
+02ab c3838000 rtnbit1 dongle_search 
+02ac 79207e07 set1 dongle_search ,pdata 
+02ad 6000c8a3 store 1 ,mem_dongle_mode_init 
+02ae 7048bc00 jam 0 ,mem_24g_time_slice 
+02af 7048b801 jam 1 ,mem_24g_ackpayload_enable 
+02b0 58000000 setarg 0 
+02b1 6001c8f5 store 3 ,mem_rssi_noise_dg_index 
+02b2 6003c8e0 store 7 ,mem_24g_dg_config_ch_once 
+02b3 204002ba call p_g24_rx_addr_check 
+02b4 24628000 nrtn zero 
+02b5 6800c841 fetch 1 ,mem_24g_current_ch_number 
+02b6 6000c8df store 1 ,mem_24g_dg_ch_number 
+02b7 6800c840 fetch 1 ,mem_24g_ch 
+02b8 6000c8de store 1 ,mem_24g_dg_last_ch 
+02b9 20600000 rtn 
 
 p_g24_rx_addr_check:
-02be 6802485e fetch 4 ,mem_24g_addr 
-02bf 680a489f fetcht 4 ,mem_24g_rx_addr 
-02c0 98467c00 isub temp ,null 
-02c1 20600000 rtn 
+02ba 6802485e fetch 4 ,mem_24g_addr 
+02bb 680a489f fetcht 4 ,mem_24g_rx_addr 
+02bc 98467c00 isub temp ,null 
+02bd 20600000 rtn 
 
 p_g24_rx_auto_addr_ch_search:
-02c2 6800c8bc fetch 1 ,mem_24g_time_slice 
-02c3 1fe0fe01 increase 1 ,pdata 
-02c4 1fe17e03 and_into 3 ,pdata 
-02c5 6000c8bc store 1 ,mem_24g_time_slice 
-02c6 c00002e5 beq 0 ,p_g24_rx_auto_bind_config_kb 
-02c7 c00082ff beq 1 ,p_g24_rx_auto_bind_config_dongle 
-02c8 c00102cb beq 2 ,p_g24_rx_auto_bind_config_mouse 
-02c9 c00182ff beq 3 ,p_g24_rx_auto_bind_config_dongle 
-02ca 20600000 rtn 
+02be 6800c8bc fetch 1 ,mem_24g_time_slice 
+02bf 1fe0fe01 increase 1 ,pdata 
+02c0 1fe17e03 and_into 3 ,pdata 
+02c1 6000c8bc store 1 ,mem_24g_time_slice 
+02c2 c00002e1 beq 0 ,p_g24_rx_auto_bind_config_kb 
+02c3 c00082fb beq 1 ,p_g24_rx_auto_bind_config_dongle 
+02c4 c00102c7 beq 2 ,p_g24_rx_auto_bind_config_mouse 
+02c5 c00182fb beq 3 ,p_g24_rx_auto_bind_config_dongle 
+02c6 20600000 rtn 
 
 p_g24_rx_auto_bind_config_mouse:
-02cb 2040015e call p_g24_dongle_bind_ms_payload_cfg 
-02cc 680248da fetch 4 ,mem_24g_ms_addr 
-02cd 203a02c2 branch p_g24_rx_auto_addr_ch_search ,blank 
-02ce 20400465 call p_g24_update_addr_and_synccrc8 
-02cf 6800c8e6 fetch 1 ,mem_24g_ms_config_ch_once 
-02d0 205a02e0 call p_g24_ms_config_ch_once ,blank 
-02d1 6800c8e4 fetch 1 ,mem_24g_ms_last_ch 
-02d2 6000c840 store 1 ,mem_24g_ch 
-02d3 6808c8f7 fetcht 1 ,mem_rssi_noise_ms_index 
-02d4 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
-02d5 20400459 call p_rssi_store 
-02d6 6008c8f7 storet 1 ,mem_rssi_noise_ms_index 
-02d7 20400460 call p_rssi_average 
-02d8 6008c8f4 storet 1 ,mem_rssi_noise_ms_avg 
-02d9 18467c50 sub temp ,rssi_thresh_noise ,null 
-02da 24610000 nrtn positive 
-02db 6808c8e5 fetcht 1 ,mem_24g_ms_ch_number 
-02dc 20400489 call p_g24_ch_map_size 
-02dd 6008c8e5 storet 1 ,mem_24g_ms_ch_number 
-02de 6000c8e4 store 1 ,mem_24g_ms_last_ch 
-02df 20600000 rtn 
+02c7 2040015a call p_g24_dongle_bind_ms_payload_cfg 
+02c8 680248da fetch 4 ,mem_24g_ms_addr 
+02c9 203a02be branch p_g24_rx_auto_addr_ch_search ,blank 
+02ca 20400465 call p_g24_update_addr_and_synccrc8 
+02cb 6800c8e6 fetch 1 ,mem_24g_ms_config_ch_once 
+02cc 205a02dc call p_g24_ms_config_ch_once ,blank 
+02cd 6800c8e4 fetch 1 ,mem_24g_ms_last_ch 
+02ce 6000c840 store 1 ,mem_24g_ch 
+02cf 6808c8f7 fetcht 1 ,mem_rssi_noise_ms_index 
+02d0 da200f9e arg mem_rssi_noise_ms_buffer ,rega 
+02d1 20400459 call p_rssi_store 
+02d2 6008c8f7 storet 1 ,mem_rssi_noise_ms_index 
+02d3 20400460 call p_rssi_average 
+02d4 6008c8f4 storet 1 ,mem_rssi_noise_ms_avg 
+02d5 18467c50 sub temp ,rssi_thresh_noise ,null 
+02d6 24610000 nrtn positive 
+02d7 6808c8e5 fetcht 1 ,mem_24g_ms_ch_number 
+02d8 20400489 call p_g24_ch_map_size 
+02d9 6008c8e5 storet 1 ,mem_24g_ms_ch_number 
+02da 6000c8e4 store 1 ,mem_24g_ms_last_ch 
+02db 20600000 rtn 
 
 p_g24_ms_config_ch_once:
-02e0 7048e601 jam 1 ,mem_24g_ms_config_ch_once 
-02e1 d8400000 arg 0 ,temp 
-02e2 2040048d call p_g24_ch_calc 
-02e3 6000c8e4 store 1 ,mem_24g_ms_last_ch 
-02e4 20600000 rtn 
+02dc 7048e601 jam 1 ,mem_24g_ms_config_ch_once 
+02dd d8400000 arg 0 ,temp 
+02de 2040048d call p_g24_ch_calc 
+02df 6000c8e4 store 1 ,mem_24g_ms_last_ch 
+02e0 20600000 rtn 
 
 p_g24_rx_auto_bind_config_kb:
-02e5 20400166 call p_g24_dongle_bind_kb_payload_cfg 
-02e6 680248d6 fetch 4 ,mem_24g_kb_addr 
-02e7 203a02c2 branch p_g24_rx_auto_addr_ch_search ,blank 
-02e8 20400465 call p_g24_update_addr_and_synccrc8 
-02e9 6800c8e3 fetch 1 ,mem_24g_kb_config_ch_once 
-02ea 205a02fa call p_g24_kb_config_ch_once ,blank 
-02eb 6800c8e1 fetch 1 ,mem_24g_kb_last_ch 
-02ec 6000c840 store 1 ,mem_24g_ch 
-02ed 6808c8f6 fetcht 1 ,mem_rssi_noise_kb_index 
-02ee da20109e arg mem_rssi_noise_kb_buffer ,rega 
-02ef 20400459 call p_rssi_store 
-02f0 6008c8f6 storet 1 ,mem_rssi_noise_kb_index 
-02f1 20400460 call p_rssi_average 
-02f2 6008c8f3 storet 1 ,mem_rssi_noise_kb_avg 
-02f3 18467c50 sub temp ,rssi_thresh_noise ,null 
-02f4 24610000 nrtn positive 
-02f5 6808c8e2 fetcht 1 ,mem_24g_kb_ch_number 
-02f6 20400489 call p_g24_ch_map_size 
-02f7 6008c8e2 storet 1 ,mem_24g_kb_ch_number 
-02f8 6000c8e1 store 1 ,mem_24g_kb_last_ch 
-02f9 20600000 rtn 
+02e1 20400162 call p_g24_dongle_bind_kb_payload_cfg 
+02e2 680248d6 fetch 4 ,mem_24g_kb_addr 
+02e3 203a02be branch p_g24_rx_auto_addr_ch_search ,blank 
+02e4 20400465 call p_g24_update_addr_and_synccrc8 
+02e5 6800c8e3 fetch 1 ,mem_24g_kb_config_ch_once 
+02e6 205a02f6 call p_g24_kb_config_ch_once ,blank 
+02e7 6800c8e1 fetch 1 ,mem_24g_kb_last_ch 
+02e8 6000c840 store 1 ,mem_24g_ch 
+02e9 6808c8f6 fetcht 1 ,mem_rssi_noise_kb_index 
+02ea da20109e arg mem_rssi_noise_kb_buffer ,rega 
+02eb 20400459 call p_rssi_store 
+02ec 6008c8f6 storet 1 ,mem_rssi_noise_kb_index 
+02ed 20400460 call p_rssi_average 
+02ee 6008c8f3 storet 1 ,mem_rssi_noise_kb_avg 
+02ef 18467c50 sub temp ,rssi_thresh_noise ,null 
+02f0 24610000 nrtn positive 
+02f1 6808c8e2 fetcht 1 ,mem_24g_kb_ch_number 
+02f2 20400489 call p_g24_ch_map_size 
+02f3 6008c8e2 storet 1 ,mem_24g_kb_ch_number 
+02f4 6000c8e1 store 1 ,mem_24g_kb_last_ch 
+02f5 20600000 rtn 
 
 p_g24_kb_config_ch_once:
-02fa 7048e301 jam 1 ,mem_24g_kb_config_ch_once 
-02fb d8400000 arg 0 ,temp 
-02fc 2040048d call p_g24_ch_calc 
-02fd 6000c8e1 store 1 ,mem_24g_kb_last_ch 
-02fe 20600000 rtn 
+02f6 7048e301 jam 1 ,mem_24g_kb_config_ch_once 
+02f7 d8400000 arg 0 ,temp 
+02f8 2040048d call p_g24_ch_calc 
+02f9 6000c8e1 store 1 ,mem_24g_kb_last_ch 
+02fa 20600000 rtn 
 
 p_g24_rx_auto_bind_config_dongle:
-02ff 2040015e call p_g24_dongle_bind_ms_payload_cfg 
-0300 6802489f fetch 4 ,mem_24g_rx_addr 
-0301 20400465 call p_g24_update_addr_and_synccrc8 
-0302 6800c8e0 fetch 1 ,mem_24g_dg_config_ch_once 
-0303 205a0313 call p_g24_dg_config_ch_once ,blank 
-0304 6800c8de fetch 1 ,mem_24g_dg_last_ch 
-0305 6000c840 store 1 ,mem_24g_ch 
-0306 6808c8f5 fetcht 1 ,mem_rssi_noise_dg_index 
-0307 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
-0308 20400459 call p_rssi_store 
-0309 6008c8f5 storet 1 ,mem_rssi_noise_dg_index 
-030a 20400460 call p_rssi_average 
-030b 6008c8f2 storet 1 ,mem_rssi_noise_dg_avg 
-030c 18467c50 sub temp ,rssi_thresh_noise ,null 
-030d 24610000 nrtn positive 
-030e 6808c8df fetcht 1 ,mem_24g_dg_ch_number 
-030f 20400489 call p_g24_ch_map_size 
-0310 6008c8df storet 1 ,mem_24g_dg_ch_number 
-0311 6000c8de store 1 ,mem_24g_dg_last_ch 
-0312 20600000 rtn 
+02fb 2040015a call p_g24_dongle_bind_ms_payload_cfg 
+02fc 6802489f fetch 4 ,mem_24g_rx_addr 
+02fd 20400465 call p_g24_update_addr_and_synccrc8 
+02fe 6800c8e0 fetch 1 ,mem_24g_dg_config_ch_once 
+02ff 205a030f call p_g24_dg_config_ch_once ,blank 
+0300 6800c8de fetch 1 ,mem_24g_dg_last_ch 
+0301 6000c840 store 1 ,mem_24g_ch 
+0302 6808c8f5 fetcht 1 ,mem_rssi_noise_dg_index 
+0303 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
+0304 20400459 call p_rssi_store 
+0305 6008c8f5 storet 1 ,mem_rssi_noise_dg_index 
+0306 20400460 call p_rssi_average 
+0307 6008c8f2 storet 1 ,mem_rssi_noise_dg_avg 
+0308 18467c50 sub temp ,rssi_thresh_noise ,null 
+0309 24610000 nrtn positive 
+030a 6808c8df fetcht 1 ,mem_24g_dg_ch_number 
+030b 20400489 call p_g24_ch_map_size 
+030c 6008c8df storet 1 ,mem_24g_dg_ch_number 
+030d 6000c8de store 1 ,mem_24g_dg_last_ch 
+030e 20600000 rtn 
 
 p_g24_dg_config_ch_once:
-0313 7048e001 jam 1 ,mem_24g_dg_config_ch_once 
-0314 6800c8de fetch 1 ,mem_24g_dg_last_ch 
-0315 6000c840 store 1 ,mem_24g_ch 
-0316 20600000 rtn 
+030f 7048e001 jam 1 ,mem_24g_dg_config_ch_once 
+0310 6800c8de fetch 1 ,mem_24g_dg_last_ch 
+0311 6000c840 store 1 ,mem_24g_ch 
+0312 20600000 rtn 
 
 p_g24_read_len_pid_crc:
-0317 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
-0318 1fe97e00 rshift3 pdata ,pdata 
-0319 6000c834 store 1 ,mem_24g_rxdata_length 
-031a 1fe0fe01 increase 1 ,pdata 
-031b d8c047b1 arg mem_24g_rxbuf + 1 ,contr 
-031c 98c08c00 iadd contr ,contr 
-031d e8c18000 ifetch 3 ,contr 
-031e 6001c873 store 3 ,mem_24g_sta_crc 
-031f 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
-0320 1fe37e00 rshift pdata ,pdata 
-0321 1fe17e03 and pdata ,0x03 ,pdata 
-0322 6000c879 store 1 ,mem_24g_sta_pid 
-0323 20600000 rtn 
+0313 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
+0314 1fe97e00 rshift3 pdata ,pdata 
+0315 6000c834 store 1 ,mem_24g_rxdata_length 
+0316 1fe0fe01 increase 1 ,pdata 
+0317 d8c047b1 arg mem_24g_rxbuf + 1 ,contr 
+0318 98c08c00 iadd contr ,contr 
+0319 e8c18000 ifetch 3 ,contr 
+031a 6001c873 store 3 ,mem_24g_sta_crc 
+031b 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
+031c 1fe37e00 rshift pdata ,pdata 
+031d 1fe17e03 and pdata ,0x03 ,pdata 
+031e 6000c879 store 1 ,mem_24g_sta_pid 
+031f 20600000 rtn 
 
 p_g24_transmit_ack:
-0324 6800c7b0 fetch 1 ,mem_24g_rxbuf 
-0325 6000c837 store 1 ,mem_24g_data_type 
-0326 20400317 call p_g24_read_len_pid_crc 
-0327 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
-0328 2feffe00 isolate1 bit_ack_24g ,pdata 
-0329 2020832d branch p_g24tx_no_ack ,true 
+0320 6800c7b0 fetch 1 ,mem_24g_rxbuf 
+0321 6000c837 store 1 ,mem_24g_data_type 
+0322 20400313 call p_g24_read_len_pid_crc 
+0323 6800c7b1 fetch 1 ,mem_24g_rxbuf + 1 
+0324 2feffe00 isolate1 bit_ack_24g ,pdata 
+0325 20208329 branch p_g24tx_no_ack ,true 
 
 p_g24tx_with_ack:
-032a 2040032e call p_g24_ackpayload_prep 
-032b 20400473 call p_g24_transmit_prep 
-032c 204004e9 call p_g24_transmit 
+0326 2040032a call p_g24_ackpayload_prep 
+0327 20400473 call p_g24_transmit_prep 
+0328 204004e9 call p_g24_transmit 
 
 p_g24tx_no_ack:
-032d 202004e1 branch p_g24_end_of_packet 
+0329 202004e1 branch p_g24_end_of_packet 
 
 p_g24_ackpayload_prep:
-032e 70483600 jam 0 ,mem_24g_datalen 
-032f 6800c837 fetch 1 ,mem_24g_data_type 
-0330 c0008332 beq 0x01 ,p_g24_ackpayload_prep_mouse 
-0331 c0010337 beq 0x02 ,p_g24_ackpayload_prep_keyboard 
+032a 70483600 jam 0 ,mem_24g_datalen 
+032b 6800c837 fetch 1 ,mem_24g_data_type 
+032c c000832e beq 0x01 ,p_g24_ackpayload_prep_mouse 
+032d c0010333 beq 0x02 ,p_g24_ackpayload_prep_keyboard 
 
 p_g24_ackpayload_prep_mouse:
-0332 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
-0333 c280033f bbit1 0 ,p_g24_pc_sleep_ackpayload_prep_mouse 
-0334 20200339 branch p_g24_ackpayload_prep_end 
+032e 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
+032f c280033b bbit1 0 ,p_g24_pc_sleep_ackpayload_prep_mouse 
+0330 20200335 branch p_g24_ackpayload_prep_end 
 
 p_g24_clear_pc_sleep_flag:
-0335 70497a00 jam 0 ,mem_24g_pc_sleep_flag 
-0336 20600000 rtn 
+0331 70497a00 jam 0 ,mem_24g_pc_sleep_flag 
+0332 20600000 rtn 
 
 p_g24_ackpayload_prep_keyboard:
-0337 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
-0338 c2808343 bbit1 1 ,p_g24_pc_sleep_ackpayload_prep_keyboard 
+0333 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
+0334 c280833f bbit1 1 ,p_g24_pc_sleep_ackpayload_prep_keyboard 
 
 p_g24_ackpayload_prep_end:
-0339 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
-033a 207a0000 rtn blank 
-033b c000834a beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
-033c c0010352 beq user_ackpayload ,p_g24_user_ackpayload_prep 
-033d c001835c beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
-033e 20600000 rtn 
+0335 6800c8b8 fetch 1 ,mem_24g_ackpayload_enable 
+0336 207a0000 rtn blank 
+0337 c0008346 beq bind_ackpayload ,p_g24_bind_ackpayload_prep 
+0338 c0010352 beq user_ackpayload ,p_g24_user_ackpayload_prep 
+0339 c001835c beq kb_led_ackpayload ,p_g24_kb_led_ackpayload_prep 
+033a 20600000 rtn 
 
 p_g24_pc_sleep_ackpayload_prep_mouse:
-033f 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
-0340 793ffe00 set0 0 ,pdata 
-0341 6000c97a store 1 ,mem_24g_pc_sleep_flag 
-0342 20200346 branch p_g24_pc_sleep_ackpayload_prep 
+033b 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
+033c 793ffe00 set0 0 ,pdata 
+033d 6000c97a store 1 ,mem_24g_pc_sleep_flag 
+033e 20200342 branch p_g24_pc_sleep_ackpayload_prep 
 
 p_g24_pc_sleep_ackpayload_prep_keyboard:
-0343 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
-0344 793ffe01 set0 1 ,pdata 
-0345 6000c97a store 1 ,mem_24g_pc_sleep_flag 
+033f 6800c97a fetch 1 ,mem_24g_pc_sleep_flag 
+0340 793ffe01 set0 1 ,pdata 
+0341 6000c97a store 1 ,mem_24g_pc_sleep_flag 
 
 p_g24_pc_sleep_ackpayload_prep:
-0346 70483601 jam 0x01 ,mem_24g_datalen 
-0347 580000ff setarg 0xff 
-0348 6000c7d2 store 1 ,mem_24g_txbuf 
-0349 20600000 rtn 
+0342 70483601 jam 0x01 ,mem_24g_datalen 
+0343 580000ff setarg 0xff 
+0344 6000c7d2 store 1 ,mem_24g_txbuf 
+0345 20600000 rtn 
 
 p_g24_bind_ackpayload_prep:
-034a 7048b801 jam 1 ,mem_24g_ackpayload_enable 
+0346 7048b801 jam 1 ,mem_24g_ackpayload_enable 
+0347 6800c8a4 fetch 1 ,mem_dongle_work_mode 
+0348 c1000000 rtneq dongle_work 
+0349 6800c8ba fetch 1 ,mem_24g_pair_mode 
+034a 247a0000 nrtn blank 
 034b 2040013c call p_g24_dongle_binding_device_check 
 034c 24778000 nrtn user3 
+
+p_g24_bind_ackpayload_prep_next:
 034d 70483608 jam 0x08 ,mem_24g_datalen 
 034e df200008 arg 0x08 ,loopcnt 
 034f d8c048a8 arg mem_24g_bind_payload ,contr 
@@ -1160,7 +1162,7 @@
 0351 20207f01 branch memcpy 
 
 p_g24_user_ackpayload_prep:
-0352 204001c0 call p_g24_queue_read_point 
+0352 204001bc call p_g24_queue_read_point 
 0353 24740000 nrtn user 
 0354 7048361f jam 0x1f ,mem_24g_datalen 
 0355 df20001f arg 0x1f ,loopcnt 
@@ -1173,8 +1175,8 @@
 
 p_g24_kb_led_ackpayload_prep:
 035c 6800c7b2 fetch 1 ,mem_24g_rxbuf + 2 
-035d c000834a beq 0x01 ,p_g24_bind_ackpayload_prep 
-035e c07f834a beq 0xff ,p_g24_bind_ackpayload_prep 
+035d c000834d beq 0x01 ,p_g24_bind_ackpayload_prep_next 
+035e c07f834d beq 0xff ,p_g24_bind_ackpayload_prep_next 
 035f 700d4300 jam 0 ,mem_usb_tx_win_enable 
 0360 70483601 jam 0x01 ,mem_24g_datalen 
 0361 df200001 arg 0x01 ,loopcnt 
@@ -1183,7 +1185,7 @@
 0364 20207f01 branch memcpy 
 
 p_g24_receive_packet_start:
-0365 20400283 call p_g24_receive_transmit_ack 
+0365 2040027f call p_g24_receive_transmit_ack 
 0366 24378139 nbranch p_g24_rx_interrupt_clear ,user3 
 0367 20200368 branch p_g24_receive_packet_parse 
 
@@ -1199,7 +1201,7 @@
 0370 20407f01 call memcpy 
 0371 7048b700 jam 0 ,mem_24g_mode_switch 
 0372 6800c8ba fetch 1 ,mem_24g_pair_mode 
-0373 205a0273 call p_g24_enable_nodata_timer ,blank 
+0373 205a026f call p_g24_enable_nodata_timer ,blank 
 0374 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
 0375 c0008387 beq 0x01 ,p_g24_data_type1 
 0376 c00103a7 beq 0x02 ,p_g24_data_type2 
@@ -1223,7 +1225,7 @@
 0386 20600000 rtn 
 
 p_g24_data_type1:
-0387 2040014b call p_g24_dongle_binding_mouse_living 
+0387 20400147 call p_g24_dongle_binding_mouse_living 
 0388 204000f5 call p_g24_ch_timer_reinit 
 0389 6800c8b0 fetch 1 ,mem_24g_abort_packet 
 038a 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
@@ -1261,7 +1263,7 @@
 03a6 20207f08 branch timer_init 
 
 p_g24_data_type2:
-03a7 20400151 call p_g24_dongle_binding_keyboard_living 
+03a7 2040014d call p_g24_dongle_binding_keyboard_living 
 03a8 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
 03a9 284ffe03 isolate1 bit_abort ,temp 
 03aa 20208408 branch p_g24_data_attemp_kbd_abort ,true 
@@ -1380,22 +1382,22 @@
 03ff 20600000 rtn 
 
 p_g24_data_attemp_mouse:
-0400 2040014b call p_g24_dongle_binding_mouse_living 
+0400 20400147 call p_g24_dongle_binding_mouse_living 
 0401 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-0402 202001a3 branch p_g24_store_mouse_addr 
+0402 2020019f branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd:
-0403 20400151 call p_g24_dongle_binding_keyboard_living 
+0403 2040014d call p_g24_dongle_binding_keyboard_living 
 0404 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-0405 202001a6 branch p_g24_store_kbd_addr 
+0405 202001a2 branch p_g24_store_kbd_addr 
 
 p_g24_data_attemp_mouse_abort:
 0406 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-0407 202001a3 branch p_g24_store_mouse_addr 
+0407 2020019f branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd_abort:
 0408 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-0409 202001a6 branch p_g24_store_kbd_addr 
+0409 202001a2 branch p_g24_store_kbd_addr 
 
 p_g24_ota_process:
 040a 68014882 fetch 2 ,mem_24g_rxdata_temp + 5 
@@ -1410,12 +1412,12 @@
 0411 6800c900 fetch 1 ,mem_queue_ele_num 
 0412 207a0000 rtn blank 
 0413 58004901 setarg mem_queue_read 
-0414 204001b7 call p_g24_queue_increase 
+0414 204001b3 call p_g24_queue_increase 
 0415 6800c900 fetch 1 ,mem_queue_ele_num 
 0416 1fe0ffff increase -1 ,pdata 
 0417 6000c900 store 1 ,mem_queue_ele_num 
 0418 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
-0419 c06081fa beq cmd_ota_data ,p_user_defined_queue_buff_free 
+0419 c06081f6 beq cmd_ota_data ,p_user_defined_queue_buff_free 
 041a c061041c beq cmd_ota_exit ,p_g24_ota_exit_process 
 041b 20600000 rtn 
 
@@ -1423,7 +1425,7 @@
 041c 58000000 setarg 0 
 041d 600148eb store 2 ,mem_24g_ota_sta_pid 
 041e 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
-041f 204001a8 call p_g24_queue_init 
+041f 204001a4 call p_g24_queue_init 
 0420 6800c884 fetch 1 ,mem_24g_rxdata_temp + 7 
 0421 c02a8424 beq ota_sta_success ,p_g24_ota_exit_success 
 0422 c0550426 beq ota_sta_fail ,p_g24_ota_exit_fail 
Index: program/patch.prog
===================================================================
--- /branch/USB/dongle/program/patch.prog	(revision 5412)
+++ /branch/USB/dongle/program/patch.prog	(working copy)
@@ -430,11 +430,7 @@
 	arg 66,loopcnt
 	branch clear_mem
 
-p_g24_dongle_binding_device_check:	//works on auto pair
-	fetch 1,mem_dongle_work_mode
-	rtnne DONGLE_BIND
-	fetch 1,mem_24g_pair_mode
-	nrtn blank	
+p_g24_dongle_binding_device_check:	//works on auto pair	
 	fetch 1,mem_24g_rxbuf+3
 	beq BIND_MOUSE,p_g24_dongle_binding_mouse_status	//bit0
 	beq BIND_KEYBOARD,p_g24_dongle_binding_keyboard_status	//bit1
@@ -1141,8 +1137,13 @@
 
 p_g24_bind_ackpayload_prep:
 	jam 1,mem_24g_ackpayload_enable
+	fetch 1,mem_dongle_work_mode
+	rtneq DONGLE_WORK
+	fetch 1,mem_24g_pair_mode
+	nrtn blank
 	call p_g24_dongle_binding_device_check	//works on auto pair only
 	nrtn user3
+p_g24_bind_ackpayload_prep_next:	
 	jam 0x08,mem_24g_datalen
 	arg 0x08,loopcnt
 	arg mem_24g_bind_payload,contr
@@ -1163,8 +1164,8 @@
 
 p_g24_kb_led_ackpayload_prep:
 	fetch 1,mem_24g_rxbuf+2
-	beq 0x01,p_g24_bind_ackpayload_prep
-	beq 0xff,p_g24_bind_ackpayload_prep
+	beq 0x01,p_g24_bind_ackpayload_prep_next
+	beq 0xff,p_g24_bind_ackpayload_prep_next
 	
 	//jam 0,mem_24g_ackpayload_enable
 	jam 0,mem_usb_tx_win_enable
