Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/format/app_mouse.format	(revision 1109)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/format/app_mouse.format	(working copy)
@@ -367,6 +367,12 @@
 1 mem_om16_dpi_3
 
 18 mem_sensor_om18_init
+0 mem_sensor_s201_dpi
+1 mem_sensor_s201_dpi_0
+1 mem_sensor_s201_dpi_1
+1 mem_sensor_s201_dpi_2
+1 mem_sensor_s201_dpi_3
+1 mem_sensor_s201_dpi_4
 )
 
 
@@ -552,6 +558,7 @@
 0X0b KA8G2
 0X0c OM16
 0X0d OM18
+0X0e S201X
 
 
 //SENSOR REG
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/output/eeprom.dat	(revision 1109)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-82
-18
+46
+19
 c2
 84
 00
@@ -59,11 +59,11 @@
 c0
 67
 03
-69
+88
 c0
 67
 84
-46
+65
 c0
 68
 02
@@ -71,15 +71,15 @@
 c0
 68
 83
-c7
+e6
 c0
 69
 84
-61
+8b
 c0
 6a
 03
-ad
+cc
 c0
 6b
 01
@@ -87,19 +87,19 @@
 c0
 6c
 82
-96
+b5
 c0
 6d
 03
-0e
+2d
 c0
 6f
-03
-fd
+04
+1c
 c0
 74
 03
-1b
+3a
 20
 20
 13
@@ -115,15 +115,15 @@
 c0
 43
 83
-17
+36
 c0
 50
 83
-2f
+4e
 c0
 60
 03
-39
+58
 c0
 6e
 82
@@ -143,7 +143,7 @@
 c0
 76
 03
-60
+7f
 20
 20
 13
@@ -298,8 +298,8 @@
 94
 20
 40
-04
-fa
+05
+2b
 20
 34
 00
@@ -611,7 +611,7 @@
 20
 40
 03
-b3
+d2
 20
 40
 3d
@@ -627,7 +627,7 @@
 20
 40
 03
-bf
+de
 20
 20
 3b
@@ -899,7 +899,7 @@
 24
 3a
 05
-b3
+e4
 20
 40
 3f
@@ -1151,7 +1151,7 @@
 20
 20
 03
-bf
+de
 6f
 e0
 c8
@@ -1187,7 +1187,7 @@
 20
 20
 04
-63
+8d
 20
 40
 26
@@ -1287,7 +1287,7 @@
 20
 40
 04
-bb
+ec
 20
 40
 01
@@ -1315,7 +1315,7 @@
 20
 40
 04
-63
+8d
 6f
 e4
 4b
@@ -1431,11 +1431,11 @@
 20
 40
 03
-b8
+d7
 20
 40
 03
-bf
+de
 20
 20
 3e
@@ -1463,7 +1463,7 @@
 20
 40
 02
-d0
+ef
 20
 40
 40
@@ -1679,7 +1679,7 @@
 20
 40
 04
-07
+26
 6f
 e0
 c9
@@ -1727,7 +1727,7 @@
 20
 40
 03
-bf
+de
 20
 20
 01
@@ -2323,7 +2323,7 @@
 c2
 81
 84
-c5
+f6
 c2
 80
 a3
@@ -2439,7 +2439,7 @@
 20
 40
 02
-88
+a7
 6f
 e0
 c9
@@ -2447,11 +2447,15 @@
 c0
 06
 02
-65
+84
 c0
 06
 82
-72
+91
+c0
+07
+02
+66
 20
 20
 40
@@ -2460,22 +2464,142 @@
 e0
 c9
 92
+1f
+e6
+7c
+03
+20
+42
+82
+6c
 c0
 00
 02
-6c
+6e
 c0
 00
 82
-6a
+71
 c0
 01
 02
-6e
+7a
+70
+49
+92
+00
+20
+60
+00
+00
+6f
+e0
+cc
+4f
+1f
+e2
+22
+00
+20
+20
+02
+7c
+6f
+e0
+cc
+50
+1f
+e2
+22
+00
+20
+20
+02
+7c
+6f
+e0
+cc
+51
+1f
+e2
+22
+00
+20
+20
+02
+7c
+6f
+e0
+cc
+52
+1f
+e2
+22
+00
+20
+20
+02
+7c
+6f
+e0
+cc
+53
+1f
+e2
+22
+00
+58
+00
+c3
+09
+20
+40
+5b
+0c
+1a
+22
+7e
+00
+1f
+ed
+7e
+00
+1f
+e0
+fe
+23
+20
+40
+5b
+0c
+58
+00
+00
+09
+20
+20
+5b
+0c
+6f
+e0
+c9
+92
+c0
+00
+02
+8b
+c0
+00
+82
+89
+c0
+01
+02
+8d
 c0
 01
 82
-70
+8f
 68
 48
 cc
@@ -2519,19 +2643,19 @@
 c0
 00
 02
-7a
+99
 c0
 00
 82
-78
+97
 c0
 01
 02
-7c
+9b
 c0
 01
 82
-7e
+9d
 6f
 e0
 c9
@@ -2539,7 +2663,7 @@
 20
 20
 02
-7f
+9e
 6f
 e0
 c9
@@ -2547,7 +2671,7 @@
 20
 20
 02
-7f
+9e
 6f
 e0
 c9
@@ -2555,7 +2679,7 @@
 20
 20
 02
-7f
+9e
 6f
 e0
 c9
@@ -2643,7 +2767,7 @@
 20
 3a
 02
-d7
+f6
 67
 e0
 cb
@@ -2663,7 +2787,7 @@
 20
 40
 02
-b2
+d1
 20
 40
 23
@@ -2683,7 +2807,7 @@
 20
 40
 02
-d4
+f3
 20
 40
 40
@@ -2694,8 +2818,8 @@
 cc
 20
 40
-02
-ec
+03
+0b
 20
 40
 44
@@ -2711,7 +2835,7 @@
 20
 40
 03
-03
+22
 20
 40
 45
@@ -2743,15 +2867,15 @@
 20
 40
 02
-c6
+e5
 20
 40
 03
-06
+25
 20
 20
 02
-af
+ce
 da
 60
 4c
@@ -2767,11 +2891,11 @@
 20
 40
 02
-bd
+dc
 20
 20
 02
-b4
+d3
 6f
 e0
 c9
@@ -2798,8 +2922,8 @@
 1c
 20
 40
-03
-fb
+04
+1a
 68
 48
 c9
@@ -2834,8 +2958,8 @@
 1d
 20
 40
-03
-fb
+04
+1a
 68
 48
 c9
@@ -2883,7 +3007,7 @@
 20
 21
 02
-d2
+f1
 68
 48
 cb
@@ -2907,7 +3031,7 @@
 da
 40
 02
-d7
+f6
 20
 20
 31
@@ -2962,12 +3086,12 @@
 03
 20
 41
-02
-e6
+03
+05
 24
 41
-02
-ea
+03
+09
 20
 20
 48
@@ -3002,8 +3126,8 @@
 38
 c0
 00
-02
-f2
+03
+11
 6f
 e4
 4b
@@ -3018,8 +3142,8 @@
 ca
 20
 20
-02
-f5
+03
+14
 6f
 e4
 4b
@@ -3054,8 +3178,8 @@
 00
 20
 22
-82
-fc
+83
+1b
 20
 20
 44
@@ -3063,7 +3187,7 @@
 20
 40
 03
-01
+20
 6f
 e0
 cb
@@ -3115,7 +3239,7 @@
 da
 40
 03
-0b
+2a
 20
 20
 31
@@ -3211,7 +3335,7 @@
 c0
 04
 83
-23
+42
 20
 20
 4d
@@ -3311,7 +3435,7 @@
 c0
 02
 03
-3c
+5b
 20
 20
 19
@@ -3327,11 +3451,11 @@
 c0
 05
 03
-41
+60
 c0
 09
 03
-50
+6f
 20
 20
 1c
@@ -3359,7 +3483,7 @@
 c2
 81
 83
-4b
+6a
 6f
 e1
 44
@@ -3387,11 +3511,11 @@
 24
 22
 83
-47
+66
 24
 34
 03
-47
+66
 20
 20
 1e
@@ -3511,15 +3635,15 @@
 20
 40
 03
-7c
+9b
 20
 40
 03
-b3
+d2
 20
 40
 04
-7a
+ab
 20
 40
 3f
@@ -3551,7 +3675,7 @@
 20
 40
 03
-78
+97
 20
 20
 45
@@ -3579,7 +3703,7 @@
 c0
 06
 83
-7f
+9e
 20
 20
 42
@@ -3595,7 +3719,7 @@
 c0
 7f
 83
-85
+a4
 68
 48
 c9
@@ -3679,19 +3803,19 @@
 c0
 00
 03
-9b
+ba
 c0
 00
 83
-a2
+c1
 c0
 01
 03
-a7
+c6
 c0
 01
 83
-a8
+c7
 20
 60
 00
@@ -3779,7 +3903,7 @@
 c0
 05
 83
-b4
+d3
 20
 40
 42
@@ -3799,7 +3923,7 @@
 20
 40
 03
-bb
+da
 da
 60
 4b
@@ -3811,7 +3935,7 @@
 20
 20
 03
-b3
+d2
 6f
 e0
 c9
@@ -3819,7 +3943,7 @@
 c0
 05
 83
-bb
+da
 20
 20
 42
@@ -3855,7 +3979,7 @@
 c0
 05
 83
-c5
+e4
 58
 00
 08
@@ -3887,23 +4011,23 @@
 20
 40
 03
-d0
+ef
 20
 40
 03
-d5
+f4
 20
 40
 03
-da
+f9
 20
 40
 03
-df
+fe
 20
 40
-03
-ec
+04
+0b
 20
 20
 41
@@ -3914,8 +4038,8 @@
 18
 20
 40
-03
-f9
+04
+18
 20
 40
 41
@@ -3934,8 +4058,8 @@
 19
 20
 40
-03
-f9
+04
+18
 20
 40
 41
@@ -3954,8 +4078,8 @@
 1a
 20
 40
-03
-f9
+04
+18
 20
 40
 41
@@ -3998,8 +4122,8 @@
 10
 c0
 7f
-83
-e8
+84
+07
 20
 20
 41
@@ -4010,8 +4134,8 @@
 0d
 20
 40
-03
-fb
+04
+1a
 68
 48
 c9
@@ -4050,8 +4174,8 @@
 10
 c0
 7f
-83
-f5
+84
+14
 20
 20
 41
@@ -4062,8 +4186,8 @@
 0e
 20
 40
-03
-fb
+04
+1a
 68
 48
 c9
@@ -4099,11 +4223,11 @@
 20
 40
 04
-0e
+2d
 20
 40
 04
-22
+41
 20
 40
 46
@@ -4123,7 +4247,7 @@
 20
 40
 04
-07
+26
 20
 20
 3d
@@ -4187,7 +4311,7 @@
 20
 40
 04
-17
+36
 20
 20
 40
@@ -4215,7 +4339,7 @@
 c0
 7f
 84
-1e
+3d
 20
 20
 40
@@ -4226,8 +4350,8 @@
 0f
 20
 40
-03
-fb
+04
+1a
 68
 48
 c9
@@ -4250,12 +4374,12 @@
 32
 20
 40
-03
-f9
+04
+18
 20
 40
 04
-29
+48
 68
 48
 cc
@@ -4279,7 +4403,7 @@
 20
 40
 04
-38
+57
 67
 e0
 cc
@@ -4291,7 +4415,7 @@
 20
 3a
 04
-34
+53
 6f
 e0
 cc
@@ -4355,11 +4479,11 @@
 c0
 03
 84
-42
+61
 c0
 00
 04
-44
+63
 20
 60
 00
@@ -4391,6 +4515,14 @@
 6f
 e0
 c9
+27
+c0
+07
+04
+73
+6f
+e0
+c9
 92
 1f
 e2
@@ -4403,7 +4535,7 @@
 c2
 9e
 84
-52
+7c
 18
 42
 7e
@@ -4430,12 +4562,48 @@
 ee
 6f
 e0
+c9
+92
+1f
+e0
+fe
+01
+1f
+e6
+7c
+03
+20
+42
+84
+7a
+67
+e0
+c9
+92
+20
+40
+40
+95
+20
+20
+45
+ee
+58
+00
+00
+00
+20
+60
+00
+00
+6f
+e0
 cc
 35
 24
 3a
 04
-5d
+87
 6f
 e4
 4b
@@ -4443,7 +4611,7 @@
 c2
 8e
 04
-5a
+84
 18
 42
 7e
@@ -4459,7 +4627,7 @@
 20
 20
 04
-4f
+70
 18
 42
 7e
@@ -4471,7 +4639,7 @@
 20
 20
 04
-58
+82
 18
 42
 7e
@@ -4487,7 +4655,7 @@
 20
 20
 04
-4f
+70
 20
 40
 3f
@@ -4507,7 +4675,7 @@
 c0
 18
 04
-6c
+96
 c0
 18
 c2
@@ -4519,7 +4687,7 @@
 c0
 0c
 04
-71
+9c
 20
 40
 41
@@ -4531,15 +4699,19 @@
 20
 20
 04
-64
+8e
 6f
 e0
 c9
 c2
 c0
+68
+84
+a5
+c0
 29
 04
-6f
+9a
 20
 20
 41
@@ -4567,7 +4739,7 @@
 20
 40
 04
-78
+a3
 da
 60
 4c
@@ -4588,6 +4760,30 @@
 20
 7d
 13
+58
+00
+00
+49
+20
+40
+5b
+0d
+c0
+50
+84
+a9
+20
+20
+41
+da
+70
+49
+27
+0e
+20
+60
+00
+00
 6f
 e0
 c9
@@ -4603,7 +4799,7 @@
 c0
 00
 84
-7f
+b0
 20
 60
 00
@@ -4619,7 +4815,7 @@
 20
 40
 04
-92
+c3
 6f
 e0
 c8
@@ -4627,11 +4823,11 @@
 c2
 83
 84
-87
+b8
 20
 40
 04
-9a
+cb
 67
 e0
 c8
@@ -4643,7 +4839,7 @@
 20
 40
 04
-8a
+bb
 67
 e0
 c8
@@ -4667,7 +4863,7 @@
 20
 40
 04
-9a
+cb
 1f
 e2
 04
@@ -4691,11 +4887,11 @@
 c2
 83
 84
-97
+c8
 20
 40
 04
-9a
+cb
 67
 e0
 c8
@@ -4707,7 +4903,7 @@
 20
 40
 04
-8a
+bb
 67
 e0
 c8
@@ -4747,7 +4943,7 @@
 24
 21
 04
-a3
+d4
 20
 60
 00
@@ -4775,27 +4971,27 @@
 c0
 01
 04
-b1
+e2
 c0
 02
 84
-b3
+e4
 c0
 04
 04
-b5
+e6
 c0
 05
 84
-b7
+e8
 c0
 07
 04
-b9
+ea
 c0
 08
 84
-af
+e0
 20
 60
 00
@@ -4855,7 +5051,7 @@
 20
 3a
 04
-a5
+d6
 1f
 e2
 24
@@ -4871,7 +5067,7 @@
 c0
 57
 84
-cd
+fe
 20
 60
 00
@@ -4887,7 +5083,7 @@
 20
 20
 05
-ad
+de
 20
 60
 00
@@ -4946,32 +5142,32 @@
 7a
 c0
 00
-84
-dc
+85
+0d
 c0
 01
-04
-df
+05
+10
 c0
 01
-84
-e1
+85
+12
 c0
 02
-04
-e3
+05
+14
 c0
 02
 85
-3b
+6c
 c0
 03
 05
-61
+92
 c0
 7f
-84
-db
+85
+0c
 20
 20
 13
@@ -4983,7 +5179,7 @@
 20
 40
 04
-c2
+f3
 70
 4b
 f7
@@ -5031,7 +5227,7 @@
 24
 22
 85
-59
+8a
 6f
 e1
 4c
@@ -5043,23 +5239,23 @@
 24
 22
 85
-59
+8a
 20
 40
-04
-ef
+05
+20
 24
 34
 05
-59
+8a
 20
 20
 05
-57
+88
 20
 40
-04
-fa
+05
+2b
 24
 74
 00
@@ -5167,7 +5363,7 @@
 20
 40
 05
-71
+a2
 18
 42
 60
@@ -5183,7 +5379,7 @@
 20
 40
 05
-1e
+4f
 1e
 f0
 fe
@@ -5263,7 +5459,7 @@
 20
 21
 05
-39
+6a
 1f
 e0
 ff
@@ -5343,7 +5539,7 @@
 20
 40
 05
-71
+a2
 18
 42
 60
@@ -5351,7 +5547,7 @@
 20
 20
 05
-1e
+4f
 58
 00
 00
@@ -5359,7 +5555,7 @@
 20
 20
 05
-25
+56
 70
 4b
 f7
@@ -5383,15 +5579,15 @@
 20
 22
 85
-57
+88
 20
 40
 05
-68
+99
 24
 34
 05
-59
+8a
 1a
 46
 7c
@@ -5399,7 +5595,7 @@
 20
 21
 05
-59
+8a
 1a
 40
 a5
@@ -5419,7 +5615,7 @@
 20
 40
 05
-5b
+8c
 20
 40
 5d
@@ -5459,7 +5655,7 @@
 20
 40
 05
-71
+a2
 6f
 e1
 4c
@@ -5551,7 +5747,7 @@
 c0
 00
 05
-6e
+9f
 98
 46
 7e
@@ -5587,7 +5783,7 @@
 c2
 00
 05
-71
+a2
 20
 60
 00
@@ -5639,7 +5835,7 @@
 20
 40
 05
-75
+a6
 98
 46
 7c
@@ -5659,7 +5855,7 @@
 c0
 ad
 05
-9d
+ce
 1a
 22
 02
@@ -5675,7 +5871,7 @@
 20
 21
 05
-9d
+ce
 18
 c0
 8c
@@ -5691,7 +5887,7 @@
 24
 22
 85
-9d
+ce
 1f
 22
 7e
@@ -5715,7 +5911,7 @@
 24
 22
 85
-88
+b9
 e8
 41
 00
