Index: format/app_mouse.format
===================================================================
--- /branch/mouse_project/YJX_Project/mingAo_Only24g/format/app_mouse.format	(revision 2401)
+++ /branch/mouse_project/YJX_Project/mingAo_Only24g/format/app_mouse.format	(working copy)
@@ -200,7 +200,7 @@
 
 1 mem_mouse_long_mult_flag
 1 mem_mouse_le_current_mult_timer
-1 mem_24g_long_sleep_param_update_timer
+2 mem_24g_long_sleep_param_update_timer
 1 mem_mouse_enter_sniff_count
 1 mem_mouse_send_switch_req_timer
 
@@ -255,7 +255,7 @@
 2 mem_mouse_x_pre
 2 mem_mouse_y_pre
 
-20 mem_le_adv_swift_pair
+19 mem_le_adv_swift_pair
 
 1 mem_bt_125hz_cnt
 
@@ -264,26 +264,35 @@
 
 1 mem_g24_stop_g24_mode
 2 mem_g24_stop_g24_mode_timeout
+1 mem_24g_search_dongle_wait
 1 mem_24g_pair_current_ch_num
 1 mem_24g_powerful_current_ch_num
 
 1 mem_mouse_nodata_check_count
-1 mem_g24_search_dongle_delay_count
-1 mem_24g_search_dongle_wait
 1 mem_mouse_sensor_powerdown_timer
 
 1 mem_mouse_common_gpio
 
-25 mem_sensor_8650_init
+26 mem_sensor_8650_init
 30 mem_sensor_ka8ul_init
-15 mem_sensor_8009_init
-9 mem_sensor_poweron_init
+16 mem_sensor_8009_init
+14 mem_sensor_ka5857_init
+10 mem_sensor_poweron_init
+
+1 mem_mouse_lkey_press_status
+1 mem_mouse_rkey_press_status
+1 mem_mouse_mkey_press_status
+1 mem_mouse_bkkey_press_status
+1 mem_mouse_fwkey_press_status
+1 mem_mouse_dpikey_press_status
+1 mem_mouse_key_temp
+1 mem_mouse_key_status
+
+2 mem_firmware_version
 
 1 mem_mouse_data_xtemp
 1 mem_mouse_data_ytemp
 
-2 mem_firmware_version
-4 mem_compare_addr_ff
 )
 
 (
@@ -411,7 +420,8 @@
 0x70 P3065_XY_ID2
 0x5a P_MX8650
 0xD8 P8009_ID2
-
+0x58 PKA5857_ID1
+0x57 PKA5857_ID2
 
 //Sensor type
 0X00 P3205
@@ -425,6 +435,7 @@
 0x08 P8009
 0x09 KA8_UL
 0x0a KA8_HD
+0x0b KA5857
 
 
 //p3610 smart enable flag
@@ -483,6 +494,7 @@
 0x017700 G24_LONG_SLEEP_STEP1	//8ms
 0x36ee80 G24_LONG_SLEEP_STEP2	//300ms
 0x124f80 G24_LONG_SLEEP_STEP3	//100ms
+0x012c G24_LONG_SLEEP_STEP1_TIMEOUT
 )
 
 
Index: format/app_usb.format
===================================================================
--- /branch/mouse_project/YJX_Project/mingAo_Only24g/format/app_usb.format	(revision 2401)
+++ /branch/mouse_project/YJX_Project/mingAo_Only24g/format/app_usb.format	(working copy)
@@ -184,7 +184,10 @@
 
 (
 0x01 BIND_ACKPAYLOAD
+0x08 BIND_ACKPAYLOAD_LENGTH
+0x07 BIND_ACKPAYLOAD_LENGTH_YC1131
 0x02 USER_ACKPAYLOAD
+0x1F USER_ACKPAYLOAD_LENGTH
 
 0xcf CMD_OTA
 0xc0 CMD_OTA_START
Index: format/utility.format
===================================================================
--- /branch/mouse_project/YJX_Project/mingAo_Only24g/format/utility.format	(revision 2401)
+++ /branch/mouse_project/YJX_Project/mingAo_Only24g/format/utility.format	(working copy)
@@ -152,15 +152,52 @@
 2 mem_data_value
 
 ifdef DEBUGLOG
-1   mem_debuglog_temp
-1   mem_debuglog_type
-1	mem_debuglog_datalen
-2	mem_debuglog_dataval
-2	mem_debuglog_datatype
-1	mem_debuglog_tail
-8	mem_debuglog_pdata
+1 mem_debuglog_temp
+1 mem_debuglog_type
+1 mem_debuglog_datalen
+2 mem_debuglog_dataval
+2 mem_debuglog_datatype
+1 mem_debuglog_tail
+8 mem_debuglog_pdata
 endif
 
+ifdef TEST_MODE
+0 mem_test_mode_start
+0 mem_fcc_param_new
+1 mem_fcc_ch_new
+1 mem_fcc_mod_new
+1 mem_fcc_txrx_new
+1 mem_fcc_btble_new
+1 mem_fcc_data_new
+1 mem_fcc_data_length_new
+1 mem_fcc_hop_new
+	
+0 mem_fcc_param
+1 mem_fcc_ch
+1 mem_fcc_mod
+1 mem_fcc_txrx
+1 mem_fcc_btble
+1 mem_fcc_data
+1 mem_fcc_data_length
+1 mem_fcc_hop
+
+1 mem_random_ch
+256 mem_pn9
+
+1 mem_test_mode_switch
+1 mem_test_mode_switch_enable
+1 mem_test_ch_switch
+1 mem_test_ch_switch_incre_enable
+1 mem_test_ch_switch_decre_enable
+0 mem_test_mode_end
+endif
+)
+
+(
+1 TEST_MODE_CARRY
+2 TEST_MODE_CARRY_DATA
+3 TEST_MODE_RX
+4 TEST_MODE_MAX_COUNT
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /branch/mouse_project/YJX_Project/mingAo_Only24g/output/eeprom.dat	(revision 2401)
+++ /branch/mouse_project/YJX_Project/mingAo_Only24g/output/eeprom.dat	(working copy)
@@ -2,84 +2,68 @@
 02
 aa
 55
-62
-1c
+56
+1d
 c2
 84
 00
-11
+0d
 c0
 00
 00
-1e
+1a
 c0
 00
 80
-21
+1d
 c0
 01
 00
-29
+25
 c0
 42
-85
-82
+84
+b3
 c0
 44
-85
-3f
-c0
-45
-05
+84
 84
 c0
-50
-80
-32
+45
+04
+b5
 c0
-58
-80
-37
+53
+84
+b8
 c0
 59
 00
-45
+2e
 c0
 62
-01
-13
+00
+f7
 c0
 71
-83
-18
+82
+9f
 c0
 73
 02
-b8
-c0
-75
-03
-52
-c0
-75
-83
-5f
-c0
-76
-03
-8c
+32
 20
 20
 2a
 8e
 c0
 1f
-83
-90
+82
+da
 c0
 46
-03
-9b
+02
+e5
 20
 20
 2a
@@ -91,11 +75,11 @@
 68
 08
 cc
-e4
+f8
 58
 00
 4c
-eb
+ff
 98
 40
 8a
@@ -119,7 +103,7 @@
 60
 08
 cc
-e4
+f8
 20
 60
 00
@@ -131,7 +115,7 @@
 60
 00
 cb
-18
+19
 20
 20
 20
@@ -199,87 +183,11 @@
 20
 3a
 00
-2c
+28
 20
 20
 20
 12
-58
-00
-0a
-06
-60
-01
-c5
-10
-58
-00
-1d
-87
-60
-01
-45
-13
-20
-20
-2a
-a2
-c6
-13
-00
-00
-68
-00
-cb
-14
-24
-3a
-7f
-ef
-68
-00
-cb
-0e
-24
-3a
-7f
-ef
-68
-00
-c7
-a2
-20
-3a
-7f
-ef
-68
-00
-c7
-ca
-c0
-00
-ff
-ef
-68
-01
-42
-48
-24
-3a
-7f
-ef
-68
-00
-c8
-0c
-24
-3a
-7f
-ef
-20
-20
-7f
-f1
 c6
 93
 00
@@ -287,71 +195,67 @@
 68
 00
 cd
-75
+89
 c2
 80
 80
-59
+41
 c2
 81
 00
-75
+61
 68
 00
 cd
-69
+7d
 c0
 00
 80
-8a
+74
 20
 40
-04
-02
+03
+4d
 24
 34
 00
-aa
-70
-4b
-48
-0a
+8f
 20
 40
 03
-e7
+32
 20
 40
-04
-2f
+03
+78
 68
 00
 cc
-39
+4d
 c1
 ff
 80
 00
 20
 40
-04
-8e
+03
+cd
 20
 40
 00
-84
+6f
 20
 40
 00
-b5
+9a
 24
 74
 00
 00
 20
 40
-01
-03
+00
+e7
 58
 00
 f8
@@ -366,28 +270,56 @@
 42
 c0
 00
-84
-67
+ad
+d4
 20
 40
 04
-f3
+3e
 20
 40
-04
-4d
+03
+8f
 24
 2c
-05
-09
+04
+54
 24
 37
-85
-09
+84
+54
+20
+40
+03
+b5
+68
+02
+4c
+65
+68
+0a
+4d
+82
+98
+46
+7c
+00
+20
+22
+80
+4e
+20
+40
+00
+5b
+24
+74
+00
+00
 68
 00
 cd
-75
+89
 79
 3f
 fe
@@ -395,63 +327,35 @@
 60
 00
 cd
-75
+89
 20
 40
-04
-76
+01
+f6
 68
 02
 4c
-51
+65
 68
 0a
-4d
-6e
+4c
+49
 98
 46
 7c
 00
 20
 22
-80
-69
-68
-00
-cc
-27
-20
-7a
-00
-00
-20
-40
-02
-37
-68
-02
-4c
-51
-68
-0a
-4c
-35
-98
-46
-7c
-00
-20
-22
-84
-b8
+83
+f5
 68
 02
 4c
-51
+65
 68
 0a
 4c
-60
+74
 98
 46
 7c
@@ -459,47 +363,63 @@
 20
 42
 80
-73
+5f
 20
 20
 00
-7e
+6a
+68
+00
+cc
+3b
+c0
+04
+7f
+e7
+c0
+03
+ff
+e7
+20
+20
+7f
+e9
 68
 02
 4c
-09
+1d
 20
 20
-05
-b5
+03
+fd
 68
 00
 cb
 42
 c0
 00
-84
-67
+ad
+d4
 20
 40
 04
-f3
+3e
 20
 40
-04
-4d
+03
+8f
 24
 2c
 04
-fc
+47
 24
 37
 84
-fc
+47
 68
 00
 cd
-75
+89
 79
 3f
 fe
@@ -507,7 +427,7 @@
 60
 00
 cd
-75
+89
 79
 20
 00
@@ -516,30 +436,18 @@
 48
 0e
 00
-70
-0a
-99
-3c
 20
 40
-7d
-86
+2f
+20
 20
 40
-04
-45
+03
+8c
 20
 20
-00
-a6
-68
-00
-c6
-f5
-c3
-83
-80
-00
+01
+ca
 58
 01
 77
@@ -547,19 +455,23 @@
 60
 01
 cc
+6c
 58
-70
+00
+01
+2c
+60
+01
 48
 10
-1e
 20
 60
 00
 00
 20
 40
-05
-87
+04
+ba
 24
 74
 00
@@ -567,11 +479,11 @@
 20
 40
 00
-a0
+89
 68
 01
 4d
-6a
+7e
 1f
 e0
 fe
@@ -579,11 +491,11 @@
 60
 01
 4d
-6a
+7e
 68
 09
 4d
-6c
+80
 98
 46
 7c
@@ -591,14 +503,14 @@
 20
 42
 80
-94
+7e
 20
 20
 00
-4b
+34
 70
 4d
-69
+7d
 00
 58
 00
@@ -607,7 +519,7 @@
 60
 01
 4d
-6a
+7e
 58
 00
 00
@@ -615,19 +527,19 @@
 60
 01
 4d
-6c
+80
 70
 4c
-64
+78
 00
 68
 00
 cc
-4f
+63
 60
 00
 cc
-4e
+62
 20
 60
 00
@@ -635,19 +547,15 @@
 68
 00
 cc
-50
-60
-00
-cc
-4e
+64
+20
 20
-60
-00
 00
+85
 68
 00
 cc
-64
+78
 1f
 e0
 fe
@@ -655,31 +563,15 @@
 60
 00
 cc
-64
+78
 c0
 02
 00
-9d
+87
 c0
 02
 80
-99
-20
-60
-00
-00
-70
-4d
-69
-01
-58
-00
-00
-00
-60
-01
-4d
-6a
+83
 20
 60
 00
@@ -687,15 +579,15 @@
 68
 00
 cc
-55
+69
 20
 5a
 00
-be
+a3
 68
 00
 cd
-69
+7d
 c1
 00
 80
@@ -703,11 +595,11 @@
 20
 40
 00
-d0
+b4
 20
 40
 00
-b5
+9a
 24
 74
 00
@@ -715,7 +607,7 @@
 68
 01
 cc
-58
+6c
 20
 40
 7f
@@ -755,31 +647,31 @@
 68
 00
 cd
-69
+7d
 c0
 00
 ff
 e9
 20
 20
-01
-06
+00
+ea
 70
 4c
-55
+69
 01
 70
 4d
-5e
+72
 00
 20
 40
-03
-ad
+02
+f7
 60
 00
 cb
-c5
+d9
 58
 00
 00
@@ -787,23 +679,23 @@
 60
 03
 cb
-c6
+da
 68
 02
 4c
-60
+74
 60
 02
 4b
-cd
+e1
 70
 4c
-29
+3d
 0c
 68
 00
 cc
-2a
+3e
 79
 20
 7e
@@ -811,27 +703,23 @@
 60
 00
 cc
-2a
+3e
 20
 40
-04
-05
+03
+50
 20
 20
 00
-4f
-70
-4d
-72
+37
+58
 00
-70
-4d
-73
 00
-70
-4d
-74
 00
+60
+01
+cd
+86
 20
 60
 00
@@ -847,7 +735,7 @@
 68
 00
 cc
-55
+69
 20
 7a
 00
@@ -855,7 +743,7 @@
 68
 00
 cb
-49
+45
 1f
 e0
 fe
@@ -867,19 +755,19 @@
 60
 00
 cb
-49
+45
 24
 7a
 00
 00
 70
 4d
-74
+88
 00
 68
 00
 cd
-74
+88
 1f
 e0
 fe
@@ -887,7 +775,7 @@
 60
 00
 cd
-74
+88
 1f
 e6
 7c
@@ -895,35 +783,35 @@
 24
 21
 00
-e4
+c8
 20
 40
 04
-f3
+3e
 20
 40
-04
-4d
+03
+8f
 24
 2c
 00
-ea
+ce
 24
 37
 80
-ea
+ce
 20
 40
 00
-f4
+d8
 20
 40
-04
-45
-68
+03
+8c
+68
 00
 cd
-73
+87
 1f
 e0
 fe
@@ -931,31 +819,31 @@
 60
 00
 cd
-73
+87
 c0
 08
 00
-ec
+d0
 20
 60
 00
 00
 20
 40
-05
-d5
+04
+eb
 20
 20
 00
-da
+be
 70
 4d
-73
+87
 00
 68
 00
 cd
-72
+86
 c3
 80
 00
@@ -967,7 +855,7 @@
 60
 00
 cd
-72
+86
 58
 00
 07
@@ -979,23 +867,23 @@
 20
 20
 01
-a4
+73
 68
 00
 cc
-55
+69
 20
 3a
 00
-cc
+b1
 70
 4d
-73
+87
 00
 68
 00
 cd
-72
+86
 c4
 00
 00
@@ -1007,7 +895,7 @@
 60
 00
 cd
-72
+86
 20
 40
 3f
@@ -1015,23 +903,23 @@
 20
 20
 01
-57
+22
 c6
 13
 00
 00
 20
 40
-01
-06
+00
+ea
 68
 00
 c0
 40
 c3
 00
-01
-03
+00
+e7
 68
 00
 80
@@ -1054,12 +942,12 @@
 00
 20
 40
-01
-10
+00
+f4
 20
 40
-01
-03
+00
+e7
 20
 40
 3e
@@ -1067,7 +955,7 @@
 20
 40
 02
-62
+15
 68
 12
 00
@@ -1095,31 +983,27 @@
 68
 00
 cb
-09
+0a
 20
 7a
 00
 00
 20
 20
-03
-18
+02
+9f
 20
 40
 34
 16
 20
 35
-81
-1d
+80
+fd
 70
 80
 78
 20
-20
-40
-06
-fe
 68
 00
 c1
@@ -1127,27 +1011,15 @@
 60
 00
 cc
-e0
-20
-40
-04
-7d
-68
-00
-c6
-85
-60
-00
-c6
-da
+f4
 20
 40
-43
-ca
+03
+bc
 20
 40
-01
-1f
+00
+ff
 20
 20
 74
@@ -1155,175 +1027,51 @@
 24
 55
 81
-aa
+79
 20
 40
 01
-4d
+0e
 20
 75
 80
 00
 20
 40
-06
-5f
+05
+70
 20
 40
 01
-f6
-20
-20
-01
-dd
-20
-40
-02
-37
+ba
 68
 00
+cb
+19
 c2
-10
-c0
-1a
-01
-29
-20
-60
-00
-00
-70
-47
-a5
-01
-68
-01
-46
-a8
-60
-01
-46
-ae
-20
-40
-34
-18
-20
-40
-01
-31
-58
-00
-00
-04
-e0
-c0
-80
-00
-20
-20
-7d
-f4
-da
-20
-43
-70
-ea
-20
-80
-00
-20
-7a
-00
-00
-98
-c0
-a2
-00
-e8
-c0
-80
-00
-c1
-00
-80
-00
-20
-20
+81
 01
-32
-68
-02
-46
-d3
-c4
 08
-80
-00
-c3
-81
-80
-00
-c6
-13
-00
-00
 20
 40
-44
-82
-d8
-e0
-00
+02
+48
+c0
 03
-20
-40
-43
-ce
-58
-00
-00
-00
-60
-01
-46
-ae
-60
-00
-c6
-b4
-60
-01
-4c
-56
-20
-40
-42
-ca
+86
+0f
 20
 20
-04
-fd
-68
-02
-46
-d3
-c3
-0a
-3d
-66
+01
+a3
 68
 00
 c7
 7a
 c0
-7f
-81
-4a
-20
-20
-03
-18
+ff
+82
+9f
 68
 00
 c6
@@ -1334,8 +1082,8 @@
 7a
 20
 20
-03
-18
+02
+9f
 70
 42
 12
@@ -1347,7 +1095,7 @@
 20
 40
 01
-4d
+0e
 20
 40
 40
@@ -1359,11 +1107,15 @@
 c0
 18
 01
-59
+24
 c0
 18
 81
-9c
+6e
+c0
+2c
+01
+19
 20
 40
 40
@@ -1375,19 +1127,55 @@
 20
 20
 01
-51
+12
+20
+40
+01
+70
+68
+00
+c6
+de
+c0
+2b
+81
+1d
+20
+20
+40
+e0
+58
+00
+91
+06
+20
+40
+64
+13
+70
+46
+e0
+0b
+da
+60
+4b
+93
+20
+20
+01
+31
 70
 4b
-09
+0a
 01
 20
 20
 01
-4f
+10
 20
 40
 01
-a1
+70
 68
 00
 c6
@@ -1395,15 +1183,15 @@
 c0
 2d
 01
-5f
+2a
 c0
 2a
 01
-67
+39
 c0
 6c
 01
-8d
+5f
 20
 20
 40
@@ -1412,16 +1200,44 @@
 46
 e0
 07
+58
+00
+80
+06
+20
+40
+64
+13
+20
+40
+7e
+c1
 da
 60
 4b
-4c
+4b
+20
+40
+01
+31
+20
+20
+01
+09
 ea
 61
 00
 00
-c1
-7f
+d8
+40
+ff
+ff
+98
+46
+7c
+00
+20
+62
 80
 00
 20
@@ -1439,7 +1255,7 @@
 20
 20
 01
-61
+31
 20
 40
 40
@@ -1467,7 +1283,7 @@
 20
 22
 81
-7a
+4c
 1f
 e6
 7c
@@ -1475,7 +1291,7 @@
 24
 22
 81
-7d
+4f
 58
 00
 00
@@ -1491,7 +1307,7 @@
 24
 22
 81
-51
+12
 58
 00
 00
@@ -1507,11 +1323,11 @@
 20
 22
 81
-7a
+4c
 20
 40
 01
-8a
+5c
 20
 20
 40
@@ -1527,7 +1343,7 @@
 20
 20
 01
-61
+31
 1f
 e6
 7c
@@ -1535,7 +1351,7 @@
 24
 22
 81
-51
+12
 58
 00
 00
@@ -1551,7 +1367,7 @@
 24
 22
 81
-51
+12
 58
 00
 00
@@ -1567,11 +1383,11 @@
 24
 22
 81
-51
+12
 20
 40
 01
-8a
+5c
 70
 46
 e0
@@ -1607,7 +1423,7 @@
 24
 22
 81
-51
+12
 58
 00
 00
@@ -1623,7 +1439,7 @@
 24
 22
 81
-51
+12
 58
 00
 00
@@ -1639,7 +1455,7 @@
 24
 22
 81
-51
+12
 70
 46
 e0
@@ -1651,39 +1467,27 @@
 20
 20
 01
-61
+31
 20
 40
 01
-a1
-68
-00
-c6
-de
-c0
-38
-40
-e8
 70
-46
-e0
-01
 20
-60
-00
-00
+20
+40
+ea
 da
 60
 4b
-92
+a1
 20
 40
 01
-61
+31
 20
 20
 01
-45
+09
 58
 00
 08
@@ -1710,20 +1514,8 @@
 13
 20
 40
-03
-a7
-68
-10
-8a
-00
-79
-3f
-fe
-04
-60
-10
-8a
-00
+02
+f1
 20
 40
 3e
@@ -1743,7 +1535,7 @@
 20
 40
 01
-cb
+91
 d8
 40
 00
@@ -1808,38 +1600,14 @@
 40
 43
 16
-68
-00
-c7
-20
-1f
-e6
-7c
-ff
-20
-42
-81
-c8
 20
 40
-02
-33
+01
+f2
 20
 20
 65
 df
-70
-47
-20
-01
-70
-47
-21
-34
-20
-60
-00
-00
 68
 10
 80
@@ -1874,8 +1642,8 @@
 1a
 20
 40
-03
-00
+02
+7a
 d8
 40
 00
@@ -1907,7 +1675,7 @@
 60
 01
 4d
-6c
+80
 20
 60
 00
@@ -1919,11 +1687,11 @@
 60
 01
 4d
-6c
+80
 24
 55
 81
-da
+a0
 68
 00
 c7
@@ -1935,22 +1703,22 @@
 68
 00
 cb
-18
+19
 c2
 81
 04
-eb
+36
 20
 40
 01
-57
+22
 20
 40
 01
-4a
+0b
 70
 4b
-4a
+49
 14
 58
 00
@@ -1959,23 +1727,15 @@
 60
 01
 4c
-51
+65
 e0
 a1
 00
 00
 20
-40
-02
-33
-20
-40
-65
-d1
-20
 20
 04
-fd
+48
 df
 20
 00
@@ -1983,7 +1743,7 @@
 d8
 c0
 4c
-51
+65
 20
 40
 7f
@@ -2007,39 +1767,39 @@
 c2
 00
 01
-f1
+b5
 20
 60
 00
 00
 58
 00
-02
-05
+01
+c7
 60
 01
 4d
-5a
+6e
 58
 00
 00
-fd
+e1
 60
 01
 41
 ed
 58
 00
-02
-1e
+01
+e3
 60
 01
 41
 f5
 58
 00
-02
-0c
+01
+ce
 60
 01
 41
@@ -2047,7 +1807,7 @@
 58
 00
 02
-50
+04
 60
 01
 41
@@ -2055,19 +1815,11 @@
 58
 00
 02
-6c
+1f
 60
 01
 41
 fd
-58
-00
-3d
-36
-60
-01
-42
-01
 20
 60
 00
@@ -2084,54 +1836,74 @@
 7a
 00
 00
-20
-20
-00
-a6
-20
-40
-58
-14
 70
-47
-a2
+4d
+7d
 01
-20
-20
+58
+00
+00
+00
+60
 01
-57
+4d
+7e
+20
+60
+00
+00
 20
 40
 7e
 34
 20
+40
+01
+d1
+20
 20
 3e
 e0
+70
+4b
+b1
+05
 68
 08
 c6
 e7
+68
+00
+cb
+b0
 20
 40
 02
-f7
+4c
+60
+00
+cb
+b0
 68
 08
 c6
 e7
 20
 40
-68
-1d
-20
-20
+02
+7a
+1a
+22
+7e
+00
+c2
 82
-1c
+81
+db
 20
-40
-03
-00
+20
+3d
+62
 68
 00
 c6
@@ -2164,50 +1936,38 @@
 20
 3d
 74
-20
-40
-03
-00
-20
-20
-3d
-62
 1a
 62
 7e
 00
 c0
 1c
-82
-23
-c0
-1d
-02
-3a
+81
+e8
 c0
 1e
-02
-4a
+01
+fe
+c0
+1d
+01
+f9
 20
 20
 41
 7d
 70
 4b
-4a
+49
 00
 20
 40
-05
-05
+04
+50
 20
 40
 01
-57
-70
-47
-8b
-01
+22
 d8
 e0
 00
@@ -2216,42 +1976,22 @@
 40
 43
 d2
-58
-00
-00
-00
-60
-01
-47
-07
 70
 46
 a7
 00
-68
-00
-c6
-e0
-1f
-e6
-7c
-05
 20
-42
-c0
-39
-24
-42
-c0
+40
+40
 5d
 20
 40
-02
-37
+01
+f6
 20
 40
-02
-33
+01
+f2
 20
 20
 65
@@ -2259,7 +1999,7 @@
 da
 20
 4c
-51
+65
 da
 40
 00
@@ -2275,7 +2015,7 @@
 68
 00
 cc
-e0
+f4
 60
 00
 c1
@@ -2287,101 +2027,53 @@
 20
 40
 02
-68
+1b
 70
 4d
-69
+7d
 00
 20
 40
-02
-37
-20
-40
-05
-28
-68
-00
-c8
-7f
-c2
-80
-34
-0a
-70
-41
-bd
-00
+01
+f6
 20
 40
-43
-16
-df
-20
-00
-03
-d8
-c0
-47
-22
+04
+6d
 20
-40
-01
-ef
 20
 34
-02
-47
-20
-20
-01
-25
-70
-47
-a3
-01
-70
-47
-a4
-28
-20
-60
-00
-00
+0a
 70
 4b
-4a
+49
 00
 20
 40
-05
-05
+04
+50
 20
 40
 01
-57
+22
 20
 40
 3f
 8d
 20
 40
-02
-33
+01
+f2
 20
 20
 65
 d1
-78
-34
-7c
-00
 68
 12
 01
 38
 79
-34
+20
 7e
 1a
 60
@@ -2395,7 +2087,7 @@
 20
 40
 02
-68
+1b
 20
 40
 74
@@ -2410,12 +2102,12 @@
 9f
 20
 40
-01
-08
+00
+ec
 68
 08
 cb
-4b
+4a
 20
 40
 68
@@ -2423,7 +2115,7 @@
 68
 08
 cb
-4b
+4a
 20
 40
 68
@@ -2431,7 +2123,7 @@
 68
 08
 cb
-4b
+4a
 79
 3f
 84
@@ -2471,35 +2163,23 @@
 68
 00
 cb
-09
+0a
 20
 7a
 00
 00
 70
 4b
-09
+0a
 00
 20
 20
 01
-a4
-20
-40
-02
-84
-20
-40
-02
-7f
-20
-40
-02
-af
+73
 20
 40
 02
-0e
+2b
 20
 40
 42
@@ -2507,23 +2187,19 @@
 20
 40
 02
-74
-20
-40
-02
-77
+23
 20
 20
 02
-7a
+26
 da
 60
 4b
-4a
+49
 da
 40
 01
-a4
+73
 20
 20
 33
@@ -2531,23 +2207,11 @@
 da
 60
 4b
-48
-da
-40
-00
-00
-20
-20
-33
-6d
-da
-60
-4b
-43
+43
 da
 40
 02
-7d
+29
 20
 20
 33
@@ -2563,35 +2227,15 @@
 da
 60
 48
-0d
-da
-40
-02
-82
-20
-20
-33
-6d
-70
-48
-0c
-00
-20
-60
-00
-00
-da
-60
-48
 10
 da
 40
 02
-87
+2e
 20
 20
 33
-6d
+74
 58
 12
 4f
@@ -2599,35 +2243,7 @@
 60
 01
 cc
-58
-70
-48
-0e
-01
-20
-60
-00
-00
-da
-60
-48
-0f
-da
-40
-02
-8e
-20
-20
-33
-6d
-68
-00
-c7
-cb
-60
-00
-c1
-72
+6c
 70
 48
 0e
@@ -2636,158 +2252,6 @@
 60
 00
 00
-da
-60
-46
-c6
-da
-40
-3d
-60
-20
-20
-33
-6d
-68
-00
-c6
-f5
-c2
-82
-43
-94
-68
-00
-c6
-85
-60
-00
-c6
-da
-68
-00
-c6
-db
-c1
-00
-80
-00
-70
-46
-db
-01
-d8
-e0
-00
-09
-20
-40
-43
-d2
-20
-20
-43
-ca
-70
-47
-a4
-28
-20
-40
-02
-a2
-20
-20
-43
-b0
-da
-60
-46
-da
-da
-40
-02
-a5
-20
-20
-33
-6d
-20
-40
-02
-68
-68
-01
-46
-82
-2f
-ef
-fe
-0b
-20
-40
-c2
-d4
-68
-01
-46
-82
-2f
-ef
-fe
-07
-20
-40
-c3
-92
-d8
-e0
-00
-09
-20
-40
-43
-ce
-20
-20
-43
-b8
-68
-00
-c7
-a3
-20
-7a
-00
-00
-68
-00
-c7
-a4
-20
-3a
-02
-b6
-1f
-e0
-ff
-ff
-60
-00
-c7
-a4
-20
-60
-00
-00
-70
-47
-a3
-00
-20
-20
-34
-0a
 78
 54
 7c
@@ -2802,8 +2266,8 @@
 9b
 20
 40
-03
-05
+02
+8b
 20
 40
 40
@@ -2815,30 +2279,30 @@
 20
 40
 02
-cc
+46
 24
 34
 02
-c3
+3d
 20
 40
-06
-53
+05
+64
 20
 40
 02
-c6
+40
 20
 20
 3f
 a1
 20
 40
-06
-5f
+05
+70
 70
 4b
-47
+48
 00
 20
 60
@@ -2847,7 +2311,7 @@
 68
 00
 cb
-47
+48
 1f
 e0
 fe
@@ -2855,7 +2319,7 @@
 60
 00
 cb
-47
+48
 1f
 e6
 7c
@@ -2871,178 +2335,214 @@
 20
 40
 02
-ce
+48
 20
 20
 40
 9a
-da
-20
+68
 00
+c6
+9a
+1f
+e2
+22
 00
 20
 40
 02
-d9
+5e
+20
 20
 40
-02
-df
-20
-40
-02
-e5
-20
-40
-02
-d5
-1a
-22
-7e
-00
-20
+8e
 60
 00
+cb
+b2
+1f
+e3
+fe
 00
-68
+1f
+e2
+24
 00
-c6
-e5
-c1
-7f
-80
+18
+42
+26
 00
-20
-40
+68
+00
+cb
+b1
+1f
+e6
+7c
 02
-eb
-20
 20
+41
 02
-f1
-68
-08
-c6
-e2
-20
-40
-03
+7a
+24
+41
+02
+85
+1a
+62
+04
 00
-68
-08
-c6
-e2
 20
 40
 68
 1d
 79
 20
-a2
+a4
+00
+1a
+41
+7e
+07
+68
+08
+cb
+b1
+18
+42
+0e
+00
+18
+46
+7c
+02
+c0
+03
+82
+7f
+c0
 00
+02
+82
 20
 60
 00
 00
+70
+4b
+b1
+00
 68
 08
 c6
-e3
+e2
+68
+00
+cb
+ab
 20
 40
-03
+02
+4c
+60
 00
+cb
+ab
+70
+4b
+b1
+01
 68
 08
 c6
 e3
-20
-40
 68
-1d
-79
-20
-a2
-01
-20
-60
-00
 00
-68
-08
-c6
-e4
+cb
+ac
 20
 40
-03
+02
+4c
+60
 00
+cb
+ac
+70
+4b
+b1
+02
 68
 08
 c6
 e4
-20
-40
 68
-1d
-79
+00
+cb
+ad
 20
-a2
+40
 02
-20
+4c
 60
 00
-00
+cb
+ad
+70
+4b
+b1
+03
 68
 08
 c6
 e5
+68
+00
+cb
+ae
 20
 40
 02
-f7
+4c
+60
+00
+cb
+ae
 68
 08
 c6
 e5
 20
 40
-68
-1d
-7d
-20
-a2
-03
-20
-20
-03
-00
+02
+7a
+70
+4b
+b1
+04
 68
 08
 c6
 e6
+68
+00
+cb
+af
 20
 40
 02
-f7
+4c
+60
+00
+cb
+af
 68
 08
 c6
 e6
+79
 20
-40
-68
-1d
-7d
-20
-a2
 04
-20
-20
-03
-00
-79
-3f
-84
 07
 d8
 a0
@@ -3053,17 +2553,37 @@
 68
 30
 79
-20
-04
+3f
+84
 07
-d8
-a0
+20
+20
+02
+89
+20
+21
+02
+83
+f9
+3f
+a2
+00
+20
+60
+00
+00
+20
+21
+02
 80
-7c
+f9
 20
-40
-68
-30
+22
+00
+20
+60
+00
+00
 79
 3f
 84
@@ -3071,9 +2591,9 @@
 d8
 a0
 80
-70
-20
+78
 20
+40
 68
 30
 79
@@ -3083,31 +2603,27 @@
 d8
 a0
 80
-78
-20
-40
-68
-30
-79
-3f
-84
-07
+7c
 20
 20
-02
-fb
+68
+0a
 68
 00
 c6
 e0
 c0
 02
-03
-16
+02
+9d
 c0
 04
-03
-0b
+02
+92
+c0
+05
+bf
+cb
 20
 40
 3f
@@ -3178,32 +2694,36 @@
 e0
 c0
 02
-03
-42
+02
+ca
 c0
 03
-03
-32
+02
+ba
 c0
 03
-83
-32
+82
+ba
 c0
 01
-03
-49
+02
+d1
 c0
 04
-83
-49
+82
+d1
 c0
 05
-03
-32
+02
+ba
+c0
+05
+82
+ca
 c0
 04
-03
-2b
+02
+b3
 68
 00
 c7
@@ -3214,16 +2734,16 @@
 01
 20
 42
-83
-27
+82
+af
 68
 00
 c7
 7a
 c0
 00
-03
-29
+02
+b1
 c0
 01
 bd
@@ -3246,8 +2766,8 @@
 7f
 20
 20
-03
-3a
+02
+c2
 68
 00
 c7
@@ -3258,16 +2778,16 @@
 01
 20
 42
-83
-27
+82
+af
 68
 00
 c7
 7a
 c0
 00
-03
-3c
+02
+c4
 c0
 01
 bd
@@ -3286,20 +2806,20 @@
 01
 20
 42
-83
-27
+82
+af
 68
 00
 c7
 7a
 c0
 00
-03
-3c
+02
+c4
 c0
 01
-83
-3f
+82
+c7
 68
 00
 c7
@@ -3326,8 +2846,8 @@
 ff
 20
 20
-03
-3a
+02
+c2
 68
 00
 c7
@@ -3338,8 +2858,8 @@
 ff
 20
 20
-03
-3a
+02
+c2
 68
 00
 c7
@@ -3350,8 +2870,8 @@
 01
 20
 42
-83
-27
+82
+af
 68
 00
 c7
@@ -3378,8 +2898,8 @@
 01
 20
 42
-83
-27
+82
+af
 68
 00
 c7
@@ -3390,8 +2910,8 @@
 88
 c0
 01
-83
-50
+82
+d8
 20
 20
 3d
@@ -3405,338 +2925,90 @@
 3d
 be
 70
-47
-a3
-00
+89
+0f
+36
 70
-47
-a4
+89
+0b
+5f
+78
+3b
+7c
 00
-28
-0f
-fe
-26
-20
-40
-85
-28
-20
-20
-42
-6d
+70
+89
+14
+07
 20
 40
+02
+e2
 68
-a2
-68
-01
-42
-1d
-20
-3a
-03
-5c
-60
-01
-47
-c8
-20
-60
 00
-00
-58
-00
-11
-22
-60
-01
-47
-c8
+c1
+e0
 20
-60
+7a
 00
 00
-20
-40
-02
-37
 70
-47
-a2
-00
+89
+0a
+b8
 68
 01
-46
-82
+41
+50
 c2
-85
-83
-71
-68
-02
-46
-d3
-c3
-0c
-03
-71
+81
+aa
+8c
 20
-40
-03
-83
-68
-09
-47
-c8
-68
-01
-4b
-9f
-98
-46
-7c
+60
+00
 00
-20
-42
-83
-57
 68
-09
-47
-c8
+10
+80
+77
+1f
+e1
+7e
+fd
+60
+10
+80
+77
+68
 18
-40
+80
+73
+18
+41
 84
-01
-60
-09
-47
-c8
+02
 60
-09
-44
-a1
+18
+80
+73
 20
 40
-03
-7f
+63
+ee
 18
-0a
-7e
+41
+04
+fd
+20
 00
-60
 00
-c4
-a0
+0d
 20
 40
-34
-18
-68
-01
-46
-87
-60
-01
-46
-ac
-70
-01
-6d
-06
-58
-00
-00
-00
-60
-01
-46
-b0
-60
-01
-46
-ae
-d8
-e0
-00
-07
-20
-40
-43
-ce
-20
-40
-43
-ca
-68
-00
-c0
-92
-2f
-ef
-fe
-01
-20
-40
-83
-87
-20
-20
-42
-c4
-d8
-40
-00
-02
-da
-20
-47
-c8
-da
-40
-00
-5f
-20
-20
-65
-d1
-d8
-40
-00
-02
-da
-20
-47
-c8
-da
-40
-00
-5f
-20
-20
-65
-df
-70
-47
-a5
-00
-20
-40
-01
-31
-58
-00
-00
-05
-e0
-c0
-80
-00
-20
-20
-7d
-f4
-58
-00
-00
-00
-60
-01
-46
-ac
-20
-40
-01
-57
-20
-20
-42
-cb
-70
-89
-0f
-36
-70
-89
-0b
-5f
-78
-3b
-7c
-00
-70
-89
-14
-07
-20
-40
-03
-98
-68
-00
-c1
-e0
-20
-7a
-00
-00
-70
-89
-0a
-b8
-68
-01
-41
-50
-c2
-81
-aa
-8c
-20
-60
-00
-00
-68
-10
-80
-77
-1f
-e1
-7e
-fd
-60
-10
-80
-77
-68
-18
-80
-73
-18
-41
-84
-02
-60
-18
-80
-73
-20
-40
-63
-ee
-18
-41
-04
-fd
-20
-00
-00
-0d
-20
-40
-63
-f2
-60
+63
+f2
+60
 18
 80
 73
@@ -3755,23 +3027,23 @@
 60
 02
 4c
-60
+74
 20
 60
 00
 00
 70
 4d
-5f
+73
 01
 70
 4d
-61
+75
 00
 68
 00
 cc
-2a
+3e
 1f
 e1
 7e
@@ -3779,7 +3051,7 @@
 60
 00
 cc
-2a
+3e
 20
 60
 00
@@ -3787,7 +3059,7 @@
 68
 00
 cc
-2a
+3e
 79
 20
 7e
@@ -3795,11 +3067,11 @@
 60
 00
 cc
-2a
+3e
 60
 00
 cb
-e5
+f9
 20
 60
 00
@@ -3807,75 +3079,79 @@
 68
 00
 cc
-2a
+3e
+c4
+02
+00
+00
+68
+00
+cc
+3e
 79
 3f
 fe
 04
-60
-00
-cc
-2a
-60
-00
-cb
-e5
 20
 40
-04
-84
+02
+fd
 20
+40
+03
+c3
 20
-05
-d5
 20
-40
 04
-84
+eb
+20
+40
+03
+c3
 68
 00
 cd
-60
+74
 c0
 00
 83
-c1
+0c
 c0
 01
 03
-c5
+10
 20
 60
 00
 00
 70
 4d
-61
+75
 02
 70
 4d
-5d
+71
 00
 70
 4d
-5f
+73
 00
 20
 20
-03
-ad
+02
+f7
 70
 4d
-5e
+72
 00
 20
 20
 03
-c2
+0d
 68
 01
 4c
-2f
+43
 1f
 e0
 fe
@@ -3883,35 +3159,35 @@
 60
 01
 4c
-2f
+43
 c2
 85
-04
-65
+03
+a5
 68
 00
 cd
-5e
+72
 c0
 00
 83
-d0
+1b
 70
 4d
-5e
+72
 01
 68
 00
 cd
-5e
+72
 c0
 80
-83
-ad
+82
+f7
 68
 00
 cd
-5c
+70
 1f
 e0
 fe
@@ -3919,83 +3195,83 @@
 60
 00
 cd
-5c
+70
 c0
 02
 03
-d7
+22
 20
 40
-05
-d5
+04
+eb
 70
 4c
-6e
+82
 02
 20
 20
-04
-2f
+03
+78
 20
 40
-04
-84
+03
+c3
 70
 4d
-5c
+70
 00
 20
 20
-03
-ad
+02
+f7
 70
 4d
-61
+75
 02
 70
 4d
-5f
+73
 01
 70
 4d
-5e
+72
 00
 20
 20
-03
-ad
+02
+f7
 68
 00
 cd
-60
+74
 c0
 01
 83
-db
+26
 68
 00
 cc
-2a
+3e
 2f
 ec
 00
 04
 20
 20
-83
-ab
+82
+f5
 68
 00
 cd
-60
+74
 c0
 00
 83
-da
+25
 c0
 01
 03
-db
+26
 20
 60
 00
@@ -4003,7 +3279,7 @@
 68
 00
 cc
-39
+4d
 c1
 ff
 80
@@ -4011,11 +3287,11 @@
 20
 40
 03
-ec
+37
 24
 56
 03
-f4
+3f
 20
 60
 00
@@ -4027,7 +3303,7 @@
 68
 00
 cd
-5f
+73
 c1
 80
 80
@@ -4035,18 +3311,18 @@
 68
 00
 cd
-61
+75
 c1
 80
 00
 00
 70
 4d
-60
+74
 01
 70
 4c
-6e
+82
 04
 20
 20
@@ -4055,11 +3331,11 @@
 68
 00
 cd
-61
+75
 20
 3a
 03
-fc
+47
 1f
 e0
 ff
@@ -4067,18 +3343,18 @@
 60
 00
 cd
-61
+75
 70
 4d
-60
+74
 02
 20
 40
-05
-d5
+04
+eb
 70
 4c
-6e
+82
 04
 20
 60
@@ -4086,23 +3362,23 @@
 00
 70
 4d
-60
+74
 03
 68
 00
 cd
-5e
+72
 24
 3a
 03
-ce
+19
 20
 40
-05
-d5
+04
+eb
 70
 4c
-6e
+82
 02
 20
 60
@@ -4111,22 +3387,22 @@
 68
 00
 cc
-39
+4d
 c0
 ff
 84
-c1
+0b
 20
 40
-04
-08
+03
+53
 20
 40
-05
-c3
+04
+d9
 70
 4c
-2e
+42
 01
 20
 60
@@ -4135,19 +3411,19 @@
 68
 01
 4d
-5a
+6e
 20
 40
 7f
 9c
 20
 34
-04
-0e
+03
+59
 68
 03
 cb
-c6
+da
 20
 7a
 00
@@ -4158,11 +3434,11 @@
 e7
 20
 40
-04
-27
+03
+72
 70
 4c
-55
+69
 00
 1a
 20
@@ -4171,15 +3447,15 @@
 60
 00
 cc
-29
+3d
 20
 40
-03
-ad
+02
+f7
 60
 00
 cb
-c5
+d9
 e8
 a8
 80
@@ -4218,12 +3494,12 @@
 02
 c2
 00
-04
-1a
+03
+65
 d8
 a0
 4b
-cb
+df
 df
 20
 00
@@ -4250,22 +3526,14 @@
 01
 c2
 00
-04
-20
+03
+6b
 20
 60
 00
 00
 68
 00
-c6
-f5
-c3
-83
-80
-00
-68
-00
 c8
 0e
 c1
@@ -4287,10 +3555,10 @@
 20
 20
 01
-57
+22
 70
 4c
-32
+46
 00
 d9
 60
@@ -4302,32 +3570,32 @@
 00
 20
 40
-04
-4d
+03
+8f
 24
 2c
-04
-58
+03
+9a
 24
 37
-84
-58
+83
+9a
 20
 40
-04
-45
+03
+8c
 20
 40
-04
-76
+03
+b5
 20
 40
-04
-80
+03
+bf
 68
 00
 cc
-28
+3c
 1f
 e0
 fe
@@ -4335,43 +3603,35 @@
 60
 00
 cc
-28
+3c
 20
 40
-04
-48
+03
+00
 68
 00
 cc
-39
+4d
 c0
 ff
 84
-4b
+25
 20
 40
 03
-de
+29
 58
 00
 00
 00
 60
-01
+02
 4c
-2f
-60
-00
-cc
-31
+42
 60
 00
 cd
-5d
-70
-4c
-2e
-00
+71
 20
 60
 00
@@ -4383,39 +3643,19 @@
 d8
 a0
 4b
-c5
+d9
 20
 20
 7e
 c6
-68
-00
-cc
-2a
-c2
-82
-03
-b6
-20
-60
-00
+78
+57
+fc
 00
 20
 40
-04
-7d
-20
-20
-04
-db
-78
-57
-fc
-00
-20
-40
-06
-32
+05
+43
 18
 00
 2a
@@ -4423,7 +3663,7 @@
 68
 02
 4c
-51
+65
 98
 00
 12
@@ -4443,27 +3683,19 @@
 20
 40
 05
-ef
+05
 20
 57
-86
-2b
+85
+3d
 20
 60
 00
 00
 68
-00
-cc
-55
-24
-7a
-00
-00
-68
 01
 4c
-2f
+43
 1f
 e0
 fe
@@ -4471,35 +3703,35 @@
 60
 01
 4c
-2f
+43
 68
 00
 cc
-30
+44
 c2
 82
-04
-67
+2d
+d4
 68
 00
 cc
-39
+4d
 c0
 ff
-84
-63
+83
+a3
 20
 40
-04
-6c
+03
+ab
 20
 20
-04
-30
+03
+79
 68
 00
 cc
-2f
+43
 c1
 ff
 80
@@ -4511,39 +3743,35 @@
 60
 01
 4c
-2f
-70
-0a
-99
-3a
+43
 20
 20
-7d
-86
+2d
+d4
 20
 40
-04
-af
+03
+ec
 20
 40
-04
-84
+03
+c3
 20
 20
-05
-d5
+04
+eb
 68
 00
 cc
-32
+46
 1f
 e6
 7c
 0b
 24
 21
-04
-69
+03
+a8
 1f
 e0
 fe
@@ -4551,35 +3779,35 @@
 60
 00
 cc
-32
+46
 c0
 01
-03
-b1
+02
+fb
 c0
 03
 03
-b6
+02
 c0
 04
-03
-b1
+02
+fb
 c0
 06
 03
-b6
+02
 20
 60
 00
 00
 20
 40
-05
-32
+04
+77
 68
 00
 cc
-27
+3b
 20
 7a
 00
@@ -4591,22 +3819,22 @@
 d8
 c0
 4b
-a5
+b9
 d8
 a0
 4c
-07
+1b
 20
 20
 7f
 01
 70
 4d
-65
+79
 01
 70
 4d
-62
+76
 00
 20
 60
@@ -4615,7 +3843,7 @@
 68
 00
 cd
-62
+76
 1f
 e0
 fe
@@ -4623,7 +3851,7 @@
 60
 00
 cd
-62
+76
 20
 60
 00
@@ -4631,19 +3859,19 @@
 68
 00
 cd
-62
+76
 1f
 e6
 7c
 02
 24
 41
-04
-8c
+03
+cb
 68
 00
 cd
-62
+76
 c1
 00
 00
@@ -4655,47 +3883,39 @@
 60
 00
 cd
-62
+76
 20
 60
 00
 00
 70
 4d
-62
+76
 03
 20
 60
 00
 00
-68
-01
-46
-82
-c3
-85
-80
-00
 da
 20
 4c
-eb
+ff
 20
 40
-05
-a4
+04
+c9
 60
 08
 cd
-63
+77
 58
 00
 00
 82
 c5
 13
-04
-96
+03
+d3
 58
 00
 00
@@ -4706,28 +3926,28 @@
 00
 24
 21
-04
-ae
+03
+eb
 68
 00
 cd
-62
+76
 1f
 e6
 7c
 02
 24
 21
-04
-9e
+03
+db
 68
 00
 cd
-62
+76
 c0
 00
-04
-af
+03
+ec
 20
 60
 00
@@ -4735,27 +3955,27 @@
 68
 00
 cd
-62
+76
 c1
 99
 00
 00
 70
 4d
-62
+76
 00
 68
 08
 cd
-63
+77
 58
 00
 00
 77
 c5
 13
-04
-a5
+03
+e2
 58
 00
 00
@@ -4771,11 +3991,11 @@
 68
 00
 cd
-65
+79
 c0
 00
-04
-b6
+03
+f3
 1f
 e0
 ff
@@ -4783,11 +4003,11 @@
 60
 00
 cd
-65
+79
 c0
 00
-04
-b6
+03
+f3
 70
 41
 de
@@ -4798,16 +4018,16 @@
 00
 70
 4d
-62
+76
 00
 68
 00
 cd
-65
+79
 c0
 01
-04
-b4
+03
+f1
 1f
 e0
 fe
@@ -4815,11 +4035,11 @@
 60
 00
 cd
-65
+79
 c0
 00
-84
-ac
+83
+e9
 70
 41
 de
@@ -4842,11 +4062,11 @@
 26
 20
 40
-04
-bc
+03
+f9
 70
 4c
-39
+4d
 01
 20
 60
@@ -4858,51 +4078,103 @@
 04
 70
 4c
-28
+3c
 00
 70
 4c
-33
+47
 4e
 68
 02
 4c
-35
+49
+60
+02
+4c
+65
+da
 20
+00
+00
+df
 20
-05
-b5
-68
 00
-cc
-2e
+04
+d8
+c0
+4c
+65
+e8
 c0
+80
 00
-ff
-e7
-68
+9a
+20
+a2
 00
-cc
-39
-c0
+c2
 00
-84
-c8
-c0
-01
 04
-cb
-c0
 01
-84
-ce
-20
-20
-2a
-8c
+1a
+22
+7e
+00
+60
+01
+4c
+ee
+68
+00
+cc
+ee
+68
+08
+cc
+ef
+98
+40
+fe
+00
+60
+00
+cc
+f0
+20
+60
+00
+00
+68
+00
+cc
+42
+c0
+00
+ff
+e7
+68
+00
+cc
+4d
+c0
+00
+84
+12
+c0
+01
+04
+15
+c0
+01
+84
+18
+20
+20
+2a
+8c
 70
 4c
-39
+4d
 11
 70
 11
@@ -4911,10 +4183,10 @@
 20
 20
 04
-d0
+1a
 70
 4c
-39
+4d
 12
 70
 11
@@ -4923,10 +4195,10 @@
 20
 20
 04
-d0
+1a
 70
 4c
-39
+4d
 13
 70
 11
@@ -4935,7 +4207,7 @@
 68
 00
 cc
-2a
+3e
 1f
 e1
 7e
@@ -4947,7 +4219,7 @@
 68
 02
 4c
-60
+74
 60
 02
 11
@@ -4966,20 +4238,24 @@
 07
 20
 40
-05
-2d
+04
+72
 20
 40
-04
-05
+03
+50
 20
 20
 7f
 e7
+20
+40
+03
+bc
 68
 00
 cc
-39
+4d
 c1
 7f
 80
@@ -4987,38 +4263,38 @@
 c0
 08
 84
-e1
+2c
 c0
 09
 04
-e3
+2e
 c0
 09
 84
-e5
+30
 20
 60
 00
 00
 70
 4c
-39
+4d
 02
 20
 20
-04
-3f
+03
+88
 70
 4c
-39
+4d
 03
 20
 20
-04
-3f
+03
+88
 70
 4c
-39
+4d
 ff
 70
 0a
@@ -5031,23 +4307,23 @@
 68
 02
 4c
-09
+1d
 20
 40
-05
-b5
+03
+fd
 20
 20
-04
-3f
+03
+88
 20
 40
 01
-ed
+b1
 20
 34
 04
-fd
+48
 79
 20
 00
@@ -5055,7 +4331,7 @@
 68
 00
 cd
-75
+89
 79
 20
 7e
@@ -5063,15 +4339,15 @@
 60
 00
 cd
-75
+89
 20
 40
-05
-1b
+04
+63
 20
 20
-05
-01
+04
+4c
 70
 11
 9e
@@ -5079,7 +4355,7 @@
 68
 00
 cc
-2a
+3e
 60
 00
 91
@@ -5087,7 +4363,7 @@
 68
 02
 4c
-60
+74
 60
 02
 11
@@ -5102,16 +4378,16 @@
 9e
 20
 40
-05
-2d
+04
+72
 20
 20
-05
-c3
+04
+d9
 20
 20
-05
-d5
+04
+eb
 79
 20
 00
@@ -5119,7 +4395,7 @@
 68
 00
 cd
-75
+89
 79
 20
 7e
@@ -5127,7 +4403,7 @@
 60
 00
 cd
-75
+89
 58
 00
 07
@@ -5160,14 +4436,10 @@
 60
 00
 00
-20
-20
-05
-0a
 68
 00
 cd
-67
+7b
 1f
 e0
 fe
@@ -5179,67 +4451,59 @@
 60
 00
 cd
-67
-c0
-00
-05
-25
+7b
 c0
 00
-85
-26
-c0
-01
-05
-27
+04
+5b
 c0
 01
-85
-26
+04
+65
 20
-60
-00
-00
+20
+03
+f9
 20
 40
-02
-37
+01
+f6
 68
 02
 4c
-60
+74
 60
 02
 4c
-51
+65
 68
 00
 cb
-45
+46
 60
 00
 cc
-34
+48
 20
 40
-05
-1b
+04
+63
 60
 08
 cb
-45
+46
 20
 60
 00
 00
 20
 40
-05
-b6
+03
+fe
 20
 20
-05
-d5
+04
+eb
 70
 41
 de
@@ -5247,50 +4511,38 @@
 68
 02
 4d
-6e
+82
 60
 02
 4c
-51
+65
 68
 00
 cb
-46
+47
 60
 00
 cc
-34
+48
 20
 40
-05
-1b
+04
+63
 60
 08
 cb
-46
+47
 20
 60
 00
 00
-20
-20
-05
-13
-20
-20
-04
-bc
-20
-20
-05
-1d
 79
 3f
 80
 26
 70
 4d
-75
+89
 00
 20
 40
@@ -5307,7 +4559,7 @@
 60
 08
 cc
-29
+3d
 18
 42
 72
@@ -5315,7 +4567,7 @@
 d8
 a0
 4b
-c5
+d9
 1a
 22
 0c
@@ -5327,7 +4579,7 @@
 68
 00
 cb
-a4
+b8
 1f
 e9
 7e
@@ -5335,7 +4587,7 @@
 60
 00
 cc
-27
+3b
 1f
 e0
 fe
@@ -5343,7 +4595,7 @@
 d8
 c0
 4b
-a4
+b8
 98
 c0
 8c
@@ -5355,11 +4607,11 @@
 60
 01
 cc
-66
+7a
 68
 00
 cb
-a4
+b8
 1f
 e3
 7e
@@ -5371,7 +4623,7 @@
 60
 00
 cc
-6c
+80
 20
 60
 00
@@ -5441,37 +4693,21 @@
 c1
 de
 c0
-00
-05
-55
-c0
-00
-85
-5d
-c0
 01
-05
-65
+04
+9c
 c0
 02
-05
-6d
+04
+a1
 c0
 10
-05
-7f
-20
-20
-05
-55
+04
+b0
 20
 40
-05
-75
-70
-89
-4b
-ba
+04
+a6
 70
 89
 55
@@ -5482,60 +4718,16 @@
 e0
 70
 89
-57
-88
-70
-89
 58
 6c
-70
-89
-59
-10
 20
 20
 29
 4b
 20
 40
-05
-7a
-70
-89
-4b
-ba
-70
-89
-55
-d0
-70
-89
-56
-e0
-70
-89
-57
-88
-70
-89
-58
-3c
-70
-89
-59
-10
-20
-20
-29
-4f
-20
-40
-05
-7a
-70
-89
-4b
-ba
+04
+ab
 70
 89
 55
@@ -5546,28 +4738,16 @@
 e0
 70
 89
-57
-88
-70
-89
 58
 3c
-70
-89
-59
-10
 20
 20
 29
 53
 20
 40
-05
-75
-70
-89
-4b
-ba
+04
+a6
 70
 89
 55
@@ -5578,16 +4758,8 @@
 c0
 70
 89
-57
-88
-70
-89
 58
 6c
-70
-89
-59
-10
 20
 20
 29
@@ -5664,6 +4836,14 @@
 60
 00
 00
+c6
+13
+00
+00
+20
+20
+2b
+6b
 20
 40
 7f
@@ -5671,7 +4851,7 @@
 68
 0a
 4c
-4a
+5e
 1c
 42
 7e
@@ -5691,11 +4871,11 @@
 68
 02
 4c
-4a
+5e
 68
 08
 cc
-4e
+62
 98
 40
 84
@@ -5719,67 +4899,11 @@
 60
 02
 4c
-4a
+5e
 20
 20
 7f
 e7
-20
-40
-29
-bb
-20
-7a
-00
-00
-68
-08
-cc
-e3
-da
-20
-0d
-9e
-20
-40
-05
-9d
-60
-08
-cc
-e3
-20
-60
-00
-00
-1a
-22
-7e
-00
-98
-40
-8a
-00
-68
-00
-80
-18
-e0
-a0
-80
-00
-18
-40
-84
-01
-18
-41
-04
-07
-20
-60
-00
-00
 d8
 40
 00
@@ -5802,8 +4926,8 @@
 00
 c2
 00
-05
-a7
+04
+cc
 18
 49
 7e
@@ -5844,70 +4968,10 @@
 60
 00
 00
-20
-60
-00
-00
-60
-02
-4c
-51
-da
-20
-00
-00
-df
-20
-00
-04
-d8
-c0
-4c
-51
-e8
-c0
-80
-00
-9a
-20
-a2
-00
-c2
-00
-05
-b9
-1a
-22
-7e
-00
-60
-01
-4c
-da
-68
-00
-cc
-da
-68
-08
-cc
-db
-98
-40
-fe
-00
-60
-00
-cc
-dc
-20
-60
-00
-00
 68
 00
 cc
-29
+3d
 1f
 e0
 fe
@@ -5915,19 +4979,19 @@
 60
 00
 cc
-2b
+3f
 68
 00
 cc
-2a
+3e
 60
 00
 cb
-e5
+f9
 68
 00
 cc
-29
+3d
 1f
 e9
 fe
@@ -5935,7 +4999,7 @@
 68
 08
 cc
-28
+3c
 18
 41
 04
@@ -5951,7 +5015,7 @@
 68
 08
 cc
-65
+79
 98
 40
 fe
@@ -5963,7 +5027,7 @@
 68
 00
 cc
-29
+3d
 98
 00
 72
@@ -5971,7 +5035,7 @@
 d8
 c0
 4b
-c5
+d9
 20
 20
 7f
@@ -5979,23 +5043,23 @@
 68
 08
 cc
-34
+48
 20
 40
-05
-d9
+04
+ef
 60
 08
 cc
-34
+48
 20
 60
 00
 00
 20
 40
-05
-dd
+04
+f3
 18
 40
 84
@@ -6011,7 +5075,7 @@
 68
 00
 cc
-51
+65
 1f
 e1
 7e
@@ -6023,7 +5087,7 @@
 58
 00
 4c
-3a
+4e
 9a
 20
 fe
@@ -6039,7 +5103,7 @@
 60
 00
 cc
-33
+47
 20
 60
 00
@@ -6063,7 +5127,7 @@
 68
 00
 cc
-33
+47
 1f
 ed
 84
@@ -6082,8 +5146,8 @@
 00
 20
 40
-05
-e6
+04
+fc
 78
 57
 fc
@@ -6107,7 +5171,7 @@
 68
 01
 4c
-2c
+40
 98
 00
 36
@@ -6118,8 +5182,8 @@
 00
 24
 2c
-06
-2b
+05
+3d
 78
 46
 fc
@@ -6138,64 +5202,52 @@
 00
 20
 40
-06
-28
+05
+3a
 60
 00
 cc
-dd
+f1
 68
 08
 cc
-dc
+f0
 98
 46
 7c
 00
 24
 22
-86
-2b
+85
+3d
 20
 40
-06
-28
+05
+3a
 60
 00
 cb
-a3
-68
-00
-cc
-6f
-1f
-e6
-7c
-02
-20
-22
-86
-0b
+b7
 68
 00
 cb
-a3
+b7
 68
 08
 cc
-2a
+3e
 a8
 40
 0e
 00
 24
 20
-86
-2b
+85
+3d
 20
 40
-06
-28
+05
+3a
 e0
 a0
 80
@@ -6210,32 +5262,32 @@
 1f
 20
 22
-86
-13
+85
+26
 20
 40
-06
-28
+05
+3a
 e0
 a0
 80
 00
 c2
 00
-06
-10
+05
+23
 18
 a2
 22
 00
 20
 40
-06
-28
+05
+3a
 60
 00
 cd
-64
+78
 1a
 22
 0a
@@ -6270,8 +5322,8 @@
 00
 20
 23
-06
-2b
+05
+3d
 78
 37
 fc
@@ -6299,15 +5351,11 @@
 68
 00
 cd
-64
+78
 20
-40
-00
-14
 20
-60
-00
 00
+10
 09
 80
 00
@@ -6329,21 +5377,17 @@
 fc
 00
 20
-40
+20
 26
 4d
 20
-60
-00
-00
-20
 40
 29
 18
 68
 08
 cc
-33
+47
 20
 20
 29
@@ -6355,19 +5399,19 @@
 68
 02
 4c
-51
+65
 98
 00
 12
 00
 20
 40
-05
-e6
+04
+fc
 20
 40
-06
-2f
+05
+40
 79
 20
 2a
@@ -6419,7 +5463,7 @@
 68
 00
 cc
-dc
+f0
 08
 00
 86
@@ -6427,7 +5471,7 @@
 68
 00
 cc
-2b
+3f
 98
 00
 72
@@ -6435,7 +5479,7 @@
 d8
 c0
 4b
-e5
+f9
 e8
 c0
 80
@@ -6446,8 +5490,8 @@
 08
 c2
 00
-06
-48
+05
+59
 78
 24
 7c
@@ -6490,44 +5534,44 @@
 00
 20
 40
-06
-ee
+05
+ff
 58
 00
 00
 03
 20
 40
-06
-e4
+05
+f5
 20
 5a
-06
-e0
+05
+f1
 24
 5a
-06
-e2
+05
+f3
 58
 00
 00
 02
 20
 40
-06
-e9
+05
+fa
 20
 5a
-06
-e0
+05
+f1
 68
 00
 cb
-26
+27
 c0
 00
-86
-62
+85
+73
 df
 20
 00
@@ -6535,7 +5579,7 @@
 d8
 a0
 4b
-26
+27
 20
 20
 7e
@@ -6543,19 +5587,19 @@
 68
 01
 4b
-27
+28
 60
 01
 11
 c5
 20
 40
-06
-95
+05
+a6
 60
 01
 4b
-27
+28
 68
 01
 46
@@ -6566,8 +5610,8 @@
 c5
 20
 40
-06
-a3
+05
+b4
 60
 01
 46
@@ -6575,19 +5619,19 @@
 68
 01
 4b
-29
+2a
 60
 01
 11
 c5
 20
 40
-06
-95
+05
+a6
 60
 01
 4b
-29
+2a
 68
 01
 46
@@ -6598,8 +5642,8 @@
 c5
 20
 40
-06
-a3
+05
+b4
 60
 01
 46
@@ -6607,7 +5651,7 @@
 68
 01
 4b
-27
+28
 60
 01
 11
@@ -6622,8 +5666,8 @@
 c0
 20
 40
-06
-85
+05
+96
 68
 01
 11
@@ -6631,7 +5675,7 @@
 60
 01
 4b
-27
+28
 68
 01
 11
@@ -6643,7 +5687,7 @@
 68
 01
 4b
-29
+2a
 60
 01
 11
@@ -6658,8 +5702,8 @@
 c0
 20
 40
-06
-8d
+05
+9e
 68
 01
 11
@@ -6667,7 +5711,7 @@
 60
 01
 4b
-29
+2a
 68
 01
 11
@@ -6695,7 +5739,7 @@
 68
 08
 cb
-9b
+b5
 98
 40
 fe
@@ -6707,11 +5751,11 @@
 60
 08
 cb
-9b
+b5
 20
 20
-06
-ba
+05
+cb
 68
 01
 11
@@ -6727,7 +5771,7 @@
 68
 08
 cb
-9c
+b6
 98
 40
 fe
@@ -6739,31 +5783,31 @@
 60
 08
 cb
-9c
+b6
 20
 20
-06
-ba
+05
+cb
 68
 00
 91
 c6
 20
 3a
-06
-98
+05
+a9
 20
 20
-06
-9d
+05
+ae
 68
 00
 91
 c5
 20
 40
-06
-b0
+05
+c1
 60
 00
 91
@@ -6782,76 +5826,76 @@
 c5
 20
 40
-06
-dc
+05
+ed
 20
 40
-06
-b0
+05
+c1
 20
 5a
 7f
 ef
 20
 40
-06
-d8
+05
+e9
 20
 20
-06
-9b
+05
+ac
 68
 00
 91
 c6
 20
 3a
-06
-a6
+05
+b7
 20
 20
-06
-aa
+05
+bb
 68
 00
 91
 c5
 20
 40
-06
-b5
+05
+c6
 60
 00
 91
 c5
 20
 20
-06
-9b
+05
+ac
 68
 00
 91
 c5
 20
 40
-06
-dc
+05
+ed
 20
 40
-06
-b5
+05
+c6
 20
 5a
 7f
 ef
 20
 40
-06
-d8
+05
+e9
 20
 20
-06
-9b
+05
+ac
 1f
 ef
 fe
@@ -6902,16 +5946,16 @@
 10
 20
 20
-86
-c4
+85
+d5
 68
 00
 91
 c3
 c0
 7f
-86
-cb
+85
+dc
 68
 00
 91
@@ -6938,16 +5982,16 @@
 c3
 c0
 00
-06
-c8
+05
+d9
 68
 01
 91
 c2
 20
 20
-06
-c0
+05
+d1
 70
 11
 c4
@@ -6958,16 +6002,16 @@
 c2
 20
 20
-06
-c0
+05
+d1
 68
 00
 91
 c2
 20
 40
-06
-d6
+05
+e7
 60
 00
 91
@@ -6978,8 +6022,8 @@
 c0
 20
 3a
-06
-d4
+05
+e5
 58
 00
 00
@@ -7002,20 +6046,20 @@
 00
 20
 20
-06
-d1
+05
+e2
 20
 40
-06
-dc
+05
+ed
 1f
 e3
 7e
 00
 20
 40
-06
-dd
+05
+ee
 1f
 e6
 7e
@@ -7046,7 +6090,7 @@
 00
 70
 4b
-26
+27
 00
 20
 60
@@ -7054,7 +6098,7 @@
 00
 70
 4b
-26
+27
 01
 20
 60
@@ -7107,169 +6151,1369 @@
 20
 40
 06
-f5
+06
+1f
+e2
+22
+00
+68
+01
+46
+9d
+20
+40
+06
+06
 1f
 e2
+24
+00
+20
+60
+00
+00
+60
+01
+11
+c0
+68
+00
+91
+c1
+c0
+7f
+86
+0c
+68
+00
+91
+c0
+1f
+e1
+7e
+ff
+20
+60
+00
+00
+68
+01
+11
+c0
+1f
+e6
+7e
+00
+20
+20
+06
+0a
+58
+00
+12
+db
+d8
+a0
+11
+c7
+98
+a6
+72
+00
+20
+40
+7e
+d4
+20
+40
+06
+2c
+20
+40
+06
+19
+70
+12
+d6
+01
+70
+11
+cb
+20
+70
+11
+c7
+05
+20
+20
+06
+82
+df
+20
+00
+ff
+d8
+a0
+11
+d6
+58
+00
+01
+ff
+18
+00
+24
+00
+1f
+e9
+22
+00
+1a
+23
+22
+00
+9a
 22
+a2
+00
+2a
+2f
+fe
+00
+79
+20
+fe
+09
+18
+43
+04
+00
+2f
+ef
+fe
+00
+79
+20
+84
+07
+1f
+e3
+7e
+00
+1a
+40
+a4
+01
+2a
+40
+0e
+00
+24
+20
+86
+1d
+e0
+a8
+80
+00
+c2
+00
+06
+1d
+20
+60
+00
+00
+70
+89
+07
+00
+70
+89
+08
+00
+70
+89
+09
 00
+70
+89
+0a
+ff
+70
+89
+0b
+ff
+70
+89
+0f
+2e
+70
+89
+12
+47
+70
+89
+4b
+ba
+70
+89
+4c
+fb
+70
+89
+4d
+ef
+70
+89
+4e
+ec
+70
+89
+4f
+5e
+70
+89
+6f
+88
+70
+89
+73
+00
+70
+89
+5a
+4a
+70
+89
+5c
+80
+70
+89
+30
+a9
+70
+89
+2f
+ad
+70
+89
+2e
+b1
+70
+89
+2d
+b5
+70
+89
+2c
+b9
+70
+89
+2b
+bd
+70
+89
+2a
+c2
+70
+89
+29
+c6
+70
+89
+28
+ca
+70
+89
+27
+ce
+70
+89
+26
+d2
+70
+89
+25
+d6
+70
+89
+24
+da
+70
+89
+23
+de
+70
+89
+22
+e2
+70
+89
+21
+e6
+70
+89
+20
+ea
+70
+89
+1f
+ee
+70
+89
+1e
+f2
+70
+89
+1d
+f6
+70
+89
+1c
+fb
+70
+89
+1b
+fb
+70
+89
+1a
+fb
+70
+89
+47
+f5
+70
+89
+46
+e6
+70
+89
+45
+d7
+70
+89
+44
+d6
+70
+89
+43
+c7
+70
+89
+42
+c6
+70
+89
+41
+87
+70
+89
+40
+86
+70
+89
+3f
+85
+70
+89
+3e
+46
+70
+89
+3d
+07
+70
+89
+3c
+06
+70
+89
+3b
+c7
+70
+89
+3a
+c6
+70
+89
+39
+c5
+70
+89
+38
+c4
+70
+89
+37
+c3
+70
+89
+36
+c2
+70
+89
+35
+c1
+70
+89
+34
+c0
+70
+89
+33
+80
+70
+89
+32
+80
+70
+89
+31
+80
+70
+89
+4a
+7f
+70
+89
+49
+f8
+70
+89
+48
+00
+70
+89
+55
+d0
+70
+89
+56
+e0
+70
+89
+57
+88
+70
+89
+58
+6c
+70
+89
+59
+10
+20
+60
+00
+00
+70
+89
+04
+77
+70
+89
+03
+03
+20
+00
+00
+0a
+70
+89
+03
+83
+70
+89
+04
+7f
+70
+89
+03
+a7
+20
+60
+00
+00
+20
+00
+00
+64
+70
+89
+55
+d8
+20
+00
+00
+28
+70
+89
+55
+d2
+20
+00
+00
+28
+70
+89
+55
+d1
+20
+00
+00
+28
+20
+20
+29
+08
+20
+40
+07
+15
+68
+08
+91
+c8
+18
+41
+7e
+0f
+c0
+00
+86
+89
+c0
+01
+86
+89
+c0
+03
+86
+89
+70
+11
+c8
+01
+68
+00
+91
+c9
+1f
+e1
+7e
+03
+60
+00
+91
+c9
+c0
+00
+86
+90
+c0
+01
+06
+90
+c0
+01
+86
+90
+70
+11
+c9
+01
+68
+00
+91
+ca
+1f
+e1
+7e
+0f
+60
+00
+91
+ca
+c0
+00
+86
+97
+c0
+01
+06
+97
+c0
+02
+06
+97
+70
+11
+ca
+01
+68
+00
+91
+cb
+1f
+e1
+7e
+30
+60
+00
+91
+cb
+c0
+00
+06
+9d
+c0
+10
+06
+9d
+70
+11
+cb
+00
+68
+00
+91
+cc
+c0
+00
+06
+a0
+20
+20
+06
+a1
+70
+11
+cc
+19
+68
+00
+91
+cd
+1f
+e1
+7e
+03
+60
+00
+91
+cd
+c0
+00
+86
+a7
+c0
+01
+06
+a7
+70
+11
+cd
+02
+68
+00
+91
+c7
+c0
+00
+06
+ac
+d8
+40
+00
+51
+98
+46
+7c
+00
+24
+21
+06
+ad
+70
+11
+c7
+02
+68
+03
+91
+c7
+60
+03
+91
+ce
+68
+00
+91
+d0
+c0
+00
+86
+b2
+c0
+01
+07
+09
+68
+08
+91
+ce
+18
+40
+85
+ff
+68
+00
+91
+d2
+c0
+00
+06
+cc
+20
+40
+06
+73
+20
+40
+06
+ef
+78
+43
+fc
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+68
+08
+91
+cf
+18
+42
+2a
+00
+68
+00
+91
+d2
+60
+10
+89
+08
+68
+00
+91
+d3
+1f
+e2
+72
+00
+d8
+c0
+11
+d6
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+06
+c2
+20
+40
+4c
+2e
+20
+40
+07
+15
+68
+03
+91
+ce
+68
+0b
+91
+c7
+98
+46
+7c
+00
+20
+22
+86
+bf
+20
+20
+06
+82
+20
+40
+06
+73
+20
+40
+06
+ef
+20
+40
+02
+da
+79
+20
+2a
+00
+78
+2e
+fc
+00
+78
+30
+7c
+00
+78
+50
+fc
+00
+20
+40
+54
+7f
+68
+00
+91
+d2
+60
+10
+89
+08
+d8
+a0
+11
+9e
+58
+cc
+cc
+cc
+60
+01
+91
+9e
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+df
+20
+00
+18
+d8
+c0
+11
+9e
+e8
+c0
+80
+00
+08
+00
+86
+08
+c2
+00
+06
+e2
+20
+40
+06
+ee
+20
+21
+86
+82
+20
+40
+4c
+2e
+68
+03
+91
+ce
+68
+0b
+91
+c7
+98
+46
+7c
+00
+20
+22
+86
+e6
+20
+40
+06
+ee
+20
+20
+06
+82
+20
+20
+06
+7a
+60
+08
+80
+17
+18
+40
+a2
+01
+20
+40
+29
+81
+58
+00
+05
+00
+20
+40
+2a
+8f
+70
+89
+06
+01
+70
+89
+00
+3c
+70
+89
+01
+e0
+70
+89
+6d
+12
+20
+00
+00
+0a
+70
+89
+02
+01
+70
+89
+02
+3d
+20
+00
+00
+0a
+70
+89
+03
+b7
+20
+00
+00
+0a
+70
+89
+02
+7d
+70
+89
+56
+ce
+20
+00
+00
+04
+70
+89
+55
+d1
+20
+00
+00
+04
+70
+89
+55
+d2
+20
+00
+00
+04
+70
+89
+55
+d8
+20
+00
+00
+04
+70
+89
+55
+d8
+20
+60
+00
+00
+68
+08
+91
+ce
+18
+40
+85
+ff
+20
+40
+07
+13
+20
+40
+4c
+2e
+20
+40
+07
+15
+68
+03
+91
+ce
+68
+0b
+91
+c7
+98
+46
+7c
+00
+20
+22
+87
+0c
+20
+20
+06
+82
+20
+40
+06
+ee
+20
+20
+53
+df
+20
+40
+02
+48
+c0
+00
+87
+35
+c0
+01
+07
+4c
+c0
+02
+07
+1d
+70
+12
+d7
+00
+70
+12
+d9
+00
+70
+12
+da
+00
+20
+60
+00
+00
+68
+00
+92
+d7
+24
+7a
+00
+00
+70
+12
+d7
+01
+20
+40
+07
+22
+20
+20
+07
+28
+68
+00
+92
+d6
+1f
+e0
+fe
+01
+60
+00
+92
+d6
+c1
+82
+00
+00
+70
+12
+d6
+01
+20
+60
+00
+00
+68
+00
+92
+d6
+c0
+00
+87
+2d
+c0
+01
+07
+30
+c0
+01
+87
+33
+20
+60
+00
+00
+70
+11
+cb
+20
+70
+11
+c9
+01
+20
+60
+00
+00
+70
+11
+cb
+00
+70
+11
+c9
+01
+20
+60
+00
+00
+70
+11
+c9
+02
+20
+60
+00
+00
+68
+00
+92
+d9
+24
+7a
+00
+00
+70
+12
+d9
+01
+20
+40
+07
+3a
+20
+20
+07
+41
 68
+00
+92
+d8
+1f
+e0
+fe
 01
-46
-9d
-20
-40
-06
-f5
+60
+00
+92
+d8
 1f
-e2
+e6
+7c
+04
 24
+62
+80
 00
+70
+12
+d8
+01
 20
 60
 00
 00
-60
-01
-11
-c0
 68
 00
-91
-c1
+92
+d8
 c0
-7f
-86
-fb
-68
 00
-91
+87
+46
 c0
-1f
-e1
-7e
-ff
-20
-60
-00
-00
-68
 01
-11
-c0
-1f
-e6
-7e
-00
-20
-20
-06
-f9
-70
-47
-a6
 07
-70
-47
-a7
-04
-58
-00
-47
-a6
-60
+48
+c0
 01
-42
-18
-20
-20
-7e
-38
-da
-20
-46
-9a
-20
-40
-7e
-3d
-20
-54
-07
-07
+87
+4a
 20
 60
 00
 00
-68
-00
-c7
+70
+11
 c7
-1f
-e0
-fe
-01
+05
+20
 60
 00
+00
+70
+11
 c7
-c7
+1e
 20
 60
 00
 00
-da
-20
+70
+11
+c7
 46
-9a
-20
-40
-7e
-54
-20
-34
-07
-0f
 20
 60
 00
 00
-20
-40
-56
-52
 68
 00
-c7
-c7
-1f
-e6
-7c
-01
+92
+da
 24
-41
-56
-50
-68
+7a
 00
-c7
-c7
+00
+70
+12
+da
+01
 20
-7a
+40
+07
+3a
+68
 00
+92
+d8
+c0
+01
+87
+46
+c0
 00
-1f
-e0
-ff
-ff
+87
+48
+c0
+01
+07
+4a
+20
 60
 00
-c7
-c7
-20
-20
-3f
-90
-90
-6c
+00
+80
+e5
 aa
 55
 08
@@ -7316,7 +7560,7 @@
 07
 aa
 55
-0e
+0d
 00
 10
 40
@@ -7324,16 +7568,15 @@
 06
 00
 00
-02
+80
 00
-06
+04
 00
 10
 00
 00
 00
 48
-1c
 aa
 55
 0b
@@ -7365,10 +7608,10 @@
 00
 a0
 40
-45
-f5
-3b
-7a
+aa
+34
+84
+34
 22
 11
 aa
@@ -7457,14 +7700,6 @@
 47
 aa
 55
-02
-00
-2d
-42
-01
-32
-aa
-55
 01
 00
 3a
@@ -7480,21 +7715,6 @@
 84
 aa
 55
-02
-00
-6f
-44
-19
-00
-aa
-55
-01
-00
-8d
-44
-07
-aa
-55
 06
 00
 a0
@@ -7509,21 +7729,6 @@
 55
 01
 00
-e5
-44
-50
-aa
-55
-02
-00
-fa
-44
-22
-00
-aa
-55
-01
-00
 5a
 45
 0a
@@ -7546,15 +7751,13 @@
 03
 aa
 55
-05
+03
 00
 84
 46
 01
 1e
 ff
-08
-07
 aa
 55
 07
@@ -7564,7 +7767,7 @@
 07
 00
 00
-50
+00
 00
 70
 17
@@ -7624,18 +7827,6 @@
 02
 aa
 55
-06
-00
-09
-47
-a4
-01
-18
-01
-40
-01
-aa
-55
 08
 00
 20
@@ -7695,14 +7886,14 @@
 55
 01
 00
-7f
+80
 48
 01
 aa
 55
-37
+61
 00
-4b
+4a
 4b
 05
 09
@@ -7716,7 +7907,7 @@
 a0
 41
 a1
-21
+12
 a5
 84
 a7
@@ -7730,6 +7921,7 @@
 09
 00
 ff
+ff
 09
 5a
 0d
@@ -7759,12 +7951,7 @@
 09
 00
 ff
-aa
-55
-18
-00
-83
-4b
+ff
 09
 5a
 06
@@ -7780,6 +7967,21 @@
 09
 00
 ff
+ff
+09
+5a
+a6
+34
+19
+10
+6a
+e0
+69
+23
+09
+00
+ff
+ff
 06
 80
 09
@@ -7789,23 +7991,20 @@
 09
 00
 ff
+ff
 aa
 55
-06
+02
 00
-9d
+b3
 4b
-02
+03
 00
-ff
-ff
-ff
-ff
 aa
 55
 04
 00
-2a
+3e
 4c
 01
 00
@@ -7815,7 +8014,7 @@
 55
 15
 00
-35
+49
 4c
 20
 15
@@ -7842,7 +8041,7 @@
 55
 03
 00
-4e
+62
 4c
 19
 19
@@ -7851,7 +8050,7 @@
 55
 03
 00
-58
+6c
 4c
 80
 4f
@@ -7860,7 +8059,7 @@
 55
 02
 00
-6e
+82
 4c
 04
 01
@@ -7868,213 +8067,14 @@
 55
 04
 00
-6e
+82
 4d
 0f
 0f
 0f
 0f
-96
-7d
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+88
+a3
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-04
-ad
+ea
+9d
Index: output/memmap.format
===================================================================
--- /branch/mouse_project/YJX_Project/mingAo_Only24g/output/memmap.format	(revision 2401)
+++ /branch/mouse_project/YJX_Project/mingAo_Only24g/output/memmap.format	(working copy)
@@ -603,6 +603,31 @@
 0x11c0 mem_data_current
 0x11c2 mem_data_sum
 0x11c5 mem_data_value
+0x11c7 mem_test_mode_start
+0x11c7 mem_fcc_param_new
+0x11c7 mem_fcc_ch_new
+0x11c8 mem_fcc_mod_new
+0x11c9 mem_fcc_txrx_new
+0x11ca mem_fcc_btble_new
+0x11cb mem_fcc_data_new
+0x11cc mem_fcc_data_length_new
+0x11cd mem_fcc_hop_new
+0x11ce mem_fcc_param
+0x11ce mem_fcc_ch
+0x11cf mem_fcc_mod
+0x11d0 mem_fcc_txrx
+0x11d1 mem_fcc_btble
+0x11d2 mem_fcc_data
+0x11d3 mem_fcc_data_length
+0x11d4 mem_fcc_hop
+0x11d5 mem_random_ch
+0x11d6 mem_pn9
+0x12d6 mem_test_mode_switch
+0x12d7 mem_test_mode_switch_enable
+0x12d8 mem_test_ch_switch
+0x12d9 mem_test_ch_switch_incre_enable
+0x12da mem_test_ch_switch_decre_enable
+0x12db mem_test_mode_end
 0x4000 mem_patch00
 0x4001 mem_patch01
 0x4002 mem_patch02
@@ -1754,185 +1779,192 @@
 0x480e mem_mouse_long_mult_flag
 0x480f mem_mouse_le_current_mult_timer
 0x4810 mem_24g_long_sleep_param_update_timer
-0x4811 mem_mouse_enter_sniff_count
-0x4812 mem_mouse_send_switch_req_timer
-0x4813 mem_le_tx_buffer0_omemalloc
-0x482e mem_le_tx_buffer1_omemalloc
-0x4849 mem_le_tx_buffer2_omemalloc
-0x4864 mem_le_tx_buffer3_omemalloc
-0x487f mem_mouse_mode_config
-0x4880 mem_mouse_dpi_blink_count
-0x4881 mem_mouse_uuid_list
-0x4b07 mem_lmi_opcode_temp
-0x4b08 mem_mouse_adc_last_low_voltage_flag
-0x4b09 mem_mouse_init_sensor_reset_flag
-0x4b0a mem_mouse_ble_reconn_led_blink_count
-0x4b0b mem_mouse_ble_reconn_led_blink_timer
-0x4b0c mem_mouse_multi_led_blink_enable
-0x4b0d mem_mouse_multi_led_gpio
-0x4b0e mem_mouse_multi_led_state
-0x4b0f mem_mouse_multi_led_type
-0x4b10 mem_mouse_multi_led_on_timer
-0x4b11 mem_mouse_multi_led_on_timer_init
-0x4b12 mem_mouse_multi_led_blink_timer
-0x4b13 mem_mouse_multi_led_blink_timer_init
-0x4b14 mem_mouse_multi_led_blink_count
-0x4b15 mem_mouse_multi_led_blink_count_limited
-0x4b16 mem_mouse_multi_led_on_poweron2s_flag
-0x4b17 mem_mouse_ble_reconn_multi_led_blink_flag
-0x4b18 mem_power_on_flag
-0x4b19 mem_mouse_latest_mode
-0x4b1a mem_bt_rcvd_switch_req_accept
-0x4b1b mem_bt_send_max_slot_req_accept_after_switch
-0x4b1c mem_bt_send_lmp_setup_complete
-0x4b1d mem_l2cap_rcv
-0x4b1e mem_mouse_bt_boot_mode
-0x4b1f mem_mouse_bt_boot_data
-0x4b24 mem_mouse_bt_send_first_package_timer
-0x4b25 mem_mouse_bt_send_first_package_flag
-0x4b26 mem_mouse_asm_flag
-0x4b27 mem_mouse_x_pre
-0x4b29 mem_mouse_y_pre
-0x4b2b mem_le_adv_swift_pair
+0x4812 mem_mouse_enter_sniff_count
+0x4813 mem_mouse_send_switch_req_timer
+0x4814 mem_le_tx_buffer0_omemalloc
+0x482f mem_le_tx_buffer1_omemalloc
+0x484a mem_le_tx_buffer2_omemalloc
+0x4865 mem_le_tx_buffer3_omemalloc
+0x4880 mem_mouse_mode_config
+0x4881 mem_mouse_dpi_blink_count
+0x4882 mem_mouse_uuid_list
+0x4b08 mem_lmi_opcode_temp
+0x4b09 mem_mouse_adc_last_low_voltage_flag
+0x4b0a mem_mouse_init_sensor_reset_flag
+0x4b0b mem_mouse_ble_reconn_led_blink_count
+0x4b0c mem_mouse_ble_reconn_led_blink_timer
+0x4b0d mem_mouse_multi_led_blink_enable
+0x4b0e mem_mouse_multi_led_gpio
+0x4b0f mem_mouse_multi_led_state
+0x4b10 mem_mouse_multi_led_type
+0x4b11 mem_mouse_multi_led_on_timer
+0x4b12 mem_mouse_multi_led_on_timer_init
+0x4b13 mem_mouse_multi_led_blink_timer
+0x4b14 mem_mouse_multi_led_blink_timer_init
+0x4b15 mem_mouse_multi_led_blink_count
+0x4b16 mem_mouse_multi_led_blink_count_limited
+0x4b17 mem_mouse_multi_led_on_poweron2s_flag
+0x4b18 mem_mouse_ble_reconn_multi_led_blink_flag
+0x4b19 mem_power_on_flag
+0x4b1a mem_mouse_latest_mode
+0x4b1b mem_bt_rcvd_switch_req_accept
+0x4b1c mem_bt_send_max_slot_req_accept_after_switch
+0x4b1d mem_bt_send_lmp_setup_complete
+0x4b1e mem_l2cap_rcv
+0x4b1f mem_mouse_bt_boot_mode
+0x4b20 mem_mouse_bt_boot_data
+0x4b25 mem_mouse_bt_send_first_package_timer
+0x4b26 mem_mouse_bt_send_first_package_flag
+0x4b27 mem_mouse_asm_flag
+0x4b28 mem_mouse_x_pre
+0x4b2a mem_mouse_y_pre
+0x4b2c mem_le_adv_swift_pair
 0x4b3f mem_bt_125hz_cnt
 0x4b40 mem_mouse_send_secutiry_request_timer
 0x4b41 mem_le_send_security_request_flag
 0x4b42 mem_g24_stop_g24_mode
 0x4b43 mem_g24_stop_g24_mode_timeout
-0x4b45 mem_24g_pair_current_ch_num
-0x4b46 mem_24g_powerful_current_ch_num
-0x4b47 mem_mouse_nodata_check_count
-0x4b48 mem_g24_search_dongle_delay_count
-0x4b49 mem_24g_search_dongle_wait
-0x4b4a mem_mouse_sensor_powerdown_timer
-0x4b4b mem_mouse_common_gpio
-0x4b4c mem_sensor_8650_init
+0x4b45 mem_24g_search_dongle_wait
+0x4b46 mem_24g_pair_current_ch_num
+0x4b47 mem_24g_powerful_current_ch_num
+0x4b48 mem_mouse_nodata_check_count
+0x4b49 mem_mouse_sensor_powerdown_timer
+0x4b4a mem_mouse_common_gpio
+0x4b4b mem_sensor_8650_init
 0x4b65 mem_sensor_ka8ul_init
 0x4b83 mem_sensor_8009_init
-0x4b92 mem_sensor_poweron_init
-0x4b9b mem_mouse_data_xtemp
-0x4b9c mem_mouse_data_ytemp
-0x4b9d mem_firmware_version
-0x4b9f mem_compare_addr_ff
-0x4ba3 mem_24g_rxbuf
-0x4bc5 mem_24g_txbuf
-0x4be5 mem_24g_txpayload
-0x4c07 mem_24g_rxpayload
-0x4c27 mem_24g_rxdata_length
-0x4c28 mem_24g_pid
-0x4c29 mem_24g_datalen
-0x4c2a mem_24g_data_type
-0x4c2b mem_24g_txlen
-0x4c2c mem_24g_rx_window
-0x4c2e mem_24g_ensure
-0x4c2f mem_24g_txfail_cnt
-0x4c31 mem_24g_get_ack_fail
-0x4c32 mem_24g_retry
-0x4c33 mem_24g_ch
-0x4c34 mem_24g_current_ch_number
-0x4c35 mem_24g_paring_addr
-0x4c39 mem_24g_pairing_sm
-0x4c3a mem_24g_ch_map1
-0x4c3e mem_24g_ch_map2
-0x4c42 mem_24g_ch_map3
-0x4c46 mem_24g_ch_map4
-0x4c4a mem_24g_tx_btclk
-0x4c4e mem_24g_interval
-0x4c4f mem_24g_interval_min
-0x4c50 mem_24g_interval_max
-0x4c51 mem_24g_addr
-0x4c55 mem_24g_abort_pac
-0x4c56 mem_24g_check_dongle_times
-0x4c58 mem_24g_enter_hibernate
-0x4c60 mem_24g_device_addr
-0x4c64 mem_24g_pac_index
-0x4c65 mem_24g_no_ack
-0x4c66 mem_24g_sta_crc
-0x4c69 mem_24g_last_crc
-0x4c6c mem_24g_sta_pid
-0x4c6d mem_24g_last_pid
-0x4c6e mem_24g_max_retry
-0x4c6f mem_24g_mode
-0x4c70 mem_24g_rxdata_temp
-0x4c92 mem_24g_rx_addr
-0x4c96 mem_dongle_mode_init
-0x4c97 mem_dongle_work_mode
-0x4c98 mem_dongle_ms_bind_step
-0x4c99 mem_dongle_kb_bind_step
-0x4c9a mem_dongle_bind_device_status
-0x4c9b mem_24g_bind_payload
-0x4ca3 mem_24g_abort_packet
-0x4ca4 mem_24g_rf_laststa
-0x4ca5 mem_24g_hop_btclk
-0x4ca9 mem_24g_hop_interval
-0x4caa mem_24g_mode_switch
-0x4cab mem_24g_ackpayload_enable
-0x4cac mem_24g_hop_packet
-0x4cad mem_24g_pair_mode
-0x4cae mem_24g_nodata_timer_enable
-0x4caf mem_24g_time_slice
-0x4cb0 mem_24g_kb_data_sta_data
-0x4cb8 mem_24g_kb_data_last_data
-0x4cc0 mem_24g_kb_multikey_sta_data
-0x4cc3 mem_24g_kb_multikey_last_data
-0x4cc6 mem_24g_kb_blank_data_enable
-0x4cc7 mem_24g_kb_mul_blank_data_enable
-0x4cc8 mem_24g_ms_blank_data_enable
-0x4cc9 mem_24g_kb_addr
-0x4ccd mem_24g_ms_addr
-0x4cd1 mem_24g_dg_last_ch
-0x4cd2 mem_24g_dg_ch_number
-0x4cd3 mem_24g_dg_config_ch_once
-0x4cd4 mem_24g_kb_last_ch
-0x4cd5 mem_24g_kb_ch_number
-0x4cd6 mem_24g_kb_config_ch_once
-0x4cd7 mem_24g_ms_last_ch
-0x4cd8 mem_24g_ms_ch_number
-0x4cd9 mem_24g_ms_config_ch_once
-0x4cda mem_24g_syncword
-0x4cdc mem_24g_syncword_crc8
-0x4cdd mem_24g_get_syncword_crc8
-0x4cde mem_24g_ota_sta_pid
-0x4ce0 mem_tx_power_temp
-0x4ce1 mem_rssi_hex
-0x4ce2 mem_rssi_noise_avg
-0x4ce3 mem_rssi_noise_index
-0x4ce4 mem_rssi_signal_index
-0x4ce5 mem_rssi_noise_dg_avg
-0x4ce6 mem_rssi_noise_kb_avg
-0x4ce7 mem_rssi_noise_ms_avg
-0x4ce8 mem_rssi_noise_dg_index
-0x4ce9 mem_rssi_noise_kb_index
-0x4cea mem_rssi_noise_ms_index
-0x4ceb mem_rssi_signal_buf
-0x4cf3 mem_queue_ele_num
-0x4cf4 mem_queue_read
-0x4cf6 mem_queue_write
-0x4cf8 mem_queue_start
-0x4cf8 mem_data_ele0
-0x4d18 mem_data_ele1
-0x4d38 mem_data_ele2
-0x4d58 mem_queue_end
-0x4d58 mem_queue_temp
-0x4d5a mem_cb_24g_data
-0x4d5c mem_24g_hop_fastly_cnt
-0x4d5d mem_24g_hop_pac_retry
-0x4d5e mem_24g_rf_hop_ch
-0x4d5f mem_24g_rf_last_sta
-0x4d60 mem_24g_rf_work_stage
-0x4d61 mem_24g_sync_cnt
-0x4d62 mem_power_ctrl_pac_succ_cnt
-0x4d63 mem_rssi_avg_received
-0x4d64 mem_rssi_hex_received
-0x4d65 mem_power_ctrl_level
-0x4d66 mem_seqi
-0x4d67 mem_24g_auto_paring_switch
-0x4d68 mem_24g_paccnt
-0x4d69 mem_24g_transmit_by_interrupt
-0x4d6a mem_24g_transmit_by_interrupt_exit_count
-0x4d6c mem_24g_transmit_by_interrupt_exit_count_init
-0x4d6e mem_24g_allpowerful_addr
-0x4d72 mem_24g_search_dongle_action
-0x4d73 mem_24g_search_dongle_count
-0x4d74 mem_24g_search_dongle_ch
-0x4d75 mem_g24_conn_sm
+0x4b93 mem_sensor_ka5857_init
+0x4ba1 mem_sensor_poweron_init
+0x4bab mem_mouse_lkey_press_status
+0x4bac mem_mouse_rkey_press_status
+0x4bad mem_mouse_mkey_press_status
+0x4bae mem_mouse_bkkey_press_status
+0x4baf mem_mouse_fwkey_press_status
+0x4bb0 mem_mouse_dpikey_press_status
+0x4bb1 mem_mouse_key_temp
+0x4bb2 mem_mouse_key_status
+0x4bb3 mem_firmware_version
+0x4bb5 mem_mouse_data_xtemp
+0x4bb6 mem_mouse_data_ytemp
+0x4bb7 mem_24g_rxbuf
+0x4bd9 mem_24g_txbuf
+0x4bf9 mem_24g_txpayload
+0x4c1b mem_24g_rxpayload
+0x4c3b mem_24g_rxdata_length
+0x4c3c mem_24g_pid
+0x4c3d mem_24g_datalen
+0x4c3e mem_24g_data_type
+0x4c3f mem_24g_txlen
+0x4c40 mem_24g_rx_window
+0x4c42 mem_24g_ensure
+0x4c43 mem_24g_txfail_cnt
+0x4c45 mem_24g_get_ack_fail
+0x4c46 mem_24g_retry
+0x4c47 mem_24g_ch
+0x4c48 mem_24g_current_ch_number
+0x4c49 mem_24g_paring_addr
+0x4c4d mem_24g_pairing_sm
+0x4c4e mem_24g_ch_map1
+0x4c52 mem_24g_ch_map2
+0x4c56 mem_24g_ch_map3
+0x4c5a mem_24g_ch_map4
+0x4c5e mem_24g_tx_btclk
+0x4c62 mem_24g_interval
+0x4c63 mem_24g_interval_min
+0x4c64 mem_24g_interval_max
+0x4c65 mem_24g_addr
+0x4c69 mem_24g_abort_pac
+0x4c6a mem_24g_check_dongle_times
+0x4c6c mem_24g_enter_hibernate
+0x4c74 mem_24g_device_addr
+0x4c78 mem_24g_pac_index
+0x4c79 mem_24g_no_ack
+0x4c7a mem_24g_sta_crc
+0x4c7d mem_24g_last_crc
+0x4c80 mem_24g_sta_pid
+0x4c81 mem_24g_last_pid
+0x4c82 mem_24g_max_retry
+0x4c83 mem_24g_mode
+0x4c84 mem_24g_rxdata_temp
+0x4ca6 mem_24g_rx_addr
+0x4caa mem_dongle_mode_init
+0x4cab mem_dongle_work_mode
+0x4cac mem_dongle_ms_bind_step
+0x4cad mem_dongle_kb_bind_step
+0x4cae mem_dongle_bind_device_status
+0x4caf mem_24g_bind_payload
+0x4cb7 mem_24g_abort_packet
+0x4cb8 mem_24g_rf_laststa
+0x4cb9 mem_24g_hop_btclk
+0x4cbd mem_24g_hop_interval
+0x4cbe mem_24g_mode_switch
+0x4cbf mem_24g_ackpayload_enable
+0x4cc0 mem_24g_hop_packet
+0x4cc1 mem_24g_pair_mode
+0x4cc2 mem_24g_nodata_timer_enable
+0x4cc3 mem_24g_time_slice
+0x4cc4 mem_24g_kb_data_sta_data
+0x4ccc mem_24g_kb_data_last_data
+0x4cd4 mem_24g_kb_multikey_sta_data
+0x4cd7 mem_24g_kb_multikey_last_data
+0x4cda mem_24g_kb_blank_data_enable
+0x4cdb mem_24g_kb_mul_blank_data_enable
+0x4cdc mem_24g_ms_blank_data_enable
+0x4cdd mem_24g_kb_addr
+0x4ce1 mem_24g_ms_addr
+0x4ce5 mem_24g_dg_last_ch
+0x4ce6 mem_24g_dg_ch_number
+0x4ce7 mem_24g_dg_config_ch_once
+0x4ce8 mem_24g_kb_last_ch
+0x4ce9 mem_24g_kb_ch_number
+0x4cea mem_24g_kb_config_ch_once
+0x4ceb mem_24g_ms_last_ch
+0x4cec mem_24g_ms_ch_number
+0x4ced mem_24g_ms_config_ch_once
+0x4cee mem_24g_syncword
+0x4cf0 mem_24g_syncword_crc8
+0x4cf1 mem_24g_get_syncword_crc8
+0x4cf2 mem_24g_ota_sta_pid
+0x4cf4 mem_tx_power_temp
+0x4cf5 mem_rssi_hex
+0x4cf6 mem_rssi_noise_avg
+0x4cf7 mem_rssi_noise_index
+0x4cf8 mem_rssi_signal_index
+0x4cf9 mem_rssi_noise_dg_avg
+0x4cfa mem_rssi_noise_kb_avg
+0x4cfb mem_rssi_noise_ms_avg
+0x4cfc mem_rssi_noise_dg_index
+0x4cfd mem_rssi_noise_kb_index
+0x4cfe mem_rssi_noise_ms_index
+0x4cff mem_rssi_signal_buf
+0x4d07 mem_queue_ele_num
+0x4d08 mem_queue_read
+0x4d0a mem_queue_write
+0x4d0c mem_queue_start
+0x4d0c mem_data_ele0
+0x4d2c mem_data_ele1
+0x4d4c mem_data_ele2
+0x4d6c mem_queue_end
+0x4d6c mem_queue_temp
+0x4d6e mem_cb_24g_data
+0x4d70 mem_24g_hop_fastly_cnt
+0x4d71 mem_24g_hop_pac_retry
+0x4d72 mem_24g_rf_hop_ch
+0x4d73 mem_24g_rf_last_sta
+0x4d74 mem_24g_rf_work_stage
+0x4d75 mem_24g_sync_cnt
+0x4d76 mem_power_ctrl_pac_succ_cnt
+0x4d77 mem_rssi_avg_received
+0x4d78 mem_rssi_hex_received
+0x4d79 mem_power_ctrl_level
+0x4d7a mem_seqi
+0x4d7b mem_24g_auto_paring_switch
+0x4d7c mem_24g_paccnt
+0x4d7d mem_24g_transmit_by_interrupt
+0x4d7e mem_24g_transmit_by_interrupt_exit_count
+0x4d80 mem_24g_transmit_by_interrupt_exit_count_init
+0x4d82 mem_24g_allpowerful_addr
+0x4d86 mem_24g_search_dongle_action
+0x4d87 mem_24g_search_dongle_count
+0x4d88 mem_24g_search_dongle_ch
+0x4d89 mem_g24_conn_sm
Index: output/program.lis
===================================================================
--- /branch/mouse_project/YJX_Project/mingAo_Only24g/output/program.lis	(revision 2401)
+++ /branch/mouse_project/YJX_Project/mingAo_Only24g/output/program.lis	(working copy)
@@ -1,2464 +1,2549 @@
-include "bt_format "
-org 0x0000
-0000 c2840011 bbit1 8 ,pf_patch_ext 
-0001 c000001e beq patch00_0 ,p_soft_reset 
-0002 c0008021 beq patch00_1 ,p_soft_reset_1 
-0003 c0010029 beq patch00_2 ,p_soft_reset_2 
-0004 c0428582 beq patch10_5 ,p_shutdown_radio 
-0005 c044853f beq patch11_1 ,p_set_freq_tx 
-0006 c0450584 beq patch11_2 ,p_initialize_radio_cont 
-0007 c0508032 beq patch14_1 ,p_init_param 
-0008 c0588037 beq patch16_1 ,p_lpm_check_wake_lock 
-0009 c0590045 beq patch16_2 ,p_g24_dispatch 
-000a c0620113 beq patch18_4 ,p_device_init 
-000b c0718318 beq patch1c_3 ,p_mouse_seting_dpi 
-000c c07302b8 beq patch1c_6 ,p_mouse_motion 
-000d c0750352 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
-000e c075835f beq patch1d_3 ,p_mouse_start_discovery 
-000f c076038c beq patch1d_4 ,p_mouse_stop_discovery 
-0010 20202a8e branch loop 
+              include "bt_format "
+              org 0x0000
+0000 c284000d bbit1 8 ,pf_patch_ext 
+0001 c000001a beq patch00_0 ,p_soft_reset 
+0002 c000801d beq patch00_1 ,p_soft_reset_1 
+0003 c0010025 beq patch00_2 ,p_soft_reset_2 
+0004 c04284b3 beq patch10_5 ,p_shutdown_radio 
+0005 c0448484 beq patch11_1 ,p_set_freq_tx 
+0006 c04504b5 beq patch11_2 ,p_initialize_radio_cont 
+0007 c05384b8 beq patch14_7 ,p_lpm_dispatch 
+0008 c059002e beq patch16_2 ,p_g24_dispatch 
+0009 c06200f7 beq patch18_4 ,p_device_init 
+000a c071829f beq patch1c_3 ,p_mouse_seting_dpi 
+000b c0730232 beq patch1c_6 ,p_mouse_motion 
+000c 20202a8e branch loop 
 
 pf_patch_ext:
-0011 c01f8390 beq patch27_7 ,p_le_enable 
-0012 c046039b beq patch31_4 ,p_twspi_reset 
-0013 20202a8e branch loop 
+000d c01f82da beq patch27_7 ,p_le_enable 
+000e c04602e5 beq patch31_4 ,p_twspi_reset 
+000f 20202a8e branch loop 
 
 p_rssi_signal:
-0014 1fe22200 copy pdata ,rega 
-0015 6808cce4 fetcht 1 ,mem_rssi_signal_index 
-0016 58004ceb setarg mem_rssi_signal_buf 
-0017 98408a00 iadd temp ,contw 
-0018 1a227e00 copy rega ,pdata 
-0019 e0a08000 istore 1 ,contw 
-001a 18408401 increase 1 ,temp 
-001b 18410407 and_into rssi_buf_len_signal ,temp 
-001c 6008cce4 storet 1 ,mem_rssi_signal_index 
-001d 20600000 rtn 
+0010 1fe22200 copy pdata ,rega 
+0011 6808ccf8 fetcht 1 ,mem_rssi_signal_index 
+0012 58004cff setarg mem_rssi_signal_buf 
+0013 98408a00 iadd temp ,contw 
+0014 1a227e00 copy rega ,pdata 
+0015 e0a08000 istore 1 ,contw 
+0016 18408401 increase 1 ,temp 
+0017 18410407 and_into rssi_buf_len_signal ,temp 
+0018 6008ccf8 storet 1 ,mem_rssi_signal_index 
+0019 20600000 rtn 
 
 p_soft_reset:
-001e 6810813b hfetch 1 ,0x813b 
-001f 6000cb18 store 1 ,mem_power_on_flag 
-0020 20202002 branch soft_reset + 1 
+001a 6810813b hfetch 1 ,0x813b 
+001b 6000cb19 store 1 ,mem_power_on_flag 
+001c 20202002 branch soft_reset + 1 
 
 p_soft_reset_1:
-0021 d8a009ae arg mem_sp_state ,contw 
-0022 df20000c arg 12 ,loopcnt 
-0023 20407ed4 call clear_mem 
-0024 20406a03 call rfcomm_init 
-0025 20405cf6 call init_lmp 
-0026 2455ac65 ncall lpm_disable_exen_output ,wake 
-0027 20407ccd call ui_init + 1 
-0028 2020200c branch soft_reset + 11 
+001d d8a009ae arg mem_sp_state ,contw 
+001e df20000c arg 12 ,loopcnt 
+001f 20407ed4 call clear_mem 
+0020 20406a03 call rfcomm_init 
+0021 20405cf6 call init_lmp 
+0022 2455ac65 ncall lpm_disable_exen_output ,wake 
+0023 20407ccd call ui_init + 1 
+0024 2020200c branch soft_reset + 11 
 
 p_soft_reset_2:
-0029 2055b2e3 call app_lpm_init ,wake 
-002a 2040756a call publickey_init 
-002b 2055ab41 call lpm_recover_clk ,wake 
+0025 2055b2e3 call app_lpm_init ,wake 
+0026 2040756a call publickey_init 
+0027 2055ab41 call lpm_recover_clk ,wake 
 
 p_sp_cal_loop:
-002c 204076dc call sp_calc_sequence 
-002d 6800c65a fetch 1 ,mem_ssp_enable 
-002e 203a2012 branch main_loop ,blank 
-002f 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
-0030 203a002c branch p_sp_cal_loop ,blank 
-0031 20202012 branch main_loop 
-
-p_init_param:
-0032 58000a06 setarg param_le_version 
-0033 6001c510 store 3 ,mem_lmp_version 
-0034 58001d87 setarg param_le_subversion 
-0035 60014513 store 2 ,mem_lmp_version + 3 
-0036 20202aa2 branch init_param + 12 
-
-p_lpm_check_wake_lock:
-0037 c6130000 rtnmark1 mark_24g 
-0038 6800cb14 fetch 1 ,mem_mouse_multi_led_blink_count 
-0039 243a7fef nbranch disable_blank ,blank 
-003a 6800cb0e fetch 1 ,mem_mouse_multi_led_state 
-003b 243a7fef nbranch disable_blank ,blank 
-003c 6800c7a2 fetch 1 ,mem_mouse_clear_sensor_data_flag 
-003d 203a7fef branch disable_blank ,blank 
-003e 6800c7ca fetch 1 ,mem_mouse_le_conn_param_reject 
-003f c000ffef beq le_lpm_disable ,disable_blank 
-0040 68014248 fetch 2 ,mem_sdp_remote_cid 
-0041 243a7fef nbranch disable_blank ,blank 
-0042 6800c80c fetch 1 ,mem_mouse_wheel_trigger 
-0043 243a7fef nbranch disable_blank ,blank 
-0044 20207ff1 branch enable_blank 
+0028 204076dc call sp_calc_sequence 
+0029 6800c65a fetch 1 ,mem_ssp_enable 
+002a 203a2012 branch main_loop ,blank 
+002b 6800c5b1 fetch 1 ,mem_sp_local_key_invalid 
+002c 203a0028 branch p_sp_cal_loop ,blank 
+002d 20202012 branch main_loop 
 
 p_g24_dispatch:
-0045 c6930000 rtnmark0 mark_24g 
-0046 6800cd75 fetch 1 ,mem_g24_conn_sm 
-0047 c2808059 bbit1 state_24g_pair ,p_g24_pair_dispatch 
-0048 c2810075 bbit1 state_24g_reconn ,p_g24_reconn_dispatch 
-0049 6800cd69 fetch 1 ,mem_24g_transmit_by_interrupt 
-004a c000808a beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
+002e c6930000 rtnmark0 mark_24g 
+002f 6800cd89 fetch 1 ,mem_g24_conn_sm 
+0030 c2808041 bbit1 state_24g_pair ,p_g24_pair_dispatch 
+0031 c2810061 bbit1 state_24g_reconn ,p_g24_reconn_dispatch 
+0032 6800cd7d fetch 1 ,mem_24g_transmit_by_interrupt 
+0033 c0008074 beq g24_tx_timer_int_enable ,p_g24_transmit_by_interrupt 
 
 p_g24_transmit_process:
-004b 20400402 call p_g24_txdata_prep 
-004c 243400aa nbranch p_g24_nodata_transmit ,user 
-004d 704b480a jam 10 ,mem_g24_search_dongle_delay_count 
-004e 204003e7 call p_g24_rf_sta_check 
+0034 2040034d call p_g24_txdata_prep 
+0035 2434008f nbranch p_g24_nodata_transmit ,user 
+0036 20400332 call p_g24_rf_sta_check 
 
 p_g24_transmit_start:
-004f 2040042f call p_g24_transmit_packet 
-0050 6800cc39 fetch 1 ,mem_24g_pairing_sm 
-0051 c1ff8000 rtnne state_24g_pairing_success 
-0052 2040048e call power_ctrl_start 
-0053 20400084 call g24_long_sleep_shorter_param_update 
+0037 20400378 call p_g24_transmit_packet 
+0038 6800cc4d fetch 1 ,mem_24g_pairing_sm 
+0039 c1ff8000 rtnne state_24g_pairing_success 
+003a 204003cd call power_ctrl_start 
+003b 2040006f call g24_long_sleep_shorter_param_update 
 
 p_g24_short_sleep:
-0054 204000b5 call p_g24_lpm_wait 
-0055 24740000 nrtn user 
-0056 20400103 call p_clear_wake 
-0057 5800f80c setarg 63500 
-0058 20202b93 branch lpm_dispatch_sleep 
+003c 2040009a call p_g24_lpm_wait 
+003d 24740000 nrtn user 
+003e 204000e7 call p_clear_wake 
+003f 5800f80c setarg 63500 
+0040 20202b93 branch lpm_dispatch_sleep 
 
 p_g24_pair_dispatch:
-0059 6800cb42 fetch 1 ,mem_g24_stop_g24_mode 
-005a c0008467 beq 1 ,p_g24_stop_g24_mode 
-005b 204004f3 call p_g24_tx_attemp_data_prep 
-005c 2040044d call p_g24_transmit_receive_ack 
-005d 242c0509 nbranch p_g24_pair_txdata_retry ,sync 
-005e 24378509 nbranch p_g24_pair_txdata_retry ,user3 
-005f 6800cd75 fetch 1 ,mem_g24_conn_sm 
-0060 793ffe01 set0 state_24g_pair ,pdata 
-0061 6000cd75 store 1 ,mem_g24_conn_sm 
-0062 20400476 call p_g24_ackpayload_parse 
-0063 68024c51 fetch 4 ,mem_24g_addr 
-0064 680a4d6e fetcht 4 ,mem_24g_allpowerful_addr 
-0065 98467c00 isub temp ,null 
-0066 20228069 branch p_g24_auto_pair_skip_rx_length ,zero 
-0067 6800cc27 fetch 1 ,mem_24g_rxdata_length 
-0068 207a0000 rtn blank 
+0041 6800cb42 fetch 1 ,mem_g24_stop_g24_mode 
+0042 c000add4 beq 1 ,g24_stop_24g_mode 
+0043 2040043e call p_g24_tx_attemp_data_prep 
+0044 2040038f call p_g24_transmit_receive_ack 
+0045 242c0454 nbranch p_g24_pair_txdata_retry ,sync 
+0046 24378454 nbranch p_g24_pair_txdata_retry ,user3 
+0047 204003b5 call p_g24_ackpayload_parse 
+0048 68024c65 fetch 4 ,mem_24g_addr 
+0049 680a4d82 fetcht 4 ,mem_24g_allpowerful_addr 
+004a 98467c00 isub temp ,null 
+004b 2022804e branch p_g24_auto_pair_skip_rx_length ,zero 
+004c 2040005b call p_g24_pair_ackpayload_length_check 
+004d 24740000 nrtn user 
 
 p_g24_auto_pair_skip_rx_length:
-0069 20400237 call p_mouse_tx_power_init 
-006a 68024c51 fetch 4 ,mem_24g_addr 
-006b 680a4c35 fetcht 4 ,mem_24g_paring_addr 
-006c 98467c00 isub temp ,null 
-006d 202284b8 branch p_g24_start_pairing_sm1 ,zero 
-006e 68024c51 fetch 4 ,mem_24g_addr 
-006f 680a4c60 fetcht 4 ,mem_24g_device_addr 
-0070 98467c00 isub temp ,null 
-0071 20428073 call p_g24_store_dongle_addr ,zero 
-0072 2020007e branch p_g24_tx_attemp_dongle_succ 
+004e 6800cd89 fetch 1 ,mem_g24_conn_sm 
+004f 793ffe01 set0 state_24g_pair ,pdata 
+0050 6000cd89 store 1 ,mem_g24_conn_sm 
+0051 204001f6 call p_mouse_tx_power_init 
+0052 68024c65 fetch 4 ,mem_24g_addr 
+0053 680a4c49 fetcht 4 ,mem_24g_paring_addr 
+0054 98467c00 isub temp ,null 
+0055 202283f5 branch p_g24_start_pairing_sm1 ,zero 
+0056 68024c65 fetch 4 ,mem_24g_addr 
+0057 680a4c74 fetcht 4 ,mem_24g_device_addr 
+0058 98467c00 isub temp ,null 
+0059 2042805f call p_g24_store_dongle_addr ,zero 
+005a 2020006a branch p_g24_tx_attemp_dongle_succ 
+
+p_g24_pair_ackpayload_length_check:
+005b 6800cc3b fetch 1 ,mem_24g_rxdata_length 
+005c c0047fe7 beq bind_ackpayload_length ,enable_user 
+005d c003ffe7 beq bind_ackpayload_length_yc1131 ,enable_user 
+005e 20207fe9 branch disable_user 
 
 p_g24_store_dongle_addr:
-0073 68024c09 fetch 4 ,mem_24g_rxpayload + 2 
-0074 202005b5 branch p_g24_update_addr_and_synccrc8 
+005f 68024c1d fetch 4 ,mem_24g_rxpayload + 2 
+0060 202003fd branch p_g24_update_addr_and_synccrc8 
 
 p_g24_reconn_dispatch:
-0075 6800cb42 fetch 1 ,mem_g24_stop_g24_mode 
-0076 c0008467 beq 1 ,p_g24_stop_g24_mode 
-0077 204004f3 call p_g24_tx_attemp_data_prep 
-0078 2040044d call p_g24_transmit_receive_ack 
-0079 242c04fc nbranch p_g24_attemp_txdata_retry ,sync 
-007a 243784fc nbranch p_g24_attemp_txdata_retry ,user3 
-007b 6800cd75 fetch 1 ,mem_g24_conn_sm 
-007c 793ffe02 set0 state_24g_reconn ,pdata 
-007d 6000cd75 store 1 ,mem_g24_conn_sm 
+0061 6800cb42 fetch 1 ,mem_g24_stop_g24_mode 
+0062 c000add4 beq 1 ,g24_stop_24g_mode 
+0063 2040043e call p_g24_tx_attemp_data_prep 
+0064 2040038f call p_g24_transmit_receive_ack 
+0065 242c0447 nbranch p_g24_attemp_txdata_retry ,sync 
+0066 24378447 nbranch p_g24_attemp_txdata_retry ,user3 
+0067 6800cd89 fetch 1 ,mem_g24_conn_sm 
+0068 793ffe02 set0 state_24g_reconn ,pdata 
+0069 6000cd89 store 1 ,mem_g24_conn_sm 
 
 p_g24_tx_attemp_dongle_succ:
-007e 79200026 set1 mark_24g ,mark 
-007f 70480e00 jam 0 ,mem_mouse_long_mult_flag 
-0080 700a993c jam bt_evt_24g_attempt_success ,mem_fifo_temp 
-0081 20407d86 call ui_ipc_send_event 
-0082 20400445 call p_g24_txbuf_clear 
-0083 202000a6 branch p_g24_transmit_by_interrupt_enable 
+006a 79200026 set1 mark_24g ,mark 
+006b 70480e00 jam 0 ,mem_mouse_long_mult_flag 
+006c 20402f20 call g24_tx_attemp_dongle_succ + 4 
+006d 2040038c call p_g24_txbuf_clear 
+006e 202001ca branch p_g24_transmit_by_interrupt_enable 
 
 g24_long_sleep_shorter_param_update:
-0084 6800c6f5 fetch 1 ,mem_config_function_enable 
-0085 c3838000 rtnbit1 enable_sensor_motion_pin 
-0086 58017700 setarg g24_long_sleep_step1 
-0087 6001cc58 store 3 ,mem_24g_enter_hibernate 
-0088 7048101e jam 30 ,mem_24g_long_sleep_param_update_timer 
-0089 20600000 rtn 
+006f 58017700 setarg g24_long_sleep_step1 
+0070 6001cc6c store 3 ,mem_24g_enter_hibernate 
+0071 5800012c setarg g24_long_sleep_step1_timeout 
+0072 60014810 store 2 ,mem_24g_long_sleep_param_update_timer 
+0073 20600000 rtn 
 
 p_g24_transmit_by_interrupt:
-008a 20400587 call p_g24_timer_check 
-008b 24740000 nrtn user 
-008c 204000a0 call p_g24_interval_calibrate 
-008d 68014d6a fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
-008e 1fe0fe01 increase 1 ,pdata 
-008f 60014d6a store 2 ,mem_24g_transmit_by_interrupt_exit_count 
-0090 68094d6c fetcht 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-0091 98467c00 isub temp ,null 
-0092 20428094 call p_g24_transmit_by_interrupt_exit ,zero 
-0093 2020004b branch p_g24_transmit_process 
+0074 204004ba call p_g24_timer_check 
+0075 24740000 nrtn user 
+0076 20400089 call p_g24_interval_calibrate 
+0077 68014d7e fetch 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0078 1fe0fe01 increase 1 ,pdata 
+0079 60014d7e store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+007a 68094d80 fetcht 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+007b 98467c00 isub temp ,null 
+007c 2042807e call p_g24_transmit_by_interrupt_exit ,zero 
+007d 20200034 branch p_g24_transmit_process 
 
 p_g24_transmit_by_interrupt_exit:
-0094 704d6900 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
-0095 58000000 setarg 0 
-0096 60014d6a store 2 ,mem_24g_transmit_by_interrupt_exit_count 
-0097 58000064 setarg 100 
-0098 60014d6c store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+007e 704d7d00 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+007f 58000000 setarg 0 
+0080 60014d7e store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+0081 58000064 setarg 100 
+0082 60014d80 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
 
 p_g24_interval_min:
-0099 704c6400 jam 0 ,mem_24g_pac_index 
-009a 6800cc4f fetch 1 ,mem_24g_interval_min 
-009b 6000cc4e store 1 ,mem_24g_interval 
-009c 20600000 rtn 
+0083 704c7800 jam 0 ,mem_24g_pac_index 
+0084 6800cc63 fetch 1 ,mem_24g_interval_min 
+
+p_g24_interval_store:
+0085 6000cc62 store 1 ,mem_24g_interval 
+0086 20600000 rtn 
 
 p_g24_interval_max:
-009d 6800cc50 fetch 1 ,mem_24g_interval_max 
-009e 6000cc4e store 1 ,mem_24g_interval 
-009f 20600000 rtn 
+0087 6800cc64 fetch 1 ,mem_24g_interval_max 
+0088 20200085 branch p_g24_interval_store 
 
 p_g24_interval_calibrate:
-00a0 6800cc64 fetch 1 ,mem_24g_pac_index 
-00a1 1fe0fe01 increase 1 ,pdata 
-00a2 6000cc64 store 1 ,mem_24g_pac_index 
-00a3 c002009d beq 4 ,p_g24_interval_max 
-00a4 c0028099 beq 5 ,p_g24_interval_min 
-00a5 20600000 rtn 
-
-p_g24_transmit_by_interrupt_enable:
-00a6 704d6901 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
-00a7 58000000 setarg 0 
-00a8 60014d6a store 2 ,mem_24g_transmit_by_interrupt_exit_count 
-00a9 20600000 rtn 
+0089 6800cc78 fetch 1 ,mem_24g_pac_index 
+008a 1fe0fe01 increase 1 ,pdata 
+008b 6000cc78 store 1 ,mem_24g_pac_index 
+008c c0020087 beq 4 ,p_g24_interval_max 
+008d c0028083 beq 5 ,p_g24_interval_min 
+008e 20600000 rtn 
 
 p_g24_nodata_transmit:
-00aa 6800cc55 fetch 1 ,mem_24g_abort_pac 
-00ab 205a00be call p_g24_send_abort_packet ,blank 
-00ac 6800cd69 fetch 1 ,mem_24g_transmit_by_interrupt 
-00ad c1008000 rtneq g24_tx_timer_int_enable 
-00ae 204000d0 call p_g24_search_dongle 
+008f 6800cc69 fetch 1 ,mem_24g_abort_pac 
+0090 205a00a3 call p_g24_send_abort_packet ,blank 
+0091 6800cd7d fetch 1 ,mem_24g_transmit_by_interrupt 
+0092 c1008000 rtneq g24_tx_timer_int_enable 
+0093 204000b4 call p_g24_search_dongle 
 
 p_g24_long_sleep:
-00af 204000b5 call p_g24_lpm_wait 
-00b0 24740000 nrtn user 
-00b1 6801cc58 fetch 3 ,mem_24g_enter_hibernate 
-00b2 20407f49 call clk2lpo 
-00b3 600a415b storet 4 ,mem_sleep_counter 
-00b4 20202b2a branch lpm_sleep 
+0094 2040009a call p_g24_lpm_wait 
+0095 24740000 nrtn user 
+0096 6801cc6c fetch 3 ,mem_24g_enter_hibernate 
+0097 20407f49 call clk2lpo 
+0098 600a415b storet 4 ,mem_sleep_counter 
+0099 20202b2a branch lpm_sleep 
 
 p_g24_lpm_wait:
-00b5 78347c00 enable user 
-00b6 20402afa call lpo_calibration 
-00b7 6801c16f fetch 3 ,mem_clks_per_lpo 
-00b8 203a7fe9 branch disable_user ,blank 
-00b9 6800c091 fetch 1 ,mem_lpm_mode 
-00ba 203a7fe9 branch disable_user ,blank 
-00bb 6800cd69 fetch 1 ,mem_24g_transmit_by_interrupt 
-00bc c000ffe9 beq g24_tx_timer_int_enable ,disable_user 
-00bd 20200106 branch p_mouse_setgpio_lpm 
+009a 78347c00 enable user 
+009b 20402afa call lpo_calibration 
+009c 6801c16f fetch 3 ,mem_clks_per_lpo 
+009d 203a7fe9 branch disable_user ,blank 
+009e 6800c091 fetch 1 ,mem_lpm_mode 
+009f 203a7fe9 branch disable_user ,blank 
+00a0 6800cd7d fetch 1 ,mem_24g_transmit_by_interrupt 
+00a1 c000ffe9 beq g24_tx_timer_int_enable ,disable_user 
+00a2 202000ea branch p_mouse_setgpio_lpm 
 
 p_g24_send_abort_packet:
-00be 704c5501 jam 1 ,mem_24g_abort_pac 
-00bf 704d5e00 jam 0 ,mem_24g_rf_hop_ch 
-00c0 204003ad call p_g24_transmit_rf_ctrl_clear 
-00c1 6000cbc5 store 1 ,mem_24g_txbuf 
-00c2 58000000 setarg 0 
-00c3 6003cbc6 store 7 ,mem_24g_txbuf + 1 
-00c4 68024c60 fetch 4 ,mem_24g_device_addr 
-00c5 60024bcd store 4 ,mem_24g_txbuf + 8 
-00c6 704c290c jam 12 ,mem_24g_datalen 
-00c7 6800cc2a fetch 1 ,mem_24g_data_type 
-00c8 79207e03 set1 bit_abort ,pdata 
-00c9 6000cc2a store 1 ,mem_24g_data_type 
-00ca 20400405 call p_g24_txdata_enable_tx 
-00cb 2020004f branch p_g24_transmit_start 
+00a3 704c6901 jam 1 ,mem_24g_abort_pac 
+00a4 704d7200 jam 0 ,mem_24g_rf_hop_ch 
+00a5 204002f7 call p_g24_transmit_rf_ctrl_clear 
+00a6 6000cbd9 store 1 ,mem_24g_txbuf 
+00a7 58000000 setarg 0 
+00a8 6003cbda store 7 ,mem_24g_txbuf + 1 
+00a9 68024c74 fetch 4 ,mem_24g_device_addr 
+00aa 60024be1 store 4 ,mem_24g_txbuf + 8 
+00ab 704c3d0c jam 12 ,mem_24g_datalen 
+00ac 6800cc3e fetch 1 ,mem_24g_data_type 
+00ad 79207e03 set1 bit_abort ,pdata 
+00ae 6000cc3e store 1 ,mem_24g_data_type 
+00af 20400350 call p_g24_txdata_enable_tx 
+00b0 20200037 branch p_g24_transmit_start 
 
 p_g24_search_dongle_init:
-00cc 704d7200 jam 0 ,mem_24g_search_dongle_action 
-00cd 704d7300 jam 0 ,mem_24g_search_dongle_count 
-00ce 704d7400 jam 0 ,mem_24g_search_dongle_ch 
-00cf 20600000 rtn 
+00b1 58000000 setarg 0 
+00b2 6001cd86 store 3 ,mem_24g_search_dongle_action 
+00b3 20600000 rtn 
 
 p_g24_search_dongle:
-00d0 6800c80e fetch 1 ,mem_mouse_long_mult_flag 
-00d1 207a0000 rtn blank 
-00d2 6800cc55 fetch 1 ,mem_24g_abort_pac 
-00d3 207a0000 rtn blank 
-00d4 6800cb49 fetch 1 ,mem_24g_search_dongle_wait 
-00d5 1fe0fe01 increase 1 ,pdata 
-00d6 1fe17e03 and_into 3 ,pdata 
-00d7 6000cb49 store 1 ,mem_24g_search_dongle_wait 
-00d8 247a0000 nrtn blank 
-00d9 704d7400 jam 0 ,mem_24g_search_dongle_ch 
+00b4 6800c80e fetch 1 ,mem_mouse_long_mult_flag 
+00b5 207a0000 rtn blank 
+00b6 6800cc69 fetch 1 ,mem_24g_abort_pac 
+00b7 207a0000 rtn blank 
+00b8 6800cb45 fetch 1 ,mem_24g_search_dongle_wait 
+00b9 1fe0fe01 increase 1 ,pdata 
+00ba 1fe17e03 and_into 3 ,pdata 
+00bb 6000cb45 store 1 ,mem_24g_search_dongle_wait 
+00bc 247a0000 nrtn blank 
+00bd 704d8800 jam 0 ,mem_24g_search_dongle_ch 
 
 p_g24_search_dongle_loop:
-00da 6800cd74 fetch 1 ,mem_24g_search_dongle_ch 
-00db 1fe0fe01 increase 1 ,pdata 
-00dc 6000cd74 store 1 ,mem_24g_search_dongle_ch 
-00dd 1fe67c08 sub pdata ,g24_ch_number ,null 
-00de 242100e4 nbranch p_g24_search_dongle_loop_end ,positive 
-00df 204004f3 call p_g24_tx_attemp_data_prep 
-00e0 2040044d call p_g24_transmit_receive_ack 
-00e1 242c00ea nbranch p_g24_search_dongle_loop_retry ,sync 
-00e2 243780ea nbranch p_g24_search_dongle_loop_retry ,user3 
-00e3 204000f4 call p_g24_search_dongle_success 
+00be 6800cd88 fetch 1 ,mem_24g_search_dongle_ch 
+00bf 1fe0fe01 increase 1 ,pdata 
+00c0 6000cd88 store 1 ,mem_24g_search_dongle_ch 
+00c1 1fe67c08 sub pdata ,g24_ch_number ,null 
+00c2 242100c8 nbranch p_g24_search_dongle_loop_end ,positive 
+00c3 2040043e call p_g24_tx_attemp_data_prep 
+00c4 2040038f call p_g24_transmit_receive_ack 
+00c5 242c00ce nbranch p_g24_search_dongle_loop_retry ,sync 
+00c6 243780ce nbranch p_g24_search_dongle_loop_retry ,user3 
+00c7 204000d8 call p_g24_search_dongle_success 
 
 p_g24_search_dongle_loop_end:
-00e4 20400445 call p_g24_txbuf_clear 
-00e5 6800cd73 fetch 1 ,mem_24g_search_dongle_count 
-00e6 1fe0fe01 increase 1 ,pdata 
-00e7 6000cd73 store 1 ,mem_24g_search_dongle_count 
-00e8 c00800ec beq g24_ch_poll_count ,p_g24_search_dongle_check 
-00e9 20600000 rtn 
+00c8 2040038c call p_g24_txbuf_clear 
+00c9 6800cd87 fetch 1 ,mem_24g_search_dongle_count 
+00ca 1fe0fe01 increase 1 ,pdata 
+00cb 6000cd87 store 1 ,mem_24g_search_dongle_count 
+00cc c00800d0 beq g24_ch_poll_count ,p_g24_search_dongle_check 
+00cd 20600000 rtn 
 
 p_g24_search_dongle_loop_retry:
-00ea 204005d5 call p_g24_ch 
-00eb 202000da branch p_g24_search_dongle_loop 
+00ce 204004eb call p_g24_ch 
+00cf 202000be branch p_g24_search_dongle_loop 
 
 p_g24_search_dongle_check:
-00ec 704d7300 jam 0 ,mem_24g_search_dongle_count 
-00ed 6800cd72 fetch 1 ,mem_24g_search_dongle_action 
-00ee c3800000 rtnbit1 g24_disconn_state 
-00ef 79207e00 set1 g24_disconn_state ,pdata 
-00f0 6000cd72 store 1 ,mem_24g_search_dongle_action 
-00f1 58000708 setarg g24_disconn_nodata_timer 
-00f2 600146b0 store 2 ,mem_mouse_no_data_timer 
-00f3 202001a4 branch p_mouse_sensor_powerdown 
+00d0 704d8700 jam 0 ,mem_24g_search_dongle_count 
+00d1 6800cd86 fetch 1 ,mem_24g_search_dongle_action 
+00d2 c3800000 rtnbit1 g24_disconn_state 
+00d3 79207e00 set1 g24_disconn_state ,pdata 
+00d4 6000cd86 store 1 ,mem_24g_search_dongle_action 
+00d5 58000708 setarg g24_disconn_nodata_timer 
+00d6 600146b0 store 2 ,mem_mouse_no_data_timer 
+00d7 20200173 branch p_mouse_sensor_powerdown 
 
 p_g24_search_dongle_success:
-00f4 6800cc55 fetch 1 ,mem_24g_abort_pac 
-00f5 203a00cc branch p_g24_search_dongle_init ,blank 
-00f6 704d7300 jam 0 ,mem_24g_search_dongle_count 
-00f7 6800cd72 fetch 1 ,mem_24g_search_dongle_action 
-00f8 c4000000 rtnbit0 g24_disconn_state 
-00f9 793ffe00 set0 g24_disconn_state ,pdata 
-00fa 6000cd72 store 1 ,mem_24g_search_dongle_action 
-00fb 20403f8d call mouse_no_data_timer_init 
-00fc 20200157 branch p_mouse_init_sensor_reset 
+00d8 6800cc69 fetch 1 ,mem_24g_abort_pac 
+00d9 203a00b1 branch p_g24_search_dongle_init ,blank 
+00da 704d8700 jam 0 ,mem_24g_search_dongle_count 
+00db 6800cd86 fetch 1 ,mem_24g_search_dongle_action 
+00dc c4000000 rtnbit0 g24_disconn_state 
+00dd 793ffe00 set0 g24_disconn_state ,pdata 
+00de 6000cd86 store 1 ,mem_24g_search_dongle_action 
+00df 20403f8d call mouse_no_data_timer_init 
+00e0 20200122 branch p_mouse_init_sensor_reset 
 
 p_mouse_before_lpm:
-00fd c6130000 rtnmark1 mark_24g 
-00fe 20400106 call p_mouse_setgpio_lpm 
-00ff 6800c040 fetch 1 ,mem_context 
-0100 c3000103 bbit0 state_inconn ,p_clear_wake 
-0101 680080a0 fetch 1 ,mem_lpm_current_mult 
-0102 247a0000 nrtn blank 
+00e1 c6130000 rtnmark1 mark_24g 
+00e2 204000ea call p_mouse_setgpio_lpm 
+00e3 6800c040 fetch 1 ,mem_context 
+00e4 c30000e7 bbit0 state_inconn ,p_clear_wake 
+00e5 680080a0 fetch 1 ,mem_lpm_current_mult 
+00e6 247a0000 nrtn blank 
 
 p_clear_wake:
-0103 58000000 setarg 0 
-0104 600400a1 store 8 ,mem_gpio_wakeup_low 
-0105 20600000 rtn 
+00e7 58000000 setarg 0 
+00e8 600400a1 store 8 ,mem_gpio_wakeup_low 
+00e9 20600000 rtn 
 
 p_mouse_setgpio_lpm:
-0106 20400110 call p_mouse_set_sdio_high 
-0107 20400103 call p_clear_wake 
+00ea 204000f4 call p_mouse_set_sdio_high 
+00eb 204000e7 call p_clear_wake 
 
 p_mouse_setgpio_lpm_before:
-0108 20403ebf call mouse_lpm_before_common 
-0109 20400262 call p_ice_gpio_set_input_pu 
-010a 68120070 hfetch 4 ,core_gpio_oe0 
-010b 681a0078 hfetcht 4 ,core_gpio_pu0 
-010c 98418400 ior temp ,temp 
-010d 18440400 invert temp ,temp 
-010e 601a007c hstoret 4 ,core_gpio_pd0 
-010f 20600000 rtn 
+00ec 20403ebf call mouse_lpm_before_common 
+00ed 20400215 call p_ice_gpio_set_input_pu 
+00ee 68120070 hfetch 4 ,core_gpio_oe0 
+00ef 681a0078 hfetcht 4 ,core_gpio_pu0 
+00f0 98418400 ior temp ,temp 
+00f1 18440400 invert temp ,temp 
+00f2 601a007c hstoret 4 ,core_gpio_pd0 
+00f3 20600000 rtn 
 
 p_mouse_set_sdio_high:
-0110 6800cb09 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-0111 207a0000 rtn blank 
-0112 20200318 branch p_mouse_seting_sensor_type 
+00f4 6800cb0a fetch 1 ,mem_mouse_init_sensor_reset_flag 
+00f5 207a0000 rtn blank 
+00f6 2020029f branch p_mouse_seting_sensor_type 
 
 p_device_init:
-0113 20403416 call app_lpm_mult_enable 
-0114 2035811d branch p_device_init_common ,wake 
-0115 70807820 jam 0x20 ,core_gpio_pu0 
-0116 204006fe call p_mouse_data_init 
-0117 6800c1de fetch 1 ,mem_tx_power 
-0118 6000cce0 store 1 ,mem_tx_power_temp 
-0119 2040047d call power_ctrl_pac_succ_cnt_init 
-011a 6800c685 fetch 1 ,mem_ui_button_timeout 
-011b 6000c6da store 1 ,mem_combination_ui_button_count 
-011c 204043ca call mouse_bt_discovery_button_down_disable 
+00f7 20403416 call app_lpm_mult_enable 
+00f8 203580fd branch p_device_init_common ,wake 
+00f9 70807820 jam 0x20 ,core_gpio_pu0 
+00fa 6800c1de fetch 1 ,mem_tx_power 
+00fb 6000ccf4 store 1 ,mem_tx_power_temp 
+00fc 204003bc call power_ctrl_pac_succ_cnt_init 
 
 p_device_init_common:
-011d 2040011f call p_mouse_init 
-011e 202074b9 branch enable_authrom 
+00fd 204000ff call p_mouse_init 
+00fe 202074b9 branch enable_authrom 
 
 p_mouse_init:
-011f 245581aa ncall p_mouse_setting_config ,wake 
-0120 2040014d call p_mouse_spi_init 
-0121 20758000 rtn wake 
-0122 2040065f call p_drawing_optima_init 
-0123 204001f6 call p_mouse_cb_fuction 
-0124 202001dd branch p_mouse_wakeup_from_power 
-
-p_mouse_check_reconn_target:
-0125 20400237 call p_mouse_tx_power_init 
-0126 6800c210 fetch 1 ,mem_xrecord_mode 
-0127 c01a0129 beq rec_4_mode ,p_mouse4_0_check_reconn_target 
-0128 20600000 rtn 
-
-p_mouse4_0_check_reconn_target:
-0129 7047a501 jam 1 ,mem_mouse_le_reconnect_flag 
-012a 680146a8 fetch 2 ,mem_mouse_direct_timeout 
-012b 600146ae store 2 ,mem_mouse_direct_timer 
-012c 20403418 call app_lpm_mult_disable 
-012d 20400131 call p_le_check_adv_flag 
-012e 58000004 setarg adv_flag_bredr_not_supported 
-012f e0c08000 istore 1 ,contr 
-0130 20207df4 branch check_51cmd_adv 
-
-p_le_check_adv_flag:
-0131 da204370 arg mem_le_adv_data ,rega 
-
-p_le_check_adv_flag_loop:
-0132 ea208000 ifetch 1 ,rega 
-0133 207a0000 rtn blank 
-0134 98c0a200 iadd contr ,rega 
-0135 e8c08000 ifetch 1 ,contr 
-0136 c1008000 rtneq 0x01 
-0137 20200132 branch p_le_check_adv_flag_loop 
-
-p_mouse_24g_pairing_button:
-0138 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-0139 c4088000 rtnbit0 mouse_enable_24g 
-013a c3818000 rtnbit1 mosue_24g_pairing_flag 
-013b c6130000 rtnmark1 mark_24g 
-013c 20404482 call mouse_devce_led_off 
-013d d8e00003 arg mosue_24g_pairing_flag ,queue 
-013e 204043ce call mouse_enable_function_flag 
-013f 58000000 setarg 0 
-0140 600146ae store 2 ,mem_mouse_direct_timer 
-0141 6000c6b4 store 1 ,mem_mouse_send_blank_timer 
-0142 60014c56 store 2 ,mem_24g_check_dongle_times 
-0143 204042ca call mouse_stop_discovery 
-0144 202004fd branch p_g24_auto_pair_start 
+00ff 24558179 ncall p_mouse_setting_config ,wake 
+0100 2040010e call p_mouse_spi_init 
+0101 20758000 rtn wake 
+0102 20400570 call p_drawing_optima_init 
+0103 204001ba call p_mouse_cb_fuction 
+0104 6800cb19 fetch 1 ,mem_power_on_flag 
+0105 c2810108 bbit1 2 ,p_mouse_skip_24g_pair 
+0106 20400248 call p_mouse_check_key_gpio 
+0107 c003860f beq mouse_lmr_button ,p_test_mode_start 
+
+p_mouse_skip_24g_pair:
+0108 202001a3 branch p_mouse_wakeup_from_power 
 
 p_mouse_dpi_config:
-0145 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-0146 c30a3d66 bbit0 mouse_enable_eeprom ,mouse_dpi_config 
-0147 6800c77a fetch 1 ,mem_mouse_dpi 
-0148 c07f814a beq 0xff ,p_mouse_dpi_config_default 
-0149 20200318 branch p_mouse_seting_sensor_type 
+0109 6800c77a fetch 1 ,mem_mouse_dpi 
+010a c0ff829f bne 0xff ,p_mouse_seting_sensor_type 
 
 p_mouse_dpi_config_default:
-014a 6800c6e1 fetch 1 ,mem_config_sensor_motion 
-014b 6000c77a store 1 ,mem_mouse_dpi 
-014c 20200318 branch p_mouse_seting_sensor_type 
+010b 6800c6e1 fetch 1 ,mem_config_sensor_motion 
+010c 6000c77a store 1 ,mem_mouse_dpi 
+010d 2020029f branch p_mouse_seting_sensor_type 
 
 p_mouse_spi_init:
-014d 70421276 jam 0x76 ,mem_spi_init_clk 
-014e 20203d36 branch mouse_spi_init 
+010e 70421276 jam 0x76 ,mem_spi_init_clk 
+010f 20203d36 branch mouse_spi_init 
 
 p_mouse_init_sunt:
-014f 2040014d call p_mouse_spi_init 
-0150 204040c0 call mouse_spi_sdio_gpio_pollup 
+0110 2040010e call p_mouse_spi_init 
+0111 204040c0 call mouse_spi_sdio_gpio_pollup 
 
 p_mouse_init_sensor:
-0151 204040d9 call mouse_read_sensor_id 
-0152 c0180159 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-0153 c018819c beq p3065_id1 ,p_mouse_p3065_init_param 
-0154 204040d1 call mouse_twspi_reset 
-0155 200003e8 nop 1000 
-0156 20200151 branch p_mouse_init_sensor 
+0112 204040d9 call mouse_read_sensor_id 
+0113 c0180124 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+0114 c018816e beq p3065_id1 ,p_mouse_p3065_init_param 
+0115 c02c0119 beq pka5857_id1 ,p_mouse_ka5857_id2_judge 
+0116 204040d1 call mouse_twspi_reset 
+0117 200003e8 nop 1000 
+0118 20200112 branch p_mouse_init_sensor 
+
+p_mouse_ka5857_id2_judge:
+0119 20400170 call p_mouse_sensor_poweron 
+011a 6800c6de fetch 1 ,mem_sensor_id2 
+011b c02b811d beq pka5857_id2 ,p_mouse_ka5857_init_param 
+011c 202040e0 branch mouse_init_p32xx_id2_judge 
+
+p_mouse_ka5857_init_param:
+011d 58009106 setarg 0x9106 
+011e 20406413 call twspi_write 
+011f 7046e00b jam ka5857 ,mem_config_sensor_type 
+0120 da604b93 arg mem_sensor_ka5857_init ,regc 
+0121 20200131 branch p_sensor_wr_seq 
 
 p_mouse_init_sensor_reset:
-0157 704b0901 jam 1 ,mem_mouse_init_sensor_reset_flag 
-0158 2020014f branch p_mouse_init_sunt 
+0122 704b0a01 jam 1 ,mem_mouse_init_sensor_reset_flag 
+0123 20200110 branch p_mouse_init_sunt 
 
 p_mouse_init_p32xx_id2_judge:
-0159 204001a1 call p_mouse_sensor_poweron 
-015a 6800c6de fetch 1 ,mem_sensor_id2 
-015b c02d015f beq p_mx8650 ,p_mouse_mx8650_init_param 
-015c c02a0167 beq pka8_id2 ,p_mouse_ka8_init_param 
-015d c06c018d beq p8009_id2 ,p_mouse_8009_init_param 
-015e 202040e0 branch mouse_init_p32xx_id2_judge 
+0124 20400170 call p_mouse_sensor_poweron 
+0125 6800c6de fetch 1 ,mem_sensor_id2 
+0126 c02d012a beq p_mx8650 ,p_mouse_mx8650_init_param 
+0127 c02a0139 beq pka8_id2 ,p_mouse_ka8_init_param 
+0128 c06c015f beq p8009_id2 ,p_mouse_8009_init_param 
+0129 202040e0 branch mouse_init_p32xx_id2_judge 
 
 p_mouse_mx8650_init_param:
-015f 7046e007 jam mx8650 ,mem_config_sensor_type 
-0160 da604b4c arg mem_sensor_8650_init ,regc 
+012a 7046e007 jam mx8650 ,mem_config_sensor_type 
+012b 58008006 setarg 0x8006 
+012c 20406413 call twspi_write 
+012d 20407ec1 call delay_10ms 
+012e da604b4b arg mem_sensor_8650_init ,regc 
+012f 20400131 call p_sensor_wr_seq 
+0130 20200109 branch p_mouse_dpi_config 
 
 p_sensor_wr_seq:
-0161 ea610000 ifetch 2 ,regc 
-0162 c17f8000 rtneq 0xff 
-0163 20406413 call twspi_write 
-0164 20002ee0 nop 12000 
-0165 1a60a602 increase 2 ,regc 
-0166 20200161 branch p_sensor_wr_seq 
+0131 ea610000 ifetch 2 ,regc 
+0132 d840ffff arg 0xffff ,temp 
+0133 98467c00 isub temp ,null 
+0134 20628000 rtn zero 
+0135 20406413 call twspi_write 
+0136 20002ee0 nop 12000 
+0137 1a60a602 increase 2 ,regc 
+0138 20200131 branch p_sensor_wr_seq 
 
 p_mouse_ka8_init_param:
-0167 204040f6 call mouse_sensor_disable_wp 
-0168 58009a5b setarg 0x9a5b 
-0169 20406413 call twspi_write 
-016a 5800000d setarg 0x0d 
-016b 20406414 call twspi_read 
-016c 1fe67c12 sub pdata ,0x12 ,null 
-016d 2022817a branch p_mouse_ka8ul_init_param ,zero 
-016e 1fe67c0a sub pdata ,0x0a ,null 
-016f 2422817d nbranch p_mouse_ka8hd_sensor_judge ,zero 
-0170 5800000e setarg 0x0e 
-0171 20406414 call twspi_read 
-0172 1fe67ce5 sub pdata ,0xe5 ,null 
-0173 24228151 nbranch p_mouse_init_sensor ,zero 
-0174 58000010 setarg 0x10 
-0175 20406414 call twspi_read 
-0176 1fe67ca5 sub pdata ,0xa5 ,null 
-0177 2022817a branch p_mouse_ka8ul_init_param ,zero 
-0178 2040018a call p_mouse_enable_ka8_sensor_wp 
-0179 202040e6 branch mouse_ka8_init_param 
+0139 204040f6 call mouse_sensor_disable_wp 
+013a 58009a5b setarg 0x9a5b 
+013b 20406413 call twspi_write 
+013c 5800000d setarg 0x0d 
+013d 20406414 call twspi_read 
+013e 1fe67c12 sub pdata ,0x12 ,null 
+013f 2022814c branch p_mouse_ka8ul_init_param ,zero 
+0140 1fe67c0a sub pdata ,0x0a ,null 
+0141 2422814f nbranch p_mouse_ka8hd_sensor_judge ,zero 
+0142 5800000e setarg 0x0e 
+0143 20406414 call twspi_read 
+0144 1fe67ce5 sub pdata ,0xe5 ,null 
+0145 24228112 nbranch p_mouse_init_sensor ,zero 
+0146 58000010 setarg 0x10 
+0147 20406414 call twspi_read 
+0148 1fe67ca5 sub pdata ,0xa5 ,null 
+0149 2022814c branch p_mouse_ka8ul_init_param ,zero 
+014a 2040015c call p_mouse_enable_ka8_sensor_wp 
+014b 202040e6 branch mouse_ka8_init_param 
 
 p_mouse_ka8ul_init_param:
-017a 7046e009 jam ka8_ul ,mem_config_sensor_type 
-017b da604b65 arg mem_sensor_ka8ul_init ,regc 
-017c 20200161 branch p_sensor_wr_seq 
+014c 7046e009 jam ka8_ul ,mem_config_sensor_type 
+014d da604b65 arg mem_sensor_ka8ul_init ,regc 
+014e 20200131 branch p_sensor_wr_seq 
 
 p_mouse_ka8hd_sensor_judge:
-017d 1fe67c10 sub pdata ,0x10 ,null 
-017e 24228151 nbranch p_mouse_init_sensor ,zero 
-017f 5800000e setarg 0x0e 
-0180 20406414 call twspi_read 
-0181 1fe67cc5 sub pdata ,0xc5 ,null 
-0182 24228151 nbranch p_mouse_init_sensor ,zero 
-0183 58000010 setarg 0x10 
-0184 20406414 call twspi_read 
-0185 1fe67c38 sub pdata ,0x38 ,null 
-0186 24228151 nbranch p_mouse_init_sensor ,zero 
+014f 1fe67c10 sub pdata ,0x10 ,null 
+0150 24228112 nbranch p_mouse_init_sensor ,zero 
+0151 5800000e setarg 0x0e 
+0152 20406414 call twspi_read 
+0153 1fe67cc5 sub pdata ,0xc5 ,null 
+0154 24228112 nbranch p_mouse_init_sensor ,zero 
+0155 58000010 setarg 0x10 
+0156 20406414 call twspi_read 
+0157 1fe67c38 sub pdata ,0x38 ,null 
+0158 24228112 nbranch p_mouse_init_sensor ,zero 
 
 p_mouse_ka8hd_init_param:
-0187 2040018a call p_mouse_enable_ka8_sensor_wp 
-0188 7046e00a jam ka8_hd ,mem_config_sensor_type 
-0189 20600000 rtn 
+0159 2040015c call p_mouse_enable_ka8_sensor_wp 
+015a 7046e00a jam ka8_hd ,mem_config_sensor_type 
+015b 20600000 rtn 
 
 p_mouse_enable_ka8_sensor_wp:
-018a 5800005b setarg 0x005b 
-018b 20406413 call twspi_write 
-018c 202040f4 branch mouse_sensor_enable_wp 
+015c 5800005b setarg 0x005b 
+015d 20406413 call twspi_write 
+015e 202040f4 branch mouse_sensor_enable_wp 
 
 p_mouse_8009_init_param:
-018d 58000016 setarg 0x16 
-018e 20406414 call twspi_read 
-018f 1fe67cbd sub pdata ,0xbd ,null 
-0190 24228151 nbranch p_mouse_init_sensor ,zero 
-0191 58000019 setarg 0x19 
-0192 20406414 call twspi_read 
-0193 1fe67c55 sub pdata ,0x55 ,null 
-0194 24228151 nbranch p_mouse_init_sensor ,zero 
-0195 5800001b setarg 0x1b 
-0196 20406414 call twspi_read 
-0197 1fe67c1d sub pdata ,0x1d ,null 
-0198 24228151 nbranch p_mouse_init_sensor ,zero 
-0199 7046e008 jam p8009 ,mem_config_sensor_type 
-019a da604b83 arg mem_sensor_8009_init ,regc 
-019b 20200161 branch p_sensor_wr_seq 
+015f 58000016 setarg 0x16 
+0160 20406414 call twspi_read 
+0161 1fe67cbd sub pdata ,0xbd ,null 
+0162 24228112 nbranch p_mouse_init_sensor ,zero 
+0163 58000019 setarg 0x19 
+0164 20406414 call twspi_read 
+0165 1fe67c55 sub pdata ,0x55 ,null 
+0166 24228112 nbranch p_mouse_init_sensor ,zero 
+0167 5800001b setarg 0x1b 
+0168 20406414 call twspi_read 
+0169 1fe67c1d sub pdata ,0x1d ,null 
+016a 24228112 nbranch p_mouse_init_sensor ,zero 
+016b 7046e008 jam p8009 ,mem_config_sensor_type 
+016c da604b83 arg mem_sensor_8009_init ,regc 
+016d 20200131 branch p_sensor_wr_seq 
 
 p_mouse_p3065_init_param:
-019c 204001a1 call p_mouse_sensor_poweron 
-019d 6800c6de fetch 1 ,mem_sensor_id2 
-019e c03840e8 beq p3065_xy_id2 ,mouse_p3065xy_init_param 
-019f 7046e001 jam p3065 ,mem_config_sensor_type 
-01a0 20600000 rtn 
+016e 20400170 call p_mouse_sensor_poweron 
+016f 202040ea branch mouse_p3065_init_param 
 
 p_mouse_sensor_poweron:
-01a1 da604b92 arg mem_sensor_poweron_init ,regc 
-01a2 20400161 call p_sensor_wr_seq 
-01a3 20200145 branch p_mouse_dpi_config 
+0170 da604ba1 arg mem_sensor_poweron_init ,regc 
+0171 20400131 call p_sensor_wr_seq 
+0172 20200109 branch p_mouse_dpi_config 
 
 p_mouse_sensor_powerdown:
-01a4 58000806 setarg 0x0806 
-01a5 20406414 call twspi_read 
-01a6 1fe1fe08 or pdata ,0x08 ,pdata 
-01a7 1fed7e00 lshift8 pdata ,pdata 
-01a8 1fe0fe06 add pdata ,0x06 ,pdata 
-01a9 20206413 branch twspi_write 
+0173 58000806 setarg 0x0806 
+0174 20406414 call twspi_read 
+0175 1fe1fe08 or pdata ,0x08 ,pdata 
+0176 1fed7e00 lshift8 pdata ,pdata 
+0177 1fe0fe06 add pdata ,0x06 ,pdata 
+0178 20206413 branch twspi_write 
 
 p_mouse_setting_config:
-01aa 204003a7 call p_g24_set_device_addr 
-01ab 68108a00 hfetch 1 ,core_usb_config 
-01ac 793ffe04 set0 4 ,pdata 
-01ad 60108a00 hstore 1 ,core_usb_config 
-01ae 20403e6e call mouse_gpio_init 
-01af 20403e1e call mouse_param_init 
-01b0 58000000 setarg 0 
-01b1 60014154 store 2 ,mem_lpm_interval 
-01b2 204001cb call p_mouse_set_gpio_control_sensor 
-01b3 d840001a arg mouse_spi1_sdio_gpio ,temp 
-01b4 204067fb call gpio_config_input 
-01b5 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
-01b6 793f8407 set0 gpio_active_bit ,temp 
-01b7 20406806 call gpio_set_high_impedance 
-01b8 58001802 setarg 0x1802 
-01b9 600140bd store 2 ,mem_fcomp_mul 
-01ba 20403e54 call mouse_adc_init 
-01bb 20405810 call le_set_config_fixed_ltk 
-01bc 20405839 call le_set_justwork 
-01bd 2040582c call le_set_fixed_ltk 
-01be 20405818 call le_set_config_read_authentication 
+0179 204002f1 call p_g24_set_device_addr 
+017a 20403e6e call mouse_gpio_init 
+017b 20403e1e call mouse_param_init 
+017c 58000000 setarg 0 
+017d 60014154 store 2 ,mem_lpm_interval 
+017e 20400191 call p_mouse_set_gpio_control_sensor 
+017f d840001a arg mouse_spi1_sdio_gpio ,temp 
+0180 204067fb call gpio_config_input 
+0181 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+0182 793f8407 set0 gpio_active_bit ,temp 
+0183 20406806 call gpio_set_high_impedance 
+0184 58001802 setarg 0x1802 
+0185 600140bd store 2 ,mem_fcomp_mul 
+0186 20403e54 call mouse_adc_init 
+0187 20405810 call le_set_config_fixed_ltk 
+0188 20405839 call le_set_justwork 
+0189 2040582c call le_set_fixed_ltk 
+018a 20405818 call le_set_config_read_authentication 
 
 p_mouse_init_iic:
-01bf 2040659c call iic_init_390k 
-01c0 204065c2 call clear_eeprom_size_2k 
-01c1 2040443f call mouse_load_eeprom_dpi 
-01c2 20404316 call mouse_eeprom_load_recon_info 
-01c3 6800c720 fetch 1 ,mem_device_flag 
-01c4 1fe67cff sub pdata ,0xff ,null 
-01c5 204281c8 call p_mouse_init_device_flag ,zero 
+018b 2040659c call iic_init_390k 
+018c 204065c2 call clear_eeprom_size_2k 
+018d 2040443f call mouse_load_eeprom_dpi 
+018e 20404316 call mouse_eeprom_load_recon_info 
 
 p_mouse_init_iic_read_24g_addr:
-01c6 20400233 call p_mouse_set_24g_addr_eeprom 
-01c7 202065df branch iicd_read_eep_data 
-
-p_mouse_init_device_flag:
-01c8 70472001 jam 0x01 ,mem_device_flag 
-01c9 70472134 jam 0x34 ,mem_device1_type 
-01ca 20600000 rtn 
+018f 204001f2 call p_mouse_set_24g_addr_eeprom 
+0190 202065df branch iicd_read_eep_data 
 
 p_mouse_set_gpio_control_sensor:
 
 p_mouse_sensor_set_angle:
-01cb 6810807b hfetch 1 ,core_gpio_pu3 
-01cc 793ffe05 set0 5 ,pdata 
-01cd 6010807b hstore 1 ,core_gpio_pu3 
-01ce 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
-01cf 2040680e call gpio_config_output 
-01d0 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
-01d1 20406829 call gpio_out_active 
-01d2 d840001a arg mouse_spi1_sdio_gpio ,temp 
-01d3 20400300 call p_gpio_set_input_pu 
-01d4 d840001a arg mouse_spi1_sdio_gpio ,temp 
-01d5 2040681d call gpio_get_bit 
-01d6 7046f602 jam mouse_12clk_angle ,mem_config_sensor_angle 
-01d7 20608000 rtn true 
-01d8 7046f601 jam mouse_9clk_angle ,mem_config_sensor_angle 
-01d9 20600000 rtn 
+0191 6810807b hfetch 1 ,core_gpio_pu3 
+0192 793ffe05 set0 5 ,pdata 
+0193 6010807b hstore 1 ,core_gpio_pu3 
+0194 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+0195 2040680e call gpio_config_output 
+0196 6808c6f7 fetcht 1 ,mem_select_sensor_angle_gpio 
+0197 20406829 call gpio_out_active 
+0198 d840001a arg mouse_spi1_sdio_gpio ,temp 
+0199 2040027a call p_gpio_set_input_pu 
+019a d840001a arg mouse_spi1_sdio_gpio ,temp 
+019b 2040681d call gpio_get_bit 
+019c 7046f602 jam mouse_12clk_angle ,mem_config_sensor_angle 
+019d 20608000 rtn true 
+019e 7046f601 jam mouse_9clk_angle ,mem_config_sensor_angle 
+019f 20600000 rtn 
 
 p_mouse_24g_transmit_by_interrupt_exit_count_max:
-01da 58000177 setarg 375 
-01db 60014d6c store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-01dc 20600000 rtn 
+01a0 58000177 setarg 375 
+01a1 60014d80 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+01a2 20600000 rtn 
 
 p_mouse_wakeup_from_power:
-01dd 58000019 setarg 25 
-01de 60014d6c store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
-01df 245581da ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
+01a3 58000019 setarg 25 
+01a4 60014d80 store 2 ,mem_24g_transmit_by_interrupt_exit_count_init 
+01a5 245581a0 ncall p_mouse_24g_transmit_by_interrupt_exit_count_max ,wake 
 
 p_mouse_wakeup_no_from_power:
-01e0 6800c71f fetch 1 ,mem_reconn_times_init 
-01e1 6000c71e store 1 ,mem_reconn_times 
+01a6 6800c71f fetch 1 ,mem_reconn_times_init 
+01a7 6000c71e store 1 ,mem_reconn_times 
 
 p_mouse_start_24g_mode:
-01e2 6800cb18 fetch 1 ,mem_power_on_flag 
-01e3 c28104eb bbit1 2 ,p_g24_start_24g_mode 
-01e4 20400157 call p_mouse_init_sensor_reset 
-01e5 2040014a call p_mouse_dpi_config_default 
-01e6 704b4a14 jam 20 ,mem_mouse_sensor_powerdown_timer 
-01e7 5800ffff setarg 0xffff 
-01e8 60014c51 store 2 ,mem_24g_addr 
-01e9 e0a10000 istore 2 ,contw 
-01ea 20400233 call p_mouse_set_24g_addr_eeprom 
-01eb 204065d1 call iicd_write_protect_eep_data 
-01ec 202004fd branch p_g24_auto_pair_start 
+01a8 6800cb19 fetch 1 ,mem_power_on_flag 
+01a9 c2810436 bbit1 2 ,p_g24_start_24g_mode 
+01aa 20400122 call p_mouse_init_sensor_reset 
+01ab 2040010b call p_mouse_dpi_config_default 
+01ac 704b4914 jam 20 ,mem_mouse_sensor_powerdown_timer 
+01ad 5800ffff setarg 0xffff 
+01ae 60014c65 store 2 ,mem_24g_addr 
+01af e0a10000 istore 2 ,contw 
+01b0 20200448 branch p_g24_auto_pair_start 
 
 p_g24_factory_check:
-01ed df200002 arg 2 ,loopcnt 
-01ee d8c04c51 arg mem_24g_addr ,contr 
+01b1 df200002 arg 2 ,loopcnt 
+01b2 d8c04c65 arg mem_24g_addr ,contr 
 
 p_pdata_0xff_check:
-01ef 20407fe7 call enable_user 
-01f0 5800ffff setarg 0xffff 
+01b3 20407fe7 call enable_user 
+01b4 5800ffff setarg 0xffff 
 
 p_pdata_0xff_check_loop:
-01f1 e8c90000 ifetcht 2 ,contr 
-01f2 98467c00 isub temp ,null 
-01f3 2442ffe9 ncall disable_user ,zero 
-01f4 c20001f1 loop p_pdata_0xff_check_loop 
-01f5 20600000 rtn 
+01b5 e8c90000 ifetcht 2 ,contr 
+01b6 98467c00 isub temp ,null 
+01b7 2442ffe9 ncall disable_user ,zero 
+01b8 c20001b5 loop p_pdata_0xff_check_loop 
+01b9 20600000 rtn 
 
 p_mouse_cb_fuction:
-01f6 58000205 setarg p_mouse_g24_package_data 
-01f7 60014d5a store 2 ,mem_cb_24g_data 
-01f8 580000fd setarg p_mouse_before_lpm 
-01f9 600141ed store 2 ,mem_cb_before_lpm 
-01fa 5800021e setarg p_mouse_priority_bb_event 
-01fb 600141f5 store 2 ,mem_cb_bb_event_process 
-01fc 5800020c setarg p_mouse_idle 
-01fd 600141f3 store 2 ,mem_cb_idle_process 
-01fe 58000250 setarg p_mouse_before_hibernate 
-01ff 600141eb store 2 ,mem_cb_before_hibernate 
-0200 5800026c setarg p_mouse_bb_event_timer 
-0201 600141fd store 2 ,mem_cb_event_timer 
-0202 58003d36 setarg mouse_spi_write_flash_cb 
-0203 60014201 store 2 ,mem_cb_spi_flash_write_complate 
-0204 20600000 rtn 
+01ba 580001c7 setarg p_mouse_g24_package_data 
+01bb 60014d6e store 2 ,mem_cb_24g_data 
+01bc 580000e1 setarg p_mouse_before_lpm 
+01bd 600141ed store 2 ,mem_cb_before_lpm 
+01be 580001e3 setarg p_mouse_priority_bb_event 
+01bf 600141f5 store 2 ,mem_cb_bb_event_process 
+01c0 580001ce setarg p_mouse_idle 
+01c1 600141f3 store 2 ,mem_cb_idle_process 
+01c2 58000204 setarg p_mouse_before_hibernate 
+01c3 600141eb store 2 ,mem_cb_before_hibernate 
+01c4 5800021f setarg p_mouse_bb_event_timer 
+01c5 600141fd store 2 ,mem_cb_event_timer 
+01c6 20600000 rtn 
 
 p_mouse_g24_package_data:
-0205 20404401 call mouse_g24_package_data 
-0206 6801469f fetch 2 ,mem_mouse_z 
-0207 207a0000 rtn blank 
-0208 202000a6 branch p_g24_transmit_by_interrupt_enable 
-
-p_mouse_clear_sensor_data:
-0209 20405814 call le_set_config_more_data 
-020a 7047a201 jam 1 ,mem_mouse_clear_sensor_data_flag 
-020b 20200157 branch p_mouse_init_sensor_reset 
+01c7 20404401 call mouse_g24_package_data 
+01c8 6801469f fetch 2 ,mem_mouse_z 
+01c9 207a0000 rtn blank 
+
+p_g24_transmit_by_interrupt_enable:
+01ca 704d7d01 jam g24_tx_timer_int_enable ,mem_24g_transmit_by_interrupt 
+01cb 58000000 setarg 0 
+01cc 60014d7e store 2 ,mem_24g_transmit_by_interrupt_exit_count 
+01cd 20600000 rtn 
 
 p_mouse_idle:
-020c 20407e34 call ui_check_paring_button 
-020d 20203ee0 branch mouse_wheel_check 
+01ce 20407e34 call ui_check_paring_button 
+01cf 204001d1 call p_mouse_dpi_check 
+01d0 20203ee0 branch mouse_wheel_check 
 
 p_mouse_dpi_check:
-020e 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-020f 204002f7 call p_gpio_set_input_pd 
-0210 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-0211 2040681d call gpio_get_bit 
-0212 2020821c branch p_mouse_dpi_up ,true 
-0213 20400300 call p_gpio_set_input_pu 
+01d1 704bb105 jam 0x05 ,mem_mouse_key_temp 
+01d2 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+01d3 6800cbb0 fetch 1 ,mem_mouse_dpikey_press_status 
+01d4 2040024c call p_mouse_check_key 
+01d5 6000cbb0 store 1 ,mem_mouse_dpikey_press_status 
+01d6 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
+01d7 2040027a call p_gpio_set_input_pu 
+01d8 1a227e00 copy rega ,pdata 
+01d9 c28281db bbit1 5 ,p_mouse_dpi_down 
+01da 20203d62 branch mouse_dpi_up 
 
 p_mouse_dpi_down:
-0214 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
-0215 c1000000 rtneq dpi_button_state_down 
-0216 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
-0217 6800c77a fetch 1 ,mem_mouse_dpi 
-0218 1fe0fe01 increase 1 ,pdata 
-0219 1fe17e03 and pdata ,0x03 ,pdata 
-021a 6000c77a store 1 ,mem_mouse_dpi 
-021b 20203d74 branch mouse_dpi_down + 7 
-
-p_mouse_dpi_up:
-021c 20400300 call p_gpio_set_input_pu 
-021d 20203d62 branch mouse_dpi_up 
+01db 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
+01dc c1000000 rtneq dpi_button_state_down 
+01dd 7046b600 jam dpi_button_state_down ,mem_mouse_dpi_button_state 
+01de 6800c77a fetch 1 ,mem_mouse_dpi 
+01df 1fe0fe01 increase 1 ,pdata 
+01e0 1fe17e03 and pdata ,0x03 ,pdata 
+01e1 6000c77a store 1 ,mem_mouse_dpi 
+01e2 20203d74 branch mouse_dpi_down + 7 
 
 p_mouse_priority_bb_event:
-021e 1a627e00 copy regc ,pdata 
-021f c01c8223 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
-0220 c01d023a beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-0221 c01e024a beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-0222 2020417d branch mouse_priority_bb_event + 1 
+01e3 1a627e00 copy regc ,pdata 
+01e4 c01c81e8 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+01e5 c01e01fe beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+01e6 c01d01f9 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+01e7 2020417d branch mouse_priority_bb_event + 1 
 
 p_mouse_24g_pairing_complete:
-0223 704b4a00 jam 0 ,mem_mouse_sensor_powerdown_timer 
-0224 20400505 call p_g24_auto_pair_timeout_clear 
-0225 20400157 call p_mouse_init_sensor_reset 
-0226 70478b01 jam 1 ,mem_mouse_24g_enter_lpm_enable 
-0227 d8e00003 arg mosue_24g_pairing_flag ,queue 
-0228 204043d2 call mouse_disable_function_flag 
-0229 58000000 setarg 0 
-022a 60014707 store 2 ,mem_24g_pairing_timer_count 
-022b 7046a700 jam 0 ,mem_mouse_move_flag 
-022c 6800c6e0 fetch 1 ,mem_config_sensor_type 
-022d 1fe67c05 sub pdata ,p3610 ,null 
-022e 2042c039 call mouse_read_sensor3610_data ,zero 
-022f 2442c05d ncall mouse_read_sensor_common ,zero 
-0230 20400237 call p_mouse_tx_power_init 
-0231 20400233 call p_mouse_set_24g_addr_eeprom 
-0232 202065d1 branch iicd_write_protect_eep_data 
+01e8 704b4900 jam 0 ,mem_mouse_sensor_powerdown_timer 
+01e9 20400450 call p_g24_auto_pair_timeout_clear 
+01ea 20400122 call p_mouse_init_sensor_reset 
+01eb d8e00003 arg mosue_24g_pairing_flag ,queue 
+01ec 204043d2 call mouse_disable_function_flag 
+01ed 7046a700 jam 0 ,mem_mouse_move_flag 
+01ee 2040405d call mouse_read_sensor_common 
+01ef 204001f6 call p_mouse_tx_power_init 
+01f0 204001f2 call p_mouse_set_24g_addr_eeprom 
+01f1 202065d1 branch iicd_write_protect_eep_data 
 
 p_mouse_set_24g_addr_eeprom:
-0233 da204c51 arg mem_24g_addr ,rega 
-0234 da40005b arg mouse_g24_addr_eeprom_offect ,regb 
-0235 d8400004 arg 4 ,temp 
-0236 20600000 rtn 
+01f2 da204c65 arg mem_24g_addr ,rega 
+01f3 da40005b arg mouse_g24_addr_eeprom_offect ,regb 
+01f4 d8400004 arg 4 ,temp 
+01f5 20600000 rtn 
 
 p_mouse_tx_power_init:
-0237 6800cce0 fetch 1 ,mem_tx_power_temp 
-0238 6000c1de store 1 ,mem_tx_power 
-0239 20600000 rtn 
+01f6 6800ccf4 fetch 1 ,mem_tx_power_temp 
+01f7 6000c1de store 1 ,mem_tx_power 
+01f8 20600000 rtn 
 
 p_mouse_24g_attempt_fail:
-023a 20400268 call p_mouse_sensor_powerdown_check 
-023b 704d6900 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
-023c 20400237 call p_mouse_tx_power_init 
-023d 20400528 call p_g24_check_51cmd_stop_24g 
-023e 6800c87f fetch 1 ,mem_mouse_mode_config 
-023f c280340a bbit1 mouse_24g_only ,app_enter_hibernate 
-0240 7041bd00 jam 0 ,mem_link_key_exists 
-0241 20404316 call mouse_eeprom_load_recon_info 
-0242 df200003 arg 3 ,loopcnt 
-0243 d8c04722 arg mem_device1_addr ,contr 
-0244 204001ef call p_pdata_0xff_check 
-0245 20340247 branch p_mouse_null_enter_hibernate_enable ,user 
-0246 20200125 branch p_mouse_check_reconn_target 
-
-p_mouse_null_enter_hibernate_enable:
-0247 7047a301 jam 1 ,mem_mouse_null_enter_hibernate_flag 
-0248 7047a428 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-0249 20600000 rtn 
+01f9 2040021b call p_mouse_sensor_powerdown_check 
+01fa 704d7d00 jam g24_tx_timer_int_disable ,mem_24g_transmit_by_interrupt 
+01fb 204001f6 call p_mouse_tx_power_init 
+01fc 2040046d call p_g24_check_51cmd_stop_24g 
+01fd 2020340a branch app_enter_hibernate 
 
 p_mouse_24g_attempt_success:
-024a 704b4a00 jam 0 ,mem_mouse_sensor_powerdown_timer 
-024b 20400505 call p_g24_auto_pair_timeout_clear 
-024c 20400157 call p_mouse_init_sensor_reset 
-024d 20403f8d call mouse_no_data_timer_init 
-024e 20400233 call p_mouse_set_24g_addr_eeprom 
-024f 202065d1 branch iicd_write_protect_eep_data 
+01fe 704b4900 jam 0 ,mem_mouse_sensor_powerdown_timer 
+01ff 20400450 call p_g24_auto_pair_timeout_clear 
+0200 20400122 call p_mouse_init_sensor_reset 
+0201 20403f8d call mouse_no_data_timer_init 
+0202 204001f2 call p_mouse_set_24g_addr_eeprom 
+0203 202065d1 branch iicd_write_protect_eep_data 
 
 p_mouse_before_hibernate:
-0250 78347c00 enable user 
-0251 68120138 hfetch 4 ,0x8138 
-0252 79347e1a setflag user ,26 ,pdata 
-0253 6012004c hstore 4 ,core_lpm_reg 
-0254 20402c21 call lpm_write_ctrl 
-0255 20400268 call p_mouse_sensor_powerdown_check 
-0256 204074bd call disable_authrom 
-0257 20404482 call mouse_devce_led_off 
-0258 20403e9f call mouse_before_hibernate_wheel_gpio_set 
-0259 20400108 call p_mouse_setgpio_lpm_before 
-025a 6808cb4b fetcht 1 ,mem_mouse_common_gpio 
-025b 2040680e call gpio_config_output 
-025c 6808cb4b fetcht 1 ,mem_mouse_common_gpio 
-025d 20406829 call gpio_out_active 
-025e 6808cb4b fetcht 1 ,mem_mouse_common_gpio 
-025f 793f8407 set0 gpio_active_bit ,temp 
-0260 d8a08078 arg core_gpio_pu0 ,contw 
-0261 20206830 branch gpio_set_bit 
+0204 68120138 hfetch 4 ,core_lpm_ctrl 
+0205 79207e1a set1 26 ,pdata 
+0206 6012004c hstore 4 ,core_lpm_reg 
+0207 20402c21 call lpm_write_ctrl 
+0208 2040021b call p_mouse_sensor_powerdown_check 
+0209 204074bd call disable_authrom 
+020a 20404482 call mouse_devce_led_off 
+020b 20403e9f call mouse_before_hibernate_wheel_gpio_set 
+020c 204000ec call p_mouse_setgpio_lpm_before 
+020d 6808cb4a fetcht 1 ,mem_mouse_common_gpio 
+020e 2040680e call gpio_config_output 
+020f 6808cb4a fetcht 1 ,mem_mouse_common_gpio 
+0210 20406829 call gpio_out_active 
+0211 6808cb4a fetcht 1 ,mem_mouse_common_gpio 
+0212 793f8407 set0 gpio_active_bit ,temp 
+0213 d8a08078 arg core_gpio_pu0 ,contw 
+0214 20206830 branch gpio_set_bit 
 
 p_ice_gpio_set_input_pu:
-0262 d840001d arg 29 ,temp 
-0263 204067fb call gpio_config_input 
-0264 d840001d arg 29 ,temp 
-0265 79200407 set1 gpio_active_bit ,temp 
-0266 d8a08078 arg core_gpio_pu0 ,contw 
-0267 20206830 branch gpio_set_bit 
+0215 d840001d arg 29 ,temp 
+0216 204067fb call gpio_config_input 
+0217 d840001d arg 29 ,temp 
+0218 79200407 set1 gpio_active_bit ,temp 
+0219 d8a08078 arg core_gpio_pu0 ,contw 
+021a 20206830 branch gpio_set_bit 
 
 p_mouse_sensor_powerdown_check:
-0268 6800cb09 fetch 1 ,mem_mouse_init_sensor_reset_flag 
-0269 207a0000 rtn blank 
-026a 704b0900 jam 0 ,mem_mouse_init_sensor_reset_flag 
-026b 202001a4 branch p_mouse_sensor_powerdown 
+021b 6800cb0a fetch 1 ,mem_mouse_init_sensor_reset_flag 
+021c 207a0000 rtn blank 
+021d 704b0a00 jam 0 ,mem_mouse_init_sensor_reset_flag 
+021e 20200173 branch p_mouse_sensor_powerdown 
 
 p_mouse_bb_event_timer:
-026c 20400284 call p_mouse_24g_long_sleep_param_update_timer 
-026d 2040027f call p_mouse_wheel_trigger_timer 
-026e 204002af call p_mouse_null_enter_hibernate_timer 
-026f 2040020e call p_mouse_dpi_check 
-0270 2040423a call mouse_check_no_data_timeout_timer 
-0271 20400274 call p_mouse_sensor_powerdown_timer 
-0272 20400277 call p_g24_search_dongle_delay_timer 
-0273 2020027a branch p_mouse_g24_pair_timeout_timer 
+021f 2040022b call p_mouse_24g_long_sleep_param_update_timer 
+0220 2040423a call mouse_check_no_data_timeout_timer 
+0221 20400223 call p_mouse_sensor_powerdown_timer 
+0222 20200226 branch p_mouse_g24_pair_timeout_timer 
 
 p_mouse_sensor_powerdown_timer:
-0274 da604b4a arg mem_mouse_sensor_powerdown_timer ,regc 
-0275 da4001a4 arg p_mouse_sensor_powerdown ,regb 
-0276 2020336d branch timer_single_step 
-
-p_g24_search_dongle_delay_timer:
-0277 da604b48 arg mem_g24_search_dongle_delay_count ,regc 
-0278 da400000 arg 0 ,regb 
-0279 2020336d branch timer_single_step 
+0223 da604b49 arg mem_mouse_sensor_powerdown_timer ,regc 
+0224 da400173 arg p_mouse_sensor_powerdown ,regb 
+0225 2020336d branch timer_single_step 
 
 p_mouse_g24_pair_timeout_timer:
-027a da604b43 arg mem_g24_stop_g24_mode_timeout ,regc 
-027b da40027d arg p_mouse_g24_pair_timeout ,regb 
-027c 20203374 branch timer_single_step_2b 
+0226 da604b43 arg mem_g24_stop_g24_mode_timeout ,regc 
+0227 da400229 arg p_mouse_g24_pair_timeout ,regb 
+0228 20203374 branch timer_single_step_2b 
 
 p_mouse_g24_pair_timeout:
-027d 704b4201 jam 1 ,mem_g24_stop_g24_mode 
-027e 20600000 rtn 
-
-p_mouse_wheel_trigger_timer:
-027f da60480d arg mem_mouse_wheel_trigger_timer ,regc 
-0280 da400282 arg p_mouse_wheel_trigger_disable ,regb 
-0281 2020336d branch timer_single_step 
-
-p_mouse_wheel_trigger_disable:
-0282 70480c00 jam 0 ,mem_mouse_wheel_trigger 
-0283 20600000 rtn 
+0229 704b4201 jam 1 ,mem_g24_stop_g24_mode 
+022a 20600000 rtn 
 
 p_mouse_24g_long_sleep_param_update_timer:
-0284 da604810 arg mem_24g_long_sleep_param_update_timer ,regc 
-0285 da400287 arg p_mouse_24g_long_sleep_normal_param ,regb 
-0286 2020336d branch timer_single_step 
+022b da604810 arg mem_24g_long_sleep_param_update_timer ,regc 
+022c da40022e arg p_mouse_24g_long_sleep_normal_param ,regb 
+022d 20203374 branch timer_single_step_2b 
 
 p_mouse_24g_long_sleep_normal_param:
-0287 58124f80 setarg g24_long_sleep_step3 
-0288 6001cc58 store 3 ,mem_24g_enter_hibernate 
-0289 70480e01 jam 1 ,mem_mouse_long_mult_flag 
-028a 20600000 rtn 
-
-p_mouse_le_current_mult_update_timer:
-028b da60480f arg mem_mouse_le_current_mult_timer ,regc 
-028c da40028e arg p_mouse_le_current_mult_reinit ,regb 
-028d 2020336d branch timer_single_step 
-
-p_mouse_le_current_mult_reinit:
-028e 6800c7cb fetch 1 ,mem_lpm_mult_init 
-028f 6000c172 store 1 ,mem_lpm_mult 
-0290 70480e01 jam 1 ,mem_mouse_long_mult_flag 
-0291 20600000 rtn 
-
-p_mouse_le_enable_att_list_timer:
-0292 da6046c6 arg mem_le_start_encrypt_timer ,regc 
-0293 da403d60 arg mouse_le_write_enable ,regb 
-0294 2020336d branch timer_single_step 
-
-p_mouse_bt_discovery_check:
-0295 6800c6f5 fetch 1 ,mem_config_function_enable 
-0296 c2824394 bbit1 enable_bt_button ,mouse_bt_discovery_by_button 
-
-p_mouse_bt_discovery_commbination_key_up:
-0297 6800c685 fetch 1 ,mem_ui_button_timeout 
-0298 6000c6da store 1 ,mem_combination_ui_button_count 
-0299 6800c6db fetch 1 ,mem_bt_discovey_button_statue 
-029a c1008000 rtneq dpi_button_state_up 
-029b 7046db01 jam dpi_button_state_up ,mem_bt_discovey_button_statue 
-029c d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
-029d 204043d2 call mouse_disable_function_flag 
-029e 202043ca branch mouse_bt_discovery_button_down_disable 
-
-p_mouse_bt_discovery_commbination_key_down:
-029f 7047a428 jam 40 ,mem_mouse_null_enter_hibernate_timer 
-02a0 204002a2 call p_mouse_bt_discovery_timer 
-02a1 202043b0 branch mouse_bt_discovery_commbination_key_down + 1 
-
-p_mouse_bt_discovery_timer:
-02a2 da6046da arg mem_combination_ui_button_count ,regc 
-02a3 da4002a5 arg p_mouse_long_button_bt_discovery ,regb 
-02a4 2020336d branch timer_single_step 
-
-p_mouse_long_button_bt_discovery:
-02a5 20400268 call p_mouse_sensor_powerdown_check 
-02a6 68014682 fetch 2 ,mem_ui_state_map 
-02a7 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-02a8 2040c2d4 call mouse_stop_le_adv ,true 
-02a9 68014682 fetch 2 ,mem_ui_state_map 
-02aa 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-02ab 2040c392 call mouse_cancel_reconnect ,true 
-02ac d8e00009 arg mouse_bt_discovery_button_long_down_flag ,queue 
-02ad 204043ce call mouse_enable_function_flag 
-02ae 202043b8 branch mouse_long_button_bt_discovry 
-
-p_mouse_null_enter_hibernate_timer:
-02af 6800c7a3 fetch 1 ,mem_mouse_null_enter_hibernate_flag 
-02b0 207a0000 rtn blank 
-02b1 6800c7a4 fetch 1 ,mem_mouse_null_enter_hibernate_timer 
-02b2 203a02b6 branch p_mouse_null_enter_hibernate ,blank 
-02b3 1fe0ffff increase -1 ,pdata 
-02b4 6000c7a4 store 1 ,mem_mouse_null_enter_hibernate_timer 
-02b5 20600000 rtn 
-
-p_mouse_null_enter_hibernate:
-02b6 7047a300 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-02b7 2020340a branch app_enter_hibernate 
+022e 58124f80 setarg g24_long_sleep_step3 
+022f 6001cc6c store 3 ,mem_24g_enter_hibernate 
+0230 70480e01 jam 1 ,mem_mouse_long_mult_flag 
+0231 20600000 rtn 
 
 p_mouse_motion:
-02b8 78547c00 disable user 
-02b9 58000000 setarg 0 
-02ba 6003469b store 6 ,mem_mouse_x 
-02bb 20400305 call p_mouse_cheak_sensor_data 
-02bc 20404079 call mouse_zwheel 
-02bd 2040407e call mouse_t_zwheel 
-02be 204002cc call p_mouse_key 
-02bf 243402c3 nbranch p_mouse_motion_nodata ,user 
-02c0 20400653 call p_drawing_optima 
-02c1 204002c6 call p_mouse_nodata_timer_update 
-02c2 20203fa1 branch mouse_motion + 10 
+0232 78547c00 disable user 
+0233 58000000 setarg 0 
+0234 6003469b store 6 ,mem_mouse_x 
+0235 2040028b call p_mouse_cheak_sensor_data 
+0236 20404079 call mouse_zwheel 
+0237 2040407e call mouse_t_zwheel 
+0238 20400246 call p_mouse_key 
+0239 2434023d nbranch p_mouse_motion_nodata ,user 
+023a 20400564 call p_drawing_optima 
+023b 20400240 call p_mouse_nodata_timer_update 
+023c 20203fa1 branch mouse_motion + 10 
 
 p_mouse_motion_nodata:
-02c3 2040065f call p_drawing_optima_init 
-02c4 704b4700 jam 0 ,mem_mouse_nodata_check_count 
-02c5 20600000 rtn 
+023d 20400570 call p_drawing_optima_init 
+023e 704b4800 jam 0 ,mem_mouse_nodata_check_count 
+023f 20600000 rtn 
 
 p_mouse_nodata_timer_update:
-02c6 6800cb47 fetch 1 ,mem_mouse_nodata_check_count 
-02c7 1fe0fe01 increase 1 ,pdata 
-02c8 6000cb47 store 1 ,mem_mouse_nodata_check_count 
-02c9 1fe67c0a sub pdata ,nodata_check_count ,null 
-02ca 20610000 rtn positive 
-02cb 20203f8d branch mouse_no_data_timer_init 
+0240 6800cb48 fetch 1 ,mem_mouse_nodata_check_count 
+0241 1fe0fe01 increase 1 ,pdata 
+0242 6000cb48 store 1 ,mem_mouse_nodata_check_count 
+0243 1fe67c0a sub pdata ,nodata_check_count ,null 
+0244 20610000 rtn positive 
+0245 20203f8d branch mouse_no_data_timer_init 
 
 p_mouse_key:
-02cc 204002ce call p_mouse_check_key_gpio 
-02cd 2020409a branch mouse_key + 1 
+0246 20400248 call p_mouse_check_key_gpio 
+0247 2020409a branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-02ce da200000 arg 0 ,rega 
-02cf 204002d9 call p_mouse_check_lkey_gpio 
-02d0 204002df call p_mouse_check_rkey_gpio 
-02d1 204002e5 call p_mouse_check_mkey_gpio 
-02d2 204002d5 call p_mouse_check_skey_gpio 
-02d3 1a227e00 copy rega ,pdata 
-02d4 20600000 rtn 
-
-p_mouse_check_skey_gpio:
-02d5 6800c6e5 fetch 1 ,mem_bk_button_gpio 
-02d6 c17f8000 rtneq gpio_disable 
-02d7 204002eb call p_mouse_check_bk_key_gpio 
-02d8 202002f1 branch p_mouse_check_fw_key_gpio 
+0248 6800c69a fetch 1 ,mem_mouse_key 
+0249 1fe22200 copy pdata ,rega 
+024a 2040025e call p_mouse_check_lkey_gpio 
+024b 2020408e branch mouse_check_key_gpio + 11 
+
+p_mouse_check_key:
+024c 6000cbb2 store 1 ,mem_mouse_key_status 
+024d 1fe3fe00 lshift pdata ,pdata 
+024e 1fe22400 copy pdata ,regb 
+024f 18422600 copy temp ,regc 
+0250 6800cbb1 fetch 1 ,mem_mouse_key_temp 
+0251 1fe67c02 sub pdata ,0x02 ,null 
+0252 2041027a call p_gpio_set_input_pu ,positive 
+0253 24410285 ncall p_gpio_set_input_pd ,positive 
+0254 1a620400 copy regc ,temp 
+0255 2040681d call gpio_get_bit 
+0256 7920a400 setflag true ,0 ,regb 
+0257 1a417e07 and regb ,0x07 ,pdata 
+0258 6808cbb1 fetcht 1 ,mem_mouse_key_temp 
+0259 18420e00 copy temp ,queue 
+025a 18467c02 sub temp ,0x02 ,null 
+025b c003827f beq 0x07 ,p_mouse_key_press 
+025c c0000282 beq 0x00 ,p_mouse_key_release 
+025d 20600000 rtn 
 
 p_mouse_check_lkey_gpio:
-02d9 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-02da 20400300 call p_gpio_set_input_pu 
-02db 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-02dc 2040681d call gpio_get_bit 
-02dd 7920a200 setflag true ,0 ,rega 
-02de 20600000 rtn 
+025e 704bb100 jam 0x00 ,mem_mouse_key_temp 
+025f 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+0260 6800cbab fetch 1 ,mem_mouse_lkey_press_status 
+0261 2040024c call p_mouse_check_key 
+0262 6000cbab store 1 ,mem_mouse_lkey_press_status 
 
 p_mouse_check_rkey_gpio:
-02df 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-02e0 20400300 call p_gpio_set_input_pu 
-02e1 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-02e2 2040681d call gpio_get_bit 
-02e3 7920a201 setflag true ,1 ,rega 
-02e4 20600000 rtn 
+0263 704bb101 jam 0x01 ,mem_mouse_key_temp 
+0264 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+0265 6800cbac fetch 1 ,mem_mouse_rkey_press_status 
+0266 2040024c call p_mouse_check_key 
+0267 6000cbac store 1 ,mem_mouse_rkey_press_status 
 
 p_mouse_check_mkey_gpio:
-02e5 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-02e6 20400300 call p_gpio_set_input_pu 
-02e7 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-02e8 2040681d call gpio_get_bit 
-02e9 7920a202 setflag true ,2 ,rega 
-02ea 20600000 rtn 
-
-p_mouse_check_bk_key_gpio:
-02eb 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
-02ec 204002f7 call p_gpio_set_input_pd 
-02ed 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
-02ee 2040681d call gpio_get_bit 
-02ef 7d20a203 nsetflag true ,3 ,rega 
-02f0 20200300 branch p_gpio_set_input_pu 
-
-p_mouse_check_fw_key_gpio:
-02f1 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
-02f2 204002f7 call p_gpio_set_input_pd 
-02f3 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
-02f4 2040681d call gpio_get_bit 
-02f5 7d20a204 nsetflag true ,4 ,rega 
-02f6 20200300 branch p_gpio_set_input_pu 
-
-p_gpio_set_input_pd:
-02f7 793f8407 set0 gpio_active_bit ,temp 
-02f8 d8a08078 arg core_gpio_pu0 ,contw 
-02f9 20406830 call gpio_set_bit 
-02fa 79200407 set1 gpio_active_bit ,temp 
-02fb d8a0807c arg core_gpio_pd0 ,contw 
-02fc 20406830 call gpio_set_bit 
-02fd 793f8407 set0 gpio_active_bit ,temp 
-02fe d8a08070 arg core_gpio_oe0 ,contw 
-02ff 20206830 branch gpio_set_bit 
+0268 704bb102 jam 0x02 ,mem_mouse_key_temp 
+0269 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+026a 6800cbad fetch 1 ,mem_mouse_mkey_press_status 
+026b 2040024c call p_mouse_check_key 
+026c 6000cbad store 1 ,mem_mouse_mkey_press_status 
+
+p_mouse_check_bkkey_gpio:
+026d 704bb103 jam 0x03 ,mem_mouse_key_temp 
+026e 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+026f 6800cbae fetch 1 ,mem_mouse_bkkey_press_status 
+0270 2040024c call p_mouse_check_key 
+0271 6000cbae store 1 ,mem_mouse_bkkey_press_status 
+0272 6808c6e5 fetcht 1 ,mem_bk_button_gpio 
+0273 2040027a call p_gpio_set_input_pu 
+
+p_mouse_check_fwkey_gpio:
+0274 704bb104 jam 0x04 ,mem_mouse_key_temp 
+0275 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
+0276 6800cbaf fetch 1 ,mem_mouse_fwkey_press_status 
+0277 2040024c call p_mouse_check_key 
+0278 6000cbaf store 1 ,mem_mouse_fwkey_press_status 
+0279 6808c6e6 fetcht 1 ,mem_fw_button_gpio 
 
 p_gpio_set_input_pu:
-0300 79200407 set1 gpio_active_bit ,temp 
-0301 d8a08078 arg core_gpio_pu0 ,contw 
-0302 20406830 call gpio_set_bit 
-0303 793f8407 set0 gpio_active_bit ,temp 
-0304 202002fb branch p_gpio_set_input_pd + 4 
+027a 79200407 set1 gpio_active_bit ,temp 
+027b d8a08078 arg core_gpio_pu0 ,contw 
+027c 20406830 call gpio_set_bit 
+027d 793f8407 set0 gpio_active_bit ,temp 
+027e 20200289 branch p_gpio_set_input_pd4 
+
+p_mouse_key_press:
+027f 20210283 branch p_qset1_rega ,positive 
+
+p_qset0_rega:
+0280 f93fa200 qset0 rega 
+0281 20600000 rtn 
+
+p_mouse_key_release:
+0282 20210280 branch p_qset0_rega ,positive 
+
+p_qset1_rega:
+0283 f9202200 qset1 rega 
+0284 20600000 rtn 
+
+p_gpio_set_input_pd:
+0285 793f8407 set0 gpio_active_bit ,temp 
+0286 d8a08078 arg core_gpio_pu0 ,contw 
+0287 20406830 call gpio_set_bit 
+0288 79200407 set1 gpio_active_bit ,temp 
+
+p_gpio_set_input_pd4:
+0289 d8a0807c arg core_gpio_pd0 ,contw 
+028a 2020680a branch gpio_set_high_impedance + 4 
 
 p_mouse_cheak_sensor_data:
-0305 6800c6e0 fetch 1 ,mem_config_sensor_type 
-0306 c0020316 beq p3212 ,p_mouse_p3212_sensor_motion 
-0307 c004030b beq p8009 ,p_mouse_p8009_sensor_motion 
+028b 6800c6e0 fetch 1 ,mem_config_sensor_type 
+028c c002029d beq p3212 ,p_mouse_p3212_sensor_motion 
+028d c0040292 beq p8009 ,p_mouse_p8009_sensor_motion 
+028e c005bfcb beq ka5857 ,mouse_p3212_sensor_motion_1 + 3 
 
 p_mouse_p32xx_sensor_motion:
-0308 20403fc0 call mouse_clear_sensor_data 
-0309 78547c00 disable user 
-030a 20203fe7 branch mouse_p32xx_sensor_motion_2 
+028f 20403fc0 call mouse_clear_sensor_data 
+0290 78547c00 disable user 
+0291 20203fe7 branch mouse_p32xx_sensor_motion_2 
 
 p_mouse_p8009_sensor_motion:
-030b 20403fc0 call mouse_clear_sensor_data 
-030c 78547c00 disable user 
+0292 20403fc0 call mouse_clear_sensor_data 
+0293 78547c00 disable user 
 
 p_mouse_p32xx_sensor_motion_1:
-030d 58000002 setarg pan_reg_motion_staus 
-030e 20406414 call twspi_read 
-030f c4038000 rtnbit0 7 
-0310 58000008 setarg pan_reg_opration_state 
-0311 20406414 call twspi_read 
-0312 203a3fed branch mouse_p32xx_sensor_motion_1 + 3 ,blank 
-0313 58000000 setarg 0 
-0314 6003469b store 6 ,mem_mouse_x 
-0315 20600000 rtn 
+0294 58000002 setarg pan_reg_motion_staus 
+0295 20406414 call twspi_read 
+0296 c4038000 rtnbit0 7 
+0297 58000008 setarg pan_reg_opration_state 
+0298 20406414 call twspi_read 
+0299 203a3fed branch mouse_p32xx_sensor_motion_1 + 3 ,blank 
+029a 58000000 setarg 0 
+029b 6003469b store 6 ,mem_mouse_x 
+029c 20600000 rtn 
 
 p_mouse_p3212_sensor_motion:
-0316 20403fc0 call mouse_clear_sensor_data 
-0317 20203fc8 branch mouse_p3212_sensor_motion_1 
+029d 20403fc0 call mouse_clear_sensor_data 
+029e 20203fc8 branch mouse_p3212_sensor_motion_1 
 
 p_mouse_seting_dpi:
 
 p_mouse_seting_sensor_type:
-0318 6800c6e0 fetch 1 ,mem_config_sensor_type 
-0319 c0020342 beq p3212 ,p_mouse_seting_3212_dpi 
-031a c0030332 beq p3065_xy ,p_mouse_seting_3065xy_dpi 
-031b c0038332 beq mx8650 ,p_mouse_seting_3065xy_dpi 
-031c c0010349 beq ka8 ,p_mouse_seting_ka8_dpi 
-031d c0048349 beq ka8_ul ,p_mouse_seting_ka8_dpi 
-031e c0050332 beq ka8_hd ,p_mouse_seting_3065xy_dpi 
-031f c004032b beq p8009 ,p_mouse_seting_8009_dpi 
+029f 6800c6e0 fetch 1 ,mem_config_sensor_type 
+02a0 c00202ca beq p3212 ,p_mouse_seting_3212_dpi 
+02a1 c00302ba beq p3065_xy ,p_mouse_seting_3065xy_dpi 
+02a2 c00382ba beq mx8650 ,p_mouse_seting_3065xy_dpi 
+02a3 c00102d1 beq ka8 ,p_mouse_seting_ka8_dpi 
+02a4 c00482d1 beq ka8_ul ,p_mouse_seting_ka8_dpi 
+02a5 c00502ba beq ka8_hd ,p_mouse_seting_3065xy_dpi 
+02a6 c00582ca beq ka5857 ,p_mouse_seting_3212_dpi 
+02a7 c00402b3 beq p8009 ,p_mouse_seting_8009_dpi 
 
 p_mouse_seting_3205_dpi:
-0320 6800c77a fetch 1 ,mem_mouse_dpi 
-0321 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
-0322 20428327 call p_mouse_3205_dpi_recount ,zero 
-0323 6800c77a fetch 1 ,mem_mouse_dpi 
-0324 c0000329 beq mouse_dpi_level1 ,p_mouse_3205_set_cpi1 
-0325 c001bd8c beq mouse_dpi_level4 ,mouse_set_cpi3 
-0326 20203d88 branch mouse_set_cpi2 
+02a8 6800c77a fetch 1 ,mem_mouse_dpi 
+02a9 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+02aa 204282af call p_mouse_3205_dpi_recount ,zero 
+02ab 6800c77a fetch 1 ,mem_mouse_dpi 
+02ac c00002b1 beq mouse_dpi_level1 ,p_mouse_3205_set_cpi1 
+02ad c001bd8c beq mouse_dpi_level4 ,mouse_set_cpi3 
+02ae 20203d88 branch mouse_set_cpi2 
 
 p_mouse_3205_dpi_recount:
-0327 70477a02 jam mouse_dpi_level3 ,mem_mouse_dpi 
-0328 20600000 rtn 
+02af 70477a02 jam mouse_dpi_level3 ,mem_mouse_dpi 
+02b0 20600000 rtn 
 
 p_mouse_3205_set_cpi1:
-0329 6800c77f fetch 1 ,mem_320x_dpi_1 
-032a 2020033a branch p_mouse_dpi_store 
+02b1 6800c77f fetch 1 ,mem_320x_dpi_1 
+02b2 202002c2 branch p_mouse_dpi_store 
 
 p_mouse_seting_8009_dpi:
-032b 6800c77a fetch 1 ,mem_mouse_dpi 
-032c 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
-032d 20428327 call p_mouse_3205_dpi_recount ,zero 
-032e 6800c77a fetch 1 ,mem_mouse_dpi 
-032f c000033c beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi1 
-0330 c001bd88 beq mouse_dpi_level4 ,mouse_set_cpi2 
-0331 20203d8a branch mouse_set_cpi1 
+02b3 6800c77a fetch 1 ,mem_mouse_dpi 
+02b4 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+02b5 204282af call p_mouse_3205_dpi_recount ,zero 
+02b6 6800c77a fetch 1 ,mem_mouse_dpi 
+02b7 c00002c4 beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi1 
+02b8 c001bd88 beq mouse_dpi_level4 ,mouse_set_cpi2 
+02b9 20203d8a branch mouse_set_cpi1 
 
 p_mouse_seting_3065xy_dpi:
-0332 6800c77a fetch 1 ,mem_mouse_dpi 
-0333 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
-0334 20428327 call p_mouse_3205_dpi_recount ,zero 
-0335 6800c77a fetch 1 ,mem_mouse_dpi 
-0336 c000033c beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi1 
-0337 c001833f beq mouse_dpi_level4 ,p_mouse_3065xy_set_cpi4 
+02ba 6800c77a fetch 1 ,mem_mouse_dpi 
+02bb 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+02bc 204282af call p_mouse_3205_dpi_recount ,zero 
+02bd 6800c77a fetch 1 ,mem_mouse_dpi 
+02be c00002c4 beq mouse_dpi_level1 ,p_mouse_3065xy_set_cpi1 
+02bf c00182c7 beq mouse_dpi_level4 ,p_mouse_3065xy_set_cpi4 
 
 p_mouse_3065xy_set_cpi3:
-0338 6800c781 fetch 1 ,mem_320x_dpi_3 
-0339 1fe0ffff increase -1 ,pdata 
+02c0 6800c781 fetch 1 ,mem_320x_dpi_3 
+02c1 1fe0ffff increase -1 ,pdata 
 
 p_mouse_dpi_store:
-033a 6000c6b5 store 1 ,mem_mouse_cpi_count 
-033b 20203dc1 branch mouse_p3205_dpi + 3 
+02c2 6000c6b5 store 1 ,mem_mouse_cpi_count 
+02c3 20203dc1 branch mouse_p3205_dpi + 3 
 
 p_mouse_3065xy_set_cpi1:
-033c 6800c77f fetch 1 ,mem_320x_dpi_1 
-033d 1fe0ffff increase -1 ,pdata 
-033e 2020033a branch p_mouse_dpi_store 
+02c4 6800c77f fetch 1 ,mem_320x_dpi_1 
+02c5 1fe0ffff increase -1 ,pdata 
+02c6 202002c2 branch p_mouse_dpi_store 
 
 p_mouse_3065xy_set_cpi4:
-033f 6800c782 fetch 1 ,mem_320x_dpi_4 
-0340 1fe0ffff increase -1 ,pdata 
-0341 2020033a branch p_mouse_dpi_store 
+02c7 6800c782 fetch 1 ,mem_320x_dpi_4 
+02c8 1fe0ffff increase -1 ,pdata 
+02c9 202002c2 branch p_mouse_dpi_store 
 
 p_mouse_seting_3212_dpi:
-0342 6800c77a fetch 1 ,mem_mouse_dpi 
-0343 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
-0344 20428327 call p_mouse_3205_dpi_recount ,zero 
-0345 6800c77a fetch 1 ,mem_mouse_dpi 
-0346 c0003d9d beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
-0347 c001bda1 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
-0348 20203d9f branch mouse_set_p3212_cpi3 
+02ca 6800c77a fetch 1 ,mem_mouse_dpi 
+02cb 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+02cc 204282af call p_mouse_3205_dpi_recount ,zero 
+02cd 6800c77a fetch 1 ,mem_mouse_dpi 
+02ce c0003d9d beq mouse_dpi_level1 ,mouse_set_p3212_cpi1 
+02cf c001bda1 beq mouse_dpi_level4 ,mouse_set_p3212_cpi4 
+02d0 20203d9f branch mouse_set_p3212_cpi3 
 
 p_mouse_seting_ka8_dpi:
-0349 6800c77a fetch 1 ,mem_mouse_dpi 
-034a 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
-034b 20428327 call p_mouse_3205_dpi_recount ,zero 
-034c 6800c77a fetch 1 ,mem_mouse_dpi 
-034d c0003d88 beq mouse_dpi_level1 ,mouse_set_cpi2 
-034e c0018350 beq mouse_dpi_level4 ,p_mouse_ka8_set_cpi3 
-034f 20203d8e branch mouse_set_cpi4 
+02d1 6800c77a fetch 1 ,mem_mouse_dpi 
+02d2 1fe67c01 sub pdata ,mouse_dpi_level2 ,null 
+02d3 204282af call p_mouse_3205_dpi_recount ,zero 
+02d4 6800c77a fetch 1 ,mem_mouse_dpi 
+02d5 c0003d88 beq mouse_dpi_level1 ,mouse_set_cpi2 
+02d6 c00182d8 beq mouse_dpi_level4 ,p_mouse_ka8_set_cpi3 
+02d7 20203d8e branch mouse_set_cpi4 
 
 p_mouse_ka8_set_cpi3:
-0350 58000005 setarg 5 
-0351 20203dbe branch mouse_p3205_dpi 
-
-p_mouse_bb_event_discovery_btn:
-0352 7047a300 jam 0 ,mem_mouse_null_enter_hibernate_flag 
-0353 7047a400 jam 0 ,mem_mouse_null_enter_hibernate_timer 
-0354 280ffe26 isolate1 mark_24g ,mark 
-0355 20408528 call p_g24_check_51cmd_stop_24g ,true 
-0356 2020426d branch mouse_bb_event_discovery_btn + 1 
-
-p_le_addr_random_config:
-0357 204068a2 call load_adc_init 
-0358 6801421d fetch 2 ,mem_0_5_adc_io_data 
-0359 203a035c branch p_le_otp_adc_empty ,blank 
-035a 600147c8 store 2 ,mem_random_addr_increase_count 
-035b 20600000 rtn 
-
-p_le_otp_adc_empty:
-035c 58001122 setarg 0x1122 
-035d 600147c8 store 2 ,mem_random_addr_increase_count 
-035e 20600000 rtn 
-
-p_mouse_start_discovery:
-035f 20400237 call p_mouse_tx_power_init 
-0360 7047a200 jam 0 ,mem_mouse_clear_sensor_data_flag 
-0361 68014682 fetch 2 ,mem_ui_state_map 
-0362 c2858371 bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
-0363 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-0364 c30c0371 bbit0 mouse_enable_ble_random_addre ,p_mouse_start_discovery_norandom 
-0365 20400383 call p_mouse_load_eeprom_random_addr_increase_count 
-0366 680947c8 fetcht 2 ,mem_random_addr_increase_count 
-0367 68014b9f fetch 2 ,mem_compare_addr_ff 
-0368 98467c00 isub temp ,null 
-0369 20428357 call p_le_addr_random_config ,zero 
-036a 680947c8 fetcht 2 ,mem_random_addr_increase_count 
-036b 18408401 increase 1 ,temp 
-036c 600947c8 storet 2 ,mem_random_addr_increase_count 
-036d 600944a1 storet 2 ,mem_le_lap + 1 
-036e 2040037f call p_mouse_store_eerpom_random_addr_increase_count 
-036f 180a7e00 random pdata 
-0370 6000c4a0 store 1 ,mem_le_lap 
-
-p_mouse_start_discovery_norandom:
-0371 20403418 call app_lpm_mult_disable 
-0372 68014687 fetch 2 ,mem_discovery_timeout 
-0373 600146ac store 2 ,mem_mouse_discovery_timer 
-0374 70016d06 jam 6 ,mem_connection_options 
-0375 58000000 setarg 0 
-0376 600146b0 store 2 ,mem_mouse_no_data_timer 
-0377 600146ae store 2 ,mem_mouse_direct_timer 
-0378 d8e00007 arg mouse_store_eeprom_flag ,queue 
-0379 204043ce call mouse_enable_function_flag 
-037a 204043ca call mouse_bt_discovery_button_down_disable 
-037b 6800c092 fetch 1 ,mem_device_option 
-037c 2feffe01 isolate1 mode_4_mouse ,pdata 
-037d 20408387 call p_check_51cmd_adv ,true 
-037e 202042c4 branch mouse_start_discovery_norandom + 13 
-
-p_mouse_store_eerpom_random_addr_increase_count:
-037f d8400002 arg 2 ,temp 
-0380 da2047c8 arg mem_random_addr_increase_count ,rega 
-0381 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
-0382 202065d1 branch iicd_write_protect_eep_data 
-
-p_mouse_load_eeprom_random_addr_increase_count:
-0383 d8400002 arg 2 ,temp 
-0384 da2047c8 arg mem_random_addr_increase_count ,rega 
-0385 da40005f arg mouse_random_addr_count_eeprom_offset ,regb 
-0386 202065df branch iicd_read_eep_data 
-
-p_check_51cmd_adv:
-0387 7047a500 jam 0 ,mem_mouse_le_reconnect_flag 
-0388 20400131 call p_le_check_adv_flag 
-0389 58000005 setarg adv_flag_bredr_not_supported | adv_flag_limited_discoverable 
-038a e0c08000 istore 1 ,contr 
-038b 20207df4 branch check_51cmd_adv 
-
-p_mouse_stop_discovery:
-038c 58000000 setarg 0 
-038d 600146ac store 2 ,mem_mouse_discovery_timer 
-038e 20400157 call p_mouse_init_sensor_reset 
-038f 202042cb branch mouse_stop_discovery + 1 
+02d8 58000005 setarg 5 
+02d9 20203dbe branch mouse_p3205_dpi 
 
 p_le_enable:
 
 p_g24_enable:
-0390 70890f36 jam 0x36 ,rf_adc_goff 
-0391 70890b5f jam 0x5f ,rf_agc_nsat 
-0392 783b7c00 enable le 
-0393 70891407 jam 7 ,rfen_ulp 
-0394 20400398 call check_g24_disabled 
-0395 6800c1e0 fetch 1 ,mem_250k_freq_enable 
-0396 207a0000 rtn blank 
-0397 70890ab8 jam 0xb8 ,rf_iq_gain 
+02da 70890f36 jam 0x36 ,rf_adc_goff 
+02db 70890b5f jam 0x5f ,rf_agc_nsat 
+02dc 783b7c00 enable le 
+02dd 70891407 jam 7 ,rfen_ulp 
+02de 204002e2 call check_g24_disabled 
+02df 6800c1e0 fetch 1 ,mem_250k_freq_enable 
+02e0 207a0000 rtn blank 
+02e1 70890ab8 jam 0xb8 ,rf_iq_gain 
 
 check_g24_disabled:
-0398 68014150 fetch 2 ,mem_chip_functions 
-0399 c281aa8c bbit1 g24_disabled ,assert 
-039a 20600000 rtn 
+02e2 68014150 fetch 2 ,mem_chip_functions 
+02e3 c281aa8c bbit1 g24_disabled ,assert 
+02e4 20600000 rtn 
 
 p_twspi_reset:
-039b 68108077 hfetch 1 ,core_gpio_out3 
-039c 1fe17efd and_into 0xfd ,pdata 
-039d 60108077 hstore 1 ,core_gpio_out3 
-039e 68188073 hfetcht 1 ,core_gpio_oe3 
-039f 18418402 or_into 0x2 ,temp 
-03a0 60188073 hstoret 1 ,core_gpio_oe3 
-03a1 204063ee call twspi_disable 
-03a2 184104fd and_into 0xfd ,temp 
-03a3 2000000d nop 13 
-03a4 204063f2 call twspi_enable 
-03a5 60188073 hstoret 1 ,core_gpio_oe3 
-03a6 20600000 rtn 
+02e5 68108077 hfetch 1 ,core_gpio_out3 
+02e6 1fe17efd and_into 0xfd ,pdata 
+02e7 60108077 hstore 1 ,core_gpio_out3 
+02e8 68188073 hfetcht 1 ,core_gpio_oe3 
+02e9 18418402 or_into 0x2 ,temp 
+02ea 60188073 hstoret 1 ,core_gpio_oe3 
+02eb 204063ee call twspi_disable 
+02ec 184104fd and_into 0xfd ,temp 
+02ed 2000000d nop 13 
+02ee 204063f2 call twspi_enable 
+02ef 60188073 hstoret 1 ,core_gpio_oe3 
+02f0 20600000 rtn 
 
 p_g24_set_device_addr:
-03a7 204068a8 call adc_init_data 
-03a8 680240a0 fetch 4 ,mem_lap 
-03a9 60024c60 store 4 ,mem_24g_device_addr 
-03aa 20600000 rtn 
+02f1 204068a8 call adc_init_data 
+02f2 680240a0 fetch 4 ,mem_lap 
+02f3 60024c74 store 4 ,mem_24g_device_addr 
+02f4 20600000 rtn 
 
 p_g24_transmit_rf_sta_init:
-03ab 704d5f01 jam 1 ,mem_24g_rf_last_sta 
-03ac 704d6100 jam 0 ,mem_24g_sync_cnt 
+02f5 704d7301 jam 1 ,mem_24g_rf_last_sta 
+02f6 704d7500 jam 0 ,mem_24g_sync_cnt 
 
 p_g24_transmit_rf_ctrl_clear:
-03ad 6800cc2a fetch 1 ,mem_24g_data_type 
-03ae 1fe17e07 and_into bits_data ,pdata 
-03af 6000cc2a store 1 ,mem_24g_data_type 
-03b0 20600000 rtn 
+02f7 6800cc3e fetch 1 ,mem_24g_data_type 
+02f8 1fe17e07 and_into bits_data ,pdata 
+02f9 6000cc3e store 1 ,mem_24g_data_type 
+02fa 20600000 rtn 
 
 p_g24_hop_ch_enable:
-03b1 6800cc2a fetch 1 ,mem_24g_data_type 
-03b2 79207e04 set1 bit_hop ,pdata 
-03b3 6000cc2a store 1 ,mem_24g_data_type 
-03b4 6000cbe5 store 1 ,mem_24g_txpayload 
-03b5 20600000 rtn 
+02fb 6800cc3e fetch 1 ,mem_24g_data_type 
+02fc 79207e04 set1 bit_hop ,pdata 
+
+p_g24_hop_ch_enable_store:
+02fd 6000cc3e store 1 ,mem_24g_data_type 
+02fe 6000cbf9 store 1 ,mem_24g_txpayload 
+02ff 20600000 rtn 
+
+p_g24_hop_enable_packet:
+0300 6800cc3e fetch 1 ,mem_24g_data_type 
+0301 c4020000 rtnbit0 bit_hop 
 
 p_g24_hop_ch_disable:
-03b6 6800cc2a fetch 1 ,mem_24g_data_type 
-03b7 793ffe04 set0 bit_hop ,pdata 
-03b8 6000cc2a store 1 ,mem_24g_data_type 
-03b9 6000cbe5 store 1 ,mem_24g_txpayload 
-03ba 20400484 call power_ctrl_pac_succ_decrs 
-03bb 202005d5 branch p_g24_ch 
+0302 6800cc3e fetch 1 ,mem_24g_data_type 
+0303 793ffe04 set0 bit_hop ,pdata 
+0304 204002fd call p_g24_hop_ch_enable_store 
+0305 204003c3 call power_ctrl_pac_succ_decrs 
+0306 202004eb branch p_g24_ch 
 
 p_g24_transmit_hop_pac_fail:
-03bc 20400484 call power_ctrl_pac_succ_decrs 
-03bd 6800cd60 fetch 1 ,mem_24g_rf_work_stage 
-03be c00083c1 beq 1 ,p_g24_transmit_hop_pac_fail_wo_hop 
-03bf c00103c5 beq 2 ,p_g24_transmit_hop_pac_fail_hop_stage2 
-03c0 20600000 rtn 
+0307 204003c3 call power_ctrl_pac_succ_decrs 
+0308 6800cd74 fetch 1 ,mem_24g_rf_work_stage 
+0309 c000830c beq 1 ,p_g24_transmit_hop_pac_fail_wo_hop 
+030a c0010310 beq 2 ,p_g24_transmit_hop_pac_fail_hop_stage2 
+030b 20600000 rtn 
 
 p_g24_transmit_hop_pac_fail_wo_hop:
-03c1 704d6102 jam 2 ,mem_24g_sync_cnt 
+030c 704d7502 jam 2 ,mem_24g_sync_cnt 
 
 p_g24_transmit_hop_pac_fail_stage1:
-03c2 704d5d00 jam 0 ,mem_24g_hop_pac_retry 
-03c3 704d5f00 jam 0 ,mem_24g_rf_last_sta 
-03c4 202003ad branch p_g24_transmit_rf_ctrl_clear 
+030d 704d7100 jam 0 ,mem_24g_hop_pac_retry 
+030e 704d7300 jam 0 ,mem_24g_rf_last_sta 
+030f 202002f7 branch p_g24_transmit_rf_ctrl_clear 
 
 p_g24_transmit_hop_pac_fail_hop_stage2:
-03c5 704d5e00 jam 0 ,mem_24g_rf_hop_ch 
-03c6 202003c2 branch p_g24_transmit_hop_pac_fail_stage1 
+0310 704d7200 jam 0 ,mem_24g_rf_hop_ch 
+0311 2020030d branch p_g24_transmit_hop_pac_fail_stage1 
 
 p_g24_transmit_pac_fail_hop_stage3:
-03c7 68014c2f fetch 2 ,mem_24g_txfail_cnt 
-03c8 1fe0fe01 increase 1 ,pdata 
-03c9 60014c2f store 2 ,mem_24g_txfail_cnt 
-03ca c2850465 bbit1 10 ,p_g24_tx_attempt_fail 
-03cb 6800cd5e fetch 1 ,mem_24g_rf_hop_ch 
-03cc c00083d0 beq 1 ,p_g24_rf_hop_fastly 
-03cd 704d5e01 jam 1 ,mem_24g_rf_hop_ch 
+0312 68014c43 fetch 2 ,mem_24g_txfail_cnt 
+0313 1fe0fe01 increase 1 ,pdata 
+0314 60014c43 store 2 ,mem_24g_txfail_cnt 
+0315 c28503a5 bbit1 10 ,p_g24_tx_attempt_fail 
+0316 6800cd72 fetch 1 ,mem_24g_rf_hop_ch 
+0317 c000831b beq 1 ,p_g24_rf_hop_fastly 
+0318 704d7201 jam 1 ,mem_24g_rf_hop_ch 
 
 p_g24_rf_hop_attemp_again:
-03ce 6800cd5e fetch 1 ,mem_24g_rf_hop_ch 
-03cf c08083ad bne 1 ,p_g24_transmit_rf_ctrl_clear 
+0319 6800cd72 fetch 1 ,mem_24g_rf_hop_ch 
+031a c08082f7 bne 1 ,p_g24_transmit_rf_ctrl_clear 
 
 p_g24_rf_hop_fastly:
-03d0 6800cd5c fetch 1 ,mem_24g_hop_fastly_cnt 
-03d1 1fe0fe01 increase 1 ,pdata 
-03d2 6000cd5c store 1 ,mem_24g_hop_fastly_cnt 
-03d3 c00203d7 beq 4 ,p_g24_rf_hop_fastly_exit 
-03d4 204005d5 call p_g24_ch 
-03d5 704c6e02 jam 2 ,mem_24g_max_retry 
-03d6 2020042f branch p_g24_transmit_packet 
+031b 6800cd70 fetch 1 ,mem_24g_hop_fastly_cnt 
+031c 1fe0fe01 increase 1 ,pdata 
+031d 6000cd70 store 1 ,mem_24g_hop_fastly_cnt 
+031e c0020322 beq 4 ,p_g24_rf_hop_fastly_exit 
+031f 204004eb call p_g24_ch 
+0320 704c8202 jam 2 ,mem_24g_max_retry 
+0321 20200378 branch p_g24_transmit_packet 
 
 p_g24_rf_hop_fastly_exit:
-03d7 20400484 call power_ctrl_pac_succ_decrs 
-03d8 704d5c00 jam 0 ,mem_24g_hop_fastly_cnt 
-03d9 202003ad branch p_g24_transmit_rf_ctrl_clear 
+0322 204003c3 call power_ctrl_pac_succ_decrs 
+0323 704d7000 jam 0 ,mem_24g_hop_fastly_cnt 
+0324 202002f7 branch p_g24_transmit_rf_ctrl_clear 
 
 p_g24_transmit_hop_pac_succ_wo_hop:
-03da 704d6102 jam 2 ,mem_24g_sync_cnt 
+0325 704d7502 jam 2 ,mem_24g_sync_cnt 
 
 p_g24_transmit_hop_pac_succ:
-03db 704d5f01 jam 1 ,mem_24g_rf_last_sta 
-03dc 704d5e00 jam 0 ,mem_24g_rf_hop_ch 
-03dd 202003ad branch p_g24_transmit_rf_ctrl_clear 
+0326 704d7301 jam 1 ,mem_24g_rf_last_sta 
+0327 704d7200 jam 0 ,mem_24g_rf_hop_ch 
+0328 202002f7 branch p_g24_transmit_rf_ctrl_clear 
 
 p_g24_transmit_succ_rf_config:
-03de 6800cd60 fetch 1 ,mem_24g_rf_work_stage 
-03df c00183db beq 3 ,p_g24_transmit_hop_pac_succ 
-03e0 6800cc2a fetch 1 ,mem_24g_data_type 
-03e1 2fec0004 isolate0 bit_hop ,pdata 
-03e2 202083ab branch p_g24_transmit_rf_sta_init ,true 
-03e3 6800cd60 fetch 1 ,mem_24g_rf_work_stage 
-03e4 c00083da beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
-03e5 c00103db beq 2 ,p_g24_transmit_hop_pac_succ 
-03e6 20600000 rtn 
+0329 6800cd74 fetch 1 ,mem_24g_rf_work_stage 
+032a c0018326 beq 3 ,p_g24_transmit_hop_pac_succ 
+032b 6800cc3e fetch 1 ,mem_24g_data_type 
+032c 2fec0004 isolate0 bit_hop ,pdata 
+032d 202082f5 branch p_g24_transmit_rf_sta_init ,true 
+032e 6800cd74 fetch 1 ,mem_24g_rf_work_stage 
+032f c0008325 beq 1 ,p_g24_transmit_hop_pac_succ_wo_hop 
+0330 c0010326 beq 2 ,p_g24_transmit_hop_pac_succ 
+0331 20600000 rtn 
 
 p_g24_rf_sta_check:
-03e7 6800cc39 fetch 1 ,mem_24g_pairing_sm 
-03e8 c1ff8000 rtnne state_24g_pairing_success 
-03e9 204003ec call p_g24_rf_laststa_synccnt_check 
-03ea 245603f4 ncall p_g24_rf_sync_cnt_check ,user2 
-03eb 20600000 rtn 
+0332 6800cc4d fetch 1 ,mem_24g_pairing_sm 
+0333 c1ff8000 rtnne state_24g_pairing_success 
+0334 20400337 call p_g24_rf_laststa_synccnt_check 
+0335 2456033f ncall p_g24_rf_sync_cnt_check ,user2 
+0336 20600000 rtn 
 
 p_g24_rf_laststa_synccnt_check:
-03ec 78567c00 disable user2 
-03ed 6800cd5f fetch 1 ,mem_24g_rf_last_sta 
-03ee c1808000 rtnne 1 
-03ef 6800cd61 fetch 1 ,mem_24g_sync_cnt 
-03f0 c1800000 rtnne 0 
-03f1 704d6001 jam 1 ,mem_24g_rf_work_stage 
-03f2 704c6e04 jam 4 ,mem_24g_max_retry 
-03f3 20207feb branch enable_user2 
+0337 78567c00 disable user2 
+0338 6800cd73 fetch 1 ,mem_24g_rf_last_sta 
+0339 c1808000 rtnne 1 
+033a 6800cd75 fetch 1 ,mem_24g_sync_cnt 
+033b c1800000 rtnne 0 
+033c 704d7401 jam 1 ,mem_24g_rf_work_stage 
+033d 704c8204 jam 4 ,mem_24g_max_retry 
+033e 20207feb branch enable_user2 
 
 p_g24_rf_sync_cnt_check:
-03f4 6800cd61 fetch 1 ,mem_24g_sync_cnt 
-03f5 203a03fc branch p_g24_rf_hop_attemp ,blank 
-03f6 1fe0ffff increase -1 ,pdata 
-03f7 6000cd61 store 1 ,mem_24g_sync_cnt 
-03f8 704d6002 jam 2 ,mem_24g_rf_work_stage 
-03f9 204005d5 call p_g24_ch 
-03fa 704c6e04 jam 4 ,mem_24g_max_retry 
-03fb 20600000 rtn 
+033f 6800cd75 fetch 1 ,mem_24g_sync_cnt 
+0340 203a0347 branch p_g24_rf_hop_attemp ,blank 
+0341 1fe0ffff increase -1 ,pdata 
+0342 6000cd75 store 1 ,mem_24g_sync_cnt 
+0343 704d7402 jam 2 ,mem_24g_rf_work_stage 
+0344 204004eb call p_g24_ch 
+0345 704c8204 jam 4 ,mem_24g_max_retry 
+0346 20600000 rtn 
 
 p_g24_rf_hop_attemp:
-03fc 704d6003 jam 3 ,mem_24g_rf_work_stage 
-03fd 6800cd5e fetch 1 ,mem_24g_rf_hop_ch 
-03fe 243a03ce nbranch p_g24_rf_hop_attemp_again ,blank 
-03ff 204005d5 call p_g24_ch 
-0400 704c6e02 jam 2 ,mem_24g_max_retry 
-0401 20600000 rtn 
+0347 704d7403 jam 3 ,mem_24g_rf_work_stage 
+0348 6800cd72 fetch 1 ,mem_24g_rf_hop_ch 
+0349 243a0319 nbranch p_g24_rf_hop_attemp_again ,blank 
+034a 204004eb call p_g24_ch 
+034b 704c8202 jam 2 ,mem_24g_max_retry 
+034c 20600000 rtn 
 
 p_g24_txdata_prep:
-0402 6800cc39 fetch 1 ,mem_24g_pairing_sm 
-0403 c0ff84c1 bne state_24g_pairing_success ,p_g24_pairing_sm 
+034d 6800cc4d fetch 1 ,mem_24g_pairing_sm 
+034e c0ff840b bne state_24g_pairing_success ,p_g24_pairing_sm 
 
 p_g24_txdata_prep_packeage_data:
-0404 20400408 call p_g24_package_data 
+034f 20400353 call p_g24_package_data 
 
 p_g24_txdata_enable_tx:
-0405 204005c3 call p_g24_transmit_prep 
-0406 704c2e01 jam ensure_on_24g ,mem_24g_ensure 
-0407 20600000 rtn 
+0350 204004d9 call p_g24_transmit_prep 
+0351 704c4201 jam ensure_on_24g ,mem_24g_ensure 
+0352 20600000 rtn 
 
 p_g24_package_data:
-0408 68014d5a fetch 2 ,mem_cb_24g_data 
-0409 20407f9c call callback_func 
-040a 2034040e branch p_g24_accumulate_mouse_data ,user 
-040b 6803cbc6 fetch 7 ,mem_24g_txbuf + 1 
-040c 207a0000 rtn blank 
-040d 20207fe7 branch enable_user 
+0353 68014d6e fetch 2 ,mem_cb_24g_data 
+0354 20407f9c call callback_func 
+0355 20340359 branch p_g24_accumulate_mouse_data ,user 
+0356 6803cbda fetch 7 ,mem_24g_txbuf + 1 
+0357 207a0000 rtn blank 
+0358 20207fe7 branch enable_user 
 
 p_g24_accumulate_mouse_data:
-040e 20400427 call p_mouse_data_xy_release 
-040f 704c5500 jam 0 ,mem_24g_abort_pac 
-0410 1a20fe01 add rega ,1 ,pdata 
-0411 6000cc29 store 1 ,mem_24g_datalen 
-0412 204003ad call p_g24_transmit_rf_ctrl_clear 
-0413 6000cbc5 store 1 ,mem_24g_txbuf 
-0414 e8a88000 ifetcht 1 ,contw 
-0415 ea408000 ifetch 1 ,regb 
-0416 9841fe00 ior temp ,pdata 
-0417 e0a08000 istore 1 ,contw 
-0418 1a40a401 increase 1 ,regb 
-0419 df200002 arg 2 ,loopcnt 
+0359 20400372 call p_mouse_data_xy_release 
+035a 704c6900 jam 0 ,mem_24g_abort_pac 
+035b 1a20fe01 add rega ,1 ,pdata 
+035c 6000cc3d store 1 ,mem_24g_datalen 
+035d 204002f7 call p_g24_transmit_rf_ctrl_clear 
+035e 6000cbd9 store 1 ,mem_24g_txbuf 
+035f e8a88000 ifetcht 1 ,contw 
+0360 ea408000 ifetch 1 ,regb 
+0361 9841fe00 ior temp ,pdata 
+0362 e0a08000 istore 1 ,contw 
+0363 1a40a401 increase 1 ,regb 
+0364 df200002 arg 2 ,loopcnt 
 
 p_g24_accumulation_loop:
-041a ea410000 ifetch 2 ,regb 
-041b e0a10000 istore 2 ,contw 
-041c 1a40a402 increase 2 ,regb 
-041d c200041a loop p_g24_accumulation_loop 
-041e d8a04bcb arg mem_24g_txbuf + 6 ,contw 
-041f df200002 arg 2 ,loopcnt 
+0365 ea410000 ifetch 2 ,regb 
+0366 e0a10000 istore 2 ,contw 
+0367 1a40a402 increase 2 ,regb 
+0368 c2000365 loop p_g24_accumulation_loop 
+0369 d8a04bdf arg mem_24g_txbuf + 6 ,contw 
+036a df200002 arg 2 ,loopcnt 
 
 p_g24_accumulation_loop2:
-0420 ea408000 ifetch 1 ,regb 
-0421 e8a88000 ifetcht 1 ,contw 
-0422 9840fe00 iadd temp ,pdata 
-0423 e0a08000 istore 1 ,contw 
-0424 1a40a401 increase 1 ,regb 
-0425 c2000420 loop p_g24_accumulation_loop2 
-0426 20600000 rtn 
+036b ea408000 ifetch 1 ,regb 
+036c e8a88000 ifetcht 1 ,contw 
+036d 9840fe00 iadd temp ,pdata 
+036e e0a08000 istore 1 ,contw 
+036f 1a40a401 increase 1 ,regb 
+0370 c200036b loop p_g24_accumulation_loop2 
+0371 20600000 rtn 
 
 p_mouse_data_xy_release:
-0427 6800c6f5 fetch 1 ,mem_config_function_enable 
-0428 c3838000 rtnbit1 enable_sensor_motion_pin 
-0429 6800c80e fetch 1 ,mem_mouse_long_mult_flag 
-042a c1808000 rtnne 1 
-042b 58000000 setarg 0 
-042c 6000c80e store 1 ,mem_mouse_long_mult_flag 
-042d 6002469b store 4 ,mem_mouse_x 
-042e 20200157 branch p_mouse_init_sensor_reset 
+0372 6800c80e fetch 1 ,mem_mouse_long_mult_flag 
+0373 c1808000 rtnne 1 
+0374 58000000 setarg 0 
+0375 6000c80e store 1 ,mem_mouse_long_mult_flag 
+0376 6002469b store 4 ,mem_mouse_x 
+0377 20200122 branch p_mouse_init_sensor_reset 
 
 p_g24_transmit_packet:
-042f 704c3200 jam 0 ,mem_24g_retry 
+0378 704c4600 jam 0 ,mem_24g_retry 
 
 p_g24_transmit_loop:
-0430 d9600d00 arg param_rx_setup ,timeup 
-0431 34730200 until clkn_rt ,meet 
-0432 2040044d call p_g24_transmit_receive_ack 
-0433 242c0458 nbranch p_g24_retransmit ,sync 
-0434 24378458 nbranch p_g24_retransmit ,user3 
-0435 20400445 call p_g24_txbuf_clear 
-0436 20400476 call p_g24_ackpayload_parse 
-0437 20400480 call power_ctrl_pac_succ_incrs 
+0379 d9600d00 arg param_rx_setup ,timeup 
+037a 34730200 until clkn_rt ,meet 
+037b 2040038f call p_g24_transmit_receive_ack 
+037c 242c039a nbranch p_g24_retransmit ,sync 
+037d 2437839a nbranch p_g24_retransmit ,user3 
+037e 2040038c call p_g24_txbuf_clear 
+037f 204003b5 call p_g24_ackpayload_parse 
+0380 204003bf call power_ctrl_pac_succ_incrs 
 
 p_g24_transmit_next_packet:
-0438 6800cc28 fetch 1 ,mem_24g_pid 
-0439 1fe0fe01 increase 1 ,pdata 
-043a 6000cc28 store 1 ,mem_24g_pid 
-043b 20400448 call p_g24_hop_enable_packet 
-043c 6800cc39 fetch 1 ,mem_24g_pairing_sm 
-043d c0ff844b bne state_24g_pairing_success ,p_g24_paring_mode_start 
-043e 204003de call p_g24_transmit_succ_rf_config 
+0381 6800cc3c fetch 1 ,mem_24g_pid 
+0382 1fe0fe01 increase 1 ,pdata 
+0383 6000cc3c store 1 ,mem_24g_pid 
+0384 20400300 call p_g24_hop_enable_packet 
+0385 6800cc4d fetch 1 ,mem_24g_pairing_sm 
+0386 c0ff8425 bne state_24g_pairing_success ,p_g24_paring_mode_start 
+0387 20400329 call p_g24_transmit_succ_rf_config 
 
 p_g24_transmit_abandon:
-043f 58000000 setarg 0 
-0440 60014c2f store 2 ,mem_24g_txfail_cnt 
-0441 6000cc31 store 1 ,mem_24g_get_ack_fail 
-0442 6000cd5d store 1 ,mem_24g_hop_pac_retry 
-0443 704c2e00 jam ensure_off_24g ,mem_24g_ensure 
-0444 20600000 rtn 
+0388 58000000 setarg 0 
+0389 60024c42 store 4 ,mem_24g_ensure 
+038a 6000cd71 store 1 ,mem_24g_hop_pac_retry 
+038b 20600000 rtn 
 
 p_g24_txbuf_clear:
-0445 df200004 arg 4 ,loopcnt 
-0446 d8a04bc5 arg mem_24g_txbuf ,contw 
-0447 20207ec6 branch memset0 
-
-p_g24_hop_enable_packet:
-0448 6800cc2a fetch 1 ,mem_24g_data_type 
-0449 c28203b6 bbit1 bit_hop ,p_g24_hop_ch_disable 
-044a 20600000 rtn 
-
-p_g24_paring_mode_start:
-044b 2040047d call power_ctrl_pac_succ_cnt_init 
-044c 202004db branch p_g24_paring_mode 
+038c df200004 arg 4 ,loopcnt 
+038d d8a04bd9 arg mem_24g_txbuf ,contw 
+038e 20207ec6 branch memset0 
 
 p_g24_transmit_receive_ack:
-044d 7857fc00 disable user3 
-044e 20400632 call p_g24_transmit 
-044f 18002a00 force 0 ,radio_ctrl 
-0450 68024c51 fetch 4 ,mem_24g_addr 
-0451 98001200 iforce access 
-0452 68088017 fetcht 1 ,mem_last_freq 
-0453 2040291f call set_freq_rx 
-0454 20402924 call rf_rx_enable 
-0455 204005ef call p_g24_receive_rxon 
-0456 2057862b call p_g24_end_of_packet ,user3 
-0457 20600000 rtn 
+038f 7857fc00 disable user3 
+0390 20400543 call p_g24_transmit 
+0391 18002a00 force 0 ,radio_ctrl 
+0392 68024c65 fetch 4 ,mem_24g_addr 
+0393 98001200 iforce access 
+0394 68088017 fetcht 1 ,mem_last_freq 
+0395 2040291f call set_freq_rx 
+0396 20402924 call rf_rx_enable 
+0397 20400505 call p_g24_receive_rxon 
+0398 2057853d call p_g24_end_of_packet ,user3 
+0399 20600000 rtn 
 
 p_g24_retransmit:
-0458 6800cc55 fetch 1 ,mem_24g_abort_pac 
-0459 247a0000 nrtn blank 
-045a 68014c2f fetch 2 ,mem_24g_txfail_cnt 
-045b 1fe0fe01 increase 1 ,pdata 
-045c 60014c2f store 2 ,mem_24g_txfail_cnt 
-045d 6800cc30 fetch 1 ,mem_24g_txfail_cnt + 1 
-045e c2820467 bbit1 4 ,p_g24_stop_g24_mode 
-045f 6800cc39 fetch 1 ,mem_24g_pairing_sm 
-0460 c0ff8463 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
-0461 2040046c call p_g24_tx_hop_ch_process 
-0462 20200430 branch p_g24_transmit_loop 
+039a 68014c43 fetch 2 ,mem_24g_txfail_cnt 
+039b 1fe0fe01 increase 1 ,pdata 
+039c 60014c43 store 2 ,mem_24g_txfail_cnt 
+039d 6800cc44 fetch 1 ,mem_24g_txfail_cnt + 1 
+039e c2822dd4 bbit1 4 ,g24_stop_24g_mode 
+039f 6800cc4d fetch 1 ,mem_24g_pairing_sm 
+03a0 c0ff83a3 bne state_24g_pairing_success ,p_g24_tx_paring_retry 
+03a1 204003ab call p_g24_tx_hop_ch_process 
+03a2 20200379 branch p_g24_transmit_loop 
 
 p_g24_tx_paring_retry:
-0463 6800cc2f fetch 1 ,mem_24g_txfail_cnt 
-0464 c1ff8000 rtnne 0xff 
+03a3 6800cc43 fetch 1 ,mem_24g_txfail_cnt 
+03a4 c1ff8000 rtnne 0xff 
 
 p_g24_tx_attempt_fail:
-0465 58000000 setarg 0 
-0466 60014c2f store 2 ,mem_24g_txfail_cnt 
-
-p_g24_stop_g24_mode:
-0467 700a993a jam bt_evt_24g_attempt_fail ,mem_fifo_temp 
-0468 20207d86 branch ui_ipc_send_event 
+03a5 58000000 setarg 0 
+03a6 60014c43 store 2 ,mem_24g_txfail_cnt 
+03a7 20202dd4 branch g24_stop_24g_mode 
 
 p_g24_tx_fast_hop:
-0469 204004af call power_ctrl_txpower_incrs 
-046a 20400484 call power_ctrl_pac_succ_decrs 
-046b 202005d5 branch p_g24_ch 
+03a8 204003ec call power_ctrl_txpower_incrs 
+03a9 204003c3 call power_ctrl_pac_succ_decrs 
+03aa 202004eb branch p_g24_ch 
 
 p_g24_tx_hop_ch_process:
-046c 6800cc32 fetch 1 ,mem_24g_retry 
-046d 1fe67c0b sub pdata ,11 ,null 
-046e 24210469 nbranch p_g24_tx_fast_hop ,positive 
-046f 1fe0fe01 increase 1 ,pdata 
-0470 6000cc32 store 1 ,mem_24g_retry 
-0471 c00103b1 beq 2 ,p_g24_hop_ch_enable 
-0472 c00303b6 beq 6 ,p_g24_hop_ch_disable 
-0473 c00403b1 beq 8 ,p_g24_hop_ch_enable 
-0474 c00603b6 beq 12 ,p_g24_hop_ch_disable 
-0475 20600000 rtn 
+03ab 6800cc46 fetch 1 ,mem_24g_retry 
+03ac 1fe67c0b sub pdata ,11 ,null 
+03ad 242103a8 nbranch p_g24_tx_fast_hop ,positive 
+03ae 1fe0fe01 increase 1 ,pdata 
+03af 6000cc46 store 1 ,mem_24g_retry 
+03b0 c00102fb beq 2 ,p_g24_hop_ch_enable 
+03b1 c0030302 beq 6 ,p_g24_hop_ch_disable 
+03b2 c00402fb beq 8 ,p_g24_hop_ch_enable 
+03b3 c0060302 beq 12 ,p_g24_hop_ch_disable 
+03b4 20600000 rtn 
 
 p_g24_ackpayload_parse:
-0476 20400532 call p_g24_read_len_pid_crc 
-0477 6800cc27 fetch 1 ,mem_24g_rxdata_length 
-0478 207a0000 rtn blank 
-0479 98007200 iforce loopcnt 
-047a d8c04ba5 arg mem_24g_rxbuf + 2 ,contr 
-047b d8a04c07 arg mem_24g_rxpayload ,contw 
-047c 20207f01 branch memcpy 
+03b5 20400477 call p_g24_read_len_pid_crc 
+03b6 6800cc3b fetch 1 ,mem_24g_rxdata_length 
+03b7 207a0000 rtn blank 
+03b8 98007200 iforce loopcnt 
+03b9 d8c04bb9 arg mem_24g_rxbuf + 2 ,contr 
+03ba d8a04c1b arg mem_24g_rxpayload ,contw 
+03bb 20207f01 branch memcpy 
 
 power_ctrl_pac_succ_cnt_init:
-047d 704d6501 jam 1 ,mem_power_ctrl_level 
-047e 704d6200 jam 0 ,mem_power_ctrl_pac_succ_cnt 
-047f 20600000 rtn 
+03bc 704d7901 jam 1 ,mem_power_ctrl_level 
+03bd 704d7600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+03be 20600000 rtn 
 
 power_ctrl_pac_succ_incrs:
-0480 6800cd62 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0481 1fe0fe01 increase 1 ,pdata 
-0482 6000cd62 store 1 ,mem_power_ctrl_pac_succ_cnt 
-0483 20600000 rtn 
+03bf 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+03c0 1fe0fe01 increase 1 ,pdata 
+03c1 6000cd76 store 1 ,mem_power_ctrl_pac_succ_cnt 
+03c2 20600000 rtn 
 
 power_ctrl_pac_succ_decrs:
-0484 6800cd62 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0485 1fe67c02 sub pdata ,2 ,null 
-0486 2441048c ncall power_ctrl_pac_succ_cnt_reinit ,positive 
-0487 6800cd62 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0488 c1000000 rtneq 0 
-0489 1fe0ffff increase -1 ,pdata 
-048a 6000cd62 store 1 ,mem_power_ctrl_pac_succ_cnt 
-048b 20600000 rtn 
+03c3 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+03c4 1fe67c02 sub pdata ,2 ,null 
+03c5 244103cb ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+03c6 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+03c7 c1000000 rtneq 0 
+03c8 1fe0ffff increase -1 ,pdata 
+03c9 6000cd76 store 1 ,mem_power_ctrl_pac_succ_cnt 
+03ca 20600000 rtn 
 
 power_ctrl_pac_succ_cnt_reinit:
-048c 704d6203 jam 3 ,mem_power_ctrl_pac_succ_cnt 
-048d 20600000 rtn 
+03cb 704d7603 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+03cc 20600000 rtn 
 
 power_ctrl_start:
-048e 68014682 fetch 2 ,mem_ui_state_map 
-048f c3858000 rtnbit1 ui_state_ble_adv 
-0490 da204ceb arg mem_rssi_signal_buf ,rega 
-0491 204005a4 call p_rssi_average 
-0492 6008cd63 storet 1 ,mem_rssi_avg_received 
-0493 58000082 setarg rssi_dis_max_24g 
-0494 c5130496 bmark1 mark_24g ,power_ctrl_start_next 
-0495 58000080 setarg rssi_dis_max_ble 
+03cd da204cff arg mem_rssi_signal_buf ,rega 
+03ce 204004c9 call p_rssi_average 
+03cf 6008cd77 storet 1 ,mem_rssi_avg_received 
+03d0 58000082 setarg rssi_dis_max_24g 
+03d1 c51303d3 bmark1 mark_24g ,power_ctrl_start_next 
+03d2 58000080 setarg rssi_dis_max_ble 
 
 power_ctrl_start_next:
-0496 98467c00 isub temp ,null 
-0497 242104ae nbranch power_ctrl_txpower_incrs_force ,positive 
-0498 6800cd62 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0499 1fe67c02 sub pdata ,2 ,null 
-049a 2421049e nbranch power_ctrl_txpower_decrs_check ,positive 
-049b 6800cd62 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-049c c00004af beq 0 ,power_ctrl_txpower_incrs 
-049d 20600000 rtn 
+03d3 98467c00 isub temp ,null 
+03d4 242103eb nbranch power_ctrl_txpower_incrs_force ,positive 
+03d5 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+03d6 1fe67c02 sub pdata ,2 ,null 
+03d7 242103db nbranch power_ctrl_txpower_decrs_check ,positive 
+03d8 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+03d9 c00003ec beq 0 ,power_ctrl_txpower_incrs 
+03da 20600000 rtn 
 
 power_ctrl_txpower_decrs_check:
-049e 6800cd62 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-049f c1990000 rtnne 50 
-04a0 704d6200 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+03db 6800cd76 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+03dc c1990000 rtnne 50 
+03dd 704d7600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_decrs:
-04a1 6808cd63 fetcht 1 ,mem_rssi_avg_received 
-04a2 58000077 setarg rssi_dis_min_24g 
-04a3 c51304a5 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
-04a4 58000075 setarg rssi_dis_min_ble 
+03de 6808cd77 fetcht 1 ,mem_rssi_avg_received 
+03df 58000077 setarg rssi_dis_min_24g 
+03e0 c51303e2 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+03e1 58000075 setarg rssi_dis_min_ble 
 
 power_ctrl_txpower_decrs_next:
-04a5 98467c00 isub temp ,null 
-04a6 24610000 nrtn positive 
-04a7 6800cd65 fetch 1 ,mem_power_ctrl_level 
-04a8 c00004b6 beq 0 ,power_ctrl_decrs_level0 
-04a9 1fe0ffff increase -1 ,pdata 
-04aa 6000cd65 store 1 ,mem_power_ctrl_level 
-04ab c00004b6 beq 0 ,power_ctrl_decrs_level0 
+03e2 98467c00 isub temp ,null 
+03e3 24610000 nrtn positive 
+03e4 6800cd79 fetch 1 ,mem_power_ctrl_level 
+03e5 c00003f3 beq 0 ,power_ctrl_decrs_level0 
+03e6 1fe0ffff increase -1 ,pdata 
+03e7 6000cd79 store 1 ,mem_power_ctrl_level 
+03e8 c00003f3 beq 0 ,power_ctrl_decrs_level0 
 
 power_ctrl_decrs_level1:
 
 power_ctrl_incrs_level1:
-04ac 7041de00 jam tx_power_0db ,mem_tx_power 
-04ad 20600000 rtn 
+03e9 7041de00 jam tx_power_0db ,mem_tx_power 
+03ea 20600000 rtn 
 
 power_ctrl_txpower_incrs_force:
-04ae 704d6200 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+03eb 704d7600 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_incrs:
-04af 6800cd65 fetch 1 ,mem_power_ctrl_level 
-04b0 c00104b4 beq 2 ,power_ctrl_incrs_level2 
-04b1 1fe0fe01 increase 1 ,pdata 
-04b2 6000cd65 store 1 ,mem_power_ctrl_level 
-04b3 c00084ac beq 1 ,power_ctrl_incrs_level1 
+03ec 6800cd79 fetch 1 ,mem_power_ctrl_level 
+03ed c00103f1 beq 2 ,power_ctrl_incrs_level2 
+03ee 1fe0fe01 increase 1 ,pdata 
+03ef 6000cd79 store 1 ,mem_power_ctrl_level 
+03f0 c00083e9 beq 1 ,power_ctrl_incrs_level1 
 
 power_ctrl_incrs_level2:
-04b4 7041de02 jam tx_power_5db ,mem_tx_power 
-04b5 20600000 rtn 
+03f1 7041de02 jam tx_power_5db ,mem_tx_power 
+03f2 20600000 rtn 
 
 power_ctrl_decrs_level0:
-04b6 7041de04 jam tx_power_f5db ,mem_tx_power 
-04b7 20600000 rtn 
+03f3 7041de04 jam tx_power_f5db ,mem_tx_power 
+03f4 20600000 rtn 
 
 p_g24_start_pairing_sm1:
-04b8 79200026 set1 mark_24g ,mark 
-04b9 204004bc call p_g24_pair_init 
+03f5 79200026 set1 mark_24g ,mark 
+03f6 204003f9 call p_g24_pair_init 
 
 p_g24_set_pairing_sm_1:
-04ba 704c3901 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
-04bb 20600000 rtn 
+03f7 704c4d01 jam state_24g_pairing_1 ,mem_24g_pairing_sm 
+03f8 20600000 rtn 
 
 p_g24_pair_init:
-04bc 7041de04 jam tx_power_f5db ,mem_tx_power 
-04bd 704c2800 jam 0 ,mem_24g_pid 
-04be 704c334e jam g24_pair_ch ,mem_24g_ch 
-04bf 68024c35 fetch 4 ,mem_24g_paring_addr 
-04c0 202005b5 branch p_g24_update_addr_and_synccrc8 
+03f9 7041de04 jam tx_power_f5db ,mem_tx_power 
+03fa 704c3c00 jam 0 ,mem_24g_pid 
+03fb 704c474e jam g24_pair_ch ,mem_24g_ch 
+03fc 68024c49 fetch 4 ,mem_24g_paring_addr 
+
+p_g24_update_addr_and_synccrc8:
+03fd 60024c65 store 4 ,mem_24g_addr 
+
+p_g24_syncword_crc8:
+03fe da200000 arg 0 ,rega 
+03ff df200004 arg 4 ,loopcnt 
+0400 d8c04c65 arg mem_24g_addr ,contr 
+
+p_g24_syncword_crc8_loop:
+0401 e8c08000 ifetch 1 ,contr 
+0402 9a20a200 iadd rega ,rega 
+0403 c2000401 loop p_g24_syncword_crc8_loop 
+0404 1a227e00 copy rega ,pdata 
+0405 60014cee store 2 ,mem_24g_syncword 
+0406 6800ccee fetch 1 ,mem_24g_syncword 
+0407 6808ccef fetcht 1 ,mem_24g_syncword + 1 
+0408 9840fe00 iadd temp ,pdata 
+0409 6000ccf0 store 1 ,mem_24g_syncword_crc8 
+040a 20600000 rtn 
 
 p_g24_pairing_sm:
-04c1 6800cc2e fetch 1 ,mem_24g_ensure 
-04c2 c000ffe7 beq ensure_on_24g ,enable_user 
-04c3 6800cc39 fetch 1 ,mem_24g_pairing_sm 
-04c4 c00084c8 beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
-04c5 c00104cb beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
-04c6 c00184ce beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
-04c7 20202a8c branch assert 
+040b 6800cc42 fetch 1 ,mem_24g_ensure 
+040c c000ffe7 beq ensure_on_24g ,enable_user 
+040d 6800cc4d fetch 1 ,mem_24g_pairing_sm 
+040e c0008412 beq state_24g_pairing_1 ,p_g24_pairing_sm_1 
+040f c0010415 beq state_24g_pairing_2 ,p_g24_pairing_sm_2 
+0410 c0018418 beq state_24g_pairing_3 ,p_g24_pairing_sm_3 
+0411 20202a8c branch assert 
 
 p_g24_pairing_sm_1:
-04c8 704c3911 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
-04c9 70119eaa jam 0xaa ,mem_24g_common_temp 
-04ca 202004d0 branch p_g24_pairing_sm_common 
+0412 704c4d11 jam state_24g_pairing_1_waiting_ack ,mem_24g_pairing_sm 
+0413 70119eaa jam 0xaa ,mem_24g_common_temp 
+0414 2020041a branch p_g24_pairing_sm_common 
 
 p_g24_pairing_sm_2:
-04cb 704c3912 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
-04cc 70119e55 jam 0x55 ,mem_24g_common_temp 
-04cd 202004d0 branch p_g24_pairing_sm_common 
+0415 704c4d12 jam state_24g_pairing_2_waiting_ack ,mem_24g_pairing_sm 
+0416 70119e55 jam 0x55 ,mem_24g_common_temp 
+0417 2020041a branch p_g24_pairing_sm_common 
 
 p_g24_pairing_sm_3:
-04ce 704c3913 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
-04cf 70119e22 jam 0x22 ,mem_24g_common_temp 
+0418 704c4d13 jam state_24g_pairing_3_waiting_ack ,mem_24g_pairing_sm 
+0419 70119e22 jam 0x22 ,mem_24g_common_temp 
 
 p_g24_pairing_sm_common:
-04d0 6800cc2a fetch 1 ,mem_24g_data_type 
-04d1 1fe17e07 and_into bits_data ,pdata 
-04d2 6000919f store 1 ,mem_24g_common_temp + 1 
-04d3 68024c60 fetch 4 ,mem_24g_device_addr 
-04d4 600211a0 store 4 ,mem_24g_common_temp + 2 
+041a 6800cc3e fetch 1 ,mem_24g_data_type 
+041b 1fe17e07 and_into bits_data ,pdata 
+041c 6000919f store 1 ,mem_24g_common_temp + 1 
+041d 68024c74 fetch 4 ,mem_24g_device_addr 
+041e 600211a0 store 4 ,mem_24g_common_temp + 2 
 
 p_g24_put_pairing_data_in_buff:
-04d5 7011a400 jam 0 ,mem_24g_common_temp + 6 
-04d6 da20119e arg mem_24g_common_temp ,rega 
-04d7 d8400007 arg 7 ,temp 
-04d8 2040052d call p_g24_put_data_in_buff 
-04d9 20400405 call p_g24_txdata_enable_tx 
-04da 20207fe7 branch enable_user 
+041f 7011a400 jam 0 ,mem_24g_common_temp + 6 
+0420 da20119e arg mem_24g_common_temp ,rega 
+0421 d8400007 arg 7 ,temp 
+0422 20400472 call p_g24_put_data_in_buff 
+0423 20400350 call p_g24_txdata_enable_tx 
+0424 20207fe7 branch enable_user 
+
+p_g24_paring_mode_start:
+0425 204003bc call power_ctrl_pac_succ_cnt_init 
 
 p_g24_paring_mode:
-04db 6800cc39 fetch 1 ,mem_24g_pairing_sm 
-04dc c17f8000 rtneq state_24g_pairing_success 
-04dd c00884e1 beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
-04de c00904e3 beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
-04df c00984e5 beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
-04e0 20600000 rtn 
+0426 6800cc4d fetch 1 ,mem_24g_pairing_sm 
+0427 c17f8000 rtneq state_24g_pairing_success 
+0428 c008842c beq state_24g_pairing_1_waiting_ack ,p_g24_pairing_sm_1_waiting_ack 
+0429 c009042e beq state_24g_pairing_2_waiting_ack ,p_g24_pairing_sm_2_waiting_ack 
+042a c0098430 beq state_24g_pairing_3_waiting_ack ,p_g24_pairing_sm_3_waiting_ack 
+042b 20600000 rtn 
 
 p_g24_pairing_sm_1_waiting_ack:
-04e1 704c3902 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
-04e2 2020043f branch p_g24_transmit_abandon 
+042c 704c4d02 jam state_24g_pairing_2 ,mem_24g_pairing_sm 
+042d 20200388 branch p_g24_transmit_abandon 
 
 p_g24_pairing_sm_2_waiting_ack:
-04e3 704c3903 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
-04e4 2020043f branch p_g24_transmit_abandon 
+042e 704c4d03 jam state_24g_pairing_3 ,mem_24g_pairing_sm 
+042f 20200388 branch p_g24_transmit_abandon 
 
 p_g24_pairing_sm_3_waiting_ack:
-04e5 704c39ff jam state_24g_pairing_success ,mem_24g_pairing_sm 
-04e6 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
-04e7 20407d86 call ui_ipc_send_event 
-04e8 68024c09 fetch 4 ,mem_24g_rxpayload + 2 
-04e9 204005b5 call p_g24_update_addr_and_synccrc8 
-04ea 2020043f branch p_g24_transmit_abandon 
+0430 704c4dff jam state_24g_pairing_success ,mem_24g_pairing_sm 
+0431 700a9939 jam bt_evt_24g_pairing_complete ,mem_fifo_temp 
+0432 20407d86 call ui_ipc_send_event 
+0433 68024c1d fetch 4 ,mem_24g_rxpayload + 2 
+0434 204003fd call p_g24_update_addr_and_synccrc8 
+0435 20200388 branch p_g24_transmit_abandon 
 
 p_g24_start_24g_mode:
-04eb 204001ed call p_g24_factory_check 
-04ec 203404fd branch p_g24_auto_pair_start ,user 
-04ed 79200026 set1 mark_24g ,mark 
-04ee 6800cd75 fetch 1 ,mem_g24_conn_sm 
-04ef 79207e02 set1 state_24g_reconn ,pdata 
-04f0 6000cd75 store 1 ,mem_g24_conn_sm 
-04f1 2040051b call p_g24_ch_syncword_crc8_init 
-04f2 20200501 branch p_g24_auto_pair_timeout_init 
+0436 204001b1 call p_g24_factory_check 
+0437 20340448 branch p_g24_auto_pair_start ,user 
+0438 79200026 set1 mark_24g ,mark 
+0439 6800cd89 fetch 1 ,mem_g24_conn_sm 
+043a 79207e02 set1 state_24g_reconn ,pdata 
+043b 6000cd89 store 1 ,mem_g24_conn_sm 
+043c 20400463 call p_g24_ch_syncword_crc8_init 
+043d 2020044c branch p_g24_auto_pair_timeout_init 
 
 p_g24_tx_attemp_data_prep:
-04f3 70119eff jam 0xff ,mem_24g_common_temp 
-04f4 6800cc2a fetch 1 ,mem_24g_data_type 
-04f5 6000919f store 1 ,mem_24g_common_temp + 1 
-04f6 68024c60 fetch 4 ,mem_24g_device_addr 
-04f7 600211a0 store 4 ,mem_24g_common_temp + 2 
-04f8 d8400006 arg 6 ,temp 
-04f9 da20119e arg mem_24g_common_temp ,rega 
-04fa 2040052d call p_g24_put_data_in_buff 
-04fb 202005c3 branch p_g24_transmit_prep 
+043e 70119eff jam 0xff ,mem_24g_common_temp 
+043f 6800cc3e fetch 1 ,mem_24g_data_type 
+0440 6000919f store 1 ,mem_24g_common_temp + 1 
+0441 68024c74 fetch 4 ,mem_24g_device_addr 
+0442 600211a0 store 4 ,mem_24g_common_temp + 2 
+0443 d8400006 arg 6 ,temp 
+0444 da20119e arg mem_24g_common_temp ,rega 
+0445 20400472 call p_g24_put_data_in_buff 
+0446 202004d9 branch p_g24_transmit_prep 
 
 p_g24_attemp_txdata_retry:
-04fc 202005d5 branch p_g24_ch 
+0447 202004eb branch p_g24_ch 
 
 p_g24_auto_pair_start:
-04fd 79200026 set1 mark_24g ,mark 
-04fe 6800cd75 fetch 1 ,mem_g24_conn_sm 
-04ff 79207e01 set1 state_24g_pair ,pdata 
-0500 6000cd75 store 1 ,mem_g24_conn_sm 
+0448 79200026 set1 mark_24g ,mark 
+0449 6800cd89 fetch 1 ,mem_g24_conn_sm 
+044a 79207e01 set1 state_24g_pair ,pdata 
+044b 6000cd89 store 1 ,mem_g24_conn_sm 
 
 p_g24_auto_pair_timeout_init:
-0501 58000708 setarg g24_disconn_nodata_timer 
-0502 60014b43 store 2 ,mem_g24_stop_g24_mode_timeout 
-0503 704b4200 jam 0 ,mem_g24_stop_g24_mode 
-0504 20600000 rtn 
+044c 58000708 setarg g24_disconn_nodata_timer 
+044d 60014b43 store 2 ,mem_g24_stop_g24_mode_timeout 
+044e 704b4200 jam 0 ,mem_g24_stop_g24_mode 
+044f 20600000 rtn 
 
 p_g24_auto_pair_timeout_clear:
-0505 58000000 setarg 0 
-0506 60014b43 store 2 ,mem_g24_stop_g24_mode_timeout 
-0507 704b4200 jam 0 ,mem_g24_stop_g24_mode 
-0508 20600000 rtn 
+0450 58000000 setarg 0 
+0451 60014b43 store 2 ,mem_g24_stop_g24_mode_timeout 
+0452 704b4200 jam 0 ,mem_g24_stop_g24_mode 
+0453 20600000 rtn 
 
 p_g24_pair_txdata_retry:
-0509 2020050a branch p_g24_pair_txdata_switch 
 
 p_g24_pair_txdata_switch:
-050a 6800cd67 fetch 1 ,mem_24g_auto_paring_switch 
-050b 1fe0fe01 increase 1 ,pdata 
-050c 1fe17e03 and_into 3 ,pdata 
-050d 6000cd67 store 1 ,mem_24g_auto_paring_switch 
-050e c0000525 beq 0 ,p_g24_auto_pair_device_attemp 
-050f c0008526 beq 1 ,p_g24_auto_pair_pair_attemp 
-0510 c0010527 beq 2 ,p_g24_auto_pair_all_powerful_attemp 
-0511 c0018526 beq 3 ,p_g24_auto_pair_pair_attemp 
-0512 20600000 rtn 
+0454 6800cd7b fetch 1 ,mem_24g_auto_paring_switch 
+0455 1fe0fe01 increase 1 ,pdata 
+0456 1fe17e03 and_into 3 ,pdata 
+0457 6000cd7b store 1 ,mem_24g_auto_paring_switch 
+0458 c000045b beq 0 ,p_g24_auto_pair_first_attemp 
+0459 c0010465 beq 2 ,p_g24_auto_pair_all_powerful 
+045a 202003f9 branch p_g24_pair_init 
 
 p_g24_auto_pair_first_attemp:
-0513 20400237 call p_mouse_tx_power_init 
-0514 68024c60 fetch 4 ,mem_24g_device_addr 
-0515 60024c51 store 4 ,mem_24g_addr 
-0516 6800cb45 fetch 1 ,mem_24g_pair_current_ch_num 
-0517 6000cc34 store 1 ,mem_24g_current_ch_number 
-0518 2040051b call p_g24_ch_syncword_crc8_init 
-0519 6008cb45 storet 1 ,mem_24g_pair_current_ch_num 
-051a 20600000 rtn 
+045b 204001f6 call p_mouse_tx_power_init 
+045c 68024c74 fetch 4 ,mem_24g_device_addr 
+045d 60024c65 store 4 ,mem_24g_addr 
+045e 6800cb46 fetch 1 ,mem_24g_pair_current_ch_num 
+045f 6000cc48 store 1 ,mem_24g_current_ch_number 
+0460 20400463 call p_g24_ch_syncword_crc8_init 
+0461 6008cb46 storet 1 ,mem_24g_pair_current_ch_num 
+0462 20600000 rtn 
 
 p_g24_ch_syncword_crc8_init:
-051b 204005b6 call p_g24_syncword_crc8 
-051c 202005d5 branch p_g24_ch 
+0463 204003fe call p_g24_syncword_crc8 
+0464 202004eb branch p_g24_ch 
 
 p_g24_auto_pair_all_powerful:
-051d 7041de20 jam tx_power_pair ,mem_tx_power 
-051e 68024d6e fetch 4 ,mem_24g_allpowerful_addr 
-051f 60024c51 store 4 ,mem_24g_addr 
-0520 6800cb46 fetch 1 ,mem_24g_powerful_current_ch_num 
-0521 6000cc34 store 1 ,mem_24g_current_ch_number 
-0522 2040051b call p_g24_ch_syncword_crc8_init 
-0523 6008cb46 storet 1 ,mem_24g_powerful_current_ch_num 
-0524 20600000 rtn 
-
-p_g24_auto_pair_device_attemp:
-0525 20200513 branch p_g24_auto_pair_first_attemp 
-
-p_g24_auto_pair_pair_attemp:
-0526 202004bc branch p_g24_pair_init 
-
-p_g24_auto_pair_all_powerful_attemp:
-0527 2020051d branch p_g24_auto_pair_all_powerful 
+0465 7041de20 jam tx_power_pair ,mem_tx_power 
+0466 68024d82 fetch 4 ,mem_24g_allpowerful_addr 
+0467 60024c65 store 4 ,mem_24g_addr 
+0468 6800cb47 fetch 1 ,mem_24g_powerful_current_ch_num 
+0469 6000cc48 store 1 ,mem_24g_current_ch_number 
+046a 20400463 call p_g24_ch_syncword_crc8_init 
+046b 6008cb47 storet 1 ,mem_24g_powerful_current_ch_num 
+046c 20600000 rtn 
 
 p_g24_check_51cmd_stop_24g:
-0528 793f8026 set0 mark_24g ,mark 
-0529 704d7500 jam state_24g_stop ,mem_g24_conn_sm 
-052a 204053ce call le_disable 
+046d 793f8026 set0 mark_24g ,mark 
+046e 704d8900 jam state_24g_stop ,mem_g24_conn_sm 
+046f 204053ce call le_disable 
 
 p_mouse_disable_g24_pairing_flag:
-052b d8e00003 arg mosue_24g_pairing_flag ,queue 
-052c 202043d2 branch mouse_disable_function_flag 
+0470 d8e00003 arg mosue_24g_pairing_flag ,queue 
+0471 202043d2 branch mouse_disable_function_flag 
 
 p_g24_put_data_in_buff:
-052d 6008cc29 storet 1 ,mem_24g_datalen 
-052e 18427200 copy temp ,loopcnt 
-052f d8a04bc5 arg mem_24g_txbuf ,contw 
-0530 1a220c00 copy rega ,contr 
-0531 20207f01 branch memcpy 
+0472 6008cc3d storet 1 ,mem_24g_datalen 
+0473 18427200 copy temp ,loopcnt 
+0474 d8a04bd9 arg mem_24g_txbuf ,contw 
+0475 1a220c00 copy rega ,contr 
+0476 20207f01 branch memcpy 
 
 p_g24_read_len_pid_crc:
-0532 6800cba4 fetch 1 ,mem_24g_rxbuf + 1 
-0533 1fe97e00 rshift3 pdata ,pdata 
-0534 6000cc27 store 1 ,mem_24g_rxdata_length 
-0535 1fe0fe01 increase 1 ,pdata 
-0536 d8c04ba4 arg mem_24g_rxbuf + 1 ,contr 
-0537 98c08c00 iadd contr ,contr 
-0538 e8c18000 ifetch 3 ,contr 
-0539 6001cc66 store 3 ,mem_24g_sta_crc 
-053a 6800cba4 fetch 1 ,mem_24g_rxbuf + 1 
-053b 1fe37e00 rshift pdata ,pdata 
-053c 1fe17e03 and pdata ,0x03 ,pdata 
-053d 6000cc6c store 1 ,mem_24g_sta_pid 
-053e 20600000 rtn 
+0477 6800cbb8 fetch 1 ,mem_24g_rxbuf + 1 
+0478 1fe97e00 rshift3 pdata ,pdata 
+0479 6000cc3b store 1 ,mem_24g_rxdata_length 
+047a 1fe0fe01 increase 1 ,pdata 
+047b d8c04bb8 arg mem_24g_rxbuf + 1 ,contr 
+047c 98c08c00 iadd contr ,contr 
+047d e8c18000 ifetch 3 ,contr 
+047e 6001cc7a store 3 ,mem_24g_sta_crc 
+047f 6800cbb8 fetch 1 ,mem_24g_rxbuf + 1 
+0480 1fe37e00 rshift pdata ,pdata 
+0481 1fe17e03 and pdata ,0x03 ,pdata 
+0482 6000cc80 store 1 ,mem_24g_sta_pid 
+0483 20600000 rtn 
 
 p_set_freq_tx:
-053f 60088017 storet 1 ,mem_last_freq 
-0540 1840a200 add temp ,0 ,rega 
-0541 20402981 call rf_write_freq 
-0542 58000500 setarg param_pll_setup 
-0543 20402a8f call sleep 
+0484 60088017 storet 1 ,mem_last_freq 
+0485 1840a200 add temp ,0 ,rega 
+0486 20402981 call rf_write_freq 
+0487 58000500 setarg param_pll_setup 
+0488 20402a8f call sleep 
 
 p_rf_tx_enable:
-0544 70890601 jam 0x1 ,rfen_adc 
-0545 7089003c jam 0x3c ,rfen_rx 
-0546 708901e0 jam 0xe0 ,rfen_tx 
-0547 2000000a nop 10 
-0548 70890201 jam 0x01 ,rfen_mdm 
-0549 7089023d jam 0x3d ,rfen_mdm 
-054a 2000000a nop 10 
-054b 708903b7 jam 0xb7 ,rfen_sn 
-054c 2000000a nop 10 
-054d 7089027d jam 0x7d ,rfen_mdm 
-054e 6800c1de fetch 1 ,mem_tx_power 
-054f c0000555 beq tx_power_0db ,p_set_tx_power_0db 
-0550 c000855d beq tx_power_3db ,p_set_tx_power_3db 
-0551 c0010565 beq tx_power_5db ,p_set_tx_power_5db 
-0552 c002056d beq tx_power_f5db ,p_set_tx_power_f5db 
-0553 c010057f beq tx_power_pair ,p_set_tx_power_pair 
-0554 20200555 branch p_set_tx_power_0db 
+0489 70890601 jam 0x1 ,rfen_adc 
+048a 7089003c jam 0x3c ,rfen_rx 
+048b 708901e0 jam 0xe0 ,rfen_tx 
+048c 2000000a nop 10 
+048d 70890201 jam 0x01 ,rfen_mdm 
+048e 7089023d jam 0x3d ,rfen_mdm 
+048f 2000000a nop 10 
+0490 708903b7 jam 0xb7 ,rfen_sn 
+0491 2000000a nop 10 
+0492 7089027d jam 0x7d ,rfen_mdm 
+0493 6800c1de fetch 1 ,mem_tx_power 
+0494 c001049c beq tx_power_5db ,p_set_tx_power_5db 
+0495 c00204a1 beq tx_power_f5db ,p_set_tx_power_f5db 
+0496 c01004b0 beq tx_power_pair ,p_set_tx_power_pair 
 
 p_set_tx_power_0db:
-0555 20400575 call p_rx_low_sens 
-0556 70894bba jam 0xba ,0x894b 
-0557 708955d0 jam 0xd0 ,0x8955 
-0558 708956e0 jam 0xe0 ,0x8956 
-0559 70895788 jam 0x88 ,0x8957 
-055a 7089586c jam 0x6c ,0x8958 
-055b 70895910 jam 0x10 ,0x8959 
-055c 2020294b branch set_tx_power_0db 
-
-p_set_tx_power_3db:
-055d 2040057a call p_rx_high_sens 
-055e 70894bba jam 0xba ,0x894b 
-055f 708955d0 jam 0xd0 ,0x8955 
-0560 708956e0 jam 0xe0 ,0x8956 
-0561 70895788 jam 0x88 ,0x8957 
-0562 7089583c jam 0x3c ,0x8958 
-0563 70895910 jam 0x10 ,0x8959 
-0564 2020294f branch set_tx_power_3db 
+0497 204004a6 call p_rx_low_sens 
+0498 708955d0 jam 0xd0 ,0x8955 
+0499 708956e0 jam 0xe0 ,0x8956 
+049a 7089586c jam 0x6c ,0x8958 
+049b 2020294b branch set_tx_power_0db 
 
 p_set_tx_power_5db:
-0565 2040057a call p_rx_high_sens 
-0566 70894bba jam 0xba ,0x894b 
-0567 708955d0 jam 0xd0 ,0x8955 
-0568 708956e0 jam 0xe0 ,0x8956 
-0569 70895788 jam 0x88 ,0x8957 
-056a 7089583c jam 0x3c ,0x8958 
-056b 70895910 jam 0x10 ,0x8959 
-056c 20202953 branch set_tx_power_5db 
+049c 204004ab call p_rx_high_sens 
+049d 708955d0 jam 0xd0 ,0x8955 
+049e 708956e0 jam 0xe0 ,0x8956 
+049f 7089583c jam 0x3c ,0x8958 
+04a0 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-056d 20400575 call p_rx_low_sens 
-056e 70894bba jam 0xba ,0x894b 
-056f 708955d0 jam 0xd0 ,0x8955 
-0570 708956c0 jam 0xc0 ,0x8956 
-0571 70895788 jam 0x88 ,0x8957 
-0572 7089586c jam 0x6c ,0x8958 
-0573 70895910 jam 0x10 ,0x8959 
-0574 2020295b branch set_tx_power_f5db 
+04a1 204004a6 call p_rx_low_sens 
+04a2 708955d0 jam 0xd0 ,0x8955 
+04a3 708956c0 jam 0xc0 ,0x8956 
+04a4 7089586c jam 0x6c ,0x8958 
+04a5 2020295b branch set_tx_power_f5db 
 
 p_rx_low_sens:
-0575 70894c5b jam 0x5b ,0x894c 
-0576 70894d96 jam 0x96 ,0x894d 
-0577 70894e2c jam 0x2c ,0x894e 
-0578 70894f46 jam 0x46 ,0x894f 
-0579 20600000 rtn 
+04a6 70894c5b jam 0x5b ,0x894c 
+04a7 70894d96 jam 0x96 ,0x894d 
+04a8 70894e2c jam 0x2c ,0x894e 
+04a9 70894f46 jam 0x46 ,0x894f 
+04aa 20600000 rtn 
 
 p_rx_high_sens:
-057a 70894cfb jam 0xfb ,0x894c 
-057b 70894def jam 0xef ,0x894d 
-057c 70894eec jam 0xec ,0x894e 
-057d 70894f5e jam 0x5e ,0x894f 
-057e 20600000 rtn 
+04ab 70894cfb jam 0xfb ,0x894c 
+04ac 70894def jam 0xef ,0x894d 
+04ad 70894eec jam 0xec ,0x894e 
+04ae 70894f5e jam 0x5e ,0x894f 
+04af 20600000 rtn 
 
 p_set_tx_power_pair:
-057f 708956c2 jam 0xc2 ,0x8956 
-0580 708955d0 jam 0xd0 ,0x8955 
-0581 20600000 rtn 
+04b0 708956c2 jam 0xc2 ,0x8956 
+04b1 708955d0 jam 0xd0 ,0x8955 
+04b2 20600000 rtn 
 
 p_shutdown_radio:
-0582 18002a08 force 8 ,radio_ctrl 
-0583 202028fa branch shutdown_radio + 1 
+04b3 18002a08 force 8 ,radio_ctrl 
+04b4 202028fa branch shutdown_radio + 1 
 
 p_initialize_radio_cont:
-0584 20402978 call initialize_radio_cont + 1 
-0585 70804205 jam clksel_dpll ,core_clksel 
-0586 20600000 rtn 
+04b5 20402978 call initialize_radio_cont + 1 
+04b6 70804205 jam clksel_dpll ,core_clksel 
+04b7 20600000 rtn 
+
+p_lpm_dispatch:
+04b8 c6130000 rtnmark1 mark_24g 
+04b9 20202b6b branch lpm_dispatch + 1 
 
 p_g24_timer_check:
-0587 20407fe9 call disable_user 
-0588 680a4c4a fetcht 4 ,mem_24g_tx_btclk 
-0589 1c427e00 copy clkn_bt ,pdata 
-058a 98467c00 isub temp ,null 
-058b 24412d18 ncall g24_timer_timeout ,positive 
-058c 1fe22400 copy pdata ,regb 
-058d 68024c4a fetch 4 ,mem_24g_tx_btclk 
-058e 6808cc4e fetcht 1 ,mem_24g_interval 
-058f 98408400 iadd temp ,temp 
-0590 1a427e00 copy regb ,pdata 
-0591 98467c00 isub temp ,null 
-0592 24610000 nrtn positive 
-0593 793ffe1c set0 28 ,pdata 
-0594 60024c4a store 4 ,mem_24g_tx_btclk 
-0595 20207fe7 branch enable_user 
-
-p_rssi_noise:
-0596 204029bb call save_rssi 
-0597 207a0000 rtn blank 
-0598 6808cce3 fetcht 1 ,mem_rssi_noise_index 
-0599 da200d9e arg mem_rssi_noise_buffer ,rega 
-059a 2040059d call p_rssi_store 
-059b 6008cce3 storet 1 ,mem_rssi_noise_index 
-059c 20600000 rtn 
-
-p_rssi_store:
-059d 1a227e00 copy rega ,pdata 
-059e 98408a00 iadd temp ,contw 
-059f 68008018 fetch 1 ,mem_rssi 
-05a0 e0a08000 istore 1 ,contw 
-05a1 18408401 increase 1 ,temp 
-05a2 18410407 and_into rssi_buf_len_signal ,temp 
-05a3 20600000 rtn 
+04ba 20407fe9 call disable_user 
+04bb 680a4c5e fetcht 4 ,mem_24g_tx_btclk 
+04bc 1c427e00 copy clkn_bt ,pdata 
+04bd 98467c00 isub temp ,null 
+04be 24412d18 ncall g24_timer_timeout ,positive 
+04bf 1fe22400 copy pdata ,regb 
+04c0 68024c5e fetch 4 ,mem_24g_tx_btclk 
+04c1 6808cc62 fetcht 1 ,mem_24g_interval 
+04c2 98408400 iadd temp ,temp 
+04c3 1a427e00 copy regb ,pdata 
+04c4 98467c00 isub temp ,null 
+04c5 24610000 nrtn positive 
+04c6 793ffe1c set0 28 ,pdata 
+04c7 60024c5e store 4 ,mem_24g_tx_btclk 
+04c8 20207fe7 branch enable_user 
 
 p_rssi_average:
-05a4 d8400000 arg 0 ,temp 
-05a5 df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
-05a6 1a220c00 copy rega ,contr 
+04c9 d8400000 arg 0 ,temp 
+04ca df200008 arg rssi_buf_len_signal + 1 ,loopcnt 
+04cb 1a220c00 copy rega ,contr 
 
 p_rssi_average_loop:
-05a7 e8c08000 ifetch 1 ,contr 
-05a8 98408400 iadd temp ,temp 
-05a9 c20005a7 loop p_rssi_average_loop 
-05aa 18497e00 rshift3 temp ,pdata 
-05ab 1fe20400 copy pdata ,temp 
-05ac c6930000 rtnmark0 mark_24g 
-05ad 1fe6fc0a div pdata ,10 
-05ae 20407f86 call wait_div_end 
-05af 1807fe00 quotient pdata 
-05b0 1ff27e00 lshift4 pdata ,pdata 
-05b1 18070400 remainder temp 
-05b2 98418400 ior temp ,temp 
-05b3 20600000 rtn 
-05b4 20600000 rtn 
-
-p_g24_update_addr_and_synccrc8:
-05b5 60024c51 store 4 ,mem_24g_addr 
-
-p_g24_syncword_crc8:
-05b6 da200000 arg 0 ,rega 
-05b7 df200004 arg 4 ,loopcnt 
-05b8 d8c04c51 arg mem_24g_addr ,contr 
-
-p_g24_syncword_crc8_loop:
-05b9 e8c08000 ifetch 1 ,contr 
-05ba 9a20a200 iadd rega ,rega 
-05bb c20005b9 loop p_g24_syncword_crc8_loop 
-05bc 1a227e00 copy rega ,pdata 
-05bd 60014cda store 2 ,mem_24g_syncword 
-05be 6800ccda fetch 1 ,mem_24g_syncword 
-05bf 6808ccdb fetcht 1 ,mem_24g_syncword + 1 
-05c0 9840fe00 iadd temp ,pdata 
-05c1 6000ccdc store 1 ,mem_24g_syncword_crc8 
-05c2 20600000 rtn 
+04cc e8c08000 ifetch 1 ,contr 
+04cd 98408400 iadd temp ,temp 
+04ce c20004cc loop p_rssi_average_loop 
+04cf 18497e00 rshift3 temp ,pdata 
+04d0 1fe20400 copy pdata ,temp 
+04d1 c6930000 rtnmark0 mark_24g 
+04d2 1fe6fc0a div pdata ,10 
+04d3 20407f86 call wait_div_end 
+04d4 1807fe00 quotient pdata 
+04d5 1ff27e00 lshift4 pdata ,pdata 
+04d6 18070400 remainder temp 
+04d7 98418400 ior temp ,temp 
+04d8 20600000 rtn 
 
 p_g24_transmit_prep:
-05c3 6800cc29 fetch 1 ,mem_24g_datalen 
-05c4 1fe0fe02 increase 2 ,pdata 
-05c5 6000cc2b store 1 ,mem_24g_txlen 
-05c6 6800cc2a fetch 1 ,mem_24g_data_type 
-05c7 6000cbe5 store 1 ,mem_24g_txpayload 
-05c8 6800cc29 fetch 1 ,mem_24g_datalen 
-05c9 1fe9fe00 lshift3 pdata ,pdata 
-05ca 6808cc28 fetcht 1 ,mem_24g_pid 
-05cb 18410403 and temp ,0x03 ,temp 
-05cc 18438400 lshift temp ,temp 
-05cd 9841fe00 ior temp ,pdata 
-05ce 6808cc65 fetcht 1 ,mem_24g_no_ack 
-05cf 9840fe00 iadd temp ,pdata 
-05d0 e0a08000 istore 1 ,contw 
-05d1 6800cc29 fetch 1 ,mem_24g_datalen 
-05d2 98007200 iforce loopcnt 
-05d3 d8c04bc5 arg mem_24g_txbuf ,contr 
-05d4 20207f01 branch memcpy 
+04d9 6800cc3d fetch 1 ,mem_24g_datalen 
+04da 1fe0fe02 increase 2 ,pdata 
+04db 6000cc3f store 1 ,mem_24g_txlen 
+04dc 6800cc3e fetch 1 ,mem_24g_data_type 
+04dd 6000cbf9 store 1 ,mem_24g_txpayload 
+04de 6800cc3d fetch 1 ,mem_24g_datalen 
+04df 1fe9fe00 lshift3 pdata ,pdata 
+04e0 6808cc3c fetcht 1 ,mem_24g_pid 
+04e1 18410403 and temp ,0x03 ,temp 
+04e2 18438400 lshift temp ,temp 
+04e3 9841fe00 ior temp ,pdata 
+04e4 6808cc79 fetcht 1 ,mem_24g_no_ack 
+04e5 9840fe00 iadd temp ,pdata 
+04e6 e0a08000 istore 1 ,contw 
+04e7 6800cc3d fetch 1 ,mem_24g_datalen 
+04e8 98007200 iforce loopcnt 
+04e9 d8c04bd9 arg mem_24g_txbuf ,contr 
+04ea 20207f01 branch memcpy 
 
 p_g24_ch:
-05d5 6808cc34 fetcht 1 ,mem_24g_current_ch_number 
-05d6 204005d9 call p_g24_ch_map_size 
-05d7 6008cc34 storet 1 ,mem_24g_current_ch_number 
-05d8 20600000 rtn 
+04eb 6808cc48 fetcht 1 ,mem_24g_current_ch_number 
+04ec 204004ef call p_g24_ch_map_size 
+04ed 6008cc48 storet 1 ,mem_24g_current_ch_number 
+04ee 20600000 rtn 
 
 p_g24_ch_map_size:
-05d9 204005dd call p_g24_ch_calc 
-05da 18408401 increase 1 ,temp 
-05db 18410403 and_into 3 ,temp 
-05dc 20600000 rtn 
+04ef 204004f3 call p_g24_ch_calc 
+04f0 18408401 increase 1 ,temp 
+04f1 18410403 and_into 3 ,temp 
+04f2 20600000 rtn 
 
 p_g24_ch_calc:
-05dd 6800cc51 fetch 1 ,mem_24g_addr 
-05de 1fe17e03 and_into 0x03 ,pdata 
-05df 1fefa204 mul32 pdata ,4 ,rega 
-05e0 58004c3a setarg mem_24g_ch_map1 
-05e1 9a20fe00 iadd rega ,pdata 
-05e2 98408c00 iadd temp ,contr 
-05e3 e8c08000 ifetch 1 ,contr 
-05e4 6000cc33 store 1 ,mem_24g_ch 
-05e5 20600000 rtn 
+04f3 6800cc65 fetch 1 ,mem_24g_addr 
+04f4 1fe17e03 and_into 0x03 ,pdata 
+04f5 1fefa204 mul32 pdata ,4 ,rega 
+04f6 58004c4e setarg mem_24g_ch_map1 
+04f7 9a20fe00 iadd rega ,pdata 
+04f8 98408c00 iadd temp ,contr 
+04f9 e8c08000 ifetch 1 ,contr 
+04fa 6000cc47 store 1 ,mem_24g_ch 
+04fb 20600000 rtn 
 
 p_g24_prep:
-05e6 7844fc00 disable enable_crc 
-05e7 7843fc00 disable enable_white 
-05e8 58555555 setarg 0x555555 
-05e9 98001e00 iforce crc24_init 
-05ea 6800cc33 fetch 1 ,mem_24g_ch 
-05eb 1fed8400 reverse pdata ,temp 
-05ec 79200401 set1 1 ,temp 
-05ed 18431c00 rshift temp ,white_init 
-05ee 20600000 rtn 
+04fc 7844fc00 disable enable_crc 
+04fd 7843fc00 disable enable_white 
+04fe 58555555 setarg 0x555555 
+04ff 98001e00 iforce crc24_init 
+0500 6800cc47 fetch 1 ,mem_24g_ch 
+0501 1fed8400 reverse pdata ,temp 
+0502 79200401 set1 1 ,temp 
+0503 18431c00 rshift temp ,white_init 
+0504 20600000 rtn 
 
 p_g24_receive_rxon:
-05ef 204005e6 call p_g24_prep 
-05f0 7857fc00 disable user3 
-05f1 7826fc00 enable decode_fec0 
-05f2 7830fc00 enable is_rx 
-05f3 78507c00 disable is_tx 
-05f4 78287c00 enable swfine 
-05f5 68014c2c fetch 2 ,mem_24g_rx_window 
-05f6 98003600 iforce stop_watch 
-05f7 37c18400 correlate null ,timeout 
-05f8 242c062b nbranch p_g24_sync_timeout ,sync 
-05f9 7846fc00 disable decode_fec0 
-05fa 7825fc00 enable decode_fec1 
-05fb 7823fc00 enable enable_white 
-05fc 7824fc00 enable enable_crc 
-05fd 20400628 call p_g24_receive_byte 
-05fe 6000ccdd store 1 ,mem_24g_get_syncword_crc8 
-05ff 6808ccdc fetcht 1 ,mem_24g_syncword_crc8 
-0600 98467c00 isub temp ,null 
-0601 2422862b nbranch p_g24_end_of_packet ,zero 
-0602 20400628 call p_g24_receive_byte 
-0603 6000cba3 store 1 ,mem_24g_rxbuf 
-0604 6800cc6f fetch 1 ,mem_24g_mode 
-0605 1fe67c02 sub pdata ,rx_24g ,null 
-0606 2022860b branch p_g24_receive_skip ,zero 
-0607 6800cba3 fetch 1 ,mem_24g_rxbuf 
-0608 6808cc2a fetcht 1 ,mem_24g_data_type 
-0609 a8400e00 icompare bits_data ,temp 
-060a 2420862b nbranch p_g24_end_of_packet ,true 
+0505 204004fc call p_g24_prep 
+0506 7857fc00 disable user3 
+0507 7826fc00 enable decode_fec0 
+0508 7830fc00 enable is_rx 
+0509 78507c00 disable is_tx 
+050a 78287c00 enable swfine 
+050b 68014c40 fetch 2 ,mem_24g_rx_window 
+050c 98003600 iforce stop_watch 
+050d 37c18400 correlate null ,timeout 
+050e 242c053d nbranch p_g24_sync_timeout ,sync 
+050f 7846fc00 disable decode_fec0 
+0510 7825fc00 enable decode_fec1 
+0511 7823fc00 enable enable_white 
+0512 7824fc00 enable enable_crc 
+0513 2040053a call p_g24_receive_byte 
+0514 6000ccf1 store 1 ,mem_24g_get_syncword_crc8 
+0515 6808ccf0 fetcht 1 ,mem_24g_syncword_crc8 
+0516 98467c00 isub temp ,null 
+0517 2422853d nbranch p_g24_end_of_packet ,zero 
+0518 2040053a call p_g24_receive_byte 
+0519 6000cbb7 store 1 ,mem_24g_rxbuf 
+051a 6800cbb7 fetch 1 ,mem_24g_rxbuf 
+051b 6808cc3e fetcht 1 ,mem_24g_data_type 
+051c a8400e00 icompare bits_data ,temp 
+051d 2420853d nbranch p_g24_end_of_packet ,true 
 
 p_g24_receive_skip:
-060b 20400628 call p_g24_receive_byte 
-060c e0a08000 istore 1 ,contw 
-060d 1fe97e00 rshift3 pdata ,pdata 
-060e 1fe1721f and pdata ,0x1f ,loopcnt 
-060f 20228613 branch p_g24rx_nopayload ,zero 
+051e 2040053a call p_g24_receive_byte 
+051f e0a08000 istore 1 ,contw 
+0520 1fe97e00 rshift3 pdata ,pdata 
+0521 1fe1721f and pdata ,0x1f ,loopcnt 
+0522 20228526 branch p_g24rx_nopayload ,zero 
 
 p_g24rx_loop:
-0610 20400628 call p_g24_receive_byte 
-0611 e0a08000 istore 1 ,contw 
-0612 c2000610 loop p_g24rx_loop 
+0523 2040053a call p_g24_receive_byte 
+0524 e0a08000 istore 1 ,contw 
+0525 c2000523 loop p_g24rx_loop 
 
 p_g24rx_nopayload:
-0613 18a22200 copy contw ,rega 
-0614 20400628 call p_g24_receive_byte 
-0615 6000cd64 store 1 ,mem_rssi_hex_received 
-0616 1a220a00 copy rega ,contw 
-0617 09800018 parse demod ,bucket ,24 
-0618 78287c00 enable swfine 
-0619 db600664 arg param_sifs ,stop_watch 
-061a 1fef7e00 rshift32 pdata ,pdata 
-061b 1ff17e00 rshift16 pdata ,pdata 
-061c e0a18000 istore 3 ,contw 
-061d 7845fc00 disable decode_fec1 
-061e 2023062b branch p_g24_end_of_packet ,crc_failed 
-061f 7837fc00 enable user3 
-0620 68008017 fetch 1 ,mem_last_freq 
-0621 1fe0a200 add pdata ,0 ,rega 
-0622 20402981 call rf_write_freq 
-0623 7846fc00 disable decode_fec0 
-0624 20402918 call set_sync_on 
-0625 6800cd64 fetch 1 ,mem_rssi_hex_received 
-0626 20400014 call p_rssi_signal 
-0627 20600000 rtn 
+0526 18a22200 copy contw ,rega 
+0527 2040053a call p_g24_receive_byte 
+0528 6000cd78 store 1 ,mem_rssi_hex_received 
+0529 1a220a00 copy rega ,contw 
+052a 09800018 parse demod ,bucket ,24 
+052b 78287c00 enable swfine 
+052c db600664 arg param_sifs ,stop_watch 
+052d 1fef7e00 rshift32 pdata ,pdata 
+052e 1ff17e00 rshift16 pdata ,pdata 
+052f e0a18000 istore 3 ,contw 
+0530 7845fc00 disable decode_fec1 
+0531 2023053d branch p_g24_end_of_packet ,crc_failed 
+0532 7837fc00 enable user3 
+0533 68008017 fetch 1 ,mem_last_freq 
+0534 1fe0a200 add pdata ,0 ,rega 
+0535 20402981 call rf_write_freq 
+0536 7846fc00 disable decode_fec0 
+0537 20402918 call set_sync_on 
+0538 6800cd78 fetch 1 ,mem_rssi_hex_received 
+0539 20200010 branch p_rssi_signal 
 
 p_g24_receive_byte:
-0628 09800008 parse demod ,bucket ,8 
-0629 19897e00 rshift3 pwindow ,pdata 
-062a 20600000 rtn 
+053a 09800008 parse demod ,bucket ,8 
+053b 19897e00 rshift3 pwindow ,pdata 
+053c 20600000 rtn 
 
 p_g24_sync_timeout:
 
 p_g24_end_of_packet:
-062b 784dfc00 disable encode_fec1 
-062c 7845fc00 disable decode_fec1 
-062d 2040264d call end_of_packet 
-062e 20600000 rtn 
+053d 784dfc00 disable encode_fec1 
+053e 7845fc00 disable decode_fec1 
+053f 2020264d branch end_of_packet 
 
 p_g24_set_freq_tx:
-062f 20402918 call set_sync_on 
-0630 6808cc33 fetcht 1 ,mem_24g_ch 
-0631 20202933 branch set_freq_tx 
+0540 20402918 call set_sync_on 
+0541 6808cc47 fetcht 1 ,mem_24g_ch 
+0542 20202933 branch set_freq_tx 
 
 p_g24_transmit:
-0632 204053c4 call le_enable 
-0633 68024c51 fetch 4 ,mem_24g_addr 
-0634 98001200 iforce access 
-0635 204005e6 call p_g24_prep 
-0636 2040062f call p_g24_set_freq_tx 
-0637 79202a00 set1 txgfsk ,radio_ctrl 
-0638 782efc00 enable encode_fec0 
-0639 78307c00 enable is_tx 
-063a 7850fc00 disable is_rx 
-063b 19317e00 rshift16 access ,pdata 
-063c 1fecfe00 rshift8 pdata ,pdata 
-063d 1ff1fe00 rshift4 pdata ,pdata 
-063e 08008628 inject mod ,40 
-063f 784efc00 disable encode_fec0 
-0640 782dfc00 enable encode_fec1 
-0641 7823fc00 enable enable_white 
-0642 7824fc00 enable enable_crc 
-0643 6800ccdc fetch 1 ,mem_24g_syncword_crc8 
-0644 08008608 inject mod ,8 
-0645 6800cc2b fetch 1 ,mem_24g_txlen 
-0646 98007200 iforce loopcnt 
-0647 d8c04be5 arg mem_24g_txpayload ,contr 
+0543 204053c4 call le_enable 
+0544 68024c65 fetch 4 ,mem_24g_addr 
+0545 98001200 iforce access 
+0546 204004fc call p_g24_prep 
+0547 20400540 call p_g24_set_freq_tx 
+0548 79202a00 set1 txgfsk ,radio_ctrl 
+0549 782efc00 enable encode_fec0 
+054a 78307c00 enable is_tx 
+054b 7850fc00 disable is_rx 
+054c 19317e00 rshift16 access ,pdata 
+054d 1fecfe00 rshift8 pdata ,pdata 
+054e 1ff1fe00 rshift4 pdata ,pdata 
+054f 08008628 inject mod ,40 
+0550 784efc00 disable encode_fec0 
+0551 782dfc00 enable encode_fec1 
+0552 7823fc00 enable enable_white 
+0553 7824fc00 enable enable_crc 
+0554 6800ccf0 fetch 1 ,mem_24g_syncword_crc8 
+0555 08008608 inject mod ,8 
+0556 6800cc3f fetch 1 ,mem_24g_txlen 
+0557 98007200 iforce loopcnt 
+0558 d8c04bf9 arg mem_24g_txpayload ,contr 
 
 p_g24tr_loop:
-0648 e8c08000 ifetch 1 ,contr 
-0649 08008608 inject mod ,8 
-064a c2000648 loop p_g24tr_loop 
-064b 78247c00 enable enable_parity 
-064c 08008618 inject mod ,24 
-064d 78447c00 disable enable_parity 
-064e 37d38200 until null ,tx_clear 
-064f 20000064 nop 100 
-0650 784efc00 disable encode_fec0 
-0651 784dfc00 disable encode_fec1 
-0652 20600000 rtn 
+0559 e8c08000 ifetch 1 ,contr 
+055a 08008608 inject mod ,8 
+055b c2000559 loop p_g24tr_loop 
+055c 78247c00 enable enable_parity 
+055d 08008618 inject mod ,24 
+055e 78447c00 disable enable_parity 
+055f 37d38200 until null ,tx_clear 
+0560 20000064 nop 100 
+0561 784efc00 disable encode_fec0 
+0562 784dfc00 disable encode_fec1 
+0563 20600000 rtn 
 
 p_drawing_optima:
-0653 6802469b fetch 4 ,mem_mouse_x 
-0654 207a0000 rtn blank 
-0655 204006ee call p_data_abs_check 
-0656 58000003 setarg 0x03 
-0657 204006e4 call p_pdata_greater_than_check 
-0658 205a06e0 call p_disable_asm ,blank 
-0659 245a06e2 ncall p_enable_asm ,blank 
-065a 58000002 setarg 0x02 
-065b 204006e9 call p_data_less_than_check 
-065c 205a06e0 call p_disable_asm ,blank 
-065d 6800cb26 fetch 1 ,mem_mouse_asm_flag 
-065e c0008662 beq 1 ,p_drawing_optima_modify 
+0564 6802469b fetch 4 ,mem_mouse_x 
+0565 207a0000 rtn blank 
+0566 204005ff call p_data_abs_check 
+0567 58000003 setarg 0x03 
+0568 204005f5 call p_pdata_greater_than_check 
+0569 205a05f1 call p_disable_asm ,blank 
+056a 245a05f3 ncall p_enable_asm ,blank 
+056b 58000002 setarg 0x02 
+056c 204005fa call p_data_less_than_check 
+056d 205a05f1 call p_disable_asm ,blank 
+056e 6800cb27 fetch 1 ,mem_mouse_asm_flag 
+056f c0008573 beq 1 ,p_drawing_optima_modify 
 
 p_drawing_optima_init:
-065f df200005 arg 5 ,loopcnt 
-0660 d8a04b26 arg mem_mouse_asm_flag ,contw 
-0661 20207ed4 branch clear_mem 
+0570 df200005 arg 5 ,loopcnt 
+0571 d8a04b27 arg mem_mouse_asm_flag ,contw 
+0572 20207ed4 branch clear_mem 
 
 p_drawing_optima_modify:
-0662 68014b27 fetch 2 ,mem_mouse_x_pre 
-0663 600111c5 store 2 ,mem_data_value 
-0664 20400695 call pre_xy_data_judge 
-0665 60014b27 store 2 ,mem_mouse_x_pre 
-0666 6801469b fetch 2 ,mem_mouse_x 
-0667 600111c5 store 2 ,mem_data_value 
-0668 204006a3 call current_xy_data_judge 
-0669 6001469b store 2 ,mem_mouse_x 
-066a 68014b29 fetch 2 ,mem_mouse_y_pre 
-066b 600111c5 store 2 ,mem_data_value 
-066c 20400695 call pre_xy_data_judge 
-066d 60014b29 store 2 ,mem_mouse_y_pre 
-066e 6801469d fetch 2 ,mem_mouse_y 
-066f 600111c5 store 2 ,mem_data_value 
-0670 204006a3 call current_xy_data_judge 
-0671 6001469d store 2 ,mem_mouse_y 
-0672 68014b27 fetch 2 ,mem_mouse_x_pre 
-0673 600111be store 2 ,mem_data_pre 
-0674 6801469b fetch 2 ,mem_mouse_x 
-0675 600111c0 store 2 ,mem_data_current 
-0676 20400685 call p_drawing_optima_data_x 
-0677 680111be fetch 2 ,mem_data_pre 
-0678 60014b27 store 2 ,mem_mouse_x_pre 
-0679 680111c0 fetch 2 ,mem_data_current 
-067a 6001469b store 2 ,mem_mouse_x 
-067b 68014b29 fetch 2 ,mem_mouse_y_pre 
-067c 600111be store 2 ,mem_data_pre 
-067d 6801469d fetch 2 ,mem_mouse_y 
-067e 600111c0 store 2 ,mem_data_current 
-067f 2040068d call p_drawing_optima_data_y 
-0680 680111be fetch 2 ,mem_data_pre 
-0681 60014b29 store 2 ,mem_mouse_y_pre 
-0682 680111c0 fetch 2 ,mem_data_current 
-0683 6001469d store 2 ,mem_mouse_y 
-0684 20600000 rtn 
+0573 68014b28 fetch 2 ,mem_mouse_x_pre 
+0574 600111c5 store 2 ,mem_data_value 
+0575 204005a6 call pre_xy_data_judge 
+0576 60014b28 store 2 ,mem_mouse_x_pre 
+0577 6801469b fetch 2 ,mem_mouse_x 
+0578 600111c5 store 2 ,mem_data_value 
+0579 204005b4 call current_xy_data_judge 
+057a 6001469b store 2 ,mem_mouse_x 
+057b 68014b2a fetch 2 ,mem_mouse_y_pre 
+057c 600111c5 store 2 ,mem_data_value 
+057d 204005a6 call pre_xy_data_judge 
+057e 60014b2a store 2 ,mem_mouse_y_pre 
+057f 6801469d fetch 2 ,mem_mouse_y 
+0580 600111c5 store 2 ,mem_data_value 
+0581 204005b4 call current_xy_data_judge 
+0582 6001469d store 2 ,mem_mouse_y 
+0583 68014b28 fetch 2 ,mem_mouse_x_pre 
+0584 600111be store 2 ,mem_data_pre 
+0585 6801469b fetch 2 ,mem_mouse_x 
+0586 600111c0 store 2 ,mem_data_current 
+0587 20400596 call p_drawing_optima_data_x 
+0588 680111be fetch 2 ,mem_data_pre 
+0589 60014b28 store 2 ,mem_mouse_x_pre 
+058a 680111c0 fetch 2 ,mem_data_current 
+058b 6001469b store 2 ,mem_mouse_x 
+058c 68014b2a fetch 2 ,mem_mouse_y_pre 
+058d 600111be store 2 ,mem_data_pre 
+058e 6801469d fetch 2 ,mem_mouse_y 
+058f 600111c0 store 2 ,mem_data_current 
+0590 2040059e call p_drawing_optima_data_y 
+0591 680111be fetch 2 ,mem_data_pre 
+0592 60014b2a store 2 ,mem_mouse_y_pre 
+0593 680111c0 fetch 2 ,mem_data_current 
+0594 6001469d store 2 ,mem_mouse_y 
+0595 20600000 rtn 
 
 p_drawing_optima_data_x:
-0685 680111be fetch 2 ,mem_data_pre 
-0686 680911c0 fetcht 2 ,mem_data_current 
-0687 9840fe00 iadd temp ,pdata 
-0688 6808cb9b fetcht 1 ,mem_mouse_data_xtemp 
-0689 9840fe00 iadd temp ,pdata 
-068a 1fe10401 and pdata ,0x01 ,temp 
-068b 6008cb9b storet 1 ,mem_mouse_data_xtemp 
-068c 202006ba branch p_drawing_optima_data 
+0596 680111be fetch 2 ,mem_data_pre 
+0597 680911c0 fetcht 2 ,mem_data_current 
+0598 9840fe00 iadd temp ,pdata 
+0599 6808cbb5 fetcht 1 ,mem_mouse_data_xtemp 
+059a 9840fe00 iadd temp ,pdata 
+059b 1fe10401 and pdata ,0x01 ,temp 
+059c 6008cbb5 storet 1 ,mem_mouse_data_xtemp 
+059d 202005cb branch p_drawing_optima_data 
 
 p_drawing_optima_data_y:
-068d 680111be fetch 2 ,mem_data_pre 
-068e 680911c0 fetcht 2 ,mem_data_current 
-068f 9840fe00 iadd temp ,pdata 
-0690 6808cb9c fetcht 1 ,mem_mouse_data_ytemp 
-0691 9840fe00 iadd temp ,pdata 
-0692 1fe10401 and pdata ,0x01 ,temp 
-0693 6008cb9c storet 1 ,mem_mouse_data_ytemp 
-0694 202006ba branch p_drawing_optima_data 
+059e 680111be fetch 2 ,mem_data_pre 
+059f 680911c0 fetcht 2 ,mem_data_current 
+05a0 9840fe00 iadd temp ,pdata 
+05a1 6808cbb6 fetcht 1 ,mem_mouse_data_ytemp 
+05a2 9840fe00 iadd temp ,pdata 
+05a3 1fe10401 and pdata ,0x01 ,temp 
+05a4 6008cbb6 storet 1 ,mem_mouse_data_ytemp 
+05a5 202005cb branch p_drawing_optima_data 
 
 pre_xy_data_judge:
-0695 680091c6 fetch 1 ,mem_data_value + 1 
-0696 203a0698 branch pre_xy_pdata_offset ,blank 
-0697 2020069d branch pre_xy_ndata_offset 
+05a6 680091c6 fetch 1 ,mem_data_value + 1 
+05a7 203a05a9 branch pre_xy_pdata_offset ,blank 
+05a8 202005ae branch pre_xy_ndata_offset 
 
 pre_xy_pdata_offset:
-0698 680091c5 fetch 1 ,mem_data_value 
-0699 204006b0 call pre_xy_get_0_4_times 
-069a 600091c5 store 1 ,mem_data_value 
+05a9 680091c5 fetch 1 ,mem_data_value 
+05aa 204005c1 call pre_xy_get_0_4_times 
+05ab 600091c5 store 1 ,mem_data_value 
 
 xy_data_offset_new:
-069b 680111c5 fetch 2 ,mem_data_value 
-069c 20600000 rtn 
+05ac 680111c5 fetch 2 ,mem_data_value 
+05ad 20600000 rtn 
 
 pre_xy_ndata_offset:
-069d 680091c5 fetch 1 ,mem_data_value 
-069e 204006dc call p_pdata_invert 
-069f 204006b0 call pre_xy_get_0_4_times 
-06a0 205a7fef call disable_blank ,blank 
-06a1 204006d8 call p_pdata_get_new_value 
-06a2 2020069b branch xy_data_offset_new 
+05ae 680091c5 fetch 1 ,mem_data_value 
+05af 204005ed call p_pdata_invert 
+05b0 204005c1 call pre_xy_get_0_4_times 
+05b1 205a7fef call disable_blank ,blank 
+05b2 204005e9 call p_pdata_get_new_value 
+05b3 202005ac branch xy_data_offset_new 
 
 current_xy_data_judge:
-06a3 680091c6 fetch 1 ,mem_data_value + 1 
-06a4 203a06a6 branch current_xy_pdata_offset ,blank 
-06a5 202006aa branch current_xy_ndata_offset 
+05b4 680091c6 fetch 1 ,mem_data_value + 1 
+05b5 203a05b7 branch current_xy_pdata_offset ,blank 
+05b6 202005bb branch current_xy_ndata_offset 
 
 current_xy_pdata_offset:
-06a6 680091c5 fetch 1 ,mem_data_value 
-06a7 204006b5 call current_xy_get_0_6_times 
-06a8 600091c5 store 1 ,mem_data_value 
-06a9 2020069b branch xy_data_offset_new 
+05b7 680091c5 fetch 1 ,mem_data_value 
+05b8 204005c6 call current_xy_get_0_6_times 
+05b9 600091c5 store 1 ,mem_data_value 
+05ba 202005ac branch xy_data_offset_new 
 
 current_xy_ndata_offset:
-06aa 680091c5 fetch 1 ,mem_data_value 
-06ab 204006dc call p_pdata_invert 
-06ac 204006b5 call current_xy_get_0_6_times 
-06ad 205a7fef call disable_blank ,blank 
-06ae 204006d8 call p_pdata_get_new_value 
-06af 2020069b branch xy_data_offset_new 
+05bb 680091c5 fetch 1 ,mem_data_value 
+05bc 204005ed call p_pdata_invert 
+05bd 204005c6 call current_xy_get_0_6_times 
+05be 205a7fef call disable_blank ,blank 
+05bf 204005e9 call p_pdata_get_new_value 
+05c0 202005ac branch xy_data_offset_new 
 
 pre_xy_get_0_4_times:
-06b0 1feffe04 mul32 pdata ,4 ,pdata 
-06b1 1fe6fc05 div pdata ,5 
-06b2 20407f86 call wait_div_end 
-06b3 1807fe00 quotient pdata 
-06b4 20600000 rtn 
+05c1 1feffe04 mul32 pdata ,4 ,pdata 
+05c2 1fe6fc05 div pdata ,5 
+05c3 20407f86 call wait_div_end 
+05c4 1807fe00 quotient pdata 
+05c5 20600000 rtn 
 
 current_xy_get_0_6_times:
-06b5 1feffe0c mul32 pdata ,12 ,pdata 
-06b6 1fe6fc0a div pdata ,10 
-06b7 20407f86 call wait_div_end 
-06b8 1807fe00 quotient pdata 
-06b9 20600000 rtn 
+05c6 1feffe0c mul32 pdata ,12 ,pdata 
+05c7 1fe6fc0a div pdata ,10 
+05c8 20407f86 call wait_div_end 
+05c9 1807fe00 quotient pdata 
+05ca 20600000 rtn 
 
 p_drawing_optima_data:
-06ba 600191c2 store 3 ,mem_data_sum 
-06bb 2feffe10 isolate1 16 ,pdata 
-06bc 202086c4 branch p_data_sum_overflow ,true 
-06bd 680091c3 fetch 1 ,mem_data_sum + 1 
-06be c07f86cb beq 0xff ,p_data_sum_n 
-06bf 680091c2 fetch 1 ,mem_data_sum 
+05cb 600191c2 store 3 ,mem_data_sum 
+05cc 2feffe10 isolate1 16 ,pdata 
+05cd 202085d5 branch p_data_sum_overflow ,true 
+05ce 680091c3 fetch 1 ,mem_data_sum + 1 
+05cf c07f85dc beq 0xff ,p_data_sum_n 
+05d0 680091c2 fetch 1 ,mem_data_sum 
 
 p_data_store_pre:
-06c0 1fe37e00 rshift pdata ,pdata 
-06c1 600111be store 2 ,mem_data_pre 
-06c2 600111c0 store 2 ,mem_data_current 
-06c3 20600000 rtn 
+05d1 1fe37e00 rshift pdata ,pdata 
+05d2 600111be store 2 ,mem_data_pre 
+05d3 600111c0 store 2 ,mem_data_current 
+05d4 20600000 rtn 
 
 p_data_sum_overflow:
-06c4 680091c3 fetch 1 ,mem_data_sum + 1 
-06c5 c00006c8 beq 0 ,p_data_sum_overflow_p 
-06c6 680191c2 fetch 3 ,mem_data_sum 
-06c7 202006c0 branch p_data_store_pre 
+05d5 680091c3 fetch 1 ,mem_data_sum + 1 
+05d6 c00005d9 beq 0 ,p_data_sum_overflow_p 
+05d7 680191c2 fetch 3 ,mem_data_sum 
+05d8 202005d1 branch p_data_store_pre 
 
 p_data_sum_overflow_p:
-06c8 7011c400 jam 0 ,mem_data_sum + 2 
-06c9 680091c2 fetch 1 ,mem_data_sum 
-06ca 202006c0 branch p_data_store_pre 
+05d9 7011c400 jam 0 ,mem_data_sum + 2 
+05da 680091c2 fetch 1 ,mem_data_sum 
+05db 202005d1 branch p_data_store_pre 
 
 p_data_sum_n:
-06cb 680091c2 fetch 1 ,mem_data_sum 
-06cc 204006d6 call p_pdata_get_half 
-06cd 600091be store 1 ,mem_data_pre 
-06ce 600091c0 store 1 ,mem_data_current 
-06cf 203a06d4 branch p_data_zero ,blank 
-06d0 580000ff setarg 0xff 
+05dc 680091c2 fetch 1 ,mem_data_sum 
+05dd 204005e7 call p_pdata_get_half 
+05de 600091be store 1 ,mem_data_pre 
+05df 600091c0 store 1 ,mem_data_current 
+05e0 203a05e5 branch p_data_zero ,blank 
+05e1 580000ff setarg 0xff 
 
 p_data_set_direction:
-06d1 600091bf store 1 ,mem_data_pre + 1 
-06d2 600091c1 store 1 ,mem_data_current + 1 
-06d3 20600000 rtn 
+05e2 600091bf store 1 ,mem_data_pre + 1 
+05e3 600091c1 store 1 ,mem_data_current + 1 
+05e4 20600000 rtn 
 
 p_data_zero:
-06d4 58000000 setarg 0 
-06d5 202006d1 branch p_data_set_direction 
+05e5 58000000 setarg 0 
+05e6 202005e2 branch p_data_set_direction 
 
 p_pdata_get_half:
-06d6 204006dc call p_pdata_invert 
-06d7 1fe37e00 rshift pdata ,pdata 
+05e7 204005ed call p_pdata_invert 
+05e8 1fe37e00 rshift pdata ,pdata 
 
 p_pdata_get_new_value:
-06d8 204006dd call p_rega_in_out 
-06d9 1fe67e00 sub pdata ,0 ,pdata 
-06da 600091c5 store 1 ,mem_data_value 
-06db 20600000 rtn 
+05e9 204005ee call p_rega_in_out 
+05ea 1fe67e00 sub pdata ,0 ,pdata 
+05eb 600091c5 store 1 ,mem_data_value 
+05ec 20600000 rtn 
 
 p_pdata_invert:
-06dc 1fe67e00 sub pdata ,0 ,pdata 
+05ed 1fe67e00 sub pdata ,0 ,pdata 
 
 p_rega_in_out:
-06dd 60008aae store 1 ,mem_rega 
-06de 68008aae fetch 1 ,mem_rega 
-06df 20600000 rtn 
+05ee 60008aae store 1 ,mem_rega 
+05ef 68008aae fetch 1 ,mem_rega 
+05f0 20600000 rtn 
 
 p_disable_asm:
-06e0 704b2600 jam 0 ,mem_mouse_asm_flag 
-06e1 20600000 rtn 
+05f1 704b2700 jam 0 ,mem_mouse_asm_flag 
+05f2 20600000 rtn 
 
 p_enable_asm:
-06e2 704b2601 jam 1 ,mem_mouse_asm_flag 
-06e3 20600000 rtn 
+05f3 704b2701 jam 1 ,mem_mouse_asm_flag 
+05f4 20600000 rtn 
 
 p_pdata_greater_than_check:
-06e4 9a267c00 isub rega ,null 
-06e5 24217fef nbranch disable_blank ,positive 
-06e6 9a467c00 isub regb ,null 
-06e7 24217fef nbranch disable_blank ,positive 
-06e8 20207ff1 branch enable_blank 
+05f5 9a267c00 isub rega ,null 
+05f6 24217fef nbranch disable_blank ,positive 
+05f7 9a467c00 isub regb ,null 
+05f8 24217fef nbranch disable_blank ,positive 
+05f9 20207ff1 branch enable_blank 
 
 p_data_less_than_check:
-06e9 9a267c00 isub rega ,null 
-06ea 24610000 nrtn positive 
-06eb 9a467c00 isub regb ,null 
-06ec 24610000 nrtn positive 
-06ed 20207ff1 branch enable_blank 
+05fa 9a267c00 isub rega ,null 
+05fb 24610000 nrtn positive 
+05fc 9a467c00 isub regb ,null 
+05fd 24610000 nrtn positive 
+05fe 20207ff1 branch enable_blank 
 
 p_data_abs_check:
-06ee 6801469b fetch 2 ,mem_mouse_x 
-06ef 204006f5 call p_data_abs 
-06f0 1fe22200 copy pdata ,rega 
-06f1 6801469d fetch 2 ,mem_mouse_y 
-06f2 204006f5 call p_data_abs 
-06f3 1fe22400 copy pdata ,regb 
-06f4 20600000 rtn 
+05ff 6801469b fetch 2 ,mem_mouse_x 
+0600 20400606 call p_data_abs 
+0601 1fe22200 copy pdata ,rega 
+0602 6801469d fetch 2 ,mem_mouse_y 
+0603 20400606 call p_data_abs 
+0604 1fe22400 copy pdata ,regb 
+0605 20600000 rtn 
 
 p_data_abs:
-06f5 600111c0 store 2 ,mem_data_current 
-06f6 680091c1 fetch 1 ,mem_data_current + 1 
-06f7 c07f86fb beq 0xff ,p_data_reversal 
-06f8 680091c0 fetch 1 ,mem_data_current 
+0606 600111c0 store 2 ,mem_data_current 
+0607 680091c1 fetch 1 ,mem_data_current + 1 
+0608 c07f860c beq 0xff ,p_data_reversal 
+0609 680091c0 fetch 1 ,mem_data_current 
 
 p_data_abs_store:
-06f9 1fe17eff and_into 0xff ,pdata 
-06fa 20600000 rtn 
+060a 1fe17eff and_into 0xff ,pdata 
+060b 20600000 rtn 
 
 p_data_reversal:
-06fb 680111c0 fetch 2 ,mem_data_current 
-06fc 1fe67e00 sub pdata ,0 ,pdata 
-06fd 202006f9 branch p_data_abs_store 
-
-p_mouse_data_init:
-06fe 7047a607 jam 7 ,mem_mouse_data_queue 
-06ff 7047a704 jam 4 ,mem_mouse_data_queue + 1 
-0700 580047a6 setarg mem_mouse_data_queue 
-0701 60014218 store 2 ,mem_queue_ptr 
-0702 20207e38 branch queue_init 
-
-p_mouse_data_push:
-0703 da20469a arg mem_mouse_key ,rega 
-0704 20407e3d call queue_push 
-0705 20540707 call p_mouse_queue_increase ,user 
-0706 20600000 rtn 
-
-p_mouse_queue_increase:
-0707 6800c7c7 fetch 1 ,mem_mouse_data_queue_num 
-0708 1fe0fe01 increase 1 ,pdata 
-0709 6000c7c7 store 1 ,mem_mouse_data_queue_num 
-070a 20600000 rtn 
-
-p_mouse_data_pull:
-070b da20469a arg mem_mouse_key ,rega 
-070c 20407e54 call queue_pop 
-070d 2034070f branch p_mouse_fill_data_le ,user 
-070e 20600000 rtn 
-
-p_mouse_fill_data_le:
-070f 20405652 call le_clear_md 
-0710 6800c7c7 fetch 1 ,mem_mouse_data_queue_num 
-0711 1fe67c01 sub pdata ,1 ,null 
-0712 24415650 ncall le_set_md ,positive 
-0713 6800c7c7 fetch 1 ,mem_mouse_data_queue_num 
-0714 207a0000 rtn blank 
-0715 1fe0ffff increase -1 ,pdata 
-0716 6000c7c7 store 1 ,mem_mouse_data_queue_num 
-0717 20203f90 branch mouse_fill_data_le 
-org 0x2000
+060c 680111c0 fetch 2 ,mem_data_current 
+060d 1fe67e00 sub pdata ,0 ,pdata 
+060e 2020060a branch p_data_abs_store 
+
+p_test_mode_start:
+060f 580012db setarg mem_test_mode_end 
+0610 d8a011c7 arg mem_test_mode_start ,contw 
+0611 98a67200 isub contw ,loopcnt 
+0612 20407ed4 call clear_mem 
+0613 2040062c call p_test_initialize_radio 
+0614 20400619 call pp_pn9 
+0615 7012d601 jam test_mode_carry ,mem_test_mode_switch 
+0616 7011cb20 jam 0x20 ,mem_fcc_data_new 
+0617 7011c705 jam 5 ,mem_fcc_ch_new 
+0618 20200682 branch p_test_tx_new_param 
+
+pp_pn9:
+0619 df2000ff arg 0xff ,loopcnt 
+061a d8a011d6 arg mem_pn9 ,contw 
+061b 580001ff setarg 0x1ff 
+061c 18002400 force 0 ,regb 
+
+pp_pn9_loop:
+061d 1fe92200 rshift3 pdata ,rega 
+061e 1a232200 rshift rega ,rega 
+061f 9a22a200 ixor rega ,rega 
+0620 2a2ffe00 isolate1 0 ,rega 
+0621 7920fe09 setflag true ,9 ,pdata 
+0622 18430400 rshift temp ,temp 
+0623 2feffe00 isolate1 0 ,pdata 
+0624 79208407 setflag true ,7 ,temp 
+0625 1fe37e00 rshift pdata ,pdata 
+0626 1a40a401 increase 1 ,regb 
+0627 2a400e00 compare 0 ,regb ,0x7 
+0628 2420861d nbranch pp_pn9_loop ,true 
+0629 e0a88000 istoret 1 ,contw 
+062a c200061d loop pp_pn9_loop 
+062b 20600000 rtn 
+
+p_test_initialize_radio:
+062c 70890700 jam 0x00 ,0x8907 
+062d 70890800 jam 0x00 ,0x8908 
+062e 70890900 jam 0x00 ,0x8909 
+062f 70890aff jam 0xff ,0x890a 
+0630 70890bff jam 0xff ,0x890b 
+0631 70890f2e jam 0x2e ,0x890f 
+0632 70891247 jam 0x47 ,rf_agc_ctrl 
+0633 70894bba jam 0xba ,0x894b 
+0634 70894cfb jam 0xfb ,0x894c 
+0635 70894def jam 0xef ,0x894d 
+0636 70894eec jam 0xec ,0x894e 
+0637 70894f5e jam 0x5e ,0x894f 
+0638 70896f88 jam 0x88 ,0x896f 
+0639 70897300 jam 0x00 ,0x8973 
+063a 70895a4a jam 0x4a ,0x895a 
+063b 70895c80 jam 0x80 ,0x895c 
+063c 708930a9 jam 0xa9 ,0x8930 
+063d 70892fad jam 0xad ,0x892f 
+063e 70892eb1 jam 0xb1 ,0x892e 
+063f 70892db5 jam 0xb5 ,0x892d 
+0640 70892cb9 jam 0xb9 ,0x892c 
+0641 70892bbd jam 0xbd ,0x892b 
+0642 70892ac2 jam 0xc2 ,0x892a 
+0643 708929c6 jam 0xc6 ,0x8929 
+0644 708928ca jam 0xca ,0x8928 
+0645 708927ce jam 0xce ,0x8927 
+0646 708926d2 jam 0xd2 ,0x8926 
+0647 708925d6 jam 0xd6 ,0x8925 
+0648 708924da jam 0xda ,0x8924 
+0649 708923de jam 0xde ,0x8923 
+064a 708922e2 jam 0xe2 ,0x8922 
+064b 708921e6 jam 0xe6 ,0x8921 
+064c 708920ea jam 0xea ,0x8920 
+064d 70891fee jam 0xee ,0x891f 
+064e 70891ef2 jam 0xf2 ,0x891e 
+064f 70891df6 jam 0xf6 ,0x891d 
+0650 70891cfb jam 0xfb ,0x891c 
+0651 70891bfb jam 0xfb ,0x891b 
+0652 70891afb jam 0xfb ,0x891a 
+0653 708947f5 jam 0xf5 ,0x8947 
+0654 708946e6 jam 0xe6 ,0x8946 
+0655 708945d7 jam 0xD7 ,0x8945 
+0656 708944d6 jam 0xD6 ,0x8944 
+0657 708943c7 jam 0xC7 ,0x8943 
+0658 708942c6 jam 0xC6 ,0x8942 
+0659 70894187 jam 0x87 ,0x8941 
+065a 70894086 jam 0x86 ,0x8940 
+065b 70893f85 jam 0x85 ,0x893f 
+065c 70893e46 jam 0x46 ,0x893e 
+065d 70893d07 jam 0x07 ,0x893d 
+065e 70893c06 jam 0x06 ,0x893c 
+065f 70893bc7 jam 0xC7 ,0x893b 
+0660 70893ac6 jam 0xC6 ,0x893a 
+0661 708939c5 jam 0xC5 ,0x8939 
+0662 708938c4 jam 0xC4 ,0x8938 
+0663 708937c3 jam 0xC3 ,0x8937 
+0664 708936c2 jam 0xC2 ,0x8936 
+0665 708935c1 jam 0xC1 ,0x8935 
+0666 708934c0 jam 0xC0 ,0x8934 
+0667 70893380 jam 0x80 ,0x8933 
+0668 70893280 jam 0x80 ,0x8932 
+0669 70893180 jam 0x80 ,0x8931 
+066a 70894a7f jam 0x7f ,0x894a 
+066b 708949f8 jam 0xf8 ,0x8949 
+066c 70894800 jam 0x00 ,0x8948 
+066d 708955d0 jam 0xd0 ,0x8955 
+066e 708956e0 jam 0xe0 ,0x8956 
+066f 70895788 jam 0x88 ,0x8957 
+0670 7089586c jam 0x6c ,0x8958 
+0671 70895910 jam 0x10 ,0x8959 
+0672 20600000 rtn 
+
+p_test_set_sync_on:
+0673 70890477 jam 0x77 ,rfen_msc 
+0674 70890303 jam 0x03 ,rfen_sn 
+0675 2000000a nop 10 
+0676 70890383 jam 0x83 ,rfen_sn 
+0677 7089047f jam 0x7f ,rfen_msc 
+0678 708903a7 jam 0xa7 ,rfen_sn 
+0679 20600000 rtn 
+
+p_test_shutdown_radio:
+067a 20000064 nop 100 
+067b 708955d8 jam 0xd8 ,0x8955 
+067c 20000028 nop 40 
+067d 708955d2 jam 0xd2 ,0x8955 
+067e 20000028 nop 40 
+067f 708955d1 jam 0xd1 ,0x8955 
+0680 20000028 nop 40 
+0681 20202908 branch shutdown_radio_0db 
+
+p_test_tx_new_param:
+0682 20400715 call p_button_check 
+0683 680891c8 fetcht 1 ,mem_fcc_mod_new 
+0684 18417e0f and temp ,0x0f ,pdata 
+0685 c0008689 beq 1 ,p_test_txrx_param 
+0686 c0018689 beq 3 ,p_test_txrx_param 
+0687 c0038689 beq 7 ,p_test_txrx_param 
+0688 7011c801 jam 0x01 ,mem_fcc_mod_new 
+
+p_test_txrx_param:
+0689 680091c9 fetch 1 ,mem_fcc_txrx_new 
+068a 1fe17e03 and pdata ,0x03 ,pdata 
+068b 600091c9 store 1 ,mem_fcc_txrx_new 
+068c c0008690 beq 1 ,p_test_btble_param 
+068d c0010690 beq 2 ,p_test_btble_param 
+068e c0018690 beq 3 ,p_test_btble_param 
+068f 7011c901 jam 0x01 ,mem_fcc_txrx_new 
+
+p_test_btble_param:
+0690 680091ca fetch 1 ,mem_fcc_btble_new 
+0691 1fe17e0f and pdata ,0x0f ,pdata 
+0692 600091ca store 1 ,mem_fcc_btble_new 
+0693 c0008697 beq 1 ,p_test_isdate_param 
+0694 c0010697 beq 2 ,p_test_isdate_param 
+0695 c0020697 beq 4 ,p_test_isdate_param 
+0696 7011ca01 jam 0x01 ,mem_fcc_btble_new 
+
+p_test_isdate_param:
+0697 680091cb fetch 1 ,mem_fcc_data_new 
+0698 1fe17e30 and pdata ,0x30 ,pdata 
+0699 600091cb store 1 ,mem_fcc_data_new 
+069a c000069d beq 0 ,p_test_data_length_param 
+069b c010069d beq 0x20 ,p_test_data_length_param 
+069c 7011cb00 jam 0 ,mem_fcc_data_new 
+
+p_test_data_length_param:
+069d 680091cc fetch 1 ,mem_fcc_data_length_new 
+069e c00006a0 beq 0 ,p_data_length_equ0 
+069f 202006a1 branch p_test_bt_hop_stable_param 
+
+p_data_length_equ0:
+06a0 7011cc19 jam 0x19 ,mem_fcc_data_length_new 
+
+p_test_bt_hop_stable_param:
+06a1 680091cd fetch 1 ,mem_fcc_hop_new 
+06a2 1fe17e03 and pdata ,0x03 ,pdata 
+06a3 600091cd store 1 ,mem_fcc_hop_new 
+06a4 c00086a7 beq 1 ,p_test_tx_new_param_cont 
+06a5 c00106a7 beq 2 ,p_test_tx_new_param_cont 
+06a6 7011cd02 jam 0x02 ,mem_fcc_hop_new 
+
+p_test_tx_new_param_cont:
+06a7 680091c7 fetch 1 ,mem_fcc_ch_new 
+06a8 c00006ac beq 0 ,p_zero 
+06a9 d8400051 arg 81 ,temp 
+06aa 98467c00 isub temp ,null 
+06ab 242106ad nbranch p_test_tx_new_param_copy ,positive 
+
+p_zero:
+06ac 7011c702 jam 2 ,mem_fcc_ch_new 
+
+p_test_tx_new_param_copy:
+06ad 680391c7 fetch 7 ,mem_fcc_param_new 
+06ae 600391ce store 7 ,mem_fcc_param 
+
+p_test_tx_or_rx:
+06af 680091d0 fetch 1 ,mem_fcc_txrx 
+06b0 c00086b2 beq 0x01 ,p_test_tx_start 
+06b1 c0010709 beq 0x02 ,p_test_rx_start 
+
+p_test_tx_start:
+06b2 680891ce fetcht 1 ,mem_fcc_ch 
+06b3 184085ff increase -1 ,temp 
+
+p_test_24g_tx_on:
+06b4 680091d2 fetch 1 ,mem_fcc_data 
+06b5 c00006cc beq 0 ,p_test_24g_tx_data 
+06b6 20400673 call p_test_set_sync_on 
+06b7 204006ef call p_test_set_freq_tx 
+06b8 7843fc00 disable enable_white 
+06b9 782efc00 enable encode_fec0 
+06ba 78307c00 enable is_tx 
+06bb 680891cf fetcht 1 ,mem_fcc_mod 
+06bc 18422a00 copy temp ,radio_ctrl 
+06bd 680091d2 fetch 1 ,mem_fcc_data 
+06be 60108908 hstore 1 ,0x8908 
+
+p_test_tx_carrier_loop:
+06bf 680091d3 fetch 1 ,mem_fcc_data_length 
+06c0 1fe27200 copy pdata ,loopcnt 
+06c1 d8c011d6 arg mem_pn9 ,contr 
+
+p_pnloop_carrier:
+06c2 e8c08000 ifetch 1 ,contr 
+06c3 08008608 inject mod ,8 
+06c4 c20006c2 loop p_pnloop_carrier 
+06c5 20404c2e call hci_rx_packet 
+06c6 20400715 call p_button_check 
+06c7 680391ce fetch 7 ,mem_fcc_param 
+06c8 680b91c7 fetcht 7 ,mem_fcc_param_new 
+06c9 98467c00 isub temp ,null 
+06ca 202286bf branch p_test_tx_carrier_loop ,zero 
+06cb 20200682 branch p_test_tx_new_param 
+
+p_test_24g_tx_data:
+06cc 20400673 call p_test_set_sync_on 
+06cd 204006ef call p_test_set_freq_tx 
+06ce 204002da call p_le_enable 
+06cf 79202a00 set1 txgfsk ,radio_ctrl 
+06d0 782efc00 enable encode_fec0 
+06d1 78307c00 enable is_tx 
+06d2 7850fc00 disable is_rx 
+06d3 2040547f call le_wait_tx 
+06d4 680091d2 fetch 1 ,mem_fcc_data 
+06d5 60108908 hstore 1 ,0x8908 
+06d6 d8a0119e arg mem_24g_common_temp ,contw 
+06d7 58cccccc setarg 0xcccccc 
+06d8 6001919e store 3 ,mem_24g_common_temp 
+06d9 e0a18000 istore 3 ,contw 
+06da e0a18000 istore 3 ,contw 
+06db e0a18000 istore 3 ,contw 
+06dc e0a18000 istore 3 ,contw 
+06dd e0a18000 istore 3 ,contw 
+06de e0a18000 istore 3 ,contw 
+06df e0a18000 istore 3 ,contw 
+06e0 df200018 arg 24 ,loopcnt 
+06e1 d8c0119e arg mem_24g_common_temp ,contr 
+
+p_pnloop_stable:
+06e2 e8c08000 ifetch 1 ,contr 
+06e3 08008608 inject mod ,8 
+06e4 c20006e2 loop p_pnloop_stable 
+06e5 204006ee call p_test_ble_bt_tx_off 
+
+p_stable_stop:
+06e6 20218682 branch p_test_tx_new_param ,timeout 
+06e7 20404c2e call hci_rx_packet 
+06e8 680391ce fetch 7 ,mem_fcc_param 
+06e9 680b91c7 fetcht 7 ,mem_fcc_param_new 
+06ea 98467c00 isub temp ,null 
+06eb 202286e6 branch p_stable_stop ,zero 
+06ec 204006ee call p_test_ble_bt_tx_off 
+06ed 20200682 branch p_test_tx_new_param 
+
+p_test_ble_bt_tx_off:
+06ee 2020067a branch p_test_shutdown_radio 
+
+p_test_set_freq_tx:
+06ef 60088017 storet 1 ,mem_last_freq 
+06f0 1840a201 add temp ,1 ,rega 
+06f1 20402981 call rf_write_freq 
+06f2 58000500 setarg param_pll_setup 
+06f3 20402a8f call sleep 
+
+p_test_txon:
+06f4 70890601 jam 0x1 ,rfen_adc 
+06f5 7089003c jam 0x3c ,rfen_rx 
+06f6 708901e0 jam 0xe0 ,rfen_tx 
+06f7 70896d12 jam 0x12 ,0x896d 
+06f8 2000000a nop 10 
+06f9 70890201 jam 0x01 ,rfen_mdm 
+06fa 7089023d jam 0x3d ,rfen_mdm 
+06fb 2000000a nop 10 
+06fc 708903b7 jam 0xb7 ,rfen_sn 
+06fd 2000000a nop 10 
+06fe 7089027d jam 0x7d ,rfen_mdm 
+06ff 708956ce jam 0xce ,0x8956 
+0700 20000004 nop 4 
+0701 708955d1 jam 0xd1 ,0x8955 
+0702 20000004 nop 4 
+0703 708955d2 jam 0xd2 ,0x8955 
+0704 20000004 nop 4 
+0705 708955d8 jam 0xd8 ,0x8955 
+0706 20000004 nop 4 
+0707 708955d8 jam 0xd8 ,0x8955 
+0708 20600000 rtn 
+
+p_test_rx_start:
+0709 680891ce fetcht 1 ,mem_fcc_ch 
+070a 184085ff increase -1 ,temp 
+070b 20400713 call p_test_ble_rx_on 
+
+p_test_rx_loop:
+070c 20404c2e call hci_rx_packet 
+070d 20400715 call p_button_check 
+070e 680391ce fetch 7 ,mem_fcc_param 
+070f 680b91c7 fetcht 7 ,mem_fcc_param_new 
+0710 98467c00 isub temp ,null 
+0711 2022870c branch p_test_rx_loop ,zero 
+0712 20200682 branch p_test_tx_new_param 
+
+p_test_ble_rx_on:
+0713 204006ee call p_test_ble_bt_tx_off 
+0714 202053df branch lerx_setfreq + 1 
+
+p_button_check:
+0715 20400248 call p_mouse_check_key_gpio 
+0716 c0008735 beq mouse_l_button ,p_channel_map_change_incre 
+0717 c001074c beq mouse_r_button ,p_channel_map_change_decre 
+0718 c002071d beq mouse_m_button ,p_mode_change 
+0719 7012d700 jam 0 ,mem_test_mode_switch_enable 
+071a 7012d900 jam 0 ,mem_test_ch_switch_incre_enable 
+071b 7012da00 jam 0 ,mem_test_ch_switch_decre_enable 
+071c 20600000 rtn 
+
+p_mode_change:
+071d 680092d7 fetch 1 ,mem_test_mode_switch_enable 
+071e 247a0000 nrtn blank 
+071f 7012d701 jam 1 ,mem_test_mode_switch_enable 
+0720 20400722 call p_mode_cnt 
+0721 20200728 branch p_mode_judge 
+
+p_mode_cnt:
+0722 680092d6 fetch 1 ,mem_test_mode_switch 
+0723 1fe0fe01 pincrease 1 
+0724 600092d6 store 1 ,mem_test_mode_switch 
+0725 c1820000 rtnne test_mode_max_count 
+0726 7012d601 jam test_mode_carry ,mem_test_mode_switch 
+0727 20600000 rtn 
+
+p_mode_judge:
+0728 680092d6 fetch 1 ,mem_test_mode_switch 
+0729 c000872d beq test_mode_carry ,p_mode_carry 
+072a c0010730 beq test_mode_carry_data ,p_mode_carry_and_data 
+072b c0018733 beq test_mode_rx ,p_mode_rx 
+072c 20600000 rtn 
+
+p_mode_carry:
+072d 7011cb20 jam 0x20 ,mem_fcc_data_new 
+072e 7011c901 jam 0x01 ,mem_fcc_txrx_new 
+072f 20600000 rtn 
+
+p_mode_carry_and_data:
+0730 7011cb00 jam 0 ,mem_fcc_data_new 
+0731 7011c901 jam 0x01 ,mem_fcc_txrx_new 
+0732 20600000 rtn 
+
+p_mode_rx:
+0733 7011c902 jam 0x02 ,mem_fcc_txrx_new 
+0734 20600000 rtn 
+
+p_channel_map_change_incre:
+0735 680092d9 fetch 1 ,mem_test_ch_switch_incre_enable 
+0736 247a0000 nrtn blank 
+0737 7012d901 jam 1 ,mem_test_ch_switch_incre_enable 
+0738 2040073a call p_channel_cnt 
+0739 20200741 branch p_channel_judge_forward 
+
+p_channel_cnt:
+073a 680092d8 fetch 1 ,mem_test_ch_switch 
+073b 1fe0fe01 pincrease 1 
+073c 600092d8 store 1 ,mem_test_ch_switch 
+073d 1fe67c04 sub pdata ,4 ,null 
+073e 24628000 nrtn zero 
+073f 7012d801 jam 1 ,mem_test_ch_switch 
+0740 20600000 rtn 
+
+p_channel_judge_forward:
+0741 680092d8 fetch 1 ,mem_test_ch_switch 
+0742 c0008746 beq 1 ,p_chnnel_2405 
+0743 c0010748 beq 2 ,p_chnnel_2430 
+0744 c001874a beq 3 ,p_chnnel_2470 
+0745 20600000 rtn 
+
+p_chnnel_2405:
+0746 7011c705 jam 5 ,mem_fcc_ch_new 
+0747 20600000 rtn 
+
+p_chnnel_2430:
+0748 7011c71e jam 30 ,mem_fcc_ch_new 
+0749 20600000 rtn 
+
+p_chnnel_2470:
+074a 7011c746 jam 70 ,mem_fcc_ch_new 
+074b 20600000 rtn 
+
+p_channel_map_change_decre:
+074c 680092da fetch 1 ,mem_test_ch_switch_decre_enable 
+074d 247a0000 nrtn blank 
+074e 7012da01 jam 1 ,mem_test_ch_switch_decre_enable 
+074f 2040073a call p_channel_cnt 
+
+p_channel_judge_back:
+0750 680092d8 fetch 1 ,mem_test_ch_switch 
+0751 c0018746 beq 3 ,p_chnnel_2405 
+0752 c0008748 beq 1 ,p_chnnel_2430 
+0753 c001074a beq 2 ,p_chnnel_2470 
+0754 20600000 rtn 
+              org 0x2000
 
 start:
 2000 20402abc call lpmstate 
@@ -35069,4 +35154,4 @@
 7ffb e0a08000 istore 1 ,contw 
 7ffc c2007ff9 loop reverse_loop 
 7ffd 20600000 rtn 
-rtn 
+
Index: program/patch.prog
===================================================================
--- /branch/mouse_project/YJX_Project/mingAo_Only24g/program/patch.prog	(revision 2401)
+++ /branch/mouse_project/YJX_Project/mingAo_Only24g/program/patch.prog	(working copy)
@@ -1,14 +1,11 @@
 //define DONGLE
 define MOUSE
-//define BLE
-//define CLASSIC_BT
 define MOUSE_SMOOTHER
-define G24_NEW_RF_HOP
 define XY_OFFSET
+define TEST_MODE
 //define ADC_ENABLE
 //define P24G_LOG
 //define RF_DEBUG
-//define HIGH_REPORT
 //define MEMLOG
 
 //define DEBUGLOG
@@ -17,10 +14,6 @@
 //define DEBUGLOG_CMD
 //define DEBUGLOG_MISC
 //define DEBUGLOG_STATUS
-//define DEBUGLOG_PARSE_LMP
-//define DEBUGLOG_SEND_LMP
-//define DEBUGLOG_CONN_SM
-//define DEBUGLOG_UPPER_SM
 
 ifdef PATCH
 	bbit1 8,pf_patch_ext
@@ -30,52 +23,17 @@
 	beq patch10_5,p_shutdown_radio
 	beq patch11_1,p_set_freq_tx
 	beq patch11_2,p_initialize_radio_cont
-ifdef CLASSIC_BT
-	beq patch03_3,p_page_wait_fhs_reply_ok
-	beq patch09_2,p_prepare_tx
- 	beq patch0b_1,p_process_dmh
-	beq patch0a_1,p_slave_conn_recv_packet
 	beq patch14_7,p_lpm_dispatch
-	beq patch19_3,p_app_bt_start_reconnect
-	beq patch1d_1,p_mouse_bb_disconnected
-endif	
-	beq patch14_1,p_init_param
-	beq patch16_1,p_lpm_check_wake_lock
 	beq patch16_2,p_g24_dispatch
 	beq patch18_4,p_device_init
 	//beq patch19_1,p_app_flag_store
 	//beq patch19_2,p_app_initflag_check
 	beq patch1c_3,p_mouse_seting_dpi
 	beq patch1c_6,p_mouse_motion
-	beq patch1d_2,p_mouse_bb_event_discovery_btn
-	beq patch1d_3,p_mouse_start_discovery
-	beq patch1d_4,p_mouse_stop_discovery
 	branch loop
 pf_patch_ext:
-ifdef BLE
-	beq patch27_1,p_le_slave_match
-	beq patch28_3,p_le_next_adv_channel
-	beq patch29_2,p_le_receive_skip
-	beq patch2a_7,p_le_update_param
-	beq patch2c_3,p_le_prepare_tx
-	beq patch2c_7,p_le_parse_l2cap
-	beq patch2d_2,p_le_adv_not_match
-	beq patch2e_7,p_le_lpm_setmult
-endif	
-ifdef CLASSIC_BT
-	beq patch20_5,p_hid_rx_process
-	beq patch30_0,p_parse_lmp_accepted
-	beq patch30_2,p_send_lmp
-	beq patch31_0,p_process_conn_sm
-endif
 	beq patch27_7,p_le_enable
 	beq patch31_4,p_twspi_reset
-ifdef DEBUGLOG
-	beq patch2f_6,p_parse_lmp_opcode
-	beq patch37_6,p_process_upper_sm_reconn
-	beq patch3e_6,p_ui_ipc_send_event
-	beq patch3e_7,p_ui_ipc_send_cmd
-endif
 	branch loop
 	
 
@@ -100,10 +58,7 @@
 p_soft_reset_1:
 	arg mem_sp_state,contw
 	arg 12,loopcnt
-	call clear_mem
-ifdef BLE
-	call p_mouse_le_txbuff_load
-endif	
+	call clear_mem	
 	call rfcomm_init
 	call init_lmp
 	ncall lpm_disable_exen_output,wake
@@ -118,7 +73,6 @@
 	call ssp_disable
 ifdef SECURE_CONNECTION
 	call publickey_init
-
 endif
 endif
 	call lpm_recover_clk,wake
@@ -130,29 +84,6 @@
 	branch p_sp_cal_loop,blank
 	branch main_loop
 
-p_init_param:
-	setarg param_le_version
-	store 3,mem_lmp_version
-	setarg param_le_subversion
-	store 2,mem_lmp_version+3
-	branch init_param+12
-
-p_lpm_check_wake_lock:
-	rtnmark1 mark_24g
-	fetch 1,mem_mouse_multi_led_blink_count
-	nbranch disable_blank,blank
-	fetch 1,mem_mouse_multi_led_state
-	nbranch disable_blank,blank
-	fetch 1,mem_mouse_clear_sensor_data_flag
-	branch disable_blank,blank
-	fetch 1,mem_mouse_le_conn_param_reject
-	beq LE_LPM_DISABLE,disable_blank
-	fetch 2,mem_sdp_remote_cid
-	nbranch disable_blank,blank
-	fetch 1,mem_mouse_wheel_trigger
-	nbranch disable_blank,blank
-	branch enable_blank
-
 p_g24_dispatch:
 	rtnmark0 mark_24g
 	fetch 1,mem_g24_conn_sm
@@ -163,7 +94,6 @@
 p_g24_transmit_process:
 	call p_g24_txdata_prep
 	nbranch p_g24_nodata_transmit,user
-	jam 10,mem_g24_search_dongle_delay_count
 	call p_g24_rf_sta_check
 p_g24_transmit_start:
 	call p_g24_transmit_packet
@@ -175,31 +105,27 @@
 	call p_g24_lpm_wait
 	nrtn user
 	call p_clear_wake
-ifdef HIGH_REPORT	
-	setarg 16000
-else
 	setarg 63500
-endif
 	branch lpm_dispatch_sleep
 
 p_g24_pair_dispatch:
 	fetch 1,mem_g24_stop_g24_mode
-	beq 1,p_g24_stop_g24_mode
+	beq 1,g24_stop_24g_mode
 	call p_g24_tx_attemp_data_prep
 	call p_g24_transmit_receive_ack
 	nbranch p_g24_pair_txdata_retry,sync
 	nbranch p_g24_pair_txdata_retry,user3
-	fetch 1,mem_g24_conn_sm
-	set0 STATE_24G_PAIR,pdata
-	store 1,mem_g24_conn_sm
 	call p_g24_ackpayload_parse
 	fetch 4,mem_24g_addr
 	fetcht 4,mem_24g_allpowerful_addr
 	isub temp,null
 	branch p_g24_auto_pair_skip_rx_length,zero
-	fetch 1,mem_24g_rxdata_length	//ack payload length
-	rtn blank
+	call p_g24_pair_ackpayload_length_check	//ack payload length
+	nrtn user
 p_g24_auto_pair_skip_rx_length:
+	fetch 1,mem_g24_conn_sm
+	set0 STATE_24G_PAIR,pdata
+	store 1,mem_g24_conn_sm
 	call p_mouse_tx_power_init
 	fetch 4,mem_24g_addr
 	fetcht 4,mem_24g_paring_addr
@@ -211,13 +137,19 @@
 	call p_g24_store_dongle_addr,zero
 	branch p_g24_tx_attemp_dongle_succ
 
+p_g24_pair_ackpayload_length_check:
+	fetch 1,mem_24g_rxdata_length
+	beq BIND_ACKPAYLOAD_LENGTH,enable_user
+	beq BIND_ACKPAYLOAD_LENGTH_YC1131,enable_user
+	branch disable_user
+
 p_g24_store_dongle_addr:
 	fetch 4,mem_24g_rxpayload+2
 	branch p_g24_update_addr_and_synccrc8
 
 p_g24_reconn_dispatch:
 	fetch 1,mem_g24_stop_g24_mode
-	beq 1,p_g24_stop_g24_mode
+	beq 1,g24_stop_24g_mode
 	call p_g24_tx_attemp_data_prep
 	call p_g24_transmit_receive_ack
 	nbranch p_g24_attemp_txdata_retry,sync
@@ -228,17 +160,17 @@
 p_g24_tx_attemp_dongle_succ:
 	set1 mark_24g,mark
 	jam 0,mem_mouse_long_mult_flag
-	jam BT_EVT_24G_ATTEMPT_SUCCESS,mem_fifo_temp
-	call ui_ipc_send_event
+	call g24_tx_attemp_dongle_succ+4
 	call p_g24_txbuf_clear
 	branch p_g24_transmit_by_interrupt_enable
 
 g24_long_sleep_shorter_param_update:
-	fetch 1,mem_config_function_enable
-	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
 	setarg G24_LONG_SLEEP_STEP1
 	store 3,mem_24g_enter_hibernate
-	jam 30,mem_24g_long_sleep_param_update_timer
+	setarg G24_LONG_SLEEP_STEP1_TIMEOUT
+	store 2,mem_24g_long_sleep_param_update_timer
 	rtn
 
 p_g24_transmit_by_interrupt:
@@ -261,12 +193,12 @@
 p_g24_interval_min:
 	jam 0,mem_24g_pac_index
 	fetch 1,mem_24g_interval_min
+p_g24_interval_store:
 	store 1,mem_24g_interval
 	rtn
 p_g24_interval_max:
 	fetch 1,mem_24g_interval_max
-	store 1,mem_24g_interval
-	rtn	
+	branch p_g24_interval_store
 p_g24_interval_calibrate:
 	fetch 1,mem_24g_pac_index
 	increase 1,pdata
@@ -274,11 +206,6 @@
 	beq 4,p_g24_interval_max
 	beq 5,p_g24_interval_min
 	rtn
-p_g24_transmit_by_interrupt_enable:
-	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
-	setarg 0
-	store 2,mem_24g_transmit_by_interrupt_exit_count
-	rtn
 
 p_g24_nodata_transmit:
 	fetch 1,mem_24g_abort_pac
@@ -322,9 +249,8 @@
 	branch p_g24_transmit_start
 
 p_g24_search_dongle_init:
-	jam 0,mem_24g_search_dongle_action
-	jam 0,mem_24g_search_dongle_count
-	jam 0,mem_24g_search_dongle_ch
+	setarg 0
+	store 3,mem_24g_search_dongle_action
 	rtn
 
 p_g24_search_dongle:
@@ -384,7 +310,6 @@
 
 p_mouse_before_lpm:
 	rtnmark1 mark_24g
-//	call p_mouse_le_txbuff_save
 	call p_mouse_setgpio_lpm
 	fetch 1,mem_context
 	bbit0 state_inconn,p_clear_wake
@@ -414,36 +339,6 @@
 	rtn blank
 	branch p_mouse_seting_sensor_type	// make sdio high to make 100uA less	
 
-//p_mouse_le_txbuff_save:
-//	arg mem_le_tx_buffer0,contr
-//	arg mem_le_tx_buffer0_omemalloc,contw
-//	call p_mouse_le_txbuff_copy
-//	arg mem_le_tx_buffer1,contr
-//	arg mem_le_tx_buffer1_omemalloc,contw
-//	call p_mouse_le_txbuff_copy
-//	arg mem_le_tx_buffer2,contr
-//	arg mem_le_tx_buffer2_omemalloc,contw
-//	call p_mouse_le_txbuff_copy
-//	arg mem_le_tx_buffer3,contr
-//	arg mem_le_tx_buffer3_omemalloc,contw
-//p_mouse_le_txbuff_copy:
-//	arg 27,loopcnt
-//	branch memcpy
-
-//p_mouse_le_txbuff_load:
-//	arg mem_le_tx_buffer0_omemalloc,contr
-//	arg mem_le_tx_buffer0,contw
-//	call p_mouse_le_txbuff_copy
-//	arg mem_le_tx_buffer1_omemalloc,contr
-//	arg mem_le_tx_buffer1,contw
-//	call p_mouse_le_txbuff_copy
-//	arg mem_le_tx_buffer2_omemalloc,contr
-//	arg mem_le_tx_buffer2,contw
-//	call p_mouse_le_txbuff_copy
-//	arg mem_le_tx_buffer3_omemalloc,contr
-//	arg mem_le_tx_buffer3,contw
-//	branch p_mouse_le_txbuff_copy
-
 p_device_init:
 ifdef DEBUGLOG
 	call debuglog_init
@@ -452,7 +347,7 @@
 	store 2,mem_debuglog_datatype
 	setarg STATUS_LPM_WAKE
 	store 2,mem_debuglog_dataval
-	call debuglog_push	
+	call debuglog_push
 endif
 endif
 	call app_lpm_mult_enable
@@ -467,14 +362,12 @@
 endif
 endif
 	jam 0x20,core_gpio_pu0
-
-	call p_mouse_data_init
 	fetch 1,mem_tx_power
 	store 1,mem_tx_power_temp
 	call power_ctrl_pac_succ_cnt_init
-	fetch 1,mem_ui_button_timeout
-	store 1,mem_combination_ui_button_count	//combination key timer init
-	call mouse_bt_discovery_button_down_disable
+//	fetch 1,mem_ui_button_timeout
+//	store 1,mem_combination_ui_button_count	//combination key timer init
+//	call mouse_bt_discovery_button_down_disable
 p_device_init_common:
 	call p_mouse_init
 	branch enable_authrom
@@ -491,77 +384,35 @@
 	call p_drawing_optima_init
 endif
 	call p_mouse_cb_fuction
-//	fetch 1,mem_power_on_flag
-//	bbit1 2,p_mouse_skip_24g_pair
-//	call p_mouse_check_key_gpio
+	
+	fetch 1,mem_power_on_flag
+	bbit1 2,p_mouse_skip_24g_pair
+	call p_mouse_check_key_gpio
+ifdef TEST_MODE
+	beq MOUSE_LMR_BUTTON,p_test_mode_start
+endif
 //	beq MOUSE_LM_BUTTON,p_mouse_24g_pairing_button
-//p_mouse_skip_24g_pair:
+p_mouse_skip_24g_pair:
 	branch p_mouse_wakeup_from_power
 
-p_mouse_check_reconn_target:
-	call p_mouse_tx_power_init
-	fetch 1,mem_xrecord_mode
-ifdef CLASSIC_BT	
-	beq REC_3_MODE,p_mouse3_0_check_reconn_target
-endif	
-	beq REC_4_MODE,p_mouse4_0_check_reconn_target
-	rtn
-
-
-ifdef CLASSIC_BT
-p_mouse3_0_check_reconn_target:
-	fetch 6,mem_hci_plap
-	branch app_bt_start_discovery_short,blank
-	branch mouse3_0_check_reconn_target+3
-endif
-
-p_mouse4_0_check_reconn_target:
-//	call p_mouse4_0_reconn_led_blink_init
-	jam 1,mem_mouse_le_reconnect_flag
-	fetch 2,mem_mouse_direct_timeout
-	store 2,mem_mouse_direct_timer
-	call app_lpm_mult_disable
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED
-	istore 1,contr
-	branch check_51cmd_adv
-
-p_le_check_adv_flag:
-	arg mem_le_adv_data,rega
-p_le_check_adv_flag_loop:
-	ifetch 1,rega	//length
-	rtn blank
-	iadd contr,rega
-	ifetch 1,contr	//type
-	rtneq 0x01
-	branch p_le_check_adv_flag_loop
-
-//p_mouse4_0_reconn_led_blink_init:
-//	jam 1,mem_mouse_ble_reconn_multi_led_blink_flag
-//	jam 9,mem_mouse_multi_led_blink_count
-//	branch p_mouse_dpi_multi_led_blink
-
-p_mouse_24g_pairing_button:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit0 MOUSE_ENABLE_24G
-	rtnbit1 MOSUE_24G_PAIRING_FLAG
-	rtnmark1 mark_24g
-	call mouse_devce_led_off
-	arg MOSUE_24G_PAIRING_FLAG,queue
-	call mouse_enable_function_flag
-	setarg 0
-	store 2,mem_mouse_direct_timer
-	store 1,mem_mouse_send_blank_timer
-	store 2,mem_24g_check_dongle_times
-	call mouse_stop_discovery
-	branch p_g24_auto_pair_start
+//p_mouse_24g_pairing_button:
+//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+//	rtnbit0 MOUSE_ENABLE_24G
+//	rtnbit1 MOSUE_24G_PAIRING_FLAG
+//	rtnmark1 mark_24g
+//	call mouse_devce_led_off
+//	arg MOSUE_24G_PAIRING_FLAG,queue
+//	call mouse_enable_function_flag
+//	setarg 0
+//	store 2,mem_mouse_direct_timer
+//	store 1,mem_mouse_send_blank_timer
+//	store 2,mem_24g_check_dongle_times
+//	call mouse_stop_discovery
+//	branch p_g24_auto_pair_start
 
 p_mouse_dpi_config:
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit0 MOUSE_ENABLE_EEPROM,mouse_dpi_config
 	fetch 1,mem_mouse_dpi
-	beq 0xff,p_mouse_dpi_config_default
-	branch p_mouse_seting_sensor_type
+	bne 0xff,p_mouse_seting_sensor_type
 p_mouse_dpi_config_default:
 	fetch 1,mem_config_sensor_motion
 	store 1,mem_mouse_dpi
@@ -578,10 +429,24 @@
 	call mouse_read_sensor_id
 	beq P32XX_ID1,p_mouse_init_p32xx_id2_judge
 	beq P3065_ID1,p_mouse_p3065_init_param
+	beq PKA5857_ID1,p_mouse_ka5857_id2_judge
 	call mouse_twspi_reset
 	nop 1000
 	branch p_mouse_init_sensor
 
+p_mouse_ka5857_id2_judge:
+	call p_mouse_sensor_poweron
+	fetch 1,mem_sensor_id2
+	beq PKA5857_ID2,p_mouse_ka5857_init_param
+	branch mouse_init_p32xx_id2_judge
+
+p_mouse_ka5857_init_param:
+	setarg 0x9106
+	call twspi_write
+	jam KA5857,mem_config_sensor_type
+	arg mem_sensor_ka5857_init,regc
+	branch p_sensor_wr_seq
+
 p_mouse_init_sensor_reset:
 	jam 1,mem_mouse_init_sensor_reset_flag
 	branch p_mouse_init_sunt
@@ -593,12 +458,21 @@
 	beq PKA8_ID2,p_mouse_ka8_init_param
 	beq P8009_ID2,p_mouse_8009_init_param
 	branch mouse_init_p32xx_id2_judge
+
 p_mouse_mx8650_init_param:
 	jam MX8650,mem_config_sensor_type
+	setarg 0x8006
+	call twspi_write
+	call delay_10ms
 	arg mem_sensor_8650_init,regc
+	call p_sensor_wr_seq
+	branch p_mouse_dpi_config
+
 p_sensor_wr_seq:
 	ifetch 2,regc
-	rtneq 0xff
+	arg 0xffff,temp
+	isub temp,null
+	rtn zero
 	call twspi_write
 	nop 12000
 	increase 2,regc
@@ -624,7 +498,7 @@
 	branch p_mouse_ka8ul_init_param,zero
 	call p_mouse_enable_ka8_sensor_wp
 	branch mouse_ka8_init_param
-	
+
 p_mouse_ka8ul_init_param:
 	jam KA8_UL,mem_config_sensor_type	
 	arg mem_sensor_ka8ul_init,regc
@@ -670,10 +544,11 @@
 
 p_mouse_p3065_init_param:
 	call p_mouse_sensor_poweron
-	fetch 1,mem_sensor_id2
-	beq P3065_XY_ID2,mouse_p3065xy_init_param
-	jam P3065,mem_config_sensor_type
-	rtn
+	branch mouse_p3065_init_param
+//	fetch 1,mem_sensor_id2
+//	beq P3065_XY_ID2,mouse_p3065xy_init_param
+//	jam P3065,mem_config_sensor_type
+//	rtn
 
 p_mouse_sensor_poweron:
 	arg mem_sensor_poweron_init,regc
@@ -690,29 +565,20 @@
 
 p_mouse_setting_config:
 	call p_g24_set_device_addr
-	//disable usb function
-	hfetch 1,core_usb_config
-	set0 4,pdata
-	hstore 1,core_usb_config
 	call mouse_gpio_init
-	
 //	fetcht 1,mem_mouse_multi_led_gpio
 //	call gpio_config_output
-	
 	call mouse_param_init
-ifdef CLASSIC_BT	
-	call p_mouse_bt_sdp_update
-endif
 	setarg 0
 	store 2,mem_lpm_interval
-	
+
 	call p_mouse_set_gpio_control_sensor
 	arg MOUSE_SPI1_SDIO_GPIO,temp
 	call gpio_config_input
 	fetcht 1,mem_select_sensor_angle_gpio
 	set0 gpio_active_bit,temp
 	call gpio_set_high_impedance
-
+	
 	setarg 0x1802	//16M XTAL
 	store 2,mem_fcomp_mul	
 	call mouse_adc_init
@@ -725,21 +591,11 @@
 	call clear_eeprom_size_2k
 	call mouse_load_eeprom_dpi
 	call mouse_eeprom_load_recon_info
-	fetch 1,mem_device_flag
-	sub pdata,0xff,null
-	call p_mouse_init_device_flag,zero
 p_mouse_init_iic_read_24g_addr:
 	call p_mouse_set_24g_addr_eeprom
 	branch iicd_read_eep_data
 
-p_mouse_init_device_flag:
-	jam 0x01,mem_device_flag
-	jam 0x34,mem_device1_type
-	rtn
-
 p_mouse_set_gpio_control_sensor:
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag 
-//	rtnbit0 MOUSE_ENABLE_GPIO_CONTROL_ADC_SENSOR
 p_mouse_sensor_set_angle:
 	hfetch 1,core_gpio_pu3
 	set0 5,pdata
@@ -759,41 +615,6 @@
 	jam MOUSE_9CLK_ANGLE,mem_config_sensor_angle
 	rtn
 
-ifdef CLASSIC_BT
-p_mouse_bt_sdp_update:
-	call enable_authrom
-	arg 0x8c00,contr
-	arg mem_mouse_uuid_list,contw
-	arg 369,loopcnt
-	call memcpy
-	//Attribute: HID SSR Host Max Latency
-	setarg 0x0f0209
-	istore 3,contw
-	setarg 0x120009
-	istore 3,contw
-	//Attribute: HID SSR Host Min Timeout
-	setarg 0x100209
-	istore 3,contw
-	setarg 0x000009
-	istore 3,contw
-	arg 0x8d71,contr
-	arg 265,loopcnt
-	call memcpy
-	
-	jam 0,mem_mouse_uuid_list+23	//Service Record Handle: 0x 00 01 00 00
-	jam 0x6d,mem_mouse_uuid_list+15	//total length
-	setarg 0x401f
-	store 2,mem_mouse_uuid_list+357	//timeout
-	setarg 0x6d04
-	store 2,mem_mouse_uuid_list+462	//VID
-	setarg 0x16b0
-	store 2,mem_mouse_uuid_list+468	//PID
-
-	setarg mem_mouse_uuid_list				//bt sdp start address
-	store 2,mem_ui_uuid_table
-	rtn
-endif
-
 //p_app_flag_store:
 //	arg 2,temp
 //	arg mem_timeup,rega
@@ -815,21 +636,10 @@
 	setarg 25
 	store 2,mem_24g_transmit_by_interrupt_exit_count_init
 	ncall p_mouse_24g_transmit_by_interrupt_exit_count_max,wake
-	
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit0 MOUSE_ENABLE_WAKEUP_FROM_POWER,p_mouse_wakeup_no_from_power
-//	fetch 1,mem_wakup_from_power_flag
-//	isolate0 gpio_latch,pdata
-//	nbranch p_mouse_wakeup_no_from_power,true
 p_mouse_wakeup_no_from_power:
 	fetch 1,mem_reconn_times_init
 	store 1,mem_reconn_times
-//	fetch 1,mem_config_function_enable	//standard do not need it
-//	rtnbit1 ENABLE_SELECT_DEVICE_BY_GPIO_BUTTON
-//	rtnbit1 ENABLE_SELECT_DEVICE_BY_SWITCH
 p_mouse_start_24g_mode:
-//	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	rtnbit0 MOUSE_ENABLE_24G
 	fetch 1,mem_power_on_flag
 	bbit1 2,p_g24_start_24g_mode	//hibernate goto reconn
 
@@ -840,8 +650,8 @@
 	setarg 0xffff	//power on goto pair
 	store 2,mem_24g_addr
 	istore 2,contw
-	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
-	call iicd_write_protect_eep_data
+//	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
+//	call iicd_write_protect_eep_data
 	branch p_g24_auto_pair_start
 
 p_g24_factory_check:
@@ -860,16 +670,6 @@
 p_mouse_cb_fuction:
 	setarg p_mouse_g24_package_data
 	store 2,mem_cb_24g_data
-ifdef BLE
-	setarg p_mouse_le
-	store 2,mem_cb_le_process
-	setarg p_le_mouse_bb_event_connect_complete
-	store 2,mem_cb_att_write
-endif	
-ifdef CLASSIC_BT
-	setarg p_mouse_bt
-	store 2,mem_cb_bt_process
-endif
 	setarg p_mouse_before_lpm
 	store 2,mem_cb_before_lpm
 	setarg p_mouse_priority_bb_event
@@ -880,87 +680,36 @@
 	store 2,mem_cb_before_hibernate
 	setarg p_mouse_bb_event_timer
 	store 2,mem_cb_event_timer
-	setarg mouse_spi_write_flash_cb
-	store 2,mem_cb_spi_flash_write_complate
 	rtn
 
 p_mouse_g24_package_data:
 	call mouse_g24_package_data
 	fetch 2,mem_mouse_z
 	rtn blank
-	branch p_g24_transmit_by_interrupt_enable
-	
-ifdef BLE	
-p_mouse_le:
-	call le_fifo_check_nearly_full
-	nrtn blank
-	fetch 1,mem_le_connect_status_flag
-	and pdata,0x03,pdata
-	rtnne 0x03
-	fetch 1,mem_mouse_clear_sensor_data_flag
-	call p_mouse_clear_sensor_data,blank
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_le_send_empty_packet
-//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_le_send_empty_packet
-	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_le_send_empty_packet
-	call mouse_motion
-	nrtn user
-	call p_mouse_le_current_mult_update
-	call p_mouse_data_xy_release
-	fetch 2,mem_mouse_z
-	ncall p_mouse_wheel_trigger,blank
-	branch p_mouse_data_push
-
-p_mouse_le_current_mult_update:
-	fetch 1,mem_config_function_enable
-	rtnbit1 ENABLE_SENSOR_MOTION_PIN
-	jam 0,mem_lpm_mult
-	jam 30,mem_mouse_le_current_mult_timer
-	rtn
-
-p_mouse_wheel_trigger:
-	jam 1,mem_mouse_wheel_trigger
-	jam 2,mem_mouse_wheel_trigger_timer
+p_g24_transmit_by_interrupt_enable:
+	jam G24_TX_TIMER_INT_ENABLE,mem_24g_transmit_by_interrupt
+	setarg 0
+	store 2,mem_24g_transmit_by_interrupt_exit_count
 	rtn
-endif	
-ifdef CLASSIC_BT
-p_mouse_bt:
-	rtn attempt
-	fetch 1,mem_app_handshake_flag
-	rtn blank
-	call l2cap_malloc_is_fifo_nearly_full
-	nrtn blank
-	fetch 1,mem_mouse_clear_sensor_data_flag
-	call p_mouse_clear_sensor_data,blank
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-//	bbit1 MOSUE_24G_PAIRING_FLAG,mouse_send_empty_data
-//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_send_empty_data
-	bbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG,mouse_send_empty_data
-	bbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,mouse_send_empty_data
-	call mouse_motion
-	nrtn user
-	fetch 2,mem_mouse_z
-	ncall p_mouse_wheel_trigger,blank
-	branch mouse_send_data
-endif
-
-p_mouse_clear_sensor_data:
-	call le_set_config_more_data
-	jam 1,mem_mouse_clear_sensor_data_flag
-	branch p_mouse_init_sensor_reset
 
 p_mouse_idle:
 	call ui_check_paring_button
+	call p_mouse_dpi_check
 	branch mouse_wheel_check
 
 p_mouse_dpi_check:
+	jam 0x05,mem_mouse_key_temp
 	fetcht 1,mem_dpi_button_gpio
-	call p_gpio_set_input_pd
+	fetch 1,mem_mouse_dpikey_press_status
+	call p_mouse_check_key
+	store 1,mem_mouse_dpikey_press_status
 	fetcht 1,mem_dpi_button_gpio
-	call gpio_get_bit
-	branch p_mouse_dpi_up,true
 	call p_gpio_set_input_pu
-p_mouse_dpi_down:
+	copy rega,pdata
+	bbit1 5,p_mouse_dpi_down
+	branch mouse_dpi_up
+
+p_mouse_dpi_down:	
 	fetch 1,mem_mouse_dpi_button_state
 	rtneq DPI_BUTTON_STATE_DOWN
 	jam DPI_BUTTON_STATE_DOWN,mem_mouse_dpi_button_state
@@ -968,156 +717,24 @@
 	increase 1,pdata
 	and pdata,0x03,pdata
 	store 1,mem_mouse_dpi
-//	increase 2,pdata
-//	store 1,mem_mouse_multi_led_blink_count
-//	call p_mouse_dpi_multi_led_blink
-	branch mouse_dpi_down+7
-
-p_mouse_dpi_up:
-	call p_gpio_set_input_pu
-	branch mouse_dpi_up
-
+	branch mouse_dpi_down+7 
 	
 p_mouse_priority_bb_event:
 	copy regc,pdata
-ifdef BLE	
-	beq BT_EVT_LE_CONNECTED,p_mouse_le_bb_event_connected
-	beq BT_EVT_LE_DISCONNECTED,p_mouse_le_bb_disconnected
-	beq BT_EVT_LE_ENC_INFO,p_mouse_le_enc_info
-	beq BT_EVT_LE_START_ENC,p_mouse_le_ll_start_encryt
-	beq BT_EVT_LE_PARSE_CONN_PAPA_UPDATE_RSP,p_mouse_le_conn_param_update_rsp_recieved
-endif
-ifdef CLASSIC_BT
-	beq BT_EVT_RECONN_FAILED,p_mouse_bb_event_reconn_failed
-	beq BT_EVT_RECONN_PAGE_TIMEOUT,p_mouse_bb_event_reconn_timeout
-	beq BT_EVT_VIRTUAL_CABLE_UNPLUG,p_mouse_irtual_cable_unplug
-	beq BT_EVT_SWITCH_NOT_ACCEPT,app_bt_role_switch	
-	beq BT_EVT_SNIFF_NOT_ACCEPT,p_mouse_sniff_not_accept
-	beq BT_EVT_BB_CONNECTED,p_mouse_bb_event_connected
-	beq BT_EVT_BB_DISCONNECTED,p_mouse_bb_event_disconnected
-	beq BT_EVT_SWITCH_SUCCESS_MASTER,p_mouse_enter_sniff_check
-endif
 	beq BT_EVT_24G_PAIRING_COMPLETE,p_mouse_24g_pairing_complete
-	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
 	beq BT_EVT_24G_ATTEMPT_SUCCESS,p_mouse_24g_attempt_success
+	beq BT_EVT_24G_ATTEMPT_FAIL,p_mouse_24g_attempt_fail
 	branch mouse_priority_bb_event+1
 
-ifdef BLE
-p_mouse_le_bb_event_connected:
-	jam 0,mem_mouse_long_mult_flag
-	call p_mouse_init_sensor_reset
-	call p_mouse_data_init
-	branch mouse_le_bb_event_connected
-
-p_mouse_le_bb_disconnected:
-	call p_mouse_sensor_powerdown_check
-	setarg LE_INTERVAL_8_75MS
-	store 2,mem_le_interval_min
-	store 2,mem_le_interval_min+2
-	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
-	jam 0,mem_mouse_clear_sensor_data_flag
-	call p_mouse_data_init
-	call le_clr_config_more_data
-	branch mouse_bb_disconnected
-
-p_mouse_le_enc_info:
-p_app_updata_le_param:
-	jam BT_CMD_LE_UPDATE_CONN,mem_fifo_temp
-	branch ui_ipc_send_cmd
-
-p_mouse_le_ll_start_encryt:
-	fetch 1,mem_mouse_le_reconnect_flag
-	beq 1,p_mouse_le_ll_reconn_start_encryt
-	branch p_mouse_le_ll_enable_start_enc_flag
-
-p_mouse_le_ll_reconn_start_encryt:
-	call p_app_updata_le_param
-	jam 20,mem_le_start_encrypt_timer
-p_mouse_le_ll_enable_start_enc_flag:
-	arg LL_START_ENC_FLAG,queue
-	branch mouse_le_enable_connect_flag
-
-p_mouse_le_conn_param_update_rsp_recieved:
-	fetch 2,mem_le_l2cap_signaling_conn_param_update_rsp_result
-	rtneq BLE_SIGNALING_CONNECT_PARAMETER_UPDATE_ACCEPTED
-	fetch 1,mem_le_tsniff
-	rshift2 pdata,pdata
-	sub pdata,LE_INTERVAL_15MS,null
-	rtn positive
-	setarg LE_INTERVAL_11_25MS
-	store 2,mem_le_interval_min
-	store 2,mem_le_interval_min+2
-	call p_app_updata_le_param
-	branch p_mouse_le_conn_param_lpm_disable
-endif
-
-
-ifdef CLASSIC_BT
-p_mouse_bb_event_reconn_timeout:
-p_mouse_bb_event_reconn_failed:
-	fetch 2,mem_ui_state_map
-	rtnbit1 UI_STATE_BTN_DOWN
-	rtnbit1 UI_STATE_BT_DISCOVERY
-	rtnbit1 UI_STATE_BLE_ADV
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_DOWN_FLAG
-//	bbit1 MOUSE_SELECT_DEVICE_FLAG,mouse_soft_reset
-//	bbit1 MOSUE_24G_PAIRING_FLAG,p_g24_start_pairing_sm1
-	branch app_bb_hibernate
-
-p_mouse_irtual_cable_unplug:
-	call mouse_irtual_cable_unplug
-	branch app_bb_hibernate
-
-p_mouse_sniff_not_accept:
-	fetch 1,mem_mouse_enter_sniff_count
-	rtneq 2
-	increase 1,pdata
-	store 1,mem_mouse_enter_sniff_count
-	jam 0x12,mem_sniff_param_interval	//89Hz
-	branch app_bt_enter_sniff
-
-p_mouse_bb_event_connected:
-	call p_mouse_discovey_led_blink_off
-	jam 0,mem_mouse_send_switch_req_timer
-	branch mouse_stop_discovery
-
-p_mouse_bb_event_disconnected:
-	call p_mouse_sensor_powerdown_check
-	branch mouse_bb_disconnected
-
-p_mouse_enter_sniff_check:
-	fetch 1,mem_mouse_enter_sniff_count
-	rtnne 2
-	jam 0,mem_mouse_enter_sniff_count
-	jam 0x0e,mem_sniff_param_interval	//89Hz
-	branch app_bt_enter_sniff
-
-p_mouse_bt_hid_handshake:
-	call p_mouse_init_sensor_reset
-	branch mouse_bt_hid_handshake
-	
-endif
-
 p_mouse_24g_pairing_complete:
 	jam 0,mem_mouse_sensor_powerdown_timer
 	call p_g24_auto_pair_timeout_clear
 	call p_mouse_init_sensor_reset
-
-	jam 1,mem_mouse_24g_enter_lpm_enable
 	arg MOSUE_24G_PAIRING_FLAG,queue
 	call mouse_disable_function_flag
-	setarg 0
-	store 2,mem_24g_pairing_timer_count
 	jam 0,mem_mouse_move_flag
-	
-	fetch 1,mem_config_sensor_type
-	sub pdata,P3610,null
-	call mouse_read_sensor3610_data,zero
-	ncall mouse_read_sensor_common,zero
-
+	call mouse_read_sensor_common
 	call p_mouse_tx_power_init
-
 	call p_mouse_set_24g_addr_eeprom	//store rx dongle addr to eeprom
 	branch iicd_write_protect_eep_data
 
@@ -1137,20 +754,7 @@
 	jam G24_TX_TIMER_INT_DISABLE,mem_24g_transmit_by_interrupt
 	call p_mouse_tx_power_init
 	call p_g24_check_51cmd_stop_24g
-	fetch 1,mem_mouse_mode_config
-	bbit1 MOUSE_24G_ONLY,app_enter_hibernate
-	jam 0,mem_link_key_exists
-	call mouse_eeprom_load_recon_info	
-	arg 3,loopcnt
-	arg mem_device1_addr,contr
-	call p_pdata_0xff_check
-	branch p_mouse_null_enter_hibernate_enable,user
-	branch p_mouse_check_reconn_target
-
-p_mouse_null_enter_hibernate_enable:	//ble never connected
-	jam 1,mem_mouse_null_enter_hibernate_flag
-	jam 40,mem_mouse_null_enter_hibernate_timer	//lmr 3s
-	rtn
+	branch app_enter_hibernate
 
 p_mouse_24g_attempt_success:
 	jam 0,mem_mouse_sensor_powerdown_timer
@@ -1161,9 +765,8 @@
 	branch iicd_write_protect_eep_data
 
 p_mouse_before_hibernate:
-	enable user
-	hfetch 4,0x8138
-	setflag user,26,pdata
+	hfetch 4,core_lpm_ctrl
+	set1 26,pdata
 	hstore 4,core_lpm_reg
 	call lpm_write_ctrl
 	call p_mouse_sensor_powerdown_check
@@ -1171,7 +774,7 @@
 	call mouse_devce_led_off
 	call mouse_before_hibernate_wheel_gpio_set
 	call p_mouse_setgpio_lpm_before
-	
+
 	fetcht 1,mem_mouse_common_gpio
 	call gpio_config_output
 	fetcht 1,mem_mouse_common_gpio
@@ -1180,7 +783,7 @@
 	set0 gpio_active_bit,temp
 	arg core_gpio_pu0,contw
 	branch gpio_set_bit
-
+	
 p_ice_gpio_set_input_pu: 
 	arg 29,temp
 	call gpio_config_input
@@ -1188,7 +791,6 @@
 	set1 gpio_active_bit,temp
 	arg core_gpio_pu0,contw
 	branch gpio_set_bit
-
 	
 p_mouse_sensor_powerdown_check:
 	fetch 1,mem_mouse_init_sensor_reset_flag
@@ -1201,16 +803,8 @@
 	call p_mouse_adc_read
 endif
 	call p_mouse_24g_long_sleep_param_update_timer
-	call p_mouse_wheel_trigger_timer
-	call p_mouse_null_enter_hibernate_timer
-	call p_mouse_dpi_check
-ifdef CLASSIC_BT	
-	call p_mouse_send_switch_req_timer
-	call mouse_check_hid_handshake_timer
-endif	
 	call mouse_check_no_data_timeout_timer
 	call p_mouse_sensor_powerdown_timer
-	call p_g24_search_dongle_delay_timer
 	branch p_mouse_g24_pair_timeout_timer
 
 p_mouse_sensor_powerdown_timer:
@@ -1218,11 +812,6 @@
 	arg p_mouse_sensor_powerdown,regb
 	branch timer_single_step
 
-p_g24_search_dongle_delay_timer:
-	arg mem_g24_search_dongle_delay_count,regc
-	arg 0,regb
-	branch timer_single_step
-
 p_mouse_g24_pair_timeout_timer:
 	arg mem_g24_stop_g24_mode_timeout,regc
 	arg p_mouse_g24_pair_timeout,regb
@@ -1231,97 +820,15 @@
 	jam 1,mem_g24_stop_g24_mode
 	rtn
 
-ifdef CLASSIC_BT
-p_mouse_send_switch_req_timer:
-	arg mem_mouse_send_switch_req_timer,regc
-	arg host_create_conn_resend,regb
-	branch timer_single_step
-endif
-
-p_mouse_wheel_trigger_timer:
-	arg mem_mouse_wheel_trigger_timer,regc
-	arg p_mouse_wheel_trigger_disable,regb
-	branch timer_single_step
-p_mouse_wheel_trigger_disable:
-	jam 0,mem_mouse_wheel_trigger
-	rtn
-
 p_mouse_24g_long_sleep_param_update_timer:
 	arg mem_24g_long_sleep_param_update_timer,regc
 	arg p_mouse_24g_long_sleep_normal_param,regb
-	branch timer_single_step
+	branch timer_single_step_2B
 p_mouse_24g_long_sleep_normal_param:
 	setarg G24_LONG_SLEEP_STEP3
 	store 3,mem_24g_enter_hibernate
 	jam 1,mem_mouse_long_mult_flag
 	rtn
-
-p_mouse_le_current_mult_update_timer:
-	arg mem_mouse_le_current_mult_timer,regc
-	arg p_mouse_le_current_mult_reinit,regb
-	branch timer_single_step
-p_mouse_le_current_mult_reinit:
-	fetch 1,mem_lpm_mult_init
-	store 1,mem_lpm_mult
-	jam 1,mem_mouse_long_mult_flag
-	rtn
-
-p_mouse_le_enable_att_list_timer:
-	arg mem_le_start_encrypt_timer,regc
-	arg mouse_le_write_enable,regb
-	branch timer_single_step	
-
-p_mouse_bt_discovery_check:
-	fetch 1,mem_config_function_enable
-	bbit1 ENABLE_BT_BUTTON,mouse_bt_discovery_by_button
-	
-//p_mouse_bt_discovery_commbination_key:
-//	call p_mouse_check_key_gpio
-//	beq MOUSE_LMR_BUTTON,p_mouse_bt_discovery_commbination_key_down
-
-p_mouse_bt_discovery_commbination_key_up:
-	fetch 1,mem_ui_button_timeout
-	store 1,mem_combination_ui_button_count	//combination key timer init 
-	fetch 1,mem_bt_discovey_button_statue
-	rtneq DPI_BUTTON_STATE_UP
-	jam DPI_BUTTON_STATE_UP,mem_bt_discovey_button_statue
-	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
-	call mouse_disable_function_flag
-	branch mouse_bt_discovery_button_down_disable
-p_mouse_bt_discovery_commbination_key_down:
-	jam 40,mem_mouse_null_enter_hibernate_timer
-	call p_mouse_bt_discovery_timer
-	branch mouse_bt_discovery_commbination_key_down+1
-
-p_mouse_bt_discovery_timer:
-	arg mem_combination_ui_button_count,regc
-	arg p_mouse_long_button_bt_discovery,regb
-	branch timer_single_step
-	
-p_mouse_long_button_bt_discovery:
-	call p_mouse_sensor_powerdown_check
-	fetch 2,mem_ui_state_map
-	isolate1 UI_STATE_BLE_ADV,pdata
-	call mouse_stop_le_adv,true		//reconnect adv
-	fetch 2,mem_ui_state_map
-	isolate1 UI_STATE_BT_RECONNECT,pdata
-	call mouse_cancel_reconnect,true
-	arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
-	call mouse_enable_function_flag
-	branch mouse_long_button_bt_discovry
-
-p_mouse_null_enter_hibernate_timer:
-	fetch 1,mem_mouse_null_enter_hibernate_flag
-	rtn blank
-	fetch 1,mem_mouse_null_enter_hibernate_timer
-	branch p_mouse_null_enter_hibernate,blank
-	increase -1,pdata
-	store 1,mem_mouse_null_enter_hibernate_timer
-	rtn
-p_mouse_null_enter_hibernate:
-	jam 0,mem_mouse_null_enter_hibernate_flag
-	branch app_enter_hibernate
-
 	
 ifdef ADC_ENABLE
 p_mouse_adc_read:
@@ -1505,76 +1012,102 @@
 	call p_mouse_check_key_gpio
 	branch mouse_key+1
 p_mouse_check_key_gpio:
-	arg 0,rega
+	fetch 1,mem_mouse_key
+	copy pdata,rega
 	call p_mouse_check_lkey_gpio
-	call p_mouse_check_rkey_gpio
-	call p_mouse_check_mkey_gpio
-	call p_mouse_check_skey_gpio
-	copy rega,pdata
+//	call p_mouse_check_rkey_gpio
+//	call p_mouse_check_mkey_gpio
+//	call p_mouse_check_bkkey_gpio
+//	call p_mouse_check_fwkey_gpio
+	branch mouse_check_key_gpio+11
+	
+/* temp is gpio number, pdata  is key status param */
+p_mouse_check_key:
+	store 1,mem_mouse_key_status
+	lshift pdata,pdata
+	copy pdata,regb
+	copy temp,regc
+	fetch 1,mem_mouse_key_temp
+	sub pdata,0x02,null
+	call p_gpio_set_input_pu,positive		// lmr key
+	ncall p_gpio_set_input_pd,positive		// b4 b5 dpi key
+	copy regc,temp
+	call gpio_get_bit
+	setflag true,0,regb		//true = 1,input low level	
+	and regb,0x07,pdata
+	fetcht 1,mem_mouse_key_temp
+	copy temp,queue
+	sub temp,0x02,null
+	beq 0x07,p_mouse_key_press		//  about 17~22ms three times
+	beq 0x00,p_mouse_key_release
 	rtn
-p_mouse_check_skey_gpio:
-	fetch 1,mem_bk_button_gpio
-	rtneq GPIO_DISABLE
-	call p_mouse_check_bk_key_gpio
-	branch p_mouse_check_fw_key_gpio
 	
 p_mouse_check_lkey_gpio:
+	jam 0x00,mem_mouse_key_temp
 	fetcht 1,mem_lbutton_gpio
-	call p_gpio_set_input_pu
-	fetcht 1,mem_lbutton_gpio
-	call gpio_get_bit
-	setflag true,0,rega			//true = 1,input low level
-	rtn
+	fetch 1,mem_mouse_lkey_press_status
+	call p_mouse_check_key
+	store 1,mem_mouse_lkey_press_status
 p_mouse_check_rkey_gpio:
+	jam 0x01,mem_mouse_key_temp
 	fetcht 1,mem_rbutton_gpio
-	call p_gpio_set_input_pu
-	fetcht 1,mem_rbutton_gpio
-	call gpio_get_bit
-	setflag true,1,rega			//true = 1,input low level
-	rtn
+	fetch 1,mem_mouse_rkey_press_status
+	call p_mouse_check_key
+	store 1,mem_mouse_rkey_press_status
 p_mouse_check_mkey_gpio:
+	jam 0x02,mem_mouse_key_temp
 	fetcht 1,mem_mbutton_gpio
-	call p_gpio_set_input_pu
-	fetcht 1,mem_mbutton_gpio
-	call gpio_get_bit
-	setflag true,2,rega			//true = 1,input low level
-	rtn
-p_mouse_check_bk_key_gpio:
+	fetch 1,mem_mouse_mkey_press_status
+	call p_mouse_check_key
+	store 1,mem_mouse_mkey_press_status
+p_mouse_check_bkkey_gpio:
+	jam 0x03,mem_mouse_key_temp
 	fetcht 1,mem_bk_button_gpio
-	call p_gpio_set_input_pd
+	fetch 1,mem_mouse_bkkey_press_status
+	call p_mouse_check_key
+	store 1,mem_mouse_bkkey_press_status
 	fetcht 1,mem_bk_button_gpio
-	call gpio_get_bit
-	nsetflag true,3,rega
-	branch p_gpio_set_input_pu
-p_mouse_check_fw_key_gpio:
+	call p_gpio_set_input_pu
+p_mouse_check_fwkey_gpio:
+	jam 0x04,mem_mouse_key_temp
 	fetcht 1,mem_fw_button_gpio
-	call p_gpio_set_input_pd
+	fetch 1,mem_mouse_fwkey_press_status
+	call p_mouse_check_key
+	store 1,mem_mouse_fwkey_press_status
 	fetcht 1,mem_fw_button_gpio
-	call gpio_get_bit
-	nsetflag true,4,rega
-	branch p_gpio_set_input_pu
-p_gpio_set_input_pd:
-	set0 gpio_active_bit,temp
-	arg core_gpio_pu0,contw
-	call gpio_set_bit
+p_gpio_set_input_pu:
 	set1 gpio_active_bit,temp
-	arg core_gpio_pd0,contw
+	arg core_gpio_pu0,contw
 	call gpio_set_bit
 	set0 gpio_active_bit,temp
-	arg core_gpio_oe0,contw
-	branch gpio_set_bit
+	branch p_gpio_set_input_pd4
 
-p_gpio_set_input_pu:
-	set1 gpio_active_bit,temp
+p_mouse_key_press:
+	branch p_qset1_rega,positive
+p_qset0_rega:	
+	qset0 rega
+	rtn		
+
+p_mouse_key_release:
+	branch p_qset0_rega,positive
+p_qset1_rega:	
+	qset1 rega
+	rtn
+
+p_gpio_set_input_pd:
+	set0 gpio_active_bit,temp
 	arg core_gpio_pu0,contw
 	call gpio_set_bit
-	set0 gpio_active_bit,temp
-	branch p_gpio_set_input_pd+4
+	set1 gpio_active_bit,temp
+p_gpio_set_input_pd4:
+	arg core_gpio_pd0,contw
+	branch gpio_set_high_impedance+4
 	
 p_mouse_cheak_sensor_data:
 	fetch 1,mem_config_sensor_type
 	beq P3212,p_mouse_p3212_sensor_motion
 	beq P8009,p_mouse_p8009_sensor_motion	
+	beq KA5857,mouse_p3212_sensor_motion_1+3
 p_mouse_p32xx_sensor_motion:
 	call mouse_clear_sensor_data
 	disable user
@@ -1620,6 +1153,7 @@
 	beq KA8,p_mouse_seting_ka8_dpi
 	beq KA8_UL,p_mouse_seting_ka8_dpi
 	beq KA8_HD,p_mouse_seting_3065XY_dpi
+	beq KA5857,p_mouse_seting_3212_dpi
 	beq P8009,p_mouse_seting_8009_dpi
 p_mouse_seting_3205_dpi:
 	fetch 1,mem_mouse_dpi
@@ -1688,296 +1222,6 @@
 	setarg 5
 	branch mouse_p3205_dpi
 
-p_mouse_bb_event_discovery_btn:
-	jam 0,mem_mouse_null_enter_hibernate_flag
-	jam 0,mem_mouse_null_enter_hibernate_timer
-	isolate1 mark_24g,mark
-	call p_g24_check_51cmd_stop_24g,true
-	branch mouse_bb_event_discovery_btn+1
-
-
-p_le_addr_random_config:
-	call load_adc_init
-	fetch 2,mem_0_5_adc_io_data	//adc data from otp
-	branch p_le_otp_adc_empty,blank
-	store 2,mem_random_addr_increase_count
-	rtn
-
-p_le_otp_adc_empty:
-	setarg 0x1122
-	store 2,mem_random_addr_increase_count
-	rtn
-
-p_mouse_start_discovery:
-	call p_mouse_tx_power_init
-	jam 0,mem_mouse_clear_sensor_data_flag
-	fetch 2,mem_ui_state_map
-	bbit1 UI_STATE_BLE_ADV,p_mouse_start_discovery_norandom
-	fetch MOUSE_FLAG_LEN,mem_mouse_flag
-	bbit0 MOUSE_ENABLE_BLE_RANDOM_ADDRE,p_mouse_start_discovery_norandom
-
-	call p_mouse_load_eeprom_random_addr_increase_count
-	fetcht 2,mem_random_addr_increase_count
-	fetch 2,mem_compare_addr_ff
-	isub temp,null
-	call p_le_addr_random_config,zero
-	fetcht 2,mem_random_addr_increase_count
-	increase 1,temp
-	storet 2,mem_random_addr_increase_count
-	storet 2,mem_le_lap+1
-	call p_mouse_store_eerpom_random_addr_increase_count
-	random pdata
-	store 1,mem_le_lap
-
-p_mouse_start_discovery_norandom:
-	call app_lpm_mult_disable
-	fetch 2,mem_discovery_timeout
-	store 2,mem_mouse_discovery_timer
-	jam 6,mem_connection_options
-	setarg 0
-	store 2,mem_mouse_no_data_timer
-	store 2,mem_mouse_direct_timer
-	arg MOUSE_STORE_EEPROM_FLAG,queue
-	call mouse_enable_function_flag
-	call mouse_bt_discovery_button_down_disable
-	fetch 1,mem_device_option
-	isolate1 MODE_4_MOUSE,pdata
-	call p_check_51cmd_adv,true
-	branch mouse_start_discovery_norandom+13
-
-p_mouse_store_eerpom_random_addr_increase_count:
-	arg 2,temp
-	arg mem_random_addr_increase_count,rega
-	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
-	branch iicd_write_protect_eep_data
-	
-p_mouse_load_eeprom_random_addr_increase_count:
-	arg 2,temp
-	arg mem_random_addr_increase_count,rega
-	arg MOUSE_RANDOM_ADDR_COUNT_EEPROM_OFFSET,regb
-	branch iicd_read_eep_data
-
-p_check_51cmd_adv:
-	jam 0,mem_mouse_le_reconnect_flag
-	call p_le_check_adv_flag
-	setarg ADV_FLAG_BREDR_NOT_SUPPORTED |ADV_FLAG_LIMITED_DISCOVERABLE
-	istore 1,contr
-	branch check_51cmd_adv
-
-p_mouse_stop_discovery:
-	setarg 0
-	store 2,mem_mouse_discovery_timer
-	call p_mouse_init_sensor_reset		//clear sensor data,confirm the motion pin high
-	branch mouse_stop_discovery+1
-
-ifdef BLE
-p_le_slave_match:
-	fetch 1,mem_le_md_count
-	pincrease 1
-	store 1,mem_le_md_count
-	beq LE_MD_MAX_COUNT,le_slave_cont
-	call le_acknowledge
-	call le_prepare_tx
-	call power_ctrl_start
-	branch le_slave_match+7
-
-p_le_next_adv_channel:
-	fetch 1,mem_le_ch_mapped
-	increase 1,pdata
-	store 1,mem_le_ch_mapped
-	rtnne 40
-	jam 37,mem_le_ch_mapped
-	rtn
-
-p_le_receive_skip:
-	call save_rssi
-	call p_rssi_signal
-	branch le_receive_skip+2
-
-p_le_update_param:
-	call p_mouse_le_conn_param_check
-	branch le_update_param+8
-p_mouse_le_lpm_mult_reinit:
-	fetch 1,mem_lpm_mult_init
-	store 1,mem_lpm_mult
-p_mouse_le_conn_param_lpm_enable:
-	jam LE_LPM_ENABLE,mem_mouse_le_conn_param_reject
-	rtn
-p_mouse_le_conn_param_lpm_disable:
-	jam LE_LPM_DISABLE,mem_mouse_le_conn_param_reject
-	rtn
-p_mouse_le_conn_param_check:
-	fetch 1,mem_le_new_conninterval
-	sub pdata,LE_INTERVAL_15MS,null
-	nbranch p_mouse_le_conn_param_lpm_disable,positive
-	fetch 1,mem_le_new_connslavelatency
-	fetcht 1,mem_lpm_mult_init
-	isub temp,null
-	branch p_mouse_le_lpm_mult_reinit,positive
-	fetch 1,mem_le_new_connslavelatency
-	store 1,mem_lpm_mult
-	branch p_mouse_le_conn_param_lpm_enable
-
-p_le_prepare_tx:
-	fetch 1,mem_le_arq
-	bbit1 wak,p_le_prepare_tx_wak
-	call power_ctrl_pac_succ_incrs	
-	fetch 1,mem_empty_count
-	nbranch p_le_send_empyt,blank
-	fetch 1,mem_le_state 
-	bbit0 lestate_encryption,p_le_tx_4
-	fetch 1,mem_le_rxbuf+1  
-	branch p_le_tx_4,blank  
-	branch le_send_empty      // send empty data when got non empty packet
-p_le_send_empyt:
-	fetch 1,mem_empty_count
-	increase -1,pdata
-	store 1,mem_empty_count
-	branch le_send_empty
-p_le_tx_4:	
-	fetch 1,mem_le_pairing_state
-	bne FLAG_LE_PAIRING_AFTER_AUTH,p_in_le_tx_4
-	jam 3,mem_empty_count
-p_in_le_tx_4:
-	call le_fifo_check_nearly_full
-	call p_mouse_data_pull,blank
-	branch le_prepare_tx+4
-
-p_le_prepare_tx_wak:
-	call p_le_check_tx_retransmit_setmd
-	branch p_le_power_ctrl_pac_succ_decrs
-
-p_le_check_tx_retransmit_setmd:
-	fetch 1,mem_le_connect_status_flag
-	and pdata,0x03,pdata
-	rtnne 0x03
-	fetch 1,mem_mouse_data_queue_num
-	rtn blank
-	fetch 1,mem_le_txlen
-	rtn blank
-	fetch 1,mem_le_txheader
-	set1 md,pdata
-	store 1,mem_le_txheader
-	call le_set_md
-ifdef DEBUGLOG
-ifdef DEBUGLOG_MISC
-	setarg DEBUGLOG_DTYPE_MISC
-	store 2,mem_debuglog_datatype
-	setarg MISC_LE_RETRANSMIT_MD
-	store 2,mem_debuglog_dataval
-	call debuglog_push	
-endif
-endif
-	rtn
-
-	
-	
-p_le_power_ctrl_pac_succ_decrs:
-ifdef DEBUGLOG
-ifdef DEBUGLOG_MISC
-	setarg DEBUGLOG_DTYPE_MISC
-	store 2,mem_debuglog_datatype
-	setarg MISC_LE_RETRANSMIT
-	store 2,mem_debuglog_dataval
-	call debuglog_push	
-endif
-endif
-	branch power_ctrl_pac_succ_decrs
-
-p_mouse_le_reconn_write_enable_timer_reinit:
-	fetch 1,mem_mouse_le_reconnect_flag
-	rtn blank
-	fetch 1,mem_le_connect_status_flag
-	and pdata,0x03,pdata
-	rtneq 0x03
-	jam 10,mem_le_start_encrypt_timer
-	rtn
-
-p_le_parse_l2cap:
-	ifetch 2,contr
-	beq LE_L2CAP_CID_ATT,p_le_parse_att
-	beq LE_L2CAP_CID_SMP,p_le_parse_smp
-	branch le_parse_l2cap+11
-p_le_parse_att:
-	call store_contr
-	call p_mouse_le_reconn_write_enable_timer_reinit
-	call get_contr
-	ifetch 3,contr
-	store 3,mem_le_att_opcode
-	beq ATTOP_READ_BY_GROUP_TYPE_REQUEST,p_le_parse_att_read_by_group_type_request
-	rshift8 pdata,temp
-	sub temp,0x24,null
-	branch le_parse_att+2,positive
-	arg mem_mouse_le_uuid_sup,temp
-	storet 2,mem_ui_le_uuid_table
-	call le_parse_att+2
-	setarg 0x8e7a
-	store 2,mem_ui_le_uuid_table
-	rtn
-
-p_le_parse_att_read_by_group_type_request:
-	call le_parse_att_read_by_group_type_request
-	call le_fifo_get_last_tx_ptr
-	increase 7,contr
-	ifetch 1,contr
-	rtnne ATTOP_READ_BY_GROUP_TYPE_RESPONSE
-	increase 5,contr
-	ifetch 2,contr
-	arg UUID_SERVICE_HIDS,temp
-	isub temp,null
-	nrtn zero
-	increase -4,contr
-	setarg 0x2b
-	istore 2,contr
-	rtn
-
-p_le_parse_smp:
-	ifetch 1,contr
-	beq SMP_PAIRING_FAILED,p_le_parse_smp_pairing_failed
-	branch le_parse_smp+1
-p_le_parse_smp_pairing_failed:
-	call le_parse_smp_pairing_failed
-	fetch 1,mem_le_state	//disable update conn param
-	set0 lestate_update_param,pdata
-	store 1,mem_le_state
-	branch le_parse_terminate_ind
-
-p_le_adv_not_match:
-	fetch 1,mem_le_ch_mapped
-	bne 39,le_adv_loop
-	call p_le_adv_random_delay
-	arg le_adv_interval_timer,queue
-	fetch 2,mem_le_adv_interval
-	branch timer_init
-p_le_adv_random_delay:
-	random pdata
-	arg 0x1ff,temp
-	iand temp,pdata
-	add pdata,250,pdata
-	branch delay
-
-p_le_lpm_setmult:
-	disable wake
-	branch p_le_lpm_set_mult_attempt,attempt
-	nbranch le_lpm_lost,match
-p_le_lpm_set_mult_attempt:
-	call lpm_match
-	fetch 2,mem_rx_window_sniff
-	store 2,mem_le_receive_window
-	fetch 1,mem_le_connect_status_flag
-	compare 3,pdata,3
-	nbranch lpm_mult_short,true
-	branch le_lpm_set_mult_attempt+3
-
-p_le_mouse_bb_event_connect_complete:
-	fetch 1,mem_mouse_le_reconnect_flag
-	nrtn blank
-	fetch 1,mem_le_att_handle
-	sub pdata,26,pdata
-	nrtn zero
-	branch mouse_le_write_enable
-endif
-
 p_le_enable:
 p_g24_enable:
 	jam 0x36,rf_adc_goff        /*For BLE, tune AGC_gain_offset, Max added*/
@@ -2007,307 +1251,12 @@
 	hstoret 1,core_gpio_oe3
 	rtn
 
-
-
-ifdef CLASSIC_BT
-p_page_wait_fhs_reply_ok:
- 	fetch 1, mem_page_rcv_fhs
-	increase 1,pdata
-	store 1, mem_page_rcv_fhs
-	call prepare_newconn
-p_master_newconn_loop:
- 	set1 mark_first_packet,mark
-	call master_newconn_once
-	branch p_newconn_poll_responded,sync
-	set0 mark_first_packet,mark
-	call new_conn_timeout
-	nbranch p_master_newconn_loop,blank
-	branch page_restart	
-
-p_newconn_poll_responded:
-	set0 mark_first_packet,mark
-	branch newconn_poll_responded
-
-p_process_dmh:
-	bmark1 mark_first_packet,end_of_packet			
-	branch process_dmh+1
-
-p_prepare_tx:
-	fetch 1,mem_state
-	isolate1 state_inconn,pdata
-	call p_bt_power_ctrl,true
-	branch prepare_tx+1
-p_bt_power_ctrl:
-	fetch 1,mem_arq
-	isolate1 wack,pdata
-	call power_ctrl_pac_succ_decrs,true
-	ncall power_ctrl_pac_succ_incrs,true
-	branch power_ctrl_start
-
-p_slave_conn_recv_packet:
-	call slave_receive_master_slot
-	nbranch shutdown_radio,sync
-	call save_rssi
-	call p_rssi_signal
-	branch slave_conn_recv_packet+4
-
-p_lpm_dispatch:
-	rtnmark1 mark_24g
-	call lpo_calibration
-	fetch 3,mem_clks_per_lpo
-	rtn blank
-	fetch 1,mem_lpm_mode
-	rtn blank
-	fetch 1,mem_ssp_enable
-	branch p_lpm_dispatch_next,blank
-	fetch 1,mem_sp_local_key_invalid	// simple pairing is not ready
-	rtn blank
-p_lpm_dispatch_next:
-	fetch 1,mem_le_sc_calc
-	nrtn blank
-	call lpm_check_wake_lock
-	nrtn blank
-	fetch 1,mem_context
-	compare 3,pdata,0x7							//sco won't sleep 
-	nbranch lpm_dispatch_unconn,true
-	fetch 2,mem_context + coffset_tsniff	//role switch 
-	arg 0xffff,temp
-	isub temp,null
-	rtn zero
-	branch lpm_dispatch_next+9
-
-p_app_bt_start_reconnect:
-	branch app_bt_start_reconnect+3
-
-p_mouse_bb_disconnected:
-	jam 0,mem_mouse_enter_sniff_count
-	jam 0x0e,mem_sniff_param_interval	//115Hz
-	call mouse_bb_discon_clear_stack
-	fetch APP_DISC_RSN_SIZE,mem_app_disconn_reason
-	bbit1 APP_DISC_BLE,mouse4_0_event_bb_disconn
-	bbit1 APP_DISC_BY_BUTTON,app_disconn_reason_clear
-	bbit1 APP_DISC_AFTER_PAIRING,p_mouse_event_light_state_pairing
-	bbit1 APP_DISC_AFTER_RECONN,p_mouse_event_light_state_hibernate
-	bbit1 APP_DISC_AFTER_SNIFF,p_mouse_event_light_state_hibernate
-	branch mouse_start_discovery
-	
-p_mouse_event_light_state_pairing:
-	bbit1 APP_DISC_AFTER_HANDSHAKE,p_mouse_event_light_state_hibernate
-	bbit1 APP_DISC_AFTER_SNIFF,p_mouse_event_light_state_hibernate
-	branch mouse_start_discovery
-p_mouse_event_light_state_hibernate:
-	fetch 2,mem_ui_state_map
-	bbit1 UI_STATE_BTN_DOWN,mouse_start_discovery
-	call app_disconn_reason_clear
-//	call p_mouse_check_key_gpio
-//	beq MOUSE_LMR_BUTTON,p_mouse_null_enter_hibernate_enable
-	branch app_bb_hibernate
-
-p_hid_rx_process:
-	fetch 2,mem_l2cap_payload_ptr
-	copy pdata,contr
-	ifetch 1,contr
-	store 1,mem_l2cap_rcv
-	and pdata,0x0f,temp
-	rshift4 pdata,pdata //hidtype
-	beq hid_type_set_protocol,p_hid_rx_set_protocol
-	branch hid_rx_process+6
-p_hid_rx_set_protocol:
-	call hid_rx_process_handshake
-	jam 0,mem_mouse_bt_boot_mode
-	fetch 1,mem_l2cap_rcv
-	isolate1 0,pdata
-	rtn true
-	jam 1,mem_mouse_bt_boot_mode	//boot mode
-	rtn
-
-p_parse_lmp_accepted:
-	fetch 1,mem_rxbuf+1
-	store 1,mem_lmi_accepted_opcode
-	beq LMP_SWITCH_REQ,p_parse_lmp_accepted_switch
-	branch parse_lmp_accepted+3
-p_parse_lmp_accepted_switch:
-	call parse_lmp_accepted_switch
-p_parse_send_lmp_accepted_switch:
-	jam 1,mem_bt_rcvd_switch_req_accept
-	rtn
-
-
-p_send_lmp:
-	disable user
-	call lmo_fifo_process
-
-ifdef DEBUGLOG
-ifdef DEBUGLOG_SEND_LMP
-	setarg DEBUGLOG_DTYPE_SEND_LMP
-	store 2,mem_debuglog_datatype
-//	fetch 1,mem_lmi_opcode
-//	store 1,mem_debuglog_dataval+1
-//	fetch 1,mem_lmp_to_send
-//	store 1,mem_debuglog_dataval
-	fetch 1,mem_lmp_to_send
-	store 2,mem_debuglog_dataval
-	ncall debuglog_push,blank
-endif
-endif
-	
-	fetch 1,mem_lmp_to_send
-	rtn blank
-	bbit1 7,p_send_lmp_escape
-	beq LMP_ACCEPTED,p_send_lmp_accepted
-	beq LMP_SETUP_COMPLETE,p_send_lmp_setup_complete
-	branch send_lmp0
-p_send_lmp_escape:
-	beq LMP_EXT_FEATURES_RES,p_send_lmpext_features_res
-	beq LMP_EXT_FEATURES_REQ,p_send_lmpext_features_req	
-	branch send_lmp_escape
-p_send_lmpext_features_res:
-	call p_check_ssp_enable
-	fetch 1,mem_lmp_to_send
-	branch send_lmpext_features_res
-p_send_lmpext_features_req:
-	call p_check_ssp_enable
-	fetch 1,mem_lmp_to_send
-	branch send_lmpext_features_req
-p_check_ssp_enable:
-	fetch 1,mem_ssp_enable 
-	branch ssp_disable,blank
-	branch ssp_enable
-
-p_send_lmp_setup_complete:
-	fetch 1,mem_device_option
-	sub pdata,dvc_op_module,null
-	call send_lmp_setup_complete_by_module,zero
-	fetch 1,mem_state
-	set1 state_conn_comp,pdata
-	store 1,mem_state
-//	copy clkn_bt,pdata
-//	store 4,mem_aurand_send_delay_time
-	branch send_lmp_setup_complete+8
-
-
-p_send_lmp_accepted:
-	force 2,pdata
-	call msg_send_lmp
-	fetch 1,mem_lmi_opcode
-	istore 1,contw
-	store 1,mem_lmi_opcode_temp
-	call send_lmp_follow
-ifdef DEBUGLOG
-ifdef DEBUGLOG_MISC
-	setarg DEBUGLOG_DTYPE_MISC
-	store 2,mem_debuglog_datatype
-	fetch 1,mem_lmi_opcode_temp
-	store 1,mem_debuglog_dataval
-	call debuglog_push	
-endif
-endif
-	fetch 1,mem_lmi_opcode_temp
-	branch send_lmp_accepted+7
-ifdef DEBUGLOG
-p_parse_lmp_opcode:
-ifdef DEBUGLOG
-ifdef DEBUGLOG_PARSE_LMP
-	setarg DEBUGLOG_DTYPE_PARSE_LMP
-	store 2,mem_debuglog_datatype
-//	fetch 1,mem_rxbuf+1
-//	store 1,mem_debuglog_dataval+1 
-//	fetch 1,mem_lmi_opcode2
-//	store 1,mem_debuglog_dataval
-	fetch 1,mem_lmi_opcode2
-	store 2,mem_debuglog_dataval
-	call debuglog_push 
-endif
-endif
-	branch parse_lmp+21
-
-p_process_conn_sm:
-	//nrtn master
-	call lmo_fifo_check
-	nrtn blank
-p_process_conn_sm_continue:
-	fetch 1,mem_conn_sm
-	rtn blank
-ifdef DEBUGLOG
-ifdef DEBUGLOG_CONN_SM
-	call pdata_push
-	setarg DEBUGLOG_DTYPE_CONN_SM
-	store 2,mem_debuglog_datatype
-	fetch 1,mem_conn_sm
-	store 2,mem_debuglog_dataval
-	call pdata_pull
-	call debuglog_push	
-endif
-endif
-	beq CONN_SM_SEND_CONN_REQ, p_host_create_conn_send_conn_req
-	branch process_conn_sm_continue+2
-
-p_host_create_conn_send_conn_req:
-	jam 20,mem_mouse_send_switch_req_timer
-	branch host_create_conn_send_conn_req
-
-	
-
-p_process_upper_sm_reconn:
-	fetch 1,mem_upper_sm_reconn
-	rtn blank
-ifdef DEBUGLOG
-ifdef DEBUGLOG_UPPER_SM
-	call pdata_push
-	setarg DEBUGLOG_DTYPE_UPPER_SM
-	store 2,mem_debuglog_datatype
-	fetch 1,mem_upper_sm_reconn
-	store 2,mem_debuglog_dataval
-	call pdata_pull
-	call debuglog_push	
-endif
-endif
-	branch process_upper_sm_reconn+3
-
-endif	
-
-endif
-	
-ifdef DEBUGLOG
-p_ui_ipc_send_event:
-ifdef DEBUGLOG
-ifdef DEBUGLOG_EVENT
-	call pdata_push
-	setarg DEBUGLOG_DTYPE_EVENT
-	store 2,mem_debuglog_datatype
-	fetch 1,mem_fifo_temp
-	store 2,mem_debuglog_dataval
-	call pdata_pull
-	call debuglog_push	
-endif
-endif
-	branch ui_ipc_send_event+1
-
-p_ui_ipc_send_cmd:
-ifdef DEBUGLOG
-ifdef DEBUGLOG_CMD
-	call pdata_push
-	setarg DEBUGLOG_DTYPE_CMD
-	store 2,mem_debuglog_datatype
-	fetch 1,mem_fifo_temp
-	store 2,mem_debuglog_dataval
-	call pdata_pull
-	call debuglog_push
-endif
-endif
-	branch ui_ipc_send_cmd+1
-endif
-	
 p_g24_set_device_addr:
 	call adc_init_data
-//	fetch 4,mem_0_5_adc_io_data	//adc data from otp
-//	store 4,mem_24g_device_addr	
-//	nrtn blank
 	fetch 4,mem_lap
 	store 4,mem_24g_device_addr
 	rtn
 
-
 p_g24_transmit_rf_sta_init:
 	jam 1,mem_24g_rf_last_sta
 	jam 0,mem_24g_sync_cnt
@@ -2320,15 +1269,21 @@
 p_g24_hop_ch_enable:
 	fetch 1,mem_24g_data_type
 	set1 bit_hop,pdata
+p_g24_hop_ch_enable_store:
 	store 1,mem_24g_data_type
 	//update txpayload
 	store 1,mem_24g_txpayload
 	rtn
+
+p_g24_hop_enable_packet:
+	fetch 1,mem_24g_data_type
+	rtnbit0 bit_hop
 p_g24_hop_ch_disable:
 	fetch 1,mem_24g_data_type
 	set0 bit_hop,pdata
-	store 1,mem_24g_data_type
-	store 1,mem_24g_txpayload
+	call p_g24_hop_ch_enable_store
+//	store 1,mem_24g_data_type
+//	store 1,mem_24g_txpayload
 	call power_ctrl_pac_succ_decrs
 	branch p_g24_ch
 	
@@ -2477,8 +1432,8 @@
 	rtn
 
 p_mouse_data_xy_release:
-	fetch 1,mem_config_function_enable
-	rtnbit1 ENABLE_SENSOR_MOTION_PIN
+//	fetch 1,mem_config_function_enable
+//	rtnbit1 ENABLE_SENSOR_MOTION_PIN
 	fetch 1,mem_mouse_long_mult_flag
 	rtnne 1
 	setarg 0
@@ -2496,7 +1451,6 @@
 //	rtneq no_ack_24g
 	nbranch p_g24_retransmit,sync
 	nbranch p_g24_retransmit,user3
-//	call p_g24_search_dongle_success
 	call p_g24_txbuf_clear
 	call p_g24_ackpayload_parse
 	call power_ctrl_pac_succ_incrs
@@ -2510,10 +1464,8 @@
 	call p_g24_transmit_succ_rf_config
 p_g24_transmit_abandon:
 	setarg 0
-	store 2,mem_24g_txfail_cnt
-	store 1,mem_24g_get_ack_fail
+	store 4,mem_24g_ensure
 	store 1,mem_24g_hop_pac_retry
-	jam ENSURE_OFF_24G,mem_24g_ensure
 	rtn
 
 p_g24_txbuf_clear:
@@ -2521,15 +1473,6 @@
 	arg mem_24g_txbuf,contw
 	branch memset0
 
-p_g24_hop_enable_packet:
-	fetch 1,mem_24g_data_type
-	bbit1 bit_hop,p_g24_hop_ch_disable
-	rtn
-
-p_g24_paring_mode_start:
-	call power_ctrl_pac_succ_cnt_init
-	branch p_g24_paring_mode
-
 p_g24_transmit_receive_ack:
 	disable user3
 	call p_g24_transmit
@@ -2553,19 +1496,14 @@
 //	call p_g24_end_of_packet
 //	branch p_g24_transmit_next_packet
 
-p_g24_retransmit:
-	fetch 1,mem_24g_abort_pac
-	nrtn blank
-	
+p_g24_retransmit:	
 	fetch 2,mem_24g_txfail_cnt
 	increase 1,pdata
 	store 2,mem_24g_txfail_cnt	
 	fetch 1,mem_24g_txfail_cnt+1
-	bbit1 4,p_g24_stop_g24_mode
-
+	bbit1 4,g24_stop_24g_mode
 	fetch 1,mem_24g_pairing_sm
 	bne STATE_24G_PAIRING_SUCCESS,p_g24_tx_paring_retry
-
 	call p_g24_tx_hop_ch_process
 	branch p_g24_transmit_loop
 	
@@ -2575,12 +1513,8 @@
 p_g24_tx_attempt_fail:
 	setarg 0
 	store 2,mem_24g_txfail_cnt
-p_g24_stop_g24_mode:
-	jam BT_EVT_24G_ATTEMPT_FAIL,mem_fifo_temp
-	branch ui_ipc_send_event
-
+	branch g24_stop_24g_mode
 
-ifdef G24_NEW_RF_HOP
 p_g24_tx_fast_hop:
 	call power_ctrl_txpower_incrs
 	call power_ctrl_pac_succ_decrs
@@ -2596,9 +1530,7 @@
 	beq 6,p_g24_hop_ch_disable
 	beq 8,p_g24_hop_ch_enable
 	beq 12,p_g24_hop_ch_disable
-	rtn
-endif
-	
+	rtn	
 
 p_g24_ackpayload_parse:
 	call p_g24_read_len_pid_crc
@@ -2632,15 +1564,13 @@
 	rtn
 
 power_ctrl_start:
-	fetch 2,mem_ui_state_map
-	rtnbit1 UI_STATE_BLE_ADV
+//	fetch 2,mem_ui_state_map
+//	rtnbit1 UI_STATE_BLE_ADV
 //	rtnbit1 UI_STATE_BT_RECONNECT
 //	rtnbit1 UI_STATE_BT_DISCOVERY
-
 	arg mem_rssi_signal_buf,rega
 	call p_rssi_average
 	storet 1,mem_rssi_avg_received
-
 ifdef DEBUGLOG
 ifdef DEBUGLOG_MISC
 	setarg DEBUGLOG_DTYPE_MISC
@@ -2658,7 +1588,6 @@
 power_ctrl_start_next:	
 	isub temp,null
 	nbranch power_ctrl_txpower_incrs_force,positive
-
 	fetch 1,mem_power_ctrl_pac_succ_cnt
 	sub pdata,2,null
 	nbranch power_ctrl_txpower_decrs_check,positive
@@ -2715,7 +1644,6 @@
 	call debuglog_push
 endif
 endif
-
 	jam TX_POWER_5DB,mem_tx_power
 	rtn
 	
@@ -2729,7 +1657,6 @@
 	call debuglog_push
 endif
 endif
-
 	jam TX_POWER_f5DB,mem_tx_power
 	rtn
 	
@@ -2745,7 +1672,24 @@
 	jam 0,mem_24g_pid
 	jam G24_PAIR_CH,mem_24g_ch
 	fetch 4,mem_24g_paring_addr
-	branch p_g24_update_addr_and_synccrc8
+p_g24_update_addr_and_synccrc8:	
+	store 4,mem_24g_addr
+//output: 1BYTE crc8
+p_g24_syncword_crc8:
+	arg 0,rega
+	arg 4,loopcnt
+	arg mem_24g_addr,contr
+p_g24_syncword_crc8_loop:
+	ifetch 1,contr
+	iadd rega,rega
+	loop p_g24_syncword_crc8_loop
+	copy rega,pdata
+	store 2,mem_24g_syncword
+	fetch 1,mem_24g_syncword
+	fetcht 1,mem_24g_syncword+1
+	iadd temp,pdata
+	store 1,mem_24g_syncword_crc8
+	rtn
 
 p_g24_pairing_sm:
 	fetch 1,mem_24g_ensure
@@ -2781,6 +1725,8 @@
 	call p_g24_txdata_enable_tx
 	branch enable_user
 
+p_g24_paring_mode_start:
+	call power_ctrl_pac_succ_cnt_init
 p_g24_paring_mode:
 	fetch 1,mem_24g_pairing_sm
 	rtneq STATE_24G_PAIRING_SUCCESS
@@ -2789,7 +1735,6 @@
 	beq STATE_24G_PAIRING_3_WAITING_ACK,p_g24_pairing_sm_3_waiting_ack
 	rtn
 
-
 p_g24_pairing_sm_1_waiting_ack:
 	jam STATE_24G_PAIRING_2,mem_24g_pairing_sm
 	branch p_g24_transmit_abandon
@@ -2827,7 +1772,6 @@
 	
 p_g24_attemp_txdata_retry:
 	branch p_g24_ch
-//	branch p_g24_short_sleep
 
 p_g24_auto_pair_start:
 	set1 mark_24g,mark
@@ -2847,19 +1791,14 @@
 	rtn
 
 p_g24_pair_txdata_retry:
-	branch p_g24_pair_txdata_switch
-//	branch p_g24_short_sleep
-
 p_g24_pair_txdata_switch:
 	fetch 1,mem_24g_auto_paring_switch
 	increase 1,pdata
 	and_into 3,pdata
 	store 1,mem_24g_auto_paring_switch
-	beq 0,p_g24_auto_pair_device_attemp
-	beq 1,p_g24_auto_pair_pair_attemp
-	beq 2,p_g24_auto_pair_all_powerful_attemp
-	beq 3,p_g24_auto_pair_pair_attemp
-	rtn
+	beq 0,p_g24_auto_pair_first_attemp
+	beq 2,p_g24_auto_pair_all_powerful
+	branch p_g24_pair_init
 	
 p_g24_auto_pair_first_attemp:
 	call p_mouse_tx_power_init
@@ -2884,14 +1823,6 @@
 	call p_g24_ch_syncword_crc8_init
 	storet 1,mem_24g_powerful_current_ch_num
 	rtn
-p_g24_auto_pair_device_attemp:
-	branch p_g24_auto_pair_first_attemp
-
-p_g24_auto_pair_pair_attemp:
-	branch p_g24_pair_init
-
-p_g24_auto_pair_all_powerful_attemp:
-	branch p_g24_auto_pair_all_powerful
 	
 p_g24_check_51cmd_stop_24g:
 	set0 mark_24g,mark
@@ -2946,62 +1877,37 @@
 	nop 10 /* wait tx lo buffer to turn ON*/
 	jam 0x7d, rfen_mdm
 	fetch 1,mem_tx_power
-	beq TX_POWER_0DB,p_set_tx_power_0db
-	beq TX_POWER_3DB,p_set_tx_power_3db
 	beq TX_POWER_5DB,p_set_tx_power_5db
-//	beq TX_POWER_f3DB,p_set_tx_power_f3db
 	beq TX_POWER_f5DB,p_set_tx_power_f5db
 	beq TX_POWER_PAIR,p_set_tx_power_pair
-	branch p_set_tx_power_0db
-
 p_set_tx_power_0db:
 	call p_rx_low_sens
-	jam 0xba,0x894b
+//	jam 0xba,0x894b
 	jam 0xd0,0x8955
 	jam 0xe0,0x8956
-	jam 0x88,0x8957
+//	jam 0x88,0x8957
 	jam 0x6c,0x8958
-	jam 0x10,0x8959
+//	jam 0x10,0x8959
 	branch set_tx_power_0db	
-
-p_set_tx_power_3db:
-	call p_rx_high_sens
-	jam 0xba,0x894b
-	jam 0xd0,0x8955
-	jam 0xe0,0x8956
-	jam 0x88,0x8957
-	jam 0x3c,0x8958
-	jam 0x10,0x8959
-	branch set_tx_power_3db
 	
 p_set_tx_power_5db:
 	call p_rx_high_sens
-	jam 0xba,0x894b
+//	jam 0xba,0x894b
 	jam 0xd0,0x8955
 	jam 0xe0,0x8956
-	jam 0x88,0x8957
-	jam 0x3c,0x8958
-	jam 0x10,0x8959
-	branch set_tx_power_5db
-
-//p_set_tx_power_f3db:
-//	call p_rx_low_sens
-//	jam 0xba,0x894b
-//	jam 0xd0,0x8955
-//	jam 0xc0,0x8956
 //	jam 0x88,0x8957
-//	jam 0x6c,0x8958
+	jam 0x3c,0x8958
 //	jam 0x10,0x8959
-//	branch set_tx_power_f3db
+	branch set_tx_power_5db
 	
 p_set_tx_power_f5db:
 	call p_rx_low_sens
-	jam 0xba,0x894b
+//	jam 0xba,0x894b
 	jam 0xd0,0x8955
 	jam 0xc0,0x8956
-	jam 0x88,0x8957
+//	jam 0x88,0x8957
 	jam 0x6c,0x8958
-	jam 0x10,0x8959
+//	jam 0x10,0x8959
 	branch set_tx_power_f5db
 
 p_rx_low_sens:
@@ -3031,7 +1937,11 @@
 	call initialize_radio_cont+1
 	jam clksel_dpll,core_clksel
 	rtn
-	
+
+p_lpm_dispatch:
+	rtnmark1 mark_24g
+	branch lpm_dispatch+1
+
 /* ================================== 24g common functions ============================= */
 p_g24_timer_check:
 	call disable_user
@@ -3050,28 +1960,6 @@
 	store 4,mem_24g_tx_btclk
 	branch enable_user
 
-p_rssi_noise:
-	call save_rssi
-	rtn blank
-	fetcht 1,mem_rssi_noise_index
-	arg mem_rssi_noise_buffer,rega
-	call p_rssi_store
-	storet 1,mem_rssi_noise_index
-	rtn
-	
-p_rssi_store:
-	copy rega,pdata
-	iadd temp,contw
-	fetch 1,mem_rssi
-	istore 1,contw
-	increase 1,temp
-ifdef DONGLE
-	and_into RSSI_BUF_LEN_NOISE,temp
-endif
-ifdef MOUSE
-	and_into RSSI_BUF_LEN_SIGNAL,temp
-endif
-	rtn
 p_rssi_average:
 	arg 0,temp
 ifdef DONGLE
@@ -3084,7 +1972,7 @@
 ifdef DONGLE
 	branch rssi_average_loop
 endif
-ifdef MOUSE
+//ifdef MOUSE
 p_rssi_average_loop:
 	ifetch 1,contr
 	iadd temp,temp
@@ -3100,29 +1988,8 @@
 	remainder temp
 	ior temp,temp
 	rtn
-endif
-	rtn
-
-p_g24_update_addr_and_synccrc8:	
-	store 4,mem_24g_addr
-
-//output: 1BYTE crc8
-p_g24_syncword_crc8:
-	arg 0,rega
-	arg 4,loopcnt
-	arg mem_24g_addr,contr
-p_g24_syncword_crc8_loop:
-	ifetch 1,contr
-	iadd rega,rega
-	loop p_g24_syncword_crc8_loop
-	copy rega,pdata
-	store 2,mem_24g_syncword
-	fetch 1,mem_24g_syncword
-	fetcht 1,mem_24g_syncword+1
-	iadd temp,pdata
-	store 1,mem_24g_syncword_crc8
-	rtn
-
+//endif
+//	rtn
 
 p_g24_transmit_prep:
 ifdef P24G_LOG
@@ -3231,9 +2098,9 @@
 	nbranch p_g24_end_of_packet,zero
 	call p_g24_receive_byte
 	store 1,mem_24g_rxbuf	//device id
-	fetch 1,mem_24g_mode
-	sub pdata,rx_24g,null
-	branch p_g24_receive_skip,zero
+//	fetch 1,mem_24g_mode
+//	sub pdata,rx_24g,null
+//	branch p_g24_receive_skip,zero
 	fetch 1,mem_24g_rxbuf
 	fetcht 1,mem_24g_data_type
 	icompare bits_data,temp
@@ -3282,11 +2149,11 @@
 ifdef DONGLE
 	rtn
 endif
-ifdef MOUSE
+//ifdef MOUSE
 	fetch 1,mem_rssi_hex_received
-	call p_rssi_signal
-endif
-	rtn
+	branch p_rssi_signal
+//endif
+//	rtn
 
 p_g24_receive_byte:
 	parse demod,bucket,8
@@ -3300,11 +2167,11 @@
 p_g24_end_of_packet:
 	disable encode_fec1
 	disable decode_fec1
-	call end_of_packet
-ifdef RF_DEBUG
-	call test_gpio_low
-endif
-	rtn
+	branch end_of_packet
+//ifdef RF_DEBUG
+//	call test_gpio_low
+//endif
+//	rtn
 
 p_g24_set_freq_tx:
 	call set_sync_on
@@ -3431,8 +2298,7 @@
 	fetch 2,mem_mouse_y
 	store 2,mem_data_value
 	call current_xy_data_judge
-	store 2,mem_mouse_y
-
+	store 2,mem_mouse_y	
 endif
 
 	fetch 2,mem_mouse_x_pre
@@ -3480,6 +2346,7 @@
 	storet 1,mem_mouse_data_ytemp
 	branch p_drawing_optima_data
 
+
 ifdef XY_OFFSET
 pre_xy_data_judge:	
 	fetch 1,mem_data_value+1
@@ -3500,7 +2367,7 @@
 	call disable_blank,blank
 	call p_pdata_get_new_value
 	branch xy_data_offset_new
-
+	
 current_xy_data_judge:
 	fetch 1,mem_data_value+1
 	branch current_xy_pdata_offset,blank
@@ -3517,21 +2384,19 @@
 	call disable_blank,blank
 	call p_pdata_get_new_value
 	branch xy_data_offset_new
-
+	
 pre_xy_get_0_4_times:
 	mul32 pdata,4,pdata
 	div pdata,5
 	call wait_div_end
 	quotient pdata
 	rtn
-
 current_xy_get_0_6_times:	//0.6 times
 	mul32 pdata,12,pdata
 	div pdata,10
 	call wait_div_end
 	quotient pdata
-	rtn
-
+	rtn	
 endif
 
 /**********
@@ -3581,7 +2446,7 @@
 p_pdata_get_new_value:	
 	call p_rega_in_out
 	sub pdata,0,pdata
-	store 1,mem_data_value
+	store 1,mem_data_value	
 	rtn
 
 p_pdata_invert:
@@ -3638,73 +2503,8 @@
 	fetch 2,mem_data_current
 	sub pdata,0,pdata
 	branch p_data_abs_store
-
-endif
-p_mouse_data_init:
-	jam 7,mem_mouse_data_queue	//data length
-	jam 4,mem_mouse_data_queue+1	//fifo depth
-	setarg mem_mouse_data_queue
-	store 2,mem_queue_ptr
-	branch queue_init
-
-p_mouse_data_push:
-	arg mem_mouse_key,rega
-	call queue_push
-	call p_mouse_queue_increase,user
-	
-ifdef DEBUGLOG
-ifdef DEBUGLOG_MISC
-	setarg DEBUGLOG_DTYPE_MISC
-	store 2,mem_debuglog_datatype
-	setarg MISC_LOST_MOUSEDATA
-	store 2,mem_debuglog_dataval
-	nbranch debuglog_push,user
-
-	setarg MISC_PUSH_MOUSEDATA
-	store 2,mem_debuglog_dataval
-	call debuglog_push
 endif
-endif
-	rtn
-p_mouse_queue_increase:
-	fetch 1,mem_mouse_data_queue_num
-	increase 1,pdata
-	store 1, mem_mouse_data_queue_num
-	rtn
 	
-p_mouse_data_pull:
-	arg mem_mouse_key,rega
-	call queue_pop
-	branch p_mouse_fill_data_le,user
-	rtn
-
-p_mouse_fill_data_le:
-ifdef DEBUGLOG
-ifdef DEBUGLOG_MISC
-	setarg DEBUGLOG_DTYPE_MISC
-	store 2,mem_debuglog_datatype
-	setarg MISC_PULL_MOUSEDATA
-	store 2,mem_debuglog_dataval
-	call debuglog_push
-
-	setarg DEBUGLOG_DTYPE_MISC
-	store 2,mem_debuglog_datatype
-	fetch 1,mem_mouse_x
-	store 1,mem_debuglog_dataval
-	fetch 1,mem_mouse_y
-	store 1,mem_debuglog_dataval+1
-	call debuglog_push	
-endif
-endif
-	call le_clear_md
-	fetch 1,mem_mouse_data_queue_num
-	sub pdata,1,null
-	ncall le_set_md,positive
-	fetch 1,mem_mouse_data_queue_num
-	rtn blank
-	increase -1,pdata
-	store 1, mem_mouse_data_queue_num
-	branch mouse_fill_data_le
 
 ifdef DEBUGLOG 
 pdata_push:
@@ -3823,10 +2623,420 @@
 //	fetch 4,mem_24g_addr
 //	istore 4,contw
 	fetch 1,mem_rssi
-	istore 1,contw	
+	istore 1,contw
 	rtn
 endif	
 
 
+ifdef TEST_MODE
+p_test_mode_start:
+	setarg mem_test_mode_end
+	arg mem_test_mode_start,contw
+	isub contw,loopcnt
+	call clear_mem
+	call p_test_initialize_radio
+	call pp_pn9
+	jam TEST_MODE_CARRY,mem_test_mode_switch
+	jam 0x20,mem_fcc_data_new
+	jam 5,mem_fcc_ch_new
+	branch p_test_tx_new_param
+
+pp_pn9:
+	arg 0xff,loopcnt
+ 	arg mem_pn9,contw
+  	setarg 0x1ff
+	force 0,regb
+pp_pn9_loop:
+	rshift3 pdata,rega
+	rshift rega,rega
+	ixor rega,rega
+ 	isolate1 0,rega
+	setflag true,9,pdata
+	rshift temp,temp
+	isolate1 0,pdata
+	setflag true,7,temp
+	rshift pdata,pdata
+	increase 1,regb
+	compare 0,regb,0x7
+	nbranch pp_pn9_loop,true
+	istoret 1,contw
+	loop pp_pn9_loop
+	rtn
+
+p_test_initialize_radio:
+//	jam clksel_rc,core_clksel
+	//MAX TX IQ&DC for TX_0MIF, 2015_014_#12
+	jam 0x00,0x8907 //0M_IF
+	jam 0x00,0x8908
+	jam 0x00,0x8909
+	jam 0xff,0x890a
+	jam 0xff,0x890b	 //ff,Albert_AGC_disable
+
+	jam 0x2e,0x890f			/*For BR/EDR, tune AGC_gain_offset, Max added*/
+	jam 0x47,rf_agc_ctrl		/* invert demod, demod_clkoff , Max changed*/
+
+	jam 0xba,0x894b
+	jam 0xfb,0x894c			/* rx sensitivity, dac_reg2, Max changed */
+	jam 0xef,0x894d
+	jam 0xec,0x894e			/* push tia_bias for better sen, Max changed */
+	jam 0x5e,0x894f			/* tia_rc_en, Max changed */
+	
+	jam 0x88,0x896f
+	jam 0x00,0x8973			/* turn off charge pump */
+
+	jam 0x4a,0x895a
+	jam 0x80,0x895c
+
+	//AGC Table Setting Conservative, Based on 8PSK_sen, Max added for YC1021D
+	jam 0xa9,0x8930
+	jam 0xad,0x892f
+	jam 0xb1,0x892e
+	jam 0xb5,0x892d
+	jam 0xb9,0x892c
+	jam 0xbd,0x892b
+	jam 0xc2,0x892a
+	jam 0xc6,0x8929
+	jam 0xca,0x8928
+	jam 0xce,0x8927
+	jam 0xd2,0x8926
+	jam 0xd6,0x8925
+	jam 0xda,0x8924
+	jam 0xde,0x8923
+	jam 0xe2,0x8922
+	jam 0xe6,0x8921
+	jam 0xea,0x8920
+	jam 0xee,0x891f
+	jam 0xf2,0x891e
+	jam 0xf6,0x891d
+	jam 0xfb,0x891c
+	jam 0xfb,0x891b
+	jam 0xfb,0x891a
+	
+	jam 0xf5,0x8947
+	jam 0xe6,0x8946
+	jam 0xD7,0x8945
+	jam 0xD6,0x8944
+	jam 0xC7,0x8943
+	jam 0xC6,0x8942
+	jam 0x87,0x8941
+	jam 0x86,0x8940
+	jam 0x85,0x893f
+	jam 0x46,0x893e
+	jam 0x07,0x893d
+	jam 0x06,0x893c
+	jam 0xC7,0x893b
+	jam 0xC6,0x893a
+	jam 0xC5,0x8939
+	jam 0xC4,0x8938
+	jam 0xC3,0x8937
+	jam 0xC2,0x8936
+	jam 0xC1,0x8935
+	jam 0xC0,0x8934
+	jam 0x80,0x8933
+	jam 0x80,0x8932
+	jam 0x80,0x8931
+	
+	jam 0x7f,0x894a
+	jam 0xf8,0x8949
+	jam 0x00,0x8948
+
+	jam 0xd0, 0x8955  //jam 0xd8, 0x955 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	jam 0xe0, 0x8956   //jam 0xce, 0x956 only for yc1021C1_#7, BQB, -2.9dBm. changed for ramp_up/down
+	jam 0x88, 0x8957
+	jam 0x6c, 0x8958
+	jam 0x10, 0x8959//0dbm
+	rtn
+
+p_test_set_sync_on:
+	//jam 0x38,rfen_rx // otherwise DAC has 1mA more current
+	jam 0x77,rfen_msc
+	jam 0x03,rfen_sn
+	nop 10
+	jam 0x83,rfen_sn
+	jam 0x7f,rfen_msc
+	jam 0xa7,rfen_sn
+	rtn
+
+p_test_shutdown_radio:
+	nop 100          /* flush out the last bit */  
+	jam 0xd8, 0x8955 
+	nop 40 
+	jam 0xd2, 0x8955  
+	nop 40  
+	jam 0xd1, 0x8955 
+	nop 40  
+	branch shutdown_radio_0db
+
+p_test_tx_new_param: 
+	call p_button_check
+	fetcht 1,mem_fcc_mod_new
+	and temp,0x0f,pdata
+	//storet 1,mem_fcc_mod_new  //check mod
+	//and temp,0x07,pdata
+	beq 1,p_test_txrx_param
+	beq 3,p_test_txrx_param
+	beq 7,p_test_txrx_param
+	jam 0x01,mem_fcc_mod_new
+p_test_txrx_param:
+	fetch 1,mem_fcc_txrx_new
+	and pdata,0x03,pdata
+	store 1,mem_fcc_txrx_new
+	beq 1,p_test_btble_param
+	beq 2,p_test_btble_param
+	beq 3,p_test_btble_param
+	jam 0x01,mem_fcc_txrx_new
+p_test_btble_param:
+	fetch 1,mem_fcc_btble_new
+	and pdata,0x0f,pdata
+	store 1,mem_fcc_btble_new
+	beq 1,p_test_isdate_param
+	beq 2,p_test_isdate_param
+	beq 4,p_test_isdate_param
+	jam 0x01,mem_fcc_btble_new
+p_test_isdate_param:
+	fetch 1,mem_fcc_data_new
+	and pdata,0x30,pdata
+	store 1,mem_fcc_data_new
+	beq 0,p_test_data_length_param
+	beq 0x20,p_test_data_length_param
+	jam 0,mem_fcc_data_new
+p_test_data_length_param:
+	fetch 1,mem_fcc_data_length_new
+	beq 0,p_data_length_equ0
+	branch p_test_bt_hop_stable_param
+p_data_length_equ0:
+	jam 0x19,mem_fcc_data_length_new
+p_test_bt_hop_stable_param:
+	fetch 1,mem_fcc_hop_new
+	and pdata,0x03,pdata
+	store 1,mem_fcc_hop_new
+	beq 1,p_test_tx_new_param_cont
+	beq 2,p_test_tx_new_param_cont
+	jam 0x02,mem_fcc_hop_new
+p_test_tx_new_param_cont:
+	fetch 1,mem_fcc_ch_new
+	beq 0,p_zero
+	arg 81,temp
+	isub temp,null
+	nbranch p_test_tx_new_param_copy,positive //check channel between  0-79
+p_zero:
+	jam 2,mem_fcc_ch_new
+p_test_tx_new_param_copy:
+	fetch 7,mem_fcc_param_new
+	store 7,mem_fcc_param
+p_test_tx_or_rx:
+	fetch 1,mem_fcc_txrx
+	beq 0x01,p_test_tx_start
+	beq 0x02,p_test_rx_start
+p_test_tx_start: 
+	fetcht 1,mem_fcc_ch
+	increase -1,temp
+//	fetch 1,mem_fcc_btble
+//	beq 0x01,p_test_bt_tx_on
+//	beq 0x02,p_test_ble_tx_on
+//	beq 0x04,p_test_24g_tx_on
+p_test_24g_tx_on:	
+	fetch 1,mem_fcc_data
+	beq 0,p_test_24g_tx_data
+	call p_test_set_sync_on
+	call p_test_set_freq_tx
+	disable enable_white
+	enable encode_fec0
+	enable is_tx
+	fetcht 1,mem_fcc_mod
+	copy temp,radio_ctrl
+	fetch 1,mem_fcc_data
+	hstore 1,0x8908
+p_test_tx_carrier_loop:
+	fetch 1,mem_fcc_data_length
+	copy pdata,loopcnt
+	arg mem_pn9,contr
+p_pnloop_carrier:
+	ifetch 1,contr
+	inject mod,8
+	loop p_pnloop_carrier
+	call hci_rx_packet
+	call p_button_check
+	fetch 7,mem_fcc_param
+	fetcht 7,mem_fcc_param_new
+	isub temp,null
+	branch p_test_tx_carrier_loop,zero
+	branch p_test_tx_new_param
+
+p_test_24g_tx_data:
+	call p_test_set_sync_on
+	call p_test_set_freq_tx
+	call p_le_enable
+	set1 TXGFSK,radio_ctrl
+	enable encode_fec0
+	enable is_tx
+	disable is_rx
+	call le_wait_tx
+	fetch 1,mem_fcc_data
+	hstore 1,0x8908
+	arg mem_24g_common_temp,contw
+	setarg 0xcccccc
+	store 3,mem_24g_common_temp
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	istore 3,contw
+	arg 24,loopcnt
+	arg mem_24g_common_temp,contr
+p_pnloop_stable:
+	ifetch 1,contr
+	inject mod,8
+	loop p_pnloop_stable
+	call p_test_ble_bt_tx_off
+	//able swfine
+	//g 0x350,stop_watch
+	//arg 0,stop_watch
+p_stable_stop:
+	branch p_test_tx_new_param,timeout
+	call hci_rx_packet
+	fetch 7,mem_fcc_param
+	fetcht 7,mem_fcc_param_new
+	isub temp,null
+	branch p_stable_stop,zero
+	call p_test_ble_bt_tx_off
+	branch p_test_tx_new_param 
+
+p_test_ble_bt_tx_off:
+	branch p_test_shutdown_radio
+
+p_test_set_freq_tx:
+	storet 1,mem_last_freq
+	add temp,1,rega			/* index to frequency */
+	call rf_write_freq
+	setarg param_pll_setup
+	call sleep
+p_test_txon:
+	jam 0x1,rfen_adc
+	jam 0x3c,rfen_rx
+	jam 0xe0,rfen_tx
+	jam 0x12,0x896d			/*Max added, for best Pout*/
+	nop 10 /* wait LDOs to turn ON*/
+	jam 0x01, rfen_mdm
+	jam 0x3d, rfen_mdm
+	nop 10 /* wait tx blocks to turn ON*/
+	jam 0xb7,rfen_sn
+	nop 10 /* wait tx lo buffer to turn ON*/
+	jam 0x7d, rfen_mdm
+	jam 0xce,0x8956//3dbm
+	nop 4
+	//can be deleted
+	jam 0xd1, 0x8955
+	nop 4
+	jam 0xd2, 0x8955
+	nop 4
+	jam 0xd8, 0x8955
+	nop 4
+	jam 0xd8,0x8955//3dbm
+	rtn
+
+p_test_rx_start:	 
+	fetcht 1,mem_fcc_ch
+	increase -1,temp
+	call p_test_ble_rx_on
+p_test_rx_loop:
+	call hci_rx_packet
+	call p_button_check
+	fetch 7,mem_fcc_param
+	fetcht 7,mem_fcc_param_new
+	isub temp,null
+	branch p_test_rx_loop,zero
+	branch p_test_tx_new_param
+
+p_test_ble_rx_on:
+	call p_test_ble_bt_tx_off	//close tx
+	branch lerx_setfreq+1
+
+p_button_check: 
+	call p_mouse_check_key_gpio
+ 	beq MOUSE_L_BUTTON,p_channel_map_change_incre
+	beq MOUSE_R_BUTTON,p_channel_map_change_decre
+	beq MOUSE_M_BUTTON,p_mode_change
+	jam 0,mem_test_mode_switch_enable
+	jam 0,mem_test_ch_switch_incre_enable
+	jam 0,mem_test_ch_switch_decre_enable
+	rtn
+p_mode_change: 
+	fetch 1,mem_test_mode_switch_enable
+	nrtn blank
+	jam 1,mem_test_mode_switch_enable
+	call p_mode_cnt
+	branch p_mode_judge
+p_mode_cnt:
+	fetch 1,mem_test_mode_switch
+	pincrease 1
+	store 1,mem_test_mode_switch
+	rtnne TEST_MODE_MAX_COUNT
+	jam TEST_MODE_CARRY,mem_test_mode_switch
+	rtn
+p_mode_judge:
+	fetch 1,mem_test_mode_switch
+	beq TEST_MODE_CARRY,p_mode_carry
+	beq TEST_MODE_CARRY_DATA,p_mode_carry_and_data
+	beq TEST_MODE_RX,p_mode_rx
+	rtn
+p_mode_carry:
+	jam 0x20,mem_fcc_data_new
+	jam 0x01,mem_fcc_txrx_new
+	rtn
+p_mode_carry_and_data:
+	jam 0,mem_fcc_data_new
+	jam 0x01,mem_fcc_txrx_new
+	rtn
+p_mode_rx:
+	jam 0x02,mem_fcc_txrx_new
+	rtn
+
+p_channel_map_change_incre:
+	fetch 1,mem_test_ch_switch_incre_enable
+	nrtn blank
+	jam 1,mem_test_ch_switch_incre_enable
+	call p_channel_cnt
+	branch p_channel_judge_forward
+p_channel_cnt:
+	fetch 1,mem_test_ch_switch
+	pincrease 1
+	store 1,mem_test_ch_switch
+	sub pdata,4,null
+	nrtn zero
+	jam 1,mem_test_ch_switch
+	rtn
+p_channel_judge_forward:
+	fetch 1,mem_test_ch_switch
+	beq 1,p_chnnel_2405
+	beq 2,p_chnnel_2430
+	beq 3,p_chnnel_2470
+	rtn
+p_chnnel_2405:
+	jam 5,mem_fcc_ch_new
+	rtn
+p_chnnel_2430:
+	jam 30,mem_fcc_ch_new
+	rtn
+p_chnnel_2470:
+	jam 70,mem_fcc_ch_new
+	rtn
+
+p_channel_map_change_decre:
+	fetch 1,mem_test_ch_switch_decre_enable
+	nrtn blank
+	jam 1,mem_test_ch_switch_decre_enable
+	call p_channel_cnt
+p_channel_judge_back:
+	fetch 1,mem_test_ch_switch
+	beq 3,p_chnnel_2405
+	beq 1,p_chnnel_2430
+	beq 2,p_chnnel_2470
+	rtn
+
+endif
+
 endif
 
Index: sched/mouse.dat
===================================================================
--- /branch/mouse_project/YJX_Project/mingAo_Only24g/sched/mouse.dat	(revision 2401)
+++ /branch/mouse_project/YJX_Project/mingAo_Only24g/sched/mouse.dat	(working copy)
@@ -1,17 +1,11 @@
 mem_patch00:07
-#mem_patch03:00
-#mem_patch09:00
-#mem_patch0a:00
-#mem_patch0b:00
 mem_patch10:20
 mem_patch11:06
-mem_patch14:02
-#mem_patch15:00
-mem_patch16:06
+mem_patch14:80
+mem_patch16:04
 mem_patch18:10
 #mem_patch19:06
 mem_patch1c:48
-mem_patch1d:1c
 mem_patch27:82
 mem_patch28:08
 mem_patch29:04
@@ -19,16 +13,9 @@
 mem_patch2c:88
 mem_patch2d:04
 mem_patch2e:80
-#mem_patch30:00
 mem_patch31:10
-#mem_patch39:00
-
-#debug
-#mem_patch31:11
-#mem_patch2f:40
-#mem_patch37:40
-#mem_patch3e:c0
 
+mem_firmware_version:03 00
 
 mem_device_option:40
 mem_lpm_mode:01
@@ -65,7 +52,7 @@
 01
 
 mem_app_connection_options:06
-mem_lap:45 f5 3b 7a 22 11
+mem_lap:aa 34 84 34 22 11
 #mem_local_name_length:
 #'BT 3.0 Mouse
 #mem_sniff_param_interval:
@@ -121,21 +108,18 @@
 #2c 01 #timeout
 
 
-mem_le_adv_interval:00 00
-mem_le_adv_type:00 
-mem_le_adv_own_addr_type:00
-mem_le_adv_channel_map:07 
+#mem_le_adv_interval:00 00
+#mem_le_adv_type:00 
+#mem_le_adv_own_addr_type:00
+#mem_le_adv_channel_map:07 
 
 mem_le_lap:8e b1 3a 0e 8e ed
 
-mem_le_transmit_window:50
-
-mem_le_notify_handle:19 00
-mem_le_pairing_handle:22 00
-
-
-mem_discovery_timeout:08 07#3min
-mem_mouse_direct_timeout:50 00#8s
+#mem_le_transmit_window:50
+#mem_le_notify_handle:19 00
+#mem_le_pairing_handle:22 00
+#mem_discovery_timeout:08 07#3min
+#mem_mouse_direct_timeout:50 00#8s
 mem_mouse_no_data_timeout:70 17 #10min
 
 
@@ -145,11 +129,11 @@
 
 mem_device_number:02 #max device number
 mem_24g_device_number:02 #devie 2 :24g mode
-mem_adc_config_flag:01 #0 vinlpm 1 hvin 2 gpio
-mem_adc_channel:32 #gpio5
-mem_mouse_vdd_full_vol:a4 01#4.2v#96 00#1.5v
-18 01#mem_mouse_vdd_empty_vol#2.8v#:5a 00#0.9v
-40 01#mem_mouse_vdd_low_vol#3.7v#:64 00  #1v
+#mem_adc_config_flag:01 #0 vinlpm 1 hvin 2 gpio
+#mem_adc_channel:32 #gpio5
+#mem_mouse_vdd_full_vol:a4 01#4.2v#96 00#1.5v
+#18 01#mem_mouse_vdd_empty_vol#2.8v#:5a 00#0.9v
+#40 01#mem_mouse_vdd_low_vol#3.7v#:64 00  #1v
 
 mem_config_sensor_type:00
 02 #mem_config_sensor_motion:01
@@ -157,7 +141,7 @@
 14 #mem_rbutton_gpio:14
 08 #mem_mbutton_gpio:15
 14 #mem_bk_button_gpio:ff
-08 #mem_fw_button_gpio:ff#14
+08 #mem_fw_button_gpio:ff
 06 #mem_dpi_button_gpio:05
 1c #mem_whee_a_data_gpio:0b
 1b #mem_whee_b_data_gpio:07
@@ -218,14 +202,14 @@
 ab 40
 be d1
 a0 41
-a1 21
+a1 12
 a5 84
 a7 ff
 b5 d0
 b6 00
 ff 00
 09 00
-ff
+ff ff
 
 mem_sensor_ka8ul_init:
 09 5a
@@ -242,7 +226,7 @@
 4c 90
 4d 70
 09 00
-ff
+ff ff
 
 mem_sensor_8009_init:
 09 5a
@@ -252,14 +236,23 @@
 0e 9f
 0f ba
 09 00
-ff
+ff ff
+
+mem_sensor_ka5857_init:
+09 5a
+a6 34
+19 10
+6a e0
+69 23 
+09 00
+ff ff
 
 mem_sensor_poweron_init:
 06 80
 09 5a
 0b f3
 09 00
-ff
+ff ff
 
 
 mem_ui_led_struct_ptr:mem_mouse_led_type
@@ -294,7 +287,6 @@
 mem_24g_allpowerful_addr:0f 0f 0f 0f
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
 mem_24g_enter_hibernate:80 4f 12
-mem_firmware_version:02 00
 
 mem_device_flag:
 02
@@ -307,7 +299,6 @@
 #34
 #11 22 33 44 55 66
 
-mem_compare_addr_ff:ff ff ff ff
 
 #mem_flash_base:00 70 00
 mem_eeprom_base:90 1f
