Index: format/rom.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/format/rom.format	(revision 4699)
+++ /YC1308AC/branch/mouse_project/YJX_Project/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/format/rom.format	(working copy)
@@ -9791,6 +9791,11 @@
 1 mem_24g_matrix_cnt
 1 mem_auto_ruling_cnt
 1 mem_auto_run_temp
+1 mem_auto_run_random_0_count
+1 mem_auto_run_random_1_count
+1 mem_auto_run_random_2_count
+1 mem_auto_run_random_3_count
+1 mem_auto_run_random_status
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/output/eeprom.dat	(revision 4699)
+++ /YC1308AC/branch/mouse_project/YJX_Project/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-3e
-19
+ce
+18
 c2
 84
 00
@@ -79,7 +79,7 @@
 c0
 67
 86
-3c
+20
 c0
 68
 03
@@ -87,7 +87,7 @@
 c0
 68
 85
-c6
+aa
 c0
 69
 83
@@ -95,7 +95,7 @@
 c0
 6a
 05
-ad
+91
 c0
 6a
 be
@@ -118,8 +118,8 @@
 af
 c0
 6f
-06
-16
+05
+fa
 c0
 6f
 80
@@ -199,7 +199,7 @@
 c0
 76
 86
-47
+2b
 20
 20
 13
@@ -1211,7 +1211,7 @@
 20
 40
 05
-bd
+a1
 20
 20
 3b
@@ -1763,7 +1763,7 @@
 20
 20
 05
-bd
+a1
 20
 40
 26
@@ -2067,11 +2067,11 @@
 20
 40
 05
-b8
+9c
 20
 40
 05
-bd
+a1
 20
 20
 3e
@@ -2118,8 +2118,8 @@
 20
 20
 40
-06
-10
+05
+f4
 d8
 40
 00
@@ -2306,8 +2306,8 @@
 1f
 20
 40
-06
-10
+05
+f4
 20
 20
 3e
@@ -2815,7 +2815,7 @@
 20
 40
 05
-bd
+a1
 20
 20
 02
@@ -4655,7 +4655,7 @@
 20
 40
 05
-c6
+aa
 1f
 e1
 7e
@@ -5287,7 +5287,7 @@
 20
 40
 05
-c4
+a8
 6f
 e0
 c8
@@ -5307,7 +5307,7 @@
 20
 40
 05
-aa
+8c
 20
 20
 45
@@ -5339,7 +5339,7 @@
 20
 40
 05
-49
+76
 d8
 e0
 00
@@ -5360,22 +5360,34 @@
 7a
 00
 00
-6f
-e0
-cc
-b9
-1f
-e0
-fe
-01
+18
+0a
+7e
+00
 1f
 e1
 7e
-03
+07
+1f
+e0
+fe
+07
 67
 e0
 cc
 b9
+6f
+e0
+cc
+be
+1f
+e1
+7e
+0f
+c0
+07
+85
+49
 18
 0a
 7e
@@ -5388,14 +5400,42 @@
 e0
 cc
 b7
+c0
+00
+05
+4c
+c0
+00
+85
+55
+c0
+01
+05
+5e
 20
-60
+20
+05
+67
+58
+00
 00
 00
+67
+e2
+cc
+ba
+20
+20
+05
+3f
 6f
 e0
 cc
-b8
+ba
+c0
+0a
+05
+51
 1f
 e0
 fe
@@ -5403,379 +5443,227 @@
 67
 e0
 cc
-b8
-c1
-85
-00
-00
-70
-4c
-b8
-00
+ba
 20
 60
 00
 00
-20
-40
-05
-43
 6f
 e0
 cc
-b9
-c0
-00
-05
-4f
-c0
+be
+79
+20
+7e
 00
-85
-54
-c0
-01
-05
-59
+67
+e0
+cc
+be
 20
 20
 05
-5e
+3f
 6f
 e0
 cc
-b7
+bb
 c0
-00
+0a
 05
-63
-c0
-00
-85
-6a
-c0
+5a
+1f
+e0
+fe
 01
-05
 67
+e0
+cc
+bb
 20
-20
-05
-6d
+60
+00
+00
 6f
 e0
 cc
-b7
-c0
-00
-05
-70
-c0
+be
+79
+20
+7e
 01
-05
-74
-c0
-00
-85
-78
+67
+e0
+cc
+be
 20
 20
 05
-7d
+3f
 6f
 e0
 cc
-b7
+bc
 c0
-00
+0a
 05
-82
-c0
+63
+1f
+e0
+fe
 01
-05
-87
-c0
+67
+e0
+cc
+bc
+20
+60
 00
-85
-8c
+00
+6f
+e0
+cc
+be
+79
+20
+7e
+02
+67
+e0
+cc
+be
 20
 20
 05
-91
+3f
 6f
 e0
 cc
-b7
+bd
 c0
-00
+0a
 05
-96
-c0
+6c
+1f
+e0
+fe
 01
-05
-9b
-c0
-00
-85
-a0
-20
-20
-05
-a5
-58
-00
-00
-08
 67
-e1
-48
-d1
-78
-34
-7c
-00
+e0
+cc
+bd
 20
 60
 00
 00
-5f
-ff
-ff
-f7
-67
-e1
-48
-d1
-20
+6f
+e0
+cc
+be
+79
 20
-05
-65
-5f
-ff
-ff
-f7
+7e
+03
 67
-e1
-48
-d3
+e0
+cc
+be
 20
 20
 05
-65
-58
-00
-00
-08
+3f
+6f
+e0
+cc
+b8
+1f
+e0
+fe
+01
 67
-e1
-48
-d3
-20
-20
-05
-65
-58
+e0
+cc
+b8
+c1
+85
 00
 00
-08
-67
-e1
-48
-d1
-67
-e1
-48
-d3
-20
-20
-05
-65
-5f
-ff
-ff
-f8
-67
-e1
-48
-d1
-67
-e1
-48
-d3
-20
+70
+4c
+b8
+00
 20
-05
-65
-58
+60
 00
 00
-08
-67
-e1
-48
-d1
-5f
-ff
-ff
-f7
-67
-e1
-48
-d3
-20
 20
+40
 05
-65
-5f
-ff
-ff
-f7
-67
-e1
-48
-d1
-58
-00
-00
-08
-67
-e1
-48
-d3
+70
 20
 20
 05
-65
-58
-00
-00
-0a
-67
-e1
-48
-d1
-58
+78
+6f
+e0
+cc
+b7
+c0
 00
+05
+7d
+c0
 00
-06
-67
-e1
-48
-d3
-20
-20
+85
+85
+c0
+01
 05
-65
-5f
-ff
-ff
-f6
-67
-e1
-48
-d1
-5f
-ff
-ff
-fa
-67
-e1
-48
-d3
+81
 20
 20
 05
-65
-5f
-ff
-ff
-f6
+89
+6f
+e0
+cc
+b9
 67
 e1
 48
 d1
-58
-00
-00
-06
-67
-e1
-48
-d3
-20
-20
-05
-65
-58
-00
+78
+34
+7c
 00
-0a
-67
-e1
-48
-d1
-5f
-ff
-ff
-fa
-67
-e1
-48
-d3
-20
 20
-05
-65
-58
+60
 00
 00
-06
-67
-e1
-48
-d1
-58
-00
+6f
+e0
+cc
+b9
+1f
+e6
+7e
 00