@@ -5739,7 +5935,7 @@
 20
 40
 05
-75
+a6
 98
 46
 7c
@@ -5747,7 +5943,7 @@
 24
 22
 85
-9d
+ce
 20
 20
 7e
@@ -5767,11 +5963,11 @@
 20
 40
 05
-84
+b5
 24
 34
 05
-a9
+da
 6a
 21
 4b
@@ -5799,7 +5995,7 @@
 20
 20
 05
-9e
+cf
 6f
 e1
 4b
@@ -5851,31 +6047,31 @@
 c0
 00
 85
-bc
+ed
 c0
 02
 05
-c6
+f7
 c0
 03
-85
-e5
+86
+16
 c0
 05
 06
-0b
+3c
 c0
 06
 86
-00
+31
 c0
 08
-05
-e9
+06
+1a
 20
 20
 06
-14
+45
 70
 47
 c6
@@ -5970,8 +6166,8 @@
 05
 20
 40
-05
-ed
+06
+1e
 e7
 e0
 80
@@ -6010,8 +6206,8 @@
 00
 24
 21
-05
-e3
+06
+14
 e7
 e1
 00
@@ -6038,8 +6234,8 @@
 00
 20
 20
-05
-de
+06
+0f
 70
 4b
 f7
@@ -6054,8 +6250,8 @@
 04
 20
 20
-05
-f6
+06
+27
 70
 4b
 f7
@@ -6070,20 +6266,20 @@
 04
 20
 20
-05
-f6
+06
+27
 6f
 e4
 4b
 ab
 c2
 89
-85
-f2
+86
+23
 c2
 89
-05
-f4
+06
+25
 58
 00
 00
@@ -6276,8 +6472,8 @@
 60
 00
 00
-9b
-99
+39
+d8
 aa
 55
 40
@@ -6452,8 +6648,8 @@
 00
 0d
 49
-0b
 0c
+0b
 0d
 aa
 55
@@ -7098,6 +7294,17 @@
 06
 aa
 55
+05
+00
+4f
+4c
+8a
+8b
+83
+84
+88
+aa
+55
 b2
 00
 df
@@ -7542,215 +7749,8 @@
 e8
 41
 01
-dc
-a9
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+37
+5f
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-65
-d4
+53
+22
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/output/memmap.format	(revision 1109)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/output/memmap.format	(working copy)
@@ -2234,6 +2234,12 @@
 0x4c3b mem_om16_dpi_2
 0x4c3c mem_om16_dpi_3
 0x4c3d mem_sensor_om18_init
+0x4c4f mem_sensor_s201_dpi
+0x4c4f mem_sensor_s201_dpi_0
+0x4c50 mem_sensor_s201_dpi_1
+0x4c51 mem_sensor_s201_dpi_2
+0x4c52 mem_sensor_s201_dpi_3
+0x4c53 mem_sensor_s201_dpi_4
 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/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/output/program.lis	(revision 1109)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/output/program.lis	(working copy)
@@ -13,30 +13,30 @@
 000a c064816a beq patch19_1 ,p_mouse_setgpio_hibernate 
 000b c065019e beq patch19_2 ,p_mouse_lpm_before_common 
 000c c0660072 beq patch19_4 ,p_mouse_adc_read_start 
-000d c0670369 beq patch19_6 ,p_mouse_motion 
-000e c0678446 beq patch19_7 ,p_mouse_dpi_process 
+000d c0670388 beq patch19_6 ,p_mouse_motion 
+000e c0678465 beq patch19_7 ,p_mouse_dpi_process 
 000f c068025f beq patch1a_0 ,p_mouse_seting_dpi 
-0010 c06883c7 beq patch1a_1 ,p_mouse_check_key_gpio 
-0011 c0698461 beq patch1a_3 ,p_mouse_init_sunt 
-0012 c06a03ad beq patch1a_4 ,p_mouse_sensor_poweron 
+0010 c06883e6 beq patch1a_1 ,p_mouse_check_key_gpio 
+0011 c069848b beq patch1a_3 ,p_mouse_init_sunt 
+0012 c06a03cc beq patch1a_4 ,p_mouse_sensor_poweron 
 0013 c06b01c9 beq patch1a_6 ,p_mouse_priority_bb_event 
-0014 c06c8296 beq patch1b_1 ,p_mouse_bb_event_timer 
-0015 c06d030e beq patch1b_2 ,p_mouse_start_discovery 
-0016 c06f03fd beq patch1b_6 ,p_mouse_idle 
-0017 c074031b beq patch1d_0 ,p_hid_rx_process 
+0014 c06c82b5 beq patch1b_1 ,p_mouse_bb_event_timer 
+0015 c06d032d beq patch1b_2 ,p_mouse_start_discovery 
+0016 c06f041c beq patch1b_6 ,p_mouse_idle 
+0017 c074033a beq patch1d_0 ,p_hid_rx_process 
 0018 2020137c branch loop 
 
 pf_patch_ext:
 0019 c0198052 beq patch26_3 ,p_adc_init_data 
 001a c01a0057 beq patch26_4 ,p_enable_adc 
-001b c0438317 beq patch30_7 ,p_ui_timer_check 
-001c c050832f beq patch34_1 ,p_le_slave_match 
-001d c0600339 beq patch38_0 ,p_le_parse_l2cap 
+001b c0438336 beq patch30_7 ,p_ui_timer_check 
+001c c050834e beq patch34_1 ,p_le_slave_match 
+001d c0600358 beq patch38_0 ,p_le_parse_l2cap 
 001e c06e823f beq patch3b_5 ,p_g24_dispatch 
 001f c071021a beq patch3c_2 ,p_g24_pair_dispatch 
 0020 c0748222 beq patch3d_1 ,p_g24_reconn_dispatch 
 0021 c0750128 beq patch3d_2 ,p_g24_transmit_no_interrupt 
-0022 c0760360 beq patch3d_4 ,p_g24_lpm_wait 
+0022 c076037f beq patch3d_4 ,p_g24_lpm_wait 
 0023 2020137c branch loop 
 
 p_soft_reset:
@@ -89,7 +89,7 @@
 
 p_g24_load_ota_config_poweron:
 0048 20405b94 call iicd_load_gpio_init 
-0049 204004fa call p_g24_check_ota_data 
+0049 2040052b call p_g24_check_ota_data 
 004a 2034004c branch p_g24_load_ota_config ,user 
 004b 20600000 rtn 
 
@@ -185,11 +185,11 @@
 0094 204000c8 call p_mouse_setting_config 
 0095 204041a7 call mouse_init_sunt 
 0096 20758000 rtn wake 
-0097 204003b3 call p_mouse_dpi_config 
+0097 204003d2 call p_mouse_dpi_config 
 0098 20403d8a call mouse_usb_check_enable 
 0099 20404728 call mouse_drawing_optima_init 
 009a 204000d8 call p_mouse_cb_fuction 
-009b 204003bf call p_mouse_sensor_powerdown 
+009b 204003de call p_mouse_sensor_powerdown 
 009c 20203bc9 branch mouse_init + 8 
 
 p_mouse_le_name_load:
@@ -273,7 +273,7 @@
 p_mouse_24g_package_data:
 00dd c6930000 rtnmark0 mark_24g 
 00de 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
-00df 243a05b3 nbranch p_mouse_24g_package_ota ,blank 
+00df 243a05e4 nbranch p_mouse_24g_package_ota ,blank 
 00e0 20403f70 call mouse_motion 
 00e1 24740000 nrtn user 
 00e2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
@@ -350,7 +350,7 @@
 011b 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
 011c 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
 011d 67e14ab2 store 2 ,mem_mouse_no_data_timer 
-011e 202003bf branch p_mouse_sensor_powerdown 
+011e 202003de branch p_mouse_sensor_powerdown 
 
 p_mouse_24g_search_dongle_success:
 011f 6fe0c8a7 fetch 1 ,mem_24g_abort_pac 
@@ -361,7 +361,7 @@
 0124 793ffe00 set0 g24_disconn_state ,pdata 
 0125 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
 0126 20404544 call mouse_no_data_timer_init 
-0127 20200463 branch p_mouse_init_sensor_wakeup 
+0127 2020048d branch p_mouse_init_sensor_wakeup 
 
 p_g24_transmit_no_interrupt:
 0128 20402631 call g24_txdata_prep 
@@ -396,7 +396,7 @@
 013d 242c0150 nbranch p_g24_retransmit ,sync 
 013e 24378150 nbranch p_g24_retransmit ,user3 
 013f 20402672 call g24_ackpayload_parse 
-0140 204004bb call p_g24_mouse_parse_rx 
+0140 204004ec call p_g24_mouse_parse_rx 
 0141 20400143 call p_mouse_wakeup_24g 
 0142 20202651 branch g24_transmit_no_ack 
 
@@ -407,7 +407,7 @@
 0146 20600000 rtn 
 
 p_mouse_wakeup_24g_from_long_sleep:
-0147 20400463 call p_mouse_init_sensor_wakeup 
+0147 2040048d call p_mouse_init_sensor_wakeup 
 0148 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
 0149 c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
 
@@ -444,8 +444,8 @@
 0161 58000006 setarg pan_reg_config 
 0162 20405b0d call twspi_read 
 0163 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
-0164 204003b8 call p_mouse_sensor_reset 
-0165 204003bf call p_mouse_sensor_powerdown 
+0164 204003d7 call p_mouse_sensor_reset 
+0165 204003de call p_mouse_sensor_powerdown 
 0166 20203e23 branch mouse_app_enter_hibernate + 3 
 
 p_mouse_om16_enter_hibernate:
@@ -456,7 +456,7 @@
 p_mouse_setgpio_hibernate:
 016a 204042e9 call mouse_set_sdio_high 
 016b 20407fdc call clear_wake 
-016c 204002d0 call p_mouse_logo_led_off 
+016c 204002ef call p_mouse_logo_led_off 
 016d 20404015 call mouse_before_hibernate_wheel_gpio_set 
 016e 6848c910 fetcht 1 ,mem_matrix_public_gpio 
 016f 20406069 call gpio_out_active 
@@ -522,7 +522,7 @@
 019f 20406050 call gpio_config_input 
 01a0 6848c914 fetcht 1 ,mem_whee_b_data_gpio 
 01a1 20406050 call gpio_config_input 
-01a2 20400407 call p_mouse_wheel_check 
+01a2 20400426 call p_mouse_wheel_check 
 01a3 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
 01a4 d840003f arg gpcfg_output_high ,temp 
 01a5 20406093 call gpio_config_function_int 
@@ -536,7 +536,7 @@
 01ab 58000000 setarg 0 
 01ac 67e3c8d0 store 7 ,mem_mouse_key 
 01ad 704be101 jam 1 ,mem_sensor_shutdown_flag 
-01ae 204003bf call p_mouse_sensor_powerdown 
+01ae 204003de call p_mouse_sensor_powerdown 
 01af 202001b5 branch p_g24_long_sleep 
 
 p_g24_nodata_transmit:
@@ -733,7 +733,7 @@
 p_g24_transmit_dispatch:
 0241 c6930000 rtnmark0 mark_24g 
 0242 6fe0c8a1 fetch 1 ,mem_24g_conn_sm 
-0243 c28184c5 bbit1 state_24g_ota ,p_g24_ota_dispatch 
+0243 c28184f6 bbit1 state_24g_ota ,p_g24_ota_dispatch 
 0244 c280a340 bbit1 state_24g_pair ,g24_pair_dispatch 
 0245 c2812580 bbit1 state_24g_reconn ,g24_reconn_dispatch 
 0246 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
@@ -770,1290 +770,1363 @@
 
 p_mouse_seting_dpi:
 025f 2040408f call mouse_setting_dpi_4_level 
-0260 20400288 call p_mouse_dpi_led_blink_delay 
+0260 204002a7 call p_mouse_dpi_led_blink_delay 
 
 p_mouse_seting_sensor_type:
 0261 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0262 c0060265 beq om16 ,p_mouse_seting_om16_dpi 
-0263 c0068272 beq om18 ,p_mouse_seting_om18_dpi 
-0264 20204098 branch mouse_seting_sensor_type 
+0262 c0060284 beq om16 ,p_mouse_seting_om16_dpi 
+0263 c0068291 beq om18 ,p_mouse_seting_om18_dpi 
+0264 c0070266 beq s201x ,p_mouse_seting_s201_dpi 
+0265 20204098 branch mouse_seting_sensor_type 
+
+p_mouse_seting_s201_dpi:
+0266 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0267 1fe67c03 sub pdata ,mouse_dpi_level4 ,null 
+0268 2042826c call p_mouse_set_s201_dpi_recount ,zero 
+0269 c000026e beq mouse_dpi_level1 ,p_mouse_set_s201_dpi_0 
+026a c0008271 beq mouse_dpi_level2 ,p_mouse_set_s201_dpi_1 
+026b c001027a beq mouse_dpi_level3 ,p_mouse_set_s201_dpi_4 
+
+p_mouse_set_s201_dpi_recount:
+026c 70499200 jam mouse_dpi_level1 ,mem_mouse_dpi 
+026d 20600000 rtn 
+
+p_mouse_set_s201_dpi_0:
+026e 6fe0cc4f fetch 1 ,mem_sensor_s201_dpi_0 
+026f 1fe22200 copy pdata ,rega 
+0270 2020027c branch p_mouse_dpi_s201_store 
+
+p_mouse_set_s201_dpi_1:
+0271 6fe0cc50 fetch 1 ,mem_sensor_s201_dpi_1 
+0272 1fe22200 copy pdata ,rega 
+0273 2020027c branch p_mouse_dpi_s201_store 
+
+p_mouse_set_s201_dpi_2:
+0274 6fe0cc51 fetch 1 ,mem_sensor_s201_dpi_2 
+0275 1fe22200 copy pdata ,rega 
+0276 2020027c branch p_mouse_dpi_s201_store 
+
+p_mouse_set_s201_dpi_3:
+0277 6fe0cc52 fetch 1 ,mem_sensor_s201_dpi_3 
+0278 1fe22200 copy pdata ,rega 
+0279 2020027c branch p_mouse_dpi_s201_store 
+
+p_mouse_set_s201_dpi_4:
+027a 6fe0cc53 fetch 1 ,mem_sensor_s201_dpi_4 
+027b 1fe22200 copy pdata ,rega 
+
+p_mouse_dpi_s201_store:
+027c 5800c309 setarg 0xc309 
+027d 20405b0c call twspi_write 
+027e 1a227e00 copy rega ,pdata 
+027f 1fed7e00 lshift8 pdata ,pdata 
+0280 1fe0fe23 add pdata ,0x23 ,pdata 
+0281 20405b0c call twspi_write 
+0282 58000009 setarg 0x0009 
+0283 20205b0c branch twspi_write 
 
 p_mouse_seting_om16_dpi:
-0265 6fe0c992 fetch 1 ,mem_mouse_dpi 
-0266 c000026c beq mouse_dpi_level1 ,p_mouse_om16_set_cpi0 
-0267 c000826a beq mouse_dpi_level2 ,p_mouse_om16_set_cpi1 
-0268 c001026e beq mouse_dpi_level3 ,p_mouse_om16_set_cpi2 
-0269 c0018270 beq mouse_dpi_level4 ,p_mouse_om16_set_cpi3 
+0284 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0285 c000028b beq mouse_dpi_level1 ,p_mouse_om16_set_cpi0 
+0286 c0008289 beq mouse_dpi_level2 ,p_mouse_om16_set_cpi1 
+0287 c001028d beq mouse_dpi_level3 ,p_mouse_om16_set_cpi2 
+0288 c001828f beq mouse_dpi_level4 ,p_mouse_om16_set_cpi3 
 
 p_mouse_om16_set_cpi1:
-026a 6848cc3a fetcht 1 ,mem_om16_dpi_1 
-026b 202040a8 branch mouse_dpi_store 
+0289 6848cc3a fetcht 1 ,mem_om16_dpi_1 
+028a 202040a8 branch mouse_dpi_store 
 
 p_mouse_om16_set_cpi0:
-026c 6848cc39 fetcht 1 ,mem_om16_dpi_0 
-026d 202040a8 branch mouse_dpi_store 
+028b 6848cc39 fetcht 1 ,mem_om16_dpi_0 
+028c 202040a8 branch mouse_dpi_store 
 
 p_mouse_om16_set_cpi2:
-026e 6848cc3b fetcht 1 ,mem_om16_dpi_2 
-026f 202040a8 branch mouse_dpi_store 
+028d 6848cc3b fetcht 1 ,mem_om16_dpi_2 
+028e 202040a8 branch mouse_dpi_store 
 
 p_mouse_om16_set_cpi3:
-0270 6848cc3c fetcht 1 ,mem_om16_dpi_3 
-0271 202040a8 branch mouse_dpi_store 
+028f 6848cc3c fetcht 1 ,mem_om16_dpi_3 
+0290 202040a8 branch mouse_dpi_store 
 
 p_mouse_seting_om18_dpi:
-0272 20404229 call mouse_sensor_disable_wp 
-0273 6fe0c992 fetch 1 ,mem_mouse_dpi 
-0274 c000027a beq mouse_dpi_level1 ,p_mouse_set_om18_cpi0 
-0275 c0008278 beq mouse_dpi_level2 ,p_mouse_set_om18_cpi1 
-0276 c001027c beq mouse_dpi_level3 ,p_mouse_set_om18_cpi2 
-0277 c001827e beq mouse_dpi_level4 ,p_mouse_set_om18_cpi3 
+0291 20404229 call mouse_sensor_disable_wp 
+0292 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0293 c0000299 beq mouse_dpi_level1 ,p_mouse_set_om18_cpi0 
+0294 c0008297 beq mouse_dpi_level2 ,p_mouse_set_om18_cpi1 
+0295 c001029b beq mouse_dpi_level3 ,p_mouse_set_om18_cpi2 
+0296 c001829d beq mouse_dpi_level4 ,p_mouse_set_om18_cpi3 
 
 p_mouse_set_om18_cpi1:
-0278 6fe0c9d5 fetch 1 ,mem_3212_dpi_1 
-0279 2020027f branch p_mouse_om18_dpi 
+0297 6fe0c9d5 fetch 1 ,mem_3212_dpi_1 
+0298 2020029e branch p_mouse_om18_dpi 
 
 p_mouse_set_om18_cpi0:
-027a 6fe0c9d4 fetch 1 ,mem_3212_dpi_0 
-027b 2020027f branch p_mouse_om18_dpi 
+0299 6fe0c9d4 fetch 1 ,mem_3212_dpi_0 
+029a 2020029e branch p_mouse_om18_dpi 
 
 p_mouse_set_om18_cpi2:
-027c 6fe0c9d6 fetch 1 ,mem_3212_dpi_2 
-027d 2020027f branch p_mouse_om18_dpi 
+029b 6fe0c9d6 fetch 1 ,mem_3212_dpi_2 
+029c 2020029e branch p_mouse_om18_dpi 
 
 p_mouse_set_om18_cpi3:
-027e 6fe0c9d7 fetch 1 ,mem_3212_dpi_3 
+029d 6fe0c9d7 fetch 1 ,mem_3212_dpi_3 
 
 p_mouse_om18_dpi:
-027f 67e0c9dc store 1 ,mem_mouse_cpi_count 
-0280 1fed7e00 lshift8 pdata ,pdata 
-0281 1fe22200 copy pdata ,rega 
-0282 1fe0fe10 add pdata ,mouse_om18_dpi_xaddress ,pdata 
-0283 20405b0c call twspi_write 
-0284 1a227e00 copy rega ,pdata 
-0285 1fe0fe11 add pdata ,mouse_om18_dpi_yaddress ,pdata 
-0286 20405b0c call twspi_write 
-0287 20204227 branch mouse_sensor_enable_wp 
+029e 67e0c9dc store 1 ,mem_mouse_cpi_count 
+029f 1fed7e00 lshift8 pdata ,pdata 
+02a0 1fe22200 copy pdata ,rega 
+02a1 1fe0fe10 add pdata ,mouse_om18_dpi_xaddress ,pdata 
+02a2 20405b0c call twspi_write 
+02a3 1a227e00 copy rega ,pdata 
+02a4 1fe0fe11 add pdata ,mouse_om18_dpi_yaddress ,pdata 
+02a5 20405b0c call twspi_write 
+02a6 20204227 branch mouse_sensor_enable_wp 
 
 p_mouse_dpi_led_blink_delay:
-0288 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0289 c17f8000 rtneq gpio_disable 
-028a 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-028b 247a0000 nrtn blank 
-028c 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-028d 247a0000 nrtn blank 
-028e 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-028f 247a0000 nrtn blank 
-0290 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-0291 247a0000 nrtn blank 
-0292 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-0293 203a02d7 branch p_mouse_dpi_led_blink_init ,blank 
-0294 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-0295 20600000 rtn 
+02a7 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+02a8 c17f8000 rtneq gpio_disable 
+02a9 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+02aa 247a0000 nrtn blank 
+02ab 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+02ac 247a0000 nrtn blank 
+02ad 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+02ae 247a0000 nrtn blank 
+02af 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
+02b0 247a0000 nrtn blank 
+02b1 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+02b2 203a02f6 branch p_mouse_dpi_led_blink_init ,blank 
+02b3 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+02b4 20600000 rtn 
 
 p_mouse_bb_event_timer:
-0296 20403e9b call mouse_adc_read 
-0297 20404956 call mouse_low_voltage_led_timer 
-0298 204002b2 call p_mouse_t_wheel_scan 
-0299 2040232b call g24_pair_timeout_timer 
-029a 20402556 call g24_reconn_timeout_timer 
-029b 204047cd call mouse_24g_long_sleep_param_update_timer 
-029c 204048be call mouse_device_poweron_timer 
-029d 204002d4 call p_mouse_dpi_led_blink_delay_timer 
-029e 2040407c call mouse_dpi_key_check_long_press 
-029f 204044cc call mouse_bt_discovery_check 
-02a0 204002ec call p_mouse_commbination_key_process 
-02a1 204044ff call mouse_check_discovery_timeout_timer 
-02a2 20404504 call mouse_check_direct_timeout_timer 
-02a3 20404512 call mouse_le_enable_att_list_timer 
-02a4 20400303 call p_mouse_le_battery_updata_timer 
-02a5 20404515 call mouse_le_send_smp_security_request_timer 
-02a6 2040452a call mouse_check_hid_handshake_timer 
-02a7 2040452d call mouse_bt_check_sniff_req_timeout_timer 
-02a8 20404532 call mouse_check_reconnect_delay_long_sleep 
-02a9 20404535 call mouse_current_mult_update_timer 
-02aa 20404022 call mouse_wheel_trigger_timer 
-02ab 20404547 call mouse_store_information_delay_timer 
-02ac 204002c6 call p_mouse_logo_led_on_timer 
-02ad 20400306 call p_mouse_check_no_data_timeout_timer 
-02ae 202002af branch p_mouse_g24_ota_reset_timer 
+02b5 20403e9b call mouse_adc_read 
+02b6 20404956 call mouse_low_voltage_led_timer 
+02b7 204002d1 call p_mouse_t_wheel_scan 
+02b8 2040232b call g24_pair_timeout_timer 
+02b9 20402556 call g24_reconn_timeout_timer 
+02ba 204047cd call mouse_24g_long_sleep_param_update_timer 
+02bb 204048be call mouse_device_poweron_timer 
+02bc 204002f3 call p_mouse_dpi_led_blink_delay_timer 
+02bd 2040407c call mouse_dpi_key_check_long_press 
+02be 204044cc call mouse_bt_discovery_check 
+02bf 2040030b call p_mouse_commbination_key_process 
+02c0 204044ff call mouse_check_discovery_timeout_timer 
+02c1 20404504 call mouse_check_direct_timeout_timer 
+02c2 20404512 call mouse_le_enable_att_list_timer 
+02c3 20400322 call p_mouse_le_battery_updata_timer 
+02c4 20404515 call mouse_le_send_smp_security_request_timer 
+02c5 2040452a call mouse_check_hid_handshake_timer 
+02c6 2040452d call mouse_bt_check_sniff_req_timeout_timer 
+02c7 20404532 call mouse_check_reconnect_delay_long_sleep 
+02c8 20404535 call mouse_current_mult_update_timer 
+02c9 20404022 call mouse_wheel_trigger_timer 
+02ca 20404547 call mouse_store_information_delay_timer 
+02cb 204002e5 call p_mouse_logo_led_on_timer 
+02cc 20400325 call p_mouse_check_no_data_timeout_timer 
+02cd 202002ce branch p_mouse_g24_ota_reset_timer 
 
 p_mouse_g24_ota_reset_timer:
-02af da604c1d arg mem_g24_ota_reset_timer ,regc 
-02b0 da405d8c arg soft_reset_chip ,regb 
-02b1 2020318a branch timer_single_step 
+02ce da604c1d arg mem_g24_ota_reset_timer ,regc 
+02cf da405d8c arg soft_reset_chip ,regb 
+02d0 2020318a branch timer_single_step 
 
 p_mouse_t_wheel_scan:
-02b2 204002bd call p_mouse_check_tb_wheel 
-02b3 202002b4 branch p_mouse_check_ta_wheel 
+02d1 204002dc call p_mouse_check_tb_wheel 
+02d2 202002d3 branch p_mouse_check_ta_wheel 
 
 p_mouse_check_ta_wheel:
-02b4 6fe0c91c fetch 1 ,mem_whee_ta_data_gpio 
-02b5 c17f8000 rtneq gpio_disable 
-02b6 6848c91c fetcht 1 ,mem_whee_ta_data_gpio 
-02b7 20406059 call gpio_get_bit 
-02b8 2040bfcd call mouse_wheel_t_back ,true 
-02b9 6fe0c91c fetch 1 ,mem_whee_ta_data_gpio 
-02ba 204003fb call p_mouse_gpio_config_output_low 
-02bb 6848c91c fetcht 1 ,mem_whee_ta_data_gpio 
-02bc 20203f56 branch mouse_gpio_config_input_pu 
+02d3 6fe0c91c fetch 1 ,mem_whee_ta_data_gpio 
+02d4 c17f8000 rtneq gpio_disable 
+02d5 6848c91c fetcht 1 ,mem_whee_ta_data_gpio 
+02d6 20406059 call gpio_get_bit 
+02d7 2040bfcd call mouse_wheel_t_back ,true 
+02d8 6fe0c91c fetch 1 ,mem_whee_ta_data_gpio 
+02d9 2040041a call p_mouse_gpio_config_output_low 
+02da 6848c91c fetcht 1 ,mem_whee_ta_data_gpio 
+02db 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_tb_wheel:
-02bd 6fe0c91d fetch 1 ,mem_whee_tb_data_gpio 
-02be c17f8000 rtneq gpio_disable 
-02bf 6848c91d fetcht 1 ,mem_whee_tb_data_gpio 
-02c0 20406059 call gpio_get_bit 
-02c1 2040bfc9 call mouse_wheel_t_forward ,true 
-02c2 6fe0c91d fetch 1 ,mem_whee_tb_data_gpio 
-02c3 204003fb call p_mouse_gpio_config_output_low 
-02c4 6848c91d fetcht 1 ,mem_whee_tb_data_gpio 
-02c5 20203f56 branch mouse_gpio_config_input_pu 
+02dc 6fe0c91d fetch 1 ,mem_whee_tb_data_gpio 
+02dd c17f8000 rtneq gpio_disable 
+02de 6848c91d fetcht 1 ,mem_whee_tb_data_gpio 
+02df 20406059 call gpio_get_bit 
+02e0 2040bfc9 call mouse_wheel_t_forward ,true 
+02e1 6fe0c91d fetch 1 ,mem_whee_tb_data_gpio 
+02e2 2040041a call p_mouse_gpio_config_output_low 
+02e3 6848c91d fetcht 1 ,mem_whee_tb_data_gpio 
+02e4 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_logo_led_on_timer:
-02c6 6fe0cbed fetch 1 ,mem_mouse_logo_led_gpio 
-02c7 c17f8000 rtneq gpio_disable 
-02c8 6fe14ab2 fetch 2 ,mem_mouse_no_data_timer 
-02c9 207a0000 rtn blank 
-02ca 6fe14bbe fetch 2 ,mem_mouse_no_data_timeout 
-02cb 68494ab2 fetcht 2 ,mem_mouse_no_data_timer 
-02cc 98460400 isub temp ,temp 
-02cd 6fe14bee fetch 2 ,mem_mouse_logo_led_on_time_init 
-02ce 98467e00 isub temp ,pdata 
-02cf 202102d2 branch p_mouse_logo_led_on ,positive 
+02e5 6fe0cbed fetch 1 ,mem_mouse_logo_led_gpio 
+02e6 c17f8000 rtneq gpio_disable 
+02e7 6fe14ab2 fetch 2 ,mem_mouse_no_data_timer 
+02e8 207a0000 rtn blank 
+02e9 6fe14bbe fetch 2 ,mem_mouse_no_data_timeout 
+02ea 68494ab2 fetcht 2 ,mem_mouse_no_data_timer 
+02eb 98460400 isub temp ,temp 
+02ec 6fe14bee fetch 2 ,mem_mouse_logo_led_on_time_init 
+02ed 98467e00 isub temp ,pdata 
+02ee 202102f1 branch p_mouse_logo_led_on ,positive 
 
 p_mouse_logo_led_off:
-02d0 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-02d1 20206065 branch gpio_out_inactive 
+02ef 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+02f0 20206065 branch gpio_out_inactive 
 
 p_mouse_logo_led_on:
-02d2 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-02d3 20406069 call gpio_out_active 
+02f1 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+02f2 20406069 call gpio_out_active 
 
 p_mouse_dpi_led_blink_delay_timer:
-02d4 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-02d5 da4002d7 arg p_mouse_dpi_led_blink_init ,regb 
-02d6 2020318a branch timer_single_step 
+02f3 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+02f4 da4002f6 arg p_mouse_dpi_led_blink_init ,regb 
+02f5 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-02d7 6fe0c927 fetch 1 ,mem_config_sensor_type 
-02d8 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-02d9 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-02da 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-02db 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-02dc 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-02dd 67e14930 store 2 ,mem_mouse_on_time 
-02de 67e14932 store 2 ,mem_mouse_off_time 
-02df da200000 arg 0 ,rega 
-02e0 6848c992 fetcht 1 ,mem_mouse_dpi 
-02e1 18408402 increase 2 ,temp 
-02e2 18467c03 sub temp ,3 ,null 
-02e3 204102e6 call p_mouse_dpi_led_blink_init_level_4 ,positive 
-02e4 244102ea ncall p_mouse_dpi_led_blink_count_clean ,positive 
-02e5 202048ff branch mouse_dpi_led_blink_init_end 
+02f6 6fe0c927 fetch 1 ,mem_config_sensor_type 
+02f7 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+02f8 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+02f9 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+02fa 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+02fb 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+02fc 67e14930 store 2 ,mem_mouse_on_time 
+02fd 67e14932 store 2 ,mem_mouse_off_time 
+02fe da200000 arg 0 ,rega 
+02ff 6848c992 fetcht 1 ,mem_mouse_dpi 
+0300 18408402 increase 2 ,temp 
+0301 18467c03 sub temp ,3 ,null 
+0302 20410305 call p_mouse_dpi_led_blink_init_level_4 ,positive 
+0303 24410309 ncall p_mouse_dpi_led_blink_count_clean ,positive 
+0304 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-02e6 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-02e7 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-02e8 18408401 increase 1 ,temp 
-02e9 20600000 rtn 
+0305 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0306 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+0307 18408401 increase 1 ,temp 
+0308 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-02ea 184085fd increase -3 ,temp 
-02eb 20600000 rtn 
+0309 184085fd increase -3 ,temp 
+030a 20600000 rtn 
 
 p_mouse_commbination_key_process:
-02ec 6fe0c938 fetch 1 ,mem_device_flag 
-02ed c00002f2 beq mode_24g_device ,p_mouse_24g_commbination_key_process 
-02ee 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-02ef c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
-02f0 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
-02f1 202002f5 branch p_mouse_commbination_key_start 
+030b 6fe0c938 fetch 1 ,mem_device_flag 
+030c c0000311 beq mode_24g_device ,p_mouse_24g_commbination_key_process 
+030d 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+030e c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
+030f 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
+0310 20200314 branch p_mouse_commbination_key_start 
 
 p_mouse_24g_commbination_key_process:
-02f2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-02f3 c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
-02f4 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
+0311 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0312 c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
+0313 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
 
 p_mouse_commbination_key_start:
-02f5 6048cb9d storet 1 ,mem_mouse_commbination_key 
-02f6 20404115 call mouse_check_key_gpio 
-02f7 1fe17e07 and pdata ,0x07 ,pdata 
-02f8 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
-02f9 98467c00 isub temp ,null 
-02fa 202282fc branch p_mouse_commbination_key_down ,zero 
-02fb 202044eb branch mouse_commbination_key_up 
+0314 6048cb9d storet 1 ,mem_mouse_commbination_key 
+0315 20404115 call mouse_check_key_gpio 
+0316 1fe17e07 and pdata ,0x07 ,pdata 
+0317 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
+0318 98467c00 isub temp ,null 
+0319 2022831b branch p_mouse_commbination_key_down ,zero 
+031a 202044eb branch mouse_commbination_key_up 
 
 p_mouse_commbination_key_down:
-02fc 20400301 call p_mouse_combination_ui_timer 
-02fd 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
-02fe c1008000 rtneq commbination_key_state_down 
-02ff 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
-0300 20600000 rtn 
+031b 20400320 call p_mouse_combination_ui_timer 
+031c 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
+031d c1008000 rtneq commbination_key_state_down 
+031e 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
+031f 20600000 rtn 
 
 p_mouse_combination_ui_timer:
-0301 da40020b arg p_mouse_24g_start_pair_mode ,regb 
-0302 202044f7 branch mouse_combination_ui_timer + 1 
+0320 da40020b arg p_mouse_24g_start_pair_mode ,regb 
+0321 202044f7 branch mouse_combination_ui_timer + 1 
 
 p_mouse_le_battery_updata_timer:
-0303 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0304 c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
-0305 2020451f branch mouse_le_battery_updata_timer 
+0322 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0323 c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
+0324 2020451f branch mouse_le_battery_updata_timer 
 
 p_mouse_check_no_data_timeout_timer:
-0306 6fe0c92a fetch 1 ,mem_usb_addr 
-0307 c3838000 rtnbit1 7 
-0308 da604ab2 arg mem_mouse_no_data_timer ,regc 
-0309 da40030b arg p_mouse_check_no_data_timeout ,regb 
-030a 20203191 branch timer_single_step_2b 
+0325 6fe0c92a fetch 1 ,mem_usb_addr 
+0326 c3838000 rtnbit1 7 
+0327 da604ab2 arg mem_mouse_no_data_timer ,regc 
+0328 da40032a arg p_mouse_check_no_data_timeout ,regb 
+0329 20203191 branch timer_single_step_2b 
 
 p_mouse_check_no_data_timeout:
-030b 6fe0c938 fetch 1 ,mem_device_flag 
-030c c00001a7 beq mode_24g_device ,p_mouse_24g_hibernate_set 
-030d 2020431b branch mouse_disconnect 
+032a 6fe0c938 fetch 1 ,mem_device_flag 
+032b c00001a7 beq mode_24g_device ,p_mouse_24g_hibernate_set 
+032c 2020431b branch mouse_disconnect 
 
 p_mouse_start_discovery:
-030e 6fe1478c fetch 2 ,mem_ui_state_map 
-030f 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-0310 2040c581 call mouse_stop_le_adv ,true 
-0311 6fe1478c fetch 2 ,mem_ui_state_map 
-0312 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-0313 2040c322 call mouse_cancel_reconnect ,true 
-0314 58000000 setarg 0 
-0315 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
-0316 20204554 branch mouse_start_discovery + 1 
+032d 6fe1478c fetch 2 ,mem_ui_state_map 
+032e 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+032f 2040c581 call mouse_stop_le_adv ,true 
+0330 6fe1478c fetch 2 ,mem_ui_state_map 
+0331 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+0332 2040c322 call mouse_cancel_reconnect ,true 
+0333 58000000 setarg 0 
+0334 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
+0335 20204554 branch mouse_start_discovery + 1 
 
 p_ui_timer_check:
-0317 6fe0cbe2 fetch 1 ,mem_power_on_flag 
-0318 245a7861 ncall ui_timer_init ,blank 
-0319 704be200 jam 0 ,mem_power_on_flag 
-031a 20207851 branch ui_timer_check + 1 
+0336 6fe0cbe2 fetch 1 ,mem_power_on_flag 
+0337 245a7861 ncall ui_timer_init ,blank 
+0338 704be200 jam 0 ,mem_power_on_flag 
+0339 20207851 branch ui_timer_check + 1 
 
 p_hid_rx_process:
-031b 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
-031c 1fe20c00 copy pdata ,contr 
-031d efe08006 ifetch 1 ,contr 
-031e 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
-031f 1fe1040f and pdata ,0x0f ,temp 
-0320 1ff1fe00 rshift4 pdata ,pdata 
-0321 c0048323 beq hid_type_set_idle ,p_hid_rx_process_handshake 
-0322 20204d93 branch hid_rx_process + 7 
+033a 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
+033b 1fe20c00 copy pdata ,contr 
+033c efe08006 ifetch 1 ,contr 
+033d 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
+033e 1fe1040f and pdata ,0x0f ,temp 
+033f 1ff1fe00 rshift4 pdata ,pdata 
+0340 c0048342 beq hid_type_set_idle ,p_hid_rx_process_handshake 
+0341 20204d93 branch hid_rx_process + 7 
 
 p_hid_rx_process_handshake:
-0323 da200001 arg 1 ,rega 
-0324 20404dc0 call hid_malloc_tx_buff 
-0325 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
-0326 e7e10005 istore 2 ,contw 
-0327 58000000 setarg 0 
-0328 e7e08005 istore 1 ,contw 
-0329 70095001 jam 1 ,mem_ui_data_txbuff_length 
-032a 6fe0c4e2 fetch 1 ,mem_hid_control_state 
-032b 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
-032c 67e0c4e2 store 1 ,mem_hid_control_state 
-032d 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
-032e 20207871 branch ui_ipc_send_event 
+0342 da200001 arg 1 ,rega 
+0343 20404dc0 call hid_malloc_tx_buff 
+0344 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
+0345 e7e10005 istore 2 ,contw 
+0346 58000000 setarg 0 
+0347 e7e08005 istore 1 ,contw 
+0348 70095001 jam 1 ,mem_ui_data_txbuff_length 
+0349 6fe0c4e2 fetch 1 ,mem_hid_control_state 
+034a 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
+034b 67e0c4e2 store 1 ,mem_hid_control_state 
+034c 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
+034d 20207871 branch ui_ipc_send_event 
 
 p_le_slave_match:
-032f 6fe0c3dd fetch 1 ,mem_le_md_count 
-0330 1fe0fe01 pincrease 1 
-0331 67e0c3dd store 1 ,mem_le_md_count 
-0332 c006165a beq le_md_max_count ,le_slave_cont 
-0333 2040191b call le_acknowledge 
-0334 2040196a call le_prepare_tx 
-0335 6fe082bd fetch 1 ,mem_le_tx_phy 
-0336 2040168b call le_enable_phy_by_pdata 
-0337 20401838 call le_transmit 
-0338 20201655 branch le_slave_match + 10 
+034e 6fe0c3dd fetch 1 ,mem_le_md_count 
+034f 1fe0fe01 pincrease 1 
+0350 67e0c3dd store 1 ,mem_le_md_count 
+0351 c006165a beq le_md_max_count ,le_slave_cont 
+0352 2040191b call le_acknowledge 
+0353 2040196a call le_prepare_tx 
+0354 6fe082bd fetch 1 ,mem_le_tx_phy 
+0355 2040168b call le_enable_phy_by_pdata 
+0356 20401838 call le_transmit 
+0357 20201655 branch le_slave_match + 10 
 
 p_le_parse_l2cap:
-0339 efe10006 ifetch 2 ,contr 
-033a c002033c beq le_l2cap_cid_att ,p_le_parse_att 
-033b 202019e4 branch le_parse_l2cap + 10 
+0358 efe10006 ifetch 2 ,contr 
+0359 c002035b beq le_l2cap_cid_att ,p_le_parse_att 
+035a 202019e4 branch le_parse_l2cap + 10 
 
 p_le_parse_att:
-033c efe18006 ifetch 3 ,contr 
-033d 67e1c436 store 3 ,mem_le_att_opcode 
-033e c0050341 beq attop_read_request ,p_le_parse_att_read_request 
-033f c0090350 beq attop_write_request ,p_le_parse_att_write_request 
-0340 20201cd3 branch le_parse_att + 2 
+035b efe18006 ifetch 3 ,contr 
+035c 67e1c436 store 3 ,mem_le_att_opcode 
+035d c0050360 beq attop_read_request ,p_le_parse_att_read_request 
+035e c009036f beq attop_write_request ,p_le_parse_att_write_request 
+035f 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-0341 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0342 c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
-0343 20401e8d call le_check_encrypt_state 
-0344 68494437 fetcht 2 ,mem_le_att_handle 
-0345 6fe0c3c0 fetch 1 ,mem_le_configuration 
-0346 c281834b bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+0360 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0361 c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
+0362 20401e8d call le_check_encrypt_state 
+0363 68494437 fetcht 2 ,mem_le_att_handle 
+0364 6fe0c3c0 fetch 1 ,mem_le_configuration 
+0365 c281836a bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-0347 6fe14437 fetch 2 ,mem_le_att_handle 
-0348 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
-0349 68494437 fetcht 2 ,mem_le_att_handle 
-034a 20201deb branch le_send_att_read_response 
+0366 6fe14437 fetch 2 ,mem_le_att_handle 
+0367 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
+0368 68494437 fetcht 2 ,mem_le_att_handle 
+0369 20201deb branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-034b 6fe143d1 fetch 2 ,mem_le_pairing_handle 
-034c 98467c00 isub temp ,null 
-034d 24228347 nbranch p_le_send_att_read_response ,zero 
-034e 24340347 nbranch p_le_send_att_read_response ,user 
-034f 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+036a 6fe143d1 fetch 2 ,mem_le_pairing_handle 
+036b 98467c00 isub temp ,null 
+036c 24228366 nbranch p_le_send_att_read_response ,zero 
+036d 24340366 nbranch p_le_send_att_read_response ,user 
+036e 20201e10 branch le_send_att_read_response_error_insufficient_auth 
 
 p_le_parse_att_write_request:
-0350 18c22200 copy contr ,rega 
-0351 6fe143d4 fetch 2 ,mem_le_l2cap_size 
-0352 1fe0a5fd add pdata ,-3 ,regb 
-0353 20401a25 call le_writeatt_cb 
-0354 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-0355 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
-0356 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-0357 203a1e73 branch le_send_att_write_response_check_auth ,blank 
-0358 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
-0359 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-035a 5800001a setarg 0x001a 
-035b 68494437 fetcht 2 ,mem_le_att_handle 
-035c 98467c00 isub temp ,null 
-035d 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
-035e 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
-035f 20201ec9 branch le_send_att_error_response 
+036f 18c22200 copy contr ,rega 
+0370 6fe143d4 fetch 2 ,mem_le_l2cap_size 
+0371 1fe0a5fd add pdata ,-3 ,regb 
+0372 20401a25 call le_writeatt_cb 
+0373 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+0374 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
+0375 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+0376 203a1e73 branch le_send_att_write_response_check_auth ,blank 
+0377 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
+0378 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+0379 5800001a setarg 0x001a 
+037a 68494437 fetcht 2 ,mem_le_att_handle 
+037b 98467c00 isub temp ,null 
+037c 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
+037d 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
+037e 20201ec9 branch le_send_att_error_response 
 
 p_g24_lpm_wait:
-0360 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
-0361 245a26e1 ncall g24_transmit_by_interrupt_enable ,blank 
-0362 78347c00 enable user 
-0363 20401465 call lpo_calibration 
-0364 6fe1c174 fetch 3 ,mem_clks_per_lpo 
-0365 203a7e56 branch disable_user ,blank 
-0366 6fe0c099 fetch 1 ,mem_lpm_mode 
-0367 203a7e56 branch disable_user ,blank 
-0368 202026c4 branch g24_setgpio_lpm_before 
+037f 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
+0380 245a26e1 ncall g24_transmit_by_interrupt_enable ,blank 
+0381 78347c00 enable user 
+0382 20401465 call lpo_calibration 
+0383 6fe1c174 fetch 3 ,mem_clks_per_lpo 
+0384 203a7e56 branch disable_user ,blank 
+0385 6fe0c099 fetch 1 ,mem_lpm_mode 
+0386 203a7e56 branch disable_user ,blank 
+0387 202026c4 branch g24_setgpio_lpm_before 
 
 p_mouse_motion:
-0369 78547c00 disable user 
-036a 58000000 setarg 0 
-036b 67e348d1 store 6 ,mem_mouse_x 
-036c 2040037c call p_mouse_check_sensor_data 
-036d 204003b3 call p_mouse_dpi_config 
-036e 2040047a call p_mouse_sensor_data_mul 
-036f 20403f7e call mouse_zwheel 
-0370 20403f83 call mouse_t_zwheel 
-0371 204040dc call mouse_key 
-0372 6fe0c8d0 fetch 1 ,mem_mouse_key 
-0373 1fe17e1f and_into 0x1f ,pdata 
-0374 67e0c8d0 store 1 ,mem_mouse_key 
-0375 24344728 nbranch mouse_drawing_optima_init ,user 
-0376 20400378 call p_mouse_drawing_optima 
-0377 20204544 branch mouse_no_data_timer_init 
+0388 78547c00 disable user 
+0389 58000000 setarg 0 
+038a 67e348d1 store 6 ,mem_mouse_x 
+038b 2040039b call p_mouse_check_sensor_data 
+038c 204003d2 call p_mouse_dpi_config 
+038d 204004ab call p_mouse_sensor_data_mul 
+038e 20403f7e call mouse_zwheel 
+038f 20403f83 call mouse_t_zwheel 
+0390 204040dc call mouse_key 
+0391 6fe0c8d0 fetch 1 ,mem_mouse_key 
+0392 1fe17e1f and_into 0x1f ,pdata 
+0393 67e0c8d0 store 1 ,mem_mouse_key 
+0394 24344728 nbranch mouse_drawing_optima_init ,user 
+0395 20400397 call p_mouse_drawing_optima 
+0396 20204544 branch mouse_no_data_timer_init 
 
 p_mouse_drawing_optima:
-0378 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0379 c1018000 rtneq p3212 
-037a c1068000 rtneq om18 
-037b 2020471a branch mouse_drawing_optima 
+0397 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0398 c1018000 rtneq p3212 
+0399 c1068000 rtneq om18 
+039a 2020471a branch mouse_drawing_optima 
 
 p_mouse_check_sensor_data:
-037c 6fe0c927 fetch 1 ,mem_config_sensor_type 
-037d c006837f beq om18 ,p_mouse_om18_sensor_motion 
-037e 20204240 branch mouse_check_sensor_data 
+039b 6fe0c927 fetch 1 ,mem_config_sensor_type 
+039c c006839e beq om18 ,p_mouse_om18_sensor_motion 
+039d 20204240 branch mouse_check_sensor_data 
 
 p_mouse_om18_sensor_motion:
-037f 204042c4 call mouse_clear_sensor_data 
-0380 6fe0c911 fetch 1 ,mem_sensor_motion_gpio 
-0381 c07f8385 beq gpio_disable ,p_mouse_om18_sensor_motion_skip_motion_pin 
-0382 6848c911 fetcht 1 ,mem_sensor_motion_gpio 
-0383 20406059 call gpio_get_bit 
-0384 24608000 nrtn true 
+039e 204042c4 call mouse_clear_sensor_data 
+039f 6fe0c911 fetch 1 ,mem_sensor_motion_gpio 
+03a0 c07f83a4 beq gpio_disable ,p_mouse_om18_sensor_motion_skip_motion_pin 
+03a1 6848c911 fetcht 1 ,mem_sensor_motion_gpio 
+03a2 20406059 call gpio_get_bit 
+03a3 24608000 nrtn true 
 
 p_mouse_om18_sensor_motion_skip_motion_pin:
-0385 58000000 setarg pan_reg_pid_l 
-0386 20405b0d call twspi_read 
-0387 c08c41b2 bne om18_id ,mouse_twspi_reset 
-0388 58000002 setarg pan_reg_motion_staus 
-0389 20405b0d call twspi_read 
-038a c4038000 rtnbit0 7 
-038b 204042db call mouse_read_sensor_common 
-038c 2040428c call mouse_read_3212sensor_xy_high 
-038d 67e0c8d7 store 1 ,mem_mouse_xy_h 
-038e 1ff1fe00 rshift4 pdata ,pdata 
-038f 204042d7 call mouse_data_extsign_bit3 
-0390 67e0c8d2 store 1 ,mem_mouse_x + 1 
-0391 6fe0c8d7 fetch 1 ,mem_mouse_xy_h 
-0392 1fe17e0f and pdata ,0x0f ,pdata 
-0393 204042d7 call mouse_data_extsign_bit3 
-0394 67e0c8d4 store 1 ,mem_mouse_y + 1 
-0395 6fe0c928 fetch 1 ,mem_config_sensor_angle 
-0396 c000039b beq mouse_6clk_angle ,p_mouse_motion_6clk_direction_dispose 
-0397 c00083a2 beq mouse_9clk_angle ,p_mouse_motion_9clk_direction_dispose 
-0398 c00103a7 beq mouse_12clk_angle ,p_mouse_motion_12clk_direction_dispose 
-0399 c00183a8 beq mouse_3clk_angle ,p_mouse_motion_3clk_direction_dispose 
-039a 20600000 rtn 
+03a4 58000000 setarg pan_reg_pid_l 
+03a5 20405b0d call twspi_read 
+03a6 c08c41b2 bne om18_id ,mouse_twspi_reset 
+03a7 58000002 setarg pan_reg_motion_staus 
+03a8 20405b0d call twspi_read 
+03a9 c4038000 rtnbit0 7 
+03aa 204042db call mouse_read_sensor_common 
+03ab 2040428c call mouse_read_3212sensor_xy_high 
+03ac 67e0c8d7 store 1 ,mem_mouse_xy_h 
+03ad 1ff1fe00 rshift4 pdata ,pdata 
+03ae 204042d7 call mouse_data_extsign_bit3 
+03af 67e0c8d2 store 1 ,mem_mouse_x + 1 
+03b0 6fe0c8d7 fetch 1 ,mem_mouse_xy_h 
+03b1 1fe17e0f and pdata ,0x0f ,pdata 
+03b2 204042d7 call mouse_data_extsign_bit3 
+03b3 67e0c8d4 store 1 ,mem_mouse_y + 1 
+03b4 6fe0c928 fetch 1 ,mem_config_sensor_angle 
+03b5 c00003ba beq mouse_6clk_angle ,p_mouse_motion_6clk_direction_dispose 
+03b6 c00083c1 beq mouse_9clk_angle ,p_mouse_motion_9clk_direction_dispose 
+03b7 c00103c6 beq mouse_12clk_angle ,p_mouse_motion_12clk_direction_dispose 
+03b8 c00183c7 beq mouse_3clk_angle ,p_mouse_motion_3clk_direction_dispose 
+03b9 20600000 rtn 
 
 p_mouse_motion_6clk_direction_dispose:
-039b 6fe148d1 fetch 2 ,mem_mouse_x 
-039c 1fe67e00 sub pdata ,0 ,pdata 
-039d 67e148d1 store 2 ,mem_mouse_x 
-039e 6fe148d3 fetch 2 ,mem_mouse_y 
-039f 1fe67e00 sub pdata ,0 ,pdata 
-03a0 67e148d3 store 2 ,mem_mouse_y 
-03a1 20207e54 branch enable_user 
+03ba 6fe148d1 fetch 2 ,mem_mouse_x 
+03bb 1fe67e00 sub pdata ,0 ,pdata 
+03bc 67e148d1 store 2 ,mem_mouse_x 
+03bd 6fe148d3 fetch 2 ,mem_mouse_y 
+03be 1fe67e00 sub pdata ,0 ,pdata 
+03bf 67e148d3 store 2 ,mem_mouse_y 
+03c0 20207e54 branch enable_user 
 
 p_mouse_motion_9clk_direction_dispose:
-03a2 204042bf call mouse_sensor_data_swap_places 
-03a3 6fe148d1 fetch 2 ,mem_mouse_x 
-03a4 1fe67e00 sub pdata ,0 ,pdata 
-03a5 67e148d1 store 2 ,mem_mouse_x 
-03a6 20207e54 branch enable_user 
+03c1 204042bf call mouse_sensor_data_swap_places 
+03c2 6fe148d1 fetch 2 ,mem_mouse_x 
+03c3 1fe67e00 sub pdata ,0 ,pdata 
+03c4 67e148d1 store 2 ,mem_mouse_x 
+03c5 20207e54 branch enable_user 
 
 p_mouse_motion_12clk_direction_dispose:
-03a7 20207e54 branch enable_user 
+03c6 20207e54 branch enable_user 
 
 p_mouse_motion_3clk_direction_dispose:
-03a8 204042bf call mouse_sensor_data_swap_places 
-03a9 6fe148d3 fetch 2 ,mem_mouse_y 
-03aa 1fe67e00 sub pdata ,0 ,pdata 
-03ab 67e148d3 store 2 ,mem_mouse_y 
-03ac 20207e54 branch enable_user 
+03c7 204042bf call mouse_sensor_data_swap_places 
+03c8 6fe148d3 fetch 2 ,mem_mouse_y 
+03c9 1fe67e00 sub pdata ,0 ,pdata 
+03ca 67e148d3 store 2 ,mem_mouse_y 
+03cb 20207e54 branch enable_user 
 
 p_mouse_sensor_poweron:
-03ad 20403f65 call mouse_sensor_spi_init 
-03ae 6fe0c927 fetch 1 ,mem_config_sensor_type 
-03af c00583b4 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
-03b0 20404232 call mouse_sensor_reset 
-03b1 da604aa3 arg mem_sensor_poweron_init ,regc 
-03b2 2040422b call mouse_sensor_wr_seq 
+03cc 20403f65 call mouse_sensor_spi_init 
+03cd 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03ce c00583d3 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
+03cf 20404232 call mouse_sensor_reset 
+03d0 da604aa3 arg mem_sensor_poweron_init ,regc 
+03d1 2040422b call mouse_sensor_wr_seq 
 
 p_mouse_dpi_config:
-03b3 20200261 branch p_mouse_seting_sensor_type 
+03d2 20200261 branch p_mouse_seting_sensor_type 
 
 p_mouse_ka8g2_sensor_init:
-03b4 204003bb call p_mouse_ka8g2_sensor_reset 
-03b5 da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
-03b6 2040422b call mouse_sensor_wr_seq 
-03b7 202003b3 branch p_mouse_dpi_config 
+03d3 204003da call p_mouse_ka8g2_sensor_reset 
+03d4 da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
+03d5 2040422b call mouse_sensor_wr_seq 
+03d6 202003d2 branch p_mouse_dpi_config 
 
 p_mouse_sensor_reset:
-03b8 6fe0c927 fetch 1 ,mem_config_sensor_type 
-03b9 c00583bb beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
-03ba 20204232 branch mouse_sensor_reset 
+03d7 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03d8 c00583da beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
+03d9 20204232 branch mouse_sensor_reset 
 
 p_mouse_ka8g2_sensor_reset:
-03bb 58009706 setarg 0x9706 
-03bc 20405b0c call twspi_write 
-03bd 20002ee0 nop 12000 
-03be 20600000 rtn 
+03da 58009706 setarg 0x9706 
+03db 20405b0c call twspi_write 
+03dc 20002ee0 nop 12000 
+03dd 20600000 rtn 
 
 p_mouse_sensor_powerdown:
-03bf 204041a7 call mouse_init_sunt 
-03c0 20403f65 call mouse_sensor_spi_init 
-03c1 6fe0c927 fetch 1 ,mem_config_sensor_type 
-03c2 c00583c5 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
-03c3 58000806 setarg 0x0806 
-03c4 20205b0c branch twspi_write 
+03de 204041a7 call mouse_init_sunt 
+03df 20403f65 call mouse_sensor_spi_init 
+03e0 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03e1 c00583e4 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
+03e2 58000806 setarg 0x0806 
+03e3 20205b0c branch twspi_write 
 
 p_mouse_ka8g2_sensor_powerdown:
-03c5 58001f06 setarg 0x1f06 
-03c6 20205b0c branch twspi_write 
+03e4 58001f06 setarg 0x1f06 
+03e5 20205b0c branch twspi_write 
 
 p_mouse_check_key_gpio:
-03c7 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-03c8 245a4121 ncall mouse_check_key_gpio_once ,blank 
-03c9 da200000 arg 0 ,rega 
-03ca 204003d0 call p_mouse_check_lkey_gpio 
-03cb 204003d5 call p_mouse_check_rkey_gpio 
-03cc 204003da call p_mouse_check_mkey_gpio 
-03cd 204003df call p_mouse_check_bkkey_gpio 
-03ce 204003ec call p_mouse_check_fwkey_gpio 
-03cf 2020411e branch mouse_check_key_gpio_next 
+03e6 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+03e7 245a4121 ncall mouse_check_key_gpio_once ,blank 
+03e8 da200000 arg 0 ,rega 
+03e9 204003ef call p_mouse_check_lkey_gpio 
+03ea 204003f4 call p_mouse_check_rkey_gpio 
+03eb 204003f9 call p_mouse_check_mkey_gpio 
+03ec 204003fe call p_mouse_check_bkkey_gpio 
+03ed 2040040b call p_mouse_check_fwkey_gpio 
+03ee 2020411e branch mouse_check_key_gpio_next 
 
 p_mouse_check_lkey_gpio:
-03d0 6fe0c918 fetch 1 ,mem_lbutton_gpio 
-03d1 204003f9 call p_mouse_gpio_config_output_high 
-03d2 20404124 call mouse_check_lkey_gpio 
-03d3 6848c918 fetcht 1 ,mem_lbutton_gpio 
-03d4 20203f56 branch mouse_gpio_config_input_pu 
+03ef 6fe0c918 fetch 1 ,mem_lbutton_gpio 
+03f0 20400418 call p_mouse_gpio_config_output_high 
+03f1 20404124 call mouse_check_lkey_gpio 
+03f2 6848c918 fetcht 1 ,mem_lbutton_gpio 
+03f3 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
-03d5 6fe0c919 fetch 1 ,mem_rbutton_gpio 
-03d6 204003f9 call p_mouse_gpio_config_output_high 
-03d7 2040412a call mouse_check_rkey_gpio 
-03d8 6848c919 fetcht 1 ,mem_rbutton_gpio 
-03d9 20203f56 branch mouse_gpio_config_input_pu 
+03f4 6fe0c919 fetch 1 ,mem_rbutton_gpio 
+03f5 20400418 call p_mouse_gpio_config_output_high 
+03f6 2040412a call mouse_check_rkey_gpio 
+03f7 6848c919 fetcht 1 ,mem_rbutton_gpio 
+03f8 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
-03da 6fe0c91a fetch 1 ,mem_mbutton_gpio 
-03db 204003f9 call p_mouse_gpio_config_output_high 
-03dc 20404130 call mouse_check_mkey_gpio 
-03dd 6848c91a fetcht 1 ,mem_mbutton_gpio 
-03de 20203f56 branch mouse_gpio_config_input_pu 
+03f9 6fe0c91a fetch 1 ,mem_mbutton_gpio 
+03fa 20400418 call p_mouse_gpio_config_output_high 
+03fb 20404130 call mouse_check_mkey_gpio 
+03fc 6848c91a fetcht 1 ,mem_mbutton_gpio 
+03fd 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_bkkey_gpio:
-03df 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-03e0 c17f8000 rtneq gpio_disable 
-03e1 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
-03e2 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
-03e3 1fe22600 copy pdata ,regc 
-03e4 6848c90d fetcht 1 ,mem_bk_button_gpio 
-03e5 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-03e6 c07f83e8 beq gpio_disable ,p_mouse_3io6key_bk_check 
-03e7 2020413e branch mouse_check_bkkey_gpio_next 
+03fe 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+03ff c17f8000 rtneq gpio_disable 
+0400 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
+0401 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
+0402 1fe22600 copy pdata ,regc 
+0403 6848c90d fetcht 1 ,mem_bk_button_gpio 
+0404 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+0405 c07f8407 beq gpio_disable ,p_mouse_3io6key_bk_check 
+0406 2020413e branch mouse_check_bkkey_gpio_next 
 
 p_mouse_3io6key_bk_check:
-03e8 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-03e9 204003fb call p_mouse_gpio_config_output_low 
-03ea 6848c90d fetcht 1 ,mem_bk_button_gpio 
-03eb 2020414b branch mouse_3io6key_bk_check 
+0407 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+0408 2040041a call p_mouse_gpio_config_output_low 
+0409 6848c90d fetcht 1 ,mem_bk_button_gpio 
+040a 2020414b branch mouse_3io6key_bk_check 
 
 p_mouse_check_fwkey_gpio:
-03ec 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-03ed c17f8000 rtneq gpio_disable 
-03ee 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
-03ef 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
-03f0 1fe22600 copy pdata ,regc 
-03f1 6848c90e fetcht 1 ,mem_fw_button_gpio 
-03f2 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-03f3 c07f83f5 beq gpio_disable ,p_mouse_3io6key_fw_check 
-03f4 20204157 branch mouse_check_fwkey_gpio_next 
+040b 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+040c c17f8000 rtneq gpio_disable 
+040d 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
+040e 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
+040f 1fe22600 copy pdata ,regc 
+0410 6848c90e fetcht 1 ,mem_fw_button_gpio 
+0411 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+0412 c07f8414 beq gpio_disable ,p_mouse_3io6key_fw_check 
+0413 20204157 branch mouse_check_fwkey_gpio_next 
 
 p_mouse_3io6key_fw_check:
-03f5 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-03f6 204003fb call p_mouse_gpio_config_output_low 
-03f7 6848c90e fetcht 1 ,mem_fw_button_gpio 
-03f8 20204164 branch mouse_3io6key_fw_check 
+0414 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+0415 2040041a call p_mouse_gpio_config_output_low 
+0416 6848c90e fetcht 1 ,mem_fw_button_gpio 
+0417 20204164 branch mouse_3io6key_fw_check 
 
 p_mouse_gpio_config_output_high:
-03f9 d840003f arg gpcfg_output_high ,temp 
-03fa 20206093 branch gpio_config_function_int 
+0418 d840003f arg gpcfg_output_high ,temp 
+0419 20206093 branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-03fb d840003e arg gpcfg_output_low ,temp 
-03fc 20206093 branch gpio_config_function_int 
+041a d840003e arg gpcfg_output_low ,temp 
+041b 20206093 branch gpio_config_function_int 
 
 p_mouse_idle:
-03fd 20404990 call mouse_low_voltage_led_no_enter_lpm 
-03fe 20407936 call ui_check_paring_button 
-03ff 2040040e call p_mouse_dpi_check 
-0400 20400422 call p_mouse_dpi_another_gpio_check 
-0401 20404655 call mouse_select_device_check 
-0402 204046a0 call mouse_check_select_device_by_switch 
-0403 204046d6 call mouse_bt_button_check 
-0404 20403dbd call mouse_usb_isr 
-0405 20400407 call p_mouse_wheel_check 
-0406 20203dd4 branch mouse_usb_mode 
+041c 20404990 call mouse_low_voltage_led_no_enter_lpm 
+041d 20407936 call ui_check_paring_button 
+041e 2040042d call p_mouse_dpi_check 
+041f 20400441 call p_mouse_dpi_another_gpio_check 
+0420 20404655 call mouse_select_device_check 
+0421 204046a0 call mouse_check_select_device_by_switch 
+0422 204046d6 call mouse_bt_button_check 
+0423 20403dbd call mouse_usb_isr 
+0424 20400426 call p_mouse_wheel_check 
+0425 20203dd4 branch mouse_usb_mode 
 
 p_mouse_wheel_check:
-0407 20403fd1 call mouse_wheel_scan 
-0408 6fe0c8de fetch 1 ,mem_mwheel_b_new_pinlevel 
-0409 6848c8dd fetcht 1 ,mem_mwheel_b_old_pinlevel 
-040a 67e0c8dd store 1 ,mem_mwheel_b_old_pinlevel 
-040b 98467c00 isub temp ,null 
-040c 2422b1e1 nbranch app_lpm_wake_auto_lock ,zero 
-040d 20600000 rtn 
+0426 20403fd1 call mouse_wheel_scan 
+0427 6fe0c8de fetch 1 ,mem_mwheel_b_new_pinlevel 
+0428 6848c8dd fetcht 1 ,mem_mwheel_b_old_pinlevel 
+0429 67e0c8dd store 1 ,mem_mwheel_b_old_pinlevel 
+042a 98467c00 isub temp ,null 
+042b 2422b1e1 nbranch app_lpm_wake_auto_lock ,zero 
+042c 20600000 rtn 
 
 p_mouse_dpi_check:
-040e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-040f c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
-0410 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-0411 c17f8000 rtneq gpio_disable 
-0412 da200000 arg 0 ,rega 
-0413 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
-0414 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-0415 20400417 call p_mouse_dpi_key_check 
-0416 2020402f branch mouse_dpi_check_next 
+042d 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+042e c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
+042f 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+0430 c17f8000 rtneq gpio_disable 
+0431 da200000 arg 0 ,rega 
+0432 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
+0433 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+0434 20400436 call p_mouse_dpi_key_check 
+0435 2020402f branch mouse_dpi_check_next 
 
 p_mouse_dpi_key_check:
-0417 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0418 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-0419 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
-041a 1fe22600 copy pdata ,regc 
-041b 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-041c c07f841e beq gpio_disable ,p_mouse_3io6key_dpi_check 
-041d 2020403f branch mouse_dpi_key_check_next 
+0436 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0437 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+0438 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
+0439 1fe22600 copy pdata ,regc 
+043a 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+043b c07f843d beq gpio_disable ,p_mouse_3io6key_dpi_check 
+043c 2020403f branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-041e 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-041f 204003fb call p_mouse_gpio_config_output_low 
-0420 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-0421 20204195 branch mouse_3io6key_check 
+043d 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+043e 2040041a call p_mouse_gpio_config_output_low 
+043f 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+0440 20204195 branch mouse_3io6key_check 
 
 p_mouse_dpi_another_gpio_check:
-0422 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0423 c41e8000 rtnbit0 mouse_enable_double_dpi_key 
-0424 6fe0cc32 fetch 1 ,mem_dpi_another_button_gpio 
-0425 204003f9 call p_mouse_gpio_config_output_high 
-0426 20400429 call p_mouse_dpi_another_check 
-0427 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
-0428 20203f56 branch mouse_gpio_config_input_pu 
+0441 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0442 c41e8000 rtnbit0 mouse_enable_double_dpi_key 
+0443 6fe0cc32 fetch 1 ,mem_dpi_another_button_gpio 
+0444 20400418 call p_mouse_gpio_config_output_high 
+0445 20400448 call p_mouse_dpi_another_check 
+0446 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
+0447 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_dpi_another_check:
-0429 704c3600 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
-042a 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
-042b 6fe0cc33 fetch 1 ,mem_dpi_another_press_status 
-042c 20400438 call p_mouse_check_key_connect_gnd_new 
-042d 67e0cc33 store 1 ,mem_dpi_another_press_status 
-042e 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
-042f 203a0434 branch p_mouse_dpi_another_up ,blank 
+0448 704c3600 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+0449 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
+044a 6fe0cc33 fetch 1 ,mem_dpi_another_press_status 
+044b 20400457 call p_mouse_check_key_connect_gnd_new 
+044c 67e0cc33 store 1 ,mem_dpi_another_press_status 
+044d 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
+044e 203a0453 branch p_mouse_dpi_another_up ,blank 
 
 p_mouse_dpi_another_down:
-0430 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
-0431 c1008000 rtneq dpi_button_state_down 
-0432 704c3401 jam dpi_button_state_down ,mem_dpi_another_button_state 
-0433 20204069 branch mouse_dpi_process 
+044f 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
+0450 c1008000 rtneq dpi_button_state_down 
+0451 704c3401 jam dpi_button_state_down ,mem_dpi_another_button_state 
+0452 20204069 branch mouse_dpi_process 
 
 p_mouse_dpi_another_up:
-0434 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
-0435 c1000000 rtneq dpi_button_state_up 
-0436 704c3400 jam dpi_button_state_up ,mem_dpi_another_button_state 
-0437 20600000 rtn 
+0453 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
+0454 c1000000 rtneq dpi_button_state_up 
+0455 704c3400 jam dpi_button_state_up ,mem_dpi_another_button_state 
+0456 20600000 rtn 
 
 p_mouse_check_key_connect_gnd_new:
-0438 1fe3fe00 lshift pdata ,pdata 
-0439 1fe22400 copy pdata ,regb 
-043a 20406059 call gpio_get_bit 
-043b 7920a400 setflag true ,0 ,regb 
-043c 1a417e07 and regb ,0x07 ,pdata 
-043d 6848cc36 fetcht 1 ,mem_mouse_key_temp_patch 
-043e 18420e00 copy temp ,queue 
-043f c0038442 beq 0x07 ,p_mouse_key_press 
-0440 c0000444 beq 0x00 ,p_mouse_key_release 
-0441 20600000 rtn 
+0457 1fe3fe00 lshift pdata ,pdata 
+0458 1fe22400 copy pdata ,regb 
+0459 20406059 call gpio_get_bit 
+045a 7920a400 setflag true ,0 ,regb 
+045b 1a417e07 and regb ,0x07 ,pdata 
+045c 6848cc36 fetcht 1 ,mem_mouse_key_temp_patch 
+045d 18420e00 copy temp ,queue 
+045e c0038461 beq 0x07 ,p_mouse_key_press 
+045f c0000463 beq 0x00 ,p_mouse_key_release 
+0460 20600000 rtn 
 
 p_mouse_key_press:
-0442 704c3501 jam 1 ,mem_dpi_another_button_down_enable 
-0443 20600000 rtn 
+0461 704c3501 jam 1 ,mem_dpi_another_button_down_enable 
+0462 20600000 rtn 
 
 p_mouse_key_release:
-0444 704c3500 jam 0 ,mem_dpi_another_button_down_enable 
-0445 20600000 rtn 
+0463 704c3500 jam 0 ,mem_dpi_another_button_down_enable 
+0464 20600000 rtn 
 
 p_mouse_dpi_process:
-0446 20404072 call mouse_dpi_ghost_check 
-0447 20740000 rtn user 
-0448 6fe0c992 fetch 1 ,mem_mouse_dpi 
-0449 1fe20400 copy pdata ,temp 
-044a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-044b c29e8452 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
-044c 18427e00 copy temp ,pdata 
-044d 1fe0fe01 increase 1 ,pdata 
-044e 1fe17e03 and pdata ,0x03 ,pdata 
+0465 20404072 call mouse_dpi_ghost_check 
+0466 20740000 rtn user 
+0467 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0468 c0070473 beq s201x ,p_mouse_201x_3level_dpi_process 
+0469 6fe0c992 fetch 1 ,mem_mouse_dpi 
+046a 1fe20400 copy pdata ,temp 
+046b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+046c c29e847c bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
+046d 18427e00 copy temp ,pdata 
+046e 1fe0fe01 increase 1 ,pdata 
+046f 1fe17e03 and pdata ,0x03 ,pdata 
 
 p_mouse_dpi_store:
-044f 67e0c992 store 1 ,mem_mouse_dpi 
-0450 20404095 call mouse_seting_dpi 
-0451 202045ee branch mouse_store_device_info_delay 
+0470 67e0c992 store 1 ,mem_mouse_dpi 
+0471 20404095 call mouse_seting_dpi 
+0472 202045ee branch mouse_store_device_info_delay 
+
+p_mouse_201x_3level_dpi_process:
+0473 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0474 1fe0fe01 increase 1 ,pdata 
+0475 1fe67c03 sub pdata ,3 ,null 
+0476 2042847a call p_mouse_dpi_recount ,zero 
+0477 67e0c992 store 1 ,mem_mouse_dpi 
+0478 20404095 call mouse_seting_dpi 
+0479 202045ee branch mouse_store_device_info_delay 
+
+p_mouse_dpi_recount:
+047a 58000000 setarg 0 
+047b 20600000 rtn 
 
 p_mouse_double_dpi_check:
-0452 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
-0453 243a045d nbranch p_mouse_another_dpi_button_down ,blank 
+047c 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
+047d 243a0487 nbranch p_mouse_another_dpi_button_down ,blank 
 
 p_mouse_dpi_increase:
-0454 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0455 c28e045a bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
-0456 18427e00 copy temp ,pdata 
-0457 c1010000 rtneq mouse_dpi_level3 
+047e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+047f c28e0484 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
+0480 18427e00 copy temp ,pdata 
+0481 c1010000 rtneq mouse_dpi_level3 
 
 p_mouse_dpi_increase_level:
-0458 1fe0fe01 increase 1 ,pdata 
-0459 2020044f branch p_mouse_dpi_store 
+0482 1fe0fe01 increase 1 ,pdata 
+0483 20200470 branch p_mouse_dpi_store 
 
 p_mouse_dpi_increase_level_4:
-045a 18427e00 copy temp ,pdata 
-045b c1018000 rtneq mouse_dpi_level4 
-045c 20200458 branch p_mouse_dpi_increase_level 
+0484 18427e00 copy temp ,pdata 
+0485 c1018000 rtneq mouse_dpi_level4 
+0486 20200482 branch p_mouse_dpi_increase_level 
 
 p_mouse_another_dpi_button_down:
 
 p_mouse_dpi_decrease:
-045d 18427e00 copy temp ,pdata 
-045e c1000000 rtneq mouse_dpi_level1 
-045f 1fe0ffff increase -1 ,pdata 
-0460 2020044f branch p_mouse_dpi_store 
+0487 18427e00 copy temp ,pdata 
+0488 c1000000 rtneq mouse_dpi_level1 
+0489 1fe0ffff increase -1 ,pdata 
+048a 20200470 branch p_mouse_dpi_store 
 
 p_mouse_init_sunt:
-0461 20403f65 call mouse_sensor_spi_init 
-0462 20758000 rtn wake 
+048b 20403f65 call mouse_sensor_spi_init 
+048c 20758000 rtn wake 
 
 p_mouse_init_sensor_wakeup:
-0463 20404236 call mouse_sensor_poweron 
+048d 20404236 call mouse_sensor_poweron 
 
 p_mouse_init_sensor:
-0464 204041b5 call mouse_read_sensor_id 
-0465 c018046c beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-0466 c018c217 beq p3065_id1 ,mouse_init_p3065 
-0467 c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
-0468 c00c0471 beq om18_id ,p_mouse_om18_init_param 
-0469 204041b2 call mouse_twspi_reset 
-046a 20001af4 nop 6900 
-046b 20200464 branch p_mouse_init_sensor 
+048e 204041b5 call mouse_read_sensor_id 
+048f c0180496 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+0490 c018c217 beq p3065_id1 ,mouse_init_p3065 
+0491 c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
+0492 c00c049c beq om18_id ,p_mouse_om18_init_param 
+0493 204041b2 call mouse_twspi_reset 
+0494 20001af4 nop 6900 
+0495 2020048e branch p_mouse_init_sensor 
 
 p_mouse_init_p32xx_id2_judge:
-046c 6fe0c9c2 fetch 1 ,mem_sensor_id2 
-046d c029046f beq om16_id2 ,p_mouse_om16_init_param 
-046e 202041bd branch mouse_init_p32xx_id2_judge + 1 
+0496 6fe0c9c2 fetch 1 ,mem_sensor_id2 
+0497 c06884a5 beq p3205_tj3t_id2 ,p_mouse_3205_3t_init_param 
+0498 c029049a beq om16_id2 ,p_mouse_om16_init_param 
+0499 202041bd branch mouse_init_p32xx_id2_judge + 1 
 
 p_mouse_om16_init_param:
-046f 7049270c jam om16 ,mem_config_sensor_type 
-0470 202046ee branch mouse_dpi_4level_enable 
+049a 7049270c jam om16 ,mem_config_sensor_type 
+049b 202046ee branch mouse_dpi_4level_enable 
 
 p_mouse_om18_init_param:
-0471 7049270d jam om18 ,mem_config_sensor_type 
-0472 58008006 setarg 0x8006 
-0473 20405b0c call twspi_write 
-0474 20400478 call p_delay_15ms 
-0475 da604c3d arg mem_sensor_om18_init ,regc 
-0476 2040422b call mouse_sensor_wr_seq 
-0477 20200261 branch p_mouse_seting_sensor_type 
+049c 7049270d jam om18 ,mem_config_sensor_type 
+049d 58008006 setarg 0x8006 
+049e 20405b0c call twspi_write 
+049f 204004a3 call p_delay_15ms 
+04a0 da604c3d arg mem_sensor_om18_init ,regc 
+04a1 2040422b call mouse_sensor_wr_seq 
+04a2 20200261 branch p_mouse_seting_sensor_type 
 
 p_delay_15ms:
-0478 df20000f arg 15 ,loopcnt 
-0479 20207d13 branch delay_ms_wait 
+04a3 df20000f arg 15 ,loopcnt 
+04a4 20207d13 branch delay_ms_wait 
+
+p_mouse_3205_3t_init_param:
+04a5 58000049 setarg 0x49 
+04a6 20405b0d call twspi_read 
+04a7 c05084a9 beq 0xa1 ,p_mouse_s201x_init_param 
+04a8 202041da branch mouse_3205_3t_init_param 
+
+p_mouse_s201x_init_param:
+04a9 7049270e jam s201x ,mem_config_sensor_type 
+04aa 20600000 rtn 
 
 p_mouse_sensor_data_mul:
-047a 6fe0c927 fetch 1 ,mem_config_sensor_type 
-047b c1860000 rtnne om16 
-047c 6fe0c992 fetch 1 ,mem_mouse_dpi 
-047d c000847f beq mouse_dpi_level2 ,p_mouse_sensor_data_set 
-047e 20600000 rtn 
+04ab 6fe0c927 fetch 1 ,mem_config_sensor_type 
+04ac c1860000 rtnne om16 
+04ad 6fe0c992 fetch 1 ,mem_mouse_dpi 
+04ae c00084b0 beq mouse_dpi_level2 ,p_mouse_sensor_data_set 
+04af 20600000 rtn 
 
 p_mouse_sensor_data_set:
-047f 58000204 setarg 0x0204 
-0480 67e14c37 store 2 ,mem_mouse_xy_date_times 
-0481 20400492 call p_mouse_sensor_data_set_x 
+04b0 58000204 setarg 0x0204 
+04b1 67e14c37 store 2 ,mem_mouse_xy_date_times 
+04b2 204004c3 call p_mouse_sensor_data_set_x 
 
 p_mouse_sensor_data_set_y:
-0482 6fe0c8d3 fetch 1 ,mem_mouse_y 
-0483 c2838487 bbit1 7 ,p_mouse_sensor_data_set_y_next 
-0484 2040049a call p_mouse_sensor_data_set_next 
-0485 67e0c8d3 store 1 ,mem_mouse_y 
-0486 20600000 rtn 
+04b3 6fe0c8d3 fetch 1 ,mem_mouse_y 
+04b4 c28384b8 bbit1 7 ,p_mouse_sensor_data_set_y_next 
+04b5 204004cb call p_mouse_sensor_data_set_next 
+04b6 67e0c8d3 store 1 ,mem_mouse_y 
+04b7 20600000 rtn 
 
 p_mouse_sensor_data_set_y_next:
-0487 2040048a call p_mouse_sensor_data_set_reverse 
-0488 67e0c8d3 store 1 ,mem_mouse_y 
-0489 20600000 rtn 
+04b8 204004bb call p_mouse_sensor_data_set_reverse 
+04b9 67e0c8d3 store 1 ,mem_mouse_y 
+04ba 20600000 rtn 
 
 p_mouse_sensor_data_set_reverse:
-048a 1fe20400 copy pdata ,temp 
-048b dfe00100 arg 0x100 ,pdata 
-048c 98467e00 isub temp ,pdata 
-048d 2040049a call p_mouse_sensor_data_set_next 
-048e 1fe20400 copy pdata ,temp 
-048f dfe00100 arg 0x100 ,pdata 
-0490 98467e00 isub temp ,pdata 
-0491 20600000 rtn 
+04bb 1fe20400 copy pdata ,temp 
+04bc dfe00100 arg 0x100 ,pdata 
+04bd 98467e00 isub temp ,pdata 
+04be 204004cb call p_mouse_sensor_data_set_next 
+04bf 1fe20400 copy pdata ,temp 
+04c0 dfe00100 arg 0x100 ,pdata 
+04c1 98467e00 isub temp ,pdata 
+04c2 20600000 rtn 
 
 p_mouse_sensor_data_set_x:
-0492 6fe0c8d1 fetch 1 ,mem_mouse_x 
-0493 c2838497 bbit1 7 ,p_mouse_sensor_data_set_x_next 
-0494 2040049a call p_mouse_sensor_data_set_next 
-0495 67e0c8d1 store 1 ,mem_mouse_x 
-0496 20600000 rtn 
+04c3 6fe0c8d1 fetch 1 ,mem_mouse_x 
+04c4 c28384c8 bbit1 7 ,p_mouse_sensor_data_set_x_next 
+04c5 204004cb call p_mouse_sensor_data_set_next 
+04c6 67e0c8d1 store 1 ,mem_mouse_x 
+04c7 20600000 rtn 
 
 p_mouse_sensor_data_set_x_next:
-0497 2040048a call p_mouse_sensor_data_set_reverse 
-0498 67e0c8d1 store 1 ,mem_mouse_x 
-0499 20600000 rtn 
+04c8 204004bb call p_mouse_sensor_data_set_reverse 
+04c9 67e0c8d1 store 1 ,mem_mouse_x 
+04ca 20600000 rtn 
 
 p_mouse_sensor_data_set_next:
-049a 6848cc37 fetcht 1 ,mem_mouse_xy_date_times 
-049b 984ffe00 imul32 temp ,pdata 
-049c 6848cc38 fetcht 1 ,mem_mouse_xy_date_times + 1 
-049d 9846fc00 idiv temp 
-049e 20407def call wait_div_end 
-049f 1807fe00 quotient pdata 
-04a0 1fe67c7f sub pdata ,0x7f ,null 
-04a1 242104a3 nbranch p_mouse_sensor_data_set_next2 ,positive 
-04a2 20600000 rtn 
+04cb 6848cc37 fetcht 1 ,mem_mouse_xy_date_times 
+04cc 984ffe00 imul32 temp ,pdata 
+04cd 6848cc38 fetcht 1 ,mem_mouse_xy_date_times + 1 
+04ce 9846fc00 idiv temp 
+04cf 20407def call wait_div_end 
+04d0 1807fe00 quotient pdata 
+04d1 1fe67c7f sub pdata ,0x7f ,null 
+04d2 242104d4 nbranch p_mouse_sensor_data_set_next2 ,positive 
+04d3 20600000 rtn 
 
 p_mouse_sensor_data_set_next2:
-04a3 5800007f setarg 0x7f 
-04a4 20600000 rtn 
+04d4 5800007f setarg 0x7f 
+04d5 20600000 rtn 
 
 p_g24_parse_rx_ota_sm:
-04a5 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
-04a6 207a0000 rtn blank 
-04a7 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-04a8 c00104b1 beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
-04a9 c00284b3 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
-04aa c00404b5 beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
-04ab c00584b7 beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
-04ac c00704b9 beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
-04ad c00884af beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
-04ae 20600000 rtn 
+04d6 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
+04d7 207a0000 rtn blank 
+04d8 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+04d9 c00104e2 beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
+04da c00284e4 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
+04db c00404e6 beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
+04dc c00584e8 beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
+04dd c00704ea beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
+04de c00884e0 beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
+04df 20600000 rtn 
 
 p_g24_ota_sm_tx_reset:
-04af 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
-04b0 20600000 rtn 
+04e0 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
+04e1 20600000 rtn 
 
 p_g24_ota_sm_tx_version:
-04b1 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
-04b2 20600000 rtn 
+04e2 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
+04e3 20600000 rtn 
 
 p_g24_ota_sm_tx_info:
-04b3 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
-04b4 20600000 rtn 
+04e4 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
+04e5 20600000 rtn 
 
 p_g24_ota_sm_tx_config:
-04b5 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
-04b6 20600000 rtn 
+04e6 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
+04e7 20600000 rtn 
 
 p_g24_ota_sm_tx_config_end:
-04b7 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-04b8 20600000 rtn 
+04e8 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+04e9 20600000 rtn 
 
 p_g24_ota_sm_tx_data:
-04b9 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-04ba 20600000 rtn 
+04ea 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+04eb 20600000 rtn 
 
 p_g24_mouse_parse_rx:
-04bb 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
-04bc 203a04a5 branch p_g24_parse_rx_ota_sm ,blank 
-04bd 1fe22400 copy pdata ,regb 
-04be 70482a00 jam 0 ,mem_24g_rxdata_length 
-04bf 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-04c0 c05784cd beq datatype_ota ,p_g24_rx_ota 
-04c1 20600000 rtn 
+04ec 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
+04ed 203a04d6 branch p_g24_parse_rx_ota_sm ,blank 
+04ee 1fe22400 copy pdata ,regb 
+04ef 70482a00 jam 0 ,mem_24g_rxdata_length 
+04f0 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+04f1 c05784fe beq datatype_ota ,p_g24_rx_ota 
+04f2 20600000 rtn 
 
 p_g24_ota_mode_enable:
-04c2 704bf601 jam 1 ,mem_g24_ota_mode 
-04c3 70409900 jam 0 ,mem_lpm_mode 
-04c4 202005ad branch p_ota_init 
+04f3 704bf601 jam 1 ,mem_g24_ota_mode 
+04f4 70409900 jam 0 ,mem_lpm_mode 
+04f5 202005de branch p_ota_init 
 
 p_g24_ota_dispatch:
-04c5 20600000 rtn 
+04f6 20600000 rtn 
 
 p_g24_ota_transmit:
-04c6 7047c6af jam datatype_ota ,mem_24g_txbuf 
-04c7 20402291 call g24_transmit_prep 
-04c8 2040265b call g24_transmit_receive_ack 
-04c9 246c0000 nrtn sync 
-04ca 24778000 nrtn user3 
-04cb 20402597 call g24_txbuf_clear 
-04cc 20202672 branch g24_ackpayload_parse 
+04f7 7047c6af jam datatype_ota ,mem_24g_txbuf 
+04f8 20402291 call g24_transmit_prep 
+04f9 2040265b call g24_transmit_receive_ack 
+04fa 246c0000 nrtn sync 
+04fb 24778000 nrtn user3 
+04fc 20402597 call g24_txbuf_clear 
+04fd 20202672 branch g24_ackpayload_parse 
 
 p_g24_rx_ota:
-04cd 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-04ce c1d78000 rtnne datatype_ota 
-04cf efe08006 ifetch 1 ,contr 
-04d0 e8408006 ifetcht 1 ,contr 
-04d1 18467c02 sub temp ,g24_ota_target_mouse ,null 
-04d2 2422937a nbranch assert ,zero 
-04d3 c00084dc beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
-04d4 c00104df beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
-04d5 c00184e1 beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
-04d6 c00204e3 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
-04d7 c002853b beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
-04d8 c0030561 beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
-04d9 c07f84db beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
-04da 2020137a branch assert 
+04fe 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+04ff c1d78000 rtnne datatype_ota 
+0500 efe08006 ifetch 1 ,contr 
+0501 e8408006 ifetcht 1 ,contr 
+0502 18467c02 sub temp ,g24_ota_target_mouse ,null 
+0503 2422937a nbranch assert ,zero 
+0504 c000850d beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
+0505 c0010510 beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
+0506 c0018512 beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
+0507 c0020514 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
+0508 c002856c beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
+0509 c0030592 beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
+050a c07f850c beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
+050b 2020137a branch assert 
 
 p_g24_mouse_ota_process_ping:
-04db 20600000 rtn 
+050c 20600000 rtn 
 
 p_g24_mouse_ota_process_version:
-04dc 204004c2 call p_g24_ota_mode_enable 
-04dd 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
-04de 20600000 rtn 
+050d 204004f3 call p_g24_ota_mode_enable 
+050e 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
+050f 20600000 rtn 
 
 p_g24_mouse_ota_process_info:
-04df 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
-04e0 20600000 rtn 
+0510 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
+0511 20600000 rtn 
 
 p_g24_mouse_ota_process_config:
-04e1 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
-04e2 20600000 rtn 
+0512 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
+0513 20600000 rtn 
 
 p_g24_mouse_ota_process_set_config_end:
-04e3 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
-04e4 efe10006 ifetch 2 ,contr 
-04e5 e8410006 ifetcht 2 ,contr 
-04e6 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
-04e7 9a267c00 isub rega ,null 
-04e8 24228559 nbranch p_g24_mouse_ota_process_fail ,zero 
-04e9 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-04ea 98467c00 isub temp ,null 
-04eb 24228559 nbranch p_g24_mouse_ota_process_fail ,zero 
-04ec 204004ef call p_g24_check_ota_data_all 
-04ed 24340559 nbranch p_g24_mouse_ota_process_fail ,user 
-04ee 20200557 branch p_g24_mouse_ota_process_ok 
+0514 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
+0515 efe10006 ifetch 2 ,contr 
+0516 e8410006 ifetcht 2 ,contr 
+0517 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
+0518 9a267c00 isub rega ,null 
+0519 2422858a nbranch p_g24_mouse_ota_process_fail ,zero 
+051a 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+051b 98467c00 isub temp ,null 
+051c 2422858a nbranch p_g24_mouse_ota_process_fail ,zero 
+051d 20400520 call p_g24_check_ota_data_all 
+051e 2434058a nbranch p_g24_mouse_ota_process_fail ,user 
+051f 20200588 branch p_g24_mouse_ota_process_ok 
 
 p_g24_check_ota_data_all:
