Index: btkb/output/eeprom.dat
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/btkb/output/eeprom.dat	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/btkb/output/eeprom.dat	(working copy)
@@ -8336,25 +8336,27 @@
 22
 aa
 55
-0f
+11
 00
 02
 47
-0e
-42
-54
-33
-2e
-30
+10
+53
+4c
+49
+4d
+20
+4c
+49
+4e
+45
 20
 4b
-65
-79
-62
-6f
-61
-72
-64
+31
+32
+20
+42
+54
 aa
 55
 03
@@ -9157,7 +9159,7 @@
 01
 aa
 55
-ee
+f0
 01
 04
 45
@@ -9204,21 +9206,23 @@
 00
 00
 2a
-0e
-42
-54
-35
-2e
-32
+10
+53
+4c
+49
+4d
+20
+4c
+49
+4e
+45
 20
 4b
-65
-79
-62
-6f
-61
-72
-64
+31
+32
+20
+42
+54
 08
 00
 03
@@ -9746,25 +9750,27 @@
 01
 aa
 55
-0f
+11
 00
 19
 44
-0e
-42
-54
-35
-2e
-32
+10
+53
+4c
+49
+4d
+20
+4c
+49
+4e
+45
 20
 4b
-65
-79
-62
-6f
-61
-72
-64
+31
+32
+20
+42
+54
 aa
 55
 01
@@ -9812,27 +9818,29 @@
 80
 aa
 55
-11
+13
 00
 f9
 43
 1f
-0f
+11
 09
-42
-54
-35
-2e
-32
+53
+4c
+49
+4d
+20
+4c
+49
+4e
+45
 20
 4b
-65
-79
-62
-6f
-61
-72
-64
+31
+32
+20
+42
+54
 aa
 55
 04
@@ -10266,7 +10274,7 @@
 aa
 aa
 55
-a2
-b1
-a9
-36
+ca
+af
+1f
+24
Index: btkb/output/sched.rom
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/btkb/output/sched.rom	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/btkb/output/sched.rom	(working copy)
@@ -79,7 +79,7 @@
 
 mem_lap:36 28 c2 08 66 22    
 mem_local_name_length:
-'BT3.0 Keyboard
+'SLIM LINE K12 BT
 mem_sniff_param_interval:0e 00
 mem_sniff_param_attempt:01
 mem_sniff_param_timeout:01
@@ -337,7 +337,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
@@ -532,7 +532,7 @@
 2c 01 #timeout
 
 mem_le_name_len:
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 mem_le_adv_channel_map:07 
 mem_le_adv_direct_addr_type:01
@@ -547,7 +547,7 @@
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BT5.2 Keyboard
+'\09SLIM LINE K12 BT
 
 mem_version_yy_mm_dd:20 21 12 24		#version data 20211224
 
Index: btkb/sched/kb.dat
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/btkb/sched/kb.dat	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/btkb/sched/kb.dat	(working copy)
@@ -79,7 +79,7 @@
 
 mem_lap:36 28 c2 08 66 22    
 mem_local_name_length:
-'BT3.0 Keyboard
+'SLIM LINE K12 BT
 mem_sniff_param_interval:0e 00
 mem_sniff_param_attempt:01
 mem_sniff_param_timeout:01
@@ -337,7 +337,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
@@ -532,7 +532,7 @@
 2c 01 #timeout
 
 mem_le_name_len:
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 mem_le_adv_channel_map:07 
 mem_le_adv_direct_addr_type:01
@@ -547,7 +547,7 @@
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BT5.2 Keyboard
+'\09SLIM LINE K12 BT
 
 mem_version_yy_mm_dd:20 21 12 24		#version data 20211224
 
Index: c51/kb_process.c
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/kb_process.c	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/kb_process.c	(working copy)
@@ -694,13 +694,17 @@
 		if(key_value == HID_KEY_RIGHT_CTL)
 			temp = HID_KEY_RIGHT_GUI;
 	}
+	if( (fn_flag == 0 && g_variable.system_mode == OSMODE_WINDOWS) ||
+		 (fn_flag == 0 && g_variable.system_mode == OSMODE_IOS) ||
+		 (fn_flag == 0 && g_variable.system_mode == OSMODE_ANDROID))
+	{	
 		switch (key_value)
 		{ 	
 			case HID_KEY_F1:
-				temp = HID_MULTIKEY_LIGHT_DOWN;	
+				temp = HID_MULTIKEY_LIGHT_UP;	
 				break;
 			case HID_KEY_F2:
-				temp = HID_MULTIKEY_LIGHT_UP;
+				temp = HID_MULTIKEY_LIGHT_DOWN;
 				break;
 			case HID_KEY_F3:
 				temp = HID_MULTIKEY_AC_HOME;
@@ -754,6 +758,7 @@
 			default :
 				break;	
 		}
+	}	
 	if(fn_flag == 1)			// Fn lock
 	{
 /*		 if(key_value == HID_KEY_ESC)
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/output/FW.COD	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               11/18/2022  16:19:27  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               11/21/2022  20:09:47  PAGE 1
 
 
 
@@ -294,7 +294,7 @@
 0008B2 E0                MOVX    A,@DPTR
 0008B3 FD                MOV     R5,A
 0008B4 7B64              MOV     R3,#064H
-0008B6 123829            LCALL   _bufsize
+0008B6 12389E            LCALL   _bufsize
 0008B9 904EBC            MOV     DPTR,#len
 0008BC E0                MOVX    A,@DPTR
 0008BD FE                MOV     R6,A
@@ -371,8 +371,8 @@
     5: 	switch (key_num)
     6: 	{
 000921 14                DEC     A
-000922 B40D00            CJNE    A,#0DH,?C0283?KB_PROCESS
-000925         ?C0283?KB_PROCESS:
+000922 B40D00            CJNE    A,#0DH,?C0287?KB_PROCESS
+000925         ?C0287?KB_PROCESS:
 000925 4002              JC      $ + 4H
 000927 41C4              AJMP    ?C0025?KB_PROCESS
 000929 900937            MOV     DPTR,#0937H
@@ -382,7 +382,7 @@
 000932 25F0              ADD     A,B
 000934 C583              XCH     A,DPH
 000936 73                JMP     @A+DPTR
-000937         ?C0284?KB_PROCESS:
+000937         ?C0288?KB_PROCESS:
 000937 02095E            LJMP    ?C0004?KB_PROCESS
 00093A 02095E            LJMP    ?C0004?KB_PROCESS
 00093D 02095E            LJMP    ?C0004?KB_PROCESS
@@ -803,7 +803,7 @@
   142: 		System_Hardware_init();
 000B15 121D9E            LCALL   System_Hardware_init
   143: 		System_Software_init();
-000B18 123533            LCALL   System_Software_init
+000B18 1235A7            LCALL   System_Software_init
   144: 
   145: 		
   146: 		IIC_Read(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
@@ -831,7 +831,7 @@
 000B3B 904CC3            MOV     DPTR,#g_variable+04H
 000B3E F0                MOVX    @DPTR,A
   150: 		LED_device_poweron();
-000B3F 123367            LCALL   LED_device_poweron
+000B3F 1234B2            LCALL   LED_device_poweron
   151: 		Delay1ms(10);
 000B42 7F0A              MOV     R7,#0AH
 000B44 F14B              ACALL   _Delay1ms
@@ -1175,10 +1175,10 @@
   270: 			if(g_variable.pairing_timeout)
 000CC0 904CE9            MOV     DPTR,#g_variable+02AH
 000CC3 E0                MOVX    A,@DPTR
-000CC4 7002              JNZ     ?C0175?SYS
+000CC4 7002              JNZ     ?C0182?SYS
 000CC6 A3                INC     DPTR
 000CC7 E0                MOVX    A,@DPTR
-000CC8         ?C0175?SYS:
+000CC8         ?C0182?SYS:
 000CC8 6028              JZ      ?C0038?SYS
   271: 			{
   272: 				fn_lock_flag = 0;
@@ -1531,10 +1531,10 @@
   387: 		if(g_variable.pairing_timeout)
 000E3D 904CE9            MOV     DPTR,#g_variable+02AH
 000E40 E0                MOVX    A,@DPTR
-000E41 7002              JNZ     ?C0176?SYS
+000E41 7002              JNZ     ?C0183?SYS
 000E43 A3                INC     DPTR
 000E44 E0                MOVX    A,@DPTR
-000E45         ?C0176?SYS:
+000E45         ?C0183?SYS:
 000E45 6037              JZ      ?C0060?SYS
   388: 		{
   389: 			fn_lock_flag = 0;
@@ -2982,7 +2982,7 @@
 0014C5 904E7D            MOV     DPTR,#len
 0014C8 E0                MOVX    A,@DPTR
 0014C9 FD                MOV     R5,A
-0014CA 123B1B            LCALL   _IPC_TxBREDRHidData
+0014CA 123B90            LCALL   _IPC_TxBREDRHidData
   147: 	}
 0014CD         ?C0033?KB_PROCESS:
   148: 	if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) ||
@@ -3014,7 +3014,7 @@
 0014F0 904E7D            MOV     DPTR,#len
 0014F3 E0                MOVX    A,@DPTR
 0014F4 FD                MOV     R5,A
-0014F5 123B13            LCALL   _IPC_TxBleData
+0014F5 123B88            LCALL   _IPC_TxBleData
   154: 
   155: 	}
 0014F8         ?C0035?KB_PROCESS:
@@ -3108,7 +3108,7 @@
 00155B 904E7D            MOV     DPTR,#len
 00155E E0                MOVX    A,@DPTR
 00155F FD                MOV     R5,A
-001560 123B03            LCALL   _IPC_Tx24GData
+001560 123B78            LCALL   _IPC_Tx24GData
   183: 	}
   184: }
 001563         ?C0031?KB_PROCESS:
@@ -3512,7 +3512,7 @@
 00170B A3                INC     DPTR
 00170C F0                MOVX    @DPTR,A
   333: 	if (!IPC_IsTxBuffEmpty())
-00170D 123B39            LCALL   IPC_IsTxBuffEmpty
+00170D 123BAE            LCALL   IPC_IsTxBuffEmpty
 001710 5025              JNC     ?C0077?KB_PROCESS
 001712         ?C0076?KB_PROCESS:
   334: 		return;
@@ -3612,95 +3612,95 @@
 
 ----- FUNCTION YC_System_Main (BEGIN) -----
  FILE: 'sys.c'
-  907: void YC_System_Main(void)
-  908: {
-  909: 	kb_cb_init();
-  910: 	while(1) {
+  925: void YC_System_Main(void)
+  926: {
+  927: 	kb_cb_init();
+  928: 	while(1) {
 001774 F1E2              ACALL   kb_cb_init
-001776         ?C0163?SYS:
-  911: 		IPC_DealSingleStep();
-  912: 		kb_need_keyscan();
-001776 1238D3            LCALL   IPC_DealSingleStep
-  913: 		YC_update_eeprom_data();
+001776         ?C0170?SYS:
+  929: 		IPC_DealSingleStep();
+  930: 		kb_need_keyscan();
+001776 123948            LCALL   IPC_DealSingleStep
+  931: 		YC_update_eeprom_data();
 001779 D16F              ACALL   kb_need_keyscan
-  914: 		LED_handle();
+  932: 		LED_handle();
 00177B 121B7C            LCALL   YC_update_eeprom_data
-  915: #ifdef PC_SLEEP_STATUS_GET		
-00177E 12349E            LCALL   LED_handle
-  916: 		if(m_pc_sleep_flag)
+  933: #ifdef PC_SLEEP_STATUS_GET		
+00177E 123512            LCALL   LED_handle
+  934: 		if(m_pc_sleep_flag)
 001781 904D7D            MOV     DPTR,#m_pc_sleep_flag
 001784 E0                MOVX    A,@DPTR
-001785 6003              JZ      ?C0165?SYS
-  917: 		{
-  918: 			System_G24_long_lpm();
+001785 6003              JZ      ?C0172?SYS
+  935: 		{
+  936: 			System_G24_long_lpm();
 001787 121E9C            LCALL   System_G24_long_lpm
-  919: 		}
-00178A         ?C0165?SYS:
-  920: #endif		
-  921: 		switch (current_task) {
+  937: 		}
+00178A         ?C0172?SYS:
+  938: #endif		
+  939: 		switch (current_task) {
 00178A 900B7E            MOV     DPTR,#current_task
 00178D E0                MOVX    A,@DPTR
 00178E 14                DEC     A
-00178F 600E              JZ      ?C0170?SYS
+00178F 600E              JZ      ?C0177?SYS
 001791 24FE              ADD     A,#0FEH
-001793 70E1              JNZ     ?C0163?SYS
-  922: 		case FIX_ENTER_HIBERNATE:
-001795         ?C0167?SYS:
-  923: 			KS_Unistall();
-001795 1230C6            LCALL   KS_Unistall
-  924: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
-  925: 			LED_all_shutdown();
+001793 70E1              JNZ     ?C0170?SYS
+  940: 		case FIX_ENTER_HIBERNATE:
+001795         ?C0174?SYS:
+  941: 			KS_Unistall();
+001795 1230F2            LCALL   KS_Unistall
+  942: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
+  943: 			LED_all_shutdown();
 001798 121D66            LCALL   LED_all_shutdown
-  926: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+  944: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
 00179B F1D2              ACALL   IPC_WaitLpm
-00179D         ?C0168?SYS:
-  927: 			while(1);
-00179D 80FE              SJMP    ?C0168?SYS
-  928: 			break;
-  929: 			
-  930: 		case FIX_ENTER_LPM:
-00179F         ?C0170?SYS:
-  931: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer  ||g_variable.sys_mode_le
+00179D         ?C0175?SYS:
+  945: 			while(1);
+00179D 80FE              SJMP    ?C0175?SYS
+  946: 			break;
+  947: 			
+  948: 		case FIX_ENTER_LPM:
+00179F         ?C0177?SYS:
+  949: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer  ||g_variable.sys_mode_le
 >> d_on_timer||fn_flag ||g_variable.one_key_press_wait_release_timer
 00179F 904CEB            MOV     DPTR,#g_variable+02CH
 0017A2 E0                MOVX    A,@DPTR
-0017A3 701E              JNZ     ?C0172?SYS
+0017A3 701E              JNZ     ?C0179?SYS
 0017A5 904CED            MOV     DPTR,#g_variable+02EH
 0017A8 E0                MOVX    A,@DPTR
-0017A9 7018              JNZ     ?C0172?SYS
+0017A9 7018              JNZ     ?C0179?SYS
 0017AB 904CE5            MOV     DPTR,#g_variable+026H
 0017AE E0                MOVX    A,@DPTR
-0017AF 7012              JNZ     ?C0172?SYS
+0017AF 7012              JNZ     ?C0179?SYS
 0017B1 904CE8            MOV     DPTR,#g_variable+029H
 0017B4 E0                MOVX    A,@DPTR
-0017B5 700C              JNZ     ?C0172?SYS
+0017B5 700C              JNZ     ?C0179?SYS
 0017B7 904DE2            MOV     DPTR,#fn_flag
 0017BA E0                MOVX    A,@DPTR
-0017BB 7006              JNZ     ?C0172?SYS
+0017BB 7006              JNZ     ?C0179?SYS
 0017BD 904CFA            MOV     DPTR,#g_variable+03BH
 0017C0 E0                MOVX    A,@DPTR
-0017C1 6005              JZ      ?C0171?SYS
-0017C3         ?C0172?SYS:
-  932: 			) 
-  933: 			{
-  934: 				IPC_AbandonLpm();
-0017C3 123B2D            LCALL   IPC_AbandonLpm
-  935: 				break;
-0017C6 80AE              SJMP    ?C0163?SYS
-  936: 			}
-0017C8         ?C0171?SYS:
-  937: 			else
-  938: 			{
-  939: 				KS_Unistall();
-0017C8 1230C6            LCALL   KS_Unistall
-  940: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+0017C1 6005              JZ      ?C0178?SYS
+0017C3         ?C0179?SYS:
+  950: 			) 
+  951: 			{
+  952: 				IPC_AbandonLpm();
+0017C3 123BA2            LCALL   IPC_AbandonLpm
+  953: 				break;
+0017C6 80AE              SJMP    ?C0170?SYS
+  954: 			}
+0017C8         ?C0178?SYS:
+  955: 			else
+  956: 			{
+  957: 				KS_Unistall();
+0017C8 1230F2            LCALL   KS_Unistall
+  958: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
 0017CB F1D2              ACALL   IPC_WaitLpm
-  941: 				break;
-0017CD 80A7              SJMP    ?C0163?SYS
-  942: 			}
-  943: 		}
-  944: 	}
-0017CF 80A5              SJMP    ?C0163?SYS
+  959: 				break;
+0017CD 80A7              SJMP    ?C0170?SYS
+  960: 			}
+  961: 		}
+  962: 	}
+0017CF 80A5              SJMP    ?C0170?SYS
 0017D1 22                RET     
 ----- FUNCTION YC_System_Main (END) -------
 
@@ -3728,10 +3728,10 @@
 
 ----- FUNCTION kb_cb_init (BEGIN) -----
  FILE: 'sys.c'
-  900: static void kb_cb_init()
-  901: {
-  902: 	IPC_Initialize(&cb);
-  903: }
+  918: static void kb_cb_init()
+  919: {
+  920: 	IPC_Initialize(&cb);
+  921: }
 0017E2 7B01              MOV     R3,#01H
 0017E4 7A4E              MOV     R2,#HIGH cb
 0017E6 7956              MOV     R1,#LOW cb
@@ -4278,7 +4278,7 @@
 001A67 7B01              MOV     R3,#01H
 001A69 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
 001A6B 7986              MOV     R1,#LOW IIC_TempBuff+03H
-001A6D 123B58            LCALL   _dmemcpy
+001A6D 123BCD            LCALL   _dmemcpy
 001A70 900B83            MOV     DPTR,#IIC_TempBuff
 001A73 74A0              MOV     A,#0A0H
 001A75 F0                MOVX    @DPTR,A
@@ -5358,11 +5358,11 @@
 001F29 904CE3            MOV     DPTR,#g_variable+024H
 001F2C E0                MOVX    A,@DPTR
 001F2D 6404              XRL     A,#04H
-001F2F 7004              JNZ     ?C0179?SYS
+001F2F 7004              JNZ     ?C0186?SYS
 001F31 A3                INC     DPTR
 001F32 E0                MOVX    A,@DPTR
 001F33 64B0              XRL     A,#0B0H
-001F35         ?C0179?SYS:
+001F35         ?C0186?SYS:
 001F35 6002              JZ      $ + 4H
 001F37 E1BD              AJMP    ?C0095?SYS
   501: 		{
@@ -5522,22 +5522,22 @@
   752: {
   753: 	LED_timer500ms();	
   754: 	YC_pairing_timerout_500ms();
-001FD1 12325E            LCALL   LED_timer500ms
+001FD1 12328A            LCALL   LED_timer500ms
   755: 	g_variable.sleepTimer++;
-001FD4 123293            LCALL   YC_pairing_timerout_500ms
+001FD4 1232BF            LCALL   YC_pairing_timerout_500ms
   756: 
 001FD7 904CE4            MOV     DPTR,#g_variable+025H
 001FDA E0                MOVX    A,@DPTR
 001FDB 04                INC     A
 001FDC F0                MOVX    @DPTR,A
-001FDD 7006              JNZ     ?C0185?SYS
+001FDD 7006              JNZ     ?C0192?SYS
 001FDF 904CE3            MOV     DPTR,#g_variable+024H
 001FE2 E0                MOVX    A,@DPTR
 001FE3 04                INC     A
 001FE4 F0                MOVX    @DPTR,A
-001FE5         ?C0185?SYS:
+001FE5         ?C0192?SYS:
   757: 	YC_adc_check_timer500ms();
-001FE5 123817            LCALL   YC_adc_check_timer500ms
+001FE5 12388C            LCALL   YC_adc_check_timer500ms
   758: 	YC_connect_timeout_500ms();
 001FE8 D1C8              ACALL   YC_connect_timeout_500ms
   759: 	kb_button_press_timer500ms();
@@ -5656,10 +5656,10 @@
 002065 E0                MOVX    A,@DPTR
 002066 5408              ANL     A,#08H
 002068 6408              XRL     A,#08H
-00206A 7003              JNZ     ?C0180?SYS
+00206A 7003              JNZ     ?C0187?SYS
 00206C EE                MOV     A,R6
 00206D 6440              XRL     A,#040H
-00206F         ?C0180?SYS:
+00206F         ?C0187?SYS:
 00206F 602A              JZ      ?C0099?SYS
   554: 		#if DEVICE_MODE_BT_ONLY
   555: 			&& (m_ui_state_map & 0x4000) != 0x4000)
@@ -7268,8 +7268,8 @@
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
-  897: void kb_multikey_setup(tKSEVENT *pEvt)
-  898: {
+  902: void kb_multikey_setup(tKSEVENT *pEvt)
+  903: {
 0026FC 904ED9            MOV     DPTR,#pEvt
 0026FF EB                MOV     A,R3
 002700 F0                MOVX    @DPTR,A
@@ -7279,23 +7279,23 @@
 002704 A3                INC     DPTR
 002705 E9                MOV     A,R1
 002706 F0                MOVX    @DPTR,A
-  899: 	byte i = 0;
-  900: 	
+  904: 	byte i = 0;
+  905: 	
 002707 E4                CLR     A
 002708 A3                INC     DPTR
 002709 F0                MOVX    @DPTR,A
-  901: 	for (i = 0;i < 6;i++)
+  906: 	for (i = 0;i < 6;i++)
 00270A F0                MOVX    @DPTR,A
-00270B         ?C0223?KB_PROCESS:
+00270B         ?C0227?KB_PROCESS:
 00270B 904EDC            MOV     DPTR,#i
 00270E E0                MOVX    A,@DPTR
 00270F FF                MOV     R7,A
 002710 C3                CLR     C
 002711 9406              SUBB    A,#06H
 002713 4003              JC      $ + 5H
-002715 022A15            LJMP    ?C0282?KB_PROCESS
-  902: 	{		
-  903: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+002715 022A15            LJMP    ?C0286?KB_PROCESS
+  907: 	{		
+  908: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
 002718 904ED9            MOV     DPTR,#pEvt
 00271B E0                MOVX    A,@DPTR
 00271C FB                MOV     R3,A
@@ -7320,41 +7320,41 @@
 002733 FF                MOV     R7,A
 002734 54F0              ANL     A,#0F0H
 002736 64F0              XRL     A,#0F0H
-002738 600A              JZ      ?C0227?KB_PROCESS
+002738 600A              JZ      ?C0231?KB_PROCESS
 00273A EF                MOV     A,R7
 00273B 54D0              ANL     A,#0D0H
 00273D 64D0              XRL     A,#0D0H
 00273F 6003              JZ      $ + 5H
-002741 022A0C            LJMP    ?C0225?KB_PROCESS
-002744         ?C0227?KB_PROCESS:
-  904: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  905: 		{
-  906: 			
-  907: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+002741 022A0C            LJMP    ?C0229?KB_PROCESS
+002744         ?C0231?KB_PROCESS:
+  909: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  910: 		{
+  911: 			
+  912: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
 002744 1203B6            LCALL   ?C?CLDPTR
 002747 FB                MOV     R3,A
-002748 B4F109            CJNE    A,#0F1H,?C0228?KB_PROCESS
-  908: 			{
-  909: 				kb_set_multikey(0x0183); 
+002748 B4F109            CJNE    A,#0F1H,?C0232?KB_PROCESS
+  913: 			{
+  914: 				kb_set_multikey(0x0183); 
 00274B 7F83              MOV     R7,#083H
 00274D 7E01              MOV     R6,#01H
 00274F D1E1              ACALL   _kb_set_multikey
-  910: 			}
-002751 0229E1            LJMP    ?C0229?KB_PROCESS
-002754         ?C0228?KB_PROCESS:
-  911: 			else
-  912: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+  915: 			}
+002751 0229E1            LJMP    ?C0233?KB_PROCESS
+002754         ?C0232?KB_PROCESS:
+  916: 			else
+  917: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
 002754 EB                MOV     A,R3
-002755 B4F209            CJNE    A,#0F2H,?C0230?KB_PROCESS
-  913: 			{ 
-  914: 				kb_set_multikey(0x00cd);
+002755 B4F209            CJNE    A,#0F2H,?C0234?KB_PROCESS
+  918: 			{ 
+  919: 				kb_set_multikey(0x00cd);
 002758 7FCD              MOV     R7,#0CDH
 00275A 7E00              MOV     R6,#00H
 00275C D1E1              ACALL   _kb_set_multikey
-  915: 			}
-00275E 0229E1            LJMP    ?C0229?KB_PROCESS
-002761         ?C0230?KB_PROCESS:
-  916: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+  920: 			}
+00275E 0229E1            LJMP    ?C0233?KB_PROCESS
+002761         ?C0234?KB_PROCESS:
+  921: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
 002761 904ED9            MOV     DPTR,#pEvt
 002764 E0                MOVX    A,@DPTR
 002765 FB                MOV     R3,A
@@ -7378,26 +7378,26 @@
 002779 FA                MOV     R2,A
 00277A 1203B6            LCALL   ?C?CLDPTR
 00277D FB                MOV     R3,A
-00277E B4F307            CJNE    A,#0F3H,?C0232?KB_PROCESS
-  917: 			{
-  918: 				kb_set_multikey(0x00b7);
+00277E B4F307            CJNE    A,#0F3H,?C0236?KB_PROCESS
+  922: 			{
+  923: 				kb_set_multikey(0x00b7);
 002781 7FB7              MOV     R7,#0B7H
 002783 D1E1              ACALL   _kb_set_multikey
-  919: 			}	
-002785 0229E1            LJMP    ?C0229?KB_PROCESS
-002788         ?C0232?KB_PROCESS:
-  920: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+  924: 			}	
+002785 0229E1            LJMP    ?C0233?KB_PROCESS
+002788         ?C0236?KB_PROCESS:
+  925: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
 002788 EB                MOV     A,R3
-002789 B4F409            CJNE    A,#0F4H,?C0234?KB_PROCESS
-  921: 			{
-  922: 				kb_set_multikey(0x00b6);
+002789 B4F409            CJNE    A,#0F4H,?C0238?KB_PROCESS
+  926: 			{
+  927: 				kb_set_multikey(0x00b6);
 00278C 7FB6              MOV     R7,#0B6H
 00278E 7E00              MOV     R6,#00H
 002790 D1E1              ACALL   _kb_set_multikey
-  923: 			}
-002792 0229E1            LJMP    ?C0229?KB_PROCESS
-002795         ?C0234?KB_PROCESS:
-  924: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+  928: 			}
+002792 0229E1            LJMP    ?C0233?KB_PROCESS
+002795         ?C0238?KB_PROCESS:
+  929: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
 002795 904ED9            MOV     DPTR,#pEvt
 002798 E0                MOVX    A,@DPTR
 002799 FB                MOV     R3,A
@@ -7421,26 +7421,26 @@
 0027AD FA                MOV     R2,A
 0027AE 1203B6            LCALL   ?C?CLDPTR
 0027B1 FB                MOV     R3,A
-0027B2 B4F507            CJNE    A,#0F5H,?C0236?KB_PROCESS
-  925: 			{
-  926: 				kb_set_multikey(0x00b5);
+0027B2 B4F507            CJNE    A,#0F5H,?C0240?KB_PROCESS
+  930: 			{
+  931: 				kb_set_multikey(0x00b5);
 0027B5 7FB5              MOV     R7,#0B5H
 0027B7 D1E1              ACALL   _kb_set_multikey
-  927: 			}
-0027B9 0229E1            LJMP    ?C0229?KB_PROCESS
-0027BC         ?C0236?KB_PROCESS:
-  928: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+  932: 			}
+0027B9 0229E1            LJMP    ?C0233?KB_PROCESS
+0027BC         ?C0240?KB_PROCESS:
+  933: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
 0027BC EB                MOV     A,R3
-0027BD B4F609            CJNE    A,#0F6H,?C0238?KB_PROCESS
-  929: 			{
-  930: 				kb_set_multikey(0x00ea);
+0027BD B4F609            CJNE    A,#0F6H,?C0242?KB_PROCESS
+  934: 			{
+  935: 				kb_set_multikey(0x00ea);
 0027C0 7FEA              MOV     R7,#0EAH
 0027C2 7E00              MOV     R6,#00H
 0027C4 D1E1              ACALL   _kb_set_multikey
-  931: 			}
-0027C6 0229E1            LJMP    ?C0229?KB_PROCESS
-0027C9         ?C0238?KB_PROCESS:
-  932: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+  936: 			}
+0027C6 0229E1            LJMP    ?C0233?KB_PROCESS
+0027C9         ?C0242?KB_PROCESS:
+  937: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
 0027C9 904ED9            MOV     DPTR,#pEvt
 0027CC E0                MOVX    A,@DPTR
 0027CD FB                MOV     R3,A
@@ -7464,26 +7464,26 @@
 0027E1 FA                MOV     R2,A
 0027E2 1203B6            LCALL   ?C?CLDPTR
 0027E5 FB                MOV     R3,A
-0027E6 B4F707            CJNE    A,#0F7H,?C0240?KB_PROCESS
-  933: 			{
-  934: 				kb_set_multikey(0x00e9);
+0027E6 B4F707            CJNE    A,#0F7H,?C0244?KB_PROCESS
+  938: 			{
+  939: 				kb_set_multikey(0x00e9);
 0027E9 7FE9              MOV     R7,#0E9H
 0027EB D1E1              ACALL   _kb_set_multikey
-  935: 			}
-0027ED 0229E1            LJMP    ?C0229?KB_PROCESS
-0027F0         ?C0240?KB_PROCESS:
-  936: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+  940: 			}
+0027ED 0229E1            LJMP    ?C0233?KB_PROCESS
+0027F0         ?C0244?KB_PROCESS:
+  941: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
 0027F0 EB                MOV     A,R3
-0027F1 B4F809            CJNE    A,#0F8H,?C0242?KB_PROCESS
-  937: 			{
-  938: 				kb_set_multikey(0x00e2);
+0027F1 B4F809            CJNE    A,#0F8H,?C0246?KB_PROCESS
+  942: 			{
+  943: 				kb_set_multikey(0x00e2);
 0027F4 7FE2              MOV     R7,#0E2H
 0027F6 7E00              MOV     R6,#00H
 0027F8 D1E1              ACALL   _kb_set_multikey
-  939: 			}
-0027FA 0229E1            LJMP    ?C0229?KB_PROCESS
-0027FD         ?C0242?KB_PROCESS:
-  940: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+  944: 			}
+0027FA 0229E1            LJMP    ?C0233?KB_PROCESS
+0027FD         ?C0246?KB_PROCESS:
+  945: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
 0027FD 904ED9            MOV     DPTR,#pEvt
 002800 E0                MOVX    A,@DPTR
 002801 FB                MOV     R3,A
@@ -7507,27 +7507,27 @@
 002815 FA                MOV     R2,A
 002816 1203B6            LCALL   ?C?CLDPTR
 002819 FB                MOV     R3,A
-00281A B4F908            CJNE    A,#0F9H,?C0244?KB_PROCESS
-  941: 			{
-  942: 				kb_set_multikey(0x0194);
+00281A B4F908            CJNE    A,#0F9H,?C0248?KB_PROCESS
+  946: 			{
+  947: 				kb_set_multikey(0x0194);
 00281D 7F94              MOV     R7,#094H
 00281F 0E                INC     R6
 002820 1226E1            LCALL   _kb_set_multikey
-  943: 			}	
-002823 21E1              AJMP    ?C0229?KB_PROCESS
-002825         ?C0244?KB_PROCESS:
-  944: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+  948: 			}	
+002823 21E1              AJMP    ?C0233?KB_PROCESS
+002825         ?C0248?KB_PROCESS:
+  949: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
 002825 EB                MOV     A,R3
-002826 B4FA09            CJNE    A,#0FAH,?C0246?KB_PROCESS
-  945: 			{
-  946: 				kb_set_multikey(0x018a);//mail
+002826 B4FA09            CJNE    A,#0FAH,?C0250?KB_PROCESS
+  950: 			{
+  951: 				kb_set_multikey(0x018a);//mail
 002829 7F8A              MOV     R7,#08AH
 00282B 7E01              MOV     R6,#01H
 00282D 1226E1            LCALL   _kb_set_multikey
-  947: 			}
-002830 21E1              AJMP    ?C0229?KB_PROCESS
-002832         ?C0246?KB_PROCESS:
-  948: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+  952: 			}
+002830 21E1              AJMP    ?C0233?KB_PROCESS
+002832         ?C0250?KB_PROCESS:
+  953: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
 002832 904ED9            MOV     DPTR,#pEvt
 002835 E0                MOVX    A,@DPTR
 002836 FB                MOV     R3,A
@@ -7551,27 +7551,27 @@
 00284A FA                MOV     R2,A
 00284B 1203B6            LCALL   ?C?CLDPTR
 00284E FB                MOV     R3,A
-00284F B4FB08            CJNE    A,#0FBH,?C0248?KB_PROCESS
-  949: 			{
-  950: 				kb_set_multikey(0x0192);
+00284F B4FB08            CJNE    A,#0FBH,?C0252?KB_PROCESS
+  954: 			{
+  955: 				kb_set_multikey(0x0192);
 002852 7F92              MOV     R7,#092H
 002854 0E                INC     R6
 002855 1226E1            LCALL   _kb_set_multikey
-  951: 			}
-002858 21E1              AJMP    ?C0229?KB_PROCESS
-00285A         ?C0248?KB_PROCESS:
-  952: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+  956: 			}
+002858 21E1              AJMP    ?C0233?KB_PROCESS
+00285A         ?C0252?KB_PROCESS:
+  957: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
 00285A EB                MOV     A,R3
-00285B B4D009            CJNE    A,#0D0H,?C0250?KB_PROCESS
-  953: 			{
-  954: 				kb_set_multikey(0x022a);//www Favorites
+00285B B4D009            CJNE    A,#0D0H,?C0254?KB_PROCESS
+  958: 			{
+  959: 				kb_set_multikey(0x022a);//www Favorites
 00285E 7F2A              MOV     R7,#02AH
 002860 7E02              MOV     R6,#02H
 002862 1226E1            LCALL   _kb_set_multikey
-  955: 			}
-002865 21E1              AJMP    ?C0229?KB_PROCESS
-002867         ?C0250?KB_PROCESS:
-  956: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+  960: 			}
+002865 21E1              AJMP    ?C0233?KB_PROCESS
+002867         ?C0254?KB_PROCESS:
+  961: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
 002867 904ED9            MOV     DPTR,#pEvt
 00286A E0                MOVX    A,@DPTR
 00286B FB                MOV     R3,A
@@ -7595,27 +7595,27 @@
 00287F FA                MOV     R2,A
 002880 1203B6            LCALL   ?C?CLDPTR
 002883 FB                MOV     R3,A
-002884 B4D109            CJNE    A,#0D1H,?C0252?KB_PROCESS
-  957: 			{
-  958: 				kb_set_multikey(0x0225);
+002884 B4D109            CJNE    A,#0D1H,?C0256?KB_PROCESS
+  962: 			{
+  963: 				kb_set_multikey(0x0225);
 002887 7F25              MOV     R7,#025H
 002889 7E02              MOV     R6,#02H
 00288B 1226E1            LCALL   _kb_set_multikey
-  959: 			}
-00288E 21E1              AJMP    ?C0229?KB_PROCESS
-002890         ?C0252?KB_PROCESS:
-  960: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+  964: 			}
+00288E 21E1              AJMP    ?C0233?KB_PROCESS
+002890         ?C0256?KB_PROCESS:
+  965: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
 002890 EB                MOV     A,R3
-002891 B4D309            CJNE    A,#0D3H,?C0254?KB_PROCESS
-  961: 			{
-  962: 				kb_set_multikey(0x0226);
+002891 B4D309            CJNE    A,#0D3H,?C0258?KB_PROCESS
+  966: 			{
+  967: 				kb_set_multikey(0x0226);
 002894 7F26              MOV     R7,#026H
 002896 7E02              MOV     R6,#02H
 002898 1226E1            LCALL   _kb_set_multikey
-  963: 			}
-00289B 21E1              AJMP    ?C0229?KB_PROCESS
-00289D         ?C0254?KB_PROCESS:
-  964: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+  968: 			}
+00289B 21E1              AJMP    ?C0233?KB_PROCESS
+00289D         ?C0258?KB_PROCESS:
+  969: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
 00289D 904ED9            MOV     DPTR,#pEvt
 0028A0 E0                MOVX    A,@DPTR
 0028A1 FB                MOV     R3,A
@@ -7639,27 +7639,27 @@
 0028B5 FA                MOV     R2,A
 0028B6 1203B6            LCALL   ?C?CLDPTR
 0028B9 FB                MOV     R3,A
-0028BA B4D209            CJNE    A,#0D2H,?C0256?KB_PROCESS
-  965: 			{
-  966: 				kb_set_multikey(0x0224);
+0028BA B4D209            CJNE    A,#0D2H,?C0260?KB_PROCESS
+  970: 			{
+  971: 				kb_set_multikey(0x0224);
 0028BD 7F24              MOV     R7,#024H
 0028BF 7E02              MOV     R6,#02H
 0028C1 1226E1            LCALL   _kb_set_multikey
-  967: 			}
-0028C4 21E1              AJMP    ?C0229?KB_PROCESS
-0028C6         ?C0256?KB_PROCESS:
-  968: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+  972: 			}
+0028C4 21E1              AJMP    ?C0233?KB_PROCESS
+0028C6         ?C0260?KB_PROCESS:
+  973: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
 0028C6 EB                MOV     A,R3
-0028C7 B4D409            CJNE    A,#0D4H,?C0258?KB_PROCESS
-  969: 			{
-  970: 				kb_set_multikey(0x0227);
+0028C7 B4D409            CJNE    A,#0D4H,?C0262?KB_PROCESS
+  974: 			{
+  975: 				kb_set_multikey(0x0227);
 0028CA 7F27              MOV     R7,#027H
 0028CC 7E02              MOV     R6,#02H
 0028CE 1226E1            LCALL   _kb_set_multikey
-  971: 			}	
-0028D1 21E1              AJMP    ?C0229?KB_PROCESS
-0028D3         ?C0258?KB_PROCESS:
-  972: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+  976: 			}	
+0028D1 21E1              AJMP    ?C0233?KB_PROCESS
+0028D3         ?C0262?KB_PROCESS:
+  977: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
 0028D3 904ED9            MOV     DPTR,#pEvt
 0028D6 E0                MOVX    A,@DPTR
 0028D7 FB                MOV     R3,A
@@ -7683,27 +7683,27 @@
 0028EB FA                MOV     R2,A
 0028EC 1203B6            LCALL   ?C?CLDPTR
 0028EF FB                MOV     R3,A
-0028F0 B4D509            CJNE    A,#0D5H,?C0260?KB_PROCESS
-  973: 			{
-  974: 				kb_set_multikey(0x0221);
+0028F0 B4D509            CJNE    A,#0D5H,?C0264?KB_PROCESS
+  978: 			{
+  979: 				kb_set_multikey(0x0221);
 0028F3 7F21              MOV     R7,#021H
 0028F5 7E02              MOV     R6,#02H
 0028F7 1226E1            LCALL   _kb_set_multikey
-  975: 			}
-0028FA 21E1              AJMP    ?C0229?KB_PROCESS
-0028FC         ?C0260?KB_PROCESS:
-  976: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+  980: 			}
+0028FA 21E1              AJMP    ?C0233?KB_PROCESS
+0028FC         ?C0264?KB_PROCESS:
+  981: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
 0028FC EB                MOV     A,R3
-0028FD B4D609            CJNE    A,#0D6H,?C0262?KB_PROCESS
-  977: 			{
-  978: 				kb_set_multikey(0x0223);
+0028FD B4D609            CJNE    A,#0D6H,?C0266?KB_PROCESS
+  982: 			{
+  983: 				kb_set_multikey(0x0223);
 002900 7F23              MOV     R7,#023H
 002902 7E02              MOV     R6,#02H
 002904 1226E1            LCALL   _kb_set_multikey
-  979: 			}
-002907 21E1              AJMP    ?C0229?KB_PROCESS
-002909         ?C0262?KB_PROCESS:
-  980: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+  984: 			}
+002907 21E1              AJMP    ?C0233?KB_PROCESS
+002909         ?C0266?KB_PROCESS:
+  985: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
 002909 904ED9            MOV     DPTR,#pEvt
 00290C E0                MOVX    A,@DPTR
 00290D FB                MOV     R3,A
@@ -7727,26 +7727,26 @@
 002921 FA                MOV     R2,A
 002922 1203B6            LCALL   ?C?CLDPTR
 002925 FB                MOV     R3,A
-002926 B4D707            CJNE    A,#0D7H,?C0264?KB_PROCESS
-  981: 			{
-  982: 				kb_set_multikey(0x0070);
+002926 B4D707            CJNE    A,#0D7H,?C0268?KB_PROCESS
+  986: 			{
+  987: 				kb_set_multikey(0x0070);
 002929 7F70              MOV     R7,#070H
 00292B 1226E1            LCALL   _kb_set_multikey
-  983: 			}
-00292E 21E1              AJMP    ?C0229?KB_PROCESS
-002930         ?C0264?KB_PROCESS:
-  984: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+  988: 			}
+00292E 21E1              AJMP    ?C0233?KB_PROCESS
+002930         ?C0268?KB_PROCESS:
+  989: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
 002930 EB                MOV     A,R3
-002931 B4D809            CJNE    A,#0D8H,?C0266?KB_PROCESS
-  985: 			{
-  986: 				kb_set_multikey(0x006f);
+002931 B4D809            CJNE    A,#0D8H,?C0270?KB_PROCESS
+  990: 			{
+  991: 				kb_set_multikey(0x006f);
 002934 7F6F              MOV     R7,#06FH
 002936 7E00              MOV     R6,#00H
 002938 1226E1            LCALL   _kb_set_multikey
-  987: 			}	
-00293B 21E1              AJMP    ?C0229?KB_PROCESS
-00293D         ?C0266?KB_PROCESS:
-  988: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
+  992: 			}	
+00293B 21E1              AJMP    ?C0233?KB_PROCESS
+00293D         ?C0270?KB_PROCESS:
+  993: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
 00293D 904ED9            MOV     DPTR,#pEvt
 002940 E0                MOVX    A,@DPTR
 002941 FB                MOV     R3,A
@@ -7770,26 +7770,26 @@
 002955 FA                MOV     R2,A
 002956 1203B6            LCALL   ?C?CLDPTR
 002959 FB                MOV     R3,A
-00295A B4D907            CJNE    A,#0D9H,?C0268?KB_PROCESS
-  989: 		      	{
-  990: 		        	kb_set_multikey(0x00b8);
+00295A B4D907            CJNE    A,#0D9H,?C0272?KB_PROCESS
+  994: 		      	{
+  995: 		        	kb_set_multikey(0x00b8);
 00295D 7FB8              MOV     R7,#0B8H
 00295F 1226E1            LCALL   _kb_set_multikey
-  991: 		      	}
-002962 807D              SJMP    ?C0229?KB_PROCESS
-002964         ?C0268?KB_PROCESS:
-  992: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+  996: 		      	}
+002962 807D              SJMP    ?C0233?KB_PROCESS
+002964         ?C0272?KB_PROCESS:
+  997: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
 002964 EB                MOV     A,R3
-002965 B4DA09            CJNE    A,#0DAH,?C0270?KB_PROCESS
-  993: 		      	{
-  994: 		        	kb_set_multikey(0x0030);
+002965 B4DA09            CJNE    A,#0DAH,?C0274?KB_PROCESS
+  998: 		      	{
+  999: 		        	kb_set_multikey(0x0030);
 002968 7F30              MOV     R7,#030H
 00296A 7E00              MOV     R6,#00H
 00296C 1226E1            LCALL   _kb_set_multikey
-  995: 		      	}	
-00296F 8070              SJMP    ?C0229?KB_PROCESS
-002971         ?C0270?KB_PROCESS:
-  996: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
+ 1000: 		      	}	
+00296F 8070              SJMP    ?C0233?KB_PROCESS
+002971         ?C0274?KB_PROCESS:
+ 1001: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
 002971 904ED9            MOV     DPTR,#pEvt
 002974 E0                MOVX    A,@DPTR
 002975 FB                MOV     R3,A
@@ -7813,27 +7813,27 @@
 002989 FA                MOV     R2,A
 00298A 1203B6            LCALL   ?C?CLDPTR
 00298D FB                MOV     R3,A
-00298E B4DB09            CJNE    A,#0DBH,?C0272?KB_PROCESS
-  997: 		      	{
-  998: 		        	kb_set_multikey(0x0306);
+00298E B4DB09            CJNE    A,#0DBH,?C0276?KB_PROCESS
+ 1002: 		      	{
+ 1003: 		        	kb_set_multikey(0x0306);
 002991 7F06              MOV     R7,#06H
 002993 7E03              MOV     R6,#03H
 002995 1226E1            LCALL   _kb_set_multikey
-  999: 		      	}
-002998 8047              SJMP    ?C0229?KB_PROCESS
-00299A         ?C0272?KB_PROCESS:
- 1000: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+ 1004: 		      	}
+002998 8047              SJMP    ?C0233?KB_PROCESS
+00299A         ?C0276?KB_PROCESS:
+ 1005: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
 00299A EB                MOV     A,R3
-00299B B4DC09            CJNE    A,#0DCH,?C0274?KB_PROCESS
- 1001: 		      	{
- 1002: 		        	kb_set_multikey(0x0307);
+00299B B4DC09            CJNE    A,#0DCH,?C0278?KB_PROCESS
+ 1006: 		      	{
+ 1007: 		        	kb_set_multikey(0x0307);
 00299E 7F07              MOV     R7,#07H
 0029A0 7E03              MOV     R6,#03H
 0029A2 1226E1            LCALL   _kb_set_multikey
- 1003: 		      	}
-0029A5 803A              SJMP    ?C0229?KB_PROCESS
-0029A7         ?C0274?KB_PROCESS:
- 1004: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
+ 1008: 		      	}
+0029A5 803A              SJMP    ?C0233?KB_PROCESS
+0029A7         ?C0278?KB_PROCESS:
+ 1009: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
 0029A7 904ED9            MOV     DPTR,#pEvt
 0029AA E0                MOVX    A,@DPTR
 0029AB FB                MOV     R3,A
@@ -7857,40 +7857,40 @@
 0029BF FA                MOV     R2,A
 0029C0 1203B6            LCALL   ?C?CLDPTR
 0029C3 FE                MOV     R6,A
-0029C4 B4DD06            CJNE    A,#0DDH,?C0276?KB_PROCESS
- 1005: 		      	{
- 1006: 		        	kb_set_systemkey(0x01);
+0029C4 B4DD06            CJNE    A,#0DDH,?C0280?KB_PROCESS
+ 1010: 		      	{
+ 1011: 		        	kb_set_systemkey(0x01);
 0029C7 7F01              MOV     R7,#01H
 0029C9 5116              ACALL   _kb_set_systemkey
- 1007: 		      	}
-0029CB 8014              SJMP    ?C0229?KB_PROCESS
-0029CD         ?C0276?KB_PROCESS:
- 1008: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
+ 1012: 		      	}
+0029CB 8014              SJMP    ?C0233?KB_PROCESS
+0029CD         ?C0280?KB_PROCESS:
+ 1013: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
 0029CD EE                MOV     A,R6
-0029CE B4DE06            CJNE    A,#0DEH,?C0278?KB_PROCESS
- 1009: 		      	{
- 1010: 		        	kb_set_systemkey(0x02);
+0029CE B4DE06            CJNE    A,#0DEH,?C0282?KB_PROCESS
+ 1014: 		      	{
+ 1015: 		        	kb_set_systemkey(0x02);
 0029D1 7F02              MOV     R7,#02H
 0029D3 5116              ACALL   _kb_set_systemkey
- 1011: 		      	}
-0029D5 800A              SJMP    ?C0229?KB_PROCESS
-0029D7         ?C0278?KB_PROCESS:
- 1012: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+ 1016: 		      	}
+0029D5 800A              SJMP    ?C0233?KB_PROCESS
+0029D7         ?C0282?KB_PROCESS:
+ 1017: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
 0029D7 1203B6            LCALL   ?C?CLDPTR
-0029DA B4DF04            CJNE    A,#0DFH,?C0229?KB_PROCESS
- 1013: 		      	{
- 1014: 		        	kb_set_systemkey(0x04);
+0029DA B4DF04            CJNE    A,#0DFH,?C0233?KB_PROCESS
+ 1018: 		      	{
+ 1019: 		        	kb_set_systemkey(0x04);
 0029DD 7F04              MOV     R7,#04H
 0029DF 5116              ACALL   _kb_set_systemkey
- 1015: 		      	}
-0029E1         ?C0229?KB_PROCESS:
- 1016: 			
- 1017: 			if(mult_key_status == KEY_WAIT_RELEASE)
+ 1020: 		      	}
+0029E1         ?C0233?KB_PROCESS:
+ 1021: 			
+ 1022: 			if(mult_key_status == KEY_WAIT_RELEASE)
 0029E1 904E4B            MOV     DPTR,#mult_key_status
 0029E4 E0                MOVX    A,@DPTR
-0029E5 B40224            CJNE    A,#02H,?C0225?KB_PROCESS
- 1018: 			{
- 1019: 				mult_key_value = pEvt->ksPool[i];
+0029E5 B40224            CJNE    A,#02H,?C0229?KB_PROCESS
+ 1023: 			{
+ 1024: 				mult_key_value = pEvt->ksPool[i];
 0029E8 904ED9            MOV     DPTR,#pEvt
 0029EB E0                MOVX    A,@DPTR
 0029EC FB                MOV     R3,A
@@ -7915,20 +7915,20 @@
 002A01 1203B6            LCALL   ?C?CLDPTR
 002A04 904DED            MOV     DPTR,#mult_key_value
 002A07 F0                MOVX    @DPTR,A
- 1020: 				pEvt->ksPool[i] = 0;
+ 1025: 				pEvt->ksPool[i] = 0;
 002A08 E4                CLR     A
 002A09 1203FC            LCALL   ?C?CSTPTR
- 1021: 			}
- 1022: 		}
- 1023: 	}
-002A0C         ?C0225?KB_PROCESS:
+ 1026: 			}
+ 1027: 		}
+ 1028: 	}
+002A0C         ?C0229?KB_PROCESS:
 002A0C 904EDC            MOV     DPTR,#i
 002A0F E0                MOVX    A,@DPTR
 002A10 04                INC     A
 002A11 F0                MOVX    @DPTR,A
-002A12 02270B            LJMP    ?C0223?KB_PROCESS
- 1024: }
-002A15         ?C0282?KB_PROCESS:
+002A12 02270B            LJMP    ?C0227?KB_PROCESS
+ 1029: }
+002A15         ?C0286?KB_PROCESS:
 002A15 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
@@ -8794,618 +8794,648 @@
 002DEC F0                MOVX    @DPTR,A
   696: 	}
 002DED         ?C0164?KB_PROCESS:
-  697: 		switch (key_value)
-002DED 904EEC            MOV     DPTR,#key_value
+  697: 	if( (fn_flag == 0 && g_variable.system_mode == OSMODE_WINDOWS) ||
+002DED 904DE2            MOV     DPTR,#fn_flag
 002DF0 E0                MOVX    A,@DPTR
-002DF1 24C6              ADD     A,#0C6H
-002DF3 B40C00            CJNE    A,#0CH,?C0285?KB_PROCESS
-002DF6         ?C0285?KB_PROCESS:
-002DF6 4002              JC      $ + 4H
-002DF8 C1CD              AJMP    ?C0166?KB_PROCESS
-002DFA 902E08            MOV     DPTR,#02E08H
-002DFD 75F003            MOV     B,#03H
-002E00 A4                MUL     AB
-002E01 C583              XCH     A,DPH
-002E03 25F0              ADD     A,B
-002E05 C583              XCH     A,DPH
-002E07 73                JMP     @A+DPTR
-002E08         ?C0286?KB_PROCESS:
-002E08 022E2C            LJMP    ?C0167?KB_PROCESS
-002E0B 022E34            LJMP    ?C0168?KB_PROCESS
-002E0E 022E3C            LJMP    ?C0169?KB_PROCESS
-002E11 022E44            LJMP    ?C0170?KB_PROCESS
-002E14 022E6E            LJMP    ?C0174?KB_PROCESS
-002E17 022E76            LJMP    ?C0175?KB_PROCESS
-002E1A 022E9F            LJMP    ?C0179?KB_PROCESS
-002E1D 022EA7            LJMP    ?C0180?KB_PROCESS
-002E20 022EAF            LJMP    ?C0181?KB_PROCESS
-002E23 022EB7            LJMP    ?C0182?KB_PROCESS
-002E26 022EBF            LJMP    ?C0183?KB_PROCESS
-002E29 022EC7            LJMP    ?C0184?KB_PROCESS
-  698: 		{ 	
-  699: 			case HID_KEY_F1:
-002E2C         ?C0167?KB_PROCESS:
-  700: 				temp = HID_MULTIKEY_LIGHT_DOWN;	
-002E2C 904EED            MOV     DPTR,#temp
-002E2F 74D7              MOV     A,#0D7H
-002E31 F0                MOVX    @DPTR,A
-  701: 				break;
-002E32 C1CD              AJMP    ?C0166?KB_PROCESS
-  702: 			case HID_KEY_F2:
-002E34         ?C0168?KB_PROCESS:
-  703: 				temp = HID_MULTIKEY_LIGHT_UP;
-002E34 904EED            MOV     DPTR,#temp
-002E37 74D8              MOV     A,#0D8H
-002E39 F0                MOVX    @DPTR,A
-  704: 				break;
-002E3A C1CD              AJMP    ?C0166?KB_PROCESS
-  705: 			case HID_KEY_F3:
-002E3C         ?C0169?KB_PROCESS:
-  706: 				temp = HID_MULTIKEY_AC_HOME;
-002E3C 904EED            MOV     DPTR,#temp
-002E3F 74D6              MOV     A,#0D6H
-002E41 F0                MOVX    @DPTR,A
-  707: 				break;
-002E42 C1CD              AJMP    ?C0166?KB_PROCESS
-  708: 			case HID_KEY_F4:
-002E44         ?C0170?KB_PROCESS:
-  709: 				if(g_variable.system_mode == OSMODE_IOS)
-002E44 EE                MOV     A,R6
-002E45 701F              JNZ     ?C0171?KB_PROCESS
-  710: 				{
-  711: 				kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
-002E47 904EEB            MOV     DPTR,#state
-002E4A E0                MOVX    A,@DPTR
-002E4B FF                MOV     R7,A
-002E4C 7B20              MOV     R3,#020H
-002E4E 7D0A              MOV     R5,#0AH
-002E50 B198              ACALL   _kb_combination_key_press
-  712: 					if(state & 1)    
-002E52 904EEB            MOV     DPTR,#state
-002E55 E0                MOVX    A,@DPTR
-002E56 30E006            JNB     ACC.0,?C0172?KB_PROCESS
-  713: 					{            
-  714: 					g_variable.one_key_press_wait_release_timer = 10;     
-002E59 904CFA            MOV     DPTR,#g_variable+03BH
-002E5C 740A              MOV     A,#0AH
-002E5E F0                MOVX    @DPTR,A
-  715: 					}	
-002E5F         ?C0172?KB_PROCESS:
-  716: 				temp = HID_KEY_NULL;
-002E5F E4                CLR     A
-002E60 904EED            MOV     DPTR,#temp
-002E63 F0                MOVX    @DPTR,A
-  717: 				}			
-002E64 8067              SJMP    ?C0166?KB_PROCESS
-002E66         ?C0171?KB_PROCESS:
-  718: 				else
-  719: 					temp = HID_KEY_PRINT_SCREEN;
-002E66 904EED            MOV     DPTR,#temp
-002E69 7446              MOV     A,#046H
-002E6B F0                MOVX    @DPTR,A
-  720: 				break;	
-002E6C 805F              SJMP    ?C0166?KB_PROCESS
-  721: 			case HID_KEY_F5:
-002E6E         ?C0174?KB_PROCESS:
-  722: 				temp = HID_MULTIKEY_AC_SEARCH;
-002E6E 904EED            MOV     DPTR,#temp
-002E71 74D5              MOV     A,#0D5H
-002E73 F0                MOVX    @DPTR,A
-  723: 				break;
-002E74 8057              SJMP    ?C0166?KB_PROCESS
-  724: 			case HID_KEY_F6:
-002E76         ?C0175?KB_PROCESS:
-  725: 				if(g_variable.system_mode == OSMODE_WINDOWS)	
-002E76 904CC1            MOV     DPTR,#g_variable+02H
-002E79 E0                MOVX    A,@DPTR
-002E7A B4021A            CJNE    A,#02H,?C0176?KB_PROCESS
-  726: 				{
-  727: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
-002E7D 904EEB            MOV     DPTR,#state
-002E80 E0                MOVX    A,@DPTR
-002E81 FF                MOV     R7,A
-002E82 7B0F              MOV     R3,#0FH
-002E84 7D08              MOV     R5,#08H
-002E86 B198              ACALL   _kb_combination_key_press
-  728: 					if(state & 1)
-002E88 904EEB            MOV     DPTR,#state
-002E8B E0                MOVX    A,@DPTR
-002E8C 30E03E            JNB     ACC.0,?C0166?KB_PROCESS
-  729: 					{						
-  730: 					g_variable.one_key_press_wait_release_timer = 10;
-002E8F 904CFA            MOV     DPTR,#g_variable+03BH
-002E92 740A              MOV     A,#0AH
-002E94 F0                MOVX    @DPTR,A
-  731: 					}	
-  732: 				}
-002E95 8036              SJMP    ?C0166?KB_PROCESS
-002E97         ?C0176?KB_PROCESS:
-  733: 				else
-  734: 					temp = HID_MULTIKEY_OS_LOCK;
-002E97 904EED            MOV     DPTR,#temp
-002E9A 74DA              MOV     A,#0DAH
-002E9C F0                MOVX    @DPTR,A
-  735: 				break;
-002E9D 802E              SJMP    ?C0166?KB_PROCESS
-  736: 			case HID_KEY_F7:
-002E9F         ?C0179?KB_PROCESS:
-  737: 				temp = HID_MULTIKEY_PRE_TRACK;
-002E9F 904EED            MOV     DPTR,#temp
-002EA2 74F4              MOV     A,#0F4H
-002EA4 F0                MOVX    @DPTR,A
-  738: 				break;
-002EA5 8026              SJMP    ?C0166?KB_PROCESS
-  739: 			case HID_KEY_F8:
-002EA7         ?C0180?KB_PROCESS:
-  740: 				temp = HID_MULTIKEY_PALY;
-002EA7 904EED            MOV     DPTR,#temp
-002EAA 74F2              MOV     A,#0F2H
-002EAC F0                MOVX    @DPTR,A
-  741: 				break;
-002EAD 801E              SJMP    ?C0166?KB_PROCESS
-  742: 			case HID_KEY_F9:
-002EAF         ?C0181?KB_PROCESS:
-  743: 				temp = HID_MULTIKEY_NEXT_TRACK;
-002EAF 904EED            MOV     DPTR,#temp
-002EB2 74F5              MOV     A,#0F5H
-002EB4 F0                MOVX    @DPTR,A
-  744: 				break;
-002EB5 8016              SJMP    ?C0166?KB_PROCESS
-  745: 			case HID_KEY_F10:
-002EB7         ?C0182?KB_PROCESS:
-  746: 				temp = HID_MULTIKEY_MUTE;
-002EB7 904EED            MOV     DPTR,#temp
-002EBA 74F8              MOV     A,#0F8H
-002EBC F0                MOVX    @DPTR,A
-  747: 				break;
-002EBD 800E              SJMP    ?C0166?KB_PROCESS
-  748: 			case HID_KEY_F11:
-002EBF         ?C0183?KB_PROCESS:
-  749: 				temp = HID_MULTIKEY_VOL_DOWN;
-002EBF 904EED            MOV     DPTR,#temp
-002EC2 74F6              MOV     A,#0F6H
-002EC4 F0                MOVX    @DPTR,A
-  750: 				break;
-002EC5 8006              SJMP    ?C0166?KB_PROCESS
-  751: 			case HID_KEY_F12:	//language switch
-002EC7         ?C0184?KB_PROCESS:
-  752: 				temp = HID_MULTIKEY_VOL_UP;
-002EC7 904EED            MOV     DPTR,#temp
-002ECA 74F7              MOV     A,#0F7H
-002ECC F0                MOVX    @DPTR,A
-  753: 				break;	
-  754: 			default :
-  755: 				break;	
-  756: 		}
-002ECD         ?C0166?KB_PROCESS:
-  757: 	if(fn_flag == 1)			// Fn lock
-002ECD 904DE2            MOV     DPTR,#fn_flag
-002ED0 E0                MOVX    A,@DPTR
-002ED1 6401              XRL     A,#01H
-002ED3 6003              JZ      $ + 5H
-002ED5 0230C0            LJMP    ?C0186?KB_PROCESS
-  758: 	{
-  759: /*		 if(key_value == HID_KEY_ESC)
-  760: 		{
-  761: 			if(state & 1)
-  762: 			{						
-  763: 				if(fn_lock_flag)
-  764: 				{
-  765: 					fn_lock_flag = 0;
-  766: 				}
-  767: 				else
-  768: 					fn_lock_flag = 1;
-  769: 					
-  770: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-  771: 				{
-  772: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-  773: 				}
-  774: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-  775: 				{
-  776: 					bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
-  777: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+002DF1 7005              JNZ     ?C0168?KB_PROCESS
+002DF3 EE                MOV     A,R6
+002DF4 6402              XRL     A,#02H
+002DF6 601E              JZ      ?C0167?KB_PROCESS
+002DF8         ?C0168?KB_PROCESS:
+002DF8 904DE2            MOV     DPTR,#fn_flag
+002DFB E0                MOVX    A,@DPTR
+002DFC 7006              JNZ     ?C0169?KB_PROCESS
+002DFE 904CC1            MOV     DPTR,#g_variable+02H
+002E01 E0                MOVX    A,@DPTR
+002E02 6012              JZ      ?C0167?KB_PROCESS
+002E04         ?C0169?KB_PROCESS:
+002E04 904DE2            MOV     DPTR,#fn_flag
+002E07 E0                MOVX    A,@DPTR
+002E08 6002              JZ      $ + 4H
+002E0A C1F9              AJMP    ?C0166?KB_PROCESS
+002E0C 904CC1            MOV     DPTR,#g_variable+02H
+002E0F E0                MOVX    A,@DPTR
+002E10 6401              XRL     A,#01H
+002E12 6002              JZ      $ + 4H
+002E14 C1F9              AJMP    ?C0166?KB_PROCESS
+002E16         ?C0167?KB_PROCESS:
+  698: 		 (fn_flag == 0 && g_variable.system_mode == OSMODE_IOS) ||
+  699: 		 (fn_flag == 0 && g_variable.system_mode == OSMODE_ANDROID))
+  700: 	{	
+  701: 		switch (key_value)
+002E16 904EEC            MOV     DPTR,#key_value
+002E19 E0                MOVX    A,@DPTR
+002E1A 24C6              ADD     A,#0C6H
+002E1C B40C00            CJNE    A,#0CH,?C0289?KB_PROCESS
+002E1F         ?C0289?KB_PROCESS:
+002E1F 4002              JC      $ + 4H
+002E21 C1F9              AJMP    ?C0166?KB_PROCESS
+002E23 902E31            MOV     DPTR,#02E31H
+002E26 75F003            MOV     B,#03H
+002E29 A4                MUL     AB
+002E2A C583              XCH     A,DPH
+002E2C 25F0              ADD     A,B
+002E2E C583              XCH     A,DPH
+002E30 73                JMP     @A+DPTR
+002E31         ?C0290?KB_PROCESS:
+002E31 022E55            LJMP    ?C0171?KB_PROCESS
+002E34 022E5D            LJMP    ?C0172?KB_PROCESS
+002E37 022E65            LJMP    ?C0173?KB_PROCESS
+002E3A 022E6D            LJMP    ?C0174?KB_PROCESS
+002E3D 022E9A            LJMP    ?C0178?KB_PROCESS
+002E40 022EA2            LJMP    ?C0179?KB_PROCESS
+002E43 022ECB            LJMP    ?C0183?KB_PROCESS
+002E46 022ED3            LJMP    ?C0184?KB_PROCESS
+002E49 022EDB            LJMP    ?C0185?KB_PROCESS
+002E4C 022EE3            LJMP    ?C0186?KB_PROCESS
+002E4F 022EEB            LJMP    ?C0187?KB_PROCESS
+002E52 022EF3            LJMP    ?C0188?KB_PROCESS
+  702: 		{ 	
+  703: 			case HID_KEY_F1:
+002E55         ?C0171?KB_PROCESS:
+  704: 				temp = HID_MULTIKEY_LIGHT_UP;	
+002E55 904EED            MOV     DPTR,#temp
+002E58 74D8              MOV     A,#0D8H
+002E5A F0                MOVX    @DPTR,A
+  705: 				break;
+002E5B C1F9              AJMP    ?C0166?KB_PROCESS
+  706: 			case HID_KEY_F2:
+002E5D         ?C0172?KB_PROCESS:
+  707: 				temp = HID_MULTIKEY_LIGHT_DOWN;
+002E5D 904EED            MOV     DPTR,#temp
+002E60 74D7              MOV     A,#0D7H
+002E62 F0                MOVX    @DPTR,A
+  708: 				break;
+002E63 C1F9              AJMP    ?C0166?KB_PROCESS
+  709: 			case HID_KEY_F3:
+002E65         ?C0173?KB_PROCESS:
+  710: 				temp = HID_MULTIKEY_AC_HOME;
+002E65 904EED            MOV     DPTR,#temp
+002E68 74D6              MOV     A,#0D6H
+002E6A F0                MOVX    @DPTR,A
+  711: 				break;
+002E6B C1F9              AJMP    ?C0166?KB_PROCESS
+  712: 			case HID_KEY_F4:
+002E6D         ?C0174?KB_PROCESS:
+  713: 				if(g_variable.system_mode == OSMODE_IOS)
+002E6D 904CC1            MOV     DPTR,#g_variable+02H
+002E70 E0                MOVX    A,@DPTR
+002E71 701F              JNZ     ?C0175?KB_PROCESS
+  714: 				{
+  715: 				kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
+002E73 904EEB            MOV     DPTR,#state
+002E76 E0                MOVX    A,@DPTR
+002E77 FF                MOV     R7,A
+002E78 7B20              MOV     R3,#020H
+002E7A 7D0A              MOV     R5,#0AH
+002E7C B198              ACALL   _kb_combination_key_press
+  716: 					if(state & 1)    
+002E7E 904EEB            MOV     DPTR,#state
+002E81 E0                MOVX    A,@DPTR
+002E82 30E006            JNB     ACC.0,?C0176?KB_PROCESS
+  717: 					{            
+  718: 					g_variable.one_key_press_wait_release_timer = 10;     
+002E85 904CFA            MOV     DPTR,#g_variable+03BH
+002E88 740A              MOV     A,#0AH
+002E8A F0                MOVX    @DPTR,A
+  719: 					}	
+002E8B         ?C0176?KB_PROCESS:
+  720: 				temp = HID_KEY_NULL;
+002E8B E4                CLR     A
+002E8C 904EED            MOV     DPTR,#temp
+002E8F F0                MOVX    @DPTR,A
+  721: 				}			
+002E90 8067              SJMP    ?C0166?KB_PROCESS
+002E92         ?C0175?KB_PROCESS:
+  722: 				else
+  723: 					temp = HID_KEY_PRINT_SCREEN;
+002E92 904EED            MOV     DPTR,#temp
+002E95 7446              MOV     A,#046H
+002E97 F0                MOVX    @DPTR,A
+  724: 				break;	
+002E98 805F              SJMP    ?C0166?KB_PROCESS
+  725: 			case HID_KEY_F5:
+002E9A         ?C0178?KB_PROCESS:
+  726: 				temp = HID_MULTIKEY_AC_SEARCH;
+002E9A 904EED            MOV     DPTR,#temp
+002E9D 74D5              MOV     A,#0D5H
+002E9F F0                MOVX    @DPTR,A
+  727: 				break;
+002EA0 8057              SJMP    ?C0166?KB_PROCESS
+  728: 			case HID_KEY_F6:
+002EA2         ?C0179?KB_PROCESS:
+  729: 				if(g_variable.system_mode == OSMODE_WINDOWS)	
+002EA2 904CC1            MOV     DPTR,#g_variable+02H
+002EA5 E0                MOVX    A,@DPTR
+002EA6 B4021A            CJNE    A,#02H,?C0180?KB_PROCESS
+  730: 				{
+  731: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
+002EA9 904EEB            MOV     DPTR,#state
+002EAC E0                MOVX    A,@DPTR
+002EAD FF                MOV     R7,A
+002EAE 7B0F              MOV     R3,#0FH
+002EB0 7D08              MOV     R5,#08H
+002EB2 B198              ACALL   _kb_combination_key_press
+  732: 					if(state & 1)
+002EB4 904EEB            MOV     DPTR,#state
+002EB7 E0                MOVX    A,@DPTR
+002EB8 30E03E            JNB     ACC.0,?C0166?KB_PROCESS
+  733: 					{						
+  734: 					g_variable.one_key_press_wait_release_timer = 10;
+002EBB 904CFA            MOV     DPTR,#g_variable+03BH
+002EBE 740A              MOV     A,#0AH
+002EC0 F0                MOVX    @DPTR,A
+  735: 					}	
+  736: 				}
+002EC1 8036              SJMP    ?C0166?KB_PROCESS
+002EC3         ?C0180?KB_PROCESS:
+  737: 				else
+  738: 					temp = HID_MULTIKEY_OS_LOCK;
+002EC3 904EED            MOV     DPTR,#temp
+002EC6 74DA              MOV     A,#0DAH
+002EC8 F0                MOVX    @DPTR,A
+  739: 				break;
+002EC9 802E              SJMP    ?C0166?KB_PROCESS
+  740: 			case HID_KEY_F7:
+002ECB         ?C0183?KB_PROCESS:
+  741: 				temp = HID_MULTIKEY_PRE_TRACK;
+002ECB 904EED            MOV     DPTR,#temp
+002ECE 74F4              MOV     A,#0F4H
+002ED0 F0                MOVX    @DPTR,A
+  742: 				break;
+002ED1 8026              SJMP    ?C0166?KB_PROCESS
+  743: 			case HID_KEY_F8:
+002ED3         ?C0184?KB_PROCESS:
+  744: 				temp = HID_MULTIKEY_PALY;
+002ED3 904EED            MOV     DPTR,#temp
+002ED6 74F2              MOV     A,#0F2H
+002ED8 F0                MOVX    @DPTR,A
+  745: 				break;
+002ED9 801E              SJMP    ?C0166?KB_PROCESS
+  746: 			case HID_KEY_F9:
+002EDB         ?C0185?KB_PROCESS:
+  747: 				temp = HID_MULTIKEY_NEXT_TRACK;
+002EDB 904EED            MOV     DPTR,#temp
+002EDE 74F5              MOV     A,#0F5H
+002EE0 F0                MOVX    @DPTR,A
+  748: 				break;
+002EE1 8016              SJMP    ?C0166?KB_PROCESS
+  749: 			case HID_KEY_F10:
+002EE3         ?C0186?KB_PROCESS:
+  750: 				temp = HID_MULTIKEY_MUTE;
+002EE3 904EED            MOV     DPTR,#temp
+002EE6 74F8              MOV     A,#0F8H
+002EE8 F0                MOVX    @DPTR,A
+  751: 				break;
+002EE9 800E              SJMP    ?C0166?KB_PROCESS
+  752: 			case HID_KEY_F11:
+002EEB         ?C0187?KB_PROCESS:
+  753: 				temp = HID_MULTIKEY_VOL_DOWN;
+002EEB 904EED            MOV     DPTR,#temp
+002EEE 74F6              MOV     A,#0F6H
+002EF0 F0                MOVX    @DPTR,A
+  754: 				break;
+002EF1 8006              SJMP    ?C0166?KB_PROCESS
+  755: 			case HID_KEY_F12:	//language switch
+002EF3         ?C0188?KB_PROCESS:
+  756: 				temp = HID_MULTIKEY_VOL_UP;
+002EF3 904EED            MOV     DPTR,#temp
+002EF6 74F7              MOV     A,#0F7H
+002EF8 F0                MOVX    @DPTR,A
+  757: 				break;	
+  758: 			default :
+  759: 				break;	
+  760: 		}
+  761: 	}	
+002EF9         ?C0166?KB_PROCESS:
+  762: 	if(fn_flag == 1)			// Fn lock
+002EF9 904DE2            MOV     DPTR,#fn_flag
+002EFC E0                MOVX    A,@DPTR
+002EFD 6401              XRL     A,#01H
+002EFF 6003              JZ      $ + 5H
+002F01 0230EC            LJMP    ?C0190?KB_PROCESS
+  763: 	{
+  764: /*		 if(key_value == HID_KEY_ESC)
+  765: 		{
+  766: 			if(state & 1)
+  767: 			{						
+  768: 				if(fn_lock_flag)
+  769: 				{
+  770: 					fn_lock_flag = 0;
+  771: 				}
+  772: 				else
+  773: 					fn_lock_flag = 1;
+  774: 					
+  775: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+  776: 				{
+  777: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
   778: 				}
-  779: 			}
-  780: 			temp = HID_KEY_NULL;
-  781: 		}	
-  782: */
-  783: 		switch (key_value)
-002ED8 904EEC            MOV     DPTR,#key_value
-002EDB E0                MOVX    A,@DPTR
-002EDC 24F8              ADD     A,#0F8H
-002EDE 7002              JNZ     $ + 4H
-002EE0 E1BC              AJMP    ?C0202?KB_PROCESS
-002EE2 24EE              ADD     A,#0EEH
-002EE4 607B              JZ      ?C0195?KB_PROCESS
-002EE6 24CB              ADD     A,#0CBH
-002EE8 7003              JNZ     $ + 5H
-002EEA 023012            LJMP    ?C0209?KB_PROCESS
-002EED 14                DEC     A
-002EEE 7003              JNZ     $ + 5H
-002EF0 02303E            LJMP    ?C0212?KB_PROCESS
-002EF3 14                DEC     A
-002EF4 7003              JNZ     $ + 5H
-002EF6 02306A            LJMP    ?C0215?KB_PROCESS
-002EF9 14                DEC     A
-002EFA 7003              JNZ     $ + 5H
-002EFC 023096            LJMP    ?C0218?KB_PROCESS
-002EFF 243E              ADD     A,#03EH
-002F01 6003              JZ      $ + 5H
-002F03 0230C0            LJMP    ?C0186?KB_PROCESS
-  784: 		{ 		
-  785: 			case HID_KEY_Q:
-002F06         ?C0188?KB_PROCESS:
-  786: 				if(g_variable.system_mode != OSMODE_ANDROID)
-002F06 904CC1            MOV     DPTR,#g_variable+02H
-002F09 E0                MOVX    A,@DPTR
-002F0A FF                MOV     R7,A
-002F0B 6401              XRL     A,#01H
-002F0D 6037              JZ      ?C0189?KB_PROCESS
-  787: 				{
-  788: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-002F0F 904CC3            MOV     DPTR,#g_variable+04H
-002F12 E0                MOVX    A,@DPTR
-002F13 FE                MOV     R6,A
-002F14 6003              JZ      ?C0191?KB_PROCESS
-002F16 B4FE08            CJNE    A,#0FEH,?C0190?KB_PROCESS
-002F19         ?C0191?KB_PROCESS:
-  789: 					{
-  790: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-002F19 904CBF            MOV     DPTR,#g_variable
-002F1C 7402              MOV     A,#02H
-002F1E F0                MOVX    @DPTR,A
-  791: 					}
-002F1F 8025              SJMP    ?C0189?KB_PROCESS
-002F21         ?C0190?KB_PROCESS:
-  792: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-002F21 EE                MOV     A,R6
-002F22 D3                SETB    C
-002F23 9403              SUBB    A,#03H
-002F25 501F              JNC     ?C0189?KB_PROCESS
-002F27 EE                MOV     A,R6
-002F28 C3                CLR     C
-002F29 9401              SUBB    A,#01H
-002F2B 4019              JC      ?C0189?KB_PROCESS
-  793: 					{
-  794: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-002F2D 904CC3            MOV     DPTR,#g_variable+04H
-002F30 E0                MOVX    A,@DPTR
-002F31 75F01F            MOV     B,#01FH
-002F34 A4                MUL     AB
-002F35 24EC              ADD     A,#LOW bd_key_record_list-02H
-002F37 F582              MOV     DPL,A
-002F39 E4                CLR     A
-002F3A 344D              ADDC    A,#HIGH bd_key_record_list-02H
-002F3C F583              MOV     DPH,A
-002F3E EF                MOV     A,R7
-002F3F F0                MOVX    @DPTR,A
-  795: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-002F40 904CBF            MOV     DPTR,#g_variable
-002F43 7403              MOV     A,#03H
-002F45 F0                MOVX    @DPTR,A
+  779: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+  780: 				{
+  781: 					bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
+  782: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+  783: 				}
+  784: 			}
+  785: 			temp = HID_KEY_NULL;
+  786: 		}	
+  787: */
+  788: 		switch (key_value)
+002F04 904EEC            MOV     DPTR,#key_value
+002F07 E0                MOVX    A,@DPTR
+002F08 24F8              ADD     A,#0F8H
+002F0A 7002              JNZ     $ + 4H
+002F0C E1E8              AJMP    ?C0206?KB_PROCESS
+002F0E 24EE              ADD     A,#0EEH
+002F10 607B              JZ      ?C0199?KB_PROCESS
+002F12 24CB              ADD     A,#0CBH
+002F14 7003              JNZ     $ + 5H
+002F16 02303E            LJMP    ?C0213?KB_PROCESS
+002F19 14                DEC     A
+002F1A 7003              JNZ     $ + 5H
+002F1C 02306A            LJMP    ?C0216?KB_PROCESS
+002F1F 14                DEC     A
+002F20 7003              JNZ     $ + 5H
+002F22 023096            LJMP    ?C0219?KB_PROCESS
+002F25 14                DEC     A
+002F26 7003              JNZ     $ + 5H
+002F28 0230C2            LJMP    ?C0222?KB_PROCESS
+002F2B 243E              ADD     A,#03EH
+002F2D 6003              JZ      $ + 5H
+002F2F 0230EC            LJMP    ?C0190?KB_PROCESS
+  789: 		{ 		
+  790: 			case HID_KEY_Q:
+002F32         ?C0192?KB_PROCESS:
+  791: 				if(g_variable.system_mode != OSMODE_ANDROID)
+002F32 904CC1            MOV     DPTR,#g_variable+02H
+002F35 E0                MOVX    A,@DPTR
+002F36 FF                MOV     R7,A
+002F37 6401              XRL     A,#01H
+002F39 6037              JZ      ?C0193?KB_PROCESS
+  792: 				{
+  793: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+002F3B 904CC3            MOV     DPTR,#g_variable+04H
+002F3E E0                MOVX    A,@DPTR
+002F3F FE                MOV     R6,A
+002F40 6003              JZ      ?C0195?KB_PROCESS
+002F42 B4FE08            CJNE    A,#0FEH,?C0194?KB_PROCESS
+002F45         ?C0195?KB_PROCESS:
+  794: 					{
+  795: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+002F45 904CBF            MOV     DPTR,#g_variable
+002F48 7402              MOV     A,#02H
+002F4A F0                MOVX    @DPTR,A
   796: 					}
-  797: 				}
-002F46         ?C0189?KB_PROCESS:
-  798: 				if(state & 1)
-002F46 904EEB            MOV     DPTR,#state
-002F49 E0                MOVX    A,@DPTR
-002F4A 30E006            JNB     ACC.0,?C0194?KB_PROCESS
-  799: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
-002F4D 904CE8            MOV     DPTR,#g_variable+029H
-002F50 740C              MOV     A,#0CH
-002F52 F0                MOVX    @DPTR,A
-002F53         ?C0194?KB_PROCESS:
-  800: 				g_variable.system_mode = OSMODE_ANDROID;
-002F53 904CC1            MOV     DPTR,#g_variable+02H
-002F56 7401              MOV     A,#01H
-002F58 F0                MOVX    @DPTR,A
-  801: 				temp = HID_KEY_NULL;
-002F59 E4                CLR     A
-002F5A 904EED            MOV     DPTR,#temp
-002F5D F0                MOVX    @DPTR,A
-  802: 				break;
-002F5E 0230C0            LJMP    ?C0186?KB_PROCESS
-  803: 			case HID_KEY_W:
-002F61         ?C0195?KB_PROCESS:
-  804: 				if(g_variable.system_mode != OSMODE_WINDOWS)
-002F61 904CC1            MOV     DPTR,#g_variable+02H
-002F64 E0                MOVX    A,@DPTR
-002F65 FF                MOV     R7,A
-002F66 6402              XRL     A,#02H
-002F68 6037              JZ      ?C0196?KB_PROCESS
-  805: 				{
-  806: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-002F6A 904CC3            MOV     DPTR,#g_variable+04H
-002F6D E0                MOVX    A,@DPTR
-002F6E FE                MOV     R6,A
-002F6F 6003              JZ      ?C0198?KB_PROCESS
-002F71 B4FE08            CJNE    A,#0FEH,?C0197?KB_PROCESS
-002F74         ?C0198?KB_PROCESS:
-  807: 					{
-  808: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-002F74 904CBF            MOV     DPTR,#g_variable
-002F77 7402              MOV     A,#02H
-002F79 F0                MOVX    @DPTR,A
-  809: 					}
-002F7A 8025              SJMP    ?C0196?KB_PROCESS
-002F7C         ?C0197?KB_PROCESS:
-  810: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-002F7C EE                MOV     A,R6
-002F7D D3                SETB    C
-002F7E 9403              SUBB    A,#03H
-002F80 501F              JNC     ?C0196?KB_PROCESS
-002F82 EE                MOV     A,R6
-002F83 C3                CLR     C
-002F84 9401              SUBB    A,#01H
-002F86 4019              JC      ?C0196?KB_PROCESS
-  811: 					{
-  812: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-002F88 904CC3            MOV     DPTR,#g_variable+04H
-002F8B E0                MOVX    A,@DPTR
-002F8C 75F01F            MOV     B,#01FH
-002F8F A4                MUL     AB
-002F90 24EC              ADD     A,#LOW bd_key_record_list-02H
-002F92 F582              MOV     DPL,A
-002F94 E4                CLR     A
-002F95 344D              ADDC    A,#HIGH bd_key_record_list-02H
-002F97 F583              MOV     DPH,A
-002F99 EF                MOV     A,R7
-002F9A F0                MOVX    @DPTR,A
-  813: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-002F9B 904CBF            MOV     DPTR,#g_variable
-002F9E 7403              MOV     A,#03H
-002FA0 F0                MOVX    @DPTR,A
+002F4B 8025              SJMP    ?C0193?KB_PROCESS
+002F4D         ?C0194?KB_PROCESS:
+  797: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+002F4D EE                MOV     A,R6
+002F4E D3                SETB    C
+002F4F 9403              SUBB    A,#03H
+002F51 501F              JNC     ?C0193?KB_PROCESS
+002F53 EE                MOV     A,R6
+002F54 C3                CLR     C
+002F55 9401              SUBB    A,#01H
+002F57 4019              JC      ?C0193?KB_PROCESS
+  798: 					{
+  799: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+002F59 904CC3            MOV     DPTR,#g_variable+04H
+002F5C E0                MOVX    A,@DPTR
+002F5D 75F01F            MOV     B,#01FH
+002F60 A4                MUL     AB
+002F61 24EC              ADD     A,#LOW bd_key_record_list-02H
+002F63 F582              MOV     DPL,A
+002F65 E4                CLR     A
+002F66 344D              ADDC    A,#HIGH bd_key_record_list-02H
+002F68 F583              MOV     DPH,A
+002F6A EF                MOV     A,R7
+002F6B F0                MOVX    @DPTR,A
+  800: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+002F6C 904CBF            MOV     DPTR,#g_variable
+002F6F 7403              MOV     A,#03H
+002F71 F0                MOVX    @DPTR,A
+  801: 					}
+  802: 				}
+002F72         ?C0193?KB_PROCESS:
+  803: 				if(state & 1)
+002F72 904EEB            MOV     DPTR,#state
+002F75 E0                MOVX    A,@DPTR
+002F76 30E006            JNB     ACC.0,?C0198?KB_PROCESS
+  804: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
+002F79 904CE8            MOV     DPTR,#g_variable+029H
+002F7C 740C              MOV     A,#0CH
+002F7E F0                MOVX    @DPTR,A
+002F7F         ?C0198?KB_PROCESS:
+  805: 				g_variable.system_mode = OSMODE_ANDROID;
+002F7F 904CC1            MOV     DPTR,#g_variable+02H
+002F82 7401              MOV     A,#01H
+002F84 F0                MOVX    @DPTR,A
+  806: 				temp = HID_KEY_NULL;
+002F85 E4                CLR     A
+002F86 904EED            MOV     DPTR,#temp
+002F89 F0                MOVX    @DPTR,A
+  807: 				break;
+002F8A 0230EC            LJMP    ?C0190?KB_PROCESS
+  808: 			case HID_KEY_W:
+002F8D         ?C0199?KB_PROCESS:
+  809: 				if(g_variable.system_mode != OSMODE_WINDOWS)
+002F8D 904CC1            MOV     DPTR,#g_variable+02H
+002F90 E0                MOVX    A,@DPTR
+002F91 FF                MOV     R7,A
+002F92 6402              XRL     A,#02H
+002F94 6037              JZ      ?C0200?KB_PROCESS
+  810: 				{
+  811: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+002F96 904CC3            MOV     DPTR,#g_variable+04H
+002F99 E0                MOVX    A,@DPTR
+002F9A FE                MOV     R6,A
+002F9B 6003              JZ      ?C0202?KB_PROCESS
+002F9D B4FE08            CJNE    A,#0FEH,?C0201?KB_PROCESS
+002FA0         ?C0202?KB_PROCESS:
+  812: 					{
+  813: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+002FA0 904CBF            MOV     DPTR,#g_variable
+002FA3 7402              MOV     A,#02H
+002FA5 F0                MOVX    @DPTR,A
   814: 					}
-  815: 				}
-002FA1         ?C0196?KB_PROCESS:
-  816: 				if(state & 1)
-002FA1 904EEB            MOV     DPTR,#state
-002FA4 E0                MOVX    A,@DPTR
-002FA5 30E006            JNB     ACC.0,?C0201?KB_PROCESS
-  817: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
-002FA8 904CE8            MOV     DPTR,#g_variable+029H
-002FAB 740C              MOV     A,#0CH
-002FAD F0                MOVX    @DPTR,A
-002FAE         ?C0201?KB_PROCESS:
-  818: 				g_variable.system_mode = OSMODE_WINDOWS;
-002FAE 904CC1            MOV     DPTR,#g_variable+02H
-002FB1 7402              MOV     A,#02H
-002FB3 F0                MOVX    @DPTR,A
-  819: 				temp = HID_KEY_NULL;
-002FB4 E4                CLR     A
-002FB5 904EED            MOV     DPTR,#temp
-002FB8 F0                MOVX    @DPTR,A
-  820: 				break;
-002FB9 0230C0            LJMP    ?C0186?KB_PROCESS
-  821: 			case HID_KEY_E:
-002FBC         ?C0202?KB_PROCESS:
-  822: 				if(g_variable.system_mode != OSMODE_IOS)
-002FBC 904CC1            MOV     DPTR,#g_variable+02H
-002FBF E0                MOVX    A,@DPTR
-002FC0 FF                MOV     R7,A
-002FC1 6037              JZ      ?C0203?KB_PROCESS
-  823: 				{
-  824: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-002FC3 904CC3            MOV     DPTR,#g_variable+04H
-002FC6 E0                MOVX    A,@DPTR
-002FC7 FE                MOV     R6,A
-002FC8 6003              JZ      ?C0205?KB_PROCESS
-002FCA B4FE08            CJNE    A,#0FEH,?C0204?KB_PROCESS
-002FCD         ?C0205?KB_PROCESS:
-  825: 					{
-  826: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-002FCD 904CBF            MOV     DPTR,#g_variable
-002FD0 7402              MOV     A,#02H
-002FD2 F0                MOVX    @DPTR,A
-  827: 					}
-002FD3 8025              SJMP    ?C0203?KB_PROCESS
-002FD5         ?C0204?KB_PROCESS:
-  828: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-002FD5 EE                MOV     A,R6
-002FD6 D3                SETB    C
-002FD7 9403              SUBB    A,#03H
-002FD9 501F              JNC     ?C0203?KB_PROCESS
-002FDB EE                MOV     A,R6
-002FDC C3                CLR     C
-002FDD 9401              SUBB    A,#01H
-002FDF 4019              JC      ?C0203?KB_PROCESS
-  829: 					{
-  830: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-002FE1 904CC3            MOV     DPTR,#g_variable+04H
-002FE4 E0                MOVX    A,@DPTR
-002FE5 75F01F            MOV     B,#01FH
-002FE8 A4                MUL     AB
-002FE9 24EC              ADD     A,#LOW bd_key_record_list-02H
-002FEB F582              MOV     DPL,A
-002FED E4                CLR     A
-002FEE 344D              ADDC    A,#HIGH bd_key_record_list-02H
-002FF0 F583              MOV     DPH,A
-002FF2 EF                MOV     A,R7
-002FF3 F0                MOVX    @DPTR,A
-  831: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-002FF4 904CBF            MOV     DPTR,#g_variable
-002FF7 7403              MOV     A,#03H
-002FF9 F0                MOVX    @DPTR,A
+002FA6 8025              SJMP    ?C0200?KB_PROCESS
+002FA8         ?C0201?KB_PROCESS:
+  815: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+002FA8 EE                MOV     A,R6
+002FA9 D3                SETB    C
+002FAA 9403              SUBB    A,#03H
+002FAC 501F              JNC     ?C0200?KB_PROCESS
+002FAE EE                MOV     A,R6
+002FAF C3                CLR     C
+002FB0 9401              SUBB    A,#01H
+002FB2 4019              JC      ?C0200?KB_PROCESS
+  816: 					{
+  817: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+002FB4 904CC3            MOV     DPTR,#g_variable+04H
+002FB7 E0                MOVX    A,@DPTR
+002FB8 75F01F            MOV     B,#01FH
+002FBB A4                MUL     AB
+002FBC 24EC              ADD     A,#LOW bd_key_record_list-02H
+002FBE F582              MOV     DPL,A
+002FC0 E4                CLR     A
+002FC1 344D              ADDC    A,#HIGH bd_key_record_list-02H
+002FC3 F583              MOV     DPH,A
+002FC5 EF                MOV     A,R7
+002FC6 F0                MOVX    @DPTR,A
+  818: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+002FC7 904CBF            MOV     DPTR,#g_variable
+002FCA 7403              MOV     A,#03H
+002FCC F0                MOVX    @DPTR,A
+  819: 					}
+  820: 				}
+002FCD         ?C0200?KB_PROCESS:
+  821: 				if(state & 1)
+002FCD 904EEB            MOV     DPTR,#state
+002FD0 E0                MOVX    A,@DPTR
+002FD1 30E006            JNB     ACC.0,?C0205?KB_PROCESS
+  822: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
+002FD4 904CE8            MOV     DPTR,#g_variable+029H
+002FD7 740C              MOV     A,#0CH
+002FD9 F0                MOVX    @DPTR,A
+002FDA         ?C0205?KB_PROCESS:
+  823: 				g_variable.system_mode = OSMODE_WINDOWS;
+002FDA 904CC1            MOV     DPTR,#g_variable+02H
+002FDD 7402              MOV     A,#02H
+002FDF F0                MOVX    @DPTR,A
+  824: 				temp = HID_KEY_NULL;
+002FE0 E4                CLR     A
+002FE1 904EED            MOV     DPTR,#temp
+002FE4 F0                MOVX    @DPTR,A
+  825: 				break;
+002FE5 0230EC            LJMP    ?C0190?KB_PROCESS
+  826: 			case HID_KEY_E:
+002FE8         ?C0206?KB_PROCESS:
+  827: 				if(g_variable.system_mode != OSMODE_IOS)
+002FE8 904CC1            MOV     DPTR,#g_variable+02H
+002FEB E0                MOVX    A,@DPTR
+002FEC FF                MOV     R7,A
+002FED 6037              JZ      ?C0207?KB_PROCESS
+  828: 				{
+  829: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+002FEF 904CC3            MOV     DPTR,#g_variable+04H
+002FF2 E0                MOVX    A,@DPTR
+002FF3 FE                MOV     R6,A
+002FF4 6003              JZ      ?C0209?KB_PROCESS
+002FF6 B4FE08            CJNE    A,#0FEH,?C0208?KB_PROCESS
+002FF9         ?C0209?KB_PROCESS:
+  830: 					{
+  831: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+002FF9 904CBF            MOV     DPTR,#g_variable
+002FFC 7402              MOV     A,#02H
+002FFE F0                MOVX    @DPTR,A
   832: 					}
-  833: 				}
-002FFA         ?C0203?KB_PROCESS:
-  834: 				if(state & 1)
-002FFA 904EEB            MOV     DPTR,#state
-002FFD E0                MOVX    A,@DPTR
-002FFE 30E006            JNB     ACC.0,?C0208?KB_PROCESS
-  835: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
-003001 904CE8            MOV     DPTR,#g_variable+029H
-003004 740C              MOV     A,#0CH
-003006 F0                MOVX    @DPTR,A
-003007         ?C0208?KB_PROCESS:
-  836: 				g_variable.system_mode = OSMODE_IOS;
-003007 E4                CLR     A
-003008 904CC1            MOV     DPTR,#g_variable+02H
-00300B F0                MOVX    @DPTR,A
-  837: 				temp = HID_KEY_NULL;
-00300C 904EED            MOV     DPTR,#temp
-00300F F0                MOVX    @DPTR,A
-  838: 				break;		
-003010 01C0              AJMP    ?C0186?KB_PROCESS
-  839: 			case HID_KEY_RIGHT_ARROW:	
-003012         ?C0209?KB_PROCESS:
-  840: 				if(g_variable.system_mode == OSMODE_IOS)
-003012 904CC1            MOV     DPTR,#g_variable+02H
-003015 E0                MOVX    A,@DPTR
-003016 701E              JNZ     ?C0210?KB_PROCESS
-  841: 				{
-  842: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_RIGHT_ARROW);
-003018 904EEB            MOV     DPTR,#state
-00301B E0                MOVX    A,@DPTR
-00301C FF                MOV     R7,A
-00301D 7B4F              MOV     R3,#04FH
-00301F 7D08              MOV     R5,#08H
-003021 122D98            LCALL   _kb_combination_key_press
-  843: 					if(state & 1)    
-003024 904EEB            MOV     DPTR,#state
-003027 E0                MOVX    A,@DPTR
-003028 30E006            JNB     ACC.0,?C0211?KB_PROCESS
-  844: 					{            
-  845: 					g_variable.one_key_press_wait_release_timer = 10;     
-00302B 904CFA            MOV     DPTR,#g_variable+03BH
-00302E 740A              MOV     A,#0AH
-003030 F0                MOVX    @DPTR,A
-  846: 					}	
-003031         ?C0211?KB_PROCESS:
-  847: 				temp = HID_KEY_NULL;
-003031 E4                CLR     A
-003032 904EED            MOV     DPTR,#temp
-003035 F0                MOVX    @DPTR,A
-  848: 				}					
-003036         ?C0210?KB_PROCESS:
-  849: 				temp = HID_KEY_END;
-003036 904EED            MOV     DPTR,#temp
-003039 744D              MOV     A,#04DH
+002FFF 8025              SJMP    ?C0207?KB_PROCESS
+003001         ?C0208?KB_PROCESS:
+  833: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+003001 EE                MOV     A,R6
+003002 D3                SETB    C
+003003 9403              SUBB    A,#03H
+003005 501F              JNC     ?C0207?KB_PROCESS
+003007 EE                MOV     A,R6
+003008 C3                CLR     C
+003009 9401              SUBB    A,#01H
+00300B 4019              JC      ?C0207?KB_PROCESS
+  834: 					{
+  835: 						bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+00300D 904CC3            MOV     DPTR,#g_variable+04H
+003010 E0                MOVX    A,@DPTR
+003011 75F01F            MOV     B,#01FH
+003014 A4                MUL     AB
+003015 24EC              ADD     A,#LOW bd_key_record_list-02H
+003017 F582              MOV     DPL,A
+003019 E4                CLR     A
+00301A 344D              ADDC    A,#HIGH bd_key_record_list-02H
+00301C F583              MOV     DPH,A
+00301E EF                MOV     A,R7
+00301F F0                MOVX    @DPTR,A
+  836: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+003020 904CBF            MOV     DPTR,#g_variable
+003023 7403              MOV     A,#03H
+003025 F0                MOVX    @DPTR,A
+  837: 					}
+  838: 				}
+003026         ?C0207?KB_PROCESS:
+  839: 				if(state & 1)
+003026 904EEB            MOV     DPTR,#state
+003029 E0                MOVX    A,@DPTR
+00302A 30E006            JNB     ACC.0,?C0212?KB_PROCESS
+  840: 					g_variable.sys_mode_led_on_timer = KB_MODE_LED_ON_TIMER;
+00302D 904CE8            MOV     DPTR,#g_variable+029H
+003030 740C              MOV     A,#0CH
+003032 F0                MOVX    @DPTR,A
+003033         ?C0212?KB_PROCESS:
+  841: 				g_variable.system_mode = OSMODE_IOS;
+003033 E4                CLR     A
+003034 904CC1            MOV     DPTR,#g_variable+02H
+003037 F0                MOVX    @DPTR,A
+  842: 				temp = HID_KEY_NULL;
+003038 904EED            MOV     DPTR,#temp
 00303B F0                MOVX    @DPTR,A
-  850: 				break;			
-00303C 01C0              AJMP    ?C0186?KB_PROCESS
-  851: 			case HID_KEY_LEFT_ARROW:
-00303E         ?C0212?KB_PROCESS:
-  852: 				if(g_variable.system_mode == OSMODE_IOS)
+  843: 				break;		
+00303C 01EC              AJMP    ?C0190?KB_PROCESS
+  844: 			case HID_KEY_RIGHT_ARROW:	
+00303E         ?C0213?KB_PROCESS:
+  845: 				if(g_variable.system_mode == OSMODE_IOS)
 00303E 904CC1            MOV     DPTR,#g_variable+02H
 003041 E0                MOVX    A,@DPTR
-003042 701E              JNZ     ?C0213?KB_PROCESS
-  853: 				{
-  854: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
+003042 701E              JNZ     ?C0214?KB_PROCESS
+  846: 				{
+  847: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_RIGHT_ARROW);
 003044 904EEB            MOV     DPTR,#state
 003047 E0                MOVX    A,@DPTR
 003048 FF                MOV     R7,A
-003049 7B50              MOV     R3,#050H
+003049 7B4F              MOV     R3,#04FH
 00304B 7D08              MOV     R5,#08H
 00304D 122D98            LCALL   _kb_combination_key_press
-  855: 					if(state & 1)    
+  848: 					if(state & 1)    
 003050 904EEB            MOV     DPTR,#state
 003053 E0                MOVX    A,@DPTR
-003054 30E006            JNB     ACC.0,?C0214?KB_PROCESS
-  856: 					{            
-  857: 					g_variable.one_key_press_wait_release_timer = 10;     
+003054 30E006            JNB     ACC.0,?C0215?KB_PROCESS
+  849: 					{            
+  850: 					g_variable.one_key_press_wait_release_timer = 10;     
 003057 904CFA            MOV     DPTR,#g_variable+03BH
 00305A 740A              MOV     A,#0AH
 00305C F0                MOVX    @DPTR,A
-  858: 					}	
-00305D         ?C0214?KB_PROCESS:
-  859: 				temp = HID_KEY_NULL;
+  851: 					}	
+00305D         ?C0215?KB_PROCESS:
+  852: 				temp = HID_KEY_NULL;
 00305D E4                CLR     A
 00305E 904EED            MOV     DPTR,#temp
 003061 F0                MOVX    @DPTR,A
-  860: 				}			
-003062         ?C0213?KB_PROCESS:
-  861: 				temp = HID_KEY_HOME;
+  853: 				}					
+003062         ?C0214?KB_PROCESS:
+  854: 				temp = HID_KEY_END;
 003062 904EED            MOV     DPTR,#temp
-003065 744A              MOV     A,#04AH
+003065 744D              MOV     A,#04DH
 003067 F0                MOVX    @DPTR,A
-  862: 				break;	
-003068 8056              SJMP    ?C0186?KB_PROCESS
-  863: 			case HID_KEY_DOWN_ARROW:	
-00306A         ?C0215?KB_PROCESS:
-  864: 				if(g_variable.system_mode == OSMODE_IOS)
+  855: 				break;			
+003068 01EC              AJMP    ?C0190?KB_PROCESS
+  856: 			case HID_KEY_LEFT_ARROW:
+00306A         ?C0216?KB_PROCESS:
+  857: 				if(g_variable.system_mode == OSMODE_IOS)
 00306A 904CC1            MOV     DPTR,#g_variable+02H
 00306D E0                MOVX    A,@DPTR
-00306E 701E              JNZ     ?C0216?KB_PROCESS
-  865: 				{
-  866: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_DOWN_ARROW);
+00306E 701E              JNZ     ?C0217?KB_PROCESS
+  858: 				{
+  859: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
 003070 904EEB            MOV     DPTR,#state
 003073 E0                MOVX    A,@DPTR
 003074 FF                MOV     R7,A
-003075 7B51              MOV     R3,#051H
+003075 7B50              MOV     R3,#050H
 003077 7D08              MOV     R5,#08H
 003079 122D98            LCALL   _kb_combination_key_press
-  867: 					if(state & 1)    
+  860: 					if(state & 1)    
 00307C 904EEB            MOV     DPTR,#state
 00307F E0                MOVX    A,@DPTR
-003080 30E006            JNB     ACC.0,?C0217?KB_PROCESS
-  868: 					{            
-  869: 					g_variable.one_key_press_wait_release_timer = 10;     
+003080 30E006            JNB     ACC.0,?C0218?KB_PROCESS
+  861: 					{            
+  862: 					g_variable.one_key_press_wait_release_timer = 10;     
 003083 904CFA            MOV     DPTR,#g_variable+03BH
 003086 740A              MOV     A,#0AH
 003088 F0                MOVX    @DPTR,A
-  870: 					}	
-003089         ?C0217?KB_PROCESS:
-  871: 				temp = HID_KEY_NULL;
+  863: 					}	
+003089         ?C0218?KB_PROCESS:
+  864: 				temp = HID_KEY_NULL;
 003089 E4                CLR     A
 00308A 904EED            MOV     DPTR,#temp
 00308D F0                MOVX    @DPTR,A
-  872: 				}			
-00308E         ?C0216?KB_PROCESS:
-  873: 				temp = HID_KEY_PAGE_DOWN;
+  865: 				}			
+00308E         ?C0217?KB_PROCESS:
+  866: 				temp = HID_KEY_HOME;
 00308E 904EED            MOV     DPTR,#temp
-003091 744E              MOV     A,#04EH
+003091 744A              MOV     A,#04AH
 003093 F0                MOVX    @DPTR,A
-  874: 				break;	
-003094 802A              SJMP    ?C0186?KB_PROCESS
-  875: 			case HID_KEY_UP_ARROW:	
-003096         ?C0218?KB_PROCESS:
-  876: 				if(g_variable.system_mode == OSMODE_IOS)
+  867: 				break;	
+003094 8056              SJMP    ?C0190?KB_PROCESS
+  868: 			case HID_KEY_DOWN_ARROW:	
+003096         ?C0219?KB_PROCESS:
+  869: 				if(g_variable.system_mode == OSMODE_IOS)
 003096 904CC1            MOV     DPTR,#g_variable+02H
 003099 E0                MOVX    A,@DPTR
-00309A 701E              JNZ     ?C0219?KB_PROCESS
-  877: 				{
-  878: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_UP_ARROW);
+00309A 701E              JNZ     ?C0220?KB_PROCESS
+  870: 				{
+  871: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_DOWN_ARROW);
 00309C 904EEB            MOV     DPTR,#state
 00309F E0                MOVX    A,@DPTR
 0030A0 FF                MOV     R7,A
-0030A1 7B52              MOV     R3,#052H
+0030A1 7B51              MOV     R3,#051H
 0030A3 7D08              MOV     R5,#08H
 0030A5 122D98            LCALL   _kb_combination_key_press
-  879: 					if(state & 1)    
+  872: 					if(state & 1)    
 0030A8 904EEB            MOV     DPTR,#state
 0030AB E0                MOVX    A,@DPTR
-0030AC 30E006            JNB     ACC.0,?C0220?KB_PROCESS
-  880: 					{            
-  881: 					g_variable.one_key_press_wait_release_timer = 10;     
+0030AC 30E006            JNB     ACC.0,?C0221?KB_PROCESS
+  873: 					{            
+  874: 					g_variable.one_key_press_wait_release_timer = 10;     
 0030AF 904CFA            MOV     DPTR,#g_variable+03BH
 0030B2 740A              MOV     A,#0AH
 0030B4 F0                MOVX    @DPTR,A
-  882: 					}	
-0030B5         ?C0220?KB_PROCESS:
-  883: 				temp = HID_KEY_NULL;
+  875: 					}	
+0030B5         ?C0221?KB_PROCESS:
+  876: 				temp = HID_KEY_NULL;
 0030B5 E4                CLR     A
 0030B6 904EED            MOV     DPTR,#temp
 0030B9 F0                MOVX    @DPTR,A
-  884: 				}			
-0030BA         ?C0219?KB_PROCESS:
-  885: 				temp = HID_KEY_PAGE_UP;
+  877: 				}			
+0030BA         ?C0220?KB_PROCESS:
+  878: 				temp = HID_KEY_PAGE_DOWN;
 0030BA 904EED            MOV     DPTR,#temp
-0030BD 744B              MOV     A,#04BH
+0030BD 744E              MOV     A,#04EH
 0030BF F0                MOVX    @DPTR,A
-  886: 				break;					
-  887: 			default :
-  888: 				break;
-  889: 		}
-  890: 	}
-0030C0         ?C0186?KB_PROCESS:
-  891: 
-  892: 	return temp;
-0030C0 904EED            MOV     DPTR,#temp
-0030C3 E0                MOVX    A,@DPTR
-0030C4 FF                MOV     R7,A
-  893: }
-0030C5 22                RET     
+  879: 				break;	
+0030C0 802A              SJMP    ?C0190?KB_PROCESS
+  880: 			case HID_KEY_UP_ARROW:	
+0030C2         ?C0222?KB_PROCESS:
+  881: 				if(g_variable.system_mode == OSMODE_IOS)
+0030C2 904CC1            MOV     DPTR,#g_variable+02H
+0030C5 E0                MOVX    A,@DPTR
+0030C6 701E              JNZ     ?C0223?KB_PROCESS
+  882: 				{
+  883: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_UP_ARROW);
+0030C8 904EEB            MOV     DPTR,#state
+0030CB E0                MOVX    A,@DPTR
+0030CC FF                MOV     R7,A
+0030CD 7B52              MOV     R3,#052H
+0030CF 7D08              MOV     R5,#08H
+0030D1 122D98            LCALL   _kb_combination_key_press
+  884: 					if(state & 1)    
+0030D4 904EEB            MOV     DPTR,#state
+0030D7 E0                MOVX    A,@DPTR
+0030D8 30E006            JNB     ACC.0,?C0224?KB_PROCESS
+  885: 					{            
+  886: 					g_variable.one_key_press_wait_release_timer = 10;     
+0030DB 904CFA            MOV     DPTR,#g_variable+03BH
+0030DE 740A              MOV     A,#0AH
+0030E0 F0                MOVX    @DPTR,A
+  887: 					}	
+0030E1         ?C0224?KB_PROCESS:
+  888: 				temp = HID_KEY_NULL;
+0030E1 E4                CLR     A
+0030E2 904EED            MOV     DPTR,#temp
+0030E5 F0                MOVX    @DPTR,A
+  889: 				}			
+0030E6         ?C0223?KB_PROCESS:
+  890: 				temp = HID_KEY_PAGE_UP;
+0030E6 904EED            MOV     DPTR,#temp
+0030E9 744B              MOV     A,#04BH
+0030EB F0                MOVX    @DPTR,A
+  891: 				break;					
+  892: 			default :
+  893: 				break;
+  894: 		}
+  895: 	}
+0030EC         ?C0190?KB_PROCESS:
+  896: 
+  897: 	return temp;
+0030EC 904EED            MOV     DPTR,#temp
+0030EF E0                MOVX    A,@DPTR
+0030F0 FF                MOV     R7,A
+  898: }
+0030F1 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
@@ -9416,351 +9446,351 @@
   218: 	byte i = 0;
   219: 	byte temp = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-0030C6 E4                CLR     A
-0030C7 FF                MOV     R7,A
+0030F2 E4                CLR     A
+0030F3 FF                MOV     R7,A
   220: 	byte tgroup = 0;
-0030C8 904F0E            MOV     DPTR,#temp
-0030CB F0                MOVX    @DPTR,A
+0030F4 904F0E            MOV     DPTR,#temp
+0030F7 F0                MOVX    @DPTR,A
   221: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-0030CC FE                MOV     R6,A
+0030F8 FE                MOV     R6,A
   222: 	for (i=0; col[i]!=0; i++) {
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-0030CD FD                MOV     R5,A
+0030F9 FD                MOV     R5,A
   223: 		tgroup = col[i]  >> 3;
-0030CE         ?C0037?KEYSCAN:
-0030CE EF                MOV     A,R7
-0030CF 900681            MOV     DPTR,#col
-0030D2 93                MOVC    A,@A+DPTR
-0030D3 6049              JZ      ?C0038?KEYSCAN
+0030FA         ?C0037?KEYSCAN:
+0030FA EF                MOV     A,R7
+0030FB 900681            MOV     DPTR,#col
+0030FE 93                MOVC    A,@A+DPTR
+0030FF 6049              JZ      ?C0038?KEYSCAN
   224: 		tgpionum = 1 << (col[i] & 7);
-0030D5 EF                MOV     A,R7
-0030D6 93                MOVC    A,@A+DPTR
-0030D7 FD                MOV     R5,A
-0030D8 13                RRC     A
-0030D9 13                RRC     A
-0030DA 13                RRC     A
-0030DB 541F              ANL     A,#01FH
-0030DD FE                MOV     R6,A
+003101 EF                MOV     A,R7
+003102 93                MOVC    A,@A+DPTR
+003103 FD                MOV     R5,A
+003104 13                RRC     A
+003105 13                RRC     A
+003106 13                RRC     A
+003107 541F              ANL     A,#01FH
+003109 FE                MOV     R6,A
   225: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
-0030DE ED                MOV     A,R5
-0030DF 5407              ANL     A,#07H
-0030E1 FD                MOV     R5,A
-0030E2 7401              MOV     A,#01H
-0030E4 A805              MOV     R0,AR5
-0030E6 08                INC     R0
-0030E7 8002              SJMP    ?C0097?KEYSCAN
-0030E9         ?C0096?KEYSCAN:
-0030E9 C3                CLR     C
-0030EA 33                RLC     A
-0030EB         ?C0097?KEYSCAN:
-0030EB D8FC              DJNZ    R0,?C0096?KEYSCAN
-0030ED FD                MOV     R5,A
+00310A ED                MOV     A,R5
+00310B 5407              ANL     A,#07H
+00310D FD                MOV     R5,A
+00310E 7401              MOV     A,#01H
+003110 A805              MOV     R0,AR5
+003112 08                INC     R0
+003113 8002              SJMP    ?C0097?KEYSCAN
+003115         ?C0096?KEYSCAN:
+003115 C3                CLR     C
+003116 33                RLC     A
+003117         ?C0097?KEYSCAN:
+003117 D8FC              DJNZ    R0,?C0096?KEYSCAN
+003119 FD                MOV     R5,A
   226: 		REG_GPIO_OE(tgroup) |= tgpionum;
-0030EE EE                MOV     A,R6
-0030EF 2478              ADD     A,#078H
-0030F1 FB                MOV     R3,A
-0030F2 E4                CLR     A
-0030F3 3480              ADDC    A,#080H
-0030F5 8B82              MOV     DPL,R3
-0030F7 F583              MOV     DPH,A
-0030F9 E0                MOVX    A,@DPTR
-0030FA FC                MOV     R4,A
-0030FB ED                MOV     A,R5
-0030FC F4                CPL     A
-0030FD FB                MOV     R3,A
-0030FE EC                MOV     A,R4
-0030FF 5B                ANL     A,R3
-003100 F0                MOVX    @DPTR,A
+00311A EE                MOV     A,R6
+00311B 2478              ADD     A,#078H
+00311D FB                MOV     R3,A
+00311E E4                CLR     A
+00311F 3480              ADDC    A,#080H
+003121 8B82              MOV     DPL,R3
+003123 F583              MOV     DPH,A
+003125 E0                MOVX    A,@DPTR
+003126 FC                MOV     R4,A
+003127 ED                MOV     A,R5
+003128 F4                CPL     A
+003129 FB                MOV     R3,A
+00312A EC                MOV     A,R4
+00312B 5B                ANL     A,R3
+00312C F0                MOVX    @DPTR,A
   227: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
-003101 EE                MOV     A,R6
-003102 2470              ADD     A,#070H
-003104 F582              MOV     DPL,A
-003106 E4                CLR     A
-003107 3480              ADDC    A,#080H
-003109 F583              MOV     DPH,A
-00310B E0                MOVX    A,@DPTR
-00310C 4D                ORL     A,R5
-00310D F0                MOVX    @DPTR,A
+00312D EE                MOV     A,R6
+00312E 2470              ADD     A,#070H
+003130 F582              MOV     DPL,A
+003132 E4                CLR     A
+003133 3480              ADDC    A,#080H
+003135 F583              MOV     DPH,A
+003137 E0                MOVX    A,@DPTR
+003138 4D                ORL     A,R5
+003139 F0                MOVX    @DPTR,A
   228: 	}
-00310E EE                MOV     A,R6
-00310F 2474              ADD     A,#074H
-003111 F582              MOV     DPL,A
-003113 E4                CLR     A
-003114 3480              ADDC    A,#080H
-003116 F583              MOV     DPH,A
-003118 E0                MOVX    A,@DPTR
-003119 5B                ANL     A,R3
-00311A F0                MOVX    @DPTR,A
+00313A EE                MOV     A,R6
+00313B 2474              ADD     A,#074H
+00313D F582              MOV     DPL,A
+00313F E4                CLR     A
+003140 3480              ADDC    A,#080H
+003142 F583              MOV     DPH,A
+003144 E0                MOVX    A,@DPTR
+003145 5B                ANL     A,R3
+003146 F0                MOVX    @DPTR,A
   229: 	
-00311B 0F                INC     R7
-00311C 80B0              SJMP    ?C0037?KEYSCAN
-00311E         ?C0038?KEYSCAN:
+003147 0F                INC     R7
+003148 80B0              SJMP    ?C0037?KEYSCAN
+00314A         ?C0038?KEYSCAN:
   230: 	GPIO_fillpd();
-00311E 7133              ACALL   GPIO_fillpd
+00314A 91DE              ACALL   GPIO_fillpd
   231: 	
   232: 	temp = REG_GPIO_IN(0);
-003120 90811C            MOV     DPTR,#0811CH
-003123 E0                MOVX    A,@DPTR
-003124 904F0E            MOV     DPTR,#temp
-003127 F0                MOVX    @DPTR,A
+00314C 90811C            MOV     DPTR,#0811CH
+00314F E0                MOVX    A,@DPTR
+003150 904F0E            MOV     DPTR,#temp
+003153 F0                MOVX    @DPTR,A
   233: 
   234: 	if(long_press_flag)
-003128 904DDC            MOV     DPTR,#long_press_flag
-00312B E0                MOVX    A,@DPTR
-00312C 6020              JZ      ?C0040?KEYSCAN
+003154 904DDC            MOV     DPTR,#long_press_flag
+003157 E0                MOVX    A,@DPTR
+003158 6020              JZ      ?C0040?KEYSCAN
   235: 	{
   236: 		GPIO_SetWakeupByCurrentState(0);
-00312E E4                CLR     A
-00312F FF                MOV     R7,A
-003130 315E              ACALL   _GPIO_SetWakeupByCurrentState
+00315A E4                CLR     A
+00315B FF                MOV     R7,A
+00315C 318A              ACALL   _GPIO_SetWakeupByCurrentState
   237: 		GPIO_SetWakeupByCurrentState(1);
-003132 7F01              MOV     R7,#01H
-003134 315E              ACALL   _GPIO_SetWakeupByCurrentState
+00315E 7F01              MOV     R7,#01H
+003160 318A              ACALL   _GPIO_SetWakeupByCurrentState
   238: 		GPIO_SetWakeupByCurrentState(2);
-003136 7F02              MOV     R7,#02H
-003138 315E              ACALL   _GPIO_SetWakeupByCurrentState
+003162 7F02              MOV     R7,#02H
+003164 318A              ACALL   _GPIO_SetWakeupByCurrentState
   239: 		GPIO_SetWakeupByCurrentState(3);
-00313A 7F03              MOV     R7,#03H
-00313C 315E              ACALL   _GPIO_SetWakeupByCurrentState
+003166 7F03              MOV     R7,#03H
+003168 318A              ACALL   _GPIO_SetWakeupByCurrentState
   240: 		GPIO_SetWakeupByCurrentState(4);
-00313E 7F04              MOV     R7,#04H
-003140 315E              ACALL   _GPIO_SetWakeupByCurrentState
+00316A 7F04              MOV     R7,#04H
+00316C 318A              ACALL   _GPIO_SetWakeupByCurrentState
   241: 		GPIO_SetWakeupByCurrentState(5);
-003142 7F05              MOV     R7,#05H
-003144 315E              ACALL   _GPIO_SetWakeupByCurrentState
+00316E 7F05              MOV     R7,#05H
+003170 318A              ACALL   _GPIO_SetWakeupByCurrentState
   242: 		GPIO_SetWakeupByCurrentState(6);
-003146 7F06              MOV     R7,#06H
-003148 315E              ACALL   _GPIO_SetWakeupByCurrentState
+003172 7F06              MOV     R7,#06H
+003174 318A              ACALL   _GPIO_SetWakeupByCurrentState
   243: 		GPIO_SetWakeupByCurrentState(7);
-00314A 7F07              MOV     R7,#07H
-00314C 8010              SJMP    _GPIO_SetWakeupByCurrentState
+003176 7F07              MOV     R7,#07H
+003178 8010              SJMP    _GPIO_SetWakeupByCurrentState
   244: 	}
-00314E         ?C0040?KEYSCAN:
+00317A         ?C0040?KEYSCAN:
   245: 	else
   246: 	{
   247: 		YC_GPIOWakeupL[0] = temp;
-00314E 904F0E            MOV     DPTR,#temp
-003151 E0                MOVX    A,@DPTR
-003152 FF                MOV     R7,A
-003153 9000A3            MOV     DPTR,#YC_GPIOWakeupL
-003156 F0                MOVX    @DPTR,A
+00317A 904F0E            MOV     DPTR,#temp
+00317D E0                MOVX    A,@DPTR
+00317E FF                MOV     R7,A
+00317F 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+003182 F0                MOVX    @DPTR,A
   248: 		YC_GPIOWakeupH[0] = ~temp;
-003157 EF                MOV     A,R7
-003158 F4                CPL     A
-003159 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-00315C F0                MOVX    @DPTR,A
+003183 EF                MOV     A,R7
+003184 F4                CPL     A
+003185 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+003188 F0                MOVX    @DPTR,A
   249: 	}
   250: 
   251: }
-00315D 22                RET     
+003189 22                RET     
 ----- FUNCTION KS_Unistall (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (BEGIN) -----
-00315E 904F12            MOV     DPTR,#gpio_num
-003161 EF                MOV     A,R7
-003162 F0                MOVX    @DPTR,A
-003163 31FD              ACALL   _GPIO_GetInputStatus
-003165 9208              MOV     st,C
-003167 904F12            MOV     DPTR,#gpio_num
-00316A E0                MOVX    A,@DPTR
-00316B FF                MOV     R7,A
-00316C A208              MOV     C,st
-00316E B3                CPL     C
-00316F 9207              MOV     ?_GPIO_SetWakeup?BIT,C
+00318A 904F12            MOV     DPTR,#gpio_num
+00318D EF                MOV     A,R7
+00318E F0                MOVX    @DPTR,A
+00318F 5129              ACALL   _GPIO_GetInputStatus
+003191 9208              MOV     st,C
+003193 904F12            MOV     DPTR,#gpio_num
+003196 E0                MOVX    A,@DPTR
+003197 FF                MOV     R7,A
+003198 A208              MOV     C,st
+00319A B3                CPL     C
+00319B 9207              MOV     ?_GPIO_SetWakeup?BIT,C
 ;----                  JMP     _GPIO_SetWakeup
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-003171 EF                MOV     A,R7
-003172 F4                CPL     A
-003173 7002              JNZ     $ + 4H
-003175 21FC              AJMP    ?C0019?GPIO
-003177         ?C0018?GPIO:
-003177 EF                MOV     A,R7
-003178 5407              ANL     A,#07H
-00317A FE                MOV     R6,A
+00319D EF                MOV     A,R7
+00319E F4                CPL     A
+00319F 7002              JNZ     $ + 4H
+0031A1 4128              AJMP    ?C0019?GPIO
+0031A3         ?C0018?GPIO:
+0031A3 EF                MOV     A,R7
+0031A4 5407              ANL     A,#07H
+0031A6 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-00317B EF                MOV     A,R7
-00317C 13                RRC     A
-00317D 13                RRC     A
-00317E 13                RRC     A
-00317F 5403              ANL     A,#03H
-003181 FF                MOV     R7,A
+0031A7 EF                MOV     A,R7
+0031A8 13                RRC     A
+0031A9 13                RRC     A
+0031AA 13                RRC     A
+0031AB 5403              ANL     A,#03H
+0031AD FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-003182 300743            JNB     st,?C0020?GPIO
-003185 24A3              ADD     A,#LOW YC_GPIOWakeupL
-003187 F582              MOV     DPL,A
-003189 E4                CLR     A
-00318A 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-00318C F583              MOV     DPH,A
-00318E C083              PUSH    DPH
-003190 C082              PUSH    DPL
-003192 E0                MOVX    A,@DPTR
-003193 FD                MOV     R5,A
-003194 7401              MOV     A,#01H
-003196 A806              MOV     R0,AR6
-003198 08                INC     R0
-003199 8002              SJMP    ?C0037?GPIO
-00319B         ?C0036?GPIO:
-00319B C3                CLR     C
-00319C 33                RLC     A
-00319D         ?C0037?GPIO:
-00319D D8FC              DJNZ    R0,?C0036?GPIO
-00319F F4                CPL     A
-0031A0 5D                ANL     A,R5
-0031A1 D082              POP     DPL
-0031A3 D083              POP     DPH
-0031A5 F0                MOVX    @DPTR,A
-0031A6 74A7              MOV     A,#LOW YC_GPIOWakeupH
-0031A8 2F                ADD     A,R7
-0031A9 F582              MOV     DPL,A
-0031AB E4                CLR     A
-0031AC 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-0031AE F583              MOV     DPH,A
-0031B0 C083              PUSH    DPH
-0031B2 C082              PUSH    DPL
-0031B4 E0                MOVX    A,@DPTR
-0031B5 FF                MOV     R7,A
-0031B6 7401              MOV     A,#01H
-0031B8 A806              MOV     R0,AR6
-0031BA 08                INC     R0
-0031BB 8002              SJMP    ?C0039?GPIO
-0031BD         ?C0038?GPIO:
-0031BD C3                CLR     C
-0031BE 33                RLC     A
-0031BF         ?C0039?GPIO:
-0031BF D8FC              DJNZ    R0,?C0038?GPIO
-0031C1 4F                ORL     A,R7
-0031C2 D082              POP     DPL
-0031C4 D083              POP     DPH
-0031C6 F0                MOVX    @DPTR,A
-0031C7 22                RET     
-0031C8         ?C0020?GPIO:
-0031C8 74A3              MOV     A,#LOW YC_GPIOWakeupL
-0031CA 2F                ADD     A,R7
-0031CB F582              MOV     DPL,A
-0031CD E4                CLR     A
-0031CE 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-0031D0 F583              MOV     DPH,A
-0031D2 C083              PUSH    DPH
-0031D4 C082              PUSH    DPL
-0031D6 E0                MOVX    A,@DPTR
-0031D7 FD                MOV     R5,A
-0031D8 7401              MOV     A,#01H
-0031DA A806              MOV     R0,AR6
-0031DC 08                INC     R0
-0031DD 8002              SJMP    ?C0041?GPIO
-0031DF         ?C0040?GPIO:
-0031DF C3                CLR     C
-0031E0 33                RLC     A
-0031E1         ?C0041?GPIO:
-0031E1 D8FC              DJNZ    R0,?C0040?GPIO
-0031E3 FC                MOV     R4,A
-0031E4 4D                ORL     A,R5
-0031E5 D082              POP     DPL
-0031E7 D083              POP     DPH
-0031E9 F0                MOVX    @DPTR,A
-0031EA 74A7              MOV     A,#LOW YC_GPIOWakeupH
-0031EC 2F                ADD     A,R7
-0031ED F582              MOV     DPL,A
-0031EF E4                CLR     A
-0031F0 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-0031F2 F583              MOV     DPH,A
-0031F4 E0                MOVX    A,@DPTR
-0031F5 FF                MOV     R7,A
-0031F6 EC                MOV     A,R4
-0031F7 F4                CPL     A
-0031F8 FE                MOV     R6,A
-0031F9 EF                MOV     A,R7
-0031FA 5E                ANL     A,R6
-0031FB F0                MOVX    @DPTR,A
-0031FC         ?C0019?GPIO:
-0031FC 22                RET     
+0031AE 300743            JNB     st,?C0020?GPIO
+0031B1 24A3              ADD     A,#LOW YC_GPIOWakeupL
+0031B3 F582              MOV     DPL,A
+0031B5 E4                CLR     A
+0031B6 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0031B8 F583              MOV     DPH,A
+0031BA C083              PUSH    DPH
+0031BC C082              PUSH    DPL
+0031BE E0                MOVX    A,@DPTR
+0031BF FD                MOV     R5,A
+0031C0 7401              MOV     A,#01H
+0031C2 A806              MOV     R0,AR6
+0031C4 08                INC     R0
+0031C5 8002              SJMP    ?C0037?GPIO
+0031C7         ?C0036?GPIO:
+0031C7 C3                CLR     C
+0031C8 33                RLC     A
+0031C9         ?C0037?GPIO:
+0031C9 D8FC              DJNZ    R0,?C0036?GPIO
+0031CB F4                CPL     A
+0031CC 5D                ANL     A,R5
+0031CD D082              POP     DPL
+0031CF D083              POP     DPH
+0031D1 F0                MOVX    @DPTR,A
+0031D2 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0031D4 2F                ADD     A,R7
+0031D5 F582              MOV     DPL,A
+0031D7 E4                CLR     A
+0031D8 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0031DA F583              MOV     DPH,A
+0031DC C083              PUSH    DPH
+0031DE C082              PUSH    DPL
+0031E0 E0                MOVX    A,@DPTR
+0031E1 FF                MOV     R7,A
+0031E2 7401              MOV     A,#01H
+0031E4 A806              MOV     R0,AR6
+0031E6 08                INC     R0
+0031E7 8002              SJMP    ?C0039?GPIO
+0031E9         ?C0038?GPIO:
+0031E9 C3                CLR     C
+0031EA 33                RLC     A
+0031EB         ?C0039?GPIO:
+0031EB D8FC              DJNZ    R0,?C0038?GPIO
+0031ED 4F                ORL     A,R7
+0031EE D082              POP     DPL
+0031F0 D083              POP     DPH
+0031F2 F0                MOVX    @DPTR,A
+0031F3 22                RET     
+0031F4         ?C0020?GPIO:
+0031F4 74A3              MOV     A,#LOW YC_GPIOWakeupL
+0031F6 2F                ADD     A,R7
+0031F7 F582              MOV     DPL,A
+0031F9 E4                CLR     A
+0031FA 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0031FC F583              MOV     DPH,A
+0031FE C083              PUSH    DPH
+003200 C082              PUSH    DPL
+003202 E0                MOVX    A,@DPTR
+003203 FD                MOV     R5,A
+003204 7401              MOV     A,#01H
+003206 A806              MOV     R0,AR6
+003208 08                INC     R0
+003209 8002              SJMP    ?C0041?GPIO
+00320B         ?C0040?GPIO:
+00320B C3                CLR     C
+00320C 33                RLC     A
+00320D         ?C0041?GPIO:
+00320D D8FC              DJNZ    R0,?C0040?GPIO
+00320F FC                MOV     R4,A
+003210 4D                ORL     A,R5
+003211 D082              POP     DPL
+003213 D083              POP     DPH
+003215 F0                MOVX    @DPTR,A
+003216 74A7              MOV     A,#LOW YC_GPIOWakeupH
+003218 2F                ADD     A,R7
+003219 F582              MOV     DPL,A
+00321B E4                CLR     A
+00321C 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+00321E F583              MOV     DPH,A
+003220 E0                MOVX    A,@DPTR
+003221 FF                MOV     R7,A
+003222 EC                MOV     A,R4
+003223 F4                CPL     A
+003224 FE                MOV     R6,A
+003225 EF                MOV     A,R7
+003226 5E                ANL     A,R6
+003227 F0                MOVX    @DPTR,A
+003228         ?C0019?GPIO:
+003228 22                RET     
 ----- FUNCTION _GPIO_SetWakeup (END) -------
 
 
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0031FD 7B01              MOV     R3,#01H
-0031FF 7A81              MOV     R2,#081H
-003201 791C              MOV     R1,#01CH
+003229 7B01              MOV     R3,#01H
+00322B 7A81              MOV     R2,#081H
+00322D 791C              MOV     R1,#01CH
 ;----                  JMP     _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-003203 AD07              MOV     R5,AR7
+00322F AD07              MOV     R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-003205 E4                CLR     A
-003206 904F11            MOV     DPTR,#queue
-003209 F0                MOVX    @DPTR,A
+003231 E4                CLR     A
+003232 904F11            MOV     DPTR,#queue
+003235 F0                MOVX    @DPTR,A
 ;---- Variable 'group' assigned to Register 'R6' ----
-00320A FE                MOV     R6,A
-00320B EF                MOV     A,R7
-00320C 5407              ANL     A,#07H
-00320E F0                MOVX    @DPTR,A
-00320F EF                MOV     A,R7
-003210 13                RRC     A
-003211 13                RRC     A
-003212 13                RRC     A
-003213 5403              ANL     A,#03H
-003215 FE                MOV     R6,A
-003216 F582              MOV     DPL,A
-003218 758300            MOV     DPH,#00H
-00321B 1203CF            LCALL   ?C?CLDOPTR
-00321E FD                MOV     R5,A
-00321F 33                RLC     A
-003220 95E0              SUBB    A,ACC
-003222 FC                MOV     R4,A
-003223 904F11            MOV     DPTR,#queue
-003226 E0                MOVX    A,@DPTR
-003227 FF                MOV     R7,A
-003228 7401              MOV     A,#01H
-00322A 7E00              MOV     R6,#00H
-00322C A807              MOV     R0,AR7
-00322E 08                INC     R0
-00322F 8005              SJMP    ?C0035?GPIO
-003231         ?C0034?GPIO:
-003231 C3                CLR     C
-003232 33                RLC     A
-003233 CE                XCH     A,R6
-003234 33                RLC     A
-003235 CE                XCH     A,R6
-003236         ?C0035?GPIO:
-003236 D8F9              DJNZ    R0,?C0034?GPIO
-003238 FF                MOV     R7,A
-003239 EE                MOV     A,R6
-00323A 5C                ANL     A,R4
-00323B FE                MOV     R6,A
-00323C EF                MOV     A,R7
-00323D 5D                ANL     A,R5
-00323E 4E                ORL     A,R6
-00323F 24FF              ADD     A,#0FFH
-003241 22                RET     
+003236 FE                MOV     R6,A
+003237 EF                MOV     A,R7
+003238 5407              ANL     A,#07H
+00323A F0                MOVX    @DPTR,A
+00323B EF                MOV     A,R7
+00323C 13                RRC     A
+00323D 13                RRC     A
+00323E 13                RRC     A
+00323F 5403              ANL     A,#03H
+003241 FE                MOV     R6,A
+003242 F582              MOV     DPL,A
+003244 758300            MOV     DPH,#00H
+003247 1203CF            LCALL   ?C?CLDOPTR
+00324A FD                MOV     R5,A
+00324B 33                RLC     A
+00324C 95E0              SUBB    A,ACC
+00324E FC                MOV     R4,A
+00324F 904F11            MOV     DPTR,#queue
+003252 E0                MOVX    A,@DPTR
+003253 FF                MOV     R7,A
+003254 7401              MOV     A,#01H
+003256 7E00              MOV     R6,#00H
+003258 A807              MOV     R0,AR7
+00325A 08                INC     R0
+00325B 8005              SJMP    ?C0035?GPIO
+00325D         ?C0034?GPIO:
+00325D C3                CLR     C
+00325E 33                RLC     A
+00325F CE                XCH     A,R6
+003260 33                RLC     A
+003261 CE                XCH     A,R6
+003262         ?C0035?GPIO:
+003262 D8F9              DJNZ    R0,?C0034?GPIO
+003264 FF                MOV     R7,A
+003265 EE                MOV     A,R6
+003266 5C                ANL     A,R4
+003267 FE                MOV     R6,A
+003268 EF                MOV     A,R7
+003269 5D                ANL     A,R5
+00326A 4E                ORL     A,R6
+00326B 24FF              ADD     A,#0FFH
+00326D 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
 ----- FUNCTION _GPIO_FlipOutBit (BEGIN) -----
-003242 904F13            MOV     DPTR,#gpio_num
-003245 EF                MOV     A,R7
-003246 F0                MOVX    @DPTR,A
-003247 7B01              MOV     R3,#01H
-003249 7A80              MOV     R2,#080H
-00324B 7974              MOV     R1,#074H
-00324D 5103              ACALL   _gpioGetBit
-00324F 9209              MOV     st,C
-003251 904F13            MOV     DPTR,#gpio_num
-003254 E0                MOVX    A,@DPTR
-003255 FF                MOV     R7,A
-003256 A209              MOV     C,st
-003258 B3                CPL     C
-003259 9201              MOV     ?_GPIO_Setout?BIT,C
-00325B 020FE9            LJMP    _GPIO_Setout
+00326E 904F13            MOV     DPTR,#gpio_num
+003271 EF                MOV     A,R7
+003272 F0                MOVX    @DPTR,A
+003273 7B01              MOV     R3,#01H
+003275 7A80              MOV     R2,#080H
+003277 7974              MOV     R1,#074H
+003279 512F              ACALL   _gpioGetBit
+00327B 9209              MOV     st,C
+00327D 904F13            MOV     DPTR,#gpio_num
+003280 E0                MOVX    A,@DPTR
+003281 FF                MOV     R7,A
+003282 A209              MOV     C,st
+003284 B3                CPL     C
+003285 9201              MOV     ?_GPIO_Setout?BIT,C
+003287 020FE9            LJMP    _GPIO_Setout
 ----- FUNCTION _GPIO_FlipOutBit (END) -------
 
 
@@ -9770,50 +9800,50 @@
   458: {
   459: 	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
   460: 	{
-00325E 904CE9            MOV     DPTR,#g_variable+02AH
-003261 E0                MOVX    A,@DPTR
-003262 7002              JNZ     ?C0177?SYS
-003264 A3                INC     DPTR
-003265 E0                MOVX    A,@DPTR
-003266         ?C0177?SYS:
-003266 702A              JNZ     ?C0076?SYS
-003268 904CEF            MOV     DPTR,#g_variable+030H
-00326B E0                MOVX    A,@DPTR
-00326C 7002              JNZ     ?C0178?SYS
-00326E A3                INC     DPTR
-00326F E0                MOVX    A,@DPTR
-003270         ?C0178?SYS:
-003270 7020              JNZ     ?C0076?SYS
+00328A 904CE9            MOV     DPTR,#g_variable+02AH
+00328D E0                MOVX    A,@DPTR
+00328E 7002              JNZ     ?C0184?SYS
+003290 A3                INC     DPTR
+003291 E0                MOVX    A,@DPTR
+003292         ?C0184?SYS:
+003292 702A              JNZ     ?C0076?SYS
+003294 904CEF            MOV     DPTR,#g_variable+030H
+003297 E0                MOVX    A,@DPTR
+003298 7002              JNZ     ?C0185?SYS
+00329A A3                INC     DPTR
+00329B E0                MOVX    A,@DPTR
+00329C         ?C0185?SYS:
+00329C 7020              JNZ     ?C0076?SYS
   461: 		if(g_variable.battery_low_led_flash_interval)
   462: 		{
-003272 904CE2            MOV     DPTR,#g_variable+023H
-003275 E0                MOVX    A,@DPTR
-003276 601A              JZ      ?C0076?SYS
+00329E 904CE2            MOV     DPTR,#g_variable+023H
+0032A1 E0                MOVX    A,@DPTR
+0032A2 601A              JZ      ?C0076?SYS
   463: 			if(g_variable.current_device_num == 1)
   464: 				GPIO_FlipOutBit(BT_LED_GPIO);
-003278 904CC3            MOV     DPTR,#g_variable+04H
-00327B E0                MOVX    A,@DPTR
-00327C B40104            CJNE    A,#01H,?C0072?SYS
+0032A4 904CC3            MOV     DPTR,#g_variable+04H
+0032A7 E0                MOVX    A,@DPTR
+0032A8 B40104            CJNE    A,#01H,?C0072?SYS
   465: 			else if(g_variable.current_device_num == 2)
-00327F 7F1C              MOV     R7,#01CH
-003281 80BF              SJMP    _GPIO_FlipOutBit
-003283         ?C0072?SYS:
+0032AB 7F1C              MOV     R7,#01CH
+0032AD 80BF              SJMP    _GPIO_FlipOutBit
+0032AF         ?C0072?SYS:
   466: 				GPIO_FlipOutBit(BT2_LED_GPIO);
-003283 904CC3            MOV     DPTR,#g_variable+04H
-003286 E0                MOVX    A,@DPTR
-003287 B40204            CJNE    A,#02H,?C0074?SYS
+0032AF 904CC3            MOV     DPTR,#g_variable+04H
+0032B2 E0                MOVX    A,@DPTR
+0032B3 B40204            CJNE    A,#02H,?C0074?SYS
   467: 			else
-00328A 7F1C              MOV     R7,#01CH
-00328C 80B4              SJMP    _GPIO_FlipOutBit
-00328E         ?C0074?SYS:
+0032B6 7F1C              MOV     R7,#01CH
+0032B8 80B4              SJMP    _GPIO_FlipOutBit
+0032BA         ?C0074?SYS:
   468: 				GPIO_FlipOutBit(G24_LED_GPIO);
-00328E 7F1E              MOV     R7,#01EH
-003290 5142              ACALL   _GPIO_FlipOutBit
+0032BA 7F1E              MOV     R7,#01EH
+0032BC 516E              ACALL   _GPIO_FlipOutBit
   469: 		}
   470: 	}
   471: }
-003292         ?C0076?SYS:
-003292 22                RET     
+0032BE         ?C0076?SYS:
+0032BE 22                RET     
 ----- FUNCTION LED_timer500ms (END) -------
 
 
@@ -9823,222 +9853,147 @@
   586: {
   587: //pairing timer
   588: 	if (g_variable.pairing_timeout != 0)
-003293 904CE9            MOV     DPTR,#g_variable+02AH
-003296 E0                MOVX    A,@DPTR
-003297 7002              JNZ     ?C0181?SYS
-003299 A3                INC     DPTR
-00329A E0                MOVX    A,@DPTR
-00329B         ?C0181?SYS:
-00329B 6060              JZ      ?C0100?SYS
+0032BF 904CE9            MOV     DPTR,#g_variable+02AH
+0032C2 E0                MOVX    A,@DPTR
+0032C3 7002              JNZ     ?C0188?SYS
+0032C5 A3                INC     DPTR
+0032C6 E0                MOVX    A,@DPTR
+0032C7         ?C0188?SYS:
+0032C7 6060              JZ      ?C0100?SYS
   589: 	{
   590: 		g_variable.sleepTimer = 0;
-00329D E4                CLR     A
-00329E 904CE3            MOV     DPTR,#g_variable+024H
-0032A1 F0                MOVX    @DPTR,A
-0032A2 A3                INC     DPTR
-0032A3 F0                MOVX    @DPTR,A
+0032C9 E4                CLR     A
+0032CA 904CE3            MOV     DPTR,#g_variable+024H
+0032CD F0                MOVX    @DPTR,A
+0032CE A3                INC     DPTR
+0032CF F0                MOVX    @DPTR,A
   591: 		g_variable.fast_connect_send_name = 0;
-0032A4 904CFE            MOV     DPTR,#g_variable+03FH
-0032A7 F0                MOVX    @DPTR,A
+0032D0 904CFE            MOV     DPTR,#g_variable+03FH
+0032D3 F0                MOVX    @DPTR,A
   592: 		g_variable.pairing_timeout--;
-0032A8 904CEA            MOV     DPTR,#g_variable+02BH
-0032AB E0                MOVX    A,@DPTR
-0032AC 24FF              ADD     A,#0FFH
-0032AE F0                MOVX    @DPTR,A
-0032AF 904CE9            MOV     DPTR,#g_variable+02AH
-0032B2 E0                MOVX    A,@DPTR
-0032B3 34FF              ADDC    A,#0FFH
-0032B5 F0                MOVX    @DPTR,A
+0032D4 904CEA            MOV     DPTR,#g_variable+02BH
+0032D7 E0                MOVX    A,@DPTR
+0032D8 24FF              ADD     A,#0FFH
+0032DA F0                MOVX    @DPTR,A
+0032DB 904CE9            MOV     DPTR,#g_variable+02AH
+0032DE E0                MOVX    A,@DPTR
+0032DF 34FF              ADDC    A,#0FFH
+0032E1 F0                MOVX    @DPTR,A
   593: 		if (g_variable.button_reconnect_flag != 1)
-0032B6 904CCC            MOV     DPTR,#g_variable+0DH
-0032B9 E0                MOVX    A,@DPTR
-0032BA 6401              XRL     A,#01H
-0032BC 6018              JZ      ?C0101?SYS
+0032E2 904CCC            MOV     DPTR,#g_variable+0DH
+0032E5 E0                MOVX    A,@DPTR
+0032E6 6401              XRL     A,#01H
+0032E8 6018              JZ      ?C0101?SYS
   594: 		{
   595: 			g_variable.sys_mode_led_on_timer = 0;
-0032BE E4                CLR     A
-0032BF 904CE8            MOV     DPTR,#g_variable+029H
-0032C2 F0                MOVX    @DPTR,A
+0032EA E4                CLR     A
+0032EB 904CE8            MOV     DPTR,#g_variable+029H
+0032EE F0                MOVX    @DPTR,A
   596: 			
   597: 			if(g_variable.current_device_num == 1)
-0032C3 904CC3            MOV     DPTR,#g_variable+04H
-0032C6 E0                MOVX    A,@DPTR
-0032C7 B40106            CJNE    A,#01H,?C0102?SYS
+0032EF 904CC3            MOV     DPTR,#g_variable+04H
+0032F2 E0                MOVX    A,@DPTR
+0032F3 B40106            CJNE    A,#01H,?C0102?SYS
   598: 				GPIO_FlipOutBit(BT_LED_GPIO);
-0032CA 7F1C              MOV     R7,#01CH
-0032CC 5142              ACALL   _GPIO_FlipOutBit
-0032CE 800F              SJMP    ?C0104?SYS
-0032D0         ?C0102?SYS:
+0032F6 7F1C              MOV     R7,#01CH
+0032F8 516E              ACALL   _GPIO_FlipOutBit
+0032FA 800F              SJMP    ?C0104?SYS
+0032FC         ?C0102?SYS:
   599: 			else
   600: 				GPIO_FlipOutBit(BT2_LED_GPIO);
-0032D0 7F1C              MOV     R7,#01CH
-0032D2 5142              ACALL   _GPIO_FlipOutBit
+0032FC 7F1C              MOV     R7,#01CH
+0032FE 516E              ACALL   _GPIO_FlipOutBit
   601: 			
   602: 		}
-0032D4 8009              SJMP    ?C0104?SYS
-0032D6         ?C0101?SYS:
+003300 8009              SJMP    ?C0104?SYS
+003302         ?C0101?SYS:
   603: 		else
   604: 		{
   605: 			if(!g_variable.sys_mode_led_on_timer)
-0032D6 904CE8            MOV     DPTR,#g_variable+029H
-0032D9 E0                MOVX    A,@DPTR
-0032DA 7003              JNZ     ?C0104?SYS
+003302 904CE8            MOV     DPTR,#g_variable+029H
+003305 E0                MOVX    A,@DPTR
+003306 7003              JNZ     ?C0104?SYS
   606: 				LED_device_poweroff();
-0032DC 120FCB            LCALL   LED_device_poweroff
+003308 120FCB            LCALL   LED_device_poweroff
   607: 		}
-0032DF         ?C0104?SYS:
+00330B         ?C0104?SYS:
   608: 		if (g_variable.pairing_timeout == 0)
-0032DF 904CE9            MOV     DPTR,#g_variable+02AH
-0032E2 E0                MOVX    A,@DPTR
-0032E3 7002              JNZ     ?C0182?SYS
-0032E5 A3                INC     DPTR
-0032E6 E0                MOVX    A,@DPTR
-0032E7         ?C0182?SYS:
-0032E7 7014              JNZ     ?C0100?SYS
+00330B 904CE9            MOV     DPTR,#g_variable+02AH
+00330E E0                MOVX    A,@DPTR
+00330F 7002              JNZ     ?C0189?SYS
+003311 A3                INC     DPTR
+003312 E0                MOVX    A,@DPTR
+003313         ?C0189?SYS:
+003313 7014              JNZ     ?C0100?SYS
   609: 		{
   610: 			g_variable.current_device_num = g_variable.temp_device_num;
-0032E9 904CC4            MOV     DPTR,#g_variable+05H
-0032EC E0                MOVX    A,@DPTR
-0032ED 904CC3            MOV     DPTR,#g_variable+04H
-0032F0 F0                MOVX    @DPTR,A
+003315 904CC4            MOV     DPTR,#g_variable+05H
+003318 E0                MOVX    A,@DPTR
+003319 904CC3            MOV     DPTR,#g_variable+04H
+00331C F0                MOVX    @DPTR,A
   611: 			g_variable.last_device_num = g_variable.current_device_num;
-0032F1 904CC0            MOV     DPTR,#g_variable+01H
-0032F4 F0                MOVX    @DPTR,A
+00331D 904CC0            MOV     DPTR,#g_variable+01H
+003320 F0                MOVX    @DPTR,A
   612: 		
   613: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
-0032F5 7F0D              MOV     R7,#0DH
-0032F7 12091C            LCALL   _YC_key_action_handle
+003321 7F0D              MOV     R7,#0DH
+003323 12091C            LCALL   _YC_key_action_handle
   614: 			System_long_sleep();
-0032FA 120F42            LCALL   System_long_sleep
+003326 120F42            LCALL   System_long_sleep
   615: 		}
   616: 	}
-0032FD         ?C0100?SYS:
+003329         ?C0100?SYS:
   617: 
   618: 	if (g_variable.pairing_g24_timeout != 0)
-0032FD 904CEF            MOV     DPTR,#g_variable+030H
-003300 E0                MOVX    A,@DPTR
-003301 7002              JNZ     ?C0183?SYS
-003303 A3                INC     DPTR
-003304 E0                MOVX    A,@DPTR
-003305         ?C0183?SYS:
-003305 602B              JZ      ?C0109?SYS
+003329 904CEF            MOV     DPTR,#g_variable+030H
+00332C E0                MOVX    A,@DPTR
+00332D 7002              JNZ     ?C0190?SYS
+00332F A3                INC     DPTR
+003330 E0                MOVX    A,@DPTR
+003331         ?C0190?SYS:
+003331 602B              JZ      ?C0109?SYS
   619: 	{
   620: 		g_variable.sleepTimer = 0;
-003307 E4                CLR     A
-003308 904CE3            MOV     DPTR,#g_variable+024H
-00330B F0                MOVX    @DPTR,A
-00330C A3                INC     DPTR
-00330D F0                MOVX    @DPTR,A
+003333 E4                CLR     A
+003334 904CE3            MOV     DPTR,#g_variable+024H
+003337 F0                MOVX    @DPTR,A
+003338 A3                INC     DPTR
+003339 F0                MOVX    @DPTR,A
   621: 		g_variable.pairing_g24_timeout--;
-00330E 904CF0            MOV     DPTR,#g_variable+031H
-003311 E0                MOVX    A,@DPTR
-003312 24FF              ADD     A,#0FFH
-003314 F0                MOVX    @DPTR,A
-003315 904CEF            MOV     DPTR,#g_variable+030H
-003318 E0                MOVX    A,@DPTR
-003319 34FF              ADDC    A,#0FFH
-00331B F0                MOVX    @DPTR,A
+00333A 904CF0            MOV     DPTR,#g_variable+031H
+00333D E0                MOVX    A,@DPTR
+00333E 24FF              ADD     A,#0FFH
+003340 F0                MOVX    @DPTR,A
+003341 904CEF            MOV     DPTR,#g_variable+030H
+003344 E0                MOVX    A,@DPTR
+003345 34FF              ADDC    A,#0FFH
+003347 F0                MOVX    @DPTR,A
   622: 		GPIO_FlipOutBit(G24_LED_GPIO);
-00331C 7F1E              MOV     R7,#01EH
-00331E 5142              ACALL   _GPIO_FlipOutBit
+003348 7F1E              MOV     R7,#01EH
+00334A 516E              ACALL   _GPIO_FlipOutBit
   623: 		if (g_variable.pairing_g24_timeout == 0)
-003320 904CEF            MOV     DPTR,#g_variable+030H
-003323 E0                MOVX    A,@DPTR
-003324 7002              JNZ     ?C0184?SYS
-003326 A3                INC     DPTR
-003327 E0                MOVX    A,@DPTR
-003328         ?C0184?SYS:
-003328 7008              JNZ     ?C0109?SYS
+00334C 904CEF            MOV     DPTR,#g_variable+030H
+00334F E0                MOVX    A,@DPTR
+003350 7002              JNZ     ?C0191?SYS
+003352 A3                INC     DPTR
+003353 E0                MOVX    A,@DPTR
+003354         ?C0191?SYS:
+003354 7008              JNZ     ?C0109?SYS
   624: 		{
   625: //			IPC_TxControlCmd(IPC_CMD_STOP_24G);
   626: 			Delay1ms(10);
-00332A 7F0A              MOV     R7,#0AH
-00332C 120F4B            LCALL   _Delay1ms
+003356 7F0A              MOV     R7,#0AH
+003358 120F4B            LCALL   _Delay1ms
   627: 			System_long_sleep();
-00332F 120F42            LCALL   System_long_sleep
+00335B 120F42            LCALL   System_long_sleep
   628: 		}
   629: 	}
   630: }
-003332         ?C0109?SYS:
-003332 22                RET     
+00335E         ?C0109?SYS:
+00335E 22                RET     
 ----- FUNCTION YC_pairing_timerout_500ms (END) -------
 
 
------ FUNCTION GPIO_fillpd (BEGIN) -----
-;---- Variable 'i' assigned to Register 'R7' ----
-003333 E4                CLR     A
-003334 FF                MOV     R7,A
-003335         ?C0026?GPIO:
-003335 EF                MOV     A,R7
-003336 FD                MOV     R5,A
-003337 7C00              MOV     R4,#00H
-003339 2478              ADD     A,#078H
-00333B FB                MOV     R3,A
-00333C EC                MOV     A,R4
-00333D 3480              ADDC    A,#080H
-00333F 8B82              MOV     DPL,R3
-003341 F583              MOV     DPH,A
-003343 E0                MOVX    A,@DPTR
-003344 FE                MOV     R6,A
-003345 ED                MOV     A,R5
-003346 2470              ADD     A,#070H
-003348 FD                MOV     R5,A
-003349 EC                MOV     A,R4
-00334A 3480              ADDC    A,#080H
-00334C 8D82              MOV     DPL,R5
-00334E F583              MOV     DPH,A
-003350 E0                MOVX    A,@DPTR
-003351 4E                ORL     A,R6
-003352 F4                CPL     A
-003353 FE                MOV     R6,A
-003354 EF                MOV     A,R7
-003355 247C              ADD     A,#07CH
-003357 FD                MOV     R5,A
-003358 EC                MOV     A,R4
-003359 3480              ADDC    A,#080H
-00335B 8D82              MOV     DPL,R5
-00335D F583              MOV     DPH,A
-00335F EE                MOV     A,R6
-003360 F0                MOVX    @DPTR,A
-003361 0F                INC     R7
-003362 EF                MOV     A,R7
-003363 B404CF            CJNE    A,#04H,?C0026?GPIO
-003366 22                RET     
------ FUNCTION GPIO_fillpd (END) -------
-
-
------ FUNCTION LED_device_poweron (BEGIN) -----
- FILE: 'led.c'
-   14: void LED_device_poweron()
-   15: {
-   16: 	if(g_variable.current_device_num == 1)
-   17: 		GPIO_Setout(BT_LED_GPIO,LED_ON);
-003367 904CC3            MOV     DPTR,#g_variable+04H
-00336A E0                MOVX    A,@DPTR
-00336B B40107            CJNE    A,#01H,?C0002?LED
-   18: 	else if(g_variable.current_device_num == 2)
-00336E C201              CLR     ?_GPIO_Setout?BIT
-003370 7F1C              MOV     R7,#01CH
-003372 020FE9            LJMP    _GPIO_Setout
-003375         ?C0002?LED:
-   19: 		GPIO_Setout(BT2_LED_GPIO,LED_ON);
-003375 904CC3            MOV     DPTR,#g_variable+04H
-003378 E0                MOVX    A,@DPTR
-003379 B40207            CJNE    A,#02H,?C0004?LED
-   20: 	else
-00337C C201              CLR     ?_GPIO_Setout?BIT
-00337E 7F1C              MOV     R7,#01CH
-003380 020FE9            LJMP    _GPIO_Setout
-003383         ?C0004?LED:
-   21: 	{
-   22: 		GPIO_Setout(G24_LED_GPIO,LED_ON);
-003383 C201              CLR     ?_GPIO_Setout?BIT
-003385 7F1E              MOV     R7,#01EH
-003387 020FE9            LJMP    _GPIO_Setout
-   23: 	}
------ FUNCTION LED_device_poweron (END) -------
-
-
 ----- FUNCTION kb_cb_Timer100ms (BEGIN) -----
  FILE: 'sys.c'
   773: static void kb_cb_Timer100ms()
@@ -10046,288 +10001,383 @@
   775: 
   776: 
   777: 	if (g_variable.delay_enter_lpm_timer) 
-00338A 904CEB            MOV     DPTR,#g_variable+02CH
-00338D E0                MOVX    A,@DPTR
-00338E 6002              JZ      ?C0134?SYS
+00335F 904CEB            MOV     DPTR,#g_variable+02CH
+003362 E0                MOVX    A,@DPTR
+003363 6002              JZ      ?C0134?SYS
   778: 	{
   779: 		g_variable.delay_enter_lpm_timer --;
-003390 14                DEC     A
-003391 F0                MOVX    @DPTR,A
+003365 14                DEC     A
+003366 F0                MOVX    @DPTR,A
   780: 	}
-003392         ?C0134?SYS:
+003367         ?C0134?SYS:
   781: 
   782: 	if(g_variable.recon_delay)
-003392 904CF1            MOV     DPTR,#g_variable+032H
-003395 E0                MOVX    A,@DPTR
-003396 6002              JZ      ?C0135?SYS
+003367 904CF1            MOV     DPTR,#g_variable+032H
+00336A E0                MOVX    A,@DPTR
+00336B 6002              JZ      ?C0135?SYS
   783: 		g_variable.recon_delay--;
-003398 14                DEC     A
-003399 F0                MOVX    @DPTR,A
-00339A         ?C0135?SYS:
+00336D 14                DEC     A
+00336E F0                MOVX    @DPTR,A
+00336F         ?C0135?SYS:
   784: 
   785: 	if(g_variable.one_key_press_wait_release_timer)
-00339A 904CFA            MOV     DPTR,#g_variable+03BH
-00339D E0                MOVX    A,@DPTR
-00339E 600B              JZ      ?C0136?SYS
+00336F 904CFA            MOV     DPTR,#g_variable+03BH
+003372 E0                MOVX    A,@DPTR
+003373 600B              JZ      ?C0136?SYS
   786: 	{
   787: 		g_variable.one_key_press_wait_release_timer--;
-0033A0 14                DEC     A
-0033A1 F0                MOVX    @DPTR,A
+003375 14                DEC     A
+003376 F0                MOVX    @DPTR,A
   788: 		if(!g_variable.one_key_press_wait_release_timer)
-0033A2 E0                MOVX    A,@DPTR
-0033A3 7006              JNZ     ?C0136?SYS
+003377 E0                MOVX    A,@DPTR
+003378 7006              JNZ     ?C0136?SYS
   789: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
-0033A5 904CF6            MOV     DPTR,#g_variable+037H
-0033A8 7406              MOV     A,#06H
-0033AA F0                MOVX    @DPTR,A
+00337A 904CF6            MOV     DPTR,#g_variable+037H
+00337D 7406              MOV     A,#06H
+00337F F0                MOVX    @DPTR,A
   790: 	}
-0033AB         ?C0136?SYS:
+003380         ?C0136?SYS:
   791: 	
   792: 	if (g_variable.powerOn_timer != 0)
-0033AB 904CE5            MOV     DPTR,#g_variable+026H
-0033AE E0                MOVX    A,@DPTR
-0033AF 602A              JZ      ?C0138?SYS
+003380 904CE5            MOV     DPTR,#g_variable+026H
+003383 E0                MOVX    A,@DPTR
+003384 602C              JZ      ?C0138?SYS
   793: 	{	
   794: 		if(g_variable.pairing_g24_timeout ||g_variable.pairing_timeout)
-0033B1 904CEF            MOV     DPTR,#g_variable+030H
-0033B4 E0                MOVX    A,@DPTR
-0033B5 7002              JNZ     ?C0186?SYS
-0033B7 A3                INC     DPTR
-0033B8 E0                MOVX    A,@DPTR
-0033B9         ?C0186?SYS:
-0033B9 700A              JNZ     ?C0140?SYS
-0033BB 904CE9            MOV     DPTR,#g_variable+02AH
-0033BE E0                MOVX    A,@DPTR
-0033BF 7002              JNZ     ?C0187?SYS
-0033C1 A3                INC     DPTR
-0033C2 E0                MOVX    A,@DPTR
-0033C3         ?C0187?SYS:
-0033C3 6006              JZ      ?C0139?SYS
-0033C5         ?C0140?SYS:
+003386 904CEF            MOV     DPTR,#g_variable+030H
+003389 E0                MOVX    A,@DPTR
+00338A 7002              JNZ     ?C0193?SYS
+00338C A3                INC     DPTR
+00338D E0                MOVX    A,@DPTR
+00338E         ?C0193?SYS:
+00338E 700A              JNZ     ?C0140?SYS
+003390 904CE9            MOV     DPTR,#g_variable+02AH
+003393 E0                MOVX    A,@DPTR
+003394 7002              JNZ     ?C0194?SYS
+003396 A3                INC     DPTR
+003397 E0                MOVX    A,@DPTR
+003398         ?C0194?SYS:
+003398 6006              JZ      ?C0139?SYS
+00339A         ?C0140?SYS:
   795: 		{
   796: 			g_variable.powerOn_timer = 0;
-0033C5 E4                CLR     A
-0033C6 904CE5            MOV     DPTR,#g_variable+026H
-0033C9 F0                MOVX    @DPTR,A
-0033CA 22                RET     
+00339A E4                CLR     A
+00339B 904CE5            MOV     DPTR,#g_variable+026H
+00339E F0                MOVX    @DPTR,A
+00339F 22                RET     
   797: 			return;
   798: 		}
-0033CB         ?C0139?SYS:
+0033A0         ?C0139?SYS:
   799: 			
   800: 		g_variable.powerOn_timer--;
-0033CB 904CE5            MOV     DPTR,#g_variable+026H
-0033CE E0                MOVX    A,@DPTR
-0033CF 14                DEC     A
-0033D0 F0                MOVX    @DPTR,A
+0033A0 904CE5            MOV     DPTR,#g_variable+026H
+0033A3 E0                MOVX    A,@DPTR
+0033A4 14                DEC     A
+0033A5 F0                MOVX    @DPTR,A
   801: 		if(g_variable.powerOn_timer)
-0033D1 E0                MOVX    A,@DPTR
-0033D2 6004              JZ      ?C0142?SYS
+0033A6 E0                MOVX    A,@DPTR
+0033A7 6004              JZ      ?C0142?SYS
   802: 		{
   803: 			LED_device_poweron();
-0033D4 7167              ACALL   LED_device_poweron
+0033A9 91B2              ACALL   LED_device_poweron
   804: 		}
-0033D6 8003              SJMP    ?C0138?SYS
-0033D8         ?C0142?SYS:
+0033AB 804B              SJMP    ?C0144?SYS
+0033AD         ?C0142?SYS:
   805: 		else
   806: 		{
   807: 			LED_device_poweroff();
-0033D8 120FCB            LCALL   LED_device_poweroff
+0033AD 120FCB            LCALL   LED_device_poweroff
   808: 		}
   809: 
   810: 	}
-0033DB         ?C0138?SYS:
-  811: 	
-  812: 	
-  813: // The dongle must receive data within 200ms, otherwise it will be forced to lift
-  814: 	if(!long_press_flag)
-0033DB 904DDC            MOV     DPTR,#long_press_flag
-0033DE E0                MOVX    A,@DPTR
-0033DF 7036              JNZ     ?C0144?SYS
-  815: 	{
-  816: 		if (repeat_send_24g == 1)
-0033E1 904DDD            MOV     DPTR,#repeat_send_24g
-0033E4 E0                MOVX    A,@DPTR
-0033E5 6401              XRL     A,#01H
-0033E7 702E              JNZ     ?C0144?SYS
-  817: 		{
-  818: 			g_variable.sleepTimer = 0;	
-0033E9 904CE3            MOV     DPTR,#g_variable+024H
-0033EC F0                MOVX    @DPTR,A
-0033ED A3                INC     DPTR
-0033EE F0                MOVX    @DPTR,A
-  819: 			repeat_send_24g = 0;
-0033EF 904DDD            MOV     DPTR,#repeat_send_24g
-0033F2 F0                MOVX    @DPTR,A
-  820: 
-  821: 			 if (multikey[0] != 0)
-0033F3 904E4C            MOV     DPTR,#multikey
-0033F6 E0                MOVX    A,@DPTR
-0033F7 600D              JZ      ?C0146?SYS
-  822: 			{
-  823: 				IPC_TxHidData(multikey, 3);
-0033F9 7B01              MOV     R3,#01H
-0033FB 7A4E              MOV     R2,#HIGH multikey
-0033FD 794C              MOV     R1,#LOW multikey
-0033FF 7D03              MOV     R5,#03H
-003401 121461            LCALL   _IPC_TxHidData
-  824: 			}
-003404 8011              SJMP    ?C0144?SYS
-003406         ?C0146?SYS:
-  825: 			else if (hidBuff[0] != 0)
-003406 904800            MOV     DPTR,#hidBuff
-003409 E0                MOVX    A,@DPTR
-00340A 600B              JZ      ?C0144?SYS
-  826: 			{
-  827: 
-  828: 				IPC_TxHidData(hidBuff,9);
-00340C 7B01              MOV     R3,#01H
-00340E 7A48              MOV     R2,#HIGH hidBuff
-003410 7900              MOV     R1,#LOW hidBuff
-003412 7D09              MOV     R5,#09H
-003414 121461            LCALL   _IPC_TxHidData
-  829: 			}
-  830: 		}
-  831: 	}
-003417         ?C0144?SYS:
-  832: 
-  833: 	if(g_variable.sys_mode_led_on_timer && !g_variable.pairing_timeout && !g_variable.pairing_g24_timeout)
-003417 904CE8            MOV     DPTR,#g_variable+029H
-00341A E0                MOVX    A,@DPTR
-00341B 6023              JZ      ?C0149?SYS
-00341D A3                INC     DPTR
-00341E E0                MOVX    A,@DPTR
-00341F 7002              JNZ     ?C0188?SYS
-003421 A3                INC     DPTR
-003422 E0                MOVX    A,@DPTR
-003423         ?C0188?SYS:
-003423 701B              JNZ     ?C0149?SYS
-003425 904CEF            MOV     DPTR,#g_variable+030H
-003428 E0                MOVX    A,@DPTR
-003429 7002              JNZ     ?C0189?SYS
-00342B A3                INC     DPTR
-00342C E0                MOVX    A,@DPTR
-00342D         ?C0189?SYS:
-00342D 7011              JNZ     ?C0149?SYS
-  834: 	{
-  835: 		g_variable.sys_mode_led_on_timer--;
-00342F 904CE8            MOV     DPTR,#g_variable+029H
-003432 E0                MOVX    A,@DPTR
-003433 14                DEC     A
-003434 F0                MOVX    @DPTR,A
-  836: 		LED_device_poweron();
-003435 7167              ACALL   LED_device_poweron
-  837: 		if (!g_variable.sys_mode_led_on_timer)
-003437 904CE8            MOV     DPTR,#g_variable+029H
-00343A E0                MOVX    A,@DPTR
-00343B 7003              JNZ     ?C0149?SYS
-  838: 		{
-  839: 			LED_device_poweroff();
-00343D 120FCB            LCALL   LED_device_poweroff
-  840: 		}
-  841: 	}
-003440         ?C0149?SYS:
-  842: 
-  843: //role switch time out
-  844: 	if (switch_role_timer != 0)
-003440 904DD9            MOV     DPTR,#switch_role_timer
-003443 E0                MOVX    A,@DPTR
-003444 6008              JZ      ?C0151?SYS
-  845: 	{
-  846: 		switch_role_timer--; 
-003446 E0                MOVX    A,@DPTR
-003447 14                DEC     A
-003448 F0                MOVX    @DPTR,A
-  847: 		if (switch_role_timer == 0)
+0033B0 8046              SJMP    ?C0144?SYS
+0033B2         ?C0138?SYS:
+  811: 	else	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
+0033B2 904CE9            MOV     DPTR,#g_variable+02AH
+0033B5 E0                MOVX    A,@DPTR
+0033B6 7002              JNZ     ?C0195?SYS
+0033B8 A3                INC     DPTR
+0033B9 E0                MOVX    A,@DPTR
+0033BA         ?C0195?SYS:
+0033BA 703C              JNZ     ?C0144?SYS
+0033BC 904CEF            MOV     DPTR,#g_variable+030H
+0033BF E0                MOVX    A,@DPTR
+0033C0 7002              JNZ     ?C0196?SYS
+0033C2 A3                INC     DPTR
+0033C3 E0                MOVX    A,@DPTR
+0033C4         ?C0196?SYS:
+0033C4 7032              JNZ     ?C0144?SYS
+  812: 	{
+  813: 		if (g_variable.battery_status == BAT_STATUS_LOW)
+0033C6 904CD5            MOV     DPTR,#g_variable+016H
+0033C9 E0                MOVX    A,@DPTR
+0033CA B40126            CJNE    A,#01H,?C0146?SYS
+  814: 		{
+  815: 			if (g_variable.sleepTimer < KB_POWERON_LED_ON_TIMER)
+0033CD C3                CLR     C
+0033CE 904CE4            MOV     DPTR,#g_variable+025H
+0033D1 E0                MOVX    A,@DPTR
+0033D2 941E              SUBB    A,#01EH
+0033D4 904CE3            MOV     DPTR,#g_variable+024H
+0033D7 E0                MOVX    A,@DPTR
+0033D8 9400              SUBB    A,#00H
+0033DA 5010              JNC     ?C0147?SYS
+  816: 			{
+  817: 				g_variable.battery_low_led_flash_interval++;
+0033DC 904CE2            MOV     DPTR,#g_variable+023H
+0033DF E0                MOVX    A,@DPTR
+0033E0 04                INC     A
+0033E1 F0                MOVX    @DPTR,A
+  818: 				if(g_variable.battery_low_led_flash_interval & 0x02)
+0033E2 E0                MOVX    A,@DPTR
+0033E3 30E112            JNB     ACC.1,?C0144?SYS
+  819: 				{
+  820: 					GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
+0033E6 7F1D              MOV     R7,#01DH
+0033E8 516E              ACALL   _GPIO_FlipOutBit
+  821: 				}
+  822: 			}
+0033EA 800C              SJMP    ?C0144?SYS
+0033EC         ?C0147?SYS:
+  823: 			else
+  824: 				g_variable.battery_low_led_flash_interval = 0;
+0033EC E4                CLR     A
+0033ED 904CE2            MOV     DPTR,#g_variable+023H
+0033F0 F0                MOVX    @DPTR,A
+  825: 		}
+0033F1 8005              SJMP    ?C0144?SYS
+0033F3         ?C0146?SYS:
+  826: 		else
+  827: 			g_variable.battery_low_led_flash_interval = 0;		
+0033F3 E4                CLR     A
+0033F4 904CE2            MOV     DPTR,#g_variable+023H
+0033F7 F0                MOVX    @DPTR,A
+  828: 		
+  829: 	}
+0033F8         ?C0144?SYS:
+  830: 	
+  831: // The dongle must receive data within 200ms, otherwise it will be forced to lift
+  832: 	if(!long_press_flag)
+0033F8 904DDC            MOV     DPTR,#long_press_flag
+0033FB E0                MOVX    A,@DPTR
+0033FC 7036              JNZ     ?C0151?SYS
+  833: 	{
+  834: 		if (repeat_send_24g == 1)
+0033FE 904DDD            MOV     DPTR,#repeat_send_24g
+003401 E0                MOVX    A,@DPTR
+003402 6401              XRL     A,#01H
+003404 702E              JNZ     ?C0151?SYS
+  835: 		{
+  836: 			g_variable.sleepTimer = 0;	
+003406 904CE3            MOV     DPTR,#g_variable+024H
+003409 F0                MOVX    @DPTR,A
+00340A A3                INC     DPTR
+00340B F0                MOVX    @DPTR,A
+  837: 			repeat_send_24g = 0;
+00340C 904DDD            MOV     DPTR,#repeat_send_24g
+00340F F0                MOVX    @DPTR,A
+  838: 
+  839: 			 if (multikey[0] != 0)
+003410 904E4C            MOV     DPTR,#multikey
+003413 E0                MOVX    A,@DPTR
+003414 600D              JZ      ?C0153?SYS
+  840: 			{
+  841: 				IPC_TxHidData(multikey, 3);
+003416 7B01              MOV     R3,#01H
+003418 7A4E              MOV     R2,#HIGH multikey
+00341A 794C              MOV     R1,#LOW multikey
+00341C 7D03              MOV     R5,#03H
+00341E 121461            LCALL   _IPC_TxHidData
+  842: 			}
+003421 8011              SJMP    ?C0151?SYS
+003423         ?C0153?SYS:
+  843: 			else if (hidBuff[0] != 0)
+003423 904800            MOV     DPTR,#hidBuff
+003426 E0                MOVX    A,@DPTR
+003427 600B              JZ      ?C0151?SYS
+  844: 			{
+  845: 
+  846: 				IPC_TxHidData(hidBuff,9);
+003429 7B01              MOV     R3,#01H
+00342B 7A48              MOV     R2,#HIGH hidBuff
+00342D 7900              MOV     R1,#LOW hidBuff
+00342F 7D09              MOV     R5,#09H
+003431 121461            LCALL   _IPC_TxHidData
+  847: 			}
+  848: 		}
+  849: 	}
+003434         ?C0151?SYS:
+  850: 
+  851: 	if(g_variable.sys_mode_led_on_timer && !g_variable.pairing_timeout && !g_variable.pairing_g24_timeout)
+003434 904CE8            MOV     DPTR,#g_variable+029H
+003437 E0                MOVX    A,@DPTR
+003438 6023              JZ      ?C0156?SYS
+00343A A3                INC     DPTR
+00343B E0                MOVX    A,@DPTR
+00343C 7002              JNZ     ?C0197?SYS
+00343E A3                INC     DPTR
+00343F E0                MOVX    A,@DPTR
+003440         ?C0197?SYS:
+003440 701B              JNZ     ?C0156?SYS
+003442 904CEF            MOV     DPTR,#g_variable+030H
+003445 E0                MOVX    A,@DPTR
+003446 7002              JNZ     ?C0198?SYS
+003448 A3                INC     DPTR
 003449 E0                MOVX    A,@DPTR
-00344A 7002              JNZ     ?C0151?SYS
-  848: 		{
-  849: 			System_Reset_Connect();
-00344C 9195              ACALL   System_Reset_Connect
-  850: 		}
-  851: 	}
-00344E         ?C0151?SYS:
-  852: 
-  853: // ble delay send secutiry request
-  854: 	if(ble_send_secutiry_request_timer)
-00344E 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
-003451 E0                MOVX    A,@DPTR
-003452 6011              JZ      ?C0153?SYS
-  855: 	{
-  856: 		ble_send_secutiry_request_timer--;
-003454 E0                MOVX    A,@DPTR
-003455 14                DEC     A
-003456 F0                MOVX    @DPTR,A
-  857: 		if(!ble_send_secutiry_request_timer)
+00344A         ?C0198?SYS:
+00344A 7011              JNZ     ?C0156?SYS
+  852: 	{
+  853: 		g_variable.sys_mode_led_on_timer--;
+00344C 904CE8            MOV     DPTR,#g_variable+029H
+00344F E0                MOVX    A,@DPTR
+003450 14                DEC     A
+003451 F0                MOVX    @DPTR,A
+  854: 		LED_device_poweron();
+003452 91B2              ACALL   LED_device_poweron
+  855: 		if (!g_variable.sys_mode_led_on_timer)
+003454 904CE8            MOV     DPTR,#g_variable+029H
 003457 E0                MOVX    A,@DPTR
-003458 700B              JNZ     ?C0153?SYS
-  858: 		{
-  859: 			if(!m_le_send_security_request_flag)
-00345A 904D3D            MOV     DPTR,#m_le_send_security_request_flag
-00345D E0                MOVX    A,@DPTR
-00345E 7005              JNZ     ?C0153?SYS
-  860: 			{
-  861: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
-003460 7F1B              MOV     R7,#01BH
-003462 12085F            LCALL   _IPC_TxControlCmd
-  862: 			}
-  863: 		}
-  864: 	}
-003465         ?C0153?SYS:
-  865: 
-  866: 	if (delayChgInvTimer != 0)
-003465 904DE6            MOV     DPTR,#delayChgInvTimer
-003468 E0                MOVX    A,@DPTR
-003469 6029              JZ      ?C0141?SYS
-  867: 	{
-  868: 		delayChgInvTimer--;
-00346B E0                MOVX    A,@DPTR
-00346C 14                DEC     A
-00346D F0                MOVX    @DPTR,A
-  869: 		if (delayChgInvTimer == 0)
+003458 7003              JNZ     ?C0156?SYS
+  856: 		{
+  857: 			LED_device_poweroff();
+00345A 120FCB            LCALL   LED_device_poweroff
+  858: 		}
+  859: 	}
+00345D         ?C0156?SYS:
+  860: 
+  861: //role switch time out
+  862: 	if (switch_role_timer != 0)
+00345D 904DD9            MOV     DPTR,#switch_role_timer
+003460 E0                MOVX    A,@DPTR
+003461 6008              JZ      ?C0158?SYS
+  863: 	{
+  864: 		switch_role_timer--; 
+003463 E0                MOVX    A,@DPTR
+003464 14                DEC     A
+003465 F0                MOVX    @DPTR,A
+  865: 		if (switch_role_timer == 0)
+003466 E0                MOVX    A,@DPTR
+003467 7002              JNZ     ?C0158?SYS
+  866: 		{
+  867: 			System_Reset_Connect();
+003469 91D5              ACALL   System_Reset_Connect
+  868: 		}
+  869: 	}
+00346B         ?C0158?SYS:
+  870: 
+  871: // ble delay send secutiry request
+  872: 	if(ble_send_secutiry_request_timer)
+00346B 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
 00346E E0                MOVX    A,@DPTR
-00346F 7023              JNZ     ?C0141?SYS
-  870: 		{
-  871: 			if( m_24g_led_flag)
-003471 904D46            MOV     DPTR,#m_24g_led_flag
+00346F 6011              JZ      ?C0160?SYS
+  873: 	{
+  874: 		ble_send_secutiry_request_timer--;
+003471 E0                MOVX    A,@DPTR
+003472 14                DEC     A
+003473 F0                MOVX    @DPTR,A
+  875: 		if(!ble_send_secutiry_request_timer)
 003474 E0                MOVX    A,@DPTR
-003475 6002              JZ      ?C0158?SYS
-  872: 			{
-  873: 				m_24g_led_flag = 0;
-003477 E4                CLR     A
-003478 F0                MOVX    @DPTR,A
-  874: 			}	
-003479         ?C0158?SYS:
-  875: 	
-  876: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-003479 904CC7            MOV     DPTR,#g_variable+08H
-00347C E0                MOVX    A,@DPTR
-00347D B40407            CJNE    A,#04H,?C0159?SYS
-  877: 			{
-  878: 				kscurrmult = 0x0c;
-003480 904213            MOV     DPTR,#kscurrmult
-003483 740C              MOV     A,#0CH
-003485 F0                MOVX    @DPTR,A
-  879: 			}
-003486 22                RET     
-003487         ?C0159?SYS:
-  880: 			else if (g_variable.br_currentState == CHANGE_TO_BR_CONNECTED)
-003487 904CC9            MOV     DPTR,#g_variable+0AH
-00348A E0                MOVX    A,@DPTR
-00348B B40406            CJNE    A,#04H,?C0141?SYS
-  881: 			{
-  882: 				kscurrmult = 0x3a;
-00348E 904213            MOV     DPTR,#kscurrmult
-003491 743A              MOV     A,#03AH
-003493 F0                MOVX    @DPTR,A
-  883: 			}
-  884: 		}
-  885: 	}
-  886: }
-003494         ?C0141?SYS:
-003494 22                RET     
+003475 700B              JNZ     ?C0160?SYS
+  876: 		{
+  877: 			if(!m_le_send_security_request_flag)
+003477 904D3D            MOV     DPTR,#m_le_send_security_request_flag
+00347A E0                MOVX    A,@DPTR
+00347B 7005              JNZ     ?C0160?SYS
+  878: 			{
+  879: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
+00347D 7F1B              MOV     R7,#01BH
+00347F 12085F            LCALL   _IPC_TxControlCmd
+  880: 			}
+  881: 		}
+  882: 	}
+003482         ?C0160?SYS:
+  883: 
+  884: 	if (delayChgInvTimer != 0)
+003482 904DE6            MOV     DPTR,#delayChgInvTimer
+003485 E0                MOVX    A,@DPTR
+003486 6029              JZ      ?C0141?SYS
+  885: 	{
+  886: 		delayChgInvTimer--;
+003488 E0                MOVX    A,@DPTR
+003489 14                DEC     A
+00348A F0                MOVX    @DPTR,A
+  887: 		if (delayChgInvTimer == 0)
+00348B E0                MOVX    A,@DPTR
+00348C 7023              JNZ     ?C0141?SYS
+  888: 		{
+  889: 			if( m_24g_led_flag)
+00348E 904D46            MOV     DPTR,#m_24g_led_flag
+003491 E0                MOVX    A,@DPTR
+003492 6002              JZ      ?C0165?SYS
+  890: 			{
+  891: 				m_24g_led_flag = 0;
+003494 E4                CLR     A
+003495 F0                MOVX    @DPTR,A
+  892: 			}	
+003496         ?C0165?SYS:
+  893: 	
+  894: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+003496 904CC7            MOV     DPTR,#g_variable+08H
+003499 E0                MOVX    A,@DPTR
+00349A B40407            CJNE    A,#04H,?C0166?SYS
+  895: 			{
+  896: 				kscurrmult = 0x0c;
+00349D 904213            MOV     DPTR,#kscurrmult
+0034A0 740C              MOV     A,#0CH
+0034A2 F0                MOVX    @DPTR,A
+  897: 			}
+0034A3 22                RET     
+0034A4         ?C0166?SYS:
+  898: 			else if (g_variable.br_currentState == CHANGE_TO_BR_CONNECTED)
+0034A4 904CC9            MOV     DPTR,#g_variable+0AH
+0034A7 E0                MOVX    A,@DPTR
+0034A8 B40406            CJNE    A,#04H,?C0141?SYS
+  899: 			{
+  900: 				kscurrmult = 0x3a;
+0034AB 904213            MOV     DPTR,#kscurrmult
+0034AE 743A              MOV     A,#03AH
+0034B0 F0                MOVX    @DPTR,A
+  901: 			}
+  902: 		}
+  903: 	}
+  904: }
+0034B1         ?C0141?SYS:
+0034B1 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
+----- FUNCTION LED_device_poweron (BEGIN) -----
+ FILE: 'led.c'
+   14: void LED_device_poweron()
+   15: {
+   16: 	if(g_variable.current_device_num == 1)
+   17: 		GPIO_Setout(BT_LED_GPIO,LED_ON);
+0034B2 904CC3            MOV     DPTR,#g_variable+04H
+0034B5 E0                MOVX    A,@DPTR
+0034B6 B40107            CJNE    A,#01H,?C0002?LED
+   18: 	else if(g_variable.current_device_num == 2)
+0034B9 C201              CLR     ?_GPIO_Setout?BIT
+0034BB 7F1C              MOV     R7,#01CH
+0034BD 020FE9            LJMP    _GPIO_Setout
+0034C0         ?C0002?LED:
+   19: 		GPIO_Setout(BT2_LED_GPIO,LED_ON);
+0034C0 904CC3            MOV     DPTR,#g_variable+04H
+0034C3 E0                MOVX    A,@DPTR
+0034C4 B40207            CJNE    A,#02H,?C0004?LED
+   20: 	else
+0034C7 C201              CLR     ?_GPIO_Setout?BIT
+0034C9 7F1C              MOV     R7,#01CH
+0034CB 020FE9            LJMP    _GPIO_Setout
+0034CE         ?C0004?LED:
+   21: 	{
+   22: 		GPIO_Setout(G24_LED_GPIO,LED_ON);
+0034CE C201              CLR     ?_GPIO_Setout?BIT
+0034D0 7F1E              MOV     R7,#01EH
+0034D2 020FE9            LJMP    _GPIO_Setout
+   23: 	}
+----- FUNCTION LED_device_poweron (END) -------
+
+
 ----- FUNCTION System_Reset_Connect (BEGIN) -----
  FILE: 'sys.c'
   112: void System_Reset_Connect()
@@ -10343,171 +10393,214 @@
    84: {
    85: 	m_reset_reg = 1;
    86: 	while(1);
-003495 908010            MOV     DPTR,#m_reset_reg
-003498 7401              MOV     A,#01H
-00349A F0                MOVX    @DPTR,A
-00349B         ?C0006?SYS:
+0034D5 908010            MOV     DPTR,#m_reset_reg
+0034D8 7401              MOV     A,#01H
+0034DA F0                MOVX    @DPTR,A
+0034DB         ?C0006?SYS:
    87: }
-00349B 80FE              SJMP    ?C0006?SYS
-00349D 22                RET     
+0034DB 80FE              SJMP    ?C0006?SYS
+0034DD 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
+----- FUNCTION GPIO_fillpd (BEGIN) -----
+;---- Variable 'i' assigned to Register 'R7' ----
+0034DE E4                CLR     A
+0034DF FF                MOV     R7,A
+0034E0         ?C0026?GPIO:
+0034E0 EF                MOV     A,R7
+0034E1 FD                MOV     R5,A
+0034E2 7C00              MOV     R4,#00H
+0034E4 2478              ADD     A,#078H
+0034E6 FB                MOV     R3,A
+0034E7 EC                MOV     A,R4
+0034E8 3480              ADDC    A,#080H
+0034EA 8B82              MOV     DPL,R3
+0034EC F583              MOV     DPH,A
+0034EE E0                MOVX    A,@DPTR
+0034EF FE                MOV     R6,A
+0034F0 ED                MOV     A,R5
+0034F1 2470              ADD     A,#070H
+0034F3 FD                MOV     R5,A
+0034F4 EC                MOV     A,R4
+0034F5 3480              ADDC    A,#080H
+0034F7 8D82              MOV     DPL,R5
+0034F9 F583              MOV     DPH,A
+0034FB E0                MOVX    A,@DPTR
+0034FC 4E                ORL     A,R6
+0034FD F4                CPL     A
+0034FE FE                MOV     R6,A
+0034FF EF                MOV     A,R7
+003500 247C              ADD     A,#07CH
+003502 FD                MOV     R5,A
+003503 EC                MOV     A,R4
+003504 3480              ADDC    A,#080H
+003506 8D82              MOV     DPL,R5
+003508 F583              MOV     DPH,A
+00350A EE                MOV     A,R6
+00350B F0                MOVX    @DPTR,A
+00350C 0F                INC     R7
+00350D EF                MOV     A,R7
+00350E B404CF            CJNE    A,#04H,?C0026?GPIO
+003511 22                RET     
+----- FUNCTION GPIO_fillpd (END) -------
+
+
 ----- FUNCTION LED_handle (BEGIN) -----
  FILE: 'led.c'
    39: void LED_handle()
    40: {
    41: 	if (power_on_flag != 2)
    42: 		return;
-00349E 904DEB            MOV     DPTR,#power_on_flag
-0034A1 E0                MOVX    A,@DPTR
-0034A2 6402              XRL     A,#02H
-0034A4 6002              JZ      $ + 4H
-0034A6 A132              AJMP    ?C0013?LED
-0034A8         ?C0012?LED:
+003512 904DEB            MOV     DPTR,#power_on_flag
+003515 E0                MOVX    A,@DPTR
+003516 6402              XRL     A,#02H
+003518 6002              JZ      $ + 4H
+00351A A1A6              AJMP    ?C0013?LED
+00351C         ?C0012?LED:
    43: 
    44: 	if(!g_variable.pairing_timeout && !g_variable.pairing_g24_timeout)
-0034A8 904CE9            MOV     DPTR,#g_variable+02AH
-0034AB E0                MOVX    A,@DPTR
-0034AC 7002              JNZ     ?C0028?LED
-0034AE A3                INC     DPTR
-0034AF E0                MOVX    A,@DPTR
-0034B0         ?C0028?LED:
-0034B0 7079              JNZ     ?C0014?LED
-0034B2 904CEF            MOV     DPTR,#g_variable+030H
-0034B5 E0                MOVX    A,@DPTR
-0034B6 7002              JNZ     ?C0029?LED
-0034B8 A3                INC     DPTR
-0034B9 E0                MOVX    A,@DPTR
-0034BA         ?C0029?LED:
-0034BA 706F              JNZ     ?C0014?LED
+00351C 904CE9            MOV     DPTR,#g_variable+02AH
+00351F E0                MOVX    A,@DPTR
+003520 7002              JNZ     ?C0028?LED
+003522 A3                INC     DPTR
+003523 E0                MOVX    A,@DPTR
+003524         ?C0028?LED:
+003524 7079              JNZ     ?C0014?LED
+003526 904CEF            MOV     DPTR,#g_variable+030H
+003529 E0                MOVX    A,@DPTR
+00352A 7002              JNZ     ?C0029?LED
+00352C A3                INC     DPTR
+00352D E0                MOVX    A,@DPTR
+00352E         ?C0029?LED:
+00352E 706F              JNZ     ?C0014?LED
    45: 	{
    46: 		//low battery LED process
    47: 		if (g_variable.battery_status == BAT_STATUS_SHUT_DOWN)
-0034BC 904CD5            MOV     DPTR,#g_variable+016H
-0034BF E0                MOVX    A,@DPTR
-0034C0 B40205            CJNE    A,#02H,?C0015?LED
+003530 904CD5            MOV     DPTR,#g_variable+016H
+003533 E0                MOVX    A,@DPTR
+003534 B40205            CJNE    A,#02H,?C0015?LED
    48: 		{
    49: 			System_long_sleep();
-0034C3 120F42            LCALL   System_long_sleep
+003537 120F42            LCALL   System_long_sleep
    50: 		}
-0034C6 802B              SJMP    ?C0016?LED
-0034C8         ?C0015?LED:
+00353A 802B              SJMP    ?C0016?LED
+00353C         ?C0015?LED:
    51: 		else if (g_variable.battery_status == BAT_STATUS_LOW)
-0034C8 904CD5            MOV     DPTR,#g_variable+016H
-0034CB E0                MOVX    A,@DPTR
-0034CC B40114            CJNE    A,#01H,?C0017?LED
+00353C 904CD5            MOV     DPTR,#g_variable+016H
+00353F E0                MOVX    A,@DPTR
+003540 B40114            CJNE    A,#01H,?C0017?LED
    52: 		{
    53: 			if (g_variable.battery_low_led_flash_flag == 0)
-0034CF 904CF9            MOV     DPTR,#g_variable+03AH
-0034D2 E0                MOVX    A,@DPTR
-0034D3 701E              JNZ     ?C0016?LED
+003543 904CF9            MOV     DPTR,#g_variable+03AH
+003546 E0                MOVX    A,@DPTR
+003547 701E              JNZ     ?C0016?LED
    54: 			{
    55: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-0034D5 904CE2            MOV     DPTR,#g_variable+023H
-0034D8 7418              MOV     A,#018H
-0034DA F0                MOVX    @DPTR,A
+003549 904CE2            MOV     DPTR,#g_variable+023H
+00354C 7418              MOV     A,#018H
+00354E F0                MOVX    @DPTR,A
    56: 				g_variable.battery_low_led_flash_flag = 1;
-0034DB 904CF9            MOV     DPTR,#g_variable+03AH
-0034DE 7401              MOV     A,#01H
-0034E0 F0                MOVX    @DPTR,A
+00354F 904CF9            MOV     DPTR,#g_variable+03AH
+003552 7401              MOV     A,#01H
+003554 F0                MOVX    @DPTR,A
    57: 			}
    58: 		}
-0034E1 8010              SJMP    ?C0016?LED
-0034E3         ?C0017?LED:
+003555 8010              SJMP    ?C0016?LED
+003557         ?C0017?LED:
    59: 		else
    60: 		{
    61: 			if (g_variable.battery_low_led_flash_flag == 1)
-0034E3 904CF9            MOV     DPTR,#g_variable+03AH
-0034E6 E0                MOVX    A,@DPTR
-0034E7 B40109            CJNE    A,#01H,?C0016?LED
+003557 904CF9            MOV     DPTR,#g_variable+03AH
+00355A E0                MOVX    A,@DPTR
+00355B B40109            CJNE    A,#01H,?C0016?LED
    62: 			{
    63: 				g_variable.battery_low_led_flash_flag = 0;
-0034EA E4                CLR     A
-0034EB F0                MOVX    @DPTR,A
+00355E E4                CLR     A
+00355F F0                MOVX    @DPTR,A
    64: 				g_variable.battery_low_led_flash_interval = 0;
-0034EC 904CE2            MOV     DPTR,#g_variable+023H
-0034EF F0                MOVX    @DPTR,A
+003560 904CE2            MOV     DPTR,#g_variable+023H
+003563 F0                MOVX    @DPTR,A
    65: 				LED_device_poweroff();
-0034F0 120FCB            LCALL   LED_device_poweroff
+003564 120FCB            LCALL   LED_device_poweroff
    66: 			}
    67: 		}
-0034F3         ?C0016?LED:
+003567         ?C0016?LED:
    68: 
    69: 		//capslock  numlock  scrolllock LED process
    70: 		//if ((g_variable.battery_status != BAT_STATUS_LOW) && (g_variable.powerOn_timer == 0) &&(g_variable.pairing_g2
 >> 4_timeout == 0))
    71: 		{
    72: 			if (YC_check_is_connected())
-0034F3 1217F5            LCALL   YC_check_is_connected
-0034F6 EF                MOV     A,R7
-0034F7 602B              JZ      ?C0021?LED
+003567 1217F5            LCALL   YC_check_is_connected
+00356A EF                MOV     A,R7
+00356B 602B              JZ      ?C0021?LED
    73: 			{
    74: 				if (g_variable.sleepTimer < KB_NUM_CAPS_LED_ON_TIMER)
-0034F9 C3                CLR     C
-0034FA 904CE4            MOV     DPTR,#g_variable+025H
-0034FD E0                MOVX    A,@DPTR
-0034FE 940C              SUBB    A,#0CH
-003500 904CE3            MOV     DPTR,#g_variable+024H
-003503 E0                MOVX    A,@DPTR
-003504 9400              SUBB    A,#00H
-003506 5015              JNC     ?C0022?LED
+00356D C3                CLR     C
+00356E 904CE4            MOV     DPTR,#g_variable+025H
+003571 E0                MOVX    A,@DPTR
+003572 940C              SUBB    A,#0CH
+003574 904CE3            MOV     DPTR,#g_variable+024H
+003577 E0                MOVX    A,@DPTR
+003578 9400              SUBB    A,#00H
+00357A 5015              JNC     ?C0022?LED
    75: 				{				
    76: 				
    77: 					if(m_caps_num_lock & KB_PC_KEYSEL_CAPSLOCK)
-003508 904CB7            MOV     DPTR,#m_caps_num_lock
-00350B E0                MOVX    A,@DPTR
-00350C 30E107            JNB     ACC.1,?C0023?LED
+00357C 904CB7            MOV     DPTR,#m_caps_num_lock
+00357F E0                MOVX    A,@DPTR
+003580 30E107            JNB     ACC.1,?C0023?LED
    78: 					{
    79: 						GPIO_Setout(CAPS_LED_GPIO, LED_ON);
-00350F C201              CLR     ?_GPIO_Setout?BIT
-003511 7F1D              MOV     R7,#01DH
-003513 020FE9            LJMP    _GPIO_Setout
+003583 C201              CLR     ?_GPIO_Setout?BIT
+003585 7F1D              MOV     R7,#01DH
+003587 020FE9            LJMP    _GPIO_Setout
    80: 					}
-003516         ?C0023?LED:
+00358A         ?C0023?LED:
    81: 					else 
    82: 					{
    83: 						GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-003516 D201              SETB    ?_GPIO_Setout?BIT
-003518 7F1D              MOV     R7,#01DH
-00351A 020FE9            LJMP    _GPIO_Setout
+00358A D201              SETB    ?_GPIO_Setout?BIT
+00358C 7F1D              MOV     R7,#01DH
+00358E 020FE9            LJMP    _GPIO_Setout
    84: 					}	
    85: 
    86: 				}
-00351D         ?C0022?LED:
+003591         ?C0022?LED:
    87: 				else
    88: 				{
    89: 					GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-00351D D201              SETB    ?_GPIO_Setout?BIT
-00351F 7F1D              MOV     R7,#01DH
-003521 020FE9            LJMP    _GPIO_Setout
+003591 D201              SETB    ?_GPIO_Setout?BIT
+003593 7F1D              MOV     R7,#01DH
+003595 020FE9            LJMP    _GPIO_Setout
    90: 					//GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
    91: 				}
    92: 			}
-003524         ?C0021?LED:
+003598         ?C0021?LED:
    93: 			else
    94: 			{
    95: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-003524 D201              SETB    ?_GPIO_Setout?BIT
-003526 7F1D              MOV     R7,#01DH
-003528 020FE9            LJMP    _GPIO_Setout
+003598 D201              SETB    ?_GPIO_Setout?BIT
+00359A 7F1D              MOV     R7,#01DH
+00359C 020FE9            LJMP    _GPIO_Setout
    96: 				//GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
    97: 			}
    98: 		}
    99: 	}
-00352B         ?C0014?LED:
+00359F         ?C0014?LED:
   100: 	else
   101: 	{
   102: 		GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-00352B D201              SETB    ?_GPIO_Setout?BIT
-00352D 7F1D              MOV     R7,#01DH
-00352F 120FE9            LCALL   _GPIO_Setout
+00359F D201              SETB    ?_GPIO_Setout?BIT
+0035A1 7F1D              MOV     R7,#01DH
+0035A3 120FE9            LCALL   _GPIO_Setout
   103: 		//GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
   104: 	}
   105: 
   106: }
-003532         ?C0013?LED:
-003532 22                RET     
+0035A6         ?C0013?LED:
+0035A6 22                RET     
 ----- FUNCTION LED_handle (END) -------
 
 
@@ -10517,42 +10610,42 @@
    71: {
    72: 	System_clear_mem();
    73: 	YC_adc_init();
-003533 121590            LCALL   System_clear_mem
+0035A7 121590            LCALL   System_clear_mem
    74: 	g_variable.release_data =1;
-003536 B168              ACALL   YC_adc_init
+0035AA B1DC              ACALL   YC_adc_init
    75: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-003538 904CEC            MOV     DPTR,#g_variable+02DH
-00353B 7401              MOV     A,#01H
-00353D F0                MOVX    @DPTR,A
+0035AC 904CEC            MOV     DPTR,#g_variable+02DH
+0035AF 7401              MOV     A,#01H
+0035B1 F0                MOVX    @DPTR,A
    76: 	g_variable.recon_count = 0;
-00353E 904CE5            MOV     DPTR,#g_variable+026H
-003541 741E              MOV     A,#01EH
-003543 F0                MOVX    @DPTR,A
+0035B2 904CE5            MOV     DPTR,#g_variable+026H
+0035B5 741E              MOV     A,#01EH
+0035B7 F0                MOVX    @DPTR,A
    77: 	g_variable.test_buff = 0xff;
-003544 E4                CLR     A
-003545 904CF2            MOV     DPTR,#g_variable+033H
-003548 F0                MOVX    @DPTR,A
+0035B8 E4                CLR     A
+0035B9 904CF2            MOV     DPTR,#g_variable+033H
+0035BC F0                MOVX    @DPTR,A
    78: 	le_lap_temp[0] = m_le_lap[3];
-003549 904D0B            MOV     DPTR,#g_variable+04CH
-00354C 74FF              MOV     A,#0FFH
-00354E F0                MOVX    @DPTR,A
+0035BD 904D0B            MOV     DPTR,#g_variable+04CH
+0035C0 74FF              MOV     A,#0FFH
+0035C2 F0                MOVX    @DPTR,A
    79: 	le_lap_temp[1] = m_le_lap[4];
-00354F 9044FC            MOV     DPTR,#m_le_lap+03H
-003552 E0                MOVX    A,@DPTR
-003553 904DD0            MOV     DPTR,#le_lap_temp
-003556 F0                MOVX    @DPTR,A
+0035C3 9044FC            MOV     DPTR,#m_le_lap+03H
+0035C6 E0                MOVX    A,@DPTR
+0035C7 904DD0            MOV     DPTR,#le_lap_temp
+0035CA F0                MOVX    @DPTR,A
    80: 	le_lap_temp[2] = m_le_lap[5];
-003557 9044FD            MOV     DPTR,#m_le_lap+04H
-00355A E0                MOVX    A,@DPTR
-00355B 904DD1            MOV     DPTR,#le_lap_temp+01H
-00355E F0                MOVX    @DPTR,A
+0035CB 9044FD            MOV     DPTR,#m_le_lap+04H
+0035CE E0                MOVX    A,@DPTR
+0035CF 904DD1            MOV     DPTR,#le_lap_temp+01H
+0035D2 F0                MOVX    @DPTR,A
    81: }
-00355F 9044FE            MOV     DPTR,#m_le_lap+05H
-003562 E0                MOVX    A,@DPTR
-003563 904DD2            MOV     DPTR,#le_lap_temp+02H
-003566 F0                MOVX    @DPTR,A
+0035D3 9044FE            MOV     DPTR,#m_le_lap+05H
+0035D6 E0                MOVX    A,@DPTR
+0035D7 904DD2            MOV     DPTR,#le_lap_temp+02H
+0035DA F0                MOVX    @DPTR,A
    82: 
-003567 22                RET     
+0035DB 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -10564,13 +10657,13 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-003568 904CD3            MOV     DPTR,#g_variable+014H
-00356B 7405              MOV     A,#05H
-00356D F0                MOVX    @DPTR,A
+0035DC 904CD3            MOV     DPTR,#g_variable+014H
+0035DF 7405              MOV     A,#05H
+0035E1 F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-00356E E4                CLR     A
-00356F A3                INC     DPTR
-003570 F0                MOVX    @DPTR,A
+0035E2 E4                CLR     A
+0035E3 A3                INC     DPTR
+0035E4 F0                MOVX    @DPTR,A
    10: 
    11: #ifdef ADC_TYPE_HVIN 	
    12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -10584,132 +10677,132 @@
    20: #ifdef ADC_TYPE_VINLPM
    21: 		for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-003571 FF                MOV     R7,A
-003572         ?C0001?ADC:
+0035E5 FF                MOV     R7,A
+0035E6         ?C0001?ADC:
    22: 		{
    23: 			g_variable.battery_value[i] = INIT_BATTERY_VALUE_VINLPM;
-003572 EF                MOV     A,R7
-003573 25E0              ADD     A,ACC
-003575 24D6              ADD     A,#LOW g_variable+017H
-003577 F582              MOV     DPL,A
-003579 E4                CLR     A
-00357A 344C              ADDC    A,#HIGH g_variable+017H
-00357C F583              MOV     DPH,A
-00357E 7451              MOV     A,#051H
-003580 F0                MOVX    @DPTR,A
-003581 A3                INC     DPTR
-003582 F0                MOVX    @DPTR,A
+0035E6 EF                MOV     A,R7
+0035E7 25E0              ADD     A,ACC
+0035E9 24D6              ADD     A,#LOW g_variable+017H
+0035EB F582              MOV     DPL,A
+0035ED E4                CLR     A
+0035EE 344C              ADDC    A,#HIGH g_variable+017H
+0035F0 F583              MOV     DPH,A
+0035F2 7451              MOV     A,#051H
+0035F4 F0                MOVX    @DPTR,A
+0035F5 A3                INC     DPTR
+0035F6 F0                MOVX    @DPTR,A
    24: 		}
-003583 0F                INC     R7
-003584 EF                MOV     A,R7
-003585 B404EA            CJNE    A,#04H,?C0001?ADC
-003588         ?C0002?ADC:
+0035F7 0F                INC     R7
+0035F8 EF                MOV     A,R7
+0035F9 B404EA            CJNE    A,#04H,?C0001?ADC
+0035FC         ?C0002?ADC:
    25: 		g_variable.battery_level_full = m_adc3vValue;
-003588 904C93            MOV     DPTR,#m_adc3vValue
-00358B E0                MOVX    A,@DPTR
-00358C FF                MOV     R7,A
-00358D A3                INC     DPTR
-00358E E0                MOVX    A,@DPTR
-00358F 904CFC            MOV     DPTR,#g_variable+03DH
-003592 CF                XCH     A,R7
-003593 F0                MOVX    @DPTR,A
-003594 A3                INC     DPTR
-003595 EF                MOV     A,R7
-003596 F0                MOVX    @DPTR,A
+0035FC 904C93            MOV     DPTR,#m_adc3vValue
+0035FF E0                MOVX    A,@DPTR
+003600 FF                MOV     R7,A
+003601 A3                INC     DPTR
+003602 E0                MOVX    A,@DPTR
+003603 904CFC            MOV     DPTR,#g_variable+03DH
+003606 CF                XCH     A,R7
+003607 F0                MOVX    @DPTR,A
+003608 A3                INC     DPTR
+003609 EF                MOV     A,R7
+00360A F0                MOVX    @DPTR,A
    26: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V2+m_adc0vBase;
-003597 904C91            MOV     DPTR,#m_adc0vBase
-00359A E0                MOVX    A,@DPTR
-00359B FE                MOV     R6,A
-00359C A3                INC     DPTR
-00359D E0                MOVX    A,@DPTR
-00359E FF                MOV     R7,A
-00359F C3                CLR     C
-0035A0 904C94            MOV     DPTR,#m_adc3vValue+01H
-0035A3 E0                MOVX    A,@DPTR
-0035A4 9F                SUBB    A,R7
-0035A5 FD                MOV     R5,A
-0035A6 904C93            MOV     DPTR,#m_adc3vValue
-0035A9 E0                MOVX    A,@DPTR
-0035AA 9E                SUBB    A,R6
-0035AB FC                MOV     R4,A
-0035AC E4                CLR     A
-0035AD 120206            LCALL   ?C?FCASTI
-0035B0 7BA4              MOV     R3,#0A4H
-0035B2 7A70              MOV     R2,#070H
-0035B4 793D              MOV     R1,#03DH
-0035B6 783F              MOV     R0,#03FH
-0035B8 1200FB            LCALL   ?C?FPMUL
-0035BB C004              PUSH    AR4
-0035BD C005              PUSH    AR5
-0035BF C006              PUSH    AR6
-0035C1 C007              PUSH    AR7
-0035C3 904C91            MOV     DPTR,#m_adc0vBase
-0035C6 E0                MOVX    A,@DPTR
-0035C7 FC                MOV     R4,A
-0035C8 A3                INC     DPTR
-0035C9 E0                MOVX    A,@DPTR
-0035CA FD                MOV     R5,A
-0035CB E4                CLR     A
-0035CC 120206            LCALL   ?C?FCASTI
-0035CF D003              POP     AR3
-0035D1 D002              POP     AR2
-0035D3 D001              POP     AR1
-0035D5 D000              POP     AR0
-0035D7 12000A            LCALL   ?C?FPADD
-0035DA 12023F            LCALL   ?C?CASTF
-0035DD 904CDE            MOV     DPTR,#g_variable+01FH
-0035E0 EE                MOV     A,R6
-0035E1 F0                MOVX    @DPTR,A
-0035E2 A3                INC     DPTR
-0035E3 EF                MOV     A,R7
-0035E4 F0                MOVX    @DPTR,A
-   27: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V0+m_adc0vBase;
-0035E5 904C91            MOV     DPTR,#m_adc0vBase
-0035E8 E0                MOVX    A,@DPTR
-0035E9 FE                MOV     R6,A
-0035EA A3                INC     DPTR
-0035EB E0                MOVX    A,@DPTR
-0035EC FF                MOV     R7,A
-0035ED C3                CLR     C
-0035EE 904C94            MOV     DPTR,#m_adc3vValue+01H
-0035F1 E0                MOVX    A,@DPTR
-0035F2 9F                SUBB    A,R7
-0035F3 FD                MOV     R5,A
-0035F4 904C93            MOV     DPTR,#m_adc3vValue
-0035F7 E0                MOVX    A,@DPTR
-0035F8 9E                SUBB    A,R6
-0035F9 FC                MOV     R4,A
-0035FA E4                CLR     A
-0035FB 120206            LCALL   ?C?FCASTI
-0035FE 7B1F              MOV     R3,#01FH
-003600 7A85              MOV     R2,#085H
-003602 792B              MOV     R1,#02BH
-003604 783F              MOV     R0,#03FH
-003606 1200FB            LCALL   ?C?FPMUL
-003609 C004              PUSH    AR4
-00360B C005              PUSH    AR5
-00360D C006              PUSH    AR6
-00360F C007              PUSH    AR7
-003611 904C91            MOV     DPTR,#m_adc0vBase
-003614 E0                MOVX    A,@DPTR
-003615 FC                MOV     R4,A
-003616 A3                INC     DPTR
+00360B 904C91            MOV     DPTR,#m_adc0vBase
+00360E E0                MOVX    A,@DPTR
+00360F FE                MOV     R6,A
+003610 A3                INC     DPTR
+003611 E0                MOVX    A,@DPTR
+003612 FF                MOV     R7,A
+003613 C3                CLR     C
+003614 904C94            MOV     DPTR,#m_adc3vValue+01H
 003617 E0                MOVX    A,@DPTR
-003618 FD                MOV     R5,A
-003619 E4                CLR     A
-00361A 120206            LCALL   ?C?FCASTI
-00361D D003              POP     AR3
-00361F D002              POP     AR2
-003621 D001              POP     AR1
-003623 D000              POP     AR0
-003625 12000A            LCALL   ?C?FPADD
-003628 12023F            LCALL   ?C?CASTF
-00362B 904CE0            MOV     DPTR,#g_variable+021H
-00362E EE                MOV     A,R6
-00362F F0                MOVX    @DPTR,A
-003630 A3                INC     DPTR
-003631 EF                MOV     A,R7
-003632 F0                MOVX    @DPTR,A
+003618 9F                SUBB    A,R7
+003619 FD                MOV     R5,A
+00361A 904C93            MOV     DPTR,#m_adc3vValue
+00361D E0                MOVX    A,@DPTR
+00361E 9E                SUBB    A,R6
+00361F FC                MOV     R4,A
+003620 E4                CLR     A
+003621 120206            LCALL   ?C?FCASTI
+003624 7BA4              MOV     R3,#0A4H
+003626 7A70              MOV     R2,#070H
+003628 793D              MOV     R1,#03DH
+00362A 783F              MOV     R0,#03FH
+00362C 1200FB            LCALL   ?C?FPMUL
+00362F C004              PUSH    AR4
+003631 C005              PUSH    AR5
+003633 C006              PUSH    AR6
+003635 C007              PUSH    AR7
+003637 904C91            MOV     DPTR,#m_adc0vBase
+00363A E0                MOVX    A,@DPTR
+00363B FC                MOV     R4,A
+00363C A3                INC     DPTR
+00363D E0                MOVX    A,@DPTR
+00363E FD                MOV     R5,A
+00363F E4                CLR     A
+003640 120206            LCALL   ?C?FCASTI
+003643 D003              POP     AR3
+003645 D002              POP     AR2
+003647 D001              POP     AR1
+003649 D000              POP     AR0
+00364B 12000A            LCALL   ?C?FPADD
+00364E 12023F            LCALL   ?C?CASTF
+003651 904CDE            MOV     DPTR,#g_variable+01FH
+003654 EE                MOV     A,R6
+003655 F0                MOVX    @DPTR,A
+003656 A3                INC     DPTR
+003657 EF                MOV     A,R7
+003658 F0                MOVX    @DPTR,A
+   27: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V0+m_adc0vBase;
+003659 904C91            MOV     DPTR,#m_adc0vBase
+00365C E0                MOVX    A,@DPTR
+00365D FE                MOV     R6,A
+00365E A3                INC     DPTR
+00365F E0                MOVX    A,@DPTR
+003660 FF                MOV     R7,A
+003661 C3                CLR     C
+003662 904C94            MOV     DPTR,#m_adc3vValue+01H
+003665 E0                MOVX    A,@DPTR
+003666 9F                SUBB    A,R7
+003667 FD                MOV     R5,A
+003668 904C93            MOV     DPTR,#m_adc3vValue
+00366B E0                MOVX    A,@DPTR
+00366C 9E                SUBB    A,R6
+00366D FC                MOV     R4,A
+00366E E4                CLR     A
+00366F 120206            LCALL   ?C?FCASTI
+003672 7B1F              MOV     R3,#01FH
+003674 7A85              MOV     R2,#085H
+003676 792B              MOV     R1,#02BH
+003678 783F              MOV     R0,#03FH
+00367A 1200FB            LCALL   ?C?FPMUL
+00367D C004              PUSH    AR4
+00367F C005              PUSH    AR5
+003681 C006              PUSH    AR6
+003683 C007              PUSH    AR7
+003685 904C91            MOV     DPTR,#m_adc0vBase
+003688 E0                MOVX    A,@DPTR
+003689 FC                MOV     R4,A
+00368A A3                INC     DPTR
+00368B E0                MOVX    A,@DPTR
+00368C FD                MOV     R5,A
+00368D E4                CLR     A
+00368E 120206            LCALL   ?C?FCASTI
+003691 D003              POP     AR3
+003693 D002              POP     AR2
+003695 D001              POP     AR1
+003697 D000              POP     AR0
+003699 12000A            LCALL   ?C?FPADD
+00369C 12023F            LCALL   ?C?CASTF
+00369F 904CE0            MOV     DPTR,#g_variable+021H
+0036A2 EE                MOV     A,R6
+0036A3 F0                MOVX    @DPTR,A
+0036A4 A3                INC     DPTR
+0036A5 EF                MOV     A,R7
+0036A6 F0                MOVX    @DPTR,A
    28: #endif
    29: #ifdef ADC_TYPE_GPIO
    30: 	m_adc_channel = ADC_CHANNEL;
@@ -10723,7 +10816,7 @@
    38: #endif	
    39: #endif
    40: }
-003633 22                RET     
+0036A7 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -10731,21 +10824,21 @@
  FILE: 'sys.c'
   122: static void kb_cb_Hid(byte *p,byte len) {
   123: 	//p[0] is hid type,always is 1(kb) now
-003634 904F04            MOV     DPTR,#len
-003637 ED                MOV     A,R5
-003638 F0                MOVX    @DPTR,A
+0036A8 904F04            MOV     DPTR,#len
+0036AB ED                MOV     A,R5
+0036AC F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
   124: 	byte temp = p[1];
-003639 900001            MOV     DPTR,#01H
-00363C 1203CF            LCALL   ?C?CLDOPTR
-00363F 904F05            MOV     DPTR,#temp
-003642 F0                MOVX    @DPTR,A
+0036AD 900001            MOV     DPTR,#01H
+0036B0 1203CF            LCALL   ?C?CLDOPTR
+0036B3 904F05            MOV     DPTR,#temp
+0036B6 F0                MOVX    @DPTR,A
   125: 
   126: 	if (len<2) {
   127: 		return;
   128: 	}
   129: }
-003643 22                RET     
+0036B7 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
@@ -10756,400 +10849,400 @@
    44: #ifdef  ADC_ENABLE
    45: 	byte i;
    46: 	ulong batValue = 0;
-003644 904ED0            MOV     DPTR,#batValue
-003647 120582            LCALL   ?C?LSTKXDATA
-00364A 00                DB      00H
-00364B 00                DB      00H
-00364C 00                DB      00H
-00364D 00                DB      00H
+0036B8 904ED0            MOV     DPTR,#batValue
+0036BB 120582            LCALL   ?C?LSTKXDATA
+0036BE 00                DB      00H
+0036BF 00                DB      00H
+0036C0 00                DB      00H
+0036C1 00                DB      00H
    47: 
    48: 	if(!m_adcCurrentValue)
-00364E 904C95            MOV     DPTR,#m_adcCurrentValue
-003651 E0                MOVX    A,@DPTR
-003652 7002              JNZ     ?C0024?ADC
-003654 A3                INC     DPTR
-003655 E0                MOVX    A,@DPTR
-003656         ?C0024?ADC:
-003656 7003              JNZ     $ + 5H
-003658 023816            LJMP    ?C0006?ADC
-00365B         ?C0005?ADC:
+0036C2 904C95            MOV     DPTR,#m_adcCurrentValue
+0036C5 E0                MOVX    A,@DPTR
+0036C6 7002              JNZ     ?C0024?ADC
+0036C8 A3                INC     DPTR
+0036C9 E0                MOVX    A,@DPTR
+0036CA         ?C0024?ADC:
+0036CA 7003              JNZ     $ + 5H
+0036CC 02388B            LJMP    ?C0006?ADC
+0036CF         ?C0005?ADC:
    49: 		return;
    50: 
    51: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
-00365B 904C95            MOV     DPTR,#m_adcCurrentValue
-00365E E0                MOVX    A,@DPTR
-00365F FE                MOV     R6,A
-003660 A3                INC     DPTR
-003661 E0                MOVX    A,@DPTR
-003662 FF                MOV     R7,A
-003663 904CD4            MOV     DPTR,#g_variable+015H
-003666 E0                MOVX    A,@DPTR
-003667 FD                MOV     R5,A
-003668 04                INC     A
-003669 F0                MOVX    @DPTR,A
-00366A ED                MOV     A,R5
-00366B 25E0              ADD     A,ACC
-00366D 24D6              ADD     A,#LOW g_variable+017H
-00366F F582              MOV     DPL,A
-003671 E4                CLR     A
-003672 344C              ADDC    A,#HIGH g_variable+017H
-003674 F583              MOV     DPH,A
-003676 EE                MOV     A,R6
-003677 F0                MOVX    @DPTR,A
-003678 A3                INC     DPTR
-003679 EF                MOV     A,R7
-00367A F0                MOVX    @DPTR,A
+0036CF 904C95            MOV     DPTR,#m_adcCurrentValue
+0036D2 E0                MOVX    A,@DPTR
+0036D3 FE                MOV     R6,A
+0036D4 A3                INC     DPTR
+0036D5 E0                MOVX    A,@DPTR
+0036D6 FF                MOV     R7,A
+0036D7 904CD4            MOV     DPTR,#g_variable+015H
+0036DA E0                MOVX    A,@DPTR
+0036DB FD                MOV     R5,A
+0036DC 04                INC     A
+0036DD F0                MOVX    @DPTR,A
+0036DE ED                MOV     A,R5
+0036DF 25E0              ADD     A,ACC
+0036E1 24D6              ADD     A,#LOW g_variable+017H
+0036E3 F582              MOV     DPL,A
+0036E5 E4                CLR     A
+0036E6 344C              ADDC    A,#HIGH g_variable+017H
+0036E8 F583              MOV     DPH,A
+0036EA EE                MOV     A,R6
+0036EB F0                MOVX    @DPTR,A
+0036EC A3                INC     DPTR
+0036ED EF                MOV     A,R7
+0036EE F0                MOVX    @DPTR,A
    52: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
-00367B 904CD4            MOV     DPTR,#g_variable+015H
-00367E E0                MOVX    A,@DPTR
-00367F C3                CLR     C
-003680 9404              SUBB    A,#04H
-003682 4002              JC      ?C0007?ADC
+0036EF 904CD4            MOV     DPTR,#g_variable+015H
+0036F2 E0                MOVX    A,@DPTR
+0036F3 C3                CLR     C
+0036F4 9404              SUBB    A,#04H
+0036F6 4002              JC      ?C0007?ADC
    53: 		g_variable.battery_value_index = 0;
-003684 E4                CLR     A
-003685 F0                MOVX    @DPTR,A
-003686         ?C0007?ADC:
+0036F8 E4                CLR     A
+0036F9 F0                MOVX    @DPTR,A
+0036FA         ?C0007?ADC:
    54: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-003686 E4                CLR     A
-003687 904ECF            MOV     DPTR,#i
-00368A F0                MOVX    @DPTR,A
-00368B         ?C0008?ADC:
+0036FA E4                CLR     A
+0036FB 904ECF            MOV     DPTR,#i
+0036FE F0                MOVX    @DPTR,A
+0036FF         ?C0008?ADC:
    55: 	{
    56: 		batValue += g_variable.battery_value[i];
-00368B 904ED0            MOV     DPTR,#batValue
-00368E E0                MOVX    A,@DPTR
-00368F F8                MOV     R0,A
-003690 A3                INC     DPTR
-003691 E0                MOVX    A,@DPTR
-003692 F9                MOV     R1,A
-003693 A3                INC     DPTR
-003694 E0                MOVX    A,@DPTR
-003695 FA                MOV     R2,A
-003696 A3                INC     DPTR
-003697 E0                MOVX    A,@DPTR
-003698 FB                MOV     R3,A
-003699 904ECF            MOV     DPTR,#i
-00369C E0                MOVX    A,@DPTR
-00369D 25E0              ADD     A,ACC
-00369F 24D6              ADD     A,#LOW g_variable+017H
-0036A1 F582              MOV     DPL,A
-0036A3 E4                CLR     A
-0036A4 344C              ADDC    A,#HIGH g_variable+017H
-0036A6 F583              MOV     DPH,A
-0036A8 E0                MOVX    A,@DPTR
-0036A9 FE                MOV     R6,A
-0036AA A3                INC     DPTR
-0036AB E0                MOVX    A,@DPTR
-0036AC FF                MOV     R7,A
-0036AD E4                CLR     A
-0036AE FC                MOV     R4,A
-0036AF FD                MOV     R5,A
-0036B0 EB                MOV     A,R3
-0036B1 2F                ADD     A,R7
-0036B2 FF                MOV     R7,A
-0036B3 EA                MOV     A,R2
-0036B4 3E                ADDC    A,R6
-0036B5 FE                MOV     R6,A
-0036B6 ED                MOV     A,R5
-0036B7 39                ADDC    A,R1
-0036B8 FD                MOV     R5,A
-0036B9 EC                MOV     A,R4
-0036BA 38                ADDC    A,R0
-0036BB FC                MOV     R4,A
-0036BC 904ED0            MOV     DPTR,#batValue
-0036BF 120576            LCALL   ?C?LSTXDATA
+0036FF 904ED0            MOV     DPTR,#batValue
+003702 E0                MOVX    A,@DPTR
+003703 F8                MOV     R0,A
+003704 A3                INC     DPTR
+003705 E0                MOVX    A,@DPTR
+003706 F9                MOV     R1,A
+003707 A3                INC     DPTR
+003708 E0                MOVX    A,@DPTR
+003709 FA                MOV     R2,A
+00370A A3                INC     DPTR
+00370B E0                MOVX    A,@DPTR
+00370C FB                MOV     R3,A
+00370D 904ECF            MOV     DPTR,#i
+003710 E0                MOVX    A,@DPTR
+003711 25E0              ADD     A,ACC
+003713 24D6              ADD     A,#LOW g_variable+017H
+003715 F582              MOV     DPL,A
+003717 E4                CLR     A
+003718 344C              ADDC    A,#HIGH g_variable+017H
+00371A F583              MOV     DPH,A
+00371C E0                MOVX    A,@DPTR
+00371D FE                MOV     R6,A
+00371E A3                INC     DPTR
+00371F E0                MOVX    A,@DPTR
+003720 FF                MOV     R7,A
+003721 E4                CLR     A
+003722 FC                MOV     R4,A
+003723 FD                MOV     R5,A
+003724 EB                MOV     A,R3
+003725 2F                ADD     A,R7
+003726 FF                MOV     R7,A
+003727 EA                MOV     A,R2
+003728 3E                ADDC    A,R6
+003729 FE                MOV     R6,A
+00372A ED                MOV     A,R5
+00372B 39                ADDC    A,R1
+00372C FD                MOV     R5,A
+00372D EC                MOV     A,R4
+00372E 38                ADDC    A,R0
+00372F FC                MOV     R4,A
+003730 904ED0            MOV     DPTR,#batValue
+003733 120576            LCALL   ?C?LSTXDATA
    57: 	}
-0036C2 904ECF            MOV     DPTR,#i
-0036C5 E0                MOVX    A,@DPTR
-0036C6 04                INC     A
-0036C7 F0                MOVX    @DPTR,A
-0036C8 E0                MOVX    A,@DPTR
-0036C9 B404BF            CJNE    A,#04H,?C0008?ADC
-0036CC         ?C0009?ADC:
+003736 904ECF            MOV     DPTR,#i
+003739 E0                MOVX    A,@DPTR
+00373A 04                INC     A
+00373B F0                MOVX    @DPTR,A
+00373C E0                MOVX    A,@DPTR
+00373D B404BF            CJNE    A,#04H,?C0008?ADC
+003740         ?C0009?ADC:
    58: 	batValue = batValue/BAT_ARRAY_LEN;
-0036CC 904ED0            MOV     DPTR,#batValue
-0036CF E0                MOVX    A,@DPTR
-0036D0 FC                MOV     R4,A
-0036D1 A3                INC     DPTR
-0036D2 E0                MOVX    A,@DPTR
-0036D3 FD                MOV     R5,A
-0036D4 A3                INC     DPTR
-0036D5 E0                MOVX    A,@DPTR
-0036D6 FE                MOV     R6,A
-0036D7 A3                INC     DPTR
-0036D8 E0                MOVX    A,@DPTR
-0036D9 FF                MOV     R7,A
-0036DA E4                CLR     A
-0036DB 7B04              MOV     R3,#04H
-0036DD FA                MOV     R2,A
-0036DE F9                MOV     R1,A
-0036DF F8                MOV     R0,A
-0036E0 1204C5            LCALL   ?C?ULDIV
-0036E3 904ED0            MOV     DPTR,#batValue
-0036E6 120576            LCALL   ?C?LSTXDATA
+003740 904ED0            MOV     DPTR,#batValue
+003743 E0                MOVX    A,@DPTR
+003744 FC                MOV     R4,A
+003745 A3                INC     DPTR
+003746 E0                MOVX    A,@DPTR
+003747 FD                MOV     R5,A
+003748 A3                INC     DPTR
+003749 E0                MOVX    A,@DPTR
+00374A FE                MOV     R6,A
+00374B A3                INC     DPTR
+00374C E0                MOVX    A,@DPTR
+00374D FF                MOV     R7,A
+00374E E4                CLR     A
+00374F 7B04              MOV     R3,#04H
+003751 FA                MOV     R2,A
+003752 F9                MOV     R1,A
+003753 F8                MOV     R0,A
+003754 1204C5            LCALL   ?C?ULDIV
+003757 904ED0            MOV     DPTR,#batValue
+00375A 120576            LCALL   ?C?LSTXDATA
    59: 
    60: 	if(batValue <= g_variable.battery_level_shutdown)
-0036E9 904CE0            MOV     DPTR,#g_variable+021H
-0036EC E0                MOVX    A,@DPTR
-0036ED FE                MOV     R6,A
-0036EE A3                INC     DPTR
-0036EF E0                MOVX    A,@DPTR
-0036F0 FF                MOV     R7,A
-0036F1 E4                CLR     A
-0036F2 FC                MOV     R4,A
-0036F3 FD                MOV     R5,A
-0036F4 904ED0            MOV     DPTR,#batValue
-0036F7 E0                MOVX    A,@DPTR
-0036F8 F8                MOV     R0,A
-0036F9 A3                INC     DPTR
-0036FA E0                MOVX    A,@DPTR
-0036FB F9                MOV     R1,A
-0036FC A3                INC     DPTR
-0036FD E0                MOVX    A,@DPTR
-0036FE FA                MOV     R2,A
-0036FF A3                INC     DPTR
-003700 E0                MOVX    A,@DPTR
-003701 FB                MOV     R3,A
-003702 D3                SETB    C
-003703 120565            LCALL   ?C?ULCMP
-003706 5007              JNC     ?C0011?ADC
+00375D 904CE0            MOV     DPTR,#g_variable+021H
+003760 E0                MOVX    A,@DPTR
+003761 FE                MOV     R6,A
+003762 A3                INC     DPTR
+003763 E0                MOVX    A,@DPTR
+003764 FF                MOV     R7,A
+003765 E4                CLR     A
+003766 FC                MOV     R4,A
+003767 FD                MOV     R5,A
+003768 904ED0            MOV     DPTR,#batValue
+00376B E0                MOVX    A,@DPTR
+00376C F8                MOV     R0,A
+00376D A3                INC     DPTR
+00376E E0                MOVX    A,@DPTR
+00376F F9                MOV     R1,A
+003770 A3                INC     DPTR
+003771 E0                MOVX    A,@DPTR
+003772 FA                MOV     R2,A
+003773 A3                INC     DPTR
+003774 E0                MOVX    A,@DPTR
+003775 FB                MOV     R3,A
+003776 D3                SETB    C
+003777 120565            LCALL   ?C?ULCMP
+00377A 5008              JNC     ?C0011?ADC
    61: 		g_variable.battery_level_percentage = 0;
-003708 E4                CLR     A
-003709 904CFB            MOV     DPTR,#g_variable+03CH
-00370C F0                MOVX    @DPTR,A
-00370D E191              AJMP    ?C0012?ADC
-00370F         ?C0011?ADC:
+00377C E4                CLR     A
+00377D 904CFB            MOV     DPTR,#g_variable+03CH
+003780 F0                MOVX    @DPTR,A
+003781 023806            LJMP    ?C0012?ADC
+003784         ?C0011?ADC:
    62: 	else	if(batValue >= g_variable.battery_level_full)
-00370F 904CFC            MOV     DPTR,#g_variable+03DH
-003712 E0                MOVX    A,@DPTR
-003713 FE                MOV     R6,A
-003714 A3                INC     DPTR
-003715 E0                MOVX    A,@DPTR
-003716 FF                MOV     R7,A
-003717 E4                CLR     A
-003718 FC                MOV     R4,A
-003719 FD                MOV     R5,A
-00371A 904ED0            MOV     DPTR,#batValue
-00371D E0                MOVX    A,@DPTR
-00371E F8                MOV     R0,A
-00371F A3                INC     DPTR
-003720 E0                MOVX    A,@DPTR
-003721 F9                MOV     R1,A
-003722 A3                INC     DPTR
-003723 E0                MOVX    A,@DPTR
-003724 FA                MOV     R2,A
-003725 A3                INC     DPTR
-003726 E0                MOVX    A,@DPTR
-003727 FB                MOV     R3,A
-003728 C3                CLR     C
-003729 120565            LCALL   ?C?ULCMP
-00372C 4008              JC      ?C0013?ADC
+003784 904CFC            MOV     DPTR,#g_variable+03DH
+003787 E0                MOVX    A,@DPTR
+003788 FE                MOV     R6,A
+003789 A3                INC     DPTR
+00378A E0                MOVX    A,@DPTR
+00378B FF                MOV     R7,A
+00378C E4                CLR     A
+00378D FC                MOV     R4,A
+00378E FD                MOV     R5,A
+00378F 904ED0            MOV     DPTR,#batValue
+003792 E0                MOVX    A,@DPTR
+003793 F8                MOV     R0,A
+003794 A3                INC     DPTR
+003795 E0                MOVX    A,@DPTR
+003796 F9                MOV     R1,A
+003797 A3                INC     DPTR
+003798 E0                MOVX    A,@DPTR
+003799 FA                MOV     R2,A
+00379A A3                INC     DPTR
+00379B E0                MOVX    A,@DPTR
+00379C FB                MOV     R3,A
+00379D C3                CLR     C
+00379E 120565            LCALL   ?C?ULCMP
+0037A1 4008              JC      ?C0013?ADC
    63: 		g_variable.battery_level_percentage = 100;
-00372E 904CFB            MOV     DPTR,#g_variable+03CH
-003731 7464              MOV     A,#064H
-003733 F0                MOVX    @DPTR,A
-003734 805B              SJMP    ?C0012?ADC
-003736         ?C0013?ADC:
+0037A3 904CFB            MOV     DPTR,#g_variable+03CH
+0037A6 7464              MOV     A,#064H
+0037A8 F0                MOVX    @DPTR,A
+0037A9 805B              SJMP    ?C0012?ADC
+0037AB         ?C0013?ADC:
    64: 	else	
    65: 		g_variable.battery_level_percentage = (byte)(((batValue - g_variable.battery_level_shutdown)*100)/(g_variable.b
 >> attery_level_full -g_variable.battery_level_shutdown) );
-003736 904CE0            MOV     DPTR,#g_variable+021H
-003739 E0                MOVX    A,@DPTR
-00373A FE                MOV     R6,A
-00373B A3                INC     DPTR
-00373C E0                MOVX    A,@DPTR
-00373D FF                MOV     R7,A
-00373E FB                MOV     R3,A
-00373F AA06              MOV     R2,AR6
-003741 E4                CLR     A
-003742 904ED0            MOV     DPTR,#batValue
-003745 E0                MOVX    A,@DPTR
-003746 FC                MOV     R4,A
-003747 A3                INC     DPTR
-003748 E0                MOVX    A,@DPTR
-003749 FD                MOV     R5,A
-00374A A3                INC     DPTR
-00374B E0                MOVX    A,@DPTR
-00374C FE                MOV     R6,A
-00374D A3                INC     DPTR
-00374E E0                MOVX    A,@DPTR
-00374F C3                CLR     C
-003750 9B                SUBB    A,R3
-003751 FF                MOV     R7,A
-003752 EE                MOV     A,R6
-003753 9A                SUBB    A,R2
-003754 FE                MOV     R6,A
-003755 ED                MOV     A,R5
-003756 9400              SUBB    A,#00H
-003758 FD                MOV     R5,A
-003759 EC                MOV     A,R4
-00375A 9400              SUBB    A,#00H
-00375C FC                MOV     R4,A
-00375D E4                CLR     A
-00375E 7B64              MOV     R3,#064H
-003760 FA                MOV     R2,A
-003761 F9                MOV     R1,A
-003762 F8                MOV     R0,A
-003763 12043A            LCALL   ?C?LMUL
-003766 C006              PUSH    AR6
-003768 C007              PUSH    AR7
-00376A 904CE0            MOV     DPTR,#g_variable+021H
-00376D E0                MOVX    A,@DPTR
-00376E FE                MOV     R6,A
-00376F A3                INC     DPTR
-003770 E0                MOVX    A,@DPTR
-003771 FF                MOV     R7,A
-003772 C3                CLR     C
-003773 904CFD            MOV     DPTR,#g_variable+03EH
-003776 E0                MOVX    A,@DPTR
-003777 9F                SUBB    A,R7
-003778 FF                MOV     R7,A
-003779 904CFC            MOV     DPTR,#g_variable+03DH
-00377C E0                MOVX    A,@DPTR
-00377D 9E                SUBB    A,R6
-00377E FE                MOV     R6,A
-00377F AB07              MOV     R3,AR7
-003781 FA                MOV     R2,A
-003782 E4                CLR     A
-003783 F9                MOV     R1,A
-003784 F8                MOV     R0,A
-003785 D007              POP     AR7
-003787 D006              POP     AR6
-003789 1204C5            LCALL   ?C?ULDIV
-00378C 904CFB            MOV     DPTR,#g_variable+03CH
-00378F EF                MOV     A,R7
-003790 F0                MOVX    @DPTR,A
-003791         ?C0012?ADC:
+0037AB 904CE0            MOV     DPTR,#g_variable+021H
+0037AE E0                MOVX    A,@DPTR
+0037AF FE                MOV     R6,A
+0037B0 A3                INC     DPTR
+0037B1 E0                MOVX    A,@DPTR
+0037B2 FF                MOV     R7,A
+0037B3 FB                MOV     R3,A
+0037B4 AA06              MOV     R2,AR6
+0037B6 E4                CLR     A
+0037B7 904ED0            MOV     DPTR,#batValue
+0037BA E0                MOVX    A,@DPTR
+0037BB FC                MOV     R4,A
+0037BC A3                INC     DPTR
+0037BD E0                MOVX    A,@DPTR
+0037BE FD                MOV     R5,A
+0037BF A3                INC     DPTR
+0037C0 E0                MOVX    A,@DPTR
+0037C1 FE                MOV     R6,A
+0037C2 A3                INC     DPTR
+0037C3 E0                MOVX    A,@DPTR
+0037C4 C3                CLR     C
+0037C5 9B                SUBB    A,R3
+0037C6 FF                MOV     R7,A
+0037C7 EE                MOV     A,R6
+0037C8 9A                SUBB    A,R2
+0037C9 FE                MOV     R6,A
+0037CA ED                MOV     A,R5
+0037CB 9400              SUBB    A,#00H
+0037CD FD                MOV     R5,A
+0037CE EC                MOV     A,R4
+0037CF 9400              SUBB    A,#00H
+0037D1 FC                MOV     R4,A
+0037D2 E4                CLR     A
+0037D3 7B64              MOV     R3,#064H
+0037D5 FA                MOV     R2,A
+0037D6 F9                MOV     R1,A
+0037D7 F8                MOV     R0,A
+0037D8 12043A            LCALL   ?C?LMUL
+0037DB C006              PUSH    AR6
+0037DD C007              PUSH    AR7
+0037DF 904CE0            MOV     DPTR,#g_variable+021H
+0037E2 E0                MOVX    A,@DPTR
+0037E3 FE                MOV     R6,A
+0037E4 A3                INC     DPTR
+0037E5 E0                MOVX    A,@DPTR
+0037E6 FF                MOV     R7,A
+0037E7 C3                CLR     C
+0037E8 904CFD            MOV     DPTR,#g_variable+03EH
+0037EB E0                MOVX    A,@DPTR
+0037EC 9F                SUBB    A,R7
+0037ED FF                MOV     R7,A
+0037EE 904CFC            MOV     DPTR,#g_variable+03DH
+0037F1 E0                MOVX    A,@DPTR
+0037F2 9E                SUBB    A,R6
+0037F3 FE                MOV     R6,A
+0037F4 AB07              MOV     R3,AR7
+0037F6 FA                MOV     R2,A
+0037F7 E4                CLR     A
+0037F8 F9                MOV     R1,A
+0037F9 F8                MOV     R0,A
+0037FA D007              POP     AR7
+0037FC D006              POP     AR6
+0037FE 1204C5            LCALL   ?C?ULDIV
+003801 904CFB            MOV     DPTR,#g_variable+03CH
+003804 EF                MOV     A,R7
+003805 F0                MOVX    @DPTR,A
+003806         ?C0012?ADC:
    66: 	
    67: 	if(batValue < g_variable.battery_level_shutdown)
-003791 904CE0            MOV     DPTR,#g_variable+021H
-003794 E0                MOVX    A,@DPTR
-003795 FE                MOV     R6,A
-003796 A3                INC     DPTR
-003797 E0                MOVX    A,@DPTR
-003798 FF                MOV     R7,A
-003799 E4                CLR     A
-00379A FC                MOV     R4,A
-00379B FD                MOV     R5,A
-00379C 904ED0            MOV     DPTR,#batValue
-00379F E0                MOVX    A,@DPTR
-0037A0 F8                MOV     R0,A
-0037A1 A3                INC     DPTR
-0037A2 E0                MOVX    A,@DPTR
-0037A3 F9                MOV     R1,A
-0037A4 A3                INC     DPTR
-0037A5 E0                MOVX    A,@DPTR
-0037A6 FA                MOV     R2,A
-0037A7 A3                INC     DPTR
-0037A8 E0                MOVX    A,@DPTR
-0037A9 FB                MOV     R3,A
-0037AA C3                CLR     C
-0037AB 120565            LCALL   ?C?ULCMP
-0037AE 5008              JNC     ?C0015?ADC
+003806 904CE0            MOV     DPTR,#g_variable+021H
+003809 E0                MOVX    A,@DPTR
+00380A FE                MOV     R6,A
+00380B A3                INC     DPTR
+00380C E0                MOVX    A,@DPTR
+00380D FF                MOV     R7,A
+00380E E4                CLR     A
+00380F FC                MOV     R4,A
+003810 FD                MOV     R5,A
+003811 904ED0            MOV     DPTR,#batValue
+003814 E0                MOVX    A,@DPTR
+003815 F8                MOV     R0,A
+003816 A3                INC     DPTR
+003817 E0                MOVX    A,@DPTR
+003818 F9                MOV     R1,A
+003819 A3                INC     DPTR
+00381A E0                MOVX    A,@DPTR
+00381B FA                MOV     R2,A
+00381C A3                INC     DPTR
+00381D E0                MOVX    A,@DPTR
+00381E FB                MOV     R3,A
+00381F C3                CLR     C
+003820 120565            LCALL   ?C?ULCMP
+003823 5008              JNC     ?C0015?ADC
    68: 	{
    69: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-0037B0 904CD5            MOV     DPTR,#g_variable+016H
-0037B3 7402              MOV     A,#02H
-0037B5 F0                MOVX    @DPTR,A
+003825 904CD5            MOV     DPTR,#g_variable+016H
+003828 7402              MOV     A,#02H
+00382A F0                MOVX    @DPTR,A
    70: 	}
-0037B6 8056              SJMP    ?C0016?ADC
-0037B8         ?C0015?ADC:
+00382B 8056              SJMP    ?C0016?ADC
+00382D         ?C0015?ADC:
    71: 	else
    72: 	{
    73: 		if (batValue < g_variable.battery_level_low)
-0037B8 904CDE            MOV     DPTR,#g_variable+01FH
-0037BB E0                MOVX    A,@DPTR
-0037BC FE                MOV     R6,A
-0037BD A3                INC     DPTR
-0037BE E0                MOVX    A,@DPTR
-0037BF FF                MOV     R7,A
-0037C0 E4                CLR     A
-0037C1 FC                MOV     R4,A
-0037C2 FD                MOV     R5,A
-0037C3 904ED0            MOV     DPTR,#batValue
-0037C6 E0                MOVX    A,@DPTR
-0037C7 F8                MOV     R0,A
-0037C8 A3                INC     DPTR
-0037C9 E0                MOVX    A,@DPTR
-0037CA F9                MOV     R1,A
-0037CB A3                INC     DPTR
-0037CC E0                MOVX    A,@DPTR
-0037CD FA                MOV     R2,A
-0037CE A3                INC     DPTR
-0037CF E0                MOVX    A,@DPTR
-0037D0 FB                MOV     R3,A
-0037D1 C3                CLR     C
-0037D2 120565            LCALL   ?C?ULCMP
-0037D5 501D              JNC     ?C0017?ADC
+00382D 904CDE            MOV     DPTR,#g_variable+01FH
+003830 E0                MOVX    A,@DPTR
+003831 FE                MOV     R6,A
+003832 A3                INC     DPTR
+003833 E0                MOVX    A,@DPTR
+003834 FF                MOV     R7,A
+003835 E4                CLR     A
+003836 FC                MOV     R4,A
+003837 FD                MOV     R5,A
+003838 904ED0            MOV     DPTR,#batValue
+00383B E0                MOVX    A,@DPTR
+00383C F8                MOV     R0,A
+00383D A3                INC     DPTR
+00383E E0                MOVX    A,@DPTR
+00383F F9                MOV     R1,A
+003840 A3                INC     DPTR
+003841 E0                MOVX    A,@DPTR
+003842 FA                MOV     R2,A
+003843 A3                INC     DPTR
+003844 E0                MOVX    A,@DPTR
+003845 FB                MOV     R3,A
+003846 C3                CLR     C
+003847 120565            LCALL   ?C?ULCMP
+00384A 501D              JNC     ?C0017?ADC
    74: 		{
    75: 			g_variable.battery_status = BAT_STATUS_LOW;
-0037D7 904CD5            MOV     DPTR,#g_variable+016H
-0037DA 7401              MOV     A,#01H
-0037DC F0                MOVX    @DPTR,A
+00384C 904CD5            MOV     DPTR,#g_variable+016H
+00384F 7401              MOV     A,#01H
+003851 F0                MOVX    @DPTR,A
    76: 			if(!g_variable.g24_long_sleep_flag)
-0037DD 904D02            MOV     DPTR,#g_variable+043H
-0037E0 E0                MOVX    A,@DPTR
-0037E1 702B              JNZ     ?C0016?ADC
+003852 904D02            MOV     DPTR,#g_variable+043H
+003855 E0                MOVX    A,@DPTR
+003856 702B              JNZ     ?C0016?ADC
    77: 			{
    78: 			m_24g_enter_hibernate[0]	= 0x00;
-0037E3 904D40            MOV     DPTR,#m_24g_enter_hibernate
-0037E6 F0                MOVX    @DPTR,A
+003858 904D40            MOV     DPTR,#m_24g_enter_hibernate
+00385B F0                MOVX    @DPTR,A
    79: 			m_24g_enter_hibernate[1]	= 0x48;
-0037E7 A3                INC     DPTR
-0037E8 7448              MOV     A,#048H
-0037EA F0                MOVX    @DPTR,A
+00385C A3                INC     DPTR
+00385D 7448              MOV     A,#048H
+00385F F0                MOVX    @DPTR,A
    80: 			m_24g_enter_hibernate[2]	= 0x12;		// 100ms
-0037EB A3                INC     DPTR
-0037EC 7412              MOV     A,#012H
-0037EE F0                MOVX    @DPTR,A
+003860 A3                INC     DPTR
+003861 7412              MOV     A,#012H
+003863 F0                MOVX    @DPTR,A
    81: 			m_24g_enter_hibernate[3]	= 0x00;
-0037EF E4                CLR     A
-0037F0 A3                INC     DPTR
-0037F1 F0                MOVX    @DPTR,A
+003864 E4                CLR     A
+003865 A3                INC     DPTR
+003866 F0                MOVX    @DPTR,A
    82: 			}
    83: 		}
-0037F2 801A              SJMP    ?C0016?ADC
-0037F4         ?C0017?ADC:
+003867 801A              SJMP    ?C0016?ADC
+003869         ?C0017?ADC:
    84: 		else
    85: 		{
    86: 			g_variable.battery_status = BAT_STATUS_NONE;
-0037F4 E4                CLR     A
-0037F5 904CD5            MOV     DPTR,#g_variable+016H
-0037F8 F0                MOVX    @DPTR,A
+003869 E4                CLR     A
+00386A 904CD5            MOV     DPTR,#g_variable+016H
+00386D F0                MOVX    @DPTR,A
    87: 			if(!g_variable.g24_long_sleep_flag)
-0037F9 904D02            MOV     DPTR,#g_variable+043H
-0037FC E0                MOVX    A,@DPTR
-0037FD 700F              JNZ     ?C0016?ADC
+00386E 904D02            MOV     DPTR,#g_variable+043H
+003871 E0                MOVX    A,@DPTR
+003872 700F              JNZ     ?C0016?ADC
    88: 			{
    89: 			m_24g_enter_hibernate[0]	= 0x00;
-0037FF 904D40            MOV     DPTR,#m_24g_enter_hibernate
-003802 F0                MOVX    @DPTR,A
+003874 904D40            MOV     DPTR,#m_24g_enter_hibernate
+003877 F0                MOVX    @DPTR,A
    90: 			m_24g_enter_hibernate[1]	= 0x48;
-003803 A3                INC     DPTR
-003804 7448              MOV     A,#048H
-003806 F0                MOVX    @DPTR,A
+003878 A3                INC     DPTR
+003879 7448              MOV     A,#048H
+00387B F0                MOVX    @DPTR,A
    91: 			m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
-003807 A3                INC     DPTR
-003808 745D              MOV     A,#05DH
-00380A F0                MOVX    @DPTR,A
+00387C A3                INC     DPTR
+00387D 745D              MOV     A,#05DH
+00387F F0                MOVX    @DPTR,A
    92: 			m_24g_enter_hibernate[3]	= 0x00;
-00380B E4                CLR     A
-00380C A3                INC     DPTR
-00380D F0                MOVX    @DPTR,A
+003880 E4                CLR     A
+003881 A3                INC     DPTR
+003882 F0                MOVX    @DPTR,A
    93: 			}
    94: 		}
    95: 	}
-00380E         ?C0016?ADC:
+003883         ?C0016?ADC:
    96: 
    97: 	g_variable.last_battery_status = g_variable.battery_status;
-00380E 904CD5            MOV     DPTR,#g_variable+016H
-003811 E0                MOVX    A,@DPTR
-003812 904D01            MOV     DPTR,#g_variable+042H
-003815 F0                MOVX    @DPTR,A
+003883 904CD5            MOV     DPTR,#g_variable+016H
+003886 E0                MOVX    A,@DPTR
+003887 904D01            MOV     DPTR,#g_variable+042H
+00388A F0                MOVX    @DPTR,A
    98: #endif	
    99: }
-003816         ?C0006?ADC:
-003816 22                RET     
+00388B         ?C0006?ADC:
+00388B 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
@@ -11160,732 +11253,732 @@
   104: #ifdef  ADC_ENABLE
   105: 	// adc check timer	
   106: 	if (g_variable.battery_check_interval)
-003817 904CD3            MOV     DPTR,#g_variable+014H
-00381A E0                MOVX    A,@DPTR
-00381B 600B              JZ      ?C0023?ADC
+00388C 904CD3            MOV     DPTR,#g_variable+014H
+00388F E0                MOVX    A,@DPTR
+003890 600B              JZ      ?C0023?ADC
   107: 	{
   108: 		g_variable.battery_check_interval--;
-00381D 14                DEC     A
-00381E F0                MOVX    @DPTR,A
+003892 14                DEC     A
+003893 F0                MOVX    @DPTR,A
   109: 		if (g_variable.battery_check_interval == 0)
-00381F E0                MOVX    A,@DPTR
-003820 7006              JNZ     ?C0023?ADC
+003894 E0                MOVX    A,@DPTR
+003895 7006              JNZ     ?C0023?ADC
   110: 		{
   111: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-003822 7405              MOV     A,#05H
-003824 F0                MOVX    @DPTR,A
+003897 7405              MOV     A,#05H
+003899 F0                MOVX    @DPTR,A
   112: 			YC_adc_check();
-003825 123644            LCALL   YC_adc_check
+00389A 1236B8            LCALL   YC_adc_check
   113: 		}
   114: 	}
   115: #endif	
   116: }
-003828         ?C0023?ADC:
-003828 22                RET     
+00389D         ?C0023?ADC:
+00389D 22                RET     
 ----- FUNCTION YC_adc_check_timer500ms (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-003829 904EDD            MOV     DPTR,#rptr
-00382C EE                MOV     A,R6
-00382D F0                MOVX    @DPTR,A
-00382E A3                INC     DPTR
-00382F EF                MOV     A,R7
-003830 F0                MOVX    @DPTR,A
-003831 904EDF            MOV     DPTR,#wptr
-003834 EC                MOV     A,R4
-003835 F0                MOVX    @DPTR,A
-003836 A3                INC     DPTR
-003837 ED                MOV     A,R5
-003838 F0                MOVX    @DPTR,A
+00389E 904EDD            MOV     DPTR,#rptr
+0038A1 EE                MOV     A,R6
+0038A2 F0                MOVX    @DPTR,A
+0038A3 A3                INC     DPTR
+0038A4 EF                MOV     A,R7
+0038A5 F0                MOVX    @DPTR,A
+0038A6 904EDF            MOV     DPTR,#wptr
+0038A9 EC                MOV     A,R4
+0038AA F0                MOVX    @DPTR,A
+0038AB A3                INC     DPTR
+0038AC ED                MOV     A,R5
+0038AD F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-003839 904EDF            MOV     DPTR,#wptr
-00383C E0                MOVX    A,@DPTR
-00383D FE                MOV     R6,A
-00383E A3                INC     DPTR
-00383F E0                MOVX    A,@DPTR
-003840 FF                MOV     R7,A
-003841 D3                SETB    C
-003842 904EDE            MOV     DPTR,#rptr+01H
-003845 E0                MOVX    A,@DPTR
-003846 9F                SUBB    A,R7
-003847 904EDD            MOV     DPTR,#rptr
-00384A E0                MOVX    A,@DPTR
-00384B 9E                SUBB    A,R6
-00384C 4016              JC      ?C0001?IPC
-00384E 904EDF            MOV     DPTR,#wptr
-003851 E0                MOVX    A,@DPTR
-003852 FE                MOV     R6,A
-003853 A3                INC     DPTR
-003854 E0                MOVX    A,@DPTR
-003855 FF                MOV     R7,A
-003856 904EDE            MOV     DPTR,#rptr+01H
-003859 E0                MOVX    A,@DPTR
-00385A 9F                SUBB    A,R7
-00385B FF                MOV     R7,A
-00385C 904EDD            MOV     DPTR,#rptr
-00385F E0                MOVX    A,@DPTR
-003860 9E                SUBB    A,R6
-003861 FE                MOV     R6,A
-003862 801E              SJMP    ?C0002?IPC
-003864         ?C0001?IPC:
-003864 904EDD            MOV     DPTR,#rptr
-003867 E0                MOVX    A,@DPTR
-003868 FE                MOV     R6,A
-003869 A3                INC     DPTR
-00386A E0                MOVX    A,@DPTR
-00386B FF                MOV     R7,A
-00386C C3                CLR     C
-00386D 904EE0            MOV     DPTR,#wptr+01H
-003870 E0                MOVX    A,@DPTR
-003871 9F                SUBB    A,R7
-003872 FF                MOV     R7,A
-003873 904EDF            MOV     DPTR,#wptr
-003876 E0                MOVX    A,@DPTR
-003877 9E                SUBB    A,R6
-003878 FE                MOV     R6,A
-003879 AD03              MOV     R5,AR3
-00387B C3                CLR     C
-00387C EB                MOV     A,R3
-00387D 9F                SUBB    A,R7
-00387E FF                MOV     R7,A
-00387F E4                CLR     A
-003880 9E                SUBB    A,R6
-003881 FE                MOV     R6,A
-003882         ?C0002?IPC:
-003882 22                RET     
+0038AE 904EDF            MOV     DPTR,#wptr
+0038B1 E0                MOVX    A,@DPTR
+0038B2 FE                MOV     R6,A
+0038B3 A3                INC     DPTR
+0038B4 E0                MOVX    A,@DPTR
+0038B5 FF                MOV     R7,A
+0038B6 D3                SETB    C
+0038B7 904EDE            MOV     DPTR,#rptr+01H
+0038BA E0                MOVX    A,@DPTR
+0038BB 9F                SUBB    A,R7
+0038BC 904EDD            MOV     DPTR,#rptr
+0038BF E0                MOVX    A,@DPTR
+0038C0 9E                SUBB    A,R6
+0038C1 4016              JC      ?C0001?IPC
+0038C3 904EDF            MOV     DPTR,#wptr
+0038C6 E0                MOVX    A,@DPTR
+0038C7 FE                MOV     R6,A
+0038C8 A3                INC     DPTR
+0038C9 E0                MOVX    A,@DPTR
+0038CA FF                MOV     R7,A
+0038CB 904EDE            MOV     DPTR,#rptr+01H
+0038CE E0                MOVX    A,@DPTR
+0038CF 9F                SUBB    A,R7
+0038D0 FF                MOV     R7,A
+0038D1 904EDD            MOV     DPTR,#rptr
+0038D4 E0                MOVX    A,@DPTR
+0038D5 9E                SUBB    A,R6
+0038D6 FE                MOV     R6,A
+0038D7 801E              SJMP    ?C0002?IPC
+0038D9         ?C0001?IPC:
+0038D9 904EDD            MOV     DPTR,#rptr
+0038DC E0                MOVX    A,@DPTR
+0038DD FE                MOV     R6,A
+0038DE A3                INC     DPTR
+0038DF E0                MOVX    A,@DPTR
+0038E0 FF                MOV     R7,A
+0038E1 C3                CLR     C
+0038E2 904EE0            MOV     DPTR,#wptr+01H
+0038E5 E0                MOVX    A,@DPTR
+0038E6 9F                SUBB    A,R7
+0038E7 FF                MOV     R7,A
+0038E8 904EDF            MOV     DPTR,#wptr
+0038EB E0                MOVX    A,@DPTR
+0038EC 9E                SUBB    A,R6
+0038ED FE                MOV     R6,A
+0038EE AD03              MOV     R5,AR3
+0038F0 C3                CLR     C
+0038F1 EB                MOV     A,R3
+0038F2 9F                SUBB    A,R7
+0038F3 FF                MOV     R7,A
+0038F4 E4                CLR     A
+0038F5 9E                SUBB    A,R6
+0038F6 FE                MOV     R6,A
+0038F7         ?C0002?IPC:
+0038F7 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-003883 904F06            MOV     DPTR,#dest
-003886 EE                MOV     A,R6
-003887 F0                MOVX    @DPTR,A
-003888 A3                INC     DPTR
-003889 EF                MOV     A,R7
-00388A F0                MOVX    @DPTR,A
+0038F8 904F06            MOV     DPTR,#dest
+0038FB EE                MOV     A,R6
+0038FC F0                MOVX    @DPTR,A
+0038FD A3                INC     DPTR
+0038FE EF                MOV     A,R7
+0038FF F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-00388B A905              MOV     R1,AR5
-00388D 904B9E            MOV     DPTR,#ipcRxReadPtr
-003890 E0                MOVX    A,@DPTR
-003891 FE                MOV     R6,A
-003892 A3                INC     DPTR
-003893 E0                MOVX    A,@DPTR
-003894 FF                MOV     R7,A
+003900 A905              MOV     R1,AR5
+003902 904B9E            MOV     DPTR,#ipcRxReadPtr
+003905 E0                MOVX    A,@DPTR
+003906 FE                MOV     R6,A
+003907 A3                INC     DPTR
+003908 E0                MOVX    A,@DPTR
+003909 FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-003895         ?C0004?IPC:
-003895 AD01              MOV     R5,AR1
-003897 19                DEC     R1
-003898 ED                MOV     A,R5
-003899 602F              JZ      ?C0005?IPC
-00389B 0F                INC     R7
-00389C EF                MOV     A,R7
-00389D AC06              MOV     R4,AR6
-00389F 7001              JNZ     ?C0046?IPC
-0038A1 0E                INC     R6
-0038A2         ?C0046?IPC:
-0038A2 14                DEC     A
-0038A3 F582              MOV     DPL,A
-0038A5 8C83              MOV     DPH,R4
-0038A7 E0                MOVX    A,@DPTR
-0038A8 FD                MOV     R5,A
-0038A9 904F06            MOV     DPTR,#dest
-0038AC E4                CLR     A
-0038AD 75F001            MOV     B,#01H
-0038B0 120424            LCALL   ?C?ILDIX
-0038B3 85F082            MOV     DPL,B
-0038B6 F583              MOV     DPH,A
-0038B8 ED                MOV     A,R5
-0038B9 F0                MOVX    @DPTR,A
-0038BA AD07              MOV     R5,AR7
-0038BC AC06              MOV     R4,AR6
-0038BE BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-0038C1 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-0038C4 7E4B              MOV     R6,#04BH
-0038C6 7F36              MOV     R7,#036H
-0038C8 80CB              SJMP    ?C0004?IPC
-0038CA         ?C0005?IPC:
-0038CA 904B9E            MOV     DPTR,#ipcRxReadPtr
-0038CD EE                MOV     A,R6
-0038CE F0                MOVX    @DPTR,A
-0038CF A3                INC     DPTR
-0038D0 EF                MOV     A,R7
-0038D1 F0                MOVX    @DPTR,A
-0038D2 22                RET     
+00390A         ?C0004?IPC:
+00390A AD01              MOV     R5,AR1
+00390C 19                DEC     R1
+00390D ED                MOV     A,R5
+00390E 602F              JZ      ?C0005?IPC
+003910 0F                INC     R7
+003911 EF                MOV     A,R7
+003912 AC06              MOV     R4,AR6
+003914 7001              JNZ     ?C0046?IPC
+003916 0E                INC     R6
+003917         ?C0046?IPC:
+003917 14                DEC     A
+003918 F582              MOV     DPL,A
+00391A 8C83              MOV     DPH,R4
+00391C E0                MOVX    A,@DPTR
+00391D FD                MOV     R5,A
+00391E 904F06            MOV     DPTR,#dest
+003921 E4                CLR     A
+003922 75F001            MOV     B,#01H
+003925 120424            LCALL   ?C?ILDIX
+003928 85F082            MOV     DPL,B
+00392B F583              MOV     DPH,A
+00392D ED                MOV     A,R5
+00392E F0                MOVX    @DPTR,A
+00392F AD07              MOV     R5,AR7
+003931 AC06              MOV     R4,AR6
+003933 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+003936 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+003939 7E4B              MOV     R6,#04BH
+00393B 7F36              MOV     R7,#036H
+00393D 80CB              SJMP    ?C0004?IPC
+00393F         ?C0005?IPC:
+00393F 904B9E            MOV     DPTR,#ipcRxReadPtr
+003942 EE                MOV     A,R6
+003943 F0                MOVX    @DPTR,A
+003944 A3                INC     DPTR
+003945 EF                MOV     A,R7
+003946 F0                MOVX    @DPTR,A
+003947 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-0038D3 7A0C              MOV     R2,#HIGH ipcReadBuff
-0038D5 794B              MOV     R1,#LOW ipcReadBuff
-0038D7 904EF4            MOV     DPTR,#pbuff
-0038DA 7401              MOV     A,#01H
-0038DC F0                MOVX    @DPTR,A
-0038DD A3                INC     DPTR
-0038DE 740C              MOV     A,#HIGH ipcReadBuff
-0038E0 F0                MOVX    @DPTR,A
-0038E1 A3                INC     DPTR
-0038E2 744B              MOV     A,#LOW ipcReadBuff
-0038E4 F0                MOVX    @DPTR,A
-0038E5 904BA0            MOV     DPTR,#ipcRxWritePtr
-0038E8 E0                MOVX    A,@DPTR
-0038E9 FE                MOV     R6,A
-0038EA A3                INC     DPTR
-0038EB E0                MOVX    A,@DPTR
-0038EC FF                MOV     R7,A
-0038ED 904B9E            MOV     DPTR,#ipcRxReadPtr
-0038F0 E0                MOVX    A,@DPTR
-0038F1 6E                XRL     A,R6
-0038F2 7003              JNZ     ?C0048?IPC
-0038F4 A3                INC     DPTR
-0038F5 E0                MOVX    A,@DPTR
-0038F6 6F                XRL     A,R7
-0038F7         ?C0048?IPC:
-0038F7 7002              JNZ     $ + 4H
-0038F9 4182              AJMP    ?C0039?IPC
-0038FB         ?C0027?IPC:
-0038FB 7E0C              MOV     R6,#HIGH ipcReadBuff
-0038FD 7F4B              MOV     R7,#LOW ipcReadBuff
-0038FF 7D03              MOV     R5,#03H
-003901 1183              ACALL   _ipcRx
-003903 904EF4            MOV     DPTR,#pbuff
-003906 E0                MOVX    A,@DPTR
-003907 FB                MOV     R3,A
-003908 A3                INC     DPTR
-003909 E0                MOVX    A,@DPTR
-00390A FA                MOV     R2,A
-00390B A3                INC     DPTR
-00390C E0                MOVX    A,@DPTR
-00390D F9                MOV     R1,A
-00390E 1203B6            LCALL   ?C?CLDPTR
-003911 B4022B            CJNE    A,#02H,?C0029?IPC
-003914 904EF5            MOV     DPTR,#pbuff+01H
-003917 E4                CLR     A
-003918 75F002            MOV     B,#02H
-00391B 12040E            LCALL   ?C?IILDX
-00391E 904EF4            MOV     DPTR,#pbuff
-003921 E0                MOVX    A,@DPTR
-003922 FB                MOV     R3,A
-003923 A3                INC     DPTR
-003924 E0                MOVX    A,@DPTR
-003925 FA                MOV     R2,A
-003926 A3                INC     DPTR
-003927 E0                MOVX    A,@DPTR
-003928 F9                MOV     R1,A
-003929 1203B6            LCALL   ?C?CLDPTR
-00392C FF                MOV     R7,A
-00392D 904E68            MOV     DPTR,#ipcCb
-003930 E0                MOVX    A,@DPTR
-003931 A3                INC     DPTR
-003932 E0                MOVX    A,@DPTR
-003933 FA                MOV     R2,A
-003934 A3                INC     DPTR
-003935 E0                MOVX    A,@DPTR
-003936 F582              MOV     DPL,A
-003938 8A83              MOV     DPH,R2
-00393A 1205DD            LCALL   ?C?ICALL2
-00393D 4182              AJMP    ?C0039?IPC
-00393F         ?C0029?IPC:
-00393F 904EF4            MOV     DPTR,#pbuff
-003942 E0                MOVX    A,@DPTR
-003943 FB                MOV     R3,A
-003944 A3                INC     DPTR
-003945 E0                MOVX    A,@DPTR
-003946 FA                MOV     R2,A
-003947 A3                INC     DPTR
-003948 E0                MOVX    A,@DPTR
-003949 F9                MOV     R1,A
-00394A 1203B6            LCALL   ?C?CLDPTR
-00394D 6404              XRL     A,#04H
-00394F 7059              JNZ     ?C0031?IPC
-003951 904EF5            MOV     DPTR,#pbuff+01H
-003954 75F001            MOV     B,#01H
-003957 12040E            LCALL   ?C?IILDX
-00395A 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-00395C 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-00395E 904EF4            MOV     DPTR,#pbuff
-003961 E0                MOVX    A,@DPTR
-003962 FB                MOV     R3,A
-003963 A3                INC     DPTR
-003964 E0                MOVX    A,@DPTR
-003965 FA                MOV     R2,A
-003966 A3                INC     DPTR
-003967 E0                MOVX    A,@DPTR
-003968 F9                MOV     R1,A
-003969 1203B6            LCALL   ?C?CLDPTR
-00396C 14                DEC     A
-00396D FD                MOV     R5,A
-00396E 1183              ACALL   _ipcRx
-003970 904EF4            MOV     DPTR,#pbuff
-003973 E0                MOVX    A,@DPTR
-003974 FB                MOV     R3,A
-003975 A3                INC     DPTR
-003976 E0                MOVX    A,@DPTR
-003977 FA                MOV     R2,A
-003978 A3                INC     DPTR
-003979 E0                MOVX    A,@DPTR
-00397A 2401              ADD     A,#01H
-00397C F9                MOV     R1,A
-00397D E4                CLR     A
-00397E 3A                ADDC    A,R2
+003948 7A0C              MOV     R2,#HIGH ipcReadBuff
+00394A 794B              MOV     R1,#LOW ipcReadBuff
+00394C 904EF4            MOV     DPTR,#pbuff
+00394F 7401              MOV     A,#01H
+003951 F0                MOVX    @DPTR,A
+003952 A3                INC     DPTR
+003953 740C              MOV     A,#HIGH ipcReadBuff
+003955 F0                MOVX    @DPTR,A
+003956 A3                INC     DPTR
+003957 744B              MOV     A,#LOW ipcReadBuff
+003959 F0                MOVX    @DPTR,A
+00395A 904BA0            MOV     DPTR,#ipcRxWritePtr
+00395D E0                MOVX    A,@DPTR
+00395E FE                MOV     R6,A
+00395F A3                INC     DPTR
+003960 E0                MOVX    A,@DPTR
+003961 FF                MOV     R7,A
+003962 904B9E            MOV     DPTR,#ipcRxReadPtr
+003965 E0                MOVX    A,@DPTR
+003966 6E                XRL     A,R6
+003967 7003              JNZ     ?C0048?IPC
+003969 A3                INC     DPTR
+00396A E0                MOVX    A,@DPTR
+00396B 6F                XRL     A,R7
+00396C         ?C0048?IPC:
+00396C 7002              JNZ     $ + 4H
+00396E 41F7              AJMP    ?C0039?IPC
+003970         ?C0027?IPC:
+003970 7E0C              MOV     R6,#HIGH ipcReadBuff
+003972 7F4B              MOV     R7,#LOW ipcReadBuff
+003974 7D03              MOV     R5,#03H
+003976 11F8              ACALL   _ipcRx
+003978 904EF4            MOV     DPTR,#pbuff
+00397B E0                MOVX    A,@DPTR
+00397C FB                MOV     R3,A
+00397D A3                INC     DPTR
+00397E E0                MOVX    A,@DPTR
 00397F FA                MOV     R2,A
-003980 C002              PUSH    AR2
-003982 C001              PUSH    AR1
-003984 904EF4            MOV     DPTR,#pbuff
-003987 E0                MOVX    A,@DPTR
-003988 A3                INC     DPTR
-003989 E0                MOVX    A,@DPTR
-00398A FA                MOV     R2,A
-00398B A3                INC     DPTR
-00398C E0                MOVX    A,@DPTR
-00398D F9                MOV     R1,A
-00398E 1203B6            LCALL   ?C?CLDPTR
-003991 FD                MOV     R5,A
-003992 7C00              MOV     R4,#00H
-003994 904E6B            MOV     DPTR,#ipcCb+03H
-003997 E0                MOVX    A,@DPTR
+003980 A3                INC     DPTR
+003981 E0                MOVX    A,@DPTR
+003982 F9                MOV     R1,A
+003983 1203B6            LCALL   ?C?CLDPTR
+003986 B4022B            CJNE    A,#02H,?C0029?IPC
+003989 904EF5            MOV     DPTR,#pbuff+01H
+00398C E4                CLR     A
+00398D 75F002            MOV     B,#02H
+003990 12040E            LCALL   ?C?IILDX
+003993 904EF4            MOV     DPTR,#pbuff
+003996 E0                MOVX    A,@DPTR
+003997 FB                MOV     R3,A
 003998 A3                INC     DPTR
 003999 E0                MOVX    A,@DPTR
 00399A FA                MOV     R2,A
 00399B A3                INC     DPTR
 00399C E0                MOVX    A,@DPTR
-00399D F582              MOV     DPL,A
-00399F 8A83              MOV     DPH,R2
-0039A1 D001              POP     AR1
-0039A3 D002              POP     AR2
-0039A5 1205DD            LCALL   ?C?ICALL2
-0039A8 4182              AJMP    ?C0039?IPC
-0039AA         ?C0031?IPC:
-0039AA 904EF4            MOV     DPTR,#pbuff
-0039AD E0                MOVX    A,@DPTR
-0039AE FB                MOV     R3,A
-0039AF A3                INC     DPTR
-0039B0 E0                MOVX    A,@DPTR
-0039B1 FA                MOV     R2,A
-0039B2 A3                INC     DPTR
-0039B3 E0                MOVX    A,@DPTR
-0039B4 F9                MOV     R1,A
-0039B5 1203B6            LCALL   ?C?CLDPTR
-0039B8 6405              XRL     A,#05H
-0039BA 7059              JNZ     ?C0033?IPC
-0039BC 904EF5            MOV     DPTR,#pbuff+01H
-0039BF 75F001            MOV     B,#01H
-0039C2 12040E            LCALL   ?C?IILDX
-0039C5 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-0039C7 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-0039C9 904EF4            MOV     DPTR,#pbuff
-0039CC E0                MOVX    A,@DPTR
-0039CD FB                MOV     R3,A
-0039CE A3                INC     DPTR
-0039CF E0                MOVX    A,@DPTR
-0039D0 FA                MOV     R2,A
-0039D1 A3                INC     DPTR
-0039D2 E0                MOVX    A,@DPTR
-0039D3 F9                MOV     R1,A
-0039D4 1203B6            LCALL   ?C?CLDPTR
-0039D7 14                DEC     A
-0039D8 FD                MOV     R5,A
-0039D9 1183              ACALL   _ipcRx
-0039DB 904EF4            MOV     DPTR,#pbuff
-0039DE E0                MOVX    A,@DPTR
-0039DF FB                MOV     R3,A
-0039E0 A3                INC     DPTR
-0039E1 E0                MOVX    A,@DPTR
-0039E2 FA                MOV     R2,A
-0039E3 A3                INC     DPTR
-0039E4 E0                MOVX    A,@DPTR
-0039E5 2401              ADD     A,#01H
-0039E7 F9                MOV     R1,A
-0039E8 E4                CLR     A
-0039E9 3A                ADDC    A,R2
-0039EA FA                MOV     R2,A
-0039EB C002              PUSH    AR2
-0039ED C001              PUSH    AR1
-0039EF 904EF4            MOV     DPTR,#pbuff
-0039F2 E0                MOVX    A,@DPTR
-0039F3 A3                INC     DPTR
-0039F4 E0                MOVX    A,@DPTR
-0039F5 FA                MOV     R2,A
-0039F6 A3                INC     DPTR
-0039F7 E0                MOVX    A,@DPTR
-0039F8 F9                MOV     R1,A
-0039F9 1203B6            LCALL   ?C?CLDPTR
-0039FC FD                MOV     R5,A
-0039FD 7C00              MOV     R4,#00H
-0039FF 904E74            MOV     DPTR,#ipcCb+0CH
-003A02 E0                MOVX    A,@DPTR
-003A03 A3                INC     DPTR
-003A04 E0                MOVX    A,@DPTR
-003A05 FA                MOV     R2,A
-003A06 A3                INC     DPTR
-003A07 E0                MOVX    A,@DPTR
-003A08 F582              MOV     DPL,A
-003A0A 8A83              MOV     DPH,R2
-003A0C D001              POP     AR1
-003A0E D002              POP     AR2
-003A10 1205DD            LCALL   ?C?ICALL2
-003A13 806D              SJMP    ?C0039?IPC
-003A15         ?C0033?IPC:
-003A15 904EF4            MOV     DPTR,#pbuff
-003A18 E0                MOVX    A,@DPTR
-003A19 FB                MOV     R3,A
-003A1A A3                INC     DPTR
-003A1B E0                MOVX    A,@DPTR
-003A1C FA                MOV     R2,A
-003A1D A3                INC     DPTR
-003A1E E0                MOVX    A,@DPTR
-003A1F F9                MOV     R1,A
-003A20 1203B6            LCALL   ?C?CLDPTR
-003A23 6403              XRL     A,#03H
-003A25 7059              JNZ     ?C0037?IPC
-003A27 904EF5            MOV     DPTR,#pbuff+01H
-003A2A 75F001            MOV     B,#01H
-003A2D 12040E            LCALL   ?C?IILDX
-003A30 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
-003A32 7F4E              MOV     R7,#LOW ipcReadBuff+03H
-003A34 904EF4            MOV     DPTR,#pbuff
-003A37 E0                MOVX    A,@DPTR
-003A38 FB                MOV     R3,A
-003A39 A3                INC     DPTR
-003A3A E0                MOVX    A,@DPTR
-003A3B FA                MOV     R2,A
-003A3C A3                INC     DPTR
-003A3D E0                MOVX    A,@DPTR
-003A3E F9                MOV     R1,A
-003A3F 1203B6            LCALL   ?C?CLDPTR
-003A42 14                DEC     A
-003A43 FD                MOV     R5,A
-003A44 1183              ACALL   _ipcRx
-003A46 904EF4            MOV     DPTR,#pbuff
-003A49 E0                MOVX    A,@DPTR
-003A4A FB                MOV     R3,A
-003A4B A3                INC     DPTR
-003A4C E0                MOVX    A,@DPTR
-003A4D FA                MOV     R2,A
-003A4E A3                INC     DPTR
-003A4F E0                MOVX    A,@DPTR
-003A50 2401              ADD     A,#01H
-003A52 F9                MOV     R1,A
-003A53 E4                CLR     A
-003A54 3A                ADDC    A,R2
-003A55 FA                MOV     R2,A
-003A56 C002              PUSH    AR2
-003A58 C001              PUSH    AR1
-003A5A 904EF4            MOV     DPTR,#pbuff
-003A5D E0                MOVX    A,@DPTR
-003A5E A3                INC     DPTR
-003A5F E0                MOVX    A,@DPTR
-003A60 FA                MOV     R2,A
-003A61 A3                INC     DPTR
-003A62 E0                MOVX    A,@DPTR
-003A63 F9                MOV     R1,A
-003A64 1203B6            LCALL   ?C?CLDPTR
-003A67 FD                MOV     R5,A
-003A68 7C00              MOV     R4,#00H
-003A6A 904E77            MOV     DPTR,#ipcCb+0FH
-003A6D E0                MOVX    A,@DPTR
-003A6E A3                INC     DPTR
-003A6F E0                MOVX    A,@DPTR
-003A70 FA                MOV     R2,A
-003A71 A3                INC     DPTR
-003A72 E0                MOVX    A,@DPTR
-003A73 F582              MOV     DPL,A
-003A75 8A83              MOV     DPH,R2
-003A77 D001              POP     AR1
-003A79 D002              POP     AR2
-003A7B 1205DD            LCALL   ?C?ICALL2
-003A7E 8002              SJMP    ?C0039?IPC
-003A80         ?C0037?IPC:
-003A80 80FE              SJMP    ?C0037?IPC
-003A82         IPC_TIMER:
-003A82         ?C0039?IPC:
-003A82 904BA5            MOV     DPTR,#bttimer
-003A85 E0                MOVX    A,@DPTR
-003A86 FE                MOV     R6,A
-003A87 A3                INC     DPTR
-003A88 E0                MOVX    A,@DPTR
-003A89 FF                MOV     R7,A
-003A8A 904C5E            MOV     DPTR,#c51timer
+00399D F9                MOV     R1,A
+00399E 1203B6            LCALL   ?C?CLDPTR
+0039A1 FF                MOV     R7,A
+0039A2 904E68            MOV     DPTR,#ipcCb
+0039A5 E0                MOVX    A,@DPTR
+0039A6 A3                INC     DPTR
+0039A7 E0                MOVX    A,@DPTR
+0039A8 FA                MOV     R2,A
+0039A9 A3                INC     DPTR
+0039AA E0                MOVX    A,@DPTR
+0039AB F582              MOV     DPL,A
+0039AD 8A83              MOV     DPH,R2
+0039AF 1205DD            LCALL   ?C?ICALL2
+0039B2 41F7              AJMP    ?C0039?IPC
+0039B4         ?C0029?IPC:
+0039B4 904EF4            MOV     DPTR,#pbuff
+0039B7 E0                MOVX    A,@DPTR
+0039B8 FB                MOV     R3,A
+0039B9 A3                INC     DPTR
+0039BA E0                MOVX    A,@DPTR
+0039BB FA                MOV     R2,A
+0039BC A3                INC     DPTR
+0039BD E0                MOVX    A,@DPTR
+0039BE F9                MOV     R1,A
+0039BF 1203B6            LCALL   ?C?CLDPTR
+0039C2 6404              XRL     A,#04H
+0039C4 7059              JNZ     ?C0031?IPC
+0039C6 904EF5            MOV     DPTR,#pbuff+01H
+0039C9 75F001            MOV     B,#01H
+0039CC 12040E            LCALL   ?C?IILDX
+0039CF 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+0039D1 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+0039D3 904EF4            MOV     DPTR,#pbuff
+0039D6 E0                MOVX    A,@DPTR
+0039D7 FB                MOV     R3,A
+0039D8 A3                INC     DPTR
+0039D9 E0                MOVX    A,@DPTR
+0039DA FA                MOV     R2,A
+0039DB A3                INC     DPTR
+0039DC E0                MOVX    A,@DPTR
+0039DD F9                MOV     R1,A
+0039DE 1203B6            LCALL   ?C?CLDPTR
+0039E1 14                DEC     A
+0039E2 FD                MOV     R5,A
+0039E3 11F8              ACALL   _ipcRx
+0039E5 904EF4            MOV     DPTR,#pbuff
+0039E8 E0                MOVX    A,@DPTR
+0039E9 FB                MOV     R3,A
+0039EA A3                INC     DPTR
+0039EB E0                MOVX    A,@DPTR
+0039EC FA                MOV     R2,A
+0039ED A3                INC     DPTR
+0039EE E0                MOVX    A,@DPTR
+0039EF 2401              ADD     A,#01H
+0039F1 F9                MOV     R1,A
+0039F2 E4                CLR     A
+0039F3 3A                ADDC    A,R2
+0039F4 FA                MOV     R2,A
+0039F5 C002              PUSH    AR2
+0039F7 C001              PUSH    AR1
+0039F9 904EF4            MOV     DPTR,#pbuff
+0039FC E0                MOVX    A,@DPTR
+0039FD A3                INC     DPTR
+0039FE E0                MOVX    A,@DPTR
+0039FF FA                MOV     R2,A
+003A00 A3                INC     DPTR
+003A01 E0                MOVX    A,@DPTR
+003A02 F9                MOV     R1,A
+003A03 1203B6            LCALL   ?C?CLDPTR
+003A06 FD                MOV     R5,A
+003A07 7C00              MOV     R4,#00H
+003A09 904E6B            MOV     DPTR,#ipcCb+03H
+003A0C E0                MOVX    A,@DPTR
+003A0D A3                INC     DPTR
+003A0E E0                MOVX    A,@DPTR
+003A0F FA                MOV     R2,A
+003A10 A3                INC     DPTR
+003A11 E0                MOVX    A,@DPTR
+003A12 F582              MOV     DPL,A
+003A14 8A83              MOV     DPH,R2
+003A16 D001              POP     AR1
+003A18 D002              POP     AR2
+003A1A 1205DD            LCALL   ?C?ICALL2
+003A1D 41F7              AJMP    ?C0039?IPC
+003A1F         ?C0031?IPC:
+003A1F 904EF4            MOV     DPTR,#pbuff
+003A22 E0                MOVX    A,@DPTR
+003A23 FB                MOV     R3,A
+003A24 A3                INC     DPTR
+003A25 E0                MOVX    A,@DPTR
+003A26 FA                MOV     R2,A
+003A27 A3                INC     DPTR
+003A28 E0                MOVX    A,@DPTR
+003A29 F9                MOV     R1,A
+003A2A 1203B6            LCALL   ?C?CLDPTR
+003A2D 6405              XRL     A,#05H
+003A2F 7059              JNZ     ?C0033?IPC
+003A31 904EF5            MOV     DPTR,#pbuff+01H
+003A34 75F001            MOV     B,#01H
+003A37 12040E            LCALL   ?C?IILDX
+003A3A 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+003A3C 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+003A3E 904EF4            MOV     DPTR,#pbuff
+003A41 E0                MOVX    A,@DPTR
+003A42 FB                MOV     R3,A
+003A43 A3                INC     DPTR
+003A44 E0                MOVX    A,@DPTR
+003A45 FA                MOV     R2,A
+003A46 A3                INC     DPTR
+003A47 E0                MOVX    A,@DPTR
+003A48 F9                MOV     R1,A
+003A49 1203B6            LCALL   ?C?CLDPTR
+003A4C 14                DEC     A
+003A4D FD                MOV     R5,A
+003A4E 11F8              ACALL   _ipcRx
+003A50 904EF4            MOV     DPTR,#pbuff
+003A53 E0                MOVX    A,@DPTR
+003A54 FB                MOV     R3,A
+003A55 A3                INC     DPTR
+003A56 E0                MOVX    A,@DPTR
+003A57 FA                MOV     R2,A
+003A58 A3                INC     DPTR
+003A59 E0                MOVX    A,@DPTR
+003A5A 2401              ADD     A,#01H
+003A5C F9                MOV     R1,A
+003A5D E4                CLR     A
+003A5E 3A                ADDC    A,R2
+003A5F FA                MOV     R2,A
+003A60 C002              PUSH    AR2
+003A62 C001              PUSH    AR1
+003A64 904EF4            MOV     DPTR,#pbuff
+003A67 E0                MOVX    A,@DPTR
+003A68 A3                INC     DPTR
+003A69 E0                MOVX    A,@DPTR
+003A6A FA                MOV     R2,A
+003A6B A3                INC     DPTR
+003A6C E0                MOVX    A,@DPTR
+003A6D F9                MOV     R1,A
+003A6E 1203B6            LCALL   ?C?CLDPTR
+003A71 FD                MOV     R5,A
+003A72 7C00              MOV     R4,#00H
+003A74 904E74            MOV     DPTR,#ipcCb+0CH
+003A77 E0                MOVX    A,@DPTR
+003A78 A3                INC     DPTR
+003A79 E0                MOVX    A,@DPTR
+003A7A FA                MOV     R2,A
+003A7B A3                INC     DPTR
+003A7C E0                MOVX    A,@DPTR
+003A7D F582              MOV     DPL,A
+003A7F 8A83              MOV     DPH,R2
+003A81 D001              POP     AR1
+003A83 D002              POP     AR2
+003A85 1205DD            LCALL   ?C?ICALL2
+003A88 806D              SJMP    ?C0039?IPC
+003A8A         ?C0033?IPC:
+003A8A 904EF4            MOV     DPTR,#pbuff
 003A8D E0                MOVX    A,@DPTR
-003A8E 6E                XRL     A,R6
-003A8F 7003              JNZ     ?C0049?IPC
-003A91 A3                INC     DPTR
-003A92 E0                MOVX    A,@DPTR
-003A93 6F                XRL     A,R7
-003A94         ?C0049?IPC:
-003A94 6022              JZ      ?C0043?IPC
-003A96 904E6E            MOV     DPTR,#ipcCb+06H
-003A99 E0                MOVX    A,@DPTR
-003A9A FB                MOV     R3,A
-003A9B A3                INC     DPTR
-003A9C E0                MOVX    A,@DPTR
-003A9D FA                MOV     R2,A
-003A9E A3                INC     DPTR
-003A9F E0                MOVX    A,@DPTR
-003AA0 F9                MOV     R1,A
-003AA1 4A                ORL     A,R2
-003AA2 6037              JZ      ?C0042?IPC
-003AA4         ?C0041?IPC:
-003AA4 1205D9            LCALL   ?C?ICALL
-003AA7 904BA5            MOV     DPTR,#bttimer
-003AAA E0                MOVX    A,@DPTR
-003AAB FF                MOV     R7,A
-003AAC A3                INC     DPTR
-003AAD E0                MOVX    A,@DPTR
-003AAE 904C5E            MOV     DPTR,#c51timer
-003AB1 CF                XCH     A,R7
-003AB2 F0                MOVX    @DPTR,A
-003AB3 A3                INC     DPTR
-003AB4 EF                MOV     A,R7
-003AB5 F0                MOVX    @DPTR,A
-003AB6 80CA              SJMP    ?C0039?IPC
-003AB8         ?C0043?IPC:
-003AB8 904C8D            MOV     DPTR,#btstimer
-003ABB E0                MOVX    A,@DPTR
-003ABC FF                MOV     R7,A
-003ABD A3                INC     DPTR
+003A8E FB                MOV     R3,A
+003A8F A3                INC     DPTR
+003A90 E0                MOVX    A,@DPTR
+003A91 FA                MOV     R2,A
+003A92 A3                INC     DPTR
+003A93 E0                MOVX    A,@DPTR
+003A94 F9                MOV     R1,A
+003A95 1203B6            LCALL   ?C?CLDPTR
+003A98 6403              XRL     A,#03H
+003A9A 7059              JNZ     ?C0037?IPC
+003A9C 904EF5            MOV     DPTR,#pbuff+01H
+003A9F 75F001            MOV     B,#01H
+003AA2 12040E            LCALL   ?C?IILDX
+003AA5 7E0C              MOV     R6,#HIGH ipcReadBuff+03H
+003AA7 7F4E              MOV     R7,#LOW ipcReadBuff+03H
+003AA9 904EF4            MOV     DPTR,#pbuff
+003AAC E0                MOVX    A,@DPTR
+003AAD FB                MOV     R3,A
+003AAE A3                INC     DPTR
+003AAF E0                MOVX    A,@DPTR
+003AB0 FA                MOV     R2,A
+003AB1 A3                INC     DPTR
+003AB2 E0                MOVX    A,@DPTR
+003AB3 F9                MOV     R1,A
+003AB4 1203B6            LCALL   ?C?CLDPTR
+003AB7 14                DEC     A
+003AB8 FD                MOV     R5,A
+003AB9 11F8              ACALL   _ipcRx
+003ABB 904EF4            MOV     DPTR,#pbuff
 003ABE E0                MOVX    A,@DPTR
-003ABF 6F                XRL     A,R7
-003AC0 6019              JZ      ?C0042?IPC
-003AC2 904E71            MOV     DPTR,#ipcCb+09H
-003AC5 E0                MOVX    A,@DPTR
-003AC6 FB                MOV     R3,A
-003AC7 A3                INC     DPTR
-003AC8 E0                MOVX    A,@DPTR
-003AC9 FA                MOV     R2,A
-003ACA A3                INC     DPTR
-003ACB E0                MOVX    A,@DPTR
-003ACC F9                MOV     R1,A
-003ACD 4A                ORL     A,R2
-003ACE 600B              JZ      ?C0042?IPC
-003AD0         ?C0045?IPC:
-003AD0 1205D9            LCALL   ?C?ICALL
-003AD3 904C8D            MOV     DPTR,#btstimer
-003AD6 E0                MOVX    A,@DPTR
-003AD7 A3                INC     DPTR
-003AD8 F0                MOVX    @DPTR,A
-003AD9 80DD              SJMP    ?C0043?IPC
-003ADB         ?C0042?IPC:
-003ADB 22                RET     
+003ABF FB                MOV     R3,A
+003AC0 A3                INC     DPTR
+003AC1 E0                MOVX    A,@DPTR
+003AC2 FA                MOV     R2,A
+003AC3 A3                INC     DPTR
+003AC4 E0                MOVX    A,@DPTR
+003AC5 2401              ADD     A,#01H
+003AC7 F9                MOV     R1,A
+003AC8 E4                CLR     A
+003AC9 3A                ADDC    A,R2
+003ACA FA                MOV     R2,A
+003ACB C002              PUSH    AR2
+003ACD C001              PUSH    AR1
+003ACF 904EF4            MOV     DPTR,#pbuff
+003AD2 E0                MOVX    A,@DPTR
+003AD3 A3                INC     DPTR
+003AD4 E0                MOVX    A,@DPTR
+003AD5 FA                MOV     R2,A
+003AD6 A3                INC     DPTR
+003AD7 E0                MOVX    A,@DPTR
+003AD8 F9                MOV     R1,A
+003AD9 1203B6            LCALL   ?C?CLDPTR
+003ADC FD                MOV     R5,A
+003ADD 7C00              MOV     R4,#00H
+003ADF 904E77            MOV     DPTR,#ipcCb+0FH
+003AE2 E0                MOVX    A,@DPTR
+003AE3 A3                INC     DPTR
+003AE4 E0                MOVX    A,@DPTR
+003AE5 FA                MOV     R2,A
+003AE6 A3                INC     DPTR
+003AE7 E0                MOVX    A,@DPTR
+003AE8 F582              MOV     DPL,A
+003AEA 8A83              MOV     DPH,R2
+003AEC D001              POP     AR1
+003AEE D002              POP     AR2
+003AF0 1205DD            LCALL   ?C?ICALL2
+003AF3 8002              SJMP    ?C0039?IPC
+003AF5         ?C0037?IPC:
+003AF5 80FE              SJMP    ?C0037?IPC
+003AF7         IPC_TIMER:
+003AF7         ?C0039?IPC:
+003AF7 904BA5            MOV     DPTR,#bttimer
+003AFA E0                MOVX    A,@DPTR
+003AFB FE                MOV     R6,A
+003AFC A3                INC     DPTR
+003AFD E0                MOVX    A,@DPTR
+003AFE FF                MOV     R7,A
+003AFF 904C5E            MOV     DPTR,#c51timer
+003B02 E0                MOVX    A,@DPTR
+003B03 6E                XRL     A,R6
+003B04 7003              JNZ     ?C0049?IPC
+003B06 A3                INC     DPTR
+003B07 E0                MOVX    A,@DPTR
+003B08 6F                XRL     A,R7
+003B09         ?C0049?IPC:
+003B09 6022              JZ      ?C0043?IPC
+003B0B 904E6E            MOV     DPTR,#ipcCb+06H
+003B0E E0                MOVX    A,@DPTR
+003B0F FB                MOV     R3,A
+003B10 A3                INC     DPTR
+003B11 E0                MOVX    A,@DPTR
+003B12 FA                MOV     R2,A
+003B13 A3                INC     DPTR
+003B14 E0                MOVX    A,@DPTR
+003B15 F9                MOV     R1,A
+003B16 4A                ORL     A,R2
+003B17 6037              JZ      ?C0042?IPC
+003B19         ?C0041?IPC:
+003B19 1205D9            LCALL   ?C?ICALL
+003B1C 904BA5            MOV     DPTR,#bttimer
+003B1F E0                MOVX    A,@DPTR
+003B20 FF                MOV     R7,A
+003B21 A3                INC     DPTR
+003B22 E0                MOVX    A,@DPTR
+003B23 904C5E            MOV     DPTR,#c51timer
+003B26 CF                XCH     A,R7
+003B27 F0                MOVX    @DPTR,A
+003B28 A3                INC     DPTR
+003B29 EF                MOV     A,R7
+003B2A F0                MOVX    @DPTR,A
+003B2B 80CA              SJMP    ?C0039?IPC
+003B2D         ?C0043?IPC:
+003B2D 904C8D            MOV     DPTR,#btstimer
+003B30 E0                MOVX    A,@DPTR
+003B31 FF                MOV     R7,A
+003B32 A3                INC     DPTR
+003B33 E0                MOVX    A,@DPTR
+003B34 6F                XRL     A,R7
+003B35 6019              JZ      ?C0042?IPC
+003B37 904E71            MOV     DPTR,#ipcCb+09H
+003B3A E0                MOVX    A,@DPTR
+003B3B FB                MOV     R3,A
+003B3C A3                INC     DPTR
+003B3D E0                MOVX    A,@DPTR
+003B3E FA                MOV     R2,A
+003B3F A3                INC     DPTR
+003B40 E0                MOVX    A,@DPTR
+003B41 F9                MOV     R1,A
+003B42 4A                ORL     A,R2
+003B43 600B              JZ      ?C0042?IPC
+003B45         ?C0045?IPC:
+003B45 1205D9            LCALL   ?C?ICALL
+003B48 904C8D            MOV     DPTR,#btstimer
+003B4B E0                MOVX    A,@DPTR
+003B4C A3                INC     DPTR
+003B4D F0                MOVX    @DPTR,A
+003B4E 80DD              SJMP    ?C0043?IPC
+003B50         ?C0042?IPC:
+003B50 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
 ----- FUNCTION _IPC_TxData (BEGIN) -----
-003ADC 904F10            MOV     DPTR,#len
-003ADF ED                MOV     A,R5
-003AE0 F0                MOVX    @DPTR,A
+003B51 904F10            MOV     DPTR,#len
+003B54 ED                MOV     A,R5
+003B55 F0                MOVX    @DPTR,A
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003AE1 E0                MOVX    A,@DPTR
-003AE2 FD                MOV     R5,A
-003AE3 900BE8            MOV     DPTR,#ipcSendBuff+01H
-003AE6 F0                MOVX    @DPTR,A
-003AE7 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
-003AE9 7FE9              MOV     R7,#LOW ipcSendBuff+02H
-003AEB 904EC4            MOV     DPTR,#?_xmemcpy?BYTE+05H
-003AEE ED                MOV     A,R5
-003AEF F0                MOVX    @DPTR,A
-003AF0 1210D2            LCALL   _xmemcpy
-003AF3 7B01              MOV     R3,#01H
-003AF5 7A0B              MOV     R2,#HIGH ipcSendBuff
-003AF7 79E7              MOV     R1,#LOW ipcSendBuff
-003AF9 904F10            MOV     DPTR,#len
-003AFC E0                MOVX    A,@DPTR
-003AFD 2402              ADD     A,#02H
-003AFF FD                MOV     R5,A
-003B00 020887            LJMP    _ipcTx
+003B56 E0                MOVX    A,@DPTR
+003B57 FD                MOV     R5,A
+003B58 900BE8            MOV     DPTR,#ipcSendBuff+01H
+003B5B F0                MOVX    @DPTR,A
+003B5C 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
+003B5E 7FE9              MOV     R7,#LOW ipcSendBuff+02H
+003B60 904EC4            MOV     DPTR,#?_xmemcpy?BYTE+05H
+003B63 ED                MOV     A,R5
+003B64 F0                MOVX    @DPTR,A
+003B65 1210D2            LCALL   _xmemcpy
+003B68 7B01              MOV     R3,#01H
+003B6A 7A0B              MOV     R2,#HIGH ipcSendBuff
+003B6C 79E7              MOV     R1,#LOW ipcSendBuff
+003B6E 904F10            MOV     DPTR,#len
+003B71 E0                MOVX    A,@DPTR
+003B72 2402              ADD     A,#02H
+003B74 FD                MOV     R5,A
+003B75 020887            LJMP    _ipcTx
 ----- FUNCTION _IPC_TxData (END) -------
 
 
 ----- FUNCTION _IPC_Tx24GData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003B03 900BE7            MOV     DPTR,#ipcSendBuff
-003B06 7406              MOV     A,#06H
-003B08 F0                MOVX    @DPTR,A
-003B09 80D1              SJMP    _IPC_TxData
+003B78 900BE7            MOV     DPTR,#ipcSendBuff
+003B7B 7406              MOV     A,#06H
+003B7D F0                MOVX    @DPTR,A
+003B7E 80D1              SJMP    _IPC_TxData
 ----- FUNCTION _IPC_Tx24GData (END) -------
 
 
 ----- FUNCTION _IPC_TxSppData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003B0B 900BE7            MOV     DPTR,#ipcSendBuff
-003B0E 7404              MOV     A,#04H
-003B10 F0                MOVX    @DPTR,A
-003B11 80C9              SJMP    _IPC_TxData
+003B80 900BE7            MOV     DPTR,#ipcSendBuff
+003B83 7404              MOV     A,#04H
+003B85 F0                MOVX    @DPTR,A
+003B86 80C9              SJMP    _IPC_TxData
 ----- FUNCTION _IPC_TxSppData (END) -------
 
 
 ----- FUNCTION _IPC_TxBleData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003B13 900BE7            MOV     DPTR,#ipcSendBuff
-003B16 7405              MOV     A,#05H
-003B18 F0                MOVX    @DPTR,A
-003B19 80C1              SJMP    _IPC_TxData
+003B88 900BE7            MOV     DPTR,#ipcSendBuff
+003B8B 7405              MOV     A,#05H
+003B8D F0                MOVX    @DPTR,A
+003B8E 80C1              SJMP    _IPC_TxData
 ----- FUNCTION _IPC_TxBleData (END) -------
 
 
 ----- FUNCTION _IPC_TxBREDRHidData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003B1B 900BE7            MOV     DPTR,#ipcSendBuff
-003B1E 7403              MOV     A,#03H
-003B20 F0                MOVX    @DPTR,A
-003B21 ED                MOV     A,R5
-003B22 6002              JZ      ?C0017?IPC
-003B24         ?C0016?IPC:
-003B24 51DC              ACALL   _IPC_TxData
-003B26         ?C0017?IPC:
-003B26 22                RET     
+003B90 900BE7            MOV     DPTR,#ipcSendBuff
+003B93 7403              MOV     A,#03H
+003B95 F0                MOVX    @DPTR,A
+003B96 ED                MOV     A,R5
+003B97 6002              JZ      ?C0017?IPC
+003B99         ?C0016?IPC:
+003B99 7151              ACALL   _IPC_TxData
+003B9B         ?C0017?IPC:
+003B9B 22                RET     
 ----- FUNCTION _IPC_TxBREDRHidData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-003B27 900446            MOV     DPTR,#bbDisReason
-003B2A E0                MOVX    A,@DPTR
-003B2B FF                MOV     R7,A
-003B2C 22                RET     
+003B9C 900446            MOV     DPTR,#bbDisReason
+003B9F E0                MOVX    A,@DPTR
+003BA0 FF                MOV     R7,A
+003BA1 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-003B2D 900B7F            MOV     DPTR,#lpm_flag
-003B30 7401              MOV     A,#01H
-003B32 F0                MOVX    @DPTR,A
-003B33 E4                CLR     A
-003B34 900B7E            MOV     DPTR,#current_task
-003B37 F0                MOVX    @DPTR,A
-003B38 22                RET     
+003BA2 900B7F            MOV     DPTR,#lpm_flag
+003BA5 7401              MOV     A,#01H
+003BA7 F0                MOVX    @DPTR,A
+003BA8 E4                CLR     A
+003BA9 900B7E            MOV     DPTR,#current_task
+003BAC F0                MOVX    @DPTR,A
+003BAD 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
 ----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-003B39 904B9C            MOV     DPTR,#ipcTxWritePtr
-003B3C E0                MOVX    A,@DPTR
-003B3D FE                MOV     R6,A
-003B3E A3                INC     DPTR
-003B3F E0                MOVX    A,@DPTR
-003B40 FF                MOV     R7,A
-003B41 904B9A            MOV     DPTR,#ipcTxReadPtr
-003B44 E0                MOVX    A,@DPTR
-003B45 B50607            CJNE    A,AR6,?C0025?IPC
-003B48 A3                INC     DPTR
-003B49 E0                MOVX    A,@DPTR
-003B4A B50702            CJNE    A,AR7,?C0025?IPC
-003B4D D3                SETB    C
-003B4E 22                RET     
-003B4F         ?C0025?IPC:
-003B4F C3                CLR     C
-003B50 22                RET     
+003BAE 904B9C            MOV     DPTR,#ipcTxWritePtr
+003BB1 E0                MOVX    A,@DPTR
+003BB2 FE                MOV     R6,A
+003BB3 A3                INC     DPTR
+003BB4 E0                MOVX    A,@DPTR
+003BB5 FF                MOV     R7,A
+003BB6 904B9A            MOV     DPTR,#ipcTxReadPtr
+003BB9 E0                MOVX    A,@DPTR
+003BBA B50607            CJNE    A,AR6,?C0025?IPC
+003BBD A3                INC     DPTR
+003BBE E0                MOVX    A,@DPTR
+003BBF B50702            CJNE    A,AR7,?C0025?IPC
+003BC2 D3                SETB    C
+003BC3 22                RET     
+003BC4         ?C0025?IPC:
+003BC4 C3                CLR     C
+003BC5 22                RET     
 ----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-003B51 908280            MOV     DPTR,#08280H
-003B54 7401              MOV     A,#01H
-003B56 F0                MOVX    @DPTR,A
-003B57 22                RET     
+003BC6 908280            MOV     DPTR,#08280H
+003BC9 7401              MOV     A,#01H
+003BCB F0                MOVX    @DPTR,A
+003BCC 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-003B58 904E9C            MOV     DPTR,#dest
-003B5B EB                MOV     A,R3
-003B5C F0                MOVX    @DPTR,A
-003B5D A3                INC     DPTR
-003B5E EA                MOV     A,R2
-003B5F F0                MOVX    @DPTR,A
-003B60 A3                INC     DPTR
-003B61 E9                MOV     A,R1
-003B62 F0                MOVX    @DPTR,A
-003B63         ?C0005?UTILITIES:
-003B63 904EA2            MOV     DPTR,#len
-003B66 74FF              MOV     A,#0FFH
-003B68 F5F0              MOV     B,A
-003B6A 120424            LCALL   ?C?ILDIX
-003B6D 45F0              ORL     A,B
-003B6F 602A              JZ      ?C0007?UTILITIES
-003B71 904E9F            MOV     DPTR,#src
-003B74 E0                MOVX    A,@DPTR
-003B75 FB                MOV     R3,A
-003B76 A3                INC     DPTR
-003B77 E4                CLR     A
-003B78 75F001            MOV     B,#01H
-003B7B 120424            LCALL   ?C?ILDIX
-003B7E A9F0              MOV     R1,B
-003B80 FA                MOV     R2,A
-003B81 1203B6            LCALL   ?C?CLDPTR
-003B84 FF                MOV     R7,A
-003B85 904E9C            MOV     DPTR,#dest
-003B88 E0                MOVX    A,@DPTR
-003B89 FB                MOV     R3,A
-003B8A A3                INC     DPTR
-003B8B E4                CLR     A
-003B8C 75F001            MOV     B,#01H
-003B8F 120424            LCALL   ?C?ILDIX
-003B92 A9F0              MOV     R1,B
-003B94 FA                MOV     R2,A
-003B95 EF                MOV     A,R7
-003B96 1203FC            LCALL   ?C?CSTPTR
-003B99 80C8              SJMP    ?C0005?UTILITIES
-003B9B         ?C0007?UTILITIES:
-003B9B 22                RET     
+003BCD 904E9C            MOV     DPTR,#dest
+003BD0 EB                MOV     A,R3
+003BD1 F0                MOVX    @DPTR,A
+003BD2 A3                INC     DPTR
+003BD3 EA                MOV     A,R2
+003BD4 F0                MOVX    @DPTR,A
+003BD5 A3                INC     DPTR
+003BD6 E9                MOV     A,R1
+003BD7 F0                MOVX    @DPTR,A
+003BD8         ?C0005?UTILITIES:
+003BD8 904EA2            MOV     DPTR,#len
+003BDB 74FF              MOV     A,#0FFH
+003BDD F5F0              MOV     B,A
+003BDF 120424            LCALL   ?C?ILDIX
+003BE2 45F0              ORL     A,B
+003BE4 602A              JZ      ?C0007?UTILITIES
+003BE6 904E9F            MOV     DPTR,#src
+003BE9 E0                MOVX    A,@DPTR
+003BEA FB                MOV     R3,A
+003BEB A3                INC     DPTR
+003BEC E4                CLR     A
+003BED 75F001            MOV     B,#01H
+003BF0 120424            LCALL   ?C?ILDIX
+003BF3 A9F0              MOV     R1,B
+003BF5 FA                MOV     R2,A
+003BF6 1203B6            LCALL   ?C?CLDPTR
+003BF9 FF                MOV     R7,A
+003BFA 904E9C            MOV     DPTR,#dest
+003BFD E0                MOVX    A,@DPTR
+003BFE FB                MOV     R3,A
+003BFF A3                INC     DPTR
+003C00 E4                CLR     A
+003C01 75F001            MOV     B,#01H
+003C04 120424            LCALL   ?C?ILDIX
+003C07 A9F0              MOV     R1,B
+003C09 FA                MOV     R2,A
+003C0A EF                MOV     A,R7
+003C0B 1203FC            LCALL   ?C?CSTPTR
+003C0E 80C8              SJMP    ?C0005?UTILITIES
+003C10         ?C0007?UTILITIES:
+003C10 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-003B9C EF                MOV     A,R7
-003B9D F4                CPL     A
-003B9E 603A              JZ      ?C0023?GPIO
-003BA0         ?C0022?GPIO:
-003BA0 EF                MOV     A,R7
-003BA1 5407              ANL     A,#07H
-003BA3 FE                MOV     R6,A
+003C11 EF                MOV     A,R7
+003C12 F4                CPL     A
+003C13 603A              JZ      ?C0023?GPIO
+003C15         ?C0022?GPIO:
+003C15 EF                MOV     A,R7
+003C16 5407              ANL     A,#07H
+003C18 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-003BA4 EF                MOV     A,R7
-003BA5 13                RRC     A
-003BA6 13                RRC     A
-003BA7 13                RRC     A
-003BA8 5403              ANL     A,#03H
-003BAA FF                MOV     R7,A
+003C19 EF                MOV     A,R7
+003C1A 13                RRC     A
+003C1B 13                RRC     A
+003C1C 13                RRC     A
+003C1D 5403              ANL     A,#03H
+003C1F FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-003BAB 24A3              ADD     A,#LOW YC_GPIOWakeupL
-003BAD F582              MOV     DPL,A
-003BAF E4                CLR     A
-003BB0 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-003BB2 F583              MOV     DPH,A
-003BB4 C083              PUSH    DPH
-003BB6 C082              PUSH    DPL
-003BB8 E0                MOVX    A,@DPTR
-003BB9 FD                MOV     R5,A
-003BBA 7401              MOV     A,#01H
-003BBC A806              MOV     R0,AR6
-003BBE 08                INC     R0
-003BBF 8002              SJMP    ?C0043?GPIO
-003BC1         ?C0042?GPIO:
-003BC1 C3                CLR     C
-003BC2 33                RLC     A
-003BC3         ?C0043?GPIO:
-003BC3 D8FC              DJNZ    R0,?C0042?GPIO
-003BC5 F4                CPL     A
-003BC6 FC                MOV     R4,A
-003BC7 5D                ANL     A,R5
-003BC8 D082              POP     DPL
-003BCA D083              POP     DPH
-003BCC F0                MOVX    @DPTR,A
-003BCD 74A7              MOV     A,#LOW YC_GPIOWakeupH
-003BCF 2F                ADD     A,R7
-003BD0 F582              MOV     DPL,A
-003BD2 E4                CLR     A
-003BD3 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-003BD5 F583              MOV     DPH,A
-003BD7 E0                MOVX    A,@DPTR
-003BD8 5C                ANL     A,R4
-003BD9 F0                MOVX    @DPTR,A
-003BDA         ?C0023?GPIO:
-003BDA 22                RET     
+003C20 24A3              ADD     A,#LOW YC_GPIOWakeupL
+003C22 F582              MOV     DPL,A
+003C24 E4                CLR     A
+003C25 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+003C27 F583              MOV     DPH,A
+003C29 C083              PUSH    DPH
+003C2B C082              PUSH    DPL
+003C2D E0                MOVX    A,@DPTR
+003C2E FD                MOV     R5,A
+003C2F 7401              MOV     A,#01H
+003C31 A806              MOV     R0,AR6
+003C33 08                INC     R0
+003C34 8002              SJMP    ?C0043?GPIO
+003C36         ?C0042?GPIO:
+003C36 C3                CLR     C
+003C37 33                RLC     A
+003C38         ?C0043?GPIO:
+003C38 D8FC              DJNZ    R0,?C0042?GPIO
+003C3A F4                CPL     A
+003C3B FC                MOV     R4,A
+003C3C 5D                ANL     A,R5
+003C3D D082              POP     DPL
+003C3F D083              POP     DPH
+003C41 F0                MOVX    @DPTR,A
+003C42 74A7              MOV     A,#LOW YC_GPIOWakeupH
+003C44 2F                ADD     A,R7
+003C45 F582              MOV     DPL,A
+003C47 E4                CLR     A
+003C48 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+003C4A F583              MOV     DPH,A
+003C4C E0                MOVX    A,@DPTR
+003C4D 5C                ANL     A,R4
+003C4E F0                MOVX    @DPTR,A
+003C4F         ?C0023?GPIO:
+003C4F 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/output/FW.HTM	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/output/FW.HTM	(working copy)
@@ -25,7 +25,7 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>11/18/2022  16:19:27</b><p>
+Creation time: <b>11/21/2022  20:09:47</b><p>
 
 <hr>
 
@@ -64,7 +64,7 @@
 <li><a href="#S193">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S109"></a>?PR?_KB_CB_HID?SYS (C:003634H - C:003643H)</h2>
+<h2><a name="S109"></a>?PR?_KB_CB_HID?SYS (C:0036A8H - C:0036B7H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S218">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -108,10 +108,11 @@
 <li><a href="#S115">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S119"></a>?PR?KB_CB_TIMER100MS?SYS (C:00338AH - C:003494H)</h2>
+<h2><a name="S119"></a>?PR?KB_CB_TIMER100MS?SYS (C:00335FH - C:0034B1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S58">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
+<li><a href="#S203">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 <li><a href="#S135">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S58">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S98">?PR?LED_DEVICE_POWEROFF?LED</a></li>
@@ -147,7 +148,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S141"></a>?PR?_IPC_TXSPPDATA?IPC (C:003B0BH - C:003B12H)</h2>
+<h2><a name="S141"></a>?PR?_IPC_TXSPPDATA?IPC (C:003B80H - C:003B87H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S137">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -448,7 +449,7 @@
 <li><a href="#S75">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S75"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:002DBDH - C:0030C5H)</h2>
+<h2><a name="S75"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:002DBDH - C:0030F1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S74">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a>) Top=6 Bytes (<a href="#S93">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -520,7 +521,7 @@
 <li><a href="#S103">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S87"></a>?PR?KS_UNISTALL?KEYSCAN (C:0030C6H - C:00315DH)</h2>
+<h2><a name="S87"></a>?PR?KS_UNISTALL?KEYSCAN (C:0030F2H - C:003189H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S200">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -586,7 +587,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?LED_DEVICE_POWERON?LED (C:003367H - C:003389H)</h2>
+<h2><a name="S97"></a>?PR?LED_DEVICE_POWERON?LED (C:0034B2H - C:0034D4H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S185">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S111">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -614,7 +615,7 @@
 <li><a href="#S116">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S99"></a>?PR?LED_HANDLE?LED (C:00349EH - C:003532H)</h2>
+<h2><a name="S99"></a>?PR?LED_HANDLE?LED (C:003512H - C:0035A6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S98">?PR?LED_DEVICE_POWEROFF?LED</a>) Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -670,7 +671,7 @@
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S104"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:003533H - C:003567H)</h2>
+<h2><a name="S104"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:0035A7H - C:0035DBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S124">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S111">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -712,14 +713,14 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S108"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:003495H - C:003494H)</h2>
+<h2><a name="S108"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:0034D5H - C:0034D4H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S113"></a>?PR?LED_TIMER500MS?SYS (C:00325EH - C:003292H)</h2>
+<h2><a name="S113"></a>?PR?LED_TIMER500MS?SYS (C:00328AH - C:0032BEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S203">?PR?_GPIO_FLIPOUTBIT?GPIO</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -761,7 +762,7 @@
 <li><a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S116"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:003293H - C:003332H)</h2>
+<h2><a name="S116"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:0032BFH - C:00335EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S56">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -802,7 +803,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S124"></a>?PR?YC_ADC_INIT?ADC (C:003568H - C:003633H)</h2>
+<h2><a name="S124"></a>?PR?YC_ADC_INIT?ADC (C:0035DCH - C:0036A7H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S218">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S104">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -814,7 +815,7 @@
 <li><a href="#S104">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S125"></a>?PR?YC_ADC_CHECK?ADC (C:003644H - C:003816H)</h2>
+<h2><a name="S125"></a>?PR?YC_ADC_CHECK?ADC (C:0036B8H - C:00388BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S218">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S127">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -826,7 +827,7 @@
 <li><a href="#S127">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
 </ul>
 
-<h2><a name="S127"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:003817H - C:003828H)</h2>
+<h2><a name="S127"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:00388CH - C:00389DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S125">?PR?YC_ADC_CHECK?ADC</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -838,14 +839,14 @@
 <li><a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S129"></a>?PR?_BUFSIZE?IPC (C:003829H - C:003882H)</h2>
+<h2><a name="S129"></a>?PR?_BUFSIZE?IPC (C:00389EH - C:0038F7H)</h2>
 <p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S133">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S133">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S131"></a>?PR?_IPCRX?IPC (C:003883H - C:0038D2H)</h2>
+<h2><a name="S131"></a>?PR?_IPCRX?IPC (C:0038F8H - C:003947H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S218">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S148">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -893,7 +894,7 @@
 <li><a href="#S115">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S137"></a>?PR?_IPC_TXDATA?IPC (C:003ADCH - C:003B02H)</h2>
+<h2><a name="S137"></a>?PR?_IPC_TXDATA?IPC (C:003B51H - C:003B77H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S168">?PR?_XMEMCPY?UTILITIES</a>) Top=10 Bytes (<a href="#S139">?PR?_IPC_TXBREDRHIDDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -909,7 +910,7 @@
 <li><a href="#S141">?PR?_IPC_TXSPPDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S139"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:003B1BH - C:003B26H)</h2>
+<h2><a name="S139"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:003B90H - C:003B9BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S137">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S58">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -921,7 +922,7 @@
 <li><a href="#S58">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S140"></a>?PR?_IPC_TX24GDATA?IPC (C:003B03H - C:003B0AH)</h2>
+<h2><a name="S140"></a>?PR?_IPC_TX24GDATA?IPC (C:003B78H - C:003B7FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S137">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S58">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -933,7 +934,7 @@
 <li><a href="#S58">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S142"></a>?PR?_IPC_TXBLEDATA?IPC (C:003B13H - C:003B1AH)</h2>
+<h2><a name="S142"></a>?PR?_IPC_TXBLEDATA?IPC (C:003B88H - C:003B8FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S137">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S58">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -957,21 +958,21 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S146"></a>?PR?IPC_ABANDONLPM?IPC (C:003B2DH - C:003B38H)</h2>
+<h2><a name="S146"></a>?PR?IPC_ABANDONLPM?IPC (C:003BA2H - C:003BADH)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S147"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:003B39H - C:003B50H)</h2>
+<h2><a name="S147"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:003BAEH - C:003BC5H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S67">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S67">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S148"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:0038D3H - C:003ADBH)</h2>
+<h2><a name="S148"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:003948H - C:003B50H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S131">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1000,7 +1001,7 @@
 <li><a href="#S4">?PR?_YC_STORE_RECORD_LIST?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S170"></a>?PR?_DMEMCPY?UTILITIES (C:003B58H - C:003B9BH)</h2>
+<h2><a name="S170"></a>?PR?_DMEMCPY?UTILITIES (C:003BCDH - C:003C10H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S218">?C?LIB_CODE</a>) Top=10 Bytes (<a href="#S212">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1084,7 +1085,7 @@
 <li><a href="#S187">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S182"></a>?PR?_GPIOGETBIT?GPIO (C:003203H - C:003241H)</h2>
+<h2><a name="S182"></a>?PR?_GPIOGETBIT?GPIO (C:00322FH - C:00326DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S218">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S203">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1096,7 +1097,7 @@
 <li><a href="#S203">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S184"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:0031FDH - C:003202H)</h2>
+<h2><a name="S184"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:003229H - C:00322EH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S200">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1188,7 +1189,7 @@
 <li><a href="#S96">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 </ul>
 
-<h2><a name="S200"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:00315EH - C:003170H)</h2>
+<h2><a name="S200"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:00318AH - C:00319CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S184">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S87">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1200,7 +1201,7 @@
 <li><a href="#S87">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S203"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:003242H - C:00325DH)</h2>
+<h2><a name="S203"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:00326EH - C:003289H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S182">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S113">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1210,11 +1211,12 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
+<li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 <li><a href="#S113">?PR?LED_TIMER500MS?SYS</a></li>
 <li><a href="#S116">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S206"></a>?PR?GPIO_FILLPD?GPIO (C:003333H - C:003366H)</h2>
+<h2><a name="S206"></a>?PR?GPIO_FILLPD?GPIO (C:0034DEH - C:003511H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S87">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
Index: c51/output/FW.MAP
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/output/FW.MAP	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               11/18/2022  16:19:27  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               11/21/2022  20:09:47  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -86,7 +86,7 @@
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
 X:000000H   X:004DD0H   X:004F40H   000392H   XDATA
-C:000000H   C:000000H   C:00FFFFH   003B25H   CODE
+C:000000H   C:000000H   C:00FFFFH   003B9AH   CODE
 I:000000H   I:000010H   I:00007FH   000008H   DATA
 I:000000H   I:000080H   I:0000CFH   000001H   IDATA
 C:000000H   C:000000H   C:00FFFFH   0000B6H   CONST
@@ -192,40 +192,40 @@
 002CA4H   002D7FH   0000DCH   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
 002D80H   002D97H   000018H   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_TIMER_STATUS?SYS
 002D98H   002DBCH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-002DBDH   0030C5H   000309H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-0030C6H   00315DH   000098H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
-00315EH   003170H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-003171H   0031FCH   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
-0031FDH   003202H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-003203H   003241H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-003242H   00325DH   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
-00325EH   003292H   000035H   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
-003293H   003332H   0000A0H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
-003333H   003366H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
-003367H   003389H   000023H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
-00338AH   003494H   00010BH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-003495H   ---       000000H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-003495H   00349DH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-00349EH   003532H   000095H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
-003533H   003567H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-003568H   003633H   0000CCH   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-003634H   003643H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-003644H   003816H   0001D3H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-003817H   003828H   000012H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
-003829H   003882H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-003883H   0038D2H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-0038D3H   003ADBH   000209H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-003ADCH   003B02H   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
-003B03H   003B0AH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
-003B0BH   003B12H   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
-003B13H   003B1AH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
-003B1BH   003B26H   00000CH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
-003B27H   003B2CH   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-003B2DH   003B38H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-003B39H   003B50H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-003B51H   003B57H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-003B58H   003B9BH   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-003B9CH   003BDAH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+002DBDH   0030F1H   000335H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+0030F2H   003189H   000098H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+00318AH   00319CH   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+00319DH   003228H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+003229H   00322EH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+00322FH   00326DH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+00326EH   003289H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
+00328AH   0032BEH   000035H   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
+0032BFH   00335EH   0000A0H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
+00335FH   0034B1H   000153H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+0034B2H   0034D4H   000023H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
+0034D5H   ---       000000H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+0034D5H   0034DDH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+0034DEH   003511H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+003512H   0035A6H   000095H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
+0035A7H   0035DBH   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+0035DCH   0036A7H   0000CCH   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+0036A8H   0036B7H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+0036B8H   00388BH   0001D4H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+00388CH   00389DH   000012H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+00389EH   0038F7H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+0038F8H   003947H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+003948H   003B50H   000209H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+003B51H   003B77H   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
+003B78H   003B7FH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
+003B80H   003B87H   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
+003B88H   003B8FH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
+003B90H   003B9BH   00000CH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
+003B9CH   003BA1H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+003BA2H   003BADH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+003BAEH   003BC5H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+003BC6H   003BCCH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+003BCDH   003C10H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+003C11H   003C4FH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
 
 * * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
 000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?30
@@ -413,29 +413,29 @@
       01002453H   CODE     ---       _array_is_empty
       010021AFH   CODE     ---       _compare_str
       01000F4BH   CODE     ---       _Delay1ms
-      01003B58H   CODE     ---       _dmemcpy
-      01003B9CH   CODE     ---       _GPIO_ClearWakeup
-      01003242H   CODE     ---       _GPIO_FlipOutBit
-      010031FDH   CODE     ---       _GPIO_GetInputStatus
+      01003BCDH   CODE     ---       _dmemcpy
+      01003C11H   CODE     ---       _GPIO_ClearWakeup
+      0100326EH   CODE     ---       _GPIO_FlipOutBit
+      01003229H   CODE     ---       _GPIO_GetInputStatus
       01001DDEH   CODE     ---       _GPIO_SetInput
       01001DFCH   CODE     ---       _GPIO_Setoe
       01000FE9H   CODE     ---       _GPIO_Setout
       01001D82H   CODE     ---       _GPIO_SetOutput
       01001E0DH   CODE     ---       _GPIO_SetPd
       01001DCDH   CODE     ---       _GPIO_SetPu
-      01003171H   CODE     ---       _GPIO_SetWakeup
-      0100315EH   CODE     ---       _GPIO_SetWakeupByCurrentState
+      0100319DH   CODE     ---       _GPIO_SetWakeup
+      0100318AH   CODE     ---       _GPIO_SetWakeupByCurrentState
       0100197BH   CODE     ---       _IIC_Read
       01001A33H   CODE     ---       _IIC_write
       01001ACEH   CODE     ---       _IIC_WriteBlock
       010017E8H   CODE     ---       _IPC_Initialize
-      01003B03H   CODE     ---       _IPC_Tx24GData
-      01003B13H   CODE     ---       _IPC_TxBleData
-      01003B1BH   CODE     ---       _IPC_TxBREDRHidData
+      01003B78H   CODE     ---       _IPC_Tx24GData
+      01003B88H   CODE     ---       _IPC_TxBleData
+      01003B90H   CODE     ---       _IPC_TxBREDRHidData
       0100085FH   CODE     ---       _IPC_TxControlCmd
-      01003ADCH   CODE     ---       _IPC_TxData
+      01003B51H   CODE     ---       _IPC_TxData
       01001461H   CODE     ---       _IPC_TxHidData
-      01003B0BH   CODE     ---       _IPC_TxSppData
+      01003B80H   CODE     ---       _IPC_TxSppData
       01002D98H   CODE     ---       _kb_combination_key_press
       01002CA4H   CODE     ---       _kb_device_select
       01001115H   CODE     ---       _kb_motion_keyscan
@@ -469,13 +469,13 @@
       02004DD8H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD5H   XDATA    BYTE      get_24g_led_send
-      01003333H   CODE     ---       GPIO_fillpd
+      010034DEH   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DE1H   XDATA    BYTE      iOS_rec_pinCode
-      01003B2DH   CODE     ---       IPC_AbandonLpm
-      010038D3H   CODE     ---       IPC_DealSingleStep
-      01003B27H   CODE     ---       IPC_GetBBDIsconnectReason
-      01003B39H   CODE     ---       IPC_IsTxBuffEmpty
+      01003BA2H   CODE     ---       IPC_AbandonLpm
+      01003948H   CODE     ---       IPC_DealSingleStep
+      01003B9CH   CODE     ---       IPC_GetBBDIsconnectReason
+      01003BAEH   CODE     ---       IPC_IsTxBuffEmpty
       010017D2H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
@@ -490,7 +490,7 @@
       010021F9H   CODE     ---       KS_GetCurrentEvt
       01001DA4H   CODE     ---       KS_Initialize
       01002583H   CODE     ---       KS_ScanMatrix
-      010030C6H   CODE     ---       KS_Unistall
+      010030F2H   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004EA4H   XDATA    ---       ksEvtPool
       01000696H   CONST    ---       ksMap
@@ -504,9 +504,9 @@
       02004DDAH   XDATA    BYTE      le_send_battery_level_flag
       01001D66H   CODE     ---       LED_all_shutdown
       01000FCBH   CODE     ---       LED_device_poweroff
-      01003367H   CODE     ---       LED_device_poweron
-      0100349EH   CODE     ---       LED_handle
-      0100325EH   CODE     ---       LED_timer500ms
+      010034B2H   CODE     ---       LED_device_poweron
+      01003512H   CODE     ---       LED_handle
+      0100328AH   CODE     ---       LED_timer500ms
       02004DDCH   XDATA    BYTE      long_press_flag
       02000B7FH   XDATA    BYTE      lpm_flag
       02004C00H   XDATA    ---       m_24g_addr
@@ -554,11 +554,11 @@
       01001E9CH   CODE     ---       System_G24_long_lpm
       02004DE9H   XDATA    BYTE      system_key_press
       01000F42H   CODE     ---       System_long_sleep
-      01003495H   CODE     ---       System_Reset_Connect
-      01003533H   CODE     ---       System_Software_init
-      01003644H   CODE     ---       YC_adc_check
-      01003817H   CODE     ---       YC_adc_check_timer500ms
-      01003568H   CODE     ---       YC_adc_init
+      010034D5H   CODE     ---       System_Reset_Connect
+      010035A7H   CODE     ---       System_Software_init
+      010036B8H   CODE     ---       YC_adc_check
+      0100388CH   CODE     ---       YC_adc_check_timer500ms
+      010035DCH   CODE     ---       YC_adc_init
       01000FACH   CODE     ---       YC_cancel_reconnect
       010017F5H   CODE     ---       YC_check_is_connected
       01001812H   CODE     ---       YC_check_need_reconnected
@@ -570,8 +570,8 @@
       01002006H   CODE     ---       YC_get_ble_ramdon_lap
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      01003B51H   CODE     ---       YC_Ice_break
-      01003293H   CODE     ---       YC_pairing_timerout_500ms
+      01003BC6H   CODE     ---       YC_Ice_break
+      010032BFH   CODE     ---       YC_pairing_timerout_500ms
       010018C6H   CODE     ---       YC_start_reconnect
       01001774H   CODE     ---       YC_System_Main
       01001B7CH   CODE     ---       YC_update_eeprom_data
@@ -1536,304 +1536,307 @@
       01002DE7H   LINE      ---      ---       #695
       01002DEDH   LINE      ---      ---       #696
       01002DEDH   LINE      ---      ---       #697
-      01002E2CH   LINE      ---      ---       #698
-      01002E2CH   LINE      ---      ---       #699
-      01002E2CH   LINE      ---      ---       #700
-      01002E32H   LINE      ---      ---       #701
-      01002E34H   LINE      ---      ---       #702
-      01002E34H   LINE      ---      ---       #703
-      01002E3AH   LINE      ---      ---       #704
-      01002E3CH   LINE      ---      ---       #705
-      01002E3CH   LINE      ---      ---       #706
-      01002E42H   LINE      ---      ---       #707
-      01002E44H   LINE      ---      ---       #708
-      01002E44H   LINE      ---      ---       #709
-      01002E47H   LINE      ---      ---       #710
-      01002E47H   LINE      ---      ---       #711
-      01002E52H   LINE      ---      ---       #712
-      01002E59H   LINE      ---      ---       #713
-      01002E59H   LINE      ---      ---       #714
-      01002E5FH   LINE      ---      ---       #715
-      01002E5FH   LINE      ---      ---       #716
-      01002E64H   LINE      ---      ---       #717
-      01002E66H   LINE      ---      ---       #719
-      01002E6CH   LINE      ---      ---       #720
-      01002E6EH   LINE      ---      ---       #721
-      01002E6EH   LINE      ---      ---       #722
-      01002E74H   LINE      ---      ---       #723
-      01002E76H   LINE      ---      ---       #724
-      01002E76H   LINE      ---      ---       #725
-      01002E7DH   LINE      ---      ---       #726
-      01002E7DH   LINE      ---      ---       #727
-      01002E88H   LINE      ---      ---       #728
-      01002E8FH   LINE      ---      ---       #729
-      01002E8FH   LINE      ---      ---       #730
-      01002E95H   LINE      ---      ---       #731
-      01002E95H   LINE      ---      ---       #732
-      01002E97H   LINE      ---      ---       #734
-      01002E9DH   LINE      ---      ---       #735
-      01002E9FH   LINE      ---      ---       #736
-      01002E9FH   LINE      ---      ---       #737
-      01002EA5H   LINE      ---      ---       #738
-      01002EA7H   LINE      ---      ---       #739
-      01002EA7H   LINE      ---      ---       #740
-      01002EADH   LINE      ---      ---       #741
-      01002EAFH   LINE      ---      ---       #742
-      01002EAFH   LINE      ---      ---       #743
-      01002EB5H   LINE      ---      ---       #744
-      01002EB7H   LINE      ---      ---       #745
-      01002EB7H   LINE      ---      ---       #746
-      01002EBDH   LINE      ---      ---       #747
-      01002EBFH   LINE      ---      ---       #748
-      01002EBFH   LINE      ---      ---       #749
-      01002EC5H   LINE      ---      ---       #750
-      01002EC7H   LINE      ---      ---       #751
-      01002EC7H   LINE      ---      ---       #752
-      01002ECDH   LINE      ---      ---       #753
-      01002ECDH   LINE      ---      ---       #754
-      01002ECDH   LINE      ---      ---       #755
-      01002ECDH   LINE      ---      ---       #756
-      01002ECDH   LINE      ---      ---       #757
-      01002ED8H   LINE      ---      ---       #758
-      01002ED8H   LINE      ---      ---       #783
-      01002F06H   LINE      ---      ---       #784
-      01002F06H   LINE      ---      ---       #785
-      01002F06H   LINE      ---      ---       #786
-      01002F0FH   LINE      ---      ---       #787
-      01002F0FH   LINE      ---      ---       #788
-      01002F19H   LINE      ---      ---       #789
-      01002F19H   LINE      ---      ---       #790
-      01002F1FH   LINE      ---      ---       #791
-      01002F21H   LINE      ---      ---       #792
-      01002F2DH   LINE      ---      ---       #793
-      01002F2DH   LINE      ---      ---       #794
-      01002F40H   LINE      ---      ---       #795
-      01002F46H   LINE      ---      ---       #796
-      01002F46H   LINE      ---      ---       #797
-      01002F46H   LINE      ---      ---       #798
-      01002F4DH   LINE      ---      ---       #799
-      01002F53H   LINE      ---      ---       #800
-      01002F59H   LINE      ---      ---       #801
-      01002F5EH   LINE      ---      ---       #802
-      01002F61H   LINE      ---      ---       #803
-      01002F61H   LINE      ---      ---       #804
-      01002F6AH   LINE      ---      ---       #805
-      01002F6AH   LINE      ---      ---       #806
-      01002F74H   LINE      ---      ---       #807
-      01002F74H   LINE      ---      ---       #808
-      01002F7AH   LINE      ---      ---       #809
-      01002F7CH   LINE      ---      ---       #810
-      01002F88H   LINE      ---      ---       #811
-      01002F88H   LINE      ---      ---       #812
-      01002F9BH   LINE      ---      ---       #813
-      01002FA1H   LINE      ---      ---       #814
-      01002FA1H   LINE      ---      ---       #815
-      01002FA1H   LINE      ---      ---       #816
-      01002FA8H   LINE      ---      ---       #817
-      01002FAEH   LINE      ---      ---       #818
-      01002FB4H   LINE      ---      ---       #819
-      01002FB9H   LINE      ---      ---       #820
-      01002FBCH   LINE      ---      ---       #821
-      01002FBCH   LINE      ---      ---       #822
-      01002FC3H   LINE      ---      ---       #823
-      01002FC3H   LINE      ---      ---       #824
-      01002FCDH   LINE      ---      ---       #825
-      01002FCDH   LINE      ---      ---       #826
-      01002FD3H   LINE      ---      ---       #827
-      01002FD5H   LINE      ---      ---       #828
-      01002FE1H   LINE      ---      ---       #829
-      01002FE1H   LINE      ---      ---       #830
-      01002FF4H   LINE      ---      ---       #831
-      01002FFAH   LINE      ---      ---       #832
-      01002FFAH   LINE      ---      ---       #833
-      01002FFAH   LINE      ---      ---       #834
-      01003001H   LINE      ---      ---       #835
-      01003007H   LINE      ---      ---       #836
-      0100300CH   LINE      ---      ---       #837
-      01003010H   LINE      ---      ---       #838
-      01003012H   LINE      ---      ---       #839
-      01003012H   LINE      ---      ---       #840
-      01003018H   LINE      ---      ---       #841
-      01003018H   LINE      ---      ---       #842
-      01003024H   LINE      ---      ---       #843
-      0100302BH   LINE      ---      ---       #844
-      0100302BH   LINE      ---      ---       #845
-      01003031H   LINE      ---      ---       #846
-      01003031H   LINE      ---      ---       #847
-      01003036H   LINE      ---      ---       #848
-      01003036H   LINE      ---      ---       #849
-      0100303CH   LINE      ---      ---       #850
-      0100303EH   LINE      ---      ---       #851
-      0100303EH   LINE      ---      ---       #852
-      01003044H   LINE      ---      ---       #853
-      01003044H   LINE      ---      ---       #854
-      01003050H   LINE      ---      ---       #855
-      01003057H   LINE      ---      ---       #856
-      01003057H   LINE      ---      ---       #857
-      0100305DH   LINE      ---      ---       #858
-      0100305DH   LINE      ---      ---       #859
-      01003062H   LINE      ---      ---       #860
-      01003062H   LINE      ---      ---       #861
-      01003068H   LINE      ---      ---       #862
-      0100306AH   LINE      ---      ---       #863
-      0100306AH   LINE      ---      ---       #864
-      01003070H   LINE      ---      ---       #865
-      01003070H   LINE      ---      ---       #866
-      0100307CH   LINE      ---      ---       #867
-      01003083H   LINE      ---      ---       #868
-      01003083H   LINE      ---      ---       #869
-      01003089H   LINE      ---      ---       #870
-      01003089H   LINE      ---      ---       #871
-      0100308EH   LINE      ---      ---       #872
-      0100308EH   LINE      ---      ---       #873
-      01003094H   LINE      ---      ---       #874
-      01003096H   LINE      ---      ---       #875
-      01003096H   LINE      ---      ---       #876
-      0100309CH   LINE      ---      ---       #877
-      0100309CH   LINE      ---      ---       #878
-      010030A8H   LINE      ---      ---       #879
-      010030AFH   LINE      ---      ---       #880
-      010030AFH   LINE      ---      ---       #881
-      010030B5H   LINE      ---      ---       #882
-      010030B5H   LINE      ---      ---       #883
-      010030BAH   LINE      ---      ---       #884
-      010030BAH   LINE      ---      ---       #885
-      010030C0H   LINE      ---      ---       #886
-      010030C0H   LINE      ---      ---       #887
-      010030C0H   LINE      ---      ---       #888
-      010030C0H   LINE      ---      ---       #889
-      010030C0H   LINE      ---      ---       #890
-      010030C0H   LINE      ---      ---       #892
-      010030C5H   LINE      ---      ---       #893
+      01002E16H   LINE      ---      ---       #700
+      01002E16H   LINE      ---      ---       #701
+      01002E55H   LINE      ---      ---       #702
+      01002E55H   LINE      ---      ---       #703
+      01002E55H   LINE      ---      ---       #704
+      01002E5BH   LINE      ---      ---       #705
+      01002E5DH   LINE      ---      ---       #706
+      01002E5DH   LINE      ---      ---       #707
+      01002E63H   LINE      ---      ---       #708
+      01002E65H   LINE      ---      ---       #709
+      01002E65H   LINE      ---      ---       #710
+      01002E6BH   LINE      ---      ---       #711
+      01002E6DH   LINE      ---      ---       #712
+      01002E6DH   LINE      ---      ---       #713
+      01002E73H   LINE      ---      ---       #714
+      01002E73H   LINE      ---      ---       #715
+      01002E7EH   LINE      ---      ---       #716
+      01002E85H   LINE      ---      ---       #717
+      01002E85H   LINE      ---      ---       #718
+      01002E8BH   LINE      ---      ---       #719
+      01002E8BH   LINE      ---      ---       #720
+      01002E90H   LINE      ---      ---       #721
+      01002E92H   LINE      ---      ---       #723
+      01002E98H   LINE      ---      ---       #724
+      01002E9AH   LINE      ---      ---       #725
+      01002E9AH   LINE      ---      ---       #726
+      01002EA0H   LINE      ---      ---       #727
+      01002EA2H   LINE      ---      ---       #728
+      01002EA2H   LINE      ---      ---       #729
+      01002EA9H   LINE      ---      ---       #730
+      01002EA9H   LINE      ---      ---       #731
+      01002EB4H   LINE      ---      ---       #732
+      01002EBBH   LINE      ---      ---       #733
+      01002EBBH   LINE      ---      ---       #734
+      01002EC1H   LINE      ---      ---       #735
+      01002EC1H   LINE      ---      ---       #736
+      01002EC3H   LINE      ---      ---       #738
+      01002EC9H   LINE      ---      ---       #739
+      01002ECBH   LINE      ---      ---       #740
+      01002ECBH   LINE      ---      ---       #741
+      01002ED1H   LINE      ---      ---       #742
+      01002ED3H   LINE      ---      ---       #743
+      01002ED3H   LINE      ---      ---       #744
+      01002ED9H   LINE      ---      ---       #745
+      01002EDBH   LINE      ---      ---       #746
+      01002EDBH   LINE      ---      ---       #747
+      01002EE1H   LINE      ---      ---       #748
+      01002EE3H   LINE      ---      ---       #749
+      01002EE3H   LINE      ---      ---       #750
+      01002EE9H   LINE      ---      ---       #751
+      01002EEBH   LINE      ---      ---       #752
+      01002EEBH   LINE      ---      ---       #753
+      01002EF1H   LINE      ---      ---       #754
+      01002EF3H   LINE      ---      ---       #755
+      01002EF3H   LINE      ---      ---       #756
+      01002EF9H   LINE      ---      ---       #757
+      01002EF9H   LINE      ---      ---       #758
+      01002EF9H   LINE      ---      ---       #759
+      01002EF9H   LINE      ---      ---       #760
+      01002EF9H   LINE      ---      ---       #761
+      01002EF9H   LINE      ---      ---       #762
+      01002F04H   LINE      ---      ---       #763
+      01002F04H   LINE      ---      ---       #788
+      01002F32H   LINE      ---      ---       #789
+      01002F32H   LINE      ---      ---       #790
+      01002F32H   LINE      ---      ---       #791
+      01002F3BH   LINE      ---      ---       #792
+      01002F3BH   LINE      ---      ---       #793
+      01002F45H   LINE      ---      ---       #794
+      01002F45H   LINE      ---      ---       #795
+      01002F4BH   LINE      ---      ---       #796
+      01002F4DH   LINE      ---      ---       #797
+      01002F59H   LINE      ---      ---       #798
+      01002F59H   LINE      ---      ---       #799
+      01002F6CH   LINE      ---      ---       #800
+      01002F72H   LINE      ---      ---       #801
+      01002F72H   LINE      ---      ---       #802
+      01002F72H   LINE      ---      ---       #803
+      01002F79H   LINE      ---      ---       #804
+      01002F7FH   LINE      ---      ---       #805
+      01002F85H   LINE      ---      ---       #806
+      01002F8AH   LINE      ---      ---       #807
+      01002F8DH   LINE      ---      ---       #808
+      01002F8DH   LINE      ---      ---       #809
+      01002F96H   LINE      ---      ---       #810
+      01002F96H   LINE      ---      ---       #811
+      01002FA0H   LINE      ---      ---       #812
+      01002FA0H   LINE      ---      ---       #813
+      01002FA6H   LINE      ---      ---       #814
+      01002FA8H   LINE      ---      ---       #815
+      01002FB4H   LINE      ---      ---       #816
+      01002FB4H   LINE      ---      ---       #817
+      01002FC7H   LINE      ---      ---       #818
+      01002FCDH   LINE      ---      ---       #819
+      01002FCDH   LINE      ---      ---       #820
+      01002FCDH   LINE      ---      ---       #821
+      01002FD4H   LINE      ---      ---       #822
+      01002FDAH   LINE      ---      ---       #823
+      01002FE0H   LINE      ---      ---       #824
+      01002FE5H   LINE      ---      ---       #825
+      01002FE8H   LINE      ---      ---       #826
+      01002FE8H   LINE      ---      ---       #827
+      01002FEFH   LINE      ---      ---       #828
+      01002FEFH   LINE      ---      ---       #829
+      01002FF9H   LINE      ---      ---       #830
+      01002FF9H   LINE      ---      ---       #831
+      01002FFFH   LINE      ---      ---       #832
+      01003001H   LINE      ---      ---       #833
+      0100300DH   LINE      ---      ---       #834
+      0100300DH   LINE      ---      ---       #835
+      01003020H   LINE      ---      ---       #836
+      01003026H   LINE      ---      ---       #837
+      01003026H   LINE      ---      ---       #838
+      01003026H   LINE      ---      ---       #839
+      0100302DH   LINE      ---      ---       #840
+      01003033H   LINE      ---      ---       #841
+      01003038H   LINE      ---      ---       #842
+      0100303CH   LINE      ---      ---       #843
+      0100303EH   LINE      ---      ---       #844
+      0100303EH   LINE      ---      ---       #845
+      01003044H   LINE      ---      ---       #846
+      01003044H   LINE      ---      ---       #847
+      01003050H   LINE      ---      ---       #848
+      01003057H   LINE      ---      ---       #849
+      01003057H   LINE      ---      ---       #850
+      0100305DH   LINE      ---      ---       #851
+      0100305DH   LINE      ---      ---       #852
+      01003062H   LINE      ---      ---       #853
+      01003062H   LINE      ---      ---       #854
+      01003068H   LINE      ---      ---       #855
+      0100306AH   LINE      ---      ---       #856
+      0100306AH   LINE      ---      ---       #857
+      01003070H   LINE      ---      ---       #858
+      01003070H   LINE      ---      ---       #859
+      0100307CH   LINE      ---      ---       #860
+      01003083H   LINE      ---      ---       #861
+      01003083H   LINE      ---      ---       #862
+      01003089H   LINE      ---      ---       #863
+      01003089H   LINE      ---      ---       #864
+      0100308EH   LINE      ---      ---       #865
+      0100308EH   LINE      ---      ---       #866
+      01003094H   LINE      ---      ---       #867
+      01003096H   LINE      ---      ---       #868
+      01003096H   LINE      ---      ---       #869
+      0100309CH   LINE      ---      ---       #870
+      0100309CH   LINE      ---      ---       #871
+      010030A8H   LINE      ---      ---       #872
+      010030AFH   LINE      ---      ---       #873
+      010030AFH   LINE      ---      ---       #874
+      010030B5H   LINE      ---      ---       #875
+      010030B5H   LINE      ---      ---       #876
+      010030BAH   LINE      ---      ---       #877
+      010030BAH   LINE      ---      ---       #878
+      010030C0H   LINE      ---      ---       #879
+      010030C2H   LINE      ---      ---       #880
+      010030C2H   LINE      ---      ---       #881
+      010030C8H   LINE      ---      ---       #882
+      010030C8H   LINE      ---      ---       #883
+      010030D4H   LINE      ---      ---       #884
+      010030DBH   LINE      ---      ---       #885
+      010030DBH   LINE      ---      ---       #886
+      010030E1H   LINE      ---      ---       #887
+      010030E1H   LINE      ---      ---       #888
+      010030E6H   LINE      ---      ---       #889
+      010030E6H   LINE      ---      ---       #890
+      010030ECH   LINE      ---      ---       #891
+      010030ECH   LINE      ---      ---       #892
+      010030ECH   LINE      ---      ---       #893
+      010030ECH   LINE      ---      ---       #894
+      010030ECH   LINE      ---      ---       #895
+      010030ECH   LINE      ---      ---       #897
+      010030F1H   LINE      ---      ---       #898
       02004EEDH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       010026FCH   BLOCK     CODE     ---       LVL=0
-      010026FCH   LINE      ---      ---       #897
-      01002707H   LINE      ---      ---       #898
+      010026FCH   LINE      ---      ---       #902
+      01002707H   LINE      ---      ---       #903
       01002707H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002707H   LINE      ---      ---       #899
-      0100270AH   LINE      ---      ---       #901
-      01002718H   LINE      ---      ---       #902
-      01002718H   LINE      ---      ---       #903
-      01002744H   LINE      ---      ---       #905
-      01002744H   LINE      ---      ---       #907
-      0100274BH   LINE      ---      ---       #908
-      0100274BH   LINE      ---      ---       #909
-      01002751H   LINE      ---      ---       #910
-      01002754H   LINE      ---      ---       #912
-      01002758H   LINE      ---      ---       #913
-      01002758H   LINE      ---      ---       #914
-      0100275EH   LINE      ---      ---       #915
-      01002761H   LINE      ---      ---       #916
-      01002781H   LINE      ---      ---       #917
-      01002781H   LINE      ---      ---       #918
-      01002785H   LINE      ---      ---       #919
-      01002788H   LINE      ---      ---       #920
-      0100278CH   LINE      ---      ---       #921
-      0100278CH   LINE      ---      ---       #922
-      01002792H   LINE      ---      ---       #923
-      01002795H   LINE      ---      ---       #924
-      010027B5H   LINE      ---      ---       #925
-      010027B5H   LINE      ---      ---       #926
-      010027B9H   LINE      ---      ---       #927
-      010027BCH   LINE      ---      ---       #928
-      010027C0H   LINE      ---      ---       #929
-      010027C0H   LINE      ---      ---       #930
-      010027C6H   LINE      ---      ---       #931
-      010027C9H   LINE      ---      ---       #932
-      010027E9H   LINE      ---      ---       #933
-      010027E9H   LINE      ---      ---       #934
-      010027EDH   LINE      ---      ---       #935
-      010027F0H   LINE      ---      ---       #936
-      010027F4H   LINE      ---      ---       #937
-      010027F4H   LINE      ---      ---       #938
-      010027FAH   LINE      ---      ---       #939
-      010027FDH   LINE      ---      ---       #940
-      0100281DH   LINE      ---      ---       #941
-      0100281DH   LINE      ---      ---       #942
-      01002823H   LINE      ---      ---       #943
-      01002825H   LINE      ---      ---       #944
-      01002829H   LINE      ---      ---       #945
-      01002829H   LINE      ---      ---       #946
-      01002830H   LINE      ---      ---       #947
-      01002832H   LINE      ---      ---       #948
-      01002852H   LINE      ---      ---       #949
-      01002852H   LINE      ---      ---       #950
-      01002858H   LINE      ---      ---       #951
-      0100285AH   LINE      ---      ---       #952
-      0100285EH   LINE      ---      ---       #953
-      0100285EH   LINE      ---      ---       #954
-      01002865H   LINE      ---      ---       #955
-      01002867H   LINE      ---      ---       #956
-      01002887H   LINE      ---      ---       #957
-      01002887H   LINE      ---      ---       #958
-      0100288EH   LINE      ---      ---       #959
-      01002890H   LINE      ---      ---       #960
-      01002894H   LINE      ---      ---       #961
-      01002894H   LINE      ---      ---       #962
-      0100289BH   LINE      ---      ---       #963
-      0100289DH   LINE      ---      ---       #964
-      010028BDH   LINE      ---      ---       #965
-      010028BDH   LINE      ---      ---       #966
-      010028C4H   LINE      ---      ---       #967
-      010028C6H   LINE      ---      ---       #968
-      010028CAH   LINE      ---      ---       #969
-      010028CAH   LINE      ---      ---       #970
-      010028D1H   LINE      ---      ---       #971
-      010028D3H   LINE      ---      ---       #972
-      010028F3H   LINE      ---      ---       #973
-      010028F3H   LINE      ---      ---       #974
-      010028FAH   LINE      ---      ---       #975
-      010028FCH   LINE      ---      ---       #976
-      01002900H   LINE      ---      ---       #977
-      01002900H   LINE      ---      ---       #978
-      01002907H   LINE      ---      ---       #979
-      01002909H   LINE      ---      ---       #980
-      01002929H   LINE      ---      ---       #981
-      01002929H   LINE      ---      ---       #982
-      0100292EH   LINE      ---      ---       #983
-      01002930H   LINE      ---      ---       #984
-      01002934H   LINE      ---      ---       #985
-      01002934H   LINE      ---      ---       #986
-      0100293BH   LINE      ---      ---       #987
-      0100293DH   LINE      ---      ---       #988
-      0100295DH   LINE      ---      ---       #989
-      0100295DH   LINE      ---      ---       #990
-      01002962H   LINE      ---      ---       #991
-      01002964H   LINE      ---      ---       #992
-      01002968H   LINE      ---      ---       #993
-      01002968H   LINE      ---      ---       #994
-      0100296FH   LINE      ---      ---       #995
-      01002971H   LINE      ---      ---       #996
-      01002991H   LINE      ---      ---       #997
-      01002991H   LINE      ---      ---       #998
-      01002998H   LINE      ---      ---       #999
-      0100299AH   LINE      ---      ---       #1000
-      0100299EH   LINE      ---      ---       #1001
-      0100299EH   LINE      ---      ---       #1002
-      010029A5H   LINE      ---      ---       #1003
-      010029A7H   LINE      ---      ---       #1004
-      010029C7H   LINE      ---      ---       #1005
-      010029C7H   LINE      ---      ---       #1006
-      010029CBH   LINE      ---      ---       #1007
-      010029CDH   LINE      ---      ---       #1008
-      010029D1H   LINE      ---      ---       #1009
-      010029D1H   LINE      ---      ---       #1010
-      010029D5H   LINE      ---      ---       #1011
-      010029D7H   LINE      ---      ---       #1012
-      010029DDH   LINE      ---      ---       #1013
-      010029DDH   LINE      ---      ---       #1014
-      010029E1H   LINE      ---      ---       #1015
-      010029E1H   LINE      ---      ---       #1017
-      010029E8H   LINE      ---      ---       #1018
-      010029E8H   LINE      ---      ---       #1019
-      01002A08H   LINE      ---      ---       #1020
-      01002A0CH   LINE      ---      ---       #1021
-      01002A0CH   LINE      ---      ---       #1022
-      01002A0CH   LINE      ---      ---       #1023
-      01002A15H   LINE      ---      ---       #1024
+      01002707H   LINE      ---      ---       #904
+      0100270AH   LINE      ---      ---       #906
+      01002718H   LINE      ---      ---       #907
+      01002718H   LINE      ---      ---       #908
+      01002744H   LINE      ---      ---       #910
+      01002744H   LINE      ---      ---       #912
+      0100274BH   LINE      ---      ---       #913
+      0100274BH   LINE      ---      ---       #914
+      01002751H   LINE      ---      ---       #915
+      01002754H   LINE      ---      ---       #917
+      01002758H   LINE      ---      ---       #918
+      01002758H   LINE      ---      ---       #919
+      0100275EH   LINE      ---      ---       #920
+      01002761H   LINE      ---      ---       #921
+      01002781H   LINE      ---      ---       #922
+      01002781H   LINE      ---      ---       #923
+      01002785H   LINE      ---      ---       #924
+      01002788H   LINE      ---      ---       #925
+      0100278CH   LINE      ---      ---       #926
+      0100278CH   LINE      ---      ---       #927
+      01002792H   LINE      ---      ---       #928
+      01002795H   LINE      ---      ---       #929
+      010027B5H   LINE      ---      ---       #930
+      010027B5H   LINE      ---      ---       #931
+      010027B9H   LINE      ---      ---       #932
+      010027BCH   LINE      ---      ---       #933
+      010027C0H   LINE      ---      ---       #934
+      010027C0H   LINE      ---      ---       #935
+      010027C6H   LINE      ---      ---       #936
+      010027C9H   LINE      ---      ---       #937
+      010027E9H   LINE      ---      ---       #938
+      010027E9H   LINE      ---      ---       #939
+      010027EDH   LINE      ---      ---       #940
+      010027F0H   LINE      ---      ---       #941
+      010027F4H   LINE      ---      ---       #942
+      010027F4H   LINE      ---      ---       #943
+      010027FAH   LINE      ---      ---       #944
+      010027FDH   LINE      ---      ---       #945
+      0100281DH   LINE      ---      ---       #946
+      0100281DH   LINE      ---      ---       #947
+      01002823H   LINE      ---      ---       #948
+      01002825H   LINE      ---      ---       #949
+      01002829H   LINE      ---      ---       #950
+      01002829H   LINE      ---      ---       #951
+      01002830H   LINE      ---      ---       #952
+      01002832H   LINE      ---      ---       #953
+      01002852H   LINE      ---      ---       #954
+      01002852H   LINE      ---      ---       #955
+      01002858H   LINE      ---      ---       #956
+      0100285AH   LINE      ---      ---       #957
+      0100285EH   LINE      ---      ---       #958
+      0100285EH   LINE      ---      ---       #959
+      01002865H   LINE      ---      ---       #960
+      01002867H   LINE      ---      ---       #961
+      01002887H   LINE      ---      ---       #962
+      01002887H   LINE      ---      ---       #963
+      0100288EH   LINE      ---      ---       #964
+      01002890H   LINE      ---      ---       #965
+      01002894H   LINE      ---      ---       #966
+      01002894H   LINE      ---      ---       #967
+      0100289BH   LINE      ---      ---       #968
+      0100289DH   LINE      ---      ---       #969
+      010028BDH   LINE      ---      ---       #970
+      010028BDH   LINE      ---      ---       #971
+      010028C4H   LINE      ---      ---       #972
+      010028C6H   LINE      ---      ---       #973
+      010028CAH   LINE      ---      ---       #974
+      010028CAH   LINE      ---      ---       #975
+      010028D1H   LINE      ---      ---       #976
+      010028D3H   LINE      ---      ---       #977
+      010028F3H   LINE      ---      ---       #978
+      010028F3H   LINE      ---      ---       #979
+      010028FAH   LINE      ---      ---       #980
+      010028FCH   LINE      ---      ---       #981
+      01002900H   LINE      ---      ---       #982
+      01002900H   LINE      ---      ---       #983
+      01002907H   LINE      ---      ---       #984
+      01002909H   LINE      ---      ---       #985
+      01002929H   LINE      ---      ---       #986
+      01002929H   LINE      ---      ---       #987
+      0100292EH   LINE      ---      ---       #988
+      01002930H   LINE      ---      ---       #989
+      01002934H   LINE      ---      ---       #990
+      01002934H   LINE      ---      ---       #991
+      0100293BH   LINE      ---      ---       #992
+      0100293DH   LINE      ---      ---       #993
+      0100295DH   LINE      ---      ---       #994
+      0100295DH   LINE      ---      ---       #995
+      01002962H   LINE      ---      ---       #996
+      01002964H   LINE      ---      ---       #997
+      01002968H   LINE      ---      ---       #998
+      01002968H   LINE      ---      ---       #999
+      0100296FH   LINE      ---      ---       #1000
+      01002971H   LINE      ---      ---       #1001
+      01002991H   LINE      ---      ---       #1002
+      01002991H   LINE      ---      ---       #1003
+      01002998H   LINE      ---      ---       #1004
+      0100299AH   LINE      ---      ---       #1005
+      0100299EH   LINE      ---      ---       #1006
+      0100299EH   LINE      ---      ---       #1007
+      010029A5H   LINE      ---      ---       #1008
+      010029A7H   LINE      ---      ---       #1009
+      010029C7H   LINE      ---      ---       #1010
+      010029C7H   LINE      ---      ---       #1011
+      010029CBH   LINE      ---      ---       #1012
+      010029CDH   LINE      ---      ---       #1013
+      010029D1H   LINE      ---      ---       #1014
+      010029D1H   LINE      ---      ---       #1015
+      010029D5H   LINE      ---      ---       #1016
+      010029D7H   LINE      ---      ---       #1017
+      010029DDH   LINE      ---      ---       #1018
+      010029DDH   LINE      ---      ---       #1019
+      010029E1H   LINE      ---      ---       #1020
+      010029E1H   LINE      ---      ---       #1022
+      010029E8H   LINE      ---      ---       #1023
+      010029E8H   LINE      ---      ---       #1024
+      01002A08H   LINE      ---      ---       #1025
+      01002A0CH   LINE      ---      ---       #1026
+      01002A0CH   LINE      ---      ---       #1027
+      01002A0CH   LINE      ---      ---       #1028
+      01002A15H   LINE      ---      ---       #1029
       02004EDCH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1843,7 +1846,7 @@
       010021F9H   PUBLIC    CODE     ---       KS_GetCurrentEvt
       01002453H   PUBLIC    CODE     ---       _array_is_empty
       01002583H   PUBLIC    CODE     ---       KS_ScanMatrix
-      010030C6H   PUBLIC    CODE     ---       KS_Unistall
+      010030F2H   PUBLIC    CODE     ---       KS_Unistall
       01001DA4H   PUBLIC    CODE     ---       KS_Initialize
 
       01002445H   BLOCK     CODE     ---       LVL=0
@@ -1963,39 +1966,39 @@
       01001DADH   LINE      ---      ---       #212
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010030C6H   BLOCK     CODE     ---       LVL=0
-      010030C6H   LINE      ---      ---       #216
-      010030C6H   LINE      ---      ---       #217
-      010030C6H   BLOCK     CODE     NEAR LAB  LVL=1
-      010030C6H   LINE      ---      ---       #218
-      010030C8H   LINE      ---      ---       #219
-      010030CCH   LINE      ---      ---       #220
-      010030CDH   LINE      ---      ---       #221
-      010030CEH   LINE      ---      ---       #222
-      010030D5H   LINE      ---      ---       #223
-      010030DEH   LINE      ---      ---       #224
-      010030EEH   LINE      ---      ---       #225
-      01003101H   LINE      ---      ---       #226
-      0100310EH   LINE      ---      ---       #227
-      0100311BH   LINE      ---      ---       #228
-      0100311EH   LINE      ---      ---       #230
-      01003120H   LINE      ---      ---       #232
-      01003128H   LINE      ---      ---       #234
-      0100312EH   LINE      ---      ---       #235
-      0100312EH   LINE      ---      ---       #236
-      01003132H   LINE      ---      ---       #237
-      01003136H   LINE      ---      ---       #238
-      0100313AH   LINE      ---      ---       #239
-      0100313EH   LINE      ---      ---       #240
-      01003142H   LINE      ---      ---       #241
-      01003146H   LINE      ---      ---       #242
-      0100314AH   LINE      ---      ---       #243
-      0100314EH   LINE      ---      ---       #244
-      0100314EH   LINE      ---      ---       #246
-      0100314EH   LINE      ---      ---       #247
-      01003157H   LINE      ---      ---       #248
-      0100315DH   LINE      ---      ---       #249
-      0100315DH   LINE      ---      ---       #251
+      010030F2H   BLOCK     CODE     ---       LVL=0
+      010030F2H   LINE      ---      ---       #216
+      010030F2H   LINE      ---      ---       #217
+      010030F2H   BLOCK     CODE     NEAR LAB  LVL=1
+      010030F2H   LINE      ---      ---       #218
+      010030F4H   LINE      ---      ---       #219
+      010030F8H   LINE      ---      ---       #220
+      010030F9H   LINE      ---      ---       #221
+      010030FAH   LINE      ---      ---       #222
+      01003101H   LINE      ---      ---       #223
+      0100310AH   LINE      ---      ---       #224
+      0100311AH   LINE      ---      ---       #225
+      0100312DH   LINE      ---      ---       #226
+      0100313AH   LINE      ---      ---       #227
+      01003147H   LINE      ---      ---       #228
+      0100314AH   LINE      ---      ---       #230
+      0100314CH   LINE      ---      ---       #232
+      01003154H   LINE      ---      ---       #234
+      0100315AH   LINE      ---      ---       #235
+      0100315AH   LINE      ---      ---       #236
+      0100315EH   LINE      ---      ---       #237
+      01003162H   LINE      ---      ---       #238
+      01003166H   LINE      ---      ---       #239
+      0100316AH   LINE      ---      ---       #240
+      0100316EH   LINE      ---      ---       #241
+      01003172H   LINE      ---      ---       #242
+      01003176H   LINE      ---      ---       #243
+      0100317AH   LINE      ---      ---       #244
+      0100317AH   LINE      ---      ---       #246
+      0100317AH   LINE      ---      ---       #247
+      01003183H   LINE      ---      ---       #248
+      01003189H   LINE      ---      ---       #249
+      01003189H   LINE      ---      ---       #251
       00000007H   SYMBOL    DATA     VOID      i
       02004F0EH   SYMBOL    XDATA    VOID      temp
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -2166,9 +2169,9 @@
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       LED
-      0100349EH   PUBLIC    CODE     ---       LED_handle
+      01003512H   PUBLIC    CODE     ---       LED_handle
       01000FCBH   PUBLIC    CODE     ---       LED_device_poweroff
-      01003367H   PUBLIC    CODE     ---       LED_device_poweron
+      010034B2H   PUBLIC    CODE     ---       LED_device_poweron
       01001D66H   PUBLIC    CODE     ---       LED_all_shutdown
 
       01001D66H   BLOCK     CODE     ---       LVL=0
@@ -2181,15 +2184,15 @@
       01001D7EH   LINE      ---      ---       #10
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003367H   BLOCK     CODE     ---       LVL=0
-      01003367H   LINE      ---      ---       #14
-      01003367H   LINE      ---      ---       #15
-      01003367H   LINE      ---      ---       #16
-      0100336EH   LINE      ---      ---       #17
-      01003375H   LINE      ---      ---       #18
-      0100337CH   LINE      ---      ---       #19
-      01003383H   LINE      ---      ---       #21
-      01003383H   LINE      ---      ---       #22
+      010034B2H   BLOCK     CODE     ---       LVL=0
+      010034B2H   LINE      ---      ---       #14
+      010034B2H   LINE      ---      ---       #15
+      010034B2H   LINE      ---      ---       #16
+      010034B9H   LINE      ---      ---       #17
+      010034C0H   LINE      ---      ---       #18
+      010034C7H   LINE      ---      ---       #19
+      010034CEH   LINE      ---      ---       #21
+      010034CEH   LINE      ---      ---       #22
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FCBH   BLOCK     CODE     ---       LVL=0
@@ -2203,71 +2206,71 @@
       01000FE5H   LINE      ---      ---       #34
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100349EH   BLOCK     CODE     ---       LVL=0
-      0100349EH   LINE      ---      ---       #39
-      0100349EH   LINE      ---      ---       #40
-      0100349EH   LINE      ---      ---       #41
-      010034A8H   LINE      ---      ---       #44
-      010034BCH   LINE      ---      ---       #45
-      010034BCH   LINE      ---      ---       #47
-      010034C3H   LINE      ---      ---       #48
-      010034C3H   LINE      ---      ---       #49
-      010034C6H   LINE      ---      ---       #50
-      010034C8H   LINE      ---      ---       #51
-      010034CFH   LINE      ---      ---       #52
-      010034CFH   LINE      ---      ---       #53
-      010034D5H   LINE      ---      ---       #54
-      010034D5H   LINE      ---      ---       #55
-      010034DBH   LINE      ---      ---       #56
-      010034E1H   LINE      ---      ---       #57
-      010034E1H   LINE      ---      ---       #58
-      010034E3H   LINE      ---      ---       #60
-      010034E3H   LINE      ---      ---       #61
-      010034EAH   LINE      ---      ---       #62
-      010034EAH   LINE      ---      ---       #63
-      010034ECH   LINE      ---      ---       #64
-      010034F0H   LINE      ---      ---       #65
-      010034F3H   LINE      ---      ---       #66
-      010034F3H   LINE      ---      ---       #67
-      010034F3H   LINE      ---      ---       #71
-      010034F3H   LINE      ---      ---       #72
-      010034F9H   LINE      ---      ---       #73
-      010034F9H   LINE      ---      ---       #74
-      01003508H   LINE      ---      ---       #75
-      01003508H   LINE      ---      ---       #77
-      0100350FH   LINE      ---      ---       #78
-      0100350FH   LINE      ---      ---       #79
-      01003516H   LINE      ---      ---       #80
-      01003516H   LINE      ---      ---       #82
-      01003516H   LINE      ---      ---       #83
-      0100351DH   LINE      ---      ---       #84
-      0100351DH   LINE      ---      ---       #86
-      0100351DH   LINE      ---      ---       #88
-      0100351DH   LINE      ---      ---       #89
-      01003524H   LINE      ---      ---       #91
-      01003524H   LINE      ---      ---       #92
-      01003524H   LINE      ---      ---       #94
-      01003524H   LINE      ---      ---       #95
-      0100352BH   LINE      ---      ---       #97
-      0100352BH   LINE      ---      ---       #98
-      0100352BH   LINE      ---      ---       #99
-      0100352BH   LINE      ---      ---       #101
-      0100352BH   LINE      ---      ---       #102
-      01003532H   LINE      ---      ---       #104
-      01003532H   LINE      ---      ---       #106
+      01003512H   BLOCK     CODE     ---       LVL=0
+      01003512H   LINE      ---      ---       #39
+      01003512H   LINE      ---      ---       #40
+      01003512H   LINE      ---      ---       #41
+      0100351CH   LINE      ---      ---       #44
+      01003530H   LINE      ---      ---       #45
+      01003530H   LINE      ---      ---       #47
+      01003537H   LINE      ---      ---       #48
+      01003537H   LINE      ---      ---       #49
+      0100353AH   LINE      ---      ---       #50
+      0100353CH   LINE      ---      ---       #51
+      01003543H   LINE      ---      ---       #52
+      01003543H   LINE      ---      ---       #53
+      01003549H   LINE      ---      ---       #54
+      01003549H   LINE      ---      ---       #55
+      0100354FH   LINE      ---      ---       #56
+      01003555H   LINE      ---      ---       #57
+      01003555H   LINE      ---      ---       #58
+      01003557H   LINE      ---      ---       #60
+      01003557H   LINE      ---      ---       #61
+      0100355EH   LINE      ---      ---       #62
+      0100355EH   LINE      ---      ---       #63
+      01003560H   LINE      ---      ---       #64
+      01003564H   LINE      ---      ---       #65
+      01003567H   LINE      ---      ---       #66
+      01003567H   LINE      ---      ---       #67
+      01003567H   LINE      ---      ---       #71
+      01003567H   LINE      ---      ---       #72
+      0100356DH   LINE      ---      ---       #73
+      0100356DH   LINE      ---      ---       #74
+      0100357CH   LINE      ---      ---       #75
+      0100357CH   LINE      ---      ---       #77
+      01003583H   LINE      ---      ---       #78
+      01003583H   LINE      ---      ---       #79
+      0100358AH   LINE      ---      ---       #80
+      0100358AH   LINE      ---      ---       #82
+      0100358AH   LINE      ---      ---       #83
+      01003591H   LINE      ---      ---       #84
+      01003591H   LINE      ---      ---       #86
+      01003591H   LINE      ---      ---       #88
+      01003591H   LINE      ---      ---       #89
+      01003598H   LINE      ---      ---       #91
+      01003598H   LINE      ---      ---       #92
+      01003598H   LINE      ---      ---       #94
+      01003598H   LINE      ---      ---       #95
+      0100359FH   LINE      ---      ---       #97
+      0100359FH   LINE      ---      ---       #98
+      0100359FH   LINE      ---      ---       #99
+      0100359FH   LINE      ---      ---       #101
+      0100359FH   LINE      ---      ---       #102
+      010035A6H   LINE      ---      ---       #104
+      010035A6H   LINE      ---      ---       #106
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
       01001774H   PUBLIC    CODE     ---       YC_System_Main
       01001C17H   PUBLIC    CODE     ---       kb_button_press_timer500ms
-      01003293H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
+      010032BFH   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
       0100204AH   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
       01001EC8H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
-      0100325EH   PUBLIC    CODE     ---       LED_timer500ms
-      01003495H   PUBLIC    CODE     ---       System_Reset_Connect
+      0100328AH   PUBLIC    CODE     ---       LED_timer500ms
+      010034D5H   PUBLIC    CODE     ---       System_Reset_Connect
       01001E9CH   PUBLIC    CODE     ---       System_G24_long_lpm
       01000F42H   PUBLIC    CODE     ---       System_long_sleep
-      01003533H   PUBLIC    CODE     ---       System_Software_init
+      010035A7H   PUBLIC    CODE     ---       System_Software_init
       01002D80H   PUBLIC    CODE     ---       System_clear_timer_status
 
       01001590H   BLOCK     CODE     ---       LVL=0
@@ -2334,26 +2337,26 @@
       01001DA2H   LINE      ---      ---       #66
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003533H   BLOCK     CODE     ---       LVL=0
-      01003533H   LINE      ---      ---       #70
-      01003533H   LINE      ---      ---       #71
-      01003533H   LINE      ---      ---       #72
-      01003536H   LINE      ---      ---       #73
-      01003538H   LINE      ---      ---       #74
-      0100353EH   LINE      ---      ---       #75
-      01003544H   LINE      ---      ---       #76
-      01003549H   LINE      ---      ---       #77
-      0100354FH   LINE      ---      ---       #78
-      01003557H   LINE      ---      ---       #79
-      0100355FH   LINE      ---      ---       #80
-      01003567H   LINE      ---      ---       #81
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003495H   BLOCK     CODE     ---       LVL=0
-      01003495H   LINE      ---      ---       #83
-      01003495H   LINE      ---      ---       #84
-      01003495H   LINE      ---      ---       #85
-      0100349BH   LINE      ---      ---       #86
+      010035A7H   BLOCK     CODE     ---       LVL=0
+      010035A7H   LINE      ---      ---       #70
+      010035A7H   LINE      ---      ---       #71
+      010035A7H   LINE      ---      ---       #72
+      010035AAH   LINE      ---      ---       #73
+      010035ACH   LINE      ---      ---       #74
+      010035B2H   LINE      ---      ---       #75
+      010035B8H   LINE      ---      ---       #76
+      010035BDH   LINE      ---      ---       #77
+      010035C3H   LINE      ---      ---       #78
+      010035CBH   LINE      ---      ---       #79
+      010035D3H   LINE      ---      ---       #80
+      010035DBH   LINE      ---      ---       #81
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010034D5H   BLOCK     CODE     ---       LVL=0
+      010034D5H   LINE      ---      ---       #83
+      010034D5H   LINE      ---      ---       #84
+      010034D5H   LINE      ---      ---       #85
+      010034DBH   LINE      ---      ---       #86
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000F42H   BLOCK     CODE     ---       LVL=0
@@ -2380,16 +2383,16 @@
       01001EC7H   LINE      ---      ---       #110
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003495H   BLOCK     CODE     ---       LVL=0
+      010034D5H   BLOCK     CODE     ---       LVL=0
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003634H   BLOCK     CODE     ---       LVL=0
-      01003634H   LINE      ---      ---       #122
-      01003639H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003639H   LINE      ---      ---       #124
-      01003643H   LINE      ---      ---       #126
-      01003643H   LINE      ---      ---       #128
-      01003643H   LINE      ---      ---       #129
+      010036A8H   BLOCK     CODE     ---       LVL=0
+      010036A8H   LINE      ---      ---       #122
+      010036ADH   BLOCK     CODE     NEAR LAB  LVL=1
+      010036ADH   LINE      ---      ---       #124
+      010036B7H   LINE      ---      ---       #126
+      010036B7H   LINE      ---      ---       #128
+      010036B7H   LINE      ---      ---       #129
       02004F05H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2667,21 +2670,21 @@
       01000F41H   LINE      ---      ---       #454
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100325EH   BLOCK     CODE     ---       LVL=0
-      0100325EH   LINE      ---      ---       #457
-      0100325EH   LINE      ---      ---       #458
-      0100325EH   LINE      ---      ---       #459
-      01003272H   LINE      ---      ---       #460
-      01003272H   LINE      ---      ---       #461
-      01003278H   LINE      ---      ---       #462
-      01003278H   LINE      ---      ---       #463
-      0100327FH   LINE      ---      ---       #464
-      01003283H   LINE      ---      ---       #465
-      0100328AH   LINE      ---      ---       #466
-      0100328EH   LINE      ---      ---       #468
-      01003292H   LINE      ---      ---       #469
-      01003292H   LINE      ---      ---       #470
-      01003292H   LINE      ---      ---       #471
+      0100328AH   BLOCK     CODE     ---       LVL=0
+      0100328AH   LINE      ---      ---       #457
+      0100328AH   LINE      ---      ---       #458
+      0100328AH   LINE      ---      ---       #459
+      0100329EH   LINE      ---      ---       #460
+      0100329EH   LINE      ---      ---       #461
+      010032A4H   LINE      ---      ---       #462
+      010032A4H   LINE      ---      ---       #463
+      010032ABH   LINE      ---      ---       #464
+      010032AFH   LINE      ---      ---       #465
+      010032B6H   LINE      ---      ---       #466
+      010032BAH   LINE      ---      ---       #468
+      010032BEH   LINE      ---      ---       #469
+      010032BEH   LINE      ---      ---       #470
+      010032BEH   LINE      ---      ---       #471
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001EC8H   BLOCK     CODE     ---       LVL=0
@@ -2773,45 +2776,45 @@
       0100209BH   LINE      ---      ---       #582
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003293H   BLOCK     CODE     ---       LVL=0
-      01003293H   LINE      ---      ---       #585
-      01003293H   LINE      ---      ---       #586
-      01003293H   LINE      ---      ---       #588
-      0100329DH   LINE      ---      ---       #589
-      0100329DH   LINE      ---      ---       #590
-      010032A4H   LINE      ---      ---       #591
-      010032A8H   LINE      ---      ---       #592
-      010032B6H   LINE      ---      ---       #593
-      010032BEH   LINE      ---      ---       #594
-      010032BEH   LINE      ---      ---       #595
-      010032C3H   LINE      ---      ---       #597
-      010032CAH   LINE      ---      ---       #598
-      010032D0H   LINE      ---      ---       #600
-      010032D4H   LINE      ---      ---       #602
-      010032D6H   LINE      ---      ---       #604
-      010032D6H   LINE      ---      ---       #605
-      010032DCH   LINE      ---      ---       #606
-      010032DFH   LINE      ---      ---       #607
-      010032DFH   LINE      ---      ---       #608
-      010032E9H   LINE      ---      ---       #609
-      010032E9H   LINE      ---      ---       #610
-      010032F1H   LINE      ---      ---       #611
-      010032F5H   LINE      ---      ---       #613
-      010032FAH   LINE      ---      ---       #614
-      010032FDH   LINE      ---      ---       #615
-      010032FDH   LINE      ---      ---       #616
-      010032FDH   LINE      ---      ---       #618
-      01003307H   LINE      ---      ---       #619
-      01003307H   LINE      ---      ---       #620
-      0100330EH   LINE      ---      ---       #621
-      0100331CH   LINE      ---      ---       #622
-      01003320H   LINE      ---      ---       #623
-      0100332AH   LINE      ---      ---       #624
-      0100332AH   LINE      ---      ---       #626
-      0100332FH   LINE      ---      ---       #627
-      01003332H   LINE      ---      ---       #628
-      01003332H   LINE      ---      ---       #629
-      01003332H   LINE      ---      ---       #630
+      010032BFH   BLOCK     CODE     ---       LVL=0
+      010032BFH   LINE      ---      ---       #585
+      010032BFH   LINE      ---      ---       #586
+      010032BFH   LINE      ---      ---       #588
+      010032C9H   LINE      ---      ---       #589
+      010032C9H   LINE      ---      ---       #590
+      010032D0H   LINE      ---      ---       #591
+      010032D4H   LINE      ---      ---       #592
+      010032E2H   LINE      ---      ---       #593
+      010032EAH   LINE      ---      ---       #594
+      010032EAH   LINE      ---      ---       #595
+      010032EFH   LINE      ---      ---       #597
+      010032F6H   LINE      ---      ---       #598
+      010032FCH   LINE      ---      ---       #600
+      01003300H   LINE      ---      ---       #602
+      01003302H   LINE      ---      ---       #604
+      01003302H   LINE      ---      ---       #605
+      01003308H   LINE      ---      ---       #606
+      0100330BH   LINE      ---      ---       #607
+      0100330BH   LINE      ---      ---       #608
+      01003315H   LINE      ---      ---       #609
+      01003315H   LINE      ---      ---       #610
+      0100331DH   LINE      ---      ---       #611
+      01003321H   LINE      ---      ---       #613
+      01003326H   LINE      ---      ---       #614
+      01003329H   LINE      ---      ---       #615
+      01003329H   LINE      ---      ---       #616
+      01003329H   LINE      ---      ---       #618
+      01003333H   LINE      ---      ---       #619
+      01003333H   LINE      ---      ---       #620
+      0100333AH   LINE      ---      ---       #621
+      01003348H   LINE      ---      ---       #622
+      0100334CH   LINE      ---      ---       #623
+      01003356H   LINE      ---      ---       #624
+      01003356H   LINE      ---      ---       #626
+      0100335BH   LINE      ---      ---       #627
+      0100335EH   LINE      ---      ---       #628
+      0100335EH   LINE      ---      ---       #629
+      0100335EH   LINE      ---      ---       #630
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001C17H   BLOCK     CODE     ---       LVL=0
@@ -2925,232 +2928,248 @@
       01002005H   LINE      ---      ---       #770
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100338AH   BLOCK     CODE     ---       LVL=0
-      0100338AH   LINE      ---      ---       #773
-      0100338AH   LINE      ---      ---       #774
-      0100338AH   LINE      ---      ---       #777
-      01003390H   LINE      ---      ---       #778
-      01003390H   LINE      ---      ---       #779
-      01003392H   LINE      ---      ---       #780
-      01003392H   LINE      ---      ---       #782
-      01003398H   LINE      ---      ---       #783
-      0100339AH   LINE      ---      ---       #785
-      010033A0H   LINE      ---      ---       #786
-      010033A0H   LINE      ---      ---       #787
-      010033A2H   LINE      ---      ---       #788
-      010033A5H   LINE      ---      ---       #789
-      010033ABH   LINE      ---      ---       #790
-      010033ABH   LINE      ---      ---       #792
-      010033B1H   LINE      ---      ---       #793
-      010033B1H   LINE      ---      ---       #794
-      010033C5H   LINE      ---      ---       #795
-      010033C5H   LINE      ---      ---       #796
-      010033CBH   LINE      ---      ---       #798
-      010033CBH   LINE      ---      ---       #800
-      010033D1H   LINE      ---      ---       #801
-      010033D4H   LINE      ---      ---       #802
-      010033D4H   LINE      ---      ---       #803
-      010033D6H   LINE      ---      ---       #804
-      010033D8H   LINE      ---      ---       #806
-      010033D8H   LINE      ---      ---       #807
-      010033DBH   LINE      ---      ---       #808
-      010033DBH   LINE      ---      ---       #810
-      010033DBH   LINE      ---      ---       #814
-      010033E1H   LINE      ---      ---       #815
-      010033E1H   LINE      ---      ---       #816
-      010033E9H   LINE      ---      ---       #817
-      010033E9H   LINE      ---      ---       #818
-      010033EFH   LINE      ---      ---       #819
-      010033F3H   LINE      ---      ---       #821
-      010033F9H   LINE      ---      ---       #822
-      010033F9H   LINE      ---      ---       #823
-      01003404H   LINE      ---      ---       #824
-      01003406H   LINE      ---      ---       #825
-      0100340CH   LINE      ---      ---       #826
-      0100340CH   LINE      ---      ---       #828
-      01003417H   LINE      ---      ---       #829
-      01003417H   LINE      ---      ---       #830
-      01003417H   LINE      ---      ---       #831
-      01003417H   LINE      ---      ---       #833
-      0100342FH   LINE      ---      ---       #834
-      0100342FH   LINE      ---      ---       #835
-      01003435H   LINE      ---      ---       #836
-      01003437H   LINE      ---      ---       #837
-      0100343DH   LINE      ---      ---       #838
-      0100343DH   LINE      ---      ---       #839
-      01003440H   LINE      ---      ---       #840
-      01003440H   LINE      ---      ---       #841
-      01003440H   LINE      ---      ---       #844
-      01003446H   LINE      ---      ---       #845
-      01003446H   LINE      ---      ---       #846
-      01003449H   LINE      ---      ---       #847
-      0100344CH   LINE      ---      ---       #848
-      0100344CH   LINE      ---      ---       #849
-      0100344EH   LINE      ---      ---       #850
-      0100344EH   LINE      ---      ---       #851
-      0100344EH   LINE      ---      ---       #854
+      0100335FH   BLOCK     CODE     ---       LVL=0
+      0100335FH   LINE      ---      ---       #773
+      0100335FH   LINE      ---      ---       #774
+      0100335FH   LINE      ---      ---       #777
+      01003365H   LINE      ---      ---       #778
+      01003365H   LINE      ---      ---       #779
+      01003367H   LINE      ---      ---       #780
+      01003367H   LINE      ---      ---       #782
+      0100336DH   LINE      ---      ---       #783
+      0100336FH   LINE      ---      ---       #785
+      01003375H   LINE      ---      ---       #786
+      01003375H   LINE      ---      ---       #787
+      01003377H   LINE      ---      ---       #788
+      0100337AH   LINE      ---      ---       #789
+      01003380H   LINE      ---      ---       #790
+      01003380H   LINE      ---      ---       #792
+      01003386H   LINE      ---      ---       #793
+      01003386H   LINE      ---      ---       #794
+      0100339AH   LINE      ---      ---       #795
+      0100339AH   LINE      ---      ---       #796
+      010033A0H   LINE      ---      ---       #798
+      010033A0H   LINE      ---      ---       #800
+      010033A6H   LINE      ---      ---       #801
+      010033A9H   LINE      ---      ---       #802
+      010033A9H   LINE      ---      ---       #803
+      010033ABH   LINE      ---      ---       #804
+      010033ADH   LINE      ---      ---       #806
+      010033ADH   LINE      ---      ---       #807
+      010033B0H   LINE      ---      ---       #808
+      010033B0H   LINE      ---      ---       #810
+      010033B2H   LINE      ---      ---       #811
+      010033C6H   LINE      ---      ---       #812
+      010033C6H   LINE      ---      ---       #813
+      010033CDH   LINE      ---      ---       #814
+      010033CDH   LINE      ---      ---       #815
+      010033DCH   LINE      ---      ---       #816
+      010033DCH   LINE      ---      ---       #817
+      010033E2H   LINE      ---      ---       #818
+      010033E6H   LINE      ---      ---       #819
+      010033E6H   LINE      ---      ---       #820
+      010033EAH   LINE      ---      ---       #821
+      010033EAH   LINE      ---      ---       #822
+      010033ECH   LINE      ---      ---       #824
+      010033F1H   LINE      ---      ---       #825
+      010033F3H   LINE      ---      ---       #827
+      010033F8H   LINE      ---      ---       #829
+      010033F8H   LINE      ---      ---       #832
+      010033FEH   LINE      ---      ---       #833
+      010033FEH   LINE      ---      ---       #834
+      01003406H   LINE      ---      ---       #835
+      01003406H   LINE      ---      ---       #836
+      0100340CH   LINE      ---      ---       #837
+      01003410H   LINE      ---      ---       #839
+      01003416H   LINE      ---      ---       #840
+      01003416H   LINE      ---      ---       #841
+      01003421H   LINE      ---      ---       #842
+      01003423H   LINE      ---      ---       #843
+      01003429H   LINE      ---      ---       #844
+      01003429H   LINE      ---      ---       #846
+      01003434H   LINE      ---      ---       #847
+      01003434H   LINE      ---      ---       #848
+      01003434H   LINE      ---      ---       #849
+      01003434H   LINE      ---      ---       #851
+      0100344CH   LINE      ---      ---       #852
+      0100344CH   LINE      ---      ---       #853
+      01003452H   LINE      ---      ---       #854
       01003454H   LINE      ---      ---       #855
-      01003454H   LINE      ---      ---       #856
-      01003457H   LINE      ---      ---       #857
-      0100345AH   LINE      ---      ---       #858
-      0100345AH   LINE      ---      ---       #859
-      01003460H   LINE      ---      ---       #860
-      01003460H   LINE      ---      ---       #861
-      01003465H   LINE      ---      ---       #862
-      01003465H   LINE      ---      ---       #863
-      01003465H   LINE      ---      ---       #864
-      01003465H   LINE      ---      ---       #866
-      0100346BH   LINE      ---      ---       #867
+      0100345AH   LINE      ---      ---       #856
+      0100345AH   LINE      ---      ---       #857
+      0100345DH   LINE      ---      ---       #858
+      0100345DH   LINE      ---      ---       #859
+      0100345DH   LINE      ---      ---       #862
+      01003463H   LINE      ---      ---       #863
+      01003463H   LINE      ---      ---       #864
+      01003466H   LINE      ---      ---       #865
+      01003469H   LINE      ---      ---       #866
+      01003469H   LINE      ---      ---       #867
       0100346BH   LINE      ---      ---       #868
-      0100346EH   LINE      ---      ---       #869
-      01003471H   LINE      ---      ---       #870
-      01003471H   LINE      ---      ---       #871
-      01003477H   LINE      ---      ---       #872
-      01003477H   LINE      ---      ---       #873
-      01003479H   LINE      ---      ---       #874
-      01003479H   LINE      ---      ---       #876
-      01003480H   LINE      ---      ---       #877
-      01003480H   LINE      ---      ---       #878
-      01003486H   LINE      ---      ---       #879
-      01003487H   LINE      ---      ---       #880
-      0100348EH   LINE      ---      ---       #881
-      0100348EH   LINE      ---      ---       #882
-      01003494H   LINE      ---      ---       #883
-      01003494H   LINE      ---      ---       #884
-      01003494H   LINE      ---      ---       #885
-      01003494H   LINE      ---      ---       #886
+      0100346BH   LINE      ---      ---       #869
+      0100346BH   LINE      ---      ---       #872
+      01003471H   LINE      ---      ---       #873
+      01003471H   LINE      ---      ---       #874
+      01003474H   LINE      ---      ---       #875
+      01003477H   LINE      ---      ---       #876
+      01003477H   LINE      ---      ---       #877
+      0100347DH   LINE      ---      ---       #878
+      0100347DH   LINE      ---      ---       #879
+      01003482H   LINE      ---      ---       #880
+      01003482H   LINE      ---      ---       #881
+      01003482H   LINE      ---      ---       #882
+      01003482H   LINE      ---      ---       #884
+      01003488H   LINE      ---      ---       #885
+      01003488H   LINE      ---      ---       #886
+      0100348BH   LINE      ---      ---       #887
+      0100348EH   LINE      ---      ---       #888
+      0100348EH   LINE      ---      ---       #889
+      01003494H   LINE      ---      ---       #890
+      01003494H   LINE      ---      ---       #891
+      01003496H   LINE      ---      ---       #892
+      01003496H   LINE      ---      ---       #894
+      0100349DH   LINE      ---      ---       #895
+      0100349DH   LINE      ---      ---       #896
+      010034A3H   LINE      ---      ---       #897
+      010034A4H   LINE      ---      ---       #898
+      010034ABH   LINE      ---      ---       #899
+      010034ABH   LINE      ---      ---       #900
+      010034B1H   LINE      ---      ---       #901
+      010034B1H   LINE      ---      ---       #902
+      010034B1H   LINE      ---      ---       #903
+      010034B1H   LINE      ---      ---       #904
       ---         BLOCKEND  ---      ---       LVL=0
 
       010017E2H   BLOCK     CODE     ---       LVL=0
-      010017E2H   LINE      ---      ---       #900
-      010017E2H   LINE      ---      ---       #901
-      010017E2H   LINE      ---      ---       #902
+      010017E2H   LINE      ---      ---       #918
+      010017E2H   LINE      ---      ---       #919
+      010017E2H   LINE      ---      ---       #920
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001774H   BLOCK     CODE     ---       LVL=0
-      01001774H   LINE      ---      ---       #907
-      01001774H   LINE      ---      ---       #908
-      01001774H   LINE      ---      ---       #909
-      01001776H   LINE      ---      ---       #910
-      01001776H   LINE      ---      ---       #911
-      01001779H   LINE      ---      ---       #912
-      0100177BH   LINE      ---      ---       #913
-      0100177EH   LINE      ---      ---       #914
-      01001781H   LINE      ---      ---       #916
-      01001787H   LINE      ---      ---       #917
-      01001787H   LINE      ---      ---       #918
-      0100178AH   LINE      ---      ---       #919
-      0100178AH   LINE      ---      ---       #921
-      01001795H   LINE      ---      ---       #922
-      01001795H   LINE      ---      ---       #923
-      01001798H   LINE      ---      ---       #925
-      0100179BH   LINE      ---      ---       #926
-      0100179DH   LINE      ---      ---       #927
-      0100179FH   LINE      ---      ---       #928
-      0100179FH   LINE      ---      ---       #930
-      0100179FH   LINE      ---      ---       #931
-      010017C3H   LINE      ---      ---       #933
-      010017C3H   LINE      ---      ---       #934
-      010017C6H   LINE      ---      ---       #935
-      010017C8H   LINE      ---      ---       #936
-      010017C8H   LINE      ---      ---       #938
-      010017C8H   LINE      ---      ---       #939
-      010017CBH   LINE      ---      ---       #940
-      010017CDH   LINE      ---      ---       #941
-      010017CFH   LINE      ---      ---       #942
-      010017CFH   LINE      ---      ---       #943
-      010017CFH   LINE      ---      ---       #944
+      01001774H   LINE      ---      ---       #925
+      01001774H   LINE      ---      ---       #926
+      01001774H   LINE      ---      ---       #927
+      01001776H   LINE      ---      ---       #928
+      01001776H   LINE      ---      ---       #929
+      01001779H   LINE      ---      ---       #930
+      0100177BH   LINE      ---      ---       #931
+      0100177EH   LINE      ---      ---       #932
+      01001781H   LINE      ---      ---       #934
+      01001787H   LINE      ---      ---       #935
+      01001787H   LINE      ---      ---       #936
+      0100178AH   LINE      ---      ---       #937
+      0100178AH   LINE      ---      ---       #939
+      01001795H   LINE      ---      ---       #940
+      01001795H   LINE      ---      ---       #941
+      01001798H   LINE      ---      ---       #943
+      0100179BH   LINE      ---      ---       #944
+      0100179DH   LINE      ---      ---       #945
+      0100179FH   LINE      ---      ---       #946
+      0100179FH   LINE      ---      ---       #948
+      0100179FH   LINE      ---      ---       #949
+      010017C3H   LINE      ---      ---       #951
+      010017C3H   LINE      ---      ---       #952
+      010017C6H   LINE      ---      ---       #953
+      010017C8H   LINE      ---      ---       #954
+      010017C8H   LINE      ---      ---       #956
+      010017C8H   LINE      ---      ---       #957
+      010017CBH   LINE      ---      ---       #958
+      010017CDH   LINE      ---      ---       #959
+      010017CFH   LINE      ---      ---       #960
+      010017CFH   LINE      ---      ---       #961
+      010017CFH   LINE      ---      ---       #962
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      01003817H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      01003644H   PUBLIC    CODE     ---       YC_adc_check
-      01003568H   PUBLIC    CODE     ---       YC_adc_init
-
-      01003568H   BLOCK     CODE     ---       LVL=0
-      01003568H   LINE      ---      ---       #3
-      01003568H   LINE      ---      ---       #4
-      01003568H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003568H   LINE      ---      ---       #8
-      0100356EH   LINE      ---      ---       #9
-      01003571H   LINE      ---      ---       #21
-      01003572H   LINE      ---      ---       #22
-      01003572H   LINE      ---      ---       #23
-      01003583H   LINE      ---      ---       #24
-      01003588H   LINE      ---      ---       #25
-      01003597H   LINE      ---      ---       #26
-      010035E5H   LINE      ---      ---       #27
-      01003633H   LINE      ---      ---       #40
+      0100388CH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      010036B8H   PUBLIC    CODE     ---       YC_adc_check
+      010035DCH   PUBLIC    CODE     ---       YC_adc_init
+
+      010035DCH   BLOCK     CODE     ---       LVL=0
+      010035DCH   LINE      ---      ---       #3
+      010035DCH   LINE      ---      ---       #4
+      010035DCH   BLOCK     CODE     NEAR LAB  LVL=1
+      010035DCH   LINE      ---      ---       #8
+      010035E2H   LINE      ---      ---       #9
+      010035E5H   LINE      ---      ---       #21
+      010035E6H   LINE      ---      ---       #22
+      010035E6H   LINE      ---      ---       #23
+      010035F7H   LINE      ---      ---       #24
+      010035FCH   LINE      ---      ---       #25
+      0100360BH   LINE      ---      ---       #26
+      01003659H   LINE      ---      ---       #27
+      010036A7H   LINE      ---      ---       #40
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003644H   BLOCK     CODE     ---       LVL=0
-      01003644H   LINE      ---      ---       #42
-      01003644H   LINE      ---      ---       #43
-      01003644H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003644H   LINE      ---      ---       #46
-      0100364EH   LINE      ---      ---       #48
-      0100365BH   LINE      ---      ---       #51
-      0100367BH   LINE      ---      ---       #52
-      01003684H   LINE      ---      ---       #53
-      01003686H   LINE      ---      ---       #54
-      0100368BH   LINE      ---      ---       #55
-      0100368BH   LINE      ---      ---       #56
-      010036C2H   LINE      ---      ---       #57
-      010036CCH   LINE      ---      ---       #58
-      010036E9H   LINE      ---      ---       #60
-      01003708H   LINE      ---      ---       #61
-      0100370FH   LINE      ---      ---       #62
-      0100372EH   LINE      ---      ---       #63
-      01003736H   LINE      ---      ---       #65
-      01003791H   LINE      ---      ---       #67
-      010037B0H   LINE      ---      ---       #68
-      010037B0H   LINE      ---      ---       #69
-      010037B6H   LINE      ---      ---       #70
-      010037B8H   LINE      ---      ---       #72
-      010037B8H   LINE      ---      ---       #73
-      010037D7H   LINE      ---      ---       #74
-      010037D7H   LINE      ---      ---       #75
-      010037DDH   LINE      ---      ---       #76
-      010037E3H   LINE      ---      ---       #77
-      010037E3H   LINE      ---      ---       #78
-      010037E7H   LINE      ---      ---       #79
-      010037EBH   LINE      ---      ---       #80
-      010037EFH   LINE      ---      ---       #81
-      010037F2H   LINE      ---      ---       #82
-      010037F2H   LINE      ---      ---       #83
-      010037F4H   LINE      ---      ---       #85
-      010037F4H   LINE      ---      ---       #86
-      010037F9H   LINE      ---      ---       #87
-      010037FFH   LINE      ---      ---       #88
-      010037FFH   LINE      ---      ---       #89
-      01003803H   LINE      ---      ---       #90
-      01003807H   LINE      ---      ---       #91
-      0100380BH   LINE      ---      ---       #92
-      0100380EH   LINE      ---      ---       #93
-      0100380EH   LINE      ---      ---       #94
-      0100380EH   LINE      ---      ---       #95
-      0100380EH   LINE      ---      ---       #97
-      01003816H   LINE      ---      ---       #99
+      010036B8H   BLOCK     CODE     ---       LVL=0
+      010036B8H   LINE      ---      ---       #42
+      010036B8H   LINE      ---      ---       #43
+      010036B8H   BLOCK     CODE     NEAR LAB  LVL=1
+      010036B8H   LINE      ---      ---       #46
+      010036C2H   LINE      ---      ---       #48
+      010036CFH   LINE      ---      ---       #51
+      010036EFH   LINE      ---      ---       #52
+      010036F8H   LINE      ---      ---       #53
+      010036FAH   LINE      ---      ---       #54
+      010036FFH   LINE      ---      ---       #55
+      010036FFH   LINE      ---      ---       #56
+      01003736H   LINE      ---      ---       #57
+      01003740H   LINE      ---      ---       #58
+      0100375DH   LINE      ---      ---       #60
+      0100377CH   LINE      ---      ---       #61
+      01003784H   LINE      ---      ---       #62
+      010037A3H   LINE      ---      ---       #63
+      010037ABH   LINE      ---      ---       #65
+      01003806H   LINE      ---      ---       #67
+      01003825H   LINE      ---      ---       #68
+      01003825H   LINE      ---      ---       #69
+      0100382BH   LINE      ---      ---       #70
+      0100382DH   LINE      ---      ---       #72
+      0100382DH   LINE      ---      ---       #73
+      0100384CH   LINE      ---      ---       #74
+      0100384CH   LINE      ---      ---       #75
+      01003852H   LINE      ---      ---       #76
+      01003858H   LINE      ---      ---       #77
+      01003858H   LINE      ---      ---       #78
+      0100385CH   LINE      ---      ---       #79
+      01003860H   LINE      ---      ---       #80
+      01003864H   LINE      ---      ---       #81
+      01003867H   LINE      ---      ---       #82
+      01003867H   LINE      ---      ---       #83
+      01003869H   LINE      ---      ---       #85
+      01003869H   LINE      ---      ---       #86
+      0100386EH   LINE      ---      ---       #87
+      01003874H   LINE      ---      ---       #88
+      01003874H   LINE      ---      ---       #89
+      01003878H   LINE      ---      ---       #90
+      0100387CH   LINE      ---      ---       #91
+      01003880H   LINE      ---      ---       #92
+      01003883H   LINE      ---      ---       #93
+      01003883H   LINE      ---      ---       #94
+      01003883H   LINE      ---      ---       #95
+      01003883H   LINE      ---      ---       #97
+      0100388BH   LINE      ---      ---       #99
       02004ECFH   SYMBOL    XDATA    VOID      i
       02004ED0H   SYMBOL    XDATA    VOID      batValue
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003817H   BLOCK     CODE     ---       LVL=0
-      01003817H   LINE      ---      ---       #102
-      01003817H   LINE      ---      ---       #103
-      01003817H   LINE      ---      ---       #106
-      0100381DH   LINE      ---      ---       #107
-      0100381DH   LINE      ---      ---       #108
-      0100381FH   LINE      ---      ---       #109
-      01003822H   LINE      ---      ---       #110
-      01003822H   LINE      ---      ---       #111
-      01003825H   LINE      ---      ---       #112
-      01003828H   LINE      ---      ---       #113
-      01003828H   LINE      ---      ---       #114
-      01003828H   LINE      ---      ---       #116
+      0100388CH   BLOCK     CODE     ---       LVL=0
+      0100388CH   LINE      ---      ---       #102
+      0100388CH   LINE      ---      ---       #103
+      0100388CH   LINE      ---      ---       #106
+      01003892H   LINE      ---      ---       #107
+      01003892H   LINE      ---      ---       #108
+      01003894H   LINE      ---      ---       #109
+      01003897H   LINE      ---      ---       #110
+      01003897H   LINE      ---      ---       #111
+      0100389AH   LINE      ---      ---       #112
+      0100389DH   LINE      ---      ---       #113
+      0100389DH   LINE      ---      ---       #114
+      0100389DH   LINE      ---      ---       #116
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
@@ -3173,39 +3192,39 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      010038D3H   PUBLIC    CODE     ---       IPC_DealSingleStep
-      01003B39H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      01003B2DH   PUBLIC    CODE     ---       IPC_AbandonLpm
+      01003948H   PUBLIC    CODE     ---       IPC_DealSingleStep
+      01003BAEH   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      01003BA2H   PUBLIC    CODE     ---       IPC_AbandonLpm
       010017D2H   PUBLIC    CODE     ---       IPC_WaitLpm
       010017E8H   PUBLIC    CODE     ---       _IPC_Initialize
-      01003B27H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      01003B13H   PUBLIC    CODE     ---       _IPC_TxBleData
-      01003B0BH   PUBLIC    CODE     ---       _IPC_TxSppData
-      01003B03H   PUBLIC    CODE     ---       _IPC_Tx24GData
-      01003B1BH   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
-      01003ADCH   PUBLIC    CODE     ---       _IPC_TxData
+      01003B9CH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01003B88H   PUBLIC    CODE     ---       _IPC_TxBleData
+      01003B80H   PUBLIC    CODE     ---       _IPC_TxSppData
+      01003B78H   PUBLIC    CODE     ---       _IPC_Tx24GData
+      01003B90H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
+      01003B51H   PUBLIC    CODE     ---       _IPC_TxData
       0100085FH   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      01003829H   BLOCK     CODE     ---       LVL=0
-      01003829H   LINE      ---      ---       #44
-      01003839H   LINE      ---      ---       #45
-      01003839H   LINE      ---      ---       #46
-      01003882H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003883H   BLOCK     CODE     ---       LVL=0
-      01003883H   LINE      ---      ---       #49
-      0100388DH   LINE      ---      ---       #50
-      0100388DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100388DH   LINE      ---      ---       #51
-      01003895H   LINE      ---      ---       #52
-      0100389BH   LINE      ---      ---       #53
-      010038BAH   LINE      ---      ---       #54
-      010038C4H   LINE      ---      ---       #55
-      010038C8H   LINE      ---      ---       #56
-      010038C8H   LINE      ---      ---       #57
-      010038CAH   LINE      ---      ---       #58
-      010038D2H   LINE      ---      ---       #59
+      0100389EH   BLOCK     CODE     ---       LVL=0
+      0100389EH   LINE      ---      ---       #44
+      010038AEH   LINE      ---      ---       #45
+      010038AEH   LINE      ---      ---       #46
+      010038F7H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010038F8H   BLOCK     CODE     ---       LVL=0
+      010038F8H   LINE      ---      ---       #49
+      01003902H   LINE      ---      ---       #50
+      01003902H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003902H   LINE      ---      ---       #51
+      0100390AH   LINE      ---      ---       #52
+      01003910H   LINE      ---      ---       #53
+      0100392FH   LINE      ---      ---       #54
+      01003939H   LINE      ---      ---       #55
+      0100393DH   LINE      ---      ---       #56
+      0100393DH   LINE      ---      ---       #57
+      0100393FH   LINE      ---      ---       #58
+      01003947H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3239,49 +3258,49 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003ADCH   BLOCK     CODE     ---       LVL=0
-      01003ADCH   LINE      ---      ---       #83
-      01003AE1H   LINE      ---      ---       #84
-      01003AE1H   LINE      ---      ---       #85
-      01003AE7H   LINE      ---      ---       #86
-      01003AF3H   LINE      ---      ---       #87
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003B1BH   BLOCK     CODE     ---       LVL=0
-      01003B1BH   LINE      ---      ---       #90
-      01003B1BH   LINE      ---      ---       #91
-      01003B1BH   LINE      ---      ---       #92
-      01003B21H   LINE      ---      ---       #93
-      01003B24H   LINE      ---      ---       #94
-      01003B26H   LINE      ---      ---       #95
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003B03H   BLOCK     CODE     ---       LVL=0
-      01003B03H   LINE      ---      ---       #97
-      01003B03H   LINE      ---      ---       #98
-      01003B03H   LINE      ---      ---       #99
-      01003B09H   LINE      ---      ---       #100
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003B0BH   BLOCK     CODE     ---       LVL=0
-      01003B0BH   LINE      ---      ---       #103
-      01003B0BH   LINE      ---      ---       #104
-      01003B0BH   LINE      ---      ---       #105
-      01003B11H   LINE      ---      ---       #106
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003B13H   BLOCK     CODE     ---       LVL=0
-      01003B13H   LINE      ---      ---       #109
-      01003B13H   LINE      ---      ---       #110
-      01003B13H   LINE      ---      ---       #111
-      01003B19H   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003B27H   BLOCK     CODE     ---       LVL=0
-      01003B27H   LINE      ---      ---       #115
-      01003B27H   LINE      ---      ---       #116
-      01003B27H   LINE      ---      ---       #117
-      01003B2CH   LINE      ---      ---       #118
+      01003B51H   BLOCK     CODE     ---       LVL=0
+      01003B51H   LINE      ---      ---       #83
+      01003B56H   LINE      ---      ---       #84
+      01003B56H   LINE      ---      ---       #85
+      01003B5CH   LINE      ---      ---       #86
+      01003B68H   LINE      ---      ---       #87
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003B90H   BLOCK     CODE     ---       LVL=0
+      01003B90H   LINE      ---      ---       #90
+      01003B90H   LINE      ---      ---       #91
+      01003B90H   LINE      ---      ---       #92
+      01003B96H   LINE      ---      ---       #93
+      01003B99H   LINE      ---      ---       #94
+      01003B9BH   LINE      ---      ---       #95
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003B78H   BLOCK     CODE     ---       LVL=0
+      01003B78H   LINE      ---      ---       #97
+      01003B78H   LINE      ---      ---       #98
+      01003B78H   LINE      ---      ---       #99
+      01003B7EH   LINE      ---      ---       #100
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003B80H   BLOCK     CODE     ---       LVL=0
+      01003B80H   LINE      ---      ---       #103
+      01003B80H   LINE      ---      ---       #104
+      01003B80H   LINE      ---      ---       #105
+      01003B86H   LINE      ---      ---       #106
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003B88H   BLOCK     CODE     ---       LVL=0
+      01003B88H   LINE      ---      ---       #109
+      01003B88H   LINE      ---      ---       #110
+      01003B88H   LINE      ---      ---       #111
+      01003B8EH   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003B9CH   BLOCK     CODE     ---       LVL=0
+      01003B9CH   LINE      ---      ---       #115
+      01003B9CH   LINE      ---      ---       #116
+      01003B9CH   LINE      ---      ---       #117
+      01003BA1H   LINE      ---      ---       #118
       ---         BLOCKEND  ---      ---       LVL=0
 
       010017E8H   BLOCK     CODE     ---       LVL=0
@@ -3298,66 +3317,66 @@
       010017DBH   LINE      ---      ---       #129
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003B2DH   BLOCK     CODE     ---       LVL=0
-      01003B2DH   LINE      ---      ---       #132
-      01003B2DH   LINE      ---      ---       #133
-      01003B2DH   LINE      ---      ---       #134
-      01003B33H   LINE      ---      ---       #135
-      01003B38H   LINE      ---      ---       #136
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003B39H   BLOCK     CODE     ---       LVL=0
-      01003B39H   LINE      ---      ---       #138
-      01003B39H   LINE      ---      ---       #139
-      01003B39H   LINE      ---      ---       #140
-      01003B4DH   LINE      ---      ---       #141
-      01003B4FH   LINE      ---      ---       #142
-      01003B50H   LINE      ---      ---       #143
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010038D3H   BLOCK     CODE     ---       LVL=0
-      010038D3H   LINE      ---      ---       #146
-      010038D3H   LINE      ---      ---       #147
-      010038D3H   BLOCK     CODE     NEAR LAB  LVL=1
-      010038D3H   LINE      ---      ---       #148
-      010038E5H   LINE      ---      ---       #149
-      010038FBH   LINE      ---      ---       #150
-      010038FBH   LINE      ---      ---       #151
-      01003903H   LINE      ---      ---       #152
-      01003914H   LINE      ---      ---       #153
-      0100391EH   LINE      ---      ---       #154
-      0100393DH   LINE      ---      ---       #155
-      0100393FH   LINE      ---      ---       #156
-      01003951H   LINE      ---      ---       #157
-      0100395AH   LINE      ---      ---       #158
-      01003970H   LINE      ---      ---       #159
-      010039A8H   LINE      ---      ---       #160
-      010039AAH   LINE      ---      ---       #161
-      010039BCH   LINE      ---      ---       #162
-      010039C5H   LINE      ---      ---       #163
-      010039DBH   LINE      ---      ---       #164
-      01003A13H   LINE      ---      ---       #165
-      01003A15H   LINE      ---      ---       #166
-      01003A27H   LINE      ---      ---       #167
-      01003A30H   LINE      ---      ---       #168
-      01003A46H   LINE      ---      ---       #169
-      01003A7EH   LINE      ---      ---       #170
-      01003A80H   LINE      ---      ---       #171
-      01003A80H   LINE      ---      ---       #172
-      01003A82H   LINE      ---      ---       #173
-      01003A82H   LINE      ---      ---       #174
-      01003A82H   LINE      ---      ---       #175
-      01003A96H   LINE      ---      ---       #176
-      01003AA4H   LINE      ---      ---       #178
-      01003AA7H   LINE      ---      ---       #180
-      01003AB6H   LINE      ---      ---       #181
-      01003AB8H   LINE      ---      ---       #182
-      01003AC2H   LINE      ---      ---       #183
-      01003AD0H   LINE      ---      ---       #185
-      01003AD3H   LINE      ---      ---       #187
-      01003AD9H   LINE      ---      ---       #188
-      01003ADBH   LINE      ---      ---       #190
-      01003A82H   SYMBOL    ---      ---       IPC_TIMERingleStep
+      01003BA2H   BLOCK     CODE     ---       LVL=0
+      01003BA2H   LINE      ---      ---       #132
+      01003BA2H   LINE      ---      ---       #133
+      01003BA2H   LINE      ---      ---       #134
+      01003BA8H   LINE      ---      ---       #135
+      01003BADH   LINE      ---      ---       #136
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003BAEH   BLOCK     CODE     ---       LVL=0
+      01003BAEH   LINE      ---      ---       #138
+      01003BAEH   LINE      ---      ---       #139
+      01003BAEH   LINE      ---      ---       #140
+      01003BC2H   LINE      ---      ---       #141
+      01003BC4H   LINE      ---      ---       #142
+      01003BC5H   LINE      ---      ---       #143
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003948H   BLOCK     CODE     ---       LVL=0
+      01003948H   LINE      ---      ---       #146
+      01003948H   LINE      ---      ---       #147
+      01003948H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003948H   LINE      ---      ---       #148
+      0100395AH   LINE      ---      ---       #149
+      01003970H   LINE      ---      ---       #150
+      01003970H   LINE      ---      ---       #151
+      01003978H   LINE      ---      ---       #152
+      01003989H   LINE      ---      ---       #153
+      01003993H   LINE      ---      ---       #154
+      010039B2H   LINE      ---      ---       #155
+      010039B4H   LINE      ---      ---       #156
+      010039C6H   LINE      ---      ---       #157
+      010039CFH   LINE      ---      ---       #158
+      010039E5H   LINE      ---      ---       #159
+      01003A1DH   LINE      ---      ---       #160
+      01003A1FH   LINE      ---      ---       #161
+      01003A31H   LINE      ---      ---       #162
+      01003A3AH   LINE      ---      ---       #163
+      01003A50H   LINE      ---      ---       #164
+      01003A88H   LINE      ---      ---       #165
+      01003A8AH   LINE      ---      ---       #166
+      01003A9CH   LINE      ---      ---       #167
+      01003AA5H   LINE      ---      ---       #168
+      01003ABBH   LINE      ---      ---       #169
+      01003AF3H   LINE      ---      ---       #170
+      01003AF5H   LINE      ---      ---       #171
+      01003AF5H   LINE      ---      ---       #172
+      01003AF7H   LINE      ---      ---       #173
+      01003AF7H   LINE      ---      ---       #174
+      01003AF7H   LINE      ---      ---       #175
+      01003B0BH   LINE      ---      ---       #176
+      01003B19H   LINE      ---      ---       #178
+      01003B1CH   LINE      ---      ---       #180
+      01003B2BH   LINE      ---      ---       #181
+      01003B2DH   LINE      ---      ---       #182
+      01003B37H   LINE      ---      ---       #183
+      01003B45H   LINE      ---      ---       #185
+      01003B48H   LINE      ---      ---       #187
+      01003B4EH   LINE      ---      ---       #188
+      01003B50H   LINE      ---      ---       #190
+      01003AF7H   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004EF4H   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3369,16 +3388,16 @@
       01002182H   PUBLIC    CODE     ---       _xmemclear_ff
       01001564H   PUBLIC    CODE     ---       _xmemclear
       02004E9CH   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      01003B58H   PUBLIC    CODE     ---       _dmemcpy
+      01003BCDH   PUBLIC    CODE     ---       _dmemcpy
       02004EBFH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       010010D2H   PUBLIC    CODE     ---       _xmemcpy
-      01003B51H   PUBLIC    CODE     ---       YC_Ice_break
+      01003BC6H   PUBLIC    CODE     ---       YC_Ice_break
 
-      01003B51H   BLOCK     CODE     ---       LVL=0
-      01003B51H   LINE      ---      ---       #3
-      01003B51H   LINE      ---      ---       #4
-      01003B51H   LINE      ---      ---       #5
-      01003B57H   LINE      ---      ---       #7
+      01003BC6H   BLOCK     CODE     ---       LVL=0
+      01003BC6H   LINE      ---      ---       #3
+      01003BC6H   LINE      ---      ---       #4
+      01003BC6H   LINE      ---      ---       #5
+      01003BCCH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       010010D2H   BLOCK     CODE     ---       LVL=0
@@ -3389,12 +3408,12 @@
       01001114H   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003B58H   BLOCK     CODE     ---       LVL=0
-      01003B58H   LINE      ---      ---       #16
-      01003B63H   LINE      ---      ---       #17
-      01003B63H   LINE      ---      ---       #18
-      01003B71H   LINE      ---      ---       #19
-      01003B9BH   LINE      ---      ---       #21
+      01003BCDH   BLOCK     CODE     ---       LVL=0
+      01003BCDH   LINE      ---      ---       #16
+      01003BD8H   LINE      ---      ---       #17
+      01003BD8H   LINE      ---      ---       #18
+      01003BE6H   LINE      ---      ---       #19
+      01003C10H   LINE      ---      ---       #21
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001564H   BLOCK     CODE     ---       LVL=0
@@ -3442,12 +3461,12 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      01003333H   PUBLIC    CODE     ---       GPIO_fillpd
-      01003242H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
-      0100315EH   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01003B9CH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      010034DEH   PUBLIC    CODE     ---       GPIO_fillpd
+      0100326EH   PUBLIC    CODE     ---       _GPIO_FlipOutBit
+      0100318AH   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      01003C11H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      01003171H   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      0100319DH   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
       01001D82H   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
@@ -3460,7 +3479,7 @@
       01001DCDH   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
       01000FE9H   PUBLIC    CODE     ---       _GPIO_Setout
-      010031FDH   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      01003229H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
       01001E1EH   BLOCK     CODE     ---       LVL=0
       01001E1EH   LINE      ---      ---       #9
@@ -3480,25 +3499,25 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003203H   BLOCK     CODE     ---       LVL=0
-      01003203H   LINE      ---      ---       #26
-      01003205H   LINE      ---      ---       #27
-      01003205H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003205H   LINE      ---      ---       #28
-      0100320AH   LINE      ---      ---       #29
-      0100320BH   LINE      ---      ---       #31
-      0100320FH   LINE      ---      ---       #32
-      01003216H   LINE      ---      ---       #33
-      01003241H   LINE      ---      ---       #35
+      0100322FH   BLOCK     CODE     ---       LVL=0
+      0100322FH   LINE      ---      ---       #26
+      01003231H   LINE      ---      ---       #27
+      01003231H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003231H   LINE      ---      ---       #28
+      01003236H   LINE      ---      ---       #29
+      01003237H   LINE      ---      ---       #31
+      0100323BH   LINE      ---      ---       #32
+      01003242H   LINE      ---      ---       #33
+      0100326DH   LINE      ---      ---       #35
       02004F11H   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010031FDH   BLOCK     CODE     ---       LVL=0
-      010031FDH   LINE      ---      ---       #37
-      010031FDH   LINE      ---      ---       #38
-      010031FDH   LINE      ---      ---       #39
+      01003229H   BLOCK     CODE     ---       LVL=0
+      01003229H   LINE      ---      ---       #37
+      01003229H   LINE      ---      ---       #38
+      01003229H   LINE      ---      ---       #39
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FE9H   BLOCK     CODE     ---       LVL=0
@@ -3553,69 +3572,69 @@
       01001D9DH   LINE      ---      ---       #86
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003171H   BLOCK     CODE     ---       LVL=0
-      01003171H   LINE      ---      ---       #88
-      01003171H   LINE      ---      ---       #89
-      01003171H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003171H   LINE      ---      ---       #92
-      01003177H   LINE      ---      ---       #94
-      0100317BH   LINE      ---      ---       #95
-      01003182H   LINE      ---      ---       #96
-      01003185H   LINE      ---      ---       #97
-      010031A6H   LINE      ---      ---       #98
-      010031C7H   LINE      ---      ---       #99
-      010031C8H   LINE      ---      ---       #101
-      010031C8H   LINE      ---      ---       #102
-      010031EAH   LINE      ---      ---       #103
-      010031FCH   LINE      ---      ---       #104
-      010031FCH   LINE      ---      ---       #105
+      0100319DH   BLOCK     CODE     ---       LVL=0
+      0100319DH   LINE      ---      ---       #88
+      0100319DH   LINE      ---      ---       #89
+      0100319DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100319DH   LINE      ---      ---       #92
+      010031A3H   LINE      ---      ---       #94
+      010031A7H   LINE      ---      ---       #95
+      010031AEH   LINE      ---      ---       #96
+      010031B1H   LINE      ---      ---       #97
+      010031D2H   LINE      ---      ---       #98
+      010031F3H   LINE      ---      ---       #99
+      010031F4H   LINE      ---      ---       #101
+      010031F4H   LINE      ---      ---       #102
+      01003216H   LINE      ---      ---       #103
+      01003228H   LINE      ---      ---       #104
+      01003228H   LINE      ---      ---       #105
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003B9CH   BLOCK     CODE     ---       LVL=0
-      01003B9CH   LINE      ---      ---       #107
-      01003B9CH   LINE      ---      ---       #108
-      01003B9CH   BLOCK     CODE     NEAR LAB  LVL=1
-      01003B9CH   LINE      ---      ---       #111
-      01003BA0H   LINE      ---      ---       #113
-      01003BA4H   LINE      ---      ---       #114
-      01003BABH   LINE      ---      ---       #115
-      01003BCDH   LINE      ---      ---       #116
-      01003BDAH   LINE      ---      ---       #117
+      01003C11H   BLOCK     CODE     ---       LVL=0
+      01003C11H   LINE      ---      ---       #107
+      01003C11H   LINE      ---      ---       #108
+      01003C11H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003C11H   LINE      ---      ---       #111
+      01003C15H   LINE      ---      ---       #113
+      01003C19H   LINE      ---      ---       #114
+      01003C20H   LINE      ---      ---       #115
+      01003C42H   LINE      ---      ---       #116
+      01003C4FH   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100315EH   BLOCK     CODE     ---       LVL=0
-      0100315EH   LINE      ---      ---       #119
-      01003163H   LINE      ---      ---       #120
-      01003163H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003163H   LINE      ---      ---       #121
-      01003167H   LINE      ---      ---       #122
+      0100318AH   BLOCK     CODE     ---       LVL=0
+      0100318AH   LINE      ---      ---       #119
+      0100318FH   LINE      ---      ---       #120
+      0100318FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100318FH   LINE      ---      ---       #121
+      01003193H   LINE      ---      ---       #122
       00000021H.0 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003242H   BLOCK     CODE     ---       LVL=0
-      01003242H   LINE      ---      ---       #125
-      01003247H   LINE      ---      ---       #126
-      01003247H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003247H   LINE      ---      ---       #127
-      01003251H   LINE      ---      ---       #128
+      0100326EH   BLOCK     CODE     ---       LVL=0
+      0100326EH   LINE      ---      ---       #125
+      01003273H   LINE      ---      ---       #126
+      01003273H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003273H   LINE      ---      ---       #127
+      0100327DH   LINE      ---      ---       #128
       00000021H.1 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003333H   BLOCK     CODE     ---       LVL=0
-      01003333H   LINE      ---      ---       #131
-      01003333H   LINE      ---      ---       #132
-      01003333H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003333H   LINE      ---      ---       #134
-      01003335H   LINE      ---      ---       #135
-      01003366H   LINE      ---      ---       #136
+      010034DEH   BLOCK     CODE     ---       LVL=0
+      010034DEH   LINE      ---      ---       #131
+      010034DEH   LINE      ---      ---       #132
+      010034DEH   BLOCK     CODE     NEAR LAB  LVL=1
+      010034DEH   LINE      ---      ---       #134
+      010034E0H   LINE      ---      ---       #135
+      01003511H   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3761,5 +3780,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=914 const=182 code=15141
+Program Size: data=10.2 xdata=914 const=182 code=15258
 LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)
Index: c51/output/FW.SBR
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/eeprom.dat
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/output/eeprom.dat	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/output/eeprom.dat	(working copy)
@@ -8192,8 +8192,8 @@
 38
 aa
 55
-dd
-3b
+52
+3c
 02
 05
 df
@@ -9851,13 +9851,13 @@
 d1
 ff
 33
-8a
+5f
 00
 00
 00
 ff
 36
-34
+a8
 00
 16
 08
@@ -10426,7 +10426,7 @@
 64
 12
 38
-29
+9e
 90
 4e
 bc
@@ -11036,7 +11036,7 @@
 9e
 12
 35
-33
+a7
 7b
 01
 7a
@@ -11074,8 +11074,8 @@
 c3
 f0
 12
-33
-67
+34
+b2
 7f
 0a
 f1
@@ -13518,7 +13518,7 @@
 fd
 12
 3b
-1b
+90
 90
 4c
 c7
@@ -13561,7 +13561,7 @@
 fd
 12
 3b
-13
+88
 90
 4c
 c5
@@ -13668,7 +13668,7 @@
 fd
 12
 3b
-03
+78
 22
 90
 4e
@@ -14097,7 +14097,7 @@
 f0
 12
 3b
-39
+ae
 50
 25
 12
@@ -14201,16 +14201,16 @@
 f1
 e2
 12
-38
-d3
+39
+48
 d1
 6f
 12
 1b
 7c
 12
-34
-9e
+35
+12
 90
 4d
 7d
@@ -14233,7 +14233,7 @@
 e1
 12
 30
-c6
+f2
 12
 1d
 66
@@ -14279,12 +14279,12 @@
 05
 12
 3b
-2d
+a2
 80
 ae
 12
 30
-c6
+f2
 f1
 d2
 80
@@ -14961,7 +14961,7 @@
 86
 12
 3b
-58
+cd
 90
 0b
 83
@@ -16341,10 +16341,10 @@
 22
 12
 32
-5e
+8a
 12
 32
-93
+bf
 90
 4c
 e4
@@ -16361,7 +16361,7 @@
 f0
 12
 38
-17
+8c
 d1
 c8
 91
@@ -19952,6 +19952,47 @@
 e7
 f0
 90
+4d
+e2
+e0
+70
+05
+ee
+64
+02
+60
+1e
+90
+4d
+e2
+e0
+70
+06
+90
+4c
+c1
+e0
+60
+12
+90
+4d
+e2
+e0
+60
+02
+c1
+f9
+90
+4c
+c1
+e0
+64
+01
+60
+02
+c1
+f9
+90
 4e
 ec
 e0
@@ -19963,10 +20004,10 @@
 40
 02
 c1
-cd
+f9
 90
 2e
-08
+31
 75
 f0
 03
@@ -19980,56 +20021,56 @@
 73
 02
 2e
-2c
+55
 02
 2e
-34
+5d
 02
 2e
-3c
+65
 02
 2e
-44
+6d
 02
 2e
-6e
+9a
 02
 2e
-76
+a2
 02
 2e
-9f
+cb
 02
 2e
-a7
+d3
 02
 2e
-af
+db
 02
 2e
-b7
+e3
 02
 2e
-bf
+eb
 02
 2e
-c7
+f3
 90
 4e
 ed
 74
-d7
+d8
 f0
 c1
-cd
+f9
 90
 4e
 ed
 74
-d8
+d7
 f0
 c1
-cd
+f9
 90
 4e
 ed
@@ -20037,8 +20078,11 @@
 d6
 f0
 c1
-cd
-ee
+f9
+90
+4c
+c1
+e0
 70
 1f
 90
@@ -20185,7 +20229,7 @@
 03
 02
 30
-c0
+ec
 90
 4e
 ec
@@ -20195,7 +20239,7 @@
 70
 02
 e1
-bc
+e8
 24
 ee
 60
@@ -20206,32 +20250,32 @@
 03
 02
 30
-12
+3e
 14
 70
 03
 02
 30
-3e
+6a
 14
 70
 03
 02
 30
-6a
+96
 14
 70
 03
 02
 30
-96
+c2
 24
 3e
 60
 03
 02
 30
-c0
+ec
 90
 4c
 c1
@@ -20322,7 +20366,7 @@
 f0
 02
 30
-c0
+ec
 90
 4c
 c1
@@ -20413,7 +20457,7 @@
 f0
 02
 30
-c0
+ec
 90
 4c
 c1
@@ -20499,7 +20543,7 @@
 ed
 f0
 01
-c0
+ec
 90
 4c
 c1
@@ -20543,7 +20587,7 @@
 4d
 f0
 01
-c0
+ec
 90
 4c
 c1
@@ -20768,8 +20812,8 @@
 0f
 80
 b0
-71
-33
+91
+de
 90
 81
 1c
@@ -20787,31 +20831,31 @@
 e4
 ff
 31
-5e
+8a
 7f
 01
 31
-5e
+8a
 7f
 02
 31
-5e
+8a
 7f
 03
 31
-5e
+8a
 7f
 04
 31
-5e
+8a
 7f
 05
 31
-5e
+8a
 7f
 06
 31
-5e
+8a
 7f
 07
 80
@@ -20837,8 +20881,8 @@
 12
 ef
 f0
-31
-fd
+51
+29
 92
 08
 90
@@ -20855,8 +20899,8 @@
 f4
 70
 02
-21
-fc
+41
+28
 ef
 54
 07
@@ -21072,7 +21116,7 @@
 79
 74
 51
-03
+2f
 92
 09
 90
@@ -21139,7 +21183,7 @@
 7f
 1e
 51
-42
+6e
 22
 90
 4c
@@ -21199,13 +21243,13 @@
 7f
 1c
 51
-42
+6e
 80
 0f
 7f
 1c
 51
-42
+6e
 80
 09
 90
@@ -21281,7 +21325,7 @@
 7f
 1e
 51
-42
+6e
 90
 4c
 ef
@@ -21301,104 +21345,17 @@
 0f
 42
 22
-e4
-ff
-ef
-fd
-7c
-00
-24
-78
-fb
-ec
-34
-80
-8b
-82
-f5
-83
-e0
-fe
-ed
-24
-70
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-e0
-4e
-f4
-fe
-ef
-24
-7c
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-ee
-f0
-0f
-ef
-b4
-04
-cf
-22
 90
 4c
-c3
+eb
 e0
-b4
-01
-07
-c2
-01
-7f
-1c
+60
 02
-0f
-e9
+14
+f0
 90
 4c
-c3
-e0
-b4
-02
-07
-c2
-01
-7f
-1c
-02
-0f
-e9
-c2
-01
-7f
-1e
-02
-0f
-e9
-90
-4c
-eb
-e0
-60
-02
-14
-f0
-90
-4c
-f1
+f1
 e0
 60
 02
@@ -21426,7 +21383,7 @@
 e5
 e0
 60
-2a
+2c
 90
 4c
 ef
@@ -21462,13 +21419,85 @@
 e0
 60
 04
-71
-67
+91
+b2
 80
-03
+4b
 12
 0f
 cb
+80
+46
+90
+4c
+e9
+e0
+70
+02
+a3
+e0
+70
+3c
+90
+4c
+ef
+e0
+70
+02
+a3
+e0
+70
+32
+90
+4c
+d5
+e0
+b4
+01
+26
+c3
+90
+4c
+e4
+e0
+94
+1e
+90
+4c
+e3
+e0
+94
+00
+50
+10
+90
+4c
+e2
+e0
+04
+f0
+e0
+30
+e1
+12
+7f
+1d
+51
+6e
+80
+0c
+e4
+90
+4c
+e2
+f0
+80
+05
+e4
+90
+4c
+e2
+f0
 90
 4d
 dc
@@ -21559,8 +21588,8 @@
 e0
 14
 f0
-71
-67
+91
+b2
 90
 4c
 e8
@@ -21583,7 +21612,7 @@
 70
 02
 91
-95
+d5
 90
 4d
 d4
@@ -21656,6 +21685,41 @@
 f0
 22
 90
+4c
+c3
+e0
+b4
+01
+07
+c2
+01
+7f
+1c
+02
+0f
+e9
+90
+4c
+c3
+e0
+b4
+02
+07
+c2
+01
+7f
+1c
+02
+0f
+e9
+c2
+01
+7f
+1e
+02
+0f
+e9
+90
 80
 10
 74
@@ -21664,6 +21728,58 @@
 80
 fe
 22
+e4
+ff
+ef
+fd
+7c
+00
+24
+78
+fb
+ec
+34
+80
+8b
+82
+f5
+83
+e0
+fe
+ed
+24
+70
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+e0
+4e
+f4
+fe
+ef
+24
+7c
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+ee
+f0
+0f
+ef
+b4
+04
+cf
+22
 90
 4d
 eb
@@ -21673,7 +21789,7 @@
 60
 02
 a1
-32
+a6
 90
 4c
 e9
@@ -21817,7 +21933,7 @@
 15
 90
 b1
-68
+dc
 90
 4c
 ec
@@ -22108,7 +22224,7 @@
 03
 02
 38
-16
+8b
 90
 4c
 95
@@ -22281,14 +22397,15 @@
 05
 65
 50
-07
+08
 e4
 90
 4c
 fb
 f0
-e1
-91
+02
+38
+06
 90
 4c
 fc
@@ -22569,7 +22686,7 @@
 f0
 12
 36
-44
+b8
 22
 90
 4e
@@ -22780,7 +22897,7 @@
 70
 02
 41
-82
+f7
 7e
 0c
 7f
@@ -22788,7 +22905,7 @@
 7d
 03
 11
-83
+f8
 90
 4e
 f4
@@ -22848,7 +22965,7 @@
 05
 dd
 41
-82
+f7
 90
 4e
 f4
@@ -22897,7 +23014,7 @@
 14
 fd
 11
-83
+f8
 90
 4e
 f4
@@ -22955,7 +23072,7 @@
 05
 dd
 41
-82
+f7
 90
 4e
 f4
@@ -23004,7 +23121,7 @@
 14
 fd
 11
-83
+f8
 90
 4e
 f4
@@ -23111,7 +23228,7 @@
 14
 fd
 11
-83
+f8
 90
 4e
 f4
@@ -23334,8 +23451,8 @@
 ed
 60
 02
+71
 51
-dc
 22
 90
 04
@@ -23517,8 +23634,8 @@
 5c
 f0
 22
-ff
-cd
+3c
+de
 aa
 55
 40
@@ -23665,25 +23782,27 @@
 22
 aa
 55
-0f
+11
 00
 02
 47
-0e
-42
-54
-33
-2e
-30
+10
+53
+4c
+49
+4d
+20
+4c
+49
+4e
+45
 20
 4b
-65
-79
-62
-6f
-61
-72
-64
+31
+32
+20
+42
+54
 aa
 55
 03
@@ -24486,7 +24605,7 @@
 01
 aa
 55
-ee
+f0
 01
 04
 45
@@ -24533,21 +24652,23 @@
 00
 00
 2a
-0e
-42
-54
-35
-2e
-32
+10
+53
+4c
+49
+4d
+20
+4c
+49
+4e
+45
 20
 4b
-65
-79
-62
-6f
-61
-72
-64
+31
+32
+20
+42
+54
 08
 00
 03
@@ -25075,25 +25196,27 @@
 01
 aa
 55
-0f
+11
 00
 19
 44
-0e
-42
-54
-35
-2e
-32
+10
+53
+4c
+49
+4d
+20
+4c
+49
+4e
+45
 20
 4b
-65
-79
-62
-6f
-61
-72
-64
+31
+32
+20
+42
+54
 aa
 55
 01
@@ -25141,27 +25264,29 @@
 80
 aa
 55
-11
+13
 00
 f9
 43
 1f
-0f
+11
 09
-42
-54
-35
-2e
-32
+53
+4c
+49
+4d
+20
+4c
+49
+4e
+45
 20
 4b
-65
-79
-62
-6f
-61
-72
-64
+31
+32
+20
+42
+54
 aa
 55
 04
@@ -25591,133 +25716,8 @@
 6c
 59
 50
-90
-9f
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+b6
+46
 ff
 ff
 ff
@@ -32764,5 +32764,5 @@
 ff
 ff
 ff
-5c
-be
+d8
+1d
Index: c51/output/fw.hex
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/output/fw.hex	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/output/fw.hex	(working copy)
@@ -101,7 +101,7 @@
 :1006400054C025E060A840B8E493A3FAE493A3F86B
 :10065000E493A3C8C582C8CAC583CAF0A3C8C5822B
 :10066000C8CAC583CADFE9DEE780BE524E56FF0A1C
-:10067000CA000000FF1FD1FF338A000000FF36349C
+:10067000CA000000FF1FD1FF335F000000FF36A853
 :10068000001608090A0B0C0D0E1415131119181A6F
 :1006900012171B000000002A314428454243142B46
 :1006A00004291D8B351E1A3916641B8A3A1F083C13
@@ -137,7 +137,7 @@
 :10088000017A4E79E27D03904EB9EBF0A3EAF0A332
 :10089000E9F0A3EDF0904B9CE0FFA3E0904EBDCFBC
 :1008A000F0A3EFF0904B9AE0FEA3E0FF904B9CE0AA
-:1008B000FCA3E0FD7B64123829904EBCE0FEEFC340
+:1008B000FCA3E0FD7B6412389E904EBCE0FEEFC3CB
 :1008C0009E40E1904EBCE0FF14F0EF603F904EB9C7
 :1008D000E0FBA3E475F001120424A9F0FA1203B6B8
 :1008E000FF904EBDE475F00112042485F082F5837B
@@ -175,10 +175,10 @@
 :100AE0000A0D79130E26140EFD150B86270EC52947
 :100AF0000D3A2A0B152F0B7A300BBD310C29320B16
 :100B000015330EA0340EDE350BB5370B86390BBD11
-:100B10003C00000F41121D9E1235337B017A4C7947
+:100B10003C00000F41121D9E1235A77B017A4C79D3
 :100B2000C07D017C007FBD7E7F12197B904CC0E0B0
 :100B3000D394034002E4F0904CC0E0904CC3F01218
-:100B400033677F0AF14B7B017A4C79F47D027C009C
+:100B400034B27F0AF14B7B017A4C79F47D027C0050
 :100B50007FBE7E7F12197B904CF4E0B4FF19A3E0B6
 :100B6000B4FF14904C93E0A3E0904CF4F0904C91BF
 :100B7000E0A3E0904CF5F00218C6121FBE121DA4AF
@@ -330,17 +330,17 @@
 :101490007E2FF582E4344EF583EEF00F80D31218E0
 :1014A00012EF7002A163904CECE06002A163904CDB
 :1014B000C9E0B40418904E7EE0B406037403F07BD8
-:1014C000017A4E797E904E7DE0FD123B1B904CC719
+:1014C000017A4E797E904E7DE0FD123B90904CC7A4
 :1014D000E0FF6404600AEFB4031E904DD3E060188F
 :1014E000904E7EE0B406037403F07B017A4E797E61
-:1014F000904E7DE0FD123B13904CC5E06403706399
+:1014F000904E7DE0FD123B88904CC5E06403706324
 :10150000904E7EE0640170237404F0A3E0701490A8
 :101510004E81E0700EA3E0700AA3E07006904DDDEE
 :10152000F08032904DDD7401F0802A904E7EE0B460
 :1015300002197405F0A3E0700AA3E07006904DDD77
 :10154000F08012904DDD7401F0800A904E7EE0B480
 :1015500003037407F07B017A4E797E904E7DE0FDA7
-:10156000123B0322904EF7EBF0A3EAF0A3E9F0ED73
+:10156000123B7822904EF7EBF0A3EAF0A3E9F0EDFE
 :101570001DAE0470011C4E6016904EF7E0FBA3E414
 :1015800075F001120424A9F0FAE41203FC80E022B1
 :101590007B017A4C79BF7D4D7C00B1647B017A4D33
@@ -366,19 +366,19 @@
 :1016D0004CF7F0904CFAE07007904CF67406F0224C
 :1016E000904CF67405F022904CF6E0B40615E490A8
 :1016F0004CF8F0904CF7F0A3E0FDE4FFD135E49016
-:101700004CF6F022904EE8E4F0A3F0A3F0123B393F
+:101700004CF6F022904EE8E4F0A3F0A3F0123BAECA
 :1017100050251221F9904EE8EBF0A3EAF0A3E9F08E
 :101720004A7007904CB604F0800E904EE8E0FBA3A0
 :10173000E0FAA3E0F9311522904D46E06035904D76
 :10174000DDE0702F904CC5E0B403287B017A487926
 :10175000007D097C00B164E4904E4BF09048000499
 :10176000F0904D46E0904802F07B017A4879007D88
-:1017700009916122F1E21238D3D16F121B7C12342D
-:101780009E904D7DE06003121E9C900B7EE01460E5
-:101790000E24FE70E11230C6121D66F1D280FE905A
+:1017700009916122F1E2123948D16F121B7C1235B6
+:1017800012904D7DE06003121E9C900B7EE0146071
+:101790000E24FE70E11230F2121D66F1D280FE902E
 :1017A0004CEBE0701E904CEDE07018904CE5E07052
 :1017B00012904CE8E0700C904DE2E07006904CFA0C
-:1017C000E06005123B2D80AE1230C6F1D280A780BA
+:1017C000E06005123BA280AE1230F2F1D280A78019
 :1017D000A522E4900B7FF0900B7EF07F01020F4B6F
 :1017E00080927B017A4E795678687C4E7D017E002E
 :1017F0007F12020390904CC9E06404600F904CC7C4
@@ -420,7 +420,7 @@
 :101A3000E5F922904EB2EEF0A3EFF0904EB6EBF047
 :101A4000A3EAF0A3E9F0904EB4ECF0A3EDF0A3E02C
 :101A5000F9A3E0FAA3E0904E9FC9F0A3EAF0A3E94E
-:101A6000F0A3ECF0A3EDF07B017A0B7986123B58E2
+:101A6000F0A3ECF0A3EDF07B017A0B7986123BCD6D
 :101A7000900B8374A0F0904EB2E0FFA3E0900B8433
 :101A8000CFF0A3EFF0904EB5E02403FD904EB4E00C
 :101A90003400FCEDFAECFFEAFEEF908098EEF0A344
@@ -507,8 +507,8 @@
 :101FA0004CE4E09414904CE3E094004010904DE534
 :101FB000E06007E4F07F0E12085F120F422290806B
 :101FC00091740DF0A304F0A3F0A3F0A3F0A314F018
-:101FD0002212325E123293904CE4E004F0700690CC
-:101FE0004CE3E004F0123817D1C8911712204A9040
+:101FD0002212328A1232BF904CE4E004F070069074
+:101FE0004CE3E004F012388CD1C8911712204A90CB
 :101FF0004CCAE064026007904CC8E0B40207E49069
 :102000004CE3F0A3F0227B017A4C79F47D027C0052
 :102010007FBE7E7F12197B904CF4E004F0A3E004B5
@@ -732,228 +732,235 @@
 :102DB0004CF67401F022904CF67404F022904EEC24
 :102DC000EDF0904EEBEFF0E4904EEDF0EF30E005DB
 :102DD000E4904CFAF0904EECE0FFA3F0904CC1E090
-:102DE000FE700AEFB4E406904EED74E7F0904EECFE
-:102DF000E024C6B40C004002C1CD902E0875F0034B
-:102E0000A4C58325F0C58373022E2C022E34022E16
-:102E10003C022E44022E6E022E76022E9F022EA718
-:102E2000022EAF022EB7022EBF022EC7904EED74B7
-:102E3000D7F0C1CD904EED74D8F0C1CD904EED7469
-:102E4000D6F0C1CDEE701F904EEBE0FF7B207D0AE7
-:102E5000B198904EEBE030E006904CFA740AF0E442
-:102E6000904EEDF08067904EED7446F0805F904E8E
-:102E7000ED74D5F08057904CC1E0B4021A904EEB3F
-:102E8000E0FF7B0F7D08B198904EEBE030E03E9084
-:102E90004CFA740AF08036904EED74DAF0802E9081
-:102EA0004EED74F4F08026904EED74F2F0801E909A
-:102EB0004EED74F5F08016904EED74F8F0800E90A3
-:102EC0004EED74F6F08006904EED74F7F0904DE202
-:102ED000E0640160030230C0904EECE024F8700220
-:102EE000E1BC24EE607B24CB70030230121470032B
-:102EF00002303E14700302306A14700302309624CC
-:102F00003E60030230C0904CC1E0FF640160379026
-:102F10004CC3E0FE6003B4FE08904CBF7402F08026
-:102F200025EED39403501FEEC394014019904CC377
-:102F3000E075F01FA424ECF582E4344DF583EFF046
-:102F4000904CBF7403F0904EEBE030E006904CE8FC
-:102F5000740CF0904CC17401F0E4904EEDF002302E
-:102F6000C0904CC1E0FF64026037904CC3E0FE604B
-:102F700003B4FE08904CBF7402F08025EED3940396
-:102F8000501FEEC394014019904CC3E075F01FA48C
-:102F900024ECF582E4344DF583EFF0904CBF7403DC
-:102FA000F0904EEBE030E006904CE8740CF0904C62
-:102FB000C17402F0E4904EEDF00230C0904CC1E0DC
-:102FC000FF6037904CC3E0FE6003B4FE08904CBF36
-:102FD0007402F08025EED39403501FEEC394014099
-:102FE00019904CC3E075F01FA424ECF582E4344D35
-:102FF000F583EFF0904CBF7403F0904EEBE030E0BF
-:1030000006904CE8740CF0E4904CC1F0904EEDF05A
-:1030100001C0904CC1E0701E904EEBE0FF7B4F7DF5
-:1030200008122D98904EEBE030E006904CFA740AAE
-:10303000F0E4904EEDF0904EED744DF001C0904CE8
-:10304000C1E0701E904EEBE0FF7B507D08122D9882
+:102DE000FE700AEFB4E406904EED74E7F0904DE209
+:102DF000E07005EE6402601E904DE2E07006904CBB
+:102E0000C1E06012904DE2E06002C1F9904CC1E077
+:102E100064016002C1F9904EECE024C6B40C00409D
+:102E200002C1F9902E3175F003A4C58325F0C58346
+:102E300073022E55022E5D022E65022E6D022E9A11
+:102E4000022EA2022ECB022ED3022EDB022EE30292
+:102E50002EEB022EF3904EED74D8F0C1F9904EEDAA
+:102E600074D7F0C1F9904EED74D6F0C1F9904CC111
+:102E7000E0701F904EEBE0FF7B207D0AB198904EF2
+:102E8000EBE030E006904CFA740AF0E4904EEDF07E
+:102E90008067904EED7446F0805F904EED74D5F0F3
+:102EA0008057904CC1E0B4021A904EEBE0FF7B0FCC
+:102EB0007D08B198904EEBE030E03E904CFA740AF9
+:102EC000F08036904EED74DAF0802E904EED74F472
+:102ED000F08026904EED74F2F0801E904EED74F569
+:102EE000F08016904EED74F8F0800E904EED74F672
+:102EF000F08006904EED74F7F0904DE2E0640160D2
+:102F0000030230EC904EECE024F87002E1E824EE8D
+:102F1000607B24CB700302303E14700302306A14CD
+:102F200070030230961470030230C2243E60030224
+:102F300030EC904CC1E0FF64016037904CC3E0FE80
+:102F40006003B4FE08904CBF7402F08025EED39469
+:102F500003501FEEC394014019904CC3E075F01F5D
+:102F6000A424ECF582E4344DF583EFF0904CBF746B
+:102F700003F0904EEBE030E006904CE8740CF090DB
+:102F80004CC17401F0E4904EEDF00230EC904CC175
+:102F9000E0FF64026037904CC3E0FE6003B4FE08BB
+:102FA000904CBF7402F08025EED39403501FEEC303
+:102FB00094014019904CC3E075F01FA424ECF582F5
+:102FC000E4344DF583EFF0904CBF7403F0904EEB7A
+:102FD000E030E006904CE8740CF0904CC17402F0C4
+:102FE000E4904EEDF00230EC904CC1E0FF60379081
+:102FF0004CC3E0FE6003B4FE08904CBF7402F08046
+:1030000025EED39403501FEEC394014019904CC396
+:10301000E075F01FA424ECF582E4344DF583EFF065
+:10302000904CBF7403F0904EEBE030E006904CE81B
+:10303000740CF0E4904CC1F0904EEDF001EC904C2B
+:10304000C1E0701E904EEBE0FF7B4F7D08122D9883
 :10305000904EEBE030E006904CFA740AF0E4904EAB
-:10306000EDF0904EED744AF08056904CC1E0701E29
-:10307000904EEBE0FF7B517D08122D98904EEBE0D7
+:10306000EDF0904EED744DF001EC904CC1E0701E0F
+:10307000904EEBE0FF7B507D08122D98904EEBE0D8
 :1030800030E006904CFA740AF0E4904EEDF0904E69
-:10309000ED744EF0802A904CC1E0701E904EEBE033
-:1030A000FF7B527D08122D98904EEBE030E00690A9
-:1030B0004CFA740AF0E4904EEDF0904EED744BF043
-:1030C000904EEDE0FF22E4FF904F0EF0FEFDEF90FA
-:1030D0000681936049EF93FD131313541FFEED54C3
-:1030E00007FD7401A805088002C333D8FCFDEE2457
-:1030F00078FBE434808B82F583E0FCEDF4FBEC5B41
-:10310000F0EE2470F582E43480F583E04DF0EE2497
-:1031100074F582E43480F583E05BF00F80B07133A6
-:1031200090811CE0904F0EF0904DDCE06020E4FFB9
-:10313000315E7F01315E7F02315E7F03315E7F044D
-:10314000315E7F05315E7F06315E7F078010904FD4
-:103150000EE0FF9000A3F0EFF49000A7F022904F54
-:1031600012EFF031FD9208904F12E0FFA208B392E7
-:1031700007EFF4700221FCEF5407FEEF1313135412
-:1031800003FF30074324A3F582E43400F583C083B2
-:10319000C082E0FD7401A806088002C333D8FCF4A5
-:1031A0005DD082D083F074A72FF582E43400F583DC
-:1031B000C083C082E0FF7401A806088002C333D830
-:1031C000FC4FD082D083F02274A32FF582E4340028
-:1031D000F583C083C082E0FD7401A806088002C3A5
-:1031E00033D8FCFC4DD082D083F074A72FF582E455
-:1031F0003400F583E0FFECF4FEEF5EF0227B017A11
-:1032000081791CAD07E4904F11F0FEEF5407F0EF09
-:103210001313135403FEF5827583001203CFFD339D
-:1032200095E0FC904F11E0FF74017E00A807088034
-:1032300005C333CE33CED8F9FFEE5CFEEF5D4E24EE
-:10324000FF22904F13EFF07B017A80797451039243
-:1032500009904F13E0FFA209B39201020FE9904CCD
-:10326000E9E07002A3E0702A904CEFE07002A3E066
-:103270007020904CE2E0601A904CC3E0B401047FEF
-:103280001C80BF904CC3E0B402047F1C80B47F1E3E
-:10329000514222904CE9E07002A3E06060E4904C5F
-:1032A000E3F0A3F0904CFEF0904CEAE024FFF090A5
-:1032B0004CE9E034FFF0904CCCE064016018E490FD
-:1032C0004CE8F0904CC3E0B401067F1C5142800FE3
-:1032D0007F1C51428009904CE8E07003120FCB90A4
-:1032E0004CE9E07002A3E07014904CC4E0904CC331
-:1032F000F0904CC0F07F0D12091C120F42904CEF61
-:10330000E07002A3E0602BE4904CE3F0A3F0904C5B
-:10331000F0E024FFF0904CEFE034FFF07F1E5142CC
-:10332000904CEFE07002A3E070087F0A120F4B127E
-:103330000F4222E4FFEFFD7C002478FBEC34808B0D
-:1033400082F583E0FEED2470FDEC34808D82F58300
-:10335000E04EF4FEEF247CFDEC34808D82F583EEAC
-:10336000F00FEFB404CF22904CC3E0B40107C201C8
-:103370007F1C020FE9904CC3E0B40207C2017F1C1E
-:10338000020FE9C2017F1E020FE9904CEBE06002E0
-:1033900014F0904CF1E0600214F0904CFAE0600BF5
-:1033A00014F0E07006904CF67406F0904CE5E06086
-:1033B0002A904CEFE07002A3E0700A904CE9E070B4
-:1033C00002A3E06006E4904CE5F022904CE5E014A6
-:1033D000F0E0600471678003120FCB904DDCE07069
-:1033E00036904DDDE06401702E904CE3F0A3F09038
-:1033F0004DDDF0904E4CE0600D7B017A4E794C7DB6
-:10340000031214618011904800E0600B7B017A4840
-:1034100079007D09121461904CE8E06023A3E0700C
-:1034200002A3E0701B904CEFE07002A3E0701190DB
-:103430004CE8E014F07167904CE8E07003120FCB99
-:10344000904DD9E06008E014F0E070029195904D45
-:10345000D4E06011E014F0E0700B904D3DE0700599
-:103460007F1B12085F904DE6E06029E014F0E070E9
-:1034700023904D46E06002E4F0904CC7E0B40407AE
-:10348000904213740CF022904CC9E0B404069042B0
-:1034900013743AF0229080107401F080FE22904D57
-:1034A000EBE064026002A132904CE9E07002A3E01C
-:1034B0007079904CEFE07002A3E0706F904CD5E013
-:1034C000B40205120F42802B904CD5E0B401149049
-:1034D0004CF9E0701E904CE27418F0904CF97401B5
-:1034E000F08010904CF9E0B40109E4F0904CE2F067
-:1034F000120FCB1217F5EF602BC3904CE4E0940C45
-:10350000904CE3E094005015904CB7E030E107C2D6
-:10351000017F1D020FE9D2017F1D020FE9D2017F59
-:103520001D020FE9D2017F1D020FE9D2017F1D129A
-:103530000FE922121590B168904CEC7401F0904C98
-:10354000E5741EF0E4904CF2F0904D0B74FFF09097
-:1035500044FCE0904DD0F09044FDE0904DD1F090CF
-:1035600044FEE0904DD2F022904CD37405F0E4A3D9
-:10357000F0FFEF25E024D6F582E4344CF583745156
-:10358000F0A3F00FEFB404EA904C93E0FFA3E090B7
-:103590004CFCCFF0A3EFF0904C91E0FEA3E0FFC312
-:1035A000904C94E09FFD904C93E09EFCE412020648
-:1035B0007BA47A70793D783F1200FBC004C005C03F
-:1035C00006C007904C91E0FCA3E0FDE4120206D097
-:1035D00003D002D001D00012000A12023F904CDE4C
-:1035E000EEF0A3EFF0904C91E0FEA3E0FFC3904C0F
-:1035F00094E09FFD904C93E09EFCE41202067B1F3A
-:103600007A85792B783F1200FBC004C005C006C044
-:1036100007904C91E0FCA3E0FDE4120206D003D039
-:1036200002D001D00012000A12023F904CE0EEF0EE
-:10363000A3EFF022904F04EDF09000011203CF9021
-:103640004F05F022904ED012058200000000904CF1
-:1036500095E07002A3E07003023816904C95E0FEEE
-:10366000A3E0FF904CD4E0FD04F0ED25E024D6F576
-:1036700082E4344CF583EEF0A3EFF0904CD4E0C339
-:1036800094044002E4F0E4904ECFF0904ED0E0F885
-:10369000A3E0F9A3E0FAA3E0FB904ECFE025E024FD
-:1036A000D6F582E4344CF583E0FEA3E0FFE4FCFDB4
-:1036B000EB2FFFEA3EFEED39FDEC38FC904ED012C8
-:1036C0000576904ECFE004F0E0B404BF904ED0E019
-:1036D000FCA3E0FDA3E0FEA3E0FFE47B04FAF9F81D
-:1036E0001204C5904ED0120576904CE0E0FEA3E0A7
-:1036F000FFE4FCFD904ED0E0F8A3E0F9A3E0FAA3CC
-:10370000E0FBD31205655007E4904CFBF0E191908B
-:103710004CFCE0FEA3E0FFE4FCFD904ED0E0F8A3FB
-:10372000E0F9A3E0FAA3E0FBC31205654008904C62
-:10373000FB7464F0805B904CE0E0FEA3E0FFFBAA2A
-:1037400006E4904ED0E0FCA3E0FDA3E0FEA3E0C3BE
-:103750009BFFEE9AFEED9400FDEC9400FCE47B648C
-:10376000FAF9F812043AC006C007904CE0E0FEA354
-:10377000E0FFC3904CFDE09FFF904CFCE09EFEAB51
-:1037800007FAE4F9F8D007D0061204C5904CFBEF15
-:10379000F0904CE0E0FEA3E0FFE4FCFD904ED0E0B2
-:1037A000F8A3E0F9A3E0FAA3E0FBC3120565500813
-:1037B000904CD57402F08056904CDEE0FEA3E0FF02
-:1037C000E4FCFD904ED0E0F8A3E0F9A3E0FAA3E01A
-:1037D000FBC3120565501D904CD57401F0904D024D
-:1037E000E0702B904D40F0A37448F0A37412F0E405
-:1037F000A3F0801AE4904CD5F0904D02E0700F9049
-:103800004D40F0A37448F0A3745DF0E4A3F0904C35
-:10381000D5E0904D01F022904CD3E0600B14F0E025
-:1038200070067405F012364422904EDDEEF0A3EFE0
-:10383000F0904EDFECF0A3EDF0904EDFE0FEA3E061
-:10384000FFD3904EDEE09F904EDDE09E4016904EFE
-:10385000DFE0FEA3E0FF904EDEE09FFF904EDDE054
-:103860009EFE801E904EDDE0FEA3E0FFC3904EE082
-:10387000E09FFF904EDFE09EFEAD03C3EB9FFFE4B1
-:103880009EFE22904F06EEF0A3EFF0A905904B9E0E
-:10389000E0FEA3E0FFAD0119ED602F0FEFAC067065
-:1038A000010E14F5828C83E0FD904F06E475F00163
-:1038B00012042485F082F583EDF0AD07AC06BC4B15
-:1038C000D4BD9AD17E4B7F3680CB904B9EEEF0A339
-:1038D000EFF0227A0C794B904EF47401F0A3740C43
-:1038E000F0A3744BF0904BA0E0FEA3E0FF904B9E42
-:1038F000E06E7003A3E06F700241827E0C7F4B7D0F
-:10390000031183904EF4E0FBA3E0FAA3E0F9120365
-:10391000B6B4022B904EF5E475F00212040E904EF0
-:10392000F4E0FBA3E0FAA3E0F91203B6FF904E68BF
-:10393000E0A3E0FAA3E0F5828A831205DD418290DC
-:103940004EF4E0FBA3E0FAA3E0F91203B6640470BE
-:1039500059904EF575F00112040E7E0C7F4E904E7C
-:10396000F4E0FBA3E0FAA3E0F91203B614FD11831F
-:10397000904EF4E0FBA3E0FAA3E02401F9E43AFA64
-:10398000C002C001904EF4E0A3E0FAA3E0F91203F4
-:10399000B6FD7C00904E6BE0A3E0FAA3E0F5828ACE
-:1039A00083D001D0021205DD4182904EF4E0FBA3EA
-:1039B000E0FAA3E0F91203B664057059904EF5756C
-:1039C000F00112040E7E0C7F4E904EF4E0FBA3E05B
-:1039D000FAA3E0F91203B614FD1183904EF4E0FB54
-:1039E000A3E0FAA3E02401F9E43AFAC002C001908E
-:1039F0004EF4E0A3E0FAA3E0F91203B6FD7C0090D8
-:103A00004E74E0A3E0FAA3E0F5828A83D001D002ED
-:103A10001205DD806D904EF4E0FBA3E0FAA3E0F91F
-:103A20001203B664037059904EF575F00112040E3E
-:103A30007E0C7F4E904EF4E0FBA3E0FAA3E0F91277
-:103A400003B614FD1183904EF4E0FBA3E0FAA3E06B
-:103A50002401F9E43AFAC002C001904EF4E0A3E078
-:103A6000FAA3E0F91203B6FD7C00904E77E0A3E0E4
-:103A7000FAA3E0F5828A83D001D0021205DD80022C
-:103A800080FE904BA5E0FEA3E0FF904C5EE06E70E0
-:103A900003A3E06F6022904E6EE0FBA3E0FAA3E088
-:103AA000F94A60371205D9904BA5E0FFA3E0904C8E
-:103AB0005ECFF0A3EFF080CA904C8DE0FFA3E06FE3
-:103AC0006019904E71E0FBA3E0FAA3E0F94A600BA5
-:103AD0001205D9904C8DE0A3F080DD22904F10EDBF
-:103AE000F0E0FD900BE8F07E0B7FE9904EC4EDF026
-:103AF0001210D27B017A0B79E7904F10E02402FD7F
-:103B0000020887900BE77406F080D1900BE77404ED
-:103B1000F080C9900BE77405F080C1900BE7740347
-:103B2000F0ED600251DC22900446E0FF22900B7F12
-:103B30007401F0E4900B7EF022904B9CE0FEA3E039
-:103B4000FF904B9AE0B50607A3E0B50702D322C366
-:103B5000229082807401F022904E9CEBF0A3EAF058
-:103B6000A3E9F0904EA274FFF5F012042445F06032
-:103B70002A904E9FE0FBA3E475F001120424A9F003
-:103B8000FA1203B6FF904E9CE0FBA3E475F001121D
-:103B90000424A9F0FAEF1203FC80C822EFF4603A83
-:103BA000EF5407FEEF1313135403FF24A3F582E42D
-:103BB0003400F583C083C082E0FD7401A80608804C
-:103BC00002C333D8FCF4FC5DD082D083F074A72FFD
-:0B3BD000F582E43400F583E05CF02295
+:10309000ED744AF08056904CC1E0701E904EEBE00B
+:1030A000FF7B517D08122D98904EEBE030E00690AA
+:1030B0004CFA740AF0E4904EEDF0904EED744EF040
+:1030C000802A904CC1E0701E904EEBE0FF7B527D59
+:1030D00008122D98904EEBE030E006904CFA740AFE
+:1030E000F0E4904EEDF0904EED744BF0904EEDE02C
+:1030F000FF22E4FF904F0EF0FEFDEF9006819360FB
+:1031000049EF93FD131313541FFEED5407FD740193
+:10311000A805088002C333D8FCFDEE2478FBE43414
+:10312000808B82F583E0FCEDF4FBEC5BF0EE247029
+:10313000F582E43480F583E04DF0EE2474F582E40A
+:103140003480F583E05BF00F80B091DE90811CE06D
+:10315000904F0EF0904DDCE06020E4FF318A7F015B
+:10316000318A7F02318A7F03318A7F04318A7F0569
+:10317000318A7F06318A7F078010904F0EE0FF90E2
+:1031800000A3F0EFF49000A7F022904F12EFF0515F
+:10319000299208904F12E0FFA208B39207EFF47053
+:1031A000024128EF5407FEEF1313135403FF3007B7
+:1031B0004324A3F582E43400F583C083C082E0FD9C
+:1031C0007401A806088002C333D8FCF45DD082D015
+:1031D00083F074A72FF582E43400F583C083C082A6
+:1031E000E0FF7401A806088002C333D8FC4FD082E8
+:1031F000D083F02274A32FF582E43400F583C083DA
+:10320000C082E0FD7401A806088002C333D8FCFC2C
+:103210004DD082D083F074A72FF582E43400F5837B
+:10322000E0FFECF4FEEF5EF0227B017A81791CADC9
+:1032300007E4904F11F0FEEF5407F0EF131313540F
+:1032400003FEF5827583001203CFFD3395E0FC90F9
+:103250004F11E0FF74017E00A807088005C333CE3C
+:1032600033CED8F9FFEE5CFEEF5D4E24FF22904F87
+:1032700013EFF07B017A807974512F9209904F13EC
+:10328000E0FFA209B39201020FE9904CE9E070025D
+:10329000A3E0702A904CEFE07002A3E07020904C05
+:1032A000E2E0601A904CC3E0B401047F1C80BF9040
+:1032B0004CC3E0B402047F1C80B47F1E516E229088
+:1032C0004CE9E07002A3E06060E4904CE3F0A3F00E
+:1032D000904CFEF0904CEAE024FFF0904CE9E03492
+:1032E000FFF0904CCCE064016018E4904CE8F09062
+:1032F0004CC3E0B401067F1C516E800F7F1C516EE1
+:103300008009904CE8E07003120FCB904CE9E0701C
+:1033100002A3E07014904CC4E0904CC3F0904CC0F9
+:10332000F07F0D12091C120F42904CEFE07002A3C7
+:10333000E0602BE4904CE3F0A3F0904CF0E024FF2D
+:10334000F0904CEFE034FFF07F1E516E904CEFE0B8
+:103350007002A3E070087F0A120F4B120F422290F6
+:103360004CEBE0600214F0904CF1E0600214F0903D
+:103370004CFAE0600B14F0E07006904CF67406F026
+:10338000904CE5E0602C904CEFE07002A3E0700AF6
+:10339000904CE9E07002A3E06006E4904CE5F02276
+:1033A000904CE5E014F0E0600491B2804B120FCB3A
+:1033B0008046904CE9E07002A3E0703C904CEFE056
+:1033C0007002A3E07032904CD5E0B40126C3904C5B
+:1033D000E4E0941E904CE3E094005010904CE2E046
+:1033E00004F0E030E1127F1D516E800CE4904CE25D
+:1033F000F08005E4904CE2F0904DDCE07036904DAA
+:10340000DDE06401702E904CE3F0A3F0904DDDF010
+:10341000904E4CE0600D7B017A4E794C7D03121486
+:10342000618011904800E0600B7B017A4879007D53
+:1034300009121461904CE8E06023A3E07002A3E05D
+:10344000701B904CEFE07002A3E07011904CE8E02C
+:1034500014F091B2904CE8E07003120FCB904DD96C
+:10346000E06008E014F0E0700291D5904DD4E06087
+:1034700011E014F0E0700B904D3DE070057F1B12E1
+:10348000085F904DE6E06029E014F0E07023904D75
+:1034900046E06002E4F0904CC7E0B40407904213A9
+:1034A000740CF022904CC9E0B40406904213743AB4
+:1034B000F022904CC3E0B40107C2017F1C020FE967
+:1034C000904CC3E0B40207C2017F1C020FE9C201A5
+:1034D0007F1E020FE99080107401F080FE22E4FF4D
+:1034E000EFFD7C002478FBEC34808B82F583E0FEDA
+:1034F000ED2470FDEC34808D82F583E04EF4FEEF18
+:10350000247CFDEC34808D82F583EEF00FEFB40463
+:10351000CF22904DEBE064026002A1A6904CE9E05E
+:103520007002A3E07079904CEFE07002A3E0706F3E
+:10353000904CD5E0B40205120F42802B904CD5E0A0
+:10354000B40114904CF9E0701E904CE27418F090A5
+:103550004CF97401F08010904CF9E0B40109E4F0EA
+:10356000904CE2F0120FCB1217F5EF602BC3904C8A
+:10357000E4E0940C904CE3E094005015904CB7E0DC
+:1035800030E107C2017F1D020FE9D2017F1D020F4A
+:10359000E9D2017F1D020FE9D2017F1D020FE9D29E
+:1035A000017F1D120FE922121590B1DC904CEC74D2
+:1035B00001F0904CE5741EF0E4904CF2F0904D0B4D
+:1035C00074FFF09044FCE0904DD0F09044FDE0900A
+:1035D0004DD1F09044FEE0904DD2F022904CD37447
+:1035E00005F0E4A3F0FFEF25E024D6F582E4344CA7
+:1035F000F5837451F0A3F00FEFB404EA904C93E01C
+:10360000FFA3E0904CFCCFF0A3EFF0904C91E0FED4
+:10361000A3E0FFC3904C94E09FFD904C93E09EFC90
+:10362000E41202067BA47A70793D783F1200FBC059
+:1036300004C005C006C007904C91E0FCA3E0FDE487
+:10364000120206D003D002D001D00012000A1202EA
+:103650003F904CDEEEF0A3EFF0904C91E0FEA3E043
+:10366000FFC3904C94E09FFD904C93E09EFCE412CD
+:1036700002067B1F7A85792B783F1200FBC004C0BD
+:1036800005C006C007904C91E0FCA3E0FDE41202E7
+:1036900006D003D002D001D00012000A12023F90DF
+:1036A0004CE0EEF0A3EFF022904F04EDF09000011B
+:1036B0001203CF904F05F022904ED01205820000E9
+:1036C0000000904C95E07002A3E0700302388B90EC
+:1036D0004C95E0FEA3E0FF904CD4E0FD04F0ED2516
+:1036E000E024D6F582E4344CF583EEF0A3EFF090BD
+:1036F0004CD4E0C394044002E4F0E4904ECFF09048
+:103700004ED0E0F8A3E0F9A3E0FAA3E0FB904ECF9F
+:10371000E025E024D6F582E4344CF583E0FEA3E016
+:10372000FFE4FCFDEB2FFFEA3EFEED39FDEC38FC3B
+:10373000904ED0120576904ECFE004F0E0B404BF76
+:10374000904ED0E0FCA3E0FDA3E0FEA3E0FFE47B0D
+:1037500004FAF9F81204C5904ED0120576904CE0A8
+:10376000E0FEA3E0FFE4FCFD904ED0E0F8A3E0F91A
+:10377000A3E0FAA3E0FBD31205655008E4904CFBEC
+:10378000F0023806904CFCE0FEA3E0FFE4FCFD9064
+:103790004ED0E0F8A3E0F9A3E0FAA3E0FBC31205E2
+:1037A000654008904CFB7464F0805B904CE0E0FE58
+:1037B000A3E0FFFBAA06E4904ED0E0FCA3E0FDA34B
+:1037C000E0FEA3E0C39BFFEE9AFEED9400FDEC94B7
+:1037D00000FCE47B64FAF9F812043AC006C00790D2
+:1037E0004CE0E0FEA3E0FFC3904CFDE09FFF904C57
+:1037F000FCE09EFEAB07FAE4F9F8D007D00612040D
+:10380000C5904CFBEFF0904CE0E0FEA3E0FFE4FC41
+:10381000FD904ED0E0F8A3E0F9A3E0FAA3E0FBC3EB
+:103820001205655008904CD57402F08056904CDE1D
+:10383000E0FEA3E0FFE4FCFD904ED0E0F8A3E0F949
+:10384000A3E0FAA3E0FBC3120565501D904CD574AC
+:1038500001F0904D02E0702B904D40F0A37448F0C1
+:10386000A37412F0E4A3F0801AE4904CD5F0904DCC
+:1038700002E0700F904D40F0A37448F0A3745DF027
+:10388000E4A3F0904CD5E0904D01F022904CD3E0B1
+:10389000600B14F0E070067405F01236B822904EFA
+:1038A000DDEEF0A3EFF0904EDFECF0A3EDF0904EE4
+:1038B000DFE0FEA3E0FFD3904EDEE09F904EDDE020
+:1038C0009E4016904EDFE0FEA3E0FF904EDEE09FAC
+:1038D000FF904EDDE09EFE801E904EDDE0FEA3E0F8
+:1038E000FFC3904EE0E09FFF904EDFE09EFEAD03F1
+:1038F000C3EB9FFFE49EFE22904F06EEF0A3EFF095
+:10390000A905904B9EE0FEA3E0FFAD0119ED602FED
+:103910000FEFAC0670010E14F5828C83E0FD904F22
+:1039200006E475F00112042485F082F583EDF0AD14
+:1039300007AC06BC4BD4BD9AD17E4B7F3680CB9072
+:103940004B9EEEF0A3EFF0227A0C794B904EF4747C
+:1039500001F0A3740CF0A3744BF0904BA0E0FEA315
+:10396000E0FF904B9EE06E7003A3E06F700241F7A2
+:103970007E0C7F4B7D0311F8904EF4E0FBA3E0FA40
+:10398000A3E0F91203B6B4022B904EF5E475F002F1
+:1039900012040E904EF4E0FBA3E0FAA3E0F9120348
+:1039A000B6FF904E68E0A3E0FAA3E0F5828A8312A6
+:1039B00005DD41F7904EF4E0FBA3E0FAA3E0F91235
+:1039C00003B664047059904EF575F00112040E7E32
+:1039D0000C7F4E904EF4E0FBA3E0FAA3E0F9120353
+:1039E000B614FD11F8904EF4E0FBA3E0FAA3E02436
+:1039F00001F9E43AFAC002C001904EF4E0A3E0FA03
+:103A0000A3E0F91203B6FD7C00904E6BE0A3E0FA50
+:103A1000A3E0F5828A83D001D0021205DD41F79040
+:103A20004EF4E0FBA3E0FAA3E0F91203B6640570DC
+:103A300059904EF575F00112040E7E0C7F4E904E9B
+:103A4000F4E0FBA3E0FAA3E0F91203B614FD11F8C9
+:103A5000904EF4E0FBA3E0FAA3E02401F9E43AFA83
+:103A6000C002C001904EF4E0A3E0FAA3E0F9120313
+:103A7000B6FD7C00904E74E0A3E0FAA3E0F5828AE4
+:103A800083D001D0021205DD806D904EF4E0FBA3DF
+:103A9000E0FAA3E0F91203B664037059904EF5758D
+:103AA000F00112040E7E0C7F4E904EF4E0FBA3E07A
+:103AB000FAA3E0F91203B614FD11F8904EF4E0FBFE
+:103AC000A3E0FAA3E02401F9E43AFAC002C00190AD
+:103AD0004EF4E0A3E0FAA3E0F91203B6FD7C0090F7
+:103AE0004E77E0A3E0FAA3E0F5828A83D001D0020A
+:103AF0001205DD800280FE904BA5E0FEA3E0FF9062
+:103B00004C5EE06E7003A3E06F6022904E6EE0FBAF
+:103B1000A3E0FAA3E0F94A60371205D9904BA5E07B
+:103B2000FFA3E0904C5ECFF0A3EFF080CA904C8DE5
+:103B3000E0FFA3E06F6019904E71E0FBA3E0FAA3F1
+:103B4000E0F94A600B1205D9904C8DE0A3F080DDBE
+:103B500022904F10EDF0E0FD900BE8F07E0B7FE936
+:103B6000904EC4EDF01210D27B017A0B79E7904FA2
+:103B700010E02402FD020887900BE77406F080D164
+:103B8000900BE77404F080C9900BE77405F080C1D6
+:103B9000900BE77403F0ED6002715122900446E04F
+:103BA000FF22900B7F7401F0E4900B7EF022904B8B
+:103BB0009CE0FEA3E0FF904B9AE0B50607A3E0B5BA
+:103BC0000702D322C3229082807401F022904E9C7F
+:103BD000EBF0A3EAF0A3E9F0904EA274FFF5F01227
+:103BE000042445F0602A904E9FE0FBA3E475F001A9
+:103BF000120424A9F0FA1203B6FF904E9CE0FBA336
+:103C0000E475F001120424A9F0FAEF1203FC80C855
+:103C100022EFF4603AEF5407FEEF1313135403FF3F
+:103C200024A3F582E43400F583C083C082E0FD74F0
+:103C300001A806088002C333D8FCF4FC5DD082D012
+:103C400083F074A72FF582E43400F583E05CF02262
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/output/fwram.rom	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/output/fwram.rom	(working copy)
@@ -1655,13 +1655,13 @@
 d1
 ff
 33
-8a
+5f
 00
 00
 00
 ff
 36
-34
+a8
 00
 16
 08
@@ -2230,7 +2230,7 @@
 64
 12
 38
-29
+9e
 90
 4e
 bc
@@ -2840,7 +2840,7 @@
 9e
 12
 35
-33
+a7
 7b
 01
 7a
@@ -2878,8 +2878,8 @@
 c3
 f0
 12
-33
-67
+34
+b2
 7f
 0a
 f1
@@ -5322,7 +5322,7 @@
 fd
 12
 3b
-1b
+90
 90
 4c
 c7
@@ -5365,7 +5365,7 @@
 fd
 12
 3b
-13
+88
 90
 4c
 c5
@@ -5472,7 +5472,7 @@
 fd
 12
 3b
-03
+78
 22
 90
 4e
@@ -5901,7 +5901,7 @@
 f0
 12
 3b
-39
+ae
 50
 25
 12
@@ -6005,16 +6005,16 @@
 f1
 e2
 12
-38
-d3
+39
+48
 d1
 6f
 12
 1b
 7c
 12
-34
-9e
+35
+12
 90
 4d
 7d
@@ -6037,7 +6037,7 @@
 e1
 12
 30
-c6
+f2
 12
 1d
 66
@@ -6083,12 +6083,12 @@
 05
 12
 3b
-2d
+a2
 80
 ae
 12
 30
-c6
+f2
 f1
 d2
 80
@@ -6765,7 +6765,7 @@
 86
 12
 3b
-58
+cd
 90
 0b
 83
@@ -8145,10 +8145,10 @@
 22
 12
 32
-5e
+8a
 12
 32
-93
+bf
 90
 4c
 e4
@@ -8165,7 +8165,7 @@
 f0
 12
 38
-17
+8c
 d1
 c8
 91
@@ -11756,6 +11756,47 @@
 e7
 f0
 90
+4d
+e2
+e0
+70
+05
+ee
+64
+02
+60
+1e
+90
+4d
+e2
+e0
+70
+06
+90
+4c
+c1
+e0
+60
+12
+90
+4d
+e2
+e0
+60
+02
+c1
+f9
+90
+4c
+c1
+e0
+64
+01
+60
+02
+c1
+f9
+90
 4e
 ec
 e0
@@ -11767,10 +11808,10 @@
 40
 02
 c1
-cd
+f9
 90
 2e
-08
+31
 75
 f0
 03
@@ -11784,56 +11825,56 @@
 73
 02
 2e
-2c
+55
 02
 2e
-34
+5d
 02
 2e
-3c
+65
 02
 2e
-44
+6d
 02
 2e
-6e
+9a
 02
 2e
-76
+a2
 02
 2e
-9f
+cb
 02
 2e
-a7
+d3
 02
 2e
-af
+db
 02
 2e
-b7
+e3
 02
 2e
-bf
+eb
 02
 2e
-c7
+f3
 90
 4e
 ed
 74
-d7
+d8
 f0
 c1
-cd
+f9
 90
 4e
 ed
 74
-d8
+d7
 f0
 c1
-cd
+f9
 90
 4e
 ed
@@ -11841,8 +11882,11 @@
 d6
 f0
 c1
-cd
-ee
+f9
+90
+4c
+c1
+e0
 70
 1f
 90
@@ -11989,7 +12033,7 @@
 03
 02
 30
-c0
+ec
 90
 4e
 ec
@@ -11999,7 +12043,7 @@
 70
 02
 e1
-bc
+e8
 24
 ee
 60
@@ -12010,32 +12054,32 @@
 03
 02
 30
-12
+3e
 14
 70
 03
 02
 30
-3e
+6a
 14
 70
 03
 02
 30
-6a
+96
 14
 70
 03
 02
 30
-96
+c2
 24
 3e
 60
 03
 02
 30
-c0
+ec
 90
 4c
 c1
@@ -12126,7 +12170,7 @@
 f0
 02
 30
-c0
+ec
 90
 4c
 c1
@@ -12217,7 +12261,7 @@
 f0
 02
 30
-c0
+ec
 90
 4c
 c1
@@ -12303,7 +12347,7 @@
 ed
 f0
 01
-c0
+ec
 90
 4c
 c1
@@ -12347,7 +12391,7 @@
 4d
 f0
 01
-c0
+ec
 90
 4c
 c1
@@ -12572,8 +12616,8 @@
 0f
 80
 b0
-71
-33
+91
+de
 90
 81
 1c
@@ -12591,31 +12635,31 @@
 e4
 ff
 31
-5e
+8a
 7f
 01
 31
-5e
+8a
 7f
 02
 31
-5e
+8a
 7f
 03
 31
-5e
+8a
 7f
 04
 31
-5e
+8a
 7f
 05
 31
-5e
+8a
 7f
 06
 31
-5e
+8a
 7f
 07
 80
@@ -12641,8 +12685,8 @@
 12
 ef
 f0
-31
-fd
+51
+29
 92
 08
 90
@@ -12659,8 +12703,8 @@
 f4
 70
 02
-21
-fc
+41
+28
 ef
 54
 07
@@ -12876,7 +12920,7 @@
 79
 74
 51
-03
+2f
 92
 09
 90
@@ -12943,7 +12987,7 @@
 7f
 1e
 51
-42
+6e
 22
 90
 4c
@@ -13003,13 +13047,13 @@
 7f
 1c
 51
-42
+6e
 80
 0f
 7f
 1c
 51
-42
+6e
 80
 09
 90
@@ -13085,7 +13129,7 @@
 7f
 1e
 51
-42
+6e
 90
 4c
 ef
@@ -13105,93 +13149,6 @@
 0f
 42
 22
-e4
-ff
-ef
-fd
-7c
-00
-24
-78
-fb
-ec
-34
-80
-8b
-82
-f5
-83
-e0
-fe
-ed
-24
-70
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-e0
-4e
-f4
-fe
-ef
-24
-7c
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-ee
-f0
-0f
-ef
-b4
-04
-cf
-22
-90
-4c
-c3
-e0
-b4
-01
-07
-c2
-01
-7f
-1c
-02
-0f
-e9
-90
-4c
-c3
-e0
-b4
-02
-07
-c2
-01
-7f
-1c
-02
-0f
-e9
-c2
-01
-7f
-1e
-02
-0f
-e9
 90
 4c
 eb
@@ -13230,7 +13187,7 @@
 e5
 e0
 60
-2a
+2c
 90
 4c
 ef
@@ -13266,13 +13223,85 @@
 e0
 60
 04
-71
-67
+91
+b2
 80
-03
+4b
 12
 0f
 cb
+80
+46
+90
+4c
+e9
+e0
+70
+02
+a3
+e0
+70
+3c
+90
+4c
+ef
+e0
+70
+02
+a3
+e0
+70
+32
+90
+4c
+d5
+e0
+b4
+01
+26
+c3
+90
+4c
+e4
+e0
+94
+1e
+90
+4c
+e3
+e0
+94
+00
+50
+10
+90
+4c
+e2
+e0
+04
+f0
+e0
+30
+e1
+12
+7f
+1d
+51
+6e
+80
+0c
+e4
+90
+4c
+e2
+f0
+80
+05
+e4
+90
+4c
+e2
+f0
 90
 4d
 dc
@@ -13363,8 +13392,8 @@
 e0
 14
 f0
-71
-67
+91
+b2
 90
 4c
 e8
@@ -13387,7 +13416,7 @@
 70
 02
 91
-95
+d5
 90
 4d
 d4
@@ -13460,6 +13489,41 @@
 f0
 22
 90
+4c
+c3
+e0
+b4
+01
+07
+c2
+01
+7f
+1c
+02
+0f
+e9
+90
+4c
+c3
+e0
+b4
+02
+07
+c2
+01
+7f
+1c
+02
+0f
+e9
+c2
+01
+7f
+1e
+02
+0f
+e9
+90
 80
 10
 74
@@ -13468,6 +13532,58 @@
 80
 fe
 22
+e4
+ff
+ef
+fd
+7c
+00
+24
+78
+fb
+ec
+34
+80
+8b
+82
+f5
+83
+e0
+fe
+ed
+24
+70
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+e0
+4e
+f4
+fe
+ef
+24
+7c
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+ee
+f0
+0f
+ef
+b4
+04
+cf
+22
 90
 4d
 eb
@@ -13477,7 +13593,7 @@
 60
 02
 a1
-32
+a6
 90
 4c
 e9
@@ -13621,7 +13737,7 @@
 15
 90
 b1
-68
+dc
 90
 4c
 ec
@@ -13912,7 +14028,7 @@
 03
 02
 38
-16
+8b
 90
 4c
 95
@@ -14085,14 +14201,15 @@
 05
 65
 50
-07
+08
 e4
 90
 4c
 fb
 f0
-e1
-91
+02
+38
+06
 90
 4c
 fc
@@ -14373,7 +14490,7 @@
 f0
 12
 36
-44
+b8
 22
 90
 4e
@@ -14584,7 +14701,7 @@
 70
 02
 41
-82
+f7
 7e
 0c
 7f
@@ -14592,7 +14709,7 @@
 7d
 03
 11
-83
+f8
 90
 4e
 f4
@@ -14652,7 +14769,7 @@
 05
 dd
 41
-82
+f7
 90
 4e
 f4
@@ -14701,7 +14818,7 @@
 14
 fd
 11
-83
+f8
 90
 4e
 f4
@@ -14759,7 +14876,7 @@
 05
 dd
 41
-82
+f7
 90
 4e
 f4
@@ -14808,7 +14925,7 @@
 14
 fd
 11
-83
+f8
 90
 4e
 f4
@@ -14915,7 +15032,7 @@
 14
 fd
 11
-83
+f8
 90
 4e
 f4
@@ -15138,8 +15255,8 @@
 ed
 60
 02
+71
 51
-dc
 22
 90
 04
Index: c51/output/sched.rom
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/output/sched.rom	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/output/sched.rom	(working copy)
@@ -79,7 +79,7 @@
 
 4140:36 28 c2 08 66 22    
 4702:
-'BT3.0 Keyboard
+'SLIM LINE K12 BT
 4280:0e 00
 4282:01
 4284:01
@@ -337,7 +337,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
@@ -532,7 +532,7 @@
 2c 01 #timeout
 
 4419:
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 44e4:07 
 44dd:01
@@ -547,7 +547,7 @@
 
 43f9:1f
 43fa:
-'\09BT5.2 Keyboard
+'\09SLIM LINE K12 BT
 
 4d53:20 21 12 24		#version data 20211224
 
Index: c51/patch/adc.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/bluetooth.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/global_variable.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/kb.dat
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/patch/kb.dat	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/patch/kb.dat	(working copy)
@@ -79,7 +79,7 @@
 
 mem_lap:36 28 c2 08 66 22    
 mem_local_name_length:
-'BT3.0 Keyboard
+'SLIM LINE K12 BT
 mem_sniff_param_interval:0e 00
 mem_sniff_param_attempt:01
 mem_sniff_param_timeout:01
@@ -337,7 +337,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
@@ -532,7 +532,7 @@
 2c 01 #timeout
 
 mem_le_name_len:
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 mem_le_adv_channel_map:07 
 mem_le_adv_direct_addr_type:01
@@ -547,7 +547,7 @@
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BT5.2 Keyboard
+'\09SLIM LINE K12 BT
 
 mem_version_yy_mm_dd:20 21 12 24		#version data 20211224
 
Index: c51/patch/kb_process.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/keyscan.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/led.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/ram.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/sch.rom
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/patch/sch.rom	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/patch/sch.rom	(working copy)
@@ -79,7 +79,7 @@
 
 mem_lap:36 28 c2 08 66 22    
 mem_local_name_length:
-'BT3.0 Keyboard
+'SLIM LINE K12 BT
 mem_sniff_param_interval:0e 00
 mem_sniff_param_attempt:01
 mem_sniff_param_timeout:01
@@ -337,7 +337,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
@@ -532,7 +532,7 @@
 2c 01 #timeout
 
 mem_le_name_len:
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 mem_le_adv_channel_map:07 
 mem_le_adv_direct_addr_type:01
@@ -547,7 +547,7 @@
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BT5.2 Keyboard
+'\09SLIM LINE K12 BT
 
 mem_version_yy_mm_dd:20 21 12 24		#version data 20211224
 
Index: c51/patch/sched.rom
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/patch/sched.rom	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/patch/sched.rom	(working copy)
@@ -79,7 +79,7 @@
 
 mem_lap:36 28 c2 08 66 22    
 mem_local_name_length:
-'BT3.0 Keyboard
+'SLIM LINE K12 BT
 mem_sniff_param_interval:0e 00
 mem_sniff_param_attempt:01
 mem_sniff_param_timeout:01
@@ -337,7 +337,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
@@ -532,7 +532,7 @@
 2c 01 #timeout
 
 mem_le_name_len:
-'BT5.2 Keyboard
+'SLIM LINE K12 BT
 
 mem_le_adv_channel_map:07 
 mem_le_adv_direct_addr_type:01
@@ -547,7 +547,7 @@
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BT5.2 Keyboard
+'\09SLIM LINE K12 BT
 
 mem_version_yy_mm_dd:20 21 12 24		#version data 20211224
 
Index: c51/patch/sys.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/sys.c
===================================================================
--- /ZXS_KB_Project/ZXS_K160_1026/c51/sys.c	(revision 545)
+++ /ZXS_KB_Project/ZXS_K160_1026/c51/sys.c	(working copy)
@@ -808,7 +808,25 @@
 		}
 
 	}
-	
+	else	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
+	{
+		if (g_variable.battery_status == BAT_STATUS_LOW)
+		{
+			if (g_variable.sleepTimer < KB_POWERON_LED_ON_TIMER)
+			{
+				g_variable.battery_low_led_flash_interval++;
+				if(g_variable.battery_low_led_flash_interval & 0x02)
+				{
+					GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
+				}
+			}
+			else
+				g_variable.battery_low_led_flash_interval = 0;
+		}
+		else
+			g_variable.battery_low_led_flash_interval = 0;		
+		
+	}
 	
 // The dongle must receive data within 200ms, otherwise it will be forced to lift
 	if(!long_press_flag)
