Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/format/app_mouse.format	(revision 2597)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/format/app_mouse.format	(working copy)
@@ -367,6 +367,7 @@
 1 mem_sensor_s201_dpi_2
 1 mem_sensor_s201_dpi_3
 1 mem_sensor_s201_dpi_4
+1 mem_mouse_temp_data
 
 )
 
@@ -486,6 +487,7 @@
 0x01 MOUSE_DPI_LEVEL2
 0x02 MOUSE_DPI_LEVEL3
 0x03 MOUSE_DPI_LEVEL4
+0x04 MOUSE_DPI_LEVEL5
 
 
 //mouse sensor angle
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/output/eeprom.dat	(revision 2597)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-ca
-16
+92
+17
 c2
 84
 00
@@ -59,27 +59,27 @@
 c0
 67
 03
-7e
+85
 c0
 67
 84
-1c
+44
 c0
 68
 02
-85
+88
 c0
 68
 83
-a9
+d1
 c0
 69
 82
-ee
+f5
 c0
 6a
 03
-8f
+b7
 c0
 6b
 01
@@ -87,15 +87,15 @@
 c0
 6c
 82
-ad
+b4
 c0
 6d
 03
-21
+28
 c0
 6f
-03
-df
+04
+07
 c0
 70
 80
@@ -107,7 +107,7 @@
 c0
 74
 03
-2e
+35
 20
 20
 13
@@ -123,15 +123,15 @@
 c0
 43
 83
-2a
+31
 c0
 50
 83
-42
+49
 c0
 60
 03
-4c
+53
 c0
 6e
 82
@@ -151,7 +151,7 @@
 c0
 76
 03
-73
+7a
 20
 20
 13
@@ -359,7 +359,7 @@
 20
 40
 04
-8c
+be
 20
 34
 00
@@ -663,7 +663,7 @@
 20
 40
 02
-ee
+f5
 20
 75
 80
@@ -687,7 +687,7 @@
 20
 40
 03
-a1
+c9
 20
 20
 3b
@@ -1063,7 +1063,7 @@
 24
 3a
 05
-45
+77
 20
 40
 3f
@@ -1319,7 +1319,7 @@
 20
 20
 02
-f0
+f7
 20
 40
 22
@@ -1359,7 +1359,7 @@
 20
 20
 03
-a1
+c9
 20
 40
 26
@@ -1459,7 +1459,7 @@
 20
 40
 04
-4d
+7f
 20
 40
 01
@@ -1487,7 +1487,7 @@
 20
 40
 02
-f0
+f7
 6f
 e4
 4b
@@ -1595,11 +1595,11 @@
 20
 40
 03
-9a
+c2
 20
 40
 03
-a1
+c9
 20
 20
 3e
@@ -1615,7 +1615,7 @@
 20
 40
 02
-d2
+d9
 20
 40
 49
@@ -1883,7 +1883,7 @@
 20
 40
 03
-a1
+c9
 20
 20
 01
@@ -2475,7 +2475,7 @@
 c2
 81
 84
-57
+89
 c2
 80
 a3
@@ -2584,14 +2584,26 @@
 20
 47
 ff
+6f
+e0
+c9
+27
+c1
+06
+00
+00
+20
 20
-40
 40
 8f
 20
 40
 02
-9f
+85
+20
+40
+02
+a6
 6f
 e0
 c9
@@ -2599,7 +2611,7 @@
 c0
 06
 02
-8a
+8d
 20
 20
 40
@@ -2611,15 +2623,23 @@
 c0
 00
 02
-8e
+93
 c0
 00
 82
-91
+96
 c0
 01
 02
-94
+99
+c0
+01
+82
+99
+c0
+02
+02
+9c
 6f
 e0
 cc
@@ -2631,7 +2651,7 @@
 20
 20
 02
-97
+9e
 6f
 e0
 cc
@@ -2643,7 +2663,7 @@
 20
 20
 02
-97
+9e
 6f
 e0
 cc
@@ -2655,7 +2675,15 @@
 20
 20
 02
-97
+9e
+6f
+e0
+cc
+3d
+1f
+e2
+22
+00
 58
 00
 c3
@@ -2735,7 +2763,7 @@
 20
 3a
 02
-d9
+e0
 67
 e0
 cb
@@ -2771,7 +2799,7 @@
 20
 40
 02
-d6
+dd
 20
 40
 40
@@ -2783,7 +2811,7 @@
 20
 40
 03
-01
+08
 20
 40
 44
@@ -2799,7 +2827,7 @@
 20
 40
 03
-16
+1d
 20
 40
 45
@@ -2831,15 +2859,15 @@
 20
 40
 02
-c8
+cf
 20
 40
 03
-19
+20
 20
 20
 02
-c5
+cc
 da
 60
 4c
@@ -2891,7 +2919,7 @@
 20
 21
 02
-d4
+db
 68
 48
 cb
@@ -2915,7 +2943,7 @@
 da
 40
 02
-d9
+e0
 20
 20
 31
@@ -2971,11 +2999,11 @@
 20
 41
 02
-e8
+ef
 24
 41
 02
-ec
+f3
 20
 20
 48
@@ -3023,7 +3051,7 @@
 c0
 18
 02
-f8
+ff
 c0
 18
 c2
@@ -3043,15 +3071,15 @@
 20
 20
 02
-f1
+f8
 6f
 e0
 c9
 c2
 c0
 68
-82
-fb
+83
+02
 20
 20
 41
@@ -3066,8 +3094,8 @@
 0d
 c0
 50
-82
-ff
+83
+06
 20
 20
 41
@@ -3087,7 +3115,7 @@
 c0
 00
 03
-07
+0e
 6f
 e4
 4b
@@ -3103,7 +3131,7 @@
 20
 20
 03
-0a
+11
 6f
 e4
 4b
@@ -3139,7 +3167,7 @@
 20
 22
 83
-11
+18
 20
 20
 44
@@ -3191,7 +3219,7 @@
 da
 40
 03
-1e
+25
 20
 20
 31
@@ -3287,7 +3315,7 @@
 c0
 04
 83
-36
+3d
 20
 20
 4d
@@ -3387,7 +3415,7 @@
 c0
 02
 03
-4f
+56
 20
 20
 19
@@ -3403,11 +3431,11 @@
 c0
 05
 03
-54
+5b
 c0
 09
 03
-63
+6a
 20
 20
 1c
@@ -3435,7 +3463,7 @@
 c2
 81
 83
-5e
+65
 6f
 e1
 44
@@ -3463,11 +3491,11 @@
 24
 22
 83
-5a
+61
 24
 34
 03
-5a
+61
 20
 20
 1e
@@ -3598,8 +3626,20 @@
 40
 20
 40
+03
+96
+58
+00
+00
+89
+20
+40
+5b
+0c
+20
+40
 02
-87
+8a
 20
 40
 3f
@@ -3631,7 +3671,7 @@
 20
 40
 03
-8c
+b4
 20
 20
 45
@@ -3641,51 +3681,171 @@
 c9
 27
 c1
-01
-80
+86
+00
 00
-20
-20
-47
-1a
-20
-40
-3f
-65
 6f
 e0
 c9
-27
-c0
-05
-83
-96
+92
+c1
+81
+80
+00
+6f
+e1
+48
+d1
 20
 40
-42
-32
-da
-60
-4a
-a3
+03
+a1
+67
+e1
+48
+d1
+6f
+e1
+48
+d3
 20
 40
-42
-2b
+03
+a1
+67
+e1
+48
+d3
 20
+60
+00
+00
+c2
+83
+83
+a4
+c3
+03
+83
+a8
 20
-40
-8e
+60
+00
+00
+1f
+e6
+7e
+00
 20
 40
 03
-9d
-da
-60
-4b
-e3
+a8
+1f
+e6
+7e
+00
 20
-40
+60
+00
+00
+1f
+e3
+fe
+00
+79
+3f
+fe
+0e
+79
+3f
+fe
+0f
+67
+e1
+4c
+3e
+6f
+e0
+cc
+3e
+1f
+e6
+7c
+7f
+24
+41
+03
+b1
+6f
+e1
+4c
+3e
+20
+60
+00
+00
+58
+00
+00
+7f
+67
+e1
+4c
+3e
+20
+60
+00
+00
+6f
+e0
+c9
+27
+c1
+01
+80
+00
+20
+20
+47
+1a
+20
+40
+3f
+65
+6f
+e0
+c9
+27
+c0
+05
+83
+be
+20
+40
+42
+32
+da
+60
+4a
+a3
+20
+40
+42
+2b
+20
+20
+40
+8e
+20
+40
+03
+c5
+da
+60
+4b
+e3
+20
+40
 42
 2b
 20
@@ -3699,7 +3859,7 @@
 c0
 05
 83
-9d
+c5
 20
 20
 42
@@ -3735,7 +3895,7 @@
 c0
 05
 83
-a7
+cf
 58
 00
 08
@@ -3767,23 +3927,23 @@
 20
 40
 03
-b2
+da
 20
 40
 03
-b7
+df
 20
 40
 03
-bc
+e4
 20
 40
 03
-c1
+e9
 20
 40
 03
-ce
+f6
 20
 20
 41
@@ -3794,8 +3954,8 @@
 18
 20
 40
+04
 03
-db
 20
 40
 41
@@ -3814,8 +3974,8 @@
 19
 20
 40
+04
 03
-db
 20
 40
 41
@@ -3834,8 +3994,8 @@
 1a
 20
 40
+04
 03
-db
 20
 40
 41
@@ -3879,7 +4039,7 @@
 c0
 7f
 83
-ca
+f2
 20
 20
 41
@@ -3890,8 +4050,8 @@
 0d
 20
 40
-03
-dd
+04
+05
 68
 48
 c9
@@ -3931,7 +4091,7 @@
 c0
 7f
 83
-d7
+ff
 20
 20
 41
@@ -3942,8 +4102,8 @@
 0e
 20
 40
-03
-dd
+04
+05
 68
 48
 c9
@@ -3978,12 +4138,12 @@
 36
 20
 40
-03
-e4
+04
+0c
 20
 40
-03
-f8
+04
+20
 20
 20
 46
@@ -4018,8 +4178,8 @@
 0f
 20
 40
-03
-ed
+04
+15
 20
 20
 40
@@ -4046,8 +4206,8 @@
 10
 c0
 7f
-83
-f4
+84
+1c
 20
 20
 40
@@ -4058,8 +4218,8 @@
 0f
 20
 40
-03
-dd
+04
+05
 68
 48
 c9
@@ -4082,12 +4242,12 @@
 32
 20
 40
+04
 03
-db
 20
 40
-03
-ff
+04
+27
 68
 48
 cc
@@ -4111,7 +4271,7 @@
 20
 40
 04
-0e
+36
 67
 e0
 cc
@@ -4123,7 +4283,7 @@
 20
 3a
 04
-0a
+32
 6f
 e0
 cc
@@ -4187,11 +4347,11 @@
 c0
 03
 84
-18
+40
 c0
 00
 04
-1a
+42
 20
 60
 00
@@ -4235,7 +4395,7 @@
 c2
 9e
 84
-28
+5a
 18
 42
 7e
@@ -4245,6 +4405,22 @@
 fe
 01
 1f
+e2
+04
+00
+6f
+e0
+c9
+27
+c0
+06
+04
+54
+18
+42
+7e
+00
+1f
 e1
 7e
 03
@@ -4260,6 +4436,30 @@
 20
 46
 43
+18
+46
+7c
+04
+24
+21
+04
+58
+18
+42
+7e
+00
+20
+20
+04
+51
+58
+00
+00
+00
+20
+20
+04
+51
 6f
 e0
 cc
@@ -4267,7 +4467,7 @@
 24
 3a
 04
-33
+65
 6f
 e4
 4b
@@ -4275,7 +4475,7 @@
 c2
 8e
 04
-30
+62
 18
 42
 7e
@@ -4291,7 +4491,7 @@
 20
 20
 04
-25
+51
 18
 42
 7e
@@ -4303,7 +4503,7 @@
 20
 20
 04
-2e
+60
 18
 42
 7e
@@ -4319,7 +4519,7 @@
 20
 20
 04
-25
+51
 6f
 e0
 cb
@@ -4335,27 +4535,27 @@
 c0
 01
 04
-43
+75
 c0
 02
 84
-45
+77
 c0
 04
 04
-47
+79
 c0
 05
 84
-49
+7b
 c0
 07
 04
-4b
+7d
 c0
 08
 84
-41
+73
 20
 60
 00
@@ -4415,7 +4615,7 @@
 20
 3a
 04
-37
+69
 1f
 e2
 24
@@ -4431,7 +4631,7 @@
 c0
 57
 84
-5f
+91
 20
 60
 00
@@ -4447,7 +4647,7 @@
 20
 20
 05
-3f
+71
 20
 60
 00
@@ -4507,31 +4707,31 @@
 c0
 00
 84
-6e
+a0
 c0
 01
 04
-71
+a3
 c0
 01
 84
-73
+a5
 c0
 02
 04
-75
+a7
 c0
 02
 84
-cd
+ff
 c0
 03
-04
-f3
+05
+25
 c0
 7f
 84
-6d
+9f
 20
 20
 13
@@ -4543,7 +4743,7 @@
 20
 40
 04
-54
+86
 70
 4b
 f7
@@ -4590,8 +4790,8 @@
 00
 24
 22
-84
-eb
+85
+1d
 6f
 e1
 4c
@@ -4602,24 +4802,24 @@
 00
 24
 22
-84
-eb
+85
+1d
 20
 40
 04
-81
+b3
 24
 34
-04
-eb
+05
+1d
 20
 20
-04
-e9
+05
+1b
 20
 40
 04
-8c
+be
 24
 74
 00
@@ -4727,7 +4927,7 @@
 20
 40
 05
-03
+35
 18
 42
 60
@@ -4743,7 +4943,7 @@
 20
 40
 04
-b0
+e2
 1e
 f0
 fe
@@ -4823,7 +5023,7 @@
 20
 21
 04
-cb
+fd
 1f
 e0
 ff
@@ -4903,7 +5103,7 @@
 20
 40
 05
-03
+35
 18
 42
 60
@@ -4911,7 +5111,7 @@
 20
 20
 04
-b0
+e2
 58
 00
 00
@@ -4919,7 +5119,7 @@
 20
 20
 04
-b7
+e9
 70
 4b
 f7
@@ -4942,24 +5142,24 @@
 00
 20
 22
-84
-e9
+85
+1b
 20
 40
-04
-fa
+05
+2c
 24
 34
-04
-eb
+05
+1d
 1a
 46
 7c
 04
 20
 21
-04
-eb
+05
+1d
 1a
 40
 a5
@@ -4978,8 +5178,8 @@
 d3
 20
 40
-04
-ed
+05
+1f
 20
 40
 5d
@@ -5019,7 +5219,7 @@
 20
 40
 05
-03
+35
 6f
 e1
 4c
@@ -5111,7 +5311,7 @@
 c0
 00
 05
-00
+32
 98
 46
 7e
@@ -5147,7 +5347,7 @@
 c2
 00
 05
-03
+35
 20
 60
 00
@@ -5199,7 +5399,7 @@
 20
 40
 05
-07
+39
 98
 46
 7c
@@ -5219,7 +5419,7 @@
 c0
 ad
 05
-2f
+61
 1a
 22
 02
@@ -5235,7 +5435,7 @@
 20
 21
 05
-2f
+61
 18
 c0
 8c
@@ -5251,7 +5451,7 @@
 24
 22
 85
-2f
+61
 1f
 22
 7e
@@ -5275,7 +5475,7 @@
 24
 22
 85
-1a
+4c
 e8
 41
 00
@@ -5299,7 +5499,7 @@
 20
 40
 05
-07
+39
 98
 46
 7c
@@ -5307,7 +5507,7 @@
 24
 22
 85