-04ef 204004fa call p_g24_check_ota_data 
-04f0 24740000 nrtn user 
-04f1 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-04f2 9e067c00 isub alarm ,null 
-04f3 2422fe56 nbranch disable_user ,zero 
-04f4 684909e8 fetcht 2 ,mem_temp_block6 
-04f5 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-04f6 1fe0fffb increase -5 ,pdata 
-04f7 98467c00 isub temp ,null 
-04f8 2422fe56 nbranch disable_user ,zero 
-04f9 20207e54 branch enable_user 
+0520 2040052b call p_g24_check_ota_data 
+0521 24740000 nrtn user 
+0522 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+0523 9e067c00 isub alarm ,null 
+0524 2422fe56 nbranch disable_user ,zero 
+0525 684909e8 fetcht 2 ,mem_temp_block6 
+0526 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+0527 1fe0fffb increase -5 ,pdata 
+0528 98467c00 isub temp ,null 
+0529 2422fe56 nbranch disable_user ,zero 
+052a 20207e54 branch enable_user 
 
 p_g24_check_ota_data:
-04fa 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-04fb 1ff0fe00 byteswap pdata ,pdata 
-04fc 67e102e4 store 2 ,mem_addr_mi 
-04fd d8400003 arg 3 ,temp 
-04fe da2009d2 arg mem_temp_block5 ,rega 
-04ff 20405de2 call iicd_read_eep 
-0500 6fe089d2 fetch 1 ,mem_temp_block5 
-0501 c0ad7e56 bne g24_ota_data_header ,disable_user 
-0502 e8410006 ifetcht 2 ,contr 
-0503 6049095c storet 2 ,mem_pdatatemp 
-0504 604909e8 storet 2 ,mem_temp_block6 
-0505 6fe089d2 fetch 1 ,mem_temp_block5 
-0506 dd60ffff arg 0xffff ,rege 
-0507 d8400000 arg 0 ,temp 
-0508 d8c009d2 arg mem_temp_block5 ,contr 
-0509 df200003 arg 3 ,loopcnt 
-050a 20400571 call p_g24_mouse_data_sum 
-050b 18426000 copy temp ,alarm 
-050c 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-050d 1fe0ee03 add pdata ,3 ,regf 
-050e 2040051e call p_g24_check_ota_data_loop 
-050f 1ef0fe00 byteswap regf ,pdata 
-0510 67e102e4 store 2 ,mem_addr_mi 
-0511 d8400002 arg 2 ,temp 
-0512 da2009d2 arg mem_temp_block5 ,rega 
-0513 20405de2 call iicd_read_eep 
-0514 6fe109d2 fetch 2 ,mem_temp_block5 
-0515 9d667c00 isub rege ,null 
-0516 2422fe56 nbranch disable_user ,zero 
-0517 6fe089d2 fetch 1 ,mem_temp_block5 
-0518 9e00e000 iadd alarm ,alarm 
-0519 efe08006 ifetch 1 ,contr 
-051a 9e00e000 iadd alarm ,alarm 
-051b 5800ffff setarg 0xffff 
-051c 9e016000 iand alarm ,alarm 
-051d 20207e54 branch enable_user 
+052b 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+052c 1ff0fe00 byteswap pdata ,pdata 
+052d 67e102e4 store 2 ,mem_addr_mi 
+052e d8400003 arg 3 ,temp 
+052f da2009d2 arg mem_temp_block5 ,rega 
+0530 20405de2 call iicd_read_eep 
+0531 6fe089d2 fetch 1 ,mem_temp_block5 
+0532 c0ad7e56 bne g24_ota_data_header ,disable_user 
+0533 e8410006 ifetcht 2 ,contr 
+0534 6049095c storet 2 ,mem_pdatatemp 
+0535 604909e8 storet 2 ,mem_temp_block6 
+0536 6fe089d2 fetch 1 ,mem_temp_block5 
+0537 dd60ffff arg 0xffff ,rege 
+0538 d8400000 arg 0 ,temp 
+0539 d8c009d2 arg mem_temp_block5 ,contr 
+053a df200003 arg 3 ,loopcnt 
+053b 204005a2 call p_g24_mouse_data_sum 
+053c 18426000 copy temp ,alarm 
+053d 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+053e 1fe0ee03 add pdata ,3 ,regf 
+053f 2040054f call p_g24_check_ota_data_loop 
+0540 1ef0fe00 byteswap regf ,pdata 
+0541 67e102e4 store 2 ,mem_addr_mi 
+0542 d8400002 arg 2 ,temp 
+0543 da2009d2 arg mem_temp_block5 ,rega 
+0544 20405de2 call iicd_read_eep 
+0545 6fe109d2 fetch 2 ,mem_temp_block5 
+0546 9d667c00 isub rege ,null 
+0547 2422fe56 nbranch disable_user ,zero 
+0548 6fe089d2 fetch 1 ,mem_temp_block5 
+0549 9e00e000 iadd alarm ,alarm 
+054a efe08006 ifetch 1 ,contr 
+054b 9e00e000 iadd alarm ,alarm 
+054c 5800ffff setarg 0xffff 
+054d 9e016000 iand alarm ,alarm 
+054e 20207e54 branch enable_user 
 
 p_g24_check_ota_data_loop:
-051e 6fe1095c fetch 2 ,mem_pdatatemp 
-051f 207a0000 rtn blank 
-0520 1fe20400 copy pdata ,temp 
-0521 1fe67c10 sub pdata ,16 ,null 
-0522 20210539 branch p_g24_check_ota_data_loopend ,positive 
-0523 1fe0fff0 increase -16 ,pdata 
-0524 d8400010 arg 0x10 ,temp 
+054f 6fe1095c fetch 2 ,mem_pdatatemp 
+0550 207a0000 rtn blank 
+0551 1fe20400 copy pdata ,temp 
+0552 1fe67c10 sub pdata ,16 ,null 
+0553 2021056a branch p_g24_check_ota_data_loopend ,positive 
+0554 1fe0fff0 increase -16 ,pdata 
+0555 d8400010 arg 0x10 ,temp 
 
 p_g24_check_ota_data_loop2:
-0525 67e1095c store 2 ,mem_pdatatemp 
-0526 18425e00 copy temp ,regext 
-0527 1ee27e00 copy regf ,pdata 
-0528 1ff0fe00 byteswap pdata ,pdata 
-0529 67e102e4 store 2 ,mem_addr_mi 
-052a da2009d2 arg mem_temp_block5 ,rega 
-052b 20405de2 call iicd_read_eep 
-052c 1ee27e00 copy regf ,pdata 
-052d 9de0ee00 iadd regext ,regf 
-052e 1de27200 copy regext ,loopcnt 
-052f 1d627e00 copy rege ,pdata 
-0530 d8c009d2 arg mem_temp_block5 ,contr 
-0531 efe00006 icrc contr 
-0532 1fe25600 copy pdata ,rege 
-0533 1de27200 copy regext ,loopcnt 
-0534 d8c009d2 arg mem_temp_block5 ,contr 
-0535 1e020400 copy alarm ,temp 
-0536 20400571 call p_g24_mouse_data_sum 
-0537 18426000 copy temp ,alarm 
-0538 2020051e branch p_g24_check_ota_data_loop 
+0556 67e1095c store 2 ,mem_pdatatemp 
+0557 18425e00 copy temp ,regext 
+0558 1ee27e00 copy regf ,pdata 
+0559 1ff0fe00 byteswap pdata ,pdata 
+055a 67e102e4 store 2 ,mem_addr_mi 
+055b da2009d2 arg mem_temp_block5 ,rega 
+055c 20405de2 call iicd_read_eep 
+055d 1ee27e00 copy regf ,pdata 
+055e 9de0ee00 iadd regext ,regf 
+055f 1de27200 copy regext ,loopcnt 
+0560 1d627e00 copy rege ,pdata 
+0561 d8c009d2 arg mem_temp_block5 ,contr 
+0562 efe00006 icrc contr 
+0563 1fe25600 copy pdata ,rege 
+0564 1de27200 copy regext ,loopcnt 
+0565 d8c009d2 arg mem_temp_block5 ,contr 
+0566 1e020400 copy alarm ,temp 
+0567 204005a2 call p_g24_mouse_data_sum 
+0568 18426000 copy temp ,alarm 
+0569 2020054f branch p_g24_check_ota_data_loop 
 
 p_g24_check_ota_data_loopend:
-0539 58000000 setarg 0 
-053a 20200525 branch p_g24_check_ota_data_loop2 
+056a 58000000 setarg 0 
+056b 20200556 branch p_g24_check_ota_data_loop2 
 
 p_g24_mouse_ota_process_data:
-053b 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
-053c efe08006 ifetch 1 ,contr 
-053d 18c22200 copy contr ,rega 
-053e 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-053f 98467c00 isub temp ,null 
-0540 20228557 branch p_g24_mouse_ota_process_ok ,zero 
-0541 20400568 call p_g24_cmd_ota_data_check_count 
-0542 24340559 nbranch p_g24_mouse_ota_process_fail ,user 
-0543 1a467c04 sub regb ,4 ,null 
-0544 20210559 branch p_g24_mouse_ota_process_fail ,positive 
-0545 1a40a5fc increase -4 ,regb 
-0546 62410959 storer regb ,2 ,mem_hold_contw 
-0547 62210957 storer rega ,2 ,mem_hold_contr 
-0548 20405dd3 call iicd_eeprom_write_enable 
-0549 2040055b call p_dongle_usb_cmd_ota_write_data 
-054a 20405dda call iicd_eeprom_write_disable 
-054b 6a410959 fetchr regb ,2 ,mem_hold_contw 
-054c 6a210957 fetchr rega ,2 ,mem_hold_contr 
-054d 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-054e 9a40fe00 iadd regb ,pdata 
-054f 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-0550 1a427200 copy regb ,loopcnt 
-0551 d8400000 arg 0 ,temp 
-0552 1a220c00 copy rega ,contr 
-0553 20400571 call p_g24_mouse_data_sum 
-0554 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-0555 9840fe00 iadd temp ,pdata 
-0556 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+056c 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
+056d efe08006 ifetch 1 ,contr 
+056e 18c22200 copy contr ,rega 
+056f 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+0570 98467c00 isub temp ,null 
+0571 20228588 branch p_g24_mouse_ota_process_ok ,zero 
+0572 20400599 call p_g24_cmd_ota_data_check_count 
+0573 2434058a nbranch p_g24_mouse_ota_process_fail ,user 
+0574 1a467c04 sub regb ,4 ,null 
+0575 2021058a branch p_g24_mouse_ota_process_fail ,positive 
+0576 1a40a5fc increase -4 ,regb 
+0577 62410959 storer regb ,2 ,mem_hold_contw 
+0578 62210957 storer rega ,2 ,mem_hold_contr 
+0579 20405dd3 call iicd_eeprom_write_enable 
+057a 2040058c call p_dongle_usb_cmd_ota_write_data 
+057b 20405dda call iicd_eeprom_write_disable 
+057c 6a410959 fetchr regb ,2 ,mem_hold_contw 
+057d 6a210957 fetchr rega ,2 ,mem_hold_contr 
+057e 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+057f 9a40fe00 iadd regb ,pdata 
+0580 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+0581 1a427200 copy regb ,loopcnt 
+0582 d8400000 arg 0 ,temp 
+0583 1a220c00 copy rega ,contr 
+0584 204005a2 call p_g24_mouse_data_sum 
+0585 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+0586 9840fe00 iadd temp ,pdata 
+0587 67e14c1a store 2 ,mem_g24_ota_rx_sum 
 
 p_g24_mouse_ota_process_ok:
-0557 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
-0558 20600000 rtn 
+0588 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
+0589 20600000 rtn 
 
 p_g24_mouse_ota_process_fail:
-0559 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
-055a 20600000 rtn 
+058a 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
+058b 20600000 rtn 
 
 p_dongle_usb_cmd_ota_write_data:
-055b 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-055c 207a0000 rtn blank 
-055d 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
-055e 9840fe00 iadd temp ,pdata 
-055f 1a420400 copy regb ,temp 
-0560 20205e04 branch iicd_write_ota_data 
+058c 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+058d 207a0000 rtn blank 
+058e 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
+058f 9840fe00 iadd temp ,pdata 
+0590 1a420400 copy regb ,temp 
+0591 20205e04 branch iicd_write_ota_data 
 
 p_g24_mouse_ota_process_reset:
-0561 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-0562 c1080000 rtneq g24_ota_sm_rx_reset 
-0563 c1088000 rtneq g24_ota_sm_tx_reset 
-0564 c1090000 rtneq g24_ota_sm_tx_reset_ok 
-0565 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
-0566 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
-0567 20600000 rtn 
+0592 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+0593 c1080000 rtneq g24_ota_sm_rx_reset 
+0594 c1088000 rtneq g24_ota_sm_tx_reset 
+0595 c1090000 rtneq g24_ota_sm_tx_reset_ok 
+0596 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
+0597 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
+0598 20600000 rtn 
 
 p_g24_cmd_ota_data_check_count:
-0568 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-0569 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-056a c000056e beq 0 ,p_g24_cmd_ota_data_check_count_0 
-056b 98467e00 isub temp ,pdata 
-056c c000fe54 beq 1 ,enable_user 
-056d 20207e56 branch disable_user 
+0599 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+059a 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+059b c000059f beq 0 ,p_g24_cmd_ota_data_check_count_0 
+059c 98467e00 isub temp ,pdata 
+059d c000fe54 beq 1 ,enable_user 
+059e 20207e56 branch disable_user 
 
 p_g24_cmd_ota_data_check_count_0:
-056e 18467cff sub temp ,0xff ,null 
-056f 2022fe54 branch enable_user ,zero 
-0570 20207e56 branch disable_user 
+059f 18467cff sub temp ,0xff ,null 
+05a0 2022fe54 branch enable_user ,zero 
+05a1 20207e56 branch disable_user 
 
 p_g24_mouse_data_sum:
-0571 efe08006 ifetch 1 ,contr 
-0572 98408400 iadd temp ,temp 
-0573 c2000571 loop p_g24_mouse_data_sum 
-0574 20600000 rtn 
+05a2 efe08006 ifetch 1 ,contr 
+05a3 98408400 iadd temp ,temp 
+05a4 c20005a2 loop p_g24_mouse_data_sum 
+05a5 20600000 rtn 
 
 p_g24_mouse_ota_crc:
-0575 5800ffff setarg 0xffff 
-0576 efe00006 icrc contr 
-0577 20600000 rtn 
+05a6 5800ffff setarg 0xffff 
+05a7 efe00006 icrc contr 
+05a8 20600000 rtn 
 
 p_g24_mouse_ota_check_crc:
-0578 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0579 1f267c02 sub loopcnt ,2 ,null 
-057a 20217e56 branch disable_user ,positive 
-057b dfe0480a arg mem_24g_rxpayload ,pdata 
-057c 9f208c00 iadd loopcnt ,contr 
-057d 18c08dfe increase -2 ,contr 
-057e e8410006 ifetcht 2 ,contr 
-057f d8c0480a arg mem_24g_rxpayload ,contr 
-0580 20400575 call p_g24_mouse_ota_crc 
-0581 98467c00 isub temp ,null 
-0582 2022fe54 branch enable_user ,zero 
-0583 20207e56 branch disable_user 
+05a9 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+05aa 1f267c02 sub loopcnt ,2 ,null 
+05ab 20217e56 branch disable_user ,positive 
+05ac dfe0480a arg mem_24g_rxpayload ,pdata 
+05ad 9f208c00 iadd loopcnt ,contr 
+05ae 18c08dfe increase -2 ,contr 
+05af e8410006 ifetcht 2 ,contr 
+05b0 d8c0480a arg mem_24g_rxpayload ,contr 
+05b1 204005a6 call p_g24_mouse_ota_crc 
+05b2 98467c00 isub temp ,null 
+05b3 2022fe54 branch enable_user ,zero 
+05b4 20207e56 branch disable_user 
 
 p_g24_mouse_ota_check_data:
-0584 efe08006 ifetch 1 ,contr 
-0585 c0ad059d bne 0x5a ,p_g24_mouse_ota_load_fail 
-0586 1a220200 copy rega ,1 ,contr 
-0587 68490006 fetcht 2 ,contr 
+05b5 efe08006 ifetch 1 ,contr 
+05b6 c0ad05ce bne 0x5a ,p_g24_mouse_ota_load_fail 
+05b7 1a220200 copy rega ,1 ,contr 
+05b8 68490006 fetcht 2 ,contr 
 
 p_g24_mouse_ota_check_data_loop:
-0588 18467c03 sub temp ,3 ,null 
-0589 2021059d branch p_g24_mouse_ota_load_fail ,positive 
-058a 18c08c02 increase 2 ,contr 
-058b ef208006 ifetchr loopcnt ,1 ,contr 
-058c 1f267c00 sub loopcnt ,0 ,null 
-058d 2422859d nbranch p_g24_mouse_ota_load_fail ,zero 
-058e 1f227e00 copy loopcnt ,pdata 
-058f 98c08c00 iadd contr ,contr 
-0590 18427e00 copy temp ,pdata 
-0591 1f20f203 increase 3 ,loopcnt 
-0592 9f260400 isub loopcnt ,temp 
-0593 24228588 nbranch p_g24_mouse_ota_check_data_loop ,zero 
-0594 e8410006 ifetcht 2 ,contr 
-0595 1a208c01 add rega ,1 ,contr 
-0596 efe10006 ifetch 2 ,contr 
-0597 1fe0f202 add pdata ,2 ,loopcnt 
-0598 1a208c01 add rega ,1 ,contr 
-0599 20400575 call p_g24_mouse_ota_crc 
-059a 98467c00 isub temp ,null 
-059b 2422859d nbranch p_g24_mouse_ota_load_fail ,zero 
+05b9 18467c03 sub temp ,3 ,null 
+05ba 202105ce branch p_g24_mouse_ota_load_fail ,positive 
+05bb 18c08c02 increase 2 ,contr 
+05bc ef208006 ifetchr loopcnt ,1 ,contr 
+05bd 1f267c00 sub loopcnt ,0 ,null 
+05be 242285ce nbranch p_g24_mouse_ota_load_fail ,zero 
+05bf 1f227e00 copy loopcnt ,pdata 
+05c0 98c08c00 iadd contr ,contr 
+05c1 18427e00 copy temp ,pdata 
+05c2 1f20f203 increase 3 ,loopcnt 
+05c3 9f260400 isub loopcnt ,temp 
+05c4 242285b9 nbranch p_g24_mouse_ota_check_data_loop ,zero 
+05c5 e8410006 ifetcht 2 ,contr 
+05c6 1a208c01 add rega ,1 ,contr 
+05c7 efe10006 ifetch 2 ,contr 
+05c8 1fe0f202 add pdata ,2 ,loopcnt 
+05c9 1a208c01 add rega ,1 ,contr 
+05ca 204005a6 call p_g24_mouse_ota_crc 
+05cb 98467c00 isub temp ,null 
+05cc 242285ce nbranch p_g24_mouse_ota_load_fail ,zero 
 
 p_g24_mouse_ota_load_success:
-059c 20207e54 branch enable_user 
+05cd 20207e54 branch enable_user 
 
 p_g24_mouse_ota_load_fail:
-059d 20207e56 branch disable_user 
+05ce 20207e56 branch disable_user 
 
 p_g24_mouse_ota_get_otaaddr:
-059e 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-059f 1fe20c00 copy pdata ,contr 
-05a0 20400584 call p_g24_mouse_ota_check_data 
-05a1 243405a9 nbranch p_g24_mouse_ota_config_end ,user 
-05a2 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
-05a3 1a208c01 add rega ,1 ,contr 
-05a4 efe10006 ifetch 2 ,contr 
-05a5 1fe0fe05 increase 5 ,pdata 
-05a6 9a20fe00 iadd rega ,pdata 
-05a7 67e14bf3 store 2 ,mem_g24_ota_config_addr 
-05a8 2020059e branch p_g24_mouse_ota_get_otaaddr 
+05cf 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+05d0 1fe20c00 copy pdata ,contr 
+05d1 204005b5 call p_g24_mouse_ota_check_data 
+05d2 243405da nbranch p_g24_mouse_ota_config_end ,user 
+05d3 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
+05d4 1a208c01 add rega ,1 ,contr 
+05d5 efe10006 ifetch 2 ,contr 
+05d6 1fe0fe05 increase 5 ,pdata 
+05d7 9a20fe00 iadd rega ,pdata 
+05d8 67e14bf3 store 2 ,mem_g24_ota_config_addr 
+05d9 202005cf branch p_g24_mouse_ota_get_otaaddr 
 
 p_g24_mouse_ota_config_end:
-05a9 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-05aa 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-05ab 98467e00 isub temp ,pdata 
-05ac 20600000 rtn 
+05da 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+05db 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+05dc 98467e00 isub temp ,pdata 
+05dd 20600000 rtn 
 
 p_ota_init:
-05ad 58000000 setarg 0 
-05ae 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-05af 67e14c1a store 2 ,mem_g24_ota_rx_sum 
-05b0 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-05b1 67e0cbf7 store 1 ,mem_g24_ota_sm 
-05b2 20600000 rtn 
+05de 58000000 setarg 0 
+05df 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+05e0 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+05e1 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+05e2 67e0cbf7 store 1 ,mem_g24_ota_sm 
+05e3 20600000 rtn 
 
 p_mouse_24g_package_ota:
-05b3 20407e56 call disable_user 
-05b4 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-05b5 c00085bc beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
-05b6 c00205c6 beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
-05b7 c00385e5 beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
-05b8 c005060b beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
-05b9 c0068600 beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
-05ba c00805e9 beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
-05bb 20200614 branch p_mouse_24g_package_ping 
+05e4 20407e56 call disable_user 
+05e5 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+05e6 c00085ed beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
+05e7 c00205f7 beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
+05e8 c0038616 beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
+05e9 c005063c beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
+05ea c0068631 beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
+05eb c008061a beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
+05ec 20200645 branch p_mouse_24g_package_ping 
 
 p_mouse_24g_package_ota_version:
-05bc 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05bd 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
-05be 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05bf 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05c0 58000001 setarg g24_ota_version 
-05c1 67e147ca store 2 ,mem_24g_txbuf + 4 
-05c2 70483601 jam type_ms ,mem_24g_data_type 
-05c3 70483506 jam 6 ,mem_24g_datalen 
-05c4 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
-05c5 20600000 rtn 
+05ed 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05ee 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
+05ef 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05f0 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05f1 58000001 setarg g24_ota_version 
+05f2 67e147ca store 2 ,mem_24g_txbuf + 4 
+05f3 70483601 jam type_ms ,mem_24g_data_type 
+05f4 70483506 jam 6 ,mem_24g_datalen 
+05f5 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
+05f6 20600000 rtn 
 
 p_mouse_24g_package_ota_info:
-05c6 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05c7 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
-05c8 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05c9 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05ca 6ff10000 fetch 2 ,core_chipid 
-05cb 67e147ca store 2 ,mem_24g_txbuf + 4 
-05cc 58006661 setarg 0x6661 
-05cd e7e10005 istore 2 ,contw 
-05ce 58000001 setarg 1 
-05cf e7e30005 istore 6 ,contw 
-05d0 58000000 setarg 0 
-05d1 e7e10005 istore 2 ,contw 
-05d2 e7e10005 istore 2 ,contw 
-05d3 204005ed call p_mouse_24g_storage_type 
-05d4 e7e08005 istore 1 ,contw 
-05d5 58000000 setarg 0 
-05d6 e7e08005 istore 1 ,contw 
-05d7 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-05d8 e0410005 istoret 2 ,contw 
-05d9 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-05da 1fed7e00 lshift8 pdata ,pdata 
-05db 1fe37e00 rshift pdata ,pdata 
-05dc 98467e00 isub temp ,pdata 
-05dd 242105e3 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
+05f7 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05f8 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
+05f9 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05fa 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05fb 6ff10000 fetch 2 ,core_chipid 
+05fc 67e147ca store 2 ,mem_24g_txbuf + 4 
+05fd 58006661 setarg 0x6661 
+05fe e7e10005 istore 2 ,contw 
+05ff 58000001 setarg 1 
+0600 e7e30005 istore 6 ,contw 
+0601 58000000 setarg 0 
+0602 e7e10005 istore 2 ,contw 
+0603 e7e10005 istore 2 ,contw 
+0604 2040061e call p_mouse_24g_storage_type 
+0605 e7e08005 istore 1 ,contw 
+0606 58000000 setarg 0 
+0607 e7e08005 istore 1 ,contw 
+0608 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+0609 e0410005 istoret 2 ,contw 
+060a 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+060b 1fed7e00 lshift8 pdata ,pdata 
+060c 1fe37e00 rshift pdata ,pdata 
+060d 98467e00 isub temp ,pdata 
+060e 24210614 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
 
 p_dongle_usb_cmd_ota_info_dongle_common:
-05de e7e10005 istore 2 ,contw 
-05df 70483518 jam 24 ,mem_24g_datalen 
-05e0 70483601 jam type_ms ,mem_24g_data_type 
-05e1 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
-05e2 20600000 rtn 
+060f e7e10005 istore 2 ,contw 
+0610 70483518 jam 24 ,mem_24g_datalen 
+0611 70483601 jam type_ms ,mem_24g_data_type 
+0612 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
+0613 20600000 rtn 
 
 p_dongle_usb_cmd_ota_info_dongle_empty:
-05e3 58000000 setarg 0 
-05e4 202005de branch p_dongle_usb_cmd_ota_info_dongle_common 
+0614 58000000 setarg 0 
+0615 2020060f branch p_dongle_usb_cmd_ota_info_dongle_common 
 
 p_mouse_24g_package_ota_config:
-05e5 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
-05e6 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
-05e7 70483504 jam 4 ,mem_24g_datalen 
-05e8 202005f6 branch p_mouse_24g_package_ota_common_ok 
+0616 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
+0617 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
+0618 70483504 jam 4 ,mem_24g_datalen 
+0619 20200627 branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_package_ota_reset:
-05e9 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
-05ea 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
-05eb 70483504 jam 4 ,mem_24g_datalen 
-05ec 202005f6 branch p_mouse_24g_package_ota_common_ok 
+061a 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
+061b 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
+061c 70483504 jam 4 ,mem_24g_datalen 
+061d 20200627 branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_storage_type:
-05ed 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-05ee c28985f2 bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
-05ef c28905f4 bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
-05f0 58000000 setarg g24_ota_storage_error 
-05f1 20600000 rtn 
+061e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+061f c2898623 bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
+0620 c2890625 bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
+0621 58000000 setarg g24_ota_storage_error 
+0622 20600000 rtn 
 
 p_mouse_24g_storage_type_eeprom:
-05f2 58000002 setarg g24_ota_storage_eeprom 
-05f3 20600000 rtn 
+0623 58000002 setarg g24_ota_storage_eeprom 
+0624 20600000 rtn 
 
 p_mouse_24g_storage_type_flash:
-05f4 58000004 setarg g24_ota_storage_flash 
-05f5 20600000 rtn 
+0625 58000004 setarg g24_ota_storage_flash 
+0626 20600000 rtn 
 
 p_mouse_24g_package_ota_common_ok:
-05f6 70483601 jam type_ms ,mem_24g_data_type 
-05f7 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05f8 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05f9 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05fa 20600000 rtn 
+0627 70483601 jam type_ms ,mem_24g_data_type 
+0628 7047c6af jam datatype_ota ,mem_24g_txbuf 
+0629 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+062a 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+062b 20600000 rtn 
 
 p_mouse_24g_package_ota_common_fail:
-05fb 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
-05fc 70483601 jam type_ms ,mem_24g_data_type 
-05fd 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05fe 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05ff 20600000 rtn 
+062c 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
+062d 70483601 jam type_ms ,mem_24g_data_type 
+062e 7047c6af jam datatype_ota ,mem_24g_txbuf 
+062f 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+0630 20600000 rtn 
 
 p_mouse_24g_package_ota_data:
-0600 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-0601 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
-0602 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
-0603 67e0c7ca store 1 ,mem_24g_txbuf + 4 
-0604 70483505 jam 5 ,mem_24g_datalen 
-0605 70483601 jam type_ms ,mem_24g_data_type 
-0606 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0607 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-0608 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-0609 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-060a 20600000 rtn 
+0631 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+0632 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
+0633 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
+0634 67e0c7ca store 1 ,mem_24g_txbuf + 4 
+0635 70483505 jam 5 ,mem_24g_datalen 
+0636 70483601 jam type_ms ,mem_24g_data_type 
+0637 7047c6af jam datatype_ota ,mem_24g_txbuf 
+0638 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+0639 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+063a 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+063b 20600000 rtn 
 
 p_mouse_24g_package_ota_set_config_end:
-060b 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-060c 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
-060d 70483504 jam 4 ,mem_24g_datalen 
-060e 70483601 jam type_ms ,mem_24g_data_type 
-060f 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0610 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-0611 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-0612 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-0613 20600000 rtn 
+063c 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+063d 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
+063e 70483504 jam 4 ,mem_24g_datalen 
+063f 70483601 jam type_ms ,mem_24g_data_type 
+0640 7047c6af jam datatype_ota ,mem_24g_txbuf 
+0641 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+0642 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+0643 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+0644 20600000 rtn 
 
 p_mouse_24g_package_ping:
-0614 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0615 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
-0616 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-0617 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-0618 70483601 jam type_ms ,mem_24g_data_type 
-0619 70483504 jam 4 ,mem_24g_datalen 
-061a 20600000 rtn 
+0645 7047c6af jam datatype_ota ,mem_24g_txbuf 
+0646 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
+0647 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+0648 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+0649 70483601 jam type_ms ,mem_24g_data_type 
+064a 70483504 jam 4 ,mem_24g_datalen 
+064b 20600000 rtn 
 
 p_mouse_24g_package_data_ota:
-061b 1fe22200 copy pdata ,rega 
-061c 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
-061d 70483601 jam type_ms ,mem_24g_data_type 
-061e da404bf9 arg mem_g24_ota_txbuf ,regb 
-061f 20600000 rtn 
+064c 1fe22200 copy pdata ,rega 
+064d 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
+064e 70483601 jam type_ms ,mem_24g_data_type 
+064f da404bf9 arg mem_g24_ota_txbuf ,regb 
+0650 20600000 rtn 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/program/patch.prog	(revision 1109)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/program/patch.prog	(working copy)
@@ -801,7 +801,47 @@
 	fetch 1,mem_config_sensor_type
 	beq OM16,p_mouse_seting_om16_dpi
 	beq OM18,p_mouse_seting_om18_dpi
+	beq S201X,p_mouse_seting_S201_dpi
 	branch mouse_seting_sensor_type
+p_mouse_seting_S201_dpi:
+	fetch 1,mem_mouse_dpi
+	sub pdata,MOUSE_DPI_LEVEL4,null
+	call p_mouse_set_S201_dpi_recount,zero
+	beq MOUSE_DPI_LEVEL1,p_mouse_set_S201_dpi_0	//1200
+	beq MOUSE_DPI_LEVEL2,p_mouse_set_S201_dpi_1	//1600
+	beq MOUSE_DPI_LEVEL3,p_mouse_set_S201_dpi_4	//800
+p_mouse_set_S201_dpi_recount:
+	jam MOUSE_DPI_LEVEL1,mem_mouse_dpi
+	rtn
+p_mouse_set_S201_dpi_0:	//1200
+	fetch 1,mem_sensor_s201_dpi_0
+	copy pdata,rega
+	branch p_mouse_dpi_S201_store
+p_mouse_set_S201_dpi_1:	//1600
+	fetch 1,mem_sensor_s201_dpi_1
+	copy pdata,rega
+	branch p_mouse_dpi_S201_store
+p_mouse_set_S201_dpi_2:	//2400
+	fetch 1,mem_sensor_s201_dpi_2
+	copy pdata,rega
+	branch p_mouse_dpi_s201_store
+p_mouse_set_S201_dpi_3:	//3200
+	fetch 1,mem_sensor_s201_dpi_3
+	copy pdata,rega
+	branch p_mouse_dpi_s201_store
+p_mouse_set_S201_dpi_4:	//800
+	fetch 1,mem_sensor_s201_dpi_4
+	copy pdata,rega
+p_mouse_dpi_s201_store:
+	setarg 0xc309
+	call twspi_write
+	copy rega,pdata
+	lshift8 pdata,pdata
+	add pdata,0x23,pdata
+	call twspi_write
+	setarg 0x0009
+	branch twspi_write
+
 p_mouse_seting_om16_dpi:
 	fetch 1,mem_mouse_dpi
 	beq MOUSE_DPI_LEVEL1,p_mouse_om16_set_cpi0		//1200
@@ -1461,6 +1501,8 @@
 p_mouse_dpi_process:
 	call mouse_dpi_ghost_check
 	rtn user
+	fetch 1,mem_config_sensor_type
+	beq S201X,p_mouse_201x_3level_dpi_process
 	fetch 1,mem_mouse_dpi
 	copy pdata,temp
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
@@ -1473,6 +1515,18 @@
 	call mouse_seting_dpi
 	branch mouse_store_device_info_delay
 
+p_mouse_201x_3level_dpi_process:
+	fetch 1,mem_mouse_dpi
+	increase 1,pdata
+	sub pdata,3,null
+	call p_mouse_dpi_recount,zero
+	store 1,mem_mouse_dpi
+	call mouse_seting_dpi
+	branch mouse_store_device_info_delay
+p_mouse_dpi_recount:
+	setarg 0
+	rtn
+	
 p_mouse_double_dpi_check:
 	fetch 1,mem_dpi_another_button_down_enable
 	nbranch p_mouse_another_dpi_button_down,blank
@@ -1516,6 +1570,7 @@
 
 p_mouse_init_p32xx_id2_judge:
 	fetch 1,mem_sensor_id2
+	beq P3205_TJ3T_ID2,p_mouse_3205_3t_init_param
 	beq OM16_ID2,p_mouse_om16_init_param
 	branch mouse_init_p32xx_id2_judge+1
 p_mouse_om16_init_param:
@@ -1535,6 +1590,16 @@
 	arg 15,loopcnt
 	branch delay_ms_wait
 
+p_mouse_3205_3t_init_param:
+	setarg 0x49		// id3
+	call twspi_read
+	beq 0xa1,p_mouse_S201X_init_param
+	branch mouse_3205_3t_init_param
+
+p_mouse_S201X_init_param:
+	jam S201X,mem_config_sensor_type
+	rtn
+
 ////////////////////////////// sensor data mul start ///////////////////////////////////////////////
 p_mouse_sensor_data_mul:
 	fetch 1,mem_config_sensor_type
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/sched/mouse.dat	(revision 1109)
+++ /YC1308AC/branch/mouse_project/XZR/mouse_public_xzr_branch/120_Only2.4G_SideWheel_By_Key/sched/mouse.dat	(working copy)
@@ -109,8 +109,8 @@
 mem_rssi_dis_min_ble_init:75
 mem_rssi_dis_max_ble_init:80
 
-mem_bk_button_gpio:0b
-mem_fw_button_gpio:0c
+mem_bk_button_gpio:0c
+mem_fw_button_gpio:0b
 mem_dpi_button_gpio:0d
 mem_dpi_another_button_gpio:ff
 mem_matrix_public_gpio:ff
@@ -330,6 +330,13 @@
 04 ##mem_om16_dpi_2
 06 ##mem_om16_dpi_3
 
+mem_sensor_s201_dpi:
+8a  ##1200
+8b  ##1600
+83  ##2400
+84  ##3200
+88  ##800
+
 mem_sensor_3212_init:
 09 5a
 26 34
