Index: format/app_mouse.format
===================================================================
--- /branch/mouse_project/LeXiang/1059Only_BLE/format/app_mouse.format	(revision 3763)
+++ /branch/mouse_project/LeXiang/1059Only_BLE/format/app_mouse.format	(working copy)
@@ -498,6 +498,8 @@
 0x06 MOUSE_FPGA_RF_WORK_DEBUG_GPIO
 0x02 MOUSE_FPGA_DEBUG_GPIO
 
+0x23 MOUSE_DPI_S201X_HIGH_ADDRESS
+
 )
 
 (
Index: output/flash.dat
===================================================================
--- /branch/mouse_project/LeXiang/1059Only_BLE/output/flash.dat	(revision 3763)
+++ /branch/mouse_project/LeXiang/1059Only_BLE/output/flash.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-0e
+3e
 1f
 20
 20
@@ -23,7 +23,7 @@
 20
 40
 06
-ce
+da
 68
 00
 c6
@@ -43,7 +43,7 @@
 20
 40
 07
-5c
+68
 20
 40
 00
@@ -103,7 +103,7 @@
 58
 00
 06
-a1
+ad
 60
 01
 41
@@ -275,11 +275,11 @@
 c0
 42
 87
-30
+3c
 c0
 44
 87
-03
+0f
 c0
 50
 80
@@ -303,19 +303,19 @@
 c0
 73
 05
-a5
+b1
 c0
 75
 05
-d3
+df
 c0
 75
 85
-d7
+e3
 c0
 76
 05
-d9
+e5
 20
 20
 2a
@@ -323,55 +323,55 @@
 c0
 1c
 85
-df
+eb
 c0
 21
 85
-e7
+f3
 c0
 25
 05
-ed
+f9
 c0
 2b
 85
-f0
+fc
 c0
 2c
 85
-f2
+fe
 c0
 31
-85
-f4
+86
+00
 c0
 33
 06
-24
+30
 c0
 33
 86
-43
+4f
 c0
 35
 06
-8c
+98
 c0
 3b
 86
-97
+a3
 c0
 7d
 06
-b6
+c2
 c0
 46
 06
-a3
+af
 c0
 46
 86
-af
+bb
 20
 20
 2a
@@ -567,7 +567,7 @@
 20
 40
 06
-d7
+e3
 58
 01
 77
@@ -615,7 +615,7 @@
 20
 20
 07
-32
+3e
 70
 11
 c6
@@ -623,7 +623,7 @@
 20
 20
 07
-32
+3e
 20
 40
 02
@@ -771,7 +771,7 @@
 20
 40
 07
-32
+3e
 20
 40
 00
@@ -1123,7 +1123,7 @@
 20
 40
 06
-15
+21
 20
 20
 01
@@ -1167,7 +1167,7 @@
 20
 40
 06
-15
+21
 70
 4d
 6e
@@ -1551,7 +1551,7 @@
 20
 40
 06
-d1
+dd
 68
 00
 cc
@@ -1706,12 +1706,12 @@
 d4
 20
 40
+07
 06
-fa
 20
 40
 06
-15
+21
 20
 20
 01
@@ -1875,11 +1875,11 @@
 20
 20
 07
-32
+3e
 20
 40
 06
-ce
+da
 70
 11
 c6
@@ -1887,7 +1887,7 @@
 20
 20
 07
-32
+3e
 70
 11
 c6
@@ -1895,7 +1895,7 @@
 20
 20
 07
-32
+3e
 79
 3f
 80
@@ -2723,7 +2723,7 @@
 20
 40
 05
-b2
+be
 c0
 02
 82
@@ -2775,7 +2775,7 @@
 20
 20
 07
-32
+3e
 da
 20
 43
@@ -2811,7 +2811,7 @@
 20
 20
 07
-32
+3e
 20
 40
 03
@@ -2951,7 +2951,7 @@
 20
 20
 07
-32
+3e
 70
 80
 86
@@ -3391,7 +3391,7 @@
 20
 20
 07
-32
+3e
 70
 11
 c6
@@ -3399,7 +3399,7 @@
 20
 20
 07
-32
+3e
 20
 40
 44
@@ -3763,7 +3763,7 @@
 20
 40
 05
-ca
+d6
 68
 08
 c6
@@ -3779,7 +3779,7 @@
 20
 40
 05
-c5
+d1
 68
 00
 c6
@@ -3799,7 +3799,7 @@
 20
 40
 05
-c5
+d1
 68
 00
 c6
@@ -3967,7 +3967,7 @@
 20
 20
 07
-32
+3e
 70
 0a
 99
@@ -3983,7 +3983,7 @@
 20
 20
 07
-32
+3e
 70
 11
 c6
@@ -3991,7 +3991,7 @@
 20
 20
 07
-32
+3e
 20
 40
 03
@@ -4003,7 +4003,7 @@
 20
 20
 07
-32
+3e
 20
 40
 03
@@ -4015,7 +4015,7 @@
 20
 20
 07
-32
+3e
 20
 40
 03
@@ -4027,7 +4027,7 @@
 20
 20
 07
-32
+3e
 20
 40
 03
@@ -4039,7 +4039,7 @@
 20
 20
 07
-32
+3e
 68
 00
 ca
@@ -4443,7 +4443,7 @@
 20
 40
 05
-ca
+d6
 68
 08
 c6
@@ -4459,7 +4459,7 @@
 20
 40
 05
-c5
+d1
 68
 00
 ca
@@ -4495,7 +4495,7 @@
 20
 40
 05
-c5
+d1
 20
 40
 04
@@ -4699,7 +4699,7 @@
 20
 40
 05
-b2
+be
 c0
 03
 04
@@ -5646,8 +5646,8 @@
 9c
 c0
 04
-bd
-88
+85
+a5
 68
 00
 c7
@@ -5714,8 +5714,8 @@
 a1
 c0
 04
-bd
-8c
+85
+a9
 68
 00
 c7
@@ -5776,14 +5776,62 @@
 20
 05
 9d
+70
+46
+b5
+89
+20
+20
+05
+aa
+70
+46
+b5
+8b
+20
+20
+05
+aa
+70
+46
+b5
+82
+20
+20
+05
+aa
+70
+46
+b5
+83
 58
 00
+c3
+09
+20
+40
+64
+13
+68
 00
+c6
+b5
+1f
+ed
+7e
 00
+1f
+e0
+fe
+23
+20
+40
+64
+13
 20
 20
-05
-84
+40
+f4
 78
 54
 7c
@@ -5799,7 +5847,7 @@
 20
 40
 05
-d0
+dc
 20
 40
 40
@@ -5811,15 +5859,15 @@
 20
 40
 05
-b0
+bc
 24
 34
 07
-5c
+68
 20
 40
 07
-53
+5f
 20
 40
 04
@@ -5831,7 +5879,7 @@
 20
 40
 05
-b2
+be
 20
 20
 40
@@ -5843,7 +5891,7 @@
 20
 40
 05
-b5
+c1
 20
 20
 40
@@ -5855,7 +5903,7 @@
 20
 40
 05
-c5
+d1
 68
 08
 c6
@@ -5875,7 +5923,7 @@
 20
 40
 05
-c5
+d1
 68
 08
 c6
@@ -5895,7 +5943,7 @@
 20
 40
 05
-c5
+d1
 68
 08
 c6
@@ -5931,7 +5979,7 @@
 20
 20
 05
-ce
+da
 79
 3f
 84
@@ -5991,7 +6039,7 @@
 20
 20
 07
-32
+3e
 20
 40
 03
@@ -6043,7 +6091,7 @@
 20
 40
 06
-d7
+e3
 20
 20
 53
@@ -6091,7 +6139,7 @@
 20
 20
 07
-32
+3e
 70
 11
 c6
@@ -6099,7 +6147,7 @@
 20
 20
 07
-32
+3e
 68
 00
 84
@@ -6107,19 +6155,19 @@
 c2
 82
 86
-14
+20
 20
 40
 06
-d1
+dd
 68
 00
 c7
 8e
 24
 3a
-05
-fe
+06
+0a
 68
 00
 84
@@ -6127,7 +6175,7 @@
 c3
 02
 06
-02
+0e
 68
 00
 82
@@ -6135,7 +6183,7 @@
 20
 3a
 06
-02
+0e
 20
 20
 56
@@ -6163,7 +6211,7 @@
 c0
 82
 86
-05
+11
 70
 47
 8e
@@ -6231,7 +6279,7 @@
 20
 40
 06
-08
+14
 68
 00
 cd
@@ -6243,7 +6291,7 @@
 24
 41
 06
-d5
+e1
 68
 00
 cd
@@ -6347,7 +6395,7 @@
 c0
 01
 86
-33
+3f
 20
 20
 56
@@ -6359,11 +6407,11 @@
 c0
 00
 06
-37
+43
 c0
 00
 86
-3e
+4a
 20
 20
 5c
@@ -6423,11 +6471,11 @@
 c0
 02
 06
-47
+53
 c0
 03
 06
-84
+90
 20
 20
 56
@@ -6439,7 +6487,7 @@
 20
 40
 06
-1d
+29
 20
 40
 7e
@@ -6455,7 +6503,7 @@
 c0
 08
 06
-56
+62
 1f
 ec
 84
@@ -6467,7 +6515,7 @@
 20
 21
 06
-64
+70
 d8
 40
 47
@@ -6551,7 +6599,7 @@
 c0
 05
 06
-66
+72
 20
 20
 58
@@ -6567,7 +6615,7 @@
 c2
 81
 86
-7e
+8a
 20
 40
 57
@@ -6595,7 +6643,7 @@
 20
 22
 86
-74
+80
 68
 01
 04
@@ -6663,7 +6711,7 @@
 24
 22
 86
-69
+75
 20
 40
 5a
@@ -6671,7 +6719,7 @@
 24
 34
 06
-69
+75
 20
 20
 59
@@ -6683,11 +6731,11 @@
 c0
 00
 86
-88
+94
 c0
 02
 86
-8a
+96
 20
 20
 5a
@@ -6707,7 +6755,7 @@
 20
 20
 07
-32
+3e
 68
 00
 80
@@ -6719,7 +6767,7 @@
 20
 40
 06
-92
+9e
 d8
 e0
 00
@@ -6759,7 +6807,7 @@
 20
 37
 06
-9a
+a6
 24
 36
 d8
@@ -6799,7 +6847,7 @@
 20
 20
 07
-32
+3e
 68
 10
 80
@@ -6839,7 +6887,7 @@
 20
 40
 06
-b0
+bc
 60
 18
 80
@@ -6895,15 +6943,15 @@
 c0
 0f
 86
-be
+ca
 c0
 10
 06
-c1
+cd
 c0
 09
 06
-cb
+d7
 20
 20
 7d
@@ -6919,7 +6967,7 @@
 20
 20
 06
-c3
+cf
 70
 01
 85
@@ -7043,7 +7091,7 @@
 c5
 13
 06
-e1
+ed
 58
 00
 00
@@ -7054,8 +7102,8 @@
 00
 24
 21
-06
-f9
+07
+05
 68
 00
 cd
@@ -7067,15 +7115,15 @@
 24
 21
 06
-e9
+f5
 68
 00
 cd
 74
 c0
 00
+07
 06
-fa
 20
 60
 00
@@ -7103,7 +7151,7 @@
 c5
 13
 06
-f0
+fc
 58
 00
 00
@@ -7123,7 +7171,7 @@
 c0
 00
 07
-01
+0d
 1f
 e0
 ff
@@ -7135,7 +7183,7 @@
 c0
 00
 07
-01
+0d
 70
 41
 de
@@ -7154,8 +7202,8 @@
 77
 c0
 01
-06
-ff
+07
+0b
 1f
 e0
 fe
@@ -7166,8 +7214,8 @@
 77
 c0
 00
-86
-f7
+87
+03
 70
 41
 de
@@ -7251,19 +7299,19 @@
 c0
 01
 07
-1b
+27
 c0
 02
 07
-23
+2f
 c0
 10
 07
-2d
+39
 20
 40
 07
-28
+34
 70
 89
 55
@@ -7315,7 +7363,7 @@
 20
 40
 07
-28
+34
 70
 89
 55
@@ -7391,7 +7439,7 @@
 20
 22
 87
-51
+5d
 60
 08
 cb
@@ -7467,7 +7515,7 @@
 24
 22
 87
-42
+4e
 20
 40
 03
@@ -7515,7 +7563,7 @@
 20
 40
 07
-b3
+bf
 58
 00
 00
@@ -7523,7 +7571,7 @@
 20
 40
 07
-a6
+b2
 58
 00
 00
@@ -7531,7 +7579,7 @@
 20
 40
 07
-ac
+b8
 68
 00
 cb
@@ -7539,7 +7587,7 @@
 c0
 00
 87
-5f
+6b
 df
 20
 00
@@ -7571,7 +7619,7 @@
 20
 40
 07
-72
+7e
 68
 01
 11
@@ -7607,7 +7655,7 @@
 20
 40
 07
-7a
+86
 68
 01
 11
@@ -7659,7 +7707,7 @@
 20
 20
 07
-82
+8e
 68
 01
 11
@@ -7691,7 +7739,7 @@
 20
 20
 07
-82
+8e
 60
 01
 91
@@ -7703,7 +7751,7 @@
 20
 20
 87
-8c
+98
 68
 00
 91
@@ -7711,7 +7759,7 @@
 c0
 7f
 87
-93
+9f
 68
 00
 91
@@ -7739,7 +7787,7 @@
 c0
 00
 07
-90
+9c
 68
 01
 91
@@ -7747,7 +7795,7 @@
 20
 20
 07
-88
+94
 70
 11
 c4
@@ -7759,7 +7807,7 @@
 20
 20
 07
-88
+94
 68
 00
 91
@@ -7767,7 +7815,7 @@
 20
 40
 07
-9e
+aa
 60
 00
 91
@@ -7779,7 +7827,7 @@
 20
 3a
 07
-9c
+a8
 58
 00
 00
@@ -7803,7 +7851,7 @@
 20
 20
 07
-99
+a5
 1f
 e6
 7e
@@ -7843,7 +7891,7 @@
 24
 21
 07
-b1
+bd
 9a
 46
 7c
@@ -7851,7 +7899,7 @@
 24
 21
 07
-b1
+bd
 70
 4b
 0b
@@ -7879,7 +7927,7 @@
 20
 20
 07
-aa
+b6
 70
 4b
 0b
@@ -7895,7 +7943,7 @@
 20
 40
 07
-ba
+c6
 1f
 e2
 22
@@ -7907,7 +7955,7 @@
 20
 40
 07
-ba
+c6
 1f
 e2
 24
@@ -7927,7 +7975,7 @@
 c0
 7f
 87
-c0
+cc
 68
 00
 91
@@ -7951,9 +7999,9 @@
 20
 20
 07
-be
-fe
-11
+ca
+0a
+7f
 aa
 55
 08
@@ -8879,7 +8927,7 @@
 00
 a8
 4b
-05
+06
 00
 aa
 55
@@ -9013,14 +9061,14 @@
 00
 53
 4b
-46
+76
 2f
 00
 55
 aa
 aa
 55
-0d
+0e
 1d
 ff
 20
@@ -9378,7 +9426,7 @@
 20
 20
 06
-3a
+46
 70
 4b
 6f
@@ -11918,7 +11966,7 @@
 20
 40
 05
-b2
+be
 c0
 03
 80
@@ -12099,5 +12147,5 @@
 55
 00
 00
-23
-39
+77
+14
Index: output/program.lis
===================================================================
--- /branch/mouse_project/LeXiang/1059Only_BLE/output/program.lis	(revision 3763)
+++ /branch/mouse_project/LeXiang/1059Only_BLE/output/program.lis	(working copy)
@@ -10,12 +10,12 @@
 0001 20400388 call p_mouse_data_init 
 0002 6800c1de fetch 1 ,mem_tx_power 
 0003 6000ccf2 store 1 ,mem_tx_power_temp 
-0004 204006ce call power_ctrl_pac_succ_cnt_init 
+0004 204006da call power_ctrl_pac_succ_cnt_init 
 0005 6800c685 fetch 1 ,mem_ui_button_timeout 
 0006 6000c6da store 1 ,mem_combination_ui_button_count 
 0007 2040049c call p_mouse_bt_discovery_button_up_init 
 0008 2040030a call p_mouse_spi_init 
-0009 2040075c call p_drawing_optima_init 
+0009 20400768 call p_drawing_optima_init 
 000a 20400014 call p_mouse_cb_fuction 
 000b 20400025 call p_mouse_wakeup_from_power 
 000c 680240a0 fetch 4 ,mem_lap 
@@ -32,7 +32,7 @@
 0015 60014d6c store 2 ,mem_cb_24g_data 
 0016 58000374 setarg p_mouse_le 
 0017 600141ef store 2 ,mem_cb_le_process 
-0018 580006a1 setarg p_le_mouse_bb_event_connect_complete 
+0018 580006ad setarg p_le_mouse_bb_event_connect_complete 
 0019 600141f9 store 2 ,mem_cb_att_write 
 001a 58000292 setarg p_mouse_before_lpm 
 001b 600141ed store 2 ,mem_cb_before_lpm 
@@ -83,33 +83,33 @@
 0040 c284004f bbit1 8 ,pf_patch_ext 
 0041 c000805d beq patch00_1 ,p_soft_reset_1 
 0042 c0010066 beq patch00_2 ,p_soft_reset_2 
-0043 c0428730 beq patch10_5 ,p_shutdown_radio 
-0044 c0448703 beq patch11_1 ,p_set_freq_tx 
+0043 c042873c beq patch10_5 ,p_shutdown_radio 
+0044 c044870f beq patch11_1 ,p_set_freq_tx 
 0045 c050806f beq patch14_1 ,p_init_param 
 0046 c0588074 beq patch16_1 ,p_lpm_check_wake_lock 
 0047 c0590080 beq patch16_2 ,p_g24_dispatch 
 0048 c062029f beq patch18_4 ,p_device_init 
 0049 c0718578 beq patch1c_3 ,p_mouse_seting_dpi 
-004a c07305a5 beq patch1c_6 ,p_mouse_motion 
-004b c07505d3 beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
-004c c07585d7 beq patch1d_3 ,p_mouse_start_discovery 
-004d c07605d9 beq patch1d_4 ,p_mouse_stop_discovery 
+004a c07305b1 beq patch1c_6 ,p_mouse_motion 
+004b c07505df beq patch1d_2 ,p_mouse_bb_event_discovery_btn 
+004c c07585e3 beq patch1d_3 ,p_mouse_start_discovery 
+004d c07605e5 beq patch1d_4 ,p_mouse_stop_discovery 
 004e 20202a8e branch loop 
 
 pf_patch_ext:
-004f c01c85df beq patch27_1 ,p_le_slave_match 
-0050 c02185e7 beq patch28_3 ,p_le_next_adv_channel 
-0051 c02505ed beq patch29_2 ,p_le_receive_skip 
-0052 c02b85f0 beq patch2a_7 ,p_le_update_param 
-0053 c02c85f2 beq patch2b_1 ,p_le_update_channel_map 
-0054 c03185f4 beq patch2c_3 ,p_le_prepare_tx 
-0055 c0330624 beq patch2c_6 ,p_le_parse 
-0056 c0338643 beq patch2c_7 ,p_le_parse_l2cap 
-0057 c035068c beq patch2d_2 ,p_le_adv_not_match 
-0058 c03b8697 beq patch2e_7 ,p_le_lpm_setmult 
-0059 c07d06b6 beq patch3f_2 ,p_check_51cmd_once_continue 
-005a c04606a3 beq patch31_4 ,p_twspi_reset 
-005b c04686af beq patch31_5 ,p_spid_init 
+004f c01c85eb beq patch27_1 ,p_le_slave_match 
+0050 c02185f3 beq patch28_3 ,p_le_next_adv_channel 
+0051 c02505f9 beq patch29_2 ,p_le_receive_skip 
+0052 c02b85fc beq patch2a_7 ,p_le_update_param 
+0053 c02c85fe beq patch2b_1 ,p_le_update_channel_map 
+0054 c0318600 beq patch2c_3 ,p_le_prepare_tx 
+0055 c0330630 beq patch2c_6 ,p_le_parse 
+0056 c033864f beq patch2c_7 ,p_le_parse_l2cap 
+0057 c0350698 beq patch2d_2 ,p_le_adv_not_match 
+0058 c03b86a3 beq patch2e_7 ,p_le_lpm_setmult 
+0059 c07d06c2 beq patch3f_2 ,p_check_51cmd_once_continue 
+005a c04606af beq patch31_4 ,p_twspi_reset 
+005b c04686bb beq patch31_5 ,p_spid_init 
 005c 20202a8e branch loop 
 
 p_soft_reset_1:
@@ -174,7 +174,7 @@
 0089 2040017a call p_g24_transmit_packet 
 008a 6800cc4b fetch 1 ,mem_24g_pairing_sm 
 008b c1ff8000 rtnne state_24g_pairing_success 
-008c 204006d7 call power_ctrl_start 
+008c 204006e3 call power_ctrl_start 
 008d 58017700 setarg g24_long_sleep_step1 
 008e 6001cc6a store 3 ,mem_24g_enter_hibernate 
 008f 704b4414 jam 20 ,mem_24g_long_sleep_param_update_timer 
@@ -190,11 +190,11 @@
 
 p_g24_pair_dispatch:
 0097 7011c660 jam zcode_60 ,mem_zcode_temp_param0 
-0098 20200732 branch p_zcode_entrance 
+0098 2020073e branch p_zcode_entrance 
 
 p_g24_reconn_dispatch:
 0099 7011c653 jam zcode_53 ,mem_zcode_temp_param0 
-009a 20200732 branch p_zcode_entrance 
+009a 2020073e branch p_zcode_entrance 
 
 p_g24_transmit_by_interrupt:
 009b 20400273 call p_g24_timer_check 
@@ -245,7 +245,7 @@
 00bc 6800cd7b fetch 1 ,mem_24g_transmit_by_interrupt 
 00bd c1008000 rtneq g24_tx_timer_int_enable 
 00be 7011c671 jam zcode_71 ,mem_zcode_temp_param0 
-00bf 20400732 call p_zcode_entrance 
+00bf 2040073e call p_zcode_entrance 
 
 p_g24_long_sleep:
 00c0 204000c6 call p_g24_lpm_wait 
@@ -361,7 +361,7 @@
 0114 793ffe04 set0 bit_hop ,pdata 
 0115 6000cc3c store 1 ,mem_24g_data_type 
 0116 6000cbf7 store 1 ,mem_24g_txpayload 
-0117 20400615 call power_ctrl_pac_succ_decrs 
+0117 20400621 call power_ctrl_pac_succ_decrs 
 0118 20200145 branch p_g24_ch 
 
 p_g24_rf_hop_attemp_again:
@@ -378,7 +378,7 @@
 0121 2020017a branch p_g24_transmit_packet 
 
 p_g24_rf_hop_fastly_exit:
-0122 20400615 call power_ctrl_pac_succ_decrs 
+0122 20400621 call power_ctrl_pac_succ_decrs 
 0123 704d6e00 jam 0 ,mem_24g_hop_fastly_cnt 
 0124 20200108 branch p_g24_transmit_rf_ctrl_clear 
 
@@ -506,7 +506,7 @@
 017f 2437819c nbranch p_g24_retransmit ,user3 
 0180 2040018e call p_g24_txbuf_clear 
 0181 204001b6 call p_g24_ackpayload_parse 
-0182 204006d1 call power_ctrl_pac_succ_incrs 
+0182 204006dd call power_ctrl_pac_succ_incrs 
 
 p_g24_transmit_next_packet:
 0183 6800cc3a fetch 1 ,mem_24g_pid 
@@ -561,8 +561,8 @@
 01a8 20202dd4 branch g24_stop_24g_mode 
 
 p_g24_tx_fast_hop:
-01a9 204006fa call power_ctrl_txpower_incrs 
-01aa 20400615 call power_ctrl_pac_succ_decrs 
+01a9 20400706 call power_ctrl_txpower_incrs 
+01aa 20400621 call power_ctrl_pac_succ_decrs 
 01ab 20200145 branch p_g24_ch 
 
 p_g24_tx_hop_ch_process:
@@ -621,18 +621,18 @@
 
 p_g24_pairing_sm:
 01d2 7011c690 jam zcode_90 ,mem_zcode_temp_param0 
-01d3 20200732 branch p_zcode_entrance 
+01d3 2020073e branch p_zcode_entrance 
 
 p_g24_paring_mode_start:
-01d4 204006ce call power_ctrl_pac_succ_cnt_init 
+01d4 204006da call power_ctrl_pac_succ_cnt_init 
 
 p_g24_paring_mode:
 01d5 7011c691 jam zcode_91 ,mem_zcode_temp_param0 
-01d6 20200732 branch p_zcode_entrance 
+01d6 2020073e branch p_zcode_entrance 
 
 p_g24_start_24g_mode:
 01d7 7011c640 jam zcode_40 ,mem_zcode_temp_param0 
-01d8 20200732 branch p_zcode_entrance 
+01d8 2020073e branch p_zcode_entrance 
 
 p_g24_check_51cmd_stop_24g:
 01d9 793f8026 set0 mark_24g ,mark 
@@ -889,7 +889,7 @@
 02a4 20400001 call p_wake_from_power 
 02a5 6800c241 fetch 1 ,mem_power_on_flag 
 02a6 c28102a9 bbit1 2 ,p_mouse_skip_24g_pair 
-02a7 204005b2 call p_mouse_check_key_gpio 
+02a7 204005be call p_mouse_check_key_gpio 
 02a8 c00282bc beq mouse_lm_button ,p_mouse_24g_pairing_button 
 
 p_mouse_skip_24g_pair:
@@ -910,7 +910,7 @@
 
 p_mouse4_0_check_reconn_target:
 02b3 7011c612 jam zcode_12 ,mem_zcode_temp_param0 
-02b4 20200732 branch p_zcode_entrance 
+02b4 2020073e branch p_zcode_entrance 
 
 p_le_check_adv_flag:
 02b5 da204370 arg mem_le_adv_data ,rega 
@@ -925,7 +925,7 @@
 
 p_mouse_24g_pairing_button:
 02bc 7011c642 jam zcode_42 ,mem_zcode_temp_param0 
-02bd 20200732 branch p_zcode_entrance 
+02bd 2020073e branch p_zcode_entrance 
 
 p_mouse_init_sunt:
 02be 2040030a call p_mouse_spi_init 
@@ -976,7 +976,7 @@
 
 p_mouse_setting_config:
 02df 7011c680 jam zcode_80 ,mem_zcode_temp_param0 
-02e0 20200732 branch p_zcode_entrance 
+02e0 2020073e branch p_zcode_entrance 
 
 p_spid_init_flash:
 02e1 70808640 jam 0x40 ,core_spid_ctrl 
@@ -1126,11 +1126,11 @@
 034b 704b2c0a jam 10 ,mem_mouse_multi_led_blink_count 
 034c 2040052d call p_mouse_dpi_multi_led_blink 
 034d 7011c640 jam zcode_40 ,mem_zcode_temp_param0 
-034e 20200732 branch p_zcode_entrance 
+034e 2020073e branch p_zcode_entrance 
 
 p_g24_auto_pair_start:
 034f 7011c641 jam zcode_41 ,mem_zcode_temp_param0 
-0350 20200732 branch p_zcode_entrance 
+0350 2020073e branch p_zcode_entrance 
 
 p_mouse_g24_package_data:
 0351 20404401 call mouse_g24_package_data 
@@ -1259,11 +1259,11 @@
 
 p_mouse_dpi_check:
 03aa 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
-03ab 204005ca call p_gpio_set_input_pd 
+03ab 204005d6 call p_gpio_set_input_pd 
 03ac 6808c6e7 fetcht 1 ,mem_dpi_button_gpio 
 03ad 2040681d call gpio_get_bit 
 03ae 202083b4 branch p_mouse_dpi_up ,true 
-03af 204005c5 call p_gpio_set_input_pu 
+03af 204005d1 call p_gpio_set_input_pu 
 
 p_mouse_dpi_down:
 03b0 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
@@ -1272,7 +1272,7 @@
 03b3 20600000 rtn 
 
 p_mouse_dpi_up:
-03b4 204005c5 call p_gpio_set_input_pu 
+03b4 204005d1 call p_gpio_set_input_pu 
 03b5 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
 03b6 c1008000 rtneq dpi_button_state_up 
 03b7 7046b601 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
@@ -1322,7 +1322,7 @@
 p_mouse_le_bb_disconnected:
 03dc 204003f1 call p_mouse_sensor_powerdown_check 
 03dd 7011c6a2 jam zcode_a2 ,mem_zcode_temp_param0 
-03de 20200732 branch p_zcode_entrance 
+03de 2020073e branch p_zcode_entrance 
 
 p_mouse_le_enc_info:
 
@@ -1332,31 +1332,31 @@
 
 p_mouse_le_ll_start_encryt:
 03e1 7011c6b3 jam zcode_b3 ,mem_zcode_temp_param0 
-03e2 20200732 branch p_zcode_entrance 
+03e2 2020073e branch p_zcode_entrance 
 
 p_mouse_le_conn_param_update_rsp_recieved:
 03e3 7011c6a1 jam zcode_a1 ,mem_zcode_temp_param0 
-03e4 20200732 branch p_zcode_entrance 
+03e4 2020073e branch p_zcode_entrance 
 
 p_mouse_24g_pairing_complete:
 03e5 204003a5 call p_mouse_init_sensor_reset 
 03e6 7011c650 jam zcode_50 ,mem_zcode_temp_param0 
-03e7 20200732 branch p_zcode_entrance 
+03e7 2020073e branch p_zcode_entrance 
 
 p_mouse_24g_attempt_fail:
 03e8 204003f1 call p_mouse_sensor_powerdown_check 
 03e9 7011c651 jam zcode_51 ,mem_zcode_temp_param0 
-03ea 20200732 branch p_zcode_entrance 
+03ea 2020073e branch p_zcode_entrance 
 
 p_mouse_24g_attempt_success:
 03eb 204003a5 call p_mouse_init_sensor_reset 
 03ec 7011c652 jam zcode_52 ,mem_zcode_temp_param0 
-03ed 20200732 branch p_zcode_entrance 
+03ed 2020073e branch p_zcode_entrance 
 
 p_mouse_before_hibernate:
 03ee 204003f1 call p_mouse_sensor_powerdown_check 
 03ef 7011c6a0 jam zcode_a0 ,mem_zcode_temp_param0 
-03f0 20200732 branch p_zcode_entrance 
+03f0 2020073e branch p_zcode_entrance 
 
 p_mouse_sensor_powerdown_check:
 03f1 6800cafe fetch 1 ,mem_mouse_init_sensor_reset_flag 
@@ -1507,13 +1507,13 @@
 0452 6800c6ed fetch 1 ,mem_config_select_device_button_gpio 
 0453 c17f8000 rtneq gpio_disable 
 0454 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
-0455 204005ca call p_gpio_set_input_pd 
+0455 204005d6 call p_gpio_set_input_pd 
 0456 6808c6ed fetcht 1 ,mem_config_select_device_button_gpio 
 0457 2040681d call gpio_get_bit 
 0458 24208462 nbranch p_mouse_select_device_button_down ,true 
 
 p_mouse_select_device_button_up:
-0459 204005c5 call p_gpio_set_input_pu 
+0459 204005d1 call p_gpio_set_input_pu 
 045a 6800cafb fetch 1 ,mem_mouse_button_select_device_timer_init 
 045b 6000cafc store 1 ,mem_mouse_button_select_device_count 
 045c 6800c6d9 fetch 1 ,mem_select_device_button_statue 
@@ -1524,7 +1524,7 @@
 0461 202043d2 branch mouse_disable_function_flag 
 
 p_mouse_select_device_button_down:
-0462 204005c5 call p_gpio_set_input_pu 
+0462 204005d1 call p_gpio_set_input_pu 
 0463 2040046a call p_mouse_button_select_device_timer 
 0464 204004c0 call p_mouse_null_enter_hibernate_check 
 0465 704b2400 jam off ,mem_mouse_multi_led_blink_enable 
@@ -1603,7 +1603,7 @@
 p_mouse_bt_discovery_check:
 
 p_mouse_bt_discovery_commbination_key:
-0495 204005b2 call p_mouse_check_key_gpio 
+0495 204005be call p_mouse_check_key_gpio 
 0496 c003049f beq mouse_rm_button ,p_mouse_bt_discovery_commbination_key_down 
 
 p_mouse_bt_discovery_commbination_key_up:
@@ -1936,7 +1936,7 @@
 057f c0030596 beq p3065_xy ,p_mouse_3065xy_set_cpi3 
 0580 c0038596 beq mx8650 ,p_mouse_3065xy_set_cpi3 
 0581 c001059c beq ka8 ,p_mouse_ka8_set_cpi3 
-0582 c004bd88 beq s201x ,mouse_set_cpi2 
+0582 c00485a5 beq s201x ,p_mouse_set_s201x_cpi2 
 
 p_mouse_320x_set_cpi3:
 0583 6800c781 fetch 1 ,mem_320x_dpi_3 
@@ -1954,7 +1954,7 @@
 0589 c0030598 beq p3065_xy ,p_mouse_3065xy_set_cpi1 
 058a c0038598 beq mx8650 ,p_mouse_3065xy_set_cpi1 
 058b c001059f beq ka8 ,p_mouse_ka8_set_cpi1 
-058c c00485a3 beq s201x ,p_mouse_s201b_set_cpi1 
+058c c00485a3 beq s201x ,p_mouse_set_s201x_cpi1 
 
 p_mouse_320x_set_cpi1:
 058d 6800c77f fetch 1 ,mem_320x_dpi_1 
@@ -1965,7 +1965,7 @@
 0590 c003059a beq p3065_xy ,p_mouse_3065xy_set_cpi4 
 0591 c003859a beq mx8650 ,p_mouse_3065xy_set_cpi4 
 0592 c00105a1 beq ka8 ,p_mouse_ka8_set_cpi4 
-0593 c004bd8c beq s201x ,mouse_set_cpi3 
+0593 c00485a9 beq s201x ,p_mouse_set_s201x_cpi4 
 
 p_mouse_320x_set_cpi4:
 0594 6800c782 fetch 1 ,mem_320x_dpi_4 
@@ -1998,761 +1998,781 @@
 05a1 6800cb39 fetch 1 ,mem_3065xy_dpi_4 
 05a2 2020059d branch p_mouse_ka8_dpi_store 
 
-p_mouse_s201b_set_cpi1:
-05a3 58000000 setarg 0 
-05a4 20200584 branch p_mouse_dpi_store 
+p_mouse_set_s201x_cpi1:
+05a3 7046b589 jam 0x89 ,mem_mouse_cpi_count 
+05a4 202005aa branch p_mouse_set_sensor_high_dpi 
+
+p_mouse_set_s201x_cpi2:
+05a5 7046b58b jam 0x8b ,mem_mouse_cpi_count 
+05a6 202005aa branch p_mouse_set_sensor_high_dpi 
+
+p_mouse_set_s201x_cpi3:
+05a7 7046b582 jam 0x82 ,mem_mouse_cpi_count 
+05a8 202005aa branch p_mouse_set_sensor_high_dpi 
+
+p_mouse_set_s201x_cpi4:
+05a9 7046b583 jam 0x83 ,mem_mouse_cpi_count 
+
+p_mouse_set_sensor_high_dpi:
+05aa 5800c309 setarg 0xc309 
+05ab 20406413 call twspi_write 
+05ac 6800c6b5 fetch 1 ,mem_mouse_cpi_count 
+05ad 1fed7e00 lshift8 pdata ,pdata 
+05ae 1fe0fe23 add pdata ,mouse_dpi_s201x_high_address ,pdata 
+05af 20406413 call twspi_write 
+05b0 202040f4 branch mouse_sensor_enable_wp 
 
 p_mouse_motion:
-05a5 78547c00 disable user 
-05a6 58000000 setarg 0 
-05a7 6003469b store 6 ,mem_mouse_x 
-05a8 204005d0 call p_mouse_cheak_sensor_data 
-05a9 20404079 call mouse_zwheel 
-05aa 2040407e call mouse_t_zwheel 
-05ab 204005b0 call p_mouse_key 
-05ac 2434075c nbranch p_drawing_optima_init ,user 
-05ad 20400753 call p_drawing_optima 
-05ae 20400416 call p_mouse_powerdown_sensor_timer_init 
-05af 20203fa0 branch mouse_motion + 9 
+05b1 78547c00 disable user 
+05b2 58000000 setarg 0 
+05b3 6003469b store 6 ,mem_mouse_x 
+05b4 204005dc call p_mouse_cheak_sensor_data 
+05b5 20404079 call mouse_zwheel 
+05b6 2040407e call mouse_t_zwheel 
+05b7 204005bc call p_mouse_key 
+05b8 24340768 nbranch p_drawing_optima_init ,user 
+05b9 2040075f call p_drawing_optima 
+05ba 20400416 call p_mouse_powerdown_sensor_timer_init 
+05bb 20203fa0 branch mouse_motion + 9 
 
 p_mouse_key:
-05b0 204005b2 call p_mouse_check_key_gpio 
-05b1 2020409a branch mouse_key + 1 
+05bc 204005be call p_mouse_check_key_gpio 
+05bd 2020409a branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-05b2 da200000 arg 0 ,rega 
-05b3 204005b5 call p_mouse_check_lkey_gpio 
-05b4 2020408e branch mouse_check_key_gpio_output 
+05be da200000 arg 0 ,rega 
+05bf 204005c1 call p_mouse_check_lkey_gpio 
+05c0 2020408e branch mouse_check_key_gpio_output 
 
 p_mouse_check_lkey_gpio:
-05b5 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-05b6 204005c5 call p_gpio_set_input_pu 
-05b7 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
-05b8 2040681d call gpio_get_bit 
-05b9 7920a200 setflag true ,0 ,rega 
+05c1 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+05c2 204005d1 call p_gpio_set_input_pu 
+05c3 6808c6e2 fetcht 1 ,mem_lbutton_gpio 
+05c4 2040681d call gpio_get_bit 
+05c5 7920a200 setflag true ,0 ,rega 
 
 p_mouse_check_rkey_gpio:
-05ba 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-05bb 204005c5 call p_gpio_set_input_pu 
-05bc 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
-05bd 2040681d call gpio_get_bit 
-05be 7920a201 setflag true ,1 ,rega 
+05c6 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+05c7 204005d1 call p_gpio_set_input_pu 
+05c8 6808c6e3 fetcht 1 ,mem_rbutton_gpio 
+05c9 2040681d call gpio_get_bit 
+05ca 7920a201 setflag true ,1 ,rega 
 
 p_mouse_check_mkey_gpio:
-05bf 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-05c0 204005c5 call p_gpio_set_input_pu 
-05c1 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
-05c2 2040681d call gpio_get_bit 
-05c3 7920a202 setflag true ,2 ,rega 
-05c4 20600000 rtn 
+05cb 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+05cc 204005d1 call p_gpio_set_input_pu 
+05cd 6808c6e4 fetcht 1 ,mem_mbutton_gpio 
+05ce 2040681d call gpio_get_bit 
+05cf 7920a202 setflag true ,2 ,rega 
+05d0 20600000 rtn 
 
 p_gpio_set_input_pu:
-05c5 79200407 set1 gpio_active_bit ,temp 
-05c6 d8a08078 arg core_gpio_pu0 ,contw 
-05c7 20406830 call gpio_set_bit 
-05c8 793f8407 set0 gpio_active_bit ,temp 
-05c9 202005ce branch p_gpio_set_input_pd4 
+05d1 79200407 set1 gpio_active_bit ,temp 
+05d2 d8a08078 arg core_gpio_pu0 ,contw 
+05d3 20406830 call gpio_set_bit 
+05d4 793f8407 set0 gpio_active_bit ,temp 
+05d5 202005da branch p_gpio_set_input_pd4 
 
 p_gpio_set_input_pd:
-05ca 793f8407 set0 gpio_active_bit ,temp 
-05cb d8a08078 arg core_gpio_pu0 ,contw 
-05cc 20406830 call gpio_set_bit 
-05cd 79200407 set1 gpio_active_bit ,temp 
+05d6 793f8407 set0 gpio_active_bit ,temp 
+05d7 d8a08078 arg core_gpio_pu0 ,contw 
+05d8 20406830 call gpio_set_bit 
+05d9 79200407 set1 gpio_active_bit ,temp 
 
 p_gpio_set_input_pd4:
-05ce d8a0807c arg core_gpio_pd0 ,contw 
-05cf 2020680a branch gpio_set_high_impedance + 4 
+05da d8a0807c arg core_gpio_pd0 ,contw 
+05db 2020680a branch gpio_set_high_impedance + 4 
 
 p_mouse_cheak_sensor_data:
 
 p_mouse_p32xx_sensor_motion:
-05d0 20403fc0 call mouse_clear_sensor_data 
-05d1 78547c00 disable user 
-05d2 20203fe7 branch mouse_p32xx_sensor_motion_2 
+05dc 20403fc0 call mouse_clear_sensor_data 
+05dd 78547c00 disable user 
+05de 20203fe7 branch mouse_p32xx_sensor_motion_2 
 
 p_mouse_bb_event_discovery_btn:
-05d3 204004c7 call p_mouse_null_enter_hibernate_disable 
-05d4 280ffe26 isolate1 mark_24g ,mark 
-05d5 204081d9 call p_g24_check_51cmd_stop_24g ,true 
-05d6 2020426f branch mouse_bb_event_discovery_btn + 3 
+05df 204004c7 call p_mouse_null_enter_hibernate_disable 
+05e0 280ffe26 isolate1 mark_24g ,mark 
+05e1 204081d9 call p_g24_check_51cmd_stop_24g ,true 
+05e2 2020426f branch mouse_bb_event_discovery_btn + 3 
 
 p_mouse_start_discovery:
-05d7 7011c630 jam zcode_30 ,mem_zcode_temp_param0 
-05d8 20200732 branch p_zcode_entrance 
+05e3 7011c630 jam zcode_30 ,mem_zcode_temp_param0 
+05e4 2020073e branch p_zcode_entrance 
 
 p_mouse_stop_discovery:
-05d9 204003a5 call p_mouse_init_sensor_reset 
-05da 204042cb call mouse_stop_discovery + 1 
-05db 6800cb2c fetch 1 ,mem_mouse_multi_led_blink_count 
-05dc 1fe0ffff increase -1 
-05dd 247a0000 nrtn blank 
-05de 20200528 branch p_mouse_discovey_led_blink_off 
+05e5 204003a5 call p_mouse_init_sensor_reset 
+05e6 204042cb call mouse_stop_discovery + 1 
+05e7 6800cb2c fetch 1 ,mem_mouse_multi_led_blink_count 
+05e8 1fe0ffff increase -1 
+05e9 247a0000 nrtn blank 
+05ea 20200528 branch p_mouse_discovey_led_blink_off 
 
 p_le_slave_match:
-05df 6800c50f fetch 1 ,mem_le_md_count 
-05e0 1fe0fe01 pincrease 1 
-05e1 6000c50f store 1 ,mem_le_md_count 
-05e2 c0065395 beq le_md_max_count ,le_slave_cont 
-05e3 204055aa call le_acknowledge 
-05e4 2040561e call le_prepare_tx 
-05e5 204006d7 call power_ctrl_start 
-05e6 2020538f branch le_slave_match + 7 
+05eb 6800c50f fetch 1 ,mem_le_md_count 
+05ec 1fe0fe01 pincrease 1 
+05ed 6000c50f store 1 ,mem_le_md_count 
+05ee c0065395 beq le_md_max_count ,le_slave_cont 
+05ef 204055aa call le_acknowledge 
+05f0 2040561e call le_prepare_tx 
+05f1 204006e3 call power_ctrl_start 
+05f2 2020538f branch le_slave_match + 7 
 
 p_le_next_adv_channel:
-05e7 68008016 fetch 1 ,mem_le_ch_mapped 
-05e8 1fe0fe01 increase 1 ,pdata 
-05e9 60008016 store 1 ,mem_le_ch_mapped 
-05ea c1940000 rtnne 40 
-05eb 70001625 jam 37 ,mem_le_ch_mapped 
-05ec 20600000 rtn 
+05f3 68008016 fetch 1 ,mem_le_ch_mapped 
+05f4 1fe0fe01 increase 1 ,pdata 
+05f5 60008016 store 1 ,mem_le_ch_mapped 
+05f6 c1940000 rtnne 40 
+05f7 70001625 jam 37 ,mem_le_ch_mapped 
+05f8 20600000 rtn 
 
 p_le_receive_skip:
-05ed 204029bb call save_rssi 
-05ee 2040023f call p_rssi_signal 
-05ef 202054a3 branch le_receive_skip + 2 
+05f9 204029bb call save_rssi 
+05fa 2040023f call p_rssi_signal 
+05fb 202054a3 branch le_receive_skip + 2 
 
 p_le_update_param:
-05f0 7011c620 jam zcode_20 ,mem_zcode_temp_param0 
-05f1 20200732 branch p_zcode_entrance 
+05fc 7011c620 jam zcode_20 ,mem_zcode_temp_param0 
+05fd 2020073e branch p_zcode_entrance 
 
 p_le_update_channel_map:
-05f2 7011c621 jam zcode_21 ,mem_zcode_temp_param0 
-05f3 20200732 branch p_zcode_entrance 
+05fe 7011c621 jam zcode_21 ,mem_zcode_temp_param0 
+05ff 2020073e branch p_zcode_entrance 
 
 p_le_prepare_tx:
-05f4 68008456 fetch 1 ,mem_le_arq 
-05f5 c2828614 bbit1 wak ,p_le_prepare_tx_wak 
-05f6 204006d1 call power_ctrl_pac_succ_incrs 
-05f7 6800c78e fetch 1 ,mem_empty_count 
-05f8 243a05fe nbranch p_le_send_empyt ,blank 
-05f9 6800843f fetch 1 ,mem_le_state 
-05fa c3020602 bbit0 lestate_encryption ,p_le_tx_4 
-05fb 680082da fetch 1 ,mem_le_rxbuf + 1 
-05fc 203a0602 branch p_le_tx_4 ,blank 
-05fd 20205664 branch le_send_empty 
+0600 68008456 fetch 1 ,mem_le_arq 
+0601 c2828620 bbit1 wak ,p_le_prepare_tx_wak 
+0602 204006dd call power_ctrl_pac_succ_incrs 
+0603 6800c78e fetch 1 ,mem_empty_count 
+0604 243a060a nbranch p_le_send_empyt ,blank 
+0605 6800843f fetch 1 ,mem_le_state 
+0606 c302060e bbit0 lestate_encryption ,p_le_tx_4 
+0607 680082da fetch 1 ,mem_le_rxbuf + 1 
+0608 203a060e branch p_le_tx_4 ,blank 
+0609 20205664 branch le_send_empty 
 
 p_le_send_empyt:
-05fe 6800c78e fetch 1 ,mem_empty_count 
-05ff 1fe0ffff increase -1 ,pdata 
-0600 6000c78e store 1 ,mem_empty_count 
-0601 20205664 branch le_send_empty 
+060a 6800c78e fetch 1 ,mem_empty_count 
+060b 1fe0ffff increase -1 ,pdata 
+060c 6000c78e store 1 ,mem_empty_count 
+060d 20205664 branch le_send_empty 
 
 p_le_tx_4:
-0602 6800c4c4 fetch 1 ,mem_le_pairing_state 
-0603 c0828605 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
-0604 70478e03 jam 3 ,mem_empty_count 
+060e 6800c4c4 fetch 1 ,mem_le_pairing_state 
+060f c0828611 bne flag_le_pairing_after_auth ,p_in_le_tx_4 
+0610 70478e03 jam 3 ,mem_empty_count 
 
 p_in_le_tx_4:
-0605 20405892 call le_fifo_check_nearly_full 
-0606 205a0391 call p_mouse_data_pull ,blank 
-0607 20205622 branch le_prepare_tx + 4 
+0611 20405892 call le_fifo_check_nearly_full 
+0612 205a0391 call p_mouse_data_pull ,blank 
+0613 20205622 branch le_prepare_tx + 4 
 
 p_le_check_tx_retransmit_setmd:
-0608 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-0609 1fe17e03 and pdata ,0x03 ,pdata 
-060a c1818000 rtnne 0x03 
-060b 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
-060c 207a0000 rtn blank 
-060d 6800c3dd fetch 1 ,mem_le_txlen 
-060e 207a0000 rtn blank 
-060f 6800c3dc fetch 1 ,mem_le_txheader 
-0610 79207e04 set1 md ,pdata 
-0611 6000c3dc store 1 ,mem_le_txheader 
-0612 20405650 call le_set_md 
-0613 20600000 rtn 
+0614 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+0615 1fe17e03 and pdata ,0x03 ,pdata 
+0616 c1818000 rtnne 0x03 
+0617 6800c7c1 fetch 1 ,mem_mouse_data_queue_num 
+0618 207a0000 rtn blank 
+0619 6800c3dd fetch 1 ,mem_le_txlen 
+061a 207a0000 rtn blank 
+061b 6800c3dc fetch 1 ,mem_le_txheader 
+061c 79207e04 set1 md ,pdata 
+061d 6000c3dc store 1 ,mem_le_txheader 
+061e 20405650 call le_set_md 
+061f 20600000 rtn 
 
 p_le_prepare_tx_wak:
-0614 20400608 call p_le_check_tx_retransmit_setmd 
+0620 20400614 call p_le_check_tx_retransmit_setmd 
 
 p_le_power_ctrl_pac_succ_decrs:
 
 power_ctrl_pac_succ_decrs:
-0615 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0616 1fe67c02 sub pdata ,2 ,null 
-0617 244106d5 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
-0618 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-0619 c1000000 rtneq 0 
-061a 1fe0ffff increase -1 ,pdata 
-061b 6000cd74 store 1 ,mem_power_ctrl_pac_succ_cnt 
-061c 20600000 rtn 
+0621 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0622 1fe67c02 sub pdata ,2 ,null 
+0623 244106e1 ncall power_ctrl_pac_succ_cnt_reinit ,positive 
+0624 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+0625 c1000000 rtneq 0 
+0626 1fe0ffff increase -1 ,pdata 
+0627 6000cd74 store 1 ,mem_power_ctrl_pac_succ_cnt 
+0628 20600000 rtn 
 
 p_mouse_le_reconn_write_enable_timer_reinit:
-061d 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
-061e 207a0000 rtn blank 
-061f 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-0620 1fe17e03 and pdata ,0x03 ,pdata 
-0621 c1018000 rtneq 0x03 
-0622 7046c602 jam 2 ,mem_le_start_encrypt_timer 
-0623 20600000 rtn 
+0629 6800c79f fetch 1 ,mem_mouse_le_reconnect_flag 
+062a 207a0000 rtn blank 
+062b 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+062c 1fe17e03 and pdata ,0x03 ,pdata 
+062d c1018000 rtneq 0x03 
+062e 7046c602 jam 2 ,mem_le_start_encrypt_timer 
+062f 20600000 rtn 
 
 p_le_parse:
-0624 c6078000 rtnmark1 mark_old_packet 
-0625 20405890 call le_fifo_check_full 
-0626 247a0000 nrtn blank 
-0627 680082d9 fetch 1 ,mem_le_rxbuf 
-0628 1fe17e03 and pdata ,0x3 ,pdata 
-0629 6000c50c store 1 ,mem_le_packet_llid 
-062a e8c08000 ifetch 1 ,contr 
-062b 1fe17e1f and pdata ,0x1f ,pdata 
-062c 6000c50b store 1 ,mem_le_packet_size 
-062d 207a0000 rtn blank 
-062e 18c27e00 copy contr ,pdata 
-062f 6001450d store 2 ,mem_le_payload_ptr 
-0630 6800c50c fetch 1 ,mem_le_packet_llid 
-0631 c0018633 beq llid_le_ll ,p_le_parse_ll 
-0632 2020568d branch le_parse_l2cap 
+0630 c6078000 rtnmark1 mark_old_packet 
+0631 20405890 call le_fifo_check_full 
+0632 247a0000 nrtn blank 
+0633 680082d9 fetch 1 ,mem_le_rxbuf 
+0634 1fe17e03 and pdata ,0x3 ,pdata 
+0635 6000c50c store 1 ,mem_le_packet_llid 
+0636 e8c08000 ifetch 1 ,contr 
+0637 1fe17e1f and pdata ,0x1f ,pdata 
+0638 6000c50b store 1 ,mem_le_packet_size 
+0639 207a0000 rtn blank 
+063a 18c27e00 copy contr ,pdata 
+063b 6001450d store 2 ,mem_le_payload_ptr 
+063c 6800c50c fetch 1 ,mem_le_packet_llid 
+063d c001863f beq llid_le_ll ,p_le_parse_ll 
+063e 2020568d branch le_parse_l2cap 
 
 p_le_parse_ll:
-0633 680082db fetch 1 ,mem_le_rxbuf + 2 
-0634 c0000637 beq ll_connection_update_req ,p_le_parse_connection_update_req 
-0635 c000863e beq ll_channel_map_req ,p_le_parse_channel_map_req 
-0636 20205c65 branch le_parse_ll + 1 
+063f 680082db fetch 1 ,mem_le_rxbuf + 2 
+0640 c0000643 beq ll_connection_update_req ,p_le_parse_connection_update_req 
+0641 c000864a beq ll_channel_map_req ,p_le_parse_channel_map_req 
+0642 20205c65 branch le_parse_ll + 1 
 
 p_le_parse_connection_update_req:
-0637 20405c7b call le_parse_connection_update_req 
-0638 6800cb61 fetch 1 ,mem_mouse_le_updata_not_accepted_flag 
-0639 207a0000 rtn blank 
+0643 20405c7b call le_parse_connection_update_req 
+0644 6800cb61 fetch 1 ,mem_mouse_le_updata_not_accepted_flag 
+0645 207a0000 rtn blank 
 
 p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset:
-063a 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
-063b 6000c172 store 1 ,mem_lpm_mult 
-063c 6000c7c3 store 1 ,mem_lpm_mult_init 
-063d 20600000 rtn 
+0646 6800c3d8 fetch 1 ,mem_le_new_connslavelatency 
+0647 6000c172 store 1 ,mem_lpm_mult 
+0648 6000c7c3 store 1 ,mem_lpm_mult_init 
+0649 20600000 rtn 
 
 p_le_parse_channel_map_req:
-063e e8c28000 ifetch 5 ,contr 
-063f 6002c3ce store 5 ,mem_le_new_map 
-0640 e8c10000 ifetch 2 ,contr 
-0641 6001045f store 2 ,mem_le_instant 
-0642 20205c8a branch le_parse_channel_map_req + 7 
+064a e8c28000 ifetch 5 ,contr 
+064b 6002c3ce store 5 ,mem_le_new_map 
+064c e8c10000 ifetch 2 ,contr 
+064d 6001045f store 2 ,mem_le_instant 
+064e 20205c8a branch le_parse_channel_map_req + 7 
 
 p_le_parse_l2cap:
-0643 e8c10000 ifetch 2 ,contr 
-0644 c0020647 beq le_l2cap_cid_att ,p_le_parse_att 
-0645 c0030684 beq le_l2cap_cid_smp ,p_le_parse_smp 
-0646 20205698 branch le_parse_l2cap + 11 
+064f e8c10000 ifetch 2 ,contr 
+0650 c0020653 beq le_l2cap_cid_att ,p_le_parse_att 
+0651 c0030690 beq le_l2cap_cid_smp ,p_le_parse_smp 
+0652 20205698 branch le_parse_l2cap + 11 
 
 p_le_parse_att:
-0647 20407ea5 call store_contr 
-0648 2040061d call p_mouse_le_reconn_write_enable_timer_reinit 
-0649 20407e9f call get_contr 
-064a e8c18000 ifetch 3 ,contr 
-064b 60018477 store 3 ,mem_le_att_opcode 
-064c c0080656 beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
-064d 1fec8400 rshift8 pdata ,temp 
-064e 18467c24 sub temp ,0x24 ,null 
-064f 20210664 branch p_le_parse_att1 ,positive 
-0650 d84047c4 arg mem_mouse_le_uuid_sup ,temp 
-0651 600944bc storet 2 ,mem_ui_le_uuid_table 
-0652 204058ad call le_parse_att + 2 
-0653 58008e7a setarg 0x8e7a 
-0654 600144bc store 2 ,mem_ui_le_uuid_table 
-0655 20600000 rtn 
+0653 20407ea5 call store_contr 
+0654 20400629 call p_mouse_le_reconn_write_enable_timer_reinit 
+0655 20407e9f call get_contr 
+0656 e8c18000 ifetch 3 ,contr 
+0657 60018477 store 3 ,mem_le_att_opcode 
+0658 c0080662 beq attop_read_by_group_type_request ,p_le_parse_att_read_by_group_type_request 
+0659 1fec8400 rshift8 pdata ,temp 
+065a 18467c24 sub temp ,0x24 ,null 
+065b 20210670 branch p_le_parse_att1 ,positive 
+065c d84047c4 arg mem_mouse_le_uuid_sup ,temp 
+065d 600944bc storet 2 ,mem_ui_le_uuid_table 
+065e 204058ad call le_parse_att + 2 
+065f 58008e7a setarg 0x8e7a 
+0660 600144bc store 2 ,mem_ui_le_uuid_table 
+0661 20600000 rtn 
 
 p_le_parse_att_read_by_group_type_request:
-0656 204059fa call le_parse_att_read_by_group_type_request 
-0657 20405879 call le_fifo_get_last_tx_ptr 
-0658 18c08c07 increase 7 ,contr 
-0659 e8c08000 ifetch 1 ,contr 
-065a c1888000 rtnne attop_read_by_group_type_response 
-065b 18c08c05 increase 5 ,contr 
-065c e8c10000 ifetch 2 ,contr 
-065d d8401812 arg uuid_service_hids ,temp 
-065e 98467c00 isub temp ,null 
-065f 24628000 nrtn zero 
-0660 18c08dfc increase -4 ,contr 
-0661 5800002b setarg 0x2b 
-0662 e0c10000 istore 2 ,contr 
-0663 20600000 rtn 
+0662 204059fa call le_parse_att_read_by_group_type_request 
+0663 20405879 call le_fifo_get_last_tx_ptr 
+0664 18c08c07 increase 7 ,contr 
+0665 e8c08000 ifetch 1 ,contr 
+0666 c1888000 rtnne attop_read_by_group_type_response 
+0667 18c08c05 increase 5 ,contr 
+0668 e8c10000 ifetch 2 ,contr 
+0669 d8401812 arg uuid_service_hids ,temp 
+066a 98467c00 isub temp ,null 
+066b 24628000 nrtn zero 
+066c 18c08dfc increase -4 ,contr 
+066d 5800002b setarg 0x2b 
+066e e0c10000 istore 2 ,contr 
+066f 20600000 rtn 
 
 p_le_parse_att1:
-0664 c0050666 beq attop_read_request ,p_le_parse_att_read_request 
-0665 202058ad branch le_parse_att + 2 
+0670 c0050672 beq attop_read_request ,p_le_parse_att_read_request 
+0671 202058ad branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-0666 68090478 fetcht 2 ,mem_le_att_handle 
-0667 6800c4e9 fetch 1 ,mem_le_configuration 
-0668 c281867e bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+0672 68090478 fetcht 2 ,mem_le_att_handle 
+0673 6800c4e9 fetch 1 ,mem_le_configuration 
+0674 c281868a bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-0669 2040576a call le_att_get_handle_ptr 
-066a 203a5a76 branch le_send_att_error_response_notfound ,blank 
-066b 18c08dfe increase -2 ,contr 
-066c e8c10000 ifetch 2 ,contr 
-066d d8402a50 arg uuid_chrctr_pnp_id ,temp 
-066e 98467c00 isub temp ,null 
-066f 20228674 branch p_le_send_att_pnp_id ,zero 
-0670 68010478 fetch 2 ,mem_le_att_handle 
-0671 c009da76 beq 0x13 ,le_send_att_error_response_notfound 
-0672 68090478 fetcht 2 ,mem_le_att_handle 
-0673 202059bf branch le_send_att_read_response 
+0675 2040576a call le_att_get_handle_ptr 
+0676 203a5a76 branch le_send_att_error_response_notfound ,blank 
+0677 18c08dfe increase -2 ,contr 
+0678 e8c10000 ifetch 2 ,contr 
+0679 d8402a50 arg uuid_chrctr_pnp_id ,temp 
+067a 98467c00 isub temp ,null 
+067b 20228680 branch p_le_send_att_pnp_id ,zero 
+067c 68010478 fetch 2 ,mem_le_att_handle 
+067d c009da76 beq 0x13 ,le_send_att_error_response_notfound 
+067e 68090478 fetcht 2 ,mem_le_att_handle 
+067f 202059bf branch le_send_att_read_response 
 
 p_le_send_att_pnp_id:
-0674 20407ea5 call store_contr 
-0675 6800cb3a fetch 1 ,mem_le_att_pnp_id_len 
-0676 1fe0a201 add pdata ,1 ,rega 
-0677 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
-0678 5800000b setarg attop_read_response 
-0679 e0a08000 istore 1 ,contw 
-067a 6800cb3a fetch 1 ,mem_le_att_pnp_id_len 
-067b 1fe27200 copy pdata ,loopcnt 
-067c d8c04b3b arg mem_le_att_pnp_id ,contr 
-067d 20207f01 branch memcpy 
+0680 20407ea5 call store_contr 
+0681 6800cb3a fetch 1 ,mem_le_att_pnp_id_len 
+0682 1fe0a201 add pdata ,1 ,rega 
+0683 20405a82 call le_fifo_malloc_tx_l2cap_gatt 
+0684 5800000b setarg attop_read_response 
+0685 e0a08000 istore 1 ,contw 
+0686 6800cb3a fetch 1 ,mem_le_att_pnp_id_len 
+0687 1fe27200 copy pdata ,loopcnt 
+0688 d8c04b3b arg mem_le_att_pnp_id ,contr 
+0689 20207f01 branch memcpy 
 
 p_le_send_att_read_response_check_auth:
-067e 680144fa fetch 2 ,mem_le_pairing_handle 
-067f 98467c00 isub temp ,null 
-0680 24228669 nbranch p_le_send_att_read_response ,zero 
-0681 20405a42 call le_check_encrypt_state 
-0682 24340669 nbranch p_le_send_att_read_response ,user 
-0683 202059e2 branch le_send_att_read_response_check_auth + 5 
+068a 680144fa fetch 2 ,mem_le_pairing_handle 
+068b 98467c00 isub temp ,null 
+068c 24228675 nbranch p_le_send_att_read_response ,zero 
+068d 20405a42 call le_check_encrypt_state 
+068e 24340675 nbranch p_le_send_att_read_response ,user 
+068f 202059e2 branch le_send_att_read_response_check_auth + 5 
 
 p_le_parse_smp:
-0684 e8c08000 ifetch 1 ,contr 
-0685 c0008688 beq smp_pairing_request ,p_le_parse_smp_pairing_request 
-0686 c002868a beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
-0687 20205af5 branch le_parse_smp + 1 
+0690 e8c08000 ifetch 1 ,contr 
+0691 c0008694 beq smp_pairing_request ,p_le_parse_smp_pairing_request 
+0692 c0028696 beq smp_pairing_failed ,p_le_parse_smp_pairing_failed 
+0693 20205af5 branch le_parse_smp + 1 
 
 p_le_parse_smp_pairing_request:
-0688 704b6e01 jam 1 ,mem_le_send_security_request_flag 
-0689 20205b09 branch le_parse_smp_pairing_request 
+0694 704b6e01 jam 1 ,mem_le_send_security_request_flag 
+0695 20205b09 branch le_parse_smp_pairing_request 
 
 p_le_parse_smp_pairing_failed:
-068a 7011c682 jam zcode_82 ,mem_zcode_temp_param0 
-068b 20200732 branch p_zcode_entrance 
+0696 7011c682 jam zcode_82 ,mem_zcode_temp_param0 
+0697 2020073e branch p_zcode_entrance 
 
 p_le_adv_not_match:
-068c 68008016 fetch 1 ,mem_le_ch_mapped 
-068d c093d6f2 bne 39 ,le_adv_loop 
-068e 20400692 call p_le_adv_random_delay 
-068f d8e00000 arg le_adv_interval_timer ,queue 
-0690 68014482 fetch 2 ,mem_le_adv_interval 
-0691 20207f08 branch timer_init 
+0698 68008016 fetch 1 ,mem_le_ch_mapped 
+0699 c093d6f2 bne 39 ,le_adv_loop 
+069a 2040069e call p_le_adv_random_delay 
+069b d8e00000 arg le_adv_interval_timer ,queue 
+069c 68014482 fetch 2 ,mem_le_adv_interval 
+069d 20207f08 branch timer_init 
 
 p_le_adv_random_delay:
-0692 180a7e00 random pdata 
-0693 d84001ff arg 0x1ff ,temp 
-0694 98417e00 iand temp ,pdata 
-0695 1fe0fefa add pdata ,250 ,pdata 
-0696 20203cbe branch delay 
+069e 180a7e00 random pdata 
+069f d84001ff arg 0x1ff ,temp 
+06a0 98417e00 iand temp ,pdata 
+06a1 1fe0fefa add pdata ,250 ,pdata 
+06a2 20203cbe branch delay 
 
 p_le_lpm_setmult:
-0697 7855fc00 disable wake 
-0698 2037069a branch p_le_lpm_set_mult_attempt ,attempt 
-0699 2436d806 nbranch le_lpm_lost ,match 
+06a3 7855fc00 disable wake 
+06a4 203706a6 branch p_le_lpm_set_mult_attempt ,attempt 
+06a5 2436d806 nbranch le_lpm_lost ,match 
 
 p_le_lpm_set_mult_attempt:
-069a 20402bcb call lpm_match 
-069b 680140c1 fetch 2 ,mem_rx_window_sniff 
-069c 6001044d store 2 ,mem_le_receive_window 
-069d 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
-069e 2fe00603 compare 3 ,pdata ,3 
-069f 2420abde nbranch lpm_mult_short ,true 
-06a0 202057fb branch le_lpm_set_mult_attempt + 3 
+06a6 20402bcb call lpm_match 
+06a7 680140c1 fetch 2 ,mem_rx_window_sniff 
+06a8 6001044d store 2 ,mem_le_receive_window 
+06a9 6800c6c5 fetch 1 ,mem_le_connect_status_flag 
+06aa 2fe00603 compare 3 ,pdata ,3 
+06ab 2420abde nbranch lpm_mult_short ,true 
+06ac 202057fb branch le_lpm_set_mult_attempt + 3 
 
 p_le_mouse_bb_event_connect_complete:
-06a1 7011c622 jam zcode_22 ,mem_zcode_temp_param0 
-06a2 20200732 branch p_zcode_entrance 
+06ad 7011c622 jam zcode_22 ,mem_zcode_temp_param0 
+06ae 2020073e branch p_zcode_entrance 
 
 p_twspi_reset:
-06a3 68108077 hfetch 1 ,core_gpio_out3 
-06a4 1fe17efd and_into 0xfd ,pdata 
-06a5 60108077 hstore 1 ,core_gpio_out3 
-06a6 68188073 hfetcht 1 ,core_gpio_oe3 
-06a7 18418402 or_into 0x2 ,temp 
-06a8 60188073 hstoret 1 ,core_gpio_oe3 
-06a9 204063ee call twspi_disable 
-06aa 184104fd and_into 0xfd ,temp 
-06ab 2000000d nop 13 
-06ac 204006b0 call p_twspi_enable 
-06ad 60188073 hstoret 1 ,core_gpio_oe3 
-06ae 20600000 rtn 
+06af 68108077 hfetch 1 ,core_gpio_out3 
+06b0 1fe17efd and_into 0xfd ,pdata 
+06b1 60108077 hstore 1 ,core_gpio_out3 
+06b2 68188073 hfetcht 1 ,core_gpio_oe3 
+06b3 18418402 or_into 0x2 ,temp 
+06b4 60188073 hstoret 1 ,core_gpio_oe3 
+06b5 204063ee call twspi_disable 
+06b6 184104fd and_into 0xfd ,temp 
+06b7 2000000d nop 13 
+06b8 204006bc call p_twspi_enable 
+06b9 60188073 hstoret 1 ,core_gpio_oe3 
+06ba 20600000 rtn 
 
 p_spid_init:
-06af 204064dd call spid_init_common 
+06bb 204064dd call spid_init_common 
 
 p_twspi_enable:
-06b0 68108081 hfetch 1 ,core_gpio_sel1 
-06b1 79207e00 set1 0 ,pdata 
-06b2 793ffe01 set0 1 ,pdata 
-06b3 793ffe03 set0 3 ,pdata 
-06b4 60108081 hstore 1 ,core_gpio_sel1 
-06b5 20600000 rtn 
+06bc 68108081 hfetch 1 ,core_gpio_sel1 
+06bd 79207e00 set1 0 ,pdata 
+06be 793ffe01 set0 1 ,pdata 
+06bf 793ffe03 set0 3 ,pdata 
+06c0 60108081 hstore 1 ,core_gpio_sel1 
+06c1 20600000 rtn 
 
 p_check_51cmd_once_continue:
-06b6 204062bc call lmo_fifo_check 
-06b7 243a7ddb nbranch check_51cmd_restore ,blank 
-06b8 68008a99 fetch 1 ,mem_fifo_temp 
-06b9 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
-06ba c00f86be beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
-06bb c01006c1 beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
-06bc c00906cb beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
-06bd 20207dca branch check_51cmd_once_continue + 2 
+06c2 204062bc call lmo_fifo_check 
+06c3 243a7ddb nbranch check_51cmd_restore ,blank 
+06c4 68008a99 fetch 1 ,mem_fifo_temp 
+06c5 c584fdd6 bmark0 mark_context ,check_51cmd_check_idle 
+06c6 c00f86ca beq bt_cmd_store_reconn_info_le ,p_flash_store_le_reconn_info 
+06c7 c01006cd beq bt_cmd_store_reconn_info_bt ,p_flash_store_bd_reconn_info 
+06c8 c00906d7 beq bt_cmd_le_update_conn ,p_check_51cmd_ble_update_connect_param 
+06c9 20207dca branch check_51cmd_once_continue + 2 
 
 p_flash_store_le_reconn_info:
-06be 70018534 jam rec_4_mode ,mem_record_bt_mode 
-06bf 6803044f fetch 6 ,mem_le_plap 
-06c0 202006c3 branch p_flash_store_reconn_info 
+06ca 70018534 jam rec_4_mode ,mem_record_bt_mode 
+06cb 6803044f fetch 6 ,mem_le_plap 
+06cc 202006cf branch p_flash_store_reconn_info 
 
 p_flash_store_bd_reconn_info:
-06c1 70018533 jam rec_3_mode ,mem_record_bt_mode 
-06c2 68030040 fetch 6 ,mem_plap 
+06cd 70018533 jam rec_3_mode ,mem_record_bt_mode 
+06ce 68030040 fetch 6 ,mem_plap 
 
 p_flash_store_reconn_info:
-06c3 60030186 store 6 ,mem_temp_lap 
+06cf 60030186 store 6 ,mem_temp_lap 
 
 p_mouse_store_remote_bdaddr:
-06c4 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
-06c5 c4038000 rtnbit0 mouse_store_eeprom_flag 
-06c6 d8e00007 arg mouse_store_eeprom_flag ,queue 
-06c7 204043d2 call mouse_disable_function_flag 
-06c8 204042e8 call mouse_check_device_addr 
+06d0 680246d3 fetch mouse_flag_len ,mem_mouse_flag 
+06d1 c4038000 rtnbit0 mouse_store_eeprom_flag 
+06d2 d8e00007 arg mouse_store_eeprom_flag ,queue 
+06d3 204043d2 call mouse_disable_function_flag 
+06d4 204042e8 call mouse_check_device_addr 
 
 p_mouse_unplug_clean_bdaddr:
-06c9 204042fb call mouse_before_store_reconn_info 
-06ca 202002fc branch p_mouse_store_flash_device_info 
+06d5 204042fb call mouse_before_store_reconn_info 
+06d6 202002fc branch p_mouse_store_flash_device_info 
 
 p_check_51cmd_ble_update_connect_param:
-06cb 20405890 call le_fifo_check_full 
-06cc 247a0000 nrtn blank 
-06cd 20205abf branch le_l2cap_tx_update_req 
+06d7 20405890 call le_fifo_check_full 
+06d8 247a0000 nrtn blank 
+06d9 20205abf branch le_l2cap_tx_update_req 
 
 power_ctrl_pac_succ_cnt_init:
-06ce 704d7701 jam 1 ,mem_power_ctrl_level 
-06cf 704d7400 jam 0 ,mem_power_ctrl_pac_succ_cnt 
-06d0 20600000 rtn 
+06da 704d7701 jam 1 ,mem_power_ctrl_level 
+06db 704d7400 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+06dc 20600000 rtn 
 
 power_ctrl_pac_succ_incrs:
-06d1 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06d2 1fe0fe01 increase 1 ,pdata 
-06d3 6000cd74 store 1 ,mem_power_ctrl_pac_succ_cnt 
-06d4 20600000 rtn 
+06dd 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+06de 1fe0fe01 increase 1 ,pdata 
+06df 6000cd74 store 1 ,mem_power_ctrl_pac_succ_cnt 
+06e0 20600000 rtn 
 
 power_ctrl_pac_succ_cnt_reinit:
-06d5 704d7403 jam 3 ,mem_power_ctrl_pac_succ_cnt 
-06d6 20600000 rtn 
+06e1 704d7403 jam 3 ,mem_power_ctrl_pac_succ_cnt 
+06e2 20600000 rtn 
 
 power_ctrl_start:
-06d7 68014682 fetch 2 ,mem_ui_state_map 
-06d8 c3858000 rtnbit1 ui_state_ble_adv 
-06d9 c3838000 rtnbit1 ui_state_bt_reconnect 
-06da c3830000 rtnbit1 ui_state_bt_discovery 
-06db da204cfd arg mem_rssi_signal_buf ,rega 
-06dc 20400282 call p_rssi_average 
-06dd 6008cd75 storet 1 ,mem_rssi_avg_received 
-06de 58000082 setarg rssi_dis_max_24g 
-06df c51306e1 bmark1 mark_24g ,power_ctrl_start_next 
-06e0 58000080 setarg rssi_dis_max_ble 
+06e3 68014682 fetch 2 ,mem_ui_state_map 
+06e4 c3858000 rtnbit1 ui_state_ble_adv 
+06e5 c3838000 rtnbit1 ui_state_bt_reconnect 
+06e6 c3830000 rtnbit1 ui_state_bt_discovery 
+06e7 da204cfd arg mem_rssi_signal_buf ,rega 
+06e8 20400282 call p_rssi_average 
+06e9 6008cd75 storet 1 ,mem_rssi_avg_received 
+06ea 58000082 setarg rssi_dis_max_24g 
+06eb c51306ed bmark1 mark_24g ,power_ctrl_start_next 
+06ec 58000080 setarg rssi_dis_max_ble 
 
 power_ctrl_start_next:
-06e1 98467c00 isub temp ,null 
-06e2 242106f9 nbranch power_ctrl_txpower_incrs_force ,positive 
-06e3 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06e4 1fe67c02 sub pdata ,2 ,null 
-06e5 242106e9 nbranch power_ctrl_txpower_decrs_check ,positive 
-06e6 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06e7 c00006fa beq 0 ,power_ctrl_txpower_incrs 
-06e8 20600000 rtn 
+06ed 98467c00 isub temp ,null 
+06ee 24210705 nbranch power_ctrl_txpower_incrs_force ,positive 
+06ef 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+06f0 1fe67c02 sub pdata ,2 ,null 
+06f1 242106f5 nbranch power_ctrl_txpower_decrs_check ,positive 
+06f2 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+06f3 c0000706 beq 0 ,power_ctrl_txpower_incrs 
+06f4 20600000 rtn 
 
 power_ctrl_txpower_decrs_check:
-06e9 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
-06ea c1990000 rtnne 50 
-06eb 704d7400 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+06f5 6800cd74 fetch 1 ,mem_power_ctrl_pac_succ_cnt 
+06f6 c1990000 rtnne 50 
+06f7 704d7400 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_decrs:
-06ec 6808cd75 fetcht 1 ,mem_rssi_avg_received 
-06ed 58000077 setarg rssi_dis_min_24g 
-06ee c51306f0 bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
-06ef 58000075 setarg rssi_dis_min_ble 
+06f8 6808cd75 fetcht 1 ,mem_rssi_avg_received 
+06f9 58000077 setarg rssi_dis_min_24g 
+06fa c51306fc bmark1 mark_24g ,power_ctrl_txpower_decrs_next 
+06fb 58000075 setarg rssi_dis_min_ble 
 
 power_ctrl_txpower_decrs_next:
-06f0 98467c00 isub temp ,null 
-06f1 24610000 nrtn positive 
-06f2 6800cd77 fetch 1 ,mem_power_ctrl_level 
-06f3 c0000701 beq 0 ,power_ctrl_decrs_level0 
-06f4 1fe0ffff increase -1 ,pdata 
-06f5 6000cd77 store 1 ,mem_power_ctrl_level 
-06f6 c0000701 beq 0 ,power_ctrl_decrs_level0 
+06fc 98467c00 isub temp ,null 
+06fd 24610000 nrtn positive 
+06fe 6800cd77 fetch 1 ,mem_power_ctrl_level 
+06ff c000070d beq 0 ,power_ctrl_decrs_level0 
+0700 1fe0ffff increase -1 ,pdata 
+0701 6000cd77 store 1 ,mem_power_ctrl_level 
+0702 c000070d beq 0 ,power_ctrl_decrs_level0 
 
 power_ctrl_decrs_level1:
 
 power_ctrl_incrs_level1:
-06f7 7041de00 jam tx_power_0db ,mem_tx_power 
-06f8 20600000 rtn 
+0703 7041de00 jam tx_power_0db ,mem_tx_power 
+0704 20600000 rtn 
 
 power_ctrl_txpower_incrs_force:
-06f9 704d7400 jam 0 ,mem_power_ctrl_pac_succ_cnt 
+0705 704d7400 jam 0 ,mem_power_ctrl_pac_succ_cnt 
 
 power_ctrl_txpower_incrs:
-06fa 6800cd77 fetch 1 ,mem_power_ctrl_level 
-06fb c00106ff beq 2 ,power_ctrl_incrs_level2 
-06fc 1fe0fe01 increase 1 ,pdata 
-06fd 6000cd77 store 1 ,mem_power_ctrl_level 
-06fe c00086f7 beq 1 ,power_ctrl_incrs_level1 
+0706 6800cd77 fetch 1 ,mem_power_ctrl_level 
+0707 c001070b beq 2 ,power_ctrl_incrs_level2 
+0708 1fe0fe01 increase 1 ,pdata 
+0709 6000cd77 store 1 ,mem_power_ctrl_level 
+070a c0008703 beq 1 ,power_ctrl_incrs_level1 
 
 power_ctrl_incrs_level2:
-06ff 7041de02 jam tx_power_5db ,mem_tx_power 
-0700 20600000 rtn 
+070b 7041de02 jam tx_power_5db ,mem_tx_power 
+070c 20600000 rtn 
 
 power_ctrl_decrs_level0:
-0701 7041de04 jam tx_power_f5db ,mem_tx_power 
-0702 20600000 rtn 
+070d 7041de04 jam tx_power_f5db ,mem_tx_power 
+070e 20600000 rtn 
 
 p_set_freq_tx:
-0703 60088017 storet 1 ,mem_last_freq 
-0704 1840a200 add temp ,0 ,rega 
-0705 20402981 call rf_write_freq 
-0706 58000500 setarg param_pll_setup 
-0707 20402a8f call sleep 
+070f 60088017 storet 1 ,mem_last_freq 
+0710 1840a200 add temp ,0 ,rega 
+0711 20402981 call rf_write_freq 
+0712 58000500 setarg param_pll_setup 
+0713 20402a8f call sleep 
 
 p_rf_tx_enable:
-0708 70890601 jam 0x1 ,rfen_adc 
-0709 7089003c jam 0x3c ,rfen_rx 
-070a 708901e0 jam 0xe0 ,rfen_tx 
-070b 2000000a nop 10 
-070c 70890201 jam 0x01 ,rfen_mdm 
-070d 7089023d jam 0x3d ,rfen_mdm 
-070e 2000000a nop 10 
-070f 708903b7 jam 0xb7 ,rfen_sn 
-0710 2000000a nop 10 
-0711 7089027d jam 0x7d ,rfen_mdm 
-0712 6800c1de fetch 1 ,mem_tx_power 
-0713 c001071b beq tx_power_5db ,p_set_tx_power_5db 
-0714 c0020723 beq tx_power_f5db ,p_set_tx_power_f5db 
-0715 c010072d beq tx_power_pair ,p_set_tx_power_pair 
+0714 70890601 jam 0x1 ,rfen_adc 
+0715 7089003c jam 0x3c ,rfen_rx 
+0716 708901e0 jam 0xe0 ,rfen_tx 
+0717 2000000a nop 10 
+0718 70890201 jam 0x01 ,rfen_mdm 
+0719 7089023d jam 0x3d ,rfen_mdm 
+071a 2000000a nop 10 
+071b 708903b7 jam 0xb7 ,rfen_sn 
+071c 2000000a nop 10 
+071d 7089027d jam 0x7d ,rfen_mdm 
+071e 6800c1de fetch 1 ,mem_tx_power 
+071f c0010727 beq tx_power_5db ,p_set_tx_power_5db 
+0720 c002072f beq tx_power_f5db ,p_set_tx_power_f5db 
+0721 c0100739 beq tx_power_pair ,p_set_tx_power_pair 
 
 p_set_tx_power_0db:
-0716 20400728 call p_rx_low_sens 
-0717 708955d0 jam 0xd0 ,0x8955 
-0718 708956e0 jam 0xe0 ,0x8956 
-0719 7089586c jam 0x6c ,0x8958 
-071a 2020294b branch set_tx_power_0db 
+0722 20400734 call p_rx_low_sens 
+0723 708955d0 jam 0xd0 ,0x8955 
+0724 708956e0 jam 0xe0 ,0x8956 
+0725 7089586c jam 0x6c ,0x8958 
+0726 2020294b branch set_tx_power_0db 
 
 p_set_tx_power_5db:
-071b 70894cfb jam 0xfb ,0x894c 
-071c 70894def jam 0xef ,0x894d 
-071d 70894eec jam 0xec ,0x894e 
-071e 70894f5e jam 0x5e ,0x894f 
-071f 708955d0 jam 0xd0 ,0x8955 
-0720 708956e0 jam 0xe0 ,0x8956 
-0721 7089583c jam 0x3c ,0x8958 
-0722 20202953 branch set_tx_power_5db 
+0727 70894cfb jam 0xfb ,0x894c 
+0728 70894def jam 0xef ,0x894d 
+0729 70894eec jam 0xec ,0x894e 
+072a 70894f5e jam 0x5e ,0x894f 
+072b 708955d0 jam 0xd0 ,0x8955 
+072c 708956e0 jam 0xe0 ,0x8956 
+072d 7089583c jam 0x3c ,0x8958 
+072e 20202953 branch set_tx_power_5db 
 
 p_set_tx_power_f5db:
-0723 20400728 call p_rx_low_sens 
-0724 708955d0 jam 0xd0 ,0x8955 
-0725 708956c0 jam 0xc0 ,0x8956 
-0726 7089586c jam 0x6c ,0x8958 
-0727 2020295b branch set_tx_power_f5db 
+072f 20400734 call p_rx_low_sens 
+0730 708955d0 jam 0xd0 ,0x8955 
+0731 708956c0 jam 0xc0 ,0x8956 
+0732 7089586c jam 0x6c ,0x8958 
+0733 2020295b branch set_tx_power_f5db 
 
 p_rx_low_sens:
-0728 70894c5b jam 0x5b ,0x894c 
-0729 70894d96 jam 0x96 ,0x894d 
-072a 70894e2c jam 0x2c ,0x894e 
-072b 70894f46 jam 0x46 ,0x894f 
-072c 20600000 rtn 
+0734 70894c5b jam 0x5b ,0x894c 
+0735 70894d96 jam 0x96 ,0x894d 
+0736 70894e2c jam 0x2c ,0x894e 
+0737 70894f46 jam 0x46 ,0x894f 
+0738 20600000 rtn 
 
 p_set_tx_power_pair:
-072d 708956c2 jam 0xc2 ,0x8956 
-072e 708955d0 jam 0xd0 ,0x8955 
-072f 20600000 rtn 
+0739 708956c2 jam 0xc2 ,0x8956 
+073a 708955d0 jam 0xd0 ,0x8955 
+073b 20600000 rtn 
 
 p_shutdown_radio:
-0730 18002a08 force 8 ,radio_ctrl 
-0731 202028fa branch shutdown_radio + 1 
+073c 18002a08 force 8 ,radio_ctrl 
+073d 202028fa branch shutdown_radio + 1 
 
 p_zcode_entrance:
-0732 680891c6 fetcht 1 ,mem_zcode_temp_param0 
-0733 18518400 rshift4 temp ,temp 
-0734 6800cb52 fetch 1 ,mem_zcode_current_number 
-0735 98467c00 isub temp ,null 
-0736 20228751 branch p_zcode_run ,zero 
-0737 6008cb52 storet 1 ,mem_zcode_current_number 
-0738 18408401 increase 1 ,temp 
-0739 58000100 setarg zcode_buff_size 
-073a 984f8400 imul32 temp ,temp 
-073b 6801cb53 fetch 3 ,mem_xip_flash_offset 
-073c 98467e00 isub temp ,pdata 
-073d 6809cb56 fetcht 3 ,mem_flash_start_addr 
-073e 9840fe00 iadd temp ,pdata 
-073f 1fe0fffb increase -5 ,pdata 
-0740 6001cb59 store 3 ,mem_flash_address 
-0741 2040033a call p_flash_release_deep_power_down 
+073e 680891c6 fetcht 1 ,mem_zcode_temp_param0 
+073f 18518400 rshift4 temp ,temp 
+0740 6800cb52 fetch 1 ,mem_zcode_current_number 
+0741 98467c00 isub temp ,null 
+0742 2022875d branch p_zcode_run ,zero 
+0743 6008cb52 storet 1 ,mem_zcode_current_number 
+0744 18408401 increase 1 ,temp 
+0745 58000100 setarg zcode_buff_size 
+0746 984f8400 imul32 temp ,temp 
+0747 6801cb53 fetch 3 ,mem_xip_flash_offset 
+0748 98467e00 isub temp ,pdata 
+0749 6809cb56 fetcht 3 ,mem_flash_start_addr 
+074a 9840fe00 iadd temp ,pdata 
+074b 1fe0fffb increase -5 ,pdata 
+074c 6001cb59 store 3 ,mem_flash_address 
+074d 2040033a call p_flash_release_deep_power_down 
 
 p_zcode_read_loop:
-0742 6801cb59 fetch 3 ,mem_flash_address 
-0743 d8400100 arg zcode_buff_size ,temp 
-0744 da201f00 arg mem_zcode_buff ,rega 
-0745 20406562 call spid_read_flash 
-0746 68021f00 fetch 4 ,mem_zcode_buff 
-0747 680a4b5c fetcht 4 ,mem_zcode_head 
-0748 98467c00 isub temp ,null 
-0749 24228742 nbranch p_zcode_read_loop ,zero 
-074a 2040030a call p_mouse_spi_init 
-074b 58001f00 setarg mem_zcode_buff 
-074c 60014199 store 2 ,mem_patch_ptr 
-074d 70419b40 jam zcode_code_size ,mem_patch_len 
-074e 204064ca call load_ucode 
-074f 58000000 setarg 0 
-0750 60024199 store 4 ,mem_patch_ptr 
+074e 6801cb59 fetch 3 ,mem_flash_address 
+074f d8400100 arg zcode_buff_size ,temp 
+0750 da201f00 arg mem_zcode_buff ,rega 
+0751 20406562 call spid_read_flash 
+0752 68021f00 fetch 4 ,mem_zcode_buff 
+0753 680a4b5c fetcht 4 ,mem_zcode_head 
+0754 98467c00 isub temp ,null 
+0755 2422874e nbranch p_zcode_read_loop ,zero 
+0756 2040030a call p_mouse_spi_init 
+0757 58001f00 setarg mem_zcode_buff 
+0758 60014199 store 2 ,mem_patch_ptr 
+0759 70419b40 jam zcode_code_size ,mem_patch_len 
+075a 204064ca call load_ucode 
+075b 58000000 setarg 0 
+075c 60024199 store 4 ,mem_patch_ptr 
 
 p_zcode_run:
-0751 680091c6 fetch 1 ,mem_zcode_temp_param0 
-0752 20200001 branch p_zcode 
+075d 680091c6 fetch 1 ,mem_zcode_temp_param0 
+075e 20200001 branch p_zcode 
 
 p_drawing_optima:
-0753 6802469b fetch 4 ,mem_mouse_x 
-0754 207a0000 rtn blank 
-0755 204007b3 call p_data_abs_check 
-0756 58000006 setarg 0x06 
-0757 204007a6 call p_data_greater_than_check 
-0758 58000003 setarg 0x03 
-0759 204007ac call p_data_less_than_check 
-075a 6800cb0b fetch 1 ,mem_mouse_asm_flag 
-075b c000875f beq 1 ,p_drawing_optima_modify 
+075f 6802469b fetch 4 ,mem_mouse_x 
+0760 207a0000 rtn blank 
+0761 204007bf call p_data_abs_check 
+0762 58000006 setarg 0x06 
+0763 204007b2 call p_data_greater_than_check 
+0764 58000003 setarg 0x03 
+0765 204007b8 call p_data_less_than_check 
+0766 6800cb0b fetch 1 ,mem_mouse_asm_flag 
+0767 c000876b beq 1 ,p_drawing_optima_modify 
 
 p_drawing_optima_init:
-075c df200005 arg 5 ,loopcnt 
-075d d8a04b0b arg mem_mouse_asm_flag ,contw 
-075e 20207ed4 branch clear_mem 
+0768 df200005 arg 5 ,loopcnt 
+0769 d8a04b0b arg mem_mouse_asm_flag ,contw 
+076a 20207ed4 branch clear_mem 
 
 p_drawing_optima_modify:
-075f 68014b0c fetch 2 ,mem_mouse_x_pre 
-0760 600111be store 2 ,mem_data_pre 
-0761 6801469b fetch 2 ,mem_mouse_x 
-0762 600111c0 store 2 ,mem_data_current 
-0763 20400772 call p_drawing_optima_data_x 
-0764 680111be fetch 2 ,mem_data_pre 
-0765 60014b0c store 2 ,mem_mouse_x_pre 
-0766 680111c0 fetch 2 ,mem_data_current 
-0767 6001469b store 2 ,mem_mouse_x 
-0768 68014b0e fetch 2 ,mem_mouse_y_pre 
-0769 600111be store 2 ,mem_data_pre 
-076a 6801469d fetch 2 ,mem_mouse_y 
-076b 600111c0 store 2 ,mem_data_current 
-076c 2040077a call p_drawing_optima_data_y 
-076d 680111be fetch 2 ,mem_data_pre 
-076e 60014b0e store 2 ,mem_mouse_y_pre 
-076f 680111c0 fetch 2 ,mem_data_current 
-0770 6001469d store 2 ,mem_mouse_y 
-0771 20600000 rtn 
+076b 68014b0c fetch 2 ,mem_mouse_x_pre 
+076c 600111be store 2 ,mem_data_pre 
+076d 6801469b fetch 2 ,mem_mouse_x 
+076e 600111c0 store 2 ,mem_data_current 
+076f 2040077e call p_drawing_optima_data_x 
+0770 680111be fetch 2 ,mem_data_pre 
+0771 60014b0c store 2 ,mem_mouse_x_pre 
+0772 680111c0 fetch 2 ,mem_data_current 
+0773 6001469b store 2 ,mem_mouse_x 
+0774 68014b0e fetch 2 ,mem_mouse_y_pre 
+0775 600111be store 2 ,mem_data_pre 
+0776 6801469d fetch 2 ,mem_mouse_y 
+0777 600111c0 store 2 ,mem_data_current 
+0778 20400786 call p_drawing_optima_data_y 
+0779 680111be fetch 2 ,mem_data_pre 
+077a 60014b0e store 2 ,mem_mouse_y_pre 
+077b 680111c0 fetch 2 ,mem_data_current 
+077c 6001469d store 2 ,mem_mouse_y 
+077d 20600000 rtn 
 
 p_drawing_optima_data_x:
-0772 680111be fetch 2 ,mem_data_pre 
-0773 680911c0 fetcht 2 ,mem_data_current 
-0774 9840fe00 iadd temp ,pdata 
-0775 6808cbaa fetcht 1 ,mem_mouse_data_xtemp 
-0776 9840fe00 iadd temp ,pdata 
-0777 1fe10401 and pdata ,0x01 ,temp 
-0778 6008cbaa storet 1 ,mem_mouse_data_xtemp 
-0779 20200782 branch p_drawing_optima_data 
+077e 680111be fetch 2 ,mem_data_pre 
+077f 680911c0 fetcht 2 ,mem_data_current 
+0780 9840fe00 iadd temp ,pdata 
+0781 6808cbaa fetcht 1 ,mem_mouse_data_xtemp 
+0782 9840fe00 iadd temp ,pdata 
+0783 1fe10401 and pdata ,0x01 ,temp 
+0784 6008cbaa storet 1 ,mem_mouse_data_xtemp 
+0785 2020078e branch p_drawing_optima_data 
 
 p_drawing_optima_data_y:
-077a 680111be fetch 2 ,mem_data_pre 
-077b 680911c0 fetcht 2 ,mem_data_current 
-077c 9840fe00 iadd temp ,pdata 
-077d 6808cbab fetcht 1 ,mem_mouse_data_ytemp 
-077e 9840fe00 iadd temp ,pdata 
-077f 1fe10401 and pdata ,0x01 ,temp 
-0780 6008cbab storet 1 ,mem_mouse_data_ytemp 
-0781 20200782 branch p_drawing_optima_data 
+0786 680111be fetch 2 ,mem_data_pre 
+0787 680911c0 fetcht 2 ,mem_data_current 
+0788 9840fe00 iadd temp ,pdata 
+0789 6808cbab fetcht 1 ,mem_mouse_data_ytemp 
+078a 9840fe00 iadd temp ,pdata 
+078b 1fe10401 and pdata ,0x01 ,temp 
+078c 6008cbab storet 1 ,mem_mouse_data_ytemp 
+078d 2020078e branch p_drawing_optima_data 
 
 p_drawing_optima_data:
-0782 600191c2 store 3 ,mem_data_sum 
-0783 2feffe10 isolate1 16 ,pdata 
-0784 2020878c branch p_data_sum_overflow ,true 
-0785 680091c3 fetch 1 ,mem_data_sum + 1 
-0786 c07f8793 beq 0xff ,p_data_sum_n 
-0787 680091c2 fetch 1 ,mem_data_sum 
+078e 600191c2 store 3 ,mem_data_sum 
+078f 2feffe10 isolate1 16 ,pdata 
+0790 20208798 branch p_data_sum_overflow ,true 
+0791 680091c3 fetch 1 ,mem_data_sum + 1 
+0792 c07f879f beq 0xff ,p_data_sum_n 
+0793 680091c2 fetch 1 ,mem_data_sum 
 
 p_data_store_pre:
-0788 1fe37e00 rshift pdata ,pdata 
-0789 600111be store 2 ,mem_data_pre 
-078a 600111c0 store 2 ,mem_data_current 
-078b 20600000 rtn 
+0794 1fe37e00 rshift pdata ,pdata 
+0795 600111be store 2 ,mem_data_pre 
+0796 600111c0 store 2 ,mem_data_current 
+0797 20600000 rtn 
 
 p_data_sum_overflow:
-078c 680091c3 fetch 1 ,mem_data_sum + 1 
-078d c0000790 beq 0 ,p_data_sum_overflow_p 
-078e 680191c2 fetch 3 ,mem_data_sum 
-078f 20200788 branch p_data_store_pre 
+0798 680091c3 fetch 1 ,mem_data_sum + 1 
+0799 c000079c beq 0 ,p_data_sum_overflow_p 
+079a 680191c2 fetch 3 ,mem_data_sum 
+079b 20200794 branch p_data_store_pre 
 
 p_data_sum_overflow_p:
-0790 7011c400 jam 0 ,mem_data_sum + 2 
-0791 680091c2 fetch 1 ,mem_data_sum 
-0792 20200788 branch p_data_store_pre 
+079c 7011c400 jam 0 ,mem_data_sum + 2 
+079d 680091c2 fetch 1 ,mem_data_sum 
+079e 20200794 branch p_data_store_pre 
 
 p_data_sum_n:
-0793 680091c2 fetch 1 ,mem_data_sum 
-0794 2040079e call p_pdata_get_half 
-0795 600091be store 1 ,mem_data_pre 
-0796 600091c0 store 1 ,mem_data_current 
-0797 203a079c branch p_data_zero ,blank 
-0798 580000ff setarg 0xff 
+079f 680091c2 fetch 1 ,mem_data_sum 
+07a0 204007aa call p_pdata_get_half 
+07a1 600091be store 1 ,mem_data_pre 
+07a2 600091c0 store 1 ,mem_data_current 
+07a3 203a07a8 branch p_data_zero ,blank 
+07a4 580000ff setarg 0xff 
 
 p_data_set_direction:
-0799 600091bf store 1 ,mem_data_pre + 1 
-079a 600091c1 store 1 ,mem_data_current + 1 
-079b 20600000 rtn 
+07a5 600091bf store 1 ,mem_data_pre + 1 
+07a6 600091c1 store 1 ,mem_data_current + 1 
+07a7 20600000 rtn 
 
 p_data_zero:
-079c 58000000 setarg 0 
-079d 20200799 branch p_data_set_direction 
+07a8 58000000 setarg 0 
+07a9 202007a5 branch p_data_set_direction 
 
 p_pdata_get_half:
-079e 1fe67e00 sub pdata ,0 ,pdata 
-079f 60008aae store 1 ,mem_rega 
-07a0 68008aae fetch 1 ,mem_rega 
-07a1 1fe37e00 rshift pdata ,pdata 
-07a2 60008aae store 1 ,mem_rega 
-07a3 68008aae fetch 1 ,mem_rega 
-07a4 1fe67e00 sub pdata ,0 ,pdata 
-07a5 20600000 rtn 
+07aa 1fe67e00 sub pdata ,0 ,pdata 
+07ab 60008aae store 1 ,mem_rega 
+07ac 68008aae fetch 1 ,mem_rega 
+07ad 1fe37e00 rshift pdata ,pdata 
+07ae 60008aae store 1 ,mem_rega 
+07af 68008aae fetch 1 ,mem_rega 
+07b0 1fe67e00 sub pdata ,0 ,pdata 
+07b1 20600000 rtn 
 
 p_data_greater_than_check:
-07a6 9a267c00 isub rega ,null 
-07a7 242107b1 nbranch p_enable_asm ,positive 
-07a8 9a467c00 isub regb ,null 
-07a9 242107b1 nbranch p_enable_asm ,positive 
+07b2 9a267c00 isub rega ,null 
+07b3 242107bd nbranch p_enable_asm ,positive 
+07b4 9a467c00 isub regb ,null 
+07b5 242107bd nbranch p_enable_asm ,positive 
 
 p_disable_asm:
-07aa 704b0b00 jam 0 ,mem_mouse_asm_flag 
-07ab 20600000 rtn 
+07b6 704b0b00 jam 0 ,mem_mouse_asm_flag 
+07b7 20600000 rtn 
 
 p_data_less_than_check:
-07ac 9a267c00 isub rega ,null 
-07ad 24610000 nrtn positive 
-07ae 9a467c00 isub regb ,null 
-07af 24610000 nrtn positive 
-07b0 202007aa branch p_disable_asm 
+07b8 9a267c00 isub rega ,null 
+07b9 24610000 nrtn positive 
+07ba 9a467c00 isub regb ,null 
+07bb 24610000 nrtn positive 
+07bc 202007b6 branch p_disable_asm 
 
 p_enable_asm:
-07b1 704b0b01 jam 1 ,mem_mouse_asm_flag 
-07b2 20600000 rtn 
+07bd 704b0b01 jam 1 ,mem_mouse_asm_flag 
+07be 20600000 rtn 
 
 p_data_abs_check:
-07b3 6801469b fetch 2 ,mem_mouse_x 
-07b4 204007ba call p_data_abs 
-07b5 1fe22200 copy pdata ,rega 
-07b6 6801469d fetch 2 ,mem_mouse_y 
-07b7 204007ba call p_data_abs 
-07b8 1fe22400 copy pdata ,regb 
-07b9 20600000 rtn 
+07bf 6801469b fetch 2 ,mem_mouse_x 
+07c0 204007c6 call p_data_abs 
+07c1 1fe22200 copy pdata ,rega 
+07c2 6801469d fetch 2 ,mem_mouse_y 
+07c3 204007c6 call p_data_abs 
+07c4 1fe22400 copy pdata ,regb 
+07c5 20600000 rtn 
 
 p_data_abs:
-07ba 600111c0 store 2 ,mem_data_current 
-07bb 680091c1 fetch 1 ,mem_data_current + 1 
-07bc c07f87c0 beq 0xff ,p_data_reversal 
-07bd 680091c0 fetch 1 ,mem_data_current 
+07c6 600111c0 store 2 ,mem_data_current 
+07c7 680091c1 fetch 1 ,mem_data_current + 1 
+07c8 c07f87cc beq 0xff ,p_data_reversal 
+07c9 680091c0 fetch 1 ,mem_data_current 
 
 p_data_abs_store:
-07be 1fe17eff and_into 0xff ,pdata 
-07bf 20600000 rtn 
+07ca 1fe17eff and_into 0xff ,pdata 
+07cb 20600000 rtn 
 
 p_data_reversal:
-07c0 680111c0 fetch 2 ,mem_data_current 
-07c1 1fe67e00 sub pdata ,0 ,pdata 
-07c2 202007be branch p_data_abs_store 
+07cc 680111c0 fetch 2 ,mem_data_current 
+07cd 1fe67e00 sub pdata ,0 ,pdata 
+07ce 202007ca branch p_data_abs_store 
               org 0x2000
 
 start:
@@ -35395,7 +35415,7 @@
 10010 68014682 fetch 2 ,mem_ui_state_map 
 10011 c28642b0 bbit1 ui_state_btn_down ,mouse_start_discovery 
 10012 204033a9 call app_disconn_reason_clear 
-10013 204005b2 call p_mouse_check_key_gpio 
+10013 204005be call p_mouse_check_key_gpio 
 10014 c0038018 beq mouse_lmr_button ,z_mouse_null_enter_hibernate_enable 
 10015 6800c6b6 fetch 1 ,mem_mouse_dpi_button_state 
 10016 203a0018 branch z_mouse_null_enter_hibernate_enable ,blank 
@@ -35998,7 +36018,7 @@
 
 z_mouse_le_conn_param_update_rsp_not_accepted:
 b0017 704b6101 jam 1 ,mem_mouse_le_updata_not_accepted_flag 
-b0018 2020063a branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset 
+b0018 20200646 branch p_mouse_le_conn_param_update_rsp_not_accepted_mult_reset 
 
 z_mouse_le_bb_disconnected:
 b0019 704b6f00 jam 0 ,mem_mouse_le_bb_connected_flag 
Index: output/romcode.rom
===================================================================
--- /branch/mouse_project/LeXiang/1059Only_BLE/output/romcode.rom	(revision 3763)
+++ /branch/mouse_project/LeXiang/1059Only_BLE/output/romcode.rom	(working copy)
@@ -24590,7 +24590,7 @@
 68014682
 c28642b0
 204033a9
-204005b2
+204005be
 c0038018
 6800c6b6
 203a0018
@@ -25033,7 +25033,7 @@
 7047c201
 20600000
 704b6101
-2020063a
+20200646
 704b6f00
 58000007
 60014496
@@ -25089,4 +25089,4 @@
 704b0a00
 204002fc
 202041d9
-0000cce3
+00002bbb
Index: program/patch.prog
===================================================================
--- /branch/mouse_project/LeXiang/1059Only_BLE/program/patch.prog	(revision 3763)
+++ /branch/mouse_project/LeXiang/1059Only_BLE/program/patch.prog	(working copy)
@@ -2473,7 +2473,7 @@
 	beq P3065_XY,p_mouse_3065xy_set_cpi3
 	beq MX8650,p_mouse_3065xy_set_cpi3
 	beq KA8,p_mouse_ka8_set_cpi3
-	beq S201X,mouse_set_cpi2
+	beq S201X,p_mouse_set_s201x_cpi2		//1600
 p_mouse_320x_set_cpi3:	
 	fetch 1,mem_320x_dpi_3
 p_mouse_dpi_store:
@@ -2488,7 +2488,7 @@
 	beq P3065_XY,p_mouse_3065xy_set_cpi1
 	beq MX8650,p_mouse_3065xy_set_cpi1
 	beq KA8,p_mouse_ka8_set_cpi1
-	beq S201X,p_mouse_s201b_set_cpi1
+	beq S201X,p_mouse_set_s201x_cpi1		//1000
 p_mouse_320x_set_cpi1:	
 	fetch 1,mem_320x_dpi_1
 	branch p_mouse_dpi_store
@@ -2498,7 +2498,7 @@
 	beq P3065_XY,p_mouse_3065xy_set_cpi4
 	beq MX8650,p_mouse_3065xy_set_cpi4
 	beq KA8,p_mouse_ka8_set_cpi4
-	beq S201X,mouse_set_cpi3
+	beq S201X,p_mouse_set_s201x_cpi4		//04
 p_mouse_320x_set_cpi4:	
 	fetch 1,mem_320x_dpi_4
 	branch p_mouse_dpi_store
@@ -2525,9 +2525,30 @@
 	fetch 1,mem_3065xy_dpi_4
 	branch p_mouse_ka8_dpi_store
 
-p_mouse_s201b_set_cpi1:
-	setarg 0
-	branch p_mouse_dpi_store
+p_mouse_set_s201x_cpi1:	//1000
+	jam 0x89,mem_mouse_cpi_count
+	branch p_mouse_set_sensor_high_dpi
+	
+p_mouse_set_s201x_cpi2:	//1600
+	jam 0x8b,mem_mouse_cpi_count
+	branch p_mouse_set_sensor_high_dpi
+
+p_mouse_set_s201x_cpi3:	//2000
+	jam 0x82,mem_mouse_cpi_count
+	branch p_mouse_set_sensor_high_dpi
+
+p_mouse_set_s201x_cpi4:	//2400
+	jam 0x83,mem_mouse_cpi_count
+p_mouse_set_sensor_high_dpi:
+
+	setarg 0xc309
+	call twspi_write
+	fetch 1,mem_mouse_cpi_count
+	lshift8 pdata,pdata
+	add pdata,MOUSE_DPI_S201X_HIGH_ADDRESS,pdata
+	call twspi_write
+
+	branch mouse_sensor_enable_wp
 
 //p_mouse_seting_3212_dpi:
 //	fetch 1,mem_mouse_dpi
Index: sched/mouse.dat
===================================================================
--- /branch/mouse_project/LeXiang/1059Only_BLE/sched/mouse.dat	(revision 3763)
+++ /branch/mouse_project/LeXiang/1059Only_BLE/sched/mouse.dat	(working copy)
@@ -295,7 +295,7 @@
 mem_24g_allpowerful_addr:0f 0f 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:05 00
+mem_firmware_version:06 00
 
 mem_device_flag:
 01