-0a
-67
-e1
-48
-d3
-20
-20
-05
-65
-5f
-ff
-ff
-fa
 67
 e1
 48
 d1
-5f
-ff
-ff
-f6
-67
-e1
-48
-d3
 20
 20
 05
-65
-5f
-ff
-ff
-fa
-67
-e1
-48
-d1
-58
-00
+7f
+6f
+e0
+cc
+b9
+1f
+e6
+7e
 00
-0a
 67
 e1
 48
@@ -5783,19 +5671,11 @@
 20
 20
 05
-65
-58
-00
-00
-06
-67
-e1
-48
-d1
-5f
-ff
-ff
-f6
+7f
+6f
+e0
+cc
+b9
 67
 e1
 48
@@ -5803,7 +5683,7 @@
 20
 20
 05
-65
+7f
 6f
 e0
 c9
@@ -5812,6 +5692,14 @@
 01
 80
 00
+6f
+e0
+cc
+af
+24
+7a
+00
+00
 20
 20
 47
@@ -5827,7 +5715,7 @@
 c0
 05
 85
-b4
+98
 20
 40
 42
@@ -5847,7 +5735,7 @@
 20
 40
 05
-bb
+9f
 da
 60
 4b
@@ -5867,7 +5755,7 @@
 c0
 05
 85
-bb
+9f
 20
 20
 42
@@ -5895,7 +5783,7 @@
 c0
 05
 85
-c2
+a6
 20
 20
 42
@@ -5911,7 +5799,7 @@
 20
 40
 05
-c6
+aa
 20
 20
 40
@@ -5931,23 +5819,23 @@
 20
 40
 05
-cf
+b3
 20
 40
 05
-d4
+b8
 20
 40
 05
-d9
+bd
 20
 40
 05
-f6
+da
 20
 40
-06
-03
+05
+e7
 20
 20
 41
@@ -5958,8 +5846,8 @@
 18
 20
 40
-06
-10
+05
+f4
 20
 40
 41
@@ -5978,8 +5866,8 @@
 19
 20
 40
-06
-10
+05
+f4
 20
 40
 41
@@ -6023,19 +5911,19 @@
 c0
 7f
 85
-e2
+c6
 20
 20
 05
-e9
+cd
 6f
 e0
 c9
 1a
 20
 40
-06
-13
+05
+f7
 68
 48
 c9
@@ -6063,7 +5951,7 @@
 20
 20
 85
-f2
+d6
 68
 48
 c9
@@ -6107,7 +5995,7 @@
 20
 20
 05
-f0
+d4
 6f
 e0
 c9
@@ -6139,7 +6027,7 @@
 c0
 7f
 85
-ff
+e3
 20
 20
 41
@@ -6150,8 +6038,8 @@
 0d
 20
 40
-06
-13
+05
+f7
 68
 48
 c9
@@ -6190,8 +6078,8 @@
 10
 c0
 7f
-86
-0c
+85
+f0
 20
 20
 41
@@ -6202,8 +6090,8 @@
 0e
 20
 40
-06
-13
+05
+f7
 68
 48
 c9
@@ -6238,8 +6126,8 @@
 93
 20
 40
-06
-1b
+05
+ff
 20
 40
 79
@@ -6247,11 +6135,11 @@
 20
 40
 06
-28
+0c
 20
 40
 06
-1f
+03
 20
 20
 46
@@ -6279,11 +6167,11 @@
 c2
 94
 86
-23
+07
 c2
 9b
 86
-23
+07
 20
 60
 00
@@ -6295,7 +6183,7 @@
 c2
 83
 06
-26
+0a
 20
 20
 46
@@ -6339,7 +6227,7 @@
 20
 40
 06
-31
+15
 20
 20
 40
@@ -6367,7 +6255,7 @@
 c0
 7f
 86
-38
+1c
 20
 20
 40
@@ -6378,8 +6266,8 @@
 0f
 20
 40
-06
-13
+05
+f7
 68
 48
 c9
@@ -6464,8 +6352,8 @@
 20
 26
 f6
-93
-14
+dc
+fa
 aa
 55
 40
@@ -7821,16 +7709,16 @@
 02
 40
 00
-9a
+2a
 1e
 55
 aa
 aa
 55
-61
-99
-39
-1a
+f1
+98
+b8
+4d
 ff
 ff
 ff
@@ -8188,5 +8076,117 @@
 ff
 ff
 ff
-31
-6e
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+43
+8f
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/output/memmap.format	(revision 4699)
+++ /YC1308AC/branch/mouse_project/YJX_Project/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/output/memmap.format	(working copy)
@@ -2297,6 +2297,11 @@
 0x4cb7 mem_24g_matrix_cnt
 0x4cb8 mem_auto_ruling_cnt
 0x4cb9 mem_auto_run_temp
+0x4cba mem_auto_run_random_0_count
+0x4cbb mem_auto_run_random_1_count
+0x4cbc mem_auto_run_random_2_count
+0x4cbd mem_auto_run_random_3_count
+0x4cbe mem_auto_run_random_status
 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/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/output/program.lis	(revision 4699)
+++ /YC1308AC/branch/mouse_project/YJX_Project/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/output/program.lis	(working copy)
@@ -18,17 +18,17 @@
 000f c0650239 beq patch19_2 ,p_mouse_lpm_before_common 
 0010 c06600b9 beq patch19_4 ,p_mouse_adc_read_start 
 0011 c0670520 beq patch19_6 ,p_mouse_motion 
-0012 c067863c beq patch19_7 ,p_mouse_dpi_process 
+0012 c0678620 beq patch19_7 ,p_mouse_dpi_process 
 0013 c0680327 beq patch1a_0 ,p_mouse_seting_dpi 
-0014 c06885c6 beq patch1a_1 ,p_mouse_check_key_gpio 
+0014 c06885aa beq patch1a_1 ,p_mouse_check_key_gpio 
 0015 c0698340 beq patch1a_3 ,p_mouse_init_sunt 
-0016 c06a05ad beq patch1a_4 ,p_mouse_sensor_poweron 
+0016 c06a0591 beq patch1a_4 ,p_mouse_sensor_poweron 
 0017 c06abe23 beq patch1a_5 ,mouse_app_enter_hibernate + 3 
 0018 c06b025b beq patch1a_6 ,p_mouse_priority_bb_event 
 0019 c06c836a beq patch1b_1 ,p_mouse_bb_event_timer 
 001a c06d04a5 beq patch1b_2 ,p_mouse_start_discovery 
 001b c06d84af beq patch1b_3 ,p_mouse_stop_discovery 
-001c c06f0616 beq patch1b_6 ,p_mouse_idle 
+001c c06f05fa beq patch1b_6 ,p_mouse_idle 
 001d c06f8046 beq patch1b_7 ,p_mouse_ready_reconnection_by_button 
 001e c070803e beq patch1c_1 ,p_mouse_led_off 
 001f c071003a beq patch1c_2 ,p_mouse_led_on 
@@ -50,7 +50,7 @@
 002d c07482c8 beq patch3d_1 ,p_g24_reconn_dispatch 
 002e c07501b8 beq patch3d_2 ,p_g24_transmit_no_interrupt 
 002f c0760513 beq patch3d_4 ,p_g24_lpm_wait 