-2f
+61
 20
 20
 7e
@@ -5327,11 +5527,11 @@
 20
 40
 05
-16
+48
 24
 34
 05
-3b
+6d
 6a
 21
 4b
@@ -5359,7 +5559,7 @@
 20
 20
 05
-30
+62
 6f
 e1
 4b
@@ -5411,31 +5611,31 @@
 c0
 00
 85
-4e
+80
 c0
 02
 05
-58
+8a
 c0
 03
 85
-77
+a9
 c0
 05
 05
-9d
+cf
 c0
 06
 85
-92
+c4
 c0
 08
 05
-7b
+ad
 20
 20
 05
-a6
+d8
 70
 47
 c6
@@ -5531,7 +5731,7 @@
 20
 40
 05
-7f
+b1
 e7
 e0
 80
@@ -5571,7 +5771,7 @@
 24
 21
 05
-75
+a7
 e7
 e1
 00
@@ -5599,7 +5799,7 @@
 20
 20
 05
-70
+a2
 70
 4b
 f7
@@ -5615,7 +5815,7 @@
 20
 20
 05
-88
+ba
 70
 4b
 f7
@@ -5631,7 +5831,7 @@
 20
 20
 05
-88
+ba
 6f
 e4
 4b
@@ -5639,11 +5839,11 @@
 c2
 89
 85
-84
+b6
 c2
 89
 05
-86
+b8
 58
 00
 00
@@ -5836,8 +6036,8 @@
 60
 00
 00
-07
-61
+73
+34
 aa
 55
 40
@@ -7096,216 +7296,16 @@
 02
 40
 00
-c5
-1b
+8d
+1c
 55
 aa
 aa
 55
-61
+2a
 7b
-2b
-ac
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+5e
+eb
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-7b
-5f
+22
+69
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/output/memmap.format	(revision 2597)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/output/memmap.format	(working copy)
@@ -2235,6 +2235,7 @@
 0x4c3b mem_sensor_s201_dpi_2
 0x4c3c mem_sensor_s201_dpi_3
 0x4c3d mem_sensor_s201_dpi_4
+0x4c3e mem_mouse_temp_data
 0x48d0 mem_remote_car_hard_soft_switch
 0x48d1 mem_remote_car_queue_each_size
 0x48d2 mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/output/program.lis	(revision 2597)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/output/program.lis	(working copy)
@@ -13,32 +13,32 @@
 000a c0648190 beq patch19_1 ,p_mouse_setgpio_hibernate 
 000b c06501c5 beq patch19_2 ,p_mouse_lpm_before_common 
 000c c0660081 beq patch19_4 ,p_mouse_adc_read_start 
-000d c067037e beq patch19_6 ,p_mouse_motion 
-000e c067841c beq patch19_7 ,p_mouse_dpi_process 
-000f c0680285 beq patch1a_0 ,p_mouse_seting_dpi 
-0010 c06883a9 beq patch1a_1 ,p_mouse_check_key_gpio 
-0011 c06982ee beq patch1a_3 ,p_mouse_init_sunt 
-0012 c06a038f beq patch1a_4 ,p_mouse_sensor_poweron 
+000d c0670385 beq patch19_6 ,p_mouse_motion 
+000e c0678444 beq patch19_7 ,p_mouse_dpi_process 
+000f c0680288 beq patch1a_0 ,p_mouse_seting_dpi 
+0010 c06883d1 beq patch1a_1 ,p_mouse_check_key_gpio 
+0011 c06982f5 beq patch1a_3 ,p_mouse_init_sunt 
+0012 c06a03b7 beq patch1a_4 ,p_mouse_sensor_poweron 
 0013 c06b01f1 beq patch1a_6 ,p_mouse_priority_bb_event 
-0014 c06c82ad beq patch1b_1 ,p_mouse_bb_event_timer 
-0015 c06d0321 beq patch1b_2 ,p_mouse_start_discovery 
-0016 c06f03df beq patch1b_6 ,p_mouse_idle 
+0014 c06c82b4 beq patch1b_1 ,p_mouse_bb_event_timer 
+0015 c06d0328 beq patch1b_2 ,p_mouse_start_discovery 
+0016 c06f0407 beq patch1b_6 ,p_mouse_idle 
 0017 c070802f beq patch1c_1 ,p_mouse_led_off 
 0018 c071002b beq patch1c_2 ,p_mouse_led_on 
-0019 c074032e beq patch1d_0 ,p_hid_rx_process 
+0019 c0740335 beq patch1d_0 ,p_hid_rx_process 
 001a 2020137c branch loop 
 
 pf_patch_ext:
 001b c0198061 beq patch26_3 ,p_adc_init_data 
 001c c01a0066 beq patch26_4 ,p_enable_adc 
-001d c043832a beq patch30_7 ,p_ui_timer_check 
-001e c0508342 beq patch34_1 ,p_le_slave_match 
-001f c060034c beq patch38_0 ,p_le_parse_l2cap 
+001d c0438331 beq patch30_7 ,p_ui_timer_check 
+001e c0508349 beq patch34_1 ,p_le_slave_match 
+001f c0600353 beq patch38_0 ,p_le_parse_l2cap 
 0020 c06e8265 beq patch3b_5 ,p_g24_dispatch 
 0021 c0710240 beq patch3c_2 ,p_g24_pair_dispatch 
 0022 c0748248 beq patch3d_1 ,p_g24_reconn_dispatch 
 0023 c0750153 beq patch3d_2 ,p_g24_transmit_no_interrupt 
-0024 c0760373 beq patch3d_4 ,p_g24_lpm_wait 
+0024 c076037a beq patch3d_4 ,p_g24_lpm_wait 
 0025 2020137c branch loop 
 
 p_soft_reset:
@@ -110,7 +110,7 @@
 
 p_g24_load_ota_config_poweron:
 0057 20405b94 call iicd_load_gpio_init 
-0058 2040048c call p_g24_check_ota_data 
+0058 204004be call p_g24_check_ota_data 
 0059 2034005b branch p_g24_load_ota_config ,user 
 005a 20600000 rtn 
 
@@ -204,13 +204,13 @@
 00a1 245580ac ncall p_mouse_le_name_load ,wake 
 00a2 20406df3 call enable_authrom 
 00a3 204000d7 call p_mouse_setting_config 
-00a4 204002ee call p_mouse_init_sunt 
+00a4 204002f5 call p_mouse_init_sunt 
 00a5 20758000 rtn wake 
 00a6 2040408e call mouse_dpi_config 
 00a7 20403d8a call mouse_usb_check_enable 
 00a8 20404728 call mouse_drawing_optima_init 
 00a9 20400101 call p_mouse_cb_fuction 
-00aa 204003a1 call p_mouse_sensor_powerdown 
+00aa 204003c9 call p_mouse_sensor_powerdown 
 00ab 20203bc9 branch mouse_init + 8 
 
 p_mouse_le_name_load:
@@ -326,7 +326,7 @@
 p_mouse_24g_package_data:
 0106 c6930000 rtnmark0 mark_24g 
 0107 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
-0108 243a0545 nbranch p_mouse_24g_package_ota ,blank 
+0108 243a0577 nbranch p_mouse_24g_package_ota ,blank 
 0109 20403f70 call mouse_motion 
 010a 24740000 nrtn user 
 010b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
@@ -402,7 +402,7 @@
 0145 793ffe00 set0 g24_disconn_state ,pdata 
 0146 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
 0147 20404544 call mouse_no_data_timer_init 
-0148 202002f0 branch p_mouse_init_sensor_wakeup 
+0148 202002f7 branch p_mouse_init_sensor_wakeup 
 
 p_mouse_24g_search_dongle_loop_retry:
 0149 204022cb call g24_ch 
@@ -416,7 +416,7 @@
 014f 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
 0150 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
 0151 67e14ab2 store 2 ,mem_mouse_no_data_timer 
-0152 202003a1 branch p_mouse_sensor_powerdown 
+0152 202003c9 branch p_mouse_sensor_powerdown 
 
 p_g24_transmit_no_interrupt:
 0153 20402631 call g24_txdata_prep 
@@ -451,7 +451,7 @@
 0168 242c017b nbranch p_g24_retransmit ,sync 
 0169 2437817b nbranch p_g24_retransmit ,user3 
 016a 20402672 call g24_ackpayload_parse 
-016b 2040044d call p_g24_mouse_parse_rx 
+016b 2040047f call p_g24_mouse_parse_rx 
 016c 2040016e call p_mouse_wakeup_24g 
 016d 20202651 branch g24_transmit_no_ack 
 
@@ -462,7 +462,7 @@
 0171 20600000 rtn 
 
 p_mouse_wakeup_24g_from_long_sleep:
-0172 204002f0 call p_mouse_init_sensor_wakeup 
+0172 204002f7 call p_mouse_init_sensor_wakeup 
 0173 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
 0174 c41e0000 rtnbit0 mouse_enable_wheel_wake_up_cancel 
 
@@ -497,14 +497,14 @@
 018a 58000006 setarg pan_reg_config 
 018b 20405b0d call twspi_read 
 018c c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
-018d 2040039a call p_mouse_sensor_reset 
-018e 204003a1 call p_mouse_sensor_powerdown 
+018d 204003c2 call p_mouse_sensor_reset 
+018e 204003c9 call p_mouse_sensor_powerdown 
 018f 20203e23 branch mouse_app_enter_hibernate + 3 
 
 p_mouse_setgpio_hibernate:
 0190 204042e9 call mouse_set_sdio_high 
 0191 20407fdc call clear_wake 
-0192 204002d2 call p_mouse_logo_led_off 
+0192 204002d9 call p_mouse_logo_led_off 
 0193 20404976 call mouse_low_voltage_led_off 
 0194 20404015 call mouse_before_hibernate_wheel_gpio_set 
 0195 6848c910 fetcht 1 ,mem_matrix_public_gpio 
@@ -585,7 +585,7 @@
 01d2 58000000 setarg 0 
 01d3 67e3c8d0 store 7 ,mem_mouse_key 
 01d4 704be101 jam 1 ,mem_sensor_shutdown_flag 
-01d5 204003a1 call p_mouse_sensor_powerdown 
+01d5 204003c9 call p_mouse_sensor_powerdown 
 01d6 202001dc branch p_g24_long_sleep 
 
 p_g24_nodata_transmit:
@@ -779,7 +779,7 @@
 p_g24_transmit_dispatch:
 0267 c6930000 rtnmark0 mark_24g 
 0268 6fe0c8a1 fetch 1 ,mem_24g_conn_sm 
-0269 c2818457 bbit1 state_24g_ota ,p_g24_ota_dispatch 
+0269 c2818489 bbit1 state_24g_ota ,p_g24_ota_dispatch 
 026a c280a340 bbit1 state_24g_pair ,g24_pair_dispatch 
 026b c2812580 bbit1 state_24g_reconn ,g24_reconn_dispatch 
 026c 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
@@ -814,1086 +814,1154 @@
 0283 1a217e07 and rega ,0x07 ,pdata 
 0284 202047ff branch mouse_24g_start_mode + 9 
 
+p_mouse_setting_dpi_4_level:
+0285 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0286 c1060000 rtneq s201x 
+0287 2020408f branch mouse_setting_dpi_4_level 
+
 p_mouse_seting_dpi:
-0285 2040408f call mouse_setting_dpi_4_level 
-0286 2040029f call p_mouse_dpi_led_blink_delay 
+0288 20400285 call p_mouse_setting_dpi_4_level 
+0289 204002a6 call p_mouse_dpi_led_blink_delay 
 
 p_mouse_seting_sensor_type:
-0287 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0288 c006028a beq s201x ,p_mouse_seting_s201_dpi 
-0289 20204098 branch mouse_seting_sensor_type 
+028a 6fe0c927 fetch 1 ,mem_config_sensor_type 
+028b c006028d beq s201x ,p_mouse_seting_s201_dpi 
+028c 20204098 branch mouse_seting_sensor_type 
 
 p_mouse_seting_s201_dpi:
-028a 6fe0c992 fetch 1 ,mem_mouse_dpi 
-028b c000028e beq mouse_dpi_level1 ,p_mouse_set_s201_dpi_0 
-028c c0008291 beq mouse_dpi_level2 ,p_mouse_set_s201_dpi_2 
-028d c0010294 beq mouse_dpi_level3 ,p_mouse_set_s201_dpi_3 
+028d 6fe0c992 fetch 1 ,mem_mouse_dpi 
+028e c0000293 beq mouse_dpi_level1 ,p_mouse_set_s201_dpi_0 
+028f c0008296 beq mouse_dpi_level2 ,p_mouse_set_s201_dpi_2 
+0290 c0010299 beq mouse_dpi_level3 ,p_mouse_set_s201_dpi_3 
+0291 c0018299 beq mouse_dpi_level4 ,p_mouse_set_s201_dpi_3 
+0292 c002029c beq mouse_dpi_level5 ,p_mouse_set_s201_dpi_4 
 
 p_mouse_set_s201_dpi_0:
-028e 6fe0cc39 fetch 1 ,mem_sensor_s201_dpi_0 
-028f 1fe22200 copy pdata ,rega 
-0290 20200297 branch p_mouse_dpi_s201_store 
+0293 6fe0cc39 fetch 1 ,mem_sensor_s201_dpi_0 
+0294 1fe22200 copy pdata ,rega 
+0295 2020029e branch p_mouse_dpi_s201_store 
 
 p_mouse_set_s201_dpi_2:
-0291 6fe0cc3b fetch 1 ,mem_sensor_s201_dpi_2 
-0292 1fe22200 copy pdata ,rega 
-0293 20200297 branch p_mouse_dpi_s201_store 
+0296 6fe0cc3b fetch 1 ,mem_sensor_s201_dpi_2 
+0297 1fe22200 copy pdata ,rega 
+0298 2020029e branch p_mouse_dpi_s201_store 
 
 p_mouse_set_s201_dpi_3:
-0294 6fe0cc3c fetch 1 ,mem_sensor_s201_dpi_3 
-0295 1fe22200 copy pdata ,rega 
-0296 20200297 branch p_mouse_dpi_s201_store 
+0299 6fe0cc3c fetch 1 ,mem_sensor_s201_dpi_3 
+029a 1fe22200 copy pdata ,rega 
+029b 2020029e branch p_mouse_dpi_s201_store 
+
+p_mouse_set_s201_dpi_4:
+029c 6fe0cc3d fetch 1 ,mem_sensor_s201_dpi_4 
+029d 1fe22200 copy pdata ,rega 
 
 p_mouse_dpi_s201_store:
-0297 5800c309 setarg 0xc309 
-0298 20405b0c call twspi_write 
-0299 1a227e00 copy rega ,pdata 
-029a 1fed7e00 lshift8 pdata ,pdata 
-029b 1fe0fe23 add pdata ,0x23 ,pdata 
-029c 20405b0c call twspi_write 
-029d 58000009 setarg 0x0009 
-029e 20205b0c branch twspi_write 
+029e 5800c309 setarg 0xc309 
+029f 20405b0c call twspi_write 
+02a0 1a227e00 copy rega ,pdata 
+02a1 1fed7e00 lshift8 pdata ,pdata 
+02a2 1fe0fe23 add pdata ,0x23 ,pdata 
+02a3 20405b0c call twspi_write 
+02a4 58000009 setarg 0x0009 
+02a5 20205b0c branch twspi_write 
 
 p_mouse_dpi_led_blink_delay:
