Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/format/app_mouse.format	(revision 1430)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/format/app_mouse.format	(working copy)
@@ -367,6 +367,7 @@
 1 mem_mouse_logo_led_state
 1 mem_mouse_logo_led_on_flag
 1 mem_mouse_logo_led_poweron_time
+2 mem_mouse_temp_data
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/output/eeprom.dat	(revision 1432)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-b6
-16
+76
+17
 c2
 84
 00
@@ -63,11 +63,11 @@
 c0
 67
 03
-68
+76
 c0
 67
 84
-17
+47
 c0
 68
 02
@@ -75,11 +75,11 @@
 c0
 68
 83
-93
+c3
 c0
 6a
 03
-79
+a9
 c0
 6b
 01
@@ -87,19 +87,19 @@
 c0
 6c
 82
-95
+a3
 c0
 6d
 03
-0c
+1a
 c0
 6f
 03
-ce
+fe
 c0
 74
 03
-1a
+28
 20
 20
 13
@@ -115,15 +115,15 @@
 c0
 43
 83
-16
+24
 c0
 50
 83
-2e
+3c
 c0
 60
 03
-38
+46
 c0
 6e
 82
@@ -143,7 +143,7 @@
 c0
 76
 03
-5f
+6d
 20
 20
 13
@@ -343,7 +343,7 @@
 20
 40
 04
-87
+b7
 20
 34
 00
@@ -731,7 +731,7 @@
 24
 55
 82
-cc
+da
 20
 40
 6d
@@ -775,7 +775,7 @@
 20
 40
 03
-8b
+bb
 6f
 e0
 c9
@@ -794,8 +794,8 @@
 53
 20
 40
-03
-d5
+04
+05
 20
 20
 3d
@@ -1067,7 +1067,7 @@
 24
 3a
 05
-40
+70
 20
 40
 3f
@@ -1319,7 +1319,7 @@
 20
 20
 03
-8b
+bb
 20
 40
 26
@@ -1419,7 +1419,7 @@
 20
 40
 04
-48
+78
 20
 40
 01
@@ -1555,11 +1555,11 @@
 20
 40
 03
-84
+b4
 20
 40
 03
-8b
+bb
 20
 40
 00
@@ -1583,7 +1583,7 @@
 20
 40
 02
-cc
+da
 20
 40
 40
@@ -1847,7 +1847,7 @@
 20
 40
 03
-8b
+bb
 20
 40
 00
@@ -1999,11 +1999,11 @@
 20
 40
 02
-b4
+c2
 20
 40
 02
-c0
+ce
 20
 40
 45
@@ -2015,11 +2015,11 @@
 20
 40
 02
-b4
+c2
 20
 40
 02
-c0
+ce
 20
 20
 43
@@ -2471,7 +2471,7 @@
 c2
 81
 84
-52
+82
 c2
 80
 a3
@@ -2587,7 +2587,7 @@
 20
 40
 02
-87
+95
 20
 20
 40
@@ -2595,6 +2595,62 @@
 6f
 e0
 c9
+27
+c0
+01
+82
+8b
+c0
+02
+82
+90
+20
+20
+40
+9a
+6f
+e0
+c9
+92
+c0
+00
+40
+c2
+c0
+00
+c0
+c4
+c0
+01
+40
+c0
+20
+20
+40
+c2
+6f
+e0
+c9
+92
+c0
+00
+40
+a2
+c0
+00
+c0
+a2
+c0
+01
+40
+a0
+20
+20
+40
+a2
+6f
+e0
+c9
 23
 c1
 7f
@@ -2639,7 +2695,7 @@
 20
 3a
 02
-d5
+e3
 67
 e0
 cb
@@ -2675,7 +2731,7 @@
 20
 40
 02
-d2
+e0
 20
 40
 40
@@ -2687,7 +2743,7 @@
 20
 40
 02
-ea
+f8
 20
 40
 44
@@ -2703,7 +2759,7 @@
 20
 40
 03
-01
+0f
 20
 40
 45
@@ -2735,19 +2791,19 @@
 20
 40
 02
-c3
+d1
 20
 40
 02
-b7
+c5
 20
 40
 03
-04
+12
 20
 20
 02
-ae
+bc
 da
 60
 4c
@@ -2799,7 +2855,7 @@
 da
 40
 02
-bc
+ca
 20
 20
 31
@@ -2815,11 +2871,11 @@
 c0
 00
 82
-cc
+da
 20
 20
 02
-cf
+dd
 70
 4c
 3e
@@ -2847,7 +2903,7 @@
 20
 3a
 02
-ca
+d8
 1f
 e0
 ff
@@ -2859,7 +2915,7 @@
 20
 20
 02
-cf
+dd
 70
 4c
 3e
@@ -2867,7 +2923,7 @@
 20
 20
 02
-cc
+da
 70
 4c
 3d
@@ -2899,7 +2955,7 @@
 da
 40
 02
-d5
+e3
 20
 20
 31
@@ -2955,11 +3011,11 @@
 20
 41
 02
-e4
+f2
 24
 41
 02
-e8
+f6
 20
 20
 48
@@ -2995,7 +3051,7 @@
 c0
 00
 02
-f0
+fe
 6f
 e4
 4b
@@ -3010,8 +3066,8 @@
 ca
 20
 20
-02
-f3
+03
+01
 6f
 e4
 4b
@@ -3046,16 +3102,16 @@
 00
 20
 22
-82
-fa
+83
+08
 20
 20
 44
 eb
 20
 40
-02
-ff
+03
+0d
 6f
 e0
 cb
@@ -3107,7 +3163,7 @@
 da
 40
 03
-09
+17
 20
 20
 31
@@ -3159,7 +3215,7 @@
 20
 40
 02
-b1
+bf
 20
 20
 45
@@ -3207,7 +3263,7 @@
 c0
 04
 83
-22
+30
 20
 20
 4d
@@ -3307,7 +3363,7 @@
 c0
 02
 03
-3b
+49
 20
 20
 19
@@ -3323,11 +3379,11 @@
 c0
 05
 03
-40
+4e
 c0
 09
 03
-4f
+5d
 20
 20
 1c
@@ -3355,7 +3411,7 @@
 c2
 81
 83
-4a
+58
 6f
 e1
 44
@@ -3383,11 +3439,11 @@
 24
 22
 83
-46
+54
 24
 34
 03
-46
+54
 20
 20
 1e
@@ -3510,8 +3566,12 @@
 40
 20
 40
+03
+88
+20
 40
-8e
+02
+87
 20
 40
 3f
@@ -3543,7 +3603,7 @@
 20
 40
 03
-76
+85
 20
 20
 45
@@ -3560,42 +3620,174 @@
 20
 47
 1a
-20
-40
-3f
-65
 6f
 e0
 c9
 27
 c0
-05
+01
 83
-80
+8f
+c0
+02
+83
+8c
 20
-40
-42
-32
-da
 60
-4a
-a3
-20
-40
-42
-2b
+00
+00
+6f
+e0
+c9
+92
+c1
+00
+00
+00
 20
 20
-40
-8e
+03
+91
+6f
+e0
+c9
+92
+c1
+81
+00
+00
+6f
+e1
+48
+d1
 20
 40
 03
-87
-da
-60
-4b
-e3
+98
+67
+e1
+48
+d1
+6f
+e1
+48
+d3
+20
+40
+03
+98
+67
+e1
+48
+d3
+20
+60
+00
+00
+c2
+85
+83
+9b
+c3
+05
+83
+9f
+20
+60
+00
+00
+1f
+e6
+7e
+00
+20
+40
+03
+9f
+1f
+e6
+7e
+00
+20
+60
+00
+00
+9f
+e0
+fe
+00
+67
+e1
+4c
+40
+6f
+e0
+cc
+41
+1f
+e6
+7c
+07
+24
+41
+03
+a6
+6f
+e1
+4c
+40
+20
+60
+00
+00
+58
+00
+07
+ff
+67
+e1
+4c
+40
+20
+60
+00
+00
+20
+40
+3f
+65
+6f
+e0
+c9
+27
+c0
+05
+83
+b0
+20
+40
+42
+32
+da
+60
+4a
+a3
+20
+40
+42
+2b
+20
+20
+40
+8e
+20
+40
+03
+b7
+da
+60
+4b
+e3
 20
 40
 42
@@ -3611,7 +3803,7 @@
 c0
 05
 83
-87
+b7
 20
 20
 42
@@ -3647,7 +3839,7 @@
 c0
 05
 83
-91
+c1
 58
 00
 08
@@ -3679,23 +3871,23 @@
 20
 40
 03
-9c
+cc
 20
 40
 03
-a1
+d1
 20
 40
 03
-a6
+d6
 20
 40
 03
-b0
+e0
 20
 40
 03
-bd
+ed
 20
 20
 41
@@ -3707,7 +3899,7 @@
 20
 40
 03
-ca
+fa
 20
 40
 41
@@ -3727,7 +3919,7 @@
 20
 40
 03
-ca
+fa
 20
 40
 41
@@ -3759,7 +3951,7 @@
 20
 40
 03
-cc
+fc
 68
 48
 c9
@@ -3811,7 +4003,7 @@
 c0
 7f
 83
-b9
+e9
 20
 20
 41
@@ -3823,7 +4015,7 @@
 20
 40
 03
-cc
+fc
 68
 48
 c9
@@ -3863,7 +4055,7 @@
 c0
 7f
 83
-c6
+f6
 20
 20
 41
@@ -3875,7 +4067,7 @@
 20
 40
 03
-cc
+fc
 68
 48
 c9
@@ -3910,20 +4102,20 @@
 36
 20
 40
-03
-df
+04
+0f
 20
 40
-03
-f3
+04
+23
 20
 40
 46
 55
 20
 40
-03
-d5
+04
+05
 20
 20
 46
@@ -3934,8 +4126,8 @@
 ab
 c2
 95
-03
-d9
+04
+09
 c2
 95
 be
@@ -3998,8 +4190,8 @@
 0f
 20
 40
-03
-e8
+04
+18
 20
 20
 40
@@ -4026,8 +4218,8 @@
 10
 c0
 7f
-83
-ef
+84
+1f
 20
 20
 40
@@ -4039,7 +4231,7 @@
 20
 40
 03
-cc
+fc
 68
 48
 c9
@@ -4063,11 +4255,11 @@
 20
 40
 03
-ca
+fa
 20
 40
-03
-fa
+04
+2a
 68
 48
 cc
@@ -4091,7 +4283,7 @@
 20
 40
 04
-09
+39
 67
 e0
 cc
@@ -4103,7 +4295,7 @@
 20
 3a
 04
-05
+35
 6f
 e0
 cc
@@ -4167,11 +4359,11 @@
 c0
 03
 84
-13
+43
 c0
 00
 04
-15
+45
 20
 60
 00
@@ -4215,7 +4407,7 @@
 c2
 9e
 84
-23
+53
 18
 42
 7e
@@ -4247,7 +4439,7 @@
 24
 3a
 04
-2e
+5e
 6f
 e4
 4b
@@ -4255,7 +4447,7 @@
 c2
 8e
 04
-2b
+5b
 18
 42
 7e
@@ -4271,7 +4463,7 @@
 20
 20
 04
-20
+50
 18
 42
 7e
@@ -4283,7 +4475,7 @@
 20
 20
 04
-29
+59
 18
 42
 7e
@@ -4299,7 +4491,7 @@
 20
 20
 04
-20
+50
 6f
 e0
 cb
@@ -4315,27 +4507,27 @@
 c0
 01
 04
-3e
+6e
 c0
 02
 84
-40
+70
 c0
 04
 04
-42
+72
 c0
 05
 84
-44
+74
 c0
 07
 04
-46
+76
 c0
 08
 84
-3c
+6c
 20
 60
 00
@@ -4395,7 +4587,7 @@
 20
 3a
 04
-32
+62
 1f
 e2
 24
@@ -4411,7 +4603,7 @@
 c0
 57
 84
-5a
+8a
 20
 60
 00
@@ -4427,7 +4619,7 @@
 20
 20
 05
-3a
+6a
 20
 60
 00
@@ -4487,31 +4679,31 @@
 c0
 00
 84
-69
+99
 c0
 01
 04
-6c
+9c
 c0
 01
 84
-6e
+9e
 c0
 02
 04
-70
+a0
 c0
 02
 84
-c8
+f8
 c0
 03
-04
-ee
+05
+1e
 c0
 7f
 84
-68
+98
 20
 20
 13
@@ -4523,7 +4715,7 @@
 20
 40
 04
-4f
+7f
 70
 4b
 f7
@@ -4570,8 +4762,8 @@
 00
 24
 22
-84
-e6
+85
+16
 6f
 e1
 4c
@@ -4582,24 +4774,24 @@
 00
 24
 22
-84
-e6
+85
+16
 20
 40
 04
-7c
+ac
 24
 34
-04
-e6
+05
+16
 20
 20
-04
-e4
+05
+14
 20
 40
 04
-87
+b7
 24
 74
 00
@@ -4706,8 +4898,8 @@
 03
 20
 40
-04
-fe
+05
+2e
 18
 42
 60
@@ -4723,7 +4915,7 @@
 20
 40
 04
-ab
+db
 1e
 f0
 fe
@@ -4803,7 +4995,7 @@
 20
 21
 04
-c6
+f6
 1f
 e0
 ff
@@ -4882,8 +5074,8 @@
 00
 20
 40
-04
-fe
+05
+2e
 18
 42
 60
@@ -4891,7 +5083,7 @@
 20
 20
 04
-ab
+db
 58
 00
 00
@@ -4899,7 +5091,7 @@
 20
 20
 04
-b2
+e2
 70
 4b
 f7
@@ -4922,24 +5114,24 @@
 00
 20
 22
-84
-e4
+85
+14
 20
 40
-04
-f5
+05
+25
 24
 34
-04
-e6
+05
+16
 1a
 46
 7c
 04
 20
 21
-04
-e6
+05
+16
 1a
 40
 a5
@@ -4958,8 +5150,8 @@
 d3
 20
 40
-04
-e8
+05
+18
 20
 40
 5d
@@ -4998,8 +5190,8 @@
 00
 20
 40
-04
-fe
+05
+2e
 6f
 e1
 4c
@@ -5090,8 +5282,8 @@
 1c
 c0
 00
-04
-fb
+05
+2b
 98
 46
 7e
@@ -5126,8 +5318,8 @@
 00
 c2
 00
-04
-fe
+05
+2e
 20
 60
 00
@@ -5179,7 +5371,7 @@
 20
 40
 05
-02
+32
 98
 46
 7c
@@ -5199,7 +5391,7 @@
 c0
 ad
 05
-2a
+5a
 1a
 22
 02
@@ -5215,7 +5407,7 @@
 20
 21
 05
-2a
+5a
 18
 c0
 8c
@@ -5231,7 +5423,7 @@
 24
 22
 85
-2a
+5a
 1f
 22
 7e