-0030 c0768647 beq patch3d_5 ,p_power_ctrl_start 
+0030 c076862b beq patch3d_5 ,p_power_ctrl_start 
 0031 2020137c branch loop 
 
 p_soft_reset:
@@ -391,7 +391,7 @@
 012a 20403d8a call mouse_usb_check_enable 
 012b 20404728 call mouse_drawing_optima_init 
 012c 2040016a call p_mouse_cb_fuction 
-012d 204005bd call p_mouse_sensor_powerdown 
+012d 204005a1 call p_mouse_sensor_powerdown 
 012e 20203bc9 branch mouse_init + 8 
 
 p_mouse_le_name_load:
@@ -567,7 +567,7 @@
 01b4 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
 01b5 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
 01b6 67e14ab2 store 2 ,mem_mouse_no_data_timer 
-01b7 202005bd branch p_mouse_sensor_powerdown 
+01b7 202005a1 branch p_mouse_sensor_powerdown 
 
 p_g24_transmit_no_interrupt:
 01b8 20402631 call g24_txdata_prep 
@@ -671,8 +671,8 @@
 0200 58000006 setarg pan_reg_config 
 0201 20405b0d call twspi_read 
 0202 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
-0203 204005b8 call p_mouse_sensor_reset 
-0204 204005bd call p_mouse_sensor_powerdown 
+0203 2040059c call p_mouse_sensor_reset 
+0204 204005a1 call p_mouse_sensor_powerdown 
 0205 20203e23 branch mouse_app_enter_hibernate + 3 
 
 p_mouse_setgpio_hibernate:
@@ -686,7 +686,7 @@
 020d 6848c910 fetcht 1 ,mem_matrix_public_gpio 
 020e 20406042 call gpio_clr_wake 
 020f 6fe0c920 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-0210 20400610 call p_mouse_gpio_config_output_high 
+0210 204005f4 call p_mouse_gpio_config_output_high 
 0211 d8400003 arg 3 ,temp 
 0212 20403f56 call mouse_gpio_config_input_pu 
 0213 20400239 call p_mouse_lpm_before_common 
@@ -751,7 +751,7 @@
 023c 20406050 call gpio_config_input 
 023d 20403f88 call mouse_wheel_check 
 023e 6fe0c91f fetch 1 ,mem_mouse_sensor_sclk_gpio 
-023f 20400610 call p_mouse_gpio_config_output_high 
+023f 204005f4 call p_mouse_gpio_config_output_high 
 0240 20203e44 branch mouse_lpm_before_common + 4 
 
 p_g24_nodata_transmit:
@@ -916,7 +916,7 @@
 02bb 58000000 setarg 0 
 02bc 67e3c8d0 store 7 ,mem_mouse_key 
 02bd 704be101 jam 1 ,mem_sensor_shutdown_flag 
-02be 204005bd call p_mouse_sensor_powerdown 
+02be 204005a1 call p_mouse_sensor_powerdown 
 02bf 20200246 branch p_g24_long_sleep 
 
 p_g24_pair_dispatch:
@@ -1588,7 +1588,7 @@
 
 p_mouse_commbination_key_start:
 0489 6048cb9d storet 1 ,mem_mouse_commbination_key 
-048a 204005c6 call p_mouse_check_key_gpio 
+048a 204005aa call p_mouse_check_key_gpio 
 048b 1fe17e07 and pdata ,0x07 ,pdata 
 048c 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
 048d 98467c00 isub temp ,null 
@@ -1798,12 +1798,12 @@
 0525 20400329 call p_mouse_seting_sensor_type 
 0526 20403f7e call mouse_zwheel 
 0527 20403f83 call mouse_t_zwheel 
-0528 204005c4 call p_mouse_key 
+0528 204005a8 call p_mouse_key 
 0529 6fe0c8d0 fetch 1 ,mem_mouse_key 
 052a 1fe17e1f and_into 0x1f ,pdata 
 052b 67e0c8d0 store 1 ,mem_mouse_key 
 052c 24344728 nbranch mouse_drawing_optima_init ,user 
-052d 204005aa call p_mouse_drawing_optima 
+052d 2040058c call p_mouse_drawing_optima 
 052e 20204544 branch mouse_no_data_timer_init 
 
 p_mouse_start_lazy_check:
@@ -1813,7 +1813,7 @@
 0532 20407d74 call timer_check 
 0533 247a0000 nrtn blank 
 0534 20400539 call p_auto_ruling_random 
-0535 20400549 call p_mouse_auto_ruling_check 
+0535 20400576 call p_mouse_auto_ruling_check 
 
 p_mouse_fake_data_100ms_timer_init:
 0536 d8e0000d arg 13 ,queue 
@@ -1823,398 +1823,360 @@
 p_auto_ruling_random:
 0539 6fe0ccb8 fetch 1 ,mem_auto_ruling_cnt 
 053a 247a0000 nrtn blank 
-053b 6fe0ccb9 fetch 1 ,mem_auto_run_temp 
-053c 1fe0fe01 increase 1 ,pdata 
-053d 1fe17e03 and_into 0x03 ,pdata 
+053b 180a7e00 random pdata 
+053c 1fe17e07 and_into 0x07 ,pdata 
+053d 1fe0fe07 add pdata ,0x07 ,pdata 
 053e 67e0ccb9 store 1 ,mem_auto_run_temp 
-053f 180a7e00 random pdata 
-0540 1fe17e03 and_into 0x03 ,pdata 
-0541 67e0ccb7 store 1 ,mem_24g_matrix_cnt 
-0542 20600000 rtn 
+
+p_auto_ruling_random_next:
+053f 6fe0ccbe fetch 1 ,mem_auto_run_random_status 
+0540 1fe17e0f and_into 0x0f ,pdata 
+0541 c0078549 beq 0x0f ,p_auto_run_mem_clear 
+0542 180a7e00 random pdata 
+0543 1fe17e03 and_into 0x03 ,pdata 
+0544 67e0ccb7 store 1 ,mem_24g_matrix_cnt 
+0545 c000054c beq 0 ,p_auto_run_random_0 
+0546 c0008555 beq 1 ,p_auto_run_random_1 
+0547 c001055e beq 2 ,p_auto_run_random_2 
+0548 20200567 branch p_auto_run_random_3 
+
+p_auto_run_mem_clear:
+0549 58000000 setarg 0 
+054a 67e2ccba store 5 ,mem_auto_run_random_0_count 
+054b 2020053f branch p_auto_ruling_random_next 
+
+p_auto_run_random_0:
+054c 6fe0ccba fetch 1 ,mem_auto_run_random_0_count 
+054d c00a0551 beq 20 ,p_auto_run_random_0_overflow 
+054e 1fe0fe01 increase 1 ,pdata 
+054f 67e0ccba store 1 ,mem_auto_run_random_0_count 
+0550 20600000 rtn 
+
+p_auto_run_random_0_overflow:
+0551 6fe0ccbe fetch 1 ,mem_auto_run_random_status 
+0552 79207e00 set1 0 ,pdata 
+0553 67e0ccbe store 1 ,mem_auto_run_random_status 
+0554 2020053f branch p_auto_ruling_random_next 
+
+p_auto_run_random_1:
+0555 6fe0ccbb fetch 1 ,mem_auto_run_random_1_count 
+0556 c00a055a beq 20 ,p_auto_run_random_1_overflow 
+0557 1fe0fe01 increase 1 ,pdata 
+0558 67e0ccbb store 1 ,mem_auto_run_random_1_count 
+0559 20600000 rtn 
+
+p_auto_run_random_1_overflow:
+055a 6fe0ccbe fetch 1 ,mem_auto_run_random_status 
+055b 79207e01 set1 1 ,pdata 
+055c 67e0ccbe store 1 ,mem_auto_run_random_status 
+055d 2020053f branch p_auto_ruling_random_next 
+
+p_auto_run_random_2:
+055e 6fe0ccbc fetch 1 ,mem_auto_run_random_2_count 
+055f c00a0563 beq 20 ,p_auto_run_random_2_overflow 
+0560 1fe0fe01 increase 1 ,pdata 
+0561 67e0ccbc store 1 ,mem_auto_run_random_2_count 
+0562 20600000 rtn 
+
+p_auto_run_random_2_overflow:
+0563 6fe0ccbe fetch 1 ,mem_auto_run_random_status 
+0564 79207e02 set1 2 ,pdata 
+0565 67e0ccbe store 1 ,mem_auto_run_random_status 
+0566 2020053f branch p_auto_ruling_random_next 
+
+p_auto_run_random_3:
+0567 6fe0ccbd fetch 1 ,mem_auto_run_random_3_count 
+0568 c00a056c beq 20 ,p_auto_run_random_3_overflow 
+0569 1fe0fe01 increase 1 ,pdata 
+056a 67e0ccbd store 1 ,mem_auto_run_random_3_count 
+056b 20600000 rtn 
+
+p_auto_run_random_3_overflow:
+056c 6fe0ccbe fetch 1 ,mem_auto_run_random_status 
+056d 79207e03 set1 3 ,pdata 
+056e 67e0ccbe store 1 ,mem_auto_run_random_status 
+056f 2020053f branch p_auto_ruling_random_next 
 
 p_mouse_auto_ruling_count:
-0543 6fe0ccb8 fetch 1 ,mem_auto_ruling_cnt 
-0544 1fe0fe01 pincrease 1 
-0545 67e0ccb8 store 1 ,mem_auto_ruling_cnt 
-0546 c1850000 rtnne 0x0a 
-0547 704cb800 jam 0x00 ,mem_auto_ruling_cnt 
-0548 20600000 rtn 
+0570 6fe0ccb8 fetch 1 ,mem_auto_ruling_cnt 
+0571 1fe0fe01 pincrease 1 
+0572 67e0ccb8 store 1 ,mem_auto_ruling_cnt 
+0573 c1850000 rtnne 0x0a 
+0574 704cb800 jam 0x00 ,mem_auto_ruling_cnt 
+0575 20600000 rtn 
 
 p_mouse_auto_ruling_check:
-0549 20400543 call p_mouse_auto_ruling_count 
-054a 6fe0ccb9 fetch 1 ,mem_auto_run_temp 
-054b c000054f beq 0 ,p_auto_ruling_random_0_3 
-054c c0008554 beq 1 ,p_auto_ruling_random_4_7 
-054d c0010559 beq 2 ,p_auto_ruling_random_8_11 
-054e 2020055e branch p_auto_ruling_random_9_15 
+0576 20400570 call p_mouse_auto_ruling_count 
+0577 20200578 branch p_auto_ruling_random_0_3 
 
 p_auto_ruling_random_0_3:
-054f 6fe0ccb7 fetch 1 ,mem_24g_matrix_cnt 
-0550 c0000563 beq 0 ,p_ms_x_right 
-0551 c000856a beq 1 ,p_ms_y_up 
-0552 c0010567 beq 2 ,p_ms_x_left 
-0553 2020056d branch p_ms_y_down 
-
-p_auto_ruling_random_4_7:
-0554 6fe0ccb7 fetch 1 ,mem_24g_matrix_cnt 
-0555 c0000570 beq 0 ,p_ruling_step_1 
-0556 c0010574 beq 2 ,p_ruling_step_2 
-0557 c0008578 beq 1 ,p_ruling_step_3 
-0558 2020057d branch p_ruling_step_4 
-
-p_auto_ruling_random_8_11:
-0559 6fe0ccb7 fetch 1 ,mem_24g_matrix_cnt 
-055a c0000582 beq 0 ,p_ruling_step_5 
-055b c0010587 beq 2 ,p_ruling_step_6 
-055c c000858c beq 1 ,p_ruling_step_7 
-055d 20200591 branch p_ruling_step_8 
-
-p_auto_ruling_random_9_15:
-055e 6fe0ccb7 fetch 1 ,mem_24g_matrix_cnt 
-055f c0000596 beq 0 ,p_ruling_step_9 
-0560 c001059b beq 2 ,p_ruling_step_10 
-0561 c00085a0 beq 1 ,p_ruling_step_11 
-0562 202005a5 branch p_ruling_step_12 
+0578 6fe0ccb7 fetch 1 ,mem_24g_matrix_cnt 
+0579 c000057d beq 0 ,p_ms_x_right 
+057a c0008585 beq 1 ,p_ms_y_up 
+057b c0010581 beq 2 ,p_ms_x_left 
+057c 20200589 branch p_ms_y_down 
 
 p_ms_x_right:
-0563 58000008 setarg 8 
-0564 67e148d1 store 2 ,mem_mouse_x 
+057d 6fe0ccb9 fetch 1 ,mem_auto_run_temp 
+057e 67e148d1 store 2 ,mem_mouse_x 
 
 p_data:
-0565 78347c00 enable user 
-0566 20600000 rtn 
+057f 78347c00 enable user 
+0580 20600000 rtn 
 
 p_ms_x_left:
-0567 5ffffff7 setarg -9 
-0568 67e148d1 store 2 ,mem_mouse_x 
-0569 20200565 branch p_data 
+0581 6fe0ccb9 fetch 1 ,mem_auto_run_temp 
+0582 1fe67e00 sub pdata ,0 ,pdata 
+0583 67e148d1 store 2 ,mem_mouse_x 
+0584 2020057f branch p_data 
 
 p_ms_y_up:
-056a 5ffffff7 setarg -9 
-056b 67e148d3 store 2 ,mem_mouse_y 
-056c 20200565 branch p_data 
+0585 6fe0ccb9 fetch 1 ,mem_auto_run_temp 
+0586 1fe67e00 sub pdata ,0 ,pdata 
+0587 67e148d3 store 2 ,mem_mouse_y 
+0588 2020057f branch p_data 
 
 p_ms_y_down:
-056d 58000008 setarg 8 
-056e 67e148d3 store 2 ,mem_mouse_y 
-056f 20200565 branch p_data 
-
-p_ruling_step_1:
-0570 58000008 setarg 8 
-0571 67e148d1 store 2 ,mem_mouse_x 
-0572 67e148d3 store 2 ,mem_mouse_y 
-0573 20200565 branch p_data 
-
-p_ruling_step_2:
-0574 5ffffff8 setarg -8 
-0575 67e148d1 store 2 ,mem_mouse_x 
-0576 67e148d3 store 2 ,mem_mouse_y 
-0577 20200565 branch p_data 
-
-p_ruling_step_3:
-0578 58000008 setarg 8 
-0579 67e148d1 store 2 ,mem_mouse_x 
-057a 5ffffff7 setarg -9 
-057b 67e148d3 store 2 ,mem_mouse_y 
-057c 20200565 branch p_data 
-
-p_ruling_step_4:
-057d 5ffffff7 setarg -9 
-057e 67e148d1 store 2 ,mem_mouse_x 
-057f 58000008 setarg 8 
-0580 67e148d3 store 2 ,mem_mouse_y 
-0581 20200565 branch p_data 
-
-p_ruling_step_5:
-0582 5800000a setarg 10 
-0583 67e148d1 store 2 ,mem_mouse_x 
-0584 58000006 setarg 6 
-0585 67e148d3 store 2 ,mem_mouse_y 
-0586 20200565 branch p_data 
-
-p_ruling_step_6:
-0587 5ffffff6 setarg -10 
-0588 67e148d1 store 2 ,mem_mouse_x 
-0589 5ffffffa setarg -6 
+0589 6fe0ccb9 fetch 1 ,mem_auto_run_temp 
 058a 67e148d3 store 2 ,mem_mouse_y 