-029f 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-02a0 c17f8000 rtneq gpio_disable 
-02a1 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
-02a2 247a0000 nrtn blank 
-02a3 6fe14883 fetch 2 ,mem_24g_pair_timeout 
-02a4 247a0000 nrtn blank 
-02a5 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
-02a6 247a0000 nrtn blank 
-02a7 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
-02a8 247a0000 nrtn blank 
-02a9 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-02aa 203a02d9 branch p_mouse_dpi_led_blink_init ,blank 
-02ab 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
-02ac 20600000 rtn 
+02a6 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+02a7 c17f8000 rtneq gpio_disable 
+02a8 6fe14ac2 fetch 2 ,mem_mouse_discovery_timer 
+02a9 247a0000 nrtn blank 
+02aa 6fe14883 fetch 2 ,mem_24g_pair_timeout 
+02ab 247a0000 nrtn blank 
+02ac 6fe14887 fetch 2 ,mem_24g_reconn_timeout 
+02ad 247a0000 nrtn blank 
+02ae 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
+02af 247a0000 nrtn blank 
+02b0 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
+02b1 203a02e0 branch p_mouse_dpi_led_blink_init ,blank 
+02b2 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
+02b3 20600000 rtn 
 
 p_mouse_bb_event_timer:
-02ad 20403e9b call mouse_adc_read 
-02ae 20404956 call mouse_low_voltage_led_timer 
-02af 2040232b call g24_pair_timeout_timer 
-02b0 20402556 call g24_reconn_timeout_timer 
-02b1 204047cd call mouse_24g_long_sleep_param_update_timer 
-02b2 204048be call mouse_device_poweron_timer 
-02b3 204002d6 call p_mouse_dpi_led_blink_delay_timer 
-02b4 2040407c call mouse_dpi_key_check_long_press 
-02b5 204044cc call mouse_bt_discovery_check 
-02b6 20400301 call p_mouse_commbination_key_process 
-02b7 204044ff call mouse_check_discovery_timeout_timer 
-02b8 20404504 call mouse_check_direct_timeout_timer 
-02b9 20404512 call mouse_le_enable_att_list_timer 
-02ba 20400316 call p_mouse_le_battery_updata_timer 
-02bb 20404515 call mouse_le_send_smp_security_request_timer 
-02bc 2040452a call mouse_check_hid_handshake_timer 
-02bd 2040452d call mouse_bt_check_sniff_req_timeout_timer 
-02be 20404532 call mouse_check_reconnect_delay_long_sleep 
-02bf 20404535 call mouse_current_mult_update_timer 
-02c0 20404022 call mouse_wheel_trigger_timer 
-02c1 20404547 call mouse_store_information_delay_timer 
-02c2 204002c8 call p_mouse_logo_led_on_timer 
-02c3 20400319 call p_mouse_check_no_data_timeout_timer 
-02c4 202002c5 branch p_mouse_g24_ota_reset_timer 
+02b4 20403e9b call mouse_adc_read 
+02b5 20404956 call mouse_low_voltage_led_timer 
+02b6 2040232b call g24_pair_timeout_timer 
+02b7 20402556 call g24_reconn_timeout_timer 
+02b8 204047cd call mouse_24g_long_sleep_param_update_timer 
+02b9 204048be call mouse_device_poweron_timer 
+02ba 204002dd call p_mouse_dpi_led_blink_delay_timer 
+02bb 2040407c call mouse_dpi_key_check_long_press 
+02bc 204044cc call mouse_bt_discovery_check 
+02bd 20400308 call p_mouse_commbination_key_process 
+02be 204044ff call mouse_check_discovery_timeout_timer 
+02bf 20404504 call mouse_check_direct_timeout_timer 
+02c0 20404512 call mouse_le_enable_att_list_timer 
+02c1 2040031d call p_mouse_le_battery_updata_timer 
+02c2 20404515 call mouse_le_send_smp_security_request_timer 
+02c3 2040452a call mouse_check_hid_handshake_timer 
+02c4 2040452d call mouse_bt_check_sniff_req_timeout_timer 
+02c5 20404532 call mouse_check_reconnect_delay_long_sleep 
+02c6 20404535 call mouse_current_mult_update_timer 
+02c7 20404022 call mouse_wheel_trigger_timer 
+02c8 20404547 call mouse_store_information_delay_timer 
+02c9 204002cf call p_mouse_logo_led_on_timer 
+02ca 20400320 call p_mouse_check_no_data_timeout_timer 
+02cb 202002cc branch p_mouse_g24_ota_reset_timer 
 
 p_mouse_g24_ota_reset_timer:
-02c5 da604c1d arg mem_g24_ota_reset_timer ,regc 
-02c6 da405d8c arg soft_reset_chip ,regb 
-02c7 2020318a branch timer_single_step 
+02cc da604c1d arg mem_g24_ota_reset_timer ,regc 
+02cd da405d8c arg soft_reset_chip ,regb 
+02ce 2020318a branch timer_single_step 
 
 p_mouse_logo_led_on_timer:
-02c8 6fe0cbed fetch 1 ,mem_mouse_logo_led_gpio 
-02c9 c17f8000 rtneq gpio_disable 
-02ca 6fe14ab2 fetch 2 ,mem_mouse_no_data_timer 
-02cb 207a0000 rtn blank 
-02cc 6fe14bbe fetch 2 ,mem_mouse_no_data_timeout 
-02cd 68494ab2 fetcht 2 ,mem_mouse_no_data_timer 
-02ce 98460400 isub temp ,temp 
-02cf 6fe14bee fetch 2 ,mem_mouse_logo_led_on_time_init 
-02d0 98467e00 isub temp ,pdata 
-02d1 202102d4 branch p_mouse_logo_led_on ,positive 
+02cf 6fe0cbed fetch 1 ,mem_mouse_logo_led_gpio 
+02d0 c17f8000 rtneq gpio_disable 
+02d1 6fe14ab2 fetch 2 ,mem_mouse_no_data_timer 
+02d2 207a0000 rtn blank 
+02d3 6fe14bbe fetch 2 ,mem_mouse_no_data_timeout 
+02d4 68494ab2 fetcht 2 ,mem_mouse_no_data_timer 
+02d5 98460400 isub temp ,temp 
+02d6 6fe14bee fetch 2 ,mem_mouse_logo_led_on_time_init 
+02d7 98467e00 isub temp ,pdata 
+02d8 202102db branch p_mouse_logo_led_on ,positive 
 
 p_mouse_logo_led_off:
-02d2 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-02d3 20206065 branch gpio_out_inactive 
+02d9 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+02da 20206065 branch gpio_out_inactive 
 
 p_mouse_logo_led_on:
-02d4 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-02d5 20406069 call gpio_out_active 
+02db 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+02dc 20406069 call gpio_out_active 
 
 p_mouse_dpi_led_blink_delay_timer:
-02d6 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-02d7 da4002d9 arg p_mouse_dpi_led_blink_init ,regb 
-02d8 2020318a branch timer_single_step 
+02dd da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+02de da4002e0 arg p_mouse_dpi_led_blink_init ,regb 
+02df 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-02d9 6fe0c927 fetch 1 ,mem_config_sensor_type 
-02da c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-02db c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-02dc 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-02dd 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-02de 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-02df 67e14930 store 2 ,mem_mouse_on_time 
-02e0 67e14932 store 2 ,mem_mouse_off_time 
-02e1 da200000 arg 0 ,rega 
-02e2 6848c992 fetcht 1 ,mem_mouse_dpi 
-02e3 18408402 increase 2 ,temp 
-02e4 18467c03 sub temp ,3 ,null 
-02e5 204102e8 call p_mouse_dpi_led_blink_init_level_4 ,positive 
-02e6 244102ec ncall p_mouse_dpi_led_blink_count_clean ,positive 
-02e7 202048ff branch mouse_dpi_led_blink_init_end 
+02e0 6fe0c927 fetch 1 ,mem_config_sensor_type 
+02e1 c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+02e2 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+02e3 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+02e4 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+02e5 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+02e6 67e14930 store 2 ,mem_mouse_on_time 
+02e7 67e14932 store 2 ,mem_mouse_off_time 
+02e8 da200000 arg 0 ,rega 
+02e9 6848c992 fetcht 1 ,mem_mouse_dpi 
+02ea 18408402 increase 2 ,temp 
+02eb 18467c03 sub temp ,3 ,null 
+02ec 204102ef call p_mouse_dpi_led_blink_init_level_4 ,positive 
+02ed 244102f3 ncall p_mouse_dpi_led_blink_count_clean ,positive 
+02ee 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-02e8 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-02e9 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-02ea 18408401 increase 1 ,temp 
-02eb 20600000 rtn 
+02ef 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+02f0 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+02f1 18408401 increase 1 ,temp 
+02f2 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-02ec 184085fd increase -3 ,temp 
-02ed 20600000 rtn 
+02f3 184085fd increase -3 ,temp 
+02f4 20600000 rtn 
 
 p_mouse_init_sunt:
-02ee 20403f65 call mouse_sensor_spi_init 
-02ef 20758000 rtn wake 
+02f5 20403f65 call mouse_sensor_spi_init 
+02f6 20758000 rtn wake 
 
 p_mouse_init_sensor_wakeup:
-02f0 20404236 call mouse_sensor_poweron 
+02f7 20404236 call mouse_sensor_poweron 
 
 p_mouse_init_sensor:
-02f1 204041b5 call mouse_read_sensor_id 
-02f2 c01802f8 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-02f3 c018c217 beq p3065_id1 ,mouse_init_p3065 
-02f4 c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
-02f5 204041b2 call mouse_twspi_reset 
-02f6 20001af4 nop 6900 
-02f7 202002f1 branch p_mouse_init_sensor 
+02f8 204041b5 call mouse_read_sensor_id 
+02f9 c01802ff beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+02fa c018c217 beq p3065_id1 ,mouse_init_p3065 
+02fb c02c4220 beq pka8g2_id1 ,mouse_ka8g2_id2_judge 
+02fc 204041b2 call mouse_twspi_reset 
+02fd 20001af4 nop 6900 
+02fe 202002f8 branch p_mouse_init_sensor 
 
 p_mouse_init_p32xx_id2_judge:
-02f8 6fe0c9c2 fetch 1 ,mem_sensor_id2 
-02f9 c06882fb beq p3205_tj3t_id2 ,p_mouse_3205_3t_init_param 
-02fa 202041bd branch mouse_init_p32xx_id2_judge + 1 
+02ff 6fe0c9c2 fetch 1 ,mem_sensor_id2 
+0300 c0688302 beq p3205_tj3t_id2 ,p_mouse_3205_3t_init_param 
+0301 202041bd branch mouse_init_p32xx_id2_judge + 1 
 
 p_mouse_3205_3t_init_param:
-02fb 58000049 setarg 0x49 
-02fc 20405b0d call twspi_read 
-02fd c05082ff beq 0xa1 ,p_mouse_s201x_init_param 
-02fe 202041da branch mouse_3205_3t_init_param 
+0302 58000049 setarg 0x49 
+0303 20405b0d call twspi_read 
+0304 c0508306 beq 0xa1 ,p_mouse_s201x_init_param 
+0305 202041da branch mouse_3205_3t_init_param 
 
 p_mouse_s201x_init_param:
-02ff 7049270c jam s201x ,mem_config_sensor_type 
-0300 20600000 rtn 
+0306 7049270c jam s201x ,mem_config_sensor_type 
+0307 20600000 rtn 
 
 p_mouse_commbination_key_process:
-0301 6fe0c938 fetch 1 ,mem_device_flag 
-0302 c0000307 beq mode_24g_device ,p_mouse_24g_commbination_key_process 
-0303 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0304 c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
-0305 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
-0306 2020030a branch p_mouse_commbination_key_start 
+0308 6fe0c938 fetch 1 ,mem_device_flag 
+0309 c000030e beq mode_24g_device ,p_mouse_24g_commbination_key_process 
+030a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+030b c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
+030c 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
+030d 20200311 branch p_mouse_commbination_key_start 
 
 p_mouse_24g_commbination_key_process:
-0307 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0308 c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
-0309 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
+030e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+030f c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
+0310 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
 
 p_mouse_commbination_key_start:
-030a 6048cb9d storet 1 ,mem_mouse_commbination_key 
-030b 20404115 call mouse_check_key_gpio 
-030c 1fe17e07 and pdata ,0x07 ,pdata 
-030d 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
-030e 98467c00 isub temp ,null 
-030f 20228311 branch p_mouse_commbination_key_down ,zero 
-0310 202044eb branch mouse_commbination_key_up 
+0311 6048cb9d storet 1 ,mem_mouse_commbination_key 
+0312 20404115 call mouse_check_key_gpio 
+0313 1fe17e07 and pdata ,0x07 ,pdata 
+0314 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
+0315 98467c00 isub temp ,null 
+0316 20228318 branch p_mouse_commbination_key_down ,zero 
+0317 202044eb branch mouse_commbination_key_up 
 
 p_mouse_commbination_key_down:
-0311 204044f6 call mouse_combination_ui_timer 
-0312 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
-0313 c1008000 rtneq commbination_key_state_down 
-0314 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
-0315 20600000 rtn 
+0318 204044f6 call mouse_combination_ui_timer 
+0319 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
+031a c1008000 rtneq commbination_key_state_down 
+031b 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
+031c 20600000 rtn 
 
 p_mouse_le_battery_updata_timer:
-0316 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0317 c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
-0318 2020451f branch mouse_le_battery_updata_timer 
+031d 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+031e c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
+031f 2020451f branch mouse_le_battery_updata_timer 
 
 p_mouse_check_no_data_timeout_timer:
-0319 6fe0c92a fetch 1 ,mem_usb_addr 
-031a c3838000 rtnbit1 7 
-031b da604ab2 arg mem_mouse_no_data_timer ,regc 
-031c da40031e arg p_mouse_check_no_data_timeout ,regb 
-031d 20203191 branch timer_single_step_2b 
+0320 6fe0c92a fetch 1 ,mem_usb_addr 
+0321 c3838000 rtnbit1 7 
+0322 da604ab2 arg mem_mouse_no_data_timer ,regc 
+0323 da400325 arg p_mouse_check_no_data_timeout ,regb 
+0324 20203191 branch timer_single_step_2b 
 
 p_mouse_check_no_data_timeout:
-031e 6fe0c938 fetch 1 ,mem_device_flag 
-031f c00001ce beq mode_24g_device ,p_mouse_24g_hibernate_set 
-0320 2020431b branch mouse_disconnect 
+0325 6fe0c938 fetch 1 ,mem_device_flag 
+0326 c00001ce beq mode_24g_device ,p_mouse_24g_hibernate_set 
+0327 2020431b branch mouse_disconnect 
 
 p_mouse_start_discovery:
-0321 6fe1478c fetch 2 ,mem_ui_state_map 
-0322 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-0323 2040c581 call mouse_stop_le_adv ,true 
-0324 6fe1478c fetch 2 ,mem_ui_state_map 
-0325 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-0326 2040c322 call mouse_cancel_reconnect ,true 
-0327 58000000 setarg 0 
-0328 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
-0329 20204554 branch mouse_start_discovery + 1 
+0328 6fe1478c fetch 2 ,mem_ui_state_map 
+0329 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+032a 2040c581 call mouse_stop_le_adv ,true 
+032b 6fe1478c fetch 2 ,mem_ui_state_map 
+032c 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+032d 2040c322 call mouse_cancel_reconnect ,true 
+032e 58000000 setarg 0 
+032f 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
+0330 20204554 branch mouse_start_discovery + 1 
 
 p_ui_timer_check:
-032a 6fe0cbe2 fetch 1 ,mem_power_on_flag 
-032b 245a7861 ncall ui_timer_init ,blank 
-032c 704be200 jam 0 ,mem_power_on_flag 
-032d 20207851 branch ui_timer_check + 1 
+0331 6fe0cbe2 fetch 1 ,mem_power_on_flag 
+0332 245a7861 ncall ui_timer_init ,blank 
+0333 704be200 jam 0 ,mem_power_on_flag 
+0334 20207851 branch ui_timer_check + 1 
 
 p_hid_rx_process:
-032e 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
-032f 1fe20c00 copy pdata ,contr 
-0330 efe08006 ifetch 1 ,contr 
-0331 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
-0332 1fe1040f and pdata ,0x0f ,temp 
-0333 1ff1fe00 rshift4 pdata ,pdata 
-0334 c0048336 beq hid_type_set_idle ,p_hid_rx_process_handshake 
-0335 20204d93 branch hid_rx_process + 7 
+0335 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
+0336 1fe20c00 copy pdata ,contr 
+0337 efe08006 ifetch 1 ,contr 
+0338 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
+0339 1fe1040f and pdata ,0x0f ,temp 
+033a 1ff1fe00 rshift4 pdata ,pdata 
+033b c004833d beq hid_type_set_idle ,p_hid_rx_process_handshake 
+033c 20204d93 branch hid_rx_process + 7 
 
 p_hid_rx_process_handshake:
-0336 da200001 arg 1 ,rega 
-0337 20404dc0 call hid_malloc_tx_buff 
-0338 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
-0339 e7e10005 istore 2 ,contw 
-033a 58000000 setarg 0 
-033b e7e08005 istore 1 ,contw 
-033c 70095001 jam 1 ,mem_ui_data_txbuff_length 
-033d 6fe0c4e2 fetch 1 ,mem_hid_control_state 
-033e 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
-033f 67e0c4e2 store 1 ,mem_hid_control_state 
-0340 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
-0341 20207871 branch ui_ipc_send_event 
+033d da200001 arg 1 ,rega 
+033e 20404dc0 call hid_malloc_tx_buff 
+033f 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
+0340 e7e10005 istore 2 ,contw 
+0341 58000000 setarg 0 
+0342 e7e08005 istore 1 ,contw 
+0343 70095001 jam 1 ,mem_ui_data_txbuff_length 
+0344 6fe0c4e2 fetch 1 ,mem_hid_control_state 
+0345 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
+0346 67e0c4e2 store 1 ,mem_hid_control_state 
+0347 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0348 20207871 branch ui_ipc_send_event 
 
 p_le_slave_match:
-0342 6fe0c3dd fetch 1 ,mem_le_md_count 
-0343 1fe0fe01 pincrease 1 
-0344 67e0c3dd store 1 ,mem_le_md_count 
-0345 c006165a beq le_md_max_count ,le_slave_cont 
-0346 2040191b call le_acknowledge 
-0347 2040196a call le_prepare_tx 
-0348 6fe082bd fetch 1 ,mem_le_tx_phy 
-0349 2040168b call le_enable_phy_by_pdata 
-034a 20401838 call le_transmit 
-034b 20201655 branch le_slave_match + 10 
+0349 6fe0c3dd fetch 1 ,mem_le_md_count 
+034a 1fe0fe01 pincrease 1 
+034b 67e0c3dd store 1 ,mem_le_md_count 
+034c c006165a beq le_md_max_count ,le_slave_cont 
+034d 2040191b call le_acknowledge 
+034e 2040196a call le_prepare_tx 
+034f 6fe082bd fetch 1 ,mem_le_tx_phy 
+0350 2040168b call le_enable_phy_by_pdata 
+0351 20401838 call le_transmit 
+0352 20201655 branch le_slave_match + 10 
 
 p_le_parse_l2cap:
-034c efe10006 ifetch 2 ,contr 
-034d c002034f beq le_l2cap_cid_att ,p_le_parse_att 
-034e 202019e4 branch le_parse_l2cap + 10 
+0353 efe10006 ifetch 2 ,contr 
+0354 c0020356 beq le_l2cap_cid_att ,p_le_parse_att 
+0355 202019e4 branch le_parse_l2cap + 10 
 
 p_le_parse_att:
-034f efe18006 ifetch 3 ,contr 
-0350 67e1c436 store 3 ,mem_le_att_opcode 
-0351 c0050354 beq attop_read_request ,p_le_parse_att_read_request 
-0352 c0090363 beq attop_write_request ,p_le_parse_att_write_request 
-0353 20201cd3 branch le_parse_att + 2 
+0356 efe18006 ifetch 3 ,contr 
+0357 67e1c436 store 3 ,mem_le_att_opcode 
+0358 c005035b beq attop_read_request ,p_le_parse_att_read_request 
+0359 c009036a beq attop_write_request ,p_le_parse_att_write_request 
+035a 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-0354 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0355 c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
-0356 20401e8d call le_check_encrypt_state 
-0357 68494437 fetcht 2 ,mem_le_att_handle 
-0358 6fe0c3c0 fetch 1 ,mem_le_configuration 
-0359 c281835e bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+035b 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+035c c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
+035d 20401e8d call le_check_encrypt_state 
+035e 68494437 fetcht 2 ,mem_le_att_handle 
+035f 6fe0c3c0 fetch 1 ,mem_le_configuration 
+0360 c2818365 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-035a 6fe14437 fetch 2 ,mem_le_att_handle 
-035b c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
-035c 68494437 fetcht 2 ,mem_le_att_handle 
-035d 20201deb branch le_send_att_read_response 
+0361 6fe14437 fetch 2 ,mem_le_att_handle 
+0362 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
+0363 68494437 fetcht 2 ,mem_le_att_handle 
+0364 20201deb branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-035e 6fe143d1 fetch 2 ,mem_le_pairing_handle 
-035f 98467c00 isub temp ,null 
-0360 2422835a nbranch p_le_send_att_read_response ,zero 
-0361 2434035a nbranch p_le_send_att_read_response ,user 
-0362 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+0365 6fe143d1 fetch 2 ,mem_le_pairing_handle 
+0366 98467c00 isub temp ,null 
+0367 24228361 nbranch p_le_send_att_read_response ,zero 
+0368 24340361 nbranch p_le_send_att_read_response ,user 
+0369 20201e10 branch le_send_att_read_response_error_insufficient_auth 
 
 p_le_parse_att_write_request:
-0363 18c22200 copy contr ,rega 
-0364 6fe143d4 fetch 2 ,mem_le_l2cap_size 
-0365 1fe0a5fd add pdata ,-3 ,regb 
-0366 20401a25 call le_writeatt_cb 
-0367 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-0368 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
-0369 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-036a 203a1e73 branch le_send_att_write_response_check_auth ,blank 
-036b 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
-036c c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-036d 5800001a setarg 0x001a 
-036e 68494437 fetcht 2 ,mem_le_att_handle 
-036f 98467c00 isub temp ,null 
-0370 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
-0371 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
-0372 20201ec9 branch le_send_att_error_response 
+036a 18c22200 copy contr ,rega 
+036b 6fe143d4 fetch 2 ,mem_le_l2cap_size 
+036c 1fe0a5fd add pdata ,-3 ,regb 
+036d 20401a25 call le_writeatt_cb 
+036e 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+036f c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
+0370 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+0371 203a1e73 branch le_send_att_write_response_check_auth ,blank 
+0372 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
+0373 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+0374 5800001a setarg 0x001a 
+0375 68494437 fetcht 2 ,mem_le_att_handle 
+0376 98467c00 isub temp ,null 
+0377 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
+0378 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
+0379 20201ec9 branch le_send_att_error_response 
 
 p_g24_lpm_wait:
-0373 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
-0374 243a7e56 nbranch disable_user ,blank 
-0375 78347c00 enable user 
-0376 20401465 call lpo_calibration 
-0377 6fe1c174 fetch 3 ,mem_clks_per_lpo 
-0378 203a7e56 branch disable_user ,blank 
-0379 6fe0c099 fetch 1 ,mem_lpm_mode 
-037a 203a7e56 branch disable_user ,blank 
-037b 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
-037c c000fe56 beq g24_tx_timer_int_enable ,disable_user 
-037d 20600000 rtn 
+037a 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
+037b 243a7e56 nbranch disable_user ,blank 
+037c 78347c00 enable user 
+037d 20401465 call lpo_calibration 
+037e 6fe1c174 fetch 3 ,mem_clks_per_lpo 
+037f 203a7e56 branch disable_user ,blank 
+0380 6fe0c099 fetch 1 ,mem_lpm_mode 
+0381 203a7e56 branch disable_user ,blank 
+0382 6fe0c8bd fetch 1 ,mem_24g_transmit_by_interrupt 
+0383 c000fe56 beq g24_tx_timer_int_enable ,disable_user 
+0384 20600000 rtn 
 
 p_mouse_motion:
-037e 78547c00 disable user 
-037f 58000000 setarg 0 
-0380 67e348d1 store 6 ,mem_mouse_x 
-0381 20404240 call mouse_check_sensor_data 
-0382 20400287 call p_mouse_seting_sensor_type 
-0383 20403f7e call mouse_zwheel 
-0384 20403f83 call mouse_t_zwheel 
-0385 204040dc call mouse_key 
-0386 6fe0c8d0 fetch 1 ,mem_mouse_key 
-0387 1fe17e1f and_into 0x1f ,pdata 
-0388 67e0c8d0 store 1 ,mem_mouse_key 
-0389 24344728 nbranch mouse_drawing_optima_init ,user 
-038a 2040038c call p_mouse_drawing_optima 
-038b 20204544 branch mouse_no_data_timer_init 
+0385 78547c00 disable user 
+0386 58000000 setarg 0 
+0387 67e348d1 store 6 ,mem_mouse_x 
+0388 20404240 call mouse_check_sensor_data 
+0389 20400396 call p_mouse_data_zoom 
+038a 58000089 setarg 0x0089 
+038b 20405b0c call twspi_write 
+038c 2040028a call p_mouse_seting_sensor_type 
+038d 20403f7e call mouse_zwheel 
+038e 20403f83 call mouse_t_zwheel 
+038f 204040dc call mouse_key 
+0390 6fe0c8d0 fetch 1 ,mem_mouse_key 
+0391 1fe17e1f and_into 0x1f ,pdata 
+0392 67e0c8d0 store 1 ,mem_mouse_key 
+0393 24344728 nbranch mouse_drawing_optima_init ,user 
+0394 204003b4 call p_mouse_drawing_optima 
+0395 20204544 branch mouse_no_data_timer_init 
+
+p_mouse_data_zoom:
+0396 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0397 c1860000 rtnne s201x 
+0398 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0399 c1818000 rtnne mouse_dpi_level4 
+039a 6fe148d1 fetch 2 ,mem_mouse_x 
+039b 204003a1 call p_mouse_6400_zoom 
+039c 67e148d1 store 2 ,mem_mouse_x 
+039d 6fe148d3 fetch 2 ,mem_mouse_y 
+039e 204003a1 call p_mouse_6400_zoom 
+039f 67e148d3 store 2 ,mem_mouse_y 
+03a0 20600000 rtn 
+
+p_mouse_6400_zoom:
+03a1 c28383a4 bbit1 7 ,p_mouse_xy_inverse 
+03a2 c30383a8 bbit0 7 ,p_mouse_xy_zoom 
+03a3 20600000 rtn 
+
+p_mouse_xy_inverse:
+03a4 1fe67e00 sub pdata ,0 ,pdata 
+03a5 204003a8 call p_mouse_xy_zoom 
+03a6 1fe67e00 sub pdata ,0 ,pdata 
+03a7 20600000 rtn 
+
+p_mouse_xy_zoom:
+03a8 1fe3fe00 lshift pdata ,pdata 
+03a9 793ffe0e set0 14 ,pdata 
+03aa 793ffe0f set0 15 ,pdata 
+03ab 67e14c3e store 2 ,mem_mouse_temp_data 
+03ac 6fe0cc3e fetch 1 ,mem_mouse_temp_data 
+03ad 1fe67c7f sub pdata ,0x7f ,null 
+03ae 244103b1 ncall p_mouse_xy_forward_overflow ,positive 
+03af 6fe14c3e fetch 2 ,mem_mouse_temp_data 
+03b0 20600000 rtn 
+
+p_mouse_xy_forward_overflow:
+03b1 5800007f setarg 0x7f 
+03b2 67e14c3e store 2 ,mem_mouse_temp_data 
+03b3 20600000 rtn 
 
 p_mouse_drawing_optima:
-038c 6fe0c927 fetch 1 ,mem_config_sensor_type 
-038d c1018000 rtneq p3212 
-038e 2020471a branch mouse_drawing_optima 
+03b4 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03b5 c1018000 rtneq p3212 
+03b6 2020471a branch mouse_drawing_optima 
 
 p_mouse_sensor_poweron:
-038f 20403f65 call mouse_sensor_spi_init 
-0390 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0391 c0058396 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
-0392 20404232 call mouse_sensor_reset 
-0393 da604aa3 arg mem_sensor_poweron_init ,regc 
-0394 2040422b call mouse_sensor_wr_seq 
-0395 2020408e branch mouse_dpi_config 
+03b7 20403f65 call mouse_sensor_spi_init 
+03b8 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03b9 c00583be beq ka8g2 ,p_mouse_ka8g2_sensor_init 
+03ba 20404232 call mouse_sensor_reset 
+03bb da604aa3 arg mem_sensor_poweron_init ,regc 
+03bc 2040422b call mouse_sensor_wr_seq 
+03bd 2020408e branch mouse_dpi_config 
 
 p_mouse_ka8g2_sensor_init:
-0396 2040039d call p_mouse_ka8g2_sensor_reset 
-0397 da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
-0398 2040422b call mouse_sensor_wr_seq 
-0399 2020408e branch mouse_dpi_config 
+03be 204003c5 call p_mouse_ka8g2_sensor_reset 
+03bf da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
+03c0 2040422b call mouse_sensor_wr_seq 
+03c1 2020408e branch mouse_dpi_config 
 
 p_mouse_sensor_reset:
-039a 6fe0c927 fetch 1 ,mem_config_sensor_type 
-039b c005839d beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
-039c 20204232 branch mouse_sensor_reset 
+03c2 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03c3 c00583c5 beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
+03c4 20204232 branch mouse_sensor_reset 
 
 p_mouse_ka8g2_sensor_reset:
-039d 58009706 setarg 0x9706 
-039e 20405b0c call twspi_write 
-039f 20002ee0 nop 12000 
-03a0 20600000 rtn 
+03c5 58009706 setarg 0x9706 
+03c6 20405b0c call twspi_write 
+03c7 20002ee0 nop 12000 
+03c8 20600000 rtn 
 
 p_mouse_sensor_powerdown:
-03a1 204041a7 call mouse_init_sunt 
-03a2 20403f65 call mouse_sensor_spi_init 
-03a3 6fe0c927 fetch 1 ,mem_config_sensor_type 
-03a4 c00583a7 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
-03a5 58000806 setarg 0x0806 
-03a6 20205b0c branch twspi_write 
+03c9 204041a7 call mouse_init_sunt 
+03ca 20403f65 call mouse_sensor_spi_init 
+03cb 6fe0c927 fetch 1 ,mem_config_sensor_type 
+03cc c00583cf beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
+03cd 58000806 setarg 0x0806 
+03ce 20205b0c branch twspi_write 
 
 p_mouse_ka8g2_sensor_powerdown:
-03a7 58001f06 setarg 0x1f06 
-03a8 20205b0c branch twspi_write 
+03cf 58001f06 setarg 0x1f06 
+03d0 20205b0c branch twspi_write 
 
 p_mouse_check_key_gpio:
-03a9 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-03aa 245a4121 ncall mouse_check_key_gpio_once ,blank 
-03ab da200000 arg 0 ,rega 
-03ac 204003b2 call p_mouse_check_lkey_gpio 
-03ad 204003b7 call p_mouse_check_rkey_gpio 
-03ae 204003bc call p_mouse_check_mkey_gpio 
-03af 204003c1 call p_mouse_check_bkkey_gpio 
-03b0 204003ce call p_mouse_check_fwkey_gpio 
-03b1 2020411e branch mouse_check_key_gpio_next 
+03d1 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+03d2 245a4121 ncall mouse_check_key_gpio_once ,blank 
+03d3 da200000 arg 0 ,rega 
+03d4 204003da call p_mouse_check_lkey_gpio 
+03d5 204003df call p_mouse_check_rkey_gpio 
+03d6 204003e4 call p_mouse_check_mkey_gpio 
+03d7 204003e9 call p_mouse_check_bkkey_gpio 
+03d8 204003f6 call p_mouse_check_fwkey_gpio 
+03d9 2020411e branch mouse_check_key_gpio_next 
 
 p_mouse_check_lkey_gpio:
-03b2 6fe0c918 fetch 1 ,mem_lbutton_gpio 
-03b3 204003db call p_mouse_gpio_config_output_high 
-03b4 20404124 call mouse_check_lkey_gpio 
-03b5 6848c918 fetcht 1 ,mem_lbutton_gpio 
-03b6 20203f56 branch mouse_gpio_config_input_pu 
+03da 6fe0c918 fetch 1 ,mem_lbutton_gpio 
+03db 20400403 call p_mouse_gpio_config_output_high 
+03dc 20404124 call mouse_check_lkey_gpio 
+03dd 6848c918 fetcht 1 ,mem_lbutton_gpio 
+03de 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
-03b7 6fe0c919 fetch 1 ,mem_rbutton_gpio 
-03b8 204003db call p_mouse_gpio_config_output_high 
-03b9 2040412a call mouse_check_rkey_gpio 
-03ba 6848c919 fetcht 1 ,mem_rbutton_gpio 
-03bb 20203f56 branch mouse_gpio_config_input_pu 
+03df 6fe0c919 fetch 1 ,mem_rbutton_gpio 
+03e0 20400403 call p_mouse_gpio_config_output_high 
+03e1 2040412a call mouse_check_rkey_gpio 
+03e2 6848c919 fetcht 1 ,mem_rbutton_gpio 
+03e3 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
-03bc 6fe0c91a fetch 1 ,mem_mbutton_gpio 
-03bd 204003db call p_mouse_gpio_config_output_high 
-03be 20404130 call mouse_check_mkey_gpio 
-03bf 6848c91a fetcht 1 ,mem_mbutton_gpio 
-03c0 20203f56 branch mouse_gpio_config_input_pu 
+03e4 6fe0c91a fetch 1 ,mem_mbutton_gpio 
+03e5 20400403 call p_mouse_gpio_config_output_high 
+03e6 20404130 call mouse_check_mkey_gpio 
+03e7 6848c91a fetcht 1 ,mem_mbutton_gpio 
+03e8 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_bkkey_gpio:
-03c1 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-03c2 c17f8000 rtneq gpio_disable 
-03c3 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
-03c4 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
-03c5 1fe22600 copy pdata ,regc 
-03c6 6848c90d fetcht 1 ,mem_bk_button_gpio 
-03c7 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-03c8 c07f83ca beq gpio_disable ,p_mouse_3io6key_bk_check 
-03c9 2020413e branch mouse_check_bkkey_gpio_next 
+03e9 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+03ea c17f8000 rtneq gpio_disable 
+03eb 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
+03ec 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
+03ed 1fe22600 copy pdata ,regc 
+03ee 6848c90d fetcht 1 ,mem_bk_button_gpio 
+03ef 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+03f0 c07f83f2 beq gpio_disable ,p_mouse_3io6key_bk_check 
+03f1 2020413e branch mouse_check_bkkey_gpio_next 
 
 p_mouse_3io6key_bk_check:
-03ca 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-03cb 204003dd call p_mouse_gpio_config_output_low 
-03cc 6848c90d fetcht 1 ,mem_bk_button_gpio 
-03cd 2020414b branch mouse_3io6key_bk_check 
+03f2 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+03f3 20400405 call p_mouse_gpio_config_output_low 
+03f4 6848c90d fetcht 1 ,mem_bk_button_gpio 
+03f5 2020414b branch mouse_3io6key_bk_check 
 
 p_mouse_check_fwkey_gpio:
-03ce 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-03cf c17f8000 rtneq gpio_disable 
-03d0 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
-03d1 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
-03d2 1fe22600 copy pdata ,regc 
-03d3 6848c90e fetcht 1 ,mem_fw_button_gpio 
-03d4 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-03d5 c07f83d7 beq gpio_disable ,p_mouse_3io6key_fw_check 
-03d6 20204157 branch mouse_check_fwkey_gpio_next 
+03f6 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+03f7 c17f8000 rtneq gpio_disable 
+03f8 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
+03f9 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
+03fa 1fe22600 copy pdata ,regc 
+03fb 6848c90e fetcht 1 ,mem_fw_button_gpio 
+03fc 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+03fd c07f83ff beq gpio_disable ,p_mouse_3io6key_fw_check 
+03fe 20204157 branch mouse_check_fwkey_gpio_next 
 
 p_mouse_3io6key_fw_check:
-03d7 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-03d8 204003dd call p_mouse_gpio_config_output_low 
-03d9 6848c90e fetcht 1 ,mem_fw_button_gpio 
-03da 20204164 branch mouse_3io6key_fw_check 
+03ff 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+0400 20400405 call p_mouse_gpio_config_output_low 
+0401 6848c90e fetcht 1 ,mem_fw_button_gpio 
+0402 20204164 branch mouse_3io6key_fw_check 
 
 p_mouse_gpio_config_output_high:
-03db d840003f arg gpcfg_output_high ,temp 
-03dc 20206093 branch gpio_config_function_int 
+0403 d840003f arg gpcfg_output_high ,temp 
+0404 20206093 branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-03dd d840003e arg gpcfg_output_low ,temp 
-03de 20206093 branch gpio_config_function_int 
+0405 d840003e arg gpcfg_output_low ,temp 
+0406 20206093 branch gpio_config_function_int 
 
 p_mouse_idle:
-03df 20404990 call mouse_low_voltage_led_no_enter_lpm 
-03e0 20407936 call ui_check_paring_button 
-03e1 204003e4 call p_mouse_dpi_check 
-03e2 204003f8 call p_mouse_dpi_another_gpio_check 
-03e3 2020464f branch mouse_idle + 4 
+0407 20404990 call mouse_low_voltage_led_no_enter_lpm 
+0408 20407936 call ui_check_paring_button 
+0409 2040040c call p_mouse_dpi_check 
+040a 20400420 call p_mouse_dpi_another_gpio_check 
+040b 2020464f branch mouse_idle + 4 
 
 p_mouse_dpi_check:
-03e4 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-03e5 c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
-03e6 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-03e7 c17f8000 rtneq gpio_disable 
-03e8 da200000 arg 0 ,rega 
-03e9 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
-03ea 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-03eb 204003ed call p_mouse_dpi_key_check 
-03ec 2020402f branch mouse_dpi_check_next 
+040c 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+040d c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
+040e 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+040f c17f8000 rtneq gpio_disable 
+0410 da200000 arg 0 ,rega 
+0411 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
+0412 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+0413 20400415 call p_mouse_dpi_key_check 
+0414 2020402f branch mouse_dpi_check_next 
 
 p_mouse_dpi_key_check:
-03ed 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-03ee c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-03ef 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
-03f0 1fe22600 copy pdata ,regc 
-03f1 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-03f2 c07f83f4 beq gpio_disable ,p_mouse_3io6key_dpi_check 
-03f3 2020403f branch mouse_dpi_key_check_next 
+0415 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0416 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+0417 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
+0418 1fe22600 copy pdata ,regc 
+0419 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+041a c07f841c beq gpio_disable ,p_mouse_3io6key_dpi_check 
+041b 2020403f branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-03f4 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-03f5 204003dd call p_mouse_gpio_config_output_low 
-03f6 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-03f7 20204195 branch mouse_3io6key_check 
+041c 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+041d 20400405 call p_mouse_gpio_config_output_low 
+041e 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+041f 20204195 branch mouse_3io6key_check 
 
 p_mouse_dpi_another_gpio_check:
-03f8 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-03f9 c41e8000 rtnbit0 mouse_enable_double_dpi_key 
-03fa 6fe0cc32 fetch 1 ,mem_dpi_another_button_gpio 
-03fb 204003db call p_mouse_gpio_config_output_high 
-03fc 204003ff call p_mouse_dpi_another_check 
-03fd 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
-03fe 20203f56 branch mouse_gpio_config_input_pu 
+0420 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0421 c41e8000 rtnbit0 mouse_enable_double_dpi_key 
+0422 6fe0cc32 fetch 1 ,mem_dpi_another_button_gpio 
+0423 20400403 call p_mouse_gpio_config_output_high 
+0424 20400427 call p_mouse_dpi_another_check 
+0425 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
+0426 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_dpi_another_check:
-03ff 704c3600 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
-0400 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
-0401 6fe0cc33 fetch 1 ,mem_dpi_another_press_status 
-0402 2040040e call p_mouse_check_key_connect_gnd_new 
-0403 67e0cc33 store 1 ,mem_dpi_another_press_status 
-0404 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
-0405 203a040a branch p_mouse_dpi_another_up ,blank 
+0427 704c3600 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+0428 6848cc32 fetcht 1 ,mem_dpi_another_button_gpio 
+0429 6fe0cc33 fetch 1 ,mem_dpi_another_press_status 
+042a 20400436 call p_mouse_check_key_connect_gnd_new 
+042b 67e0cc33 store 1 ,mem_dpi_another_press_status 
+042c 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
+042d 203a0432 branch p_mouse_dpi_another_up ,blank 
 
 p_mouse_dpi_another_down:
-0406 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
-0407 c1008000 rtneq dpi_button_state_down 
-0408 704c3401 jam dpi_button_state_down ,mem_dpi_another_button_state 
-0409 20204069 branch mouse_dpi_process 
+042e 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
+042f c1008000 rtneq dpi_button_state_down 
+0430 704c3401 jam dpi_button_state_down ,mem_dpi_another_button_state 
+0431 20204069 branch mouse_dpi_process 
 
 p_mouse_dpi_another_up:
-040a 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
-040b c1000000 rtneq dpi_button_state_up 
-040c 704c3400 jam dpi_button_state_up ,mem_dpi_another_button_state 
-040d 20600000 rtn 
+0432 6fe0cc34 fetch 1 ,mem_dpi_another_button_state 
+0433 c1000000 rtneq dpi_button_state_up 
+0434 704c3400 jam dpi_button_state_up ,mem_dpi_another_button_state 
+0435 20600000 rtn 
 
 p_mouse_check_key_connect_gnd_new:
-040e 1fe3fe00 lshift pdata ,pdata 
-040f 1fe22400 copy pdata ,regb 
-0410 20406059 call gpio_get_bit 
-0411 7920a400 setflag true ,0 ,regb 
-0412 1a417e07 and regb ,0x07 ,pdata 
-0413 6848cc36 fetcht 1 ,mem_mouse_key_temp_patch 
-0414 18420e00 copy temp ,queue 
-0415 c0038418 beq 0x07 ,p_mouse_key_press 
-0416 c000041a beq 0x00 ,p_mouse_key_release 
-0417 20600000 rtn 
+0436 1fe3fe00 lshift pdata ,pdata 
+0437 1fe22400 copy pdata ,regb 
+0438 20406059 call gpio_get_bit 
+0439 7920a400 setflag true ,0 ,regb 
+043a 1a417e07 and regb ,0x07 ,pdata 
+043b 6848cc36 fetcht 1 ,mem_mouse_key_temp_patch 
+043c 18420e00 copy temp ,queue 
+043d c0038440 beq 0x07 ,p_mouse_key_press 
+043e c0000442 beq 0x00 ,p_mouse_key_release 
+043f 20600000 rtn 
 
 p_mouse_key_press:
-0418 704c3501 jam 1 ,mem_dpi_another_button_down_enable 
-0419 20600000 rtn 
+0440 704c3501 jam 1 ,mem_dpi_another_button_down_enable 
+0441 20600000 rtn 
 
 p_mouse_key_release:
-041a 704c3500 jam 0 ,mem_dpi_another_button_down_enable 
-041b 20600000 rtn 
+0442 704c3500 jam 0 ,mem_dpi_another_button_down_enable 
+0443 20600000 rtn 
 
 p_mouse_dpi_process:
-041c 20404072 call mouse_dpi_ghost_check 
-041d 20740000 rtn user 
-041e 6fe0c992 fetch 1 ,mem_mouse_dpi 
-041f 1fe20400 copy pdata ,temp 
-0420 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0421 c29e8428 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
-0422 18427e00 copy temp ,pdata 
-0423 1fe0fe01 increase 1 ,pdata 
-0424 1fe17e03 and pdata ,0x03 ,pdata 
+0444 20404072 call mouse_dpi_ghost_check 
+0445 20740000 rtn user 
+0446 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0447 1fe20400 copy pdata ,temp 
+0448 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0449 c29e845a bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
+044a 18427e00 copy temp ,pdata 
+044b 1fe0fe01 increase 1 ,pdata 
+044c 1fe20400 copy pdata ,temp 
+044d 6fe0c927 fetch 1 ,mem_config_sensor_type 
+044e c0060454 beq s201x ,p_mouse_s201_dpi_level5_store 
+044f 18427e00 copy temp ,pdata 
+0450 1fe17e03 and pdata ,0x03 ,pdata 
 
 p_mouse_dpi_store:
-0425 67e0c992 store 1 ,mem_mouse_dpi 
-0426 20404095 call mouse_seting_dpi 
-0427 20204643 branch mouse_store_eerpom_dpi 
+0451 67e0c992 store 1 ,mem_mouse_dpi 
+0452 20404095 call mouse_seting_dpi 
+0453 20204643 branch mouse_store_eerpom_dpi 
+
+p_mouse_s201_dpi_level5_store:
+0454 18467c04 sub temp ,mouse_dpi_level5 ,null 
+0455 24210458 nbranch p_mouse_dpi_clr ,positive 
+0456 18427e00 copy temp ,pdata 
+0457 20200451 branch p_mouse_dpi_store 
+
+p_mouse_dpi_clr:
+0458 58000000 setarg 0 
+0459 20200451 branch p_mouse_dpi_store 
 
 p_mouse_double_dpi_check:
-0428 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
-0429 243a0433 nbranch p_mouse_another_dpi_button_down ,blank 
+045a 6fe0cc35 fetch 1 ,mem_dpi_another_button_down_enable 
+045b 243a0465 nbranch p_mouse_another_dpi_button_down ,blank 
 
 p_mouse_dpi_increase:
-042a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-042b c28e0430 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
-042c 18427e00 copy temp ,pdata 
-042d c1010000 rtneq mouse_dpi_level3 
+045c 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+045d c28e0462 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
+045e 18427e00 copy temp ,pdata 
+045f c1010000 rtneq mouse_dpi_level3 
 
 p_mouse_dpi_increase_level:
-042e 1fe0fe01 increase 1 ,pdata 
-042f 20200425 branch p_mouse_dpi_store 
+0460 1fe0fe01 increase 1 ,pdata 
+0461 20200451 branch p_mouse_dpi_store 
 
 p_mouse_dpi_increase_level_4:
-0430 18427e00 copy temp ,pdata 
-0431 c1018000 rtneq mouse_dpi_level4 
-0432 2020042e branch p_mouse_dpi_increase_level 
+0462 18427e00 copy temp ,pdata 
+0463 c1018000 rtneq mouse_dpi_level4 
+0464 20200460 branch p_mouse_dpi_increase_level 
 
 p_mouse_another_dpi_button_down:
 
 p_mouse_dpi_decrease:
-0433 18427e00 copy temp ,pdata 
-0434 c1000000 rtneq mouse_dpi_level1 
-0435 1fe0ffff increase -1 ,pdata 
-0436 20200425 branch p_mouse_dpi_store 
+0465 18427e00 copy temp ,pdata 
+0466 c1000000 rtneq mouse_dpi_level1 
+0467 1fe0ffff increase -1 ,pdata 
+0468 20200451 branch p_mouse_dpi_store 
 
 p_g24_parse_rx_ota_sm:
-0437 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
-0438 207a0000 rtn blank 
-0439 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-043a c0010443 beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
-043b c0028445 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
-043c c0040447 beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
-043d c0058449 beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
-043e c007044b beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
-043f c0088441 beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
-0440 20600000 rtn 
+0469 6fe0cbf6 fetch 1 ,mem_g24_ota_mode 
+046a 207a0000 rtn blank 
+046b 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+046c c0010475 beq g24_ota_sm_tx_version ,p_g24_ota_sm_tx_version 
+046d c0028477 beq g24_ota_sm_tx_info ,p_g24_ota_sm_tx_info 
+046e c0040479 beq g24_ota_sm_tx_config ,p_g24_ota_sm_tx_config 
+046f c005847b beq g24_ota_sm_tx_set_config_end ,p_g24_ota_sm_tx_config_end 
+0470 c007047d beq g24_ota_sm_tx_data ,p_g24_ota_sm_tx_data 
+0471 c0088473 beq g24_ota_sm_tx_reset ,p_g24_ota_sm_tx_reset 
+0472 20600000 rtn 
 
 p_g24_ota_sm_tx_reset:
-0441 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
-0442 20600000 rtn 
+0473 704bf712 jam g24_ota_sm_tx_reset_ok ,mem_g24_ota_sm 
+0474 20600000 rtn 
 
 p_g24_ota_sm_tx_version:
-0443 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
-0444 20600000 rtn 
+0475 704bf703 jam g24_ota_sm_tx_version_ok ,mem_g24_ota_sm 
+0476 20600000 rtn 
 
 p_g24_ota_sm_tx_info:
-0445 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
-0446 20600000 rtn 
+0477 704bf706 jam g24_ota_sm_tx_info_ok ,mem_g24_ota_sm 
+0478 20600000 rtn 
 
 p_g24_ota_sm_tx_config:
-0447 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
-0448 20600000 rtn 
+0479 704bf709 jam g24_ota_sm_tx_config_ok ,mem_g24_ota_sm 
+047a 20600000 rtn 
 
 p_g24_ota_sm_tx_config_end:
-0449 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-044a 20600000 rtn 
+047b 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+047c 20600000 rtn 
 
 p_g24_ota_sm_tx_data:
-044b 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-044c 20600000 rtn 
+047d 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+047e 20600000 rtn 
 
 p_g24_mouse_parse_rx:
-044d 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
-044e 203a0437 branch p_g24_parse_rx_ota_sm ,blank 
-044f 1fe22400 copy pdata ,regb 
-0450 70482a00 jam 0 ,mem_24g_rxdata_length 
-0451 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-0452 c057845f beq datatype_ota ,p_g24_rx_ota 
-0453 20600000 rtn 
+047f 6fe0c82a fetch 1 ,mem_24g_rxdata_length 
+0480 203a0469 branch p_g24_parse_rx_ota_sm ,blank 
+0481 1fe22400 copy pdata ,regb 
+0482 70482a00 jam 0 ,mem_24g_rxdata_length 
+0483 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+0484 c0578491 beq datatype_ota ,p_g24_rx_ota 
+0485 20600000 rtn 
 
 p_g24_ota_mode_enable:
-0454 704bf601 jam 1 ,mem_g24_ota_mode 
-0455 70409900 jam 0 ,mem_lpm_mode 
-0456 2020053f branch p_ota_init 
+0486 704bf601 jam 1 ,mem_g24_ota_mode 
+0487 70409900 jam 0 ,mem_lpm_mode 
+0488 20200571 branch p_ota_init 
 
 p_g24_ota_dispatch:
-0457 20600000 rtn 
+0489 20600000 rtn 
 
 p_g24_ota_transmit:
-0458 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0459 20402291 call g24_transmit_prep 
-045a 2040265b call g24_transmit_receive_ack 
-045b 246c0000 nrtn sync 
-045c 24778000 nrtn user3 
-045d 20402597 call g24_txbuf_clear 
-045e 20202672 branch g24_ackpayload_parse 
+048a 7047c6af jam datatype_ota ,mem_24g_txbuf 
+048b 20402291 call g24_transmit_prep 
+048c 2040265b call g24_transmit_receive_ack 
+048d 246c0000 nrtn sync 
+048e 24778000 nrtn user3 
+048f 20402597 call g24_txbuf_clear 
+0490 20202672 branch g24_ackpayload_parse 
 
 p_g24_rx_ota:
-045f 6fe0c80a fetch 1 ,mem_24g_rxpayload 
-0460 c1d78000 rtnne datatype_ota 
-0461 efe08006 ifetch 1 ,contr 
-0462 e8408006 ifetcht 1 ,contr 
-0463 18467c02 sub temp ,g24_ota_target_mouse ,null 
-0464 2422937a nbranch assert ,zero 
-0465 c000846e beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
-0466 c0010471 beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
-0467 c0018473 beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
-0468 c0020475 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
-0469 c00284cd beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
-046a c00304f3 beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
-046b c07f846d beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
-046c 2020137a branch assert 
+0491 6fe0c80a fetch 1 ,mem_24g_rxpayload 
+0492 c1d78000 rtnne datatype_ota 
+0493 efe08006 ifetch 1 ,contr 
+0494 e8408006 ifetcht 1 ,contr 
+0495 18467c02 sub temp ,g24_ota_target_mouse ,null 
+0496 2422937a nbranch assert ,zero 
+0497 c00084a0 beq g24_ota_cmd_version ,p_g24_mouse_ota_process_version 
+0498 c00104a3 beq g24_ota_cmd_info ,p_g24_mouse_ota_process_info 
+0499 c00184a5 beq g24_ota_cmd_config ,p_g24_mouse_ota_process_config 
+049a c00204a7 beq g24_ota_cmd_set_config_end ,p_g24_mouse_ota_process_set_config_end 
+049b c00284ff beq g24_ota_cmd_data ,p_g24_mouse_ota_process_data 
+049c c0030525 beq g24_ota_cmd_reset ,p_g24_mouse_ota_process_reset 
+049d c07f849f beq g24_ota_cmd_ping ,p_g24_mouse_ota_process_ping 
+049e 2020137a branch assert 
 
 p_g24_mouse_ota_process_ping:
-046d 20600000 rtn 
+049f 20600000 rtn 
 
 p_g24_mouse_ota_process_version:
-046e 20400454 call p_g24_ota_mode_enable 
-046f 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
-0470 20600000 rtn 
+04a0 20400486 call p_g24_ota_mode_enable 
+04a1 704bf701 jam g24_ota_sm_rx_version ,mem_g24_ota_sm 
+04a2 20600000 rtn 
 
 p_g24_mouse_ota_process_info:
-0471 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
-0472 20600000 rtn 
+04a3 704bf704 jam g24_ota_sm_rx_info ,mem_g24_ota_sm 
+04a4 20600000 rtn 
 
 p_g24_mouse_ota_process_config:
-0473 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
-0474 20600000 rtn 
+04a5 704bf707 jam g24_ota_sm_rx_config ,mem_g24_ota_sm 
+04a6 20600000 rtn 
 
 p_g24_mouse_ota_process_set_config_end:
-0475 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
-0476 efe10006 ifetch 2 ,contr 
-0477 e8410006 ifetcht 2 ,contr 
-0478 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
-0479 9a267c00 isub rega ,null 
-047a 242284eb nbranch p_g24_mouse_ota_process_fail ,zero 
-047b 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-047c 98467c00 isub temp ,null 
-047d 242284eb nbranch p_g24_mouse_ota_process_fail ,zero 
-047e 20400481 call p_g24_check_ota_data_all 
-047f 243404eb nbranch p_g24_mouse_ota_process_fail ,user 
-0480 202004e9 branch p_g24_mouse_ota_process_ok 
+04a7 704bf70a jam g24_ota_sm_rx_set_config_end ,mem_g24_ota_sm 
+04a8 efe10006 ifetch 2 ,contr 
+04a9 e8410006 ifetcht 2 ,contr 
+04aa 6a214c18 fetchr rega ,2 ,mem_g24_ota_rx_alllen 
+04ab 9a267c00 isub rega ,null 
+04ac 2422851d nbranch p_g24_mouse_ota_process_fail ,zero 
+04ad 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+04ae 98467c00 isub temp ,null 
+04af 2422851d nbranch p_g24_mouse_ota_process_fail ,zero 
+04b0 204004b3 call p_g24_check_ota_data_all 
+04b1 2434051d nbranch p_g24_mouse_ota_process_fail ,user 
+04b2 2020051b branch p_g24_mouse_ota_process_ok 
 
 p_g24_check_ota_data_all:
-0481 2040048c call p_g24_check_ota_data 
-0482 24740000 nrtn user 
-0483 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-0484 9e067c00 isub alarm ,null 
-0485 2422fe56 nbranch disable_user ,zero 
-0486 684909e8 fetcht 2 ,mem_temp_block6 
-0487 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-0488 1fe0fffb increase -5 ,pdata 
-0489 98467c00 isub temp ,null 
-048a 2422fe56 nbranch disable_user ,zero 
-048b 20207e54 branch enable_user 
+04b3 204004be call p_g24_check_ota_data 
+04b4 24740000 nrtn user 
+04b5 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+04b6 9e067c00 isub alarm ,null 
+04b7 2422fe56 nbranch disable_user ,zero 
+04b8 684909e8 fetcht 2 ,mem_temp_block6 
+04b9 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+04ba 1fe0fffb increase -5 ,pdata 
+04bb 98467c00 isub temp ,null 
+04bc 2422fe56 nbranch disable_user ,zero 
+04bd 20207e54 branch enable_user 
 
 p_g24_check_ota_data:
-048c 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-048d 1ff0fe00 byteswap pdata ,pdata 
-048e 67e102e4 store 2 ,mem_addr_mi 
-048f d8400003 arg 3 ,temp 
-0490 da2009d2 arg mem_temp_block5 ,rega 
-0491 20405de2 call iicd_read_eep 
-0492 6fe089d2 fetch 1 ,mem_temp_block5 
-0493 c0ad7e56 bne g24_ota_data_header ,disable_user 
-0494 e8410006 ifetcht 2 ,contr 
-0495 6049095c storet 2 ,mem_pdatatemp 
-0496 604909e8 storet 2 ,mem_temp_block6 
-0497 6fe089d2 fetch 1 ,mem_temp_block5 
-0498 dd60ffff arg 0xffff ,rege 
-0499 d8400000 arg 0 ,temp 
-049a d8c009d2 arg mem_temp_block5 ,contr 
-049b df200003 arg 3 ,loopcnt 
-049c 20400503 call p_g24_mouse_data_sum 
-049d 18426000 copy temp ,alarm 
-049e 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-049f 1fe0ee03 add pdata ,3 ,regf 
-04a0 204004b0 call p_g24_check_ota_data_loop 
-04a1 1ef0fe00 byteswap regf ,pdata 
-04a2 67e102e4 store 2 ,mem_addr_mi 
-04a3 d8400002 arg 2 ,temp 
-04a4 da2009d2 arg mem_temp_block5 ,rega 
-04a5 20405de2 call iicd_read_eep 
-04a6 6fe109d2 fetch 2 ,mem_temp_block5 
-04a7 9d667c00 isub rege ,null 
-04a8 2422fe56 nbranch disable_user ,zero 
-04a9 6fe089d2 fetch 1 ,mem_temp_block5 
-04aa 9e00e000 iadd alarm ,alarm 
-04ab efe08006 ifetch 1 ,contr 
-04ac 9e00e000 iadd alarm ,alarm 
-04ad 5800ffff setarg 0xffff 
-04ae 9e016000 iand alarm ,alarm 
-04af 20207e54 branch enable_user 
+04be 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+04bf 1ff0fe00 byteswap pdata ,pdata 
+04c0 67e102e4 store 2 ,mem_addr_mi 
+04c1 d8400003 arg 3 ,temp 
+04c2 da2009d2 arg mem_temp_block5 ,rega 
+04c3 20405de2 call iicd_read_eep 
+04c4 6fe089d2 fetch 1 ,mem_temp_block5 
+04c5 c0ad7e56 bne g24_ota_data_header ,disable_user 
+04c6 e8410006 ifetcht 2 ,contr 
+04c7 6049095c storet 2 ,mem_pdatatemp 
+04c8 604909e8 storet 2 ,mem_temp_block6 
+04c9 6fe089d2 fetch 1 ,mem_temp_block5 
+04ca dd60ffff arg 0xffff ,rege 
+04cb d8400000 arg 0 ,temp 
+04cc d8c009d2 arg mem_temp_block5 ,contr 
+04cd df200003 arg 3 ,loopcnt 
+04ce 20400535 call p_g24_mouse_data_sum 
+04cf 18426000 copy temp ,alarm 
+04d0 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+04d1 1fe0ee03 add pdata ,3 ,regf 
+04d2 204004e2 call p_g24_check_ota_data_loop 
+04d3 1ef0fe00 byteswap regf ,pdata 
+04d4 67e102e4 store 2 ,mem_addr_mi 
+04d5 d8400002 arg 2 ,temp 
+04d6 da2009d2 arg mem_temp_block5 ,rega 
+04d7 20405de2 call iicd_read_eep 
+04d8 6fe109d2 fetch 2 ,mem_temp_block5 
+04d9 9d667c00 isub rege ,null 
+04da 2422fe56 nbranch disable_user ,zero 
+04db 6fe089d2 fetch 1 ,mem_temp_block5 
+04dc 9e00e000 iadd alarm ,alarm 
+04dd efe08006 ifetch 1 ,contr 
+04de 9e00e000 iadd alarm ,alarm 
+04df 5800ffff setarg 0xffff 
+04e0 9e016000 iand alarm ,alarm 
+04e1 20207e54 branch enable_user 
 
 p_g24_check_ota_data_loop:
-04b0 6fe1095c fetch 2 ,mem_pdatatemp 
-04b1 207a0000 rtn blank 
-04b2 1fe20400 copy pdata ,temp 
-04b3 1fe67c10 sub pdata ,16 ,null 
-04b4 202104cb branch p_g24_check_ota_data_loopend ,positive 
-04b5 1fe0fff0 increase -16 ,pdata 
-04b6 d8400010 arg 0x10 ,temp 
+04e2 6fe1095c fetch 2 ,mem_pdatatemp 
+04e3 207a0000 rtn blank 
+04e4 1fe20400 copy pdata ,temp 
+04e5 1fe67c10 sub pdata ,16 ,null 
+04e6 202104fd branch p_g24_check_ota_data_loopend ,positive 
+04e7 1fe0fff0 increase -16 ,pdata 
+04e8 d8400010 arg 0x10 ,temp 
 
 p_g24_check_ota_data_loop2:
-04b7 67e1095c store 2 ,mem_pdatatemp 
-04b8 18425e00 copy temp ,regext 
-04b9 1ee27e00 copy regf ,pdata 
-04ba 1ff0fe00 byteswap pdata ,pdata 
-04bb 67e102e4 store 2 ,mem_addr_mi 
-04bc da2009d2 arg mem_temp_block5 ,rega 
-04bd 20405de2 call iicd_read_eep 
-04be 1ee27e00 copy regf ,pdata 
-04bf 9de0ee00 iadd regext ,regf 
-04c0 1de27200 copy regext ,loopcnt 
-04c1 1d627e00 copy rege ,pdata 
-04c2 d8c009d2 arg mem_temp_block5 ,contr 
-04c3 efe00006 icrc contr 
-04c4 1fe25600 copy pdata ,rege 
-04c5 1de27200 copy regext ,loopcnt 
-04c6 d8c009d2 arg mem_temp_block5 ,contr 
-04c7 1e020400 copy alarm ,temp 
-04c8 20400503 call p_g24_mouse_data_sum 
-04c9 18426000 copy temp ,alarm 
-04ca 202004b0 branch p_g24_check_ota_data_loop 
+04e9 67e1095c store 2 ,mem_pdatatemp 
+04ea 18425e00 copy temp ,regext 
+04eb 1ee27e00 copy regf ,pdata 
+04ec 1ff0fe00 byteswap pdata ,pdata 
+04ed 67e102e4 store 2 ,mem_addr_mi 
+04ee da2009d2 arg mem_temp_block5 ,rega 
+04ef 20405de2 call iicd_read_eep 
+04f0 1ee27e00 copy regf ,pdata 
+04f1 9de0ee00 iadd regext ,regf 
+04f2 1de27200 copy regext ,loopcnt 
+04f3 1d627e00 copy rege ,pdata 
+04f4 d8c009d2 arg mem_temp_block5 ,contr 
+04f5 efe00006 icrc contr 
+04f6 1fe25600 copy pdata ,rege 
+04f7 1de27200 copy regext ,loopcnt 
+04f8 d8c009d2 arg mem_temp_block5 ,contr 
+04f9 1e020400 copy alarm ,temp 
+04fa 20400535 call p_g24_mouse_data_sum 
+04fb 18426000 copy temp ,alarm 
+04fc 202004e2 branch p_g24_check_ota_data_loop 
 
 p_g24_check_ota_data_loopend:
-04cb 58000000 setarg 0 
-04cc 202004b7 branch p_g24_check_ota_data_loop2 
+04fd 58000000 setarg 0 
+04fe 202004e9 branch p_g24_check_ota_data_loop2 
 
 p_g24_mouse_ota_process_data:
-04cd 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
-04ce efe08006 ifetch 1 ,contr 
-04cf 18c22200 copy contr ,rega 
-04d0 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-04d1 98467c00 isub temp ,null 
-04d2 202284e9 branch p_g24_mouse_ota_process_ok ,zero 
-04d3 204004fa call p_g24_cmd_ota_data_check_count 
-04d4 243404eb nbranch p_g24_mouse_ota_process_fail ,user 
-04d5 1a467c04 sub regb ,4 ,null 
-04d6 202104eb branch p_g24_mouse_ota_process_fail ,positive 
-04d7 1a40a5fc increase -4 ,regb 
-04d8 62410959 storer regb ,2 ,mem_hold_contw 
-04d9 62210957 storer rega ,2 ,mem_hold_contr 
-04da 20405dd3 call iicd_eeprom_write_enable 
-04db 204004ed call p_dongle_usb_cmd_ota_write_data 
-04dc 20405dda call iicd_eeprom_write_disable 
-04dd 6a410959 fetchr regb ,2 ,mem_hold_contw 
-04de 6a210957 fetchr rega ,2 ,mem_hold_contr 
-04df 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
-04e0 9a40fe00 iadd regb ,pdata 
-04e1 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-04e2 1a427200 copy regb ,loopcnt 
-04e3 d8400000 arg 0 ,temp 
-04e4 1a220c00 copy rega ,contr 
-04e5 20400503 call p_g24_mouse_data_sum 
-04e6 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
-04e7 9840fe00 iadd temp ,pdata 
-04e8 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+04ff 704bf70d jam g24_ota_sm_rx_data ,mem_g24_ota_sm 
+0500 efe08006 ifetch 1 ,contr 
+0501 18c22200 copy contr ,rega 
+0502 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+0503 98467c00 isub temp ,null 
+0504 2022851b branch p_g24_mouse_ota_process_ok ,zero 
+0505 2040052c call p_g24_cmd_ota_data_check_count 
+0506 2434051d nbranch p_g24_mouse_ota_process_fail ,user 
+0507 1a467c04 sub regb ,4 ,null 
+0508 2021051d branch p_g24_mouse_ota_process_fail ,positive 
+0509 1a40a5fc increase -4 ,regb 
+050a 62410959 storer regb ,2 ,mem_hold_contw 
+050b 62210957 storer rega ,2 ,mem_hold_contr 
+050c 20405dd3 call iicd_eeprom_write_enable 
+050d 2040051f call p_dongle_usb_cmd_ota_write_data 
+050e 20405dda call iicd_eeprom_write_disable 
+050f 6a410959 fetchr regb ,2 ,mem_hold_contw 
+0510 6a210957 fetchr rega ,2 ,mem_hold_contr 
+0511 6fe14c18 fetch 2 ,mem_g24_ota_rx_alllen 
+0512 9a40fe00 iadd regb ,pdata 
+0513 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+0514 1a427200 copy regb ,loopcnt 
+0515 d8400000 arg 0 ,temp 
+0516 1a220c00 copy rega ,contr 
+0517 20400535 call p_g24_mouse_data_sum 
+0518 6fe14c1a fetch 2 ,mem_g24_ota_rx_sum 
+0519 9840fe00 iadd temp ,pdata 
+051a 67e14c1a store 2 ,mem_g24_ota_rx_sum 
 
 p_g24_mouse_ota_process_ok:
-04e9 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
-04ea 20600000 rtn 
+051b 704bf500 jam g24_ota_status_success ,mem_g24_ota_rtn_state 
+051c 20600000 rtn 
 
 p_g24_mouse_ota_process_fail:
-04eb 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
-04ec 20600000 rtn 
+051d 704bf501 jam g24_ota_status_fail ,mem_g24_ota_rtn_state 
+051e 20600000 rtn 
 
 p_dongle_usb_cmd_ota_write_data:
-04ed 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-04ee 207a0000 rtn blank 
-04ef 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
-04f0 9840fe00 iadd temp ,pdata 
-04f1 1a420400 copy regb ,temp 
-04f2 20205e04 branch iicd_write_ota_data 
+051f 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+0520 207a0000 rtn blank 
+0521 68494c18 fetcht 2 ,mem_g24_ota_rx_alllen 
+0522 9840fe00 iadd temp ,pdata 
+0523 1a420400 copy regb ,temp 
+0524 20205e04 branch iicd_write_ota_data 
 
 p_g24_mouse_ota_process_reset:
-04f3 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-04f4 c1080000 rtneq g24_ota_sm_rx_reset 
-04f5 c1088000 rtneq g24_ota_sm_tx_reset 
-04f6 c1090000 rtneq g24_ota_sm_tx_reset_ok 
-04f7 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
-04f8 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
-04f9 20600000 rtn 
+0525 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+0526 c1080000 rtneq g24_ota_sm_rx_reset 
+0527 c1088000 rtneq g24_ota_sm_tx_reset 
+0528 c1090000 rtneq g24_ota_sm_tx_reset_ok 
+0529 704c1d05 jam 5 ,mem_g24_ota_reset_timer 
+052a 704bf710 jam g24_ota_sm_rx_reset ,mem_g24_ota_sm 
+052b 20600000 rtn 
 
 p_g24_cmd_ota_data_check_count:
-04fa 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
-04fb 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-04fc c0000500 beq 0 ,p_g24_cmd_ota_data_check_count_0 
-04fd 98467e00 isub temp ,pdata 
-04fe c000fe54 beq 1 ,enable_user 
-04ff 20207e56 branch disable_user 
+052c 6848cc1c fetcht 1 ,mem_g24_ota_rx_data_count 
+052d 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+052e c0000532 beq 0 ,p_g24_cmd_ota_data_check_count_0 
+052f 98467e00 isub temp ,pdata 
+0530 c000fe54 beq 1 ,enable_user 
+0531 20207e56 branch disable_user 
 
 p_g24_cmd_ota_data_check_count_0:
-0500 18467cff sub temp ,0xff ,null 
-0501 2022fe54 branch enable_user ,zero 
-0502 20207e56 branch disable_user 
+0532 18467cff sub temp ,0xff ,null 
+0533 2022fe54 branch enable_user ,zero 
+0534 20207e56 branch disable_user 
 
 p_g24_mouse_data_sum:
-0503 efe08006 ifetch 1 ,contr 
-0504 98408400 iadd temp ,temp 
-0505 c2000503 loop p_g24_mouse_data_sum 
-0506 20600000 rtn 
+0535 efe08006 ifetch 1 ,contr 
+0536 98408400 iadd temp ,temp 
+0537 c2000535 loop p_g24_mouse_data_sum 
+0538 20600000 rtn 
 
 p_g24_mouse_ota_crc:
-0507 5800ffff setarg 0xffff 
-0508 efe00006 icrc contr 
-0509 20600000 rtn 
+0539 5800ffff setarg 0xffff 
+053a efe00006 icrc contr 
+053b 20600000 rtn 
 
 p_g24_mouse_ota_check_crc:
-050a 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-050b 1f267c02 sub loopcnt ,2 ,null 
-050c 20217e56 branch disable_user ,positive 
-050d dfe0480a arg mem_24g_rxpayload ,pdata 
-050e 9f208c00 iadd loopcnt ,contr 
-050f 18c08dfe increase -2 ,contr 
-0510 e8410006 ifetcht 2 ,contr 
-0511 d8c0480a arg mem_24g_rxpayload ,contr 
-0512 20400507 call p_g24_mouse_ota_crc 
-0513 98467c00 isub temp ,null 
-0514 2022fe54 branch enable_user ,zero 
-0515 20207e56 branch disable_user 
+053c 6f20c82a fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+053d 1f267c02 sub loopcnt ,2 ,null 
+053e 20217e56 branch disable_user ,positive 
+053f dfe0480a arg mem_24g_rxpayload ,pdata 
+0540 9f208c00 iadd loopcnt ,contr 
+0541 18c08dfe increase -2 ,contr 
+0542 e8410006 ifetcht 2 ,contr 
+0543 d8c0480a arg mem_24g_rxpayload ,contr 
+0544 20400539 call p_g24_mouse_ota_crc 
+0545 98467c00 isub temp ,null 
+0546 2022fe54 branch enable_user ,zero 
+0547 20207e56 branch disable_user 
 
 p_g24_mouse_ota_check_data:
-0516 efe08006 ifetch 1 ,contr 
-0517 c0ad052f bne 0x5a ,p_g24_mouse_ota_load_fail 
-0518 1a220200 copy rega ,1 ,contr 
-0519 68490006 fetcht 2 ,contr 
+0548 efe08006 ifetch 1 ,contr 
+0549 c0ad0561 bne 0x5a ,p_g24_mouse_ota_load_fail 
+054a 1a220200 copy rega ,1 ,contr 
+054b 68490006 fetcht 2 ,contr 
 
 p_g24_mouse_ota_check_data_loop:
-051a 18467c03 sub temp ,3 ,null 
-051b 2021052f branch p_g24_mouse_ota_load_fail ,positive 
-051c 18c08c02 increase 2 ,contr 
-051d ef208006 ifetchr loopcnt ,1 ,contr 
-051e 1f267c00 sub loopcnt ,0 ,null 
-051f 2422852f nbranch p_g24_mouse_ota_load_fail ,zero 
-0520 1f227e00 copy loopcnt ,pdata 
-0521 98c08c00 iadd contr ,contr 
-0522 18427e00 copy temp ,pdata 
-0523 1f20f203 increase 3 ,loopcnt 
-0524 9f260400 isub loopcnt ,temp 
-0525 2422851a nbranch p_g24_mouse_ota_check_data_loop ,zero 
-0526 e8410006 ifetcht 2 ,contr 
-0527 1a208c01 add rega ,1 ,contr 
-0528 efe10006 ifetch 2 ,contr 
-0529 1fe0f202 add pdata ,2 ,loopcnt 
-052a 1a208c01 add rega ,1 ,contr 
-052b 20400507 call p_g24_mouse_ota_crc 
-052c 98467c00 isub temp ,null 
-052d 2422852f nbranch p_g24_mouse_ota_load_fail ,zero 
+054c 18467c03 sub temp ,3 ,null 
+054d 20210561 branch p_g24_mouse_ota_load_fail ,positive 
+054e 18c08c02 increase 2 ,contr 
+054f ef208006 ifetchr loopcnt ,1 ,contr 
+0550 1f267c00 sub loopcnt ,0 ,null 
+0551 24228561 nbranch p_g24_mouse_ota_load_fail ,zero 
+0552 1f227e00 copy loopcnt ,pdata 
+0553 98c08c00 iadd contr ,contr 
+0554 18427e00 copy temp ,pdata 
+0555 1f20f203 increase 3 ,loopcnt 
+0556 9f260400 isub loopcnt ,temp 
+0557 2422854c nbranch p_g24_mouse_ota_check_data_loop ,zero 
+0558 e8410006 ifetcht 2 ,contr 
+0559 1a208c01 add rega ,1 ,contr 
+055a efe10006 ifetch 2 ,contr 
+055b 1fe0f202 add pdata ,2 ,loopcnt 
+055c 1a208c01 add rega ,1 ,contr 
+055d 20400539 call p_g24_mouse_ota_crc 
+055e 98467c00 isub temp ,null 
+055f 24228561 nbranch p_g24_mouse_ota_load_fail ,zero 
 
 p_g24_mouse_ota_load_success:
-052e 20207e54 branch enable_user 
+0560 20207e54 branch enable_user 
 
 p_g24_mouse_ota_load_fail:
-052f 20207e56 branch disable_user 
+0561 20207e56 branch disable_user 
 
 p_g24_mouse_ota_get_otaaddr:
-0530 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
-0531 1fe20c00 copy pdata ,contr 
-0532 20400516 call p_g24_mouse_ota_check_data 
-0533 2434053b nbranch p_g24_mouse_ota_config_end ,user 
-0534 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
-0535 1a208c01 add rega ,1 ,contr 
-0536 efe10006 ifetch 2 ,contr 
-0537 1fe0fe05 increase 5 ,pdata 
-0538 9a20fe00 iadd rega ,pdata 
-0539 67e14bf3 store 2 ,mem_g24_ota_config_addr 
-053a 20200530 branch p_g24_mouse_ota_get_otaaddr 
+0562 6fe14bf3 fetch 2 ,mem_g24_ota_config_addr 
+0563 1fe20c00 copy pdata ,contr 
+0564 20400548 call p_g24_mouse_ota_check_data 
+0565 2434056d nbranch p_g24_mouse_ota_config_end ,user 
+0566 6a214bf3 fetchr rega ,2 ,mem_g24_ota_config_addr 
+0567 1a208c01 add rega ,1 ,contr 
+0568 efe10006 ifetch 2 ,contr 
+0569 1fe0fe05 increase 5 ,pdata 
+056a 9a20fe00 iadd rega ,pdata 
+056b 67e14bf3 store 2 ,mem_g24_ota_config_addr 
+056c 20200562 branch p_g24_mouse_ota_get_otaaddr 
 
 p_g24_mouse_ota_config_end:
-053b 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-053c 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-053d 98467e00 isub temp ,pdata 
-053e 20600000 rtn 
+056d 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+056e 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+056f 98467e00 isub temp ,pdata 
+0570 20600000 rtn 
 
 p_ota_init:
-053f 58000000 setarg 0 
-0540 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
-0541 67e14c1a store 2 ,mem_g24_ota_rx_sum 
-0542 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
-0543 67e0cbf7 store 1 ,mem_g24_ota_sm 
-0544 20600000 rtn 
+0571 58000000 setarg 0 
+0572 67e14c18 store 2 ,mem_g24_ota_rx_alllen 
+0573 67e14c1a store 2 ,mem_g24_ota_rx_sum 
+0574 67e0cc1c store 1 ,mem_g24_ota_rx_data_count 
+0575 67e0cbf7 store 1 ,mem_g24_ota_sm 
+0576 20600000 rtn 
 
 p_mouse_24g_package_ota:
-0545 20407e56 call disable_user 
-0546 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
-0547 c000854e beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
-0548 c0020558 beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
-0549 c0038577 beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
-054a c005059d beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
-054b c0068592 beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
-054c c008057b beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
-054d 202005a6 branch p_mouse_24g_package_ping 
+0577 20407e56 call disable_user 
+0578 6fe0cbf7 fetch 1 ,mem_g24_ota_sm 
+0579 c0008580 beq g24_ota_sm_rx_version ,p_mouse_24g_package_ota_version 
+057a c002058a beq g24_ota_sm_rx_info ,p_mouse_24g_package_ota_info 
+057b c00385a9 beq g24_ota_sm_rx_config ,p_mouse_24g_package_ota_config 
+057c c00505cf beq g24_ota_sm_rx_set_config_end ,p_mouse_24g_package_ota_set_config_end 
+057d c00685c4 beq g24_ota_sm_rx_data ,p_mouse_24g_package_ota_data 
+057e c00805ad beq g24_ota_sm_rx_reset ,p_mouse_24g_package_ota_reset 
+057f 202005d8 branch p_mouse_24g_package_ping 
 
 p_mouse_24g_package_ota_version:
-054e 7047c6af jam datatype_ota ,mem_24g_txbuf 
-054f 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
-0550 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-0551 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-0552 58000001 setarg g24_ota_version 
-0553 67e147ca store 2 ,mem_24g_txbuf + 4 
-0554 70483601 jam type_ms ,mem_24g_data_type 
-0555 70483506 jam 6 ,mem_24g_datalen 
-0556 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
-0557 20600000 rtn 
+0580 7047c6af jam datatype_ota ,mem_24g_txbuf 
+0581 7047c701 jam g24_ota_cmd_version ,mem_24g_txbuf + 1 
+0582 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+0583 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+0584 58000001 setarg g24_ota_version 
+0585 67e147ca store 2 ,mem_24g_txbuf + 4 
+0586 70483601 jam type_ms ,mem_24g_data_type 
+0587 70483506 jam 6 ,mem_24g_datalen 
+0588 704bf702 jam g24_ota_sm_tx_version ,mem_g24_ota_sm 
+0589 20600000 rtn 
 
 p_mouse_24g_package_ota_info:
-0558 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0559 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
-055a 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-055b 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-055c 6ff10000 fetch 2 ,core_chipid 
-055d 67e147ca store 2 ,mem_24g_txbuf + 4 
-055e 58006661 setarg 0x6661 
-055f e7e10005 istore 2 ,contw 
-0560 58000001 setarg 1 
-0561 e7e30005 istore 6 ,contw 
-0562 58000000 setarg 0 
-0563 e7e10005 istore 2 ,contw 
-0564 e7e10005 istore 2 ,contw 
-0565 2040057f call p_mouse_24g_storage_type 
-0566 e7e08005 istore 1 ,contw 
-0567 58000000 setarg 0 
-0568 e7e08005 istore 1 ,contw 
-0569 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
-056a e0410005 istoret 2 ,contw 
-056b 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
-056c 1fed7e00 lshift8 pdata ,pdata 
-056d 1fe37e00 rshift pdata ,pdata 
-056e 98467e00 isub temp ,pdata 
-056f 24210575 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
+058a 7047c6af jam datatype_ota ,mem_24g_txbuf 
+058b 7047c702 jam g24_ota_cmd_info ,mem_24g_txbuf + 1 
+058c 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+058d 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+058e 6ff10000 fetch 2 ,core_chipid 
+058f 67e147ca store 2 ,mem_24g_txbuf + 4 
+0590 58006661 setarg 0x6661 
+0591 e7e10005 istore 2 ,contw 
+0592 58000001 setarg 1 
+0593 e7e30005 istore 6 ,contw 
+0594 58000000 setarg 0 
+0595 e7e10005 istore 2 ,contw 
+0596 e7e10005 istore 2 ,contw 
+0597 204005b1 call p_mouse_24g_storage_type 
+0598 e7e08005 istore 1 ,contw 
+0599 58000000 setarg 0 
+059a e7e08005 istore 1 ,contw 
+059b 68494bf3 fetcht 2 ,mem_g24_ota_config_addr 
+059c e0410005 istoret 2 ,contw 
+059d 6fe14bf1 fetch 2 ,mem_g24_ota_storage_size 
+059e 1fed7e00 lshift8 pdata ,pdata 
+059f 1fe37e00 rshift pdata ,pdata 
+05a0 98467e00 isub temp ,pdata 
+05a1 242105a7 nbranch p_dongle_usb_cmd_ota_info_dongle_empty ,positive 
 
 p_dongle_usb_cmd_ota_info_dongle_common:
-0570 e7e10005 istore 2 ,contw 
-0571 70483518 jam 24 ,mem_24g_datalen 
-0572 70483601 jam type_ms ,mem_24g_data_type 
-0573 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
-0574 20600000 rtn 
+05a2 e7e10005 istore 2 ,contw 
+05a3 70483518 jam 24 ,mem_24g_datalen 
+05a4 70483601 jam type_ms ,mem_24g_data_type 
+05a5 704bf705 jam g24_ota_sm_tx_info ,mem_g24_ota_sm 
+05a6 20600000 rtn 
 
 p_dongle_usb_cmd_ota_info_dongle_empty:
-0575 58000000 setarg 0 
-0576 20200570 branch p_dongle_usb_cmd_ota_info_dongle_common 
+05a7 58000000 setarg 0 
+05a8 202005a2 branch p_dongle_usb_cmd_ota_info_dongle_common 
 
 p_mouse_24g_package_ota_config:
-0577 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
-0578 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
-0579 70483504 jam 4 ,mem_24g_datalen 
-057a 20200588 branch p_mouse_24g_package_ota_common_ok 
+05a9 704bf708 jam g24_ota_sm_tx_config ,mem_g24_ota_sm 
+05aa 7047c703 jam g24_ota_cmd_config ,mem_24g_txbuf + 1 
+05ab 70483504 jam 4 ,mem_24g_datalen 
+05ac 202005ba branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_package_ota_reset:
-057b 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
-057c 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
-057d 70483504 jam 4 ,mem_24g_datalen 
-057e 20200588 branch p_mouse_24g_package_ota_common_ok 
+05ad 704bf711 jam g24_ota_sm_tx_reset ,mem_g24_ota_sm 
+05ae 7047c706 jam g24_ota_cmd_reset ,mem_24g_txbuf + 1 
+05af 70483504 jam 4 ,mem_24g_datalen 
+05b0 202005ba branch p_mouse_24g_package_ota_common_ok 
 
 p_mouse_24g_storage_type:
-057f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0580 c2898584 bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
-0581 c2890586 bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
-0582 58000000 setarg g24_ota_storage_error 
-0583 20600000 rtn 
+05b1 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+05b2 c28985b6 bbit1 mouse_enable_eeprom ,p_mouse_24g_storage_type_eeprom 
+05b3 c28905b8 bbit1 mouse_enable_flash ,p_mouse_24g_storage_type_flash 
+05b4 58000000 setarg g24_ota_storage_error 
+05b5 20600000 rtn 
 
 p_mouse_24g_storage_type_eeprom:
-0584 58000002 setarg g24_ota_storage_eeprom 
-0585 20600000 rtn 
+05b6 58000002 setarg g24_ota_storage_eeprom 
+05b7 20600000 rtn 
 
 p_mouse_24g_storage_type_flash:
-0586 58000004 setarg g24_ota_storage_flash 
-0587 20600000 rtn 
+05b8 58000004 setarg g24_ota_storage_flash 
+05b9 20600000 rtn 
 
 p_mouse_24g_package_ota_common_ok:
-0588 70483601 jam type_ms ,mem_24g_data_type 
-0589 7047c6af jam datatype_ota ,mem_24g_txbuf 
-058a 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-058b 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-058c 20600000 rtn 
+05ba 70483601 jam type_ms ,mem_24g_data_type 
+05bb 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05bc 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05bd 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05be 20600000 rtn 
 
 p_mouse_24g_package_ota_common_fail:
-058d 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
-058e 70483601 jam type_ms ,mem_24g_data_type 
-058f 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0590 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-0591 20600000 rtn 
+05bf 7047c801 jam g24_ota_status_fail ,mem_24g_txbuf + 2 
+05c0 70483601 jam type_ms ,mem_24g_data_type 
+05c1 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05c2 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05c3 20600000 rtn 
 
 p_mouse_24g_package_ota_data:
-0592 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
-0593 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
-0594 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
-0595 67e0c7ca store 1 ,mem_24g_txbuf + 4 
-0596 70483505 jam 5 ,mem_24g_datalen 
-0597 70483601 jam type_ms ,mem_24g_data_type 
-0598 7047c6af jam datatype_ota ,mem_24g_txbuf 
-0599 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-059a 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-059b 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-059c 20600000 rtn 
+05c4 704bf70f jam g24_ota_sm_tx_data_ok ,mem_g24_ota_sm 
+05c5 7047c705 jam g24_ota_cmd_data ,mem_24g_txbuf + 1 
+05c6 6fe0cc1c fetch 1 ,mem_g24_ota_rx_data_count 
+05c7 67e0c7ca store 1 ,mem_24g_txbuf + 4 
+05c8 70483505 jam 5 ,mem_24g_datalen 
+05c9 70483601 jam type_ms ,mem_24g_data_type 
+05ca 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05cb 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+05cc 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+05cd 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05ce 20600000 rtn 
 
 p_mouse_24g_package_ota_set_config_end:
-059d 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
-059e 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
-059f 70483504 jam 4 ,mem_24g_datalen 
-05a0 70483601 jam type_ms ,mem_24g_data_type 
-05a1 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05a2 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
-05a3 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
-05a4 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05a5 20600000 rtn 
+05cf 704bf70c jam g24_ota_sm_tx_set_config_end_ok ,mem_g24_ota_sm 
+05d0 7047c704 jam g24_ota_cmd_set_config_end ,mem_24g_txbuf + 1 
+05d1 70483504 jam 4 ,mem_24g_datalen 
+05d2 70483601 jam type_ms ,mem_24g_data_type 
+05d3 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05d4 6fe0cbf5 fetch 1 ,mem_g24_ota_rtn_state 
+05d5 67e0c7c8 store 1 ,mem_24g_txbuf + 2 
+05d6 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05d7 20600000 rtn 
 
 p_mouse_24g_package_ping:
-05a6 7047c6af jam datatype_ota ,mem_24g_txbuf 
-05a7 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
-05a8 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
-05a9 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
-05aa 70483601 jam type_ms ,mem_24g_data_type 
-05ab 70483504 jam 4 ,mem_24g_datalen 
-05ac 20600000 rtn 
+05d8 7047c6af jam datatype_ota ,mem_24g_txbuf 
+05d9 7047c7ff jam g24_ota_cmd_ping ,mem_24g_txbuf + 1 
+05da 7047c800 jam g24_ota_status_success ,mem_24g_txbuf + 2 
+05db 7047c902 jam g24_ota_target_mouse ,mem_24g_txbuf + 3 
+05dc 70483601 jam type_ms ,mem_24g_data_type 
+05dd 70483504 jam 4 ,mem_24g_datalen 
+05de 20600000 rtn 
 
 p_mouse_24g_package_data_ota:
-05ad 1fe22200 copy pdata ,rega 
-05ae 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
-05af 70483601 jam type_ms ,mem_24g_data_type 
-05b0 da404bf9 arg mem_g24_ota_txbuf ,regb 
-05b1 20600000 rtn 
+05df 1fe22200 copy pdata ,rega 
+05e0 704bf800 jam 0 ,mem_g24_ota_prepare_send_len 
+05e1 70483601 jam type_ms ,mem_24g_data_type 
+05e2 da404bf9 arg mem_g24_ota_txbuf ,regb 
+05e3 20600000 rtn 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/program/patch.prog	(revision 2597)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/mouse_public_yjx/program/patch.prog	(working copy)
@@ -851,8 +851,13 @@
 	branch mouse_24g_start_mode+9
 
 ///////////////////dpi led adjust////////////////////////////////////////////////////////////////////
+p_mouse_setting_dpi_4_level:
+	fetch 1,mem_config_sensor_type
+	rtneq S201X
+	branch mouse_setting_dpi_4_level
+
 p_mouse_seting_dpi:
-	call mouse_setting_dpi_4_level
+	call p_mouse_setting_dpi_4_level
 	call p_mouse_dpi_led_blink_delay
 p_mouse_seting_sensor_type:
 	fetch 1,mem_config_sensor_type
@@ -864,6 +869,8 @@
 	beq MOUSE_DPI_LEVEL1,p_mouse_set_S201_dpi_0	//1200
 	beq MOUSE_DPI_LEVEL2,p_mouse_set_S201_dpi_2	//2400
 	beq MOUSE_DPI_LEVEL3,p_mouse_set_S201_dpi_3	//3200
+	beq MOUSE_DPI_LEVEL4,p_mouse_set_S201_dpi_3	//3200->6400
+	beq MOUSE_DPI_LEVEL5,p_mouse_set_S201_dpi_4	//800
 p_mouse_set_S201_dpi_0:	//1200
 	fetch 1,mem_sensor_s201_dpi_0
 	copy pdata,rega
@@ -884,9 +891,9 @@
 	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_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
@@ -1205,6 +1212,9 @@
 	setarg 0
 	store 6,mem_mouse_x
 	call mouse_check_sensor_data
+	call p_mouse_data_zoom
+	setarg 0x0089
+	call twspi_write
 	call p_mouse_seting_sensor_type
 	call mouse_zwheel
 	call mouse_t_zwheel
@@ -1216,6 +1226,45 @@
 	call p_mouse_drawing_optima
 	branch mouse_no_data_timer_init
 
+p_mouse_data_zoom:
+	fetch 1,mem_config_sensor_type
+	rtnne S201X
+	fetch 1,mem_mouse_dpi
+	rtnne MOUSE_DPI_LEVEL4
+	fetch 2,mem_mouse_x
+	call p_mouse_6400_zoom
+	store 2,mem_mouse_x
+	fetch 2,mem_mouse_y
+	call p_mouse_6400_zoom
+	store 2,mem_mouse_y
+	rtn
+
+p_mouse_6400_zoom:
+	bbit1 7,p_mouse_xy_inverse
+	bbit0 7,p_mouse_xy_zoom
+	rtn
+
+p_mouse_xy_inverse:
+	sub pdata,0,pdata
+	call p_mouse_xy_zoom	
+	sub pdata,0,pdata
+	rtn
+p_mouse_xy_zoom:
+	lshift pdata,pdata
+	set0 14,pdata
+	set0 15,pdata
+	store 2,mem_mouse_temp_data
+	fetch 1,mem_mouse_temp_data
+	sub pdata,0x7f,null
+	ncall p_mouse_xy_forward_overflow,positive
+	fetch 2,mem_mouse_temp_data
+	rtn
+p_mouse_xy_forward_overflow:
+	setarg 0x7f
+	store 2,mem_mouse_temp_data
+	rtn
+
+
 p_mouse_drawing_optima:
 	fetch 1,mem_config_sensor_type
 	rtneq P3212
@@ -1425,6 +1474,10 @@
 	bbit1 MOUSE_ENABLE_DOUBLE_DPI_KEY,p_mouse_double_dpi_check
 	copy temp,pdata
 	increase 1,pdata
+	copy pdata,temp
+	fetch 1,mem_config_sensor_type
+	beq S201X,p_mouse_S201_dpi_level5_store
+	copy temp,pdata
 	and pdata,0x03,pdata
 p_mouse_dpi_store:
 	store 1,mem_mouse_dpi
@@ -1435,6 +1488,15 @@
 	branch mouse_store_eerpom_dpi
 endif
 
+p_mouse_S201_dpi_level5_store:
+	sub temp,MOUSE_DPI_LEVEL5,null
+	nbranch p_mouse_dpi_clr,positive
+	copy temp,pdata
+	branch p_mouse_dpi_store
+p_mouse_dpi_clr:
+	setarg 0
+	branch p_mouse_dpi_store
+
 p_mouse_double_dpi_check:
 	fetch 1,mem_dpi_another_button_down_enable
 	nbranch p_mouse_another_dpi_button_down,blank