@@ -5255,7 +5447,7 @@
 24
 22
 85
-15
+45
 e8
 41
 00
@@ -5279,7 +5471,7 @@
 20
 40
 05
-02
+32
 98
 46
 7c
@@ -5287,7 +5479,7 @@
 24
 22
 85
-2a
+5a
 20
 20
 7e
@@ -5307,11 +5499,11 @@
 20
 40
 05
-11
+41
 24
 34
 05
-36
+66
 6a
 21
 4b
@@ -5339,7 +5531,7 @@
 20
 20
 05
-2b
+5b
 6f
 e1
 4b
@@ -5391,31 +5583,31 @@
 c0
 00
 85
-49
+79
 c0
 02
 05
-53
+83
 c0
 03
 85
-72
+a2
 c0
 05
 05
-98
+c8
 c0
 06
 85
-8d
+bd
 c0
 08
 05
-76
+a6
 20
 20
 05
-a1
+d1
 70
 47
 c6
@@ -5511,7 +5703,7 @@
 20
 40
 05
-7a
+aa
 e7
 e0
 80
@@ -5551,7 +5743,7 @@
 24
 21
 05
-70
+a0
 e7
 e1
 00
@@ -5579,7 +5771,7 @@
 20
 20
 05
-6b
+9b
 70
 4b
 f7
@@ -5595,7 +5787,7 @@
 20
 20
 05
-83
+b3
 70
 4b
 f7
@@ -5611,7 +5803,7 @@
 20
 20
 05
-83
+b3
 6f
 e4
 4b
@@ -5619,11 +5811,11 @@
 c2
 89
 85
-7f
+af
 c2
 89
 05
-81
+b1
 58
 00
 00
@@ -5816,8 +6008,8 @@
 60
 00
 00
-97
-86
+65
+2d
 aa
 55
 40
@@ -7111,208 +7303,16 @@
 02
 40
 00
-d4
-1b
+94
+1c
 55
 aa
 aa
 55
-7e
+3f
 85
-d9
-a1
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+b9
+27
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-ee
-c3
+93
+1d
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/output/memmap.format	(revision 1430)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/output/memmap.format	(working copy)
@@ -2235,6 +2235,7 @@
 0x4c3d mem_mouse_logo_led_state
 0x4c3e mem_mouse_logo_led_on_flag
 0x4c3f mem_mouse_logo_led_poweron_time
+0x4c40 mem_mouse_temp_data
 0x48d0 mem_remote_car_hard_soft_switch
 0x48d1 mem_remote_car_queue_each_size
 0x48d2 mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/output/program.lis	(revision 1432)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/output/program.lis	(working copy)
@@ -14,29 +14,29 @@
 000b c0648187 beq patch19_1 ,p_mouse_setgpio_hibernate 
 000c c06501bc beq patch19_2 ,p_mouse_lpm_before_common 
 000d c066007d beq patch19_4 ,p_mouse_adc_read_start 
-000e c0670368 beq patch19_6 ,p_mouse_motion 
-000f c0678417 beq patch19_7 ,p_mouse_dpi_process 
+000e c0670376 beq patch19_6 ,p_mouse_motion 
+000f c0678447 beq patch19_7 ,p_mouse_dpi_process 
 0010 c0680284 beq patch1a_0 ,p_mouse_seting_dpi 
-0011 c0688393 beq patch1a_1 ,p_mouse_check_key_gpio 
-0012 c06a0379 beq patch1a_4 ,p_mouse_sensor_poweron 
+0011 c06883c3 beq patch1a_1 ,p_mouse_check_key_gpio 
+0012 c06a03a9 beq patch1a_4 ,p_mouse_sensor_poweron 
 0013 c06b01e8 beq patch1a_6 ,p_mouse_priority_bb_event 
-0014 c06c8295 beq patch1b_1 ,p_mouse_bb_event_timer 
-0015 c06d030c beq patch1b_2 ,p_mouse_start_discovery 
-0016 c06f03ce beq patch1b_6 ,p_mouse_idle 
-0017 c074031a beq patch1d_0 ,p_hid_rx_process 
+0014 c06c82a3 beq patch1b_1 ,p_mouse_bb_event_timer 
+0015 c06d031a beq patch1b_2 ,p_mouse_start_discovery 
+0016 c06f03fe beq patch1b_6 ,p_mouse_idle 
+0017 c0740328 beq patch1d_0 ,p_hid_rx_process 
 0018 2020137c branch loop 
 
 pf_patch_ext:
 0019 c019805d beq patch26_3 ,p_adc_init_data 
 001a c01a0062 beq patch26_4 ,p_enable_adc 
-001b c0438316 beq patch30_7 ,p_ui_timer_check 
-001c c050832e beq patch34_1 ,p_le_slave_match 
-001d c0600338 beq patch38_0 ,p_le_parse_l2cap 
+001b c0438324 beq patch30_7 ,p_ui_timer_check 
+001c c050833c beq patch34_1 ,p_le_slave_match 
+001d c0600346 beq patch38_0 ,p_le_parse_l2cap 
 001e c06e8264 beq patch3b_5 ,p_g24_dispatch 
 001f c071023f beq patch3c_2 ,p_g24_pair_dispatch 
 0020 c0748247 beq patch3d_1 ,p_g24_reconn_dispatch 
 0021 c0750149 beq patch3d_2 ,p_g24_transmit_no_interrupt 
-0022 c076035f beq patch3d_4 ,p_g24_lpm_wait 
+0022 c076036d beq patch3d_4 ,p_g24_lpm_wait 
 0023 2020137c branch loop 
 
 p_soft_reset:
@@ -104,7 +104,7 @@
 
 p_g24_load_ota_config_poweron:
 0053 20405b94 call iicd_load_gpio_init 
-0054 20400487 call p_g24_check_ota_data 
+0054 204004b7 call p_g24_check_ota_data 
 0055 20340057 branch p_g24_load_ota_config ,user 
 0056 20600000 rtn 
 
@@ -237,7 +237,7 @@
 p_mouse_init:
 00b3 24558053 ncall p_g24_load_ota_config_poweron ,wake 
 00b4 245580c7 ncall p_mouse_le_name_load ,wake 
-00b5 245582cc ncall p_mouse_logo_led_off ,wake 
+00b5 245582da ncall p_mouse_logo_led_off ,wake 
 00b6 20406df3 call enable_authrom 
 00b7 204000f2 call p_mouse_setting_config 
 00b8 204041a7 call mouse_init_sunt 
@@ -248,14 +248,14 @@
 00bd 20403d8a call mouse_usb_check_enable 
 00be 20404728 call mouse_drawing_optima_init 
 00bf 20400102 call p_mouse_cb_fuction 
-00c0 2040038b call p_mouse_sensor_powerdown 
+00c0 204003bb call p_mouse_sensor_powerdown 
 00c1 6fe0c92a fetch 1 ,mem_usb_addr 
 00c2 c3838000 rtnbit1 7 
 
 p_mouse_init_wireless:
 00c3 6fe1478c fetch 2 ,mem_ui_state_map 
 00c4 c2864553 bbit1 ui_state_btn_down ,mouse_start_discovery 
-00c5 204003d5 call p_mouse_check_select_device_by_switch 
+00c5 20400405 call p_mouse_check_select_device_by_switch 
 00c6 20203d52 branch mouse_start_work 
 
 p_mouse_le_name_load:
@@ -339,7 +339,7 @@
 p_mouse_24g_package_data:
 0107 c6930000 rtnmark0 mark_24g 
 0108 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
-0109 243a0540 nbranch p_mouse_24g_package_ota ,blank 
+0109 243a0570 nbranch p_mouse_24g_package_ota ,blank 
 010a 20403f70 call mouse_motion 
 010b 24740000 nrtn user 
 010c 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
@@ -416,7 +416,7 @@
 0145 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
 0146 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
 0147 67e14ab2 store 2 ,mem_mouse_no_data_timer 
-0148 2020038b branch p_mouse_sensor_powerdown 
+0148 202003bb branch p_mouse_sensor_powerdown 
 
 p_g24_transmit_no_interrupt:
 0149 20402631 call g24_txdata_prep 
@@ -451,7 +451,7 @@
 015e 242c0171 nbranch p_g24_retransmit ,sync 
 015f 24378171 nbranch p_g24_retransmit ,user3 
 0160 20402672 call g24_ackpayload_parse 
-0161 20400448 call p_g24_mouse_parse_rx 
+0161 20400478 call p_g24_mouse_parse_rx 
 0162 20400164 call p_mouse_wakeup_24g 
 0163 20202651 branch g24_transmit_no_ack 
 
@@ -497,8 +497,8 @@
 0180 58000006 setarg pan_reg_config 
 0181 20405b0d call twspi_read 
 0182 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
-0183 20400384 call p_mouse_sensor_reset 
-0184 2040038b call p_mouse_sensor_powerdown 
+0183 204003b4 call p_mouse_sensor_reset 
+0184 204003bb call p_mouse_sensor_powerdown 
 0185 20400090 call p_mouse_voltage_alarm_led_all_off 
 0186 20203e23 branch mouse_app_enter_hibernate + 3 
 
@@ -506,7 +506,7 @@
 0187 204042e9 call mouse_set_sdio_high 
 0188 20407fdc call clear_wake 
 0189 20400090 call p_mouse_voltage_alarm_led_all_off 
-018a 204002cc call p_mouse_logo_led_off 
+018a 204002da call p_mouse_logo_led_off 
 018b 20404015 call mouse_before_hibernate_wheel_gpio_set 
 018c 6848c910 fetcht 1 ,mem_matrix_public_gpio 
 018d 20406069 call gpio_out_active 
@@ -586,7 +586,7 @@
 01c9 58000000 setarg 0 
 01ca 67e3c8d0 store 7 ,mem_mouse_key 
 01cb 704be101 jam 1 ,mem_sensor_shutdown_flag 
-01cc 2040038b call p_mouse_sensor_powerdown 
+01cc 204003bb call p_mouse_sensor_powerdown 
 01cd 20400090 call p_mouse_voltage_alarm_led_all_off 
 01ce 202001d4 branch p_g24_long_sleep 
 
@@ -634,14 +634,14 @@
 01f1 20204336 branch mouse_priority_bb_event + 2 
 
 p_mouse_bb_event_connected:
-01f2 204002b4 call p_mouse_logo_led_blink_disable 
-01f3 204002c0 call p_mouse_logo_led_on_enable 
+01f2 204002c2 call p_mouse_logo_led_blink_disable 
+01f3 204002ce call p_mouse_logo_led_on_enable 
 01f4 20404544 call mouse_no_data_timer_init 
 01f5 202043fa branch mouse_bb_event_connected 
 
 p_mouse_le_bb_event_connected:
-01f6 204002b4 call p_mouse_logo_led_blink_disable 
-01f7 204002c0 call p_mouse_logo_led_on_enable 
+01f6 204002c2 call p_mouse_logo_led_blink_disable 
+01f7 204002ce call p_mouse_logo_led_on_enable 
 01f8 20204350 branch mouse_le_bb_event_connected 
 
 p_mouse_le_bb_disconnected:
@@ -792,7 +792,7 @@
 p_g24_transmit_dispatch:
 0266 c6930000 rtnmark0 mark_24g 
 0267 6fe0c8a1 fetch 1 ,mem_24g_conn_sm 
-0268 c2818452 bbit1 state_24g_ota ,p_g24_ota_dispatch 
+0268 c2818482 bbit1 state_24g_ota ,p_g24_ota_dispatch 
 0269 c280a340 bbit1 state_24g_pair ,g24_pair_dispatch 
 026a c2812580 bbit1 state_24g_reconn ,g24_reconn_dispatch 
 026b 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
@@ -829,1078 +829,1150 @@
 
 p_mouse_seting_dpi:
 0284 2040408f call mouse_setting_dpi_4_level 
-0285 20400287 call p_mouse_dpi_led_blink_delay 
+0285 20400295 call p_mouse_dpi_led_blink_delay 
 0286 20204098 branch mouse_seting_sensor_type 
 
+p_mouse_seting_sensor_type:
+0287 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0288 c001828b beq p3212 ,p_mouse_seting_3212_dpi 
+0289 c0028290 beq mx8650 ,p_mouse_seting_8650_dpi 
+028a 2020409a branch mouse_seting_sensor_type + 2 
+
+p_mouse_seting_3212_dpi:
+028b 6fe0c992 fetch 1 ,mem_mouse_dpi 
+028c c00040c2 beq mouse_dpi_level1 ,mouse_set_p3212_cpi0 
+028d c000c0c4 beq mouse_dpi_level2 ,mouse_set_p3212_cpi2 
+028e c00140c0 beq mouse_dpi_level3 ,mouse_set_p3212_cpi1 
+028f 202040c2 branch mouse_set_p3212_cpi0 
+
+p_mouse_seting_8650_dpi:
+0290 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0291 c00040a2 beq mouse_dpi_level1 ,mouse_set_cpi0 
+0292 c000c0a2 beq mouse_dpi_level2 ,mouse_set_cpi0 
+0293 c00140a0 beq mouse_dpi_level3 ,mouse_set_cpi1 
+0294 202040a2 branch mouse_set_cpi0 
+
 p_mouse_dpi_led_blink_delay:
-0287 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0288 c17f8000 rtneq gpio_disable 
-0289 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-028a 247a0000 nrtn blank 
-028b 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-028c 247a0000 nrtn blank 
-028d 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-028e 247a0000 nrtn blank 
-028f 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-0290 247a0000 nrtn blank 
-0291 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-0292 203a02d5 branch p_mouse_dpi_led_blink_init ,blank 
-0293 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-0294 20600000 rtn 
+0295 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+0296 c17f8000 rtneq gpio_disable 
+0297 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+0298 247a0000 nrtn blank 
+0299 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+029a 247a0000 nrtn blank 
+029b 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+029c 247a0000 nrtn blank 
+029d 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
+029e 247a0000 nrtn blank 
+029f 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+02a0 203a02e3 branch p_mouse_dpi_led_blink_init ,blank 
+02a1 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+02a2 20600000 rtn 
 
 p_mouse_bb_event_timer:
-0295 20403e9b call mouse_adc_read 
-0296 20404956 call mouse_low_voltage_led_timer 
-0297 2040232b call g24_pair_timeout_timer 
-0298 20402556 call g24_reconn_timeout_timer 
-0299 204047cd call mouse_24g_long_sleep_param_update_timer 
-029a 204048be call mouse_device_poweron_timer 
-029b 204002d2 call p_mouse_dpi_led_blink_delay_timer 
-029c 2040407c call mouse_dpi_key_check_long_press 
-029d 204044cc call mouse_bt_discovery_check 
-029e 204002ea call p_mouse_commbination_key_process 
-029f 204044ff call mouse_check_discovery_timeout_timer 
-02a0 20404504 call mouse_check_direct_timeout_timer 
-02a1 20404512 call mouse_le_enable_att_list_timer 
-02a2 20400301 call p_mouse_le_battery_updata_timer 
-02a3 20404515 call mouse_le_send_smp_security_request_timer 
-02a4 2040452a call mouse_check_hid_handshake_timer 
-02a5 2040452d call mouse_bt_check_sniff_req_timeout_timer 
-02a6 20404532 call mouse_check_reconnect_delay_long_sleep 
-02a7 20404535 call mouse_current_mult_update_timer 
-02a8 20404022 call mouse_wheel_trigger_timer 
-02a9 20404547 call mouse_store_information_delay_timer 
-02aa 204002c3 call p_mouse_logo_led_on_timer 
-02ab 204002b7 call p_mouse_logo_blink 
-02ac 20400304 call p_mouse_check_no_data_timeout_timer 
-02ad 202002ae branch p_mouse_g24_ota_reset_timer 
+02a3 20403e9b call mouse_adc_read 
+02a4 20404956 call mouse_low_voltage_led_timer 
+02a5 2040232b call g24_pair_timeout_timer 
+02a6 20402556 call g24_reconn_timeout_timer 
+02a7 204047cd call mouse_24g_long_sleep_param_update_timer 
+02a8 204048be call mouse_device_poweron_timer 
+02a9 204002e0 call p_mouse_dpi_led_blink_delay_timer 
+02aa 2040407c call mouse_dpi_key_check_long_press 
+02ab 204044cc call mouse_bt_discovery_check 
+02ac 204002f8 call p_mouse_commbination_key_process 
+02ad 204044ff call mouse_check_discovery_timeout_timer 
+02ae 20404504 call mouse_check_direct_timeout_timer 
+02af 20404512 call mouse_le_enable_att_list_timer 
+02b0 2040030f call p_mouse_le_battery_updata_timer 
+02b1 20404515 call mouse_le_send_smp_security_request_timer 
+02b2 2040452a call mouse_check_hid_handshake_timer 
+02b3 2040452d call mouse_bt_check_sniff_req_timeout_timer 
+02b4 20404532 call mouse_check_reconnect_delay_long_sleep 
+02b5 20404535 call mouse_current_mult_update_timer 
+02b6 20404022 call mouse_wheel_trigger_timer 
+02b7 20404547 call mouse_store_information_delay_timer 
+02b8 204002d1 call p_mouse_logo_led_on_timer 
+02b9 204002c5 call p_mouse_logo_blink 
+02ba 20400312 call p_mouse_check_no_data_timeout_timer 
+02bb 202002bc branch p_mouse_g24_ota_reset_timer 
 
 p_mouse_g24_ota_reset_timer:
-02ae da604c1d arg mem_g24_ota_reset_timer ,regc 
-02af da405d8c arg soft_reset_chip ,regb 
-02b0 2020318a branch timer_single_step 
+02bc da604c1d arg mem_g24_ota_reset_timer ,regc 
+02bd da405d8c arg soft_reset_chip ,regb 
+02be 2020318a branch timer_single_step 
 
 p_mouse_logo_led_blink_enable:
-02b1 704c3c05 jam 5 ,mem_mouse_logo_led_blink_timer 
-02b2 704c3b01 jam on ,mem_mouse_logo_led_blink_flag 
-02b3 20600000 rtn 
+02bf 704c3c05 jam 5 ,mem_mouse_logo_led_blink_timer 
+02c0 704c3b01 jam on ,mem_mouse_logo_led_blink_flag 
+02c1 20600000 rtn 
 
 p_mouse_logo_led_blink_disable:
-02b4 704c3c00 jam 0 ,mem_mouse_logo_led_blink_timer 
-02b5 704c3b00 jam off ,mem_mouse_logo_led_blink_flag 
-02b6 20600000 rtn 
+02c2 704c3c00 jam 0 ,mem_mouse_logo_led_blink_timer 
+02c3 704c3b00 jam off ,mem_mouse_logo_led_blink_flag 
+02c4 20600000 rtn 
 
 p_mouse_logo_blink:
-02b7 6fe0cc3b fetch 1 ,mem_mouse_logo_led_blink_flag 
-02b8 207a0000 rtn blank 
+02c5 6fe0cc3b fetch 1 ,mem_mouse_logo_led_blink_flag 
+02c6 207a0000 rtn blank 
 
 p_mouse_logo_led_blink_start:
-02b9 da604c3c arg mem_mouse_logo_led_blink_timer ,regc 
-02ba da4002bc arg p_mouse_logo_led_blink_timeout ,regb 
-02bb 2020318a branch timer_single_step 
+02c7 da604c3c arg mem_mouse_logo_led_blink_timer ,regc 
+02c8 da4002ca arg p_mouse_logo_led_blink_timeout ,regb 
+02c9 2020318a branch timer_single_step 
 
 p_mouse_logo_led_blink_timeout:
-02bc 704c3c05 jam 5 ,mem_mouse_logo_led_blink_timer 
-02bd 6fe0cc3d fetch 1 ,mem_mouse_logo_led_state 
-02be c00082cc beq on ,p_mouse_logo_led_off 
-02bf 202002cf branch p_mouse_logo_led_on 
+02ca 704c3c05 jam 5 ,mem_mouse_logo_led_blink_timer 
+02cb 6fe0cc3d fetch 1 ,mem_mouse_logo_led_state 
+02cc c00082da beq on ,p_mouse_logo_led_off 
+02cd 202002dd branch p_mouse_logo_led_on 
 
 p_mouse_logo_led_on_enable:
-02c0 704c3e01 jam on ,mem_mouse_logo_led_on_flag 
-02c1 704c3f14 jam 0x14 ,mem_mouse_logo_led_poweron_time 
-02c2 20600000 rtn 
+02ce 704c3e01 jam on ,mem_mouse_logo_led_on_flag 
+02cf 704c3f14 jam 0x14 ,mem_mouse_logo_led_poweron_time 
+02d0 20600000 rtn 
 
 p_mouse_logo_led_on_timer:
-02c3 6fe0cc3e fetch 1 ,mem_mouse_logo_led_on_flag 
-02c4 207a0000 rtn blank 
-02c5 6fe0cc3f fetch 1 ,mem_mouse_logo_led_poweron_time 
-02c6 203a02ca branch p_mouse_led_poweron_over ,blank 
-02c7 1fe0ffff increase -1 ,pdata 
-02c8 67e0cc3f store 1 ,mem_mouse_logo_led_poweron_time 
-02c9 202002cf branch p_mouse_logo_led_on 
+02d1 6fe0cc3e fetch 1 ,mem_mouse_logo_led_on_flag 
+02d2 207a0000 rtn blank 
+02d3 6fe0cc3f fetch 1 ,mem_mouse_logo_led_poweron_time 
+02d4 203a02d8 branch p_mouse_led_poweron_over ,blank 
+02d5 1fe0ffff increase -1 ,pdata 
+02d6 67e0cc3f store 1 ,mem_mouse_logo_led_poweron_time 
+02d7 202002dd branch p_mouse_logo_led_on 
 
 p_mouse_led_poweron_over:
-02ca 704c3e00 jam off ,mem_mouse_logo_led_on_flag 
-02cb 202002cc branch p_mouse_logo_led_off 
+02d8 704c3e00 jam off ,mem_mouse_logo_led_on_flag 
+02d9 202002da branch p_mouse_logo_led_off 
 
 p_mouse_logo_led_off:
-02cc 704c3d00 jam off ,mem_mouse_logo_led_state 
-02cd 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-02ce 20206065 branch gpio_out_inactive 
+02da 704c3d00 jam off ,mem_mouse_logo_led_state 
+02db 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+02dc 20206065 branch gpio_out_inactive 
 
 p_mouse_logo_led_on:
-02cf 704c3d01 jam on ,mem_mouse_logo_led_state 
-02d0 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-02d1 20206069 branch gpio_out_active 
+02dd 704c3d01 jam on ,mem_mouse_logo_led_state 
+02de 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+02df 20206069 branch gpio_out_active 
 
 p_mouse_dpi_led_blink_delay_timer:
-02d2 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-02d3 da4002d5 arg p_mouse_dpi_led_blink_init ,regb 
-02d4 2020318a branch timer_single_step 
+02e0 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+02e1 da4002e3 arg p_mouse_dpi_led_blink_init ,regb 
+02e2 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-02d5 6fe0c927 fetch 1 ,mem_config_sensor_type 
-02d6 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-02d7 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-02d8 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-02d9 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-02da 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-02db 67e14930 store 2 ,mem_mouse_on_time 
-02dc 67e14932 store 2 ,mem_mouse_off_time 
-02dd da200000 arg 0 ,rega 
-02de 6848c992 fetcht 1 ,mem_mouse_dpi 
-02df 18408402 increase 2 ,temp 
-02e0 18467c03 sub temp ,3 ,null 
-02e1 204102e4 call p_mouse_dpi_led_blink_init_level_4 ,positive 
-02e2 244102e8 ncall p_mouse_dpi_led_blink_count_clean ,positive 
-02e3 202048ff branch mouse_dpi_led_blink_init_end 
+02e3 6fe0c927 fetch 1 ,mem_config_sensor_type 
+02e4 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+02e5 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+02e6 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+02e7 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+02e8 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+02e9 67e14930 store 2 ,mem_mouse_on_time 
+02ea 67e14932 store 2 ,mem_mouse_off_time 
+02eb da200000 arg 0 ,rega 
+02ec 6848c992 fetcht 1 ,mem_mouse_dpi 
+02ed 18408402 increase 2 ,temp 
+02ee 18467c03 sub temp ,3 ,null 
+02ef 204102f2 call p_mouse_dpi_led_blink_init_level_4 ,positive 
+02f0 244102f6 ncall p_mouse_dpi_led_blink_count_clean ,positive 
+02f1 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-02e4 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-02e5 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-02e6 18408401 increase 1 ,temp 
-02e7 20600000 rtn 
+02f2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+02f3 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+02f4 18408401 increase 1 ,temp 
+02f5 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-02e8 184085fd increase -3 ,temp 
-02e9 20600000 rtn 
+02f6 184085fd increase -3 ,temp 
+02f7 20600000 rtn 
 
 p_mouse_commbination_key_process:
-02ea 6fe0c938 fetch 1 ,mem_device_flag 
-02eb c00002f0 beq mode_24g_device ,p_mouse_24g_commbination_key_process 
-02ec 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-02ed c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
-02ee 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
-02ef 202002f3 branch p_mouse_commbination_key_start 
+02f8 6fe0c938 fetch 1 ,mem_device_flag 
+02f9 c00002fe beq mode_24g_device ,p_mouse_24g_commbination_key_process 
+02fa 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+02fb c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
+02fc 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
+02fd 20200301 branch p_mouse_commbination_key_start 
 
 p_mouse_24g_commbination_key_process:
-02f0 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-02f1 c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
-02f2 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
+02fe 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+02ff c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
+0300 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
 
 p_mouse_commbination_key_start:
-02f3 6048cb9d storet 1 ,mem_mouse_commbination_key 
-02f4 20404115 call mouse_check_key_gpio 
-02f5 1fe17e07 and pdata ,0x07 ,pdata 
-02f6 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
-02f7 98467c00 isub temp ,null 
-02f8 202282fa branch p_mouse_commbination_key_down ,zero 
-02f9 202044eb branch mouse_commbination_key_up 
+0301 6048cb9d storet 1 ,mem_mouse_commbination_key 
+0302 20404115 call mouse_check_key_gpio 
+0303 1fe17e07 and pdata ,0x07 ,pdata 
+0304 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
+0305 98467c00 isub temp ,null 
+0306 20228308 branch p_mouse_commbination_key_down ,zero 
+0307 202044eb branch mouse_commbination_key_up 
 
 p_mouse_commbination_key_down:
-02fa 204002ff call p_mouse_combination_ui_timer 
-02fb 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
-02fc c1008000 rtneq commbination_key_state_down 
-02fd 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
-02fe 20600000 rtn 
+0308 2040030d call p_mouse_combination_ui_timer 
+0309 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
+030a c1008000 rtneq commbination_key_state_down 
+030b 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
+030c 20600000 rtn 
 
 p_mouse_combination_ui_timer:
-02ff da400230 arg p_mouse_24g_start_pair_mode ,regb 
-0300 202044f7 branch mouse_combination_ui_timer + 1 
+030d da400230 arg p_mouse_24g_start_pair_mode ,regb 
+030e 202044f7 branch mouse_combination_ui_timer + 1 
 
 p_mouse_le_battery_updata_timer:
-0301 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0302 c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
-0303 2020451f branch mouse_le_battery_updata_timer 
+030f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0310 c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
+0311 2020451f branch mouse_le_battery_updata_timer 
 
 p_mouse_check_no_data_timeout_timer:
-0304 6fe0c92a fetch 1 ,mem_usb_addr 
-0305 c3838000 rtnbit1 7 
-0306 da604ab2 arg mem_mouse_no_data_timer ,regc 
-0307 da400309 arg p_mouse_check_no_data_timeout ,regb 
-0308 20203191 branch timer_single_step_2b 
+0312 6fe0c92a fetch 1 ,mem_usb_addr 
+0313 c3838000 rtnbit1 7 
+0314 da604ab2 arg mem_mouse_no_data_timer ,regc 
+0315 da400317 arg p_mouse_check_no_data_timeout ,regb 
+0316 20203191 branch timer_single_step_2b 
 
 p_mouse_check_no_data_timeout:
-0309 6fe0c938 fetch 1 ,mem_device_flag 
-030a c00001c5 beq mode_24g_device ,p_mouse_24g_hibernate_set 
-030b 2020431b branch mouse_disconnect 
+0317 6fe0c938 fetch 1 ,mem_device_flag 
+0318 c00001c5 beq mode_24g_device ,p_mouse_24g_hibernate_set 
+0319 2020431b branch mouse_disconnect 
 
 p_mouse_start_discovery:
-030c 6fe1478c fetch 2 ,mem_ui_state_map 
-030d 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-030e 2040c581 call mouse_stop_le_adv ,true 
-030f 6fe1478c fetch 2 ,mem_ui_state_map 
-0310 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-0311 2040c322 call mouse_cancel_reconnect ,true 
-0312 58000000 setarg 0 
-0313 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
-0314 204002b1 call p_mouse_logo_led_blink_enable 
-0315 20204554 branch mouse_start_discovery + 1 
+031a 6fe1478c fetch 2 ,mem_ui_state_map 
+031b 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+031c 2040c581 call mouse_stop_le_adv ,true 
+031d 6fe1478c fetch 2 ,mem_ui_state_map 
+031e 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+031f 2040c322 call mouse_cancel_reconnect ,true 
+0320 58000000 setarg 0 
+0321 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
+0322 204002bf call p_mouse_logo_led_blink_enable 
+0323 20204554 branch mouse_start_discovery + 1 
 
 p_ui_timer_check:
-0316 6fe0cbe2 fetch 1 ,mem_power_on_flag 
-0317 245a7861 ncall ui_timer_init ,blank 
-0318 704be200 jam 0 ,mem_power_on_flag 
-0319 20207851 branch ui_timer_check + 1 
+0324 6fe0cbe2 fetch 1 ,mem_power_on_flag 
+0325 245a7861 ncall ui_timer_init ,blank 
+0326 704be200 jam 0 ,mem_power_on_flag 
+0327 20207851 branch ui_timer_check + 1 
 
 p_hid_rx_process:
-031a 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
-031b 1fe20c00 copy pdata ,contr 
-031c efe08006 ifetch 1 ,contr 
-031d 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
-031e 1fe1040f and pdata ,0x0f ,temp 
-031f 1ff1fe00 rshift4 pdata ,pdata 
-0320 c0048322 beq hid_type_set_idle ,p_hid_rx_process_handshake 
-0321 20204d93 branch hid_rx_process + 7 
+0328 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
+0329 1fe20c00 copy pdata ,contr 
+032a efe08006 ifetch 1 ,contr 
+032b 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
+032c 1fe1040f and pdata ,0x0f ,temp 
+032d 1ff1fe00 rshift4 pdata ,pdata 
+032e c0048330 beq hid_type_set_idle ,p_hid_rx_process_handshake 
+032f 20204d93 branch hid_rx_process + 7 
 
 p_hid_rx_process_handshake:
-0322 da200001 arg 1 ,rega 
-0323 20404dc0 call hid_malloc_tx_buff 
-0324 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
-0325 e7e10005 istore 2 ,contw 
-0326 58000000 setarg 0 
-0327 e7e08005 istore 1 ,contw 
-0328 70095001 jam 1 ,mem_ui_data_txbuff_length 
-0329 6fe0c4e2 fetch 1 ,mem_hid_control_state 
-032a 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
-032b 67e0c4e2 store 1 ,mem_hid_control_state 
-032c 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
-032d 20207871 branch ui_ipc_send_event 
+0330 da200001 arg 1 ,rega 
+0331 20404dc0 call hid_malloc_tx_buff 
+0332 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
+0333 e7e10005 istore 2 ,contw 
+0334 58000000 setarg 0 
+0335 e7e08005 istore 1 ,contw 
+0336 70095001 jam 1 ,mem_ui_data_txbuff_length 
+0337 6fe0c4e2 fetch 1 ,mem_hid_control_state 
+0338 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
+0339 67e0c4e2 store 1 ,mem_hid_control_state 
+033a 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
+033b 20207871 branch ui_ipc_send_event 
 
 p_le_slave_match:
-032e 6fe0c3dd fetch 1 ,mem_le_md_count 
-032f 1fe0fe01 pincrease 1 
-0330 67e0c3dd store 1 ,mem_le_md_count 
-0331 c006165a beq le_md_max_count ,le_slave_cont 
-0332 2040191b call le_acknowledge 
-0333 2040196a call le_prepare_tx 
-0334 6fe082bd fetch 1 ,mem_le_tx_phy 
-0335 2040168b call le_enable_phy_by_pdata 
-0336 20401838 call le_transmit 
-0337 20201655 branch le_slave_match + 10 
+033c 6fe0c3dd fetch 1 ,mem_le_md_count 
+033d 1fe0fe01 pincrease 1 
+033e 67e0c3dd store 1 ,mem_le_md_count 
+033f c006165a beq le_md_max_count ,le_slave_cont 
+0340 2040191b call le_acknowledge 
+0341 2040196a call le_prepare_tx 
+0342 6fe082bd fetch 1 ,mem_le_tx_phy 
+0343 2040168b call le_enable_phy_by_pdata 
+0344 20401838 call le_transmit 
+0345 20201655 branch le_slave_match + 10 
 
 p_le_parse_l2cap:
-0338 efe10006 ifetch 2 ,contr 
-0339 c002033b beq le_l2cap_cid_att ,p_le_parse_att 
-033a 202019e4 branch le_parse_l2cap + 10 
+0346 efe10006 ifetch 2 ,contr 
+0347 c0020349 beq le_l2cap_cid_att ,p_le_parse_att 
+0348 202019e4 branch le_parse_l2cap + 10 
 
 p_le_parse_att:
-033b efe18006 ifetch 3 ,contr 
-033c 67e1c436 store 3 ,mem_le_att_opcode 
-033d c0050340 beq attop_read_request ,p_le_parse_att_read_request 
-033e c009034f beq attop_write_request ,p_le_parse_att_write_request 
-033f 20201cd3 branch le_parse_att + 2 
+0349 efe18006 ifetch 3 ,contr 
+034a 67e1c436 store 3 ,mem_le_att_opcode 
+034b c005034e beq attop_read_request ,p_le_parse_att_read_request 
+034c c009035d beq attop_write_request ,p_le_parse_att_write_request 
+034d 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-0340 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0341 c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
-0342 20401e8d call le_check_encrypt_state 
-0343 68494437 fetcht 2 ,mem_le_att_handle 
-0344 6fe0c3c0 fetch 1 ,mem_le_configuration 
-0345 c281834a bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+034e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+034f c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
+0350 20401e8d call le_check_encrypt_state 
+0351 68494437 fetcht 2 ,mem_le_att_handle 
+0352 6fe0c3c0 fetch 1 ,mem_le_configuration 
+0353 c2818358 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-0346 6fe14437 fetch 2 ,mem_le_att_handle 
-0347 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
-0348 68494437 fetcht 2 ,mem_le_att_handle 
-0349 20201deb branch le_send_att_read_response 
+0354 6fe14437 fetch 2 ,mem_le_att_handle 
+0355 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
+0356 68494437 fetcht 2 ,mem_le_att_handle 
+0357 20201deb branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-034a 6fe143d1 fetch 2 ,mem_le_pairing_handle 
-034b 98467c00 isub temp ,null 
-034c 24228346 nbranch p_le_send_att_read_response ,zero 
-034d 24340346 nbranch p_le_send_att_read_response ,user 
-034e 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+0358 6fe143d1 fetch 2 ,mem_le_pairing_handle 
+0359 98467c00 isub temp ,null 
+035a 24228354 nbranch p_le_send_att_read_response ,zero 
+035b 24340354 nbranch p_le_send_att_read_response ,user 
+035c 20201e10 branch le_send_att_read_response_error_insufficient_auth 
 
 p_le_parse_att_write_request:
-034f 18c22200 copy contr ,rega 
-0350 6fe143d4 fetch 2 ,mem_le_l2cap_size 
-0351 1fe0a5fd add pdata ,-3 ,regb 
-0352 20401a25 call le_writeatt_cb 
-0353 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-0354 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
-0355 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-0356 203a1e73 branch le_send_att_write_response_check_auth ,blank 
-0357 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
-0358 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-0359 5800001a setarg 0x001a 
-035a 68494437 fetcht 2 ,mem_le_att_handle 
-035b 98467c00 isub temp ,null 
-035c 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
-035d 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
-035e 20201ec9 branch le_send_att_error_response 
+035d 18c22200 copy contr ,rega 
+035e 6fe143d4 fetch 2 ,mem_le_l2cap_size 
+035f 1fe0a5fd add pdata ,-3 ,regb 
+0360 20401a25 call le_writeatt_cb 
+0361 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+0362 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
+0363 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+0364 203a1e73 branch le_send_att_write_response_check_auth ,blank 
+0365 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
+0366 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+0367 5800001a setarg 0x001a 
+0368 68494437 fetcht 2 ,mem_le_att_handle 
+0369 98467c00 isub temp ,null 
+036a 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
+036b 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
+036c 20201ec9 branch le_send_att_error_response 
 
 p_g24_lpm_wait:
-035f 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
-0360 245a26e1 ncall g24_transmit_by_interrupt_enable ,blank 
-0361 78347c00 enable user 
-0362 20401465 call lpo_calibration 
-0363 6fe1c174 fetch 3 ,mem_clks_per_lpo 
-0364 203a7e56 branch disable_user ,blank 
-0365 6fe0c099 fetch 1 ,mem_lpm_mode 
-0366 203a7e56 branch disable_user ,blank 
-0367 202026c4 branch g24_setgpio_lpm_before 
+036d 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
+036e 245a26e1 ncall g24_transmit_by_interrupt_enable ,blank 
+036f 78347c00 enable user 
+0370 20401465 call lpo_calibration 
+0371 6fe1c174 fetch 3 ,mem_clks_per_lpo 
+0372 203a7e56 branch disable_user ,blank 
+0373 6fe0c099 fetch 1 ,mem_lpm_mode 
+0374 203a7e56 branch disable_user ,blank 
+0375 202026c4 branch g24_setgpio_lpm_before 
 
 p_mouse_motion:
-0368 78547c00 disable user 
-0369 58000000 setarg 0 
-036a 67e348d1 store 6 ,mem_mouse_x 
-036b 20404240 call mouse_check_sensor_data 
-036c 2040408e call mouse_dpi_config 
-036d 20403f7e call mouse_zwheel 
-036e 20403f83 call mouse_t_zwheel 
-036f 204040dc call mouse_key 
-0370 6fe0c8d0 fetch 1 ,mem_mouse_key 
-0371 1fe17e1f and_into 0x1f ,pdata 
-0372 67e0c8d0 store 1 ,mem_mouse_key 
-0373 24344728 nbranch mouse_drawing_optima_init ,user 
-0374 20400376 call p_mouse_drawing_optima 
-0375 20204544 branch mouse_no_data_timer_init 
+0376 78547c00 disable user 
+0377 58000000 setarg 0 
+0378 67e348d1 store 6 ,mem_mouse_x 
+0379 20404240 call mouse_check_sensor_data 
+037a 20400388 call p_mouse_data_zoom 
+037b 20400287 call p_mouse_seting_sensor_type 
+037c 20403f7e call mouse_zwheel 
+037d 20403f83 call mouse_t_zwheel 
+037e 204040dc call mouse_key 
+037f 6fe0c8d0 fetch 1 ,mem_mouse_key 
+0380 1fe17e1f and_into 0x1f ,pdata 
+0381 67e0c8d0 store 1 ,mem_mouse_key 
+0382 24344728 nbranch mouse_drawing_optima_init ,user 
+0383 20400385 call p_mouse_drawing_optima 
+0384 20204544 branch mouse_no_data_timer_init 
 
 p_mouse_drawing_optima:
-0376 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0377 c1018000 rtneq p3212 
-0378 2020471a branch mouse_drawing_optima 
+0385 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0386 c1018000 rtneq p3212 
+0387 2020471a branch mouse_drawing_optima 
+
+p_mouse_data_zoom:
+0388 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0389 c001838f beq p3212 ,p_mouse_3212_data_zoom 
+038a c002838c beq mx8650 ,p_mouse_8650_data_zoom 
+038b 20600000 rtn 
+
+p_mouse_8650_data_zoom:
+038c 6fe0c992 fetch 1 ,mem_mouse_dpi 
+038d c1000000 rtneq mouse_dpi_level1 
+038e 20200391 branch p_mouse_data_zoom_next 
+
+p_mouse_3212_data_zoom:
+038f 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0390 c1810000 rtnne mouse_dpi_level3 
+
+p_mouse_data_zoom_next:
+0391 6fe148d1 fetch 2 ,mem_mouse_x 
+0392 20400398 call p_mouse_2400_zoom 
+0393 67e148d1 store 2 ,mem_mouse_x 
+0394 6fe148d3 fetch 2 ,mem_mouse_y 
+0395 20400398 call p_mouse_2400_zoom 
+0396 67e148d3 store 2 ,mem_mouse_y 
+0397 20600000 rtn 
+
+p_mouse_2400_zoom:
+0398 c285839b bbit1 11 ,p_mouse_xy_inverse 
+0399 c305839f bbit0 11 ,p_mouse_xy_zoom 
+039a 20600000 rtn 
+
+p_mouse_xy_inverse:
+039b 1fe67e00 sub pdata ,0 ,pdata 
+039c 2040039f call p_mouse_xy_zoom 
+039d 1fe67e00 sub pdata ,0 ,pdata 
+039e 20600000 rtn 
+
+p_mouse_xy_zoom:
+039f 9fe0fe00 iadd pdata ,pdata 
+
+p_mouse_xy_zoom_store:
+03a0 67e14c40 store 2 ,mem_mouse_temp_data 
+03a1 6fe0cc41 fetch 1 ,mem_mouse_temp_data + 1 
+03a2 1fe67c07 sub pdata ,0x7 ,null 
+03a3 244103a6 ncall p_mouse_xy_forward_overflow ,positive 
+03a4 6fe14c40 fetch 2 ,mem_mouse_temp_data 
+03a5 20600000 rtn 
+
+p_mouse_xy_forward_overflow:
+03a6 580007ff setarg 0x7ff 
+03a7 67e14c40 store 2 ,mem_mouse_temp_data 
+03a8 20600000 rtn 
 
 p_mouse_sensor_poweron:
-0379 20403f65 call mouse_sensor_spi_init 
-037a 6fe0c927 fetch 1 ,mem_config_sensor_type 
-037b c0058380 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
-037c 20404232 call mouse_sensor_reset 
-037d da604aa3 arg mem_sensor_poweron_init ,regc 
-037e 2040422b call mouse_sensor_wr_seq 
-037f 2020408e branch mouse_dpi_config 
+03a9 20403f65 call mouse_sensor_spi_init 
+03aa 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03ab c00583b0 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
+03ac 20404232 call mouse_sensor_reset 
+03ad da604aa3 arg mem_sensor_poweron_init ,regc 
+03ae 2040422b call mouse_sensor_wr_seq 
+03af 2020408e branch mouse_dpi_config 
 
 p_mouse_ka8g2_sensor_init:
-0380 20400387 call p_mouse_ka8g2_sensor_reset 
-0381 da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
-0382 2040422b call mouse_sensor_wr_seq 
-0383 2020408e branch mouse_dpi_config 
+03b0 204003b7 call p_mouse_ka8g2_sensor_reset 
+03b1 da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
+03b2 2040422b call mouse_sensor_wr_seq 
+03b3 2020408e branch mouse_dpi_config 
 
 p_mouse_sensor_reset:
-0384 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0385 c0058387 beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
-0386 20204232 branch mouse_sensor_reset 
+03b4 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03b5 c00583b7 beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
+03b6 20204232 branch mouse_sensor_reset 
 
 p_mouse_ka8g2_sensor_reset:
-0387 58009706 setarg 0x9706 
-0388 20405b0c call twspi_write 
-0389 20002ee0 nop 12000 
-038a 20600000 rtn 
+03b7 58009706 setarg 0x9706 
+03b8 20405b0c call twspi_write 
+03b9 20002ee0 nop 12000 
+03ba 20600000 rtn 
 
 p_mouse_sensor_powerdown:
-038b 204041a7 call mouse_init_sunt 
-038c 20403f65 call mouse_sensor_spi_init 
-038d 6fe0c927 fetch 1 ,mem_config_sensor_type 
-038e c0058391 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
-038f 58000806 setarg 0x0806 
-0390 20205b0c branch twspi_write 
+03bb 204041a7 call mouse_init_sunt 
+03bc 20403f65 call mouse_sensor_spi_init 
+03bd 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03be c00583c1 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
+03bf 58000806 setarg 0x0806 
+03c0 20205b0c branch twspi_write 
 
 p_mouse_ka8g2_sensor_powerdown:
-0391 58001f06 setarg 0x1f06 
-0392 20205b0c branch twspi_write 
+03c1 58001f06 setarg 0x1f06 
+03c2 20205b0c branch twspi_write 
 
 p_mouse_check_key_gpio:
-0393 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-0394 245a4121 ncall mouse_check_key_gpio_once ,blank 
-0395 da200000 arg 0 ,rega 
-0396 2040039c call p_mouse_check_lkey_gpio 
-0397 204003a1 call p_mouse_check_rkey_gpio 
-0398 204003a6 call p_mouse_check_mkey_gpio 
-0399 204003b0 call p_mouse_check_bkkey_gpio 
-039a 204003bd call p_mouse_check_fwkey_gpio 
-039b 2020411e branch mouse_check_key_gpio_next 
+03c3 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+03c4 245a4121 ncall mouse_check_key_gpio_once ,blank 
+03c5 da200000 arg 0 ,rega 
+03c6 204003cc call p_mouse_check_lkey_gpio 
+03c7 204003d1 call p_mouse_check_rkey_gpio 
+03c8 204003d6 call p_mouse_check_mkey_gpio 
+03c9 204003e0 call p_mouse_check_bkkey_gpio 
+03ca 204003ed call p_mouse_check_fwkey_gpio 
+03cb 2020411e branch mouse_check_key_gpio_next 
 
 p_mouse_check_lkey_gpio:
-039c 6fe0c918 fetch 1 ,mem_lbutton_gpio 
-039d 204003ca call p_mouse_gpio_config_output_high 
-039e 20404124 call mouse_check_lkey_gpio 
-039f 6848c918 fetcht 1 ,mem_lbutton_gpio 
-03a0 20203f56 branch mouse_gpio_config_input_pu 
+03cc 6fe0c918 fetch 1 ,mem_lbutton_gpio 
+03cd 204003fa call p_mouse_gpio_config_output_high 
+03ce 20404124 call mouse_check_lkey_gpio 
+03cf 6848c918 fetcht 1 ,mem_lbutton_gpio 
+03d0 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
-03a1 6fe0c919 fetch 1 ,mem_rbutton_gpio 
-03a2 204003ca call p_mouse_gpio_config_output_high 
-03a3 2040412a call mouse_check_rkey_gpio 
-03a4 6848c919 fetcht 1 ,mem_rbutton_gpio 
-03a5 20203f56 branch mouse_gpio_config_input_pu 
+03d1 6fe0c919 fetch 1 ,mem_rbutton_gpio 
+03d2 204003fa call p_mouse_gpio_config_output_high 
+03d3 2040412a call mouse_check_rkey_gpio 
+03d4 6848c919 fetcht 1 ,mem_rbutton_gpio 
+03d5 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
-03a6 704b9602 jam mouse_m_key ,mem_mouse_key_temp 
-03a7 6fe0cb90 fetch 1 ,mem_mouse_mkey_press_status 
-03a8 1fe22600 copy pdata ,regc 
+03d6 704b9602 jam mouse_m_key ,mem_mouse_key_temp 
+03d7 6fe0cb90 fetch 1 ,mem_mouse_mkey_press_status 
+03d8 1fe22600 copy pdata ,regc 
 
 p_mouse_3io6key_mkey_check:
-03a9 6fe0c91a fetch 1 ,mem_mbutton_gpio 
-03aa 204003cc call p_mouse_gpio_config_output_low 
-03ab 6848c91a fetcht 1 ,mem_mbutton_gpio 
-03ac 20404195 call mouse_3io6key_check 
-03ad 67e0cb90 store 1 ,mem_mouse_mkey_press_status 
-03ae 6848c91a fetcht 1 ,mem_mbutton_gpio 
-03af 20203f56 branch mouse_gpio_config_input_pu 
+03d9 6fe0c91a fetch 1 ,mem_mbutton_gpio 
+03da 204003fc call p_mouse_gpio_config_output_low 
+03db 6848c91a fetcht 1 ,mem_mbutton_gpio 
+03dc 20404195 call mouse_3io6key_check 
+03dd 67e0cb90 store 1 ,mem_mouse_mkey_press_status 
+03de 6848c91a fetcht 1 ,mem_mbutton_gpio 
+03df 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_bkkey_gpio:
-03b0 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-03b1 c17f8000 rtneq gpio_disable 
-03b2 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
-03b3 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
-03b4 1fe22600 copy pdata ,regc 
-03b5 6848c90d fetcht 1 ,mem_bk_button_gpio 
-03b6 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-03b7 c07f83b9 beq gpio_disable ,p_mouse_3io6key_bk_check 
-03b8 2020413e branch mouse_check_bkkey_gpio_next 
+03e0 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+03e1 c17f8000 rtneq gpio_disable 
+03e2 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
+03e3 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
+03e4 1fe22600 copy pdata ,regc 
+03e5 6848c90d fetcht 1 ,mem_bk_button_gpio 
+03e6 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+03e7 c07f83e9 beq gpio_disable ,p_mouse_3io6key_bk_check 
+03e8 2020413e branch mouse_check_bkkey_gpio_next 
 
 p_mouse_3io6key_bk_check:
-03b9 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-03ba 204003cc call p_mouse_gpio_config_output_low 
-03bb 6848c90d fetcht 1 ,mem_bk_button_gpio 
-03bc 2020414b branch mouse_3io6key_bk_check 
+03e9 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+03ea 204003fc call p_mouse_gpio_config_output_low 
+03eb 6848c90d fetcht 1 ,mem_bk_button_gpio 
+03ec 2020414b branch mouse_3io6key_bk_check 
 
 p_mouse_check_fwkey_gpio:
-03bd 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-03be c17f8000 rtneq gpio_disable 
-03bf 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
-03c0 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
-03c1 1fe22600 copy pdata ,regc 
-03c2 6848c90e fetcht 1 ,mem_fw_button_gpio 
-03c3 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-03c4 c07f83c6 beq gpio_disable ,p_mouse_3io6key_fw_check 
-03c5 20204157 branch mouse_check_fwkey_gpio_next 
+03ed 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+03ee c17f8000 rtneq gpio_disable 
+03ef 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
+03f0 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
+03f1 1fe22600 copy pdata ,regc 
+03f2 6848c90e fetcht 1 ,mem_fw_button_gpio 
+03f3 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+03f4 c07f83f6 beq gpio_disable ,p_mouse_3io6key_fw_check 
+03f5 20204157 branch mouse_check_fwkey_gpio_next 
 
 p_mouse_3io6key_fw_check:
-03c6 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-03c7 204003cc call p_mouse_gpio_config_output_low 
-03c8 6848c90e fetcht 1 ,mem_fw_button_gpio 
-03c9 20204164 branch mouse_3io6key_fw_check 
+03f6 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+03f7 204003fc call p_mouse_gpio_config_output_low 
+03f8 6848c90e fetcht 1 ,mem_fw_button_gpio 
+03f9 20204164 branch mouse_3io6key_fw_check 
 
 p_mouse_gpio_config_output_high:
-03ca d840003f arg gpcfg_output_high ,temp 
-03cb 20206093 branch gpio_config_function_int 
+03fa d840003f arg gpcfg_output_high ,temp 
+03fb 20206093 branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-03cc d840003e arg gpcfg_output_low ,temp 
-03cd 20206093 branch gpio_config_function_int 
+03fc d840003e arg gpcfg_output_low ,temp 
+03fd 20206093 branch gpio_config_function_int 
 
 p_mouse_idle:
-03ce 20404990 call mouse_low_voltage_led_no_enter_lpm 
-03cf 20407936 call ui_check_paring_button 
-03d0 204003df call p_mouse_dpi_check 
-03d1 204003f3 call p_mouse_dpi_another_gpio_check 
-03d2 20404655 call mouse_select_device_check 
-03d3 204003d5 call p_mouse_check_select_device_by_switch 
-03d4 20204651 branch mouse_idle + 6 
+03fe 20404990 call mouse_low_voltage_led_no_enter_lpm 
+03ff 20407936 call ui_check_paring_button 
+0400 2040040f call p_mouse_dpi_check 
+0401 20400423 call p_mouse_dpi_another_gpio_check 
+0402 20404655 call mouse_select_device_check 
+0403 20400405 call p_mouse_check_select_device_by_switch 
+0404 20204651 branch mouse_idle + 6 
 
 p_mouse_check_select_device_by_switch:
-03d5 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-03d6 c29503d9 bbit1 mouse_enable_select_device_by_switch_gpio ,p_mouse_check_select_device_by_switch_gpio 
-03d7 c295be9b bbit1 mouse_enable_select_device_by_switch_adc ,mouse_adc_read 
-03d8 20600000 rtn 
+0405 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0406 c2950409 bbit1 mouse_enable_select_device_by_switch_gpio ,p_mouse_check_select_device_by_switch_gpio 
+0407 c295be9b bbit1 mouse_enable_select_device_by_switch_adc ,mouse_adc_read 
+0408 20600000 rtn 
 
 p_mouse_check_select_device_by_switch_gpio:
-03d9 6848c91e fetcht 1 ,mem_device_switch_gpio 
-03da 20403f54 call mouse_gpio_config_input_pd 
-03db 6848c91e fetcht 1 ,mem_device_switch_gpio 
-03dc 20406059 call gpio_get_bit 
-03dd 2420c6ad nbranch mouse_check_select_24gdevice ,true 
-03de 202046a9 branch mouse_select_btdevice 
+0409 6848c91e fetcht 1 ,mem_device_switch_gpio 
+040a 20403f54 call mouse_gpio_config_input_pd 
+040b 6848c91e fetcht 1 ,mem_device_switch_gpio 
+040c 20406059 call gpio_get_bit 
+040d 2420c6ad nbranch mouse_check_select_24gdevice ,true 
+040e 202046a9 branch mouse_select_btdevice 
 
 p_mouse_dpi_check:
-03df 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-03e0 c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
-03e1 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-03e2 c17f8000 rtneq gpio_disable 
-03e3 da200000 arg 0 ,rega 
-03e4 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
-03e5 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-03e6 204003e8 call p_mouse_dpi_key_check 
-03e7 2020402f branch mouse_dpi_check_next 
+040f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0410 c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
+0411 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+0412 c17f8000 rtneq gpio_disable 
+0413 da200000 arg 0 ,rega 
+0414 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
+0415 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+0416 20400418 call p_mouse_dpi_key_check 
+0417 2020402f branch mouse_dpi_check_next 
 
 p_mouse_dpi_key_check:
-03e8 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-03e9 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-03ea 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
-03eb 1fe22600 copy pdata ,regc 
-03ec 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-03ed c07f83ef beq gpio_disable ,p_mouse_3io6key_dpi_check 
-03ee 2020403f branch mouse_dpi_key_check_next 
+0418 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0419 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+041a 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
+041b 1fe22600 copy pdata ,regc 
+041c 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+041d c07f841f beq gpio_disable ,p_mouse_3io6key_dpi_check 
+041e 2020403f branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-03ef 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-03f0 204003cc call p_mouse_gpio_config_output_low 
-03f1 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-03f2 20204195 branch mouse_3io6key_check 
+041f 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+0420 204003fc call p_mouse_gpio_config_output_low 
+0421 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+0422 20204195 branch mouse_3io6key_check 
 
 p_mouse_dpi_another_gpio_check:
-03f3 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-03f4 c41e8000 rtnbit0 mouse_enable_double_dpi_key 
-03f5 6fe0cc32 fetch 1 ,mem_dpi_another_button_gpio 
-03f6 204003ca call p_mouse_gpio_config_output_high 
-03f7 204003fa call p_mouse_dpi_another_check 
-03f8 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
-03f9 20203f56 branch mouse_gpio_config_input_pu 
+0423 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0424 c41e8000 rtnbit0 mouse_enable_double_dpi_key 
+0425 6fe0cc32 fetch 1 ,mem_dpi_another_button_gpio 
+0426 204003fa call p_mouse_gpio_config_output_high 
+0427 2040042a call p_mouse_dpi_another_check 
+0428 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
+0429 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_dpi_another_check:
-03fa 704c3600 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
-03fb 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
-03fc 6fe0cc33 fetch 1 ,mem_dpi_another_press_status 
-03fd 20400409 call p_mouse_check_key_connect_gnd_new 
-03fe 67e0cc33 store 1 ,mem_dpi_another_press_status 
-03ff 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
-0400 203a0405 branch p_mouse_dpi_another_up ,blank 
+042a 704c3600 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+042b 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
+042c 6fe0cc33 fetch 1 ,mem_dpi_another_press_status 
+042d 20400439 call p_mouse_check_key_connect_gnd_new 
+042e 67e0cc33 store 1 ,mem_dpi_another_press_status 
+042f 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
+0430 203a0435 branch p_mouse_dpi_another_up ,blank 
 
 p_mouse_dpi_another_down:
-0401 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
-0402 c1008000 rtneq dpi_button_state_down 
-0403 704c3401 jam dpi_button_state_down ,mem_dpi_another_button_state 
-0404 20204069 branch mouse_dpi_process 
+0431 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
+0432 c1008000 rtneq dpi_button_state_down 
+0433 704c3401 jam dpi_button_state_down ,mem_dpi_another_button_state 
+0434 20204069 branch mouse_dpi_process 
 
 p_mouse_dpi_another_up:
-0405 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
-0406 c1000000 rtneq dpi_button_state_up 
-0407 704c3400 jam dpi_button_state_up ,mem_dpi_another_button_state 
-0408 20600000 rtn 
+0435 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
+0436 c1000000 rtneq dpi_button_state_up 
+0437 704c3400 jam dpi_button_state_up ,mem_dpi_another_button_state 
+0438 20600000 rtn 
 
 p_mouse_check_key_connect_gnd_new:
-0409 1fe3fe00 lshift pdata ,pdata 
-040a 1fe22400 copy pdata ,regb 
-040b 20406059 call gpio_get_bit 
-040c 7920a400 setflag true ,0 ,regb 
-040d 1a417e07 and regb ,0x07 ,pdata 
-040e 6848cc36 fetcht 1 ,mem_mouse_key_temp_patch 
-040f 18420e00 copy temp ,queue 
-0410 c0038413 beq 0x07 ,p_mouse_key_press 
-0411 c0000415 beq 0x00 ,p_mouse_key_release 
-0412 20600000 rtn 
+0439 1fe3fe00 lshift pdata ,pdata 
+043a 1fe22400 copy pdata ,regb 
+043b 20406059 call gpio_get_bit 
+043c 7920a400 setflag true ,0 ,regb 
+043d 1a417e07 and regb ,0x07 ,pdata 
+043e 6848cc36 fetcht 1 ,mem_mouse_key_temp_patch 
+043f 18420e00 copy temp ,queue 
+0440 c0038443 beq 0x07 ,p_mouse_key_press 
+0441 c0000445 beq 0x00 ,p_mouse_key_release 
+0442 20600000 rtn 
 
 p_mouse_key_press:
-0413 704c3501 jam 1 ,mem_dpi_another_button_down_enable 
-0414 20600000 rtn 
+0443 704c3501 jam 1 ,mem_dpi_another_button_down_enable 
+0444 20600000 rtn 
 
 p_mouse_key_release:
-0415 704c3500 jam 0 ,mem_dpi_another_button_down_enable 
-0416 20600000 rtn 
+0445 704c3500 jam 0 ,mem_dpi_another_button_down_enable 
+0446 20600000 rtn 
 
 p_mouse_dpi_process:
-0417 20404072 call mouse_dpi_ghost_check 
-0418 20740000 rtn user 
-0419 6fe0c992 fetch 1 ,mem_mouse_dpi 
-041a 1fe20400 copy pdata ,temp 
-041b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-041c c29e8423 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
-041d 18427e00 copy temp ,pdata 
-041e 1fe0fe01 increase 1 ,pdata 
-041f 1fe17e03 and pdata ,0x03 ,pdata 
+0447 20404072 call mouse_dpi_ghost_check 
+0448 20740000 rtn user 
+0449 6fe0c992 fetch 1 ,mem_mouse_dpi 
+044a 1fe20400 copy pdata ,temp 
+044b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+044c c29e8453 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
+044d 18427e00 copy temp ,pdata 
+044e 1fe0fe01 increase 1 ,pdata 
+044f 1fe17e03 and pdata ,0x03 ,pdata 
 
 p_mouse_dpi_store:
-0420 67e0c992 store 1 ,mem_mouse_dpi 
-0421 20404095 call mouse_seting_dpi 
-0422 202045ee branch mouse_store_device_info_delay 
+0450 67e0c992 store 1 ,mem_mouse_dpi 
+0451 20404095 call mouse_seting_dpi 
+0452 202045ee branch mouse_store_device_info_delay 
 
 p_mouse_double_dpi_check:
-0423 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
-0424 243a042e nbranch p_mouse_another_dpi_button_down ,blank 
+0453 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
+0454 243a045e nbranch p_mouse_another_dpi_button_down ,blank 
 
 p_mouse_dpi_increase:
-0425 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0426 c28e042b bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
-0427 18427e00 copy temp ,pdata 
-0428 c1010000 rtneq mouse_dpi_level3 
+0455 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0456 c28e045b bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
+0457 18427e00 copy temp ,pdata 
+0458 c1010000 rtneq mouse_dpi_level3 
 
 p_mouse_dpi_increase_level:
-0429 1fe0fe01 increase 1 ,pdata 
-042a 20200420 branch p_mouse_dpi_store 
+0459 1fe0fe01 increase 1 ,pdata 
+045a 20200450 branch p_mouse_dpi_store 
 
 p_mouse_dpi_increase_level_4:
-042b 18427e00 copy temp ,pdata 
-042c c1018000 rtneq mouse_dpi_level4 
-042d 20200429 branch p_mouse_dpi_increase_level 
+045b 18427e00 copy temp ,pdata 
+045c c1018000 rtneq mouse_dpi_level4 
+045d 20200459 branch p_mouse_dpi_increase_level 
 
 p_mouse_another_dpi_button_down:
 
 p_mouse_dpi_decrease:
-042e 18427e00 copy temp ,pdata 
-042f c1000000 rtneq mouse_dpi_level1 
-0430 1fe0ffff increase -1 ,pdata 
-0431 20200420 branch p_mouse_dpi_store 
+045e 18427e00 copy temp ,pdata 
+045f c1000000 rtneq mouse_dpi_level1 
+0460 1fe0ffff increase -1 ,pdata 
+0461 20200450 branch p_mouse_dpi_store 
 
 p_g24_parse_rx_ota_sm:
-0432 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
-0433 207a0000 rtn blank 
-0434 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-0435 c001043e beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
-0436 c0028440 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
-0437 c0040442 beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
-0438 c0058444 beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
-0439 c0070446 beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
-043a c008843c beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
-043b 20600000 rtn 
+0462 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
+0463 207a0000 rtn blank 
+0464 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+0465 c001046e beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
+0466 c0028470 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
+0467 c0040472 beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
+0468 c0058474 beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
+0469 c0070476 beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
+046a c008846c beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
+046b 20600000 rtn 
 
 p_g24_ota_sm_tx_reset:
-043c 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
-043d 20600000 rtn 
+046c 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
+046d 20600000 rtn 
 
 p_g24_ota_sm_tx_version:
-043e 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
-043f 20600000 rtn 
+046e 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
+046f 20600000 rtn 
 
 p_g24_ota_sm_tx_info:
-0440 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
-0441 20600000 rtn 
+0470 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
+0471 20600000 rtn 
 
 p_g24_ota_sm_tx_config:
-0442 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
-0443 20600000 rtn 
+0472 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
+0473 20600000 rtn 
 
 p_g24_ota_sm_tx_config_end:
-0444 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-0445 20600000 rtn 
+0474 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+0475 20600000 rtn 
 
 p_g24_ota_sm_tx_data:
-0446 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-0447 20600000 rtn 
+0476 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+0477 20600000 rtn 
 
 p_g24_mouse_parse_rx:
-0448 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
-0449 203a0432 branch p_g24_parse_rx_ota_sm ,blank 
-044a 1fe22400 copy pdata ,regb 
-044b 70482a00 jam 0 ,mem_24g_rxdata_length 
-044c 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-044d c057845a beq datatype_ota ,p_g24_rx_ota 
-044e 20600000 rtn 
+0478 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
+0479 203a0462 branch p_g24_parse_rx_ota_sm ,blank 
+047a 1fe22400 copy pdata ,regb 
+047b 70482a00 jam 0 ,mem_24g_rxdata_length 
+047c 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+047d c057848a beq datatype_ota ,p_g24_rx_ota 
+047e 20600000 rtn 
 
 p_g24_ota_mode_enable:
-044f 704bf601 jam 1 ,mem_g24_ota_mode 
-0450 70409900 jam 0 ,mem_lpm_mode 
-0451 2020053a branch p_ota_init 
+047f 704bf601 jam 1 ,mem_g24_ota_mode 
+0480 70409900 jam 0 ,mem_lpm_mode 
+0481 2020056a branch p_ota_init 
 
 p_g24_ota_dispatch:
-0452 20600000 rtn 
+0482 20600000 rtn 
 
 p_g24_ota_transmit:
-0453 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0454 20402291 call g24_transmit_prep 
-0455 2040265b call g24_transmit_receive_ack 
-0456 246c0000 nrtn sync 
-0457 24778000 nrtn user3 
-0458 20402597 call g24_txbuf_clear 
-0459 20202672 branch g24_ackpayload_parse 
+0483 7047c6af jam datatype_ota ,mem_24g_txbuf 
+0484 20402291 call g24_transmit_prep 
+0485 2040265b call g24_transmit_receive_ack 
+0486 246c0000 nrtn sync 
+0487 24778000 nrtn user3 
+0488 20402597 call g24_txbuf_clear 
+0489 20202672 branch g24_ackpayload_parse 
 
 p_g24_rx_ota:
-045a 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-045b c1d78000 rtnne datatype_ota 
-045c efe08006 ifetch 1 ,contr 
-045d e8408006 ifetcht 1 ,contr 
-045e 18467c02 sub temp ,g24_ota_target_mouse ,null 
-045f 2422937a nbranch assert ,zero 
-0460 c0008469 beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
-0461 c001046c beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
-0462 c001846e beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
-0463 c0020470 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
-0464 c00284c8 beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
-0465 c00304ee beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
-0466 c07f8468 beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
-0467 2020137a branch assert 
+048a 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+048b c1d78000 rtnne datatype_ota 
+048c efe08006 ifetch 1 ,contr 
+048d e8408006 ifetcht 1 ,contr 
+048e 18467c02 sub temp ,g24_ota_target_mouse ,null 
+048f 2422937a nbranch assert ,zero 
+0490 c0008499 beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
+0491 c001049c beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
+0492 c001849e beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
+0493 c00204a0 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
+0494 c00284f8 beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
+0495 c003051e beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
+0496 c07f8498 beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
+0497 2020137a branch assert 
 
 p_g24_mouse_ota_process_ping:
-0468 20600000 rtn 
+0498 20600000 rtn 
 
 p_g24_mouse_ota_process_version:
-0469 2040044f call p_g24_ota_mode_enable 
-046a 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
-046b 20600000 rtn 
+0499 2040047f call p_g24_ota_mode_enable 
+049a 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
+049b 20600000 rtn 
 
 p_g24_mouse_ota_process_info:
-046c 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
-046d 20600000 rtn 
+049c 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
+049d 20600000 rtn 
 
 p_g24_mouse_ota_process_config:
-046e 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
-046f 20600000 rtn 
+049e 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
+049f 20600000 rtn 
 
 p_g24_mouse_ota_process_set_config_end:
-0470 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
-0471 efe10006 ifetch 2 ,contr 
-0472 e8410006 ifetcht 2 ,contr 
-0473 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
-0474 9a267c00 isub rega ,null 
-0475 242284e6 nbranch p_g24_mouse_ota_process_fail ,zero 
-0476 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-0477 98467c00 isub temp ,null 
-0478 242284e6 nbranch p_g24_mouse_ota_process_fail ,zero 
-0479 2040047c call p_g24_check_ota_data_all 
-047a 243404e6 nbranch p_g24_mouse_ota_process_fail ,user 
-047b 202004e4 branch p_g24_mouse_ota_process_ok 
+04a0 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
+04a1 efe10006 ifetch 2 ,contr 
+04a2 e8410006 ifetcht 2 ,contr 
+04a3 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
+04a4 9a267c00 isub rega ,null 
+04a5 24228516 nbranch p_g24_mouse_ota_process_fail ,zero 
+04a6 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+04a7 98467c00 isub temp ,null 
+04a8 24228516 nbranch p_g24_mouse_ota_process_fail ,zero 
+04a9 204004ac call p_g24_check_ota_data_all 
+04aa 24340516 nbranch p_g24_mouse_ota_process_fail ,user 
+04ab 20200514 branch p_g24_mouse_ota_process_ok 
 
 p_g24_check_ota_data_all:
-047c 20400487 call p_g24_check_ota_data 
-047d 24740000 nrtn user 
-047e 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-047f 9e067c00 isub alarm ,null 
-0480 2422fe56 nbranch disable_user ,zero 
-0481 684909e8 fetcht 2 ,mem_temp_block6 
-0482 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-0483 1fe0fffb increase -5 ,pdata 
-0484 98467c00 isub temp ,null 
-0485 2422fe56 nbranch disable_user ,zero 
-0486 20207e54 branch enable_user 
+04ac 204004b7 call p_g24_check_ota_data 
+04ad 24740000 nrtn user 
+04ae 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+04af 9e067c00 isub alarm ,null 
+04b0 2422fe56 nbranch disable_user ,zero 
+04b1 684909e8 fetcht 2 ,mem_temp_block6 
+04b2 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+04b3 1fe0fffb increase -5 ,pdata 
+04b4 98467c00 isub temp ,null 
+04b5 2422fe56 nbranch disable_user ,zero 
+04b6 20207e54 branch enable_user 
 
 p_g24_check_ota_data:
-0487 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-0488 1ff0fe00 byteswap pdata ,pdata 
-0489 67e102e4 store 2 ,mem_addr_mi 
-048a d8400003 arg 3 ,temp 
-048b da2009d2 arg mem_temp_block5 ,rega 
-048c 20405de2 call iicd_read_eep 
-048d 6fe089d2 fetch 1 ,mem_temp_block5 
-048e c0ad7e56 bne g24_ota_data_header ,disable_user 
-048f e8410006 ifetcht 2 ,contr 
-0490 6049095c storet 2 ,mem_pdatatemp 
-0491 604909e8 storet 2 ,mem_temp_block6 
-0492 6fe089d2 fetch 1 ,mem_temp_block5 
-0493 dd60ffff arg 0xffff ,rege 
-0494 d8400000 arg 0 ,temp 
-0495 d8c009d2 arg mem_temp_block5 ,contr 
-0496 df200003 arg 3 ,loopcnt 
-0497 204004fe call p_g24_mouse_data_sum 
-0498 18426000 copy temp ,alarm 
-0499 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-049a 1fe0ee03 add pdata ,3 ,regf 
-049b 204004ab call p_g24_check_ota_data_loop 
-049c 1ef0fe00 byteswap regf ,pdata 
-049d 67e102e4 store 2 ,mem_addr_mi 
-049e d8400002 arg 2 ,temp 
-049f da2009d2 arg mem_temp_block5 ,rega 
-04a0 20405de2 call iicd_read_eep 
-04a1 6fe109d2 fetch 2 ,mem_temp_block5 
-04a2 9d667c00 isub rege ,null 
-04a3 2422fe56 nbranch disable_user ,zero 
-04a4 6fe089d2 fetch 1 ,mem_temp_block5 
-04a5 9e00e000 iadd alarm ,alarm 
-04a6 efe08006 ifetch 1 ,contr 
-04a7 9e00e000 iadd alarm ,alarm 
-04a8 5800ffff setarg 0xffff 
-04a9 9e016000 iand alarm ,alarm 
-04aa 20207e54 branch enable_user 
+04b7 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+04b8 1ff0fe00 byteswap pdata ,pdata 
+04b9 67e102e4 store 2 ,mem_addr_mi 
+04ba d8400003 arg 3 ,temp 
+04bb da2009d2 arg mem_temp_block5 ,rega 
+04bc 20405de2 call iicd_read_eep 
+04bd 6fe089d2 fetch 1 ,mem_temp_block5 
+04be c0ad7e56 bne g24_ota_data_header ,disable_user 
+04bf e8410006 ifetcht 2 ,contr 
+04c0 6049095c storet 2 ,mem_pdatatemp 
+04c1 604909e8 storet 2 ,mem_temp_block6 
+04c2 6fe089d2 fetch 1 ,mem_temp_block5 
+04c3 dd60ffff arg 0xffff ,rege 
+04c4 d8400000 arg 0 ,temp 
+04c5 d8c009d2 arg mem_temp_block5 ,contr 
+04c6 df200003 arg 3 ,loopcnt 
+04c7 2040052e call p_g24_mouse_data_sum 
+04c8 18426000 copy temp ,alarm 
+04c9 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+04ca 1fe0ee03 add pdata ,3 ,regf 
+04cb 204004db call p_g24_check_ota_data_loop 
+04cc 1ef0fe00 byteswap regf ,pdata 
+04cd 67e102e4 store 2 ,mem_addr_mi 
+04ce d8400002 arg 2 ,temp 
+04cf da2009d2 arg mem_temp_block5 ,rega 
+04d0 20405de2 call iicd_read_eep 
+04d1 6fe109d2 fetch 2 ,mem_temp_block5 
+04d2 9d667c00 isub rege ,null 
+04d3 2422fe56 nbranch disable_user ,zero 
+04d4 6fe089d2 fetch 1 ,mem_temp_block5 
+04d5 9e00e000 iadd alarm ,alarm 
+04d6 efe08006 ifetch 1 ,contr 
+04d7 9e00e000 iadd alarm ,alarm 
+04d8 5800ffff setarg 0xffff 
+04d9 9e016000 iand alarm ,alarm 
+04da 20207e54 branch enable_user 
 
 p_g24_check_ota_data_loop:
-04ab 6fe1095c fetch 2 ,mem_pdatatemp 
-04ac 207a0000 rtn blank 
-04ad 1fe20400 copy pdata ,temp 
-04ae 1fe67c10 sub pdata ,16 ,null 
-04af 202104c6 branch p_g24_check_ota_data_loopend ,positive 
-04b0 1fe0fff0 increase -16 ,pdata 
-04b1 d8400010 arg 0x10 ,temp 
+04db 6fe1095c fetch 2 ,mem_pdatatemp 
+04dc 207a0000 rtn blank 
+04dd 1fe20400 copy pdata ,temp 
+04de 1fe67c10 sub pdata ,16 ,null 
+04df 202104f6 branch p_g24_check_ota_data_loopend ,positive 
+04e0 1fe0fff0 increase -16 ,pdata 
+04e1 d8400010 arg 0x10 ,temp 
 
 p_g24_check_ota_data_loop2:
-04b2 67e1095c store 2 ,mem_pdatatemp 
-04b3 18425e00 copy temp ,regext 
-04b4 1ee27e00 copy regf ,pdata 
-04b5 1ff0fe00 byteswap pdata ,pdata 
-04b6 67e102e4 store 2 ,mem_addr_mi 
-04b7 da2009d2 arg mem_temp_block5 ,rega 
-04b8 20405de2 call iicd_read_eep 
-04b9 1ee27e00 copy regf ,pdata 
-04ba 9de0ee00 iadd regext ,regf 
-04bb 1de27200 copy regext ,loopcnt 
-04bc 1d627e00 copy rege ,pdata 
-04bd d8c009d2 arg mem_temp_block5 ,contr 
-04be efe00006 icrc contr 
-04bf 1fe25600 copy pdata ,rege 
-04c0 1de27200 copy regext ,loopcnt 
-04c1 d8c009d2 arg mem_temp_block5 ,contr 
-04c2 1e020400 copy alarm ,temp 
-04c3 204004fe call p_g24_mouse_data_sum 
-04c4 18426000 copy temp ,alarm 
-04c5 202004ab branch p_g24_check_ota_data_loop 
+04e2 67e1095c store 2 ,mem_pdatatemp 
+04e3 18425e00 copy temp ,regext 
+04e4 1ee27e00 copy regf ,pdata 
+04e5 1ff0fe00 byteswap pdata ,pdata 
+04e6 67e102e4 store 2 ,mem_addr_mi 
+04e7 da2009d2 arg mem_temp_block5 ,rega 
+04e8 20405de2 call iicd_read_eep 
+04e9 1ee27e00 copy regf ,pdata 
+04ea 9de0ee00 iadd regext ,regf 
+04eb 1de27200 copy regext ,loopcnt 
+04ec 1d627e00 copy rege ,pdata 
+04ed d8c009d2 arg mem_temp_block5 ,contr 
+04ee efe00006 icrc contr 
+04ef 1fe25600 copy pdata ,rege 
+04f0 1de27200 copy regext ,loopcnt 
+04f1 d8c009d2 arg mem_temp_block5 ,contr 
+04f2 1e020400 copy alarm ,temp 
+04f3 2040052e call p_g24_mouse_data_sum 
+04f4 18426000 copy temp ,alarm 
+04f5 202004db branch p_g24_check_ota_data_loop 
 
 p_g24_check_ota_data_loopend:
-04c6 58000000 setarg 0 
-04c7 202004b2 branch p_g24_check_ota_data_loop2 
+04f6 58000000 setarg 0 
+04f7 202004e2 branch p_g24_check_ota_data_loop2 
 
 p_g24_mouse_ota_process_data:
-04c8 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
-04c9 efe08006 ifetch 1 ,contr 
-04ca 18c22200 copy contr ,rega 
-04cb 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-04cc 98467c00 isub temp ,null 
-04cd 202284e4 branch p_g24_mouse_ota_process_ok ,zero 
-04ce 204004f5 call p_g24_cmd_ota_data_check_count 
-04cf 243404e6 nbranch p_g24_mouse_ota_process_fail ,user 
-04d0 1a467c04 sub regb ,4 ,null 
-04d1 202104e6 branch p_g24_mouse_ota_process_fail ,positive 
-04d2 1a40a5fc increase -4 ,regb 
-04d3 62410959 storer regb ,2 ,mem_hold_contw 
-04d4 62210957 storer rega ,2 ,mem_hold_contr 
-04d5 20405dd3 call iicd_eeprom_write_enable 
-04d6 204004e8 call p_dongle_usb_cmd_ota_write_data 
-04d7 20405dda call iicd_eeprom_write_disable 
-04d8 6a410959 fetchr regb ,2 ,mem_hold_contw 
-04d9 6a210957 fetchr rega ,2 ,mem_hold_contr 
-04da 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-04db 9a40fe00 iadd regb ,pdata 
-04dc 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-04dd 1a427200 copy regb ,loopcnt 
-04de d8400000 arg 0 ,temp 
-04df 1a220c00 copy rega ,contr 
-04e0 204004fe call p_g24_mouse_data_sum 
-04e1 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-04e2 9840fe00 iadd temp ,pdata 
-04e3 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+04f8 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
+04f9 efe08006 ifetch 1 ,contr 
+04fa 18c22200 copy contr ,rega 
+04fb 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+04fc 98467c00 isub temp ,null 
+04fd 20228514 branch p_g24_mouse_ota_process_ok ,zero 
+04fe 20400525 call p_g24_cmd_ota_data_check_count 
+04ff 24340516 nbranch p_g24_mouse_ota_process_fail ,user 
+0500 1a467c04 sub regb ,4 ,null 
+0501 20210516 branch p_g24_mouse_ota_process_fail ,positive 
+0502 1a40a5fc increase -4 ,regb 
+0503 62410959 storer regb ,2 ,mem_hold_contw 
+0504 62210957 storer rega ,2 ,mem_hold_contr 
+0505 20405dd3 call iicd_eeprom_write_enable 
+0506 20400518 call p_dongle_usb_cmd_ota_write_data 
+0507 20405dda call iicd_eeprom_write_disable 
+0508 6a410959 fetchr regb ,2 ,mem_hold_contw 
+0509 6a210957 fetchr rega ,2 ,mem_hold_contr 
+050a 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+050b 9a40fe00 iadd regb ,pdata 
+050c 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+050d 1a427200 copy regb ,loopcnt 
+050e d8400000 arg 0 ,temp 
+050f 1a220c00 copy rega ,contr 
+0510 2040052e call p_g24_mouse_data_sum 
+0511 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+0512 9840fe00 iadd temp ,pdata 
+0513 67e14c1a store 2 ,mem_g24_ota_rx_sum 
 
 p_g24_mouse_ota_process_ok:
-04e4 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
-04e5 20600000 rtn 
+0514 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
+0515 20600000 rtn 
 
 p_g24_mouse_ota_process_fail:
-04e6 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
-04e7 20600000 rtn 
+0516 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
+0517 20600000 rtn 
 
 p_dongle_usb_cmd_ota_write_data:
-04e8 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-04e9 207a0000 rtn blank 
-04ea 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
-04eb 9840fe00 iadd temp ,pdata 
-04ec 1a420400 copy regb ,temp 
-04ed 20205e04 branch iicd_write_ota_data 
+0518 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+0519 207a0000 rtn blank 
+051a 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
+051b 9840fe00 iadd temp ,pdata 
+051c 1a420400 copy regb ,temp 
+051d 20205e04 branch iicd_write_ota_data 
 
 p_g24_mouse_ota_process_reset:
-04ee 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-04ef c1080000 rtneq g24_ota_sm_rx_reset 
-04f0 c1088000 rtneq g24_ota_sm_tx_reset 
-04f1 c1090000 rtneq g24_ota_sm_tx_reset_ok 
-04f2 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
-04f3 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
-04f4 20600000 rtn 
+051e 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+051f c1080000 rtneq g24_ota_sm_rx_reset 
+0520 c1088000 rtneq g24_ota_sm_tx_reset 
+0521 c1090000 rtneq g24_ota_sm_tx_reset_ok 
+0522 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
+0523 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
+0524 20600000 rtn 
 
 p_g24_cmd_ota_data_check_count:
-04f5 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-04f6 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-04f7 c00004fb beq 0 ,p_g24_cmd_ota_data_check_count_0 
-04f8 98467e00 isub temp ,pdata 
-04f9 c000fe54 beq 1 ,enable_user 
-04fa 20207e56 branch disable_user 
+0525 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+0526 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+0527 c000052b beq 0 ,p_g24_cmd_ota_data_check_count_0 
+0528 98467e00 isub temp ,pdata 
+0529 c000fe54 beq 1 ,enable_user 
+052a 20207e56 branch disable_user 
 
 p_g24_cmd_ota_data_check_count_0:
-04fb 18467cff sub temp ,0xff ,null 
-04fc 2022fe54 branch enable_user ,zero 
-04fd 20207e56 branch disable_user 
+052b 18467cff sub temp ,0xff ,null 
+052c 2022fe54 branch enable_user ,zero 
+052d 20207e56 branch disable_user 
 
 p_g24_mouse_data_sum:
-04fe efe08006 ifetch 1 ,contr 
-04ff 98408400 iadd temp ,temp 
-0500 c20004fe loop p_g24_mouse_data_sum 
-0501 20600000 rtn 
+052e efe08006 ifetch 1 ,contr 
+052f 98408400 iadd temp ,temp 
+0530 c200052e loop p_g24_mouse_data_sum 
+0531 20600000 rtn 
 
 p_g24_mouse_ota_crc:
-0502 5800ffff setarg 0xffff 
-0503 efe00006 icrc contr 
-0504 20600000 rtn 
+0532 5800ffff setarg 0xffff 
+0533 efe00006 icrc contr 
+0534 20600000 rtn 
 
 p_g24_mouse_ota_check_crc:
-0505 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0506 1f267c02 sub loopcnt ,2 ,null 
-0507 20217e56 branch disable_user ,positive 
-0508 dfe0480a arg mem_24g_rxpayload ,pdata 
-0509 9f208c00 iadd loopcnt ,contr 
-050a 18c08dfe increase -2 ,contr 
-050b e8410006 ifetcht 2 ,contr 
-050c d8c0480a arg mem_24g_rxpayload ,contr 
-050d 20400502 call p_g24_mouse_ota_crc 
-050e 98467c00 isub temp ,null 
-050f 2022fe54 branch enable_user ,zero 
-0510 20207e56 branch disable_user 
+0535 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0536 1f267c02 sub loopcnt ,2 ,null 
+0537 20217e56 branch disable_user ,positive 
+0538 dfe0480a arg mem_24g_rxpayload ,pdata 
+0539 9f208c00 iadd loopcnt ,contr 
+053a 18c08dfe increase -2 ,contr 
+053b e8410006 ifetcht 2 ,contr 
+053c d8c0480a arg mem_24g_rxpayload ,contr 
+053d 20400532 call p_g24_mouse_ota_crc 
+053e 98467c00 isub temp ,null 
+053f 2022fe54 branch enable_user ,zero 
+0540 20207e56 branch disable_user 
 
 p_g24_mouse_ota_check_data:
-0511 efe08006 ifetch 1 ,contr 
-0512 c0ad052a bne 0x5a ,p_g24_mouse_ota_load_fail 
-0513 1a220200 copy rega ,1 ,contr 
-0514 68490006 fetcht 2 ,contr 
+0541 efe08006 ifetch 1 ,contr 
+0542 c0ad055a bne 0x5a ,p_g24_mouse_ota_load_fail 
+0543 1a220200 copy rega ,1 ,contr 
+0544 68490006 fetcht 2 ,contr 
 
 p_g24_mouse_ota_check_data_loop:
-0515 18467c03 sub temp ,3 ,null 
-0516 2021052a branch p_g24_mouse_ota_load_fail ,positive 
-0517 18c08c02 increase 2 ,contr 
-0518 ef208006 ifetchr loopcnt ,1 ,contr 
-0519 1f267c00 sub loopcnt ,0 ,null 
-051a 2422852a nbranch p_g24_mouse_ota_load_fail ,zero 
-051b 1f227e00 copy loopcnt ,pdata 
-051c 98c08c00 iadd contr ,contr 
-051d 18427e00 copy temp ,pdata 
-051e 1f20f203 increase 3 ,loopcnt 
-051f 9f260400 isub loopcnt ,temp 
-0520 24228515 nbranch p_g24_mouse_ota_check_data_loop ,zero 
-0521 e8410006 ifetcht 2 ,contr 
-0522 1a208c01 add rega ,1 ,contr 
-0523 efe10006 ifetch 2 ,contr 
-0524 1fe0f202 add pdata ,2 ,loopcnt 
-0525 1a208c01 add rega ,1 ,contr 
-0526 20400502 call p_g24_mouse_ota_crc 
-0527 98467c00 isub temp ,null 
-0528 2422852a nbranch p_g24_mouse_ota_load_fail ,zero 
+0545 18467c03 sub temp ,3 ,null 
+0546 2021055a branch p_g24_mouse_ota_load_fail ,positive 
+0547 18c08c02 increase 2 ,contr 
+0548 ef208006 ifetchr loopcnt ,1 ,contr 
+0549 1f267c00 sub loopcnt ,0 ,null 
+054a 2422855a nbranch p_g24_mouse_ota_load_fail ,zero 
+054b 1f227e00 copy loopcnt ,pdata 
+054c 98c08c00 iadd contr ,contr 
+054d 18427e00 copy temp ,pdata 
+054e 1f20f203 increase 3 ,loopcnt 
+054f 9f260400 isub loopcnt ,temp 
+0550 24228545 nbranch p_g24_mouse_ota_check_data_loop ,zero 
+0551 e8410006 ifetcht 2 ,contr 
+0552 1a208c01 add rega ,1 ,contr 
+0553 efe10006 ifetch 2 ,contr 
+0554 1fe0f202 add pdata ,2 ,loopcnt 
+0555 1a208c01 add rega ,1 ,contr 
+0556 20400532 call p_g24_mouse_ota_crc 
+0557 98467c00 isub temp ,null 
+0558 2422855a nbranch p_g24_mouse_ota_load_fail ,zero 
 
 p_g24_mouse_ota_load_success:
-0529 20207e54 branch enable_user 
+0559 20207e54 branch enable_user 
 
 p_g24_mouse_ota_load_fail:
-052a 20207e56 branch disable_user 
+055a 20207e56 branch disable_user 
 
 p_g24_mouse_ota_get_otaaddr:
-052b 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-052c 1fe20c00 copy pdata ,contr 
-052d 20400511 call p_g24_mouse_ota_check_data 
-052e 24340536 nbranch p_g24_mouse_ota_config_end ,user 
-052f 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
-0530 1a208c01 add rega ,1 ,contr 
-0531 efe10006 ifetch 2 ,contr 
-0532 1fe0fe05 increase 5 ,pdata 
-0533 9a20fe00 iadd rega ,pdata 
-0534 67e14bf3 store 2 ,mem_g24_ota_config_addr 
-0535 2020052b branch p_g24_mouse_ota_get_otaaddr 
+055b 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+055c 1fe20c00 copy pdata ,contr 
+055d 20400541 call p_g24_mouse_ota_check_data 
+055e 24340566 nbranch p_g24_mouse_ota_config_end ,user 
+055f 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
+0560 1a208c01 add rega ,1 ,contr 
+0561 efe10006 ifetch 2 ,contr 
+0562 1fe0fe05 increase 5 ,pdata 
+0563 9a20fe00 iadd rega ,pdata 
+0564 67e14bf3 store 2 ,mem_g24_ota_config_addr 
+0565 2020055b branch p_g24_mouse_ota_get_otaaddr 
 
 p_g24_mouse_ota_config_end:
-0536 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-0537 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-0538 98467e00 isub temp ,pdata 
-0539 20600000 rtn 
+0566 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+0567 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+0568 98467e00 isub temp ,pdata 
+0569 20600000 rtn 
 
 p_ota_init:
-053a 58000000 setarg 0 
-053b 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-053c 67e14c1a store 2 ,mem_g24_ota_rx_sum 
-053d 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-053e 67e0cbf7 store 1 ,mem_g24_ota_sm 
-053f 20600000 rtn 
+056a 58000000 setarg 0 
+056b 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+056c 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+056d 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+056e 67e0cbf7 store 1 ,mem_g24_ota_sm 
+056f 20600000 rtn 
 
 p_mouse_24g_package_ota:
-0540 20407e56 call disable_user 
-0541 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-0542 c0008549 beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
-0543 c0020553 beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
-0544 c0038572 beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
-0545 c0050598 beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
-0546 c006858d beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
-0547 c0080576 beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
-0548 202005a1 branch p_mouse_24g_package_ping 
+0570 20407e56 call disable_user 
+0571 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+0572 c0008579 beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
+0573 c0020583 beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
+0574 c00385a2 beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
+0575 c00505c8 beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
+0576 c00685bd beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
+0577 c00805a6 beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
+0578 202005d1 branch p_mouse_24g_package_ping 
 
 p_mouse_24g_package_ota_version:
-0549 7047c6af jam datatype_ota ,mem_24g_txbuf 
-054a 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
-054b 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-054c 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-054d 58000001 setarg g24_ota_version 
-054e 67e147ca store 2 ,mem_24g_txbuf + 4 
-054f 70483601 jam type_ms ,mem_24g_data_type 
-0550 70483506 jam 6 ,mem_24g_datalen 
-0551 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
-0552 20600000 rtn 
+0579 7047c6af jam datatype_ota ,mem_24g_txbuf 
+057a 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
+057b 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+057c 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+057d 58000001 setarg g24_ota_version 
+057e 67e147ca store 2 ,mem_24g_txbuf + 4 
+057f 70483601 jam type_ms ,mem_24g_data_type 
+0580 70483506 jam 6 ,mem_24g_datalen 
+0581 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
+0582 20600000 rtn 
 
 p_mouse_24g_package_ota_info:
-0553 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0554 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
-0555 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-0556 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-0557 6ff10000 fetch 2 ,core_chipid 
-0558 67e147ca store 2 ,mem_24g_txbuf + 4 
-0559 58006661 setarg 0x6661 
-055a e7e10005 istore 2 ,contw 
-055b 58000001 setarg 1 
-055c e7e30005 istore 6 ,contw 
-055d 58000000 setarg 0 
-055e e7e10005 istore 2 ,contw 
-055f e7e10005 istore 2 ,contw 
-0560 2040057a call p_mouse_24g_storage_type 
-0561 e7e08005 istore 1 ,contw 
-0562 58000000 setarg 0 
-0563 e7e08005 istore 1 ,contw 
-0564 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-0565 e0410005 istoret 2 ,contw 
-0566 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-0567 1fed7e00 lshift8 pdata ,pdata 
-0568 1fe37e00 rshift pdata ,pdata 
-0569 98467e00 isub temp ,pdata 
-056a 24210570 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
+0583 7047c6af jam datatype_ota ,mem_24g_txbuf 
+0584 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
+0585 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+0586 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+0587 6ff10000 fetch 2 ,core_chipid 
+0588 67e147ca store 2 ,mem_24g_txbuf + 4 
+0589 58006661 setarg 0x6661 
+058a e7e10005 istore 2 ,contw 
+058b 58000001 setarg 1 
+058c e7e30005 istore 6 ,contw 
+058d 58000000 setarg 0 
+058e e7e10005 istore 2 ,contw 
+058f e7e10005 istore 2 ,contw 
+0590 204005aa call p_mouse_24g_storage_type 
+0591 e7e08005 istore 1 ,contw 
+0592 58000000 setarg 0 
+0593 e7e08005 istore 1 ,contw 
+0594 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+0595 e0410005 istoret 2 ,contw 
+0596 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+0597 1fed7e00 lshift8 pdata ,pdata 
+0598 1fe37e00 rshift pdata ,pdata 
+0599 98467e00 isub temp ,pdata 
+059a 242105a0 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
 
 p_dongle_usb_cmd_ota_info_dongle_common:
-056b e7e10005 istore 2 ,contw 
-056c 70483518 jam 24 ,mem_24g_datalen 
-056d 70483601 jam type_ms ,mem_24g_data_type 
-056e 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
-056f 20600000 rtn 
+059b e7e10005 istore 2 ,contw 
+059c 70483518 jam 24 ,mem_24g_datalen 
+059d 70483601 jam type_ms ,mem_24g_data_type 
+059e 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
+059f 20600000 rtn 
 
 p_dongle_usb_cmd_ota_info_dongle_empty:
-0570 58000000 setarg 0 
-0571 2020056b branch p_dongle_usb_cmd_ota_info_dongle_common 
+05a0 58000000 setarg 0 
+05a1 2020059b branch p_dongle_usb_cmd_ota_info_dongle_common 
 
 p_mouse_24g_package_ota_config:
-0572 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
-0573 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
-0574 70483504 jam 4 ,mem_24g_datalen 
-0575 20200583 branch p_mouse_24g_package_ota_common_ok 
+05a2 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
+05a3 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
+05a4 70483504 jam 4 ,mem_24g_datalen 
+05a5 202005b3 branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_package_ota_reset:
-0576 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
-0577 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
-0578 70483504 jam 4 ,mem_24g_datalen 
-0579 20200583 branch p_mouse_24g_package_ota_common_ok 
+05a6 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
+05a7 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
+05a8 70483504 jam 4 ,mem_24g_datalen 
+05a9 202005b3 branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_storage_type:
-057a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-057b c289857f bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
-057c c2890581 bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
-057d 58000000 setarg g24_ota_storage_error 
-057e 20600000 rtn 
+05aa 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+05ab c28985af bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
+05ac c28905b1 bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
+05ad 58000000 setarg g24_ota_storage_error 
+05ae 20600000 rtn 
 
 p_mouse_24g_storage_type_eeprom:
-057f 58000002 setarg g24_ota_storage_eeprom 
-0580 20600000 rtn 
+05af 58000002 setarg g24_ota_storage_eeprom 
+05b0 20600000 rtn 
 
 p_mouse_24g_storage_type_flash:
-0581 58000004 setarg g24_ota_storage_flash 
-0582 20600000 rtn 
+05b1 58000004 setarg g24_ota_storage_flash 
+05b2 20600000 rtn 
 
 p_mouse_24g_package_ota_common_ok:
-0583 70483601 jam type_ms ,mem_24g_data_type 
-0584 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0585 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-0586 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-0587 20600000 rtn 
+05b3 70483601 jam type_ms ,mem_24g_data_type 
+05b4 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05b5 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05b6 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05b7 20600000 rtn 
 
 p_mouse_24g_package_ota_common_fail:
-0588 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
-0589 70483601 jam type_ms ,mem_24g_data_type 
-058a 7047c6af jam datatype_ota ,mem_24g_txbuf 
-058b 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-058c 20600000 rtn 
+05b8 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
+05b9 70483601 jam type_ms ,mem_24g_data_type 
+05ba 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05bb 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05bc 20600000 rtn 
 
 p_mouse_24g_package_ota_data:
-058d 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-058e 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
-058f 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
-0590 67e0c7ca store 1 ,mem_24g_txbuf + 4 
-0591 70483505 jam 5 ,mem_24g_datalen 
-0592 70483601 jam type_ms ,mem_24g_data_type 
-0593 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0594 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-0595 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-0596 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-0597 20600000 rtn 
+05bd 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+05be 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
+05bf 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
+05c0 67e0c7ca store 1 ,mem_24g_txbuf + 4 
+05c1 70483505 jam 5 ,mem_24g_datalen 
+05c2 70483601 jam type_ms ,mem_24g_data_type 
+05c3 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05c4 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+05c5 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+05c6 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05c7 20600000 rtn 
 
 p_mouse_24g_package_ota_set_config_end:
-0598 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-0599 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
-059a 70483504 jam 4 ,mem_24g_datalen 
-059b 70483601 jam type_ms ,mem_24g_data_type 
-059c 7047c6af jam datatype_ota ,mem_24g_txbuf 
-059d 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-059e 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-059f 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05a0 20600000 rtn 
+05c8 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+05c9 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
+05ca 70483504 jam 4 ,mem_24g_datalen 
+05cb 70483601 jam type_ms ,mem_24g_data_type 
+05cc 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05cd 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+05ce 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+05cf 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05d0 20600000 rtn 
 
 p_mouse_24g_package_ping:
-05a1 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05a2 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
-05a3 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05a4 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05a5 70483601 jam type_ms ,mem_24g_data_type 
-05a6 70483504 jam 4 ,mem_24g_datalen 
-05a7 20600000 rtn 
+05d1 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05d2 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
+05d3 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05d4 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05d5 70483601 jam type_ms ,mem_24g_data_type 
+05d6 70483504 jam 4 ,mem_24g_datalen 
+05d7 20600000 rtn 
 
 p_mouse_24g_package_data_ota:
-05a8 1fe22200 copy pdata ,rega 
-05a9 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
-05aa 70483601 jam type_ms ,mem_24g_data_type 
-05ab da404bf9 arg mem_g24_ota_txbuf ,regb 
-05ac 20600000 rtn 
+05d8 1fe22200 copy pdata ,rega 
+05d9 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
+05da 70483601 jam type_ms ,mem_24g_data_type 
+05db da404bf9 arg mem_g24_ota_txbuf ,regb 
+05dc 20600000 rtn 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/program/patch.prog	(revision 1432)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_2ch_YSF/program/patch.prog	(working copy)
@@ -855,6 +855,26 @@
 	call p_mouse_dpi_led_blink_delay
 	branch mouse_seting_sensor_type
 
+p_mouse_seting_sensor_type:
+	fetch 1,mem_config_sensor_type
+	beq P3212,p_mouse_seting_3212_dpi
+	beq MX8650,p_mouse_seting_8650_dpi
+	branch mouse_seting_sensor_type+2
+
+p_mouse_seting_3212_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_p3212_cpi0  //1200
+	beq MOUSE_DPI_LEVEL2,mouse_set_p3212_cpi2	//2400
+	beq MOUSE_DPI_LEVEL3,mouse_set_p3212_cpi1	//1600	//fake,zoom->3200
+	branch mouse_set_p3212_cpi0
+
+p_mouse_seting_8650_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_cpi0		//1200
+	beq MOUSE_DPI_LEVEL2,mouse_set_cpi0		//1200		//fake,zoom1->2400
+	beq MOUSE_DPI_LEVEL3,mouse_set_cpi1		//1600	//fake,zoom2->3200
+	branch mouse_set_cpi0
+
 p_mouse_dpi_led_blink_delay:
 	fetch 1,mem_dpi_led_gpio
 	rtneq GPIO_DISABLE
@@ -1171,7 +1191,8 @@
 	setarg 0
 	store 6,mem_mouse_x
 	call mouse_check_sensor_data
-	call mouse_dpi_config
+	call p_mouse_data_zoom
+	call p_mouse_seting_sensor_type
 	call mouse_zwheel
 	call mouse_t_zwheel
 	call mouse_key
@@ -1187,6 +1208,54 @@
 	rtneq P3212
 	branch mouse_drawing_optima
 
+p_mouse_data_zoom:
+	fetch 1,mem_config_sensor_type
+	beq P3212,p_mouse_3212_data_zoom
+	beq MX8650,p_mouse_8650_data_zoom
+	rtn
+p_mouse_8650_data_zoom:
+	fetch 1,mem_mouse_dpi
+	rtneq MOUSE_DPI_LEVEL1
+	branch p_mouse_data_zoom_next
+
+p_mouse_3212_data_zoom:
+	fetch 1,mem_mouse_dpi
+	rtnne MOUSE_DPI_LEVEL3
+p_mouse_data_zoom_next:
+	fetch 2,mem_mouse_x
+	call p_mouse_2400_zoom
+	store 2,mem_mouse_x
+	fetch 2,mem_mouse_y
+	call p_mouse_2400_zoom
+	store 2,mem_mouse_y
+	rtn	
+	
+p_mouse_2400_zoom:
+	bbit1 11,p_mouse_xy_inverse
+	bbit0 11,p_mouse_xy_zoom
+	rtn
+
+p_mouse_xy_inverse:
+	sub pdata,0,pdata
+	call p_mouse_xy_zoom	
+	sub pdata,0,pdata
+	rtn
+
+p_mouse_xy_zoom:
+	iadd pdata,pdata		//x=x+x=x*2
+p_mouse_xy_zoom_store:	
+	store 2,mem_mouse_temp_data
+	fetch 1,mem_mouse_temp_data+1
+	sub pdata,0x7,null
+	ncall p_mouse_xy_forward_overflow,positive
+	fetch 2,mem_mouse_temp_data
+	rtn
+
+p_mouse_xy_forward_overflow:
+	setarg 0x7ff
+	store 2,mem_mouse_temp_data
+	rtn
+
 p_mouse_sensor_poweron:
 	call mouse_sensor_spi_init
 	fetch 1,mem_config_sensor_type
