Index: dongle/format/g24.format
===================================================================
--- /branch/USB/dongle/format/g24.format	(revision 661)
+++ /branch/USB/dongle/format/g24.format	(working copy)
@@ -402,6 +402,19 @@
 )
 
 (
+11 TIMER_NEW_MS_BLANK
+384 TIMER_NEW_MS_BLANK_DELAY
+
+12 TIMER_NEW_KB_MUL_BLANK
+384 TIMER_NEW_KB_MUL_BLANK_DELAY
+
+14 TIMER_NEW_KB_BLANK
+384 TIMER_NEW_KB_BLANK_DELAY
+)
+
+
+
+(
 0 KB_NORMAL_REPORT_ID
 1 MS_REPORT_ID
 3 KB_MULTIKEY_REPORT_ID
Index: dongle/output/eeprom.dat
===================================================================
--- /branch/USB/dongle/output/eeprom.dat	(revision 661)
+++ /branch/USB/dongle/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-ba
+ea
 0f
 c2
 84
@@ -11,15 +11,15 @@
 c0
 42
 83
-32
+3e
 c0
 44
 83
-0d
+19
 c0
 00
 03
-2d
+39
 c0
 47
 00
@@ -519,11 +519,11 @@
 20
 40
 03
-47
+53
 20
 40
 03
-67
+73
 20
 20
 00
@@ -603,7 +603,7 @@
 20
 20
 03
-67
+73
 70
 48
 b9
@@ -611,7 +611,7 @@
 20
 20
 03
-67
+73
 1c
 42
 7e
@@ -635,7 +635,7 @@
 20
 40
 03
-42
+4e
 60
 08
 c8
@@ -651,7 +651,7 @@
 20
 20
 03
-67
+73
 20
 40
 00
@@ -811,7 +811,7 @@
 20
 20
 03
-47
+53
 20
 40
 01
@@ -1735,7 +1735,7 @@
 20
 40
 03
-81
+8d
 24
 77
 80
@@ -2023,7 +2023,7 @@
 20
 40
 03
-47
+53
 68
 00
 c8
@@ -2051,7 +2051,7 @@
 20
 40
 03
-3b
+47
 60
 08
 c8
@@ -2059,7 +2059,7 @@
 20
 40
 03
-42
+4e
 60
 08
 c8
@@ -2079,7 +2079,7 @@
 20
 40
 03
-6b
+77
 60
 08
 c8
@@ -2103,7 +2103,7 @@
 20
 40
 03
-6f
+7b
 60
 00
 c8
@@ -2127,7 +2127,7 @@
 20
 40
 03
-47
+53
 68
 00
 c8
@@ -2155,7 +2155,7 @@
 20
 40
 03
-3b
+47
 60
 08
 c8
@@ -2163,7 +2163,7 @@
 20
 40
 03
-42
+4e
 60
 08
 c8
@@ -2183,7 +2183,7 @@
 20
 40
 03
-6b
+77
 60
 08
 c8
@@ -2207,7 +2207,7 @@
 20
 40
 03
-6f
+7b
 60
 00
 c8
@@ -2227,7 +2227,7 @@
 20
 40
 03
-47
+53
 68
 00
 c8
@@ -2255,7 +2255,7 @@
 20
 40
 03
-3b
+47
 60
 08
 c8
@@ -2263,7 +2263,7 @@
 20
 40
 03
-42
+4e
 60
 08
 c8
@@ -2283,7 +2283,7 @@
 20
 40
 03
-6b
+77
 60
 08
 c8
@@ -2395,15 +2395,15 @@
 20
 40
 03
-55
+61
 20
 40
 03
-cb
+d7
 20
 20
 03
-c3
+cf
 70
 48
 36
@@ -2591,11 +2591,11 @@
 c0
 01
 02
-b2
+b6
 c0
 7f
 82
-e3
+ef
 20
 20
 00
@@ -2683,7 +2683,7 @@
 c0
 00
 82
-eb
+f7
 68
 00
 c8
@@ -2711,7 +2711,7 @@
 c0
 67
 82
-ef
+fb
 58
 00
 00
@@ -2743,7 +2743,7 @@
 20
 5a
 02
-b0
+b2
 20
 20
 31
@@ -2752,18 +2752,34 @@
 48
 d5
 01
+58
+00
+01
+80
+d8
+e0
+00
+0b
 20
 20
-31
-bf
+7f
+08
 70
 48
 d5
 00
+58
+00
+00
+00
+d8
+e0
+00
+0b
 20
 20
-31
-c3
+7f
+08
 68
 08
 c8
@@ -2775,7 +2791,7 @@
 20
 20
 82
-ed
+f9
 68
 00
 c8
@@ -2783,11 +2799,11 @@
 c0
 00
 02
-b9
+bd
 c0
 01
 82
-ce
+d6
 20
 20
 00
@@ -2799,7 +2815,7 @@
 20
 40
 02
-c7
+cb
 68
 04
 0d
@@ -2807,7 +2823,7 @@
 24
 5a
 02
-ca
+ce
 68
 04
 0d
@@ -2815,7 +2831,7 @@
 20
 5a
 02
-cc
+d2
 68
 04
 0d
@@ -2864,18 +2880,34 @@
 48
 d3
 01
+58
+00
+01
+80
+d8
+e0
+00
+0e
 20
 20
-31
-e6
+7f
+08
 70
 48
 d3
 00
+58
+00
+00
+00
+d8
+e0
+00
+0e
 20
 20
-31
-ea
+7f
+08
 d8
 a0
 0d
@@ -2883,7 +2915,7 @@
 20
 40
 02
-dc
+e4
 68
 01
 0d
@@ -2891,7 +2923,7 @@
 24
 5a
 02
-df
+e7
 68
 01
 0d
@@ -2899,7 +2931,7 @@
 20
 5a
 02
-e1
+eb
 68
 01
 8d
@@ -2948,18 +2980,34 @@
 48
 d4
 01
+58
+00
+01
+80
+d8
+e0
+00
+0c
 20
 20
-32
-0b
+7f
+08
 70
 48
 d4
 00
+58
+00
+00
+00
+d8
+e0
+00
+0c
 20
 20
-32
-0f
+7f
+08
 68
 00
 c8
@@ -2967,11 +3015,11 @@
 c0
 00
 82
-e7
+f3
 c0
 01
 02
-e9
+f5
 20
 60
 00
@@ -3022,8 +3070,8 @@
 00
 20
 22
-82
-f4
+83
+00
 20
 60
 00
@@ -3035,7 +3083,7 @@
 c0
 61
 03
-01
+0d
 68
 00
 c9
@@ -3075,7 +3123,7 @@
 c0
 61
 03
-01
+0d
 20
 60
 00
@@ -3103,11 +3151,11 @@
 c0
 2a
 83
-09
+15
 c0
 55
 03
-0b
+17
 20
 60
 00
@@ -3195,11 +3243,11 @@
 c0
 02
 03
-26
+32
 20
 20
 03
-1f
+2b
 70
 89
 4b
@@ -3303,7 +3351,7 @@
 20
 40
 03
-3b
+47
 60
 08
 c8
@@ -3387,7 +3435,7 @@
 c2
 00
 03
-4b
+57
 1a
 22
 7e
@@ -3495,7 +3543,7 @@
 20
 40
 03
-6b
+77
 60
 08
 c8
@@ -3507,7 +3555,7 @@
 20
 40
 03
-6f
+7b
 18
 40
 84
@@ -3631,7 +3679,7 @@
 20
 40
 03
-78
+84
 78
 57
 fc
@@ -3667,7 +3715,7 @@
 24
 2c
 03
-c6
+d2
 78
 46
 fc
@@ -3707,7 +3755,7 @@
 24
 22
 83
-c3
+cf
 09
 80
 00
@@ -3731,7 +3779,7 @@
 20
 22
 83
-a8
+b4
 68
 00
 c7
@@ -3747,7 +3795,7 @@
 24
 20
 83
-c3
+cf
 09
 80
 00
@@ -3771,7 +3819,7 @@
 20
 22
 83
-b2
+be
 09
 80
 00
@@ -3787,7 +3835,7 @@
 c2
 00
 03
-ae
+ba
 09
 80
 00
@@ -3823,7 +3871,7 @@
 20
 23
 03
-c3
+cf
 78
 37
 fc
@@ -3871,11 +3919,11 @@
 20
 40
 03
-34
+40
 20
 20
 03
-c3
+cf
 20
 40
 29
@@ -3903,11 +3951,11 @@
 20
 40
 03
-78
+84
 20
 40
 03
-c8
+d4
 79
 20
 2a
@@ -3987,7 +4035,7 @@
 c2
 00
 03
-e1
+ed
 68
 00
 c8
@@ -4028,8 +4076,8 @@
 60
 00
 00
-a0
-24
+35
+96
 aa
 55
 01
@@ -4459,7 +4507,7 @@
 9f
 48
 36
-26
+16
 00
 09
 aa
@@ -4514,56 +4562,8 @@
 42
 00
 84
-0a
-fc
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+9e
+04
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-45
-7c
+ab
+73
Index: dongle/output/program.lis
===================================================================
--- /branch/USB/dongle/output/program.lis	(revision 661)
+++ /branch/USB/dongle/output/program.lis	(working copy)
@@ -1,9 +1,9 @@
 include "bt_format "
 org 0x0000
 0000 c2840009 bbit1 8 ,pf_patch_ext 
-0001 c0428332 beq patch10_5 ,p_shutdown_radio 
-0002 c044830d beq patch11_1 ,p_set_freq_tx 
-0003 c000032d beq patch00_0 ,p_soft_reset 
+0001 c042833e beq patch10_5 ,p_shutdown_radio 
+0002 c0448319 beq patch11_1 ,p_set_freq_tx 
+0003 c0000339 beq patch00_0 ,p_soft_reset 
 0004 c047000a beq patch11_6 ,p_save_rssi 
 0005 c062004c beq patch18_4 ,p_app_init 
 0006 c07b8011 beq patch1e_7 ,p_usb_init 
@@ -176,8 +176,8 @@
 007d 7048b001 jam 1 ,mem_24g_abort_packet 
 007e 70483500 jam 0 ,mem_24g_pid 
 007f 6802489f fetch 4 ,mem_24g_rx_addr 
-0080 20400347 call p_g24_update_addr_and_synccrc8 
-0081 20400367 call p_g24_ch 
+0080 20400353 call p_g24_update_addr_and_synccrc8 
+0081 20400373 call p_g24_ch 
 0082 202000d5 branch p_g24_rx_interrupt_clear 
 
 p_g24_ch_process:
@@ -199,11 +199,11 @@
 0092 793ffe1c set0 28 ,pdata 
 0093 600248b2 store 4 ,mem_24g_hop_btclk 
 0094 7048b001 jam 1 ,mem_24g_abort_packet 
-0095 20200367 branch p_g24_ch 
+0095 20200373 branch p_g24_ch 
 
 p_g24_ch_receive_hop_pac:
 0096 7048b900 jam 0 ,mem_24g_hop_packet 
-0097 20200367 branch p_g24_ch 
+0097 20200373 branch p_g24_ch 
 
 p_g24_ch_timer_reinit:
 0098 1c427e00 copy clkn_bt ,pdata 
@@ -213,11 +213,11 @@
 
 p_g24_noise_rssi:
 009c da200d9e arg mem_rssi_noise_buffer ,rega 
-009d 20400342 call p_rssi_average 
+009d 2040034e call p_rssi_average 
 009e 6008c8ef storet 1 ,mem_rssi_noise_avg 
 009f 18467c50 sub temp ,rssi_thresh_noise ,null 
 00a0 24610000 nrtn positive 
-00a1 20200367 branch p_g24_ch 
+00a1 20200373 branch p_g24_ch 
 
 p_g24_blank_data_process:
 00a2 204000a5 call p_g24_ms_blank_data 
@@ -227,7 +227,7 @@
 p_g24_ms_blank_data:
 00a5 6800c8d5 fetch 1 ,mem_24g_ms_blank_data_enable 
 00a6 207a0000 rtn blank 
-00a7 d8e0000b arg timer_ms_blank ,queue 
+00a7 d8e0000b arg timer_new_ms_blank ,queue 
 00a8 20407f16 call timer_check 
 00a9 247a0000 nrtn blank 
 00aa 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
@@ -236,7 +236,7 @@
 p_g24_kb_blank_data:
 00ac 6800c8d3 fetch 1 ,mem_24g_kb_blank_data_enable 
 00ad 207a0000 rtn blank 
-00ae d8e0000e arg timer_kb_blank ,queue 
+00ae d8e0000e arg timer_new_kb_blank ,queue 
 00af 20407f16 call timer_check 
 00b0 247a0000 nrtn blank 
 00b1 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
@@ -245,7 +245,7 @@
 p_g24_kb_mul_blank_data:
 00b3 6800c8d4 fetch 1 ,mem_24g_kb_mul_blank_data_enable 
 00b4 207a0000 rtn blank 
-00b5 d8e0000c arg timer_kb_mul_blank ,queue 
+00b5 d8e0000c arg timer_new_kb_mul_blank ,queue 
 00b6 20407f16 call timer_check 
 00b7 247a0000 nrtn blank 
 00b8 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
@@ -269,7 +269,7 @@
 00c6 70483500 jam 0 ,mem_24g_pid 
 00c7 7048404e jam g24_pair_ch ,mem_24g_ch 
 00c8 68024842 fetch 4 ,mem_24g_paring_addr 
-00c9 20200347 branch p_g24_update_addr_and_synccrc8 
+00c9 20200353 branch p_g24_update_addr_and_synccrc8 
 
 p_g24_dongle_bind_data_process:
 00ca 204001af call p_g24_receive_transmit_ack 
@@ -610,7 +610,7 @@
 
 p_g24_receive_transmit_ack:
 01af 204000d5 call p_g24_rx_interrupt_clear 
-01b0 20400381 call p_g24_receive_packet 
+01b0 2040038d call p_g24_receive_packet 
 01b1 24778000 nrtn user3 
 01b2 2020024e branch p_g24_transmit_ack 
 
@@ -702,21 +702,21 @@
 01f5 204000dd call p_g24_dongle_bind_ms_payload_cfg 
 01f6 680248da fetch 4 ,mem_24g_ms_addr 
 01f7 203a01ec branch p_g24_rx_auto_addr_ch_search ,blank 
-01f8 20400347 call p_g24_update_addr_and_synccrc8 
+01f8 20400353 call p_g24_update_addr_and_synccrc8 
 01f9 6800c8e6 fetch 1 ,mem_24g_ms_config_ch_once 
 01fa 205a020a call p_g24_ms_config_ch_once ,blank 
 01fb 6800c8e4 fetch 1 ,mem_24g_ms_last_ch 
 01fc 6000c840 store 1 ,mem_24g_ch 
 01fd 6808c8f7 fetcht 1 ,mem_rssi_noise_ms_index 
 01fe da200f9e arg mem_rssi_noise_ms_buffer ,rega 
-01ff 2040033b call p_rssi_store 
+01ff 20400347 call p_rssi_store 
 0200 6008c8f7 storet 1 ,mem_rssi_noise_ms_index 
-0201 20400342 call p_rssi_average 
+0201 2040034e call p_rssi_average 
 0202 6008c8f4 storet 1 ,mem_rssi_noise_ms_avg 
 0203 18467c50 sub temp ,rssi_thresh_noise ,null 
 0204 24610000 nrtn positive 
 0205 6808c8e5 fetcht 1 ,mem_24g_ms_ch_number 
-0206 2040036b call p_g24_ch_map_size 
+0206 20400377 call p_g24_ch_map_size 
 0207 6008c8e5 storet 1 ,mem_24g_ms_ch_number 
 0208 6000c8e4 store 1 ,mem_24g_ms_last_ch 
 0209 20600000 rtn 
@@ -724,7 +724,7 @@
 p_g24_ms_config_ch_once:
 020a 7048e601 jam 1 ,mem_24g_ms_config_ch_once 
 020b d8400000 arg 0 ,temp 
-020c 2040036f call p_g24_ch_calc 
+020c 2040037b call p_g24_ch_calc 
 020d 6000c8e4 store 1 ,mem_24g_ms_last_ch 
 020e 20600000 rtn 
 
@@ -732,21 +732,21 @@
 020f 204000e3 call p_g24_dongle_bind_kb_payload_cfg 
 0210 680248d6 fetch 4 ,mem_24g_kb_addr 
 0211 203a01ec branch p_g24_rx_auto_addr_ch_search ,blank 
-0212 20400347 call p_g24_update_addr_and_synccrc8 
+0212 20400353 call p_g24_update_addr_and_synccrc8 
 0213 6800c8e3 fetch 1 ,mem_24g_kb_config_ch_once 
 0214 205a0224 call p_g24_kb_config_ch_once ,blank 
 0215 6800c8e1 fetch 1 ,mem_24g_kb_last_ch 
 0216 6000c840 store 1 ,mem_24g_ch 
 0217 6808c8f6 fetcht 1 ,mem_rssi_noise_kb_index 
 0218 da20109e arg mem_rssi_noise_kb_buffer ,rega 
-0219 2040033b call p_rssi_store 
+0219 20400347 call p_rssi_store 
 021a 6008c8f6 storet 1 ,mem_rssi_noise_kb_index 
-021b 20400342 call p_rssi_average 
+021b 2040034e call p_rssi_average 
 021c 6008c8f3 storet 1 ,mem_rssi_noise_kb_avg 
 021d 18467c50 sub temp ,rssi_thresh_noise ,null 
 021e 24610000 nrtn positive 
 021f 6808c8e2 fetcht 1 ,mem_24g_kb_ch_number 
-0220 2040036b call p_g24_ch_map_size 
+0220 20400377 call p_g24_ch_map_size 
 0221 6008c8e2 storet 1 ,mem_24g_kb_ch_number 
 0222 6000c8e1 store 1 ,mem_24g_kb_last_ch 
 0223 20600000 rtn 
@@ -754,28 +754,28 @@
 p_g24_kb_config_ch_once:
 0224 7048e301 jam 1 ,mem_24g_kb_config_ch_once 
 0225 d8400000 arg 0 ,temp 
-0226 2040036f call p_g24_ch_calc 
+0226 2040037b call p_g24_ch_calc 
 0227 6000c8e1 store 1 ,mem_24g_kb_last_ch 
 0228 20600000 rtn 
 
 p_g24_rx_auto_bind_config_dongle:
 0229 204000dd call p_g24_dongle_bind_ms_payload_cfg 
 022a 6802489f fetch 4 ,mem_24g_rx_addr 
-022b 20400347 call p_g24_update_addr_and_synccrc8 
+022b 20400353 call p_g24_update_addr_and_synccrc8 
 022c 6800c8e0 fetch 1 ,mem_24g_dg_config_ch_once 
 022d 205a023d call p_g24_dg_config_ch_once ,blank 
 022e 6800c8de fetch 1 ,mem_24g_dg_last_ch 
 022f 6000c840 store 1 ,mem_24g_ch 
 0230 6808c8f5 fetcht 1 ,mem_rssi_noise_dg_index 
 0231 da200e9e arg mem_rssi_noise_dg_buffer ,rega 
-0232 2040033b call p_rssi_store 
+0232 20400347 call p_rssi_store 
 0233 6008c8f5 storet 1 ,mem_rssi_noise_dg_index 
-0234 20400342 call p_rssi_average 
+0234 2040034e call p_rssi_average 
 0235 6008c8f2 storet 1 ,mem_rssi_noise_dg_avg 
 0236 18467c50 sub temp ,rssi_thresh_noise ,null 
 0237 24610000 nrtn positive 
 0238 6808c8df fetcht 1 ,mem_24g_dg_ch_number 
-0239 2040036b call p_g24_ch_map_size 
+0239 20400377 call p_g24_ch_map_size 
 023a 6008c8df storet 1 ,mem_24g_dg_ch_number 
 023b 6000c8de store 1 ,mem_24g_dg_last_ch 
 023c 20600000 rtn 
@@ -811,11 +811,11 @@
 
 p_g24tx_with_ack:
 0254 20400258 call p_g24_ackpayload_prep 
-0255 20400355 call p_g24_transmit_prep 
-0256 204003cb call p_g24_transmit 
+0255 20400361 call p_g24_transmit_prep 
+0256 204003d7 call p_g24_transmit 
 
 p_g24tx_no_ack:
-0257 202003c3 branch p_g24_end_of_packet 
+0257 202003cf branch p_g24_end_of_packet 
 
 p_g24_ackpayload_prep:
 0258 70483600 jam 0 ,mem_24g_datalen 
@@ -874,8 +874,8 @@
 0283 205a01a2 call p_g24_enable_nodata_timer ,blank 
 0284 6800c87f fetch 1 ,mem_24g_rxdata_temp + 2 
 0285 c0008297 beq 0x01 ,p_g24_data_type1 
-0286 c00102b2 beq 0x02 ,p_g24_data_type2 
-0287 c07f82e3 beq 0xff ,p_g24_data_attemp 
+0286 c00102b6 beq 0x02 ,p_g24_data_type2 
+0287 c07f82ef beq 0xff ,p_g24_data_attemp 
 0288 202000d5 branch p_g24_rx_interrupt_clear 
 
 p_g24_receive_packet_parse_pid_crc:
@@ -901,14 +901,14 @@
 029a 284ffe03 isolate1 bit_abort ,temp 
 029b 7920fe00 setflag true ,0 ,pdata 
 029c 6000c8b0 store 1 ,mem_24g_abort_packet 
-029d c00082eb beq 1 ,p_g24_data_attemp_mouse_abort 
+029d c00082f7 beq 1 ,p_g24_data_attemp_mouse_abort 
 029e 6800c8b9 fetch 1 ,mem_24g_hop_packet 
 029f 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
 02a0 284ffe04 isolate1 bit_hop ,temp 
 02a1 7920fe00 setflag true ,0 ,pdata 
 02a2 6000c8b9 store 1 ,mem_24g_hop_packet 
 02a3 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02a4 c06782ef beq cmd_ota ,p_g24_ota_process 
+02a4 c06782fb beq cmd_ota ,p_g24_ota_process 
 02a5 58000001 setarg ms_report_id 
 02a6 60008d54 store 1 ,mem_usb_mouse_data 
 02a7 6803c880 fetch 7 ,mem_24g_rxdata_temp + 3 
@@ -916,424 +916,436 @@
 02a9 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
 02aa 245a02ae ncall p_g24_ms_enable_blank_data_forcibly ,blank 
 02ab 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02ac 205a02b0 call p_g24_ms_disable_blank_data_forcibly ,blank 
+02ac 205a02b2 call p_g24_ms_disable_blank_data_forcibly ,blank 
 02ad 202031b8 branch g24_data_type1_usbtx_enable 
 
 p_g24_ms_enable_blank_data_forcibly:
 02ae 7048d501 jam 1 ,mem_24g_ms_blank_data_enable 
-02af 202031bf branch g24_ms_enable_blank_data_timer 
+02af 58000180 setarg timer_new_ms_blank_delay 
+02b0 d8e0000b arg timer_new_ms_blank ,queue 
+02b1 20207f08 branch timer_init 
 
 p_g24_ms_disable_blank_data_forcibly:
-02b0 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
-02b1 202031c3 branch g24_ms_disable_blank_data_timer 
+02b2 7048d500 jam 0 ,mem_24g_ms_blank_data_enable 
+02b3 58000000 setarg 0 
+02b4 d8e0000b arg timer_new_ms_blank ,queue 
+02b5 20207f08 branch timer_init 
 
 p_g24_data_type2:
-02b2 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
-02b3 284ffe03 isolate1 bit_abort ,temp 
-02b4 202082ed branch p_g24_data_attemp_kbd_abort ,true 
-02b5 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02b6 c00002b9 beq 0 ,p_g24_data_type2_data1 
-02b7 c00182ce beq 3 ,p_g24_data_type2_data2 
-02b8 202000d5 branch p_g24_rx_interrupt_clear 
+02b6 6808c87d fetcht 1 ,mem_24g_rxdata_temp 
+02b7 284ffe03 isolate1 bit_abort ,temp 
+02b8 202082f9 branch p_g24_data_attemp_kbd_abort ,true 
+02b9 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02ba c00002bd beq 0 ,p_g24_data_type2_data1 
+02bb c00182d6 beq 3 ,p_g24_data_type2_data2 
+02bc 202000d5 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_data1:
-02b9 d8a00d64 arg mem_usb_kb_data ,contw 
-02ba 204002c7 call p_g24_data_type2_copy_data1 
-02bb 68040d64 fetch 8 ,mem_usb_kb_data 
-02bc 245a02ca ncall p_g24_kb_enable_blank_data_forcibly ,blank 
-02bd 68040d64 fetch 8 ,mem_usb_kb_data 
-02be 205a02cc call p_g24_kb_disable_blank_data_forcibly ,blank 
+02bd d8a00d64 arg mem_usb_kb_data ,contw 
+02be 204002cb call p_g24_data_type2_copy_data1 
 02bf 68040d64 fetch 8 ,mem_usb_kb_data 
-02c0 600448bd store 8 ,mem_24g_kb_data_sta_data 
-02c1 680c48c5 fetcht 8 ,mem_24g_kb_data_last_data 
-02c2 98467c00 isub temp ,null 
-02c3 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
-02c4 680448bd fetch 8 ,mem_24g_kb_data_sta_data 
-02c5 600448c5 store 8 ,mem_24g_kb_data_last_data 
-02c6 202000d5 branch p_g24_rx_interrupt_clear 
+02c0 245a02ce ncall p_g24_kb_enable_blank_data_forcibly ,blank 
+02c1 68040d64 fetch 8 ,mem_usb_kb_data 
+02c2 205a02d2 call p_g24_kb_disable_blank_data_forcibly ,blank 
+02c3 68040d64 fetch 8 ,mem_usb_kb_data 
+02c4 600448bd store 8 ,mem_24g_kb_data_sta_data 
+02c5 680c48c5 fetcht 8 ,mem_24g_kb_data_last_data 
+02c6 98467c00 isub temp ,null 
+02c7 2442b1ed ncall g24_kb_data_into_ep1_fifo ,zero 
+02c8 680448bd fetch 8 ,mem_24g_kb_data_sta_data 
+02c9 600448c5 store 8 ,mem_24g_kb_data_last_data 
+02ca 202000d5 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data1:
-02c7 d8c04881 arg mem_24g_rxdata_temp + 4 ,contr 
-02c8 df200008 arg 8 ,loopcnt 
-02c9 20207f01 branch memcpy 
+02cb d8c04881 arg mem_24g_rxdata_temp + 4 ,contr 
+02cc df200008 arg 8 ,loopcnt 
+02cd 20207f01 branch memcpy 
 
 p_g24_kb_enable_blank_data_forcibly:
-02ca 7048d301 jam 1 ,mem_24g_kb_blank_data_enable 
-02cb 202031e6 branch g24_kb_enable_blank_data_timer 
+02ce 7048d301 jam 1 ,mem_24g_kb_blank_data_enable 
+02cf 58000180 setarg timer_new_kb_blank_delay 
+02d0 d8e0000e arg timer_new_kb_blank ,queue 
+02d1 20207f08 branch timer_init 
 
 p_g24_kb_disable_blank_data_forcibly:
-02cc 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
-02cd 202031ea branch g24_kb_disable_blank_data_timer 
+02d2 7048d300 jam 0 ,mem_24g_kb_blank_data_enable 
+02d3 58000000 setarg 0 
+02d4 d8e0000e arg timer_new_kb_blank ,queue 
+02d5 20207f08 branch timer_init 
 
 p_g24_data_type2_data2:
-02ce d8a00d74 arg mem_usb_kb_multikey ,contw 
-02cf 204002dc call p_g24_data_type2_copy_data2 
-02d0 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-02d1 245a02df ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
-02d2 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
-02d3 205a02e1 call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
-02d4 68018d74 fetch 3 ,mem_usb_kb_multikey 
-02d5 6001c8cd store 3 ,mem_24g_kb_multikey_sta_data 
-02d6 6809c8d0 fetcht 3 ,mem_24g_kb_multikey_last_data 
-02d7 98467c00 isub temp ,null 
-02d8 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
-02d9 6801c8cd fetch 3 ,mem_24g_kb_multikey_sta_data 
-02da 6001c8d0 store 3 ,mem_24g_kb_multikey_last_data 
-02db 202000d5 branch p_g24_rx_interrupt_clear 
+02d6 d8a00d74 arg mem_usb_kb_multikey ,contw 
+02d7 204002e4 call p_g24_data_type2_copy_data2 
+02d8 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+02d9 245a02e7 ncall p_g24_kb_mul_enable_blank_data_forcibly ,blank 
+02da 68010d75 fetch 2 ,mem_usb_kb_multikey + 1 
+02db 205a02eb call p_g24_kb_mul_disable_blank_data_forcibly ,blank 
+02dc 68018d74 fetch 3 ,mem_usb_kb_multikey 
+02dd 6001c8cd store 3 ,mem_24g_kb_multikey_sta_data 
+02de 6809c8d0 fetcht 3 ,mem_24g_kb_multikey_last_data 
+02df 98467c00 isub temp ,null 
+02e0 2442b207 ncall g24_kb_mul_data_into_ep2_fifo ,zero 
+02e1 6801c8cd fetch 3 ,mem_24g_kb_multikey_sta_data 
+02e2 6001c8d0 store 3 ,mem_24g_kb_multikey_last_data 
+02e3 202000d5 branch p_g24_rx_interrupt_clear 
 
 p_g24_data_type2_copy_data2:
-02dc d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
-02dd df200003 arg 3 ,loopcnt 
-02de 20207f01 branch memcpy 
+02e4 d8c04880 arg mem_24g_rxdata_temp + 3 ,contr 
+02e5 df200003 arg 3 ,loopcnt 
+02e6 20207f01 branch memcpy 
 
 p_g24_kb_mul_enable_blank_data_forcibly:
-02df 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
-02e0 2020320b branch g24_kb_mul_enable_blank_data_timer 
+02e7 7048d401 jam 1 ,mem_24g_kb_mul_blank_data_enable 
+02e8 58000180 setarg timer_new_kb_mul_blank_delay 
+02e9 d8e0000c arg timer_new_kb_mul_blank ,queue 
+02ea 20207f08 branch timer_init 
 
 p_g24_kb_mul_disable_blank_data_forcibly:
-02e1 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
-02e2 2020320f branch g24_kb_mul_disable_blank_data_timer 
+02eb 7048d400 jam 0 ,mem_24g_kb_mul_blank_data_enable 
+02ec 58000000 setarg 0 
+02ed d8e0000c arg timer_new_kb_mul_blank ,queue 
+02ee 20207f08 branch timer_init 
 
 p_g24_data_attemp:
-02e3 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
-02e4 c00082e7 beq datatype_mouse ,p_g24_data_attemp_mouse 
-02e5 c00102e9 beq datatype_keyboard ,p_g24_data_attemp_kbd 
-02e6 20600000 rtn 
+02ef 6800c880 fetch 1 ,mem_24g_rxdata_temp + 3 
+02f0 c00082f3 beq datatype_mouse ,p_g24_data_attemp_mouse 
+02f1 c00102f5 beq datatype_keyboard ,p_g24_data_attemp_kbd 
+02f2 20600000 rtn 
 
 p_g24_data_attemp_mouse:
-02e7 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-02e8 20200111 branch p_g24_store_mouse_addr 
+02f3 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+02f4 20200111 branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd:
-02e9 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
-02ea 20200114 branch p_g24_store_kbd_addr 
+02f5 68024881 fetch 4 ,mem_24g_rxdata_temp + 4 
+02f6 20200114 branch p_g24_store_kbd_addr 
 
 p_g24_data_attemp_mouse_abort:
-02eb 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-02ec 20200111 branch p_g24_store_mouse_addr 
+02f7 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
+02f8 20200111 branch p_g24_store_mouse_addr 
 
 p_g24_data_attemp_kbd_abort:
-02ed 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
-02ee 20200114 branch p_g24_store_kbd_addr 
+02f9 68024887 fetch 4 ,mem_24g_rxdata_temp + 10 
+02fa 20200114 branch p_g24_store_kbd_addr 
 
 p_g24_ota_process:
-02ef 68014882 fetch 2 ,mem_24g_rxdata_temp + 5 
-02f0 680948eb fetcht 2 ,mem_24g_ota_sta_pid 
-02f1 98467c00 isub temp ,null 
-02f2 202282f4 branch p_g24_ota_next_pac ,zero 
-02f3 20600000 rtn 
+02fb 68014882 fetch 2 ,mem_24g_rxdata_temp + 5 
+02fc 680948eb fetcht 2 ,mem_24g_ota_sta_pid 
+02fd 98467c00 isub temp ,null 
+02fe 20228300 branch p_g24_ota_next_pac ,zero 
+02ff 20600000 rtn 
 
 p_g24_ota_next_pac:
-02f4 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
-02f5 c0610301 beq cmd_ota_exit ,p_g24_ota_exit_process 
-02f6 6800c900 fetch 1 ,mem_queue_ele_num 
-02f7 207a0000 rtn blank 
-02f8 58004901 setarg mem_queue_read 
-02f9 20400125 call p_g24_queue_increase 
-02fa 6800c900 fetch 1 ,mem_queue_ele_num 
-02fb 1fe0ffff increase -1 ,pdata 
-02fc 6000c900 store 1 ,mem_queue_ele_num 
-02fd 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
-02fe c0608166 beq cmd_ota_data ,p_user_defined_queue_buff_free 
-02ff c0610301 beq cmd_ota_exit ,p_g24_ota_exit_process 
-0300 20600000 rtn 
+0300 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
+0301 c061030d beq cmd_ota_exit ,p_g24_ota_exit_process 
+0302 6800c900 fetch 1 ,mem_queue_ele_num 
+0303 207a0000 rtn blank 
+0304 58004901 setarg mem_queue_read 
+0305 20400125 call p_g24_queue_increase 
+0306 6800c900 fetch 1 ,mem_queue_ele_num 
+0307 1fe0ffff increase -1 ,pdata 
+0308 6000c900 store 1 ,mem_queue_ele_num 
+0309 6800c881 fetch 1 ,mem_24g_rxdata_temp + 4 
+030a c0608166 beq cmd_ota_data ,p_user_defined_queue_buff_free 
+030b c061030d beq cmd_ota_exit ,p_g24_ota_exit_process 
+030c 20600000 rtn 
 
 p_g24_ota_exit_process:
-0301 58000000 setarg 0 
-0302 600148eb store 2 ,mem_24g_ota_sta_pid 
-0303 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
-0304 20400116 call p_g24_queue_init 
-0305 6800c884 fetch 1 ,mem_24g_rxdata_temp + 7 
-0306 c02a8309 beq ota_sta_success ,p_g24_ota_exit_success 
-0307 c055030b beq ota_sta_fail ,p_g24_ota_exit_fail 
-0308 20600000 rtn 
+030d 58000000 setarg 0 
+030e 600148eb store 2 ,mem_24g_ota_sta_pid 
+030f 6000c8b8 store 1 ,mem_24g_ackpayload_enable 
+0310 20400116 call p_g24_queue_init 
+0311 6800c884 fetch 1 ,mem_24g_rxdata_temp + 7 
+0312 c02a8315 beq ota_sta_success ,p_g24_ota_exit_success 
+0313 c0550317 beq ota_sta_fail ,p_g24_ota_exit_fail 
+0314 20600000 rtn 
 
 p_g24_ota_exit_success:
-0309 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
-030a 2020303f branch usb0_data_ready_report_set1 
+0315 700cf702 jam 2 ,mem_usb0_get_report_data + 1 
+0316 2020303f branch usb0_data_ready_report_set1 
 
 p_g24_ota_exit_fail:
-030b 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
-030c 2020303f branch usb0_data_ready_report_set1 
+0317 700cf703 jam 3 ,mem_usb0_get_report_data + 1 
+0318 2020303f branch usb0_data_ready_report_set1 
 
 p_set_freq_tx:
-030d 60088017 storet 1 ,mem_last_freq 
-030e 1840a200 add temp ,0 ,rega 
-030f 20402981 call rf_write_freq 
-0310 58000500 setarg param_pll_setup 
-0311 20402a8f call sleep 
+0319 60088017 storet 1 ,mem_last_freq 
+031a 1840a200 add temp ,0 ,rega 
+031b 20402981 call rf_write_freq 
+031c 58000500 setarg param_pll_setup 
+031d 20402a8f call sleep 
 
 p_rf_tx_enable:
-0312 70890601 jam 0x1 ,rfen_adc 
-0313 7089003c jam 0x3c ,rfen_rx 
-0314 708901e0 jam 0xe0 ,rfen_tx 
-0315 2000000a nop 10 
-0316 70890201 jam 0x01 ,rfen_mdm 
-0317 7089023d jam 0x3d ,rfen_mdm 
-0318 2000000a nop 10 
-0319 708903b7 jam 0xb7 ,rfen_sn 
-031a 2000000a nop 10 
-031b 7089027d jam 0x7d ,rfen_mdm 
-031c 6800c1de fetch 1 ,mem_tx_power 
-031d c0020326 beq tx_power_f5db ,p_set_tx_power_f5db 
-031e 2020031f branch p_set_tx_power_5db 
+031e 70890601 jam 0x1 ,rfen_adc 
+031f 7089003c jam 0x3c ,rfen_rx 
+0320 708901e0 jam 0xe0 ,rfen_tx 
+0321 2000000a nop 10 
+0322 70890201 jam 0x01 ,rfen_mdm 
+0323 7089023d jam 0x3d ,rfen_mdm 
+0324 2000000a nop 10 
+0325 708903b7 jam 0xb7 ,rfen_sn 
+0326 2000000a nop 10 
+0327 7089027d jam 0x7d ,rfen_mdm 
+0328 6800c1de fetch 1 ,mem_tx_power 
+0329 c0020332 beq tx_power_f5db ,p_set_tx_power_f5db 
+032a 2020032b branch p_set_tx_power_5db 
 
 p_set_tx_power_5db:
-031f 70894bba jam 0xba ,0x894b 
-0320 708955d0 jam 0xd0 ,0x8955 
-0321 708956e0 jam 0xe0 ,0x8956 
-0322 70895788 jam 0x88 ,0x8957 
-0323 7089583c jam 0x3c ,0x8958 
-0324 70895910 jam 0x10 ,0x8959 
-0325 20202953 branch set_tx_power_5db 
+032b 70894bba jam 0xba ,0x894b 
+032c 708955d0 jam 0xd0 ,0x8955 
+032d 708956e0 jam 0xe0 ,0x8956 
+032e 70895788 jam 0x88 ,0x8957 
+032f 7089583c jam 0x3c ,0x8958 
+0330 70895910 jam 0x10 ,0x8959 
+0331 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-0326 70894bba jam 0xba ,0x894b 
-0327 708955d0 jam 0xd0 ,0x8955 
-0328 708956c0 jam 0xc0 ,0x8956 
-0329 70895788 jam 0x88 ,0x8957 
-032a 7089586c jam 0x6c ,0x8958 
-032b 70895910 jam 0x10 ,0x8959 
-032c 2020295b branch set_tx_power_f5db 
+0332 70894bba jam 0xba ,0x894b 
+0333 708955d0 jam 0xd0 ,0x8955 
+0334 708956c0 jam 0xc0 ,0x8956 
+0335 70895788 jam 0x88 ,0x8957 
+0336 7089586c jam 0x6c ,0x8958 
+0337 70895910 jam 0x10 ,0x8959 
+0338 2020295b branch set_tx_power_f5db 
 
 p_soft_reset:
-032d 20800000 clear_stack 
-032e 68108043 hfetch 1 ,core_config 
-032f 79207e03 set1 watchdog_bit ,pdata 
-0330 60108043 hstore 1 ,core_config 
-0331 20202003 branch soft_reset + 2 
+0339 20800000 clear_stack 
+033a 68108043 hfetch 1 ,core_config 
+033b 79207e03 set1 watchdog_bit ,pdata 
+033c 60108043 hstore 1 ,core_config 
+033d 20202003 branch soft_reset + 2 
 
 p_shutdown_radio:
-0332 18002a08 force 8 ,radio_ctrl 
-0333 202028fa branch shutdown_radio + 1 
+033e 18002a08 force 8 ,radio_ctrl 
+033f 202028fa branch shutdown_radio + 1 
 
 p_rssi_noise:
-0334 204029bb call save_rssi 
-0335 207a0000 rtn blank 
-0336 6808c8f0 fetcht 1 ,mem_rssi_noise_index 
-0337 da200d9e arg mem_rssi_noise_buffer ,rega 
-0338 2040033b call p_rssi_store 
-0339 6008c8f0 storet 1 ,mem_rssi_noise_index 
-033a 20600000 rtn 
+0340 204029bb call save_rssi 
+0341 207a0000 rtn blank 
+0342 6808c8f0 fetcht 1 ,mem_rssi_noise_index 
+0343 da200d9e arg mem_rssi_noise_buffer ,rega 
+0344 20400347 call p_rssi_store 
+0345 6008c8f0 storet 1 ,mem_rssi_noise_index 
+0346 20600000 rtn 
 
 p_rssi_store:
-033b 1a227e00 copy rega ,pdata 
-033c 98408a00 iadd temp ,contw 
-033d 68008018 fetch 1 ,mem_rssi 
-033e e0a08000 istore 1 ,contw 
-033f 18408401 increase 1 ,temp 
-0340 184104ff and_into rssi_buf_len_noise ,temp 
-0341 20600000 rtn 
+0347 1a227e00 copy rega ,pdata 
+0348 98408a00 iadd temp ,contw 
+0349 68008018 fetch 1 ,mem_rssi 
+034a e0a08000 istore 1 ,contw 
+034b 18408401 increase 1 ,temp 
+034c 184104ff and_into rssi_buf_len_noise ,temp 
+034d 20600000 rtn 
 
 p_rssi_average:
-0342 d8400000 arg 0 ,temp 
-0343 df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
-0344 1a220c00 copy rega ,contr 
-0345 20202e64 branch rssi_average_loop 
-0346 20600000 rtn 
+034e d8400000 arg 0 ,temp 
+034f df200100 arg rssi_buf_len_noise + 1 ,loopcnt 
+0350 1a220c00 copy rega ,contr 
+0351 20202e64 branch rssi_average_loop 
+0352 20600000 rtn 
 
 p_g24_update_addr_and_synccrc8:
-0347 6002485e store 4 ,mem_24g_addr 
+0353 6002485e store 4 ,mem_24g_addr 
 
 p_g24_syncword_crc8:
-0348 da200000 arg 0 ,rega 
-0349 df200004 arg 4 ,loopcnt 
-034a d8c0485e arg mem_24g_addr ,contr 
+0354 da200000 arg 0 ,rega 
+0355 df200004 arg 4 ,loopcnt 
+0356 d8c0485e arg mem_24g_addr ,contr 
 
 p_g24_syncword_crc8_loop:
-034b e8c08000 ifetch 1 ,contr 
-034c 9a20a200 iadd rega ,rega 
-034d c200034b loop p_g24_syncword_crc8_loop 
-034e 1a227e00 copy rega ,pdata 
-034f 600148e7 store 2 ,mem_24g_syncword 
-0350 6800c8e7 fetch 1 ,mem_24g_syncword 
-0351 6808c8e8 fetcht 1 ,mem_24g_syncword + 1 
-0352 9840fe00 iadd temp ,pdata 
-0353 6000c8e9 store 1 ,mem_24g_syncword_crc8 
-0354 20600000 rtn 
+0357 e8c08000 ifetch 1 ,contr 
+0358 9a20a200 iadd rega ,rega 
+0359 c2000357 loop p_g24_syncword_crc8_loop 
+035a 1a227e00 copy rega ,pdata 
+035b 600148e7 store 2 ,mem_24g_syncword 
+035c 6800c8e7 fetch 1 ,mem_24g_syncword 
+035d 6808c8e8 fetcht 1 ,mem_24g_syncword + 1 
+035e 9840fe00 iadd temp ,pdata 
+035f 6000c8e9 store 1 ,mem_24g_syncword_crc8 
+0360 20600000 rtn 
 
 p_g24_transmit_prep:
-0355 6800c836 fetch 1 ,mem_24g_datalen 
-0356 1fe0fe02 increase 2 ,pdata 
-0357 6000c838 store 1 ,mem_24g_txlen 
-0358 6800c837 fetch 1 ,mem_24g_data_type 
-0359 6000c7f2 store 1 ,mem_24g_txpayload 
-035a 6800c836 fetch 1 ,mem_24g_datalen 
-035b 1fe9fe00 lshift3 pdata ,pdata 
-035c 6808c835 fetcht 1 ,mem_24g_pid 
-035d 18410403 and temp ,0x03 ,temp 
-035e 18438400 lshift temp ,temp 
-035f 9841fe00 ior temp ,pdata 
-0360 6808c872 fetcht 1 ,mem_24g_no_ack 
-0361 9840fe00 iadd temp ,pdata 
-0362 e0a08000 istore 1 ,contw 
-0363 6800c836 fetch 1 ,mem_24g_datalen 
-0364 98007200 iforce loopcnt 
-0365 d8c047d2 arg mem_24g_txbuf ,contr 
-0366 20207f01 branch memcpy 
+0361 6800c836 fetch 1 ,mem_24g_datalen 
+0362 1fe0fe02 increase 2 ,pdata 
+0363 6000c838 store 1 ,mem_24g_txlen 
+0364 6800c837 fetch 1 ,mem_24g_data_type 
+0365 6000c7f2 store 1 ,mem_24g_txpayload 
+0366 6800c836 fetch 1 ,mem_24g_datalen 
+0367 1fe9fe00 lshift3 pdata ,pdata 
+0368 6808c835 fetcht 1 ,mem_24g_pid 
+0369 18410403 and temp ,0x03 ,temp 
+036a 18438400 lshift temp ,temp 
+036b 9841fe00 ior temp ,pdata 
+036c 6808c872 fetcht 1 ,mem_24g_no_ack 
+036d 9840fe00 iadd temp ,pdata 
+036e e0a08000 istore 1 ,contw 
+036f 6800c836 fetch 1 ,mem_24g_datalen 
+0370 98007200 iforce loopcnt 
+0371 d8c047d2 arg mem_24g_txbuf ,contr 
+0372 20207f01 branch memcpy 
 
 p_g24_ch:
-0367 6808c841 fetcht 1 ,mem_24g_current_ch_number 
-0368 2040036b call p_g24_ch_map_size 
-0369 6008c841 storet 1 ,mem_24g_current_ch_number 
-036a 20600000 rtn 
+0373 6808c841 fetcht 1 ,mem_24g_current_ch_number 
+0374 20400377 call p_g24_ch_map_size 
+0375 6008c841 storet 1 ,mem_24g_current_ch_number 
+0376 20600000 rtn 
 
 p_g24_ch_map_size:
-036b 2040036f call p_g24_ch_calc 
-036c 18408401 increase 1 ,temp 
-036d 18410403 and_into 3 ,temp 
-036e 20600000 rtn 
+0377 2040037b call p_g24_ch_calc 
+0378 18408401 increase 1 ,temp 
+0379 18410403 and_into 3 ,temp 
+037a 20600000 rtn 
 
 p_g24_ch_calc:
-036f 6800c85e fetch 1 ,mem_24g_addr 
-0370 1fe17e03 and_into 0x03 ,pdata 
-0371 1fefa204 mul32 pdata ,4 ,rega 
-0372 58004847 setarg mem_24g_ch_map1 
-0373 9a20fe00 iadd rega ,pdata 
-0374 98408c00 iadd temp ,contr 
-0375 e8c08000 ifetch 1 ,contr 
-0376 6000c840 store 1 ,mem_24g_ch 
-0377 20600000 rtn 
+037b 6800c85e fetch 1 ,mem_24g_addr 
+037c 1fe17e03 and_into 0x03 ,pdata 
+037d 1fefa204 mul32 pdata ,4 ,rega 
+037e 58004847 setarg mem_24g_ch_map1 
+037f 9a20fe00 iadd rega ,pdata 
+0380 98408c00 iadd temp ,contr 
+0381 e8c08000 ifetch 1 ,contr 
+0382 6000c840 store 1 ,mem_24g_ch 
+0383 20600000 rtn 
 
 p_g24_prep:
-0378 7844fc00 disable enable_crc 
-0379 7843fc00 disable enable_white 
-037a 58555555 setarg 0x555555 
-037b 98001e00 iforce crc24_init 
-037c 6800c840 fetch 1 ,mem_24g_ch 
-037d 1fed8400 reverse pdata ,temp 
-037e 79200401 set1 1 ,temp 
-037f 18431c00 rshift temp ,white_init 
-0380 20600000 rtn 
+0384 7844fc00 disable enable_crc 
+0385 7843fc00 disable enable_white 
+0386 58555555 setarg 0x555555 
+0387 98001e00 iforce crc24_init 
+0388 6800c840 fetch 1 ,mem_24g_ch 
+0389 1fed8400 reverse pdata ,temp 
+038a 79200401 set1 1 ,temp 
+038b 18431c00 rshift temp ,white_init 
+038c 20600000 rtn 
 
 p_g24_receive_packet:
-0381 204053c4 call le_enable 
-0382 6802485e fetch 4 ,mem_24g_addr 
-0383 98001200 iforce access 
-0384 20402918 call set_sync_on 
-0385 6808c840 fetcht 1 ,mem_24g_ch 
-0386 2040291f call set_freq_rx 
-0387 58000500 setarg param_pll_setup 
-0388 20402a8f call sleep 
-0389 20402924 call rf_rx_enable 
+038d 204053c4 call le_enable 
+038e 6802485e fetch 4 ,mem_24g_addr 
+038f 98001200 iforce access 
+0390 20402918 call set_sync_on 
+0391 6808c840 fetcht 1 ,mem_24g_ch 
+0392 2040291f call set_freq_rx 
+0393 58000500 setarg param_pll_setup 
+0394 20402a8f call sleep 
+0395 20402924 call rf_rx_enable 
 
 p_g24_receive_rxon:
-038a 20400378 call p_g24_prep 
-038b 7857fc00 disable user3 
-038c 7826fc00 enable decode_fec0 
-038d 7830fc00 enable is_rx 
-038e 78507c00 disable is_tx 
-038f 78287c00 enable swfine 
-0390 68014839 fetch 2 ,mem_24g_rx_window 
-0391 98003600 iforce stop_watch 
-0392 37c18400 correlate null ,timeout 
-0393 242c03c6 nbranch p_g24_sync_timeout ,sync 
-0394 7846fc00 disable decode_fec0 
-0395 7825fc00 enable decode_fec1 
-0396 7823fc00 enable enable_white 
-0397 7824fc00 enable enable_crc 
-0398 09800008 parse demod ,bucket ,8 
-0399 19897e00 rshift3 pwindow ,pdata 
-039a 6000c8ea store 1 ,mem_24g_get_syncword_crc8 
-039b 6808c8e9 fetcht 1 ,mem_24g_syncword_crc8 
-039c 98467c00 isub temp ,null 
-039d 242283c3 nbranch p_g24_end_of_packet ,zero 
-039e 09800008 parse demod ,bucket ,8 
-039f 19897e00 rshift3 pwindow ,pdata 
-03a0 6000c7b0 store 1 ,mem_24g_rxbuf 
-03a1 6800c87c fetch 1 ,mem_24g_mode 
-03a2 1fe67c02 sub pdata ,rx_24g ,null 
-03a3 202283a8 branch p_g24_receive_skip ,zero 
-03a4 6800c7b0 fetch 1 ,mem_24g_rxbuf 
-03a5 6808c837 fetcht 1 ,mem_24g_data_type 
-03a6 a8400e00 icompare bits_data ,temp 
-03a7 242083c3 nbranch p_g24_end_of_packet ,true 
+0396 20400384 call p_g24_prep 
+0397 7857fc00 disable user3 
+0398 7826fc00 enable decode_fec0 
+0399 7830fc00 enable is_rx 
+039a 78507c00 disable is_tx 
+039b 78287c00 enable swfine 
+039c 68014839 fetch 2 ,mem_24g_rx_window 
+039d 98003600 iforce stop_watch 
+039e 37c18400 correlate null ,timeout 
+039f 242c03d2 nbranch p_g24_sync_timeout ,sync 
+03a0 7846fc00 disable decode_fec0 
+03a1 7825fc00 enable decode_fec1 
+03a2 7823fc00 enable enable_white 
+03a3 7824fc00 enable enable_crc 
+03a4 09800008 parse demod ,bucket ,8 
+03a5 19897e00 rshift3 pwindow ,pdata 
+03a6 6000c8ea store 1 ,mem_24g_get_syncword_crc8 
+03a7 6808c8e9 fetcht 1 ,mem_24g_syncword_crc8 
+03a8 98467c00 isub temp ,null 
+03a9 242283cf nbranch p_g24_end_of_packet ,zero 
+03aa 09800008 parse demod ,bucket ,8 
+03ab 19897e00 rshift3 pwindow ,pdata 
+03ac 6000c7b0 store 1 ,mem_24g_rxbuf 
+03ad 6800c87c fetch 1 ,mem_24g_mode 
+03ae 1fe67c02 sub pdata ,rx_24g ,null 
+03af 202283b4 branch p_g24_receive_skip ,zero 
+03b0 6800c7b0 fetch 1 ,mem_24g_rxbuf 
+03b1 6808c837 fetcht 1 ,mem_24g_data_type 
+03b2 a8400e00 icompare bits_data ,temp 
+03b3 242083cf nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-03a8 09800008 parse demod ,bucket ,8 
-03a9 19897e00 rshift3 pwindow ,pdata 
-03aa e0a08000 istore 1 ,contw 
-03ab 1fe97e00 rshift3 pdata ,pdata 
-03ac 1fe1721f and pdata ,0x1f ,loopcnt 
-03ad 202283b2 branch p_g24rx_nopayload ,zero 
+03b4 09800008 parse demod ,bucket ,8 
+03b5 19897e00 rshift3 pwindow ,pdata 
+03b6 e0a08000 istore 1 ,contw 
+03b7 1fe97e00 rshift3 pdata ,pdata 
+03b8 1fe1721f and pdata ,0x1f ,loopcnt 
+03b9 202283be branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-03ae 09800008 parse demod ,bucket ,8 
-03af 19897e00 rshift3 pwindow ,pdata 
-03b0 e0a08000 istore 1 ,contw 
-03b1 c20003ae loop p_g24rx_loop 
+03ba 09800008 parse demod ,bucket ,8 
+03bb 19897e00 rshift3 pwindow ,pdata 
+03bc e0a08000 istore 1 ,contw 
+03bd c20003ba loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-03b2 09800018 parse demod ,bucket ,24 
-03b3 78287c00 enable swfine 
-03b4 db600664 arg param_sifs ,stop_watch 
-03b5 1fef7e00 rshift32 pdata ,pdata 
-03b6 1ff17e00 rshift16 pdata ,pdata 
-03b7 e0a18000 istore 3 ,contw 
-03b8 7845fc00 disable decode_fec1 
-03b9 204029bb call save_rssi 
-03ba 202303c3 branch p_g24_end_of_packet ,crc_failed 
-03bb 7837fc00 enable user3 
-03bc 68008017 fetch 1 ,mem_last_freq 
-03bd 1fe0a200 add pdata ,0 ,rega 
-03be 20402981 call rf_write_freq 
-03bf 7846fc00 disable decode_fec0 
-03c0 20402918 call set_sync_on 
-03c1 20600000 rtn 
-03c2 20600000 rtn 
+03be 09800018 parse demod ,bucket ,24 
+03bf 78287c00 enable swfine 
+03c0 db600664 arg param_sifs ,stop_watch 
+03c1 1fef7e00 rshift32 pdata ,pdata 
+03c2 1ff17e00 rshift16 pdata ,pdata 
+03c3 e0a18000 istore 3 ,contw 
+03c4 7845fc00 disable decode_fec1 
+03c5 204029bb call save_rssi 
+03c6 202303cf branch p_g24_end_of_packet ,crc_failed 
+03c7 7837fc00 enable user3 
+03c8 68008017 fetch 1 ,mem_last_freq 
+03c9 1fe0a200 add pdata ,0 ,rega 
+03ca 20402981 call rf_write_freq 
+03cb 7846fc00 disable decode_fec0 
+03cc 20402918 call set_sync_on 
+03cd 20600000 rtn 
+03ce 20600000 rtn 
 
 p_g24_end_of_packet:
-03c3 784dfc00 disable encode_fec1 
-03c4 7845fc00 disable decode_fec1 
-03c5 2020264d branch end_of_packet 
+03cf 784dfc00 disable encode_fec1 
+03d0 7845fc00 disable decode_fec1 
+03d1 2020264d branch end_of_packet 
 
 p_g24_sync_timeout:
-03c6 20400334 call p_rssi_noise 
-03c7 202003c3 branch p_g24_end_of_packet 
+03d2 20400340 call p_rssi_noise 
+03d3 202003cf branch p_g24_end_of_packet 
 
 p_g24_set_freq_tx:
-03c8 20402918 call set_sync_on 
-03c9 6808c840 fetcht 1 ,mem_24g_ch 
-03ca 20202933 branch set_freq_tx 
+03d4 20402918 call set_sync_on 
+03d5 6808c840 fetcht 1 ,mem_24g_ch 
+03d6 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-03cb 204053c4 call le_enable 
-03cc 6802485e fetch 4 ,mem_24g_addr 
-03cd 98001200 iforce access 
-03ce 20400378 call p_g24_prep 
-03cf 204003c8 call p_g24_set_freq_tx 
-03d0 79202a00 set1 txgfsk ,radio_ctrl 
-03d1 782efc00 enable encode_fec0 
-03d2 78307c00 enable is_tx 
-03d3 7850fc00 disable is_rx 
-03d4 19317e00 rshift16 access ,pdata 
-03d5 1fecfe00 rshift8 pdata ,pdata 
-03d6 1ff1fe00 rshift4 pdata ,pdata 
-03d7 08008628 inject mod ,40 
-03d8 784efc00 disable encode_fec0 
-03d9 782dfc00 enable encode_fec1 
-03da 7823fc00 enable enable_white 
-03db 7824fc00 enable enable_crc 
-03dc 6800c8e9 fetch 1 ,mem_24g_syncword_crc8 
-03dd 08008608 inject mod ,8 
-03de 6800c838 fetch 1 ,mem_24g_txlen 
-03df 98007200 iforce loopcnt 
-03e0 d8c047f2 arg mem_24g_txpayload ,contr 
+03d7 204053c4 call le_enable 
+03d8 6802485e fetch 4 ,mem_24g_addr 
+03d9 98001200 iforce access 
+03da 20400384 call p_g24_prep 
+03db 204003d4 call p_g24_set_freq_tx 
+03dc 79202a00 set1 txgfsk ,radio_ctrl 
+03dd 782efc00 enable encode_fec0 
+03de 78307c00 enable is_tx 
+03df 7850fc00 disable is_rx 
+03e0 19317e00 rshift16 access ,pdata 
+03e1 1fecfe00 rshift8 pdata ,pdata 
+03e2 1ff1fe00 rshift4 pdata ,pdata 
+03e3 08008628 inject mod ,40 
+03e4 784efc00 disable encode_fec0 
+03e5 782dfc00 enable encode_fec1 
+03e6 7823fc00 enable enable_white 
+03e7 7824fc00 enable enable_crc 
+03e8 6800c8e9 fetch 1 ,mem_24g_syncword_crc8 
+03e9 08008608 inject mod ,8 
+03ea 6800c838 fetch 1 ,mem_24g_txlen 
+03eb 98007200 iforce loopcnt 
+03ec d8c047f2 arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-03e1 e8c08000 ifetch 1 ,contr 
-03e2 08008608 inject mod ,8 
-03e3 c20003e1 loop p_g24tr_loop 
-03e4 6800c8ee fetch 1 ,mem_rssi_hex 
-03e5 08008608 inject mod ,8 
-03e6 78247c00 enable enable_parity 
-03e7 08008618 inject mod ,24 
-03e8 78447c00 disable enable_parity 
-03e9 37d38200 until null ,tx_clear 
-03ea 20000064 nop 100 
-03eb 784efc00 disable encode_fec0 
-03ec 784dfc00 disable encode_fec1 
-03ed 20600000 rtn 
+03ed e8c08000 ifetch 1 ,contr 
+03ee 08008608 inject mod ,8 
+03ef c20003ed loop p_g24tr_loop 
+03f0 6800c8ee fetch 1 ,mem_rssi_hex 
+03f1 08008608 inject mod ,8 
+03f2 78247c00 enable enable_parity 
+03f3 08008618 inject mod ,24 
+03f4 78447c00 disable enable_parity 
+03f5 37d38200 until null ,tx_clear 
+03f6 20000064 nop 100 
+03f7 784efc00 disable encode_fec0 
+03f8 784dfc00 disable encode_fec1 
+03f9 20600000 rtn 
 org 0x2000
 
 start:
Index: dongle/program/patch.prog
===================================================================
--- /branch/USB/dongle/program/patch.prog	(revision 661)
+++ /branch/USB/dongle/program/patch.prog	(working copy)
@@ -243,7 +243,7 @@
 p_g24_ms_blank_data:
 	fetch 1,mem_24g_ms_blank_data_enable
 	rtn blank
-	arg TIMER_MS_BLANK,queue
+	arg TIMER_NEW_MS_BLANK,queue
 	call timer_check
 	nrtn blank
 	jam 0,mem_24g_ms_blank_data_enable
@@ -252,7 +252,7 @@
 p_g24_kb_blank_data:
 	fetch 1,mem_24g_kb_blank_data_enable
 	rtn blank
-	arg TIMER_KB_BLANK,queue
+	arg TIMER_NEW_KB_BLANK,queue
 	call timer_check
 	nrtn blank
 	jam 0,mem_24g_kb_blank_data_enable
@@ -261,7 +261,7 @@
 p_g24_kb_mul_blank_data:
 	fetch 1,mem_24g_kb_mul_blank_data_enable
 	rtn blank
-	arg TIMER_KB_MUL_BLANK,queue
+	arg TIMER_NEW_KB_MUL_BLANK,queue
 	call timer_check
 	nrtn blank
 	jam 0,mem_24g_kb_mul_blank_data_enable
@@ -924,10 +924,14 @@
 
 p_g24_ms_enable_blank_data_forcibly:
 	jam 1,mem_24g_ms_blank_data_enable
-	branch g24_ms_enable_blank_data_timer
+	setarg TIMER_NEW_MS_BLANK_DELAY
+	arg TIMER_NEW_MS_BLANK,queue
+	branch timer_init
 p_g24_ms_disable_blank_data_forcibly:
 	jam 0,mem_24g_ms_blank_data_enable
-	branch g24_ms_disable_blank_data_timer
+	setarg 0
+	arg TIMER_NEW_MS_BLANK,queue
+	branch timer_init
 
 p_g24_data_type2:
 	fetcht 1,mem_24g_rxdata_temp
@@ -961,11 +965,15 @@
 
 p_g24_kb_enable_blank_data_forcibly:
 	jam 1,mem_24g_kb_blank_data_enable
-	branch g24_kb_enable_blank_data_timer
+	setarg TIMER_NEW_KB_BLANK_DELAY
+	arg TIMER_NEW_KB_BLANK,queue
+	branch timer_init
 
 p_g24_kb_disable_blank_data_forcibly:
 	jam 0,mem_24g_kb_blank_data_enable
-	branch g24_kb_disable_blank_data_timer
+	setarg 0
+	arg TIMER_NEW_KB_BLANK,queue
+	branch timer_init
 
 p_g24_data_type2_data2:
 	arg mem_usb_kb_multikey,contw
@@ -991,11 +999,15 @@
 
 p_g24_kb_mul_enable_blank_data_forcibly:
 	jam 1,mem_24g_kb_mul_blank_data_enable
-	branch g24_kb_mul_enable_blank_data_timer
-
+	setarg TIMER_NEW_KB_MUL_BLANK_DELAY
+	arg TIMER_NEW_KB_MUL_BLANK,queue
+	branch timer_init
+	
 p_g24_kb_mul_disable_blank_data_forcibly:
 	jam 0,mem_24g_kb_mul_blank_data_enable
-	branch g24_kb_mul_disable_blank_data_timer
+	setarg 0
+	arg TIMER_NEW_KB_MUL_BLANK,queue
+	branch timer_init
 
 	
 p_g24_data_attemp:
Index: dongle/sched/usb.dat
===================================================================
--- /branch/USB/dongle/sched/usb.dat	(revision 661)
+++ /branch/USB/dongle/sched/usb.dat	(working copy)
@@ -163,7 +163,7 @@
 mem_24g_ch_map3:0f 1a 3a 4c
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_paring_addr:20 15 10 05
-mem_24g_rx_addr:36 26 00 09
+mem_24g_rx_addr:36 16 00 09
 #24g rx init end
 
 mem_eeprom_base:80 1f