-058b 20200565 branch p_data 
-
-p_ruling_step_7:
-058c 5ffffff6 setarg -10 
-058d 67e148d1 store 2 ,mem_mouse_x 
-058e 58000006 setarg 6 
-058f 67e148d3 store 2 ,mem_mouse_y 
-0590 20200565 branch p_data 
-
-p_ruling_step_8:
-0591 5800000a setarg 10 
-0592 67e148d1 store 2 ,mem_mouse_x 
-0593 5ffffffa setarg -6 
-0594 67e148d3 store 2 ,mem_mouse_y 
-0595 20200565 branch p_data 
-
-p_ruling_step_9:
-0596 58000006 setarg 6 
-0597 67e148d1 store 2 ,mem_mouse_x 
-0598 5800000a setarg 10 
-0599 67e148d3 store 2 ,mem_mouse_y 
-059a 20200565 branch p_data 
-
-p_ruling_step_10:
-059b 5ffffffa setarg -6 
-059c 67e148d1 store 2 ,mem_mouse_x 
-059d 5ffffff6 setarg -10 
-059e 67e148d3 store 2 ,mem_mouse_y 
-059f 20200565 branch p_data 
-
-p_ruling_step_11:
-05a0 5ffffffa setarg -6 
-05a1 67e148d1 store 2 ,mem_mouse_x 
-05a2 5800000a setarg 10 
-05a3 67e148d3 store 2 ,mem_mouse_y 
-05a4 20200565 branch p_data 
-
-p_ruling_step_12:
-05a5 58000006 setarg 6 
-05a6 67e148d1 store 2 ,mem_mouse_x 
-05a7 5ffffff6 setarg -10 
-05a8 67e148d3 store 2 ,mem_mouse_y 
-05a9 20200565 branch p_data 
+058b 2020057f branch p_data 
 
 p_mouse_drawing_optima:
-05aa 6fe0c927 fetch 1 ,mem_config_sensor_type 
-05ab c1018000 rtneq p3212 
-05ac 2020471a branch mouse_drawing_optima 
+058c 6fe0c927 fetch 1 ,mem_config_sensor_type 
+058d c1018000 rtneq p3212 
+058e 6fe0ccaf fetch 1 ,mem_mouse_lazy_flag 
+058f 247a0000 nrtn blank 
+0590 2020471a branch mouse_drawing_optima 
 
 p_mouse_sensor_poweron:
-05ad 20403f65 call mouse_sensor_spi_init 
-05ae 6fe0c927 fetch 1 ,mem_config_sensor_type 
-05af c00585b4 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
-05b0 20404232 call mouse_sensor_reset 
-05b1 da604aa3 arg mem_sensor_poweron_init ,regc 
-05b2 2040422b call mouse_sensor_wr_seq 
-05b3 20200329 branch p_mouse_seting_sensor_type 
+0591 20403f65 call mouse_sensor_spi_init 
+0592 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0593 c0058598 beq ka8g2 ,p_mouse_ka8g2_sensor_init 
+0594 20404232 call mouse_sensor_reset 
+0595 da604aa3 arg mem_sensor_poweron_init ,regc 
+0596 2040422b call mouse_sensor_wr_seq 
+0597 20200329 branch p_mouse_seting_sensor_type 
 
 p_mouse_ka8g2_sensor_init:
-05b4 204005bb call p_mouse_ka8g2_sensor_reset 
-05b5 da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
-05b6 2040422b call mouse_sensor_wr_seq 
-05b7 2020408e branch mouse_dpi_config 
+0598 2040059f call p_mouse_ka8g2_sensor_reset 
+0599 da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
+059a 2040422b call mouse_sensor_wr_seq 
+059b 2020408e branch mouse_dpi_config 
 
 p_mouse_sensor_reset:
-05b8 6fe0c927 fetch 1 ,mem_config_sensor_type 
-05b9 c00585bb beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
-05ba 20204232 branch mouse_sensor_reset 
+059c 6fe0c927 fetch 1 ,mem_config_sensor_type 
+059d c005859f beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
+059e 20204232 branch mouse_sensor_reset 
 
 p_mouse_ka8g2_sensor_reset:
-05bb 58009706 setarg 0x9706 
-05bc 20204233 branch mouse_sensor_reset_end 
+059f 58009706 setarg 0x9706 
+05a0 20204233 branch mouse_sensor_reset_end 
 
 p_mouse_sensor_powerdown:
-05bd 204041a7 call mouse_init_sunt 
-05be 20403f65 call mouse_sensor_spi_init 
-05bf 6fe0c927 fetch 1 ,mem_config_sensor_type 
-05c0 c00585c2 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
-05c1 2020423e branch mouse_sensor_powerdown_end 
+05a1 204041a7 call mouse_init_sunt 
+05a2 20403f65 call mouse_sensor_spi_init 
+05a3 6fe0c927 fetch 1 ,mem_config_sensor_type 
+05a4 c00585a6 beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
+05a5 2020423e branch mouse_sensor_powerdown_end 
 
 p_mouse_ka8g2_sensor_powerdown:
-05c2 58001f06 setarg 0x1f06 
-05c3 20205b0c branch twspi_write 
+05a6 58001f06 setarg 0x1f06 
+05a7 20205b0c branch twspi_write 
 
 p_mouse_key:
-05c4 204005c6 call p_mouse_check_key_gpio 
-05c5 202040dd branch mouse_key + 1 
+05a8 204005aa call p_mouse_check_key_gpio 
+05a9 202040dd branch mouse_key + 1 
 
 p_mouse_check_key_gpio:
-05c6 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-05c7 245a4121 ncall mouse_check_key_gpio_once ,blank 
-05c8 da200000 arg 0 ,rega 
-05c9 204005cf call p_mouse_check_lkey_gpio 
-05ca 204005d4 call p_mouse_check_rkey_gpio 
-05cb 204005d9 call p_mouse_check_mkey_gpio 
-05cc 204005f6 call p_mouse_check_bkkey_gpio 
-05cd 20400603 call p_mouse_check_fwkey_gpio 
-05ce 2020411e branch mouse_check_key_gpio_next 
+05aa 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+05ab 245a4121 ncall mouse_check_key_gpio_once ,blank 
+05ac da200000 arg 0 ,rega 
+05ad 204005b3 call p_mouse_check_lkey_gpio 
+05ae 204005b8 call p_mouse_check_rkey_gpio 
+05af 204005bd call p_mouse_check_mkey_gpio 
+05b0 204005da call p_mouse_check_bkkey_gpio 
+05b1 204005e7 call p_mouse_check_fwkey_gpio 
+05b2 2020411e branch mouse_check_key_gpio_next 
 
 p_mouse_check_lkey_gpio:
-05cf 6fe0c918 fetch 1 ,mem_lbutton_gpio 
-05d0 20400610 call p_mouse_gpio_config_output_high 
-05d1 20404124 call mouse_check_lkey_gpio 
-05d2 6848c918 fetcht 1 ,mem_lbutton_gpio 
-05d3 20203f56 branch mouse_gpio_config_input_pu 
+05b3 6fe0c918 fetch 1 ,mem_lbutton_gpio 
+05b4 204005f4 call p_mouse_gpio_config_output_high 
+05b5 20404124 call mouse_check_lkey_gpio 
+05b6 6848c918 fetcht 1 ,mem_lbutton_gpio 
+05b7 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
-05d4 6fe0c919 fetch 1 ,mem_rbutton_gpio 
-05d5 20400610 call p_mouse_gpio_config_output_high 
-05d6 2040412a call mouse_check_rkey_gpio 
-05d7 6848c919 fetcht 1 ,mem_rbutton_gpio 
-05d8 20203f56 branch mouse_gpio_config_input_pu 
+05b8 6fe0c919 fetch 1 ,mem_rbutton_gpio 
+05b9 204005f4 call p_mouse_gpio_config_output_high 
+05ba 2040412a call mouse_check_rkey_gpio 
+05bb 6848c919 fetcht 1 ,mem_rbutton_gpio 
+05bc 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
-05d9 6fe0c91a fetch 1 ,mem_mbutton_gpio 
-05da c17f8000 rtneq gpio_disable 
-05db 704b9602 jam mouse_m_key ,mem_mouse_key_temp 
-05dc 6fe0cb90 fetch 1 ,mem_mouse_mkey_press_status 
-05dd 1fe22600 copy pdata ,regc 
-05de 6848c91a fetcht 1 ,mem_mbutton_gpio 
-05df 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-05e0 c07f85e2 beq gpio_disable ,p_mouse_3io6key_m_check 
-05e1 202005e9 branch p_mouse_check_key_gpio_next 
+05bd 6fe0c91a fetch 1 ,mem_mbutton_gpio 
+05be c17f8000 rtneq gpio_disable 
+05bf 704b9602 jam mouse_m_key ,mem_mouse_key_temp 
+05c0 6fe0cb90 fetch 1 ,mem_mouse_mkey_press_status 
+05c1 1fe22600 copy pdata ,regc 
+05c2 6848c91a fetcht 1 ,mem_mbutton_gpio 
+05c3 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+05c4 c07f85c6 beq gpio_disable ,p_mouse_3io6key_m_check 
+05c5 202005cd branch p_mouse_check_key_gpio_next 
 
 p_mouse_3io6key_m_check:
-05e2 6fe0c91a fetch 1 ,mem_mbutton_gpio 
-05e3 20400613 call p_mouse_gpio_config_output_low 
-05e4 6848c91a fetcht 1 ,mem_mbutton_gpio 
-05e5 20404195 call mouse_3io6key_check 
-05e6 67e0cb90 store 1 ,mem_mouse_mkey_press_status 
-05e7 6848c91a fetcht 1 ,mem_mbutton_gpio 
-05e8 20203f56 branch mouse_gpio_config_input_pu 
+05c6 6fe0c91a fetch 1 ,mem_mbutton_gpio 
+05c7 204005f7 call p_mouse_gpio_config_output_low 
+05c8 6848c91a fetcht 1 ,mem_mbutton_gpio 
+05c9 20404195 call mouse_3io6key_check 
+05ca 67e0cb90 store 1 ,mem_mouse_mkey_press_status 
+05cb 6848c91a fetcht 1 ,mem_mbutton_gpio 
+05cc 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_key_gpio_next:
-05e9 20406059 call gpio_get_bit 
-05ea 202085f2 branch p_mouse_check_m_button_connect_gnd ,true 
-05eb 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-05ec 20406069 call gpio_out_active 
-05ed 6848c91a fetcht 1 ,mem_mbutton_gpio 
-05ee 6fe0cb90 fetch 1 ,mem_mouse_mkey_press_status 
-05ef 20404187 call mouse_check_key_connect_gnd 
+05cd 20406059 call gpio_get_bit 
+05ce 202085d6 branch p_mouse_check_m_button_connect_gnd ,true 
+05cf 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+05d0 20406069 call gpio_out_active 
+05d1 6848c91a fetcht 1 ,mem_mbutton_gpio 
+05d2 6fe0cb90 fetch 1 ,mem_mouse_mkey_press_status 
+05d3 20404187 call mouse_check_key_connect_gnd 
 
 p_mouse_check_mkey_gpio_end:
-05f0 67e0cb90 store 1 ,mem_mouse_mkey_press_status 
-05f1 20204168 branch mouse_matrix_public_gpio_reset 
+05d4 67e0cb90 store 1 ,mem_mouse_mkey_press_status 
+05d5 20204168 branch mouse_matrix_public_gpio_reset 
 
 p_mouse_check_m_button_connect_gnd:
-05f2 6848c910 fetcht 1 ,mem_matrix_public_gpio 
-05f3 6fe0cb90 fetch 1 ,mem_mouse_mkey_press_status 
-05f4 20404187 call mouse_check_key_connect_gnd 
-05f5 202005f0 branch p_mouse_check_mkey_gpio_end 
+05d6 6848c910 fetcht 1 ,mem_matrix_public_gpio 
+05d7 6fe0cb90 fetch 1 ,mem_mouse_mkey_press_status 
+05d8 20404187 call mouse_check_key_connect_gnd 
+05d9 202005d4 branch p_mouse_check_mkey_gpio_end 
 
 p_mouse_check_bkkey_gpio:
-05f6 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-05f7 c17f8000 rtneq gpio_disable 
-05f8 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
-05f9 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
-05fa 1fe22600 copy pdata ,regc 
-05fb 6848c90d fetcht 1 ,mem_bk_button_gpio 
-05fc 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-05fd c07f85ff beq gpio_disable ,p_mouse_3io6key_bk_check 
-05fe 2020413e branch mouse_check_bkkey_gpio_next 
+05da 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+05db c17f8000 rtneq gpio_disable 
+05dc 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
+05dd 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
+05de 1fe22600 copy pdata ,regc 
+05df 6848c90d fetcht 1 ,mem_bk_button_gpio 
+05e0 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+05e1 c07f85e3 beq gpio_disable ,p_mouse_3io6key_bk_check 
+05e2 2020413e branch mouse_check_bkkey_gpio_next 
 
 p_mouse_3io6key_bk_check:
-05ff 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-0600 20400613 call p_mouse_gpio_config_output_low 
-0601 6848c90d fetcht 1 ,mem_bk_button_gpio 
-0602 2020414b branch mouse_3io6key_bk_check 
+05e3 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+05e4 204005f7 call p_mouse_gpio_config_output_low 
+05e5 6848c90d fetcht 1 ,mem_bk_button_gpio 
+05e6 2020414b branch mouse_3io6key_bk_check 
 
 p_mouse_check_fwkey_gpio:
-0603 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-0604 c17f8000 rtneq gpio_disable 
-0605 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
-0606 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
-0607 1fe22600 copy pdata ,regc 
-0608 6848c90e fetcht 1 ,mem_fw_button_gpio 
-0609 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-060a c07f860c beq gpio_disable ,p_mouse_3io6key_fw_check 
-060b 20204157 branch mouse_check_fwkey_gpio_next 
+05e7 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+05e8 c17f8000 rtneq gpio_disable 
+05e9 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
+05ea 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
+05eb 1fe22600 copy pdata ,regc 
+05ec 6848c90e fetcht 1 ,mem_fw_button_gpio 
+05ed 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+05ee c07f85f0 beq gpio_disable ,p_mouse_3io6key_fw_check 
+05ef 20204157 branch mouse_check_fwkey_gpio_next 
 
 p_mouse_3io6key_fw_check:
-060c 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-060d 20400613 call p_mouse_gpio_config_output_low 
-060e 6848c90e fetcht 1 ,mem_fw_button_gpio 
-060f 20204164 branch mouse_3io6key_fw_check 
+05f0 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+05f1 204005f7 call p_mouse_gpio_config_output_low 
+05f2 6848c90e fetcht 1 ,mem_fw_button_gpio 
+05f3 20204164 branch mouse_3io6key_fw_check 
 
 p_mouse_gpio_config_output_high:
-0610 c17f8000 rtneq gpio_disable 
-0611 d840003f arg gpcfg_output_high ,temp 
-0612 20206093 branch gpio_config_function_int 
+05f4 c17f8000 rtneq gpio_disable 
+05f5 d840003f arg gpcfg_output_high ,temp 
+05f6 20206093 branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-0613 c17f8000 rtneq gpio_disable 
-0614 d840003e arg gpcfg_output_low ,temp 
-0615 20206093 branch gpio_config_function_int 
+05f7 c17f8000 rtneq gpio_disable 
+05f8 d840003e arg gpcfg_output_low ,temp 
+05f9 20206093 branch gpio_config_function_int 
 
 p_mouse_idle:
-0616 2040061b call p_mouse_low_voltage_led_no_enter_lpm 
-0617 20407936 call ui_check_paring_button 
-0618 20400628 call p_mouse_dpi_check 
-0619 2040061f call p_mouse_select_device_check 
-061a 20204650 branch mouse_idle + 5 
+05fa 204005ff call p_mouse_low_voltage_led_no_enter_lpm 
+05fb 20407936 call ui_check_paring_button 
+05fc 2040060c call p_mouse_dpi_check 
+05fd 20400603 call p_mouse_select_device_check 
+05fe 20204650 branch mouse_idle + 5 
 
 p_mouse_low_voltage_led_no_enter_lpm:
-061b 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
-061c c301c990 bbit0 mouse_enable_low_led ,mouse_low_voltage_led_no_enter_lpm 
+05ff 6fe0cc40 fetch 1 ,mem_mouse_led_new_interface_config 
+0600 c301c990 bbit0 mouse_enable_low_led ,mouse_low_voltage_led_no_enter_lpm 
 
 p_mouse_low_voltage_led_no_enter_lpm_next:
-061d 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-061e 20204992 branch mouse_low_voltage_led_no_enter_lpm + 2 
+0601 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0602 20204992 branch mouse_low_voltage_led_no_enter_lpm + 2 
 
 p_mouse_select_device_check:
-061f 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0620 c2948623 bbit1 mouse_enable_select_device_by_pb_button ,p_mouse_select_device_by_pb_button_check_judge 
-0621 c29b8623 bbit1 mouse_enable_pb_button_long_press_disconvery ,p_mouse_select_device_by_pb_button_check_judge 
-0622 20600000 rtn 
+0603 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0604 c2948607 bbit1 mouse_enable_select_device_by_pb_button ,p_mouse_select_device_by_pb_button_check_judge 
+0605 c29b8607 bbit1 mouse_enable_pb_button_long_press_disconvery ,p_mouse_select_device_by_pb_button_check_judge 
+0606 20600000 rtn 
 
 p_mouse_select_device_by_pb_button_check_judge:
-0623 6fe1478c fetch 2 ,mem_ui_state_map 
-0624 c2830626 bbit1 ui_state_bt_discovery ,p_mouse_select_device_by_pb_button_check_once 
-0625 2020465a branch mouse_select_device_by_pb_button 
+0607 6fe1478c fetch 2 ,mem_ui_state_map 
+0608 c283060a bbit1 ui_state_bt_discovery ,p_mouse_select_device_by_pb_button_check_once 
+0609 2020465a branch mouse_select_device_by_pb_button 
 
 p_mouse_select_device_by_pb_button_check_once:
-0626 704b9403 jam 0x03 ,mem_mouse_pbkey_press_status 
-0627 202001e5 branch p_mouse_select_device_by_pb_button 
+060a 704b9403 jam 0x03 ,mem_mouse_pbkey_press_status 
+060b 202001e5 branch p_mouse_select_device_by_pb_button 
 
 p_mouse_dpi_check:
-0628 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0629 c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
-062a 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-062b c17f8000 rtneq gpio_disable 
-062c da200000 arg 0 ,rega 
-062d 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
-062e 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-062f 20400631 call p_mouse_dpi_key_check 
-0630 2020402f branch mouse_dpi_check_next 
+060c 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+060d c2974036 bbit1 mouse_enable_dpi_key_connect_adc ,mouse_dpi_check_connect_adc 
+060e 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+060f c17f8000 rtneq gpio_disable 
+0610 da200000 arg 0 ,rega 
+0611 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
+0612 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+0613 20400615 call p_mouse_dpi_key_check 
+0614 2020402f branch mouse_dpi_check_next 
 
 p_mouse_dpi_key_check:
-0631 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0632 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-0633 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
-0634 1fe22600 copy pdata ,regc 
-0635 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-0636 c07f8638 beq gpio_disable ,p_mouse_3io6key_dpi_check 
-0637 2020403f branch mouse_dpi_key_check_next 
+0615 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0616 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+0617 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
+0618 1fe22600 copy pdata ,regc 
+0619 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+061a c07f861c beq gpio_disable ,p_mouse_3io6key_dpi_check 
+061b 2020403f branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-0638 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-0639 20400613 call p_mouse_gpio_config_output_low 
-063a 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-063b 20204195 branch mouse_3io6key_check 
+061c 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+061d 204005f7 call p_mouse_gpio_config_output_low 
+061e 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+061f 20204195 branch mouse_3io6key_check 
 
 p_mouse_dpi_process:
-063c 6fe0ccaf fetch 1 ,mem_mouse_lazy_flag 
-063d 247a0000 nrtn blank 
-063e 20404072 call mouse_dpi_ghost_check 
-063f 20740000 rtn user 
+0620 6fe0ccaf fetch 1 ,mem_mouse_lazy_flag 
+0621 247a0000 nrtn blank 
+0622 20404072 call mouse_dpi_ghost_check 
+0623 20740000 rtn user 
 
 p_mouse_dpi_process_next:
-0640 6fe0c992 fetch 1 ,mem_mouse_dpi 
-0641 1fe0fe01 increase 1 ,pdata 
-0642 1fe17e03 and pdata ,0x03 ,pdata 
+0624 6fe0c992 fetch 1 ,mem_mouse_dpi 
+0625 1fe0fe01 increase 1 ,pdata 
+0626 1fe17e03 and pdata ,0x03 ,pdata 
 
 p_mouse_dpi_store:
-0643 67e0c992 store 1 ,mem_mouse_dpi 
-0644 20400327 call p_mouse_seting_dpi 
-0645 704cad02 jam 2 ,mem_mouse_dpi_store_delay_timer 
-0646 20600000 rtn 
+0627 67e0c992 store 1 ,mem_mouse_dpi 
+0628 20400327 call p_mouse_seting_dpi 
+0629 704cad02 jam 2 ,mem_mouse_dpi_store_delay_timer 
+062a 20600000 rtn 
 
 p_power_ctrl_start:
-0647 6fe1478c fetch 2 ,mem_ui_state_map 
-0648 c3858000 rtnbit1 ui_state_ble_adv 
-0649 c3838000 rtnbit1 ui_state_bt_reconnect 
-064a c3830000 rtnbit1 ui_state_bt_discovery 
-064b 6a214899 fetchr rega ,2 ,mem_rssi_signal_buf_ptr 
-064c 204025cb call rssi_average 
-064d 6048c8c7 storet 1 ,mem_rssi_avg_received 
-064e 202026f6 branch power_ctrl_rssi_avg_compare 
+062b 6fe1478c fetch 2 ,mem_ui_state_map 
+062c c3858000 rtnbit1 ui_state_ble_adv 
+062d c3838000 rtnbit1 ui_state_bt_reconnect 
+062e c3830000 rtnbit1 ui_state_bt_discovery 
+062f 6a214899 fetchr rega ,2 ,mem_rssi_signal_buf_ptr 
+0630 204025cb call rssi_average 
+0631 6048c8c7 storet 1 ,mem_rssi_avg_received 
+0632 202026f6 branch power_ctrl_rssi_avg_compare 
               org 0x3bc1
 
 mouse_init:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/program/patch.prog	(revision 4699)
+++ /YC1308AC/branch/mouse_project/YJX_Project/YJX_1059_To_1011-T/mouse_public_sdk_first_no_discovery_branch/SlideSwitch_3mode_2ch_first_no_discovery_auto_lazy/program/patch.prog	(working copy)
@@ -2053,14 +2053,80 @@
 p_auto_ruling_random:
 	fetch 1,mem_auto_ruling_cnt
 	nrtn blank
-	fetch 1,mem_auto_run_temp
-	increase 1,pdata
-	and_into 0x03,pdata
+	random pdata
+	and_into 0x07,pdata
+	add pdata,0x07,pdata
 	store 1,mem_auto_run_temp
+p_auto_ruling_random_next:
+	fetch 1,mem_auto_run_random_status
+	and_into 0x0f,pdata
+	beq 0x0f,p_auto_run_mem_clear
 	random pdata
 	and_into 0x03,pdata
 	store 1,mem_24g_matrix_cnt
+	beq 0,p_auto_run_random_0
+	beq 1,p_auto_run_random_1
+	beq 2,p_auto_run_random_2
+	branch p_auto_run_random_3
+
+p_auto_run_mem_clear:
+	setarg 0
+	store 5,mem_auto_run_random_0_count
+	branch p_auto_ruling_random_next
+
+
+p_auto_run_random_0:
+	fetch 1,mem_auto_run_random_0_count
+	beq 20,p_auto_run_random_0_overflow
+	increase 1,pdata
+	store 1,mem_auto_run_random_0_count
+	rtn
+
+p_auto_run_random_0_overflow:
+	fetch 1,mem_auto_run_random_status
+	set1 0,pdata
+	store 1,mem_auto_run_random_status
+	branch p_auto_ruling_random_next
+
+p_auto_run_random_1:
+	fetch 1,mem_auto_run_random_1_count
+	beq 20,p_auto_run_random_1_overflow
+	increase 1,pdata
+	store 1,mem_auto_run_random_1_count
+	rtn
+	
+p_auto_run_random_1_overflow:
+	fetch 1,mem_auto_run_random_status
+	set1 1,pdata
+	store 1,mem_auto_run_random_status
+	branch p_auto_ruling_random_next
+
+p_auto_run_random_2:
+	fetch 1,mem_auto_run_random_2_count
+	beq 20,p_auto_run_random_2_overflow
+	increase 1,pdata
+	store 1,mem_auto_run_random_2_count
+	rtn
+
+p_auto_run_random_2_overflow:
+	fetch 1,mem_auto_run_random_status
+	set1 2,pdata
+	store 1,mem_auto_run_random_status
+	branch p_auto_ruling_random_next
+
+p_auto_run_random_3:
+	fetch 1,mem_auto_run_random_3_count
+	beq 20,p_auto_run_random_3_overflow
+	increase 1,pdata
+	store 1,mem_auto_run_random_3_count
 	rtn
+
+p_auto_run_random_3_overflow:
+	fetch 1,mem_auto_run_random_status
+	set1 3,pdata
+	store 1,mem_auto_run_random_status
+	branch p_auto_ruling_random_next
+
 p_mouse_auto_ruling_count:
 	fetch 1,mem_auto_ruling_cnt
 	pincrease 1
@@ -2070,18 +2136,22 @@
 	rtn
 p_mouse_auto_ruling_check:
 	call p_mouse_auto_ruling_count
+
+	branch p_auto_ruling_random_0_3
+/*	
 	fetch 1,mem_auto_run_temp
 	beq 0,p_auto_ruling_random_0_3
 	beq 1,p_auto_ruling_random_4_7
 	beq 2,p_auto_ruling_random_8_11
 	branch p_auto_ruling_random_9_15
-
+*/
 p_auto_ruling_random_0_3:	
 	fetch 1,mem_24g_matrix_cnt
 	beq 0,p_ms_x_right
 	beq 1,p_ms_y_up
 	beq 2,p_ms_x_left
 	branch p_ms_y_down
+/*	
 p_auto_ruling_random_4_7:
 	fetch 1,mem_24g_matrix_cnt
 	beq 0,p_ruling_step_1
@@ -2100,28 +2170,30 @@
 	beq 2,p_ruling_step_10
 	beq 1,p_ruling_step_11
 	branch p_ruling_step_12
-
+*/
 	
 p_ms_x_right:
-	setarg 8
+	fetch 1,mem_auto_run_temp
 	store 2,mem_mouse_x
 p_data:
 	enable user
 	rtn
 p_ms_x_left:
-	setarg -9
+	fetch 1,mem_auto_run_temp
+	sub pdata,0,pdata
 	store 2,mem_mouse_x
 	branch p_data
 
 p_ms_y_up:
-	setarg -9
+	fetch 1,mem_auto_run_temp
+	sub pdata,0,pdata
 	store 2,mem_mouse_y
 	branch p_data
 p_ms_y_down:
-	setarg 8
+	fetch 1,mem_auto_run_temp
 	store 2,mem_mouse_y
 	branch p_data
-
+/*
 p_ruling_step_1:
 	setarg 8
 	store 2,mem_mouse_x
@@ -2195,12 +2267,14 @@
 	setarg -10
 	store 2,mem_mouse_y
 	branch p_data
-
+*/
 
 
 p_mouse_drawing_optima:
 	fetch 1,mem_config_sensor_type
 	rtneq P3212
+	fetch 1,mem_mouse_lazy_flag
+	nrtn blank
 	branch mouse_drawing_optima
 
 p_mouse_sensor_poweron:
